From df009e508853f1a8a9237d5d7d4432dc24e52a07 Mon Sep 17 00:00:00 2001 From: UnRedKnown <157179139+UnRedKnown@users.noreply.github.com> Date: Sun, 8 Dec 2024 01:03:20 +0100 Subject: [PATCH 1/2] Added OSMods --- OSMods/OSMods.py | 13 + OSMods/arcade_description.txt | 4 + OSMods/arcade_title_video.webm | Bin 0 -> 205194 bytes OSMods/menu.py | 513 +++++++++++++++++++++++++++++++++ 4 files changed, 530 insertions(+) create mode 100644 OSMods/OSMods.py create mode 100644 OSMods/arcade_description.txt create mode 100644 OSMods/arcade_title_video.webm create mode 100644 OSMods/menu.py diff --git a/OSMods/OSMods.py b/OSMods/OSMods.py new file mode 100644 index 0000000..98fc874 --- /dev/null +++ b/OSMods/OSMods.py @@ -0,0 +1,13 @@ +from machine import reset +from os import rmdir, remove + +source_path = "/Games/OSMods/menu.py" +destination_path = "/menu.py" + +with open(source_path, 'r') as src, open(destination_path, 'w') as dest: + for line in src: + dest.write(line) +remove('/Games/OSMods/OSMods.py') +remove('/Games/OSMods/menu.py') +rmdir('/Games/OSMods') +reset() \ No newline at end of file diff --git a/OSMods/arcade_description.txt b/OSMods/arcade_description.txt new file mode 100644 index 0000000..cb50544 --- /dev/null +++ b/OSMods/arcade_description.txt @@ -0,0 +1,4 @@ +An installer for a custom menu.py +Deletes self after installation + +If you know of any glitches, or have an idea for a feature, send me a message on Discord - @unredknown \ No newline at end of file diff --git a/OSMods/arcade_title_video.webm b/OSMods/arcade_title_video.webm new file mode 100644 index 0000000000000000000000000000000000000000..c291f744bed32a2c54dfaae10e20a4e1f9754628 GIT binary patch literal 205194 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�acb##!qGk@zn;9C0u0LcxLNX-^P3k)MFLJ&g^miIdd4#-8U6I6>^V8Q-s-%20Fy~}79X2ct&(RRU%^R(UZ(+r*ZDt=ik^{B2m>v1q zKi(t&1iC+Gp(c#aa=PILd+Z$fzF?h8EL|1w1N^7bU*~qx2|?o};kQG2Y9u=8s+^No zH@fg9tazXyfMD56eL}h%*D3i*2l-o(-22nB`TbGB!yu>Eklkk`g?nCvU}!WDk-8TK|XZ4Mgw3d{104-}%aIjVo8@=JXJ$rg6VxjZ4^DTvs$M%6M}u0l9e8 zm`$P0X~5d2>~v*Zr@q;(+xIq9HnNyG62q4-A}JTIWifb|n7gIQ;YtU8a5*=YdLlPN zV0(lZZmS|K9WifVf@E$(>X6b{GGez zvdGH}TyJb&fP;I3w*ipBbDoxf`M+p`3Zums@jlS^H`}u|UY#=kZv;?#JKaz$qJW!Z{lOeA@Nsyl0t**i!iHl))p`pyCvjIBdn@x~g{Fzr!r|LH%sAF75(O|dw zm`^8!ht<<}3(z7?FE$;L{_;X~^M11oAC0i7++)HE9BLwg8Ch_7atS}cbk}L|JzN4{ zQy)&4D;nH6vDT{jt)p00dRm<*40)er;i59NxFg4NhoV>$k8_kO3ac+^3=rY?n?I_t ziqoA6I3mAR<+jUH@vw7C3--!j)r6Y&rCYZ@Fs-SKwzj_iPGPAfhV->WU19@^-{KdV zdmj}5w?!v-FWT(XrVKDsUT+%C^o&Ze#fR-njcU(|UaDxTu)}(5#QKWfb1}P^ds418 zA0UM=GpPDb_IE2UHeU+Wh$=5(vT%(zLyEMm*G=>?L%@qZ<5!hto|etdNX>l&yURIN zQNlK1WqrV>RhvEkn2o)%Yhv)bl`uOJO!P(h1oQpzFz-AHpkA7PvxUGHo$T0H_^GdF zPEDW}Cz#U-z(S5dX~J{m=Z%W~LVU_RTL`+9Rmit$%fa%C=W=iX10cDa^xcJ5OrhLW zUgn`_Lst`I`<553DZ6T-FP>PhM!vF{Q>-e8yq|gBiblTsRvEI6kIi2t9umdnotGrb z`jNA_eHyna+ti*sI*_BWgRIM$GkW~-CiMuu3&*AGh7f~TWjT(F)dl^ZD8-K{M=k~i zHXq)^qIFGt50aS07f?H`^T%B3j(ifw$N*^BIU(%P*PIp24Pb;0>Bj8r|XsO7sF)aF6dFk-D_I zA0<~?I^NLCD}8G5^WK_KW7jp9Iz~^h19>c!dv_Lx8WSHq!X7w%UX3%8UhwyGx;LR} z{&WCKci0>ZpQO6)RG>dfje}PQL01lyH}qbG33r!H2up{CJigsjUy!m-;WoOwz1^Vu zB9oa?B2VEcn4p>rx?&F0n5z<~X|gny_d_7r{3KI-xUPL%??@ z%ujyzAp9-t#@%iH-;S0+D$zrp^TSOIl+;SaQ{b-~89xw^LOPWD-a;x<41#73qmG5i zt@M~et`xs@0$wOO%wO;Ka>^65;)z;^@#y{3-@b8E$7S>0tfx%gnG*T@f7fRiUj2YCQ+ZVqo$7#TnK_JjF1CxmpQW;W5= z6d){@>E~ z3REFe|MV_ybLx!&?kYN+TOiIu{bnLFPG_kfOK|`l4YaU(=-VIEEe#*`XL|K4?8jIR^ivdPaX3b#$%gG@<3a8XPzvUi%#QG_u z518pR=*$P#g>Q3zrKO-GoElk0DXM_ChWytaXtdPe+uYamXZm)*jC?g|I>8>M^YuVM z-mtIf=|s&;a|MEI=O95MSUK$g#EixnKHAU(-+rRY7vlmL_`iz2@7DcuCve<{b2kAy zLBy8f(f(ljS2YGfYUC&fq6qtES-!P=J|C_Sama_6tFMNzub!|mdY;)X%3wqK3i^Fw zWgsNMXe~QJzvFwANmF;vxFlcA6V_L74{Ea%F9Q|oA zG|=Z!IQsn0dHpgEuUQ@s|7;%NvpmZGY#w)Jc|7~Gc@)m_=>D^LRL}6hu>9FPT4#Ci z&+woIcv1oN?WaiS?Wd{-xFiv0o9pduLM<=Gn+mObhdxU9KNzpLkh44_|7d$~anABk z`?Gm0B48;*Y$YDE4{%c7syjUkZ?+i#HK3eDO8MQjQ4ff4(@m!u799P&>1xfAgz!Y` z!%dYDL9q0osRys!0A+8m(mbCe^ExBu!$MHX#hs7+9(|u$Rn#a%DCERSYJl6c5 z=JB(U7H+Xw9^3zH9?G*kod0Ydn`U|7{%jscW_g_Zvw57H#$C{jcaDN+Ok=~4tmMWnn8UcY<2|M%8g|2u0=vQIK6CuL{vot>Q|DrlBy_y}AH z)0gM8HkBL@*l;V<=iPF8md)GskM^(4jHqh*tybm>>*BxW`!pq@C+%PF|ImWqSH7W4 zc6&HLUv;2B_oKj|hDD-yCfaU1$oEm@2)|?g4zk+fG3#R#m*+I^@B@C5B#Q|L+>u^g zN#KU1U7X@9%Qzq+)V~sfYH@kD8OOE7LLbSAD^!b>M#tkn*7shf?D+T`Q0A;e$eNMR zE?hQ^12np*kaLq?X|8W$;Q5+tTJ9*zjNoxmvfTi6W6Faki=?hgT%KlL70gvO?Pd>zAZG%lFq8M|s z%!E|ri;wxa8lA4j&fjZ%V;Y%X#5jNLN(SPa#qT>gOZs&Fq+9%z5=nr-Ns|HsOp->U zSb-D|0Y5%Q)N$zleWC2cJ|H+r`<|=2v$&&rXWM#Aw^r;Zk}WTfp8jj$@cSh zBluOn^OWnXu1~1lOEG{Z)^3gNX!@VFBdD{R$p?$|E^z9VwC$Fpo>PP~ziwVhks|uD zcSEp0aLD7KvTACRtqg>BZ3;l>wE~rW#8-Cx#6V9eCY_LP-*8_;WN*mZjpqBzNScgU z%-{Hi|GQ`q@|2K9#@yGg2jv63GJVqa;;Pp8&HdfwwO}$=&?DED#&}_hk4~^o-22=^dc~?tPk|pRC8s zV&#;;%uiWil8SY{yY&qd1iB}6w(Nw~>M?Mt_$^Q}uw05$AOFxLh(iSoB)0dWk3G|m ze!q5WUkDS&DTPn>m^vfUYi6^`lJ?WJhbBbplL^@@BnXgJvnXk9x(Wg!dgdK`Dcd>auvg~m*0Nf`e@^9-)+a%uq9RiqvE08eL}`JV zYez@_#P5JT-;?)C**9BX!XJUZ?BH%0{t-yVcSH_#4Yk42&|jt#f_qLOGu^)QDF&m1 zge62;e=(|5^$l<-@;Q6c+%yM>pW-_*x|b^A)q_9nV8LKGL))~f@!hhk>GIk)CG;cc zi9IlNx;L-GV)L9H3xf6Me_DeprqqChv?D2V*l|U2>xwp@hiMq<1b5# zzyB7P_m2}UsQ$Aj!T;-o3&_lM`0}(D!+|JZ;QvL|so=(3sq(wq+iMV*h)3-@`CLJa zASMwj{D_iL)lsKzr!dRFqTci?moHtT#ZBzgZd^hiTnomWx&sr@wf<`Zk24l$x84~Kyk7PiTmI>L>}FjvT}3JKy#E`ZqFc@7Yv$RU z^Z~&VHTQa>&%?GtnV=m9J3>YDNa|& z74R`KJ{Z6o?X)NH1Ck@>w>|j4Ch}JK&6#+gv>BZVVe`%sanDd|w6MsyO86^0t<_D5CW|y) z+_`6zPZ$OQDQb(!#GWnU0GO8h-R*xRj_CBSh8ErFQGa|35d+VLuQ7?V!2S_TH0gCW zqQ`K5iR+0P5%i>Zsyo8ulKhl|b>m1tNYwlq#hdAm!-3jrKKJ+kbql$_Oz5&yQm`Ez zz#+;MNeM$RMHH~5M&KYo6SlA4%h2#oY(*u5f0vz;!iJuFNKxP-e{Ce;M>ekpcHN)m z(E7TP$ZV`3tL+9^mQ__ZM@bAcf~PfL%wrR_l~EWV%fE|1#o1nSH1;}YhU=%Iyyqw6 zkE>^T9lNX?jQwHX*ELG+{a7=lx0p&+wANet1KCFt@_M|FiF#kj zyW{mB1Ci&Qxa{>ft%vcIqxAnUL7L{>QP1zaq?H_)uv$Ms{FMBC{KHU_ikV}BX$JY) zJ@!uT%82*8QXz{{Q%_INvnHlHEy6mtM#j#G;rXTE8~?!%;_JV;(({`nt$Z5m%<668 z$rTIi<{j~0A}j6ZG0RO4?td5eM{4NHq!Ks_$R%xcMVw?aPyuk)i5ED7K5TCBZxLxzxQE<@DARZ(1E;x^RAaVB;$guUH;))%!9aO>9P) zVJ|W7QWGr5(HBdIdNVG?pXik0^U@S^AX6TTC1wsN;-DE;=f)na^N5|l=II{z+d3*+N`i1j`H&aAD;j+2O_psU2oZdYoB4z1OjoIhc_P)vWvg6N8(1gD? zaMz6Yi5T`C(H4-;<+e%2eEpdle%!E?`_8QlMZ7TJx}9rlv0^!kj=-rLI!vhC7Xrcb zTxG2CdUZ~hDtq8H^TP!%mSjSE!ZVIJ#e}gJ519Q?(7zryv9PNd$gTUbkWuYx9=+98(0vX>Q`9dWlEU4-K2;%tOS3D~EulagX zqLKN(J2@z*hHw61srEOg{J);j#LSM@`ktrN6b=pnUqL_*c`JLUi88t=`=b>-p zJP>o5&_U+H9XH@ZE3k3N4VSQ9ty&eOPwSPRd@{I63I}4TPABs3*Ta$Te0HI%$U&-R zKc+cC;W6Fl-MnT!68Kpt>&v5K6L*gac%H`!Zn!+EYOAu{8Hu5C!c!tp8XlIXPoHIr z#|_55@xAcTyin?MS9Vu@IhAs#z1md)cM|Jyg!zZg_bTOKlh`=+CphZS=x2SoEjlS$ z2R1{WBp*2Ag)7dhez;xvjaxE7)F^xS%IQ?o{TRi8OmIB`Yn!IDXBy36X0e#C)Oqt!Cojh{DGHgTO2BbF6Ss;g6;%gqUMvm*B_EkWjc6@`+X(-KX|}um$wl`tgB(lrNW_RP z@{rHKBo7h#`=VCg{dsaEm4k>4|G3`Crk4%Xg<$^?1nJ9uoszeWna?}zpD6zCIc?&9 z8Ak|R#0uCBC9KAMrbEqogpr7e&T?E>nD;X6qR$a;T&0tL=9{B%l1}gZ3RjlU5lKUW zy?Y6rmI3yOQgYB$1|B$cdw)XH@3u?EW!cfx9iNr(&o7FytLWd`#|W25QOV8F+Exwy zcNtaoy`7K8u6oNsVPt_Y6_L=(;C~mE>zRnx{dK(yM!y60e8rm?2+gGd6?d5uXEd25 zzMp}MBSIk3=%`PdScEp&cyidp;q~}Wi0=h9Au#uZ;#fM8qu3BpeiQ*vyQ>V{4ZCIJ z%%Eyv-NV|dA4z4(_@ zuos6A1%Mt0L1g`}|3Y$C45Dbl`G75aon@5`3&ZIZX|$v7Xd2@o3@_9K0+R%O4Q=WE zIgr`67foa=zb@n+y+Q3UY-E2WWyS>66&Sfm85j#w326HLO$EO*eTqxuzhB$);gCo* zq3PbghD7cQv?G3gfy#gUb#Dz=2A9ttfrx3zCUx@W3~GRIwf!pw=}hLsn_-TFn|k=b zjphgdI6xSjh7NiafPG{Lq;JDyGid?me<~D41MokWSpBzbkOlor;|}qye2u?*4!$%d zQM&i?p7Tr9aR`vg1C$`pG6L*;783wa^j6Q}DrG5>=B@{kTQHoksx{QW5dMA*Lg<-S zyVIB3Xm-O9AQJya6rvq>|6dC%Xf7=Dd$Igm8vUZysh!0j|D{lS9? zkS8@l8#J&ReZEe*5dGs84;rha(bI#ss$P@HzA_as7mz{b>V;7fxo`2Hwc-G49$6d5 z*cU#MM_fQIRA?{3eMp+0z-B|iu?d}Q8LxmBlb8vy%nR^;gQ$tfOa)Bm(FbW`r z)z`$k;%sXVnSIFE|3+cLAm5#keRL4lGmK=~BtJ2~Pd!hy^0P+b=uGJE+scM?et`3i znOB0vzR*MrA5b)+K-`5QZ`vA2h_qK~5^Fz5mt|VF!ZXVemQvJQ=#;12(KeEUwz1$` zNFw-N>K5MrBCex2otpfT_s4FB4DZL!MJ>zdCGCoaRWGWVyV-5WpmNVnRa3?*-B&24 zpJ4v4bXm)N?79Z4`C7k3OdWR!Y{hD7@&T7~K*VUNuODHO^zp7Mq?lz!z~MvshngzbVHl+yYo)Qksrj!C#GsZ0 z5I~?hFeFJH-pDnD}}z6XkMRtqec$=43xp0T{7gP5ROCAUo@frKab6kBcK(^Qkyu z#ob`(0D{B=qI>dt!rx~T+OhIQa#$jk z`_F1&pTQKubv=&_el0LVa}uR^N*4jRlqE!V9HO?IT};U~<5_w@o}*J&Q{v31x zIZd`S!8-vP~ z(_;<_olU{t4<65 s>H*ZGVx!ugyLRO%q8pSDc#*|K6f>3H)h54gbE>AKExe_nxI z*Lb6s=|`|V=k0H;W_hk3ozvvG!_)C+Vrx7`S%s+X<+~qW*Y7KTl*;j=?s)YiO%GM? z=Z^gR3HF^s0x|p0w9DxqC=t{PVHN$8*ym2=&-FamZd+J3J+QR*ie?bK;%E2a5xOQm zbnxNv1DAVv3{Px4p;v1OJ{M=hM}{ukQsGb-X083WOcp*hp+a>a9cz|@S6b!@R#xwO z*s=Vop1gjCuGJn#_C4$Q>Gjf`MM-(ET&cJ| z0A_wXBS1t6!v1oQ4}EIY#_)i0_dmk%e*|KF|6RscLwBi~2Mk3bJekg-NA}lJJT(ZR zp-I}Oj*r@jVA^E5?=6T~?zYJI>rSg!^-3_VR?waw@MFt>{GI0ht-)VxnL%auY5=m9 z8lWh#4J>OIjg*QTz zaKGJA+^GFB0A&O`mk7Y z@fYaW&dd?jCIvW8ut(`9t!yAICvvKmZl=boIl{lGK1$Q!7uyQXQ7eYxvuFwjMw!;3EW259q_Z;2Hd(Y8ra;8}P;^_LeL2 zf$?zeLMI=GhjqeDb4S8R`oLzw%?l=ChgcFiZ}`lPG*%z;lz#Q_|$7;=~k#Kapw!1oNC3 zB>yZAi{V3jqy$`QNos*9#Cc2r3JekD!1AEeYfV-h;&dxfVrH1Eyzr$}ZWy5KpTI{X z73338q%B6=nBRSheU^RXMSSwDq7YPQ4yj*F{b5AM$M~jKKQuEW6@lOR{MGWqMtcLt zD`AVL)1CcwSPAjgZzrO5u6ZTB2YUsQlmv;$1A`nXAInGq1K1EW>71 zH{e3Xc}lzj)sIc|4UqCadkyYE&-6WUfB122BbY0m9}4dt80!*q_`eph&){`c@^sPR z;5>Mv2$-RAg~ukfk4LsBNdNxs8QMoB?#qR`Dc1-t1$Fyzj@-0qFOVm;Nm`usp0^6( zmymWbSN!6>u=5x#&Fc0Z(I=BVmU?xp+2HAOsSo|MzD_R#^tu+gbUVWog5#3x8YNi| zOg@>zkS&yQty_-Ty$N}+-jdR8hr3g?m`}BkCvip7hXcR=0sUG?&20Zk2^CHsiKpkk z*^%{=9xi)YB;633Vtl=^V!&MrGG&X}mPB08q#=&qmn{NXc?X6GYK!5HqN*p(B4t_Yi&?3>nQ zYOamjLR`lTT)6Hi+AGOqzx31f?Khfv=oUa<-xMS}*5#$3=`6b;ps5qq<8-F2TdR53 zA(XOM%`G&Zs(AW~a}`?6>KMY|@U-pJaWs)&GH6{IYca)KMw5do zZ1kb&_rNl^Uzr?VM#lC^Q%Aim#5rqA#}0b7=L|eQ)GnjVfk)pt*-a%E0T>f3l*PNr z!LegS>q~Jzj*iac=qCjs{cJ@6sPrKV1HnCHVPv%Z5XEe<+|X6fm5Id2;9yT^Zo4S0 zapJGZ6EY=BK>HI_i43$DH_G%{25ogC~tx}&sW>r_LBn9`HP*EZ9v3YBvnUsEM8fk~x zQGsYeA2ONX`q*^&4C3^}#=g76PB!)r<$Jm9r-I{R?+6ypaHZZzKdBNFb3p*9i0(W$ zgA%Fxu%oT~gX2g13ZiE8YphIyl@#6QBGS(Uh~&!;4^4H_I}WO|W==@R5l%aYm%M-L zRARe4q$;~Dv#Qf_ZsPjY4E7iH1TI~^`z9LZ1rZPR4@gbm0T39ZPChe&E^GfvoZyJe zj?cSG;#y$Kpa|8dF^2w8B ziuU?qX1fw)uL)$sXB-K}Es?Vdly2b>+8lSHSAf{=0cejP8ci-zp@3~Wb`MQz^zP7) zDfXo+?$K4YxY9jgoY)AmIK9r-nAZ+s29Spp86jFBQ-n0?%?qg)0Z_~2R^v8hu9<~5 zuO=X>qMu~dIj_sgI*?W;`+&o1uN`?Xa$s~mOf`4dw&A+{K% z^+*d@$cWLlBRw8bZrygAcwAOb@S)k)yJZ2*8%XcjYG>?MZ}4V~tc%!m(5)}R#TK(` z_`WcXF77~mZ3Q2YGRGbEXffX4Tew@aG8hDk~WeI@A`|25a! z$i9Qjt=U)EF)4jvS28vPJ`kI(0(&cK{rQ1ax%Sk(cGIKzOk|fFAUScw!fv?u()&|Z zrWw)A<@AkdI;LtiFYh3o*HZ-7MVaf3c4)lV4Ch1EuWK@Xkm0^(9r*x%bgGn={s{lb zDtC&{$W<}3TWm_186~#`hdNnFx0VeHeMRpSj9gRDF?wlaYVZ6eD%jo4aCY|9=Y|Up zpLjE~@iBGY58=2UYjS%C8ILuUG;w7#ajUOluHw07(T$@a9@tk+)!wK6O)aHfTyBs*>bQ#7^~Q!%D_l9w)qzVBZ9VFYt+Gpf-yc<9yLpiJ zXmb)AIHp+&OFB=xHLsK}-WzpRIm*As2N4gGdwb?~j=)d4SnyqBchUJ>-=1eXEguC?5#vIwDD3NNwe@|30>Fzv;D=4l$l8r}- z-pF5|^um#s3_ZYs@V|zB>R#OaIo`gslNh5=}pe zQ6svGxJycrG8&zVYeanLCV#f4$Fh!Y|4mCGhNdfy(mX|(*MmOGk~Im}pWUTK#cDAF zDjBf}a-@oy?n)8Y6tL*^_jX=a>!jp6#tqDmIe{?ofVU-0U1%Kldsg7R%Hd%WX*R(M zg=|y%RE{EKgpofP&cyX#pNDAC#rNkiE6u{m7enVArftm7f88`cnJw48&FH6SP`tds zlqM)FYSnNkDU5WDZ`vAXgjlC*IXBN63u~U~a&C{sLE3#RK1#9}F9+$-b~_b+bpdnU zP+te254CbudOrv?Rdwo(8VOpQc;U6G)!#Qp3C^md4TsfC-81KiXiKlD%ARoz@Y^MM z_Pk?a_RIO&6@yywXUPe3F&|cPrKol>_s^@3UO%I5_$I)#;YzTPlfq<+3weIvIRa9f z`d&++MdtME$$5YbQDSL+3)>X{?xp$BUxQE*X71{xxAZnx#EB|ka8@~sL;}j!{~xl0 zD_*}KPv1KnqyV@zFL7H@-wEZyhTQF9-isHvto=8?lwH_L+V%dpyT1GLar0}}XRB*k{d1V? zBMU)^)@+Irgw69wpDF{cy}CVgem8xJhmmx1#Q12}FjGa`s9xJ(uEz;lnv(n=PQ&tmPc^Rs;P=L}E+BErwZCT4j~7B(GG>dkE+ zZ=)wp?9edk`nd?@%@cy7(oNMm$@@dbe>}n(%D=d6!E+3~5A80H#5K(u;C5WqZY}aY z`E7*$LAFG^NQ7Kinn8T1e;P*q^!sC4f;@|5>P=c!t%V3i$*$>1U0%D)eQhb-0$(?$0{ACN(pwq$(MRlTm>)uJLFRy#DX%%n_3ZbR0S|J&b!7Q(ixY>k+lm2K>QWt<-v#uP((~i-rj7`|WAvKQr=x*e zlG0*NuyC2Zi)|9afLPHzWz>m{GXNMx;{f`B8Xx*}$F_%aBbGafbm29D(_)UAUW7Nl zhAjE~(-W`e8W0K;?u~!lgx>p;6wOUcF;T*F6s_KV*9@o`ssFl3F32QwR&l2LC`nEL zZbT3KK_o|E{v)>-J5$r60=tJhyCzABQ9Wt;&f}nq9`Fjb&(D_cIfX2b>`sjnBfNCv7@MfBYap;>-EJ zoqZv)#>TX%aj^jfW}1b3fSOh@E9-=C0oLvveRbzsE?W;yi&LwOK&J0dklR>JlEEmB zL-{t(&uDU+Lpg5oj+5+&Te=P%NzpS-pC-zmvm_j1Eq70v=^WAU_P=fXE3N`d`3Q(yqd4AM%DW@Vfrh z<^=B%e%_RN5mD@?JIBO^uUV91N}Xig7zZOMUSC4Nn~b}0aiYWi0msRU`;S}%8mI)RPP`s4A*XS&Q&Ji{YEgRx3SEm39E2mRGf;H|Ob>%$aGhZ*SY zZetcai0AcB&x@a)HsVn6JTHFv7DCiN9nmTOgxVk?_tHTg;nIeUIAM^IXt~kto?rv#2JQ904K| zKzsoxAE=B_QMPc)D7#M66()CBdH@X1o%rbx{GOVOG%JoXaXqKxU0m|+7DdBxmlmL2 zX49tc=KCuAG5t-4mq6NUjy_9!oNH%#Y~#~r%a!F$V#0##Q8fuxv3f=2oueqp$_J;< zVV<_iZ!0CnMSYlguDzd^f)w7A3iHWL=Sf4R$whC|pFFs)o{pHMit#(V?KBKXoEjfZ z-_EEs7U6ZEM`*3b^Bfw*EjQ@&Ds$^-neu#oF{*tWD)ADJnjO#V0(y*eB zKgTv@AW9owjcL;O>&Cw33MVmbqAZGHIRQTr&@vO9nSJp_!CR#%KI))`Gug7vf=oW| z*3KX>Px&+plx<%ea^gIrq#x+%QG*$pdE|u$EZbC1`Qen?_F}3^}7nl)dO>KbMm{ zJo|BO#xQw2`g#dHu(W!hcm*Spw`#WEX1%H5w)xf9`j3*{|@T6j_(iTYSJqa7lO7Z|eq7%2gy~ zM8UiwSI<4fz|j~&l{#wj=ajau@LS9%IHhy~iz2`3Ls|wDD$K!&mZtxU_(vxCQfSG0 zQXo4)Glu8ZMZx!*Z<~Z7GQ&gYY2IJ)6mc~qtKKKZ;froIk5$Q5Pt=VrDo>+d&>i=( z^S)pZ7H@dcrLu#s6xFdnj|pZnt9xV%O>kG2a4=&;3IZp5@qjcIppF8}M=NkmT@-`? zkQxdOXp6}E=gI$N?IF|4)hMDpcd3dlEe0Q}#P%IcL+6ZDwsL7k;G!(?LSa<2K( zwA`+3`29ZTPtuUtRy%R_3od+> zVhznPyiJv^4&90DU#~wN0!LOIiu8+pJEv1$UCETi?GbRR>#Vm9zjHUyrf3Upjkcbk zL{^D?4o#0}ZTg8IC{Z@$MHb8mCWYtTPSao>`rx5S=@{VXmVM}X@+bOUyOq8QGO$Al z1S2AY`i;c9`W0OM4LI6epJVv)sRp&XQSMReKZ0<*=HjB$!+ZL2(>#Li{1KTQ9R`WV z#aaAZ`Z|mcZkmAwk_>y6Dm+AfP#Eh5Xd1T}=iH-?lB)0S^bZweqioyUzrD0~6vvbj zBGfl%zUK+^3%_Apq(1cz4&3}RPW<83FX+^WJtjJAweT@(y3jRkq=h*vT=#5Hp8 z2$4kwks+z~d-8p{+CnKH1hs=aT*kHf3r0P{S}T_`^ut!E-44u0|QegHC-2l5d6$>`QCx7TX@&=eR`1r!?LK~{5k`;lVbd~Lch1g zwqR+58c}DNCeRyd^x6-(I4N?YeqK-;k?2_A>bJ5)lm+^K^8GNxgV;DD*rNtG8ly=v zi(&rm1`Of-+m+{{APj)oa4#eqzZo;!cn=_|h(mAAOJaBd)^Mu?nN%ul^Jy`i&(!a2 zZ62dTW$qs3Kl|~VQMLbziPpS;xp)Fhh3B-~R3}BWe0!As7#0YB;xa(qgmtkm4*NgF zbY{4pk1gEKhab>G?QPQkIE0Eh1g{s7r)Llj@`173-ag#i(^tN|Jg&YQD4u1`kF&*H zWVU`ske;gY8ZC)QTN8Wnc73|isk3ar?|PQ3PLmk>hmO|Ol-2k3bAUr=5Xme)r>f!= z$AzOZDy3cWTk>x@^|Yt|ONLp<FTYOgls2jhbhtz>v3-JMD-pHlw)bI{SKrJY;YpiO!u#n2 zy=|+YEo~aF~h^m{mh_T!F6Q?Xmst)&RlT zs4#Vs@Kx?*wvgK<%~6fD6g`%i3xpfX*Qdi(*Uk$EnE28xh;s>af$O$wf+dSKrk8VNDN=U1JS(D_Sa9pjXvzs98xE!mg<@ob}WS*3Z*Ts4IOXkL} z)A4HL94iPB#Q1%Sn->i<{arl1?(TM$lw2z*al!rA!2(3$l!4%zlQsbzPc1Ch9WSsG z0x-Sa`)?oZ6IM?$$zF0c{)9GS6U;*^J3ON&{p>nzAnX5w^s>@NUwMMx{An$IrFy@G`OTwm*0d7bv50_d4Sv37{8P6peg;banSFcajx7q_-v-5MW!*!gc z`RIiGBIm^vFXOOS2*(}jlCb1eDV=7PvCHg zIGjWV&d=Yegx2y^08--Q1V$`0Ly?4}7|1*_F+A%{u7pQ~%wtdWR8*|Q^nl4z+2fJR zrDeRHVYr{}OVr}Uj3?XfUi=_?uJ5ofyUaqa^0kZ<@xc!>0y$Kvi9V7haQj*m#TyB% z#(Znv={h2{w`(OOATpbz;Fue^iuh^+sXahdqyoe>p;rPiD&vRjvru1Tj1a}&sl8~i z3+J2O4;iUd)NyG02u+b3j553Tt?i+&3T~sdv7^a1g0-c!APq{+5m-K`0^GpiKpT!C zgsxE;2sdL8UxfrsDES8rkIBjV^7{thX3$s?-nX|&8|GX&q!U8oxP>fQ!c3UC{cP9P|i_whu?&n zAp+=}#DkE%2WB|UfRw-jT8atyY}|9940ii3X(gn}jH(tt$n0Tjo2&9i}iZjkKrRoTMrwbcspi{oq{v3DAY8!9NfSQEP& zGyCah7>3-T_#JDQ`twF5)7(pGG~9oQdr$a#25=q?ru-}y&U~|~SmRYmlYNl0dV6`X7DS3k z<4m{IOX*sRziX)@G3N*U52iGY@ZX9^gxLlh$w>gr=k0e1K#?$bkRxU3(<&p6WfKmw%nO$X;j+~|=AQ)-4eRx()SAXAKjXTna zAm&Z)5etuxLM98CT%&QFE8nFY(;}Qhv!hg^xK^4`t5!dHSrqLxC@9IdPT{0yc`ni= znG$YvC@h&xEGcvvvHD$M2zVlti+B_iVf)XL`(#VlxU2hdBz`NGrE1A`a>=G@A$L1G*^28^5N(Qd2y<_|sy1|1nD0G+{ zJNXeXe`e4TOx0fGM3?9#H=vB3=QSB);DuI5|NgyE_3B5SOIF z0q1Z61YuswamedA^f(CaTm3cU0Ni(ejWvJ>^~TX7E1}9jfn&RTsRK@vnL-m9)S=@# z|Lp1rrae=p{Y?jfTr=*)e)@~lfPBXmrU+gU064J2zs05v=jsrw&;Y~|Qc$_{BOQUc z|4BjsRhG;K2WkGK&j~;ob{ic&;xkBo#W4r%^(O$vnJYgu?!}!DLcwj}x?|#>3n&_~Uv}2Oxm-o4us{;PB@sun)vjoIZ77<4#C=FQl~|IB+&q^Pm*n z>Wy1n>rA|0{DP;y)rGTY^_tp}4{ImKu2eiH`;u;J&gzv?HI)cUH=BpIu#nle#?Se0FSH(9tR`{7A5JgI@urIZWjb-co($8(Pa zJ~?UVOSc?)*NIvdG52+HV}NJAXu<;^ck-vkP9(j1mwkm}Mo4-$5N}#$+ykU{=%jn` zpL2y}OR<1OMZ{lB7#0U!^La0pjfPw9uRJ^Qyjy>e*H5kVZP#7!d`vdqjdoPn%$lQeszYwgWKn@EKco;~Mm&k}E?9YHr=%nU4EinLFlO*p6 zjQL;BvnJ#9r}Fe4g@a09EDKNWqX*nZ%A`0$5zpXK_S-$$y0ok0v^8`NH%SZ38j_rh zEryd46rUNha`n=d8m<=TWj#z^y1SlvlHXMxP##fq0>b+qb=jVli9bPgcjwtF1Fn~D z!kD<{aQRl&k(cyBr=uyKiYdLm9jJHf+E3F1VbR~~3B|5IX#HljFIb@B}w^q^yiZwt=wAIWINzmifA2)>S#!m@cokca$Wr}g9r7cunMm6rN{T# zJpFLx3v?ujpG?p|vj>Q`9*R_^tN@kW%a@6PTbE8&>RZ@vc4@S%cu-SB zxbh(t#D132Jh7qv#>kAWmq~ekZ1@>Z>5!4NiO1!pIod!)QvphAqyigfvhlz-p#i|^ z@jh8{A3mGoMVW9=WJ<0urySp`$RV^3-taxzI+oCym6?-^rAku=nm#!aHQBv9d|D+% zeJ4#zDvVd>7T>apm~waHFLCkubR(j~6Q=vxv%Dj>&?5)hqmSG&Bk2$+pvBY*qC(|A z@6VptMMU#2<)eUP;Q$%+!~}RTAW+wS z&@AB^q&R>qyucQEOwaelDV`+^s7sEnqhAg@|9zuWzoE&wW9ilC`GWSp(LO5O{KL;K z=JRwj-AsE)=vq<4of9P5w<*h?&6Ix}gJco_^~GD|>Df(tTP_<^6JQ8Jk;W#PZeBE}_sHO`-z-C);;-}EIj3z9d&Y5*RvL;y5Tn(&pojxancacn zWC}dZ9fJMD%0pgw-N=*Odu{Ne)5{Qt96&cPPg#`9zWkCXl2tu5iYBq(q;a1TI#H=U z`E(XF#qkjvfu`-cnqckLBz+y~Ao$RqCQxHJG23u@6sE`cj_8soe7!yC@F;=4ASVuL zF%gsLzGh!O+?#u0`Z`6-d>X@I?IA5%H8fRq=psjXdGqheR5fjWRD2vMx?)AAV{Q9o(WGFc9>jCdi+KnMy8h*_a~@?R>p?=Y8i&Fyj+O?5K0 zIaclCfTE9=^wQlns_k!TqtR1!!lIQQ3UFi^$}|BkSh@<#^$nt>F+eX5ISG&-J^(?K+9iuU$r6G~dtHmt?yeg7 z*UJr?&onEX+*^IjXtHH5u(QQ&6|&l~BLth@-Z ztqYs3sJBnG-$p+`IrV;_zd!QnRq5r`0)J7*v`FOg_^5k=cr5(Po&^-ZSPOR1;`myz z;FHEG&IDL{j%&psiMay-W;kNbsG`c}I1*&ULG?B1uLOGJl-FlsEaC|c!Ab<^kM1FG z`UgH#fwEoj!5kRI91w|2@*^bdPPT7w3I_qif?8C5;dTj7L2XjPhOIriYSthSz5j!i zVrGqnEm2%&@|8cc&7#DZJNM&rb}2j)2LP|!>5~V4q?)g0A0ypq3jdgA8cQgdvh8a$ zySI7xT&1!dEI8O_>j?o}qHOFGV31=USHFDCgoS)5-#o_``y*j;~E&Hjwx zfWeJRBw;^B3UD#Ci)H?YM9mDq6jM>q^qV>*X}!TPa;^cn-x@YsrjKCJ_9W*6%3h*|O)k?7D;9Xc)W}z&yk3))kDITY zTJO>cdS?zCZ6uj8P)zwXUqj3bps2wC5CccM+29GF<=Uf8kVFi!W06~^4S$ zcAyPDxD05mA|~KV%-z$_g%_gO{ES|)Et97Axd5~c7KWU`O+Xj+s*G!V8+ZuP#GWA% zK_Y#n@FYMNk{=npDBfS>r$MaTd}$g7gRkuFjy&p5fx`os{_E{Mvc1>&P|t zjox)E&kT37>`q~o{Sr;()Ccx=KRW6;YeeHy=$^nN7|a+Y7r^m`I>s;aW_QV%utTr> zq#LB4f`hUvqPH)eJh)L3`q|NKG!l6~fyf=GDIY0PFAhOQ$cJ6Rh7UiMx$j~bsQt+C zSSfACu=XyFka_wU-)yYWmilJt?C^WMCBuWIP;tK#gavZQKSP=6wi7qPnr`?GJTS<= z7W)?$?c6;YIj80OZCUB4Px%P$H&3*RSSN#{%Pj+%=%hUYXiM-1u4stay5 zR0O}sS&v{a0I^q=fu4X0q|vyfbTur z6g)e@Qa1tfh6NpjVJyT*wo5xZP74o=Qdr7fvZ7;2KmJ^Q(2)v~It|YMjW<9e#|`#w zn1P+^roA_F_h7-}dRYTokNA`jU`ih+XwS0+8w~pY@dC-Iy zh%_o7djB6%J|3?hm8X9q91H+oxjiYLV-)o^>*~aQ#3_Z-FMR~mn}Q!U2p+i^`mWn( z`(cHWa!c=K_Z3pd-4pj8>>tcI$2SBHPxX_$yW5IN;{<)-_ay3ouYm{9y})&xkoCtl@9!|B5-ebW4c96H!Uk+9EDryDMTK$Asr&IzZK-HFt=_ z%=8Wajw8#odH~<&vxA(6Qjbbq44*K(X%l8z-Km4?87XNev6(WvStaJODaTq$($3%M zWB(mmCgqObr30}#@tm2*4zd=Sfe@xC9rLG(;zt@S+W2h|CBPkdb0Q8G zTw~;0mK$gLU<<^$9O3v%MK^ZL2$MrQo-l@|$VL8)&obXk^%Jo$e(8Xrt&?&NzjqOY>0jVA=?4Er-0${M?x=4^2TLRs?ptF1Tiln+PL%b2f^b~yOuEd% zw)zQ-*_tN-vco($h#`n0d(sWWnWykcivfo8?=6YlQ-ndf*%b}LfeB;co_OomJ;xp{ zw-gugNR@?Zbxx~r11ZP~XOV+L^i8P&wfNa!Gup}N>+|rHzXW{d?lNKmX3}Rczc@rz z2et8&Z>0CWRnE2x@Ga5*zL~H~QVabyeZ>t$CTcg^O*#kDh0;qU^`*{QN7u5@-z`3p zl}G88`98l!!RxgHOp^CeP&ZVrN?>8075DOt9#Xi3iTp^EQ^>qG_P-Du;)EcH+^zEW z*-d*#KN(sV+D*KI+mTjp)XoQ0b?bQw={jXJn(wkG1`j z81G{Io}0DjPQ9u`p5~1LE`db*NiKgj@~I4XMA3zw?&Tk2wKouoEs{^Z#$bq_LsyFP z;XB~sG6>EukjKiLfb<5C@SlY);?Ug0b%OCpOS;}kQX1o_)@Vu;H zvu}t@xKd7gqv##)>WDvLEg_H(+fZcw+p+0SE!nFZ2K}-@mtFPASXo6 zv1+C;QS9DmB1_wdBqnm1jFT(qlYi~$GzSAzSwoTWWy43QtBWN}q+WDL<<3cy3Fn%0aFzECujVk}KZ{uiL zosn~(M%5?vqDiWZ`ATdKX|+5b=`9`Hf~TR%jj?8aXt6;;#ASwO(d!<`SykKX#|fv1 z+=({7@8TZnBX;(z5MYoAOEq*661JqH2M3n15H#QGL?r56^)Lcn`oty&e38E_2_VQE zS-{WtVo!o*eX!RLOlf3>bnb8O4m1#6rhjkCGb@;Mx2rQ7z=$>kpKF<#V;Cpun8T|Y zV~(Zu9H(3Hxp1_(+AW&AbnVkZ0p000oToXSGG(yrv#5BVd3JYFch>mpA}Ptcx~hiv z@s`l0{t`!_^b0lNm*VwSgr*#Jopr@`hCytznDY}mz2nk=?xV!^>r{cXXmZwqfX8WL zgKTt*&1(<&B|K1zl;J=h~;q8#zL3r*XfdWJ~uB;8Q&Gcu^C76R3VAO z3Sul^mj(>B&_^)tZ9atlbuuL8>?;a6s(0^^l2usP*^Wy<&LVz=sLmaT+LOx=U7uC& zs!G~Y^CA(naaG$sAUp1b zvC=z5)Lamy189lR%oc_7IGKC6Ex)}oU3Ft)`D&orNkzR4mhafbW6yC^PTXXfg+xL3 z-hSfQvNs;=)JUi+NmnCE#Y#}uiInUiD6EJDT*k||Rek~roe zM5GitBuO+H8xIIY=+1Tm?2?%*OBEBK@7Ry8_QD(fk$UGg%rF{{-?2Y*0}H=vgWD5I?^g z0&7DbM9uSpz}c#I`Hr%Q%}&rhYvv)G5h!q4KbfUujpUjXxqgWX#u_X(B+!rj<*M(m)6AH zctD=6Xw<-pDfY^ilSVNSg&Vf|{4shuZ$ zn$gERq^^l%79S2TthDC7_>)ecJrWbF7^biy#qEfJvr5vVo<*t0CqMdZbwU^g6+4(=$E% zJ#N6k$@4*V^6gl7wRDRQ9TDTTp+LmSQ-CNgC9!k+gIYh++mq7rs`npF)KnK}W@*f~Rh*COLd)x>}!pp!LF@D13`KSEl2*pAQ1@6iYY zt8MhV_RKA63N;um$9@^<9Rlj^ffR7$$@_$=)92AqV{PJBM#T^z`EWzpjac;WtkVWh z2c`@lc7YWEu-K9uQvg(uXq5p0+qmD&3*m!z!g*;_7bAO?dWNbX*n#??^iNxtxY)=2 z0xaf>nOr!=)@0H~TJ!g1aW{}h^_j5q0IFvcu)m*$Up!cIJWufyd@}&J@6q=V@Pv5v&%1M6=6JW$ zQW<=JvPj68t8`G;0-I(9c%5i|j{v<}_Mue?b^UPU%eC^EK)0VAMm8x@B0@5C09ZZKE!S?I}sc1bV2Guz&~8@I1o`Ay?2 zaX8DoR;$BhU!120%>P|E6EyEuZL*8?8il9(b_De!!7qFp@ZO_V$@*VMpQKOe;BPV$ z3X3k$&}`cHjdAFE;3Q7PGoYW_TexE&IJad%%}7))c#8Pxea_Kew_1h-no1arM~!31 ztRWP~4Hm&pn}=}$3@ivYv$-4BqtA7hk{|Eg5D*q)VPI8Q0M6WW8FUhfJ}k;YY3)>B z6`c0qa<2$?E*VWds&zQ@3`M2vEqm;lqx2Uf$x(R%QBFD467}cfvK*B6R1nA*#*Ygu z-ipnjl|Du^#O))?{TBv%eu9>A&}z2`?*f zTU0qd%viupXvkC^ysE|{!nV;j|AZh|6uSvcrr=Q`gbD>r<~kov;{~r$*F+Wq^?(2z ziyTH}Ay#uu#SB2;2>M6Ng*EZDhtr7)9R3B&93QIcN`jB#I{U>@a{3090U6AEEGX;h zbHUf&FBV04>tAF$OXEs`{x9_tiy>n5ehFLe9}TvT`2OM6+-S3JgC&Dc{N{4D(ko37 zyP^6IMlNsNUKsi}Jr{#6$i0E%qN?rzxb9R^xcrvQfrR$eVDWk<`*C=~y79u*H>_l& zfqc7+vpocJlnRx3+mkc-G)9VFafLnAuaZL1vc-ohv?w?>5PICG`cVb|=UK(OQDFh% zB(vX^3-F1C2JVS;=%Y~(r4aHS^{StNuLZl0E{MI1usrw6bYM4AHVL^dGu0P+QM2B0 zaoV8zqkWF;RM3r@{V%MS+*bt6U3bb~E1~0^9q&Ke^Q1zIZVG^QV8}_ryW1Ck9_MpL zMoEfY{Hs}XUmZozfkdwJy?Xc#fK{+WuG8o`Gr*BW;9GR@h=0a#H&IolFe@@*;`gi2 z=>3P`g3q)r$LXZHja!uGYJ+IP0uH|N*Z4Ex`G113=7LHj_$qh^LfE<;u%h0j-xV(R z1{T^-Op#z%fe8h=k|8ibP%B7AU8tpX*&@4_eXZA0r@#Qj^gS;%8-dni0o((17{s7c zON1v>P$iwaUk1I>EpMO;E~B%xVU1cp75AFK?km8bLqdXgj z+>1j%qcf7gL1s+9+kBH~jz)wfH50n)4UsOz$%S!chxVA@J!*Yn2o2mt;}9o4E2Mrit)f{FLymri*yf2EteD`Fy( z;q)-2pzz}Pf`-U(rFiRm+|BXLo;TOJEtFF>es>`_bW4TPz-g!=dp_JzF7yQ=p`kS>#c$Ag{N}MP?{C_}>z~|)K5zX0(6C06o z2q~3JM2Ngf>J%BDko;O23XF=>gy!9mLY@a^JAUCL5BoAK?ZYP@i16AT^)iqzj!82x zsw}EqCb-**(?5jnVOj0`PK%7ad<4r%LyOgU2hbD2#s}DC9tay*9K{nT1VCfXpRvw4 zABu#JhX;ma6-R-Hl&P2vf{~aU9e_2SQb;BOZ)Y0$YH_K!Pfjxm+)A{ay9~4seogH; zIrJ9m0CQcq-SM%-?Zb1Mo_f>%&_G-_ZIWje$M}#qmm==n(pa zsG)+8&?fx}I7pf<1U7z+XoKaW^VMaw2Z@Ba)tN~Hned(hm@li%n$fRI1RItQcLB?(`fww+dm4}pwH})x!Embe;u)D8<`>^|8W>Xt zOeo^oU8(1BD3&HVK#*bOt+L2eXAsji$rOGxDo|XspUn_(g&rDy!?eeW$~B`Uiz2~P zV2V6~0uCJ;ZY!xk87}5~DuMRr%if=8B&v*}0tENHvlodH5%+rNE$+T)pX1eUFKQ0S z(U^Q!b@P{iib0-UClX+6YA1p%!|B5=&K*M(u-%T0#t<7F1FT7zZLF*4nQ85uNFA!c z$6~hi>%(LoKAQ0UDFD~Ujv>Hp^LPw+B(d?ojyiU$LN#rTFMmU@Wut2 zwqqj!F{Ckbs<;K<=m07RFg6(n$TPN=iqe$WLV+gheJXoB?9_}Z5`;|h5WiQh*p$Nr z#X-EAT--1Tef%a6CGwkzIi~W!7!BkYkvr5R>C6VboL9o3`!C?omtCFeXf~6tMM^r3`nK$U(M+?X!d}f{j?R#k6mzM?n%JVZ5X%vb^TIew4!sg=Nnd3ttz$-Reuz zOEXa|a-;l*#FCBV4|&)U1NP7#Sj8I`JYBw(nk?)+o`d(?!KS`zH!vh-9udiXl1%3x zaz~&F*>*tO?12PZ-G^%*T&~NI;KGWREmP)CN-AR>?a*f&$cWbLi74oOa#_WcE_JY3 zZM>;wXZ6uf*tqPw>}RL;ZQjTlW&hIcjzr3Vs-&AqG58GDL=x=>agIGo&5Qg^!a#wW zYnwvI(p*ahZHIoE-tH%|>ZeYIE3bUKa`0LwU&VdCyV{QVS0}FdsOHIa_!;`*j>~d7v%t(%Iu@mh);qt4-#zwKc{ETsV z3~6!85wy5E?6oSXwh}_B4d`{LA1bjindeZ8Q-IA4Q*EQa;9<=j)L9lDmQo_IqN`=v z33mE_qxacQLQ)=Bxp#)|6Q#3&H~+S_pmI1EM;>&3SR?wdti>%ij`E&MId(xxTVrno zCbVJ}H);O~*Qvp{7y^M6q-2XGfzfHz3cU634SuUs3ZxpTOf1Befp4?dpmOQqn&6pm zZD<7s=x-ZR;AvCC)u~6q)t8!inXKEX?pN^JJ--;@#z`kbeH+nsAjCR%e##U zd$JQMlNfeCxa5_uTEF$@Efq?X|7x9J8sCvC`*4(%G1@9qjnXpL)YXkE=ZJHa?A1kA zwbf$wKm*yIr@yUmWgHN8zOmn>p?84iC`5(GrMSgbIk%^S6o4&8ZUS&NrtvlI5erYh zFd?vp@)Mg-1EaD=7NKd}jtWp@@eB!`m}EFQQpHF?TtMa`1PwS)_xc_h4isF0Cj+`Y8kr zUtqTk1Yx&xdy{2tav?TTiwu>AkmF|2T^Xc~LFnB_+RFk&KAKSr8+zv@wU6vHdEoj(&Xpz(`>yFOl1V))7;N_PKP& zTJKNS2k+KzbcMuZP5VzKJ5r$DhY)Y3a=zjml2EJw?$0&^YNR2U1WwOmF4{N4BPx7n zqx0$cj8uku2QSHtNY@1G^xI$BRINt-7?&^4cRf_4ZcfDUeNfLbxM_{FzK+wp)U1_L z`&0jvd9oHP(nG_NaZ%9Z_sX}-U1x_0E7CG1D0Br3r(h|)CqM#t&BzKO0vqw>cYUdv z*A?0>@z)EEC_uY7X!I-Nanx5iRYY@&b87!@OpbjuREK7B4H{D*O{2O4C9_&YU>*G{ z*V&)Y>wIGb>k9A6z5b0}^<=|NF>M*~=Y>=Ekb!2F#!ElZl2@(#Vbu0Lk8yHaEH*$^ z=4)GfQ=kQq%=e*A;px#F0)zYml8UXwK=>R`@Qmq^#~G@gH(2-wRq6v1I|N$ag%jb= z=6O@^69(tbLa#lQdc#fjyJgeu#KQn=;!I2_dj9cyq%CV)=q)0gz1!-tek}=_m3h5x z3ImwBBsd5mF-=q8z0g#RvN1j>tzg9Pu1v;`-!vqb>=h97`hF*nC1+dc0H~+?y1O70 zY9+M^iqrj&sPt74;t^rik=I(@`_^W4{O909>%P2W@q_-=z04|KT+YpFpBXbr3;8Ae zJh*P-4D0cIfTi_;1O3fC$tXBe)cAEkR;KBDOm><`0GBVr<@~oHMvZSC-B}#vm|NaT z!jc~PP=L_9{hGaxREwVH=Dg}gweIHru!9?+SqzH=)Vln0>wt$_NibcKx2_39asMn> z2y`7w@8bHa)~zqk(=ydWEVeGGK5MkXRh{OSdaCNhkuM81_h9ZBPl3^J%uWg{ZD^kY zFaNL;5M+47Lxv9r9MMD9dgQ6f4D51qc>2lNCUMpU_}>+1xg-EQC}5R@y$4i-V$r*k zV?KOD&%kuYQ>6*DUuCTGi&b2jWO}J%L=KA|BylKX5|nhfdg!dI&3g(-P`os8SDVZBZ8GM!FFb!tE`Qp5-L>p7cv~9qk}%xwAi$*ZmG#aB_>Wv7#4-Fa0B3a$n((&%!pd0?7$}AMFCZS9l3- zn~Ry83F_#t%1;)vRnOW{uktA;wq4VKLn@bZT0l!Z=c{JINu|{bv3rk;UBBV3a|F&_ z8{73#o!LR&;@Lsf%Vp{*ZyZ(CG7q14mLwl1)fd;RV;cJXc|nI^n)TF>x2|!iL2>_N z_U^QwICsWNr{@Z|Tla21o4PwjdWTt2w)C?g><52Eu09{x5iP-IpCYFDtiAA38Xoa; zH@|xKOT11lAoiJg349XOb?}Og@L=$~wgNZOn4ziM8Z$%(mr?>^F0iHSDl&z% z?(z;Y2nI+4Uk zI4v4#FgaXlhc}Ya901ZqL@N-Tjeb6SAl=+=Vo_wTIRFVBnEDXA%VbdZuI`M6lPCd1 z)x(8;?h)RSusyWsydYH)cD%Tqj{tCTN0OLi#c; zRy+K9e+N%5B=z2={Uh_|H)+X%&P=*Sv1V=k2eZdNvw**6Ea6GW(3;A6BTeZ7Bzf87 z)^(w5N|^vB4^eN%&&RHS{RY)u0&BjeblwHQ9D-%Mn!f)D`w$`kRjjx$RINe1m#yK2 zkQ`hz0MJd0t{KeH^@kDxyQweX$oNBCNK9uS!`Q-tl+(U)nL$lXLhEQxQ{f3Hj`l=Z67Y|QOh|V(Etq#96jtms6wE%tYo}DHJqnw z(*q~YGm{^MJ6|7C>vuW3e*40Hj3#WUt`??C-S+l> zSLf&RNI6&+(LCE-g2o-rIa{4*K*$Xq8M?@!h&Rza@#XC*TNRYdRSw>}=#bV{5sQD* zylbv*+@=9W_F@d~3kP|6ilgN*dz*!_Qva;FMks&^;nhuplU(E{WGErAZoKFig_(rG zzR#-_?ZRZ;OfyaSSauIk83wessX28!B*uZLJoTo*)Bj?kEIsJIy7Tx+{f9$l+EG(W z;ge%KkG)JhA&%l5jPW(n%=U}${y&3`T8$_nRDE{2J$KSf?zW-Z8rOncTbsg7gkoCn ze)=-tZz2I4{&3=z?ZY;2_x%b~*qUo`SV?D-%KPf>+KWE~;|4yD8H%1$c7-4Z)nF@z zFg*FXX7tIO{$@=v>~(j3p;%)cBwXF-m4$73#gRe(^x)N4n%mwav{M*)G_LsucccVP z2{u%iIQzX*vX@L#tw6#TAG}~XtUv+yZVx!alqSY+vGyQrj)N09fJANhR|lcW8p3t< zKFHsRK7#!v#1K5t6au?a#Cw>ceN}-d+%sK4EBlei;?hPEdYA|3g_qQKF7Vw-mx7EC zRKf+n8(U+9bZbc2(mZxdW%krT%|KqiKf`Z5TuOn_;cnX5Ghl>`{8U{9`Lbh!afwm_K)$`If&1vlrYv&e< zbRlkH}=6haPvn1W3yi zu0r`_t-Ih(N5wIR-BC#}L9bQIIg}O)Yi#KxT_O6Gc$(6E><-;$BXTH^*c%8l7}og` z4-_Lvo^TPG{HCGOfYp7?LsL{kCz5$ey;hNp7>d~P88BGfM~jI|!;2mr>Y=$J#UnMo zju|Y?QJr!cCp@11^(*))06`f)^}P;5`)S zNIO0a;&*|AO>u(A#!e(3K*uqm>UZjlj73?c=l;kH|FE|#E7Ve;q8FIDRZJH$!yKCBzmX{0w)1u*r! zaH&7Zl=7rV2FX<$w>=WYXY6V4gtYbe{&&tsf~ryn;`Dm@uRbTT6@Myu&sTq6ou_!a zbUAw{tJ%EehNz;C5?9U)H&{E;ZpozN4eQUQi^A#l{x5N(%GMNPWxeG`B?;#kj_7|Q zwTzw-@wS;TNniC$z~CFLGv`w+Jc5T8x4LYK%}g)kt#shBnmpqdtfFn-%`yHxYmYu{ zh38%!%Viv2YhYEQuuW6p2X$TRMy1}oII%3R(KGfOlxUlvua1xZZJxX&41nr91vOEONqf?2MmWBYR!{PwGE8tA=SFM);jxABj z>=7JWxm?RwH=QKX`1m)=zPv}mt9&ojp!h8w@gu|H-moi+1az4e0vnQ`X~r&evHI9o z`n)Ppu_wBo*Qma+dw;_D7AVWv#!#)kF&jurFzQsACzVhbQgk}6S`~ek!zRuaqL?XS z%y0DLw{}CYp$>9`RJ3LCi~@<^HfEYU*5OBNtwFxNG81^(=75^u3M&^ zvi$WNlFA2jZ0J5Sbb?YtPbZ#*2ofv+A)&nzoejm@qY79wH&A~9EU!^*!(Styy)N+JDAVapi$P&~hD5ZSCC?h)V-VEL`9n$0T!2DRKPM8X?O5 zPI&=fl+kcWN#@svH@zgkT;FFPZZ@y=_BEYs?W*lj_WRt?c#(^92Wx!3%U$>t$D4MF z)%NgjU1!y)DUmamSDwb2l#1P65IJVOEic}m@ji<^ix=;c6+N;;c*Gm~=cdPpts$I2 z);I;swno!dRjCPX3T>8Z8{0Qrd?{V41;lc2R*4!3t_$r)1h`|WVvPQ-`q4ysbrLqO zotE9wJV0arQH~EoQ&MmySdb z>HnDelGnpP^5&+QR=N<-7q?L0G}W3j?Y+x>4`ARFIrm8R5uQ2wm{ynSqA8vGUQsrN zp)ux25{U9&xvw|pFIXiud^1kA(_&3aiG>qZ5hVY8x%uKYhALKjW7B^IfAV$_xmIaT zD-(4;7wtW2Z{>m8d5-(wX==d5?fckcwrz;+?2j<4Ntv<~9UyM-W4IXNod`tpy^FP0 zT)%vp3Rrrj9lmnPvl;&(=I!$9goY+a33rQQNdhT_ca;uFXVLB50UKEb(;YUTga=eJ zDb@lCtU8RCfw@Clx&h68&;}LsPP}j?GRG8Jmb7KRBDr(+Ztv}V$HtoVehB$^S)4|% z$iE`6DO$xNze6gW^4@~<^l|u1#mR&S9>CZA{rR!+j6y^7xjZWy$sEtKejpT3I_b_}I6SqB+-O0=>Rzinskn}>8%6is z{h@Ci|zRRVkt-4E@e{UR$+JhLFUeJgPYZfqp^P-Ep70gQC@ zI#+D4B7s+MJ*C_H&SWI&fLS2dc_*<8F&jnERtWG*$LoOVX>Ck@)%mNYa#;Tv3z69_ zG`jC{VP50ZNnkt7dhY36_=($cFyII<0=P_I^qb5UpzVjhQ*jQ?r)xKhlV1N*qlKKD z7`+qjW{o;L&l%ZNF&7H3#oZxa8Vy(&UNAnL%~mF=iUvP^f)mCjNdlx%It#EILq#uI z*wi}H6k-k#>G&v>)P8{29fohv4iiXgoQQk;qT%sn3T@rjOrHB5;9ZagT3`Wn1qs*f zfyyA|Dfc#;?N&`O?br*yTIYd`(daQ-@!LYOY#e(H<~j7H(MoHvOWP`s$HgY)tfTEmJwrEqH4@ zO8497QQKP|l=!6USK_3CA_G1cK2Z5Cv8r&rgtB7gL)dyQna50zaZ@o6qe#b=NyC=| zWX@v8ymK7NujzJVb5S7T{^3+lenlv+^(P1ng6jl;4ZqGId4qMsGTKelszVPJBAt)w`t zZ}uCbDRwjhubt2k@9pzW>PJqC#d!mN@7QMpE#dA7!apRKr7pjxn?4b+athnV!u7m~ z&F#rA_Bn|pEm~UzqTG9ylRGYH1}D$&#_aI-KY>({7~_h}yXZ`vy|eW)>BC=Z3r0R1 zVE4b}-h7faT*n~vBq!mPwfkgFvf8Ji*EHALvLsKRR19(VC_EL+4W=jhd@5?+emcV6 z$3Z%c%UObxFotQJbru*qPAp)vTo_DcLYcK%y3f=-@y!#lEy@r7uIrpRG4jRSE0erp z9wCx!(-|$1`EvpmlIN{x$D)3~BQgNxRK*TJ9i};o7Lu?yXkbUD;Zk$lKQbS1`bxse zc}Vm`eqd|%=D!7r(3LRTRb7Zw`+S63L+?2x8K6`@vi>z1RU(Y#6F43lEG%WFX&ug!v2t;s~)fewHt(V z4cY&rPx2Sek7XI6%o{=3ioYbcUw~?8;B0no+M+J+o`U3m0+u#I8{-S~k1#~EBT*E1 zk@zlkikM77=GNBrK*_oqeYhn+S1A$rYd6f9qFPvdK$KwBf z<+HVeiSsQ_#x{@WUl@+4ag)bQ8!stV)Nv9`PxV#gSqoq*b0Ac#jCgiho2))y27%2d#URdpn(NS z77f(Sk=ofbL!z$%Dy=b_(_Ow^-1ozm$1skLZ2_xWpK>;`wOTIfYw5fV*F%Taxyi~I zt+*f=fq??cl@u;6ZGPgifJaB={KBgzXOm+(hC!OalGXrTfY&$ehs6i0+`b*Is=MFb zCjkXxwIzr1-JxolQzm?qxAry`)$i@-cvakZjrT~^aQo{XR^>za?#-K(w|_#Q=#Yw4 zh*{YF?1JO_yE0_DN71)`W$rHut?M|zB70e*6ql4&O|uvn^ey_uPjlsUvuCUqteRY% z5|=kFD7urddS~~sQRc-ZU|~R7LmkjTag9tuQA5|$i_Qq44EK#i7_h#E$Grf#ne+x+eJgbxhYNSrPj!(;_T z2w*m^FseovweC7Da=urdpqmYYHYk@`4$IC$Qk_8z3L1t#_UjEcPm>B)Mh->H~qO$aW%u+*Rd8eugE;2WKrLB6yv9P6# z57Uyuzm0VHZWo2#EY3k+bd$bNZ!kp*mbv|jxv zB#SWAsRCAvWFokYHi*v<57wit^4uZqi6Y49A5Mdn>k2<~ zFvpBBdk@_9cFNqL6sC$fb<`r?<_2Oldh;?~JfLp25tgD>~Gq1XtLhFjXC zShH?sOJ-L;a3t2Ktab-u&&@RNV zj({}-UFt|x4lW*Sy!jK@y1(}3ok&pv2!2;DtSxdJR+x&CA$3!L`{_uA6^aeQAlfOw z7LA^mkv$Ea--JINkx4m`o-E^Aly#c9rAC@HD}M0OW#`$X>+W|rQ)?impvkrrSPeTy z+q*aCyucAul%ro^5gpD`wR#+c8*4CyLuO=M3CMiW17I}KS_FHKd*;D28N8i<(=LC0 zObF&D)#UFsg#r$;z?xOoPXfEH-Con-{%xqTiL6&wq!$;1=zuKYHNr>XlwoDlG`aGV&Ve&2m2T4oz80=5AIq%Gnn`J*j(Xx9kG*9)!kSr)QW|()5olR~ zc(N;UrRe!YAdq4b1GMa(y7jB+Qf7sPn!F<P-L<$icqiU9`WN3zsba_ZZN9UOUpc>Z$e&%hbKcGt z8WRJNJwYckm$_y6wZjVtPup-t;0wp~K%s^go+Ky6)nlprOGA(bY=R?@A*iI;P@B&z z2L#P1Fie>M*n4M4s0A<3q+kc3!z?@nFx$tV+*bEljyf+f3vdI08=V69r|R`l4Hn`H|eN~_D@FT<5z9>3FfO1GK z?XTDxcPVg{9aDLfWkW^mL|kV3c20ATZyQkOL$%1e*iDsaMOrrY4sZr73#_yU$wAZ&>5nI4~Fch9DWt5 zrS^WqKPb#uArbi{jg$Ad{sgv%lh58`gXaD3qrzy?Fy#lFyQ*4YjtQFH`^@bmX;}VV zUEh}eg>;>vJQv}SMI5^h!3}n}fNeYXGBdM1UMp2DP^y7~yppan&$4OU6JCbqAe)<% zb~5>6_WnE9;oH}2$!R;Osynz!B-Ev)yW{@rQ|2S9URPuT zI-b4>_Xp&$%xyF;R*Fyz1s&Q>aW&d9xRN=QOE&eb%rpL&n@Ry}KaWje<+?Yni64aI3B`A@ z8xc`h06?b>uv-GoU4ZT^o&u#KR@J*FW%S%3uX^Ee(-prs5*y%!OK zP9$I#U0W#33NUKI9{|X^NdoVN1Z)Y=kLw0{aDFX})#+x4*X^P2?~k(N$vUTtbX;Q) zTOcn)6oq+}o7)OlK0O~gQQ|xL zG-G13Y<#`>l=T${70rg(+fy-q2StB6%%~+JvY5CMk8|RbAix)_=S{?I+thvjyjkKk zdbVs;Cas2-0GD^~9Ik;JeD#N8tHpAmKj(mj-k5$8Tojs3Ya!k-yoXl1aIiN0=8YkQ z*E-1b>psaM`u(ON2}3Me0#6L48%0>4cU->wTJ-Ew1yBtbcr(ZVx>eg9NNjOwY8FX_)_f zLTW&&9$|mmVM`yE+nYuoeq`GJ;5F}Y?qDUiF{8t}vZjMe z4VK0I+=)HE)+8A7kN&%#u4Y~3RW~`uAK^I^AA9@VhAyM2{?U&?w6G(GdnEy?x*7jH z8cJ6HzQM0~G*Usqsv>33kFkJqBft*Iy0mvt@KOorbhxYqMje_;QKO)l%|ik>Y%;tV z?hm^5g-gY7k^t8bT;CnS9JFNtJSW=1!3YJmy8`-tL=>Gl%;kzf7pq*eS9lO)M^&g$ zD<9qhOisZ2@ltU30yf-^{q0Mc)Ze_G<%T-+R{o|siWUE16D zS)iZw`0{OJDP~XaFBO;mT$*Mzrf}GO{wb5X1Zq4 z-A7x`oN@N^Pn(j}T$-)5Xg5pmvnRigXmr_+sBCrxVJ(tVB}sRAB?cb8!*p1Vjc#}^ z678`e3Hz969KvCU_Mj;|PCK&wew!Mg6VlNkIRLPklYszLBv_GxU;x8cR;i=9Ezk## ztqWZJ41P4q&`Zk#M?fI>t`1XZA%w$5^qIBQKFT8{1s<=rw2=3=G-A5XwCvYtf1`58ZPkJ^l%fuccu`z znYo;N>G6OB^6kj^2h}Iz~jZt1DbF5^g$8gpQE*0Hhf1T|jj@o2|hVLc3Y_7421- zw5d$sdGIP=q{tF6Q;e{JQIKwEWrg-37^ZfG5w;ojcOSRZw9HtMWBihtdmhM@>213^ zHdW1ZI7R7*byeb<8K?|}zrZk1|A?ALREvhV((6yhZn<>=b^z!U8N>q%J1mgbKSQu(Rd;b*bHYj(R?Cs&hH@r_$H~)NZzYcC*cZo zc_f(kiq3$(+7-@(fCaJZTE3@xO@tJ{?(TCx$UOEa?e5N>_0d||N4^kGct=t{$Lnna zGg(I5cShrCM3y=Flcr4ER5~?WXupx$UHjKQOhbT{hzK6%&!{X+1)wYGU_-=1sBMU; zAi?|I;J-q9eafV*_|~Ow zBPtc{GlR6)JqtWBoed*ZTuc|)oA7cJhP0KJpnFPhEOg7mtrmk?-@Cq*X`LM#f7tuMSG1hEJ zOm}5WQ8tO*UaS^c{ycbL|G|FSI}@u{UZoWt@A*-8p)NL?mE^?4WS|AB)(8Q>T5Q1f zM{5BQq$=<|DQ5>6{(%4V8`nu~aN&ORH1u1zUFkxJ4qm8&u+1p4l=I%?%TAS2r3RZN zft!a*>P^xfG`_oG)3|r0lL%|t`Y?(LJC#n+^jk=q#l^$NeufB$@cHWWqTd-f2sy#U znKrhs_FRI!a?AHJzTg|AYKiY>&1Y(N6W^Zgqp|(s^SJ%gsEooAV^o7Jy<>+qrdxi! zlR6Q>I@shtgF@752{)7pmx2W>Z(-{~)4L|FQR^LQPr!2Sp>W}| z6GRveEEg;0B9R2cXxW6IdVX-*GCGZxTB*ybVKD0ubie~J zOv@JMNCH$XJ|w09{fHrjn#7-9&Q`&3*2S8cj0G}adJi!UYA41-{?Ans@BuzM*;znG zf{neugd@bCpH_6Zb-GPo>5K(fiscR^Yg-m+3&kL(z)kM;D#=H7=@h)if?e%8?YCVg z`NxI*uQzN$-WU3mXc{wN&rVQ~Q~WJ17s!Z|#5v0}g-=PwVPA(MbQD6W#2=SE-!)t< zN}qSib5By-hHBkc4>hHofqjo&|C^iNJyf+0Z28nv>ZzkHufZhry=ZI2FD=hLpSPZ@ zr&V}|FkOjwiO-um8gHD{o-Vu{Hd8xOKsxFbOA{en8<5H1E)KX0TbY>8rG5D9=2hDL z36?m0M$E09diNw^x4Nmf3!(W26e!d(L!C^(|LbNV1)B+N4OocOPj_%s-I5`) zie9DL6$l!qp2Gj&0-$39#hg+aWJG(;QGgiS^<)h_|NX8thO8}7M4XC2N&!3P?>y}c z%gPiPA}_k!z42uxYuoTu@10mAQJGy(RM4M8l7Jpe9n zs61p1l5wLz%7I8<5qCi^qvZR8$M=#uTDN9ZHiroV%*ND<7>%0B+hk)k$}KlFk)Dx` zf=rW3SKfZ&zuoSB{FLq^{@q=}dpcg<@`|-Kn?1dJD5rL%_cQL?4JuOelG1FZ5uOpv?=g=v{7u!~9~0q{%?0JMkv+oSqS zvNmfG@l_1+7_f5#ZfM2}q^w_PhJxe+6bZ4^O?DyNE~#h4W$YOZv~Gw~N>P%u2SZ z7Ecw83$Nl^z&vPWDS7_v*Dd>t(W!5~#}$5fbMhX4K=G%uyQ8x?X-7{qKP==DEIsf0 z>|xj8sRcI4#DWrihBbswO(^096Ux^KfY&MsuwPXo0k-}xHfqjqKXuRpyl2D>a1S#J zWWjxag_!}wOrgj_CmV_F^@W*;hin=i)+~l00HmRaWD9SGGA#RFlw(a~VrJ1`4Duex z)BLVV$x!gIH3I@pZpl|#QO$t&f@^7T>=jMZ3CYBwTA#~iB!r#QD+P?2iX6JQXq^H69pjx<&cM3-d5r?2{4hvu29|4lxdf}OH=rTED($1PRnF{|S#Js>NWknFfIC-F zD>}kPf&B|?DgUyt__eLXjJsOaT z`!@zjxFJM@DH$(~+xRH(ciAu$K(f z*3$K=Vlq&_7~_THS#j_vd19Ly7_R^9*z0SQI5mFzI-bO7DYGeddMURqjyY_uKm~uU zfcrkj<1jf7?K+F_vfXWsuiE*vMV?yj;2_(;ouc7J?RK^})z-42PtjAlEpM(oyka-b z9C}1`vuabeq}o%s@lROeCuRaxwUzHqzuY60Waon5*|Nl?mJOlK-<7L#LL@Dwq8NNz zrO&EIxsI!QQ(g!3d*((zC|s#mdir^O`Oe{^(Vp8x_-^6O)JV_mYwb0XwRZx6by)_x z3)dJY#mO_-=rB&IH#Iyxh3?_`ppeOJN3y=%Rr|cO++#Q{Lv`fS>lxDku8&f5q2t!55!;D@1mdNzk#HE-ZLQQf3;nT zO<8qno`@S+6;TJFisU4V@ksmkKm4}sr~nP-eNuLYQSyEg*e82vWWOw2Br$!1iY4lR ziMmTAKrVB6arW+A9}DlMt|L#Fq`)OT?hOID9Z=(pm9Mz(sELIpT2xb1xL>K?tOdYd zQrukg>y{K?AG|XQH2*^FLZ<;QqC~+`6IO}U|A*Npx2#FSN z^B#4jr7Jt(aMTWIoQsisf9KimX`LMg-{p5%jf*8gFwWjDgD&)eV|sFH&Tkejn@AT* zg!47NL8!{#t|Gp>ztKA=|D9~j(CItXJUk6-h$Y#{NU!*13x!*N=24C@Ogb9m`CQ^? z(DddNDTCydT~aN_^}G+>5Kkc<^_Rw8}+V2}g{2~IV)bX6NK)KC{iEu7ee62p()QUzky7)fiK%|uT2J1UIx z8YBUBC!6d1aZigKg}0e`?c_SOacY0K`-NBbLsHlu=Qk61cN1ooKWiQ!!VCc%8FZMz zwFz>6iqkWCa?zQ;mh%pj`*_`PVq}OZan>w4=&$4)fKA!nCKbn_T=-vMd$d< z%?Pb^`fI|4x|?y?C- zU^p=B8;^L!XWS5o9A<}WCPUU6pKp0j=cpZERLU{Ae}@bLQF<6j$j{{4a^7Dc@`H(H zBw%qlPLX11=~I3;&z3a4JGd>Z)V8Koj>YcbM5-KxB-@AIsS-h;Pu4#&o`oE`m`&9e z!F?Gdib`SjiWs&F$@RtS0oH)|l)Ua;*N>asJ!k1R&x#!kr%TusgBEkNN~_xC4?m-^ zbFPCGhguWe8t*d##;?UHO4+4q?3HCmo#JTz%L#v7o4$!E3Zx@%a$(H1NJdYm=v7zX zJCJ5nSp(;)P&o{OFJVnW;p7Zgqw1yO^A$&*-XtDpO%PAI$LGv9_9Hi(0sKNduj%yg zT1L~X=D(pHhX3HF{HKDV- zz`kv1yfHdJj$!Cv%rC#GpCb>ZHtFn(NGMKQx&f?3c~!@kZH|PzMkUVQ9~bfrlC?h+ zXGuP+tmZfxjHwBzTGC+Xi;Hu7z)*K+dEL7Q)clH5NHf zfcClY0w#odP&^?S0FNrvk&n+bqNR~P2d9q|qt|~rIs)kabOpV9Ie)!gze{m{meetXx>?CpPjCWh;;zpq^}vnl@+2ixJO{Lcp-Eq&^-zQQNKxl%9b zGS`CFTqYwU@}IBQ{K!}x^c)39C-oYmLONm%efsc=C8I%fq`yrm@l24lJ&LqtW3U{6 z9ZxN0m=6dI0x6p|CIIJ09}YP#=u1}5)j;H>MV~7NQ z@H zCqZTD&|iPSh*PiW00Ev6j^96SzefD+{f9Huss7`EK?D9Sm&vnCCN35cAID%fp>Q8< zO_0m{gMdOTFgHspk}q~I9-aMlr5zEWKdB|aJ(u~PvX`9z6(s)=CtMlq$2YE5A!?%5wl{jZlLSG zE3&>Mrk~oc%Sr!#l-S=+i0SWyg#KTi5ZB)cIq`paLXP}SNa6qG2}vRA2N&sU#$a!O z8v&pIktSk@2<9nWLPBz0d@?IW)HINF>H@w{X?JVQWZni>racOnzm!T|0#Z`-P{8#}gX+~yswfR==jRLwo4w!2a8(lO-yzsU= z>l${i{^Z%y%UQ%=ZV*wB=WKpg?TNx5PN-_4ZTqo93($V#LkeNk`~P9@E#RV9zsLXC zV3%&`Sh`a{N?1Zd5F`Z!K|}>bLJ$LlUAmMI1PNIb5yT*rFklHWP$UE~327xor1w8C zc<)C)*YEwP7yj4R>o>23-INouue!gD;?s2jX-*m6go-t>hBnK|$2%f`ifl;`B%Ue;S=MU2{u z_bHnfU3|;^RPM0Dj15P_^?(kx4Q`?pxGPD*0ohxx?VR^I;-jiqZ|<+PdGK70ZyOhn zot92=9eu!-%lT(ripH*)D~>4~d?g>#9ex&ndHZP1V`8h+k*+?+{bz2EO+>$Ah`DEC zsAKW@OcXy6nJBB=LfgB!Mo^$}-UE5yR28G`X&SXz*&ZeF$DSuFCP;!}hjIF+dnhCH zPWQJQy*7Y*+s<+0%FvVNMiEzn_?V50(G5`*MYHV>B(-R^kB<<~T&!}V-C+H)`FyGB z%T3!${BD*vobWA_+9~DwXjl4N6eH>7XiXBT?ft^eiA{`cmisF5DxFMh<_x&p%j|rn z&ubn2#4&dM(BxbBT*)L%+aSRQ7elYrjUGE4P!~^o|FNm_?A9(?^m=nzKga0BY})mK z=I{h4=GX)613nt;W|!oZ66+fHe+kk^;E-8z|a{;JT(o9?>SBX{h@77N+KC0?OE zUzZf!%<5@aIom8!*LK6FZ^K+wfSs{^e<;(LTIqwk^fhzViRm@>>yLgA-h)!Rue|VJ z*A`zf4UhfAr-h4`g#EE9v{#$X9Xx(eRv_C4Mz!yGZicMA*j%z)Mf61->D?z-H;38P z%}OUxm!F)p7iah89JpmE-?yR3CwI?dkMo0D>r*;5HD|5j$91vQwz~6CvFTAZ;^?iG zLi3c1WB~-RxqX5y6RwL5V7}ntQtx(J!)qVcS!x9FMRdjSSixd!mKNYkO_%v0_7`Jfk37^WUCHG6Xxsi2$ z;IY_~Ray+mAGV#f!ZGbc*{M>l>!x#Y?YUqC{+CwAcX3sPJe<*PzEgYS6n7KC@D_g5t^V%e zoju6s_~a7^4Gdd_>3uad`}`Ex4w3d_cUrpih4#0&9msz;6g9A?Sb)`-voctMlB2sR zGdM2clU3=&H2k%3v-|$Mhhv^TS+eU0jIld;(T~>c`V>8P%3-%l=-lag_ZXq>f zV#TYPJy2wNsYL2tSa*JW8Pa|e#q-1~Jui$xwL2ZUw$!}4Z14I=EWARN!Vho#38UA< zpK$ohN!gN2E7IbaZmIs%HMiQTdxnSLzPC@edFwO|jfemRMb5~=tSF(D6B+V%bYAZes#M4LH z5u`=c(>DV;js}!3A|B|^`pQg~;@n8nh$Mj-EKBJg#jy&n=jap1Bfz=*1|@l~Ei+SzOd)LBoz$(2j6!QWHg9Hr8k0 zNhk(JW1FTm)6MPLaP6>neumvpU-pzaGQ9InUaxR*`b#_Cl-EuRq=!2hIxg^Rk!{W3 zYm473hNK0%IN6SWMyz~b5&78bQU+bsF)w^XZ;$2o}`VP1?fD%s3SsN~bEsgLn@p_TPq>ysZFxaE*OG=EuFJ zfH09&fk(Uo3X#h`^VP7YOmg8OT!W4dGak3K!9K>ELbb$khXIxj2Y6#qTr%K(a%206 zCiG*%VAf4MVg&H|3nnR7G71U*b=2Qp z%YA@QJim_myNfF}fH0Xw#3LnuCbB9Y`K);&B?+On ztpQ34LhWAzlof;uTmzH~gi2Tg)CmZcvj(U*2zC3{QQsbt-v%c3YzX!A*HM2LnApo9 z)Vno6J%Lc4S5V(t;hzjlUCSsG)f#B^iGaPAg^k0bcmXqVsQnoR+Z{B$)Mtmb0sp{f z6o4K>l9{I3yCCENav0}LH!@kFXmTR?8A;{~b-@!N(J23}?#CLwLQ%L$V1Bwr#N-gR zp*`zh{lM5ILa|*gPhqQOatKm&^uT(mjWP__^%cnweoAyn$G zqrN@fzm0kvcnEd%*HM2L^*B-pS^-&FhImvRU`Drm&~ke65F8$p=vDEHPf`&PXt2+n zw{v4>AT|&;eRdJ(gORp_ zJvim@Z-0acRnSh zJoY@a5cu@nya(sp{NAWw*3k5W8|pcP_uU$f?dYPGNA@V}wRNkJ-=yMglvt`E3qz&q z!O%;U`1nqTbgD0C@kCbO;kRHjPr}xv_uwZi6Nlfa%VF`T<7 zKWi>L2KA`MWUAxd%d}t$|ihXA2sfS7o)^ESzT{t;$wV-&)}xY`k(_f>3MF z*}_=@p+?rgfKX=(dS(q!AC|QuN3Q|uGhsTb7EjIrjDNrH`5Ax|Mk@bT=kp{d2G9Ut zPk^6luXB+>N~*8El3Z*M%5V)(su0Th*HPadq2D$)x%45_fnP`cU2~Jm5<*3<0m>CZ zon1kFYlVL>PH{y-s7q_0RWgLSwFan*5bE_BpvoZB;2NNy7AX1D8ld`@wW6R}1Joph zl30BdHwA=J`E}H{hvc_`iCYXp>HRwD?*bF|1_-qV-6Pz(5Xyf=t8cCF4+bV~sC$GW zat#c49MbB{8lb`i`E&V|} z>;$dXS+jVsV=DfSCg~pu1n#W`%)~R20sy~Ffq5(k-Gg(I>>tCUWoO#Yi2q|9&sugl zTDBv2*hMXi0@1%1?+Tz;ke^X_=gb4I(nOT~{@>$&v%v95U~wKvAdG>dg#g;0@vNep zf~DP(KaN~Z;D!b_vCg7URA7PG@0E4}9cpQO67c1I@_(IE{<-l- zLMV%$v15Kt-jW@&8UE9b-#4Hkgxa|VC^rb@wg#vp5DF|Y^Q(O?-|psb8$>*z5NZv^ z)bK#vJixVI*XqBHlW$6<@!VM{Ap_h23Ri9%f~j7ylK}Tp@YXwiu$_=Q#(~2kjTuDq z>scfpC_Ab)FQTc@wz-ml1RTxhq>I&`t8cyikR_h3MSb&yZzAwVmjX(ps=#-i(@ffu z&SogHz8cPbdetOYAlfBc5t3U`||5os=m7^)kwXLjj>rP1Y%$!0No6~Oh>EqZ~ z5+o6H%~`hbQ1M_Le5yPv(?piFgwlY*L{~wp-s<|NoC6)}HFf!A{f8f>X)9SPZ1iGP zra3@O$!RE4_C9A1O*ZSv^Oqi(D|>H$b5}+ZyVo{VO=ZqhE*a;OAm&Ftb$-Uyin{S= zab>=&lZ6m={?HMc*?65wk6}-WS%1Np8b;z_Z}qqqLdAuN2^B2h$lJq`H;fc`F`>w@ zk5JtCA^vlJ)eC{qr@=+~9hqq7*vgHqsWeYf*Az8fA1gogPs%$ZJ2hgR(~K?Oo*NmX zE}8u<@Y?2-+q3c*y%fKvv}S5;pLBG4*Q9yMiaUXf^|IA?RxNve%VSPM%p+ng54^0`>;=Z` z_{F?SduaG9rlG*5y+c?8dolg@Fy-8PL}DVm=hQ9UZ@6_?Usc*I~8n`YOUV3P9Z9ZfGRGV4OUyk53+j^x=(fIHU z)tB6Extx?X;;5UucNvjkhcx`m445*3RLuRmVf?3_nM?Ync*$Mv2)pPtnA8KHA0ji%Fi#6J0`4Q3We zw5{k&-!a@?Y8VNDqQg9!zL9y0nfUTTk;nA zq)M`!AND_ywel}vijwrQ%6bz1Ueb%DBw6CVBx>M(Np#XKp8iiB-c{EunYD)DJUzo^ z<ag@6knw6ZrV{;0xuvXQXS!p4i4&gIpE=SfAIL_w;0@y4kqA@C1}fL zY0cqbXMw_%bR(M?=Wo-EY|}`KuBIF+(Va&k4rF$!hXh`7B1LsmY~=4p2%?h4R`La{(d#HmnX|66;SJ5sxaSEblfW1F!`;M=GNUO=_{*^r|lS+FgID6`aEcVYwh7HcppZQ16ziCD?W-&oYqtOyt}m~V6xP+lK-5Ni;TbRZqO_vFh-4GiFJLuj8>Zf`r= z$f{H~YPJRS$ZvsFqTQ;$Uq_HpTe$y9fRDU_b7A9NI_cYfJ>ulTu@Vm(A2cQ0*Gf^p zH9T4tatByXB3S2V>N7Z}(j-oYZxQ%I)}vTL=a5iH;=VB$-N);@$2FOOb%(1w;i5S5 zzzjd$NU#j@?h_Xh#d2A0R(S%j^4(ec6a1Ch@5KqFoQvsg^TIz z6KfTT(!7CuQX`k|_`~B*c+U~Wv+m+y<^OZ8k?8|00}dwPj?x8ljW{fbKaMPdS{QZz zdkaJ8AQ8ni{o@x2yv@r=Ik48hPRcpJW4`W`)q^)#1`OrcaJ&E|+b-ifY*jByip~OH zrp!-MJ0JxI)N4V!>@3f zttU<|Zd<%QO_x585g0>H04VJYdHF^-8>wTC6ciH;c#`KkU>SKNHMkS?vXAB*hehHE z*=ME6AIO;NlSeF+aeR~$zi^)`{<Dz9DxeJGRt2dEO%P5s!n+D1F8GdbA{wyBATH zc2bU!d5wmaN1jriQ6w)wV4&kzWsxSqN}>ALZ6r@1X-?UJM4BoXT_BB3`^_6^i?fI< zq8w)SI?P1At3uArw~ zd+dQ#b8FF>9X9{UA+?Q4h!u4I}<)KpsXY}bBKofYtQg?mvxE~LC zm_PzHG^+^@KebflWhv*Fv-ANhG>C)+A^>o9$S5rl3)CSFwv=^tTlw~aBOHfbORR)D zSPZ6MPcLjE7J=oXXMoXzJwP<%VFx``?7&w)+8V*65*D)_;o%v7d1_fnDUHNi-Gj62 zW)3pBT3rC`E5IEr%jShQYuV%k);1$|oS?%@fcPKhUn0EED#gPK{?CIzi<`=8Y5oAG z&K0`bYaZ-Rz)A=`Sp|4_6JYj#bVO>2Sa-!8l9r5HVg0a4A3~J3t4kSzD8nn1Zvz_? z>A@`EFs%n=McAL!2uu*>gb903!7uzN8=tgBZlfGsE zsKX=pyY=8GW3Bcg5%B(T^U8V5ex4H@TU9Ln){{(%FZsp+=688jNlUp&mL#t2H17Dh zH(2I%kMQrgH*#>($%BnE`7q@32kpp^ z$7Myfd2&w$j=xgB?x*X?QSoeH`h$ zaW8z=r-J8p8VtMH? z&uq(3WeyHd4lbfF<>bj!_7r%cytu>No;0?1dmPmXcxVM)y90Y(?gVy^ph0b~d)9Gk zQYmLtRy#mzQFY;v`s;@x0uPInK!-!{-sV_{&YZFN>HS}V~9a7`u7yRvD% z9+9|d17kquvtcfEbVPk5VevOLT?=jcuT*EwQxHD{+3T=}>`D#+03mFiI-r32&wq$8 zCCs4rnDW5F#(o7BLQLk3_AB0PyN>sJ+2^ZK)C$%VQPj?vZ+`u`eEVUWDO-b6PoCFd zVOGpr^6Fp;e2%PCB{+vm({Y9xIl*QxMsg}_$M^5SKD4pfcEL0zxS~h*_|dHVar%;C zSIqOETk3^LIZG{j<6vG>9mZ?@rXCx8Dc9HVH1eq!k|hloTqUPSuTV-lB!yE=Ja)iM z_uQRr{O#~@r__AP2)FvrIrl7X9^ah$97EPDN^KiK<+uahzVveuTmu3KoT)emha>h) ziWe+ZFmY-?%CTk=IEoj!#+`M_kR8%6>7++FyGqRV=+b~Y4 zt*uaiI4q_elV{3pf*!3ZDC&dd_jMqzr}@Jw$MD1=Pq`z2i}bS)c5>ZZ^5LShq-bw- zdUYzri>{r6dDqRuU{{@9YFSd%SWX`A(^bFLu(w?C$_@i@{81oJVe1}lngcA&l!Tp( z`xUEa0xX(CabOW>_FJ#-e!8`;;-re~XBlss;9g~RgBcT)xl82+a=cID{gD;`Xzm}B z6?NHhl%2>g&{Dlo{oob4*nKt@3~xh1<81H(x5NL^ei!wO>|E0Dsw$=@IXa8uE} zLh%t&mX>_yPsj6|V;Jn>Ima^<*om6A$g8Sk9`f|Kr<%@U1!T?ap{o}S*kRnXbAIGf z2y(%neyb{~^_JHlzxMFaHy0GsF3u_4j@1~=eAk(svgcLCN3UT8tR+%3Yl_yOmyPOF zoNclu0g;F^5*e@QzIq%bF;W|N;DYqj&JcW4VMh^mR~hfQzCv=l(SDndQ1kj{3f5y*GDwcNf4&Pn0V@~IScfC-iQ4}qfVXj#( z)}^@cqKP%rMUGZi z-%l;J#McaO-4kQ2Io$bjbXIl7Nz5K7X0^UcI%@0!c$O^12U=Qr(BuF-Ei_RUJ4JjI z&r0?%2w;}}KnNs}8daa&J7YbaY3P?)t0HHY>PUj^bwrl19?QOP`tX)fELQ=Q_}x&c zqyvp|4!#0&_UuQBCIx9vo?1vi&=BW8D@JJdWE7o!(YEa_I4ow#@goFAsp+*?&TN;( zMtS*s`R7>_mVy~EKhs!TkgjcYjMxIlBzgrQp3gm4RP$7##P0HJLGlOI5?bJ5)sNUP zK~j=89C4o(Cp5$C1ge4`e12T~BIGr$PlVDaos24e^z6RkrSDWB8GPb%{`?hRyE~v~ zkcG4A7^AO$j-U7KbYq^DEpx=n_V}S}TZ7!O-b| zt7AS*C;%v1Ne&>@-_FG1_G-Y+U|}$@y9e0A7RDDLg*T>jv{>?rKNp9Um+ldb04$G} z2+$aST_XGS#{hc9hL!iIxcfMK&X9vJgM<88**Q{0ZU}sF@H}3+eUpAom%G^0|;2Io`1^+KE zV7cd|1)OUXT4Zob&vcI9KiD*Y?gXbl0ADUGKfD(l2-vq-*gQOPKVY^}p_-WyYevXy z2jsEfv`NSUeecCBzArC^rIgXb=nfb3=lgPfa`#-vzf^?$&jro~POb3OGV|3MK+!?? zdV?MY0P>08JZqgR+bP^l!F>X7$gZq|Pblk@KUbDt{jh=_1nk2sY$6^R`PX%48D5i4 z+n40+%8}MT>|S$jsSGvd*Oe0kP@De4O<>eiYyce*(&gC~m3~;4;FTJ>$mA7WmM%g5 znBeL^c2zld>uuWOVBu*?+^_4Rzvqj<&@+to>-C@Ty7MblHjp`Mxl?FiUklDh{CfSz zkDh`rdffWG^{D)!N5j8bkH5X*Zuz1|_rF??zrCjKU(tgM_Iv9w_eBr7-&zj=jxT!f z{N8$qe$hkz_ts;>7d^~=Z#|5@=&^G}k2N`=|KsODf&E|f@c6y=$B{331pVH6M10XB z>-W|p?Ta4Q|J8c@UAsi!76DtHg$==zRRCUp%mZWt&M!>vvz(}f3q1`(lkv%ttE|h) z3L;0zOG{RA)mqrn3*x_A^Q|;h>Ega_vu4bGy$*EJf3*S5_0{T+x77t65U@pAi+Hl; zrQruFQy49ajza=KyMZ}4=m5X#-zN0)6`{v}C!yc32u=EpgchWPghtW+PC~P-2+jXH z2`#cBwAPByUqzi=d%WuG#VbPB{7yoz zG?-9bzmw3fS1djHI|)6zBJ|>KB(xAYBs7|FMd+`>&A;?CF2uSbwD9j_X^9n~RevX; zHCKe*{yPb6u_E-of058%9an#G8W-|j5!&}(B=p~%#)WVzLPz~hLdUKMo%cHleSx6G zpM@R9qf3BzXnexb+|Bxvz&dh(9B>=SiORi9G2#Vu6308$X{qVBUaG5U1tEb$>N};c zZe}&L9Dic)Ufi5K9QfhOFv{3q$Kh$Etn$s<_CMXa9rsli4vdKTY8|;W^5M?~VeGqe z0l3-q=a!{cUEX6~ZD2RkzHJo}^vA8}l{bI%j94}uzqQ#g2?-6>?)`oG4uu(4gl74jgvP80E%7@EEwdu@=6{jUUmaI}(QFXb zT@iZQzewo6Yc>e)UJ?4=)Ij@Np*>fG_WPYIz0yDDn=3+>{7ym> zSA>4LBJ@|`=3jam7hY*Fk-z?(EIqJd>EYi=XmI+mrJJo3u-`~%5!8y%y#FGhzdEk| z;xsM-4(VF9wB)}?=)XH7iYTuLt^PX+y=g`0t-q7dR)kHDvNk2*DLjBikH0Rdr~jp- zo*JQoW&ySk0F~5(<6uk!4q%=jIOiC8l4|1le;3u`!GvpE3vA^o$jWRybMW(w0*>{% zc|_vAv*!!rYP9Ojs`OKX--m8KLl> z{SaTF`KP7F0#gVoE@LNmlkXAH*2#eKD_t+^_@?|KP>xeil`vo0lanlue%x>rewVo(^Gx>V|NM;Ft zNcFa%r5bpC8@&WWd$DrOm7h%GZc!g~OUvVNd}$C~bfSPQeULYHoxU^Pq?+4+e!F*` zN3`CiQm=Ak`ZatyA#{8)PCA-_FcbRJ>2Ul&!wzxsj?nQ`4>_#IfYu!K5iwnSz@q{| zJ88@l8*b`&*knSM_It{SV_ac|W=zsT+c%_0CXu;irFIcw*)E)H$Zr$v!JCB;S=(Nv^mfzyj{y^Nl@npKFAOAawbEN<_Z-W; z*TInHSAS3G`ll8F{(Z-8q24U42vQEwI&*meY5rtUhWqHadXkwv`3p5HJ@;Kgkgzh6f2 ztWH>(V*d?S&i3n>n`R3oZA>R(oo<6mrQG^gp693{kjzH5mg}DxBI{CQ2yV=6_m1>_ zDhfON7>l4l(rJ#r%f7pM73x+R@HF(GTF6He0xaO1eu$xF7cL zRznQU6b+%wG=J&We|ag#)z~E0Q}`Do*CRe3UH+$eB+|b?^Qe1h>K;!PzvfPQ1Ho?c z1!6u8**W-nAz_Jd%+)lQL=d8Q-*y$aZ&*~Me;K6~nZc*9D)mhRxy}LRPP^x&=vvF` zTRU|VIT@7uP>MM=WPvkB!p}W3Zn-M4JsmA6a@zP9k(*v1VoNQsYxoJ%d{5O0DV%+k zBY8ERRf<2KlRH4MFFeyWl{jf) zM+dBn-1tP&dR#H{qAPzVu(4VZ9mf`1-F3OxONS`jkx_5`f=uIhaNVhtduGNynks7V zrUg$H=L!QV@7Brdo@d{Tw97rHaQh*3cQfk^f#MB3(>Z1vLe-fcr9?Py@6XfcjsXrA zG9)6^4&n*q1*xO5L6oB+%imeb0)^&^cwzrg4Pk~F6% zsBZFUAf8s+o+d52eWotDe)LTFA|jo$>rUWkUI&S|y-@$T&QvC|&!I@!K%XlB=Ga(P-MtT1 zy8{<8W6nlG@Nq-1yfc6RCz$JE7^Zi?_7H%~>LC;d4xla5nJ)v2{DDgeQiFvU z{^jL$2w=*X>Xmfx9oYEN`((FHMl3z^6PCZV^4-Utj^MUZ zuu-${s6#Z1BwEK*Rn9vdtkj$V;oP)#n(()!(e$0bQPsRTQd zaRAk(lnn%MPDvE_BY;FZ0T6e58%_g?4^%6k*jou!$v6tWK_(XiAUk1$;y(SDTWtin zpe8K1_3q4h=S{p_li*9*J^+=-C3{725L|)5EzZ$j&qZ!mSn5QFY2pPe!5szwTnkGg zGE|gcQD8P9un*J^VB$IR+5-y!H=gx}h=XPw%9jOg0dviJN^S|h{o}qHv0QnNBJMAX zFJ+Po7kvO*w-GM#w9@S0D`rz2B1j?N7M7j>zAopbryr-DSuXcLQ3%NWbrq(S>gP4o zQ*s8BFdi1{Pf_w9O6BTO9zm4Ht4nEzD4nZI>HT_o5K&HoRsvWq3$#A8qrP|9L%qKJ z9!B)f9rgbv^;ngeO1@0$@qTHa(EOk){M39Npa(3~O9KPzY96Vgq7X%Tbty^^#dLKk zh7iSmbt(HH%7N9T9EB(WzeM?7(2!$pv&RB+L84*HRWJd$&V7*yisT9qk+X zh3i;J9!L*~)zd>BB514-zGvB=k0O$K5W#Wvbg*6aT%`N=J$DRXnio*k%Vvvg{1wlY z^n-NqTRmN%>se&%>JiQmMze0?kp)2EACs5cI7|ZcwE!0By>NiX=^>YUV>bC~91ucG zO<+2F$TE-2HCB@qyEt1%@e|#Ll9wT)-CaGE>LEhoPZPf9_J0JFc8JjP(}cebDDNS{ z>NOK3Ny`K>>Q&Q03Th&f39JylXVsq%CQ>4h4hpNMg9bz}SUrL%M6g>u!fuH0rD^y* z-~01U@sD=%NF5;zXO-j0LYE5E{?W}tU?azYX?TjNNfODeTdeAfRXTTgD;G<+?x>}@ zxVd)%x47`pBVw%Rhi`pLMMDaute(jT5aG&C6Tau{UqXmfF+?E#G~s)@@k?*3)P0EX zZ1o7QAj0745k?`xmwO!Fv+B=>5NYHx0Y$%RI!LoY1i{rKNI(RY)gx#^gw?yhA#Di} zcCDTc(ESaR&*~BUAsr%qn(#gU{t`8$VtyOicctVQX|O;>@5OYZ)=PG6=9^rBub7REEp*ZL@mrsIB?UEb}A8DTZGke%9B?DV}o_Y0A!3nF}2y*=@9nSdr= zHG&KpBCxC;K>#9%t{y=SB7C_f{@xMv^UWt29m1x>F;3CR+o|fX82Bt`9^ngSI6N=xCif1w zJ6=xa9$I_hbqz43sCE45i*e6qL#ig*-*tgkIQE zR>NsAjG~$^16s-v2j(Ympj+>8l;2@w>AO>UIa5BYnZZvq^08WIcj8>xm>*qr!S)Z_ zU1p4t@T8nGXUhiqTfuqZ6=(cJdqy}vDb*n;?_Blkb6B6mp+FZB^KzP4@ZcHdDyq;( zzc?|n`~vNsZu;7O{)}SL=gep+9)|Yhj~Z`!7oBju7pm157oD>g`z-L-uw<@7?3*7< z8oo;okhZHWl8t?ml&~qkq=5|1VdwQ=kAz^1&}qHay_*$=GK^XCb$DcDcasV)&&=B1I|%;3htG^q48p># zSD)-w$ui6!QdHaa?!G-()(Q@+-$W5|z4g(BBJ9-hZbPa^xZM{6hcfwm*v4LLFjud- z5l`nl=P0MrtjQyO>LENML^Td`qu;!P<)k20*7<3~CG}G}Vm6H$cIA6GLz0?jQwPPej#_qw^wsxVQVQ2ip!4$^&;R%LR^1(O2zDe7Wrz!Ja5`#Pk*82I8^* zHHCpfl$B!KVS=oll%4F&o&Ngh-Uvl^R$k&}TW5_y2d@5k!^CwOn++Uae~hfQZ8oTB zbMRdELFg)v_1%wLC#-!BUu~$?6Ee~Z8?86LM~94|eYd5&W_!|!cW51FS3xi%M%qBN zdOh>w#2Iq+qvCDFcNCwBkD57MiLh-6^s8!i+WwvFD(`+Os z!ZVL4o0{)K=anq>%N4^#v`=!Fl+v7gsK_LaR}Dy~+$zm9H1ba@eL&5it2|>nVWFKS z$WebFQnFL-r1s?yTT}e|mrqWePodezQbwC&KgQm+&yknaMC|4!Y&c@u+ee&?*I{m< z-B~hl7y3QJdx&Djaf0R7GOEvipq!PNNNB;lQyO`mF-nP;-Dko(h-m}~31sjemex_70>L|nO22HOkz!2i)ndwGTt7BGI(& zy()_NPOYIxcosVn$*S#0*Qfxn-^0a>M{e7^m7D4SfNaru$RlAN8NWr%$Y5Gy$hqS4 zd#Oyp#P>tmSr`F+eP%2htvVy7fUHvG8H`Ax3cGyomG0HT{5W!0h@Wk>^vis&!M8^h z9|bsK)%Lq61QQtS7@wUH`0xrXwkL{mnj#NpxIcuAT^c>!$3&R3sLARiQ&i>}^tX@m zM9*U3Bqz1A?-mmV*(w0ekNVer@7t`8r{lK8!mQ=v6oA8lw_o2X#MfZA#y0g|5fE1J zMhA7Iy@-1`sxVZ5_5XB^u8D}2 z+Ws427e1+xrm3t&X9ogau=JiQH{eS{TsfSO(0liTNkW<5j(Y(8w*CnKGafHX){fl5 z07wK|OdKe-{={o@CWqgRsoGAb;zp+-t#kzKy|A3@YRz2$>Z9Le>wqD!SsxCKIG4iHg%@(!3n@JyD< z5de^6IB*#M1!J-T@C#Yj5k3fTT`K{07hILJn>QC+N@7_4bpTKYKcfVri;xt>yv6m= zbaprZVxY(@1p6&UIDmg^iNsNWYb;cY%@csA~Ob;uH0cRphr3c^R-G&3W2w&w%=p9`)6IDn% zK!rq}e`Oa1cMt&x6j#BI15_QU!n$UQyjbvcdna%hNeBAom}=HeVIIrefy0Q%W5i?hxrQ!FQVqdyIWYQoCVRb1`js*I~>QZh)y8Q3G+COEnrx4}MiZ0*tp+7Hcev0xQ zqKvJs#io}j0*qw300THoo@e*O=ia~<#dETmA37RI=K>8ENK-V8m4h7*1C2EU zN%J#^f#-uA;JnDB;|rwTZS&}v%uYI@OjTxsW>i4dB56TsY2M{d%@$H{AoBt^|M3`I zr{+K8VqRjM$IZ~(Q(p=5!Nk>Q)^QKcCIL%hgs=(F{uv+j(6V{(k2L`GyXJP|`!I_#v z0&w$)$))NG=xp?oC}8JCY$JCeUAN{LQeCO8W_*BYAgqI7(P-%DhXZ4ovuIF!y79mV zbRRmffw6(2i<_oDEz+ajaS6}fZCFowe7m>gtzTW&yh6+!qK2bURGbzeQ+0a04A-go zSQ0B=KI+oKdw>_~C^YLqPUh~nh;wMP$gEIm|*3Oa3YpG_SB zWUBqZs|!<(9f>7Ix2zvsc-bx0wprb@P63{hm3;h8(xx}qnfHLfdj@xwBtB2>DwR~P z(OizgS2(GQ3v`D0H`T=C%y2Yz!R@91>=7Pb%tLXYGT`9oS({+xgwI)$)SGDlW`+h# zi&2f?tMpq%!YHCMI3a3j=FIHp-n}y?r4n7owqhLZn912#$>1n5V#yWH=Bv2n2VQqS zcC)jx;l8u9jJAC`A!m-_#XO^V_*m4nC6A_SR#0dq%$w>~&muo4jY}W#7ojJgcAAno zqQeq$)j8ki^#`LH4iU{X!{RE*qDtf~{z`*fIkOmfl<5Jxmfk0JtnJ&4Gv1ZMlZFo3 zvA5qmAG<}KK~B{-x>R?7e$W@AaoytN#xogoih27^6-R;>0e@Jg|~gKI(M= z2>{+>DO;-$sA}J))0ud@1GPisK#Ef%!6J}Gb|>$R8{7{lj1R7p4jMfccOJ|OKe?gC zJ^qo$c?8CJ>gE#-yVj}`q1g}Ls>O-z%xSI4h~6$b*}})fbjjtmj|rYO*$FZ9Nx9{P zYa^-G@Z}??L4_Wo%Mb-TRWm)*0udh0A&Ui2cQ0M=K9O-b$=QRCJY>`bG)}=AJyAKI z8>wt1zB)gC@ ztah1l3Hx?ch|Y!g?5-p+B+j}-PSQnr7bDl5c-H5r^RbaekSWV1N6dTS_J&5%o$Vna zSb6Mi$^47$xY^Pd07bh}geNw7z4i6rlKm6OiRI$3T<%7VU5}C`-XFPFcfzDCMLo`| zI!INbOSKx8u?uTbKzO01d#bx42;q_ZB8F7;Nuj|3dDUp=CJl>Z&6*eRCW$#ekJV?7oX+r3SqlnqYDAe%t#prT2GMR5v@1 zaz9|cZn3|!;oeo|TjS69(j;FhRxG@kokv+Ue&L{Pdqrzb%ehY7d zb{;-gr%1emiM_q`1k1H7&rw)4=*K2kjH7aT!K*bF>aHMa&ky()Tfs|AVRS%R)|*sk zv-`9*jy=QU;Xw4T)9%k(LMV)IPV6Gj4J~B3+Kkcosy@4LX&@!{b*KeArx#XJy-Np4 z4LeGQ#u<|riRoxrp3g1`S#mh13$DX%x6%g6#1{#vtWkCa2+s0j0AjLtWmW z*%L&+mE%I2(}wX)5}`2e zU9ILuYrJeMZA8PN`zI_P74j{Z9gtYonrcv8V2A%Z%(KEf5pwMd>^_ zU6XD@>>MxP#=RTil}b5=~y0-Gqf=|q;-xv z?qpTE4w5x~XRrdEtCLBzJzPBv=wE2td65EN;JrBX&OD@AU1fTmSDv<`8@J+T=Q9`n zjB7r+?E+iIUS%Ij8^Aqa-zXbwdL%72;ms`!s@cd@KZNPsdUf$98xBnRIlx9b+((`j%oay{#L zCsp*j!#y>d3E&A208S(l0fZ+#TK-{G@XnFFEarF4oeX`$b0kFD#~2&GrHsr&%!^Nc zOYZX;u_Oh*F^oaZrTfP&yQK^sFKsBRK~SR5d{((`d#2hV%aaJKXe&4}%JB%p)W^OqJ&O>Gf3(%(#{bxzc$(3#EZJR%Qiec-&dSE|K7|cE*+|splQ+;lL3Gp_urc%@-UIzy&=L^;k~{>saqriEB-1a8}&AJ{og0=6($I@&oJ^48H<)l|DoF z!j(4nHMbWSJV4*9?kUi#;)ulR9BrZo2EgXaWHrskx9%D{5+kp>P>h#J-?ck&K^b}a z=^yQ|;caxLwJZ~v?7&qw3Axi7G;4(KOW8Wyz3tGS;oHOl(jEUa1vOH+? z*+X1q;EC(dI%CSTM1YJ3017y?uqfJ79+Qt==WybH!?}87lb*oR6zlFI^V+H`1;CXLFSHZIV@=10}cKG}28cw$Q5h01y! zbfL0@G1|w}8s$dR0I8q}M_cc&B<&Ay*u$|8qK{?zyR+ji$l2Mhb8$xL|VqzO?nF+k)LlCTC_!I zG_s(AOE-RsGNuV08ZmGT=2GKh7V4_5xK97UyAM3t13F=)2+L#2dh@Tk7>hjNpQ{Sc zg4wAs;t%)6%JCBPva|F&@D#j26LgZ`Xb2LE#gUWCGU(n_5#6WNGT`FEWMC)GO{ZF= zsm63ag}&hC2Cb9&a?@34pn|5q~vYXWrV2L0wUv1E}m`a*{ zd?04y#6uG$FH;cOCA!yPxNI-{0^3ecr#`^;vtLwb$9x zS$nPP`d;7bTKm`>GjXguCFDjARCNkYu(;>+XcE?)Nj|KT&p&DXGPyF;t>B%04V#3W zU3czU*^99mN4l^)zA3IDbKvMZRW54S6iu+IpyB*N$-q9L1DWjPlQ8Tb!g+UBrhD3` z;mGmJH&@O1Gq^M9H8sPxbXU)>wfC?oV~;pEYR1e9r50J9kwjs*^F(+1zDORdN<{hxe5j-FcHN4a zec|Y-Yket1fxj|fCq`sFtt-y!3^KK zbPSrR;S^IWJoVA5thprf;Et)E=nH-+#vAhjtl12BKvRr6@LAa4j>0CEal!KY!B)MGQgiOD$+7x~p3sWf~p zaKTn3!f|Iy-F5}nKO`7-RqJ-rPkY;zmYXa*0Ci!YzqX-w=ycaP0Rq!hP1uO$g{
An^_uyd3Oj+5AcAsQT{0FCzt<2D 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 )}0a}IXO^H&9E)xZC%7bL0)^)c9 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 AmH+?% literal 0 HcmV?d00001 diff --git a/OSMods/menu.py b/OSMods/menu.py new file mode 100644 index 0000000..aa13e58 --- /dev/null +++ b/OSMods/menu.py @@ -0,0 +1,513 @@ + +# fix brightness not persistent + +from machine import freq +freq(250_000_000) +from machine import mem32, soft_reset, ADC +from time import sleep, ticks_ms +from os import listdir, stat +from gc import collect as gc_collect +import thumby +freq(48_000_000) + +adc = ADC(26) +v = adc.read_u16() +v //= 100 + +QuickLoad = 0 +syssettingsSelpos = 0 +briteSlider = 0 + +settingsSelpos = -1 +SettingsScroll = 0 +scroll = 0 + + +try: + cfg = open('thumby.cfg', 'r').read().split(',') + modcfg = open('mods.cfg', 'r').read().split(',') +except: + cfg = open('thumby.cfg', 'w') + cfg.write('audioenabled,1,lastgame,/Games/TinyBlocks/TinyBlocks.py,brightness,1') + cfg.close() + modcfg = open('mods.cfg', 'w') + modcfg.write('Fastboot,0,BrightSlider,0,brightness,64') + modcfg.close() + +def getCfg(source, key): + cfg = open('thumby.cfg', 'r').read().split(',') + modcfg = open('mods.cfg', 'r').read().split(',') + if source == 'thumby': + for i in range(len(cfg)): + if cfg[i] == key: + return cfg[i+1] + elif source == 'mods': + for i in range(len(modcfg)): + if modcfg[i] == key: + return modcfg[i+1] + return False + +def saveCfg(dest, key, setting): + if dest == 'thumby': + cfg = open('thumby.cfg', 'r').read().split(',') + for i in range(len(cfg)): + if cfg[i] == key: + cfg[i+1] = setting + cfgfile = open("thumby.cfg", "w") + cfgfile.write(','.join(cfg)) + cfgfile.close() + if dest == 'mods': + modcfg = open('mods.cfg', 'r').read().split(',') + for i in range(len(modcfg)): + if modcfg[i] == key: + modcfg[i+1] = setting + modcfgfile = open("mods.cfg", "w") + modcfgfile.write(','.join(modcfg)) + modcfgfile.close() + +def BattPercent(voltage): + if voltage < 313: + return 1 + elif voltage > 380: + return 'CHRG' + else: + return (voltage - 313) / 0.67 + +audioSetting = int(getCfg('thumby', 'audioenabled')) +brightnessSetting=int(getCfg('thumby', 'brightness')) +QuickLoad=int(getCfg('mods', 'Fastboot')) +briteSlider=int(getCfg('mods', 'BrightSlider')) +audioSettings=['Audio: Off', 'Audio: On'] +brightnessSettings=['Brite: Low', 'Brite: Mid', 'Brite: Hi'] +quickloadSettings=['QLoad: Off', 'QLoad: On'] +briteSliderSettings=['BrBar: Off', 'BrBar: On'] +brightnessVals=[1,28,127] +batteryPercent=['Batt: ' + str(int(BattPercent(v))) + '%'] +settings=[audioSettings[audioSetting], brightnessSettings[brightnessSetting], batteryPercent[0]] +syssettings = [quickloadSettings[QuickLoad], briteSliderSettings[briteSlider]] + + +startTime=ticks_ms() +TCSplash=thumby.Sprite(72, 24, 'lib/TClogo.bin',0,0,-1) +thumbySplash=thumby.Sprite(72, 24, 'lib/thumbyLogo.bin',0,0,-1) +x = 5 +y = 36 +if QuickLoad == 0: + yScrollPos = 0 + yScrollTarget = 0 +else: + yScrollPos = -40 + yScrollTarget = -40 +noButtonPress = 1 +brightnessValue = brightnessVals[brightnessSetting] if not briteSlider else int(getCfg('mods', 'brightness')) +settingsBMonly = bytearray([81,81,85,69,69,127,65,65,85,85,93,127,125,65,65,125,127,125,65,65,125,127,93,65,65,93,127,65,65,115,103,65,65,127,65,65,93,85,69,69,127,81,81,85,69,69]) +gamesBMonly = bytearray([65,65,93,85,69,69,127,67,65,117,65,67,127,65,65,115,103,115,65,65,127,65,65,85,85,93,127,81,81,85,69,69]) +syssettingsBMonly = bytearray([81,81,85,69,69,127,121,113,71,71,113,121,127,81,81,85,69,69,127,127,127,127,81,81,85,69,69,127,65,65,85,85,93,127,125,65,65,125,127,125,65,65,125,127,93,65,65,93,127,65,65,115,103,65,65,127,65,65,93,85,69,69,127,81,81,85,69,69]) +settingsHeader = thumby.Sprite(46, 7, settingsBMonly) +gamesHeader = thumby.Sprite(32, 7, gamesBMonly) +syssettingsHeader = thumby.Sprite(68, 7, syssettingsBMonly, 2, 0) + +thumby.display.setFPS(50) + +if QuickLoad == 0: + thumbySplash.y = -37 + while thumbySplash.y < 5: + thumbySplash.y += 2 + TCSplash.y=thumbySplash.y+37 + thumby.display.fill(0) + thumby.display.drawSprite(thumbySplash) + thumby.display.drawSprite(TCSplash) + thumby.display.update() + thumbyLogoHeight=thumbySplash.y + +frameCounter = 0 +xScrollPos = 0 +xScrollTarget = 0 +selpos = -1 +files = listdir('/Games') + +for k in range(len(files)): + if(stat("/Games/"+files[k])[0] != 16384): + files[k] = "" +try: + while(True): + files.remove("") +except ValueError: + pass +shortFiles= list(files) + + +for k in range(len(shortFiles)): + if(len(shortFiles[k])>10): + shortFiles[k]=shortFiles[k][0:8]+'..' + +gc_collect() + +def writeCenteredText(text, x, y ,color): + textLen = min(len(text),10) + thumby.display.drawText(text, x - ( textLen * 6) // 2 + 1, y,color) + +rightArrowBA = bytearray([0b11111,0b01110,0b00100]) +leftArrowBA = bytearray([0b00100,0b01110,0b11111]) +rightArrowBAinv = bytearray([0b11111^0xff,0b01110^0xff,0b00100^0xff]) +leftArrowBAinv = bytearray([0b00100^0xff,0b01110^0xff,0b11111^0xff]) + +def drawBracketsAround(text, x, y ,color): + textLen = min(len(text),10) + xc=x -(textLen * 6) // 2 -2 + if(color): + thumby.display.blit(rightArrowBA, xc-1, y+1, 3, 5,-1,0,0) + xc=x +(textLen * 6) // 2 +2 + if(color): + thumby.display.blit(leftArrowBA, xc-1, y+1, 3, 5,-1,0,0) + +lastPosition = 0 +xOffset = 0 + +def printList(nameList, position, x, y, longNames=None): + offset1=0 + offset2=0 + pxWidth=0 + global lastPosition + global xOffset + if(longNames): + if position is not lastPosition: + lastPosition=position + xOffset=0 + if(position==0 and len(longNames[0])>10): + xOffset+=1 + pxWidth= len(longNames[0])*6 + offset1=xOffset%pxWidth + if(position>=1 and len(longNames[position])>10): + xOffset+=1 + pxWidth= len(longNames[position])*6 +20 + offset2=xOffset%pxWidth + actualPosition = position + position = max(position,1) + if(position > 1 and len(nameList) > 0 and 0+scroll>1): + writeCenteredText(nameList[position-2], x, y+0,1) + if(position > 0 and len(nameList) > 0): + if(longNames and actualPosition==0 and len(longNames[0])>10): + writeCenteredText(longNames[position-1], x-offset1, y+8,1) + writeCenteredText(longNames[position-1], x-offset1+pxWidth, y+8,1) + thumby.display.drawFilledRectangle(0,y+8,8,8,0) + thumby.display.drawFilledRectangle(72-8,y+8,8,8,0) + else: + writeCenteredText(nameList[position-1], x, y+8,1) + if(position>=0): + if(longNames and actualPosition>=1 and len(longNames[position])>10): + writeCenteredText(longNames[position], x-offset2, y+16, 1) + writeCenteredText(longNames[position], x-offset2+pxWidth, y+16, 1) + thumby.display.drawFilledRectangle(0,y+16,6,8,0) + thumby.display.drawFilledRectangle(72-6,y+16,6,8,0) + else: + writeCenteredText(nameList[position], x, y+16, 1) + if(position < len(nameList)-1): + writeCenteredText(nameList[position+1], x, y+24,1) + if(position < len(nameList)-2): + writeCenteredText(nameList[position+2], x, y+32,1) + if(position < len(nameList)-3): + writeCenteredText(nameList[position+3], x, y+40,1) + +def launchGame(): + if(selpos>=0): + gamePath="/Games/"+files[selpos]+"/"+files[selpos]+".py" + saveCfg('thumby', "lastgame", gamePath) + mem32[0x4005800C]=1 + soft_reset() + +def briteSetting(): + drawBracketsAround('Brite: Mid', 36, 16, 1) + frameCounter = 0 + global brightnessValue + while(1): + if thumby.buttonL.pressed(): + frameCounter += 1 + if frameCounter > 20: + brightnessValue -= 2 + else: + brightnessValue -= 1 + elif thumby.buttonR.pressed(): + frameCounter += 1 + if frameCounter > 20: + brightnessValue += 2 + else: + brightnessValue += 1 + else: + frameCounter = 0 + + if thumby.inputJustPressed(): + if thumby.buttonA.pressed() or thumby.buttonB.pressed(): + saveCfg('mods', 'brightness', str(min(127, brightnessValue))) + break + + if brightnessValue > 127: + brightnessValue = 127 + if brightnessValue < 0: + brightnessValue = 0 + + thumby.display.brightness(int(brightnessValue)) + + thumby.display.drawFilledRectangle(47, 17, 18, 5, 0) + thumby.display.drawFilledRectangle(47, 17, brightnessValue//7, 5, 1) + thumby.display.update() + +def systemSettings(): + syssettingsSelpos = 0 + frameCounter = 0 + justEntered = 1 + scroll = 0 + global QuickLoad, syssettings, briteSlider, thumbyLogoHeight, yScrollPos, yScrollTarget, startTime, TCSplash, thumbySplash, x, y, noButtonPress + while(1): + scrollDisplayed=scroll + if(syssettingsSelpos<1 or (syssettingsSelpos==1 and scroll>0)): + scrollDisplayed=0 + selectOffset= 16 + if(syssettingsSelpos<2): + selectOffset = syssettingsSelpos*8+8 + if thumby.inputJustPressed(): + if thumby.buttonA.pressed(): + if syssettingsSelpos == 0: + QuickLoad = (QuickLoad+1) % 2 + saveCfg('mods', 'Fastboot', str(QuickLoad)) + elif syssettingsSelpos == 1: + briteSlider = (briteSlider+1) % 2 + saveCfg('mods', 'BrightSlider', str(briteSlider)) + if thumby.buttonB.pressed(): + break + if thumby.buttonU.pressed(): + syssettingsSelpos -= 1 + if thumby.buttonD.pressed(): + syssettingsSelpos += 1 + + if syssettingsSelpos > len(syssettings) -1: + syssettingsSelpos = 0 + elif syssettingsSelpos < 0: + syssettingsSelpos = len(syssettings) -1 + + syssettings = [quickloadSettings[QuickLoad], briteSliderSettings[briteSlider]] + + thumby.display.fill(0) + printList(syssettings, syssettingsSelpos, 36, 0+scrollDisplayed) + thumby.display.drawFilledRectangle(0, 0, 72, 7, 1) + if(ticks_ms() % 1000 < 500 and syssettingsSelpos>=0): + drawBracketsAround(syssettings[syssettingsSelpos], 36, selectOffset, 1) + thumby.display.drawSprite(syssettingsHeader) + thumby.display.update() + + #gamesorter + +thumby.display.brightness(brightnessValue) +while(1): + if QuickLoad == 0: + thumbySplash.setFrame(thumbySplash.currentFrame+1) + if(yScrollTarget!=yScrollPos): + if(yScrollTarget>yScrollPos): + yScrollPos += 1 + if(abs(yScrollTarget-yScrollPos)>4): + yScrollPos += 1 + if(abs(yScrollTarget-yScrollPos)>12): + yScrollPos += 2 + elif(yScrollTarget4): + yScrollPos -= 1 + if(abs(yScrollTarget-yScrollPos)>12): + yScrollPos -= 2 + if(xScrollTarget!=xScrollPos): + if(xScrollTarget>xScrollPos): + xScrollPos += 1 + if(abs(xScrollTarget-xScrollPos)>4): + xScrollPos += 1 + if(abs(xScrollTarget-xScrollPos)>12): + xScrollPos += 2 + elif(xScrollTarget4): + xScrollPos -= 1 + if(abs(xScrollTarget-xScrollPos)>12): + xScrollPos -= 2 + thumby.display.fill(0) + if QuickLoad == 0: + thumbySplash.x=xScrollPos-xScrollPos + thumbySplash.y=yScrollPos+thumbyLogoHeight + thumby.display.drawSprite(thumbySplash) + + color= ((ticks_ms()-startTime)//500)&1 if yScrollTarget==0 else 1 + writeCenteredText("Start", xScrollPos-xScrollPos + thumby.display.width//2, yScrollPos+32-2,1) + drawBracketsAround("Start", xScrollPos-xScrollPos + thumby.display.width//2, yScrollPos+32-2,1-color) + + if(noButtonPress): + thumby.display.drawLine(yScrollPos+x-2,y-2,yScrollPos+x,y,0) + thumby.display.drawLine(yScrollPos+x,y,yScrollPos+x+2,y-2,0) + if(yScrollPos == 0): + frame=frameCounter%6 + if(frame<3): + y+=1 + else: + y-=1 + thumby.display.drawLine(x-2,y-2,x,y,1) + thumby.display.drawLine(x,y,x+2,y-2,1) + + if(72>xScrollPos>-72): + thumby.display.drawFilledRectangle(xScrollPos, max(0,yScrollPos+40), 72, 7,1) + scrollDisplayed=scroll + if(selpos<1 or (selpos==1 and scroll>0)): + scrollDisplayed=0 + printList(shortFiles, selpos, xScrollPos + thumby.display.width//2, yScrollPos+40+scrollDisplayed, files) + + selectOffset= 16 + if(selpos<2): + selectOffset = selpos*8+8 + + gamesHeader.x= xScrollPos + 72//2 - 32//2 +1 + gamesHeader.y= max(0,yScrollPos+40) + thumby.display.drawSprite(gamesHeader) + + if(ticks_ms() % 1000 < 500 and selpos<0 and yScrollTarget == -40 and xScrollTarget == 0): + thumby.display.blit(rightArrowBAinv, xScrollPos + 65, yScrollPos+40 +1, 3, 5,1,0,0) + if(ticks_ms() % 1000 < 500 and selpos>=0): + drawBracketsAround(files[selpos], xScrollPos + thumby.display.width//2, yScrollPos+40+selectOffset+scrollDisplayed, 1) + + if(0>xScrollPos>-144): + thumby.display.drawFilledRectangle(xScrollPos+72, max(0,yScrollPos+40), 72, 7,1) + scrollDisplayed=scroll + if(settingsSelpos<1 or (settingsSelpos==1 and scroll>0)): + scrollDisplayed=0 + selectOffset= 16 + if(settingsSelpos<2): + selectOffset = settingsSelpos*8+8 + printList(settings, settingsSelpos, 72+xScrollPos + thumby.display.width//2, yScrollPos+40+scrollDisplayed) + if briteSlider == 1: + thumby.display.drawRectangle(72+xScrollPos+46, yScrollPos+56+scrollDisplayed if settingsSelpos < 2 else yScrollPos+56-(8*(settingsSelpos-1))+scrollDisplayed, 20, 7, 1) + thumby.display.drawFilledRectangle(72+xScrollPos+47, yScrollPos+57+scrollDisplayed if settingsSelpos < 2 else yScrollPos+57-(8*(settingsSelpos-1))+scrollDisplayed, 18, 5, 0) + thumby.display.drawFilledRectangle(72+xScrollPos+47, yScrollPos+57+scrollDisplayed if settingsSelpos < 2 else yScrollPos+57-(8*(settingsSelpos-1))+scrollDisplayed, brightnessValue//7, 5, 1) + + + + if(ticks_ms() % 1000 < 500 and settingsSelpos>=0): + drawBracketsAround(settings[settingsSelpos], 72+xScrollPos + thumby.display.width//2, yScrollPos+40+selectOffset+scrollDisplayed, 1) + settingsHeader.x=72+xScrollPos + 72//2 - 46//2 +1 + settingsHeader.y=max(0,yScrollPos+40) + thumby.display.drawSprite(settingsHeader) + + + if(ticks_ms() % 1000 < 500 and settingsSelpos<0 and yScrollTarget == -40 and xScrollTarget == -72): + thumby.display.blit(leftArrowBAinv, 72+xScrollPos + 6, yScrollPos+40 +1, 3, 5,1,0,0) + + if(scroll < 0): + scroll += 1 + if(scroll < -4): + scroll += 1 + if(scroll > 0): + scroll -= 1 + if(scroll > 4): + scroll -= 1 + + thumby.display.update() + frameCounter+=1 + + if(thumby.inputJustPressed()): + if(noButtonPress): + noButtonPress = False + if(thumby.buttonD.pressed()): + if QuickLoad == 0: + if(yScrollTarget == 0 and yScrollPos == yScrollTarget): + yScrollTarget = -40 + elif(yScrollTarget <= -40 and yScrollPos == yScrollTarget): + if(xScrollTarget == 0 and selpos < len(files)-1): + selpos += 1 + scroll = 8 + elif xScrollTarget == 0 and selpos == len(files) -1: + selpos = -1 + if(xScrollTarget == -72 and settingsSelpos < len(settings)-1): + settingsSelpos += 1 + scroll = 8 + else: + if(xScrollTarget == 0 and selpos < len(files)-1): + selpos += 1 + scroll = 8 + elif xScrollTarget == 0 and selpos == len(files) -1: + selpos = -1 + if(xScrollTarget == -72 and settingsSelpos < len(settings)-1): + settingsSelpos += 1 + scroll = 8 + if(thumby.buttonU.pressed()): + if QuickLoad == 0: + if(yScrollPos == yScrollTarget): + if(xScrollTarget == 0): + if(selpos > 0): + selpos -= 1 + scroll = -8 + else: + if(selpos>-1): + selpos=-1 + else: + yScrollTarget=0 + if(xScrollTarget == -72): + if(settingsSelpos > 0): + settingsSelpos -= 1 + scroll = -8 + else: + if(settingsSelpos>-1): + settingsSelpos=-1 + else: + yScrollTarget=0 + xScrollTarget=0 + if yScrollPos == 0: + selpos = len(files) -1 + yScrollTarget = -40 + else: + if(xScrollTarget == 0): + if(selpos > 0): + selpos -= 1 + scroll = -8 + else: + if(selpos>-1): + selpos=-1 + elif selpos == -1: + selpos = len(files) -1 + if(xScrollTarget == -72): + if(settingsSelpos > 0): + settingsSelpos -= 1 + scroll = -8 + else: + if(settingsSelpos>-1): + settingsSelpos=-1 + + if(thumby.buttonR.pressed()): + if(yScrollPos == -40 and yScrollPos == yScrollTarget): + if(xScrollTarget == 0 and xScrollPos == xScrollTarget and selpos==-1 and settingsSelpos==-1): + xScrollTarget = -72 + if(thumby.buttonL.pressed()): + if(yScrollPos == -40 and yScrollPos == yScrollTarget): + if(xScrollTarget == -72 and xScrollPos == xScrollTarget and selpos==-1 and settingsSelpos==-1): + xScrollTarget = 0 + if(thumby.buttonA.pressed() or thumby.buttonB.pressed()): + if QuickLoad == 0: + if(yScrollTarget == 0 and xScrollTarget == 0): + launchGame() + else: + if xScrollTarget == 0 and selpos == -1: + launchGame() + if(yScrollTarget <= -40): + if(xScrollTarget == 0 and selpos>=0): + launchGame() + if(xScrollTarget == -72): + if settingsSelpos == -1: + systemSettings() + if(settingsSelpos==0): + audioSetting= (audioSetting+1) % 2 + thumby.audio.setEnabled(audioSetting) + saveCfg('thumby', "audioenabled", str(audioSetting)) + thumby.audio.play(500,20) + if(settingsSelpos==1): + if briteSlider == 0: + brightnessSetting= (brightnessSetting+1) % 3 + thumby.display.brightness(brightnessVals[brightnessSetting]) + saveCfg('thumby', "brightness", str(brightnessSetting)) + else: + briteSetting() + settings=[audioSettings[audioSetting], brightnessSettings[brightnessSetting], batteryPercent[0]] + +thumby.reset() \ No newline at end of file From f0703fb5254f3da4180beccd951e52ecafb54253 Mon Sep 17 00:00:00 2001 From: UnRedKnown <157179139+UnRedKnown@users.noreply.github.com> Date: Tue, 10 Dec 2024 10:17:29 +0100 Subject: [PATCH 2/2] Remove incorrect comment --- OSMods/menu.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/OSMods/menu.py b/OSMods/menu.py index aa13e58..c8cc542 100644 --- a/OSMods/menu.py +++ b/OSMods/menu.py @@ -1,6 +1,3 @@ - -# fix brightness not persistent - from machine import freq freq(250_000_000) from machine import mem32, soft_reset, ADC @@ -510,4 +507,4 @@ def systemSettings(): briteSetting() settings=[audioSettings[audioSetting], brightnessSettings[brightnessSetting], batteryPercent[0]] -thumby.reset() \ No newline at end of file +thumby.reset()