From 23c068b26930263ef22bafdea99d62c49692767a Mon Sep 17 00:00:00 2001 From: Gracious <14353802+GraciousGpal@users.noreply.github.com> Date: Mon, 21 Sep 2026 08:40:46 +0100 Subject: [PATCH] README for public release; blank default printer address Download table for release builds, supported-printer table, fork notes, credits for bundled fonts/libraries. DEFAULT_ADDR is now empty and the screenshots use a placeholder MAC. --- docs/app-dark.png | Bin 208765 -> 207850 bytes docs/app-light.png | Bin 207149 -> 205927 bytes label_app.py | 2 +- readme.md | 70 ++++++++++++++++++++++++++++----------------- 4 files changed, 45 insertions(+), 27 deletions(-) diff --git a/docs/app-dark.png b/docs/app-dark.png index a6e7fb46e923b9250523426ab0bbe8c1233ac241..4ae39265e5c2c83ce8856a32665bff696bb5fafd 100644 GIT binary patch delta 13173 zcmbWdbyQqSw=W6_1b6o!!QCZ5XxuG04Fq?BJ56vWxCIEF;O@}4yF()h1Z~_J=d!=O z_Z{bs`_38fz4b?rTB~c;oU^7>&8pwyI{LvPdSD2A{j2>O5PQ^?6Wq<=@l}9ZH2~kh zv^R{v7s+?=2gsnD%Qin=-3+%NlI?ok7q_3%S3-&vnZJ;c@WYp2=%b@&4$<3hQGqzv z9UHJvs`%_INOs0r+lI<=2{O*@bp@%@gOHg+_BbBo5#Og0wmsUEYeSs3+U7EjT7!1S z8dE=g($;toid|!@Y+4>rorKoODVer|jOG=Fbcr^2MTBYsX{3K}8Pw zKur6JHpraS=dmv9WFq(+>&elQ6A)2DrZrqsvH&{NZF$;Y-~}LmGP^wg6s*ahM84{M zSpLOO(`U8eDk-f>s4`&ohKV)RGB=%C}H%h7cJ;t|NjrB=V9 zQoo_Js;X+uancAlY+3h?o}Mr-IH44u*WOL-SP?RQ+2QMCb1Cpd%*|-C+WbU;q;gDc z0Ri!HY*yxWemkE?>0({f8PnYt^^}XAp3O4vcid=yI-(<{?kV+7aEGOLmC);G=lqGp zp|LJlC|2R?j45Jk^^^u9Q-`>#vxHqX^Y|Su0u6XEDOcip)A?-T3piF4&9DK;;1f)u z>I?NOamJ?2GSb0b9iVReAz0;%=UtV2LInvTTMDS!(`egYUd*TJ+?? zXBDvSXTEzdr-9yTH_a1c(BND6|5ykP&I_aex8Oijxq?JR=l4CU_+0MXYmjp{w)H>% z!^JUz)kPK%Eu`0@e2b@OGeB*f9Z**S22b+)Dm$+ff`5$-2lu(pe7)1J$p)7CsP8S; z5~7zx>gl*vHM;Pabr$Ifmo|rOUHeeofki1ECnB83tff1GbH7FDNcKzNVG-e9c2PLm z(xA#`N4dpRjLuS{dGLx32IMlk`tpz27Q@Z24S{4OIHg-eSmmT-1W>eaG0omu>|a{3 zR$P)-<4?6Z@uYt)sudS3+1jpbn>STLTKX^pH_yNJKP0@#PZE1A5cV_`=-2Gi^=mvn znZ<4{vNd@_+TdVGR<>}%e0fM;l)goUC zcEAt)#bZ9t2k#Bg^*YLW;MJnQ#0G3C3^|Gg<}hP+IwYONjQiR$XTm%x{g?6~YW8mB zx5ar`3jgz=;>UO%CAmXjodhID+~GcI!+VqZ9lL4fD_E*I+8;5k1OAgs@P-ctMe{|t zla35?2243s^(o8%Lij*&^4aw@#8|8vEF08w(U*!J4kH4!6Z~z`(@2&lxO8kj=-Tio zW!;hW1Kw!fkQ2xTQj-1f@cWQ63LC+%$$i#(QN(~KM*JB;2boj|WJ3TSYU;WH)O{6# z4LB^GB}DPy$XW38p=a7>a!bPLm^=l$Y0%>5()fqRl1j%KsI2OWn*fZmFQd0@(E%Mb z(IEO;F{5uZ=J9HC!>$uq0C}VJ#8&5Q91|!VrgY73FmmKt(py3G^_Ty~ITiOm5#q-k zB??FX=jg6JA&WLGTP}~p??7z{Hg0fraOmx(N*av4kMrI}cfK6_BybI5@rjul|6%Ym zXsfMr!rwCw#YLn#MsvK<>&6#Jy=dBv);Ee5U#L@5 z?Nv<07)kz#Vf?yHBLq3QaMd6F!}$*GP;9_z>zAwMsOUjj z<9_`mV)q9_+jYiS0G@f>V3=&_c@LlC{>7%We1l_*s3X-PdWO zhq0HVUw7Gf?jqqa5e|-pMP5qcV;Swcb=u{&bE^xfs;#=ne0oOx97L;|9qqqW?_#J( z_YGv)_-cd!@?PPwa^j|`A*PmE74=u2F3_o>oNr{0wm@(}L9${dXDHtsiy2$JiDP7y zz?7+)-+o7pP+94xL0QXQTGo4yOqgW>qBEntn_f68D94k5QP!CJQi7im2fO=0H~ZTP z=9|AOhrTtJpk}j3H7HXp;YJtpJUmFI9}kB3KHTeogf;sRZg*Gwy>(%$v`vMf9Jvor zz3>@E-Y;gBepsqZ@`J^lelP~YcjLa@VfDOhy)N#a?-HV(s?9^np^0cfif7Z0{C75ko zb2YqDxL1mfPX8|FZ3?X25;jD1Li}4Tzs)E>r%;Izh)e-Ykz0^ z@&SElS?Re~W@_~6ICQ7amet>A{j{l5!1u{Wn$yq?^3%&_2hO@(mPS)PMt1Hw{}*@fWC8)9w#?sq?2HD_)w8 z^_HI>K3-JLuZQ=Z)ou`K9Gv#7zv)f-X9@n`%-ji={f@qE|ek75BR;NHmeXI3Lx^h7e%ZbrzprEYTNk%&m(#n#L(-ll!_q-fWXOrDM~q zcl><2+S;A%A88f7%PM$HbE1ZlwlGVGelP{#fK`7?Z~Q;kXUOw?m z;XbHKNlPOlAbb$|%a&ck($dld@AS?PyLA2S0gq<4PBS@ojbEP2boPJS(T7(#FM<4i zv~ICT5v2#J7~&Z^D2q{& z2b}&~fPF9TYTV^UG0H6w>8)!X4s0su%;%SHF*raQE(0Xt;jio3ZTajZmT+ho^9<&9 z9>W^(&9gUPPTZQw2qBl_?<<@Q0zfxES4+Lk_@CDHE~hV=aCwxHn+>nR99ruuNWtGn ze?p{{E<7fxj?nvYf~!Q=noiA6hH{TIo7@d5&A_}1bVkuW zjy=+Hr*ZG$Z_o+OT(JJ*)4FO1CuJ5eZI_F2K876dwC}Ka4o1g&p=vEq{B(OJBK_X_ z!j=6GHgGwLdXiJBz{@UbOgCmEd1(~d32DA?S?`$+rT0o=yWMCB-eSL|nkfVBsyl>7 z3dT@x4L?GWET8WdZ*{N|nH4gFt_gXxljvEl_Irmao;`1-mXQ?hLGmwqpdOim0H@29 z+(XY7b9K^^5OKZuCFno$3BG-JctBOg$HxBkO%xp-9v%e+Wl8~#(c|gqY062Dv!vtn z)n6Tx$#J9pL-6tw$P)-h{Lf3E=KtUJ3;+L~*hB&c|1C2!^V_#@Bk+NVf-T>%qoijB z&eV`|$-!K98!f|=SR*Ajs!4@(jDPJ}mfym$BRnV}y_AE(FABZ=7##GHE!FZ(ka_== zx&#iM^S`$L*8k;837l&n8VzCevylO00+f# z<7bys9rlkXAOD>O{7QsPjqbTK>!8+Hg9WEQ)ohvr?3k0L3O8Q% zrOAD=gnZeLQOW#!0^a%b{*yJjJYgg3(uYxNAV_<)tkC>;0g}#%l9B+md4kDs+qoB$(%BSW` z3h?rQ^%emmzLEM{#zLC`Y?!BYZSzIB?LZxh@OC=_D&^kC}`E?e5C`ahD!(VOuqIZr>TtfBy}r|N)WVVxr~dir;@G zml>!%7#H^SuoNX^*n|C$ji(Y1Ab+0R8)5x4l^+oj0g{#ggxA!W-+uBv5r5B}cK{;K z9zFl@$0ico?0Mzn`s8#>1?j1O^0#s_d>&6*<<{Hg;^Jy~PDKWg^WH)A%a_Jo7j~t= z%gWskmxqy%swbJD1N3iAM^aKshrRdeX_%FnE1lEmTjBdc| z#pB!!M(Es~G}N)k^n_j#oZaHu=6Bjf;HkU}Ix#^~F_v-w3jTyNk*wPK?^b z(NtmN0?ZN7YFA|J;Wi$mISXivk+;Bz++P>bB!1Yt`q38vx(bBfQNABIctXwzFbu}2 z-RC|UNM1uq^1&oqwXs=}koLf0E0Y0#ffsaH7mt753e?})F52SQ?RbF6=`K`)2au3J zi|by`#TE7qe1j1`3Vo3Ej2o<3EpR<^K=vR{8h{!MLebXALD40Kwfe5xdEw{L6s@%GyYJEoyHbk>kmv-O`{f;MqY15V? z5wW)SoY{EBGOCk2^TPse{k3}0X5bR2RLnjEyN7=z(NV)tTk83amFqa02V8to=+KA(|mkPU;n9nsfq!CGiT#mOsnQ zHl-%U-#Q|LABTzEFf1T@}9kM4v=ad*5&h-M&*&ZvuY;1 z`=(0G;ZR8^PwqO{)?atW_efb6mL2BU4RDfrzDcB(q6rl|k^u=k3JU!5s74y+wBNNtmQVYdLEN#;0g{T2Wv&q}mjA(gNc1Tj-)p!F2Kg z(1sv<3HI^N6YIE?l5w7gODa<19>PdzK+Ie}#$t`!i@^5s9+tlgIFEicl5~lj!(AJ; zbK0za!SRC&us6_fzvC|pN*8V%9;T|=F)Z7M+I4PtDR;j$Z--5;wixp*i8Apq4FQp3kl(oqNMVk4z~07Jo$a zW_4`wl~L5mCJlEH6t$T^;SAXRzR(bLxq?1;eZVBK-_q3!5C>8Zg}Z_CsGGL#L8dmJ zBFk{u2KM28nJIimr~UPfC8++kUPzQZUgYK+Pgn|Yy8R;-Vudim%GAV8(UESs*{Xwu zejr}worYN^8*fNbbpHSV0G4jTvmvr~qlX$sh_SD{$+8(qZ#t&MYw<} zt{JC~?88ZIpFy#Dq>46LcY}LAI}2E-$<`B8@5_cnl`GDOdJ+e(96m-9kPf^J`T8jF zr(!jAvfb+`=y$VkYoeSit=&Vmph4S9nQd{M8ygW7sW=bbz@psgp9T`qSM4o=uj8br zwR;+Re@##hgHF)yr|@F`oC?wn<9g58^LUs`USzu?nSn-@9--X$h|bVA3%ktmRA`eO zToU4<0j!n--@?8atLdE3hG5qYh8d3<@Qr)jkFfQ2g(=&rSvjq2lt}|0yWU(xe$gdL z)=~=E+zH}k0U(RUW#Dn1S}g{u=Ofi!fN$;ElAD34x^v~BF3*+ZG-KW)iNB)z$jxWX z+lPGSe}bgHBA6;%!Dt%E=1UI`G;J)z#MobDL=hKW66r<*9Q ziWVC76pzYH&WT*(C(%9Gza~(-JJd!CZo!8(Xoi@e6>?|Dby*~(*XW@O7ipM%a^Xj@ z;EoI&w5(xF{8UaDtWq?m?*gIg-c$q{(!IhAwFZ@`m$(^XhF~}AoNi{#Bobgs>MY@& zxKtL>Z-kgE-oPUO@=nJ!{oo}Ab<<-T#+bzfHJ-3I= z9?!pKV9gFFgR1I?w;8E>6s&iEziW7?9`ZcvtDxl}ylNcw9%$nvIzvJlvP;anIS-@`S+NCnSXNav4FWQgquWU7h}nEm~1GN zB!(+rclm;4Pu5^CUf*ltBd9N^Lblg&qqEub%husk&!_QzpsWVVHSrukN{vABO~ap! zXJ}PA7BDk%_Ppd`k%qQsl46~+0Q704m`T&4&me)PXCRG33w>L2dUq{08hhv+dEtbH za7ccPeqKGEhWGIpuzXhN`ifgP8(!W*gFAN>)n1)y)dUW%KW6wr=Vt?6BF7CK;GVayj?w8*%U5<3aNb&xRBh9#CF8 zOW#G$$LoAUGW2_k`~9IdEK@U@IEVD<<+N~YKu94ZQzU*9Gp79OqfAf3Nvdx=B?Eb` zq3As^@~7PtuK3Mo5@3s$l@OXf`tjD_%r}G1UtTWjClWo z`1eM+{$LijhcYO69fhH4`6S$U5&dAM5tzc~e0IBWGbod?5M|rkqK4eT?5%NpJkmpI zalEozm=#VI=_Uk0iOXt3x8WtF2mdDu*8hrv==0xa^7bRu+{=r8Q98FxD_8pGA9wLl zNP(7}stRT(ohv$N0i{vEM>-?+3a*8Y-;Rwx13rR2hFw3^qA#O54L4YoJk4=0RYpA@ zsyf*7XIkfdI5>9HVRTOw0C(xWrzXp~w5^N%gl4W$lf}?jVxCFdX5^I6b{+yqRmt+N zq4P3@4?WcH$dHJ5@xP8D`!@9ojb$7i)+C=BH4-LN$=}9b5u)=sE%(~7gX!#Bl^TA0 zGu#6m&~UQEIBj?Dpy?v;A6!j%R}m+(2ECO_{1EZInMQ|%Dl6GmbA8V*FPepl1fOHp zRVE}unXsqi+eiATVyI2X_yM}Bql#tHutG8{HDXyfg@9UtF6py1P(O2K=w;zrwr3di zRXi74&Y#UJV#mcXsH*uCf=&H3La5$IFEJQ2iA>30G5HX?_LMQ>a2>O?Xa!UQ^Jyt9 zSq~gLJeQ>he1dLbObRyK$53>bHZkCxKkh3%#yF{ zRE6~$=!>_0HkTv@=1J#@y$)DAc0{|~nNlnc+#0!Ukh{IUcWq<4vfZmpVR&~HjMPBY zp;U=_3_d%PB|*3DpdkEtG~=_^lbbuPPv|2KZOHD5(dqSgDn144IQd$h?+g04J?AcR z4^!+K@`(x&lJcAl4geu76f3!Fy&NFq!-W+L@imvdViW=+WDE4h0}Q{DbN2VIsQZ4O z>N4_a>8)I;lfrX0X;gX7LZY;Go2V4>aR8}56c^oquStE(DX}JZg}9}`y;A?z8RlID zO`|SX_qOYX;b}yGi}hrR6Jg8)aBs8heZ!t{f4BgS4Cvy}@scM*ZSJZX?d(##EL{1( z+5FG3`EFZ6ta}>&k>Av(nLT3$sTh542=xdZf|hVYim_;brd?!<2V|y2>$9TXP0Jya zSF6PiCTuQa{fAb#1f$y4<5Qh&Fm8l50}gf7)n6$ zdGqwU8)T(~g=w8}c#&;#i?CUpnjlc%Ix+IliHz*1z0%njKcj?9O(Vu;a)aw!^md}+ zDpS^~5Q7u^7mF zU?odX;gVtAsZ_*g#pc-551_0I1CFM$0Z&!Glp#Ea)Mo4*;ZOo=TU64+P zeZ71c*Ya;S_-7oZ^HNrytDqX|nHfIsUR0EvKv_=u>|P*=Jzx4EH&?FYo-#3Y6i14p zG{_G#S~@Y}L&OJ!ooW>Gemd1ITI+1~Dj~DF3Atzr8k05^vqWzNIzxw45?Td1oLc)h zCq@)<_CeA%@23fNUs+ft&(+O%ZjXDFL&*p%TX-zD`F=3{jEr&`IW$MnRS0I)RMWAT z1NoZlesmz&s@Fm9E)>q8hY+hT@OzMI6;wdQSuO3_#5Oq-S^6b*^=wr0H%h;+bJ6?u zRYsYM&3;Jlw+aqpM&jCUC20{KO26GHZ3x^z=g&MsrWTTz?&AYCe57(qWwk}mnSM1J z`De(@=lO>}I1k2P=c|}g3W`EUcVdA8;!li{{TY{%;woh|0mD=9;P5b|PIr4)Drnqy zQhZ{cwKtQ8XC=E4LK1>aqr$`-QgO7xSdHp_MValxeR)?OC<9z+dv0LJmI$fVOIu(U z4Dj3&CCg{Ve+ikb@;{@7()J-=m8*(xSKFUd8r2xhlD(@iu@KzMgvPUqLbMx&&GOdYg)aP*EohE%I~*w%`3fHktDDda6SAmTf6 zP&H3n8go$bQ6H45avB8jlfvyBvCo$>6|+&_SM+kBmB2>M$X|T$`M%Xi{dz}PYwc1w zNpcN7V(wN8&Ea+0&4E}Jyi!`7l3)3tapXJGR~CMS#Tfx-X<|o`A{Y;MPzm7OQ+4O=DT`ufM)P(Y zJZ*@zuOpM$MRc;#n=?eemxY5-B|L209%rs07}g2=sk>Th@O6x`<9dje6laD8ACM6^ zE}Rnk0r^wrP85hZ=7-KMhO)us`b)g7kn4yG?Jw@(7k9{#Q&oDO_8_`~v8J&Pb1 z>?z5!?tFs6V5ZZ_N1Td3;Nzq`+FdHpVQf8h*TlCi(oT@}=_9 zz@v*K9z>;Gd!40awM;3l%=UtfT5EORh=@~QWv>+#5iYPg%%G;d^Tf=V8kQW(yRwn@ zr1enEs@qM*r46a(^0}?f<0w%f5k7`>x}E6xmG*#Z=b}mS?)Yzf#SJZLs?Ny-FGagQfM9dRUbG{!K+HcGT92?S= z2!+8LY%%f~KZ(4e=qgon349VKDOF+V0DdP?k!&QMT0> zsAg%3zL%lRPDqtcqTFr|Mes4};~#_!W}Aa9_ib8ck!!S*1Ulo@%XragLQTcAPMxS z_GD`QSzA;y9Bd@+Hu7Tf-dB)@&$Ga%t<&&p1YCA%a23>~oiHUmGmpQvkN|9pH`9>w z*5)J(Z{Nc4q0Y?hV~;b=g1B&9z%?l2>O|#x+_HdEU#IuUM9;&Yz8)L~Lc*eaG;4K4 zzI2#G>zuXrWO(q8((UF5x3cBZitdPv^6=kW93$&48%0{9aQGB>Rn1)DN7+q6(dTPO zv)31F1S^FTbI2oYE<%R5)9;&Ha%jw_nF$ool+F55eSD%W0#3LrI}!*ZLtcSWa|lu7 z1_~#Q3Q2g-U(S$iXKK-_9#cykPHqz2bP-#-d<2+NWIEf_4%p3D1*=di=+S6#&JbRu zs$d0YOAO~JGZ#thQ70=3%B1jFp^DOOo-^v_PIj3Gy+sbG?sfCXQR|{{36tQoEXcq? zz9BDqx2rExee1VCRzO#+T*U_(UMo6A=&vD5E?VrWIq2CGS7|a_vFUr5K0s=rMC?sl1&aDQe6hg(4!8y~l#_xs$h3al z8ezgWlmQEs+u%TV?QOk}2ZfF26Tfo23Rng=GQif4`|Cil@>&^cDbEguB5ytY`O3kh zKJ=o^s=L?Q@fIF-)C-{$!YSSOc`l=rsZ-<*HLDOt*`NY}QeQQcy@3UatSJ^#|#%Lg(+IX5hiBB!OS~Hg{FS*F-Zc82L zA^=ucmHqT4Uq;BkRZc1mZi7T_JRU-m@@X(ia{D))+qX;_=SB@; zSP8SnElY5Q38HT7?bU6SiRMQBjF5)6WP9wAUL7JdM$&y>5~*J(hJ>NSGQ%V zl}qL#+6x`U*56ljE6_@5kh7;P6f=o?$>V16YqGKKj+7vW8~NEUFxEEbIKEnRA&`e_cs)bkx2MfS%8vI))XF5|3gDVOS><{+h=$whW)W+v(8tW zkw^7@;PsT)ZOY`l=^A9m=rfMLjIb79S1D$tu>q8NJ{MnWDL`)_cPfr%g zL%*Nx=(hi`fBhgXQtc%>$yTuQ*w8c~zDrq{rH9M$+}cp*5o3t^NfPB2RGaRcj&#ba5G<_=t^_+f%o-U=)$H_JnJ7j{i zaG*|AIgNBZzxxInM~t18j&Xc$e~y=EfuD?Pxu4ej7$aqrs0X#MOAm&$+KLydzhzCE z8vc-(az4%>0D3vI1WRi7;WRLmZwL?QPzhJ=U%Kv?zBiwNK`HL$3=`%{)WJ(a^z%XP`L+(Sakl*uaqyhA{p3Q|FYD=ZY|Ys$CM7CJ zOAJxxcu;UG$RwJ+*SZeuJ>5vgJ*#YPvp(+D1Gn_q&2U_m+0Y$uiyn*w7wE}VMjIxM zQ^jcPeMdyVrmeqF{pY+7n#@q~=*XYu5or*+(W|i~ zHeoHF%;jE#hZRVLaEIPO4{f=A$FlR#H@(~QB4u_ww0ABz(r;HBxyWMrdHQ>cwMwPM z*jE>c&}yw`jdba7f68^?DTE;Or03bR$vbfpA0ksrL0CP)qzx*T>p~o~Ge0fYhMUjw zqm6&{D8tA%J|&e&yOx4o8!Lk{CUeb&AK)R%q@nUjAVN!JnFG757j_~o(4ZN2q&BMNcIs;n7~LiWvd$57BOU&(<0ikVvJ zDjD23VA|8o#FtPA|1qj!z)|Oy$KzI#!I4-}k;*h8*0%+O7B#C@AvOB{&4Sq@9yeY=LZG`{`kSj&>r&!0fCN=PH^(KwY*13q-{oPTeEj(&AV6MTUQMju_?KGs_xi6OR?Mt^g0_~Zgkx#j zR7A&VKWvpY3xP#X<%bT*XXRYztVq}3uMp9$ms|Lk2VVs6OM41Ko= z3J#wEIq)Ay!)M*xYbmULxDU%R0Gz)`UcmBire34}{laKhzS~)*xh=woq&D^)iTEG< z&;NkI2^8u=l$Vn`g~2>aw?g&9^xynvq+hOx@Si2zgn=JF;wQiU7bf$I2Tt<)-=e_5 z2_pV0*8k83{db*0X++;J{f+%WMT3J=z<8fMit_H=yW87a387@EZUFU*978f)o^1cB uY4!h=_g}27{-OSVCG3AE>woHNC@ delta 14096 zcma)jbyOYO(kC7~Sdb8$;1b*+Ik*$tHMk|gf;Mun;KAK3xXVF;ySux)>w)3kci+sL zwdR}k>aV@Jdw12YU0t=S>eu@-=+I?!Z!l~%+}M^q?k!ox^(DUT=$cTWU*kbYhPqdEE~EY@=st>BlnfmhLzVJ)x|#|in*po zM{iWRnD4|Trn=ZA_8?;;UY8`5mL$}aw#CttJQKJ%|H+l*QK=49I@YUE$gTH>ClH_8 zn^{@|+MR`ME`sZ3wNcdNz0kPyb((jjcCI}0N5~w#4xd!-bIlwK7yK3RU2dHp_*+{k z)0AViuaCyC-f$!^D=am0V8Ot{{6$Lb=+8^ke1g7R*+-mcQ7*@{`mJwhu~CtIKN3>G zQTcu;MiTA6(y;eKJ%nBzE+bQP8!6{^rvkbUJ-;!YX(o^=J4{pnaRZ_xO9XfEQm{JdG#osy=b3YQx!P?({oOD3;NL@KB4V>Z(d0;{}zgF&KG1 zr^V`E_{eaS)<(0RQL1Fs|l2M?cVUir04@T}d&>aQ(`LHvEcDcaL| zDSYcXaMFIb_3c%N>t}?BPjG+TeWBBLKRdpKztK_y&8uhc#z;ma-T(py9}wRD>o$xx z2ZP}u*@0+fww<8V=eLnel-@ibxi+{sBoUm5Tl9`g|^8!|Ks=il7?Sm)S#;&wP6c3X?WzM7kRo=f>D= zU<#L5WFYBQAfCxr1N21L*mJtmmZ}bCme}4RQGhjl1$t z?w$lRpa^U6&sb5Ne97JAW}bi1#*m#nl444eTlUSQV!W;=+dC6P^mKvlnF8Y<;<0bn z&c3ared0ayQpKAn6#YX?O$W0ja(IKmVJ#w5Y4r3HPd$uu1L$U5-n@bK&OI{_g0Uzp zxYvtdy~cK)m)uS(e#XsMiF`TbAx=_D<+hSmrTF%KZ|N$32#x=Y^xd=j(lQ?WLKka! zi|%kA(5W4TvP^DW);wga2FtCxRBgE8DL^>~*PwV6P}1o2B>NoI;q3LW^_y<$LAd!J zD?au81-$k~`8)ut*Zi(xA)=F3=e4-!ol2k&$=1%(XCp8cCBi2I`vt+_tLa+*=;8Mp zG8E~|x6O^-pl>6>da7_>EYKl72R@oJYbu+C89x0^0bwU9VXfV>uh|?e50gGXh2hRa zcDHqyDzKT3uH(8Or$$`mc7zvSJ|!aGbluq=1-NTi6EeMtLIBlA)}an$a(-D%K-!(p zDqMMvZ6gO$QblV%)V_ZHe!4_+R{0n>3|-u4Une<#9xBiiYZ!aY6SiCK^C@WQ z5Q2XMzf9gXAi!Y9$16yQ+3L$lA|iwQu*XymAJ9rOi-0 z0w)z5(u_|}2Ca$$b`8#S2XD^E_NL5_UG!YnE+jo2E-m%VZkiN)d3xuGZK{5#txB~z z>>2-9W{&d{;ITcp8R$NdWPVy3%OH}B#e(}+C^-E@e+H8f>GEz?-!53&`4MGkH9D}p z#d4|^;2EKEXD0+pMJ%gGPW3)rTmUGtEW{r`GuiezDB(xx;2^uMta zQ-Le7DRte36XxEgrt$3$Q1N{ls3{1X%=9y%aaj^#n^Y|_vK@x1wc7G0rQq_5r-{Tt zNQR467!cH&+axLP+j0j+;yzY&>xB*y^5u9+ZP^C*jbzdM?$0>se$dxHl?Un#_1R>? zjS}kQPATn_Aow^JQyb>z&M{9Xn`aBrt+u$z)^|e-nBaF>g?l5OqSHqUio0>8q$~*i z3_p^;Or`lHp^@1we_f}i5$xfGfnjNp7Ws2w7ae{bDf- z+T6OmP&sh9*Y3LER`>gW@wL{)*>Gal^A@wx)K98p`l! zTpXrX@)@4KSOCEMTMd5#bHVV2{jG}6d4fw@95X~wnoRg11q=BsbXr&UHzm>(V#u2~ zn8V8a5v5&PiCQCB(UiEG#_0T>UO1rD{eIdl&uPh?El4w9qZX$`V?xFMZ6T*3WH^a9 zLaY8rYIZ1@;F{Ϊ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 au06M=sSg_6>-`P7k``AGD+R$B`u;C*P6^)t diff --git a/docs/app-light.png b/docs/app-light.png index 5c37ec0300b0d2037f78665da329f26e3c10ac3f..6cdd0faa35a251c8e17b11da63bcf94339b51b90 100644 GIT binary patch delta 45794 zcmX6^WmHsM+a88ahwe@(=?3YR?oKHQ={|HxBi#c?cZ0OF(jnc_4I=%`^M2>YtTk)R z{5borEACxAgRwt?5fld31ZMjT%%DIN%L?z-wX-^kaSq#f#?etR@3%NLGt*1`` zt+T4PNuSFXOZn6ywRAo1qWD@&Zqjk{?jOfYhwy1GmDoG7)DcorEEvts_C|A1|chH$aCak_F9j>;h(|v@>p%k*9Z>4(g zt~Ic*HGg(ZU1#2>-FFoMYB^|Y>m-W#ev*tKih@?sQ@A}Hrt%yxmNB`O&MQMzj zloVQ&kl916Yo&I;sOICZtZ1lS94OnZ&2hoe@2_JKULJ|-a2-VgJZK+{nwNuFO;kw` z@jjRm`1R^8LA4`rizu!W1WKagI6AG@QN82yIBP3WABdPI5>peo+Su7PqP=kUds$w^ z)tBR|nk=^-9UDJd{%*V@|1%G09=W&wx_9VJd6Nt`GAc8a zF?qV^ZP6hYwp76{XZ%sEZmVd7&&xahsibxA;Z$zzp4jNr=Ofn}q_$^yaRQphu9_qS z5DLN*Nn8t>6kASYpDp}1I0BHQcoT>kgdhM9V7*(Wbg|}Kq75c`l1ci& z;HIaS;ZhG=)i^Ju>X>I%tTR`BChSVP2+3t3JmI?SsCRS49Hi{SCGC0XEcpD|U0o+v zn+1+sczWt&-1}pKd4We02I=@@Oz_@_YY6M({=Q(&EiEr!3NeCc%ClHcQ6XYp&AavV z0mo=Wu~PM~_>LK`_`_1~6MJisF!w>l+lYp9k)I?0NKU+D7nZWD)F-wTyP|MZmm%~o zMlx8POP|WG)-^kxzD(***QezgmfGa#wc4qEQqEv6Wujx<-RvuZ1L{62LM?dCm%9B% z_w!fXC+DiFSc5fE`oyKDt+;X>N;9eCA3dc{UfyMB>DsR&G2PmHRP0fn2@mC7g$mGP z&VrDE)_&Bx@RRJ}g%=q=e=x{(0`+%&W|#~L+p_C~LOW_)%wm*lN35?@#)tg0W{=_e zd^a+?Jn`UBTTW6bgsGSxc+g7Y_Z5C&?JYW`cmKc!3PP{Dh7<{MMbii&5+3DD3PqgR zzvSY{$~8+>tS#$OdeF;)&%Q|IciH@LJl$~w2Kq%=Pc`M+lI*KNy&3(%DEs6!j{)7} z-0KN~Iq!b|RIY?0SChc}+!Ue}J%LA`T4#ElxV$YJw+CSh^9r8S%er-ExY!Ri%TqOWqU0;Xx6}XgC ze~)9Qe%qlw9+jGXmt#BAP4I`O0_jWuXuEBjt8*}p4aAm2F`i%#0OjbbxeExt7x^*A zr06h{T{eV+(G~*7=;FdP^DgWA{NQU(HQl>K2(ID5^@07;(`1t_LLzhKk#0bNO|05B zf99{)Xywmv`y~yg5J@}RwqK{CY4|dRgMz&|ml;2nU)i5)Mw*BA)8mkgt-?N-1Ik$c zETK{Zl5G0=_u+^#?csTWAF^!-@lPklQZsQJ8t0occ}e1AH5VRGVvv`zX`0|aV7Xc zh$=bs@ZWkoY@L%Uy$D?>t6e%s1GMxwQw2Z2GZZa-y0SrhLn(TpN;@uH6E-)}q&So@ zz84c4`*UJKC-MO8D{~kgKEBU)lTZ`W_NSrUU6OtWJIFBsEBlsjB{81OpfE%>a0A+tCS@t8?)?)}9IdJO! zaetT3ZbmvcS?y&D0Sp%>3pCoz0t&aJ$gONm&iCM`i2F75=RA&Y3}bQt;Rki9qpR2F zAKjMq)O^X@1*=75&x6LD)#_k%Jp4V88K*)A2xm!?9U~>CkoDAd*+Rtzst5&jz4hae zy7w6bmQV}qzus#dHP-h3uAyZlqW7S|p!VG~LK%b8AJxTsPyH353IXLvw6Vv?wnp%O zy6;50fm-->d(;`mCc#Zrh*WAys9B|-h%y`-hvPRZ!=2w`X#Xd;{GEsu zykPr%0CM8drBxajjx33SIYMz(JAF0sEC zzBC>vh&{WfrhIoO$7`o8b8X-3i?nIAGkireZXb$|k)FE!QN0ukL(*K%be|+P#e)3* zRBx0UTUqVivlf&Lg$ded8#*+feSl-e~(a4-O(TR z1p5)%_6Ls_cb66qt={it=@BYfRm;eo*DVdw-n0-Yh=*! zR_t4%I6DGaL@-gP!`S`O57G@3i7m5dW@u?YVJDm7mGujNK^Gwojxz!OwWXnT~! ziW{Zve!Lv>e8l)zk^nyCTsa7Yqx%H-hQka8nZTb2QT~fg141RV#Ya-ED2%6y z5~^+)@9m3Q@%%YC_H$h1Y-IAbW6hO=$=-t+JE`8|NcP7NJheoRY3Vd5Xk}lOBfDug z=h|cb$DA}CJQ}UCXZHoi=;WwPEDn@2B<)yWHZ5U@XN!gSoNlXC0dKU-bl z+SLJ#LTLQU+W9-;SM5%x5UGK$oFY|A#?|w5U z$bAvfP5k!Nb;3g^ch>IC+ry-mUr6Xkq-X=DfmYMv9t0jW0smbqz=T!Zc6b50KcjR& z&I+;+u9mZ52#R=+nykQ1On(U6(y6+Li6kl>JJubsdnWx>#8SgXeJ>QRo zv%~_Xd}!pT=;+^0=jBu4lWTu$9vrvGVvAu)3Njs;L`|Oy0FwZlE8M%D7t*=I=9C`J) zp6U9`c{3HDf5c>-4}qi1RnA@uSZ}Nu-?S%>jQ-Zt1Q33C_ly*+c;5V|k$mhvkql7F zY`pveQGKX>&MN^(G(U@-R-iZQJ$!%o-X56Sb=~tzUKoK)`NJ`P_g055Kc-zqj!~$? zyYPqzH1IE*V1s50mRNk2V0h5APay~diZ79Rftw;nstLk?P;G9~E#q6kfj-<;=mG-C zJVtX&TB_BUq(Xnm5GLrl#1Ul$ahqcy%qUdj4N#_7P8mRbEVH1JX;AJIok{2j`T{>> zz!w*X)}lpYyLY0U#nFg|WBtJ%^v%!cRm?)!NhKrQH$gE(_xvC4S~`_qSDeNXSQ1v9 z5XlmwhIS$L{EZ4i#0msenI7v+GKBsB2?3Yy1$G)D@Q{l4KePt$_(2e6PD#~2$n0m6 zyW%MGTEN>tb$E&)LBXYSLX3a#fs{E5a*8pik{m>H=s#?yj+zXX_C17eH4V!k z`Nbbp-P}wT9(WMEFA?+x@o%jC+?!*Qd-WyQrDYypjLfI(;BQH^|A?!28sPXgz~_W& z98ryoYOQ=vBM|# z2Q^_BQ`XW}OY4)g^e+ZO4Llh<8AU`7yPE6xU{nx93FAZr;ne6mQ~ak5ECy^MI7D&m zzAZqPX2(6^=q?>63C;#8yFfxj2)~+HG|kPdA&JL~Gls8#end}(fkdw`_VZ_xK{Y6& zJ01iI0x3vKXzh7sTyJYCB3zKC$Olu`w;Q>CWnMRXXvML@QOZc1%H3z3qsL&FHXspT z%@|0fLIkDt49#4;7~Dd~i7nz_W0^Xv2KbQ93R;kd>SBHELBU0aFd^WL)HQ}(Kq^fP zPcfum4GGgyg%^Zm29i`LRs;!@g+f`ra29;^g%AD|xnj#vR{2;l@tMPD&R&%33mSSe z5p(@aGBk+E{t;_t!f*H#UHrZ@I$1nVm(a0*tZaIBqeoU<-r;~6&vZ|T4!4qtT9;g%T7-3evh3leIgeGe5mi_e@ zB%&pmHL=MM&8V%l=DW8>Ea*K4YSceTHzHGWB?)4wDRtQ!$ zb%qXL7qT?@M0~b4f7oX;<;6*5ph5`n4jyz=KTMGs3Bb}(bElCPQ{%V< zE=$Ve5fz0Ll=~ByDsJhS1m>+-Pelzkx+QP#AgF6uwf~%~(2pl~dJ~mJt1qaPd?YPn z%Y*Y3*Ex!YA05fsUPg-1&;$Z`V(waD=Z&2xzSpDew|en@tB98u9?X? z^>xaO%65tvff-?MQ}9hbL_f{$^Y-2tU)cDevXT-@!^-?Y76i%^qe6>MBz0xHF8@V8 z_n)sTdKk|36=KEOLM&&}jG@!_#~)R8jLLll@h-Aw2_>|K!0n$7qU3BT+Wx-JQF=$> zyuKMqmqNxuxhkjC)tAklDAdVx+8^W2#<)Rk5g(G=RH96~<*dLs@SsG*y3D_Sv+x!w zxXYbh#o!X9vF51k!Db9UQWT^W9Ok2?rM!b;v~ZXhRTRZ%Y`M4-oYy*<9Tsc$fN2aQ zDP?74Pp4pBz`5se>Wgo#q+~4QhO5?iIt#DVG~Tv?JLr8ArBwiX5FrTMElyzMCGD2Z z*^nuLo*ah0L6D-FeQIC)g|qZ!%u2Q3i!tS^Wodjg;Tq;euY( z_c}EoEp(9c4L)60A1=x#;S3X&xwK>=)1&^)oa^h+M*0{U%PNQTzMiLtfQyTc8w8~a z?TjpO__=~DE*E07HSu`Lm3wES6k)jEqtk2JLjt8CAP}K>$x>EK7%kgS$m0e^(}}hI zE4r{R2;{Ghdibj&-1E$E+`eK+w@Lt8C=v>+hCY0d3f~OugPO-=KR#)A({ebZ<~&Q= z%%L?%VTd-prxoUABhp%Kvctu}=_g{@?;Ilf68qo7D$u<~-Hca6nk?Qj(tvQ3mSH?| zDK0In09w+r*{JtaEbOg@H=>IsJ(3M4`iV46fWxjWnn3cuan*4I3!YxU*#{sxK|epO zCc0UVPDcnyN4G+q$O`W*>K1i#|0mcHL*G&YaCC|ArOU5Gd)qy2 z+UBA2_5ot~5(T7hN*1x|BS>%HWMG|&@r@>(77N-vg|k7hsNfv4A`bSCpw5xgYeMJm zPruar@n!hUGTg==rkZl^B}f&0h@X37HOTiRs@bQ2sHuj~8WSl2LB-CeqIB;FFeO}S zdPW489bjgBWN&VrrO3MM4dq9O-*bkh=?~v`nUkhwsDunvsO2Vh-_M%@-c%jBYZnId zQ4e$aRrH^oKm6j-K31Qs7~ZMZV-2Ay<6Sh1C9lBVTMu3BLbfIoaDVdt`26*21Ye~B zj$XOXvi9>w1+ajW6W1AqEh?N0hue}Wj^XD=b>ISD{$sAVaUiAWx6WBBF1=&^s039t zpqL48JL)t^SWzk>S9eDJiYiUeW|++FQ3J%S^NKWdqJVxnD;(&X*}YSvc>B3XW$F+U zDO4TrGrh)tHAJlyp>&_Yq+pQ}mLWRacr2IAM#8|7gKtv=j!xd82xjX07d3UAdFQtb z{Nc$8`LvYSljo*rd-+d8G6(`ept$&4U4y0&)X(;9KoC(Djqgi1$c6dS*iSzDVuZ>i z=)5fg90(kfynkJ?LXK!+nw`P)#iW!;(NiZ)b4n(BdCr$vh({8|JeIgr>@?ufM`@Xz zkhXw{o_rA|7o)au72N@b;Aa{~D?b>T(cmx#srk^je6YWc% z>Z8JRgmyLkbZ?>Zyc$XGHj|{AEr#$yWpOc(hiZvF9fseLiVQ(=Ybtmvzs!Qu`=h{k zK;B|$$4ZV{{-oE%W?x&IK($V%*ZDf1<1$3jo&$;tSEX#HQyZT&?m;X0r8STOA1R=w z_#-^mSLf%$H(?H3(IB-pYyo&Ufk=PT>Ys^>{YO~wSo50dRWqtc6t(Z(^N*XqQ^S)* z!KbU1B`us!nA4YAL0|)MXF4YDavr0W09ts`5;I0&SU&#?p8Hf%wOwqAZSuIRW#{E8N9ZNFW<_{=6*W~=Oahc=LKa)F{}1isXJ<$C7=RR6#d zwI{BwG;h0$!+wuNz}Zt5DLfvG|0SMWYN>s}NK=A-6ES68WOg7k5E zwK2g(TOO!M{;><#MktOhI;39!*f*l0+c>=P>w4P^Rf@3DeN&>9wuf|^CHil(bJnyc z68-EIyC~l2JGI625zSQ(S)k2ur{sr1?bGjUtgIO5=+}?Wz|&>qgMQCOesVGnG4Y|h z(65hfw>{`Nm4&s7$1v_SIy#z62gCY8Wbxm>i*%XP&f7N|oZfr!at}QLfv;!Aov{p> zDxNLF`_5AZ!ONAVj$%D0URDtcr0$X{7t#x^Dc=phx(TT1$6nZzpie&!^yA>0cCXnr zFI8}4g}PDT;6SHs$>KR$SN3inU}6Q1i+8A}J(s2f8%Po5;0Eb?0`32%n<6Z>bsbUF zzpRw2$uKLU9KqVbXBn^iKd35nw-*2YigA4Exi*#sXpb5B? ziO?Wj^{;JehFVeh6$0B|N4fB2wjQ?RRLO41mfwxSMWZ3~0<}!6BFvvp;FEa~@QA~X zc$h4eYv+p>qBq<`R*Gho0()Gza(Q=hIER{qisVTc7_`d$KAf8H+3`#>1hfp-&L7T+ z;t_o*UfsDRaip%_q7KuTuu@3=9%HdT#U{u(V^MKL(`#+C1Z5g`9rg_PCdRR|=0$-L zbWGgW^aIW?1eki;Jzh*{q?L=OV_;BBwrX6$lR-rQhfvMcn!bmi{PXW_YHHfuwaWhGDYh@2wg>wr z8%H7|E&Hvs^h+`xIeGQ8Z9_u?w5X_3G;PI}=if7$SgYvxCrl5AbF1{Yqwlc)@N;MIX~z{~)5d?mev*jH8A{5oGi6Nz5I= zG;En3`(jvCI5cDKK;N5o{gqA{D44hB#X;Oow~idfb>i|oSt=o6lZ3+?vZyA|PXm6} z!`?H-!11`OF5UyjUO(25+pS#o`0|ln9W?PJ=48!+_K~Lsm?Wa*oxZTgSnayT>@zd_ z`ikQ#r)0F@r|P$4sFpy!La0sb6xLXbsg6Hf zPZp9Aq)a85Cz&aA8R31tn4`ysqQ=Lm31^vn?qXnn&t{2Sr8eEIX4cj|T<=&$Hcz#M z@s`yZf9ZPFBt;gN)B;;Zea*P1$~#12s9iovB6&{bU)ErTWO<$QtB&A7t!YnqhmZ;{ zbOT2$e{##kyUWBwpmo|7#us^;TPYHTomwCL#bne$;>mQ4OJpP@2BC~UPCW?;2#`W0 zKmZ3xoVmF_FYBM zNAtg6SUwD!#hv~=RNYEul82fx^Jgyjh_>V(7th&ps0oWyd3x*Vla}tgr9mARY*#Xa zp*na?+u^?qq+y~Q=25Fa7k&jWuIp%P5YG3Z(#ObiOEWs;prKz1F+Kp*20&$3qc2kHE9s7b> zPpgKOUo~1+28sByf2ESm{elw!SyJV(X77Z;v)4r>egd72z65$`JtKC2?K#LF!dEOt zd3Lxb>`hGa=oEA+n=6VA8XFt0udh+5`LfwWM2vDvOf}Kp{eMq&nA)QNJ^FWxQ*GWo zB1*tscTh^T61e)OgmQWB@8jd+*(pkdktQOFD>*0UKhX|l3WLPSTGs3J_xCfu7uTx( zu%f%up<{}9S!mItK1fr^QOgN6r_kaIFV{PNqS!8(L zy1pNqbWIwoh%zFvcg*i8+;A9o$2g}_Kkq^(`_|>1H^3jf|K{RFP66p3vcwu;5H}U? z``9#%qf2i$H#ZNVuBA^k7ve<7l0hH{NRhgrw}s~So*7zXS`rUYSiW0EKh?T?_KNts z9DCY{;DsrL?Huk2M8)@ySCvzViO0xTWlxHd`-?ZlB&ByJg;(L>;W9EZ_AmAZsg%|6 zl<&K3CV{-EDYXe76_ttZfJa!jgEdt|iMD_5k^i4&RSxVCfsjKbc)e7doN6{Gr|fx2 z6lM-RGBYzT>pw$f;WIN6Ti$fIhq{KE^9p@XRh^uiTs(CD*r;Dy^QvTbSZXuTo;9+# zb16U;e{%Ava^9fUq-#v1wsIOaaBuJZ!-4Sdu*8uOdEaC@1$#PwS<(69{%yukP6^D- zd0kWpIQZ!akd3#$F^#}MD0e0tXnf;-ynrQ8tHEwvQzNSc)1Y_4G=>D=^88jwvx&_4 z?#txo1_KbcL}tA4?~=GCf?3!*{KyVGgN8uM3}(dO2d9E^bPzAaa|LzE_heRJC=ACu%A`_8 z51UgaYfsUAq&x#rZm0wYb#rqz@CnkibJVbZR# zg073NukY-)54kEf+IQEReWAC&@uHUi8SJ-a9I(P`UFq_@J!1Hf6&4w}(?$Bf%F`aO zCInT!wNlLyD4e#9m6fuM(*CGrOc=?1cInMZg6a3b={o=^lXlO_&8=oQ)W$XaJTdQb z7n>Xg$yF&`JeHD@nqS{6l1pG&9$gP@*Nz}+Ac|^6MLMSC1`B7Vp}~jk;lLFM=_XsU{f9mBra(oh>s%)n}bnNE<(96&@!o{`PMmz5>Z6d&=R;RSlpjw+8FE>rM?qwtz z7b~3~as%_Cs~}*S5*}gTce>Is?~$T&dpOudpCJrPubuU*6wIVNYEkoPDT&nGSHE}C zs=zF<+2Wf-B~ghBvn>joMpt1MBfJAp$G!hKi>0xE0E2*iSemYWDvy`wISs=>_tj|T z&Eef+mx=Soj~_cdPZdp(taZWSpfoaF*24Y*mytS_l~W_CRpQ;1(=d3#xAnI43I#rJ z4BUaM$P94X?lJ0#wO?jOK)}jYkN?8MlZBZ~8lt+<-<|FDjn@Lki-RU)Lmp>9$F(|b zBfXMIk%I_NCW-SKd%mHDUbTdAxjZ@MXIUZ`Mn|PKaI`MZ-O& zB&$x||KMEk`YsI9Wz)ghaHHut>0p>#^lPcX#{XHmv3~5!0mtU6z?-V{gk8?ovc(XD zoX`CVYRLnQtiQkvf}3lWqL&GNrd~Rwq3urd$H@HNR|QcZ>FE*gbhr!{8J&E^VYZu1 zey!wmfhEqsmRivUS|{fGCe;Aq-48BoCi=ufYcVV^2${mFS1?`hmNR*OCoD+ZJ1_qj zVTRE_%TlS6kZW~H2;-|pd1FNwvb6*bxhb2n_ijnVFI*?!9&j`)PP1|vA01bEpR?Zb z;n;1kS6^SBn3x#02asG0z$<9txkf`WrL6=SO6owCVxNWN~ zpKF1D8{_L4%+WQZHHvox)|Bg=KKEB^t*d^|GRtrqS)~tRz~;loQLCRrO)}&hGzSBy=AhF;TA+wMjb%{Gy&gN zKmw}lay$aQiBcr!RI(A@v&KMY4`ZXF&11{S^;17c{3I%zBTqb4DWw@FQD;8XD2~0q z?dWjeSCa5CRO~7f=hz_RAjM2gK$}aNJbZc59#U>yBfYq{20*Y`MjsOC)(@M>splL zXz;r$@WC}nJnK~P@_4VK>MaDE>0lbfU{E0#p6P45?v?@gwExFh5|oiBqjNHS59{m( zAbJ?e8E$N2#Z_Q6_&&pXyQCKPXI_qCx>eqqv1lVS607HF`GzKPr{3;Olihs9Pc(3F z5R@rcynxOf0|9&#>)x|*e(61@XV4`uKe2AcQT9zA3n^6l^aZ9+!CNK zTn!s+<>2~01A3t$8unEKHrea-=9;wOdNw}s=r9;V_E%3YK`s*+RA^8pSTno5%;o%Z z>5W2tM4|-4Vz6RLv-aqt<84>pquk&HE5yg4dW*DsMzW6E_cQmm<0Kx}uDP=|N0(SP z?n1JeP>zr@jdkey( zry{hu24_cq7+XEole?-dsKuGgWb(*1THzSYZSIgP2EMdZ`@v8sJX}7NJVS~gZ?n3UR`Im0)-b#-AO>1M>lK*1t%r(p49Q3S zKqIFK1FnDT2(#R9M`9qfsnDGE4?1CotWf^@)MKgCZ7L=2SY$h`(Y(_tw3Ba5EIoaB z%shNxXGE({_`UXgwT13s?PBBGp>x;i8-y$#`>%C@uPsN!vHLt~>cJE7%IGma=|*-MNS2N5W@(b2yf6f|MA@YN_Hq)(0Oqu%Jo&97Mf zji-*iworrPW>TKREk7i>Tn8%~Nj4 z1$~MED;&grqswe*pxmPU*5&Rj+_~#&YwW|Y@$$i(#9e$0-uM$Zm7=ivB!k~Wah?zF zzZvA`wf3-dvpjC{>aw(eOJVFj9-NXFP~2$Qmt70o?#Hv{Q-8bf^~?9QP%|d~Lm~&u zU!X=PT@0i{S%44vBV6VIpm%p+(BZ5q6?Y)k@YR3L_3m?kh=6B)Z5q>0`?n6*kbf3# zvPWl0moSIZtKM5weT#_zw)c17A$bnWU)%{!3FrZdi~oup6ol}KYZJ{L-{SuzKnvNt z^@Tx5COaM>Q5)8|kHNFZx|IRRFx(Ohi1&WtgORD^z4Wj#Hnrl9t^{xC!4nhkO}QTO`~U`D45fGcXTsgu3XW4J5|j z{*&$@!@gMxIAdGqK*2_MOH`^==z)q%MFPdnl$Svx6KPl^cA<=9?V~x6yzLYLjMra} z2ZSzvF^1nx$N0+p+SDG5RJj!q&Q&Rz{x`3CeSPY{wzV`zg)AtTW>aB&6Eu7r7afg- z1P;*)N6*7i6R>4c1IJULGn>s$ZPhmcO?4ZiGe)a)lKUu}lequ9b+_K@2P#r)sNT|O zr&ly+)#iUllfcV;bz<$f4xF+FBzpokR@>Ro5ybJ{mM8^2o(||!LKKm2PPsp?W+YQT z+rZRDL_|aw5qhp%EN>)shWmkeKUO*X}`~G`#R> z8|UwQ*7mQ$Me@l#w zPyMUif9F?*e!c(nY0i1Xc+~gq68^Ao3mdyRBJR}drhPDzZMd7Kqa7t;*(2=g*qo6- zROo2*eeU#Wgz5oaCD}dT_eb*!dTPuW5>J)BHa`NWpcnvNr7gQmLWjJPy0q z{47Hzai@WU42rAnl561QYIGP%8o*sHHo+?+`bfP;#Yrm2rM2 zA-598ezer1x%3KoqRjAO*=j(MiPhXBJEE8BDo-spO{NaBO8o4Rfdnj7a-ibHnqI_6)5TwV3GdM0hS zvgb{>6w4QnwHJLV=1{lEP^P0Ld(Ri6HFh!#y3Jg4JwJ-;%=J!^k}JSVP<(wR;|WnK z`IiJn3=&EM4$9-4J(0}r>v`n@+EJI=q~c?{;(3@Z<|krll@qg3F`>A=G9DQ73b&F4 z0?}^P93Zr>Y7>HmKT7}MGiXY>hvXqkBt84MngkQs=I#q@E*&)=#Az9JRYt*C?OR1I zLkFN_4fk>q5EN{93BMGAfvSZlvngC`iomBI(aWj8$Vv5tOer2KjW<484m@HK1g;l% zS1g=VdWKoc79S0C;bSmewI+iWic(#ig5sj4_qn)~uyWPshgD__)bDztA3G(ADvUM5 z@n|jr(W+t^B;GfE?r2=k3bAenZr0$DZ*;F~a*y?z3>?$hjbmbB=I|>7_xsE^ASh+i z&WC_Pdk9sA@;BJvjt^xb4mK)DOyx|=$sr>o)Ya0Wi?L8ZZpd=3BJru4Q>ABM__Mzc z^M83cIXM{^hG4VZvi9z;z^9zq+=^<7WnT*Kr04 zh-sMMyD0G9`D*0Ei*W%Lgmf3fe(=0`1-v0pIS>^){Fzbv)UP-cLcBq~8TT#lVQ+4z zL^#pUbBQZm+*8@UHt=Z9XzyV4>PX@7@2vK{Mv5KfM5dN0IH-Pc7?YCA(hso}pPht{hnbVp?4ge8VG}Q zj2W@J1!a=WjRB$CpmW*n7xGxqtEbcBp)5Ems++kC^k5Py?UaTSl!O?uupIzuuhfr|{%Te=2q@TXWwa#RdPn~-KgjD@j^b^<9bw9)Df2&K z-57EdRugRVxZnQp{`Gf(<8TCd2cS1VyJyC6aP2x_Jw&u`FPonX(mOS;`MJ}%oXv_F zLWVJ>g~E&mr$+Qj7n{Y2dXzO#)%{@aK}aPk-#b5{?CLE9p2t$(C$3l z>4^M|wLT^TaBP5tLt!Xhvd!zSTK!QA&V#>6YX;Q-*=v55p3dMH55Y(n4QS=)r>npf zr)o*uSd)8sE2M16hNQ8Fu5qd|`MYaJUN&M*ex>9&s%S~QJv{p<*dOb=Q?;K*vVIZg zM>64Vn*kEqLxLo=&g6Z$cQfCq_6k7A-`IDg#f#~Bdv`QH8JNozzWyQ)C%~Ln92Cq% zR1Dj0E|xD*)fm+k{{}r+$_8{e{J}~1D z@Yz)%rR|Z0Puu>SoFqh$I6av^bQjA{&|pUCCw^N#hg&xBqK(Wt(!h!$N$(dlZ(r*jmbbaDm*E!03;VVN#;^eh)uPF~9>Y^*{U8O1fp z_MhR-E>#|v!lHT7pb&yDf)s-K$?KxmoQ6cTE}FqD>OpOysx{<$ObDn&7(YR$pt#Mg z*;TbGna&s9z;{;;B|6w(E$8_C^_dAm@&{CeAP}`U3ZXQh*c4HKC)FwT2Ro&iq?`*k zXx_#hCY=n>3SoBCTW=iyt$Fo2K4;;p)=Qph)1P$;usG(&p&zw-mt4GkUF8|>Ba-*y z$B(gi?T;8tsZ97Nbt!)IIX^cM8HZiazsB@7(^MZ_)!~6qrXSH*p&4BcpSOngpbG`q zK8Z4ZG07r;2FDL?wVvy9ke=msmVDeJ=y!~tJj(|bTOynCw6BH(NPW>yIlXsm$q(;D zx+ho&;R?0PC2}K35&8wFwZB-+1LnL93N{#?F4vxmC$Kb>|%a9(-bJ^M1Ngx+a%gr^`(>ri& zhb`W~=><2V+bE+qCQgOc^C z*`scTjjzkXpKSw#4&zzRIvxYNgfbVXt)X zyxSi2i|s;}s?p9LgD&;2Ji$SxMbkoLSn7B%wLdjpk~SKrBsQo&L;S5^Kn6ElK}Z3d zifYZiRyck{CRhu_jhqkVTOE)gO`$uC8y58L{UY{ZN;A#Y^q(TGMM%HYsokc0L>)oX zj9rWOC0ehvQn8r1Xect4FJ*S(+KJi>rfOV;-#|`CEmM$qS=9($6gWhGM)$D6JccG} zJI~{|`R7)v&8gviN|6kUlziEQS)z2b8^Krn{NbGuk*qH3&`A@BODDkPc`mPPSMg_o z-KG_eN*X?%>XO9>0fpJ9*vL#Abt|lLAV&~+LP7}vM5C6-B#*%JwZaZcKL)b3p1{*3 z!nWO%_FPY_Pc*ePe5x;(au__uzwzA&zR3|jM_)?cYI_{|txH*&tYv;<=n9vi%+Rv| z6D5at)Q9=ffBL;A^Z>eQU{c%D(-X`$g-JnLFF0|rv09OWWrCG+gaiHk+dDgNC`4?V z4OoC*`RaoEtF}CRwo?TXp-4wxR$86k``(lZC5XobU&fnae{heie-~@KcDzR}>?tho zT&WML-!kUTKOi?a(ve_AZD~9sn=>*ox97=bs)P2^AW`qB02ypO6wrkoR@bj{1ELhF z9y*Dzq@xFfk13*2YyXq!9QyZgK)Ch{T6C<2^(sP}WSNN&Uwgv0E^efh)1L zrSz6cnAh8o>V_2tQIWhMFpa+&)|IJdyYzU&y_j;&5X;?kvJtq~w`ad@cPk#ET(fO0 z1!uOOrLDg8!;FhU%>QO{Oj*;ac!7lZ=ti9C;PwIiN~B#s$4$Km@!QEi8*K~4*{c*i zO)v;ji0GyEdE5wDnMRt$wLp4nQ#0x(H3kUuJr?lBb4rU+phHSJK#*X8bjc4=6{V7b zVOw*3Q0S`p&Zc+TZKNRmbgkPj0I^kdT4*(Rks^-5OBe*QOr6}JA9o!EFVYhpwX=)x zPH3f{bCJXuRO@_bH_FsJWb2KM=G^XxB`BzFV^91aMVKz6mOp?ps@uk~TBHD31k9{&z)$;Z5`LJxf z3LYrP+WFsp0T|yjNPG2vzG;nP`Y$rTj9T{3+ILASPr_PPRvHMo2CN zkT+9FFUuCFqNOd-mYO~N{_v@u>Qp`{+@>R6Mf+=7%9GSmCHc~&uf&q-o3+%{H^7Dxl4}Yo)*O98mx#U)iw=D7vD9T zI-5J@NtUHWBr5bp|61jwm6`jVI8iCtn}@BH$xN7NmUfz_?;ZbsTG>O#ztpgcttD$xuqP@KC9h%_UUg&sK_<8mOZ7 z$PwW{D2s5Q&!c8|f^Y_#`%6X(D09pjqV%8wTq;ShqPL0oXEz+BAM(|Z3T$PXDEeXT zX^Ol$w7z56haRP1##5PH0B{^%m*hrq=A!d(b%l<8>y+*K9P&ueCHxQ%AKJ;wf!O%Q>D{N> z9%8RKEayZr75?hH`(49($LipV8q3F2L)GVOIgf{qzUf9uCC0pP){CqjHs zbJ}j6?>~FI&|$?I8{{@2lhgr@<3evtPKJ&fg~%5)NQ|EXA@VAJAGM?Ml>4iuiOYC} z0>-a)kmHX&AZf}+QU9pmCoZSr2uJ*GqMNjqsk`}WvYzKex)~|dL^lr9b|aQ9T}V*b zZ25Y8{pI9##a-`p_D!qEv%R#m^t`3kEe0eyYDq;denm!QLsSw4QjtEFYEx;zjR>-@ z<5Y!fa}~D%3Sif&=;LmdV&aU{&q!wO^Q-M>64Tg7f{Q~_a)-3HG1_vm!#`TQMRNoR zIVp-_m0yPBM~6^Bpnr#5!7>uM+75r)Ma5c`VyTyW6m{aOl2DK_1?PoT1TMDw#z3*3 z)4QgQ-LpPX$6mYbHRzZ&D;5wcNCZ({BZD>43cFL%sFjD z@3&DY?%v-1T&@usr4kR4KrCV=hF8P~s2;zex(|!ZLKA+GuhfYL**E)~2SR;bMAxe% zc1xX)9EL0J>nm=;HPXd2EM;<4(o<9M2?z-OTh>QI3M~Nu>M&cLtmK@TBi@%R>w~~w!Z^3}La9j8!23a%t|;OZW746b0z&F*hUEL8=|epq<@K4M?5Mcbs)$$Sev_}Z?fvq*!i@-`K=!6^W* zaXTzRV=G;BpLs}m+?-`|PPygbbK_f`a4i{W$U_{sRHutNcG}^N^W*4mKEgrXRIc&E zt;lyihJn9E$&bbjk6)??q~O|w5CDS@dwa0f1k%pDE1f<>h*L3t`3`1KyKT(LuL#Ls z;z|{GMF`?dWD2t%NziBIIj|>(ewmH(MG7tu7ogU^Mll`VVqkBPagBA5!(Agw0qE%yOB@Z>4thferpPWg+ zn(lWG`gmd`tFM={+4MdV8*W*B*Wt zDrTwP-JE1t2+@RgbHq&0z{r+>VZrhl&gjQEU7Nr97)lKnwQhE%-79{4kC&~6ch}BzV2SeA9pina89nV}t_Dy7s5Kdck?5%;Ba^zNR^@cyy4^q>HG_<|YL2%tX5MLfRR z_Y_Z%7gJVZqjsKZxHRPEg$rlL$3DO*z-FjbN zUNZ;~p1Ixk=?<*^BW*+BoSqDrDnvy$1rT@pl--6uE&8%D@#xska7dR$t1Z^X>vV1y(5joV#}vgM%rDrbTxEHMoYwDK<%tp$T=8{%Bor;-a}V%gp{P% zr8(4Ygx@yZK02kUeVQR)`&2eOU#lzkL}e7cU5v64weKXs=Bss#L%wTpWWS%LC_gCE zPwmpDF=)uneC8?Mw=P_F8%jwo2XAPnTiv{k!|tb~nJ@SU^FZfIM`G5e6!)FH`ss!l zpVM4lDL$~7t$Iqr1Cr!ha23C)loIbp4<5bHnfa=)e9o5?7%=3^-xr@w(`4nkz8@te z&s=HmAt%0 z*Vsq}9>ZV1{v=$cRUuJe0MCz>l-V3yX(Uyil z%B>`+$J6DOn)CC#y(LViLO1+zVEnUq{V$V0Gp{l#fA0AO>LOO+Bk>sd&nGFI|9rA! zyBGCO%w}%~UHNk)^`HGRCr;V?`ToDBhBGvr8=xXaL4O+l|2f1`K->Tn-Q)X@?CQ^h zRW`%y@;}F){xk4@4rD<===@#h9WvLc-!dFl{pg=T#S1x7Pen6%|2>F``2g~#|D%_r ze);`x`qbPNp#HOe_=KQfa$rH6!S|6C=JLoBxBiZ697dH?di%~9`l)=Dk?23$#@qkz zP!(sdfc}xt{kbdw8&LFr?qVhV`M+mV(;k(A1e*d`tLY$_o7}Iqz`hPdZ{q=v9hvHW# zRY+v!(W-W7U?Cf!SW-IAX!E_1WrQ{tnm7FARKXktB6b=tCDz(huMY=1g&Xfw4Ypd z_2!Y#d0;$d^1`|(AiLq)_rAl-)Sa0*FTtFiuZ4BH2P$AK^B?UN8MgSvmg4CKO3EUTUIe#9)q~o+w}sk2HFwG(Ea^gNV&4~^1AaK(k2 zU1DI+ShN3Z#qT)TL~;Cj>0IZPiFTb>@uQ8=medSo;>Kz$ zAyH!b&eDZP$x-=C95RPVIcKcDSzafg;>5^`xg*_V#CpVjr6Reh=yK>6U%iOg_?n9} z;)1R%20P2U(djRnFH;&+)mA19i2zPn1DKMoHHD%b;V%rQOr)D0<*b`!62bv=;V9Z} zkT*@&&3sj(2529^BskKsm&$0c@Jr0Z?|j))QNwubmmp?t7xi# zFXzG&y18yop+NWPEXMR`ia^dOP|wj)Y^QL*S`OJd5eoQUh5$21Qsm5|tt{A`I!`J` zpK&6ehvMtTTe=30jE}5UkMk^;?KKymYir3oY1Mr)C2C-MpwX&?9@F_snMYvXD|973 zBO}UGcjfWOK~$@+-TsDfM~JN3$d_Pz zhF~9g8L6!W)VimMtGi|U+;1Y2ZNHz@T<4_a&)%TydmV1_G*^)N;kw`BbKl9k=rHj5 z4OccVh&0Od!G3PF{wIde@D4p2|8}tYR)T^L{B=q$z$4j37LNt|q?!fJrj;r~gD1d6Cu2~xjT!^#Ex=44 zjv{(Hkp0e zn;VAGlkwXTap!U#@N4+{CMIVQ&m-(ji1L=E@vm%R)o+yo3s`QP(rsvY1%^{fP&OVE z)V5PUZN-R~&QyfyoTdQ*E`xPfIeq3^n36HFekQfMH-)>{5L?r(BMUElEHyux(NtV) z*~0Tsgof$>n|m$y)R1kKMU|%e^Ah87Q+lq~%j$@yDyIjBpMpLNa}Pci<=ETa0W3(g zX=guge8&NPLQdb5*a zuVfQc+K&L_XO84L<%SH3z8Z!(N|+y3_6#|iVCd-Ym7%>hSm!8SzZ1?a8n8^ynOQXjsRAjekA7T;nz0ItSBAyfdKZ313<{iUh937jBsRZ*KxS)Hw3 zj+}l6ks$aml}f>%hg`KO#BshBe57PX=f@@xJbE;<-x;Y zKUNV1phX`3v;IK5559A-b!Wo$Qp36TX*WvD^wpA-qEfKud>xPSvyyWT9#0QE$`F)s zHP>C1lQb#kfD0ju4eG%XKP7-Uo4cwDRq<& z8AX?v!kmI>&o3kvhXnMpRp&P>nN^?slYjKrK4F<8W1VsAKCtE+QG~tkun0C~U;Lml z>0rXGrx^)!bYngzby$OUr_G=ym=t8Df~eJL&?41-0E(@JaTG-6!iH3{Z z^bVG<0r2d)`ZB;gKV=D*a`ojzN1?KEg8^2^YKyqe6k4|vQL8^0Sh~XHl2Pj+AVwsn z^iCUj409Qg(IS*Pd6{d5O8Li++%@-YGAW_;*Ud*m+DrEO1R({MIPsAjBhu&V>rEN< zLLi}4jbwLySM*fT_9I4Cw=x-#mw$q&WtfXY4wOd`*ksMq;Mn_NsazHs+_S_8UEsX) zDZg?79o33nV$~D4D=pu8$a9X@_3J4JaMaU7A$|7VJ?xrPH!O~UjoOXWTYAk8@-7wO^0}t<}HIt8*N|PFS(N`NJk2Yw17Pm(6 z%6l*%u%ik$eZ}w{yy3&4;{yk~_mQs|GY`HdOj++g$T>W>te`Xz-t}2pEdue;& zHO7l9w0_GIqg`mcM~F)$l-7iayx-F{H!4$A-dq^|Tm4c)=KI+6Pn;4yc%-s;&!r5o zw9^yf$ARCxr7(>MuN+dq?5D2ggYpmOIb?!>0kNDo^4g2;&InbA+O;mq(Oj6LCnwD{ z$Jg}>cC}00zBEY6p=x|dk0vY+<$m7|t7NO5F)YyCp+F$hwmZzy9Gjce6m$I>c+@T}6%NW#FbI zXV9nwQ6^>5v*FnXG3TByn9;(;Gybz`y^45u^U3J^9BOFePnTb4BaVAf%80Wh8bNxP zgE;)%b!kkI zyW)ULD-&S(!(Xks9KXFD_OVlrt6UtdaLKGgDo;Il(iJE72BLA<+43o`hc@LyC!#c` zd3JNV-G!RN@Yidde5zQKNuNhp?$`vyeJSK;2vF@k9@{!l%n3c-qvk)7AFbAPy)-kX zlnDva`$u(7{LH96=lgE_^NEVYmO8^TpbvS|m#$(yTOua~;#T!Xy(=n0F-^v=wM{s7 ze;kk3k9KZ*Qp*dgx(#&=kIYaojh60hFt@@+f#y=i(($pYoQ$%A_rAUo&T3|ZyoTXn z6j4&?sh=Z@CyE<5N$@E zoO?-~h3K18mX$|{rpMZJird30oL1i2X5`+L8?)+@MG_z7szndqq)9Z@Zon+=?cN;fq~D=e5K?T-KFV;KDPJTj(Y#6njUuo@1JKlzEkdjes8WUN-j~}TCb_wr~PGu#4Q_lGI?OG*V?+)uM4y^ z?mVG(TiH)5oe~6c3K~+Ly6P6e)qOFm<_;j89XZ(k&eF?>Myt4iB??JVn3R5^-7fV17}a5%-}?Pm0&l!rAJ&ts%9X&|4+7`_Vx0Ge9NlH2q{8 z7dY=;qCUk&C@mtEpipitc)wWBV>^IF+FNIYbH51j;N0U=FI13yaf~mim3}V6r=^oN z6+!g3>qMcHVb)hS$QA1uk)RWxnTm4r@Q7B+K*;=DjfrFLlHo>O?k+NO#DEs0PI)uw z85F#n9zX-ZOn-4s5%W9i0CaskSQ|Az1^U31MLakrwRH1UW3o)NL06_knm*vedX!D% zbMc3BtBcMa7pP_|rY7XIQGsbiueidFQ+^mubXoKw_SKkdIm;_CcDE6yDa=P~w@Zp+ zxn-6BgJk(cGRo1!$K%`7Cm73SPR8Ki`Jc?D33sCusYIgFH)c)%XcVh>@#mIGH62gQ zQ1K2FT(Z`O8wA>-5WFYvFqKwbfT`e|r_-jsI50YKC{oVHcTWfj;N6U3pj^CXDkVuk0}e;@Z4*TMIf22SA4N3xu_*L}2@)yN4;e=K+2 zL)frf*34~&TWQJN>}c?pL_~c<^NVZ{NWwyqm@i{>aT;P{&RwVY2fGn3R;T&8j1nqG z&9kl@aQnedm3Lmbn2|YA1q<^oF}T3N&SI&Hm9k?{1Zr=vQZd)(x22+PtNvHo0k@nF z3|6@0%%KE}N>$?G_2+N;8pR_-y9}nH2+zQhpQ?QDQ_eY}r0o8g&LW(rVW=u=0yfC= zXAU36Wc%<<8*oZz*CFsR-KKrL zl;!;Tk%)q5cZJuf6L$|6jn({?LhI)yO`|rxIK(^~tJB7taNYUSvP4zd2BebDm;)?H zao#8qQU4cyRn)7yqtEZv!g{%bQ=Xb4(gi^tti0)kXX?|*@CDMT)tzc_>r zzwN}wfr>rbwXt-zJQ>MRuD<>U2BlJR|KOm1hoP1} z{|naq7k>J`&-nkJFnTk2e;#3(U>--j`9PR-8&VGB0=tjpevNG`1|?Jo{10SVVJIE4 zB^9?nT9E~ikzNBDDmGXP#rZ}Fsl+a1sJ4buTcW?AjQsyVjC59eU5T(YIUY&BIOI?% zS*hCVS?0iUm2#B08ph6M^ktX8wB!e9kw8p_tjl!O;H4ThY1=qOmFctV67;#uj|eVANX+fO~3g)zsabB5YRAzYcIsG(-CIBrADkZ>`OtQ9bqM#JlFzb4#7X zi+`tz?R3?C&_demEYwN)Xcd*n`x(F&X@`DR3>_Pc3#hkDX#H*z7?NBE*ka=Kt%FGW ztJ*QE&(Qc`DM(zXS48ElY-xOM)o|ry}jrYQ)7&(72rACDPf9B??6T47GOEii1k-E zsrBjYy-7di(D_K-3q+tbWamH_lMS9D`s%Wjo1VCU(^&jbuNceK)48i-rea}`I{dOc zdQ0WcZQTqrQB>O5h;b7L-TRg)&VY5x+uh704XHL?_c}hD6|d8ft{EBIjSp7RCI$3= z#?E#`piCNEdJvk5Pe5O}k-cy)zV)5sU&gOh^`B$2^j5ZQfkEeA=pp>JZ2Hej4MFOv z>ePwhnm{(Ev;OV}$5Fh-I*HTpHA@Ab?=M@N2A$C8mAR`u!SPHm@E5 z0HbptZvF+GbN8s%823yF1oB_IWbEIOg*o0cU)qw~Zg&h|mKjN3YzH;mRgHC|^2xKo z^7EM%jy?cG-EFHU)O+iH^{_09C)D;^({COnsnV`41e}D)gz4794{g}i9i^(@zkc*e z_lMX~Gtl8h84K8qIEcE5eR}C4Eu-u9NK`2tz3-i2P(_7V6RL@4`vhIDQ%fztbBu77 z2U+)h2wTPUcr>LV)9tCk@je5Nd-Gsz(h{wm1dM-sTwSsd!lLQKt#fmr$Ia8Px6Vo7 z-xqI1<@%Bq6WEW4WC5r9_QW-s)_NX!o2l;dGlAbfm-ujNJPEOzGG0BpYBnv`lEkqs zoJM47QnTM`c2#C{)xae8IhAmF28*`M8_#Z>O!(ON@}jbcD%)NB^t5c8C^z%{w%`Mz z9a<55tQQ)zvo{%n_;up>mBa|d*5WRVuVUCi=ijj6|Dv0g4Q0K4BYeTrsv0wTG$2vV zSJ#No_wr&qv(Z&gA?&N-rlo!=u1C?DS)Ykl_;fKa6qwcU!nzW++VB6q^r37BvObrvMuM^QM)6KAD_rlp=q+u6)LHOnR!Lwg2t=ON_DrpsIc->m1nR(PR9qQOv zIvLGFh9J@d$^#-sI;X%APjh4%@FJF#A0B19p8J=hvAowt%2AT^gZ}7;@E}_=1eWTM zIKoaO1S%T(F=_kuswaQv`$DyL03Q+SAo+y(-v5pF#QFXg?>YTp?j)N=TGXONP07cU zQ^~NIcj%;prQY&sQPNKP_9h$0nbzvnO|V&DDCIs=q_&#E@NMbq1-3ViA@Ydl)Qdbi zw(Lp#~}TARB&Bzn*LbZTL~ zBvcb{N?$Hn7X>{mtD|BnMi>H*QKrSHv6}T4hYY<^^PEn*MS6=H&Z?@Te>{~`1~dni zDI4n&8srR^wnpUZy`Z(~z9mghu@j)PagoePe3Ot%$;jWFlSau2)4#7lLy@@fHr zgZ~g|{x1$8uw!JJVuxqCQhD4Y-hdwQO4c<$7rdK@?y6n@!7Wude_*j5qRCvu@`DTvmg06dDI^OB&^Z* zXJ2lLdT;-UZy%RGpPA#o7znHvnR_98#U<>b-9`i|4Ce2|P0~GyXEd*WR=%`X7=H@O zB@g{M=iI5}V`qSQucP3$uFV7g5_uyIQC&UjtC-2*+3WZ3VxG&;j$9uUT-u0iSS6`8 zXPX_QTrtyvZO0-X!;co4m4MKi{YN}>9_|C>o61pSQlOy|U=<(7slvih$3a|MsS4B6 zatye<7Mp%lHM*q(5v%aCyABJ&Sl5&_+^{$x3%1SXf6^9O_uC!~BzuqiX}# zc6&kMeJCJm{T!@ ztE@^EDs87{qW|-xQ)`-Wnkz;3{2yDkz2z}Zi5@q+X zxj8W+O#G0v=f#t@^K+-YGd~-?xv%P}e)r2viLk_RLdQ+(j>X8akn`*8Yo^WKjtA_@ z{#)(JY-Cdhtn5c?`6QLOg!SPsv!G+WlxRQVK%BB^V_%oVDE(i0x@pexIdk|#$hl(t zXk`>2vY{mX9t84Urn(m?njZk0iS-WSGQMW(G1>KYqBL}5IoPK4sxzW5s}xLfU~r=x z?g`SW>OI%m9booFf_o{+n9%KMLS=`ZW02Dy*5ojjcimduo9OINkyvpF7^cC5t>_*gUMa zrp9u)%?f1Qr>lrtv`)v#x~?{b2?%UH(Q6IeV%oEW_R78s)lBwXayn)QP@#t?Ft@p! z>%^zt=fC5C#@ct5HM@liWc-mngmLwEBQ%Z^3qKxYRB+z7TCkWs{x#Wfooiy`6!h^W zHkLW!zL!ch86de;S~PNq+fO9RS>=4(F!|yFlqBYHSvI-oe=tIFDqcZd&9C@K+3B>O zr`_L7o)E3oUB5aS16`fWO6hs$g^5?5Mo?nOmQ4Yx!GnivNX)GKD4a$P0WKyndU>AD zzO!U+9lPGY+E#F&&vTZ`lGH855`oA4F7d;+%4x%aXKk_9&wzFg>Q$%qQ0EmsFC9&D zQ@tHAg&kuOvBl1DlMt~G`!()UQ2+I@0?fPSoYd+ymy-Lv%OUld^d~?s1xH|ehnA!G zmFdQ=8C`8yZS5P&tAc-RN^%+2U!GIp9}({eNfQ(^%a)wO-gx0yZc_7ji~B_j-YMO45`PXI64{ zt%9~bsJ?j2pOeBQ(Xd>{CL6wwSdQN=x9^S&*mZ7^J*a4J#5{c#GP|4R(^sdU&vW?c zL$?@H%QXLqSPF4}&-px*wb*)`{yhsVzyy6#-lSG^MsD!k9ktw0Re~*>ms4}Q>RSfk z2WMoC7P9!G>d=$L1?lIkwaf|gfd#0;HnAS{*goGl2lI)z(5-{iTP#&PR``ytK1^1w zXeP|O#XFMe(ex2jQk22SzB`BJovy)vsZONC*wbJ*rLJk1F#Ur)>grWxn8p(zuDLMU zRX57P>llt|#-p8c_GcU3Keks+&CikDmYQFX$X>NSaVo%hjK2_D$3^$Yy2Z9Ry} zy`J-bBLltV2h-Hou@4Bq<7lfd@*WGMZq;Pb30Ex1N{(S%cL&^Kx`TCwx`!=?9y(}? zoOoWh$+_-{+#ZI2t>k9LwI(w8rI1e<5ZiGl`0qJTWpTZy((W@ zd7-kvPc|QT{4aiWj0Ws13R&!8IR9#D>wq(H65u?0FKVeovUO4r&_Cj6=)gKix7*!h z^<}R9{xr2?*1@KE$QE;S(G}xuzdqh4X8nasPPW_wF;CU46iH76O}snfXyvV!Q8hUE z{VU9ssvzha;4?Yal$8}A({)CMh7`^&F+{EH}v{k^XdkHjAd#-03>@(}Njz$pD zZk_x~;~FTX!XJmx3Iew&L?)$-^MY1#O8YhOl~ei- zOw8scPf89mUWZ4#Ikt(<^3jf0y4S(ip@Gn7&u{N8iCbnnG?`5xnu&`ThWFezEpui% zX)&hr9=d_L#>mJdhJf0}+ZwKb`7W2H-Hzz!<}LhaR@Bk`3J@wiQqLkl2^U@;Tpd{- zHl(sW&bBztkHb;M3mnaNhveQS!&Ky+^7!H9%DNiPNNy#yO=@Szqiz07m0m^Q=$wcwwj|zUk5GS_<+;XFyVnJL@2S4S0k>HE9DuAc zeli{*;AOs}|M&-EwewS~#Z-{*35fMoh0i9s_jymvcjp*fg62ky)c?0VY*cRD@zu8sy?_j>0bNT&hXf-W~7|_4SSjIq8yK>y~R; z6}Wl7@sUs22QJg@C{a!I(!zlpPPxJ!&2?7X zbX5#ztT40b(M_|!bsN(ooHlZK`mrm9iJ*!R2$e=i_txGbjBP0HP7(+hbxo2c#Y zHl_O@A`oos(nkU-yTo)R@ZsH$7Ar-KZZ3`&FTb68^dOns9dbf0$O_|3kHozS26S$w!DoJZoDxl4vzw9^bZ{>)w{h zX*u5K4KaJyMt@K-4!=(4JF$K3^RZGXMVf<-@mYUWu-IA9o03UOd%aOq5Ojh88;@Xl zPwH8MHT4Yaj!$MhyJ_0Nde8N4(36fn%<-Hbppw|hyPoLgGfE2tOtwdDGv(=RJ>X2b?9I4#zfEt0ss8#Jsp=taKoJ4P|5o5~84Qi+ocQ zq&~?0NzHi=z~SY=7c4%JAKSS|F7Ec_V?w;h8(nOde-et%Y<9ImC?BnSPJ%#^bs;v> z#HAEW=(8tX5p7(UkeQW~P8iTfECRq1{OIF0$aW5J3o=_)w0!CChJMgfz4`M9&rg+& zLW-EPP9_ zNBIb;v~RIl)gi&_S--=qEl+K9}* z@*lTKOHz2mdb!!jYlb>!_h-?pxgvY!k=?$3Q532O){>=ggS@!T5A)3%Gx#g59jN;3t;3P-X#C&Va5eRTIF+G$RbF-}iVd zD=ddI*LV5dn19o=X>^GO^pI*wx##2Kb2;jfn76{lP5WrQwLs|Q^26OYK$h#Nayxrv z)|Jt6SP$)tuuR4!lL-r?`8)M)C6}A&#XpG@KNENUS7DsXk(`*)$C}0rs-U{?aozGGWe zy0$DDw2&hA*cwy&Y~G2{9DjB9J8xqila4wBtI3I$EeD7f!GFH|b}{h91m9=k4-Q zmJvFX*ClbvvYYWG_MV$p0WZuRdL2KtKZVhPzrar|?{dor3CYyHnpiX;i0xNuauj9$ z_~|RpCDUw~j33;MLy;8au&;%gl<(Mn>kr({^Xk>NoJ3nYrJkqKym7eS%a|RSmtR>y zo)CE$7>S{>$BOdHU)kq3B2%Wjg^9*zK=0zndxtZ#Ovv3`D}JDHQnMZt=vUcki{b`0 zd{$7%Q?+?n$cLJIH<%jm@ezg7av?g3>)RM*_)hZK94w>No1Wq&CS+%8MiBI-s*1%> zy#094Rg}Eo*iSl%8`SrvI5abbyO?Shl3<7@1XFlnb|^3su*lOGkZGa37u}lXx&pybfcSbX>y57gJs~x zS6-e-4qu8N%j7586;s4coW;n&6pv}kG2VXsC{s9`Ib~AH-v(zM!N^SG^Lq!gEMZYN z`s{^YL>K=1OMWKJruB`u9$IA3R!Md^YjX11P^;o*3J}p(?D;*1a*}Gb+uWhxZ&O*HEg}AHq9)fU z|7a@;r{aG3l`yi>%GwCDVU9mqHg6#u#I^X}B+!8JB-cbHY<0RokXFcOxpj*rB~DJ+ zs)ZLp-8-a?+aHstPvHL=8?0aSOWtFdO%y6`SXNv|%D)VZ1kCqHz_upA&ZS)dBs6sQ zl?MlJlVgv3lK|;qAoD#vyzShVrZ{n;Z>Yz8g!_SL=z4*Ih+NLrl{qsj<=HkYwHc0B zwYX7Rxj#~z@zJ+)ht2xXrMvT7#1%c{=8Ukm7M7(81wO8x#9sWj=OULOO7Euvtx71E zlDXQK8vT0K{_1IzOgi8j;@60Y&q&%l!$0$bO0hvj7^1}r(L+y9gJuo_DlxLy(&*21 za&cFUR5Or{-SxPqN6wSG*1)a1{9rrzyx1>XT2xS?s$B$XMRyk$tLEADrTLMy9r%t2U3Wy7-oAbcp$1XNA zSMf?p(rV|_wDM{@4-^SgbH9@9tvS#Zryp!qyFFF*jrKdk^-z~9c=sBrQB)+HS-qRP z!|RaH<#^vT_jIhIQ&N?p?*ww)H?3}d1}<6iQ_#IuY?!LnRU6FC;4uaa z`_Nyvx2|j33%t&%+6@SQ>t^3I@-*iz(6Rjug&<^bjv{9?J78V0OTHW&EQU*uetZGo zI~9UJz&HPf#c5RS%T)j&wJqp;Ld5c+!dADv*YKvS!!Lt;*yKQ^QK+;G#$svK+Q|Cx zznv;gpEJel#~nmPeWROq3oE$IG=q;9Ppzr~9S z+vf*efx@P?c%|yxdZu0ZS?G)v`ab)*w@vQicLm~p!69}^Cv3bcS6)stiBoK5!>57y z#5wc*x4apJEY~7Ei2EMACqdr^%c=5|Kk5|Yso5ZbfK&yl{qdW;9}0q}=}w%#Mt8En zK=;Z!zwj9Kk!{h(4_H`4KXNFFUP`H&e2t>`no;-u6e96?HqS0*xs9++!Js|amUWq} zyFY(7vJQ7zn%C1Y!J0R)oo9U8(q9A6C@n5!&v%GMC_q_Aa(vV|6yfP%Y6L3dve??j zHR=tjf{$(NzR-anOwl}&3%%_Fnr&0@a`3(H4>W5*ANCk~TFC|6%ksxPX9e2+7Fa7M zuip#tcV);NE$7DXg|W0A`5eXdz?rH|9UG7DcG<11u=4=&#Kdu2D+!ni2X|^#Vqipl za{sHEo!$Z|GAoxo@#rt{Hv^GstO8ix-PqdMtb^W@(BcN2Ht+D z$XQvOqZ?D{P~f@>G`j7kbHl5wQc#ljsoOE_6J#{aWG}rWLN>My@!vYXKR(6#e&F7< zEp$TCdp+GtH20Z>NWk{8_2&5^AwAGV7Ixi{B2&hV&&-px#(b9BIr;0uk{7W4$w@_J zdbPh-+7hwy#(U-uG+7Rp3)(D0_Esgg>Yz^UpU=UtrA*jQ)?=~S9SX--)SmQoFk-o z1Lyb$CtMk7v(|p)@#f05?`*_Ml`j5uL17XWep;3*OP}WGHS8iywXDtmZL;M1Wi6`h zgQ%LJ#&_U5*Q-aje>6KWsw;V*?PDev7j4RnMi#BICO5S-mfyNdW-Lh@o0bkoUzxJL z^r}FFlD@w>>XaBSrFA;jEyBn#3;pJY_s^YJ9*E!Pcvmb{be=^J<$eFoFIvCCz(e}B zfSJ&8kXzofZB(IOGSUgp7wLwYsaIge+D&kYzR?i)^YC zYDaFmm!)CfbwttGho4MKkLiz4#{GqQxy@ znh3iqMJLuP8wD!6g?xAaiO;uh^t(~=wXaQ9*Ad*{Uh`oAUElw#8#$W8Y< zliPE48MwcuSrrktc5$s%4NrR`9c9_i@^al1jD(`zL|^^t-Hca(P{&M_7Z zPtE?6wc%$%9{+UBdlvrYy(bKs@xkp^d~H2|#J4fz>}ShWSh4f+N}4^rlsbsL8!&#@ z0=61)guiP0lh0N7$|ulJrBz^4UAhyfw&GEbiB{s*Sw6-!{@!f-CURXaBI5Orw<>fe zX5O~nG|dGt1kK>5#jNHUC-Xee1!>qm49B&h=;`3Q(KsMu?WQF3d3Iq;K0eyG(a?9pGInPYJi=Cxau{ZhVpSV8?-c3BPNnzdA{ZL<_&Qt4>u| z=6X&)K)ITJ#aN`NY)#YhF>p@Zg#10n3oNDVNZ4dVaRpoKbBlW|_f^(0^h>8dw&&q# zJ*=plhLSVDez;=T$khuP>eUnNpAe;F6i2YCD0L^hdU!9KhK}m+WvTLyG=KOUbb{LV zk?=Y7X*k{6iyz;geAi_Smuu8&e~Y11nTpZRyDr}-$g3JkP;>_3rO4#9{7}YQ-xI5e zar{WEZ5;}NnX)+j+^mDAX+5G@In;UTTc$a5WO%{LN*eH~tKF5FZ_ZLmH7N#mi?ytk z5QN^U#5l|l*hqnl(+04k%<^3iby2}~D($l!s~Pp~n$L!GiUyPXcWF+xQQbdR{F}}& zuB9l@*E{s#0m>dq1gi0c=j=A3YkK;o?Y9RIQ7%P%qxoYG&XH=h_u?zRrjY@vV?Pv_ zAVPjW#2Nn|D~KuZZk&57TQZ^gUhtHOiIvThgzMD$D^Q5`0-R6S(I zr1{@eZ7OL`ZB2grE|o)SB?|J*q0YT{wQvDKWdL z1*S0n%f%0Wju40m@#%~>qInc8e7So2N7b*Iu+_`eYFYehbiD6PfL}|rf>XiRJMT#v zm|#a?kj`(LD6b*N&JQ&fLg};0H@pEqm#v4=71lErd9?bNR`NJ%GN{cbiG*SC^;xSo z&CdvT50*rDDvt^1+NRW@`})qY;|c*oct-Zh<__g3SWf06&ks$5SIe?Ob+D?Me_I+vZjVBML znU|Nc&g}6=RAr7?B5y5n?ojr8n60JwW)(I z&EEba{b2_FEZJIov?mLk6MIz2`?F1ZtRjiC+tJpa8Z_)W@$3p3rM=4Hj$>juW4p(#Bx_cEPbb5DzI$x?5s}J5t z=zxC3!X%q;44m&f^#KALQ2CL(ofTiue@kw;tMm;1H^Oi63%5SCRSk!tiRyHH9Ozq4p6A4XUIGS;UUcT1Y;zuo9A`vMDA(+ z4$zyxU-2hyo=SgBZz$|nf#82QbfxUVwi=^(;3{-?i`?7({nO>r75B`C(P2&`VxX6% zBfUX|7RR0Auv&?Ld&tXa==<|epn=!-xd<#4(<#8SDGPsyW z-76dnTa59dOj(0+_nV>{a1~PdNjnTe&v0=Ko`L1gOMx21nO)Y5fhfDK`o*A4xJCfjczCzU1E;0-44h=?~S?5>jf+# z4XYBl(Vro!?UwmGfQNu#<5%`Kjf053xTo=;OTg?b&`JzNg+Uy@wnNUm9#p?9uYYU4 z$hi~TxDfQD^nQmxY#Ey)XnEU`(Im(=nk7`chDVw%^Ljh^?9XaVKNc z!IruwKp?sb=oNO8BQrK+KXF5t1Lr#zP1X&iXu6w z>mz&t7wk|8jy13m*Nva(e0J)UDQ$gueKYI%dq0CqFRD_VA0flg_U~q5)O62`YukEM zvFXF|JaAltl9>r%C~QrWEA?gUXU*?CWn*wpbL z+4NA#;ksKX;{R0kl~HkRP1+G?4T#XpUi6O857+=t z%zq{qQB@6}B+eJf+{dW=Nd+MK)?~94qW9_2gXRCqGqPE{;jn*u^ze|fEp)q^rI*5- zuPV6Nsuqhd>;RORN?+J`eRG#EaMKo}(Ts$seRPRWkhm^C$pDqVI`M21s+`mF@aaR) zG{J!$+~w^%to+<9rPM2#*! zzXt4c<+;o9+e(|SgELxw-_8GJz&SGx*gxaiFM=N*W|!L*6~R+zNaJM+4Iw?@M9j;= zcW{Ysh5h6|{>0|fl*OGCoy6Tl0UD}5UUO>67KS+}_$8FyEu_KXK)(Kji(k`) zl_mjU(NFo}L-r0|KKdZ_J-z?3#tJiJ1Jkj!eEtAkEx1MDW?@@wgUiI0ROI3t8+FVv z2OgR0Qr<&(EQ!mpyqu>rv6JyGp})*#CU=%u#xjzf?oM$;1F?{P_q(|ZLynHj2^41A z>pFaHw<5rOP2B(h)F6s!uhl)n_?ufw$e;#?e#VtC`hK9=55_k)AF|n=huH2E@&{*X zF|l5IY(TxWzaZ(lZ6Cq*hqUZvUyljFJ!C0;sa_`NnaedgaDp|2S>3a)t^&96Qxmk~ zrMYFBp3|$*)O|=A?N)=g{2d@elm+QVzUYLHtgr|^1L}h106z!aV$jgH6@6f}CQ-O7 zW3gVQ#*K-CVYWh$w!z|uofdDk*$D3QobVwl26{zmTdU}+tt@W)K{S&21!egS`qw!s zUeH^MKf*)g!ZB{&F6&+GP!;5Dp(Q+MD)-EX-RCGvkIN8Y%v8Zv z4;T0Ez;pR`LCMKDB_`xUCI-B7K1asuQhu{WHz`>D1h)aRAc3&*?nuWM?r<~s19zQB0mA9N9lWye@bkm`H!lazsS+~c z;o0QGiOP7gMe*Gz?W%*D2+r_AjbTsQJh0{$8EN!m8Zq(7buIu$*VABuf8s?q%4Guw zFgX=N_?v8nP&7@R%wqJzU{{~ro}xK2G+o|(M>|aUDFXwpD>DO?q|{<0KL7I9&DX0; zOU`@;KD}vIZqWlf6$j@ZOn)%4G1h;z-QTQ`5`@|PtpgIY`2MLu^VwvqjH%V~anz&v zL;pC1kZXT)k&NV65=Pculg&2uuSI~OBX#wf95>l3GWC9j1ck`XY5_dCV-kE-)uU2R z`Vm@Z+V>~2v_5I3=GH67h-M{bpq^CZ)V8gRg@V5kuIN`RHaN>xb)EIt;l6UBOcUt$ zP!Q$9H+~pDJ%AP9p(m|u+5>I5m6l#o2)<+CSNyg*zAL}YZGUf5x-u)CX$w$ePt{$I z>e63R92PI+`!;Jods7`<0jHDAArmmqd468(j_hA?;!qtbCoRc`P|ZK=+@X4R&<;w3 zq@ry+r%wWbQ~wIds;G4t7lYfw*B;H%M(~u0>Y!;0f3RfJ#8IXQ>(1ZV7_W?Twr4*s zce;BY4ntC3z0~t|)3Wg2t7TT{ahvH}vFvDcs z%!(A}{>e+3Ei5}dp5`esc&M$A+o4iljIcYoz~%Mql=v&U0G4W}tF+rg@D#|3oa<;% zh|E_fY(R-*4B|B^&}09YP83%{xJDanw$a-81bHh=%qbND52TmJKxopl7`YYoxv z)FGiw0ILW)Es1S}-EZF%P@#63M-yto%$Cg5SAOcv2V&yEf zY_GtkF$_)icd-KmniigfIbWf zoi4OSM{iqtN2S#oB-K5M{&E&qk;VJd%F4%gqkf=SA%i5^jN|X+K5cuw_ctJJLg~Q& zZRy47dKGv3D^)!L35l{uO6;?0aMB2;M z_N}W_ljCa)Xg-Zi>>DpWUr9YE7&*vova{UxU}0)P!TaC|iHnXR;%7oM-+qey+4(2G z)#MTt`j|fbxn(H=IJBGjaoifn@=Xfbi&OqF}3je;oza{vqdz z?=_4jTQsn^ML3P!+E-*H-P6``fBp=J{y}93ai9} zx6i5Xyu9XHZZZ8#7n;!*M(Ac$U%(sd%{Q%$TbBgVTP0fWPBZ7Fn>mNzoX_u0sY(K# zo#t~?S3ymDjcuuf_wb`Ug;UIKp^`5pN#tiRm*%FgPc0Z}n6DNojtnxI#HP=%dG zMMqTs;7aTcc_JX`W&V;*)O{RB;izXP%`vey5lehS>z+tn-&xOnzUzA1n^@)f+*R4V z+w#E~8NlSIWbYHqxD_0YpH1=Laz+CSs_o7~#J{_{W^!tTqo=b`m6jl2>*o9SQE`G-|d0 z9l%x)XDH}fq=u3oUJ<$S(Ry}P;9g?|b|p%3xkdumE;gE&4QhCE%duGwzOcNw&YESp zTbnz1;&th+;Me9ek}f_8>lmxIJuV_kEUF+(9xVxjc2Q1*69@KJl!x+UEr6|E?Kjvu z@qYX^Gw!mzt3rSnlIZfNTun8?IY97HlHAy5uI234LuOq41*3MeYJgorSyJo^3l zmMB%9!%4{JsE64g^;l<9Z`I6{$2{Dv^25fQ3LYj-L8gwz+GbEm-n?#meN;OFIvo(q zN>S?41@v$^lJDe*;%bBRQk`iIM|am!l_*@A80V!-%`w4qqJ2Nw#$l5sH@3dqT>A-hF;xa-gGV+(o<`bn3)%;B%Yd&7=M1WKUTrsysgH#UHX<98T_m^Rb% zA;U$Nv5XZ`o;X3f_GBs4;->mzhXRKieoBmHhD+k+7tI*TOWQA(I{J{k-}B{IqoXq< z$eQEjVoj=OxjcYZj;$hB?)Ljc1M%PehV)6<_71H)95+}~YTR?{JvYSCZFFmoCJ(^D z+z!?E$@DNjve#i&fI9-Tk6Dq=poXDqu63O*N#zmSIoz}SO&BK|3A^H_!5?bhq#c)7 zvwjvZiFs=^ol%=^hh|UQyK;*;@daAbsCoK8qpHz=X3UcDCH7}+gpJK@L{Rf!*qS%5 zsr=|x+YK45Ejx{lt@OKcra|wROoz?SyZ&Glt-596_e>E@iKc{r$pB!}5mmv^>dd!i zm!0ryit8g0`ZTSUoU5ADX+UtnsAdClW`Q`)4ske%_q&3v-UH|R^_uu|=m;aI6Sc9J zSxx-$X7lt{8uc3?$+^g##oveF`j4yy->eTfEnI$nY0Kuhw7U6KnLC=U*J|0P1AEQ_ zV)!)o+lSlzYV=+JNc+5QmRwCwZkE3!)2KfTT_#bi z^8+bAH~;K+y)55RAJb$7z}=e?9*?=i7SSt<)gDEKS-eEr$3n)BW5mCk$2BHWde9yj5^zPnn4PhW zRUPj)%Wj+d0F;*QRyhKEuoyir4eXIALhMaN4K*4jf*v|8HR<+|5JOO}9Oiqbc!q_x z#drgYlzDIMpJ?xX&unddKc7QaK2FlXn*J*gXu0z;KmYbr!wDlerL^JxTzYP)<+W>r zBAv@i)Dv#JTCM}>rU;{VNI`ZYXs)$0MPZA4baFgQz^3%OfpEFTG>|5Uijovlud2K> zIuf+*Rb0FA>oRXReJ!j+yEuJdW|rO2&DC-GPi@jtuzT)0TQ$R8XzKX%;!K@fTl{9< z0UFCk5)QukqI~o(GRiE6k%`_>q+4_cDNZ9CRW&7FT3U}vRi1Q2OaLH})u6_ap}8Ja z;wacHaLs8fmlmf1KbhRq8oIK%J3(|u%errK$jzxvL)53yMHJc!oK)GXv=kMUCl+5< zd1UvE*EKmJS_i|(tn5DwLR&Gi{%}TtN~mk|-gZb2OmdH#<22XTmVvbVd@KPX?BFec zdCGkWJg2HUmK_-AlAlNIKz8t4^NL7T?OIESz&+8Gv~l0S z5Ie`T8SR<#c_P`gf0#5~ets#m;DNRFvR2E*RNV9&LW}ts@)h}oerF*ALrKCRX*tmS z>T>$|3#8_h>IdZ%G5J%bX*!W)%5<|$j0*>&{V~@!?%pQ{F7DpQVZ2?I>hPGVaF57H zB{(U z>WAbE@5e>g_3U&+B)xg9_T;AuKlZ_207`hsjjYt1#B_?b*?Y_vdMa8|lm5=-y6G4x zm)CZErZWwYWqNd#c#1E?FGk^CZFBWSPy>1-ZqT8H+4btuHP64z+T~Z%1M9=L{qrwf zb)x;Nem#M24KL0A#0$-jR5(zbl`7$V!ECqO9S|US&!eOGTnU^LUy>G9RdzEPdcyC? zsPfpkIkr`SO^izDOg?5ng4Q(bmT3~&t( zDJ9q2rbHWGK!#=P$&;(*u(gPj{zhHicL@cNnqWF0ITLb5?g?`9Bg387+^a#2CFmh* zapA8^JznK9hzUn)**IznpF5s$r{W~2tHb2zQL{&5wfHX5O+EfOSPAS)CDf78{#q|q zMNyRfo>$Xq4Wz&0CY`U#3?4GMB=}DECsf=fR^@RPc()KVe8bQC+vEgCSfMIgNmx_| z-1!IVAub_r*h>V}@X8ru_t?PR%w$qw1;Nn6Z}0=}+E7_NKMv8bA)lro(YajYn*eFV z1tw;X&{yQ1;hfbvMP7E1+V9G8-h(@7}Tqk?OEAW}6aO%f|PWPYO(bK)lUo4Kq>CxrO zJ=Vc4r#sx>cGdxqoAt`x!Z8JdqMHYZ$#x0`h}w_A;7K1XW_8f@ukp5Y;T@(7@O~fl z>p_R5fEOm_zdroCo6E)0_{^ zzbFfO0*SwN__eODr&il!{5g)C_P$%u4@#OJk`JwwNGG?7Pzb!1`7!hI_i&;_CO zdI@iNT$-nDM<7Cwy#`k$2%50VVH*N}JqVNZwsO+*6`YnA&x|O#AX#h-cz?gKaysa@ z?pvNBXZk7A>CUCMRosnH1XYPJgWt36GkZUzKI7S8o|tPJ;)fE=jUx~>KGbQfCd_H7 z*HuMN^-dPy9W^3JAAp0BVJxEN zaj_JQ6kloaqbCK^hc9lDruF6eLwG%eC&rh0M}BFSEi83xCkIBb8h(63BB}zqJY`=H zZ&Irb#iII%N74u0*xs1cUa(LM?0?CAMncO(qC@r~yYzTjiiMI-=<`?Dcl>uo=$Ao) z6TA(_yrE?L7Mhk?Z5xJeMlOInau1QtJ{zj#fiDArbWmnM;eJ4P)wP{I_c752FPFHi zYIS89mA%x(5o6&?@!iwgx=1}P>5rAKz^CHH z&bR7KGO9~@)jQ6~H7Pqf%%ZVK%obA3%pyp4W-e?yl?trOro2vYR|(gWfi#IzvR*3pRY9 zAMFF1vKSkKJ&(50*f@IhRCsgv0N>Il)MQ5^rg%?Ja(A@L6ud&pr(ecDJ{RlB$wdv~ z6AIDsrerKwwp%Ox2D=9+D-r@zNoc1k^;oEbx?u;+4MTafewt+_sF;zDzJ~tB7G;uj z=ix6)Epwprx~ky?M>oDzOyM|e=6M4V;0|<%>s#Lg<^2b&(bC;}dipx*qg&_i;cwoF zv5Ek9^L3#UbAwx&g7L*`7y(lHKHlyV!7W$50)K8KDp{vQL<<2dTM*6HS6Hw=2QrL= z0f>jZp%-=#GoLHvU;El&4r0z_b3L2k;&AbJeF9cgJ?G1fO{YP(MKND-MiCEMCKzf{1{>6$7Sj4`7n5SyskaN3YGNhV~xp^$xFsgi^ax;)+*a!Lrw z4Nvww0m)~_UF0J*LW9>Xelz8g_TBDx3}V7e&WEe!dI9-2i2Atb!We-sQM}jJx2nNo z?qh;=CHSl+XRoPtS{pr_uO`2bFa_TiWCr3#RcjMv77d>-`P?2W~j5~ zPdbL2u1(PcAf;?%NkyxJ6-3EIpDQ;Je!o$aL#o>9^hHj^5xnF#gj=UVacU;GIu4IN z3bea71oY&~8Hc*aX_qI=nxJb1augX^DGTKK8yX)tu^r`^nwa%wj7oDlqmv$uH==UP zm<ufs_VMohbbf}`2Fjtf1@V9JnEl8+G5yuHd)rjEJ`+ZgmabL?(=zaY)NLj8*Pt1oYEs}8S2$nY)-@=j)5El^w_vBf}RRq$|CrFDV z15TE0-;^~ptnmbt_V%ozFJyTnMvWqkwTQ9PFNgPQ@DP*<%<4Irhfd=hav{z4YthtM zXwdsPqBIE#zm>L;!3>wn!=1nvNv;O|*<}^-5~zQ8t{coVLuDFu6n?*<7HT)5hi^r; zoV~rDKPi0$!|m?1hAy@+ooR2@R?W=W151TKdC|?Ae))rtL$BXV~tI_CD zaNJrSSP(Ds8w9)BfR&V~^vJws^yj_3Jqr<3QTv_WoyU}2W9cl(XQ`}Ip#r{5z_-mR zgEG$e@kG5ZfkNMNXkU14fw{eZ2u#Hl=_iTdim>wTi3qAx8F!|w$fvM%sWn{I%&*bu zU?m?dRj-*n?RVCIA#8~+>8~s!nB=xUiU`Y zgvt5dB9&U}gBFZe_32E(Y z#keHRIBRAuiMf@{6hXIP&Qt z4O4tpv4Ea7_9byNpOrfg-T5v`Zw-55I9Ov}n{TiL(YP{}#+G!u>NIvwOGQr-53|75 zzw%d-V1wNTXMa~^5~=`9*A}R26DNrh>s3XW>0MGgd5SF9d|xFd>x=9gR81?~5k##W zO&wkPwldJ{e@tG(ZhfaJ8wq^3(&kQ9m_V2iU>*%A%npA+}W8L8k^;_6{YtH#DM9Cp6{Z)*t5LA z(eLjM#5Ek0@{(%Bh$pG-@P|B^&~X~YMG?LhS;O41IYoRKc;aDOSsJnd{07s#&)rg? zzRG^*&C2-I;P;W70LyT4Z_Tjdt3@!0zPD_=Ioo~o^n&f9!AFnVtzScsg*u@tWfL@D zJgiEA|J4^TnJ(Ay2ViUkGW+{eT47Otlpt`kQ?9)~MoPN zyn4!S(Ij`f)MJt0xX}2vEDscHVfi@hkd-Ti` zUv$n=5r}VZSaP@DWcxHXLELjHOgKp1(u6MAnQ?z;cp@GZ0Fb_PTVZCRkAD@pc5<#% z{F2Pv{TN9QlarcGCX^?B!pre1M^Occ-QZ|ht+89TSo}@j*pNo-mBfjCzJod5u zq?z2S78LNrF8#dmscSgj3K1t$vh7u#lr4^6XA z8k-RkCNW&5ZmCYiEs02_Sd=RY0!Zrrt?+7(;N375#8BJjw#h zI9Z_i6F<%Nm(skd;r8KBEwnwH<(SGreaEN)*#9{KoEwaeRrMJ*Jh9Kz%^i_Z_8y1{ zT=~`g3cs%7u67?EsTeF^o#4P%P8-9O2;zHd+c1+W+6n#Il1_YHG}iy7MZ{J1yO;(i zC!MGatx!3VGtxDt7)qk+Sx94#TRG3)i_TJi_@F@-X{<4#>D9RGxfM31(L`cd8hb$& zPIPDu-1g+%z}JIG(ghs0)&f|YX>v-Qe_jvXXK#*a@eJCgl0+)@~8&UbHP&VhV`%=Kch{p2Ao%qz9f*zB11IIZct zmsefJvd!7}(y-YPjC(%2R?r=l5Gsy~7}n zm%{xn{cPYYh%YsF)b9KXIMplF=zLl$EG)R`QVcpcGuG@lnO`eLpAUi0*4!G+v} zt*E4qH2M3lwX(_=Kf_D$NoRB=mEL_dX?jC#J2ItW$1gQj{OGL(Iqg)yfR{ zK&ARP4?0*!Zq`dBHZnNE1nU~9A$p^0JA%R4B&My;L^s0p!}i;q&d-ZsvGj|B7OAae z`R20bHH0f?K369%tJdIJFNG?D7C!Y7aAci*KeG@zcdQEYt`!}boMohDq|CDLnh)_h zf6prlOb@z8>Fc?g-f!uuJGhI- z#eWAw_T`9z^7(u#G2pqwp5BE&A&cy^#A8%A;(0uGFBEKlZMu~3}M2N?d zi6`H5(4FPHXU{vjA{7Z?JRff2;DyX~r}XU{wDO6~EqCCi^qix*9QC~y1I6JGYZ&he zkLzZ7lu~a(XU4pWTmC#TFG@-%&TWOIb3CB%UqHJaVkdq zI~R4Ts=!eorD_imWN&xTI69*2%bIcJk;03Qqrqsi>Wc7WD zR*~uQ%ulE3-OT}ijCim{yQ|Hh26stbp64>#l+E5*O7QmK&BM&xIt`{HmtwpWc|i}= z&gkM@CQBNQ2-=Hh&DEp&0vZyYJ_nWJxFQ^_D4466Xy}x`tzxs36sB2Sqs4_=Gd^B# z8_V?d9->`2bEtv|fqZfO=2WHf3E-6b__n?YOS0}qlrEwygDJ+=M7rVYB*5zSa%h{w&G-f<}etQ8Ci2Nk)l z(=i+!XL7>cZf=>`+u6L$8&r9(Aih=9#F(<#ZJLyv=CqpzOx!;<{=URfE!2I0HK5XY znwUL-*gjb7>vhzE^AwxHa-!I;wbIQ{IAhIsw#sE&GrMY7jiE9lc#zk^rI!|J zACYEXH_*AI55ivxP%Ngrz(zXZ!6ax{8J*NLHfkLo{3#aa!p^_nBcvZ@ZeXk(r=;pq z`K9EoY(-EKP!$jj&ee>T3JIEdYcFLYa#a_i8%Bwf!jFYM+2XM42Weoh9k#8FuS}$` zE$^|N+xm0iOu?9o4;e`UYtA}>#< z`5tryEVE#8*;NQ(2-a>}+hgsdl7+ON8LC8!*}x6(AGNv< zRp8+&Nme3Y65sr0kK%<>3GTFG1}LvdYjlZxx#{ii?RBDr63*m&%*tREJztO|h(=3u z73QkyxF>1Hoj5ddQF}OR8fK#CU4PEzqh?+5p~c4TD}Q=Fo{$R*z<)>TnA_=E zz13wh=3g1Fli7-P-gsps;5m|dFhe5m*KqSx#o&n549=pnlr#pvk2U#8#=gAUaJ)uR zRuFZ)=Emfl)nn>I46=@05OL<$VAlgx2LHl`eoregik}orw^98G z5UbVUX^ccjFn2p=s00x;P?l%%KYy2f2=|@JYzr??5WREZ|G;=b*qq&*Q(eGDbtO@~ zWY+b?9haI`fMEBQ;0e0C7T|Fg%?+9^bnmSB@r|QH&v;L>#|Eu7i$0uc0bDk`X*))HxEF~^4Rv}{W?LPp3 CVeA$F delta 47042 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 OQ%pz-Tp^(2^S=NU{esm1 diff --git a/label_app.py b/label_app.py index d678b80..2c093e2 100644 --- a/label_app.py +++ b/label_app.py @@ -29,7 +29,7 @@ from niimprint import ( PX_PER_MM = 8 SETTINGS_PATH = Path.home() / ".config" / "niimprint-label" / "settings.json" -DEFAULT_ADDR = "94:11:02:66:16:4D" # your D101 — change in the app, it is remembered +DEFAULT_ADDR = "" # printer Bluetooth MAC / serial port; remembered once entered def _asset_dir() -> Path: diff --git a/readme.md b/readme.md index bc69236..bf507aa 100644 --- a/readme.md +++ b/readme.md @@ -1,27 +1,41 @@ -# `niimprint` — Niimbot Printer Client + Label Designer +# Niimbot Label Designer — `niimprint` -Print to Niimbot label printers (B1, B18, B21, D11, D101, D110) over Bluetooth or USB, from a CLI or a desktop label designer with full emoji support. +Design and print labels on Niimbot thermal label printers (B1, B18, B21, D11, D101, D110) over Bluetooth or USB. Includes a desktop **label designer** with drag-and-drop text and ~1,900 emoji, and the `niimprint` command-line client / Python library it is built on. ![Label designer, light theme](docs/app-light.png) -Fork of [AndBondStyle/niimprint](https://github.com/AndBondStyle/niimprint). Changes in this fork: +## Download -- **Label designer app** (`label_app.py`): drag-and-drop text and emoji, rotation, live 1-bit preview, light/dark themes +Standalone builds, no Python needed — grab the latest from the [releases page](https://git.gracious.one/gracious_admin/NIIMBOT-D101/releases): + +| File | Platform | +|---|---| +| `NiimbotLabel.exe` | Windows 10/11 x64 | +| `NiimbotLabel` | Linux x64 (needs a system Tcl/Tk) | + +Pair the printer over Bluetooth in your OS first, then enter its MAC address in the app's *Printer* box (see [Bluetooth connection](#bluetooth-connection) for which address to use). For USB, leave the address blank to auto-detect, or enter the port (`/dev/ttyACM0`, `COM3`). + +## Supported printers + +| Model | Max print width | Density | Notes | +|---|---|---|---| +| B1, B21 | 384 px (50 mm tape) | 1–5 | | +| B18 | 384 px | 1–3 | | +| D11, D110 | 96 px (12 mm tape) | 1–3 | | +| D101 | 192 px (25 mm tape) | 1–3 | tested on 12 mm tape, firmware 20.51 | + +Printers print at 8 px/mm (~203 dpi). Add a model in `niimprint/models.py` if yours is missing. + +## About this fork + +Fork of [AndBondStyle/niimprint](https://github.com/AndBondStyle/niimprint) (itself a fork of [kjy00302/niimprint](https://github.com/kjy00302/niimprint)). Changes here: + +- **Label designer app** (`label_app.py`): free placement, rotation, live 1-bit preview, full emoji set, light/dark themes, standalone builds - Printer model table (`niimprint/models.py`) with per-model width / density / protocol quirks; adds **D101** -- Ported upstream PRs [#28](https://github.com/AndBondStyle/niimprint/pull/28) and [#12](https://github.com/AndBondStyle/niimprint/pull/12): D-series `ALLOW_PRINT_CLEAR`/`SET_QUANTITY` (fixes tall labels), print-status polling instead of a fixed sleep +- Ported upstream PRs [#28](https://github.com/AndBondStyle/niimprint/pull/28) and [#12](https://github.com/AndBondStyle/niimprint/pull/12): D-series `ALLOW_PRINT_CLEAR` / `SET_QUANTITY` (fixes labels taller than ~210 px), print-status polling instead of a fixed sleep - `PrinterError` raised on timeouts / rejected commands instead of returning `None` -- Tested on a D101 (firmware 20.51) over Bluetooth -Upstream's own changelog vs. the original project: - -- Tested on Niimbot B1, B18, B21, D11, D110 and Python 3.11 -- Added transport abstraction: switch between bluetooth and USB (serial) -- Disabled checksum calculation for image encoding (works fine without it so far) -- Switched to [click](https://click.palletsprojects.com/) CLI library instead of argparse -- Integrated [pyproject.toml](https://pip.pypa.io/en/stable/reference/build-system/pyproject-toml/) and [poetry](https://python-poetry.org) -- Integrated [pre-commit](https://pre-commit.com/) and [ruff](https://docs.astral.sh/ruff/), re-formatted all files - -## Installation +## Running from source ``` git clone https://git.gracious.one/gracious_admin/NIIMBOT-D101.git @@ -30,7 +44,9 @@ python -m venv --system-site-packages .venv # system Python gives you tkinter .venv/bin/pip install -r requirements.txt ``` -Or with [poetry](https://python-poetry.org): `poetry install`. Python 3.10+ (uses `match`); tested on 3.13. +Or with [poetry](https://python-poetry.org): `poetry install`. Python 3.10+; tested on 3.13. + +Then `python label_app.py` for the designer, or `python -m niimprint --help` for the CLI. The label designer needs two fonts, both standard on most distros: @@ -39,10 +55,10 @@ The label designer needs two fonts, both standard on most distros: Edit `TEXT_FONTS` / `EMOJI_FONT` at the top of `label_app.py` if yours live elsewhere. -## Usage +## Command-line client ``` -$ python niimprint --help +$ python -m niimprint --help Usage: niimprint [OPTIONS] @@ -57,7 +73,7 @@ Options: --help Show this message and exit. ``` -### Image orientation: +### Image orientation Generally, the image comes out of the printer with the same orientation you see it on your screen. You can have your input image rotated as you like, but adjust its orientation by passing `-r <...>` flag. See the image below for clarification. @@ -65,7 +81,7 @@ Generally, the image comes out of the printer with the same orientation you see -### Image resolution: +### Image resolution As far as we've tested, Niimbot printers have **8 pixels per mm** (~203 dpi) resolution. The CLI prints the image you provided as-is, without any checks of the actual label size, so be careful. However the script will check if the image width is too big for selected printer. The maximum width in pixels is usually slightly less than specified maximum width in mm: @@ -73,17 +89,17 @@ As far as we've tested, Niimbot printers have **8 pixels per mm** (~203 dpi) res - **D11, D110**: max 96 pixels (almost equal to 15 mm * 8 px/mm = 120) - **D101**: max 192 pixels (25 mm tape); tested on 12 mm tape -### USB connection: +### USB connection For USB connection, you can omit the `--addr` argument and let the script auto-detect the serial port. However, it will fail if there're multiple available ports. On linux, serial ports can be found at `/dev/ttyUSB*`, `/dev/ttyACM*` or `/dev/serial/*`. On windows, they will be named like `COM1`, `COM2` etc. Check the device manager to choose the correct one. -### Bluetooth connection: +### Bluetooth connection It seems like B21 and B1 (and maybe other models?) have two bluetooth adresses. They have the same last 3 bytes, but the first 3 are rotated (for example `AA:BB:CC:DD:EE:FF` and `CC:AA:BB:DD:EE:FF`). Connection works only if you disconnect from one and connect to the other. After connecting via bluetoothctl you may get `org.bluez.Error.NotAvailable br-connection-profile-unavailable` error, but printing works fine regardless. To identify which address is the correct one, run `bluetoothctl info` on the address you want to check. The incorrect one might list `UUID: Generic Access Profile` and `UUID: Generic Attribute Profile`, while the correct one will list `UUID: Serial Port`. -The D101 does the same: it advertises as `D101-` on two addresses (e.g. `94:11:02:…` and `11:02:94:…`); use the one whose `bluetoothctl info` lists `UUID: Serial Port`, then `pair` and `trust` it once. +The D101 does the same: it advertises as `D101-` on two addresses (e.g. `AA:BB:CC:…` and `BB:CC:AA:…`); use the one whose `bluetoothctl info` lists `UUID: Serial Port`, then `pair` and `trust` it once. ## Examples @@ -143,7 +159,7 @@ from niimprint import BluetoothTransport, PrinterClient, prepare_print image = Image.open("label.png") # landscape, 8 px/mm image, density = prepare_print("d101", image, 3, rotate=90) -printer = PrinterClient(BluetoothTransport("94:11:02:66:16:4D")) +printer = PrinterClient(BluetoothTransport("AA:BB:CC:DD:EE:FF")) printer.print_image(image, density=density, model="d101") ``` @@ -172,4 +188,6 @@ produces `dist\NiimbotLabel.exe` (~30 MB, no installation needed). Bluetooth use ## Licence -[MIT](https://choosealicense.com/licenses/mit/). Originally developed by [kjy00302](https://github.com/kjy00302), forked & enhanced by [AndBondStyle](https://github.com/AndBondStyle) +[MIT](https://choosealicense.com/licenses/mit/). Originally developed by [kjy00302](https://github.com/kjy00302), extended by [AndBondStyle](https://github.com/AndBondStyle); label designer and D101 support added in this fork. + +Bundled third-party assets: [DejaVu fonts](https://dejavu-fonts.github.io/) (Bitstream Vera licence), [Noto Color Emoji](https://github.com/googlefonts/noto-emoji) (SIL OFL 1.1), [FriBidi](https://github.com/fribidi/fribidi) (LGPL 2.1, Windows build only) — see `assets/`. Emoji metadata from [emoji-data-python](https://github.com/alexmick/emoji-data-python); UI theme by [ttkbootstrap](https://ttkbootstrap.readthedocs.io).