From 8e5c0d07937f8c1dea6e5f218b64f6b95c32ada3 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Mon, 19 Sep 2016 03:43:57 -0700 Subject: [PATCH] pixiecore: Add a basic HTTP status UI. The UI is optional and need to be explicitly activated, since I don't want existing users to suddenly have an information-spewing thing show up on their network. --- pixiecore/README.md | 2 + pixiecore/cli/cli.go | 23 ++- pixiecore/dhcp.go | 8 +- pixiecore/http.go | 65 +++++++-- pixiecore/http_test.go | 17 ++- pixiecore/logging.go | 69 +++++++++ pixiecore/pixiecore-ui.png | Bin 0 -> 123146 bytes pixiecore/pixiecore.go | 40 +++++- pixiecore/pxe.go | 4 +- pixiecore/tftp.go | 31 +++- pixiecore/ui.go | 96 +++++++++++++ pixiecore/ui/autogen.go | 281 +++++++++++++++++++++++++++++++++++++ pixiecore/ui/index.html | 34 +++++ pixiecore/ui/style.css | 123 ++++++++++++++++ pixiecore/ui/ui.js | 16 +++ 15 files changed, 781 insertions(+), 28 deletions(-) create mode 100644 pixiecore/pixiecore-ui.png create mode 100644 pixiecore/ui.go create mode 100644 pixiecore/ui/autogen.go create mode 100644 pixiecore/ui/index.html create mode 100644 pixiecore/ui/style.css create mode 100644 pixiecore/ui/ui.js diff --git a/pixiecore/README.md b/pixiecore/README.md index 989b2a0..e23083d 100644 --- a/pixiecore/README.md +++ b/pixiecore/README.md @@ -6,6 +6,8 @@ boots, or as a building block of machine management infrastructure. [![license](https://img.shields.io/github/license/google/netboot.svg?maxAge=2592000)](https://github.com/google/netboot/blob/master/LICENSE) [![Travis](https://img.shields.io/travis/google/netboot.svg?maxAge=2592000)](https://travis-ci.org/google/netboot) ![api](https://img.shields.io/badge/api-unstable-red.svg) ![cli](https://img.shields.io/badge/cli-stable-green.svg) [![cli](https://img.shields.io/badge/godoc-reference-blue.svg)](https://godoc.org/go.universe.tf/netboot/pixiecore) +![Pixiecore UI](https://cdn.rawgit.com/google/netboot/master/pixiecore/pixiecore-ui.png) + ## Why? Booting a Linux system over the network is quite tedious. You have to diff --git a/pixiecore/cli/cli.go b/pixiecore/cli/cli.go index 072eeb4..9236b78 100644 --- a/pixiecore/cli/cli.go +++ b/pixiecore/cli/cli.go @@ -72,10 +72,15 @@ func serverConfigFlags(cmd *cobra.Command) { cmd.Flags().BoolP("log-timestamps", "t", false, "Add a timestamp to each log line") cmd.Flags().StringP("listen-addr", "l", "", "IPv4 address to listen on") cmd.Flags().IntP("port", "p", 80, "Port to listen on for HTTP") + cmd.Flags().Int("status-port", 0, "HTTP port for status information (can be the same as --port)") cmd.Flags().Bool("dhcp-no-bind", false, "Handle DHCP traffic without binding to the DHCP server port") cmd.Flags().String("ipxe-bios", "", "Path to an iPXE binary for BIOS/UNDI") cmd.Flags().String("ipxe-efi32", "", "Path to an iPXE binary for 32-bit UEFI") cmd.Flags().String("ipxe-efi64", "", "Path to an iPXE binary for 64-bit UEFI") + + // Development flags, hidden from normal use. + cmd.Flags().String("ui-assets-dir", "", "UI assets directory (used for development)") + cmd.Flags().MarkHidden("ui-assets-dir") } func mustFile(path string) []byte { @@ -104,6 +109,10 @@ func serverFromFlags(cmd *cobra.Command) *pixiecore.Server { if err != nil { fatalf("Error reading flag: %s", err) } + httpStatusPort, err := cmd.Flags().GetInt("status-port") + if err != nil { + fatalf("Error reading flag: %s", err) + } dhcpNoBind, err := cmd.Flags().GetBool("dhcp-no-bind") if err != nil { fatalf("Error reading flag: %s", err) @@ -120,16 +129,22 @@ func serverFromFlags(cmd *cobra.Command) *pixiecore.Server { if err != nil { fatalf("Error reading flag: %s", err) } + uiAssetsDir, err := cmd.Flags().GetString("ui-assets-dir") + if err != nil { + fatalf("Error reading flag: %s", err) + } if httpPort <= 0 { fatalf("HTTP port must be >0") } ret := &pixiecore.Server{ - Ipxe: map[pixiecore.Firmware][]byte{}, - Log: logWithStdFmt, - HTTPPort: httpPort, - DHCPNoBind: dhcpNoBind, + Ipxe: map[pixiecore.Firmware][]byte{}, + Log: logWithStdFmt, + HTTPPort: httpPort, + HTTPStatusPort: httpStatusPort, + DHCPNoBind: dhcpNoBind, + UIAssetsDir: uiAssetsDir, } for fwtype, bs := range Ipxe { ret.Ipxe[fwtype] = bs diff --git a/pixiecore/dhcp.go b/pixiecore/dhcp.go index 96d49e9..27c6450 100644 --- a/pixiecore/dhcp.go +++ b/pixiecore/dhcp.go @@ -49,10 +49,16 @@ func (s *Server) serveDHCP(conn *dhcp4.Conn) error { } if spec == nil { s.debug("DHCP", "No boot spec for %s, ignoring boot request", pkt.HardwareAddr) + s.machineEvent(pkt.HardwareAddr, machineStateIgnored, "Machine should not netboot") continue } s.log("DHCP", "Offering to boot %s", pkt.HardwareAddr) + if isIpxe { + s.machineEvent(pkt.HardwareAddr, machineStateProxyDHCPIpxe, "Offering to boot iPXE") + } else { + s.machineEvent(pkt.HardwareAddr, machineStateProxyDHCP, "Offering to boot") + } // Machine should be booted. serverIP, err := interfaceIP(intf) @@ -157,7 +163,7 @@ func (s *Server) offerDHCP(pkt *dhcp4.Packet, mach Machine, serverIP net.IP, isI resp.BootFilename = fmt.Sprintf("http://%s:%d/_/ipxe?arch=%d&mac=%s", serverIP, s.HTTPPort, mach.Arch, mach.MAC) } else { resp.BootServerName = serverIP.String() - resp.BootFilename = fmt.Sprintf("%d", fwtype) + resp.BootFilename = fmt.Sprintf("%s/%d", mach.MAC, fwtype) } if fwtype == FirmwareX86PC { diff --git a/pixiecore/http.go b/pixiecore/http.go index aa080b2..82ebde7 100644 --- a/pixiecore/http.go +++ b/pixiecore/http.go @@ -26,16 +26,23 @@ import ( "text/template" ) -func (s *Server) serveHTTP(l net.Listener) error { - httpMux := http.NewServeMux() - httpMux.HandleFunc("/_/ipxe", s.handleIpxe) - httpMux.HandleFunc("/_/file", s.handleFile) - if err := http.Serve(l, httpMux); err != nil { +func serveHTTP(l net.Listener, handlers ...func(*http.ServeMux)) error { + mux := http.NewServeMux() + for _, h := range handlers { + h(mux) + } + if err := http.Serve(l, mux); err != nil { return fmt.Errorf("HTTP server shut down: %s", err) } return nil } +func (s *Server) serveHTTP(mux *http.ServeMux) { + mux.HandleFunc("/_/ipxe", s.handleIpxe) + mux.HandleFunc("/_/file", s.handleFile) + mux.HandleFunc("/_/booting", s.handleBooting) +} + func (s *Server) handleIpxe(w http.ResponseWriter, r *http.Request) { macStr := r.URL.Query().Get("mac") if macStr == "" { @@ -89,7 +96,7 @@ func (s *Server) handleIpxe(w http.ResponseWriter, r *http.Request) { http.Error(w, "you don't netboot", http.StatusNotFound) return } - script, err := ipxeScript(spec, r.Host) + script, err := ipxeScript(mach, spec, r.Host) if err != nil { s.log("HTTP", "Failed to assemble ipxe script for %s (query %q from %s): %s", mac, r.URL, r.RemoteAddr, err) http.Error(w, "couldn't get a boot script", http.StatusInternalServerError) @@ -97,6 +104,7 @@ func (s *Server) handleIpxe(w http.ResponseWriter, r *http.Request) { } s.log("HTTP", "Sending ipxe boot script to %s", r.RemoteAddr) + s.machineEvent(mac, machineStateIpxeScript, "Sent iPXE boot script") w.Header().Set("Content-Type", "text/plain") w.Write(script) } @@ -125,20 +133,55 @@ func (s *Server) handleFile(w http.ResponseWriter, r *http.Request) { return } s.log("HTTP", "Sent file %q to %s", name, r.RemoteAddr) + + mac, err := net.ParseMAC(r.URL.Query().Get("mac")) + if err != nil { + s.log("HTTP", "File fetch provided invalid MAC address %q", r.URL.Query().Get("mac")) + return + } + switch r.URL.Query().Get("type") { + case "kernel": + s.machineEvent(mac, machineStateKernel, "Sent kernel %q", name) + case "initrd": + s.machineEvent(mac, machineStateInitrd, "Sent initrd %q", name) + } } -func ipxeScript(spec *Spec, serverHost string) ([]byte, error) { +func (s *Server) handleBooting(w http.ResponseWriter, r *http.Request) { + // This handler always errors out. + http.Error(w, "", http.StatusInternalServerError) + + macStr := r.URL.Query().Get("mac") + if macStr == "" { + s.debug("HTTP", "Bad request %q from %s, missing MAC address", r.URL, r.RemoteAddr) + return + } + mac, err := net.ParseMAC(macStr) + if err != nil { + s.debug("HTTP", "Bad request %q from %s, invalid MAC address %q (%s)", r.URL, r.RemoteAddr, macStr, err) + return + } + s.machineEvent(mac, machineStateBooted, "Booting into OS") +} + +func ipxeScript(mach Machine, spec *Spec, serverHost string) ([]byte, error) { if spec.Kernel == "" { return nil, errors.New("spec is missing Kernel") } - urlPrefix := fmt.Sprintf("http://%s/_/file?name=", serverHost) + urlTemplate := fmt.Sprintf("http://%s/_/file?name=%%s&type=%%s&mac=%%s", serverHost) var b bytes.Buffer b.WriteString("#!ipxe\n") - fmt.Fprintf(&b, "kernel --name kernel %s%s\n", urlPrefix, url.QueryEscape(string(spec.Kernel))) + u := fmt.Sprintf(urlTemplate, url.QueryEscape(string(spec.Kernel)), "kernel", url.QueryEscape(mach.MAC.String())) + fmt.Fprintf(&b, "kernel --name kernel %s\n", u) for i, initrd := range spec.Initrd { - fmt.Fprintf(&b, "initrd --name initrd%d %s%s\n", i, urlPrefix, url.QueryEscape(string(initrd))) + u = fmt.Sprintf(urlTemplate, url.QueryEscape(string(initrd)), "initrd", url.QueryEscape(mach.MAC.String())) + fmt.Fprintf(&b, "initrd --name initrd%d %s\n", i, u) } + + fmt.Fprintf(&b, "imgfetch --name ready http://%s/_/booting?mac=%s ||\n", serverHost, url.QueryEscape(mach.MAC.String())) + b.WriteString("imgfree ready ||\n") + b.WriteString("boot kernel ") for i := range spec.Initrd { fmt.Fprintf(&b, "initrd=initrd%d ", i) @@ -152,7 +195,7 @@ func ipxeScript(spec *Spec, serverHost string) ([]byte, error) { return nil, fmt.Errorf("expanding cmdline %q: %s", spec.Cmdline, err) } b.WriteString(cmdline) - b.WriteByte('\n') + return b.Bytes(), nil } diff --git a/pixiecore/http_test.go b/pixiecore/http_test.go index 7b99d05..2fc6a38 100644 --- a/pixiecore/http_test.go +++ b/pixiecore/http_test.go @@ -53,6 +53,7 @@ func TestIpxe(t *testing.T) { Booter: booterFunc(booter), Log: log, Debug: log, + events: make(map[string][]machineEvent), } // Successful boot @@ -69,9 +70,11 @@ func TestIpxe(t *testing.T) { } expected := `#!ipxe -kernel --name kernel http://localhost:1234/_/file?name=k-01%3A02%3A03%3A04%3A05%3A06-0 -initrd --name initrd0 http://localhost:1234/_/file?name=i1-01%3A02%3A03%3A04%3A05%3A06-0 -initrd --name initrd1 http://localhost:1234/_/file?name=i2-01%3A02%3A03%3A04%3A05%3A06-0 +kernel --name kernel http://localhost:1234/_/file?name=k-01%3A02%3A03%3A04%3A05%3A06-0&type=kernel&mac=01%3A02%3A03%3A04%3A05%3A06 +initrd --name initrd0 http://localhost:1234/_/file?name=i1-01%3A02%3A03%3A04%3A05%3A06-0&type=initrd&mac=01%3A02%3A03%3A04%3A05%3A06 +initrd --name initrd1 http://localhost:1234/_/file?name=i2-01%3A02%3A03%3A04%3A05%3A06-0&type=initrd&mac=01%3A02%3A03%3A04%3A05%3A06 +imgfetch --name ready http://localhost:1234/_/booting?mac=01%3A02%3A03%3A04%3A05%3A06 || +imgfree ready || boot kernel initrd=initrd0 initrd=initrd1 thing=http://localhost:1234/_/file?name=f-01%3A02%3A03%3A04%3A05%3A06-0 foo=bar ` if rr.Body.String() != expected { @@ -92,9 +95,11 @@ boot kernel initrd=initrd0 initrd=initrd1 thing=http://localhost:1234/_/file?nam } expected = `#!ipxe -kernel --name kernel http://localhost:1234/_/file?name=k-fe%3Afe%3Afe%3Afe%3Afe%3Afe-1 -initrd --name initrd0 http://localhost:1234/_/file?name=i1-fe%3Afe%3Afe%3Afe%3Afe%3Afe-1 -initrd --name initrd1 http://localhost:1234/_/file?name=i2-fe%3Afe%3Afe%3Afe%3Afe%3Afe-1 +kernel --name kernel http://localhost:1234/_/file?name=k-fe%3Afe%3Afe%3Afe%3Afe%3Afe-1&type=kernel&mac=fe%3Afe%3Afe%3Afe%3Afe%3Afe +initrd --name initrd0 http://localhost:1234/_/file?name=i1-fe%3Afe%3Afe%3Afe%3Afe%3Afe-1&type=initrd&mac=fe%3Afe%3Afe%3Afe%3Afe%3Afe +initrd --name initrd1 http://localhost:1234/_/file?name=i2-fe%3Afe%3Afe%3Afe%3Afe%3Afe-1&type=initrd&mac=fe%3Afe%3Afe%3Afe%3Afe%3Afe +imgfetch --name ready http://localhost:1234/_/booting?mac=fe%3Afe%3Afe%3Afe%3Afe%3Afe || +imgfree ready || boot kernel initrd=initrd0 initrd=initrd1 thing=http://localhost:1234/_/file?name=f-fe%3Afe%3Afe%3Afe%3Afe%3Afe-1 foo=bar ` if rr.Body.String() != expected { diff --git a/pixiecore/logging.go b/pixiecore/logging.go index f6ac580..e77214a 100644 --- a/pixiecore/logging.go +++ b/pixiecore/logging.go @@ -17,8 +17,77 @@ package pixiecore import ( "encoding/base64" "fmt" + "net" + "time" ) +const savedEventsPerMachine = 10 + +type machineState int + +func (m machineState) String() string { + switch m { + case machineStateProxyDHCP: + return "Made boot offer (ProxyDHCP)" + case machineStatePXE: + return "Made boot offer (PXE)" + case machineStateTFTP: + return "Sent iPXE binary (TFTP)" + case machineStateProxyDHCPIpxe: + return "Made iPXE boot offer (ProxyDHCP)" + case machineStateIpxeScript: + return "Sent iPXE script (HTTP)" + case machineStateKernel: + return "Sent kernel (HTTP)" + case machineStateInitrd: + return "Sent initrd(s) (HTTP)" + case machineStateBooted: + return "Booted machine" + default: + return "Unknown" + } +} + +func (m machineState) Progress() string { + return fmt.Sprintf("%.0f%%", float32(m)/float32(machineStateBooted)*100) +} + +const ( + machineStateUnknown machineState = iota + machineStateProxyDHCP + machineStatePXE + machineStateTFTP + machineStateProxyDHCPIpxe + machineStateIpxeScript + machineStateKernel + machineStateInitrd + machineStateBooted + + machineStateIgnored +) + +type machineEvent struct { + Timestamp time.Time + State machineState + Message string +} + +func (s *Server) machineEvent(mac net.HardwareAddr, state machineState, format string, args ...interface{}) { + evt := machineEvent{ + Timestamp: time.Now(), + State: state, + Message: fmt.Sprintf(format, args...), + } + k := mac.String() + + s.eventsMu.Lock() + defer s.eventsMu.Unlock() + s.events[k] = append(s.events[k], evt) + if len(s.events[k]) > savedEventsPerMachine { + s.events[k] = s.events[k][len(s.events[k])-savedEventsPerMachine:] + } +} + func (s *Server) log(subsystem, format string, args ...interface{}) { if s.Log == nil { return diff --git a/pixiecore/pixiecore-ui.png b/pixiecore/pixiecore-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..fae32d30ac0be655896ca3caf3f66ea42e5e50f1 GIT binary patch literal 123146 zcmce-byQUE8$C*hpdzSrhZ52y9U>AUDc#cD-5^M(bSvH6Dbn3JbTQbu_U-YLI8xC4JZ zvi?S`!1cObb@VO$WP(J!mN+FAKWAHpU_hsg@pNcQ4YO%|TFmES}s)~!I z7nL%DzZJ>nE97bkVwTYfMhd@GQ;B)^22pP@E}@6+!UGnsH~k8w$M@{Sjdvq5fyeQH ztK#QL>QLRL*NYD*WWN8OKibzt>%80tFO>dwV0(

9W?++_E%$^vz+*;;usj;uPP1 zUlNzxx31IkgF^fAL;B-f!&|-s;^MHmxs3hEukO$2Jv}{j*zfDGC~5lc>-*E# zrQ`&ehxZ>LBV!N{eE#%lTO~%!4gSl}_Hr3iT?|Pkkq7z9--Qe? zosHA-=qcCl%PlPYpfKUbc-d-qxZu;@FL8aoKenT5IbG^)nCk2|rRABDoSZy{uoi@+ zHC$t<)u_oxt5j^lKCEwOSfSJLRGon%AtB**jY_~mK}&UZA?8g)jK1WUOrlD|inuuy zCujW1iq29Yobj*iqpcP;HE+znyT77Zt=N zgjaY-NQfd44+BFiy1?y=@GeOwr%U4t1%)ewf^1`X1qJr2%hAy<{CB6UsZJ|T>KzXU zebD*EOiZ2{8yn-y#l==qsb-g#|IqCUlT}f%AG{-f{d#LO>se%Eq`8UdP-+w08w!da zV9Q&E3@Rey3=v8Bnl4oKse{lO<`>4b>7RSPlak6_g|`z!`rnFeC@3i*9?hDTKqr*6 zUJ?;Ws;c6HKtySBz1T>D-BJ;U`=9MjMa3Dm?K@z+eA&9x>az__2&p!2TP|gFIW=No zVVN%1f2QSrhP8Bq0K2(WZKGmMDFZuNO^Qr($<&%R0JDk0Jl~WUqwRKqt9;;tS2r39bl?nsNiv5{=hvs`1 zzK649Wo2!hxwxEe4aPI;_6!YC@$e8RoUK@KqC9y*Mo%C5?HfWE5s#F+JKwKgzfcL- zL&$_4SGZmf-`_04zI^%eZN@BHtHoo^?ZhaIc!1B4q(r_ejOg{-w}E6rg`0CFxw#RI zjg9O`-5@qcYb;4tRtgI>oAABb+dq0b_4oH@f&(-f99Z3)g0bbB&%GO1<>9T6pgUTxBLcXxlCETnq!?AdDpfi&ln zjWYXPMX-olBN@oB>!}-5TqZ9p+U6x>flGMqlrYByXMdz;*nfBEYBNnvK|xYc5nH3) zPWy17DLO7rPGQ0gYj?L~>R~UMVfU`*hl@i+H4D93uxlK!3tDbaq>`3_N_hzp`UQw~!VPDk`jY!!dElIH8)mRWC5;$ioQ4@a8K)kg9hHbzl=jh5Z&7%?}C+=lhT@ z+abO#$3^$9%ui8HtDzk6?@Y0!a-z!1M-6UjjmJ1}mWj-@kkN_t&UPjwHPMK9aU8`e z0M-@{qonz@$8%-vb|*uLcpQc^MA6X*Ip3R^nN{qAGroNJQt-={SDvt&#gT2h=-AkD zaBe?zk^}VSG`Hg?9CKEP=zOQ7iP_rhN!yb}1l%cTaed#jjg^ZO)6>(H8=aU1U{@I+ z>dGwUxj`m+L-viU!`YLHQWiVT+TtXjGEeKadGLO;9#pdbzgsfIVB}g8ylO7 zedi`k9bH|f1PMCj(%*~OtzVbABVXS`*4NkPoL14rK7ZC7NHn{Lh9mJFcfWq~=1r;d ziNQU{^|1;=X;4$2prIL@ZjBVGL`iCElYzE=zsfct>fiRVy9TwkHVUG?Jct@%7zy|G zFO+I`&drabSF0{{yV`7TZ+}5TGSuvT^KkcLInst8*T7QCDk*h=_J;oc;$Z&r9AcTk zZjLW2D+^%IQ9Fh-lRG$9kLD%6-kuqZ^cI-^Yf{xsh2>P z5iXg^$ftoqp&-BZ3-gVnq|iW-_^ng6WK)-0P|&t)wFGr4oiUS_m$w43%{JISJT;5=y&bo^TbifLaI~T7C8iRN5CM4pSA{7c0K>=w6I3#?=OlPKC`s#E{ z+8H!2m0ByZr2=t3fB&&EUACZf&_DvhYkovT44b(!Gc$w432nUIDY)G;6wqz`h6ExI zqA@b>Dh=^Fl{PIKOy~REkx@{N8L;Fk|!OH_&#Vy|g7q)4Ji-n<TJuD>FoA!=gmk!MSO8|QT{oOfsoVcXNQoo8Z8UUxAgQ6ph@0tzGlzL%^il} z85K415`e}GKbXp72+Fyhfx!d#aM+(E8m3tjzMC|yn8__J&UQRp0Chm4Kl?jM?amH9 z8sT*KfI)^@jYV8N&qKYcg?sD+AKoRzdNK~jWHGnjczgUAw7*~ZG(qVvUcHjIIN$?; z<$p>21t)(@M_g5`^u7_Tw_55fH5Bk%yiQ!y;%C2=$nIvIH?qFXjEDV^4Gm- zNCMxD0=RC_c$q+ThFzYd!6fYM-%&t$fGP{Asz^+;}<~e0ngSWHDc_&90_gb3ltm!rxC{Gxwp!VjdK=f$FIy zSI0kpKBzRiaXml_aP9c`;w>I`wd=7-(md?%r3Pj1kNgEL4Lz$=izJdcy@~l;O7;5` zHwIjT%gb$G+!3IWu569W*`AkiS=2Nr2+WC!h-gM@=KjZs_}Q-VT`odq&V_}M z;f3)sbo|9ktrqFKGwDuFhdt$~E)vg>>^#Z2d2RrJpA)dZAXy9?Ou;~KP$y%^0u@_E zCSvGlxh?DILy1%ubl95~1PK5-Z~eH&OPq&lEU%=*`t`RLB^BQF{mtR_L;*)W{`3j8 zJvZOY`TlzSZgB$*1Rhtw17T)n#t{zf_kvX(&w4$gm1df2be5vXxgJRT&%7)G% z+tp3AhxtayFFG0%EY-IG1AxZ0b`AngKpd`ZZ2U+{`fOriQo%aTZesBydXjUhthm}i zbtOGU0*>9P!Y<93CPuS~;+Dy0sfq~0@1Qw)k-mE3VmxHMTO}bge-rnBO+?I3i5fW03D-X`@Rpq$w zC)=y5tLc5T;+FgRlS8_8tZduON7d%Ecr^Ae6smQoboJ`*=^-O0pKCGbuj^0dD(Km-nUC!; zubIc*Dt_{kX?a=u<4519sHnEz-iSl>T4QWr>IDNw$L{kzI#t8b-Lq-4E);<2-@M7x zfV}z(9j0O(Qoc_tTgfOYO2skIYt`BeCQnH>z?se0$ABt@RB8x`=hJyqaq-Bc<+DCL zt6akmZoNlx8$>44)uA||dMp=96#L2;vo}?AU%ROKrj?$^d^&(R$nBYxR3}bmeI^IB zmyFAov~_aphWdZ7#riAot@!i{o_!q z&5df{wyiiht;y3EG`MT7l!>_QjPwK8SPzQsFtM>qJqLF6rZjGYeq88dTH67jh_tKr~EjFN{mmIl9_0VRTcpe}0T9whaHKt*P_#^& zm$O+no4bVs`t{n27|Wq<`;{^i*#gkvBKJ>{2Yp3j0&8E}#`-+2t@$g7R_EUefg<~8 zEDoEa?m1Zf2*2ieXB+`S=5Hi}yv~GhkRSnO*X>_&YWl04O{l%NzF9pGs&}x&iB+cz(;e747=+c`BGl!+uVv-dl-ZjPXKfbL-$0;nGCwp!gg%k5#UhkG% zE%~6|LijJ25S#C>O~Gt!z0idSK*85CWdIa%%#|>|$H(J>KA1?jGE4lYt&N(Fu6^A` zBl`Srl(kQkXi$zoop=GtAFH#46oiLv3W8FUo^oPCtYdyo{0D<%sq$rBAo`KXr0PL3 zS6oQ=;qp?6Ry(@|yrn_1iUSBpWW#d$RmpN3y%!d0eZlB_gJXdO&Zfzsb?5_nx}Ajl z3-+vm^43xVA5L zP*r|vPptE)I>FPeF&N2gt%HYTqa$neaw!$X!ud?{V1^CjBx$!t+;ZAe2LnHKfzu4N=nu=2=+1|Wv|_gdZ$<}i-xQ$Hm}1sbICO>(gik%&8oDZ% zOy+#)-_{ySuXYQmHkX|2rv zT8|H`H}>yWg1tXeo8jslk!X`w=Q}$&=?zq1|6s1_B9r?6w-ixz)&5iQ~o0+L);pY*`gdm4=lg2As}X2;*%}-jvx{@r#DMgsd5N*#K|xPRPwG4Bfn0xloK}%H#pT<|;gARt}}+ zy?9-0YWKR*E!Jrp3I$Z17iSBza^{lM&M8?HAPG0AL5U|^uj!aM2NzY*H zOfP*ZWysgj(b3-Z8S5XPS1I`$L({{9-=YS&;2p!TzXcL&Y=E*(l5`lq0)g{>R%qrT zYod^?)@#?f-8mbPiT+nOpLJF~ZWMZ^3L5fzK!{g@%rSY$I&98Y$-%!6-#&+!RqK$G z|4Bmi*)-csr%kWz{-m4kFl&Y>+&O&8;~Ef3@VeWHwJZTb1(G2UEW>%#+7|hSn{sEn zz^%6$w?AB$@?D&8uD4VE^M?ZCx&HD9-LPqxCUXMcf56~@1Oo{3s)jb`!-o$DfZTIx z(mcJkMK3U?l^jDsN6)CO#Vwc!vSE&@{I`WWkK9m9!AzrQI;St|Zk9k(ZYaCL zd1xI{QTTPCkxw38!F7Yx@_T}{BO3<#(1g_ck1t+oejiY@Pc?^|D2#`(L)?fA?{Cdk zEJ!v>_*2;f!_4Uk>LQcw0*^u+o0wW9aKFMKK=8WzZE%joq2OVb z0@_w8yV=?Ja-rnFpbG;)=>_i&3Mu$7g~>pSq7iY+$jK3vHm3!rZ{_CY{VFd%POqf; z*TOa7pGW+IR@{zKC~MjfKn{K8t#DxSbUJg;2_#*;5@5184CZY*?MF!%4DswITU|1} zEw#kY%M-d9>35t_o3L8^#-&H-5~_Bc9XU%CmGIeZ8KsXj)n)VTt115eh;cSQ-pbh8 zLL}aIxpnzlb+b==QzhJvu+13JDBe{uqPr{4^|SvTjSA%8aat91|3qZNI1?xh-3W>D zQ8FhGSep-RKDiB=vdH9o-A2MN)aagQ+e~TL65FCuJ%mF#cBsAcg22=B_>-oqIU0!@ zj+Bnsl1DD5+a=R$(JR9|a&s2TY0Dl(^b1H;3+0M?DR z#ZXY7;N?vQ%y*5e+FyLNvNJjE#J)ORrmOM5ZYDZt`ykd>E{2U5@$NR3#3pjtPO4NC zR~w|6c8R1CLpesouVSA$sk1acH8d_R0X=y56-rHOBzd`w8DjK>< z6_JwSj=Ti7_dKp%u9yeT@OLi<78X`?Ow3rrMNFyQ?F6}x($r!7cnVxT%8*kKG7H@R zIG0KhbZ@>PE-2_JV6Sc=&mSW`dGZAOCyi*2+D-yDk$hq>3c*F>$yW!UL`+^EImSdeohqOb8Gb5qBl5PW^+rF}K~8 zSBDN66_vkclgm}jt{u0Ijt<~{GfPWf#Pv;BxXWN7HEBx6F=)&dJ%8w8DAs4DwqACe zgvp$d(nG0y2qPq9#o}OI+Zg`U_CRG+(qzt`w8WM2!sQLHCeaNS^p~3-zHVnm(1qe|5Lb7$l9xf z{z8dpyX)>$|T z&N-pCr>Aw<%BqV9gE^u9zatB(s{taZwp#iv=yGvjpV#mjOr30ae_Rr{0e(-isQ>im zLC+fz0VLPy?o>EHCZFfAz$&bK@@kZD=Cybd4%YXhm)+K|pwyF>9|GVa{zoD{T;QAk z6cS&fmkA$5A8u4Bq`saT4pjcxDkAp|0p{qtC*$1jjh8dnhQBX`rg~Ey-=FUhGt@k5 zlJb|z5fu~^5|UM&9g011X#%X{GSq39t*FNxQ@Hgj(+eCNf6WqfClWZ`_mbK#HEReY z6$BLoOGGW%URi{;4WkV;WwGH4kg2wX{yq~Pb2|h~*w6CvR}J%mfYc@qN3NLp2$&r( z#POIf7PNwyc<3s@RBF|*%y5Xf$fBXNG-4nL7MxDKWk+99WtyhI9t-g(PBeY6ve^EFj;ff4ecSHnCQt9VN z`BT9Nx$i+HDjc^)_V2wYKVja z9Prg0P9{|354+i$b074h$;ov4y#Q=XUzaz?DKjCv-g%rB#G!-p&6~A}_B7&Eq1U-= zjf1LoE{OS4K2kZBD4|cOn@N9Bo5L1nE!F8dVAWwSoff|Wlr;(KnyA{3_k+&nC|Umn$_izcD2R)qy@Z9Z}eM3 za{^|aM?fhUVmuO)!VV9AL+eaYXDf=7X<1}i^W(d2VgEr*!d=CUM!N@y)Y>_EmGVbM zFu1&2G={?S*Y4>Eg3>6)CefCy~P^Jn(kNwyB!J6roV+U{rtXth?o(Z@w-rN+LQCR?{dcU zzxa4Io>5TJx{IW1g-dp>-uUv#v}uaDWzBLEBQ+8!e@J*2z?g_xRw!8q9jnUrtUwjZe@sR4 zI8J9BggjKqOQ63|)6<`6wcKCtLh6K{FWSAFRf&n%pnXl_ov8Cc7IUXpoVsFt#bI*Q zx`BF-HvMO%S9z}q&2iXEOhOSmH{L2Fq;`jWDKY;rc;kk`!jKqRCBS_Qvpp}F+Jzw; zp1IuJnck*@Uzn2y3f1d^((d*Q;osusioE`{%kkoRBgx6sbhr>|)N=Lwd{&iBq2sbk z;LGXhn6GDf$WMV=_=(*tk3HN|c+^O7A*5OLm^Llg)l2`m`I*zzq$?P4Q(VB7(@s+a z+oeH1y2aYe6b_S%GP*_Lv8hSbQgu}UHQ@5U$jSNVBnk}1^sw=dHF$& zsMdXi>_40%?LwN$?oW$;)3!RUDX_XtCSB2B$8q6dO|qPAb?Z zNC2`KXKm@NAtdV_YJq?_pVN| z6dX`1UbC}5&KOw(Vs1-p)%SS|L%_qs$MZVB0<`S8zv$83HM8@v9_>6&U3?_SaO|f{M5)CRtztrrYX|eJntLt zgA%m&UeFj1twcmd43kW-b)0KQhAlMl$E#jj+wQAF4$guCgwblCYwkPTAnLqUP`JZN z%dT!vFCO!2sE*CwLb-NnV&qj+_%&~bQH&?Olyah+#M;OD={baAP_3yxuT6$U+7j}f+o~!^v8AK_pCJkQV#mSPu_H@F-?!Sl~9<8 zt*d599AL45GzHXto}#B_Ot{0_b`R3lhYz=D9c}*Ta&mGQ5j(4&7n@PN1Pzzg3A8Bx z5VjuqF0b+Z=u1u8H&}0vF}GNClUD%cJ1CTZ<9L8$@lr?!><0md#Tvx2ML1{d%F^>> zfWthWAK^i{C$OmX9!%juUU^#?46*3r-9OA4wtzqW;@>5*|B{@;Y}%`B`Rmb=ASy9$ zZI3(1uJ*{+T;?V@^w|;#e?XI(y%$h6WaumJ92>$9?0EI*xb#!MhLTgKRE$}wK#Z)h zA_%I;o;%#Asvn(AHgWpQ9?JNWV$Wj5Xzx1vze4Y^QJ+|Cl+&4_8Y@1F?Pe1hP!?HM zxkziUtfQ^KT^th66mETGOkqAPkG=V)H?K$HzB08@V1DTay(EjI;-cnWACRXnoj@yb z174Dc7oA3ZG+^MF04?7cM$`u`QMt}03w95RiC6W0!FjHcCQo7ww&cn6x2T#yN42w` zf^BCmjm0z)Q1q_>{qN7@YwFy?A(B1IhsU@@JKwo93mOAfW~MPum)uqakMS+dkReK_7gDyCN-NZABLY>E*dzQ};sz z5?2$4mtCXpcuzV%gb}zN`9RT!IVe(-Mpwy-m69OE`T6P1&8ZO)FYLI9^7F450W2w* z`V8<1kU$6tLq?3+ch7#LrIC0UqVaroKzLyswl?2%$a3k^YUi56gI??s(R z0PT@-7))y&hpt*%EJ!FOTBfB`h%%d4ycyeI(7k7(#XK-PxsRgo%whe(%t)u_pvr>1 z=`lHw+FA)^jA-;^-^AxlY~T#OVl}96npd9|NHdnpVKG-`=%W;_F0_mZPGB}>ZY+%- zh#C#B!!Gwckt+S2`@N1XKbou%pjj@Ow{Nuvlewk`Q4oMj3YCy^*z*p^e**jWz_SBf z7oWg5kaY9YxcOJEUv5(CFue2?4ckN*^A0elHMGK+ z;WkOx6|q7^GGL$UfENy3dt&$OUPWmLHQw9;vf8@qkTJ!^RuZ&vzGRLfk)Q9qA$;ay z?aUjWE#0NhwB)`^|6$&u((k@1lri9uzi;V96s%1oDeUd)C>}0m#|1JvbPQTkVSa-K zx1eS8d;gq?d!c)FfR@W*8!<6QvPem3>SsO;L)XM8es5#L@>&EHz1vf|n0@~h z>7t8iDhwwAxPemL&+AV3DZ%_XQBi@7jlJy9pxWrE8&Ijbsyd;$YRh9ky^}{No$6-a zU#nUdQWyLTkJXcvRpiR=`I{ll?q|EB@jQ-1Dkq|X>*5AOgZkrhcl{}PXM7A?36*jz zDzlk%qqjAM5-Bi*zCsl`2yc@1X0OFvxpMqFVp_oYmv_?X&Grs38B6qCE5?8RHP(B{ zoFP_mJzGuLm&pr)r!E*sTr-Ag>p)d*HK+iJvLloAO8eNk^8weQV=(XmmD+880j3&f z;3Yz=ZuH;CYkTo7X!taXn)_MR4N0q7MN}z&pP+X=V#{y2s=(n>>EZ3uahk_$j$Dc9 z=-o7E3=N1S^WJ0o+3AG{HDli!s94E4YS0g z(nQ%VJ6z#8Ca6)NT6+Lk7z>uu-$rFPH5ujO4D7bzV*3rQ3X)*@X6IA8@YNs8Zv*9- z(Bn+u126H1v+LiFluK}GbjZv1T<@=kDCTbF+_?RapeOzweU6KsLu)-3qYctp*v&T# z#(8{rH>+u1%3bM^^fg1Cn3Me3vzY)6Dr@eP+Ib6JVsyYZ8YTLTZD(d@KW>+SXTrps{L`1M@t2q{O5r))_XKa$?-zDA&Pq`FBl4#CHE?(Nj`dtULS*0aTu)A+!^ zfqM*>wRd(;JDCTEMOQ-L$7}lL<;Q{;mzDVue@;TY#17&*dool5LP9dZ;Ai;xCYC+W zSof*3wlYgwr}S&ndlq(_YIg%RFo*3k0$L7O6k-72snF~BK{>RYCg8~rWPJV0qvZ#q zz>cLNs5HZo4TZTDTyVIX zh@T%#LZJ1tig(|lv`1E47*tZEoSfYxgg!n#Km|YmW{=enLatE~O2n$@ zfDHxNCK@pE&AuSS0#+BoP!TqTtdnq033tioF$GGxPnPOk8A9w>CXRc)ap0aT$<47G zix4{<3G!d*;eG0v4+su!eTDfkjeq-g`J!dBYO&>a+M?RGyLLz49aYV7qcEwQjO=W` z#ztPiM~FB(b5T%G0N2$6o&+8n;6Y^2sQ*d*6qFHo#K&ODCh#)!v^ggAQnGMMkkO^C z@Nd~ztagHRB)lmHUjw{iOio8%VOJ@@DW?NmLgVA(z-j@wG|~o#{d8cxd~i4d;;*v4 zDLOj!!RU!h9N&u}eH#RbqR1%Q=Ht0-bV0xTz_94dlQR#wC)>bNr=2lW_|n&taJk^G=K(;Drxjh89>c$7ZTf7q57sYQKAgbcOJ1?E8*&hKqt0)7X2t zrk`wdOv_f^veQ}dhquqRFp)BP#?R4~o`r|=U!zHn~a`UrtfDb*@}K0Pg}{l3;tl;C__1%#exK3#UCFt5ro{IkV9xX-IH5* zIec_CFp2Tlq9I)io!8HkYOgj%e3j|sqhm&zOj%kyR-OQVhgE|{{2%V)mN}bFyZL7$ z<^<4j;L9Nl;{$}GjLZuFO8ncFNm93M>H@;TD1ie@K>;}RfIoZHiW4}DUbC@PO716} zQW6p`ve-vrFNUAV#zqOuD%Byds>s>m4_N}ST@V0QLwI)l&_-Y~fkVY-1KM$W!(nqD zSXVB)Eg2!Cva<(MDln9tZbuD>tlz$?xF$b@HQ0X!ajnwNBBToQuasBahytd0f8*GmiPx+1FV~ z8-Y=}8gSvK)g28gQBK!BMTGRlt2wKl?Zes}GV=26y|7#V7MMBl-RKxDOR2!8PoDr$4IEEW z!YWVN4qZa(+5JSla&yJN1YZW(2htVbe8Ig#m7F9gF#sR|(@==WYf%1^2K<1~QB-7Z zd-HMw1!f<zGstPmhCfrLi+p!|mH{dT=pHHNkm?a&i39ExCS26L znTi}qA!P!p?U^Q5^plMN-QCHe%*<20y=i7(ys5C?oqW$%rP%P$H)es0zmZqoBj!`aurnFn&~FXo_0SmXJG6N^6amKR>3hp`c~ZZ-q;Sg?!1a z(`9oDtrCvmxAa(X`78Ey!)%K?q@gjK6RQN1d3l;zvQi2oA(Vy2O$aOm`CY3NFKio7oC`h4{!+LgcBR=gTU@6Coli; z)2Be#7e&PlE&o%X2%YXs1cP>>T`>cq1w2p>EU;=@ z9W9Xo%aRMAvH{m9^gcGPZnSE52sw`XW3{N$qs5a%CT-paj@AHJ*^@b~|9HXxB)EgL z)+p+^N+a_E>6wzzTvvO1E`~1k(KD(uFim5!PO9{%Ru^hNR$S!2Gbqv1S7hPQ!j)FF zVY%xxOi|BnV@a)hmh)#$R=KDrGqji7(FA){jl*-~``N&&K-&}b>`*)r8#k7_YzE&? z!77~ecwXA92CRWsA)ms?d%1(^%0v8t?aTqBJ+NmyWC!5GSb*(^QYyK7vPf;F*_{VW z(C|r|Yx2z}m-t=jsr4b>C)dm|wX9`i*$}>bdz8-OxKTfnA=@uFJ~g>gT+#)`6K7s0 zAY#Pfg!hF)H2t$VhR-@9eLEg)5Z0EK$^dr_H7#wM5!;F#_gzdeAY*Ngmf$`0ySMFh zSQ5ZT8DPIkOH0{nEM?+$RLxxI21L)n?q$}nF<6BPV8=BUdJp(%8Ov$SbNU_Pne4uI1KnfwkXtL(t5%g+gqzL+^>OLX(>u z%se>kO7e~a1ke~8(93X{zQX0_+W;aM(A!5YO||L_pjV^$`|RwP0And2{W|s?kj!3X z82a<=mT>adZ*0mpHKP9X z>9PCn7xqHLCrb_u0G0s5MAQ&Je2ZzP{Df@VEzKZDv*$^m^B} zySp|La46+pTLpl&d0I2YXHj-g!VlOZVn0=M|UE7Vug^krBKwJX|{k2LJ z@Bi)ltnPcmZD>;XvH5JWF_<4>;`&|G>-5y_;Sn%Ec}-UsG6D~PG9C7-SKL4xK?l!6 zczl{_`RjtT1DzE-?lT2I)K=v_@G^tQivs;p7Cg&!6JH8>@2*cy z8We_Tv26YZk^1pN@rO8LjK-`gk--V-BiBz1@#A&^f_C16xx}IdBG4*fWQ5YuK>>V( z>C{gJ1-&&4R$>5$N?LfLE*gjLC>hL#6VV(moj7`w*^7iV&kiT%d|HSs|}fkb`$2jdmfE+h{>`<;~fc%vL`#HTW?vWUDn z`DA~t9SnB={%jZ&c750q@l-FP^RLtmEI}nxKIzop0WP3QXXW?e$h5V!fx0$?L;@36 zP*+ENQF`Q5RBuKb@mC{PdSy92gn*3z`2e0Lu#8tY{o-zHI`nn=i%3dXJVOejM;i`q z_v_F|&Xnh@?FBJE!`o3S^$&h`;)x}V0-=E*%uPRP$!S|XnakCPNl&pU5g1Gw?zuVtyM@u7!`Ddk6)B?}cY5AM zngzsELdyRZ@WqG9fdAIZ_XRyU{6EhZ5Zr_R`Jo^F;|Tfx%p%~I{~r(6sU0T*S3IA8 zlCL7L+V`7C23}ZJ#_nm5prGOKFV>xrq%+)asJKEQ@qZ-aGw2?5eSeXPDJ5@$>0)hP?h~V#`NvTN4A-9a?<{;tPeTjfd%bS5vSUd6eVID! zz2%>JU#%UBzs^Z@>or0#vi5gbYn~lu@l|2ES~CpxN`KeCnDb#BrwAvC%6Er&reP(A z|JNtfe?KW~`;2CzH}mWB{9pS@0IeU`oA!76Hy7u!rChKtjzSL?yb?qTw#nLj?CT+< z!D=eSl~M`33oh_s^KwfH<4(x_Zm#P4SSVOOMY<8e_z#kX=2OFNrtkCd^VNjy3!GAj z=g>HE%`K;5Q$F|38^^yMFc*k__>y)7abN~nDgSXiCjZJ((gJ#)m@lifo!O}S@S!@ZA;faqhjdR`DcOBjerBYqoLaDjKp#GXJ7-3MhGf%Gj1pLckj4K;lb+G zSDnXA$}Y0m2&R@L3(PVLH@yU3?HhlmhxYKPewB*K_00MjY&Bq6x1LAbulFqGn)-qu zNzb@Sg_eO-jv;P)><0B>|BL&XBHd&lz1Y~)ylCCf+}iNSwLoS~!IZKvcCJGHO%*uu zEisLa!;o>1|7_jmi14Yc#_6^@khe_>vZ~9%{9+$(Fr<7wx&BVqc=mW>jwvVqj;Wwz zyl=*FXf&0l>q?i%E_Ek!ym&0l0z+4B$SLM2rw-@CV>3c^Eg@CSvGtwY_}Co7rInEzRReUj`ee3ok^>*U z+%+N6vV?c(RDCU~3A=Q?X|+vuTIbw6Ps`f1qgr2Ju|L@{svHt-s>8dlN!;x?qE0BtDYZ$%4%0a1&Xrvl&Ld#quahtD znYkg{qKs1zp`i}qdMSGwheN!u{cay5>_V;XpfvT4@`1j*GR+3PktjQ zZkID_YWx=l!C4$_&gWT^FBh2MHj3lB%F~nwdl`+U6Z3K4NSwDLe(|Z}%-6+BdO{OE z!{%+v{3lDAg_c9ZMWX4e;;5_QI31VhL^ZiTuKp02yzk|Xov-;bF8-(D3?J)508|Y4 zrfQ4d4g}>LPuaXA`W%X6c*LOTev5qSfKS+g7zQ&;UB4*$+DgA6B65D~J~_TykXK`4 zcqBLVMvOUsPKy#oBI;!68kQPPb*UM%Ja=D_4DpP;sNPhD?bei@F04=NZz;?!@^m$5 zEq;bJ^$e8JU&L^oIS}M5SY%kws9W6Z^C+*Wt7mCy<|!SnZ`GjNo-U$G8<{3A^YdGK z`@n3xE?TaL3#yIgZoPc!JL_rA#*@F4wG(*Wm^LYCx2-&WI9WfDydU3?!Sk$x=Uh;q)nu230eRLM zUOUI8$wC3D05j{QPlv!qt|mHbv&vISqqV3)`5R!=Ub?Ir8l`vd+kj~k|v+l4;2 z(+u!{T8XTC7Qci0m3>?5>I=1s0U4TIv&M&OrhD?x3aW}LG_rfuHq~$1L)O#OdVUNs zu-f-`k*F^Xw=^5(noZ3xoWoW%<<1yqr@x(#aU^mZ(AX2cJ#G`2`E=uLEBD0{l7!@O zy69j7eQoRApEJ$&XgtmbPjXDG-rn&@p6Nea<&UdAl3!_KIh85F zRE)=+X|Rak@4->U1@hz0t3#Rv*SV`kg9kiq#VsE5U6C%d_?k>lwat8+UB zxv*AW*PU^~mKc~K1tE)&p#{T==)MeeOCs1kv(zDbTz&oW#X);^;xmIB@u>uch1+8S zh0n-@;T}?kN|&Nh_yfDNXVBG_9;@Zc%U1VySc|5Hu#*juME~eM{e>&f#g#R-%$QV{ zhENiLm|rc9J0j!_jCK`=B&t+)W)>WW1);v zh)j-Gr;j4wIOfU%2s|x9^K=J^IQyVPS3yJeDcd?Qfdf{B#a?=R`ZP_Qo%p=b#i=1R zh=VK*K14N36;z|1`}u<>BrO-FMVRPV1=Furj~DsGwWmIfbrIdhA!7a?>i#OM&Mw#% z1|dKQn&9pPcX!v|4#C~s-8DGD-CYyhbp^NJz910XEm*%K-`?ju-A`Zi#edN^uvol0 zYgW~$F>6+_?8a5507iJ}a?ZV^>N!?)5N`69&J7x{!*pWaTJ;?Xh3H?ix&LHO$d+AW zre>wIz^0%S7p-+$tesXm&gnW9=)WB2XSbs>$?yMy+?hQjNsXI2@oPTZo^|dpH3&F(N9{l(0Ux?!JXBKx&EZYtYMhaKeQ z_xqpn4gx2ESU2ez8Xi{ec;Q`^HUh`0e~5j9j9=1oPwb-WT%sYI{*9SdLrgf}1PgKx zjb1Jv?tX{w+E>}N7*Bt<*D|ceTjbde_fO>D%dKwy7Vi5}7p}lxzdy4P>(4m3?=FvH zx1emjH32&9v&zKLN6KfcV!Gvn&PE;2-9ACD=Yfn=B^V&ypzKVf;+N@ma~<_r!Sz+ zRfh*8Hiq;r*?_IxT030VkKiSb7qqCd(^nQ|>jdUA9wujCZm6za6}lGG39 zy&4ZLSqHgxx8*c;ci8>hJH$QEyxsKrEMU4f-aS0E#_Ts@xUkP4;B_pj?z6t=dfs~* zH*0C+h*misby?r8=`=YLHK|>N`ReO}t`WG;M;vc_ei8ITF6I0C#w80j!hbP6l5PaR zlK+_839Y4t<>vfGS8$5Lk|bX#U0QHkQ+o2t0?h=`vB9Zx^>-q+E*eYy^0=pSU!OnH zspSH4Vt}f!Yug)5XMa($OB3~X7sQIqEjMwZBQ>H+1J|#p>8-0?mmz2y0>fs=s;Wh5`4jHdXS(YWL?9pey5tm=3dyYh$mYTzsp(u4mr#YDkojSb%hG=0X>DmszbA&HL$j z>4kmyPsbm<+AFa5-cu?G9wUTf? z&5VZygGeg<-D1k`>xsJl^rlVb0?){|qcs9~Q`(3r{t->Clc;u$O+XzlH`6@WiX zDmrjtWcC`)<7yBIYt<`%g6|r&)0{;`2lvdk*=a&P%#psLV6@s_Cm$C%$D@-a!!y4* zAUDHimBccm4M42k@Zwo$>fBR!wxun3nT}&EC>yiCs5SjDpEpp8{rgi^w zzRF=1Ydr4mvlX31&YUq;1>^GKz1qkMab+Ml&b4sH95?Lu?{sc!XRavD z)g3BthA&ZuKw9uUWl6EuQ@Zw|ENre!b#DC@HuBkaUTN=rY-vq>?4Wxi_VVr7SkCO~ zBdu{9akdxePA^mDRF`9GFavXA&S`(cHO6&Jn?3jbGuoxbxcT}4#cpkuxdllP0%+3t zygv@9*?SgifyG_x*PuysnRVHA%0@>_b91NVQGg$niGb1dWZKHS8J{yI`_#q$aB;=t zU&~%0{%YAN)qPd?-Cyqce@<5Bp43F|&%Zdqn%@F&`fKZ;{7}KFfuGCeXAA#R{9k&; zt-}Y)X0zHvh|Omyp<#9tUrw?1PmhTjtGkpL_bv&-R!i_@HnV$s(_7mTS$~HwVwPpj?w~_As=$3km!+G zo)7ePtC^bjz%H*ZGy$sMQmB7>;&a5H;=ELod?^_NYXk%Yc9r3+qcJgM*Y3BDTLYm= zxq`WZ?9)|quN@_W94_HvwSH6C}snC zL7oMo#=ZfE!TY>$dX`_1BLRN7uEkK~@?GWlScIiBhK4Bnw+1VF^Y>T^xEq**5yNj! znRs7;NLk7L3nrRKgtf`Zg(p{+%V@L?6DT5+$iacfJL=U5FE9h~#yo#ZS5#*O!`eU} zHBpCC)@*xBEthxWv%t3ZU5u-bUEU*ADioMTh(VlH9+*7)@%f( zwbVlZ4D{{Cj+8dWXu`9rgQ4L2^!To2;|u%+4psLW8(ZV-Er^DUg<#vRbC;?5|HNzg zr+YZ$gHal<-@@=n?o3HL9_um?kuAOSwO{Rbmc+8MYS_13xn>e+bz*u65b|66K4o6t zOK19HZFaS6)Tqk;yV}00|F>5k8jdBA+}i2^bl?*?b{@G9^^VebF$pE>VM9z{Qze^;PDEVBeaUn zcBSQgUhYET?4L$>S$XDcOHPbA)u$9y%=w59vxPSGZOz`4JL$I`_?~oH_!NyYCF%Fnz%C@C5FoDR_s`ANAvosoHcqNErcq-xD63$$o2ZUD7nlrT6a7Z! z$WQU6%W6Smyz^5f`^7(WTt@NAQ+)U~0Ki`tcUeDiP*Sb`04%RUozG@Fx{MvnoGgg(5TjGHhDdhiN0Zbf5<7{E)$vvJB#vl z__{e_qyiM45m)UX-ii5s-XsLxMR>7y5>Cl zr_5c=`X9}1-c}7*Rhmv94Lz(r`#lsbu2OC!%E^?x3M9Pkh#V-DG+ zJf63Q-W8wC0mWPDUXg3%`!=&aW`kQh88FQkFl0LPpmRd+EU>{`eiQ4r_l~#g>a^q8 zzk6t1Gv(1Af9t4=wPd$xLf6cPH}wX}oN{J7Y9hT%Mk_B3-UXy$Ts=WQ`8Ucb$RH0@ zdq-kc=j5M058TGy{2EK2yZshXvfDQeh(Jp!7WkDe)yFw?=4F{!l6S4;paem<_}F~k zZrKi&cj21d?OwEixZmNVX9;DmXWqtmedHc0PVG|byCI6Rodvd1H~=wbmsG-*c^li2 zp0Z*adhUK`e*~~4U<~>k?#)0!(v6%V$(SzL|M%D;y6volb3dGr$dJ zP}#QIlaoiM$9s3T7ggsq>}&G3ptX)C!HuF--uOOV^J#p5;Fx?&zGR5m9M=_?Jd4Ww z!ok3im9gwt6buk5b!Sa@vbPUAheXq*cq^y1P5CJ>hqSP~(Hsof8_6%yLG{S&HmkIL?FMZWce>SQ1JP$I^vXdH|M$+*k^urFrC9wG@@En-zj#bQUYFT%@Yzp^bZI;Q@U#OEf+8jJ|2gijdZZq|a(hqoxOrEM=NwQo ztLu_|0=_zF8V$9|t1nLQtlZsx437CZfzyf9ZcQEja_rlGeEOj8-E!-1!_n9%=C2@l z`f{4Jb@3(Zi{z71k5S_*QGzc+z^a5AL#a8vsMpFAdeJC#b{cnE=Ge+v{nZwYFyKpSGR18Sr_5;BvjF7PM$V z+S5LH%FcGcZZd2>wEl`Q)-9~`49=h2+@9tROJ=BndGZSX1!VDZA1uo2$I3iglmD~B zufQWD&2Zw^gwvh)cA*x8JKsTv3ly+Nr)B##>*r6rmk7q&)M0^dD-H*Tsu|sF!>SNI z7uRtXPY1kTABOamnpQPRu4&t;8}T;ugfFW&RPC-OS1nrP17_P-emoAwwKy0ZahCx+ z%FRFn{zFauv`7FzTc)(6#A=zHGFn>lqk5s$q+4*Q!O%_gb;w8xZwa>r!2*iGFK>TFF1fT#q( zNiSw#SXo(5t++Dm@N(S`NoGytu%I&`X>6DnuhrH7VZ6)#6+69S4t~{*a)^PF<(6NZ z_O*AbG3%Lk0H>1iDU|=Y)A;*pr^zxF6JV*Bzi>3^aBo=SAGbPp+)!HnWTyeXVKR4w zYWzgMM(`03veM#pLb(v!X46L3+8J1ceID2Dse0x9e8WVxQ3wg9TG?_tLHrV?ZeZ!j5cU3d1+n@6K(pIh7x#GXcB>ZG=-sSyi#y+;#HaZ=vzZ#Xuk5AMo1v?Ox9Mk@-K6;d!v%K{;DC zno<$cDD$aixjfLjGcsp`moBJzM+LhR-^-TRs>_Y{eCja6Y~(L9&g5$94d%p5C>!^l7i+g{D^aFoSYr287W}0;2E?Rackj-Y9m-NZJR8=Q8v`+s zkrfe7Kxp%NPX(hzN$mdd(Z>gOz*3{QRagl6l4U+$uu>sJ!;GWl*Vyi^ztpFf;8iC1 zSy?wYPHwD@Ry=4ZXc;J}X!nl`z~T|TptH{p`xk2;R@*%GE7YII3C1)y$YXeEY5_i} zruz>a=M#8bWqzoU}@Mb4@9D9R`yS#%>b8$_h*Tr zAC%>NODEao8o|Eah-URI1JhP>%y)Y7^7)1PNBvKwKi*^2>f9NB?ysx79r$Ux^VEFF z$3C0?y4hIjnek42rI?+bBhE1#L9<7iJp^$)>CH}la|iehSKmf8eKZhWLB^wdT-v&X z30otQ>*}4ewdUnuV+rP;bb7PD5wqF9aohRr9_s+CL#TkNUShP5=L7mv=WZ}U<@gBj@bwo6xZ|9RX+b%9KqTLAle$np z)Sd#A9fbtg07&!O>~uv%HhpWObZ;11e=7`EBo*%(K%4$C^PdEb=hpmRp4K*i0+igI z7i4ay>*GLn5y-y#{5Sh)7OoURQSheeC=2s@wn0 z{eSl2%GTdE7X&X?Rd4<-N&~kXU{_|iRrt+?^Izp^AUgd2gZKFVQ38##Yk}nr9_Qfy zmV<$D*U7K0KA!2O#~fw5F)^xH`CoaNWt^PY0ec(S+1Y^|3qav3Gc{uB{}s3nS$1|d z@cnB=Rv`HZ$kh2i(#782juR{avLAtc-asV+tHy~6C8__FEEsqH=m^M|9@()aA6{;w~LwJ!Dlsqq!jT zZDy<>Ok9)xo4KVA;7yVKV(`Ns_a_MW)P%b}x1OIBPPYvngqIm|L{4W*+pUe>s#L+# z$9&OR=!ix7V%Kk`R?;qmHm`BA?Q;t=;jW+OP~Q`CfV;aenJFYE&Qi~m;E^cXB&4J? zjnBXr$Yj`!*0@YCNm-Qe3H(2~0B~<-Jrb4pFc6C17Wqv?xmkp(m#Z~|;kyq$5)CIH zTNr<(O+;>i<3%kBM*acqxQYh4UL!q6VeAkZt41OJBtSrXsL}co3T*0Ys^8zY-;8~F zvw|Eux8TZmE*~q!9Ps2kIqjxKAV-fY-<+$+76KADTd)}j?fyVQ;HvS`iDi_MfUZu0 zIE?C84&>O;RmAO_m0nPb=ux_f3petfOU$5C{*(yIGsCekUKDkNmeTh<)oE~ zj4VO^`3sKXhgt-CR64d_YFGu;B7xnT`muo({Gw7QF5q%eNm6!+$uWg#v764w*Bhc# z$=wwpk(c&DBek(*qXj&XCgGoUB3iyCn7$tTP&+o>mwUp3+pzb8Fl;P!giAm44Y@UKc@Zze@i!8(k8NQtIye-(| z?S_RpQxGi%aaO{l3W*7{@;gyBzTOW@QfbHchW_*4LOS%Cez7&(JuY5SqbhivS1dXD z1rqePRrBq-GF?4%ADn@)1+W$8IGn{g33JAlmyRyCsm!GKE{RV%_10;*LXKzp8F z2}URg&%B8<$)C%@vvP3mU_3>f#6%s39urzVJ27{xQx2D9p5ODM&%!l%cE%5XaMWX; zVOhWD>~9K$eM9(NCYk%(LR5i<3ck(?A?_|rg4N}s9DBtXK596(V>Za>aG z`{x*hhX%wd!)^#X5~ymURqj@2ot&r+CV&m?^j+G|UDWx-+2*5e7HLfiPGoXnp@Z+< z$O~X0CA}*-TLD#wMSms3j52<2=BTjgtmgax*Ao6rE5rPZXc?X=)H8}P#|_mI_N*Hq z#sz057${WCDLc4@fLw`19I^3h@ZKQHf<~mTG5}10uILzM1U)OvcDaTHZX+R!7r`z7 zUxl9OW7wc485&j7Xm498pJSi9Wc50a zr|ly9@kkFej62g98ssEKE`k?>^bg+n;rue>)o1KIXlQf|L}X%ZvoVVZ-Gp zbGskm*>j1^DJ0lfV+hcU-U10j5lZN+%x?%O-P8cv;BYTOeyNc%T*TtS)_U$8ZugPR zM*yp-iLLx-j$K6HL|o;#Wk|}OrdYJ)2q?l^(E2FGs7(!S#FD~h;-cqHkcJ~(1UKCIp)^$T+IN`;Z3^Pw0eeDF)GcFNawxNxhnxw7W)-Qkjq2Z3MDZL^ zTFuoIC>CjMX)7#z`P~*pFtiZ}0g&3T}CGxt*w;$)`oY<*~n=6z?&bU2Bq7MoMNd5lOamKaynPbzb z{rn#4jz4vFl{JBhu|CVT-V{FtO`MRK(B?U+EpbW$+kqX{kfJCGAs5Kbb>p3uvx-H|x#y2IBh&LHP9 zc=t510e5Ow0cO3IulV&2Ssk>W7;vye+(}YNaiblp21N&0A6JF~N6S$sOnz*!Jc;IhSU>>488(R| zA9~^3GsK1z<(Xx${{-l~jc~VE+QfzXjU{~GbdD>kEWu!@g@x#b#yz$js8FoHGKl#W z`t$c~nVs{PKi_jL*di&<$ZzR9oi^>|iz9K$vlv`H(!}D+q(wjKG5i5sLJ8x9XBK3{GiM z_CX}=`DbygO(Vkg9sE+#<`??mO1V6B_BMgHE%SzuhOq5aQ@Zx%~Z0c8l} z!YsR~7cbtNI8(w$&9MaeQt4vlA{9r%HA1omb_tq&kZ`OEMcg<>7au8Hp63~tsF(`Q zSu13n7hJYg;q)Y*VsOWgIB>L%{OMPTQNH!ur z_xMz0QGZ26HB(|FmqjF@dPOlw@$4R+jVRsri&U-gP?=y^0RJe0sixx1qg34@tRWF6v4pVXcGD!%qotL%o>9!9oBbrR97!Qj`lv3$_)PN zC!T!|c>RH3iCCK&=;Gib4?8?wiJu8%nf(Kt%`6Uj@KEK7P|Xa%WUWz7gHk7VdmGS$ zvBr14iQs{48$)dteQqSqBx298FxKDMXJEvJ<%%+n))I)hz?H+EV*J9=J zF7e=2@9CN1nAo|e{-)+EW?vVu^%rLRm~3-?c<{-?xO$O;U%W@Heq>sY{N4wJ%JHn& zeDP-Hm-$R2*HS#J+?)fKP5kYd55@4@QchdV`zk%FG_>Z*P}@l8NS}bbx9BPZDglQuuUy(D*i|nvw7G zG%BvkCF%wa-BBY`ga=x+C~%3>WWuT*Ma864DZR6410TI1tajSPio* z%4_ZLSRMLwI7nJXCg~7*NB&9}VE2j>cVINS;t`g@`ZGx}ZT25uos9_#O(sN;|G*T! z4ui9$xlry2=KL^l>V~!mnJGd-;{!^J^RA<%nLzo1{F@w#;l#zF#RoDde@ZB`27>nr z>F!NxY69oN?k2EXDNImn>vqN`C;;?D@I%k3Be-SH(d{>$2RTYNsRM0EkVmKA8%ROD z)UeB~2ucw$*f-Z~!r?(ix2Ti)Pel?;g|ErRsc{!0-xSV&?5YVN*yZ{=&=dy? zEl#$9W%!O@V`$TEz^kS)t6L0Ss-q>*;|*@*(H5+Z?^Pwi1C zopZxI#R_M%(u5*YL~S9EBVQcR7M9F8SHdz?QV`8!Rf@$zp7SMXEbubF^xlp`bd1$0 z_7ig^F`+^{HP4yAHR+NKcm#ceHbZSFcUEN#^-GAS-5zsZj0>Ni<&yUt8d;KGilk1w z%#g=!I(DQBp|10`Kg}nD0ja~DL%c>UdLhz#bV7C+7EH=7UqGn+la)Y(nJ3rI_z6tS z_?bkGv?<2iNV=g7?d2P_a`Jj<0rCh9pWjA^{U_W5Tn9Q$&fdb%vLmmy65!8hEVs}| zfr5mU-Jz`u)OX^M5@aE72(wOXckm%e{dn^>kwYD@j6C=ujfUCwRkPwjlS%ue$a@wW zFl5vf@B~^$30%}r(>VulXiF7!Wazk>=btZ8kQb$4*X~H+l=s<&%ii0c!8k=3FJg+I zZ4D6J6p%l)JSm};vz3cM*D^}6*n=!BzUhF3>axcZb7eJ3)M90uB6ghsUR7WkSo@8L zLT6Km2m$r<(Yd`(P>qcU{LJp3*x~=(YZZFiGDxD$yhRSfo{#g74$`7aDXnLazw93ypi2Ppo*DYx280nOUa-g5_-?5NY~?xc~Vl^GEck4>usoS+)6AKEBL~E8_)hdapOo z9QTp@IC*(3XIw)F0>^g+hDH;TaG{SLV8YdDHfnk)F3cXhd8H%d)j+Jsu+Aj;*6-fi zMQDaW2~?2wkh=BTS0U08qB@;7;}$vs?{7R3RY{}_`tXkA3w@$g<@@ni+1*7W4r7b^ zHV#g@U!G6w{Vp@J`0i1F`YXF#4=4Rb>HNXTzns!jQp(q}fTo0Iu>fJ@Er0s!2~6^A z`68&`?mpnUxnO_Ku0F2Ky|z{sz9PS>`kid&fm&t1TP1*e}PtC)E*k(TnM#i97o zWEK)&7LzV6Mj2n57Kw^N0h{y-^Ya4%jtn5#FlCC*Y^=VHKD`!F0h(^1w6Dc3Jc#T0 z-T%^uZVQ;`1q~X$oV>YOLc;(!RP5wABh#3+Fttndi^Jwe+{?o~1^3heI`(cq0m0^7 z^V-Z!6oZ&Hi69V8uP`yV5c^Afj-~Z}w4?$`490o*6DnVn0-v-YkS%gJ@c75GO1~us zc>K84bM5ar>oO;+ugq5BoYr8P4LiqYT&!))x>s5YWX9fnawe;0Uu_QD`~Lc}q@C6% z9vu6@wH*%RR3xd(Xs|mh-fzOkJR@=G8rl;3m-Jsq0FDImUyrj+_{Nc(F&!sSQ}2;} zhNcYy<_^gfi4JHX__Iz*g3ufvm?@(X^hD-dl2j^&$@U}y>HnCw=sBaobqmls7oJA> zD?2J%t7sRvJCo^;3)fDcc2cz6g26b;E_hTPG0Ut_nmMfm$1%qtz&^V+G; z{3}5+TqL@3~jD+L4!7c6DG zM=u>4Qu=Yo5dh7A^j^Dq9;Gl&bn@SoNz7n@vIBEgoowQ^O)=|8gJhz?y5HzMLKK7` zxUcFySI_=et(Rl~dcRHH*7g`9SWLarbsol`e|)G*e*tnQe(7%LKbDr^@Zg}Jrsf35 z1!BupJh`r|RuKCihCgl1%iB9JFqHY>;XzVX0c~OE=o9Y026iGoq)0F^s9f@laKz@g z{E{p?gT>`kQ9%a|02M*4qf{ovu?sp@R6@rX-zQ6CP_3y=>#NnOqas8dM2Sg|fj;M9 zR}~kY)44OokwC}O+HW~NY$X@2MQg9f`^TA_(-M{ltri;9m))soaOQp_Jlm|JrHUd5 zr<5Ws#jD}Qa?RJI;|fYosHGzq++*<;$cqQqN!~hI_^79f1?}i^M}S%n%7}!EtOhIBpQaK; zaWWtA?e8Q8?}@6teb^@XFv=tmMx_&|4EjnAl(3$pe{liv5nqKz4 zd+YFTcbsp5MRgNYFo}Ne^;i86Au^G8kWY*rk_ep!+0r8rV5rC+JqUdxn|cdl8}0U_ z6$n{yL?*Vbe@R2X>2N@-i?N|6x&`}rz}f}?4V7GMuo(Fc^2>Il{u~$HI(6J2z&)P8 zE(xdx1RwcqDe<+E?z_AzWm)%}8kTqpadUx?)40t@TNp3o<$e3o9uv%)vnA|~%%9X( z8>8#YjMhiAE?z#9)Jmmyx~)^;b>@Tqm9D&=WZm)*npQ;}Jk>kd`?7LD)FdDG!= z;K^{t15WT%*qMv@jv?B>-SZ5+5st`SRRH5-%KVwEBkx?&M?&dD1o4t~vR5rGBgF~K zdRvIxzK1532nulJyI4#5?S%!Kvo4GF@w2hg3=iV!*G@4!4i5fnz*0(^i%b;B3#@PTyi9$W2b#jcd;^%2N*Lbq`bU&rnHlUzYA8M;T3GGf|>|I z`i!GV_dS)B7#VIk++0=Zgm`dG&0*PWJyW1`q4w4#V0lTIC1TZ(50&X8tl`x8uSh9f zv%x@;UGH0hbgp6iygw0p$UyDuUm!dM`+PWyWqgtYJbuk?I!QKcGmYXOoMGZm3ERbd)$A4pM?|9-@o+A< z@F^0LL+}P^oy*~CA*|lkeK^OISfnu{3|tI8JZE(p;-)vtm+eUOR@op6rU1bY zqXKc^$9KLc44r?B5=iA*f>GZ13EEXl0c9E}rGA`(_E;_mRSPzeKT1oisu2ENY|M2L z-LFh01TQB*I8jU=w{&PP{Sk`K10hp!b?D)9095N#pih`8avk^ieO6gi*yL#moW*F- zk2mq;n||?oZWvmPmS~kU?8)+pc2Me`a4`5(R9vE#QKs1|Sg+Q{}b6!K^I?G`Tqa z6k^1>-tv9?h)k2Y*pc7oK*z0|9*Dx1IvFmi=NCOi6C<7|o_{?w;?aN7Ce^aCbU4${!#Sd`@lT zEJ062IGDUpKnEFVd~1kE0d=V%7AbRWF?slHyeBw;JQRrpjKX;^*Xeo}Dc)3Y6oo3i z|67`9tHkVfnHPHCnshk+lE&YyvcfNpp+%{mTX*v#z`FhGI@WS`q2$TpDlKy zyr2xX%VetpeVz@nJ%}-d6zp7pRO|qYs*_-vt$=cY%vWp0;4_V`6c>aktKm1OgcU34 zu6*DT_&^W8-b>t(7K3)h1*=@DhLp-EG9s1ZKq5E5>5x^?dL~)>X^z1x;(jf4c3{n~ zKw~d2PKzQ`{|SGxF?sR&&WbK}DowEO)oU5u!~@gA@h*ZQksK{`mhekDTPv!;!jvj; z?nnJMb%jV0o>6N84rtkvNehtZ=nrOuo&usAC;fUPdNeyu=#ZHNEPhxS1$kD4Z_bYv zoqLCD{qMNO6y-*W+2r_B$pqD(qJ~mHUBVOuy}qs{5IQ3_Kd%k_@g9vy6#Twtnu`zC zUsHEw%Ar+!6|LMG-h)tOv#m3157UMGxim=ABvGh}t1~7c zLLS@OCiFER;jSj07#m=}D`4NnN)^*5jv~2C$cN==i>j%9|HS#IQq6R?{f559R|D1! zH&8X!hDZ2krCd$6QHE+$NdGntJOARz^|qxIS@uYtM}djHXOLVIMU#MkKw&NaWVfmQ zPJ%1Pt7(9Bl753sRr02#)3D(NqTVD*?1!`fxR(I`xlj^z*dZi{QiKk*@3g`pL75Z> zG0{;%%FNls$S%rJuI?);qk#_PFd z_+GrBa550T*%u}b6nb2oZL+PTyiUcyFU-as|4DlW!I+Mt0IaZk1{KYsXXxHKwK&`> z8!fdgx|mLhDTg%COskCl@sBICib*ikOHIqWNIm?cg}MdytJ7FgFC|!XRfUj&FEDky zlF>f-=F%VC9jl-$>I(~49ey$mk|%i37MIY6h}6*L&UT3DyC@FC9?qbNC-xFEHa6B> z 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 + + + + + Pixiecore + + + + +

Pixiecore

+ + {{- range $mac, $events := . }} + +
+

{{ $mac }}

+
+
+
+

{{ (index $events (dec (len $events))).State }}

+
+
+ {{- range $event := $events }} +

+ {{ $event.Timestamp.UTC.Format "2006-01-02 15:04:05 MST" }} + {{ $event.Message }} +

+ {{- end }} +
+
+ {{- end }} +
+ + diff --git a/pixiecore/ui/style.css b/pixiecore/ui/style.css new file mode 100644 index 0000000..937d41a --- /dev/null +++ b/pixiecore/ui/style.css @@ -0,0 +1,123 @@ +html, body { + width: 100%; + height: 100%; + margin: 0; + padding: 0; + background: #e9e9e9; + font-family: Arial, Helvetica, sans-serif; +} + +h1 { + text-align: center; + font-size: 60pt; + margin: 0; + padding: 0; + margin-bottom: 20px; + width: 100%; + background: #4caf50; +} + +px-machine-list { + display: flex; + flex-direction: column; + align-items: stretch; + justify-content: center; + max-width: 800px; + width: 100%; + margin: auto; +} + +.overview { + width: 100%; + box-shadow: 3px 3px 3px rgba(0,0,0,0.2); + background: white; + margin-bottom: 2px; + + display: flex; + flex-flow: row wrap; + align-items: center; + justify-content: center; + padding: 5px; +} + +.overview p { + margin: 0; + padding: 5px; + height: 100%; + text-align: center; +} + +.mac-address { + font-family: "Courier New", Courier, monospace; + font-weight: bold; +} + +.progress { + width: 200px; + height: 15px; + padding: 0; + margin: 5px; + padding: 1px; + border-radius: 7px; + background: #c8e6c9; +} + +.progress div { + display: block; + height: 100%; + margin: 0; + padding: 0; + background: #4caf50; + overflow: hidden; + border-radius: 7px; +} + +.status { +} + +.events { + width: 90%; + height: 100%; + margin: auto; +} + +.events p { + margin: 0; padding: 5px; + box-shadow: 3px 3px 3px rgba(0,0,0,0.2); + background: white; + margin-bottom: 2px; +} + +.events p span { + font-weight: bold; + margin-right: 10px +} + +@media all and (max-width: 800px) { + h1 { + font-size: 40pt; + } + + .mac-address { + width: 100%; + } + + .progress { + width: 100px; + } +} + +@media all and (max-width: 500px) { + h1 { + font-size: 30pt; + font-weight: bold; + } + + .overview { + flex-direction: column; + } + + .progress { + width: 200px; + } +} diff --git a/pixiecore/ui/ui.js b/pixiecore/ui/ui.js new file mode 100644 index 0000000..80f2abe --- /dev/null +++ b/pixiecore/ui/ui.js @@ -0,0 +1,16 @@ +'use strict'; + +class MachineList extends HTMLElement { + attachedCallback() { + console.log('Augmented!'); + } +} + +class Machine extends HTMLElement { + attachedCallback() { + console.log('Augmented!'); + } +} + +document.registerElement('px-machine-list', MachineList); +document.registerElement('px-machine', Machine);