From 289fea4f3d2b5a253e981640ed2560e6453ac8ef Mon Sep 17 00:00:00 2001 From: Maxim Prokhorov Date: Thu, 13 Jun 2024 20:43:57 +0300 Subject: [PATCH] webui: separate sources per module * migrate to esbuild from terser, since now js source needs bundling * (temporary?) hijack inline-source object handling to inline html files * get rid of legacy removeIf comments in source in favour of explicit removal either through bundling tree-shaking and / or manual module-* class element removal w/ jsdom * get rid of multi-layered custom checkboxes in favour of `appearance: none` directly styling the `input` elem also removes scripting part that was supposed to adjust for=... labels * update to html-minifier-terser, up-to-date html-minifier fork * update to iro.js 5.5.x, using npm to manage dependencies * build script can now update resulting html output (called after bundling stage, before minification) --- ci_script.sh | 6 +- code/eslint.config.mjs | 25 +- code/espurna/data/index.all.html.gz | Bin 46913 -> 46834 bytes code/espurna/data/index.curtain.html.gz | Bin 29807 -> 28289 bytes code/espurna/data/index.garland.html.gz | Bin 29058 -> 27712 bytes code/espurna/data/index.light.html.gz | Bin 40883 -> 39880 bytes code/espurna/data/index.lightfox.html.gz | Bin 29106 -> 27734 bytes code/espurna/data/index.rfbridge.html.gz | Bin 29766 -> 28408 bytes code/espurna/data/index.rfm69.html.gz | Bin 29834 -> 28433 bytes code/espurna/data/index.sensor.html.gz | Bin 31743 -> 30342 bytes code/espurna/data/index.small.html.gz | Bin 28785 -> 27436 bytes code/espurna/data/index.thermostat.html.gz | Bin 29534 -> 28133 bytes code/espurna/static/index.all.html.gz.h | 4690 ++++++++--------- code/espurna/static/index.curtain.html.gz.h | 2908 +++++----- code/espurna/static/index.garland.html.gz.h | 2841 +++++----- code/espurna/static/index.light.html.gz.h | 4041 +++++++------- code/espurna/static/index.lightfox.html.gz.h | 2845 +++++----- code/espurna/static/index.rfbridge.html.gz.h | 2912 +++++----- code/espurna/static/index.rfm69.html.gz.h | 2916 +++++----- code/espurna/static/index.sensor.html.gz.h | 3108 ++++++----- code/espurna/static/index.small.html.gz.h | 2814 +++++----- .../espurna/static/index.thermostat.html.gz.h | 2886 +++++----- code/espurna/wifi.cpp | 35 +- code/espurna/wifi.h | 20 + code/espurna/ws.cpp | 77 +- code/gulpfile.js | 606 ++- code/html/images/loading.gif | Bin 433 -> 0 bytes code/html/src/api.mjs | 13 + code/html/src/connection.mjs | 146 + code/html/src/core.mjs | 93 + code/html/src/curtain.mjs | 121 + code/html/src/debug.mjs | 108 + code/html/src/domoticz.mjs | 14 + code/html/src/errors.mjs | 49 + code/html/src/footer.html | 9 + code/html/src/garland.mjs | 39 + code/html/src/gpio.mjs | 48 + code/html/src/ha.mjs | 21 + code/html/src/index.css | 639 +++ code/html/src/index.html | 201 + code/html/src/index.mjs | 336 ++ code/html/src/led.mjs | 53 + code/html/src/light.mjs | 298 ++ code/html/src/lightfox.mjs | 16 + code/html/src/menu-list.html | 77 + code/html/src/ota.mjs | 167 + code/html/src/panel-admin.html | 102 + code/html/src/panel-api.html | 41 + code/html/src/panel-curtain.html | 45 + code/html/src/panel-dcz.html | 54 + code/html/src/panel-debug.html | 39 + code/html/src/panel-garland.html | 30 + code/html/src/panel-general.html | 117 + code/html/src/panel-ha.html | 83 + code/html/src/panel-idb.html | 55 + code/html/src/panel-led.html | 34 + code/html/src/panel-light.html | 116 + code/html/src/panel-lightfox.html | 25 + code/html/src/panel-mqtt.html | 135 + code/html/src/panel-nofuss.html | 27 + code/html/src/panel-ntp.html | 68 + code/html/src/panel-password.html | 32 + code/html/src/panel-relay.html | 48 + code/html/src/panel-rfb.html | 59 + code/html/src/panel-rfm69-mapping.html | 33 + code/html/src/panel-rfm69-messages.html | 39 + code/html/src/panel-rpn.html | 52 + code/html/src/panel-sch.html | 63 + code/html/src/panel-sns.html | 165 + code/html/src/panel-thermostat.html | 157 + code/html/src/panel-tspk.html | 57 + code/html/src/panel-wifi.html | 88 + code/html/src/question.mjs | 47 + code/html/src/relay.mjs | 126 + code/html/src/rfbridge.mjs | 81 + code/html/src/rfm69.mjs | 114 + code/html/src/rules.mjs | 35 + code/html/src/schedule.mjs | 26 + code/html/src/sensor.mjs | 366 ++ code/html/src/settings.mjs | 857 +++ code/html/src/status-curtain.html | 1 + code/html/src/status-light.html | 12 + code/html/src/status-relay.html | 1 + code/html/src/status-rfm69.html | 9 + code/html/src/status-sns.html | 1 + code/html/src/status.html | 94 + code/html/src/template-base.html | 13 + code/html/src/template-curtain.html | 16 + code/html/src/template-led.html | 35 + code/html/src/template-light.html | 25 + code/html/src/template-relay.html | 61 + code/html/src/template-rfb.html | 21 + code/html/src/template-rfm69.html | 8 + code/html/src/template-rpn.html | 14 + code/html/src/template-sch.html | 28 + code/html/src/template-sns.html | 37 + code/html/src/template-wifi.html | 41 + code/html/src/template.mjs | 94 + code/html/src/thermostat.mjs | 39 + code/html/src/thingspeak.mjs | 14 + code/html/src/types/api.d.mts | 1 + code/html/src/types/connection.d.mts | 7 + code/html/src/types/core.d.mts | 15 + code/html/src/types/curtain.d.mts | 1 + code/html/src/types/debug.d.mts | 1 + code/html/src/types/dom.d.mts | 3 + code/html/src/types/domoticz.d.mts | 1 + code/html/src/types/errors.d.mts | 2 + code/html/src/types/garland.d.mts | 1 + code/html/src/types/gpio.d.mts | 1 + code/html/src/types/ha.d.mts | 1 + code/html/src/types/index.d.mts | 21 + code/html/src/types/led.d.mts | 1 + code/html/src/types/light.d.mts | 1 + code/html/src/types/lightfox.d.mts | 1 + code/html/src/types/ota.d.mts | 1 + code/html/src/types/relay.d.mts | 2 + code/html/src/types/rfbridge.d.mts | 1 + code/html/src/types/rfm69.d.mts | 1 + code/html/src/types/rules.d.mts | 1 + code/html/src/types/schedule.d.mts | 1 + code/html/src/types/sensor.d.mts | 1 + code/html/src/types/settings.d.mts | 26 + code/html/src/types/template.d.mts | 5 + code/html/src/types/thermostat.d.mts | 1 + code/html/src/types/thingspeak.d.mts | 1 + code/html/src/types/validate.d.mts | 4 + code/html/src/types/wifi.d.mts | 1 + code/html/src/validate.mjs | 82 + code/html/src/wifi.mjs | 100 + code/html/vendor/iro-5.5.2.min.mjs | 1779 +++++++ code/package-lock.json | 2018 ++++--- code/package.json | 13 +- 133 files changed, 25863 insertions(+), 17391 deletions(-) delete mode 100644 code/html/images/loading.gif create mode 100644 code/html/src/api.mjs create mode 100644 code/html/src/connection.mjs create mode 100644 code/html/src/core.mjs create mode 100644 code/html/src/curtain.mjs create mode 100644 code/html/src/debug.mjs create mode 100644 code/html/src/domoticz.mjs create mode 100644 code/html/src/errors.mjs create mode 100644 code/html/src/footer.html create mode 100644 code/html/src/garland.mjs create mode 100644 code/html/src/gpio.mjs create mode 100644 code/html/src/ha.mjs create mode 100644 code/html/src/index.css create mode 100644 code/html/src/index.html create mode 100644 code/html/src/index.mjs create mode 100644 code/html/src/led.mjs create mode 100644 code/html/src/light.mjs create mode 100644 code/html/src/lightfox.mjs create mode 100644 code/html/src/menu-list.html create mode 100644 code/html/src/ota.mjs create mode 100644 code/html/src/panel-admin.html create mode 100644 code/html/src/panel-api.html create mode 100644 code/html/src/panel-curtain.html create mode 100644 code/html/src/panel-dcz.html create mode 100644 code/html/src/panel-debug.html create mode 100644 code/html/src/panel-garland.html create mode 100644 code/html/src/panel-general.html create mode 100644 code/html/src/panel-ha.html create mode 100644 code/html/src/panel-idb.html create mode 100644 code/html/src/panel-led.html create mode 100644 code/html/src/panel-light.html create mode 100644 code/html/src/panel-lightfox.html create mode 100644 code/html/src/panel-mqtt.html create mode 100644 code/html/src/panel-nofuss.html create mode 100644 code/html/src/panel-ntp.html create mode 100644 code/html/src/panel-password.html create mode 100644 code/html/src/panel-relay.html create mode 100644 code/html/src/panel-rfb.html create mode 100644 code/html/src/panel-rfm69-mapping.html create mode 100644 code/html/src/panel-rfm69-messages.html create mode 100644 code/html/src/panel-rpn.html create mode 100644 code/html/src/panel-sch.html create mode 100644 code/html/src/panel-sns.html create mode 100644 code/html/src/panel-thermostat.html create mode 100644 code/html/src/panel-tspk.html create mode 100644 code/html/src/panel-wifi.html create mode 100644 code/html/src/question.mjs create mode 100644 code/html/src/relay.mjs create mode 100644 code/html/src/rfbridge.mjs create mode 100644 code/html/src/rfm69.mjs create mode 100644 code/html/src/rules.mjs create mode 100644 code/html/src/schedule.mjs create mode 100644 code/html/src/sensor.mjs create mode 100644 code/html/src/settings.mjs create mode 100644 code/html/src/status-curtain.html create mode 100644 code/html/src/status-light.html create mode 100644 code/html/src/status-relay.html create mode 100644 code/html/src/status-rfm69.html create mode 100644 code/html/src/status-sns.html create mode 100644 code/html/src/status.html create mode 100644 code/html/src/template-base.html create mode 100644 code/html/src/template-curtain.html create mode 100644 code/html/src/template-led.html create mode 100644 code/html/src/template-light.html create mode 100644 code/html/src/template-relay.html create mode 100644 code/html/src/template-rfb.html create mode 100644 code/html/src/template-rfm69.html create mode 100644 code/html/src/template-rpn.html create mode 100644 code/html/src/template-sch.html create mode 100644 code/html/src/template-sns.html create mode 100644 code/html/src/template-wifi.html create mode 100644 code/html/src/template.mjs create mode 100644 code/html/src/thermostat.mjs create mode 100644 code/html/src/thingspeak.mjs create mode 100644 code/html/src/types/api.d.mts create mode 100644 code/html/src/types/connection.d.mts create mode 100644 code/html/src/types/core.d.mts create mode 100644 code/html/src/types/curtain.d.mts create mode 100644 code/html/src/types/debug.d.mts create mode 100644 code/html/src/types/dom.d.mts create mode 100644 code/html/src/types/domoticz.d.mts create mode 100644 code/html/src/types/errors.d.mts create mode 100644 code/html/src/types/garland.d.mts create mode 100644 code/html/src/types/gpio.d.mts create mode 100644 code/html/src/types/ha.d.mts create mode 100644 code/html/src/types/index.d.mts create mode 100644 code/html/src/types/led.d.mts create mode 100644 code/html/src/types/light.d.mts create mode 100644 code/html/src/types/lightfox.d.mts create mode 100644 code/html/src/types/ota.d.mts create mode 100644 code/html/src/types/relay.d.mts create mode 100644 code/html/src/types/rfbridge.d.mts create mode 100644 code/html/src/types/rfm69.d.mts create mode 100644 code/html/src/types/rules.d.mts create mode 100644 code/html/src/types/schedule.d.mts create mode 100644 code/html/src/types/sensor.d.mts create mode 100644 code/html/src/types/settings.d.mts create mode 100644 code/html/src/types/template.d.mts create mode 100644 code/html/src/types/thermostat.d.mts create mode 100644 code/html/src/types/thingspeak.d.mts create mode 100644 code/html/src/types/validate.d.mts create mode 100644 code/html/src/types/wifi.d.mts create mode 100644 code/html/src/validate.mjs create mode 100644 code/html/src/wifi.mjs create mode 100644 code/html/vendor/iro-5.5.2.min.mjs diff --git a/ci_script.sh b/ci_script.sh index 71e70d40..0c1a4aae 100755 --- a/ci_script.sh +++ b/ci_script.sh @@ -16,9 +16,9 @@ case "$1" in popd ;; ("webui") - # TODO: both can only parse one file at a time - npm exec --no -- eslint html/custom.js - npm exec --no -- html-validate html/index.html + npm exec --no -- eslint html/src/*.mjs + npm exec --no -- eslint gulpfile.js + npm exec --no -- html-validate html/src/*.html # checks whether the webui can be built ./build.sh -f environments # TODO: gzip inserts an OS-dependant byte in the header, ref. diff --git a/code/eslint.config.mjs b/code/eslint.config.mjs index 0a22f601..bc5ce3cf 100644 --- a/code/eslint.config.mjs +++ b/code/eslint.config.mjs @@ -3,12 +3,33 @@ import js from '@eslint/js'; export default [ { - files: ['**/*.js'], + files: ['html/src/**/*.mjs'], languageOptions: { "globals": { ...globals.es2021, ...globals.browser, - "iro": "readonly" + "MODULE_API": "readonly", + "MODULE_CMD": "readonly", + "MODULE_CURTAIN": "readonly", + "MODULE_DBG": "readonly", + "MODULE_DCZ": "readonly", + "MODULE_GARLAND": "readonly", + "MODULE_HA": "readonly", + "MODULE_LED": "readonly", + "MODULE_LIGHT": "readonly", + "MODULE_LIGHTFOX": "readonly", + "MODULE_LOCAL": "readonly", + "MODULE_OTA": "readonly", + "MODULE_RELAY": "readonly", + "MODULE_RELAY": "readonly", + "MODULE_RELAY": "readonly", + "MODULE_RFB": "readonly", + "MODULE_RFM69": "readonly", + "MODULE_RPN": "readonly", + "MODULE_SCH": "readonly", + "MODULE_SNS": "readonly", + "MODULE_THERMOSTAT": "readonly", + "MODULE_TSPK": "readonly", } }, rules: { diff --git a/code/espurna/data/index.all.html.gz b/code/espurna/data/index.all.html.gz index df1e9bf9750de73c0276db25c449fc838c8e2372..5c8a571ef59f65f1f31ef9814ef7cc292d21189c 100644 GIT binary patch literal 46834 zcmcdyQ+FmzvyGjJJ+W=uwr$(Cor!JRww*k&ZBFduoA>;P(-+mdyXvND^FjK+t@U%cUEeIj_w#mF$SO5&8jC-( zw>=3h8}h=n?`8M-O)dEuLxiy0o5`FQ&w3l8t4s&qKh?UL z3wr{>U$H)4{@ns@zEh!JCu{7_R2|>5bm=UGV+uj8cVKVZ{_*i4|NMgRjPN(jPydEL z^6c)7@|&lG|AQZpm-a!W|AjCiuh%y?6kdk$q5su~zth6~QTFk({=@q$!}lo2!4_+VNvv_5SYJ==}HKb9HBfu-Cus;dJ(Bm0eyhude30&D{Dr$KS4H z=-Kby(AIZXyLrxicHe+M3B&d;K*&#!5R&mO-z$G(+5cY5PG=S#9{`};dwvds7H z6YQ4XeO5SZjGjNm9pTGg^3DDiDR^2SNFEx^H3i5_0)CJ_5*J7+x`&3Z7cVV{PSlwg2HZmU%@v54!_Js&hv4T!L`q+ z=fV!e@GSZD^w?AyoyVH}~q0i||9p>#s+TW7u+vB|Jr{{r#Wwn=k(RTFQ+0Eni?D?w-}Q*@e^R zDPe4XCs(0E&%QT0JO0R_?dK80fVXeQuTSZZ3A>n=XTrUQ(~T~KP5RC2*`z$R!yoOz zRd=|b=O#yQ@5?d-`;F+FUH1+DR(}qA|MfNhXP6pfKN+lVb&8*RBi8S}PN42xd#O*a z?Vb0}#*Z7L*bS6ja<{j#5Pp2WqE8Id%b9$E3x9nw?!L3nwh(;&8ujPXiOV`t_-4Pn zuW-s`^+o>a%kS^588!nBY*4y1$fB>W)sNf1e(y2+#iLJGF8H??AKb~0Ah#d#fBl|# z@AYTe?s`{x6P~US!uN0`y});t{5)>)4K)3(yCG9szT?XPpH#o($}DSE&udrx9!eEm zZt?5-Lk5TOSJC&^;;qk@>UcSQ)RHD@{ACthavwLZ7YTCc5{r4om#>pF zT^9Hr5|`pP>-6||J)Aw}xp00C4YRNjie9I)!1X`TCs${!*;`iW`O7o!!l<+bmsUn% z@YuxUuHn-+rlqZRy_+)JxkOL99dtejVR~FHLR;8-*-_w^o#3wx+P525mVkuvtnD^; zd2LW0`XCOUvXt{W0k^H4S-~fv{`Z^`Srz^nY$(ZgUWfb`&`#Vr_NnB6*NgY*X!+p! zUCmriK@Z+viEqjLO@wzePUEwfJ8`c>$1h0;{$A!WXl zGzts(M4HbH%n`F+9!$}6@27&u+0&oLJkO$8D7Q4}x=(Y33{odM3Y?U*Ach0x8Y}GsVom7+}7Dh0WmdNA<8p z4D%Et_bi5Lt3_;Mygu*tT0y2z*d-4sc+fz*5RLgG%_v%biyH5K`7pVm+}eDn5X%Pu zGaHAwF_cY!)X<)YT|A$#gQ75U1$!ogZ7GjioZWZu_tO*uAGMJwT(Ddvafsz9*sdaL z&8XQYZHR1JvW!vpfSZ@Wly^H|l};sr_d*e3&SF&H%qVAObwpErDPABqGcf0}t`H1k zLn}G^2+Rut=dm_s%IaVwNSs8W*LnJ3l9Fk#6h@2FBttgqj$Q>eE&Mpd@SLN6pJp#3Ms(Xc2zfg>5yz6-mf%OAgOH1m{iv=vSTIgdZ|V6|Po^O2nu%Y@t0<9He*&fb30{%qxJ=S)Resl?q<4dkQ{*V}UP6$^rj5 z>a-%Xs9tVAp;BcEBPlwBcJO53r5m!tW{}?zkaJ+plwtVuWoGYZ>7Uy|i43Qup~hU-cax(!Nm9L;$>`w1@RAEOl{7BM4nO;Bgf`=0??| zoFqg_fRCyFTPBtEE>!#dxMwd$#S9_4jMX05cY42o5f-%Tl)~SO_d%J_ekbB@{<;=q z2?hh84b6prr&*dgb_bHoPuvm6Y%}lR1-A2Wrh3Z}F&GhL4C&G~|H9^8DXJ)X zL-c9}l2o#j5Yw#pDH!)YVq5pOQ} z812Mgv0?ZeYcc}XTmoa;Q6?!X4 zxp$H)N&jZoLrH#{N=VMV>esNz&85THu*M8iy9!86VYYGGul?3PWYMNYrGh_m1t|id z)`FvKTH7@>*Y>HL)#s+9Zd#YGd2|g)flBCS&ster-qfIllRH+n8L~E$k9y){wq~Z@ zIV*ANYhn-zszR(Sw#C;Q!5VXW)Y8>;S;6zlJ=V!ybav%**wFzFf~M{@e=-!d zo5ujmsZlhI6_;!R9hUNAVWAS0({a4$%j>kd1(C(vRIBO5w9cj#KHjNtXLg&;jmEWv zsv_#P0xp}GDe&8KxXW|7&`Y!_)-%Zs?QKsAZjBX86iRae*R`ySyrBJE&%;OMrGiv! zuKt=`VwuV2lmDJeo8_!l(52JgPSTHX$YU~8HALWKAl1(U7D(g?A*YJ{by0700=HR* zYusqqK`AuN#2JE2zLHi-GBm00UX1L)vXMqf&=&`wD*+!E2M1xB2+iB~i_kAc6DY2a70m0LOEE>oG-x;)zPE)IWj)Hcq>{h5q2d5b{mg zybHGIl6lDia8$|*QA`rg&I#Afy_Ti>Iry};xk@Exioq)(7+uW%i7P+^cLY}mHzaYh z*kUiZY25Gy^qK4euDZ@kIkIDpi{*x;uDD}ZsP6=s)13y*33Uyr_Ta2^&cQ1e^^wg& z)hv62$Tr}P7qNsdZdQ-+E|yh>7B`4DO1-I(*ypsc)3=Qs5x<*=<`g-abtFj z6?ypPsY&`)T*Tp=;#9)x7bG{w=CR7eS_bE;eJus!`j|+XA>TkXOj+NY zr94O*d4cQI2kV`Nsodd-;JS;L=>#!A@#-|kXwhi0X+ST}aecJv_g@nxjY01e&Kh=( zX19Y*VV-h@SdRkUtyR=F@>V zjm8r~Bhv|yb)#m2mRW=xcwMBNYeCP{%>7)SWUtNa+M2~Ii{Yd_pUjv}i=q-={Rf8}7?ht?8OFl`Y_Os#FLQPq~Db zUjPf0)~F0I$%EFopPTrx!-4C!6OeVF=VWO$f93QE0%4Z&fjv&QZ+YDJK3)lDOVi*h z00DbwyNVv$A!tdoqibsei9LOLVT4BR@|)2gwNq+oYg6DJgQ{qXDN9pet?nwPh7fg= zItU=z(+eHFr4Ad)o6Sh8z*F$N?AQ70YdN1fuRou$bIxin7Yzxvo}#Vwi>F)(a={9; z!hqNQtpftWp43}3KUI4j;@C@dnM_N8GK+g!eaZ|1l@2XCdZX&}F0|f~bPdj`sfgvK z&KMoRD%f+?=FW5-$tqZYRc8&D+7hj(9VB8+^)ji4YYHk7bv21_4U;ev9g>^03g;X? zv2br}x1)WxUJumILkoVvobf^{tTBz*8RJDYa>v?>@AA&`vs;{0fc^=@STr`=-R~=3 z9jS4c3^qaK_0`76q-}V6WAfG7zOJ3i*js@d6_%x+ zic^)9b<(OhB1oh<%RKB-m$LKU4M+-LT4qOpTQZhKhnOQCastjmn$dXKrvjaIlw3; zS>Nl5*24$Chpl&n z)(CKKZkf?cjFRQ`P-f2Qt!}oLtatS6bEEKdK&-7;P9UxER1=V{=gL}}Z<6RY_H0ox zUr_r{>S}wSP-6`&lcUnnZH$z!?5+)5xYRBulxS|dTrNJe+AcN`wK@Lydtdy7KdUHv zw34hAuBHn@IW3x-9G})Dl#ti6kh2G;m`*x3anhKWCTWZ_nKdMs%Ni4|rjH5bW{xMq zaVCvqPX<P@E-BO6tl1rInzhAF=1Op!v-XG`N)YoIxb2R(w&z?|8K#Sgj;XrEgZo z-y2g>8U^-{@ZUAm+>|JOrc{R1Zdsjo3V?G)mt=9Y8D~Kk?Lf15bBMvB8tp;TP|0~h z8>PTWwVCgcbUjC%E7nd{wyzQTXa8sg$I{vj<_Ouu^4I=OPZqx?p5nSBeJ>g#gL&?e z%>YNU!b~{p!z7fay*=r2u3bgm z<<(kStS#j^Q_|sc62+rwV^8>;-!~g`%xs_g>id-6EO$(_inV7U=C%C$tx0o1z7!yu zA^RTkeLiVTY(Fb5(-?Mqhq$N9PFG(KCxLWPD^tlrucm-~laKLDdfRrA<6!oWuaQVYN6dV2njL;p`^ z(Uo(s7M8Oe>E-zxS^E1T)>cQnnXUffl(?-U!TV2$GhpG}01Gd_Sb}?sjF1ioPk?eZ z*_(xTeUA5V#A}B^Zza~8*>}-nhbh;+@ia~~X*+*gYR*f$ZHKM8P4?1u%4@TA$E~_e z_o2qTuNr4=z1~ah#ak`h+YSDoPzztZ#(3~t^q9>z^X)N2-C)@_4>Vk)YBA+8U)D<4 zV5{0_b#9cW0s5B5clr~d;WkSe->q7v>vX2!cS0K8mqM-&HhYTDH=aSk`;(~6Xj*1K z@+gfkc!aKh?3n)hJsCd=sXT`tLs_FJrObFKik6oksSMwA%w(yNj+atd<2dEibhvW@ zKZ9~UbRn1-+)L5bN9<4H0tyTGq>@vd7$9q*h{Z_tRDKclOm;aV6NHkAS5rB^ZTZw1 z^^1zvNO^+ShA55Ou1RMim(7jEnG2_i>U_fQ28({>A?&WvjwkCpYxE)Yt~-g>y*l#> z;#$pXWwZ0C)v(7_%U*kBv-PRfxaT_4p7+Ca+haED-%YsN#I@CAUH?yTb=&o&&t;7| zL$F?6!WYe#Li5AIWvNxr9&%Q#1TD2{F1O|+`5FQL_0Qy#6rnMe^E|3ClH+utF_+`~ ztTB-TIenOxoE4#To~%h{Iw2|0pUifOu1n-Ro-fPhgkG9uE*r%DXJ$2$%2dYlMPV#w zrJ2T5Hb_-xB4@OHl%X6*m&{ZK(o=3E7nS@UGNm+>i`q$MB5$aCn6418uS{1CL{0h6 zq{d7x%I_bNx-mrQs56q&#>wQIkyA~1G~s`V!MOAs^3Y_@oq3c!^qlh8naJf6XDH|TB{Pz@ zRR2SUDeC`xwY&f4D~8m+aOkNpl8Z|HhZ>U^$VKg?GLkfwJx^5f*;W6UME$4OQDY_- z?fZvFU+N>b)EUci;>_gIm{m#t|LMX^9vNXeP5F;4)0E+H$NxlM%CzL3PcG*~2E{-B z(UeEC|4}7F+3rr2sq7z9n8^b-{(19{DASTPYf2}{|9CPjNqedEZ}0fuUUe3aGu3?P zzhyp#>a^sa#QzWt>9iyuOX-9}%{7-3?MxQUnJS_1KSkT}KSkX?^nU~~m+Qb~h|{#b zy&xXPOZ8=n9}Fq9QW@LS-hmt#c%yjXv(@javBA+F^D5bvKUWBTb*#}-de}D<7(f+` z$zBFeTz&&gUZHtb9*T;y9mAS?KDem7r8=ONN8a7*@0Txa6XE-bW}Vpx+`xjetwT{$^}{VhR9uWkbN(Qr#jyppKZZtjuo+W0Fm&wVf&SZ(A(ylfEPHnu+HFw#Kl zWQn-Eia4l|m$+Zo$m{83z({;wn{*lUUhSSUrS!G=biPY)3%X{)&jepUmR;kysmCTK z&|m9VSJVv>g?4*&MKgjrfsOT7mQj@xL1Mp|>{O34%__cy?hV8w>zYHPXLI}fCLK@m z%D-4Rw9;jNUSvqBXvBi5Q~6=ZYjb;hnf#8)Ka_U=zJpZw_jr79e1vt+GJ2D>ZXiJL zUbqFewYdnt+jJK6kR^tPxZni)Eb+qyed)*$sf~pA7GjZpC7;*#YAG?DHsH#{oM)$T z3za&k3`$<)_+@XgPf$|UE$i*Qu>+BnW~$2qHCSBvd@lwFuuV5^qPD~FYWT{z{+jk+ z)KU+?RQ`o9^Ot!u4s9BSBG<5vL`Fnw+M)srp5PQ$QWSUqc7~L$8e-eh$p-1#M6)W*{b=Jgq<|c)?|?6( zdQw$n!-#%VkOj*pJginTSyKhE&Z#unwV^*l%^+8?1}&KqC)!NRh{ml-^|uO376#k* zWs^T^q$7r$Qqk-1RS2f;m||4ZudmrPeqFa-#kx!FY=;l4DM&l&NO9ir4z5XRH<6IN zC}QvniRKC2R_>f`sS@3st{~!L1SG!JIU9S_Ih$zV;Cq6%DCMwa0GiBO&Gd7=xkJy` z8b!iiMvV?qF+_rzOX$>0-)N7I+9>dx;0Yy1cU;N7P}U&DO~YP~udbSqQuX<$Zhyv{ z9j29J&d<$R<+X(n+#&uK$(jq9TC#_Yna}Ait~=9tri2`e?(_mkg9me$nSgYp-c3u! zvIuuSx{H=<72!{GNaavOwSFE4Gj8deJMx4bbx0R0Evx1uA<(apYFk$kJ1aRq1 zA|)2TNUPmx#-?(%SV4MlGl?0?K$c^jgGN9 zEiiX_`AT0=z2APHoSf{Xe)c&oWR<@)9vf3-ejjI-6p#sJ20(9G`kkF7onYK``D}Qy zNH3pj4C zn@UOZUzeChSRyo*jV>3%l5=1wO2{GJbAkz+lM=CjRY{RgF=3X*%gc_crWqN7cLM_T z%7fZk&{U>ZcN2SH1isjqXz)iCt+<2fhUQ!flFG*TNsH`tMbW~02@dN^p1`n=l@SmoJvE$I5DS_qqUyQU1Cs;!$kl}%JrzfP-%Q>i+ zX@!6X5;ccem7V1-M8woyxTHG(0q;(0OlL(!9|14&44?r==Aqn*lldUW8&%)SFH(d> z^VQ1K9BoD8get|=9>e)sO$OAToSg+%*R?+Z>+Rsx@#J_R$$)gCGd6p1W?ZHBsIVBY zL?>1Yr9_pF7!o?((8d(5gs90d+byJaGqaFQIZ9I8c+*P8%Azd@f@y@B;rtw z8wCm|>u#1yNl7z3q9n@8n}-A)2yT&>Cg|oEqL`DpX_C>w;Vc4R_-v)Ua%TgZ-BPz_ zQkLB^*W2z}vb~%Oecd zmupG16(*h|lWdB}hPihuR)j<5;)5HLD`)2>rIGCRms%3_FgO}F6RnGuVvf8(nH>@Lhra@s3tGIGj%KR(}9 zTT^jnaJ6RQ`K`ZVmp#Oi^o6&pZ+xMFH``MJfL9hxAT*oAV4|XJL+#Qj zpUjr4m87?Ge6-)QbL^haH{0qO%~}GB`a!^~L(cYf?^q|`hmZAl!ZGh4bfsxTm)gx5 zlr8h8_|V={H*`No~=Ih*8;sCAif zuHqtEhJDq<6pp+IgUTMTbs@7kH26325=5u#B$vgpPLr=`{pk*!O(#Ma z1D9sam!8PNYkIRB>tOPhd5C|DXmW%f`;r3Aq)#RZ08^1DWSE%41$ja$AJa_{HIZNx zVk@|Jemz$7)iPPkVBjc2*+Tx{p(SFef~=yJClwwhQS;`YFeFjD2$8l>LN1tmLoUVN~_pSQlB zx}O@4Fx)AN8V0LFu{1sNMb)2{l^oNZ{@(k;8rrt5ru}Cx-A)vOcI)+)k|Maif(wmNyofLgv#PoGV`xBE;SqXjOpiYos5` zp#qp{&FT}B(LadRQ$2MP3D)$kIjjf-aui&IBK6jb3^QVPLbL}}zh%pbeBPUA;z9i~ zlE*u85_Z04L|HqGTTA)HZQl>K6o#2*-Im0l-~+6Ep>!{e%nQHU0S;mDb>z_r@Z>G0 zexPmiLNpa6LyWD?1J;Y^)25IKD0i<%7su_2^s|oJSYSyI6W41*X{LFJoO_OAk%ppC zL*CoKkNy`D(r)$|X-xjxs+@39!i~EKm+g3!l8QPPCSc{En)dbbp^+)EEEkAi^PLvO z=&i3eBkEA3i-W`L7e2}w+m6!AA? z3!ED&&q<0>@RsZHMBhV%l|ly996FJcX$Bwh$a zmGSN;^-|MEJ|O)Jw#09z5ZR6{Yt>s61@IHgR+y>&pg2CP z$;Gfr@-q!6{??5<4p5`4=WE45iBR^mIv8K~E2B~T?%QUiyop2EJ^M3gvJW9p$=fUC z>GG+%1jAk9G|xl2RkHtW`0_)ql59Ju{kylgOb5IZ`*fA>&$`zil6pSiCW3O=}&dg`pt`{}etm$Jk!> zd||$G3fw?sm+PVFCQDnP>d!1jC>-)aX}UbiGc}RKt_6x=;(HWX79n-u)eP*7bK`}H z1K10S(Z-~gw%<`od&GL|rkC>!Tk+btZ}nL(FxneAt$(Ayi6=oNd!L!dYZw!y!>VnF z2IcYjy&G6UoF{t_oG2{INn&j-Jek(C?<2Q1ZSW&8CM)EGsB@^&SlF@#s4Nm#3eIE^ ziJaP;++Rj4V-gEq^oUK04$@DJWEY0ADK!=5S;FrF=eSqHPzv*yX;xZICe3M*X#oo; zn|HW?=81pG@5ZXZkp$)+l!@^>TE3r)zoJ9~Xwrfu2D8yown?ylq4^vWF;@u&_q~#b ze~PV{n6&N@3g|OO&a#GzekLx_r(c6X^9N@K=nzD8oeS^GsSe|a6_TMhJdL^agx(fc za>zIjN%h~y7-|L|$Q08;hM=ArB_Ofjhnnh>5X>q=AoQ7Vyi%{eR1YAY@b?mC?Tw&H z1U%mGp7vtS#?hA9z}q#P|Po@hx~n?mM;Ue>;HW33FEFRz(hf>gHC6BHrIoo zj2pR7a-mApU!w9!1g&{s=q0R>`N1#+W{_Yy;Uqi zA{v=P`^DKCpT4X6&A5NKhb3Eth0SAstTAUJ&Fg#>{^lV+LXYiK%Nn7-#705A+Xcc%4%T3rXTan}~t3`bh}Kn~wxhnUDW(4yumuK~EEu{|TDLNMJTkXSC1F*64g321j=wS5qL?_vKo4jgspyGt#i%mx&HM@qMB zl4$!c_*lv#UCy7MV&iY&>McMI0AVQ<;CEp|-p_wXI8$7PHx8=)DHhHe?V$2Uc$!X0 zLrr=TwovgOH&Ck-lh!3@8ry0eY3oL&MUI=c=N#5Q=w~(g1vqxxIFN-GzgK9xd2AY_ zpGbJ{SX(DXp4r7cW{Mv|6&EXz?x4M^{14uPh({^2^~f8?K?7(Z+wRdMXb48IFo`y!2=Z^;j1WsB%9$9 z`>y~joA{X40L`Ce*}4TUGO3aBEIx!VM___mLs6ofmlHBOK-?Tbdl~>uf+^Z$qy0HF z1U@7jLzv$I9Ap?Ati9tc8<}^6U)k$@ab87Dequ(pRFGQX=8p!9ten9Gz){T}J4*?x zjR{ILjlbZTuVQ1q&VC?>K^szY*|5P1W2tz=ZMF@i>03}{iu6b>PD1{g%Xb-e?e!-| zZ`kpisgWvSBR;p~>eAq8m3~P1ET42&w1HDsNZ3izRb5d3czEwo)20|NbZie0o7`Tn zL)}nzM|5FFfqQUv7s*LVp>} zt4T>sEb~3CQpAM;pS3OcNTI+M(b6KpatL2EmeaFGVdWP8L32tX+>M(Ag3B95IyUrk zte$T=8L?j;B`$nr$9Lc8C9ZP|7{tX#i0>`}G-U0~-5C%{P@Wjj2 zNWf{rdk&TbiAf`Cv-o?CddFA%(21>WDVw=wQ@ZL_SmRhctL=HE4E~Z+G?96pMdKu1 zX2ePuo7jNh2oV8yfyJ-{mx9j2SjV25-pjQ-BliB)-ID0@uj=AA)I6zcaogR4&Rm1Y zz=}LNdHuf+cLmOu9Nbcs_S6m56flb!Z>~pqF{qjc6Hk%o-{&KF0w35%X3G#OTCPDn zj0_=oWXpNM_P>PFQ80lfDx_F=s*^3v6hP{XMK+U=K>~z$9>TZf&RbGN>L#WhQEu3? znc}mW6d=Qjs`Yv`ULaR`YBT;Cavs@rU@S!vHbO7ajkW28HkILG)5rqgQ=oVPoUj>xdhh7H@lA zaFIrVgi50h-79EAS#SdZD6NmOH_*jMXWZcXsz(k-0fz9{2>|5NlapKsV8hv=Hbo$Sa^%U30fCy%}^5Maxq@3WU!|Q0zw0}iKMDB5o{*$~)nTxCd95GEx1}Zq7jy!`cYy=2FjPyiGkqx7d8FGdI(%4w9 z5W{Kal^^ohyC$6tJX5rNL-h-5RvI2>!ft4?7ze{%;$&WFu|t~ANqGzd?#jofP^s@* zIh*KlRdd0MDFVZ~SjpDSJy;i1o@j~F_9O6At|~FD1Pk= z2!4fln#757Yb{e3ni>Z?xfE;k7GlQQSqh-=g2;p7m%0+v1&98dzK;}3_xx_Fg~BU8 zIC5svGnLtxs&0+gBRk@Hu(I}HPixM~DFVta%Qh>@P4pbt#R>`_wM ze0$+V5F(xz-j=%(Xr*!Qcw`U|#KgjMalFW_+`cy9*tDv3Xf4GiFJTq0(})fTJ~cit zmTVFs>pUg!M4}23od=18(9S0}TFbNBl5mAkW>H_R97SdvUXPL9LK{}tUou&+LQ)!j zAn}q-u`tbrtslsVY$L4#e5!H;t*2oX*5-q`%FpnL%i_H)jyTu?Zv!g*a42Kx&5_@V zR(nTx{f*utlRJbw4iaCax&|!TF_zJSY_?Tn4Wo;MkpXsqcE#F)FBPhR-z{1-n@_kKLU(G+Bo1ps#3_}IC!{Rh@0MzM zzfz}iz2*Hvk1!NGmpg%+*CbP~m=YmruM*@wWAr{0raeqHRKHcL-?o^}Q9JOYVLcdT`Q@Y+KJzvN9?E4Im-hRG8YtfJ>55&g7Y3co@ZP&~bycA4=*Hl;`n>8OxNi)X@=EdlMtukPd zozFb;R_Y!p5kHJG!N4QY(;4Wy_~V8(C@X7pV`FhJ$VpjAwdv8mk5wACr2XlkuA1%T zch%-O`?ze?dbhN#8D;G?Mv?Okb^67yjo!M>y-MvkHJL@203mX|PUk1d-_0cvIrzLH z;{3mkW)2{Fhc>=JAhQ(=v)DL;sp_DsGZwX;@y0dB^GLYAB^C@{*BDN{sLnGRR3(jP zE)7WO#6~q23vWt($ACQ$7Llbcsut;S*jY`Qp5FP_8q!3o)^xhw`;-{db@5^_Fn2Y` zA3_2<=`4tCmw~(eWjO?2e`a{f`8$NqGlSy0R?@Ium2F{h$PpGkWDfud0oyk~q?AcM zjD1fU7e0cDiP{D0BvT=K;`?CrXDV=BCIGO$8ZXmzGnDXj8?EB3-d+z7LlN;;VyFtG zo$=G|v$>xq(oEVGQTKt(1^-C&EsiPuABG~z$G+wi!*PsXT$Lq+pRhQUSl(qCvv+EMAppNXv@j<4G;G)5i4`2 zcb{1q5d~mmlXzDMvuXYaSp06qxfayf*GLP0<;&K9cAF65qaYAc8tEX8S}f~SB}R+e z=YO6vtlKH-@l_#2c=kU!Hm0kON6W!H;vnjHCYy$Wm*;azSnT2mOKWmb4Mp2N2o&)hLUHwKbLQ7}p7FJviSJLIsW!#;y!gQT%!dDXya=q3TQZIdX{!uab=UUS^=VaBO>(sfwydw0{sZceW z$GBE)L%cq|!ok{cz$Rl;YXe!?#bHM|B-OR6q1%dkio40e%lJ{G(%W9(S4gaXCf&bl>VHN}p#9n;SR=)aPgMhy35|oV`1a zZ7XTE*Ly}>g;15(S!STeS`X>Csu9}S??1O04zP1zi?aRfw80HKw?iI|La(^5rr~S@ zQ4_j5rSqjB^;gnvEEI1luRF%UvYGfT6Nh>Rq!dBBSQPHiD_MJZxG|3D1;B1l3e-5I zmjKS>M3BJ7%A_%nY_#NFDt@r8B+};_*W@5AfAZ@UXdb%$0MK#6<_5nyIUoFw$-*T_ z^i&g-Mru--y9{xQIs;t}m5^8Dvp8v@1uVCaNTi!)E$vGZxe<;0JtQB$Q2r;SHAqKg zvl{J1zq{FY!{?TX09d`9>Dy0$}!x=imqAaZ}^FK1N=y!dF6H#RH^eK>gQ?J zo1FPtL};WA%JJ;M26u}5XQ7o)Sa)F%M1sM#r+Wb;hgt|RKh>n2Uo=41_XD3O5KY+Cewv7vc+(bJiB#qk>7m2Qjt--vZe8WmH z0-VZR=#i6s7>?yFC%{ zy2sac6r!a%kE0ad>r`|u+)Y>dJPj)8-J&>oxlw+96^bA1YvdqkOvfkS{!YDued z{?%gE_LvmlVU^p{kmGsI;*8?{?J3l}%V}wUv6PferHiLnTF6l%0UN6_X3=Aghvk*g zA_RZpW@%@hvo9sj+Y##RT_g0X;ul6gt!fkjM#V#mET&?o+UgfeukiK=Ep*2s1NHXx zmtMvtxO-3Sr6*i{Qj{}#fh98R`o8W3)SeiJgd91TU|v|mwXeq}U$%7Eb?37@9H!>} zOwlRgiQR-4@%}y$?XqA>2{t#BLs=z*Vw!31roZy-P@LT{Z5qF3@ndm_Uh)SYm*34} z)jq#1=o=~S^k?rtxOh~ULpi0iT3UW8hh5|Y0U&4%C=zzPTI5LxGH_Mak zCnf)_CRcc`dhmfYWAIaBe>6 z5^!W;DvUn!l3R!rgJ}WP*}QNsbH&;SaRC{bc+aCGOBm4=#MQ*em{C!5n6WzsoQN6U z6F}TNB@2l1K?a<7vGCChk zap`37!oV2QjGLZu!vi)Q8Y@TP(#=Vyg!oz$JLJ>xU4J-V*#HUv2~Zs;akJz1b91~2 zxr%hXZR8@4ohNrHxO7w`D8iM?a*^GiQ?Biebt{{;+qrJf?m&F=fpqnUVK6oeHJh*k zpPN$dDjI#r^t#VuwN{>c%=coDpATM1Saqbp2TBE2M_9lsfc@P%(4dL6wgMd*;2&f> z4FHE8GuCTT+Cd*goJQg7?*{+6S2q_qm^XpD)sUo>9{v4{|*B<`EZnb1DuDDk$^X z5DLWoL;;{XzlenY>KqdJe6H8zK_)QSvP|(r6Z@7s$g#QKfhW znaE^UB_g-krx~4Hx7-4iG1mic6W&bTIH>air#2|9k1-Z^to*dZ>bw5QE$QBvdfPya z9m7D{JCFpA`c85%&3gXVO5j_kIIg1wrCrMRgn$AH+GF=Jri~2c?gA6Q@g4P}-PI`F zCS&4zcip?E>Nf+n+}75h3P-Wt z3M%+`X~b(}mS-(xXbuFB;;nx% zFCI=M1(V_ny&UCheao`+`wKJK_10d6TyN?!8h+)uY457e_}Djy0#=lr4J|B?gVX2Y z6)SW>IIiYC=x`BUwH)m(lU@W^BgTM+NIQb15D3hMopy6?Plqy1Dy!-udfA9MPiAI# zXknHux(A2g`StJyy=ee+uTTF&VkSVwRq8(Au0I{qf zv*b)7)z$f7dkJ+EwGS>+XyQUYJ6n;UxEWqq&Gl*rz5V5TtNH+iANK=n_25D8R_DI`?zWn_x^D`-&=Q;8D6l~{9lfd z(DVmx_{oVk>>PWCRU%g!fv`jG7gF>u5an7HhqUNC6?#TIax693s+$+&G7cRxGftyj z%n7N({V|A~Sw)Cqsk?(Dq)+YXP4_V)GT?yQ@&19bM^JbsG>339dElE&Iq`ozt-Lww zmsMlOiZVzVeE3-u@6x1ER5%W2jZ`i;7P*u3G_RkQ37$pCWH0$wZ6Kd)DJr?j=p#*( z0TU9kf#H-;OgKCFj&oBA_@@rB?8k6GboRx+_;DLY18cY)1AmA+OL7K&D0~=;a_u^2ZmD43J zDF$7pefN(OW~O(2Zu9l}UmN7vZDjffYF1>dUOsbt6L)h444kFa;bl0y{t z7UKB51749+J8eo~R$98;$&eVnJN+W!fsk^S>MVQSL8`TRL7aUR@;X+ftx0|VWF;Ik zskn8eW-H{$BfU&QthtW=#;4r?Mel#o* z^aV{w-w2e#wP*f|&`p2-yf>t^Wh?K%5C_A*nEl(-xGrxidnbhbAq#R=mM3o~dvxFx zLOYM$eE*D0hTbke5;wMVj9tI*>_q=>Ue}v?)A}za-$&2Zu{prt_%4B~MW3~VT+9aZ z0+a$V$ge^M%7j7pV2wip(lUvM?$VA!r`mRQ-|-Kv+Hg#9jUyiFK}EmUZozO&!k$W# zmgtt*(;$a6dY-U#Q(r{>Neryvh-Dgt1JboVx8i4-qBWCQ7-6pI+678IB6?FUyQBye zJ1PQ!wGO!`;pS8v;GRv>*Yui@40aRwUl=%HU}=#>*l1Y*Rymg*Au3-Kh7sV1X^Rae zBn!g+h;gQ3EdrW@?2VhU-_-Ey-(cKX`22q8e~S71va7oJDv2KqFibv~ z2GFr42d{WWP<}sazX{MG1vUg)j_oKXupLZ*TO~=0L<3!= zk_G=RuLJsxRIs#M27NU93&KafRf?XNa|$^$SS53jvm32HLO&B&G4K~$xKx-9TH!R> zs>m76ok<6J6cl~%KJptjww?Hg=2fT)#55p(NatFSkGK63SN))TKav;+Xs{=N3<)cx+?3PSzb>U2csFuvOM}S?%lx>l ziY#C-$)iY7euoU5jrnjJM0pAN{{cNf!oRQu`g@N5PMRb2L=iWJ)cI%*QP{{q!5sWiSk3p%MzH4GuX z@q?>@e8_9^P~jFm6FOs4f__gJOebqyw=o-jK3W_*Lq*Jhm4`$$hQk^C(3?D=JQF*0 zR9u3GL!;11#0Ji|4aScy24mnlHOAHA^uleGT~jGlo7{L40k0_r7fqM%9wKZPI`%?C zRKyenSY5Px$m|FcLBIEggeq4McCP5auOn8#n8!T2xtX|!jyo}6GS`ve=EI4DVl%}y zQSXf2g~^-8NnVUY>IrHk3K8WU2P)p2qa{eww@GITr3WH>QvR|mq= z0+D1XV}{0btgXe`ntQkuO9rJ_R7ECi{H*?N6~dhLjR9y4T$c*XnbGo(lK& z%t*sOqy=yYBI_>rI7)-=qS@ns4I_1W7dI2|GaRA&S&mBO5`Av9PEJxl0|5ge`C&6g zMSzfZxiBH{#eT7Cj6_OyaAU>&EVQRK48;o11i;ulg4M_h*2zCWQ1zIxh{FNK4tRtJ z40v+`_|i!0b$O18N+kjZ5K}cgN(kmLeq_&4I+q<8yPGTDRrHmrQf)Er7f&Fodm$#K^R(T?#g1*RiS%j9lMablPUgV!IB&_XPctT1#? zoB6Gr+8ugSi3Z$(~107E7}3&z$Lo?yZ=M^ozCdr;Mt z_x{KaM2wZ>-t9%ijNePBP%Jf*We#=U{V_ET%wpO9si;s}^kOU+UNUh>DKH1D3}|MQaTt1YV1pF;1+Wy=htgA7 zrUBZEY6{vZQD`*D_6Ej?!I(ieRr)u>ktu@#SJ>iPxPo*>>jpiWYUR;dXm;<)@*2z$ z9QU&%JqKLH4K!tf&+D?IZ8y$*UHvN8l9kjA;h&~*p6j&jHTF+g>L#mq^$QBe7Va^ zh7}V<9l9%L;ZiL^7naBCG6Sf*_QR;x$sZcc9hsVvi6_`Ak6c+U`QSF9PMaX$%5L>5 z;$F&ZSclk*pl972HU;;lBj{R(g&rCihRI_oii=Qo!>JHLL;H&%JbPI56)QoSiunq1 z+HoB=^pwJOfoSjL;wEex)5^SrnEK5Pp>~644G~K$&Gc+WS00EbmZt;t$#9mHq1!;v z6V@N6kiG)ooTOlBjykz0Y>8CnVnx$>*gC5U($>wO$*EftH~(DyU@ zu#}SJQFd6ni;LYf!A`=$b`Y)HgVrKEBWgj^Kt7UZRfD4P36s^B58X1G#WZEshk`W* zkPgY%$rfU{mK|5wi-nC!R7|p|Vc&{#yj66A=~{VK!-!=hM(fe>u2?XLn3<(A&x!Uv zvmzRS`b3XnMSUVrpBM%Lw&2i%Fna`s<;OgM8UzZ2rs82bR{NGmQWO+HPQ9HA$~zb5 zK42V%PK`D1h0xg0Za=fQ3Tr8jRyE$sO%_D&BccH-G4vR0#_oxg0xuq#8ArUh0ofs6 zV1ZOyj44XV9`^S7foRkw6RAliu$Ul z)#+0eY0#n`q~#HAGvrFI5ogrgvXH1is_+U~cA0 zZ(g1!bI*fe&tG@1g5ie0;lA{TuRYuqilZK`FQ56K6z;MSZO#8-`5tzVR*7 zwb}CZ&{ra$47TowL}K5%=i)$sKzNf)VU=pi)nGRkW=ju-*HbvAB>3+f|9SoHl8Av| zx;{sB=I1DU%Kn2e%kg^<26SyJU*tS|ule)?+3?VyFPS3;D$F_*JLUTfPTRmZ6Rp)=WWk$~;p-wm;Q(#RV zcqfSGUS+Th%zuk>@UG;=+ecuuy{DjU zps5ehd%)a8IpMp7`D$;GM+O8BT8S=A;W>NcYHKChVkzRkFHGSBy9A{5|m6y19euR|DZ8_*xTGh z99H}VAwB&@8$dheWa(}8#a3A&%=nEBOl>RvDfc4VR9TMkGg(y7XuF-Mi{#84A6-CF*5ssD?l6G z!_8bbX4P{vd)O10_^=V6Ra|2o^kF_C$cSDAYmw?e4;^UW-6?j$%L9YU;Z(WN4?z?v zSA~EFdqOGCzDHYId(f5z?lilbo2}mF#?I#E7S6QqcDHw%t&NS%-L2it&IbN$?{?SM zAA%YL%^uw4IvcHx-ClPK+kor4>pMF;4`0$XZFIlpqaGnr6P2~Lw|3Vzam2ja>+E)V zYptE$_C{xStFyJy>1?m>Za##EO3=h9xV3I~v$eIoySuT`>2|iZx*OY6VM5{hqao^O z?V_&E=GN8@{_L)=wYuGn9_ra#-$wOYs0k6jnpil^jSj}KzO}X9*-JFU*nW^Z?EeG{cNxAg#d zz4DUgkW1#09&-_6Nsnm^g(dx?pycK>X6hcvuSSrdD!CL>VkU*(BLV|S^6V5`#x*Pg&=$ZN& zP-Cs`*686>J)Dpcrh=;|H=ZF!;KmNbC}{bY{)jGcBQa(l7wC461?Tnntta0Sep?rB zbp6k8k$uYBXLtM-jnmu4F%FzzP92REK;aK6zx~nj7S#;j)RanWq3fOC=ox_Y zsv#*JymFA{_2&##l-7O6$-G}*`x7S2*x{d3@l!^N?MVbUFYElmb9nak-=W zs*+y4^u{wdDPQ@weOtQni3);%L#4!g&hEDI@lDBGf;`^|lAZxdZxt+WU;Bn#Y`G-A z^Cewof}?NZ(DC8a!wIm}ytt;%An1Vq^(Tp|4NIu{A?vNjbkS^hUpB;}y@pjaI;bs0r^8 z%%BwM$(AB&v`qW3eRW)I^hyK;5RFcao`$d%4%b^-BF9j=vI2?76PT}q_37+$^AcU# z8DPjrFND8rMp+CrX594#w;}Ex*=HVxYq0wCVPb89AZ8{$JxGs^g252S`(ehONCRVU z2M-abq=`DVUGe#xUiOjmasSbIvIOKY6Gj&q!w=QVG5#4;iI$ z6Ob6-zqAlu0H1Dm5wwPa8;O-d4q4WWc=}z;NOCJF0kx6Ki!7;oSS5WdWwIo%jd=ej zQlKG+#W79acr983fq=Ar*-vm>VT^U0?2Y>iV+4oACHr+N_UNdiZZTBypcbr;-6Jvr zayA+LiUp2K*14`x37Vbq8dbKc*{ac`4uuL;KRV?Vs%#QZbcGgvsT#e)H%b(~rRqX| z)pE$Ja^$&DTo+z(T_nRDAcu!F3V%m-R9-yta4u{(YU5np+OR8T7e4%Xqa8cN$1eF7 zpR#Z9$w0=#rk=Nxhhx?I3HN!*f9Kq9y-yw#mKj6m{-o1k5Nx$z=%n`vzpt;i*4NkZ z-VyJc9e$qB^Oh>x>G1oGDmxMH3{Fw;agl!VwWu^mtqem}3fY24`;kOA;cQ!8fNGXS z2F4(S0D09C1HTe74?PI+QFTca`z(unR>eN6V#lQfo%(xG-kp#wo~YaI4&c(sHF_Z% zy-z%Zn2?!(jm_ys`c1eNI^Tp#cOI6O5IipV3tPhJ!*nfth<)o! z)H)BXtz@Qt5H++6)3jxnrX_P3*W=`v*;`*Rv(Y8w(0Sw; zfyaF_yoLSEwGd{sP$;CG)b1F`P$@}JsX;HVY==jxdFuPK{qS@qq)C3&L|kvu!+TVm zy+io23;0ykaY`>&Spdj}dV)i!Wr*utR=t;snNtr2q8P5sDt(-c~ctV0dWof#YSn`Oq{mZfSe5*A-ydON%vZg zJtymqg{%vTRhCO}sAr;t(e0NOGLBbEPO;L(1kxfh06HJD;t$>u_gO(VRqnEel;w7O=<=InoM%E7H4v49N)N`9VW1DCI)o)!c&9k3sMat%=M=k zt=#7bDj^*O4bzI7cRz?jo`}~>Y{L-(cB-x;4smnYsYect2nHSRpZa|BJRDsbd-p~# z10W(G5GsaY)@eBp6K~?hK|4^#ivi_!@NNqCh@0SDG{zrqY~%*26*>%IP%v@?CLfnD zyN_Zo5N?$#&@rx%Z=Ylv-QTt^gU;cqf|r!xpLAL>AP z_C@TJ*Sc&n`qJYSmakMcm>)$CNy_#3U~uxtUQIft%+feaX?U+2=RL2nK4B8TnuHO8 znLv~7qj$w~-{K5(HoFFwSeRGpYbxg{dA}G47Nt24Fn_I{g^{nXrNWRBV!g~8CHv<% zv`mW^#v;W;qP03cfZyOZh|${mGs5Bm>v!1ZlHs*^gtZWOXAcv>C(9WxKfwAT2+cZh zR+1WeWKW*HSOelE=|disM618$=5!U9Y2Z;Aj7U#0prL9oKnGFGoS^=WOSi(E`!CEy z_DPrO(fO(Q%4Y}r*U~1jbeZS8(y{K~>YB0RzI-uyX>&_AGX#k?#QSS_dIn*?+jBL^ z76EhI7!ecdI4Y3v!D7HZjTWP+eCBlAtR_?84-I1Q+V<_v7#iILs=VT9zgW4(Ef6YI zDA+LujLW$wP*CQaw+`n#9D)_I+1SjSRpkLhUXUL@4*41h?KG#{ZN*_Baw|7H>a3F1 z3Eb4mk#6M`o9|+J_!PVF9cLdaAn*y@Th>geY%qmux-=V}m>0mvAPFd%qbo0a>U(=|Zlj3S%@aa_I_+T6?=st^WS2|6 z{2fs~_v)hBSNj8PO3Osii33aWOEs5Pc9;f{_sh19h|Z2a!NAbz*WyqMMTO z<*#6qGmMn13o_|9B&CRXFYN%ad07QxJ6!=SEhpKm3Po%@j40L-S%>JH(!DO6_(L6j zPmh0Qgh(tzPME=sTmQ-e zHB@#HruKA+`0`H1`F}Iz!kA^kMLZ*G3%G8oknp_0XC2*Z9iF3Ke;G%DKGyV8vq_wX z@s+s(or6pEnUwC;jZ!KR2wbPg--z1Lzpghg{FBcCE;#V!%_#`njITRjLSOGIiKZt1 z?+kG65Y#B)_~~_iq{|h-!@z7>myTd$^nAt4$fXjTcR^=WvEd-C z-VpS3mN$cSXG%AMNjk|wmeQ~RwOUyI+>^Hfq^*+q@{N5Kr-tv~JnmtjOPxlGW zR#Zl;5`jUMzgd9@hu3CTlrcUA;{@^uwl%kzqM?|7uykO-XXjPyVr^%OY`E>SRNQSPHreH7)hz;6?yVyH?Z{U;Kjix6B+N1Mx$D9lkOV=s?<6) zs3CZ!)J|ZB{x z)p+IG$`M0ku8aGY=su!bb|~s}<1@H%pB^~eF+^3Ya2D#tD1XC!2$KGhXvowOwl)5B zNv5}U)@VJcB#51IS*a9Wj97n3>yq@!))g&PXZgVn8#*jN>m)Fc|9z0HN1^kQ>Zx`n zQ?-`p;JaK)WC9i|QEo-j65;Ivb2WpF8>=~~Ud>6inioS>fk)(x9@$DrwklXnC!EQ~ zFl%ru8x=xs*bxJ|8nRkPd1GgAbx(?F;#LFhDyswtVunlO^J{#>enz3Jz%f?%T&!^E zO-b!_IkNrg3W%EIYPd6vn3*&}4)rz~G0iWfC!{)7tsg}ULW3B@CcD#g1NPVz>-7$e z++__0YSF;;u6!-h3Ok7qW*SUzWj=0ghQqpU&HHQN(T#KqJfC@FF~Td#fmOV%s6ZDJ zUx^w-ZK`grAR`P1Mm%X@pf!n`CSzqT7m}=bsubBL+0-{;-EVFQra7ZsEf>S{RDgGYsV31TH4Nthpncy)Ow2?j;IfJ>PjZvO9>wy zp0qI_hN-N;q>WRHHclmNysZM0Hcr2iHjYi&C?RkgZJgxE)-Pm~`8w(tR#3<33hKzs zyddA9ik24cwV~EPPlrzPdxKS}%!stMi=!fS+>mHVRsCCbJ01l6x54tZ&K(*a_tkwg zB|=)E-Yi?GLgT3M9fk>v_mJO&6zJA?XkuMCb?%Dnv$mG8&QjUASJ`b6ck3G~LvA#u zkoH&oZZi>9_gkUxgcsO~Rk1P+JHZf6 zHK-mUgCS^o(i<@uhUQUO*%n;SDz3x`=_(&H)^NbaGw7`?wnd_!i6(i5b;lcvtBW|~ zro1wK51r^&Td3;K-oBO>TD-y+bhLvm$XaHnlrtNw86?4mOzQd~Hjxf1K|$x4y?+c> z*pD+;%|V$dS@2u(BaugB4X)4?X>2o0hRPpbpxS|*2=&HCFraZR8Fp%DQsaRzUxv2A zfz2V6(m#?<$M7vF*w-SB12I8Yu)&CyiaIoI@<(-9rU=GXK(7$=g|{8D;j7IH10Ztm z0(zi$SpH8M(bX8O^U#nT%-blWMco3Zu;)e`uYls3=(BB9NSN9Tv%51eYk>8eV$=rM zpo}ckC{71QW>dFb2eRED)`D z)rV0=Examf5mXGA?g=*9$_+OPE61s}Vg%J3vl2=EpgiR8Q#Lhvq3B9Z9gzaao9#dZ{Kl zjtR!vEp&q>r{Y+$+!6ySc*A_?pJsR9HJi1^oq;&3tMiY%HEfuRE){qhZ+F>2fM{&A zk{}au1a*LvBU0S!a3u?K#*uz=gR2@BMKFvtW{%~AP?QVIhN!H&v`1}{#`4ks`vbSJ zU?ACw!w}bfMDNtarxC=jh8QFN7+4w=Ny1ycVj(G#sVw$ZfygJYMVEdcD{DyIFJ2Zu zEs6e7MP6b_~FRR*8Vt-3o>Z9{rf(OF6b zI_?SQ^wk}G)JzE}G_#9qlJ))kW;OLU=CB=w#>CdIL03_>Pi4EsvV#8=i}oZBGt1Hz ztzC4v+AE^j&!CxLP;Vz}M>(P~t zqiq#)#U&)zmorZ@2`}>H(lEK0nlWp|j4SVOTOVn~xSutkdzwYJk!=gT^oJI1@s9UEk~|+%be>j*yO@1w$yVAIW($9W+d}31L_L zI3Y7leY1t2Bec6Dq^#6ej{@MsXMu3GGb(_l1#iURIb2|M5b`G!5%e{A#R|oI_!}O@ z{@L&YC9`Q`co5nQ(m^BCImDI;?lL{o3}GQ2^y7k@YG~gn4djg z@foJE{G%7rla%9BQ@Db?XVQ#q9AX6};|)xNJ^}sC3cxZ8Xr|^Z6hAX`e{LMX1N2j? zy;IuqMF>SEN~MYr}ntKSEA zxmdK=v4O4+7LZ>8>*C2@?p!D8K|HnG9rUs}x*nr%<_UGo%r+wAag$)UXQ?V6d}Pck zWsPp}?Vqqii0jrMDf+k+M(_qgNV+^G5SP^|U;21P{{NyDf7aM&nUBcaT9t3 zYT@1j*TA~C*(3m>tNoyGv$MPnxNt==#gXSbjL1A2s~%k)WwHc~9GeYca}Y z{V|Yn{HQImA6J#7L8I(1__51=!nMM;kRF~k3vGW0R0LWKV93XK9J(QeI|UvuXFyu-|yXPAF8Z*rexzAqv(E2~gdK!LRHET>OfL{(NUk&%(H zhwpJH&tD4xf8B$p;YGGVN0TF>G#5!Y43_xMILbD{EVq8je(F{G-Wp~<5%}OmFZ+VG zllnjMBHDV|*K<}#iPH}%h6iV0reyj)L*N=~-sFJ=RY5LJoo=uT!R z5Y18f0LRRxT|rxuGq&nO4N`8Als$feQx~6?eq-VB|H6HPdkmDzA@QRgHJyF zwf8Yt(eW=}y0YW1zL{NkzkLb&dAgcRO<-fC1+qK|NB^~ZX z71%1K`%X5E7D2OVy&0P1Wp5xd4MH;eDDfj?NL>1P!1(!=b_v%#a~8|S0P?} z1Z;KqzmS=R)i@4c^5S;Szje=dchB9^ACsq|6S2?#=ANHD-*HcWk*9w6|4?ecb2i@O z+MJvvFjvusBX~%q*vdH5V7E^nDz8Cn=ri=0?Oy}>PNHGMe%5nHZ#sH z+FM5_Q`}n|spnBM^b^>>^%8u|8*4hE14D|b>PKGK(#Dggw5~mQ`skZCpZ@xD?YqMh zNSEK8T%6;dJ^8W6AFoihLQV}x^_#6X7sIzh1SAAkVDD~%0g6lnA})DF`utHstqS=F zJ~N>fh1`7fwHGa$ifM+7>Xl8(>E_|1M_yc+-#|LzK*{^}()ZrVoBgx1ld}LUCY(6h zlL>AqEGhrgiw+n{BL9$-xeEC{3#V!|~Az)G;~> zFi`?b1AYLQkk zwW_qI#>c)#tuaLZSZX#=YCriFjsSg_3s!0ez3~7%CsGpAK@Pjr7rQ^)`J>P^~CK>%Ah(p|N;I&q_wC}~R0XKyh{HAdd6}I}( zd(26Htjhy`9k|Lq8bIr$b712@2eoMqczVMdl+VD1w2d)>>aeL4k`RlP5_7y%kkF|Z zW>!oS?7tfvW*10~rzb5O=1ZXG+70Ug)fp)Yr1ER(4pPUg5&kn1`TmLj`Phzchn>K+ zye>n1kN2}U{dkeXz{dPbPJ=FOB4}<76sCvk4JHkVJZ;i#1m@4-vnHluHk3O@J!#Ov z%^OXK0~TS{KtF*9?MVQ78&9xZ!;hD@h{6pZaR5!i0Q^lS6y~hh)USP$e_i6wee~x8RPGv%0RevpU&$ILmd?;~vxVEHEtrCA0yfV-h_8Og?WNEP88~}St=6&zc!kCdxgbsbXXw^mJ!POy(Kfu1 z-P5@|{s|7HkyUn;esOT%K8cxB616u`|0aHwIsu0%a(5}a>L{MOezbDl<3Ayx8PNuQ zo85=Pv$aBBLIEc7i@Ds((KalB7Go6sn>Cx$ggxSNB){e!!wRK zyJo#|F>BjqYe;t{{5Y2Zyn8`MOcD6wast1nAUYBPf8wuQ3Dt=ZD*MK)NM9XiXjpR| zOgMwCg{%G1&~k=pz-)VfLBm~X;?|kbd6WzTGGNaw{!f8BK8D!JtMG#XiL`VO8&e1& z#KwgX`@2GH+d?cEPQlVtu#j*6fY>#4MFcap#b_&PMdUB)d*qKPoTl*y35WcSr=t-R zBVm`EzBD_94Bh*{cO&^r93oO;z~C43U1e!Qd9PU!@?f_Y;90TA;&4 z@{nG4f+B9vJX1lQ#vD^tD8xVa6aXJZ4W9x5F0W{TTjIl7vWGvXdw2y7KJJWrVwo(p zC5RD0?m!=!$97$Bpmk9#gdIRvUQa9!2#$wKR2v1wjFsyWr#eag#Rq~bGcl_>yX)R|^D$`*s`_O$zM$GHS2mFaSe>2FPwxW;@ zCkT#0cw)lIAgcA)tp%UZn?Zkg43>|7WU*Ea1?lO0g<@=JUvCKzi+s*4tS3Ju>_`7GM|Y-=wPbQ0faENvCz2%tacN(=(8qDUhWb*F#=D_2#663a z;Va?tJxOn91GP3+&6!BSSvnARjcSy1;!)B`hLRfNz)Y91{3TnL=9sy4wK^^?$PpJh zA!`JH@p$N+QnQ@hpAP*E<9x%qIqBZH!bukrt5kE#!PyYoY+D8WoAi;E zkJ9bZ+u~vshb;HZ&9r3NT>8W8jX3o9IbTIDi>jT`9nIGd-GoWDM@0dk8u6!L&L8ga zUcu1>1w7S+tT?1NoNXyd9qBd6Cv|Ie7-K&X&Jew_;zqBCLc}TL)hoA-u#m~14%ojxs)FGDzfr&7teo z(>1lI28T0v_=bsxUzNJYWC7yCZYL^pkIj6U1H#P23`A3`it(K>L=~=q*?!YHkV#et zV%u$b6`oC>nM?HGeis94AHC_*t6{z3)Pm;S*?P@7y-!Vh-KtUlLzJ`DGv!MEE_I;I z!&=RF4OZ{l0gZ!KxKc#OTopO^QUDFrZGI_J=F3+FBaddt|Gcvp*CGgVpjsxCqGG&Ip zykF3|F|p0*`BSf@dSDo8<{P-0f|cn5Kc)F`Z@9-_2ozegf6si<{*d~l{UQ0p{GCGL z9pAU2K$rT)H_*AE9=!5hi9&HD@*LsIcZpWc)MYq)W%9H<&e=ea%uM6QhJnU5$iIg8 zWn=^Wg($ij&FDLfA9-v=x3S7CG!=j2WEk`C)t1F!=s<^%F~6zRwnSs7-iV+68sWC~ zo$T{hn-!fbK4SIh_0Z{(oM7C32bsq|={=b?Gs9F-1kbXsy+RLyG@EYb@X=r0OHaS! z$pj6FAa{D6Peq?s_Zz5KoHRL`Z6eOduE7a8%%At7`Z2hNbVI8VN*Z5iZ%G^X=6iiZ zjqCNTd-^=9a6C}m(94C)C0Tl2sM=))f=Zn=U_4NXJuQJgns7u4Qvk@kU0Nt#@0y$Ir%|qwH7{ zFJ*i2n*Yh`#q0bDdl@FZcmXFwdfak9zYQ6Q0}+24jui;I2;!;v<2`a%2h6s{$kyNz z$AdmXVo`(P>YLi?E7dWA1)1Qm4I{E$<#EaoVT{#RX@5&3`@yN_19=$!Iw|;V{cX7}0aYMZLalJtnb|ex^ zV3O!VS|@3Lx+jr*&xcPnU+d)QMtukFll4=0Z7^rP$bKOBbsV49`eVO!iaE9QkqKYi zs%@;{e|{pe>xr^8ry<=kCJBrty-8nGiKpS39pa<-kKutG=40~H4B=~de~3&V+M6|_ zW#yF{{2JIG&4B(^&S=GUtUuTOv9pu{IDXKL^Oo|#&RneBLvN8@&K=G$5sz`2j>CGL*l^(1xv@Y5Yv z{B7*~?(6Rib08=if3FFu6Bl%Siy68{Kk1_>)Pm>{*%pzP`xus3*8u31W*>TOX9iwyxa=`XmAOU13N9AhCDTzOLFeMzBtJCOcw`BMn7395oW{_)3fZ_X&>c1_Shv-##5c@z`jv zLEhY|zM1&jwq<|0_nx!74D=jzUsiB&VVe$l-(#0ohV42}F}xJVw`L}PX`M9Jgv^4` z;)!&Jc>S-#_3L`=uYaY{EO|KAhvU@4i9Vz^#p6#|j^-mQ8yaZ0rx|XX^ZUeSo2EPz zKsUF^Oz9Z^Oh<}A7QtQ>;ex71Y`X@xtlgivbqaB!-!4TnJe)R|jJ`CqqCIDF4ZoWO zCpHQf!T&Lx(TAdlFYan@Qa(S|7oFf2pJ8)SJi}DSac?jJFQ7Dg@&5lV{a>$;?!&c& z2k?ad+2MZ<_#gTW*ME?o{OfQ0i)?Y7kvR3|{7E;rI=w~e-}C1S{^v*jhe1GfTKwyD zl&HVtGxCD<3;y*j4zVHXEDBjC+w-wfLcu9ycjSp!ef&@BpZy`&nKIo(H=v_8{8j@> z+T($QfN%ZNKmE(!+EhZU_r}pW*ntWESc7ihZ}Ap_Vpl%<14Cm!3;6VJaqv!(Vd$fW z8=GG?9&S9`4F19%a9t03VPD@J=~&%h%3LeK@##_UaBV~1UBiuRddWN^>&e*YT;8t! z(`V~X*46Iy?8!Qv$e%r-OWd<3h{y{diD?iBJhCRetDY8|ss%y@L6aJkYXlZGe2p)X z&)jjgjR9ju{M59Gd6<0dJp|8yh&xR$V)|n2pX)KzSpDAd>}K;>Yk&9R?C|_YEMyZ8 z9zNR%0eiUg$CSXBZ6@e~40lvcyMac7a+*pVcpU~NcS&G}LY&Z8Ua*c=@PvgRhS$&J zq6O6Smy07YpV(LuR$p=7+fTPoHSFmof{YSPTqpHZD}V}U16qCss_WVWE65IOWK4SV zgH2ftklQ5nDXVW#6l}D6$S*Sjp$}tks;73AgJ~?$4)(jR{_Q{h*DoIt7GoSPh>1yCKLO2dw45uO{i7FV2H4T%(q?-Tfyu4+T*SN@P}{y<&#hU`CtFo9*iD; z_Q(F@@gJ`zkN^4)TnHbLz)E_Ot#FYRZY{$QQ49$6WZZKyAAaCBnKBwP-6R^PTId22 zFaSRu`uOVb?waVy<0@#EcR3}fFU|Cy1_CjzhaoZZ3TLv5Z_*vR>>y0VJ3=$Dz910g zz1xu|>-sEsB5Kv-Q~B9=)cCv>h^n=gaDTNxSZk{T16fDv;Y_1ifIn1q__X#FeziZ? zUtd0|1sUcdXir%#jzk>!J8KXNyrpA{`+dp&0ob&mSgAq0{QH#g=wNj*b8`E3;=`z+ zcHVFU7Pn7081a5@V|aPM~=Edi>{|0h7Dmuz;uo4`WzrjS)Olh^n7C8~$obJH#% zUQEN=4H)8MpNvpMuX9^_X4^hl*G{m8MW>TJLb-Ekkpxf-O~^bSx#6CyCr4|Yht2|J z_P_QDGQxc61(dLB&z=}iXOWX#v03JlYM5u!e)^H>u7SF}%yR@g5AeJlFrMyd?UUNf zcf+@V`CIV;6h+ZiF2JWXb;Jf>&bQAmT2I#7m}bAXv?dD#!A(4%)(r9e|V!PFBR_=fBsmHXP{L@qVkd z{d~XTdIx`>R0OVmas1u+d9{&-(bW`OL8YhaEI2lzOj2|@5Pb==6SVpSt zoPKh)f3*E$W%RtPiY55q>|p2YaPRqk#j!>euORv0?Bb{@4#HwzZ6Nuewfka!4}(=4 zYgiEl<%8CKvvqP-aaoB8vD%3Kcjqtm&yG*Xp;R0jHoJ7({+d+)e12XuMu_^(05QM=*g6qJ8&f9JxZ`|Hzw znmGo0W_WqxpyBG%?7JH&!}Ei8&v5WTr4ABxC&WMV=h9t?wiEsEUr(aQ%AZ$wOBI`B^8Wq%wd>&&@jBP*Mvoh>Uyu5YN3iaPL-CHSI`Zk!yGK?j>;}#kUYAgg zTG6mbHL3~+XNj#@BWdl~H%{U;O4DppYidoJ26;`41vb^;!`u!TXpwDJs*IbXbF)Ia z@c@}o0~mHZ^;@&r*5+xRq{dcUpl}lX4$96o)D~zJ8}_kPLd|B;T}btnp03I9n!7eh zlbQdAFB@NHv-^HX9EE{@cICpPxJ6pQ3gd-Tdjt zl-&Z)L~6i1lGYNV$fMZqM#KKCD%*^D#;q;s-%`2E)ZFKWz?Jskh+t7Cms7;k@}u&Z zNVDQzm~W{V!Z-$<8_CIJ_b8C`RI~lLELMe`x%5tRy1EbtnZj-X3qyj=5w}(?$*5H0aqfo)H1FzA{y!XV4Sop0P8FP+eZxoaq zV8mLFa!zn-@7uY!7kA&z4i_zevK8@i$O%4wuXB zNwc}Xd%nMydM9S0r^ue!O5Q)aXnxx~dD&dlVwS5=G8fMI>AXp!dEuN}KQ?zCf?YGY`r+ z$V&3MHH@-gED*_A^J>p_^oh7Y*k(aH4&XyV!m^Y|?%84E3F(wK-kEvi#$wJS9WBt= z-E~mX^$0l=y+KdmY(Z>k2lk~n(Pxzfo)L0pceXnn@YxIQjh=#S;z*%gd)C}9Zg`9e zLlK)=(>Iphzj<3aR7Wm~R-!_wX!HK}a|xI=|EEBg`TGAO==nVw%4iHSP^I3as1}@P zoEHEboW!3A?ow?*bM>Z5IVuG!LLweW7Y|nJJaz$A5{Z+QYVi1{I$8;hghLZ62M5+I zir!L@Ne|r?ZvdCOH09W|g1oJ(Yt*0|PG()1*4F+%@?=U~mL=5bCAJFN^G;aa#VOQ_ zbMOsJQjvecfB>h=0G$${^Kd_d%(JKmZ0f~=8yw9!&ZRMo0NXx26ki(L67gDac!gLO zrqC4z1F~%J)kd(wQq)~$dv?=b)zB>Z=2^c#xON7}$&0`^XyxF9a?6KkHFn)^1yl$^ zA2_(}jkX52>}b6*sRHC%k!Uiur&!W(V%#Y2rd4_$v$tBw);leJ+RhU8hoLaDiUjBT zN6r27N;t7UWa?6$TbOy|;NER1IwkZq7fTp0anj^I;k?TvNKfQ*w|S1VFiE!|J4(6a z^-VND(o*;ZL48aDqU$H_wfpa(J`6%xUDqQ^Yn8YBJ~vvIr<+|4p6&RpJ2wUjiB~Eq zt)vJPS6BrZwAv~h&LJZCn1rO^2^xVQSHhtSP12lCRcvDKG+9aO^yXb;1^}ofTcXoQ zG}@W`-2z8V>n<*|LTChkG^;$&rBChuSZR)2hO8;hQW}VtCyd)cC9}%<``+8$`uTfg zj1NZ_I%-7|gS{xAS%kVd968O3c}}at0=OLKC^4M^0Pk!LdJ&Xna{AlSPaDD_J*{nS zY>-IV_Ze5lh4}VNLholg^6!#DfUSv;V4&;9M?u@nbV`iOqqRBWX<8(;es%XJlsZqn zBC*tY@ELhjJvaM-=4dq4=yaQ^3ZPE!Re^yphNk?J?#xhGFVcsNM=6ebGsST~dN`ls z0PQ1#hX?=q^LFExcH@^0vNMxb*v4aN%TM7JYkw%-(x|32fZtQzl7P~b#|LDDAk#a zy(C{<{^1fkYyQFVgxAkgM`^k?@o(#ZSgte<%AG$D&D~ZFGy~zWF z=1j*>{w~hOWwfZ5lc9t8F5}fWXQ~gnv^VF29^XL6ut&=R@-IkaP46jpQ%W=x~JLfc6zOp!MXC(AU2Ig(wR=)tb%uBSH`gxwz4D3uS} z0b|MfVQP_U!AsI64KuSbWU1@6o^Xc=)s=DVY&dUY1vOnOmdI}Wn3Y{EWmF9EHY1_L zoGeqlq{!UblDt0BDtz#`{cZkSLT2pVO%#$@n4abeLtSQ@z)2t#_vkfmMtmhJ2&jz1 z{t*5SeAS3>vyios$u@RCJA|!w&lJ>gRb(@5kYyJio(w7W(#Ol) z*hL>G0jODBa{G#O4ac`Pl#5DZ>64Gwb@COE<5;)M>noQBzO-@s*~>!ih0R6ph%)Spm7IbbS| zaV4MIrVneL1X$1pTd+ME1*L61*EY_bp`aPIWQS$`3L9Wkj>Mhdy08hh#gV!kGLUKg zmBZ7n&ySZu({q=1-Cz^Xkt2&CmXsvM3`wut%R|{$M7ZJnC7sPuu!ZP}=69eTwR2;M zh#qUlzzH3JDmCHVF=h|d#5#tpFJ?F9Do(@!|NgWl>d#-KGEqN&qc0(|MJdBFaJ0+t z^8CWHG`#E`^ejgas}$-pk4U@X8@(t`3-b$F8)NRcu0dgiBUr1bfjMaR`!s?ZUa`_u zoc10}nQ;J}?NN*VgH_cm748O_QAampv2PX6!WdigW>Feny#OaQ--KGuc?p-V5@(MU zMXhhU?76aAG$5*Kjk_*JXUnKL4s9h46TOPl)>*z?@O71JD)&odnT&dEQb zjvY!LRZlrZ0h8jW}LiuB6} zb3603V9!aA;PuT-;fcz2HI^S%Nx;dm#+*Nb&0^xI@c>dalC2t}eA{)T8Pfx$Ci#Zw zMI1Qrec%!wThw_XpZi|fmKRPV$(cAH3xC|$eE5~omuxs{H2)MEJf|+sSp4ehtYEJ& z5L&3`h@_rb$nB2U)3`q!b#Ci>syruZ${I0%qFADesBj*)XNIok{8eBDAsicoK_(l6 z=LcmM!B&YIRK_s0;dzGYVWhLBL>2$rfBGM(TVCp2<{OpphrHDbo86pg)^mKNDTyXy z{)rJHAstcQarLN>k$tm$asDFrg>vgTFPxKn&bwrobBYJ6Owx;A?qU+h zUK~$_M;MSndk()7Hz#pJ>vrt}9Mv(Fs~&2xF)JC1-lx-XUp5T7%bRcL(jd2ru{Eu^ zDegs52wY)+)Np+<+D~{R(Zi93n~;}3%7=SC0u}G^Z^Hr;2quVkS>sYA(lSEz^8D08 zi~5qaQ;s;;*tg+u))P#~qR6mJQGBajV`d}PpepVQ`j8`t)!We67%d8=?4+Y!LttW2 zL#auSNd%{BOIpordm>Y-^`dNe>rvcVp1i&6KHG0% zK~L8Cr!d26EaT)A2Um$V;RiVMqnF;q8X2tZlL`T_&!cH#?E;_serUOR0d2rTK_0zr zS$P)WGiUw9{?Vzm9@7a_{@Oh`J_fK`_JyU9Mc8N8^w(EyilM&rt3~|Z8BJwD_7mu%^W|0iJ6#rl|=iML0 z@KX2{u^28%pQRa2CogbHIb{h(@0mVLti#&xKu_*P``PXM;>5NJE?{=Ghs{9hh|ful z>YXMGC|?{7(=7TDgP&ZSFFX3lv^;jiEIW7t_d~8Rf1~-zN0Zh|2@`L(#9wkDlgX#+q&MoqT$en}4oAkA=>}GED$xX&VRfQjsh)7y(v1 zl&jsnoNu?u>v@m9-7dXok#D!nAZmTP^@A!r)O}O5!2LF}Z>Ykdh|-x>OHjKVm&~SM zW^rFU?DQWuog@cNkV+A)(-TX(b+vhD3<(dv_}qG9K76PfWP01lPpC7`@;V9&!I?kl zm|x7DuXPmt^G0ftGTc(yTsJ)GhZ#pkB^Bn!jL1=ZI*^C<{tkvD!7WnJo*eH7NO+4# z{O#tsI~s_Xidc3*4LMY;`Of#2UwFZAux+To88S#mN^wOeb0KLSKovWTJiT2j%oE0d zvPRqXu+~Feho}>;GXuoB`+U7(D9>4V6^^Y*5CUgUB2sNt3gh04%FQ$@MOMStOTs2! zY=gPvggVq2wVzdu^RV;&{TZQ~MIAg(;rZJ`oUns&aiI!S0Uljz- z5yrK4aCKe*ixW*c+FdLEVu_|6gpJQ`C5dn9aA;VUW67_hU;x*@l$`;Wa5)8N{o`IaVaG zQs$skAh-5zP|3(BsTYxom>Nv@1rt$H3V_6%zYx{T5XO5;-E-4!*qC)cp^buI$tYR$ z>5P~2)csXNCRPo&Kdw-V78J0BNo|5fbw`K8tN!%E-j3BB1^WqA?E1dwresuHx2}FE zhgh591VSgvsVu39+D%Jzzc(8O&@LgN!LwtWBc8b~=?Y%uMm;>G($hIk8ue&T_NklX zGpR_QPYctTV2U&8OsZ(a%$65+ZW}B+09-c4#lh4Vz&4m?zpCi9TbyEv5X%(yS++vb zviXjx&>!M+hW=C`IQ_6hHzNf~46SK;TC@N!Dk*4qclVJgA)dmRJHGXN0GW-1;W_5T zlc=BTQ1?jFH1^z$Bwn$WpR_!I5-q7Z1pVITi(mBaWz_s&Wc@@9nG|=Hcq+c4@YG3p zJGzKYgacpUjdrOV|b z>%y*fl+Y9UOe&>~g>h9PPOm0ZMu~s6&5OfF?t#zY51T3>VQYGYt_qygl$RQe*w`H?`a` zJ!$PU(^HgYwgrCbN?hiyfwpVTPVUTe;93AWL`&({Ui1+V7f;Bq`LJV`*2x|yl5oG?A8^sNJ)nW0VQ zz{hZ!S_@L~`yzGd0xaKek6MjfGw;UNB6E^+2Gi4B-+)yW)vKM%+qTj>*RfF#Hc3ey zB6$YW%!xi4r%}i73VV7pgu^@T5<0)%&aQo1b3mOm^OLmM*9QllVu&I*^oR5Qv3B<9A%M~NREcy zo8+YezXK!pj!lq8yyiOLPPNBFlk>16iR#7S%p%^={`OhZ3qX0_Hp<>d?t-PGqw!#C z+Y|!ED{U+>fw*&rj)yk1LW!W98@b|#k)`!&cGOp~k(j!gPm4~am!XUXZOa&xLS_%G z*V_v+LaDLOr)ylL>*^1H0nQ4ZCCqzlx$2 zwqjc(zasZ+YYeF(j3<6&=4*>^4FL`uNBB=walE)!amBj_iQI(t-tRe^bI4lh^A#`W z0=9_VjSjvx)7717cuZPS(5PHomElZ51#`E1#>XTqFiHPhQF4_5a?{S_1xx9q_te}j z2E#8lTyB{!Hx^GWvofILyP53V&?;4ir9f|zAbFuy?l`A4$)any)T-Ui_gQaO@oyko z!qQSpq)TGB0|I)Y@!c>1V!$qYnQ>JSYr(wO#i8-i?bDY_O1iAMTg14U-O#BoQRI3t zdC)X^8MK~zZ;)Cq9ImEVl^yT(C4ji<5K}G9@p2G6d%j~PerGVEtEGTwr;&nUI?~cf za;qx0y=Z+OtlS`Heawh>p)#7peswu0ASiy~PCBw6+!+=x+2K;qc|9lhvm203=}6uzyVvY%_ho92?blwqQ*(T{?>#>YD&wX6A6mF)8_%eui-G&+u{b1>xyXOf89zJJ>71BqYZNGHu z6@csUZ|lq&W@fTWL=nPV49q64Sd`uqiMJQgg0Z`jP4XSIln%RBw)p^oal`ukg@YDd57=8v3^+HRqCCNlG^-;?By7S&(#s^G!yUJ9kI+J%UUILM~ z9qJ}Z>C(_Eqzf2|p6o8*p#R;1Y%W^<9|;c0!t4?|e1IDL*c2;>2W`fS*!0n%|2gqs ziOgHnt(hpRJSUpjB6sw%c+L;<8CvIiJxA!d9d^=GBz8yM<;SpRKb3k`_5ao(k58x@ zw~E281)O>(xuhJD#Vi$h>+wAJ#Odj&WKYDeJA_V3^{4xjkWDeE0s&b)#b!*_F6`Ji z`lw%p7p+b3rP2nAM~De*G@2*R_x+to;c4RVt6Hab%<#XrS(>oBZ@aYA>Jm$G+G?7r z7?ZX{*Y3sI%z-Up=a78ZI7&Z|B>DQ^Vv^MJTa=M&fa$oT&BhQROG7{_u7X zO=Hi!0*Bsa)Dk0*J)dggpxEF68YMS=wLtz@4}KlAJ0FXSZZ2c67NGw-TdWu1dHOx_ z!$k?ZxC(7@xVJ?9X5sc3V5nPJ*A20yc7%*vo1lAegKjQqo*kJH=~gWoXB)VN3Wgf| zoWHxO$RQTQsC6TGpK~|7at;Dqv)ldNyM@>%!j4~LIfh4HF0K$W8tBy}Q%Z9RaokTy z15z9=<(IV5Y8|cKonE4IbX2?ZB+*F#J1@NAM&sVFgr*&wrb&&L%k7J=t0d4jNgS?{ zL7mEwlj$(QuUJ~0S;P8TnViWaI!rO$v&QxOO5fv-)a3BSiCN-%$r9^jUDBTvIr6Ve z8V+%^Gyw`$=w9XIqj9}##+(4QM(UGSoTd3xYJsGUvoy58UNxM42-dM@os$;-3-9@G zON=Zc?0*`Botr3V41<3JrmG-+-BAkBu(`}^%>i0*x5OP1XPrNShy3rq{pbI->3#p< zi;b_*W5i674S%y6$f?GL9lq%P^(o#y%ylm>^98k8WS7XugP?Ahy3UJT(uwUk{^*r4 zd@M=4h0mQyqhCTzycHpo~knKW<5ws7i|SK7W!_ zC!;)6t#A`?uYQ82leh$mb6b}{km^rUt8Lva2RZInHp*m~f5{~N3K z`R<0ba<|{M>EIx~!);!)7eg{{vDtxIMw*7I4A%zqs+76t`Sd}2Gu1D{+NJFvR;mqF z=zTA)6nIMg6jZ4Xaf+woxVBnP5&`0EBl$=gkNSRFosF=uJqj*YOfsb@(yfig>hcb^ zo7;hddthUf>dVwG1%7-o`K4iDT9M>aUSuF1yMoPiA}-YJMRN1IZMCaLO|P4wWG_oc z`KnL6=-CFW`z$+YHZ86f=!cN+jG7i^9pq&QukOpvx_Y*(L#fk$J;Xk&pa0bO-mIId zp8gVxXUDm95AQPqDUr8^tKJ}Ck=#mDVtJL)_mAeh ze>ms;=A8E%pz#j{<8e_7v-<#KyD7;=E1G>b@|)!uFL0DzNm7Dl!LQ; zFUmKv91G^)&>R#@WAM5?W6Ll;Cco9au|8uHvQfbNob4ZN|CsRd8eg=8Lv?=kF|pv= z8Q8pIj>W1ToSa(@PVaUZg?;DNEY0qj_57M&7w(sE95teGLz1-qgde;{>5eEa8Ya89 ztBpoANq#^4L_0ar;;>adhGbO}x!()YiY**VQc^+yih<;MQ93Z4$WUAatxH5SaWN z!r~;EdTcmTS}k?b!wl$J+u!e}D@j4 zH-fmh4tkYYCoNN3;KYXU_5Ct6WFaNGTCifcAgE1w?3BfEqEnBx2Io?hq%qNMZ>%|e zZMLS_B=A+h@e znh5%(zHKb<61I}xXuapZ>3R+3Ah*c)4m#!W)!@sokpp-%5`E@fm>R#MVrSg#)6>J| z^MVvo_}qCqQv-CkxBfQNJ5ijm)kYf}yToCdOgS`3NA#2Ap3Qubv54s=?NYg-U>a07C6{X<82@ytWD$f;-WFE4K=L+Z~2T#UZbq1yt zYHjLnc8vKn?}Exh_X3gNH_7FYIVbR=UM``7>Bl8+tWt(3^KJ2A-EXzFpYJEC5O?q{ zLn*vr)3ydkpZcyBNhynruMBV(`+LhqJX*Ful;$;H3ROw6ISPkK!BG2JyEm-fAUT>> zy*`NE`gEv&q*5Ok#!@x%Yrzpca+U8CXFTVoB|?JOHInTe>nrcXCeN4uQ%3N`i=nB3*0}MHpm^m&^*OT_z_{`?SCB)M+Q0!bR40slN)6jh9fF(eO@8!KkEq z(b>h3M_OLssJNN4Gr$+)VqviS6vPX$^oH5wRO4AL z;#_PBtbvGtrhsqQth$zfwv3inlM`;8Qe;oMCgGOt>;nmG-A7kE+Uahnm0}iNo3cyS zF&zREUDD~}o+xZUsmFekI3l8-d8w|oO6nP=tkiqb%6hz24 zfQVn7F^$_OA=kIwg`xnQ1voT0iN0D>?}lCL@}bQo9gAzPG0@d3m}2(@msC;xY~Sr= znR44U&y~ybtLR7yUE@7UvS%z3)W6>^;mWZAdN zR1UlPI#rtZ%@=B>w>*ChWz;=d9NAmpMcCSXvA>7Q(A|Z42*^ZhykCB12NTqsTppum zo?E?f(u&1V3HGdz9vfO~_0ki2pRA9bJ(>1R%07k}{0Jp|wP+LEee#UNYpE$UR~IgjuO%YhYw>ZrYR za_}RlMdx%LWt=ptM7a0o%p47J`!2grkBsY}-M<_j!o8|^x8gggq*`E9F|RqYMPWXY zI|6Hwi{_rLWv{+L{so;Z@ecR%Fusdq3QnE;_DCdz;;VVzv~YR%tlGNW?@aqN;ffq) zG|}Vsd+Q6T75Us5;QW>d1Gr7gf==w$~I zeH`cFbYG{bKDOzlk^0_Pvi*-Ni_zL|wocAkfxs%;6Y~(JI-;?%XKdw~#V5s<%xY=N z>24}lC^T(-mbhD@ibraT8yyS7nh(yU^egF(#r>sb;aiwCbe6Stbr)x8KpH#C+0aG( zSxVW{VTl%4ks;VUX&xLtzc|}IKRjvX*l)xY0F%0u90%fhU}MCzs%Dv@BXD}_iUnj- z_T&XGaD-firW9KqWgo_DQegGYu4-xsu41v%bc*o1945A|JLAkI*uw z&CL=&(?=!WeYsKgUFnAJ@3-FiKVQ4QA!19Wd>uN2VOXXqT(z_ zALXf#yN{E`3S*~X6U{j=h$x=a zlPrHd^#z$kK-hq!?fNz_kck~P@7E7jCnoC=5KT;cs`P#pY6?r|(Iu!O&On&m&03%y zEMb>5?8ZG?f<)pF*+87GTr}t3r%>mzB@G6+(4oy<^J;BX#w{ZtvueTJRLx2u`w|qi z82FEwh9IeIY>KH#x(96MIO>?dA)KizYo=qw_`9fwa}EhrjG2~`GD(I7kGC)W7r zSVQZDhs6dfFV4?TwKhW?%o9)mZ|DyjPC9E@En_u_422N-(RCt}ZOd;%To#ecvMFgq zOJ-9f+3P#mu3WxIcSWbtaCd$ozcdannT^Bzg5U3m3o#PMnY{Eku`&XFCKiHgR&P;i zY6oXw5Mu($rL|Y-w$$u*d!}T-a-y*%Mn)ejQa}MCry@cvpJ^%L-|}`aF5-Yi$`V$t zn0L(Pzi&LuI;ygr?c2++fo#Ct(A!9a zZccLW-;v@AVEB?+xrBBSyaPuwJ_x|#lsx|qPm4H zb7H8GLm8}TM{El*oNOj^mAf)N+^fY)$GjRcr{84NhMOZJS#|a2QaU;qTOgQ(uBOL& zK1AaCfJpnpogp$;Wk)kK^Fy`oGxw|4X`u$={Kfv+@d+yBC3#@a-Dk^{N?AxbQI;7a zNM>+1<~RYs5_vK_Fr?!M?=}AwmBI3*yP}WhWoRf3EAWa0 zh-I=`T&5oX>~x8_R63loL$o>MQwKrsMUi|h^692c#Z6IlF_}o2M40$|V4V*}yt$W1 zr+Tcky?lASVZri{HLO4mm*su^wO!rjZ?L*@DsHlwEGkcB99iV^mVDimw8p6pgW^)N zGhZ%ew(_Te<-74qigWnm^OM3O^ZR32YBg8^js*i!^HwGGkHiJ;nZ>-b?L$=|IE+2mwd5Y=BQ-cADO0bEMvPr z7aKqM@~(4W?p=6hP2lFXYy3_I{J9_;+}C%V2Ln;eJd&7{#V3+{erJGC!B1qEhc^-Kl0XJkb=lu{DSbJKM{n;_wqtiCQXK*bTc`Wm-zKT*Se`>n z&(2H-vO$shoZ&g}dTduN%yB0X&klM=!3uC#Lbx-LA52hu_wjeNI_ex(fBJ{3&H~xs z&ehh0+Vu+fj@0mhVkaD$)T|0@Q|cL66KLwvyalExyttRhGQ_)tOEIwkw$%O5CUmf0q!s8BU$HKt~SX^1HvM&+K!2I#HTA>>$L;uSk;)@}`@1gj zBGzcYhhKcLX8*q-9ti6XKey%K;^mgR*K8H;WOo=>BsBN9r@Wr`kn$XS7qyorr7`Ae zLtPiybVIocC|Q?|s@W@Y?3h+V2W`G61LqlOX5JNms0kLeu$z#+h3reor!`hl#XNf+ zPELCrY9jMFu#{Kxf}&eu;(rv_p);Z0cDDV9lydjzq_tnwt9kKJMyx0S!Fv1Rw;Y8b zKQQ{7?l&uWQ~3A4SZl1WE`yYj3-4{5RVz`+YgsR;O`J?J;FU6t!QyF8-bMr4YZ*7* zWQ3f$I7L3JUzB;j7P_}Ch{b(+yn9ScsZ5?H^&ai-1)n@IhtvF1K>&V!dU&!xS)nQk zm9V7ecs@hT=sxDYVlB6{U!Z7mkOFo3bCrV-^mL>!9U z2fe`7$;rnklW_Jx%3hgVf2D0P2LVsb!KwTsgwuDa^gW=b^dKy6*3fyIwni-EDoUpm z+pMiC(CaR;-q?)eeKmh5jpnC8h5r_{;!U%y@u0;iYUK*Gtqu-m6Uxrwi!WIQ#jdq{ z>q{I}PneNh9dbEAH9av;hP=j z&vhBpmYL=<+(SV`i;zVqo8_ICz}d3ZoeVXTCi8+SxT-Gj7~P@DLuY1v)1kzo^90j^ zaw8s9B?tH%hUE7d;>&HBD-ZSzYn zDey^iR;#v*Zpg+~VU3cey=JrPFBQ_xZg59kQ@3GrsXGR}q9s$XVHwCU+xP#)pz#rO zK583EwnZp~i)+^03ZhG>|i=FL~@&UBkK>!y2^w_dW}MUn)kI!H4AruwO} z5jiquD&ii(Wo4<-=0sa;7cxZk5k^fi(n$ihVgRHQR^EeQZx$TOgJ5EkvMr8@Hj&$G z?t_OVKrr9T$H>u8eV{A#ZfnI!C;taQ*rvP5mB#GLEcElBZW8vSL68Me-on#x`mFI; zu(`JO=Rh)x)p9Z$X#n9JhdGDCnG~il#Vqn!y6aN3!wH{48_)mtul1PE=WuK$B*$pz z7iv(qRj&B=d?o$n{9;%SC1Ms_Lwmdoo0qe|bfPihqeMvGDT3Z*eX1>OY|G5_t9<2N zL5ktIswEeS)*D_$%lUqIo|ChL<54ZI@^#`hvw)>Dn3?3l2_d{s;qhZ-z3K|MOgL>t zFcqJiS#EpoRE%8W`5i436lIz(B05$tTINjB72#Tv4Qw7%(`{$YvQJs<09(0~HJw$; zxIpEhwiV;(=eS5$+R~l-`M8??eDr>NNv=1AA)L literal 46913 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%0DCz_&lL?&z}qFmS+?TJ$+&T(N*79$53?MG))}D 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≧QjvH@vd}8f!3%%#yj*j98qzlQYlOo;X;EHTBL`s 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 QJ2YmlKMwkBI&rW805D)`2><{9 literal 29807 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 literal 29058 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

KU(-_x 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 literal 40883 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 diff --git a/code/espurna/data/index.lightfox.html.gz b/code/espurna/data/index.lightfox.html.gz index 35ac09dcd887c87a47ab4c8830bf1ddd73f25c4a..1348fe073b2dbf9e57a77b47fcfa733222ed3918 100644 GIT binary patch literal 27734 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 HtEK?}TQWT4 literal 29106 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

4bSslp^D(JV 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 diff --git a/code/espurna/data/index.rfm69.html.gz b/code/espurna/data/index.rfm69.html.gz index 5f1eeee47ace3cb4d697e1cb84a72f0713e9cd0c..18a50f0cd437a5b416e89c2038ac9d1db27d7068 100644 GIT binary patch literal 28433 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 literal 31743 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 E0Q1u$aR2}S diff --git a/code/espurna/data/index.small.html.gz b/code/espurna/data/index.small.html.gz index d85667f4a6c3b85dc9af2a110cf7312e5afc4d81..6fcf32951a46f875bb95de711397f912ee2051a1 100644 GIT binary patch literal 27436 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 literal 28785 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 sF-zn0FU4AuqCts0EJ;>j{pDw diff --git a/code/espurna/data/index.thermostat.html.gz b/code/espurna/data/index.thermostat.html.gz index cf68df999a3136c569a842c3eeab540244db3740..c8f6ce0be3bde894955a1d33b4093f0c06b89fe9 100644 GIT binary patch literal 28133 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 - namespace { namespace build { @@ -759,22 +756,6 @@ private: IPAddress _dns; }; -struct StaNetwork { - Mac bssid; - String ssid; - String passphrase; - int8_t rssi; - uint8_t channel; -}; - -struct SoftApNetwork { - Mac bssid; - String ssid; - String passphrase; - uint8_t channel; - AUTH_MODE authmode; -}; - struct Network { Network() = delete; Network(const Network&) = default; @@ -3069,6 +3050,14 @@ bool wifiConnected() { return espurna::wifi::sta::connected(); } +espurna::wifi::StaNetwork wifiStaNetwork() { + if (espurna::wifi::opmode() & espurna::wifi::OpmodeSta) { + return espurna::wifi::sta::current(); + } + + return {}; +} + IPAddress wifiStaIp() { if (espurna::wifi::opmode() & espurna::wifi::OpmodeSta) { return espurna::wifi::sta::ip(); @@ -3138,6 +3127,14 @@ size_t wifiApStations() { return 0; } +espurna::wifi::SoftApNetwork wifiApInfo() { + if (espurna::wifi::opmode() & espurna::wifi::OpmodeAp) { + return espurna::wifi::ap::current(); + } + + return {}; +} + IPAddress wifiApIp() { return espurna::wifi::ap::ip(); } diff --git a/code/espurna/wifi.h b/code/espurna/wifi.h index d537391d..f540e816 100644 --- a/code/espurna/wifi.h +++ b/code/espurna/wifi.h @@ -42,6 +42,24 @@ extern "C" { namespace espurna { namespace wifi { +using Mac = std::array; + +struct StaNetwork { + Mac bssid; + String ssid; + String passphrase; + int8_t rssi; + uint8_t channel; +}; + +struct SoftApNetwork { + Mac bssid; + String ssid; + String passphrase; + uint8_t channel; + AUTH_MODE authmode; +}; + enum class Event { Initial, // aka boot Mode, // when opmode changes @@ -84,11 +102,13 @@ enum class ApMode { bool wifiConnected(); // When AP is up and running +espurna::wifi::SoftApNetwork wifiApInfo(); bool wifiConnectable(); size_t wifiApStations(); IPAddress wifiApIp(); // Current STA connection +espurna::wifi::StaNetwork wifiStaInfo(); String wifiStaSsid(); IPAddress wifiStaIp(); diff --git a/code/espurna/ws.cpp b/code/espurna/ws.cpp index 52720717..a0a0174d 100644 --- a/code/espurna/ws.cpp +++ b/code/espurna/ws.cpp @@ -159,9 +159,34 @@ String _wsFormatTime(time_t timestamp) { return String(buffer); } -void _wsUpdate(JsonObject& root) { +void _wsUpdateAp(JsonObject& root) { + IPAddress ip{}; + + if (wifiConnectable()) { + ip = wifiApIp(); + } + + root[F("apip")] = ip.toString(); +} + +void _wsUpdateSta(JsonObject& root) { + IPAddress ip{}; + espurna::wifi::StaNetwork network{}; + + if (wifiConnected()) { + ip = wifiStaIp(); + network = wifiStaInfo(); + } + + root[F("ssid")] = network.ssid; + root[F("bssid")] = network.bssid; + root[F("channel")] = network.channel; + root[F("staip")] = ip.toString(); +} + +void _wsUpdateStats(JsonObject& root) { root[F("heap")] = systemFreeHeap(); - root[F("uptime")] = systemUptime().count(); + root[F("uptime")] = prettyDuration(systemUptime()); root[F("rssi")] = WiFi.RSSI(); root[F("loadaverage")] = systemLoadAverage(); #if ADC_MODE_VALUE == ADC_VCC @@ -169,19 +194,33 @@ void _wsUpdate(JsonObject& root) { #else root[F("vcc")] = F("N/A (TOUT) "); #endif -#if NTP_SUPPORT - if (ntpSynced()) { - // XXX: arduinojson default config will silently downcast - // double to float and (u)int64_t to (u)int32_t. - // convert to string instead, and assume the int is handled correctly - auto info = ntpInfo(); +} - root[F("now")] = _wsFormatTime(info.now); - root[F("nowString")] = info.utc; - root[F("nowLocalString")] = info.local.length() - ? info.local - : info.utc; +#if NTP_SUPPORT +void _wsUpdateNtp(JsonObject& root) { + if (!ntpSynced()) { + return; } + + // XXX: arduinojson default config will silently downcast + // double to float and (u)int64_t to (u)int32_t. + // convert to string instead, and assume the int is handled correctly + const auto info = ntpInfo(); + + root[F("now")] = _wsFormatTime(info.now); + root[F("nowString")] = info.utc; + root[F("nowLocalString")] = info.local.length() + ? info.local + : info.utc; +} +#endif + +void _wsUpdate(JsonObject& root) { + _wsUpdateAp(root); + _wsUpdateSta(root); + _wsUpdateStats(root); +#if NTP_SUPPORT + _wsUpdateNtp(root); #endif } @@ -640,20 +679,14 @@ void _wsOnConnected(JsonObject& root) { root[F("device")] = String(info.hardware.device); - root[F("app_name")] = - String(info.app.name); - root[F("app_version")] = - String(info.app.version); - root[F("app_build")] = info.app.build_time.c_str(); + root[F("app_name")] = info.app.name; + root[F("app_version")] = info.app.version; + root[F("app_build")] = info.app.build_time; root[F("hostname")] = systemHostname(); root[F("chipid")] = systemChipId().c_str(); root[F("desc")] = systemDescription(); - root[F("bssid")] = WiFi.BSSIDstr(); - root[F("channel")] = WiFi.channel(); - root[F("network")] = wifiStaSsid(); - root[F("deviceip")] = wifiStaIp().toString(); root[F("sketch_size")] = ESP.getSketchSize(); root[F("free_size")] = ESP.getFreeSketchSpace(); diff --git a/code/gulpfile.js b/code/gulpfile.js index a831ff6a..3ebce586 100644 --- a/code/gulpfile.js +++ b/code/gulpfile.js @@ -26,12 +26,17 @@ along with this program. If not, see . // Dependencies // ----------------------------------------------------------------------------- -const path = require('path'); - const gulp = require('gulp'); + const through = require('through2'); -const htmlmin = require('html-minifier'); +const fs = require('node:fs'); +const http = require('node:http'); +const path = require('node:path'); + +const jsdom = require('jsdom'); +const esbuild = require('esbuild'); +const htmlmin = require('html-minifier-terser'); const gzip = require('gulp-gzip'); const inline = require('inline-source'); @@ -42,153 +47,305 @@ const replace = require('gulp-replace'); // Configuration // ----------------------------------------------------------------------------- -const htmlFolder = 'html/'; -const dataFolder = 'espurna/data/'; -const staticFolder = 'espurna/static/'; +// declare some modules as optional, only to be included for specific builds +const DEFAULT_MODULES = { + 'api': true, + 'cmd': true, + 'curtain': false, + 'dbg': true, + 'dcz': true, + 'garland': false, + 'ha': true, + 'idb': true, + 'led': true, + 'light': false, + 'lightfox': false, + 'mqtt': true, + 'nofuss': true, + 'ntp': true, + 'ota': true, + 'relay': true, + 'rfb': false, + 'rfm69': false, + 'rpn': true, + 'sch': true, + 'sns': false, + 'thermostat': false, + 'tspk': true, +}; + +// includes everything (with some exceptions... TODO) +const MODULES_ALL = Object.fromEntries( + Object.entries(DEFAULT_MODULES).map( + ([key, _]) => { + return [key, true]; + })); + +// webui_serve target +const MODULES_LOCAL = Object.assign( + MODULES_ALL, + { + 'local': true, + }); + +// generic output, usually this includes a single module +const NAMED_BUILD = { + 'curtain': 'curtain', + 'garland': 'garland', + 'light': 'light', + 'lightfox': 'lightfox', + 'rfbridge': 'rfb', + 'rfm69': 'rfm69', + 'sensor': 'sns', + 'thermostat': 'thermostat', +}; + +// input soruces. right now this is an index.html as entrypoint +const SRC_DIR = path.join('html', 'src'); + +// resulting .html.gz output after inlining and compressing everything +const DATA_DIR = path.join('espurna', 'data'); + +// .h compiled from the .html.gz, can be used as a u8 blob inside of the firmware +const STATIC_DIR = path.join('espurna', 'static'); // ----------------------------------------------------------------------------- // Methods // ----------------------------------------------------------------------------- -var toMinifiedHtml = function(options) { - return through.obj(function (source, encoding, callback) { - if (source.isNull()) { - callback(null, source); - return; +function toMinifiedHtml(options) { + return through.obj(async function (source, _, callback) { + if (!source.isNull()) { + const contents = source.contents.toString(); + source.contents = Buffer.from( + await htmlmin.minify(contents, options)); } - var contents = source.contents.toString(); - source.contents = Buffer.from(htmlmin.minify(contents, options)); callback(null, source); }); } -var toHeader = function(name, debug) { +function safename(name) { + return path.basename(name).replaceAll('.', '_'); +} - return through.obj(function (source, encoding, callback) { - - var parts = source.path.split(path.sep); - var filename = parts[parts.length - 1]; - var safename = name || filename.split('.').join('_'); - - // Generate output - var output = ''; - output += 'alignas(4) static constexpr uint8_t ' + safename + '[] PROGMEM = {'; - for (var i=0; i 0) { output += ','; } if (0 === (i % 20)) { output += '\n'; } output += '0x' + ('00' + source.contents[i].toString(16)).slice(-2); } - output += '\n};'; + output += '\n};\n'; - // clone the contents - var destination = source.clone(); - destination.path = source.path + '.h'; - destination.contents = Buffer.from(output); - - if (debug) { - console.info('Image ' + filename + ' \tsize: ' + source.contents.length + ' bytes'); - } - - callback(null, destination); + // replace source stream with a different one, also replacing contents + let dest = source.clone(); + dest.path = `${source.path}.h`; + dest.contents = Buffer.from(output); + callback(null, dest); }); - -}; - -// TODO: this is a roughly equivalent port of the gulp-remove-code, -// which also uses regexp rules to filter in-between specially-formatted comment blocks - -var jsRegexp = function(module) { - return '//\\s*removeIf\\(!' + module + '\\)' - + '\\s*(\n|\r|.)*?' - + '//\\s*endRemoveIf\\(!' + module + '\\)'; } -var cssRegexp = function(module) { - return '/\\*\\s*removeIf\\(!' + module + '\\)\\s*\\*/' - + '\\s*(\n|\r|.)*?' - + '/\\*\\s*endRemoveIf\\(!' + module + '\\)\\s*\\*/'; -} - -var htmlRegexp = function(module) { - return '' - + '\\s*(\n|\r|.)*?' - + ''; -} - -var generateRegexps = function(modules, func) { - var regexps = new Set(); - for (const [module, enabled] of Object.entries(modules)) { - if (enabled) { - continue; - } - - const expression = func(module); - const re = new RegExp(expression, 'gm'); - - regexps.add(re); - } - - return regexps; -} - -// TODO: use html parser here? -// TODO: separate js files to include js, html & css and avoid 2 step regexp? - -var htmlRemover = function(modules) { - const regexps = generateRegexps(modules, htmlRegexp); - +function logSource() { return through.obj(function (source, _, callback) { - if (source.isNull()) { - callback(null, source); - return; - } - - var contents = source.contents.toString(); - for (var regexp of regexps) { - contents = contents.replace(regexp, ''); - } - source.contents = Buffer.from(contents); + console.info(`${path.basename(source.path)}\tsize: ${source.contents.length} bytes`); callback(null, source); }); } -var inlineHandler = function(modules) { - return function(source) { - if (((source.sourcepath === 'custom.css') || (source.sourcepath === 'custom.js'))) { - const filter = (source.type === 'css') ? cssRegexp : jsRegexp; - const regexps = generateRegexps(modules, filter); +// by default, gulp.dest preserves stat.*time of the source. which is obviosly bogus here as gulp +// only knows about src/index.html and not about every include happenning through inline-source +function adjustFileStat() { + return through.obj(function(source, _, callback) { + const now = new Date(); + source.stat.atime = now; + source.stat.mtime = now; + source.stat.ctime = now; + callback(null, source); + }); +} - var content = source.fileContent; - for (var regexp of regexps) { - content = content.replace(regexp, ''); - } +// ref. https://github.com/evanw/esbuild/issues/1895 +// from our side, html/src/*.mjs (with the exception of index.mjs) require 'init()' call to be actually set up and used +// as the result, no code from the module should be bundled into the output when module was not initialized +// however, since light module depends on iro.js and does not have `sideEffects: false` in package.json, it would still get bundled because of top-level import +// (...and since module modifying something in global scope is not unheard of...) +function forceNoSideEffects() { + return { + name: 'no-side-effects', + setup(build) { + build.onResolve({filter: /@jaames\/iro/, namespace: 'file'}, + async ({path, ...options}) => { + const result = await build.resolve(path, {...options, namespace: 'noRecurse'}); + return {...result, sideEffects: false}; + }); + }, + }; +} - source.fileContent = content; - return; - } +// ref. html/src/index.mjs +// TODO exportable values, e.g. in build.mjs? right now, false-positive of undeclared values, plus see 'forceNoSideEffects()' +function makeDefines(modules) { + return Object.fromEntries( + Object.entries(modules).map( + ([key, value]) => { + return [`MODULE_${key.toUpperCase()}`, value.toString()]; + })); +} - if (source.sourcepath === "favicon.ico") { - source.format = "x-icon"; - return; - } +async function inlineJavascriptBundle(sourcefile, contents, resolveDir, modules, minify) { + return await esbuild.build({ + stdin: { + contents, + loader: 'js', + resolveDir, + sourcefile, + }, + bundle: true, + plugins: [ + forceNoSideEffects(), + ], + define: makeDefines(modules), + minify, + platform: 'browser', + write: false, + }); +} +function inlineHandler(srcdir, modules, compress) { + return async function(source) { + // TODO split handlers if (source.content) { return; } - // Just ignore the vendored libs, repackaging makes things worse for the size - const path = source.sourcepath; - if (path.endsWith('.min.js')) { - source.compress = false; - } else if (path.endsWith('.min.css')) { + // specific elements can be excluded at this point + // (although, could be handled by jsdom afterwards; top elem does not usually have classList w/ module) + for (let module of source.props?.module?.split(',') ?? []) { + if (!modules[module]) { + source.compress = false; + source.content = Buffer.from(''); + source.replace = '

'; + return; + } + } + + // main entrypoint of the app, usually a script bundle + if (source.format === 'mjs') { + const result = await inlineJavascriptBundle( + source.sourcepath, + source.fileContent, + srcdir, modules, compress); + if (!result.outputFiles.length) { + callback('cannot build js bundle', null); + return; + } + + source.content = Buffer.from(result.outputFiles[0].contents); source.compress = false; + return; + } + + // . not handled by inline-source directly, only image blobs are expected + if (source.props.raw) { + source.content = source.fileContent; + source.replace = source.content.toString(); + source.format = 'text'; + return; + } + + // TODO import svg icon? + if (source.sourcepath === 'favicon.ico') { + source.format = 'x-icon'; + return; } }; } -function inlineSource(rootPath, modules) { +function modifyHtml(handlers) { + return through.obj(function (source, _, callback) { + const dom = new jsdom.JSDOM(source.contents, {includeNodeLocations: true}); + + let changed = false; + + for (let handler of handlers) { + if (handler(dom)) { + changed = true; + } + } + + if (changed) { + source.contents = Buffer.from(dom.serialize()); + } + + callback(null, source); + }); +} + +// generally a good idea to mitigate "tab-napping" attacks +// per https://www.chromestatus.com/feature/6140064063029248 +function externalBlank() { + /** + * @param {jsdom.JSDOM} dom + * @return {boolean} + */ + return function(dom) { + let changed = false; + + for (let elem of dom.window.document.getElementsByTagName('a')) { + if (elem.href.startsWith('http')) { + elem.setAttribute('target', '_blank'); + elem.setAttribute('rel', 'noopener'); + elem.setAttribute('tabindex', '-1'); + changed = true; + } + } + + return changed; + } +} + +// with an explicit list of modules, strip anything not used by the bundle +function stripModules(modules) { + /** + * @param {jsdom.JSDOM} dom + * @return {boolean} + */ + return function(dom) { + let changed = false; + + for (const [module, value] of Object.entries(modules)) { + if (value) { + continue; + } + + const className = `module-${module}`; + for (let elem of dom.window.document.getElementsByClassName(className)) { + elem.classList.remove(className); + + let remove = true; + for (let name of elem.classList) { + if (name.startsWith('module-')) { + remove = false; + break; + } + } + + if (remove) { + elem.parentElement.removeChild(elem); + changed = true; + } + } + } + + return changed; + } +} + +function inlineSource(srcdir, modules, compress) { return through.obj(async function (source, _, callback) { if (source.isNull()) { callback(null, source); @@ -198,9 +355,9 @@ function inlineSource(rootPath, modules) { const result = await inline.inlineSource( source.contents.toString(), { - "compress": true, - "handlers": [inlineHandler(modules)], - "rootpath": rootPath, + 'compress': compress, + 'handlers': [inlineHandler(srcdir, modules, compress)], + 'rootpath': srcdir, }); source.contents = Buffer.from(result); @@ -209,124 +366,151 @@ function inlineSource(rootPath, modules) { }); } -var buildWebUI = function(module) { - - // Declare some modules as optional to remove with - // removeIf(!name) ...code... endRemoveIf(!name) sections - // (via gulp-remove-code) - var modules = { - 'light': false, - 'sensor': false, - 'rfbridge': false, - 'rfm69': false, - 'garland': false, - 'thermostat': false, - 'lightfox': false, - 'curtain': false - }; - - // Note: only build these when specified as module arg - var excludeAll = [ - 'rfm69', - 'lightfox' - ]; - - // 'all' to include all *but* excludeAll - // '' to include a single module - // 'small' is the default state (all disabled) - if ('all' === module) { - Object.keys(modules). - filter(function(key) { - return excludeAll.indexOf(key) < 0; - }). - forEach(function(key) { - modules[key] = true; - }); - } else if ('small' !== module) { - modules[module] = true; +// TODO html/src/* is not directly usable, and neither are file:/// modules b/c of modern CORS requirements +// ref. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules#other_differences_between_modules_and_standard_scripts +// make 2 'all' bundles with and without minification or spawn a webserver w/ sourcemaps included? +function buildHtml(name, modules, compress) { + if (modules === undefined) { + modules = Object.assign({}, DEFAULT_MODULES); + modules[NAMED_BUILD[name]] = true; } - return gulp.src(htmlFolder + '*.html'). - pipe(htmlRemover(modules)). - pipe(inlineSource(htmlFolder, modules)). - pipe(toMinifiedHtml({ - collapseWhitespace: true, - removeComments: true, - minifyCSS: false, - minifyJS: false - })). - pipe(replace('pure-', 'p-')). - pipe(gzip({ gzipOptions: { level: 9 } })). - pipe(rename('index.' + module + '.html.gz')). - pipe(gulp.dest(dataFolder)). - pipe(toHeader('webui_image', true)). - pipe(gulp.dest(staticFolder)); + if (modules === undefined) { + throw `'modules' argument / NAMED_BUILD['${name}'] is missing`; + } -}; + const out = gulp.src(path.join(SRC_DIR, 'index.html')) + .pipe(inlineSource(SRC_DIR, modules, compress)) + .pipe(modifyHtml([ + stripModules(modules), + externalBlank(), + ])); + + if (compress) { + return out.pipe( + toMinifiedHtml({ + collapseWhitespace: true, + removeComments: true, + minifyCSS: true, + minifyJS: false + })).pipe( + replace('pure-', 'p-')); + } + + return out; +} + +function buildOutputs(name, stream) { + return stream + .pipe(gzip({gzipOptions: {level: 9 }})) + .pipe(adjustFileStat()) + .pipe(rename(`index.${name}.html.gz`)) + .pipe(logSource()) + .pipe(gulp.dest(DATA_DIR)) + .pipe(toHeader('webui_image')) + .pipe(gulp.dest(STATIC_DIR)); +} + +function buildWebUI(name, modules, compress = true) { + return buildOutputs(name, buildHtml(name, modules, compress)); +} + +function serveWebUI(name, modules) { + const server = http.createServer(); + + server.on('request', function(request, response) { + buildHtml(name, modules, false).pipe( + through.obj(function(source, _, callback) { + const url = new URL(`http://localhost${request.url}`); + + // serve bundled html as-is, do not minify + switch (url.pathname) { + case '/': + case '/index.htm': + case '/index.html': + response.writeHead(200, { + 'Content-Type': 'text/html', + 'Content-Length': source.contents.length, + }); + + response.write(source.contents); + response.end(); + + callback(null, source); + return; + } + + // when module files need browser repl. but, note the bundling scope + // and unavailable external modules (i.e. node_modules/*) + if (url.pathname.endsWith('.mjs')) { + const name = url.pathname.split('/').at(-1); + + response.writeHead(200, { + 'Content-Type': 'text/javascript', + }); + + fs.createReadStream(path.join(SRC_DIR, name)) + .pipe(response); + callback(null, source); + return; + } + + response.writeHead(500, {'content-type': 'text/plain'}); + response.end('500'); + + callback(null, source); + })); + }); + + server.listen(8080); +} // ----------------------------------------------------------------------------- // Tasks // ----------------------------------------------------------------------------- -gulp.task('certs', function() { - gulp.src(dataFolder + 'server.*'). - pipe(toHeader('', false)). - pipe(gulp.dest(staticFolder)); -}); +gulp.task('webui_serve', + () => serveWebUI('all', MODULES_LOCAL)); -gulp.task('webui_small', function() { - return buildWebUI('small'); -}); +gulp.task('webui_all', + () => buildWebUI('all', MODULES_ALL)); -gulp.task('webui_sensor', function() { - return buildWebUI('sensor'); -}); +gulp.task('webui_small', + () => buildWebUI('small', DEFAULT_MODULES)); -gulp.task('webui_light', function() { - return buildWebUI('light'); -}); +gulp.task('webui_curtain', + () => buildWebUI('curtain')); -gulp.task('webui_rfbridge', function() { - return buildWebUI('rfbridge'); -}); +gulp.task('webui_garland', + () => buildWebUI('garland')); -gulp.task('webui_rfm69', function() { - return buildWebUI('rfm69'); -}); +gulp.task('webui_light', + () => buildWebUI('light')); -gulp.task('webui_lightfox', function() { - return buildWebUI('lightfox'); -}); +gulp.task('webui_lightfox', + () => buildWebUI('lightfox')); -gulp.task('webui_garland', function() { - return buildWebUI('garland'); -}); +gulp.task('webui_rfbridge', + () => buildWebUI('rfbridge')); -gulp.task('webui_thermostat', function() { - return buildWebUI('thermostat'); -}); +gulp.task('webui_rfm69', + () => buildWebUI('rfm69')); -gulp.task('webui_curtain', function() { - return buildWebUI('curtain'); -}); +gulp.task('webui_sensor', + () => buildWebUI('sensor')); -gulp.task('webui_all', function() { - return buildWebUI('all'); -}); +gulp.task('webui_thermostat', + () => buildWebUI('thermostat')); -gulp.task('webui', +gulp.task('default', gulp.parallel( + 'webui_all', 'webui_small', - 'webui_sensor', + 'webui_curtain', + 'webui_garland', 'webui_light', + 'webui_lightfox', 'webui_rfbridge', 'webui_rfm69', - 'webui_lightfox', - 'webui_garland', - 'webui_thermostat', - 'webui_curtain', - 'webui_all' - ) -); - -gulp.task('default', gulp.series('webui')); + 'webui_sensor', + 'webui_thermostat')); diff --git a/code/html/images/loading.gif b/code/html/images/loading.gif deleted file mode 100644 index 704b875fa1b2854ddb00e6f8a7a5c5ff45e35f59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 433 zcmZ?wbhEHb6k!lyn8?g<=FFMRn>W|j*Z=?jU-3V;pKD04vtxj(k)8oFBLf42;!hS< zE(T@>9UvR1L4<*U$!1Rf%G13{cbWob39$7tnDk`EJl9Pqo3OM~N%pf@q1Pc(TlH1@ z^mg7h{?o8??)q;=a_qYwUVPaQwJgM$5n&(;0}}%e0~^plu{pAZ-7C2d6nJ$AK3)@+ zQdu(nSOl_C4xmylAY@(@GWJg@Zp(fc$2$xj>%98hy5=GZe-tePX!W6+ZMRxs&_b-^6=wnrvT ztO$cyfQG`{YqFA|Y==aJMvLNY$!m|66~uZ}B_er^32v_V921ax{5ey9008fN{CIA2c diff --git a/code/html/src/api.mjs b/code/html/src/api.mjs new file mode 100644 index 00000000..5c41b02e --- /dev/null +++ b/code/html/src/api.mjs @@ -0,0 +1,13 @@ +import { randomString } from './core.mjs'; +import { setChangedElement } from './settings.mjs'; + +function randomApiKey() { + const elem = document.forms["form-admin"].elements.apiKey; + elem.value = randomString(16, {hex: true}); + setChangedElement(elem); +} + +export function init() { + document.querySelector(".button-apikey") + .addEventListener("click", randomApiKey); +} diff --git a/code/html/src/connection.mjs b/code/html/src/connection.mjs new file mode 100644 index 00000000..3b95b0c5 --- /dev/null +++ b/code/html/src/connection.mjs @@ -0,0 +1,146 @@ +import { notifyError } from './errors.mjs'; +import { pageReloadIn } from './core.mjs'; + +function makeWebSocketUrl(root) { + let out = new URL("ws", root); + out.protocol = + (root.protocol === "https:") + ? "wss:" + : "ws:"; + + return out; +} + +function makeUrl(path, root) { + let out = new URL(path, root); + out.protocol = root.protocol; + return out; +} + +class UrlsBase { + constructor() { + this.auth = null; + this.config = null; + this.upgrade = null; + this.ws = null; + } + + update(root) { + this.auth = makeUrl("auth", root); + this.config = makeUrl("config", root); + this.upgrade = makeUrl("upgrade", root); + this.ws = makeWebSocketUrl(root); + } +}; + +const Urls = new UrlsBase(); + +class ConnectionBase { + constructor() { + this.socket = null; + this.ping_pong = null; + } +}; + +ConnectionBase.prototype.open = function(href, onmessage) { + this.socket = new WebSocket(href); + this.socket.onopen = () => { + this.ping_pong = setInterval( + () => { sendAction("ping"); }, 5000); + }; + this.socket.onclose = () => { + clearInterval(this.ping_pong); + }; + this.socket.onmessage = onmessage; +} + +ConnectionBase.prototype.send = function(payload) { + this.socket.send(payload); +} + +const Connection = new ConnectionBase(); + +function onConnected(href, onmessage) { + Connection.open(href, onmessage); +} + +function onFetchError(error) { + notifyError(null, null, error.lineNumber, error.columnNumber, error); + pageReloadIn(5000); +} + +function onError(response) { + notifyError(`${response.url} responded with status code ${response.status}, reloading the page`, null, 0, 0, null); + pageReloadIn(5000); +} + +async function connectToURL(root, onmessage) { + Urls.update(root); + + const opts = { + 'method': 'GET', + 'cors': true, + 'credentials': 'same-origin', + }; + + try { + const response = await fetch(Urls.auth.href, opts); + // Set up socket connection handlers + if (response.status === 200) { + onConnected(Urls.ws.href, onmessage); + // Nothing to do, reload page and retry on errors + } else { + onError(response); + } + } catch (e) { + onFetchError(e); + } +} + +async function onConnectEvent(event) { + await connectToURL(event.detail.url, event.detail.onmessage); +} + +function onSendEvent(event) { + Connection.send(event.detail.data); +} + +export function configUrl() { + return Urls.config; +} + +export function upgradeUrl() { + return Urls.upgrade; +} + +export function send(data) { + if (data === undefined) { + data = {}; + } + window.dispatchEvent( + new CustomEvent("app-send", {detail: {data}})); +} + +export function sendAction(action, data) { + send(JSON.stringify({action, data})); +} + +export function connect(onmessage) { + // Optionally, support host=... param that could redirect to somewhere else + // Note of the Cross-Origin rules that apply, and require device to handle them + const search = new URLSearchParams(window.location.search); + + let host = search.get("host"); + if (host && !host.startsWith("http:") && !host.startsWith("https:")) { + host = `http://${host}`; + } + + const url = (host) ? new URL(host) : window.location; + window.dispatchEvent( + new CustomEvent("app-connect", {detail: {url, onmessage}})); +} + +export function init() { + window.addEventListener("app-connect", onConnectEvent); + window.addEventListener("app-send", onSendEvent); +} diff --git a/code/html/src/core.mjs b/code/html/src/core.mjs new file mode 100644 index 00000000..14fdb8ca --- /dev/null +++ b/code/html/src/core.mjs @@ -0,0 +1,93 @@ +export function styleInject(rules) { + if (!rules.length) { + return; + } + + const style = document.createElement("style"); + style.setAttribute("type", "text/css"); + document.head.appendChild(style); + + let pos = style.sheet.cssRules.length; + for (let rule of rules) { + style.sheet.insertRule(rule, pos++); + } +} + +export function styleVisible(selector, value) { + return `${selector} { content-visibility: ${value ? "visible": "hidden"}; }` +} + +export function pageReloadIn(ms) { + setTimeout(() => { + window.location.reload(); + }, parseInt(ms, 10)); +} + +export function moreElem(container) { + for (let elem of container.querySelectorAll(".more")) { + elem.style.display = (elem.style.display === "") + ? "inherit" : ""; + } +} + +export function toggleMenu(event) { + event.preventDefault(); + event.target.parentElement.classList.toggle("active"); +} + +export function showPanelByName(name) { + // only a single panel is shown on the 'layout' + const target = document.getElementById(`panel-${name}`); + if (!target) { + return; + } + + for (const panel of document.querySelectorAll(".panel")) { + panel.style.display = "none"; + } + target.style.display = "revert"; + + const layout = document.getElementById("layout"); + layout.classList.remove("active"); + + // TODO: sometimes, switching view causes us to scroll past + // the header (e.g. emon ratios panel on small screen) + // layout itself stays put, but the root element seems to scroll, + // at least can be reproduced with Chrome + if (document.documentElement) { + document.documentElement.scrollTop = 0; + } +} + +export function showPanel(event) { + event.preventDefault(); + showPanelByName(event.target.dataset["panel"]); +} + +export function randomString(length, args) { + if (typeof args === "undefined") { + args = { + lowercase: true, + uppercase: true, + numbers: true, + special: true + } + } + + let mask = ""; + if (args.lowercase) { mask += "abcdefghijklmnopqrstuvwxyz"; } + if (args.uppercase) { mask += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; } + if (args.numbers || args.hex) { mask += "0123456789"; } + if (args.hex) { mask += "ABCDEF"; } + if (args.special) { mask += "~`!@#$%^&*()_+-={}[]:\";'<>?,./|\\"; } + + let source = new Uint32Array(length); + let result = new Array(length); + + window.crypto.getRandomValues(source) + .forEach((value, i) => { + result[i] = mask[value % mask.length]; + }); + + return result.join(""); +} diff --git a/code/html/src/curtain.mjs b/code/html/src/curtain.mjs new file mode 100644 index 00000000..7e900a9f --- /dev/null +++ b/code/html/src/curtain.mjs @@ -0,0 +1,121 @@ +import { sendAction } from './connection.mjs'; +import { loadConfigTemplate, mergeTemplate } from './template.mjs'; +import { addSimpleEnumerables, variableListeners } from './settings.mjs'; + +function listeners() { + return { + "curtainState": (_, value) => { + initCurtain(); + updateCurtain(value); + }, + }; +} + +function buttonHandler(event) { + if (event.type !== "click") { + return; + } + + event.preventDefault(); + + let code = -1; + + const list = event.target.classList; + if (list.contains("button-curtain-pause")) { + code = 0; + } else if (list.contains("button-curtain-open")) { + code = 1; + } else if (list.contains("button-curtain-close")) { + code = 2; + } + + if (code >= 0) { + sendAction("curtainAction", {button: code}); + event.target.style.background = "red"; + } +} + +function positionHandler(event) { + sendAction("curtainAction", {position: event.target.value}); +} + +//Create the controls for one curtain. It is called when curtain is updated (so created the first time) +//Let this there as we plan to have more than one curtain per switch +function initCurtain() { + let container = document.getElementById("curtains"); + if (container.childElementCount > 0) { + return; + } + + // add and init curtain template, prepare multi switches + let line = loadConfigTemplate("curtain-control"); + line.querySelector(".button-curtain-open") + .addEventListener("click", buttonHandler); + line.querySelector(".button-curtain-pause") + .addEventListener("click", buttonHandler); + line.querySelector(".button-curtain-close") + .addEventListener("click", buttonHandler); + mergeTemplate(container, line); + + // simple position slider + document.getElementById("curtainSet") + .addEventListener("change", positionHandler); + + addSimpleEnumerables("curtain", "Curtain", 1); +} + +function setBackground(a, b) { + let elem = document.getElementById("curtainGetPicture"); + elem.style.background = `linear-gradient(${a}, black ${b}%, #a0d6ff ${b}%)`; +} + +function setBackgroundTwoSides(a, b) { + let elem = document.getElementById("curtainGetPicture"); + elem.style.background = `linear-gradient(90deg, black ${a}%, #a0d6ff ${a}% ${b}%, black ${b}%)`; +} + +function updateCurtain(value) { + switch(value.type) { + case '1': //One side left to right + setBackground('90deg', value.get); + break; + case '2': //One side right to left + setBackground('270deg', value.get); + break; + case '3': //Two sides + setBackgroundTwoSides(value.get / 2, (100 - value.get/2)); + break; + case '0': //Roller + default: + setBackground('180deg', value.get); + break; + } + + let set = document.getElementById("curtainSet"); + set.value = value.set; + + const backgroundMoving = 'rgb(192, 0, 0)'; + const backgroundStopped = 'rgb(64, 184, 221)'; + + if (!value.moving) { + let button = document.querySelector("button.curtain-button"); + button.style.background = backgroundStopped; + } else if (!value.button) { + let pause = document.querySelector("button.curtain-pause"); + pause.style.background = backgroundMoving; + } else { + let open = document.querySelector("button.button-curtain-open"); + let close = document.querySelector("button.button-curtain-close"); + if (value.button === 1) { + open.style.background = backgroundMoving; + close.style.background = backgroundStopped; + } else if (value.button === 2) { + open.style.background = backgroundStopped; + close.style.background = backgroundMoving; + } + } +} + +export function init() { + variableListeners(listeners()); +} diff --git a/code/html/src/debug.mjs b/code/html/src/debug.mjs new file mode 100644 index 00000000..bc764023 --- /dev/null +++ b/code/html/src/debug.mjs @@ -0,0 +1,108 @@ +import { send, sendAction } from './connection.mjs'; +import { variableListeners } from './settings.mjs'; + +class CmdOutputBase { + constructor(elem) { + this.elem = elem; + this.lastScrollHeight = elem.scrollHeight; + this.lastScrollTop = elem.scrollTop; + this.followScroll = true; + + elem.addEventListener("scroll", () => { + // in case we adjust the scroll manually + const current = this.elem.scrollHeight - this.elem.scrollTop; + const last = this.lastScrollHeight - this.lastScrollTop; + if ((current - last) > 16) { + this.followScroll = false; + } + + // ...and, in case we return to the bottom row + const offset = current - this.elem.offsetHeight; + if (offset < 16) { + this.followScroll = true; + } + + this.lastScrollHeight = this.elem.scrollHeight; + this.lastScrollTop = this.elem.scrollTop; + }); + } + + follow() { + if (this.followScroll) { + this.elem.scrollTop = this.elem.scrollHeight; + this.lastScrollHeight = this.elem.scrollHeight; + this.lastScrollTop = this.elem.scrollTop; + } + } + + clear() { + this.elem.textContent = ""; + this.followScroll = true; + } + + push(line) { + this.elem.appendChild(new Text(line)); + } + + pushAndFollow(line) { + this.elem.appendChild(new Text(`${line}\n`)); + this.followScroll = true + } +} + +let CmdOutput = null; + +function listeners() { + return { + "log": (_, value) => { + send("{}"); + + const messages = value["msg"]; + if (messages === undefined) { + return; + } + + for (let msg of messages) { + CmdOutput.push(msg); + } + + CmdOutput.follow(); + }, + }; +} + +function onFormSubmit(event) { + event.preventDefault(); + + const line = event.target.elements.cmd.value; + event.target.elements.cmd.value = ""; + + CmdOutput.pushAndFollow(line); + sendAction("cmd", {"line": `${line}\n`}); +} + +// While the settings are grouped using forms, actual submit is useless here +// b/c the data is intended to be sent with the websocket connection and never through some http endpoint +// *NOTICE* that manual event cancellation should happen asap, any exceptions will stop the specific +// handler function, but will not stop anything else left in the chain. +function disableFormSubmit(event) { + event.preventDefault(); +} + +export function init() { + variableListeners(listeners()); + + CmdOutput = new CmdOutputBase(document.getElementById("cmd-output")); + + document.forms["form-debug"].addEventListener("submit", onFormSubmit); + document.querySelectorAll("form:not([name='form-debug'])") + .forEach((form) => { + form.addEventListener("submit", disableFormSubmit); + }); + + document.querySelector(".button-dbg-clear") + .addEventListener("click", (event) => { + event.preventDefault(); + CmdOutput.clear(); + }); +} diff --git a/code/html/src/domoticz.mjs b/code/html/src/domoticz.mjs new file mode 100644 index 00000000..db25279b --- /dev/null +++ b/code/html/src/domoticz.mjs @@ -0,0 +1,14 @@ +import { createNodeList } from './relay.mjs'; +import { variableListeners } from './settings.mjs'; + +function listeners() { + return { + "dczRelays": (_, value) => { + createNodeList("dcz-relays", value, "dczRelayIdx"); + }, + }; +} + +export function init() { + variableListeners(listeners()); +} diff --git a/code/html/src/errors.mjs b/code/html/src/errors.mjs new file mode 100644 index 00000000..fba6307e --- /dev/null +++ b/code/html/src/errors.mjs @@ -0,0 +1,49 @@ +export function showErrorNotification(message) { + let container = document.getElementById("error-notification"); + if (container.childElementCount > 0) { + return false; + } + + container.style.display = "inherit"; + container.style.whiteSpace = "pre-wrap"; + + let notification = document.createElement("div"); + notification.classList.add("pure-u-1"); + notification.classList.add("pure-u-lg-1"); + notification.textContent = message; + + container.appendChild(notification); + + return false; +} + +export function notifyError(message, source, lineno, colno, error) { + if (!source && error) { + source = error.fileName; + } + + if (!lineno && error) { + lineno = error.lineNumber; + } + + if (!colno && error) { + colno = error.columnNumber; + } + + let text = ''; + if (message) { + text += message; + } + + if (source && lineno && colno) { + text += ` ${source}:${lineno}:${colno}:`; + } + + if (error) { + text += error.stack; + } + + text += "\n\nFor more info see the Debug Log and / or Developer Tools console."; + + return showErrorNotification(text); +} diff --git a/code/html/src/footer.html b/code/html/src/footer.html new file mode 100644 index 00000000..03a059c8 --- /dev/null +++ b/code/html/src/footer.html @@ -0,0 +1,9 @@ + diff --git a/code/html/src/garland.mjs b/code/html/src/garland.mjs new file mode 100644 index 00000000..a2565549 --- /dev/null +++ b/code/html/src/garland.mjs @@ -0,0 +1,39 @@ +import { sendAction } from './connection.mjs'; +import { variableListeners } from './settings.mjs'; + +function listeners() { + return { + "garlandBrightness": (_, value) => { + const brightnessSlider = document.getElementById("garlandBrightness"); + brightnessSlider.value = value; + }, + "garlandSpeed": (_, value) => { + const speedSlider = document.getElementById("garlandSpeed"); + speedSlider.value = value; + }, + }; +} + +export function init() { + variableListeners(listeners()); + + document.querySelector(".checkbox-garland-enable") + .addEventListener("change", (event) => { + sendAction("garland_switch", {status: event.target.checked ? 1 : 0}); + }); + + document.querySelector(".slider-garland-brightness") + .addEventListener("change", (event) => { + sendAction("garland_set_brightness", {brightness: event.target.value}); + }); + + document.querySelector(".slider-garland-speed") + .addEventListener("change", (event) => { + sendAction("garland_set_speed", {speed: event.target.value}); + }); + + document.querySelector(".button-garland-set-default") + .addEventListener("click", () => { + sendAction("garland_set_default", {}); + }); +} diff --git a/code/html/src/gpio.mjs b/code/html/src/gpio.mjs new file mode 100644 index 00000000..71f49cf1 --- /dev/null +++ b/code/html/src/gpio.mjs @@ -0,0 +1,48 @@ +import { addEnumerables, variableListeners } from './settings.mjs'; +import { showErrorNotification } from './errors.mjs'; + +function makeConfig(value) { + let types = []; + + for (const [type, id] of value.types) { + types.push({ + "id": id, + "name": type + }); + + let gpios = [{"id": 153, "name": "NONE"}]; + value[type].forEach((pin) => { + gpios.push({"id": pin, "name": `GPIO${pin}`}); + }); + + addEnumerables(`gpio-${type}`, gpios); + } + + addEnumerables("gpio-types", types); +} + +function reportFailed(value) { + let failed = ""; + for (const [pin, file, func, line] of value["failed-locks"]) { + failed += `GPIO${pin} @ ${file}:${func}:${line}\n`; + } + + if (failed.length > 0) { + showErrorNotification("Could not acquire locks on the following pins, check configuration\n\n" + failed); + } +} + +function listeners() { + return { + "gpioConfig": (_, value) => { + makeConfig(value); + }, + "gpioInfo": (_, value) => { + reportFailed(value); + }, + }; +} + +export function init() { + variableListeners(listeners()); +} diff --git a/code/html/src/ha.mjs b/code/html/src/ha.mjs new file mode 100644 index 00000000..8252fd76 --- /dev/null +++ b/code/html/src/ha.mjs @@ -0,0 +1,21 @@ +import { sendAction } from './connection.mjs'; + +function publishState(event, state) { + event.preventDefault(); + sendAction("ha-publish", {state}); +} + +function publishEnabled(event) { + publishState(event, 1); +} + +function publishDisabled(event) { + publishState(event, 0); +} + +export function init() { + document.querySelector(".button-ha-enabled") + .addEventListener("click", publishEnabled); + document.querySelector(".button-ha-disabled") + .addEventListener("click", publishDisabled); +} diff --git a/code/html/src/index.css b/code/html/src/index.css new file mode 100644 index 00000000..9c5330e9 --- /dev/null +++ b/code/html/src/index.css @@ -0,0 +1,639 @@ +/* ----------------------------------------------------------------------------- + General + -------------------------------------------------------------------------- */ + +#menu .pure-menu-heading { + font-size: 100%; + padding: .5em .5em; + white-space: normal; + text-transform: initial; +} + +.pure-g { + margin-bottom: 0; +} + +.pure-form legend { + font-weight: bold; + letter-spacing: 0; + margin: 10px 0 1em 0; +} + +.pure-form .pure-g > label { + margin: .4em 0 .2em; +} + +.pure-form input { + margin-bottom: 10px; +} + +.pure-form input[type=text][disabled] { + color: #777777; +} + +@media screen and (max-width: 32em) { + .header > h1 { + line-height: 100%; + font-size: 2em; + } +} + +.header strong { + font-weight: bold; +} + +h2 { + font-size: 1em; +} + +.panel { + display: none; +} + +.block { + display: block; +} + +.page { + margin-top: 10px; +} + +.pure-form-message, +.pure-form-message-inline { + color: #9e9e9e; + font-size: 80%; +} + +.pure-form-message a, +.pure-form-message-inline a { + color:inherit; +} + +.module { + display: none; +} + +.maybe-hidden { + display: none; +} + +input[name=upgrade] { + display: none; +} + +select { + margin-bottom: 10px; + width: 100%; +} + +input.center { + margin-bottom: 0; +} + +div.center { + margin: .5em 0 1em; +} + +.webmode { + display: none; +} + +#password .content { + margin: 0 auto; +} + +#layout .content { + margin: 0; +} + +.state { + border-top: 1px solid #eee; + margin-top: 20px; + padding-top: 30px; + font-size: 80%; + line-height: 28px; +} + +.state label { + width: 33%; +} + +.state span { + font-weight: bold; + display: block; +} + +.right { + text-align: right; +} + +.terminal { + font-family: 'Courier New', monospace; + font-size: 80%; + background-color: #121212; + margin-top: 10px; + margin-bottom: 10px; +} + +#cmd-input, +#cmd-output { + border-style: none; + border-color: #121212; + color: #0f0; + background-color: rgba(0, 0, 0, 0); + line-height: 100%; +} + +#cmd-output { + -webkit-box-shadow: none; + box-shadow: none; +} + +#cmd-input { + -webkit-box-shadow: inset 0 1px 1px #555; + box-shadow: inset 0 1px 1px #555; +} + +/* ----------------------------------------------------------------------------- + Sensors + -------------------------------------------------------------------------- */ + +.pure-form-aligned +.pure-control-group +label { + text-align: left; +} + +.emon-expected-pwrP, +.emon-expected-volt, +.emon-expected-curr, +.emon-expected-ene { + content-visibility: hidden; +} + +/* ----------------------------------------------------------------------------- + Curtains + -------------------------------------------------------------------------- */ + +/* removeIf(!curtain) */ + +.curtain-roller { + width: 300px; + height: 200px; + display: inline-block; +} + +.curtain-button { + margin-left: 10px; + margin-right: 10px; + text-align: center; + +} + +.reverse-range { + direction: rtl; +} + +/* endRemoveIf(!curtain) */ + +/* ----------------------------------------------------------------------------- + Buttons + -------------------------------------------------------------------------- */ + +.pure-button { + border-radius: 4px; + color: white; + letter-spacing: 0; + margin-bottom: 10px; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); + padding: 8px 8px; +} + +.main-buttons { + margin: 20px auto; + text-align: center; +} +.main-buttons button { + width: 100px; +} + +.button-reboot, +.button-reconnect, +.button-ha-clear, +.button-rfb-forget, +.button-lightfox-clear, +.button-del-settings-group, +.button-dbg-clear, +.button-upgrade, +.button-clear-filters, +.button-clear-messages, +.button-clear-counts, +.button-settings-factory { + background: rgb(192, 0, 0); /* redish */ +} + +.button-setup-password, +.button-add-settings-group, +.button-upgrade-browse, +.button-rfb-learn, +.button-lightfox-learn, +.button-ha-publish, +.button-settings-backup, +.button-settings-restore, +.button-garland-set-default, +.button-cmd, +.button-apikey, +.button-emon-expected-calculate { + background: rgb(0, 192, 0); /* green */ +} + +.button-save { + --save-background: grey; + background: var(--save-background); +} + +.button-wifi-scan, +.button-more-parent, +.button-simple-action, +.button-rfb-save { + background: rgb(255, 128, 0); /* orange */ +} + +.button-curtain-open, +.button-curtain-pause, +.button-curtain-close, +.button-emon-expected, +.button-emon-expected-apply, +.button-generate-password { + background: rgb(66, 184, 221); /* blue */ +} + +.button-upgrade-browse, +.button-clear-filters, +.button-clear-messages, +.button-clear-counts, +.button-ha-add, +.button-apikey, +.button-upgrade { + margin-left: 5px; +} + +.button-thermostat-reset-counters { + background: rgb(204, 139, 41); +} + +/* ----------------------------------------------------------------------------- + Sliders + -------------------------------------------------------------------------- */ + +input.slider { + margin-top: 10px; +} + +span.slider { + font-size: 70%; + letter-spacing: 0; + margin-left: 10px; + margin-top: 7px; +} + +/* ----------------------------------------------------------------------------- + Checkboxes w/ custom toggle-switch appearance + Based on https://gist.github.com/yairEO/f5d36e4c038f986a3f5ddf18b6ca4266 + Adjusted to allow for 'content' inside of '::before' and small attr tweaks + -------------------------------------------------------------------------- */ + +input.checkbox-toggle { + --toggle-text-color: #fff; + --toggle-border-radius: 100px; + --toggle-handle-size: .6em; + --toggle-elem-size: 2em; + --toggle-bg-size: 3em; + --toggle-handle-gap: .2em; + --toggle-fg: #c00000; + --toggle-bg: color-mix(in srgb, var(--toggle-fg) 20%, transparent); + + appearance: none; + box-sizing: content-box; + display: inline-flex; + justify-content: center; + padding-inline: 0 var(--toggle-bg-size); + border: none; + height: auto; + width: auto; + margin: 0; + border-radius: var(--toggle-border-radius); + background: var(--toggle-bg); + transition: var(--toggle-duration, .2s) cubic-bezier(.65, 0, .5, 1); + user-select: none; + outline: none; + cursor: pointer; +} + +/* only ::before is used for content, adjust padding to move the toggle to a specific position */ +input.checkbox-toggle:checked { + padding-inline: var(--toggle-bg-size) 0; + --toggle-fg: #00c000; /* greenish */ +} + +input.checkbox-toggle::before { + text-align: center; + color: var(--toggle-text-color); + width: var(--toggle-elem-size); +} + +input.checkbox-toggle:checked::before { + --toggle-fg: #00c000; /* greenish */ +} + +/* checkboxes are usually allow DISABLING and ENABLING settings */ +input.checkbox-toggle::before { + content: "NO"; +} + +input.checkbox-toggle:checked::before { + content: "YES"; +} + +input.checkbox-toggle::before { + padding: var(--toggle-handle-size); + margin: var(--toggle-handle-gap); + background: var(--toggle-fg); + border-radius: var(--toggle-border-radius); + transition: inherit; +} + +/* module-relay */ +input[name=relay].checkbox-toggle::before, +input[name=light-state-value].checkbox-toggle::before { + content: "OFF"; +} + +input[name=relay].checkbox-toggle:checked::before, +input[name=light-state-value].checkbox-toggle:checked::before { + content: "ON"; +} + +/* module-thermostat */ +input[name=thermostatMode].checkbox-toggle::before { + --toggle-elem-size: 4em; + --toggle-bg-size: 3em; +} + +input[name=thermostatMode].checkbox-toggle::before { + --toggle-fg: hsl(0, 100%, 50%); + content: "HEATER"; +} + +input[name=thermostatMode].checkbox-toggle:checked::before { + --toggle-fg: hsl(180, 100%, 50%); + color: black; + content: "COOLER"; +} + +input[disabled].checkbox-toggle { + filter: grayscale(0.8); +} + +/* ----------------------------------------------------------------------------- + RF Bridge panel + -------------------------------------------------------------------------- */ + +#rfbNodes label { + width: 2em; + margin: 0 0 0 0; +} + +@media (min-width: 48em) { + #rfbNodes input { + width: 70%; + margin: 0 1em 10px 1em; + } + + #rfbNodes .pure-button-group { + letter-spacing: 0.15em; + } +} + +@media (max-width: 48em) { + #rfbNodes input { + width: 100%; + } + + #rfbNodes button { + width: 50%; + } +} + +/* ----------------------------------------------------------------------------- + Loading + -------------------------------------------------------------------------- */ + +.loading { + display: none; + height: 1em; + margin: 8px 0 0 10px; + width: 1em; + animation: 3s linear infinite reverse loading; +} + +@keyframes loading { + to { + rotate: 0deg; + } + from { + rotate: 360deg; + } +} + +/* ----------------------------------------------------------------------------- + Menu + -------------------------------------------------------------------------- */ + +#menu .small { + font-size: 60%; + padding-left: 9px; +} + +#menu div.footer { + color: #999; + font-size: 80%; + padding: 10px; +} +#menu div.footer a { + padding: 0; + text-decoration: none; +} + +/* ----------------------------------------------------------------------------- + Admin panel + -------------------------------------------------------------------------- */ + +#upgrade-progress { + display: none; + height: 20px; + margin-top: 10px; + width: 100%; +} + +#error-notification, +#uploader, +#downloader { + display: none; +} + +/* ----------------------------------------------------------------------------- + Wifi panel + -------------------------------------------------------------------------- */ + +#networks .pure-g, +#schedules .pure-g { + border-bottom: 1px solid #eee; + margin-bottom: 10px; + padding: 10px 0 10px 0; +} + +.schedule { + margin-bottom: 10px; +} + +.schedule .button-del-settings-group { + margin-left: auto; +} + +#networks .more { + display: none; +} + +#haConfig, +#scanResult { + margin-top: 10px; + display: none; + padding: 10px; +} + +/* ----------------------------------------------------------------------------- + Table + -------------------------------------------------------------------------- */ + +#rfm69-messages { + margin-bottom: 1em; +} + +summary { + font-weight: bold; +} + +.right { + text-align: right; +} + +.center { + text-align: center; +} + +.filtered { + color: rgb(202, 60, 60); + font-weight: bold; +} + +/* ----------------------------------------------------------------------------- + Logs + -------------------------------------------------------------------------- */ + +#cmd-output { + height: 400px; + margin-bottom: 10px; +} + +#cmd-input { + display: inline-block; +} + +/* ----------------------------------------------------------------------------- + Password input controls + -------------------------------------------------------------------------- */ +.password-reveal { + font-family: EmojiSymbols,Segoe UI Symbol; + background: rgba(0,0,0,0); + position: absolute; + display: inline-block; + float: right; + z-index: 50; + margin-top: 0.3em; + margin-left: -1.4em; + vertical-align: middle; + font-size: 1.2em; +} + +.password-reveal:after { + content: "👁"; +} + +input[type="password"] + .password-reveal { + color: rgba(205, 205, 205, 0.3); +} + +input[type="text"] + .password-reveal { + color: rgba(66, 184, 221, 0.8); +} + +.no-select { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +input::-ms-clear, +input::-ms-reveal { + display: none; +} + +/* css minifier must not combine these. + * style will not apply otherwise */ +input::-ms-input-placeholder { + color: #ccd; +} + +input::placeholder { + color: #ccc; +} + +#error-notification { + width: 100%; + box-shadow: 0 1px 2px 1px rgb(192 0 0 / 25%) +} + +/* ----------------------------------------------------------------------------- + Lights + -------------------------------------------------------------------------- */ + +#light-brightness, +#light-cct, +#light-channels, +#light-picker, +#light-state { + padding-top: 1em; +} + +#light.light-cct #light-channel-c, +#light.light-cct #light-channel-w, +#light.light-color #light-channel-b, +#light.light-color #light-channel-g, +#light.light-color #light-channel-r, +#light.light-color.light-white #light-channel-w { + display: none; +} + +#light-cct, +#light-picker { + display: none; +} + +#light.light-cct #light-cct, +#light.light-cct:not(.light-white) #light-channel-c, +#light.light-cct:not(.light-white) #light-channel-w, +#light.light-color.light-on:not(.light-cct) #light-picker { + display: block; +} diff --git a/code/html/src/index.html b/code/html/src/index.html new file mode 100644 index 00000000..bf48f6b5 --- /dev/null +++ b/code/html/src/index.html @@ -0,0 +1,201 @@ + + + + ESPurna 0.0.0 + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ +
+ + + + +
+
+
+

?

+

? ?

+

?

+
+ +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + Download backup .json + + + + diff --git a/code/html/src/index.mjs b/code/html/src/index.mjs new file mode 100644 index 00000000..2e96861f --- /dev/null +++ b/code/html/src/index.mjs @@ -0,0 +1,336 @@ +import { notifyError } from './errors.mjs'; +window.onerror = notifyError; + +import { + pageReloadIn, + randomString, + showPanel, + styleInject, +} from './core.mjs'; + +import { validatePassword, validateFormsPasswords } from './validate.mjs'; + +import { + askAndCallAction, + askAndCallReboot, + askAndCallReconnect, +} from './question.mjs'; + +import { + init as initSettings, + applySettings, + getData, + setChangedElement, + updateKeyValue, + updateVariables, + variableListeners, +} from './settings.mjs'; + +import { init as initWiFi } from './wifi.mjs'; +import { init as initGpio } from './gpio.mjs'; +import { init as initConnection, connect } from './connection.mjs'; + +import { init as initApi } from './api.mjs'; +import { init as initCurtain } from './curtain.mjs'; +import { init as initDebug } from './debug.mjs'; +import { init as initDomoticz } from './domoticz.mjs'; +import { init as initGarland } from './garland.mjs'; +import { init as initHa } from './ha.mjs'; +import { init as initLed } from './led.mjs'; +import { init as initLight } from './light.mjs'; +import { init as initLightfox } from './lightfox.mjs'; +import { init as initOta } from './ota.mjs'; +import { init as initRelay } from './relay.mjs'; +import { init as initRfm69 } from './rfm69.mjs'; +import { init as initRfbridge } from './rfbridge.mjs'; +import { init as initRules } from './rules.mjs'; +import { init as initSchedule } from './schedule.mjs'; +import { init as initSensor } from './sensor.mjs'; +import { init as initThermostat } from './thermostat.mjs'; +import { init as initThingspeak } from './thingspeak.mjs'; + +let KeepTime = null; + +let Ago = 0; +let Now = 0; + +const __title_cache = { + "hostname": "?", + "app_name": "ESPurna", + "app_version": "0.0.0", +}; + +function documentTitle(key, value) { + __title_cache[key] = value; + document.title = `${__title_cache.hostname} - ${__title_cache.app_name} ${__title_cache.app_version}`; +} + +function moduleVisible(module) { + styleInject([`.module-${module} { display: revert; }`]); +} + +function modulesVisible(modules) { + modules.forEach((module) => { + moduleVisible(module); + }); +} + +function modulesVisibleAll() { + document.querySelectorAll("[class*=module-]") + .forEach((elem) => { + elem.style.display = "revert"; + }); +} + +function deviceClock(value) { + Now = parseInt(value, 10); +} + +function onAction(value) { + if ("reload" === value) { + pageReloadIn(1000); + } +} + +function onMessage(value) { + window.alert(value); +} + +function initWebMode(value) { + const initial = (1 === value); + + const layout = document.getElementById("layout"); + layout.style.display = initial ? "none" : "inherit"; + + const password = document.getElementById("password"); + password.style.display = initial ? "inherit" : "none"; +} + +function deviceUptime() { + Ago = 0; +} + +function keepTime() { + document.querySelector("span[data-key='app:ago']").textContent = Ago; + ++Ago; + + if (0 === Now) { + return; + } + + let text = (new Date(Now * 1000)) + .toISOString().substring(0, 19) + .replace("T", " "); + + document.querySelector("span[data-key='app:now']").textContent = text; + ++Now; +} + +function listeners() { + return { + "action": (_, value) => { + onAction(value); + }, + "app_name": documentTitle, + "app_version": documentTitle, + "hostname": documentTitle, + "message": (_, value) => { + onMessage(value); + }, + "modulesVisible": (_, value) => { + modulesVisible(value); + }, + "now": (_, value) => { + deviceClock(value); + }, + "uptime": deviceUptime, + "webMode": (_, value) => { + initWebMode(value); + }, + }; +} + +function generatePassword() { + let password = ""; + do { + password = randomString(10); + } while (!validatePassword(password)); + + return password; +} + +function generatePasswordsForForm(form) { + const value = generatePassword(); + for (let elem of [form.elements.adminPass0, form.elements.adminPass1]) { + setChangedElement(elem); + elem.type = "text"; + elem.value = value; + } +} + +function initSetupPassword(form) { + document.querySelector(".button-setup-password") + .addEventListener("click", (event) => { + event.preventDefault(); + const forms = [form]; + if (validateFormsPasswords(forms, true)) { + applySettings(getData(forms, true, false)); + } + }); + document.querySelector(".button-generate-password") + .addEventListener("click", (event) => { + event.preventDefault(); + generatePasswordsForForm(form); + }); +} + +function toggleMenu(event) { + event.preventDefault(); + event.target.parentElement.classList.toggle("active"); +} + +function toggleVisiblePassword(event) { + let elem = event.target.previousElementSibling; + if (elem.type === "password") { + elem.type = "text"; + } else { + elem.type = "password"; + } +} + +function onJsonPayload(event) { + if (!KeepTime) { + KeepTime = setInterval(keepTime, 1000); + } + + try { + const parsed = JSON.parse( + event.data + .replace(/\n/g, "\\n") + .replace(/\r/g, "\\r") + .replace(/\t/g, "\\t")); + updateVariables(parsed); + } catch (e) { + notifyError(null, null, 0, 0, e); + } +} + +function init() { + // Initial page, when webMode only allows to change the password + initSetupPassword(document.forms["form-setup-password"]); + document.querySelectorAll(".password-reveal") + .forEach((elem) => { + elem.addEventListener("click", toggleVisiblePassword); + }); + + // Sidebar menu & buttons + document.querySelector(".menu-link") + .addEventListener("click", toggleMenu); + document.querySelectorAll(".pure-menu-link") + .forEach((elem) => { + elem.addEventListener("click", showPanel); + }); + + document.querySelector(".button-reconnect") + .addEventListener("click", askAndCallReconnect); + document.querySelectorAll(".button-reboot") + .forEach((elem) => { + elem.addEventListener("click", askAndCallReboot); + }); + + // Generic action sender + document.querySelectorAll(".button-simple-action") + .forEach((elem) => { + elem.addEventListener("click", askAndCallAction); + }); + + variableListeners(listeners()); + + initConnection(); + initSettings(); + initWiFi(); + initGpio(); + + if (MODULE_OTA) { + initOta(); + } + + if (MODULE_HA) { + initHa(); + } + + if (MODULE_SNS) { + initSensor(); + } + + if (MODULE_GARLAND) { + initGarland(); + } + + if (MODULE_THERMOSTAT) { + initThermostat(); + } + + if (MODULE_LIGHTFOX) { + initLightfox(); + } + + if (MODULE_RELAY) { + initRelay(); + } + + if (MODULE_RFM69) { + initRfm69(); + } + + if (MODULE_RFB) { + initRfbridge(); + } + + if (MODULE_CMD || MODULE_DBG) { + initDebug(); + } + + if (MODULE_API) { + initApi(); + } + + if (MODULE_LED) { + initLed(); + } + + if (MODULE_LIGHT) { + initLight(); + } + + if (MODULE_SCH) { + initSchedule(); + } + + if (MODULE_RPN) { + initRules(); + } + + if (MODULE_RELAY && MODULE_DCZ) { + initDomoticz(); + } + + if (MODULE_RELAY && MODULE_TSPK) { + initThingspeak(); + } + + if (MODULE_CURTAIN) { + initCurtain(); + } + + // don't autoconnect w/ localhost or file:// + if (MODULE_LOCAL) { + updateKeyValue("webMode", 0); + modulesVisibleAll(); + return; + } + + connect(onJsonPayload); +} + +document.addEventListener("DOMContentLoaded", init); diff --git a/code/html/src/led.mjs b/code/html/src/led.mjs new file mode 100644 index 00000000..9d0bbb02 --- /dev/null +++ b/code/html/src/led.mjs @@ -0,0 +1,53 @@ +import { + addSimpleEnumerables, + fromSchema, + groupSettingsOnAdd, + idForContainer, + variableListeners, +} from './settings.mjs'; + +import { + fillTemplateLineFromCfg, + loadConfigTemplate, + mergeTemplate, +} from './template.mjs'; + +function addNode(cfg) { + let container = document.getElementById("leds"); + + let id = idForContainer(container); + if (id < 0) { + return; + } + + let line = loadConfigTemplate("led-config"); + line.querySelector("span").textContent = id; + fillTemplateLineFromCfg(line, id, cfg); + + mergeTemplate(container, line); +} + +function listeners() { + return { + "ledConfig": (_, value) => { + let container = document.getElementById("leds"); + if (container.childElementCount > 0) { + return; + } + + value.leds.forEach((entries) => { + addNode(fromSchema(entries, value.schema)); + }); + + addSimpleEnumerables("led", "LED", value.leds.length); + }, + }; +}; + +export function init() { + variableListeners(listeners()); + + groupSettingsOnAdd("leds", () => { + addNode(); + }); +} diff --git a/code/html/src/light.mjs b/code/html/src/light.mjs new file mode 100644 index 00000000..b840ecd4 --- /dev/null +++ b/code/html/src/light.mjs @@ -0,0 +1,298 @@ +import { default as iro } from '@jaames/iro'; +import { styleInject, styleVisible } from './core.mjs'; +import { sendAction } from './connection.mjs'; +import { mergeTemplate, loadTemplate } from './template.mjs'; +import { addEnumerables, variableListeners } from './settings.mjs'; + +let ColorPicker = null; + +function colorToHsvString(color) { + var h = String(Math.round(color.hsv.h)); + var s = String(Math.round(color.hsv.s)); + var v = String(Math.round(color.hsv.v)); + return h + "," + s + "," + v; +} + +function hsvStringToColor(hsv) { + var parts = hsv.split(","); + return { + h: parseInt(parts[0]), + s: parseInt(parts[1]), + v: parseInt(parts[2]) + }; +} + +function colorSlider(type) { + return {component: iro.ui.Slider, options: {sliderType: type}}; +} + +function colorWheel() { + return {component: iro.ui.Wheel, options: {}}; +} + +function colorBox() { + return {component: iro.ui.Box, options: {}}; +} + +function colorUpdate(mode, value) { + if ("rgb" === mode) { + ColorPicker.color.hexString = value; + } else if ("hsv" === mode) { + ColorPicker.color.hsv = hsvStringToColor(value); + } +} + +function lightStateHideRelay(id) { + styleInject([ + styleVisible(`.relay-control-${id}`, false) + ]); +} + +function initLightState() { + const toggle = document.getElementById("light-state-value"); + toggle.addEventListener("change", (event) => { + event.preventDefault(); + sendAction("light", {state: event.target.checked}); + }); +} + +function updateLightState(value) { + const state = document.getElementById("light-state-value"); + state.checked = value; + colorPickerState(value); +} + +function colorPickerState(value) { + const light = document.getElementById("light"); + if (value) { + light.classList.add("light-on"); + } else { + light.classList.remove("light-on"); + } +} + +function colorEnabled(value) { + if (value) { + lightAddClass("light-color"); + } +} + +function colorInit(value) { + // TODO: ref. #2451, input:change causes pretty fast updates. + // either make sure we don't cause any issue on the esp, or switch to + // color:change instead (which applies after input ends) + let change = () => { + }; + + const rules = []; + const layout = []; + + // RGB + if (value) { + layout.push(colorWheel()); + change = (color) => { + sendAction("light", { + rgb: color.hexString + }); + }; + // HSV + } else { + layout.push(colorBox()); + layout.push(colorSlider("hue")); + layout.push(colorSlider("saturation")); + change = (color) => { + sendAction("light", { + hsv: colorToHsvString(color) + }); + }; + } + + layout.push(colorSlider("value")); + styleInject(rules); + + ColorPicker = new iro.ColorPicker("#light-picker", {layout}); + ColorPicker.on("input:change", change); +} + +function updateMireds(value) { + const mireds = document.getElementById("mireds-value"); + if (mireds !== null) { + mireds.value = value; + mireds.nextElementSibling.textContent = value; + } +} + +function lightAddClass(className) { + const light = document.getElementById("light"); + light.classList.add(className); +} + +// White implies we should hide one or both white channels +function whiteEnabled(value) { + if (value) { + lightAddClass("light-white"); + } +} + +// When there are CCT controls, no need for raw white channel sliders +function cctEnabled(value) { + if (value) { + lightAddClass("light-cct"); + } +} + +function cctInit(value) { + const control = loadTemplate("mireds-control"); + + const slider = control.getElementById("mireds-value"); + slider.setAttribute("min", value.cold); + slider.setAttribute("max", value.warm); + slider.addEventListener("change", (event) => { + event.target.nextElementSibling.textContent = event.target.value; + sendAction("light", {mireds: event.target.value}); + }); + + const datalist = control.querySelector("datalist"); + datalist.innerHTML = ` + + + `; + + mergeTemplate(document.getElementById("light-cct"), control); +} + +function updateLight(data) { + for (const [key, value] of Object.entries(data)) { + switch (key) { + case "state": + updateLightState(value); + break; + + case "state_relay_id": + lightStateHideRelay(value); + break; + + case "channels": + initLightState(); + initBrightness(); + initChannels(value); + break; + + case "cct": + cctInit(value); + break; + + case "brightness": + updateBrightness(value); + break; + + case "values": + updateChannels(value); + break; + + case "rgb": + case "hsv": + colorUpdate(key, value); + break; + + case "mireds": + updateMireds(value); + break; + } + } +} + +function onChannelSliderChange(event) { + event.target.nextElementSibling.textContent = event.target.value; + + let channel = {} + channel[event.target.dataset["id"]] = event.target.value; + + sendAction("light", {channel}); +} + +function onBrightnessSliderChange(event) { + event.target.nextElementSibling.textContent = event.target.value; + sendAction("light", {brightness: event.target.value}); +} + +function initBrightness() { + const template = loadTemplate("brightness-control"); + + const slider = template.getElementById("brightness-value"); + slider.addEventListener("change", onBrightnessSliderChange); + + mergeTemplate(document.getElementById("light-brightness"), template); +} + +function updateBrightness(value) { + const brightness = document.getElementById("brightness-value"); + if (brightness !== null) { + brightness.value = value; + brightness.nextElementSibling.textContent = value; + } +} + +function initChannels(channels) { + const container = document.getElementById("light-channels"); + const enumerables = []; + + channels.forEach((tag, channel) => { + const line = loadTemplate("channel-control"); + line.querySelector("span.slider").dataset["id"] = channel; + line.querySelector("div").setAttribute("id", `light-channel-${tag.toLowerCase()}`); + + const slider = line.querySelector("input.slider"); + slider.dataset["id"] = channel; + slider.addEventListener("change", onChannelSliderChange); + + const label = `Channel #${channel} (${tag.toUpperCase()})`; + line.querySelector("label").textContent = label; + mergeTemplate(container, line); + + enumerables.push({"id": channel, "name": label}); + }); + + addEnumerables("Channels", enumerables); +} + +function updateChannels(values) { + const container = document.getElementById("light"); + if (!container) { + return; + } + + values.forEach((value, channel) => { + const slider = container.querySelector(`input.slider[data-id='${channel}']`); + if (!slider) { + return; + } + + slider.value = value; + slider.nextElementSibling.textContent = value; + }); +} + +function listeners() { + return { + "light": (_, value) => { + updateLight(value); + }, + "useWhite": (_, value) => { + whiteEnabled(value); + }, + "useCCT": (_, value) => { + cctEnabled(value); + }, + "useColor": (_, value) => { + colorEnabled(value); + }, + "useRGB": (_, value) => { + colorInit(value); + }, + }; +} + +export function init() { + variableListeners(listeners()); +} diff --git a/code/html/src/lightfox.mjs b/code/html/src/lightfox.mjs new file mode 100644 index 00000000..d177dd2f --- /dev/null +++ b/code/html/src/lightfox.mjs @@ -0,0 +1,16 @@ +import { sendAction } from './connection.mjs'; + +function learn() { + sendAction("lightfoxLearn"); +} + +function clear() { + sendAction("lightfoxClear"); +} + +export function init() { + document.querySelector(".button-lightfox-learn") + .addEventListener("click", learn); + document.querySelector(".button-lightfox-clear") + .addEventListener("click", clear); +} diff --git a/code/html/src/menu-list.html b/code/html/src/menu-list.html new file mode 100644 index 00000000..5360d60e --- /dev/null +++ b/code/html/src/menu-list.html @@ -0,0 +1,77 @@ + diff --git a/code/html/src/ota.mjs b/code/html/src/ota.mjs new file mode 100644 index 00000000..5fc5b1c3 --- /dev/null +++ b/code/html/src/ota.mjs @@ -0,0 +1,167 @@ +import { notifyError } from './errors.mjs'; +import { upgradeUrl } from './connection.mjs'; +import { variableListeners } from './settings.mjs'; + +let FreeSize = 0; + +/** + * @returns {HTMLInputElement} + */ +function buttonUpgrade() { + return document.querySelector(".button-upgrade"); +} + +/** + * @param {number} flash_mode + * @returns string + */ +function describeFlashMode(flash_mode) { + if ((0 <= flash_mode) && (flash_mode <= 3)) { + const modes = ['QIO', 'QOUT', 'DIO', 'DOUT']; + return `${modes[flash_mode]} (${flash_mode})`; + } + + return `Unknown flash mode ${flash_mode}`; +} + +/** + * @param {Uint8Array} buffer + * @returns boolean + */ +function isGzip(buffer) { + return (0x1f === buffer[0]) && (0x8b === buffer[1]); +} + +/** + * @param {Uint8Array} buffer + * @returns number + */ +function flashMode(buffer) { + return buffer[2]; +} + +/** + * @param {Uint8Array} buffer + * @returns boolean + */ +function checkMagic(buffer) { + return 0xe9 === buffer[0]; +} + +/** + * @param {Uint8Array} buffer + * @returns boolean + */ +function checkFlashMode(buffer) { + return 0x03 === flashMode(buffer); +} + +function notifyValueError(event) { + notifyError(`ERROR while attempting OTA upgrade - XHR ${event.type}`, null, 0, 0, null); +} + +/** + * @param {PointerEvent} event + */ +function onButtonClick(event) { + event.preventDefault(); + + const elem = document.querySelector("input[name='upgrade']"); + const file = elem.files[0]; + + const data = new FormData(); + data.append("upgrade", file, file.name); + + const xhr = new XMLHttpRequest(); + + xhr.addEventListener("error", notifyValueError, false); + xhr.addEventListener("abort", notifyValueError, false); + + const progress = document.getElementById("upgrade-progress"); + xhr.addEventListener("load", + () => { + progress.style.display = "none"; + if ("OK" === xhr.responseText) { + alert("Firmware image uploaded, board rebooting. This page will be refreshed in 5 seconds"); + } else { + alert(`ERROR while attempting OTA upgrade - ${xhr.status.toString()} ${xhr.statusText}, ${xhr.responseText}`); + } + }, false); + + xhr.upload.addEventListener("progress", + (event) => { + progress.style.display = "inherit"; + if (event.lengthComputable) { + progress.value = event.loaded; + progress.max = event.total; + } + }, false); + + xhr.open("POST", upgradeUrl().href); + xhr.send(data); +} + +/** + * @param {number} size + * @returns {number} + */ +function roundedSize(size) { + return (size - (size % 4096)) + 4096; +} + +/** + * @param {InputEvent} event + */ +async function onFileChanged(event) { + event.preventDefault(); + + const file = event.target.files[0]; + document.querySelector("input[name='filename']").value = file.name; + + const need = roundedSize(file.size); + if ((FreeSize !== 0) && (need > FreeSize)) { + alert(`OTA .bin cannot be uploaded. Need at least ${need}bytes of free space, ${FreeSize}bytes available.`); + return; + } + + const buffer = await file.slice(0, 3).arrayBuffer(); + const header = new Uint8Array(buffer); + + if (!isGzip(header)) { + if (!checkMagic(header)) { + alert("Invalid binary header, does not look like firmware .bin"); + return; + } + + if (!checkFlashMode(header)) { + alert(describeFlashMode(flashMode(header))); + } + } + + const button = buttonUpgrade(); + button.disabled = false; +} + +function listeners() { + return { + "free_size": (_, value) => { + FreeSize = parseInt(value, 10); + }, + }; +} + +export function init() { + variableListeners(listeners()); + + const upgrade = document.querySelector("input[name='upgrade']"); + document.querySelector(".button-upgrade-browse") + .addEventListener("click", () => { + upgrade.click(); + }); + + upgrade.addEventListener("change", onFileChanged); + + const button = buttonUpgrade(); + button.addEventListener("click", onButtonClick); + button.disabled = true; +} diff --git a/code/html/src/panel-admin.html b/code/html/src/panel-admin.html new file mode 100644 index 00000000..16531706 --- /dev/null +++ b/code/html/src/panel-admin.html @@ -0,0 +1,102 @@ +
+
+ +
+

ADMINISTRATION

+

Device administration and security settings

+
+ +
+ +
+ Settings + +
+ + + +
+
+ +
+ Access + +
+ + + +
+ +
+ + + +
+ +
+ + The administrator password is used to access this web interface (user 'admin'), but also to connect to the device when in AP mode or to flash a new firmware over-the-air (OTA).
+ It must be 8..63 characters (numbers and letters and any of these special characters: _,.;:~!?@#$%^&*<>\|(){}[]) and have at least one lowercase and one uppercase or one number.
+
+ +
+ +
+ Web server + +
+ + + + This is the port for the web interface and API requests. + If different than 80 (standard HTTP port) you will have to add it explicitly to your requests: http://myip:myport/ + +
+ +
+ + +
+
+ +
+ TELNET + +
+ + + + Turn ON to be able to telnet to your device while connected to your home router.
TELNET is always enabled in AP mode. +
+
+ +
+ + + + Ask for the device password when starting telnet session + +
+
+ +
+ OTA + +
+ + + The device has ? bytes available for OTA updates. If your image is larger than this consider doing a two-step update. +
+ +
+
+ + + + +
+
+ +
+
+
diff --git a/code/html/src/panel-api.html b/code/html/src/panel-api.html new file mode 100644 index 00000000..255b044f --- /dev/null +++ b/code/html/src/panel-api.html @@ -0,0 +1,41 @@ +
+
+ +
+

HTTP API

+
+ +
+
+ Settings + +
+ + + + Use /api/list to see all of available endpoints. + +
+ +
+ + + + If enabled, API requests that contain data (for example, to modify the relay status) must be done using PUT. + If disabled you can issue them as GET requests and add request parameters as http://$url/api/path?key=value. Do not enable unless it is really necessary + +
+ +
+ + + + + This is the authentication token you will have to pass with every HTTP request. + All API calls must either contain the Api-Key header or the apikey request parameter with the value above. + +
+
+
+
+
diff --git a/code/html/src/panel-curtain.html b/code/html/src/panel-curtain.html new file mode 100644 index 00000000..1ac2608c --- /dev/null +++ b/code/html/src/panel-curtain.html @@ -0,0 +1,45 @@ +
+
+ +
+

CURTAIN

+

Curtain configuration

+
+ +
+ +
+ General + +
+ + + + Define your curtain type. It adapts the graphical view in status menu. + +
+ +
+ + + + Define the initial position of the curtain after a reboot or power loss. + +
+ +
+
+ +
+
+
diff --git a/code/html/src/panel-dcz.html b/code/html/src/panel-dcz.html new file mode 100644 index 00000000..9bb8d762 --- /dev/null +++ b/code/html/src/panel-dcz.html @@ -0,0 +1,54 @@ +
+
+ +
+

DOMOTICZ

+

+ Configure the connection to your Domoticz server. +

+
+ +
+ +
+ General + +
+ + +
+ +
+ + +
+ +
+ + +
+
+ +
+ Lights (IN messages only) +
+ + +
+
+ +
+ Sensors & actuators + + + Set IDX to 0 to disable notifications from that component. + + +
+ +
+
+
+ +
+
diff --git a/code/html/src/panel-debug.html b/code/html/src/panel-debug.html new file mode 100644 index 00000000..bf31f9c2 --- /dev/null +++ b/code/html/src/panel-debug.html @@ -0,0 +1,39 @@ +
+
+ +
+

DEBUG LOG AND TERMINAL

+

+ Interactive console of the device +

+
+ +
+ +
+ +
+ + Write a command and press ENTER (or click the button) to execute it on the device. The output will be shown in the debug text area below. Type HELP or COMMANDS to see available commands. + +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
diff --git a/code/html/src/panel-garland.html b/code/html/src/panel-garland.html new file mode 100644 index 00000000..d95ee8cc --- /dev/null +++ b/code/html/src/panel-garland.html @@ -0,0 +1,30 @@ +
+
+ +
+

GARLAND

+

Garland configuration

+
+ +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + + +
+
+
diff --git a/code/html/src/panel-general.html b/code/html/src/panel-general.html new file mode 100644 index 00000000..5999b8bc --- /dev/null +++ b/code/html/src/panel-general.html @@ -0,0 +1,117 @@ +
+
+ +
+

GENERAL

+

General configuration values

+
+ +
+ +
+ Device + +
+ + + + This name will identify this device in your network (this name will be used as DHCP hostname, thus the device will be accessible as http://<hostname>). Notice that this value may contain only the ASCII letters 'a' through 'z' (in a case-insensitive manner), digits '0' through '9', and the hyphen ('-'). The hostname can neither start or end with a hyphen.
+ For this setting to take effect only on initial connection to the network, make sure to Reconnect if the device is already connected. +
+
+ +
+ + + + Human-friendly name for this device. It will be displayed in the WebUI and reported with the heartbeat.
+ For example, it can be used to specify the device location or it's purpose. +
+
+ +
+ + + + Delay in milliseconds to detect a double or triple click (from 0 to 1000ms).
+ The lower this number the faster the device will respond to button clicks but the harder it will be to get the expected event. + Increase this number if you are having trouble triggering the event. + Set this value to 0 to disable repeat detection, device will respond immediately to a single button click. When using default configuration, consider that this will disable the SoftAP button action.
+ You will have to reboot the device to apply this setting. +
+
+
+ +
+ Alexa +
+ + + + Advertise on the network as an Alexa compatible device + +
+ +
+ + + + Instead of the global hostname setting, use this string to identify the device + +
+
+ +
+ Heartbeat + +
+ + +
+ +
+ + + + How often the heartbeat messages should be sent (number of seconds). + +
+ +
+ + + + Select which message types will be sent out with the periodic report. + +
+
+ +
+
+
diff --git a/code/html/src/panel-ha.html b/code/html/src/panel-ha.html new file mode 100644 index 00000000..9f4f7791 --- /dev/null +++ b/code/html/src/panel-ha.html @@ -0,0 +1,83 @@ +
+
+ +
+

HOME ASSISTANT

+

+ Automatically add this device to your Home Assistant though the MQTT discovery.
+ Refer to the official documentation on how to enable it for the HA instance. + +

+
+ +
+
+ + Discovery + +
+ + + + Publish discovery messages after establishing MQTT connection and when birth message is received. + +
+ +
+ +
+ MQTT + +
+ + + + The prefix for the discovery topic e.g. + + <prefix>/switch/espurna-123456/config + + +
+ +
+ + +
+ +
+ + + + By default, Home Assistant sends 'online' and 'offline' to homeassistant/status. Instead of sending discovery message only when device makes MQTT connection, also publish it every time this topic receives the specified payload.
+ See MQTT integration documentation for more information. +
+
+ +
+ + + + Whether to set Retain flag on outgoing MQTT messages. When enabled, published discovery messages for the current state are be persisted by the broker and would be received by subscribers even when the device is offline. + +
+ +
+ +
+ Publish & Clear + + Manually trigger discovery messages for the configured + + <prefix> + + +
+ + +
+
+ +
+ +
+
diff --git a/code/html/src/panel-idb.html b/code/html/src/panel-idb.html new file mode 100644 index 00000000..f8acb1a3 --- /dev/null +++ b/code/html/src/panel-idb.html @@ -0,0 +1,55 @@ +
+
+ +
+

INFLUXDB

+

+ Configure the connection to your InfluxDB server. Every time device status changes, values will be sent to the database server. +

+
+ +
+ +
+ + Configuration + +
+ + +
+ +
+ + + + IP or hostname of the influxdb server + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + + +
+ +
+
+ +
+
diff --git a/code/html/src/panel-led.html b/code/html/src/panel-led.html new file mode 100644 index 00000000..77fb2963 --- /dev/null +++ b/code/html/src/panel-led.html @@ -0,0 +1,34 @@ +
+
+ +
+

LED

+

Notification LED configuration

+
+ +
+ +
+ + Available modes +
    +
  1. WiFi status will blink at 1Hz when attempting to connect. If successfully connected it will briefly blink every 5 seconds if in STA mode, or every second if the device is still in AP mode.
  2. +
  3. Follow switch will force the LED to follow the status of a given switch (defaults to the 1st switch, use the selector to change it).
  4. +
  5. Inverse switch is same as the above, but using the inverse status as status of the LED.
  6. +
  7. Find me will turn the LED ON when all relays are OFF. This is meant to locate the device at night.
  8. +
  9. Find me & WiFi will also follow the WiFi status, and stay mostly ON when relays are OFF and mostly OFF when any of them are ON.
  10. +
  11. Relay status will turn the LED ON whenever any switch is ON, and OFF otherwise. This is global status notification.
  12. +
  13. Relay status & WiFi will follow the WiFi status but will stay mostly OFF when relays are OFF, and mostly ON when any of them are ON.
  14. +
  15. Manually managed will let you manage the LED status through the API. For example, MQTT will subscribe to the "<base_topic>/led/0/set", sending a payload of 0, 1 or 2 (to toggle it) will change the LED status accordingly.
  16. +
  17. Always ON and Always OFF modes are self-explanatory.
  18. +
+ +
+ +
+
+ +
+
+
+
diff --git a/code/html/src/panel-light.html b/code/html/src/panel-light.html new file mode 100644 index 00000000..6fa4938f --- /dev/null +++ b/code/html/src/panel-light.html @@ -0,0 +1,116 @@ +
+
+ +
+

LIGHTS

+

Lights configuration

+
+ +
+ +
+ +
+ + + + Save channel & brightness values in settings + +
+ +
+ + + + (ms) + + + When Save values is enabled, wait for the specified time before the values are actually saved. + +
+ +
+ + + + Enable color picker. +
This option hides R (red), G (green) and B (blue) channel sliders. +
+
+ +
+ + + + Use RGB color picker. When disabled (default), use HSV (hue-saturation-value). + +
+ +
+ + + + When device is configured as RGB + WW (warm white) or RGB + WW CC (cold white), use RGB to balance the "warm white" channel output, leaving "Cold channel" for manual adjustments. +
This option hides RGB and WW sliders! +
+
+ +
+ + + + Balance between "cold" and "warm" color temperature when channel configuration has WW (warm white) and CW (cold white) channels available. When RGB is available but Use white channel(s) is disabled, replace RGB values with an approximation based on the current "Mireds" value. Otherwise, RGB channels will be disabled. +
This option hides either WW and CW channel sliders, or RGB color picker. +
+
+ +
+ + + + Instead of RAW channel value, use a gamma-corrected one. Will only apply to RGB channels and the result may vary between devices. + +
+ +
+ + + + If enabled, channel changes will be smoothed. + +
+ +
+ + + + (ms) + + + Time to transition from one color to another + +
+ +
+ + + + (ms) + + + Time to transition from one step to the next. Must be smaller than the transition time. + +
+ +
+ + + + Sync channel values between multiple devices. Notice that every device that is subscribed to the topic should be configured to use the same brightness. + +
+ +
+
+
+
diff --git a/code/html/src/panel-lightfox.html b/code/html/src/panel-lightfox.html new file mode 100644 index 00000000..95af76b9 --- /dev/null +++ b/code/html/src/panel-lightfox.html @@ -0,0 +1,25 @@ +
+
+ +
+

LIGHTFOX RF

+

+ LightFox RF configuration

+ This page allows you to control LightFox RF receiver options.

+ To learn a new code click LEARN, wait for 3 seconds then press a button on the remote, one of the relays will toggle. If no device relay toggles the code has not been properly learnt, keep trying!

+ Delete all the codes by clicking the CLEAR button and wait for 10 seconds.

+

+
+ +
+
+ RF Actions +
+ + +
+
+
+ +
+
diff --git a/code/html/src/panel-mqtt.html b/code/html/src/panel-mqtt.html new file mode 100644 index 00000000..22dcaa07 --- /dev/null +++ b/code/html/src/panel-mqtt.html @@ -0,0 +1,135 @@ +
+
+ +
+

MQTT

+

Configure message broker that will be used to send and receive messages over the network.

+
+ +
+ +
+ Broker + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ Leave blank when broker allows anonymous connections. You can also use the following placeholders: {hostname}, {mac} +
+
+ +
+ + + +
+ +
+ + + + When left blank, the firmware will generate a Client ID based on the MAC address of the chip. The following placeholders are also supported: {hostname}, {mac} + +
+ +
+ + + + (seconds) + +
+ +
+ + +
+ +
+ + + + This is the fingerprint for the SSL certificate of the server.
+ You can get it using https://www.grc.com/fingerprints.htm (if it is publically available)
+ or, using openssl. For example, on a Linux / macOS machine:
+ $ echo -n | openssl s_client -connect <host>:<port> 2>∧1 | openssl x509 -noout -fingerprint -sha1 | cut -d\= -f2 +
+
+ +
+ +
+ Device settings + +
+ + + + This is the root topic for this device. The following placeholders can be used: {hostname} and {mac} to dynamically set the value to the device hostname and MAC address respectively. Subscribe to <root>/# to see all published topics. + +
+ +
+ + + + Level of assurance for delivery of the outgoing messages. Notice that messages are not (currently) cached on the device, QoS levels >0 only guarantee delivery after the broker receives the message. + +
+ +
+ + + + Store the last published message (including the device status) on the server, so it can be delivered to any future subscribers that match the message topic. + +
+
+ +
+ JSON + +
+ + + + Causes all single <topic> messages published by the device, except the device status, to be sent in a JSON payload. For example:
+ {"relay/0": 1, "hostname": "ESPURNA-123456", "timestamp": "..."}
+ All messages will be queued and sent with a delay (100ms by default). Notice that all nested <topic>: <message> are published as-is, only the heartbeat payload will include all of topics at once. +
+
+ +
+ + + + JSON message will be sent to <root>/<name> topic (data by default). + +
+ + +
+
+ +
+
diff --git a/code/html/src/panel-nofuss.html b/code/html/src/panel-nofuss.html new file mode 100644 index 00000000..eb74bcdb --- /dev/null +++ b/code/html/src/panel-nofuss.html @@ -0,0 +1,27 @@ +
+
+ +
+

NoFUSS

+

Automatically upgrade the firmware using a NOFUSS server. See mcspr/nofuss for more details.

+
+ +
+
+
+ + +
+ +
+ + + + IP or hostname of the NoFUSS server that will be used for the upgrades. + +
+
+
+ +
+
diff --git a/code/html/src/panel-ntp.html b/code/html/src/panel-ntp.html new file mode 100644 index 00000000..1c834cec --- /dev/null +++ b/code/html/src/panel-ntp.html @@ -0,0 +1,68 @@ +
+
+ +
+

NTP

+

Synchronize device time with a remote server

+
+ +
+ +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + + POSIX TZ variable, defaults to UTC0 aka "Coordinated Universal Time". For example, basic offset is expressed as either UTC2 (meaning "UTC minus 2 hours"), or UTC-2 ("UTC plus 2 hours"). For the list of possible values based on IANA Time Zone Database, see our wiki entry. + For the technical documentation and more complicated examples, see libc tzset(3) manual page + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+
diff --git a/code/html/src/panel-password.html b/code/html/src/panel-password.html new file mode 100644 index 00000000..416d8a55 --- /dev/null +++ b/code/html/src/panel-password.html @@ -0,0 +1,32 @@ +
+
+

SECURITY

+

Before using this device you have to change the default password for the user admin. This password will be used for the AP mode hotspot, the web interface (where you are now) and the over-the-air updates. + Password must be 8…63 characters (numbers and letters and any of these special characters: _,.;:~!?@#$%^&*<>\|(){}[]) and have at least one lowercase and one uppercase or one number.

+
+ +
+ +
+ +
+
+ + + +
+ +
+ + + +
+ + + +
+ +
+ +
+
diff --git a/code/html/src/panel-relay.html b/code/html/src/panel-relay.html new file mode 100644 index 00000000..34f67b43 --- /dev/null +++ b/code/html/src/panel-relay.html @@ -0,0 +1,48 @@ +
+
+ +
+

RELAYS

+

Relay configuration

+
+ +
+ +
+ + Synchronization + +
+ + + + Defines how the multiple relays should be synchronized. + +
+ +
+ + + + (ms) Wait for the specified time before applying the relay status, when multiple relays change simultaneously. + +
+ +
+ +
+ Individual relay settings + +
+
+
+ +
+
+
diff --git a/code/html/src/panel-rfb.html b/code/html/src/panel-rfb.html new file mode 100644 index 00000000..9c2c512d --- /dev/null +++ b/code/html/src/panel-rfb.html @@ -0,0 +1,59 @@ +
+
+ +
+

RF BRIDGE

+
+ +
+
+ + Configuration + + Configure RF code associations for a basic 433 RF recevier, or the device like Sonoff RFBridge 433.

+ To learn a new code click LEARN (the Sonoff RFBridge will beep) then press a button on the remote, the new code should show up (and the RFBridge will double beep). If the device double beeps but the code does not update it has not been properly learnt. Keep trying.

+ Modify or create new codes manually and then click SAVE to store them in the device memory. If your controlled device uses the same code to switch ON and OFF, learn the code with the ON button and copy paste it to the OFF input box, then click SAVE on the last one to store the value.

+ Delete any code clicking the FORGET button. +

You can also specify any RAW code. For reference see possible commands for Sonoff RF Bridge EFM8BB1 (original firmware supports codes from 0xA0 to 0xA5). +
+ +
+ RF Codes +
+
+ +
+ Transmition + +
+ + + + Number of times to repeat the outgoing transmission + +
+
+ +
+ Pin configuration + +
+ + + + Set to NONE to disable the receiver. + +
+ +
+ + + + Set to NONE to disable the transmitter. + +
+
+
+ +
+
diff --git a/code/html/src/panel-rfm69-mapping.html b/code/html/src/panel-rfm69-mapping.html new file mode 100644 index 00000000..11370747 --- /dev/null +++ b/code/html/src/panel-rfm69-mapping.html @@ -0,0 +1,33 @@ +
+
+ +
+

MAPPING

+

+ Configure the map between nodeID/key and MQTT topic. Messages from the given nodeID with the given key will be forwarded to the specified topic. + You can also configure a default topic using {nodeid} and {key} as placeholders, if the default topic is empty messages without defined map will be discarded. +

+
+ +
+
+ Default topic + +
+ + + Default MQTT Topic. Available placeholders: {nodeid} and {key} + +
+
+ +
+ Specific topics +
+
+ +
+
+ +
+
diff --git a/code/html/src/panel-rfm69-messages.html b/code/html/src/panel-rfm69-messages.html new file mode 100644 index 00000000..9983c500 --- /dev/null +++ b/code/html/src/panel-rfm69-messages.html @@ -0,0 +1,39 @@ +
+
+
+

MESSAGES

+

+ Messages being received. Previous messages are not displayed. + You have to keep the page open in order to keep receiving them. + You can filter/unfilter by clicking on the values. + Left click on a value to show only rows that match that value, middle click to show all rows but those matching that value. + Filtered colums have red headers. +

+
+ +
+ + + + + + + + + + + + + + + + +
TimestampPacketIDSenderIDTargetIDKeyValueRSSIDuplicatesMissing
+
+ + + +
+
+
+
diff --git a/code/html/src/panel-rpn.html b/code/html/src/panel-rpn.html new file mode 100644 index 00000000..c8a36ef8 --- /dev/null +++ b/code/html/src/panel-rpn.html @@ -0,0 +1,52 @@ +
+
+ +
+

RULES

+

+ Here you can configure advanced rules based on RPN expressions. Check out the wiki page about the RPN Rules module to know how to use them. +

+
+ +
+ +
+ + Configuration + +
+ + + + When set, variables will not be forcibly reset to null after the last rule finishes execution and garbage collected by the RPNlib. Once defined, they will be available each consecutive rules loop unless they are manually removed through unref. + Mind that referencing a non-existing variable through $ will immediately stop the rule execution, to either use the variable value or a null it should be prefixed with a & instead. + +
+ +
+ + + + (in milliseconds) + +
+ +
+ +
+ Rules + +
+ +
+ +
+ MQTT + +
+ +
+
+ +
+
diff --git a/code/html/src/panel-sch.html b/code/html/src/panel-sch.html new file mode 100644 index 00000000..ddf918b2 --- /dev/null +++ b/code/html/src/panel-sch.html @@ -0,0 +1,63 @@ +
+
+
+

SCHEDULE

+

Executes actions based on the current time.

+
+ +

At least one time string element must be specified

+
    +
  • YEAR-MONTH-DAY or MONTH-DAY
  • +
  • Weekday in English (abbreviated of full), or number in range 1–7 (1 meaning Monday and 7 - Sunday)
  • +
  • HOUR:MINUTE
  • +
  • KEYWORD
  • +
+ +

HOUR:MINUTE always uses local time, unless UTC keyword is used.

+ +

When HOUR:MINUTE is omitted, 00:00 is used instead.

+ +

Sunrise or Sunset keywords can be used in place of HOUR:MINUTE.

+ + See full documentation + +
+
+ General settings + +
+ + + + Number of days to look back when restoring schedule. Set to zero to only check current day. + +
+
+ +
+ Location + +
+ + +
+ +
+ + +
+ +
+ + +
+
+ +
+ List of schedules +
+ +
+
+
+
diff --git a/code/html/src/panel-sns.html b/code/html/src/panel-sns.html new file mode 100644 index 00000000..2167898e --- /dev/null +++ b/code/html/src/panel-sns.html @@ -0,0 +1,165 @@ +
+
+
+

Expected values

+

Calculate ratios from raw values that can be measured externally.
Enter the known values and press Calculate to see the resulting ratio values. Press Apply to update ratio values on the SENSORS panel. Press Save to commit the changes.

+
+ +
+ Settings +
+ + +
+
+ +
+ Magnitudes +
+
+
+
+ +
+ +
+

SENSOR CONFIGURATION

+

+ Configure and calibrate your device sensors. +

+
+ +
+ +
+ + General + +
+
+ + + second(s) + + + + + + + + + + + + + + + Time between the attempts to read from the sensor. + Please mind some sensors do not have refresh values very often, check the sensor datasheet to know the minimum read interval. + The default and recommended value is 6 seconds. + +
+ +
+ + + reading(s) +
+ +
+ + + report(s) + + At this moment, only applies to total energy readings. + Set to 0 to disable. +
Note that this feature uses the internal flash. Repeatedly writing to the flash storage will quickly wear it out. +
+
+ +
+ + + + Most magnitudes are being preprocessed and filtered to avoid spurious values. + Enable this to get unfiltered values in the API (HTTP, MQTT, Prometheus, etc.) + +
+ +
+ +
+ +
+ Analog sensor + +
+ + + + Reset gas sensor calibration. Check the sensor datasheet for calibration conditions. + +
+ +
+ +
+ Ratios +
+
+ +
+ +
+
+ +
+ Energy monitor + +
+ +
+ +
+ +
+ +
+ +
+ Units +
+
+
+ +
+ Corrections +
+
+
+ +
+ Zero threshold + Report only when the value is above this threshold. Set to NaN (default) to disable. +
+
+
+ +
+ Report - minimum delta + Report only when the value changed at least this much (absolute difference) +
+
+
+ +
+ Report - reading maximum delta + Try to report on every reading, when the value changes at least this much (absolute difference) +
+
+
+ +
+ +
+
diff --git a/code/html/src/panel-thermostat.html b/code/html/src/panel-thermostat.html new file mode 100644 index 00000000..d29968ad --- /dev/null +++ b/code/html/src/panel-thermostat.html @@ -0,0 +1,157 @@ +
+
+ +
+

THERMOSTAT

+

Thermostat configuration

+
+ +
+ +
+ General + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ +
+ + Temperature range + +
+ + + + +
+ +
+ + + + +
+ +
+ +
+ + Remote sensor + +
+ + +
+ +
+ + + + +
+ +
+ + + + (seconds) + +
+ +
+ +
+ + Operation mode + +
+ + + + (minutes) + +
+ +
+ + + + (minutes) + +
+ +
+ +
+ + Autonomous mode + +
+ + + + (minutes) + +
+ +
+ + + + (minutes) + +
+ +
+ +
+ + Time worked + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ +
+ +
+
+
+
diff --git a/code/html/src/panel-tspk.html b/code/html/src/panel-tspk.html new file mode 100644 index 00000000..9ce1a489 --- /dev/null +++ b/code/html/src/panel-tspk.html @@ -0,0 +1,57 @@ +
+
+ +
+

THINGSPEAK

+

+ Send your sensors data to Thingspeak. +

+
+ +
+ +
+ + General + +
+ + +
+ +
+ + + + With every POST to thinkspeak.com only enqueued fields are sent.
+ If you select to clear the cache after every sending this will result in only those fields that have changed will be posted. + If you want all fields to be sent with every POST do not clear the cache. +
+
+ +
+ + +
+ +
+ + +
+
+ +
+ Sensors & actuators + + + Enter the field number to send each data to, 0 disable notifications from that component. + + +
+ +
+
+
+ +
+
diff --git a/code/html/src/panel-wifi.html b/code/html/src/panel-wifi.html new file mode 100644 index 00000000..bba91be8 --- /dev/null +++ b/code/html/src/panel-wifi.html @@ -0,0 +1,88 @@ +
+
+ +
+

WIFI

+

You can configure up to 5 different WiFi networks. The device will try to connect in order of signal strength.

+
+ +
+ +
+ Fallback SoftAP + +
+ + +
+ +
+ + + + + When specified, ESPurna will use these values in place of the hostname (see GENERAL panel) as SSID and device password (see ADMIN panel) as passphrase. + +
+
+ +
+ Scanning + +
+ + + + ESPurna will scan for visible WiFi SSIDs and try to connect to networks defined below in order of signal strength, even if multiple AP share the same SSID. + When disabled, ESPurna will try to connect to the networks in the same order they are listed below. + Disable this option if you are connecting to a single access point (or router) or to a hidden SSID. + +
+ +
+ +
+ + When scanning is enabled, also periodically check available networks when the currently connected network RSSI is below this value. + +
+
+ +
+ Available networks + +
+ + +
+ ↻ +
+
+ + + + + + + + + + + + + +
BSSIDAUTHRSSIChannelSSID
+
+ +
+ Configured networks +
+
+ +
+ +
+
+
diff --git a/code/html/src/question.mjs b/code/html/src/question.mjs new file mode 100644 index 00000000..d534abd8 --- /dev/null +++ b/code/html/src/question.mjs @@ -0,0 +1,47 @@ +import { pendingChanges } from './settings.mjs'; +import { sendAction } from './connection.mjs'; + +export function askSaveSettings(ask) { + if (pendingChanges()) { + return ask("There are pending changes to the settings, continue the operation without saving?"); + } + + return true; +} + +export function askDisconnect(ask) { + return ask("Are you sure you want to disconnect from the current WiFi network?"); +} + +export function askReboot(ask) { + return ask("Are you sure you want to reboot the device?"); +} + +export function askAndCall(questions, callback) { + for (let question of questions) { + if (!question(window.confirm)) { + return; + } + } + + callback(); +} + +export function askAndCallReconnect() { + askAndCall([askSaveSettings, askDisconnect], () => { + sendAction("reconnect"); + }); +} + +export function askAndCallReboot() { + askAndCall([askSaveSettings, askReboot], () => { + sendAction("reboot"); + }); +} + +export function askAndCallAction(event) { + askAndCall([(ask) => ask(`Confirm the action: "${event.target.textContent}"`)], () => { + sendAction(event.target.name); + }); +} + diff --git a/code/html/src/relay.mjs b/code/html/src/relay.mjs new file mode 100644 index 00000000..c547b539 --- /dev/null +++ b/code/html/src/relay.mjs @@ -0,0 +1,126 @@ +import { + addEnumerables, + fromSchema, + getEnumerables, + variableListeners, +} from './settings.mjs'; + +import { sendAction } from './connection.mjs'; + +import { + loadConfigTemplate, + mergeTemplate, + fillTemplateLineFromCfg, +} from './template.mjs'; + +function onToggle(event) { + event.preventDefault(); + sendAction("relay", { + id: parseInt(event.target.dataset["id"], 10), + status: event.target.checked ? "1" : "0"}); +} + +function initToggle(id, cfg) { + let line = loadConfigTemplate("relay-control"); + + let root = line.querySelector("div"); + root.classList.add(`relay-control-${id}`); + + let name = line.querySelector("span[data-key='relayName']"); + name.textContent = cfg.relayName; + name.dataset["id"] = id; + name.setAttribute("title", cfg.relayProv); + + let realId = "relay".concat(id); + + let toggle = line.querySelector("input[type='checkbox']"); + toggle.checked = false; + toggle.disabled = true; + toggle.dataset["id"] = id; + toggle.addEventListener("change", onToggle); + + toggle.setAttribute("id", realId); + toggle.previousElementSibling.setAttribute("for", realId); + + mergeTemplate(document.getElementById("relays"), line); +} + +function updateState(data) { + data.states.forEach((state, id) => { + const relay = fromSchema(state, data.schema); + + let elem = document.querySelector(`input[name='relay'][data-id='${id}']`); + elem.checked = relay.status; + elem.disabled = ({ + 0: false, + 1: !relay.status, + 2: relay.status + })[relay.lock]; // TODO: specify lock statuses earlier? + }); +} + +function initConfig(id, cfg) { + let line = loadConfigTemplate("relay-config"); + fillTemplateLineFromCfg(line, id, cfg); + mergeTemplate(document.getElementById("relayConfig"), line); +} + +function listeners() { + return { + "relayConfig": (_, value) => { + let container = document.getElementById("relays"); + if (container.childElementCount > 0) { + return; + } + + let relays = []; + value.relays.forEach((entries, id) => { + let cfg = fromSchema(entries, value.schema); + if (!cfg.relayName || !cfg.relayName.length) { + cfg.relayName = `Switch #${id}`; + } + + relays.push({ + "id": id, + "name": `${cfg.relayName} (${cfg.relayProv})` + }); + + initToggle(id, cfg); + initConfig(id, cfg); + }); + + addEnumerables("relay", relays); + }, + "relayState": (_, value) => { + updateState(value); + }, + }; +} + +export function createNodeList(containerId, values, keyPrefix) { + const target = document.getElementById(containerId); + if (target.childElementCount > 0) { + return; + } + + // TODO: let schema set the settings key + const template = loadConfigTemplate("number-input"); + values.forEach((value, index) => { + const line = template.cloneNode(true); + + const enumerables = getEnumerables("relay"); + line.querySelector("label").textContent = (enumerables) + ? enumerables[index].name : `Switch #${index}`; + + const input = line.querySelector("input"); + input.name = keyPrefix; + input.value = value; + input.dataset["original"] = value; + + mergeTemplate(target, line); + }); +} + +export function init() { + variableListeners(listeners()); +} diff --git a/code/html/src/rfbridge.mjs b/code/html/src/rfbridge.mjs new file mode 100644 index 00000000..d32d694a --- /dev/null +++ b/code/html/src/rfbridge.mjs @@ -0,0 +1,81 @@ +import { sendAction } from './connection.mjs'; + +import { + setInputValue, + setOriginalsFromValues, + variableListeners, +} from './settings.mjs'; + +import { + mergeTemplate, + loadConfigTemplate, +} from './template.mjs'; + +function onButtonPress(event) { + const prefix = "button-rfb-"; + const [buttonRfbClass] = Array.from(event.target.classList) + .filter(x => x.startsWith(prefix)); + + if (buttonRfbClass) { + const container = event.target.parentElement.parentElement; + const input = container.querySelector("input"); + + sendAction(`rfb${buttonRfbClass.replace(prefix, "")}`, { + id: parseInt(input.dataset["id"], 10), + status: input.name === "rfbON" + }); + } +} + +function addNode() { + let container = document.getElementById("rfbNodes"); + + const id = container.childElementCount; + const line = loadConfigTemplate("rfb-node"); + line.querySelector("span").textContent = id; + + for (let input of line.querySelectorAll("input")) { + input.dataset["id"] = id; + input.setAttribute("id", `${input.name}${id}`); + } + + for (let action of ["learn", "forget"]) { + for (let button of line.querySelectorAll(`.button-rfb-${action}`)) { + button.addEventListener("click", onButtonPress); + } + } + + mergeTemplate(container, line); +} + +function handleCodes(value) { + value.codes.forEach((codes, id) => { + const realId = id + value.start; + const [off, on] = codes; + + const rfbOn = document.getElementById(`rfbON${realId}`); + setInputValue(rfbOn, on); + + const rfbOff = document.getElementById(`rfbOFF${realId}`); + setInputValue(rfbOff, off); + + setOriginalsFromValues([rfbOn, rfbOff]); + }); +} + +function listeners() { + return { + "rfbCount": (_, value) => { + for (let i = 0; i < value; ++i) { + addNode(); + } + }, + "rfb": (_, value) => { + handleCodes(value); + }, + }; +} + +export function init() { + variableListeners(listeners()); +} diff --git a/code/html/src/rfm69.mjs b/code/html/src/rfm69.mjs new file mode 100644 index 00000000..9fd68102 --- /dev/null +++ b/code/html/src/rfm69.mjs @@ -0,0 +1,114 @@ +import { addFromTemplate } from './template.mjs'; +import { groupSettingsOnAdd, fromSchema, variableListeners } from './settings.mjs'; +import { sendAction } from './connection.mjs'; + +let State = { + filters: {} +}; + +function addMapping(cfg) { + addFromTemplate(document.getElementById("rfm69-mapping"), "rfm69-node", cfg); +} + +function messages() { + let [body] = document.getElementById("rfm69-messages").tBodies; + return body; +} + +function rows() { + return messages().rows; +} + +function addMessage(message) { + let timestamp = (new Date()).toLocaleTimeString("en-US", {hour12: false}); + + let container = messages(); + let row = container.insertRow(); + for (let value of [timestamp, ...message]) { + let cell = row.insertCell(); + cell.appendChild(document.createTextNode(value)); + filterRow(State.filters, row); + } +} + +function clearCounters() { + sendAction("rfm69Clear"); + return false; +} + +function clearMessages() { + let container = messages(); + while (container.rows.length) { + container.deleteRow(0); + } + return false; +} + +function filterRow(filters, row) { + row.style.display = "table-row"; + for (const [cell, filter] of Object.entries(filters)) { + if (row.cells[cell].textContent !== filter) { + row.style.display = "none"; + } + } +} + +function filterRows(filters, rows) { + for (let row of rows) { + filterRow(filters, row); + } +} + +function filterEvent(event) { + if (event.target.classList.contains("filtered")) { + delete State.filters[event.target.cellIndex]; + } else { + State.filters[event.target.cellIndex] = event.target.textContent; + } + event.target.classList.toggle("filtered"); + + filterRows(State.filters, rows()); +} + +function clearFilters() { + let container = messages(); + for (let elem of container.querySelectorAll("filtered")) { + elem.classList.remove("filtered"); + } + + State.filters = {}; + filterRows(State.filters, container.rows); +} + +function listeners() { + return { + "rfm69": (_, value) => { + if (value.message !== undefined) { + addMessage(value.message); + } + if (value.mapping !== undefined) { + value.mapping.forEach((mapping) => { + addMapping(fromSchema(mapping, value.schema)); + }); + } + }, + }; +} + +export function init() { + variableListeners(listeners()); + + document.querySelector(".button-clear-counts") + .addEventListener("click", clearCounters); + document.querySelector(".button-clear-messages") + .addEventListener("click", clearMessages); + + document.querySelector(".button-clear-filters") + .addEventListener("click", clearFilters); + document.querySelector("#rfm69-messages tbody") + .addEventListener("click", filterEvent); + + groupSettingsOnAdd("rfm69-mapping", () => { + addMapping(); + }); +} diff --git a/code/html/src/rules.mjs b/code/html/src/rules.mjs new file mode 100644 index 00000000..b13ed1c0 --- /dev/null +++ b/code/html/src/rules.mjs @@ -0,0 +1,35 @@ +import { groupSettingsOnAdd, variableListeners, fromSchema } from './settings.mjs'; +import { addFromTemplate } from './template.mjs'; + +function addRule(cfg) { + addFromTemplate(document.getElementById("rpn-rules"), "rpn-rule", cfg); +} + +function addTopic(cfg) { + addFromTemplate(document.getElementById("rpn-topics"), "rpn-topic", cfg); +} + +function listeners() { + return { + "rpnRules": (_, value) => { + for (let rule of value) { + addRule({"rpnRule": rule}); + } + }, + "rpnTopics": (_, value) => { + value.topics.forEach((topic) => { + addTopic(fromSchema(topic, value.schema)); + }); + }, + }; +} + +export function init() { + variableListeners(listeners()); + groupSettingsOnAdd("rpn-rules", () => { + addRule(); + }); + groupSettingsOnAdd("rpn-topics", () => { + addTopic(); + }); +} diff --git a/code/html/src/schedule.mjs b/code/html/src/schedule.mjs new file mode 100644 index 00000000..d415ea69 --- /dev/null +++ b/code/html/src/schedule.mjs @@ -0,0 +1,26 @@ +import { addFromTemplate } from './template.mjs'; +import { groupSettingsOnAdd, variableListeners, fromSchema } from './settings.mjs'; + +function addNode(cfg) { + addFromTemplate(document.getElementById("schedules"), "schedule-config", cfg); +} + +function listeners() { + return { + "schConfig": (_, value) => { + let container = document.getElementById("schedules"); + container.dataset["settingsMax"] = value.max; + + value.schedules.forEach((entries) => { + addNode(fromSchema(entries, value.schema)); + }); + }, + }; +} + +export function init() { + variableListeners(listeners()); + groupSettingsOnAdd("schedules", () => { + addNode(); + }); +} diff --git a/code/html/src/sensor.mjs b/code/html/src/sensor.mjs new file mode 100644 index 00000000..eb29a55b --- /dev/null +++ b/code/html/src/sensor.mjs @@ -0,0 +1,366 @@ +import { sendAction } from './connection.mjs'; +import { variableListeners } from './settings.mjs'; + +import { + loadConfigTemplate, + loadTemplate, + mergeTemplate, +} from './template.mjs'; + +import { + showPanel, + showPanelByName, + styleInject, + styleVisible, +} from './core.mjs'; + +import { + fromSchema, + initSelect, + setChangedElement, + setOriginalsFromValuesForNode, + setSelectValue, +} from './settings.mjs'; + +const Magnitudes = { + properties: {}, + errors: {}, + types: {}, + units: { + names: {}, + supported: {} + }, + typePrefix: {}, + prefixType: {} +}; + +function magnitudeTypedKey(magnitude, name) { + const prefix = Magnitudes.typePrefix[magnitude.type]; + const index = magnitude.index_global; + return `${prefix}${name}${index}`; +} + +function initModuleMagnitudes(data) { + const targetId = `${data.prefix}-magnitudes`; + + let target = document.getElementById(targetId); + if (target.childElementCount > 0) { return; } + + data.values.forEach((values) => { + const entry = fromSchema(values, data.schema); + + let line = loadConfigTemplate("module-magnitude"); + line.querySelector("label").textContent = + `${Magnitudes.types[entry.type]} #${entry.index_global}`; + line.querySelector("span").textContent = + Magnitudes.properties[entry.index_global].description; + + let input = line.querySelector("input"); + input.name = `${data.prefix}Magnitude`; + input.value = entry.index_module; + input.dataset["original"] = input.value; + + mergeTemplate(target, line); + }); +} + +function initMagnitudes(data) { + data.types.values.forEach((cfg) => { + const info = fromSchema(cfg, data.types.schema); + Magnitudes.types[info.type] = info.name; + Magnitudes.typePrefix[info.type] = info.prefix; + Magnitudes.prefixType[info.prefix] = info.type; + }); + + data.errors.values.forEach((cfg) => { + const error = fromSchema(cfg, data.errors.schema); + Magnitudes.errors[error.type] = error.name; + }); + + data.units.values.forEach((cfg, id) => { + const values = fromSchema(cfg, data.units.schema); + values.supported.forEach(([type, name]) => { + Magnitudes.units.names[type] = name; + }); + + Magnitudes.units.supported[id] = values.supported; + }); +} + +function initMagnitudesList(data, callbacks) { + data.values.forEach((cfg, id) => { + const magnitude = fromSchema(cfg, data.schema); + const prettyName = Magnitudes.types[magnitude.type] + .concat(" #").concat(parseInt(magnitude.index_global, 10)); + + const result = { + name: prettyName, + units: magnitude.units, + type: magnitude.type, + index_global: magnitude.index_global, + description: magnitude.description + }; + + Magnitudes.properties[id] = result; + callbacks.forEach((callback) => { + callback(id, result); + }); + }); +} + +function createMagnitudeInfo(id, magnitude) { + const container = document.getElementById("magnitudes"); + + const info = loadTemplate("magnitude-info"); + const label = info.querySelector("label"); + label.textContent = magnitude.name; + + const input = info.querySelector("input"); + input.dataset["id"] = id; + input.dataset["type"] = magnitude.type; + + const description = info.querySelector(".magnitude-description"); + description.textContent = magnitude.description; + + const extra = info.querySelector(".magnitude-info"); + extra.style.display = "none"; + + mergeTemplate(container, info); +} + +function createMagnitudeUnitSelector(id, magnitude) { + // but, no need for the element when there's no choice + const supported = Magnitudes.units.supported[id]; + if ((supported !== undefined) && (supported.length > 1)) { + const line = loadTemplate("magnitude-units"); + line.querySelector("label").textContent = + `${Magnitudes.types[magnitude.type]} #${magnitude.index_global}`; + + const select = line.querySelector("select"); + select.setAttribute("name", magnitudeTypedKey(magnitude, "Units")); + + const options = []; + supported.forEach(([id, name]) => { + options.push({id, name}); + }); + + initSelect(select, options); + setSelectValue(select, magnitude.units); + setOriginalsFromValuesForNode(line, [select]); + + const container = document.getElementById("magnitude-units"); + container.parentElement.classList.remove("maybe-hidden"); + mergeTemplate(container, line); + } +} + +function magnitudeSettingInfo(id, key) { + const out = { + id: id, + name: Magnitudes.properties[id].name, + prefix: `${Magnitudes.typePrefix[Magnitudes.properties[id].type]}`, + index_global: `${Magnitudes.properties[id].index_global}` + }; + + out.key = `${out.prefix}${key}${out.index_global}`; + return out; +} + +function emonRatioInfo(id) { + return magnitudeSettingInfo(id, "Ratio"); +} + +function initMagnitudeTextSetting(containerId, id, keySuffix, value) { + const template = loadTemplate("text-input"); + const input = template.querySelector("input"); + + const info = magnitudeSettingInfo(id, keySuffix); + input.id = info.key; + input.name = input.id; + input.value = value; + setOriginalsFromValuesForNode(template, [input]); + + const label = template.querySelector("label"); + label.textContent = info.name; + label.htmlFor = input.id; + + const container = document.getElementById(containerId); + container.parentElement.classList.remove("maybe-hidden"); + mergeTemplate(container, template); +} + +function initMagnitudesRatio(id, value) { + initMagnitudeTextSetting("emon-ratios", id, "Ratio", value); +} + +function initMagnitudesExpected(id) { + // TODO: also display currently read value? + const template = loadTemplate("emon-expected"); + const [expected, result] = template.querySelectorAll("input"); + + const info = emonRatioInfo(id); + + expected.name += `${info.key}`; + expected.id = expected.name; + expected.dataset["id"] = info.id; + + result.name += `${info.key}`; + result.id = result.name; + + const label = template.querySelector("label"); + label.textContent = info.name; + label.htmlFor = expected.id; + + styleInject([ + styleVisible(`.emon-expected-${info.prefix}`, true) + ]); + + mergeTemplate(document.getElementById("emon-expected"), template); +} + +function emonCalculateRatios() { + const inputs = document.getElementById("emon-expected") + .querySelectorAll(".emon-expected-input"); + + inputs.forEach((input) => { + if (input.value.length) { + sendAction("emon-expected", { + id: parseInt(input.dataset["id"], 10), + expected: parseFloat(input.value) }); + } + }); +} + +function emonApplyRatios() { + const results = document.getElementById("emon-expected") + .querySelectorAll(".emon-expected-result"); + + results.forEach((result) => { + if (result.value.length) { + const ratio = document.getElementById( + result.name.replace("result:", "")); + ratio.value = result.value; + setChangedElement(ratio); + + result.value = ""; + + const expected = document.getElementById( + result.name.replace("result:", "expected:")); + expected.value = ""; + } + }); + + showPanelByName("sns"); +} + +function initMagnitudesCorrection(id, value) { + initMagnitudeTextSetting("magnitude-corrections", id, "Correction", value); +} + +function initMagnitudesSettings(data) { + data.values.forEach((cfg, id) => { + const settings = fromSchema(cfg, data.schema); + + if (settings.Ratio !== null) { + initMagnitudesRatio(id, settings.Ratio); + initMagnitudesExpected(id); + } + + if (settings.Correction !== null) { + initMagnitudesCorrection(id, settings.Correction); + } + + let threshold = settings.ZeroThreshold; + if (threshold === null) { + threshold = NaN; + } + + initMagnitudeTextSetting( + "magnitude-zero-thresholds", id, + "ZeroThreshold", threshold); + + initMagnitudeTextSetting( + "magnitude-min-deltas", id, + "MinDelta", settings.MinDelta); + + initMagnitudeTextSetting( + "magnitude-max-deltas", id, + "MaxDelta", settings.MaxDelta); + }); +} + +function magnitudeValueContainer(id) { + return document.querySelector(`input[name='magnitude'][data-id='${id}']`); +} + +function updateMagnitudes(data) { + data.values.forEach((cfg, id) => { + if (!Magnitudes.properties[id]) { + return; + } + + const magnitude = fromSchema(cfg, data.schema); + const properties = Magnitudes.properties[id]; + properties.units = magnitude.units; + + const units = Magnitudes.units.names[properties.units] || ""; + const input = magnitudeValueContainer(id); + input.value = (0 !== magnitude.error) + ? Magnitudes.errors[magnitude.error] + : (("nan" === magnitude.value) + ? "" + : `${magnitude.value}${units}`); + }); +} + +function updateEnergy(data) { + data.values.forEach((cfg) => { + const energy = fromSchema(cfg, data.schema); + if (!Magnitudes.properties[energy.id]) { + return; + } + + if (energy.saved.length) { + const input = magnitudeValueContainer(energy.id); + const info = input.parentElement.parentElement + .querySelector(".magnitude-info"); + info.style.display = "inherit"; + info.textContent = energy.saved; + } + }); +} + +function listeners() { + return { + "magnitudes-init": (_, value) => { + initMagnitudes(value); + }, + "magnitudes-module": (_, value) => { + initModuleMagnitudes(value); + }, + "magnitudes-list": (_, value) => { + initMagnitudesList(value, [ + createMagnitudeUnitSelector, createMagnitudeInfo]); + }, + "magnitudes-settings": (_, value) => { + initMagnitudesSettings(value); + }, + "magnitudes": (_, value) => { + updateMagnitudes(value); + }, + "energy": (_, value) => { + updateEnergy(value); + }, + }; +} + +export function init() { + variableListeners(listeners()); + + document.querySelector(".button-emon-expected") + .addEventListener("click", showPanel); + document.querySelector(".button-emon-expected-calculate") + .addEventListener("click", emonCalculateRatios); + document.querySelector(".button-emon-expected-apply") + .addEventListener("click", emonApplyRatios); +} diff --git a/code/html/src/settings.mjs b/code/html/src/settings.mjs new file mode 100644 index 00000000..2653c919 --- /dev/null +++ b/code/html/src/settings.mjs @@ -0,0 +1,857 @@ +import { notifyError } from './errors.mjs'; +import { pageReloadIn } from './core.mjs'; +import { send, sendAction, configUrl } from './connection.mjs'; +import { validateForms } from './validate.mjs'; + +// ?) + +function stringifySelectedValues(select) { + if (select.multiple) { + return Array.from(select.selectedOptions) + .map(option => option.value) + .join(","); + } else if (select.selectedIndex >= 0) { + return select.options[select.selectedIndex].value; + } + + return select.dataset["original"]; +} + +export function isChangedElement(elem) { + return "true" === elem.dataset["changed"]; +} + +export function setChangedElement(elem) { + elem.dataset["changed"] = "true"; +} + +export function resetChangedElement(elem) { + elem.dataset["changed"] = "false"; +} + +function resetGroupPending(elem) { + elem.dataset["settingsGroupPending"] = ""; +} + +// TODO: note that we also include kv schema as 'data-settings-schema' on the container. +// produce a 'set' and compare instead of just matching length? +export function fromSchema(source, schema) { + if (schema.length !== source.length) { + throw `Schema mismatch! Expected length ${schema.length} vs. ${source.length}`; + } + + var target = {}; + schema.forEach((key, index) => { + target[key] = source[index]; + }); + + return target; +} + +// Right now, group additions happen from: +// - WebSocket, likely to happen exactly once per connection through processData handler(s). Specific keys trigger functions that append into the container element. +// - User input. Same functions are triggered, but with an additional event for the container element that causes most recent element to be marked as changed. +// Removal only happens from user input by triggering 'settings-group-del' from the target element. +// +// TODO: distinguish 'current' state to avoid sending keys when adding and immediatly removing the latest node? +// TODO: previous implementation relied on defaultValue and / or jquery $(...).val(), but this does not really work where 'line' only has can be found as both individual elements and as a `RadioNodeList` view. + // matching will extract the specific radio element, but will ignore the list b/c it has no tagName + // TODO: actually use type="radio" in the WebUI to check whether this works + for (let form of forms) { + for (let elem of form.elements) { + if ((elem.tagName !== "SELECT") && (elem.tagName !== "INPUT")) { + continue; + } + + if (isIgnoredElement(elem)) { + continue; + } + + const name = elem.dataset.settingsRealName || elem.name; + if (name === undefined) { + continue; + } + + const group_element = isGroupElement(elem); + const group_index = group_counter[name] || 0; + const group_name = `${name}${group_index}`; + if (group_element) { + group_counter[name] = group_index + 1; + } + + const value = getDataForElement(elem); + if (null !== value) { + const elem_indexed = changed_data.indexOf(name) >= 0; + if ((isChangedElement(elem) || !options.changed) && !elem_indexed) { + changed_data.push(group_element ? group_name : name); + } + + data[group_element ? group_name : name] = value; + } + } + } + + // Finally, filter out only fields that *must* be assigned. + const resulting_data = { + set: { + }, + del: [ + ] + }; + + for (const name in data) { + if (!options.changed || (changed_data.indexOf(name) >= 0)) { + resulting_data.set[name] = data[name]; + } + } + + // Make sure to remove dynamic group entries from the kvs + // Only group keys can be removed atm, so only process .settings-group + if (options.cleanup) { + for (let elem of document.getElementsByClassName("settings-group")) { + for (let pair of getGroupPending(elem)) { + const [action, index] = pair.split(":"); + if (action === "del") { + const keysRaw = elem.dataset["settingsSchema"] + || elem.dataset["settingsTarget"]; + const keys = !keysRaw ? [] : keysRaw.split(" "); + keys.forEach((key) => { + resulting_data.del.push(`${key}${index}`); + }); + } + } + } + } + + return resulting_data; +} + +// TODO: is a special beast, since the actual value is one of 'checked' elements with the same name=... attribute. +// Right now, WebUI does not use this kind of input, but in case it does this needs a once-over that the actual input value is picked up correctly through all of changed / original comparisons. + +// Not all of available forms are used for settings: +// - terminal input, which is implemented with an input field. it is attributed with `action="none"`, so settings handler never treats it as 'changed' +// - initial setup. it is shown programatically, but is still available from the global list of forms + +export function getDataForElement(element) { + switch (element.tagName) { + case "INPUT": + switch (element.type) { + case "radio": + if (element.checked) { + return element.value; + } + return null; + case "checkbox": + return element.checked ? 1 : 0; + case "number": + case "text": + case "password": + case "hidden": + case "range": + // notice that we set directly to storage, thus strings are just fine + return element.value; + } + break; + case "SELECT": + if (element.multiple) { + return bitsetFromSelectedValues(element); + } else if (element.selectedIndex >= 0) { + return element.options[element.selectedIndex].value; + } + } + + return null; +} + + +function resetSettingsGroup() { + const elems = document.getElementsByClassName("settings-group"); + for (let elem of elems) { + resetChangedElement(elem); + resetGroupPending(elem); + } +} + +function settingsTargets(elem) { + let targets = elem.dataset["settingsTarget"]; + if (!targets) { + return []; + } + + return targets.split(" "); +} +function stringToBoolean(value) { + return (value === "1") + || (value === "y") + || (value === "yes") + || (value === "true") + || (value === "on"); +} + +function booleanToString(value) { + return value ? "true" : "false"; +} + +// When receiving / returning data, options for know entities +const Enumerable = {}; + +// element on the page +// +// Notice that values, count total number of changes and their side-effects / needed actions +class SettingsBase { + constructor() { + this.counters = {}; + this.resetCounters(); + this.saved = false; + } + + resetCounters() { + this.counters.changed = 0; + this.counters.reboot = 0; + this.counters.reconnect = 0; + this.counters.reload = 0; + } +} + +// Handle plain kv pairs when they are already on the page, and don't need special template handlers +// Notice that uses a custom data attribute data-key=..., instead of name=... +export function initGenericKeyValueElement(key, value) { + for (const span of document.querySelectorAll(`span[data-key='${key}']`)) { + setSpanValue(span, value); + } + + const inputs = []; + for (const elem of document.querySelectorAll(`[name='${key}'`)) { + switch (elem.tagName) { + case "INPUT": + setInputValue(elem, value); + inputs.push(elem); + break; + case "SELECT": + setSelectValue(elem, value); + inputs.push(elem); + break; + } + } + + setOriginalsFromValues(inputs); +} + +export function idForContainer(container) { + let id = container.childElementCount; + + let settingsMax = container.dataset["settingsMax"]; + if (settingsMax === undefined) { + return id; + } + + let max = parseInt(settingsMax, 10); + if (id < max) { + return id; + } + + alert(`Max number of ${container.id} has been reached (${id} out of ${max})`); + return -1; +} + +const Settings = new SettingsBase(); + +export function onElementChange(event) { + let action = event.target.dataset["action"]; + if ("none" === action) { + return; + } + + let originalValue = event.target.dataset["original"]; + let newValue; + + if ((event.target.tagName === "INPUT") && (event.target.type === "checkbox")) { + originalValue = stringToBoolean(originalValue); + newValue = event.target.checked; + } else if (event.target.tagName === "SELECT") { + newValue = stringifySelectedValues(event.target); + } else { + newValue = event.target.value; + } + + if (typeof originalValue === "undefined") { + return; + } + + let changed = isChangedElement(event.target); + if (newValue !== originalValue) { + if (!changed) { + ++Settings.counters.changed; + if (action in Settings.counters) { + ++Settings.counters[action]; + } + } + setChangedElement(event.target); + greenifySave(); + } else { + if (changed) { + --Settings.counters.changed; + if (action in Settings.counters) { + --Settings.counters[action]; + } + } + resetChangedElement(event.target); + greyoutSave(); + } +} + +const __variable_listeners = {}; + +export function listenVariables(key, func) { + if (__variable_listeners[key] === undefined) { + __variable_listeners[key] = []; + } + + __variable_listeners[key].push(func); +} + +export function variableListeners(listeners) { + for (const [key, listener] of Object.entries(listeners)) { + listenVariables(key, listener); + } +} + +export function updateKeyValue(key, value) { + const listeners = __variable_listeners[key]; + if (listeners !== undefined) { + for (let listener of listeners) { + listener(key, value); + } + } + + initGenericKeyValueElement(key, value); +} + +function onSaved(value) { + Settings.saved = value; +} + +function greyoutSave() { + const elems = document.querySelectorAll(".button-save"); + for (let elem of elems) { + elem.style.removeProperty("--save-background"); + } +} + +function greenifySave() { + const elems = document.querySelectorAll(".button-save"); + for (let elem of elems) { + elem.style.setProperty("--save-background", "rgb(0, 192, 0)"); + } +} + +function resetOriginals() { + setOriginalsFromValues(); + resetSettingsGroup(); + + Settings.resetCounters(); + Settings.saved = false; +} + +function afterSaved() { + var response; + + if (Settings.counters.reboot > 0) { + response = window.confirm("You have to reboot the board for the changes to take effect, do you want to do it now?"); + if (response) { + sendAction("reboot"); + } + } else if (Settings.counters.reconnect > 0) { + response = window.confirm("You have to reconnect to the WiFi for the changes to take effect, do you want to do it now?"); + if (response) { + sendAction("reconnect"); + } + } else if (Settings.counters.reload > 0) { + response = window.confirm("You have to reload the page to see the latest changes, do you want to do it now?"); + if (response) { + pageReloadIn(0); + } + } + + resetOriginals(); + greyoutSave(); +} + +function waitForSaved(){ + if (!Settings.saved) { + setTimeout(waitForSaved, 1000); + } else { + afterSaved(); + } +} + +export function applySettings(settings) { + send(JSON.stringify({settings})); +} + +export function applySettingsFromAllForms() { + // Since we have 2-page config, make sure we select the active one + let forms = document.getElementsByClassName("form-settings"); + if (validateForms(forms)) { + applySettings(getData(forms)); + Settings.counters.changed = 0; + waitForSaved(); + } + + return false; +} + +function resetToFactoryDefaults(event) { + event.preventDefault(); + + let response = window.confirm("Are you sure you want to erase all settings from the device?"); + if (response) { + sendAction("factory_reset"); + } +} + +function handleSettingsFile(event) { + event.preventDefault(); + + const inputFiles = event.target.files; + if (typeof inputFiles === "undefined" || inputFiles.length === 0) { + return false; + } + + const inputFile = inputFiles[0]; + event.target.value = ""; + + if (!window.confirm("Previous settings will be overwritten. Are you sure you want to restore from this file?")) { + return false; + } + + const reader = new FileReader(); + reader.onload = function(event) { + try { + var data = JSON.parse(event.target.result); + sendAction("restore", data); + } catch (e) { + notifyError(null, null, 0, 0, e); + } + }; + reader.readAsText(inputFile); +} + +export function pendingChanges() { + return Settings.counters.changed > 0; +} + +function listeners() { + return { + "saved": (_, value) => { + onSaved(value); + }, + }; +} + +export function updateVariables(kvs) { + Object.entries(kvs) + .forEach(([key, value]) => { + updateKeyValue(key, value); + }); +} + +export function init() { + variableListeners(listeners()); + + document.getElementById("uploader") + .addEventListener("change", handleSettingsFile); + + document.querySelector(".button-save") + .addEventListener("click", (event) => { + event.preventDefault(); + applySettingsFromAllForms(); + }); + + document.querySelector(".button-settings-backup") + .addEventListener("click", (event) => { + event.preventDefault(); + const elem = document.getElementById("downloader"); + elem.href = configUrl().href; + elem.click(); + }); + + document.querySelector(".button-settings-restore") + .addEventListener("click", () => { + document.getElementById("uploader").click(); + }); + document.querySelector(".button-settings-factory") + .addEventListener("click", resetToFactoryDefaults); + + document.querySelectorAll(".button-add-settings-group") + .forEach((elem) => { + elem.addEventListener("click", groupSettingsAdd); + }); + + // No group handler should be registered after this point, since we depend on the order + // of registration to trigger 'after-add' handler and update group attributes *after* + // module function finishes modifying the container + for (const group of document.querySelectorAll(".settings-group")) { + group.addEventListener("settings-group-del", onGroupSettingsEventDel); + group.addEventListener("change", onElementChange); + } + + for (let elem of document.querySelectorAll("input,select")) { + elem.addEventListener("change", onElementChange); + } + + resetOriginals(); +} diff --git a/code/html/src/status-curtain.html b/code/html/src/status-curtain.html new file mode 100644 index 00000000..86ad4ef8 --- /dev/null +++ b/code/html/src/status-curtain.html @@ -0,0 +1 @@ +
diff --git a/code/html/src/status-light.html b/code/html/src/status-light.html new file mode 100644 index 00000000..654ea4a8 --- /dev/null +++ b/code/html/src/status-light.html @@ -0,0 +1,12 @@ +
+
+ + +
+
+
+
+
+
+
+
diff --git a/code/html/src/status-relay.html b/code/html/src/status-relay.html new file mode 100644 index 00000000..a15c4d2d --- /dev/null +++ b/code/html/src/status-relay.html @@ -0,0 +1 @@ +
diff --git a/code/html/src/status-rfm69.html b/code/html/src/status-rfm69.html new file mode 100644 index 00000000..98400386 --- /dev/null +++ b/code/html/src/status-rfm69.html @@ -0,0 +1,9 @@ +
+
+ + + + + +
+
diff --git a/code/html/src/status-sns.html b/code/html/src/status-sns.html new file mode 100644 index 00000000..ac86aedb --- /dev/null +++ b/code/html/src/status-sns.html @@ -0,0 +1 @@ +
diff --git a/code/html/src/status.html b/code/html/src/status.html new file mode 100644 index 00000000..7d01b6c2 --- /dev/null +++ b/code/html/src/status.html @@ -0,0 +1,94 @@ +
+
+ + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + ? +
+ +
+ + + + + + + + + + + + + + +
+ +
+ + + + + + + + ? + +
+ + + UNKNOWN + +
+ +
+ + + UNKNOWN + + + + +
+ +
+
diff --git a/code/html/src/template-base.html b/code/html/src/template-base.html new file mode 100644 index 00000000..1f01ecb5 --- /dev/null +++ b/code/html/src/template-base.html @@ -0,0 +1,13 @@ + + + diff --git a/code/html/src/template-curtain.html b/code/html/src/template-curtain.html new file mode 100644 index 00000000..151935ea --- /dev/null +++ b/code/html/src/template-curtain.html @@ -0,0 +1,16 @@ + diff --git a/code/html/src/template-led.html b/code/html/src/template-led.html new file mode 100644 index 00000000..25de377b --- /dev/null +++ b/code/html/src/template-led.html @@ -0,0 +1,35 @@ + diff --git a/code/html/src/template-light.html b/code/html/src/template-light.html new file mode 100644 index 00000000..46f3329c --- /dev/null +++ b/code/html/src/template-light.html @@ -0,0 +1,25 @@ + + + + + diff --git a/code/html/src/template-relay.html b/code/html/src/template-relay.html new file mode 100644 index 00000000..6ab8b698 --- /dev/null +++ b/code/html/src/template-relay.html @@ -0,0 +1,61 @@ + + + diff --git a/code/html/src/template-rfb.html b/code/html/src/template-rfb.html new file mode 100644 index 00000000..51e7703b --- /dev/null +++ b/code/html/src/template-rfb.html @@ -0,0 +1,21 @@ + diff --git a/code/html/src/template-rfm69.html b/code/html/src/template-rfm69.html new file mode 100644 index 00000000..df154928 --- /dev/null +++ b/code/html/src/template-rfm69.html @@ -0,0 +1,8 @@ + diff --git a/code/html/src/template-rpn.html b/code/html/src/template-rpn.html new file mode 100644 index 00000000..6d3b5b2b --- /dev/null +++ b/code/html/src/template-rpn.html @@ -0,0 +1,14 @@ + + + diff --git a/code/html/src/template-sch.html b/code/html/src/template-sch.html new file mode 100644 index 00000000..3fe2e242 --- /dev/null +++ b/code/html/src/template-sch.html @@ -0,0 +1,28 @@ + diff --git a/code/html/src/template-sns.html b/code/html/src/template-sns.html new file mode 100644 index 00000000..b5ebca4b --- /dev/null +++ b/code/html/src/template-sns.html @@ -0,0 +1,37 @@ + + + + + + + diff --git a/code/html/src/template-wifi.html b/code/html/src/template-wifi.html new file mode 100644 index 00000000..68823cb0 --- /dev/null +++ b/code/html/src/template-wifi.html @@ -0,0 +1,41 @@ + diff --git a/code/html/src/template.mjs b/code/html/src/template.mjs new file mode 100644 index 00000000..6eda7e19 --- /dev/null +++ b/code/html/src/template.mjs @@ -0,0 +1,94 @@ +// Generic parts of the HTML are placed into