From 4aa1a20010558140b2684eac3cb21906e637ae28 Mon Sep 17 00:00:00 2001 From: Timur Gordon <31495328+timurgordon@users.noreply.github.com> Date: Tue, 4 Nov 2025 17:05:41 +0100 Subject: [PATCH] Refactor home scripts to be wrappers around component scripts - Simplified build.sh to call individual component build scripts - Refactored run.sh to call component run scripts with live log display - Each service gets color-coded prefix ([SUPER], [OSIRS], [COORD]) - Run script keeps running and displays interleaved logs from all services - Added proper signal handling for graceful shutdown of all services - Updated README with new architecture and usage examples --- logs/coordinator.log | Bin 0 -> 7243183 bytes logs/osiris_runner.log | 1229 ++++++++++++++++++++++++++++++++++++++++ logs/supervisor.log | 126 ++++ pids/osiris_runner.pid | 1 + pids/supervisor.pid | 1 + scripts/README.md | 181 ++++++ scripts/build.sh | 20 + scripts/run.sh | 222 ++++++++ 8 files changed, 1780 insertions(+) create mode 100644 logs/coordinator.log create mode 100644 logs/osiris_runner.log create mode 100644 logs/supervisor.log create mode 100644 pids/osiris_runner.pid create mode 100644 pids/supervisor.pid create mode 100644 scripts/README.md create mode 100755 scripts/build.sh mode change 100644 => 100755 scripts/run.sh diff --git a/logs/coordinator.log b/logs/coordinator.log new file mode 100644 index 0000000000000000000000000000000000000000..e90f33417cd96247a51c6beb1f415aa4ee2b72a1 GIT binary patch literal 7243183 zcmeF)-Hs&3nI2#t&n@Vr&<1u%V3^GRpQ3jSN-IHHL!uy3Hn4;|)6-Kk(^CJbs+-!e zq(k3@ug+KEFRN!Nld~kf)`2sCd|C%o_f%I^KK*4x)SHnJKYqBpdU<*Cdh_$${&w?| z+uMD7cYc4n&$8^vpU(F;@o(GB!_C8C_i}T2eRsRRKWsP8Kfk}dzP$KtTR-2N-@M#B z|6>1gw~vQDf3o@HlYiVC_7|UCTwU&N?hl_H9`1JgZ!QnF`)7|o%JzqCxhw5+&F#(R#oNux-K+D5 ztNSP4;}TE);{32{>+SZZH?J>mb~B9q?Zf?UKOT9zeLV2?-GP7mSEj>z|NbBU`|o(o z-SIWI+t<6B-TwUQ+1;3K1&5MWo&CTwc-F_^xmr)C+@|^x6Rnus{Qgh!0qkROU5^dh-%1-#aeHxj9)%n4W_NvvR%2{~pS?WXKY#lEn^~iI zcmDS3_WWi1+p(qH{p$|2gOXpZAxzPsXout6Tm zZU0`a?&EJ1E#uYZ%TwF^lVfYX`Sasr;w<`(ud!afeQ1|AoBKBbK0euQR6D=FyuEoc z_AQ%XZ2HHqSMf)9FYwXd9d=i*KHfwh@?Vc7`2Gdo)ynB_{O&o151-@T!aY9a)6Mnn z{>|;n?dI(pC?{@dciO5 zMvVXT<^9-k{^N=E!z2CRmEXPo_^7{pXQjT38h&#vGvHivB$FOhd;Q~b-1zRs`XF;#iJ`Ngk(_Qktz zi_hW*9~|fSPsaytA0K~u-GBb_i(h^6n_vHAbBGbyZhv?h|Ni&{_xE?t&R@RV&we$k zJImvL#kSA;;`Goz9lrm8L)%oR2kv(-FMr^%ZPg9qs~zp*&_AoL&+m^1H4YxH&o6Jr zf{HisBp&etH1*K`KhSKq?^?m__WJF`?&|X4`rW8>cH~F9i}S0i@o#l^d-u!7rgnB@ zf1Ew~&u5n}&$h+Wv)>&kJvKP;?erA!)5nJAZ2R?b%<#0#pWZ}q z{O+&cZ}Gm}{@@KC&$qmN^5n_=o3Y>8{QZdb_nVLUw&?ny`#9RTo6CzoL`9!RAVNss*ZFlkrYf&DzxdV9zIgX-@mc)f&2E2taeKRed3kewf4kpqFRm_k zH}{9__WJF`?&|X4`q|@8#$P%<#rE-;F3zv6E^l6M?r!gXxjP)rU+e0jEQnx=bt_WQ%_&HnD)rjE+xXYB=~?2Zcjx=_>%-ah>sRMj zhuzaMe|qz9b@jWyj!*hz6JK$-pH@Plj_ohGn;5}#i!?w)ZC-F<)FVy74 za1yGnH~;PP-~8(M#K)tlt`84)yZtwphui(LHxDn~9awdJWT>vEH@?~J_qY4cHZRUE z{xHJazIydeq`E%-)9hD&{?%8%eti7)@jsix?k4^OuQy@$ushsuUfu3D5BsalM{n-$ z@3x}#rBW+pinS6#L(!hjrWMyp+r@BY8o4do2URK7O55jUF`Z2- zu9dzo@~%IfHOtmYonozoP}fgq(`sv_$nw6b>S>g}Y^^lu)ygPT=e2gFDzdU~x_UZm zmaUaG#ab!jLvu5oO)G9!>b@_#>8x3{R?^FD<7^6{rl?N6^onbx9rC7`M)}LuN_x3% z)Jh2TomvTrNNppIJDoMl)=GN0?W0hm58767eQv0RVM>}7t(7jp+;$Xdih62!SK9}b zSvhoNnaFshOE9+`h5CAs@khJTeb3H)=HK4eLIcvm;D@+ zU~W4K4NWz*ysP~jRAo(3=6NcggA&Ybk3!`zolPsQm9D6oROTdf3Ffv{))jR=y9%=6 zT8U{qRVo>OmtbyNWg*n%(=5}~)=HffMc)mR#G>PsKEd2}6dLM$8vU=hR;rkp-6t|$ z=@ZOt>#QoP_^^2Tq`2Z*Y09ceWgdT@U~XGyA=GuowpE>VWiynM#Ik)*g1PM|)E4d3 zORuR83aI)u3vUShiLY%x#ZCjX4S1sFkWJ^L}b! zm#viqbK9d(Q%qM^SK9|QSrfM%cGD<-*;+|3w;hF=yqsFz71v7KfLYAagJo+a!Q8gV zLa3{!mUqRqGUiO(B(ZF*B$(Sa*-#g8KAlGYtF4tbD`Fx~pPwWat(76c-1aEc&sH5- zajjH!Txm|^GxLyOZrf%tpsT7Wfm(5`H1$xXlEn=P=C*CtG%+|RtN+H7cIlKRxbE<0XHFt;6ry13o$bT+NFUFov8%A7Z;jBOLlZI422 zVGd>0Wicym$P>Bma7Zw>4WTyf&D5?$tu$@S&YsePW&5B6bK6mNLi-ZJuCmI|^BkKlW~jT4}mA!nj1*l>~F!Q7Bd&na-xw<|};`&1+pw z>A|vnP=dK_2*vHpt+fTCT^VA!Z6fPtw|RoO?I;ve2dA`hwe8A~6@61CGB2*p6U=Q# zp*HqiI`z^ku9d3q+G^^Jm+gZR%x#CPiZx4TGm=+aE6tF1iLAfU<_YGuLl#Q|470mp zR$MDxtV20VnwD)>63lIftQ+EFGG3{MY>2N!_B)Jgbjhu;UdL`+c~O|ZvJHv2>2OFS z<8O=fa@(U&6_H(p9ovRPpATg!*Mo}ma@$cT?zQW+D|PIoRFq93bDi2Ez1;RFWc`)6b{G<|tW%N5 zeA~82FSk7kwS{YkW3AL<$Un8P%Z^vl%WaQBLpMvHRy$saos`PBp&^a?4&&yN^zxNa zsA{dpKej7<*~In@r}SXib|t;s_9)cO6R6d;E3uPO>~=W2;=XLHB$(SCg<@IP)7iA* zS}Du8`DMDJVbNMC6U=R6uc<0-wwp$DE3TEgD(Y0O2bBrtwq;gVRnbjp<%(;its>T# z&YET0l>~F!GHYY{`fSya71v5%4e_b@)Eh5bD+%VdWj1d6UTatCD$DD#p7qAd)=Gl8 z?I={ucd%YpIJuA-0rFxl>~F!CTsiXg{A~*#kJDMx=yLw^HC+3+csGUMFw?BD_2`9 zZI<^D#Z6aHm+gZR%xy=Zrk|~-x8hnU`?epZvu4p+sT0g?+bli=^~Sc_y3NKZ3B}YK zFIy`K=C&a;!~!gn(2CoYb|{A;k-1KFg1K#*wL|P-J*AZ^u9fJ3Vlm{?$ZgqnCBfXb z&HACS7INJC-evg^*Er^M0+m1qAKfBXmwe3pmq?G6RY;}=k+m!@!+fk^fdwo!} zD>0e0t*1LMm#viqbK6m<&Ik8=M6JYS<{_ES%n9bUqfpFAp01d!xDOhl2P#r&R}#!^ zW3Q=LC2h8I+iGhic2X*exK%2V&p`?1wxdwl@^ibTkB?T z>)1)D_}1#Ji;iuZ1asS?P=wp3mUqSNN>_Bz9iJqYt(63G+t_O=?oe&@LD8-ZF(o0D z>px$P)aw6jl&t8G_eC#5o$7n#z7W!sembK6lUZp@U$)v=RO?2MVp{y|NGx$P(v ztMyF1^orY+rtIrJk@+i4g1K$%HC6WgZ1u$z*GhCi-E5S69w0wOt8`@uX>{Rf`sF zSK9P)+oRBUuY+32vnG~FsHPTn*;+|2w~bl}q1bCyt>jtk5gJR}o+Os7mGpAksFkjc zdo!oAX~lg|Ot-CPspPV?l3s2bwGu+zOlY;WQe@-&z}XDJWosq9+_o8ohS-kl)bg&l zR;s3`izz)=wpP;1ZKGDIm=!lm6;@m;u?%H3Tj_V%T1hXrjaq4%n73iP5)xf(HI+=Q zq?g-13dMcA`k*2kVn#wWT^U=pT}dyujarE{U1OmHwNhq9tQV2W8enaLx$P)a)w3({ zs~xYDSxosVXFDk^+OBj7=C-3yTh3MhUU987vCeNhrIO3mN`kpJrRt%WQ~`iuUr}HdR)1eLLHsZP|7u!QA#J zG}y~~td**d+jSH9%-kiI+a84mYpjp8(!@P=RU&H(b_wRTN1d3K z{<3{gg1PNcs8=gvyE4Qoi>b_C=@QIsN1;CNr(Sxs?Mj^${ZN*vw6T{~=I zC#5_V5Km;jZJ%Indlc%2>FVlg$1AauQfyT{8|5$C2PK%>9))5~vOXwwQi|F@rg1PM|RK!gm+LhQzsfcxpCW&SHpagT~f!( zw@sJTWyC9~^g#*cwnw4)E`KX-SK^+!wwqGPW!sembK5R!V}s^G78mVGTyC#tS38!i zl>~F!QK-mg$@Xg7l|GA0hp~asY2>zStt6P+jzZOZ_s|vBN*T)*%~pk8wpJ3%ZTl<+ z|An#bw&}B2hBB4UL0z6;ZaWHf)&PrnaedZSeJb}Ic6oxi?NKOhbvX6XEAE5(SPOY} zr__>tP?sl|+xA%qRXzu8n<2~VxXwJ?DYa~^B$(SCg_?dE{jauN8M62k)b?pyJM8iV zbK6m<&FwWcwkxrKc%R7nwy_2M)3e_nZg2K?7iZhEGRx1No?Y+m-`u{8Z|`pJez`jw z&R_51r+4T3^XtRe_Ul*YSBKrxGJksWaCP;&zy9d!{QAizzJBy|`B`;+en0+TbJ$;e zdU18RySYDndj0ldcXj!2{p|4v+5WIC^Y%&nQvAwwnU~EcMe#{qe^oTwDn@jpP+!av zs1>&>Z4>#y)WR;?2PK%>4p|7r0s+RhL)J&UGMk;TY^@}i+a866eC5}f>wKH%S=>k# zI|!Z5nq_MxvE25(P}>aC=zo=c(4$1zBr}h{%M;6OPeQR&=jm)(ajnE4Kbg-#MPj+_ zW3AL}QLcU8_eY7gjlD6a-gwbIs7NfgJqfjI-^1=vA`%h5%WWTPC4^#`^;65c;#z6DSW+XEJ}9x=_OVuCI&$7kBf1sWO5fE(p2)Ss zBC*`|u~z!7Df4NCn$^}yT%YUOIBiZX?6TvP1asS?(0uj971v5^qZF6M5~-C0bK5ct zp=P%7)rxDS?#p7B(t}0Ym6%$P)SQH|4=S?|iruD8XVZ#nrR}SJm_}~P)=Gl8ZJD(( z_E#(8S=0AzD))TE{$DA!DW3Q=v=w_+Hifg4SiawRk zK~;jeZR|A_ORUfC_+D|X3`L#Ku8b|)t|XY-#$HoJUFXw?Znd@2WJS?5v%Bh+t(63G z+oRCXn!l1aSu8D5&t~#0TPq3Xwnw41Q7cg^O)=D|%%Q9j%xyzx+~!ZMM6Gl&eWjTa z>}A`P1asR_sBCMs616gvO;IG0@mC4vwnw4Z!dkx4W^u1>H@gFK*>)wt-1aCm%yxua z?dPC2tIDA$rn6?*T1hasJqpctSXyzdG*vNFiOfl;6U=Sftf|UIzOv2RtgGsLn67p# z+OE_I=C(&6>m} zwA%4XmsNF9r!wERPB6DU3UzB=vvi!B-DR;W+0dslUP&;w9fhjc6-K_&WwEH!d}o4X z$14fuwxdwoALKf7v@1hB6m25;N}XVCdlafWW81vXV%zum9SzI2D+%VdqfqJEVT@P$ z?6@siB5U>33Ffw=Q0!qhrIoAw9Moq`6O%I%8QV4q=C-3ypI62!(XMoD+@hMuc%?}& zw;hFw!Wv*>A2hUa^>8|C79FoN3Ffv(p`o2t2Uu+%G-O5GfLW%}t|XY-jzVo&OlQ-I zYo%(tezsHfvh7NOx$Tfuu>!EQdbatHH8D4%N~K*%Fts01ux9R1! zN1-;ar(SxkW8093iB9=!HMC{hmGpAkN1>QJXuMKnMGV~XMDmq3z1+4Kh2nNQeNaeL zL!GyY%*}4o%WWTp+S!P1wS7>LHA5RKQJz}ZW&5D?a@(ktX6PDov$r7;tHt%H?77>f zm)nL=pBHf%+`63lI5uc=tesGE}Q z71v7a`d;>lv@2bLxozym6}NnM)7iAzT8W*M;s&86k$j~~Ftr_?%ka71v4~>rkdL*QrY|x2>}fs%9(dt+-a&7}}U!u?S=XsgFt-h%CfZ)@O7uZ(Q^fKj zrxteEb|t~w_9!$|(}-@x?Mei3Z7O?X_6g>;O%{{ln%UX3+FEI|yop)rQw#fl*gKou zz-na+&v^wVDC5TXr~J2h24>7!2t`defRgT3rx`Hd-S4t<&bIFp)RM}9Nk__LY3;K8 zxm-)Pt`KtDsZiT)K@58(=AO&ix#@a^klPjqh4w^9!(I_&;{=jkr$)$ai-SVxWKCV6 zxKa>IuqNlJ)|F1kZKp!Hp1m!+(n_u@IUk*n+YW`$!Lm+@X4jzVe5s|ZuSU175OUk0 zP>UyX_X^da**3Avi|d5kb|@6$nVUVlB52KK>0jxD+;%904c&Rq46l@ma2%3zP$%TJ zL!q3u7gUD#D|jZAwi|cd{R$zstquxd^woU}V%96o`PxO+)FNH45OUk8P~Rqt8}>?U zJ9{`vXS=bxTlUmyST zgx`LC{POtn`f$Df{qgzr>0R{iKK}ju{L8=JzV|QRe21TJ-^U-*%j4Jai|<~)eE8wR z^Pf*2zrOzP^3R8-=Rf~``StA=?#t_iVLad9kMJii(Z~FK2;Y18Iphlo)>EMrwyq7c zYfyK-kC@PVHP-bCA-A0hAvfn%$go%9h_P5o=z4{a+jbW*F8a)Mx&o4ve30!#sOuF% zZaWl;a(XC-S8yGaN#-OpPsnYDLM6x5IcRtd>K`Jx)hM+$1zi*c|LCYrcgWi%)={~EQn?3J`w8H6+Uh|6~Y6m z^)(q@gDL_KS@=rek6`_VlJ{ed33$P$8F&iD6~%pFzgjzCS)mb>}>-dw}n?S8d&;T zr44(f;<`gvyu!zA;gyPO<}-(K>{rkp7#az;4Sd}8O`*NZ)NEaeE+ouCX4%^ka@(m8 zDB->{6>p_(C3N?;gxof|lv?nsYs0Wta_Ws{4I<>W(Phk`+-^Y(d!-7nlH$78yyrnx$oe%$pyg>FqXPP$Zdy0#h;m_ z!z)R!$tO7nMM7>n6-tNk53gkD!g6MggxnSiW$#Z9W1=9fpBWiAi40{F8wt5!6Ldb2)oDOija>as| z-AyV>T_NPQL!pjQ5~r>dyzE9Z=^{<4Ymg9f+o4b@r+?*&6>r}K(U136qw5tyZaWmp zvZdyj-LF)c2_d%~ z3ZaQ|?dS~Gm7Wk2x~Qb?eua?RR=f`ib-OV$>y?JrFLAZc94ex_W z*d~bU))hi-I~1y6ODr&4SMWZlvCNATLT=meJ}9Jm>I&)#LPEo~bJMLWgxq#2R1V|6 z;FX@GZLf7zy^;yJ?NI2PgOIuvJKhIX3|Z&kwwaLIPK8Qb3Yp!nbeD3+gJu%15OP~6 zRD3*dK1N;11p~xM_(~?^wnHIwnXZ?ahU*I62Vo>XNnIi2w#b?)&2KmHhP~3!>9kc? z-MuX#w?)>}XkR~P=7g-N8Z*n=_sqv_r$WeBI(u6vkt*8aSk@puZaWpi3!(Ft3`%6g z2Q`v6ADNHazA2QpiF#J|D^Q}=mLo}TcIM-@Zwl3Z>I#(T4I!ZjUQ_{@V z6=Y4dC|jzz>N%+JaoaQ%YTHCT!(K_FnUrJ=Dtz1)UO{_L$mh%qC2~V=Hj7vIxb2%l z`Q)fxP@=ZJQ%T)5h>zR8DHP9Jvf-6J0%b|=g9;zFeN!l({Gcl#NvY$Z)Oy*iTUQ9V z?Nq4c^);E@+agH`H*cO`KV;5M#K9#s}s3Ayc5sGJPD;T0GK-Pt7PAVO|C6v9bp(MrQ> zP>D$0T3zb8b%l`IiYrlkJo^>Y6$DZu@`R+W5OUk85I(0{A+vQQJC7-gTQY%aU1@~e zb}Cfrxo1wl`#(SCC5(w-=bYb%l`IW+zyIWbNn-dj(0}ZR^g^ z^$H=k%??J{36x>4v=Irjz8YPx5OUk>pirvocGav`iUYphzZzYy5OUk8P&_l%uT)%= zF|Fr55$bw{klPN0N=}O^7_KXVSBIX2@i#(lTbzuku1g`qUMU$jLL`j85pvt&P*rk2 zJ(O63TFz~oAg;Rx5pvt1Q1K`C{YusOT+#T&v0v$g+;%Ed>Z-hE*P!a~-~%5HiB|}@ z?NA5_&FgD2>=nVzmSqlQC*-!(K_Of;-(QnquOL0BY#oBC`;|_}ZL2EoeE*_$XSD$i>2ZE@K!>%t`KtDp-?~h%y{$B z974A;%lws2$Zdy0pq1;SXm)SgT&WmCxs=eYD}>y3D1@0BXK#zT(kd$K>O9u<3L&?J zLTx?CuGfRPgbl;0#yL{a>h>zR8Db&w7=n^C;;o0Gq5~}Kz zz{hRh6vE5HvtL1yQiz?T-?j%nZVRsg{y6slT>^TTYN}<;+p-tB-gxnSi zMen!HLBn22F^0G%a_V}8klP|_Dq?H9sDfdy;KfHyENc)Uw?)=eOs%XPonf!kD1A#( z(yc3m+%`IliVj=axnZyLSTTz7-nr>|g^=4u2Zdzo+A!;tgq>T%Kr{}oL_%&m6ax5J z3K{kaA}j())>My#+%`EVl=6A=A<1DB8XgFd)D=Q*I~2m0gyR)>rKXb7IuWYwS0W*| z9SYUhj#uE7o^WNil+g7GA-9D>n1y`$Z7&fQBvg`laR?QE_wd*2r;lGge|WeaqVo^$ z9$ucl{_*KI{PXjt&p$oAzCQlv3BUdP_~r5C_2GK|`{VQL(>rX6KmPsv{L8=JzV|QR ze21TJ-^U-*%j4Jai|<~)eE8wR^Pf*2zrOzP^3R8-=Rf~``StA=?#t^Hefb7|gg<$S zSZ%%!;d?JXhm01}H-(Zv{VPKWyk|&T*OzWxA>_7GAv`9#cXVdYLE^F$Jo~tn(De!- zw;c-MCVuVy4SS_ZuOzdOdnDwx;%fHgygM9gP)8)pri5-?A>_70p%P^6{>|2v>;mT7 zmQ`U@y^;vI?Nq3ro`g%XOBj>DvR_Gr+;%7wQdk7aa9u&l2Zmg6>}?Yvx6Lk>RPveC zgSvuzHf&i)yh6xrhe9Qt{mNK_uoS0_H0kbF2)Qj3svh9>{+i6LLB%2U-P6<+LT)=1 z>Su2DCB-G+0~W@g2)XT4sKnI`X1J~ZN#;t@o1F-`ZE=t%$a$lRx>7L%VCz!X-LDXG zTPW0!A9}n3uk?m|9G1F5$Zdy0xHDTPMYC&AbpfM(S$ZgiklPN0FnIUuSERaxX-X{b zgM^UV4uxX#hsD7wxsUXQn;xj{SA>w;4ux{rrj8h1gD{T2(bN?}Zd+aLwH|JJ36hk& z-*3ir>k1*a9SUKn#@VmHD-pquTZ)CQR|vW7P$-|bWavCbk`hL&v#>ZJKM7;XA zcXVd=D@albsj&1q2_d%~3Q0Npl~Gq37GsuK$U?|%heDX^diwYUNlJJUlU9Y*-LDXG z+o2Gq&@ZxWb`3(3Qp9kPwaZuaN+#sCLm>o0u2(UJy&_1O+P)fHuMl!uWKG4A!{N4A zgAhI3Sh#H_AE_FOi4R^aZsX2%3DI4 zu2=ZD?Nmr)y9F`41~n;ROEuT^3Lm$HSD;Woef(Dr&I{UCNVsk0ETUUaM z8H2M)yi)kMExZyji1K7jjk+QkV-nVFhw2(s__*y<2+!@-*JQY^l;V+0#&HfReB2gZ zDPyL_IR`1$70lgM3>`=++fNZaWl;X-my9TvtlXSdQ-stLqg)ZW|rSN;tE6 zF4UFQ0$Nx|yh6xrhe8pPoolH$7i>xW1`k9k(p{{gfgwlA0 zklRj$j#u#J14&B0(99OBgxq#0ROQr_;g#h3P9;^>phn1Tp-{lwk#$luyI(<)QozJG zlKn~}pbDKn?>lH$7I~2<3U^#0Ll9VD6gw|K1>lH$7 zI}~blo78D|4XQXaClbcr2)Qk?rc&y4DP-6yFiH}Ve%nUKZILyF*#LR%=*)TrNlK{! z-QKIQ?ixhMZKpzK1{fGWl9U9Oha@bn6LQ<35TY^Hj?Qph$&%XErLJ06Iw7}3)|6zQ zPyY()N|oxjDFC`&A>_7GA*4;+tF+;|(xvaITe@B$^E@ccCA-NCggxq#0RDC~QL0uVEVR_Ho3Ars4D&C*{$_1~~f<~Top8ZO9p_70p&qsgHD>Ed zcc`z}yxm`oqF1mjAmp|~p|~fZ81_o83FCT5yh6xryUUn-bn7%uM}TC?#6^Zsgd>k1pU{jWlTFz;I- zn{{O>ky;I#61rYt$9SUJXw-hp5S41#~aw(y^ zwY3A@LhkFuMk22Xs(q)*wP|I}|EqBin|(A{i4S)~h_70p%lyEw(ttx z>Y^FoCfK@OA>_70p)mvaR><%g)M~{tbSt6j6+&)X92CNHvRfguUa8I_otb4$LL%h0 zPzY1fwwIZPy%Jl*NdEh)(XA_l+_pL>gk|Vf$go!gmxqyLzaoU(wmNCWZ_|tnd!=9o z*f!xxwXO&ux2>+U-eldb8um)-p>gECy3 zC{!@e=03N^eYJ8KYEy3FC8iXXJ0L0I-1`%@Gp%9uj&feA| zNePj%Ed91Z$Ze-WrLG$@!*wNx+E{WvG9kA`)>IhNdd_|YNlKv$OTTR<KdcUPx z7_KWLx*@NxM)e$&3Art@rsDrgEU@a8fUK#Ari68is_PX#ZaWo1((Ky(8}>?yJ;>VS z>w1Nc+rld;`EX{IUQi;ZfKin9&P~@VeB5>_6p;#ZD`dE?)Rd9*aVw$g6+UhYuhcZ2 z#oP)R_DWA}PYKoa3Lm$HSD+BafE}+ONlEZlYTb6|dWDbMhM^E1@t(Q@CGbMEZZ~7P zUg6`mQy~oNIbMMh8G{ni+PSHErSNgvsSsvr9Irr$DnR^eHP-bCAGe(fb)1^dekHh` zF^7_buM|FR3$GxG3xg7lSE9o;b4ly9u5Mi+Ns zaz!W%3Ae3;+%~xkT)C~%hP_fN-b$?st6EnoA-7EqW1Y}NdDfuhdhM7lcq^gn6+&(c zg<8N>{H>7Lx*{&%0p>OZK-VjT+;%F|&U@x7h)Wopo!3{R>lH$7I~D5N^hLvU1>-n9 zOCNtF#NcA3L&>03e}hnw+%>A@*U%PZYrtk6+&(cg+j?2RWQ2-AxSBW*ew#T z5OUk05Lzf#m#JZ|Na)BJB=HI%w?)y3D1>RqYxi$<4MLJqtYJ&t()9`fVfl2RN9n`FO2$Zere@|Z1t zD`dE?2nPLbJ2&0BLdb2AHH8W5XHLSXD|nzy3DulL#TOqS+5R#M<_WA2oovv31x$RV_$vHCzWKBs(k%ZfJLT)=1Iz0*Df>&@H zl(25bbn6Nsw;c-Mb2@beUMYgS!?hagdWDeN4uwiN+;-Fz#4|S`>2>Oa+;%9`alv}_ zw%z%RD5XW3bn6Nsx19>rvS_8*b5M6NC%h)RzZzYy5OUk0kofaP^$Oi#yMh=C60Z<) z+o2Hd;#cK0TvyQZ6)T5Vf+ys*-HooeGqZHmm6rRy8f&gW!4q;@D1_$hGl%ku-k~)+ zcaC!q(tqDQ{Pp_j-HUw?S{ z=fl(UpMSsn`t}R=lb7gY{yv27z5E>VCE-n>7`GSSR@WeSB^C_iU#qch zUE$-lQ=z=SwlnM%yikoK*$u(-aa(u=3YGKreN@;|dL@~^5c_O`<-(($mHgz*PL zZaWof8?7{ZW{$2PbgPr}Bm_ckI}}22+c^iJuC$&-RyV2c8bru#heEiDUtg2ix{{pl zD6lMEA>_7Gp|ah?8}`Z=0#G>Kk|9=*kMSdG%7=Koaz!L5;a&HZRIR%P5pvt1P{O2y z!)=kIq;c#w#b^oeA_cO`-(_X@*STI ziB|}@Efm5%d|Ep?vvmbYN+BhZY|Ib|x$RI$u(`dzCc|FI0gXKCtI=J92)Qk?rtr{V z+x;8%N)2No|NYhIdWDeNB5NxAzZ)~dUg=22WVsKDgxnTcQxUVT){f4sSCFKH7at_^ z_^~VCJ2Ov(aynj#*(KziY@Iy1YY-u~9SR8^+}*3R;kuGzE{UWkArf-i><~)k^SNh6 zUBTGA>enq>P=`aUs2*DHkF77C5H!?U-I)nOQa-EPKoy+X)sheD|zuUzm-&3T^~q3RVO{l@=FOFzc1(LP5LjT8(w<3L&?h3bnFc+Zpx>P#h8u zInF^s$ZeZTrR8?K5}V7VHyW=Ha$6`=L)f}D4A+%fF{)>gCfzlNklQv_YpP+b(uTd# zaS&pe7bk?=wmD>5^z%OGirs~ZvcghV2)XT4sBbBMX6s6KsbQoai&qG_?Nq32uk8$b zCAZW`vb=*3a@+2Z+a_Cwk72J=90)hkq`J4wgxt2f+7N}Zy4MYR1#QQT<$X{l) zyouQqvg(!OUFe8zSSLc=y28h8-xTWGNzt%Z5~eI}UFy1C;p4XO3KZ&neNBeFl6!_0 z9E?Bnaa(u=QxYVsNfL&=QhVDwd35UvAGd{9YR5rw-I$s63X+t(m&#IC__%Ev3gIsP z^dvwD42lHq3I~79r`l`HU>k5*T zLTO>$cIbMAklPN0YCJ6N!dD}qmB3P02)XT0sACZQ*{>i;DdM|X^gy?+5OUk0PzopS zaMYC+!T8r#qw5tyZaWkzXU2NC5|WgVcF1yOE`;0`3MC&;T^U}97|FSHed*Q}LT)=1 z>L=%8ctsKhu#n7ODTLg1D3t5*%J51_Xb@yMGZS*#p-}T%_qtiWk{nvI3rjX;CFHhH zNIV8RoinpIFA)&?Rzh{ZQVF^3Pzcj{7F94?SHwlhg@y4~LT)=0Dq-s!H0%|T)>!7n zRYGnnPEb|0G%mwlLCaU$(uZ}|AVO{{4g=PkKlAvLxR!;cFRl`D+o4d|rx}^8E7|$n zFb+V3g%I7gz9z$UMT+1em87l^a@*`MEc*1t z;qEZIf`{GP&6sXoA>_70A@rH9TM)x_1&1JEsVj|;+h*4)nzI+JH0zb(Jj%*OB~|N6 zBjmP2p@eD3_bP4JD;O71S@yP#klPj)YpL5y2g6>G+B(aeght41ixXTkpB&XI6<5Fx z3d#GRM#yc4LMffO*~2TXN!?y{>+V+wx$RIW`+oRJs?KAZA4z(%8zHwH3N?RbfL-tk zTC*cdPeLQ)wo{?j4_|>-1oPsy+V3h2oj10d8Ae=@Pez5xQO>k1*a zoeFh-_O_@in1$9idZ6nSLT)=0O2GX0*JQY^;Hm@o;8sG{D}>w@SyLX6|J*a9uHeY* zS$ZftA-A0h$?2iI5|Wfc#B*JexEoBrA0Dm;%u{`M_we%c^^Z@#;h&#Beg5g`_4V;TPx$TU$1jgBuMgMz-yfe}pWa3P z?&IIj&%gZp?R)?7&3E|u_I>;@y*z#$zxeL;%ZDF6JpcLh@$2gkFaLaadj9k8mtWt0 z;l8|H(U))VNBEPMar5(i2;Y18Ipj+~E0HyYCm$!D`4VJJMG=xSbM$=N_D!MvWv11- z0wuti@ZsFMe9bioA2nTFnF?VP@*>-Yy^>SF?v}(WeB2gZ$qCO6PhT9As7Wxjl*B81 z-1beOx={tgb)_dfQC$^QcMam>w(trR>SZZp)+@mU!2`^tgsxZkxUEcu>Um3sL!lc> zQ092^5j`KboeCwty`VB&SF+^LS@tV@+!kJeLTyvXuvaRc)isVcAJOx1TX+Qum6PQ? z)}W4NCz3ZGG4OHQH-+-1klDHtUC1~xlhlt;-q+Xg~zI~8i%BniV_!5A8J^50*Lu2%@TE%Jj9-FE8A zB}m7KMCTwvZaWmp7{7RbO=jx~(s3frK}!kUxcgzZIxZe1bdwo{?H zy^1khS442%LDFv<3AruugK*8f(MrQ!DOuW^vDA-5e0jSHchDwth^kd9MCwuzjoUP*-9b}H24Iw>0V ziWE#>A$jwW2)Qltg9;YuvtPj)gv_nPvIZqWZaWpKr!Ve;R~qsT8_AhD5pvt9P~Q>@ z%&tL5$Elc{N79p!2)XT4DCM)a6{O?Tf{xpJm#@3GCFHh4p)n2lR>*K&!RS_zwaeG_ z3L&>eeo)0zvbFm+>=lHX`)zWbu2%@TE%Jj}Jaq-{4v~)2B$V~~Mb|5Y+;%F2>(#Rc zAsq)Pp&P;0^$H=koeHIV_AAm{#G!dhXjAoy5OUk85Te^oU1>-)?}a2kC<-CBg+kr? zZIXo9y=_A_W(-@`mu_7lmTa8}b-hB!Z5z@<(UP#pwpp)qWMdA< zf3L>6ULoYRQz49uyA?9*6{HG|@ul{)8tZz6klPN0sz3AMu8jO3-viAW#K&#l z6hcq3`MoWa7?CjBSEE{2G9R~nQ|P==4Wq8)kSfc&!_3ERr$T~E$WvF49~5%i(uZ~H z3Lm$HS86CB9~K8CdZKZQ&ItRMI&IL5U0~S(g&Jb%l@HzA4nVE>o-A7E0je&~NlW*DHM7_D!L*O-VEC zm5y6xn*9nNw}n@*Tfvj>vtL0vPV7i;xRubYD}>y3DuiINTOqS`1?e~mplR*$RlQOO zx$RIW#xsxq%1FmaNSk8u3L&?h3f04HhgT}z>axtCEQH*4C{%*1&OyU#P){vvq)B%T zBILHn4@&LKi^JU^(s9J+?L?^S6+&)16~Zgkv$stn_r0>bB`bv7b|{p5I`=`SD`-(i zj>Y}e=++fNZaWn!>F^bJrAk3#9En#5x$RJ>#_gnNc5j>9cuE!*Y0|ALgxnSi;i<#+ zD#ol=WaPd_&$0#)a@(npY`3e1y#f-KS$dr+A-5IezQZb~hcXLN&5I#I@SuT(;AI~D3%5{lt9s3Q?(+qvm_g^=3{a^F1;i}y*{l{&ZncJ`gzg$d$Zdy0Eo|NEX6s79-WEYhEM6hxwo{>lH$7I}}R3oL(n*rPhpaOp>}n$Ze-W zdlHJ_HK-#UCz0$|8X>nW4hp67p83kvh1xJ+gru$za@(m8>~bq)wyso%Hh#}C3%L<; z+o{k#Ny4yKazpPi%Nj(;ZL7oFtDM)4&ahVy&_=`f8zHx?4$mCKpEU^kmEHruf} zo|y@`?NBJn>Epk0b9nilx0^9tuMl$Ep-{%K&iiXJy9PCf(0AEh)v0==6LQ*9p1pRH)QN6%5yvhGfjGlSj9%5OP~&P5Icj&Ox(YL6VY}ogV0Vg^=4$ zh5DIqd*$vTQY={JuXI9gI~6MR>}}x{@!f9|#C7WmA-A0h;ce#G+jdv*R<|$Gr0W$z zZaWo{Z9O^7+HV^$?wZc=zz~^!1NV zzu}*sKYjk`>Gk#TKTr7W=f^LPFRu^R``;g*U!UGZ|L)`8&(FX7`|W%G^38Yn`SyMM zF}*x~9l!YQ^~;AJK0N>V^zrNK4=?|GczXWx@0VZSe&N2nUYIHJ4gLs!@)CW_--qzM zm!Ctv3W5Y+fJ`Qp|T|`8TLv`xi*&l3LCebUTFy@p+zgr zdIbz4H9S%!S%V0 zIw+LPzxkMTrARKFWDN?0+%`HWbn43VN|TBxC64_{Amp~uHE9U*z7;aN1|^52skYsA z=&nJ8+;%7w{JA^4d~z`-mN%*?5OUk05Q0$FG$X@x1>2Rhb$#j96+&*C92ClJtX1$UfGPk^66;`*d5OUk0Q1<5E zGvhueJDh^h?sTulx?UmVwnL%jw}d6bbw!#FeZ6SV^$H=k%?=9Hbk-o$mC|D0(s6XX zLdb20LaA>A%5Yt2EhD0hWDO$Zw%N5-!r8A}zBu1n+@`nc))hi-I~CfyOwHDn;$p`j z%5~eJ>lH$7I~2k=qeUwXdqsKz=I2<05+S!OP5>*n!~(-!L9;DpN|1PkklPkldX461 zmV&Po*E;aZnp&i~1|>pnI~3}2ymEOYDfs}lPEuD0x$RIWqK)!a$m|+~BqfjQpfv?R zx2_O!+o4d-TPm?(uVi15=XZZKx?UmVw#b?SR@lh4VXsu4`L>uxz}LTmtSOMVuuh7G zz0w2504ybR>k1*aMb;FuEw;(xX1#(WrBFQ$Um@hSQ=!@pi}OfQ3atf}a}Xi79SU`1 z&E7jY!*wMiJ}8mwZH18AHizH_j0ZSgX>Ksd?X|Azenkkm?NBK9jVc(fD;;fLm82&@ z2)S)@9oMVp%zXLoLJE6|g>GFTTaxb2%lcp`LvO;))rl)x!SSTbQUAGdu|sBJGZ&3Yv`MDA9Wtf|b$ zZNpHg<1YTxmEbV2w1-t;Rrj`;kK4j4sf4`U#2cgz

lH$7I}`%tKl>GUC8H%_>-y653L&>03JEUb&l;3m1!~%E+;zP|$Zdy0 zEo=$aX7{$qA$quNQ;T%HLdb2AHRUlJ;Otidl9YV(vZ$o4R|vW7P$-4-M)iVM0OC?x zJ2zdg5OUk05XP@8h0Lx&NK(QKuuTb7uT(;AI}~cEo}L8MmF7Dx-S1t#u2%@TEfm5E zbi8r}Bq@c6p%ElrA>_70p;WdPRA$#8Bq@!C+jWboTUQ9V?NA5}EbD7B>=g;kv%F`n zgxnTcQ<(o-*X^oduap=OyhXAG5pr8(O+`#YUOPI&UTK&g&T`LO3Art@rV!?Rdb6*9 zB&CQU0INGgcfUf&ZJ|&?H0Gj}X6p))l+g3FrJCz{g^=40g)rCktU;(NW2DA5=~ve) zgxq#0H1>4&j?QphDR4?%Cqh-PG(v8RtSR)aZ?w{|SDFOR(ihhVxh=A$B*bk;XVxp# zc|n>V$(gwka@(m;Ja6BxP+i1aCzcGmM#ycaLgmbL8eS3M$!=(b+;%90+?-W;4X;53 zZ*?2X-jW9ED}>y3C{+A5 zb;Rr%)LhKC?_gPj2)XT4sGKwN6`GUc3rj9pBjmP2p|Dd0!*!(;gu;;YI(0&B+Z+@+ zvwGsFE3IH?Dajht3Ayc5sP?6h*}Br5FBsNCat`W*+;%F|x5{hSD-n^q+skg%b5JMb zw%x@M=DkjehP@&cK}t&rU9S*w+wP!HIrl+V=nhK|&0Dfg$Ze-WeXG2N>qJ;>lD57wPR!)2e<8f+;%9`{QfG&YF&X65yM5ct}osF3Lm$9Q>dQ%pbJU} z+P-M`3Lm$9Q%JU?S;KV&Bi0Ma-Jy6sZVRtKp?=;okGj(Ent8h!(_DkZ^Ksj$5C+_y zd2ul~-+kMr&FgxFkK0a#FjV98#X$)?I}FJ#}N9{Lm82z6vkNSdo|Ye3L&>03gLq{Zeua?RPKC;u z$3MK%BO+neiBNY9BILG1AvD&U`=BT;fbf&dp_D+#ZKpzQn-*<$zalQhF*%!L4I<>W zQ=uGA{|f2~BDWA@LE;rcZaWp~Tgso|x`JnijpgnTn1qh6h(qdo-d1VDUg-&)$E(7s z?rkF>w-whhH~XwXSIjQp7*t92E0K`fPK9b(3Yo1d*(C(2Zlp=Kt`KtDp-}J}RWR(8 zEHrZxBocDl?4VHICUqM2N)-sfvR@(Ow%JvT)Z3_nVXt(I7a_?Hl1RvHvx7qQyivVk zaRE;nNM?ZH)iB?g8495>uAjXvypl35QCByq?%tM=+YW_N@~1Z&UcnSf9=<}zZHGen z@D+4@6<5I|S^8}gA-5e0p?Q7n{>|=fi|Zw%PSU@U2)XT02v#}!l~^5Kk_ij9O@!Qb zDpcd@UN>7;s!Iin(CXw--P+V3g>pDEz=l_9t7y38I0p$Kx19>r zZBnP ze29G!Y+bMLaoabA%IS+6UWpzz%`AIcK5jb|5?@aL3Y5T8vd+Tdgpb=!g-Xe5@|D$d z5R@ps)j)F3EPUK{D%262bMO8Qd!>aCDhapEeB2gZfkJhA6=T*b$eId>up`;8WIk@2 zhC(&uRe242C5E0W$vG(Vaa(vLVp8XM&wN1%iLoS>y28h8r$Q-glR6F8l@fDgnVX&Y zxGlT_h4#r;hP~1vV$IiWhboK9eB2gZfkGv%-M?9{VCFsE>TWk<8Bx$RU4EiA_?$wd(<>#NcA z3L&?h3e|G03KgkqM`w5qD$)u||4Jd`w#h-EzEK6kUTGO!lxsEC zU4sa@ZE{cuqqEO`MV!x(Cc~}}a@(m;*~qrpx*~4GlGXL9PPeWQa@(O$PGu=%*ejB2 zjwJmng^=5d6AVc^Gc~Rxu9W|mD63mn2)XT4D4#hA!z-lH$7I~A&NofOUPSF(#GSC;uJm5|#Gg^EAf4Ohxe3SKmm>}@L{w;c+# z#jkB+%`Kzapi5Akzuc31Xy9oQLTjBHoJzt!82R%O2zq#pH*RX z>k1*a9SXIyO_DHMSBi_Z=SI?#Pzkv$6ly-4-1kveq{XzI2zBcUA-A0hVfNMGE5((T z<2Gec*DHkFb}Cf2G%mwyP{Yk3OaDqE!)=AOqex*9ZRCktMr$)$aheA2lQ&&(| z5K2aqVb=(`?NkVd#dBtE*xRRsnPkk?NlhF?PaFnHK?Z;>$*kNJO^PK*}I3oUO#>O^7+HV^?*tE z5APmcp1%I^={NlI^QX^0J-xm@{^tq5{rvdl@#Xd5djI?5^Xt>Q=-++(`}z5of4_b2 zU%vScKi|HOKc<(*uj3cry?*)d!-wZTpFVzl{o&=G4^Pj3{{8an+b`Ug*DLz+4gLs! z@)CW_--qzMm!CtvWPVLh2!Q3Tyk@-;T)?#X?W@uC3Lm$XsZig(Cc|Dyso*4Ze>J*Z z;p4XO3KYuc9CSg6oNCw|!G6pSSPW=sR4YqC1;pze31uheCp(rME(6*P!TiK*()}LV^cEr>-QIGT;Hp8Wae*?NA6~=#N(< zxtv>WO9|b&Ldb20LKqIPz9z$KP(@C4X7LIkw@nTTmF*V9uvhwccF6JOBL_lmn;aA> z+td-WUJ-}3dH{4$9nD#;S~hR!Y=o1hwd6g$Ze-W z<pv<0wvg-}KJS=sEklRj$5O;o8Ub9{)E+E8iTa9(s zAVO|C6*_(Vc!615Y8|n=_gACq6+&)170PXOnHsJuxd)`~l6ZxX+ZKlhA7Q(RH|&+# z1yLU)ULoYR#UT(f%DRa+?3LaNx)M0Nk_fqNalNC-banWc^-6UZoL9DPQq}!RBILHn zn({twY3GK$g6GVcWVRq~bNToRvZnATrk^!Pkfh|%7e{gqN`%~YD%8#!)eBx}zRvq+!SFjYzMh|q?AVO~292BbC zj?S!Cy7PER7FXAos#k=N+fIc_Tel#Fy%HmaYLGB~A>_8*MT|l|ef*bnhX6aIO>yj3 zgpk`#g=$$h@rLV4!90Ez#xI22w!4yoY?C?-dj-v;rI4JNg^=5J2Zhk%b5~xgUdi71 zB%Ng*zwmL}sZdVati$4RaJUw$b#;@fdL{F5 z+o@0w{@fixiI{!fDy*(o__*zxLT&3DG`n93P7tKJy_C}R3Lm$HSCI0Nw#sYRDJ*Z zA>_7GA=#!c8m=p?)SXJ|dWDeNMhAsTIxH?Hhi8X-H>s*u3L&?h3iY!FUGPe*(QlnR zx?UmVwo{>a&OyT~QgL}mvR^5L+;%F2Md;qqncc4>hsD@$DHghQg^=4$g<@NiBn*26 z2WDY;&s+$(ZE_8CWxEA2>lJan;q5!g8`VO{ZKpzgqY8$-g7TWT&STv*h>+Wgiw!v+ zXTOrgVQ99*wHoVsg^=4$g)m$E>}|!Bo+3-;ZXx8hLm{bW4&{Zq($H;7v$rMWwnL$o z&))XRNK*26&P?*=qY`r4p->Fl%S^L-TO=uA{0a-Vt%TfmDpXHz_NXf;uZg8Et`c(F zp%BIcEV6C5t{_l0gmsImdJd|D+!kqEA(ybG0~q#7M>r-6U#W!L7FkoFoeaBpWh5zK zfH=#2P$lHHPzaGQ{qPldCB@ii>IxyZ9SY&U)sbv=4MLJqtZ7?~b@wZT+;%F|^I`m` zD}XDw5xNPsu2%@TEfh)~3-zs#;kp9EpIP1qRYGoytf>@{v2?tGtf?felbo3wA-5e0 zVMyAlyk_f4bqOt$TZ)D18q^56?NBJE?Q1gZm5li-evu|!uMl$E>d@bV7M8OHRafz{ zd+Soy^$H=koeD`kj6YY`k#@LE&eQb@A-A0hwe7{X*)^y+T(^g9YLTv22)XT4Xiq{h z?3IMOj_n1eu2%@TZF8xJ&u30TZY~$h>RGF?u2%@T?NF$uv$wtA6+~DhmLAGR$Zere z^=;eH8D4`BxZAfE4Z3xOklQxbtHi@?uiRaz1+U3&dZ6l+PRMPCLP&%>_ssB0syH>T zn=xIl5OUk8P(O1hM_tJc0d4EHL)R;W+;%7wQ(I))?0%)YiYTQ_a(CDXx$RV_Z)DrB zSJ1s8VRZ=V))hi-+Z_~YTPm?lucXU+7h3av?c8*|!p3d?r_i}OoJyqDJ4@znXXCbS z3U%MhTBQxwmE02s+>)G`*|_cW3KXi{`rdXbfg`iuQY>`WAU1CMKZV3RUztjDfLofq zEgQG}pF;iYZ7+|kDUU%39BWYVY}^)J84BSw*;2^teg#QNzO$T}i)Z7u(<_Kq%5{-# z!(KtmN8Bb{Y3^5wXXCchD<$+~{(aC?qD9}g7Y({zVdJ*{RS1J5)-8zHx`HGnj9>BV z1*Wc7*tjjcG8F=^ys3g=uf!-_IC>I_C*-!snuw@SyRcEjVc)S3Sz2-B+I*aLT-z!DKzqzbrWyaD@amG4WqN~ zotti5A>_7GA;dS_3K{lF1Zqm_wXUjH0wK3W))b;K%Q-W9Bq<4AlP!X+>lH$7I~D5Y zdnj=ZLXwi?%CZIpLT)=00=Zqgf5U4~L()`UO6b-VLT-z!DJ1Tmd*;g{Nh#w!GmBRU zx$RV_*R`WFTUU^zgrU$ImDH^(gxq#2Bz2K(!(NfxD$O~FklP|_D)+D@%^LPfDQKZw zUyW{EA>_8mn!<#dv$q}l70jBaxep42+;%8b#r#YSoSC!prFWWh5FxjPLe-;f<8a&T zB1Q|c+#N)P4TZL8KuS7y_n;jG?<(!$Z2I0EhZ=^}rD}>y3DAbT3 zbk?Bk&>kq;3rtAe30vAU1@@ z&OyU54GT+# zT_)tV(bbL@LWkQ1Bq{ljwy8zBb%l`IPKC-gsncv-L6VZsWxH|L^$H=k9SRj}=?>#Z zk`jU+S@yPtklRj$dO3_AYY?u*`j%?0T2~4ow;c)r@}K<*ywWgcaZ4Z8^$H=k9SU`S zX7yYFNlGIclZ3AnLT)=1!gRs2UqO;mz-wI+Zd(Ys?NmrkT^V&n0uqEs-jWqUZaWp~ z+XP^yTa=3R|vW7R0waVZiNhcrNxj~7=Iz;w#b@_q2=S1fFvbsZCU0} z7D8@26cR7TEAUE0km}aSqq_zXa@(O0o;s|PqS-YFNlLM0zdCtTy;2Fe?Nq4t!}w8G zNw;c-Qun{P;YY>u@5{5#Pu((RdZKpyA zJU?eM-1Pf6<^@R|vT+6e>Zsge9|HY0j7IS+cwvA-5e0VIKcE2ZiS1h&xyik4DICp->Axo;3(w zk%mDuB>lFXklPN05&+BDuXKkabKfTYs;)tuklPN0YLxXg8Q!n7*75rN{%Ul+Ldb2q zgF<lHq3I~Bsi!!<41uva3QGq#EoBrA0DoU=={UGhnJ_Xe|-84|NQ*v^G{E&uaEzE!f!u6etCR(eYoEL z{`ma*^e*~$AOC)S{^j3q-}{$uzQfPA@8gf@FMUdago%^YXu>Iu2+R0x5Ghp!+>DfPTnSlzlp$ZesJc)yWt z!~2zSbx1NN0h!`_XXfbegcr&0r>-Q2IW)3OZ`G|Ugxq#2RJW@ItOfKgfSoXGoklRj$PG1}dc5>iMrLWakbqxxH+;%9`{8o7luR-V~Wtr<# z10lCf4zHP|u5K{1UJ-`{Na7+*x^;z++fIcLVt39#;u7vqxAb9MuMl$EsZiTaiiYb7 z#yW+*sHCn}2)V7eT;twlYS=3koQb6;ArNv~aZpI|=}Cy@sv{Bt4X9o2Bcw z9SW6r-l$$NyV@|ThvR)vjfC8GDAX}#{nVB0ddE#ONnczf$Mb?xLv7I$2B1s8z z^Jw&2uVtK^1_sp%Bt7){f4wS0e7kHhQ32R|vT+vZeqPWbNn-dqq<2 zEbo~UA-6@=lmzr`+^e)I=&nJ8+;%8b{pq2+ zB9fE@Q^3~FP1h@g+!hMu5c1(G@Jh_FwY3`SdWDeN4u#VG;@j+g1xZRd@7)=?ULoYR zQ=zuq#2fZX$yK&pzN%M*klP|_YFw_KH3(}^D_$ZAw-rKeI~8i@?(j;;nnIKM)=jEg zSNOQ?R49crhjMrY^TP{GUE$-lQ=yW!ge9x{6(}JH$K1Xe-MYfZZKp!rZ_}a;d!-=M zoFvP;3Lm$HSD+9ErI}~^P@-W3SY1l!))hW(I~A(3B|@65E5Z5NODEyB!pChB6vB+O zZK9rGui!aDZX~mMgpb?8D-pTx=kD-=64Huz62>ol+;%90t?f4X%5YsNJ+`u@7OC!6 zG9R~vR|;P7Ze1IOz0$f=A=$5FK5h%IG=y7htF&3KAX5-Y)k4DfGa_FOg)*_cCCh}|7FknBu$FVroRFmCYhalHmI=A-PzZgd zYe#3eu3(@>->9VSIf#(kB5Mly)$y!B2}w#J24Oif6LQ-LD`?3FG*;TU6D(Z6V~gLm@OJ ztgp$iS2Ct%*R>k!dWDeNB5NuGuq=fPd!^=B3P}%TA>_8mn!+2^z6g|Iuk>6~TuSKH z6+&){tSP)Z+`7TcdId>J8CooQpz9SvZVQD9CX27iYuGEP03WPGSzWIXa$96gp~-Z6 znQ7Q7xs(#uSEK6{LT-z!snY7UN*neHMl9wnB~;Zbm5|#aYYI&pX|2+Rz0#{7`;mk3 zS3+)!tSJoY++Jpy^$L=dTE~ARULoYRBWudb+1p-eBq@csb@J%0L4@3PDpa>uF^203 zo=FwYQdbDMZE?t%^;>F=VXrjw@zd;W3Aydani|uP?^W8YS4NUjDRu4gb=M$5ZaWmJ ze%t*U_DV#TI!kYMCFHiqn)0omzPKxmBqjW;TU6b;Ldb1r)>J;T1&3Ek5KQa2S7TkT z5OUj@H5Jc(Wq1Xc3A1Q8ywV7{?NA7V64uvbcE2)`lrXnw?ebOYN+aa9Lm@n&THWi0 zy#f$N)0^E0x$VfBN_!fYVXp{MK0HaUQzPWI$eM};ZyoMc+OStJHoMSxg^=4KYYH!@ zj#sXPB&CEwza;m}jgZ?8h4A!!(Mq#*1xZRN?-L_*_qK%Gb}9s1dDb8#DJ9$pv7DI+ zx$RUar&W0k*A+o7!Pcd&TUQ9VEwZL0`YmbJuvdyCUs?DHA-6@=l%%vxp*QT6h7dcJ zd*)8aZILx48I7jq_bY;|DXC%G<*TkiosZj2h0yDC_O?(WW-P`eEUxo$+c$;E;VT!E zkR12!4BfiI$8D!V|8J_R)%^;TC?j%rP2|+|3Lm$f3ZWV7tU*wsW$7&QZ95;goeH&b z_A8elNvYt-yuKRUy28h8r$U&qzACTTH3&&c1v5*R61raD^J-bMfJ+26M|9p6Q{`2pbU*CS=zPw)1 zmv8V#_>-6DWBxvb@4fsS@+E2P=%5gyJ`T4XNlG!7rG#c(0UqV^%2cSIx^hW$v7<+j zqbH$xLT)=1%G;z)vujX9N@yvGrLGWi+o4cJL)ck^B2q$I-d^kKu0e#{b|}>SMk@{1 zmDVwx19=|Sv@!rB1s7Yu1FYv^Mu@X zDzta68?Gzam$s#v>#jkB+!k3=*sW{?%CJ`|f(f==zOGjYxh=A$f^YTo@na3bXhCfA z?-QY_R{|lo9SWtGmqKRi3X+sC3c0PXM%OEZ+;%8b!bY|YdnJXMNM;MRK*(*8H5F<* zGfOW)k`gA-WR|)@$Ze-WbtBt`>q?CQ9k(R=6+&){tSQ{X%OX&Qy@GV+zU}gL_bY_l z7FkmxWU z_&)bRmmoh2wot zi-g=3SyT9FOCiHvsrY8%dMTy5Um@hS#X+H74!6aAr6a*^n;4<%6+&)16pAgM`L}^q3Y7JG^t2$k;5OUk0Q1s{R`vtFHbgS=c=cekFM96KYLTMvVX4jzR0zR8ea%N71 z+;%DijqYwR!(K@hgA&$itXo$IxovYJ++rh8hP{$o2wOL)u2%@TZF5ivL%>d5X|6VD znPhL92)XT02qX25SEM-%jG%dUmQH1+;%D?=iT8Y-KCEC zwk&&FLT)=0LXPTT{P4=i#tAHZg^=4$h02z&WOxn2fzY$`#U(;+i>xW+L2e3J^-4z8 z6eha%^`b%b%q)D|b}E$cJ()ilHq3 z3$KXB)AvQ7411;E<}j^YzOGmJxGlT_h3d(Kxu66Pe{U@N6+Uh|6^f~xHy;^UQz4aY z5{+(M;p4VbAv7c(uRw{2C?&sMzvy~}kJ}D~a11Kv90Vm0jnf*7SNOQ?R47GR3Yp#8 zB1tJ>@5ZvX<>R*S3KU9b4Z5I2!*G%9^^5Kr#K&!?LfxNCm@6Ym3GvKz(F0YlWI}EW zg)jkZ>oPUF1|dmFVqoF6nULE~h4RTI8+ApbWSY7{$Zdy0)t@;D!z%^h4J`RVnULE; zA^dF9j0~?qt+cjv9_#K`2)S)^tzfR}nUj!{^JsP2Is|pSLdb2WLgk#9FL))^QUl95 zh>+V3g=#q5c6dc_8=q)Ry5cC10AR}76HsVjusb}Dpo$>x3qu>|PkC-Dj)w-pD4e=0eDAheCL5w{~=f>q^Hhb6fO4x2_O!TVzcIQ2w=}GwT&3 zDPe27(F0YlR6=eGg<|m=fimnBJP+zDvwA8aw?)=e>~g$vWh5yfb9bBGs#{kGx$RU4 zv&HY-zu~%4kxRhBZ7U(SMb=bmn8<&;f+QsjVCid@uUl6Lx$RI0)1uEkb4HSqL;!^Q ztI_oeA-5e0C2Z<$h0Lx&NK%rF=kK=?x?UmVwo{>&&Y2l?B}_7Gp?nzs z1+P?Tb$i*Z>lH$73xzVk?OLS`uR%Sh!t&;$5^`H)O=UrV=)Fpt^$L=d(0I%;hq4iJ z+o=%V#T>67Nhz1evbSx7+!hKUpE(?_WF#q#$M36?M|Ho_2)XT4sGdIl3tp+Er9_h5 z&ciHNY}PACQmRq5*Dtzj5Fxjn3f1i<-mq5^ zuEw@x0$r~Va$96gVd}`aJG?TIlxm4vI*zVa2)XT42(5$X%-mf?kZL69<8OrAb}EFp z^W&9{om;2LZfJzu778`QaV@G~bH5^&_b#+3Tk@mo8r0di?f(?2&3gaJR02C&Tpr#P zR@WZe3yHw$m$6sBY;NX1x+z=n>Hb_gACq6*g`QuS|t7*7a7%uvZcuO0o1% zb~bK1y#j^GmL6)@E4kyp)gh=`SJ=4i^h&|h5%Y5rrV;2usU$37&e);_2;d(&LdwBQo^7QqOPru=xpFe&6>FM?L@jp-a?dQiYk1wwe*Zbce zpI@KeMgQ*O-_Os#{QK>D|MJau`1$sI{4u>eejUH~?)A%uA3i+)`SkJY>klvge0X~P z^Y52m-+tk~yk60lZ}3O>lb49ApYKEX-pkJ+Uoz_o6hc7rIR_z03A5%&&OzN1a@(O0 zE)UO{8T*xnPl;r1HmD$DU4cUTDs6TRLXuJxzuk7|?pFx8?NBI(au~lyk`khn{Mxzc zdWDeN4uu*<+@Adkl9Vv#mn26O1HAdxASi^%SLWwtW0#L4rG#E5j{6|o(J^`j3bk`) z9$rDn2L`a*6;^i*BILGHAvBua3Yp#8B1tLLxb56@y+X)sr$QL1cf5imrG%*(YnQL; zl|aaCp^)GnUxEc+aha9az9?VP*)J6 zx=)4H^$H=koeH(QDzDkPlAX_^E8*U`>3W5b+fIe@)(vLZD-ka~NakiEa)ghsWEU}p zeoH$y>=kTRWa}o?tt*7wHajR(&l+_3>`KN9p|u+8dWDeN4ux7WKdT3fKf8u`5gV1% z^$H=k9SZfhbtIczgNpMdV9P?XwoUx|d=wm2x%!?`>3#X$%(#@%0yZe1bdwo{?D-GUgdD>wx0q)FE+gxt0` zD1;|e_t#|BE7kc5en7IfjfC8GD%1~OxqNl8mYPWze^;ZaWl;VXM4`_baWX;92SlA-Am#3hh(q&3dId55!M0 z*QrNBZVQDvp7E|1REE70@&0m4epFq95+S#34hrQh!P>A_q?g2UW=@3M7FkpN%oZFI zBao!z2Wq-cgt~QwklRj$>b9dZTvxj9c=kc!6+&){tf_#)vUdMwy@DjA5EDzUQzGQH zQz1+dy1ypFUP(bZ%RO@<ehlR6E1C5I~8L{8oP3L&>e)>Odc?6pc8_DaQY zK^m_Ra$96g#egfbvj!naDPmB<`f7CR3L&?h3iWin5|A|&b7y(`p7^-!RH*C|fUT}U zP$DHHzmwDz;p4VbpLuaod`+c$-98E<~S0wrqxf2roG`xW8iwo@Tw zLawjL@EU|kJ!N~@t?Ly&ZVRvUEPk67ZPqJDQp)4!uCTgZ;p4VpC{+A5)zz?95`y2i zn=xIl@NrvsC1H+)`P_H8paeb|JgXzAD}3DcO`%p!Z#I;uMT8`uxeFh+eN(7yT^oki zppG}HEb~`{kK4j4P^h0d30H_Nl-6myLdb20LIB%~R+_CV(V=;zu&hCuklPN0(6_NV z2Mv2ASHYDK$KEy*a@*)I0nE3<;;;rG?KCsiGa@ArEUpr zx?UmVwnL%X&N*m!rD7IZAYuHOklPN0kc4vfEAR>;Eb!{%-nr@46+&)170PE8@)g7d zZ1cAhp{`d5x$RI0IjZZVXm)RlBqdCBVqyG+klR9`5MY#@T zN?a#J!(PFFD=b3ySEITH6+&){tf?s7pZlPIB&8Jb;gEQRklPN0nrstl%+?hoDM|1w zz1fA3+fId&oV!ER6%lM#*3Fpi8bru#r$X4?-j&yIT|wMQ+`bxJuMl$Eku`;L(5Wk^ zD=kO3<^F1Py+X)sr$UIEx)m~8SCFKXMTDf+sStA8sSw&sk5`bSlrgnveKopug^=4$ zh3cs*S3r^ynkcvFt*TzBgxq#2)Y_`NhSwkr)JR*JpRQL3xh=A$az~KrS%Z+IR3et4 zTM1pS5OUk8Q0wRJFd#_@*_hjO5nZnka@(m;-72ryH3&&ch^l5eGgm@xI}|GW?W$p~ zNEt1HBx?{Mw?)=e>GAZ%U08!k4QWgB(_MoIx$RU4o4WgJGF(?0-W_gfe!5;ELVo- z==N4Zx2_O!+o4db`7r*_M@ne)>-CGSR|vW7R48v9$!5<%-Ju~NZ!a2jy+X)she8!2 zZtu!#*ej*Cx=n@F^$H=k?XGluPUjqiHK_a4Jqe3zgxq#0)S!|1x)PB!<$Gg!^U?UY z?NBIqIeq*Wlt>|US)IqaYY-o|oeBxo=~GvbH5FP9Bx_LT4-03A`i= zTj#NAUFm$>b}E$n)(vLZD*#P2z1f|Q+rleQXrGd1)+lHq33$Gw)7J28lLWaFkbMStB zHM(Bmw1Nd+YW_#-KNl+ zU4xLMRDx&8`RIh)b}A(2J@cq5xuiX*TCuL+x|@*OPKC~W&|HIR$u@yo9(`V_mNha@(np)YESpk)-5H;g}bP{R$zs9ST*S zvvmbYN(u2nYYKpFT_NPQP)K6hrlcA6ir}3T$85psBO$j%)|9|3XTO3qs7UdCktW@` zLdb2WLKty-@8}HIl_m}EUv4FIy+X)sku@ctl`9FwtXGhvl%ufpBt$}PI~2mK&a(zZ zBq<@Et+Je%3Ayc12(My}SKt-N6^Vx=YY-u~g+c}M;?5cbui%!sMUsBoM96K2LO2GU zy)C@biqyO+tm@u25pvt1P?nQ-cts>Bm72E{3tg`ea@(O$lapaLyn@Hfn8?quUrB`A zb}EFzaw}x^%#0+Z8W7QTE1_Fg2)XT4sD`yl8}>@6=+0*G3L&>e)>H-LUnfPwUcqx_ z^zx9@6+&*?9Te(k2H2In^A%$NSn3KNw|!Hn_4PGbtt(I>BBy#I*t+`_K5qM_P)>)h zKnZE+&St4AeBAa;At}czPy+CvY`3VYbw&8N?VCcquNyPNYfx(ikKZ}=w!+74;g!~E zJ!{aFg7dBWZ6c>`UE$-lZwkqozcRcMyGJ|@NnPRNwo{={!r``10-p>54@tbj$8D!V zvY!;q?pK1t*u2K__Fee6Exb~YqI%wZj5P?D34wJM}Fu!DH`?) zo^_Y4OI>vh%7ok&SyKp_-F9?_y@GdAdpeG;R|vT+vZioiKC=a{ge0YaOH>lZp9#6` zRH$t?W@hUOl9aH=XPL2{3Ayc5sBZ+yuvd_Gl4+QJ5|Wf+FMhq&)jbCha$6{b8DLxIpxL^D zB&7t(zX-OjR|vW7RA`^-YS=3|rJPCb4l^OQMb=bGJ+I1Z*ef;Vy4|>|)|EoYZILyV zikz9HW50q{r#*E`*DHkFb|{3W4r`S*TUU^zB%WplSRv%LL!sc$Te2%03T2G+z7;aNw=E7Ks+iw;E1~NZLT)=0>h-KaS1K-H$|6l&A>_7Gp|VYq zFkDx1Df??(-MT`^ZHvpLA~xr)yoSAk9HkH!X;Sq{CFHinA@zNKL1ox09a9pvuSVA^ zgxt0`JUc{7@~JD;g?Zg^E1~NZLT)=0lC-5;n5`?-B}~m`;VYGp+fIdKOKvml6+}1C z%oePK+_pL>gy{FX@*4IEHYxlBES%V0MnG=J0$6gYlPf( zC{#l`d<9-fC@kC5BHcBJklP|_%6q@<{>`45k)$-Pnb%7xU9S*w+o@1Fef$^dO7jx( zs<66VA>_7Gp`6ZsMUXY+bK7=qx?bVqwo{>!!tn}}h`uFHGKaG9aoabA%Bd?CltA=w zDlF$9K5qM_5S~z(=POX6goO9Hw-UN*5FfXFQ)s^hv3d@I5-s4V6v-OY`MB+yLZ^>k zEtq+o@2_ zdLj{!v#NW(%^+q3nFz_DvzY`MytzX3s&<`O!>D(!bIP zx$RIW#kRUO40|QwofOL()lSH5qx(Ph&SuB2+j!c0--0&AtYw;C&5x67@Xk9S2nNa| zb}%Ce8foE$?>$9Me8^lu7tr+kZZd#2^{-#E&% zB^<9@Il7WD?Zo00LT)=0inxkDbtSr%@$7IZq4^zzCj0%ve_lU-`ugSL!}Wkp;o<$m z%hR{tKK~Q{^ULQizdXIZKK}a&fBo|K_3`EP;rj5e$LH6l_tC%q^!@qy?|;7g;9q|D z5&ymW5dW559>0x0{P_CyI-%*95*L$NUP?H2A)mr$Qwzg$&n~Rs+@{-vnFr3<`wY zHak3@LU_ZikXf&Y^R-A{Q(wAXA>_7DsHHQTjoS`!5!pB!!PfN(A-5e0N%H5L8D7D* zxXkh$6bQNPP^iRwyaKOO3}w@SyN*>!0P_Z zdId>JzF}tL?(%i(3L&?h3gKbQt&m}_V2q!qw#?o!bTMgd!+`P$7@Pm*DHkF7FknpN;%v%BS~ol%98Xe7@MV=w;c*eNvr!eTUU^z z6l)Gk3Dvq13Ayc52ut-&Z;K?Qk1*aMb^|wWKGRrvb*vc_DV0Ivb<+bgxnTcQzaq_<#+{2N*Ls4>1`7sw}nDA1UX*G z$eOAkx9et1^$bdc+;%Ed`kCX0R|E~qmTIo+6+&)16e@8`J2%^}bXO~uLa$$qu2%@T zEfi{@p1s)@>I(MIbe4CAiICe4g;J{L?ohl7c>S__1c}y{qSf9ON{r+NPclQ9__*y<2n!rezaq$* z@~N|&L79)+PK7dxuX%0@C9nv%Z4-j3{YvKJwo{?HZ@w~n1|e$-^);>vtLqg$ZVRtK zAvt>}FDOw$>@45RnUC8}g}_(NeGrsr0q@{vgK(Uj)^-uy-ji>xUDR9Lql zhP~2|xw}o1>UxEc+aha9%Kp;9tXGhvgu9OI^^2-k3L&?h3SpnoeM%elO2mSzyeh1& zR|vT+vZhLI+ZKAmUda`A?u$z5dWDeNB5SI)Sl5@LVXu^i72+&)g^=5dgF?NXZ)OqK zdi2|bpl)3uWg-fYF>mgxq#yO$B73oZc2mN_e8Wb@{q=g^=40g<3du z03Spz(IfGDFV3d8!qOMm6 zx$RI0ap$MEm64?6V%(=z*?R2)Qk?rV3tt9Bzxcf+Qs@Ec$g^=5htSMi&1Z%_n3bLjujaLY{?OWDVT;0D-ugK+R))cM}IlhA$8@K&Sp}uWN zGwhWyqfS#-*tqTV3KVMF_C>>95p=d;RajNN(%87|^a=uD>bA|uuvcoY`>#gVD{S0$ zdZqTZZ=pBqm60`tr(`6v*^Q0c!YflDY}L3sI>TPUxGhcARA=M1(<{-Z6xNnB!(PcA z&zYAJs%KDV8+ZKqeDP~MVe4SS{e)-%bzxX#9Hr&k)L z;>JIeHSl(h0dOvZg|Ab#-)xy^=#kRQ3Hu zsN35Ta$96gAz$hAE2F{|yw)u&ULoYRQ=u-aqcdDrkfU0+sW08SLdb1L)|5v}cUNAs zUO|#l46?nH()9`*LGo!}Z}`kI%19@1uYJ>HG8Z-~W8~!N2_Q zBmR5$A^t7BJboL0`0@4Y$Dcnw|Nivp+w0FSe|&s;{{8#QKi>Y}zP?`3mmlzt@K0Vq zvE`=_e)9R(AXk1PsnYjLdZh7Pie#b3a-T} z3FF6gF5h<$vZiWJ=Y7!Sk)+gc(Y$^&y8Q|vx19Bq=qlEG0RE0wK4Z3bnjm z+nGIskfhWkd6M2X5OUk85OC$GD@ao6scc)JRnMS6$Zdy08FQw`DC~j3)-MT`^ZHGenWWs>)BS{JG zgGh2dVj$$ULm{jOI5U*+3MR7?3yTYc+;%Edx0FA_XHX9`nY%F%a@&zLg{h4*Z|jky zguD}3O6c}0gxq#2)J|Qw;FS~#zMAhYU)3uZo28q#9SYUBZ8I`^1|dl)bi|sIc!iML zPK9b*3K{kaelu9WLgE!dZi}obe4qJqcZf3xI{<1VnW2n?+;%9G@uKZ{Ok<4Z%LT-z! zshkn@alV6)q=eVZB>VVdBILGHp|gilu7IqmjM-z7d*;N)ZKpzr@?I0kR?i?Pflp?% zw|9lr?N|7??VCa9dR}d#FEHjjukK4j4P^iU4wheowmk!i) zS6JP;!pCjlm0o?=UOJfdN_2=1iZuNSA-A0hiC;JIhP{$1-b%656+&(s9TdWD@w@UG z_KMUjjpaLtklRKlRgk)Syb@il6^P|lLbqQbUyZI;2)XT4sE6|%gt{UCER}@Y3L&>03blRnmEpQl zdoSCBpl)3u<6D03V~Lx+f~DLrTB_hA9sb-^$H=kMb?zZC-dPka^P$yw= zg^=40g|IK~oI#;Dw6=JINm5q`x$RIWg_DhW!7DLjjAxU0g^=40g=D{pH`}ii2f&{a z$xe+z$Ze-W<@C0ru9VOb=1o#p2)Qj3iawXs(HX8QcqZjp?hXqfw=E6|$*C(>s192w zJxyI9E=D~1SYL#?e1(wPPKDZ*c5c`!cqWxucJ)+3Zd)CeB*^xP z*RWSgiZu7km5|$3S5nG{uZ(`Br2=q!pT??ZP$lHHL!t5b{Z`0qU1`qau7l<6dnM$y zPzaZY=R4>M&BYvLOEuT6D}>y3D1^7~XMP1<$r&5@Nxp+BA-5e0m2xs+MqMcxLDeKP z36+rB4uvp8dGNl!)WW$ND1F ztt))ob}EFrvJ^60SMZx@+xAvnukdkOcqNZ@MrYOuN|f>Vef?^5y~4+BheCKlwRQi7 z>q={}ZZD;Dy~4+B;gyE5jl);27@Ti{b;u;&%zWH-DpdTLbsAp563SXx&LBQ+I~D3B zoV!CPk+EBFn^IRjgE}9#oeIU!595at1*6&97oo0K__*y{#!F+!k3=K7_tHI>TN`9xoc!YhB&CLdb2AHHBN|voG$7 zNK(Rvt4{LG+zGkuPzcHIYZ}aOU8%l%7H-=Kxh=A$u=#4695n0|d@_5MeQ}+T+ahZU z$qjX#(q_GaB&8s!tZ7o+eua?R4uy(rx2uM|l0w^GH0XMTklP|_Dq=y+d7~PUq!eS= z2)3qIk|*T0L!spRnld$9S8B`{61+*1u2%@TEwZMfV7d6MkYTTMP+M7~N!Kfc+!k3= z7#-ZU1DN#+l9XZxmb`y8x?UmVwo{?h&Ua8mk`fmE#-)U=R|vW7RH$rZ+i+cxG~7Z` zR|vT+vZfODP@eZes4EphY)MMGb%l`I4uwkCwz?XwD?K6BeBHR~dWDeNW(S4x;VV}Z z7Z4ysvVSFcLT)=03P^>yPieDtMO@0MZWDsKb%l`I4u$f``H)dp1Zw~y35yGa+;%Fo zzlt$jS88r4kbE--LT)P#3iY#xa@3VBfn|Or1ww8+70TO}qS?Aq97Ymk+sLWfuLMGF zI~0Od*5sgJuOulfJHWsM-#`54_4B8%Up_uu511Q&c>nP7^zFCL|HS|N^7+dzPp_|! z|9-+>zdU|@e0hDiKK$$P`St02^zT1?e}4Y^pYJ~Smmhw_fA2oTzonPQZ{rU?zJC4q z^T+4kpFVwi{rTmOk5A9Pe}DPM+aKK5S8R(YKj0tXpS(oGp8OQTPd@(|<|f5UYJZ*}pQjHIp* za@*p1iFMn)Xx1y$VVIO9pBdwveErH$sO61p8}>>nSXsI%tnL{^$Ze~GLT!8LVAv~y zATP+wHA_HJt-1$+v=cD zkBcgp^-6Pi`VzOq6Wue2klRj$`eFQ6Y!0JN7>wiiW{!m1b}DpwTd=t1ur9)TlJB5M z$Ze-W_&MFbCc|e?Z50bfZY6ZjAVO~292CN8@mnFoUg@p1ZDWM4R|vUna~NL1aQ5*^ zcL9AH%WQTe8|#IDAijDU9S*w+o2Ffv)48w!*yk353|f9BtmZ69TdV{{QYaP>Xn47 zDIeoDouOM-__*zxLS>_shP{GkhkjE+*DHM77G8lu7`Z)l1xZSX^GmD3>UxEb+rlfw zBV*~@9YTqQCF|P;ab2(QaoeF#@G%{)BxFs6m`QR}Q{v;cZwl4Cz7);&E6AF{W3sqz z#&qinAGd{9ppa~|(y&)@sCC;!qw5tuZVRvE(EK@rE+|m~VpK`)nKK`^eNzZIf9E?0 zSyKpT+g?hk)|Jf1ZQ+#`u`YW3n#`U-cr%PK{w+~f*DHM7Hcf@ZpWYTq#8|N6>aMW5 zULoYRQ=xPi{{^q)h`FytC3U?*$Zdy04HqHzugUNkRFaQ<-JC++o@3Bwi%i2SCT`7MQ1sKgpk_~g<{xVd>i&kLt#lI-$6piZIf#` z$8A%mS+8X0u{S%A@D(BCwo{=}*RRR2R}gpDSa$UYA-Byg=I-mF3WmLsbMG6$R{ahV zLT;N~#%<8au)9)r$f-t<#r;L7>lH$7I~9_$US=AuE3M*D9SL6%LT;N~tIeM|{ws;Y zgAY6qBB?8c+;%D?+th~Hx*~2|qWaaj>7GG^+;%Dy<(xsND~J!OX%TE)uMl$EsSw)# zyYd>YE2Wjd!r}@cw-r~=u#`oh411-u9yijYT2~4ow-pD4unzgumEy3Bzp~6w7D8@2 z6pDT$+h*%ZaaeBK3Q50G2)XT0DCfKsGVGPy3!2-z!s?zugxt0`DAc!2orb+qdhMO$ zo4F8j+u{)O(c2>1hP~3g$65`NxonH&3L&>03L!vfDP;Hzs=m|g0IP)D7FkmP z7iQ}w-mq7C2vXK z-s{F)*DHkFb|_S2+fZZJD-xQp>{zda+!k3=2>OsyS8xW^7{W#+b?XWtx19=M?Z{0l z4cC=1k-)Mip%QXiWKEs@D_52)AxSAB@Q|fnA>_70A-oSdvrh0z0>Ivqs&&sGLT)=1 zDrdj#s4J4NiiYKznULE~g|JfZ^eaeG!mb{cnS@5jZHGc7^}}sZS1=Zr+d7R^&!9%g zZHGdb+c?}ddlwLo!}6ZF@p0R!(13B~&mbs)$IOAIuJCc&H-+|F5UYFzN=Pnc+ZdsH z2Jvy*H--Ayv3@~`nmhK*-xXHZD}3DcO(8jZorYJsAj^Aw5$bw{kK4W}gxY)mn#`U- z!39B-Hwj;9eB3rqh4u}=hP{%cVov@3)#%n0K5h%IK%q0oFBgn3Lm$9QwU?G z_pixtU8%(vmfp7Waa(u=3iWL}fMKuTiRylfs(J=>K5h%IKp`NgQ&*x3CDZI!?}XfT zC?v?^I$nt`m6}*`-#a0fChCAVO|C6-tM%46oE0JxyI9lgGMsg^=4$g^HZsHYbN?-F16ar|T6$ZaWmJAs@yMucX>>A#`{7x?UmV zwo@Sh%UdC{d?h()p~Uq?sOuF%ZaWp~es%wby;2(n<2devvM1!W$w8sCZ8I|LmENS* zRbe&jO7?`@Ho1;%(PxJ8%Gm`(O_5~6WKYO#r$T4e3HQv|B`jIoZpL)$3L&?JLfyx- zPHD4eP57U)L*y+;%F20HIqU!(OR9lJaKBSw{_t`KtDsgP_F$%efGsL@I84znlZw#b^oJo51hRYV%k#8b?XWtx19>%G1*O^411-7jLLE=q3abw zZi}p`fLFYS+u{tu_)4lA@0oKT(4KLe0+NT{rk&5-u~dezFyInAMlUxPhKJt{eBAJC!c=}7}>!8 zuP(=Q@|mX+B?=AW4}{#dx)KX4ba(%T>q?8YCX%~Dln27P(y))eukPQhSDM44Lt&X; ziGmP461sJTkK4j4 zP)N=j)eB1GD%jRT@*Tv-ZKpz|Z4*9*>q@D;Y_IBc>k1#Yg;$_Z_pAFi>=pcEdS8>r zs$R)_+!kKJqRv>){EFaRMa%eT<~V~gA-A0hH951{@JhrdVJ6|WnULEKg=)_0OVR8Z z6kTpzSoUUTLT)=1!j;)wc@297VTVCTcJ*XJZW|pG%Cb&r!(M3}o3qzxtlQfXa@*)2 zPw40FP?Gb#WS04rOvr7gLWmDNXHaq&%-*-n>(&)QZaWo{xGJyNGbp)?wa^=B()9`< zx19?0!&fexL6}ib+p9WVuMl$EsZiMzGF(>>&$dsKs(M8Txh=A$JZ@J{zamId!kPq@ z?;s)Mwo{>2&wUWQk}z&tN$!J$klPN05H_`@Hq4$uNKy*E$5ml<&mcl>I}{4B9&U@e zQbQ_%rLGWi+o{l*Uy%!5=^*?pcZWjAZHGc-PgpX01|dl)G!&MbO6s0Lgxq#2B<(PM z5trh4c}U_FLT)=1>RT$Y;kqIq{M!a`-MT`^ZN)*MvQ2Fm_DYRdzd|zWB!t{n92ClJ zO|KjFN{>}o@`DN?w-wi8^M~&Zd(Ys?NlglFEb6-70Eeo z8##6B3L&?xPO`+U@*4I^#ola|`ISP*ZL5Pq*gJApUc+ALxhEmHXRd_YwmK+O&zp}+ znhO&4DRtE|s1kD9p->EGE^c@wNyZ|8yTa;vg^=4$h1y28&7MKciQt9MI*oO`Ldb2W zLMbh>ZP+Vl+x9Jsx?UmVw$0Vz)0yKRXAri<6_%NVO2}=8LMexJN}H`K-Gw3|B#gfj za@(O0?t{)fvvh~~KyFwdKDZ(_pe6vJE#$I+wOWr`@g7yO|O*8dlxFc36~POUSZ?5|5K=W z^O-PH2@Fssmi(Z`#%=#nsGHwIIh8Q;CZG;hn`RY~1!Q zg>cb)cXWpPmELd&t(V=pb%l-FPOm_rWS-kXiQq!(;F9;RM%OEB-1bc&tkg4~xjU6e zJ;cuP9mK|M|58X!Z#(J=u9*@1PEuFcxb5@`6vFT6R>*9>5?sZIAWPO%W8=2dE49nX znwm;rZFbtWi>UT1osHZ6rBFHj%H^X&f?Z9k!s>d3klP|_%6p$yM`!j7LXwgXG&vug zklRj$s`+_aR9GY_`NUIK2)XT0D0}n!SEg5*7ulx1bk86{Zi}obk9+1tw#}YFNK*2Z zhQ)P4ZaWlevTb!W>=nFxuUnU|TUQ9VEwZMtBhCEVcbq{;QVN)hBblM>gxq#2l(r2u zhU-ef6U<2Rp1Bip+vK27F`v&o>q^6uhOp>??iobLZIf#OFEdYX>$CHrwX!C8G`%98 zklPN0dalPS@JdA7VdLPo;t9F!P$-A6UfY@NSF+2ouq;QxwnHI&2A%I9cqK|_ z$@xIQ`um6fyng=l^~=YH>mfS-@c!ZD>DzCg|B3(k<@1+co?c%c|NVr&etG=*`11O2 zefZbo^Xt?5=-+?({`~y+Ki_@uFF*W<|K5Fwe@icq-^L$)eEs_I=a0|7KYjZ4`t!>l zAD^Co|Nioiw?DYAuNMmI5BNv;Coj=Q`6+~-eEv1am2qP>73%)f6)2HQ$c5yaIS_K& zsnFT6K7Tc(Ud%R9#-F}6T+fIefE@ae|>U?RblguOp zLT)=1D%;CUvvsAqh%Jj-N~msKA>_70p@8Lrhw)dJ@kDjoM5F5!LT)=0%6^+jHe6Q< zRtq)~78eM)ZFNv6$(q_Q?3Gq)+qNv~))hi-TV1Oy$hkZ8&H3grBzT|3s$Kz7qhoPX zA=xI9&DNFXB4#r-g01TnLT)=1!d3JAYclMWJoZqM@Rdl&ZJW!jL8If9=1TWy3D1>LcYZ}aOU1=SIJZnNw*DHkFwmG!^VN=MgSGx0y(J1DeInHu&AwosP72)6DSM96KCHHCF?XCMFNk)-5fBH4wESw%j+G8HO^ zuMDqrpTqV7Q@5@Va@(m;+B!O`XHY=a6vj#0`XW^IO5)?TZweu^z&u}p5(y&-TS};| zSNOQ?n?fb5?%!}-k>FbYAGd{9YKYU6!r$8D!V_-bCiCbM+~SyR}CMv`GCiI3ZcsnB^#RxT)kyAA}Y-d(r2tFS9+8b zN!|w~K5h%IK%u^E9Wm<_WKE?IS@=pO}N=Po`9>RLjpj%f6x$RV_o?XZnypqtju`vEj$Zdy02@3*Fzmgml=k3Xl zx^;z++YW^gG`qTgv%PI{RT@i-hd@DbGWnh@0W3L&>G z4tWK*GCN)=u4ALd*173=g^=40gJ*i5Fxi63d#P0%Iq10 zBqd+-MzD3gLdb2WLT#HeHS85U)kRh{M_s9e+!k3=!D9{mt&m}_Yl+ahafZ0cOUCc|FI5rHR*O6s0Lgxt0}C{+CMO6aac zk?qD^*DHkF7779KZySIO*OivBiE>S;>w1Nd+ja+q>Uno~Mel$PaC=Dd&CJJbr$Q;p zQpjpuff6wb%);T7#>Z{n6q0)8;-Ey%*s{KUHL7P&`}I#pp0WS!K}!-7|=g+YW_t+-^b4_AAlFg7?fMy=^Dtwo@V5 zZb1xtC6}5T3FGgC+%`HWR5t=;*ej*TRWG0~#a@(m8wt(HgCd2(oYq)S{@d_cgO%4iS4cPHYb{>f^ z8)?$*Z3(&UP^fxYQyXUMN_MefVI0TZVey3Ab}E$XxjT&6A)Z;b*DsoN1<8wa8Fp_9 zwUhI4L5YHQQd^pzu2%@T?Nlh|a|XdHSl-&V?IOBfA>_70A<5f|Z?pZ1INz}YZ2f9< zy+X)sr$Q~C@1TezCGQbUc7GA-dWDeN4uwM6HeVU8E8^2WrLOB0LT-z!DWCK4%7wau zO~}|8K~h%;x$RJ>=51TF;kwd&k2Jk4A-6@=RPb?o6=T*bNKy)+r`5UXosOxUeLEF@ZVXyQkjbs;c3547hSyOm*Sl6$~tXGhv6uaNHi|E!BLT)=1I(dh9 zcZejVgr{WdSEK6{LT)=08vmW%wmM0ILH=6_U9S*w+o@2C=bIUI1q(I&mgcAH6+&)1 z6)I<^#yEp|4p>Ay3DwOMaqYAGiOs{M&Fjc)0 z3Ayc52yZj*%4_zUxjA&Um8G|hgxq#0)cTfSZP+X0vF?^WtXo$IxovY$sBNdTVXur( z^Nk+pdWDeNHV1{U1NfXl-32MQXug%u^$H=koeJR%)vb`(y3$?3M$T=^qOMm6x$RU4 zD}awzx*Lmrw;Oj|uMl$EsZbB+-C^vmmgu*Q5xQO>NCGSERZyN5?Sl26j-1beO6b_4n5~&~`hr}z1kK0a#uqADMDOx>)poEkb zSyg;o6yN_^b*O(85wJ7-XEK>VqY@Rh{JZQ+%1 z39@YfHhczE>@3~37U|X%K5h%IK%sti3yw3WV`ouXq)FE+eB5>_Br&WnMYDA!x`3dM zx|GoM3L&?h3Q1WC8TLwQeSguQ>Xl5$ZKF%wCpmA)Qgnh1^`&UI zuGF5}MzD433L&?R4nZhk`%*OQ6(rdCM)J*^3At@_P$`7U z`V~TMI~Bqt|M_MvE+(ADO9|aGh>+V3h02+A!cL9ia;n0zFRl=B+o2F{57#MewqGf( zq%MBlcBs~sLdb2QP{uX$VR5J{Ek`WXxKCqUuMl$Ep%5ndk5^K4SnAZmB2BtpA>_70 zA(66vO=i!a>VV?*ZS%TbA>_70q1Lxk+OStLHfpfE4=RM*wmO7c_%pw9;S4I0Vj=lv zE`;26D3s66QhYO4hgbr?ZEw{*g9y3pPzY;B&Np*v&W|UUEWIruw}nE*=eDN7%=RnI z#S-gw+o4-m2)XT02+NGlo&?ktgnZO(LQvH!m5|#Gg~sCSn?M<^D+QtE+g4~@uMl$E z=1S>uvZgN7mEn|a%c8DV2)XT0C}QOH)Rpc$NF2*-b|vJtLm}yB59O7*i03bm4#LRP(!y~ERY8g5(pxb0LZ$YJ~!l!!fLmU-LC$8D!V7~42| zD4|5|(zh;O^$co!+;%F2ZPDipf)b@;7c$8=bK~Q-Pze1T&gr|OGu*Fqj|Z6RwnMkB z@Nrvs1xAV624J&ZL6Q=N)WiDK=z4{Z+vcH=U}5yBE6AGi)o-^Qx?bVqw(v^wNaI?Q zgNEyhgn;L|_pe6RD}3A*UV%c`vVJRM*ef-lU18~0__!^+Qn4lNy!p7G1hyn3mO1{$ z$8D!V9l<%Lt{_P%2CTTfmC!wd2)XT4NVW+dvu6;Jlw#~#m#^y;LT)=0!tLs*D;Y^j zvD9sQtEyKzA-5e0{a-4v;kr^$RvHPn?S$MGSyL(OY3GK$(i2XhMVfT$3L&>e)>Oh7 zbnXr_l9aGNd`t7w^$H=k9SY%5%;{I)6+C^x!$Xempianbp^&7UmqKRGpyWi*-L4yV z-MT`^ZHGbyrT6|d8TLxW#Td(u^-jobldC0QwbSuRa=qYv5DAOxgxq#0B>i~h%Gm`Z z*yYvb>z+Y`+;%90tHX6ln>~ZFOL$7QZ4lS>3L&>03Sr6m`ZXE$iqzb;X;MwEU|5kZ zKM0jqYKbTBaGXK4HUNaXbJO(-A-5e0bxg3_3K^~|9abUP0fuE{jCG~AnDfbf&*Jbs z7`857x2_O!+o@1H_skc(fsklPN0VmLFD zqpsjNL)=nAb-hB!ZHGcwaJ#yHv%Rgj@$8U<+g4A=ZHGb?4|(rX+N@WK3y^|juM>iz z`M!gYHHDoc+th|(uVfzs$-Hg#gxnTcQ$Ds+SFVgCC69QVb=#rZuLMGFI~0IA zny)Om?==u|+o4d$BKp&>AW12BfXQ14-MT`^ZHGb;mE~5*Y`=merI7u08tZz6klPN0 zByCfshP{#j`AM?8@o<>$I|x}*c=}$~O9#VVL4-vM9CL9s5OP~&O(DX1OU*Itl@+V3g}UEkV(!UK5jb|!o2PJQZ($9C`f2#;VXRH7GA-^(*1VTuvaoJ zniET1;p4XO3KYT(_+5Dod!-bF`K?!Vs{KmhN2__(c1h3b~_XV@#Trp$78nE1FYyb|G*^UZug31Hi_Z2{2j zSNOQ?n?iV{dV1U73Ld`;$qZ%Uf0%8wqJ?P zV`tH}L0s1>gxq#0gym#s)=8p^t#y_?l!=hr4u$&3@-7#=f~yWBlijDWZe1bdwnHHV zlbwDAUMbigo|Y1-Ude>qb|@q#6K2+x)(b*UIO<9!7efDS5osCAnwLgxq#2BBDl@xMF>sO;&R|vT+vZjKBvJ^7x73jdj;t07dvZk<&e@kvN?3IdbXe^m9Ldb2A zH5IT~eBFW=_DYY@v%Dn}LT;NK6iWTfW($&(V%n1*Rr?ho_7GA*6PmZ)PMZ#a7Fzu)1}HklPN0a0;FKAk>wb0$9`itI_oeA-A0hA&=`;$ZT(m zB&C$UV|Jtt*7wb}00J z+ZPRcMREv-ZaWkz zxL>_bX|rcgb(l!ND#}|4)qbTAa@(O$4`=_%CDkDt2U|5ryh6xrhe9!IslhF+PoW;Y_4}Zy1mJ<+rb$)3(%87| zUkYKZ#_3m(q~tNavVJwXUSZ?5@XAmKqfSd9v;7K^lzd4n_sorr+fJ`UY+pQeW&CP# z@HDg8jg8w*uiyby*}fDF*Od~mRfB}_H#TlNy@D4X$^3oLR01*8k>%ZCW8=2}Q>Z5M zSyNB~NlMWNmVNwe))aPtZ7&@Rdj&D7jb*oBC*-!sno6N>8*0pY1zA%m z$FQiRYF+7s+;%904J>P$kzubyWLU89l}^ZQlZzNL4U0e-_Daqk!^d}*uUl6LxovV8 z;I^;IYuGC#hr+Tap%Zf3@h*H+%~%+MYitWuvf5KB$3QeHc!ZHvuo1#X)v>15r-&mOt9RYo8}pWG4b~g z|9SoV>Fbw|57z_cB_7^CygYsT?ejnJKfiqb^2^if>*K$l@YgSoUmssyAFdDodVGF; zdLRA!Pv4)P|NiH@5B}wcAMxM25Akp5GrmS+;%9G{bBs0u9PIxyZ9SYSN*00HMT@mjC$xe+H z2)Qk?raU$Pua3^JSE`SFn^M<3g9y1TvZj3Y@puJiQ1`;JH@gKwZaWmh8`ahQo2@HI zQu0``zFtb{))hi-I~3|6oqok5Nhx54a!r%!dWDeN4uuj1P4DjCa9xogp_1GO1ww9% ztSLO8+7gxwdj+3^`$kUPx#M@5dIh79bTgDgp%n7zZ9S5d zaNpiY`jtq?ZHGc7<-={^m4u;$NOI2{3Ayc1sE54Bw%L9KNlMt&Q%Jsw1Nc+lHZ#lr6#9uvd~`Jpl>hPkh`KUP;pT?%%Liq_70p@?-o z_bF}ID_AVJclo;CL4@2kI$RuvlS_7m=%m)#Sk53qZaWled%}|8x`JylM8Dq^R=2JY za@**zswZr;(y&*0!~6=#cTgtew$b$lu5kL5kX&dr2+0|g3Ayc12s^-zSKyV@ePWr5 z%Y@u^C=}|+^1k2|!C+h_=~pr#w;c*)Tp!*Yo!NdRx!T8Dsapxv-Zm3*+o4dCv)Abg zNK(RoGxU;`QE0%%z6b$O0Wvc zo&+J}wnHK5r?_70p@M_@KBW!U6=0@)LQvN$gxt2eh7C2_Ydf=EX>Meiv+T_-gxnSip{)4T(HZti z#MRjL`bD>{5OUk*5ZzGDZow-wml342b@{qpA>_70A!+4&2f-_))b2@GTp{GPL!s8? zoI&sko-@_70p%zXi%&055VT1VU+;qJ{$Zdy0h?+h3%he9}m4&#ScS}T#| zeNZLjwo@VCO7o0AdgmM7sICgDdj|1w+o4eRvUUGfds`@hkkD92_)6vDwr>j6Q&%o1 zk@5Cr+uo{MSNOQ?R4AuyBH3_V!2{LcS-yk#xGlT_g|OiE^ef)Aj(BF4?;t*I3$L`^ zPu5huVnFBCTU=C9^$co!+!hL9S2X(nQ&*6rnVUP|fK z6+UkJrcm8diOu%5NK!&jHOpJF#>Z{pmFin4hs8k&kT^Wpy-#D^y28h8r$WdNJ!eov zk`mr^vt-ycLT)=1O2;b~ypphEF_JL;M#ycaLVY7pX8RQ+DFv+KCt-1oklRj$Ft>4^ z(uTcKL(44lwvCY6B5P{I<}6xi*egAHJe9hCHM+emA-6@=6k^FvHs%$Pq!g2ntHP>! zr4w@7sZi|eOVMmyL6TDBdC%Mlx$RV_wc{1k6^R&AUrOlK6+&)16~emc`;<0ZS8DQJ zSiC~WZILyVaCdmPE$T{7z_u)2A>_7GAxu%8x{_T;;=`Kc(LI9*x$RUaoy^@UW|vaI z1k3%a(e(-;w;c-Am=9lpS0v%p2a8t-x$RJ>$F>NR+1@t0iiox?9Y?pW5OUk0P>5S1 zq+zf0j7^m5#$DGdgxof}J}y^JZyUu0&=tQ}jRpZ|&f`Q`JMU!GoHAOHP?zkYfA`uOttaDDjK_)`u_a<_dnl#@Gn37 zi2vSwh<{5jkKe{0etiA<@#l}vzdwEY_WJY7A0MBdfB*jSkGDU#udjIdQhvZc!asRI zs;vAJ!cRW`8sx$ziK$SH=Y7ynVr=`6ZFmOxq_Pu*TZaWmh z^2K#yX4orLV&67$>YhP_+*Vx0r{Z=>8}@2-vbpd;`W&LVYy%Gqy?NA8o z;?^yQ+3%q0QVnT4jdi_3$Ze-W<;+lyx*|30R8rR~gxq#2)V7;=!*!)rgu;-pxIoBl ztAj#49u|kX(nrh(35yGa+;%FIWDzK{b)~t0x4PSnyY3l8$Ze-W<;=xhvANV@CE2Ng z&ka7tKNafdn|XKz0d^p_H)+zXD}>y3D%4Ka)bL7eC6K&l?tzfoPKDA&whi|yy|tWJ zdRszn+Z+^X+bM0OA>_8mn(`i}qj|3+Bq{k6Nb(MQ z*DHM7b}H1;mP%~6 zu8gE9Vd+=+xGlU=uv&ckH5v9w3s|bLIyc?A!pCjl6@a+2-xg;OvZgQ}Sl5K0u2=ZD z?Nq1&SKg+5 zZFEp*Pq#4am4+7|TbHlv6+&(sUBk-KcIM(za<~oh+Y3xxuMl$Ep%5NA9IwDD*o3?* zq3V@P$Zdy0J#5opX3wDHvS7g#$xe+-$Zdy0v2Cwn411+u4dwP)SGTSZa@*vvgc6V6 z&o^^&O={Vu)OEc=$Zdy0SVOrgui3hiofqs$SW4)6g^=4$g=$z+8-~3SOZ3~TI$f_2 za@*{nP}?f6VXtJMCYIfTnULFNmrKSP`qQsuSBfCU?p8v#t`KtDsStX)TOq@Br4?+r zT^p`+y+X)svx7o=x`kPOzSPSURkA-9D>Erhez=}O{o-Hyj(_pe5`t`KtD zp-{%#%v&L|XHapzVNQL~16{8Wa@(m8?pKdjio+aF+0y)Uy+X)sr$TM({tefa-2QJu zP}eJj+_pF<)DDZgQgOI$4?;3;D}>y3D3nqyj&rR|vW7RH&Yv8ds_g!?tkC z-MQ(WL4@3PD1=Cu)7!!;$@|JuR|+Aw9SULGc2!=py)BZIJXUI~(^$2x6hdx06p~O* zT|r&J9vX=xJHQGdw;c-Ae6prSztVl{Tk@lBT_NPQL!mAw%lk@5QVQr-*3Fo%R|vW7 zPzbML)+ueaUqO;mz&?JGyTd}rZKpzYOKvml74&U>+i;~@R|vT+vZey2Hr9=qVXstd z&fDmLu2%@TEwZMtTyRUxG3=EdG4#dq9Yn}&ku?=_-8Sl(^$L=dVrg6AiEdpX6hP_f#PTN*! z-MT`^ZM%a)2ramOO@_UK6R2-W=z4{a+jiFzMiS09bM|h;d?c1Lh>zP&g?g>WD^Ma~ zNS&sx@NwIzkl^;v{22r#FcpWWk6Q`dGl-AdzA4n@+y_C4DjwvP#4CK<_D!L7c4}Nu zqD#a!WD>9Naoed-@@FpY%E1N6t&rR^S3Yh#6_T`VU$pwo3?-5jyi(<;D~*raPK7G2 z;%|ivdqt$RZ9-7Bw{3jf7G4qQ`DE^nGpH7!S#}8_GULe zZVRt;>=r!lnXepODAG47sasbFx$RJ>l)Acqv;9hR7)Zczd{lfX+Ldb2S zgFI-?CQC4a?+4@ zNK#iiA-A0hrR^r(a9ycQP+~dGpianbldG-OxPDEBy@Eg(Tpp5mg^=4O*L&PkbIf`r zJ2WeJ^g-ekLT)=0Dt>##YuGCZ`{MlS@^yP#LT;NK_Fm!6?EW-DL$zuz^s<66VA>_70At_tsHCtDZ zq~vkYyeh1&R|vW7PzWnaPhH7KQo`oEur@|0dZl?!$Zeqz9@}ldCc|~51mrWbc!iML zB5MlWieHu2uvf4G01<6>=cZd%2)Qk?rUEueECOZLD@anp2O-DaY@9)a+;%90SG=dL zWF#qthT&|IxbGS zWY{ZsbcmJww-UO&Eg`o>))bzSo!s{;BS|UN7AWT8(AyGn+o4cv+po!NU8ydjZ{x^r zfL92)?NBI`GwU?!N=^x@emTydK*()}LRrFkZD+Wy;Khd|ikXDw10lDquA~}d{hADW z1xqOFwn1FAw+)2cwz@VhgjV-&)+^2V98qIQ&LBc=I}}1ocUW9*E@qLf%h#^;ZaWm}Sa5q+Uc+ZlL8Rm$V&-buMl$Ep-@TN_C>R2Pv9PbYC`h<|%PKC<0S=?}4!8*>67d=p|E0K`fb_a#BtW(;sSFm7x-*Bbt6+&*? z9Tci(r^Y4T`BJgK^`-~9Ug6`mQ=xwDgX-`K-ZNB=x9{jz__*y<2;=MP7R2fq1SN7! zB-st{3Lm$f3gH#+;kHl$!?ySoA~}Qjxb0L3d0eaeH(Xa*#X`>Y`bD>2;p4XON~_4@ zI(0>Y^DXQzFm=7c$8D!V@#Hh3w+$|~+*syqBOkY&3JDe^+^4kJGblKWB;>j(tZH3J zeB2gZ$ygSBSlp;9NPWi+@%vY!>lHq3I~9s8E&^q^t{@Sna_j)Zt}Q-p3$HZnq1-l$ zoApX`cpU_UO;T3~x$RJ>m2GOnuve1zfg`&Cb%l`IB5MjuHMWUl!(I`OM;|Qx3L&>e z)|3~l>bxtjVXpvR)66<0LT-z!Dc_Jbb-aQkrQm&G=~oE3?NA63Errb16(lKzB!2yB zbibJix$RIWm$(!%>=i5lXo2MJFcETFWK9KZ7d-unAW118^JKm3R;??UklR9`h+Vtp$Tq}SF)27YFMYSu2%@T?NBK0-M`u1HoJ=mRPb`};VgxppfUXrzZ`V}cINDeG-K7^3l4u!B{eN|qwb)`7K1ClK7=7o^kPKEG5 z=y2QOM7ksrZYzY`777(F+sjPDb)_P9tE^v*Zf{G-ZHucVNm^9Fuva=ZT(Rub5JGNS zTrZ^_uUt|cMkx1bQr)^j$Zdy0UFu={@Cw3l@bd8P+;qJ{$Zdy0QOfG*%$`Bjp>1m{ zXHX&JwnL%Z()ngaU8!hpS+X$;A-5e0VQAy9ICuqwA5p3tXHX&Jwo{?F(Mq#tP;+?v z;#uA^7ea136pC@%0BqPR3DFHKdlCvEw{0#p>;OA+{L-8>M0u|XLDlb|Ldb20LOpI1 zK8EWG1`-m>9DgC?w#^~FdQUQ79$8b^oY$5Tx^;z(+y12xRwW#-AZyAupIPb(8@HWafkMT6 z=I&G?W7Y3=Gp1Wt*tqSRLc!;43%%hpsDucFeOFjruds33>6H?&D8c%7&{P71-*4Mn zb-lvIZU0gTZ@%weli9k0tf^3YUz5kWUSZ?5@XAoA)$PX2uvaj~gUG}CSEK6{Hf}q; z5-|(55h%l6$uWDD%-zbyZKqeDP%_VLrxFEoJloBfYF%k;-1aYpdOmywr*VtjZ?AQA zy~4(Ar&pj5#+~j{+UyyGB&8JmwryV5D}>y3DugHB$1Bmrl=_xpq3abwZaWmhl<6Yd zhU-eksMDr|u2%@TZFD(d6XlvRHSCpw0ha9rrmj~AxovbM16H28;-hO=)#F#^rt1|# zZaWl;zFL1vhAuxjpR?a?QFXmS$Ze-WSgUb*+vKo)g=UVw5pvt1Pz~D_db9mXayfSl z#@)Xf-MT`^ZKp!}m!e^>6fDl$He9KCr4w@7@XGAS>C92LT)=00#`V*PVh>WPLnm&3Ars4Dt`Y` zG~2IaSH{lLbsFpTwuIbvDuhAP)30RLfLGEYO}btoWa8ndfQ&V=z4{a+d?5=+j8!iQCD(BEZLgm(e(-;w;c+BKphqbuV8vb zNao^#C*-z6p%S;34rafD#I=h3E33=btSiA2a@(m8YVYY+io?@)WVGE%=z4{a+fIf0 znMt^OadB*KT~t!nD}>y3D%8(x_V7w>Qb=}yVIRT!hyT2O{`B?B$A{|y6Z8-7A6}lm z{r35v_@7@sfBEI<_4V=JPx$MX$FGksuMgLUe?30GKE03r{ipBG&wu~(-3R~j!;kpy z-G}(M^z!&^{NcyfuOEN@`273Rr*E%6zx?s>>G}8XFaLP^gZuh=;pOEI_(%9BFA;NJ zKZWp<&%Xw_GN{5(sK%}PH`}iiR~oj9EP9|@R|vW7P^j0uPHDqlY2DZDRh_O^2)S)> ztt0n+b^m6)Qk}lH z1y9Irku~LUN*})Bk)-5f3hTB*wOy3DuhM!cjYzg6~QuOVfhXsD}3B`DwINAUy6q7ilngx?Ecm0dWDbM!Yh(MZdXTV*ef+5 zeRwIM>lHq33$H+-x@`b9?3Ip47?yA5$j5Er6)2Q8h0J;-xRCL-n`GWL@^RZR6iVK& zQ`)ds5KO?5&m1Bjw}n@rP|e3HP(tvSjAf2L@^Ra#5M~F@H#3x|X!2R+;u0UXeN(7z z8-NX;L0vGNv2NT|zk?DVw}n@rQ0Yq{vtEe~8KHPr$H7+;A-5e073}J~6*BCVgw*#; z!dDU@w~a1IOW|Y7A!NAiICe)h02+syh3vLU{2eHE8V(6$Ze-W04%4sO)iz*JINe>BILGE2zii) z@sGM9HA*LW&zuOk?NBJ;oIZ6Wxe9QbNP62$$Ze-Wb=xd%_B$xKj;XlqRh??Tk_ox( zR0sp?r>*8!$u6}(vs*9|a@(O$gha3Ayc5Na{MJ4SOZ^R5p5`TUQ9Vt+>>4Jahb45C>>mHiE6|6+&)16#BokbHjB7 zN#0mmdUyG%UJ*iWE3WpQ()kVwNK*11ao!|eA>_70A%xYOStocU`jlAaZH18APKEZ= z9J6N-l9c?|$w^XI2)XT4D4%T13w5P<1gWxkg^=4$g^(Y5|C$WfmF8R9Hqq$zwuIak zSyR|7e)g|i0ZB?Yfmn8|3n90i3IRf$x`HI75YskIs#{kGx$RU)w$0*Z&!FlucC6Fz z6+&)173$lKnPIP#P*PYGR=2JYa@*>lP&wI{qhD#bJY<>8E`;26DpcgKxX>I1683~P z)w)s$x$RIWp6?*cuQZ1R;+f?wSs~=MQ=xqt%xu5X9PZoOHhHXDR|vW7P^kEA1F&JQ zl!$!hHF>P-6+&*?92Cl%LWaH4h<2edxPZaWmp zxHG#IGVGOzEeYGk2wkrba@+2pP(RXqY!f2p%7AG)-;&mx>7QZAd)%$ zLdb2qgFKQ!QUv2Gi!|wag^%09 zD+Noy&VJhqN;K5hZQH!ASNOQ?n?mW##a%HtU+~RLavxOrxb2%lZA&FKdjJK zNgmz0!pCjl6)4oo`DTU^_+*yt1*Wc7__*zxLT#HeHC$Ipsl~JOwtU7HUE4d;@mE?U;BjmQxL7}|e#2fYsf~JIJZ+0W(w$VW$?9@B`N^}h?uC`6Ts^83w zklR8bymRoUw~fhpEY;YiNp-zK$Zdy0A?B5YV)hJ5F1C~_314Z1+;%Ed&#cphx{{mZ zwth9bb%l`IPK6MUdHR*)3f4NY?6+-%+;%F|wwrjvXHdgP0?WR*PRMPOYyGge491@w zsBL7)CF_LTb}A%W%AeV~l3ncRR~Erm?N>S>x19Oq=Tm#_8mn!+{6*_(YuBq;?SSmxq7A-A0hFUjh*Wl`5Fgxq#0gh#w* zeg$4h0daoorIfB$2)Qj3iau=9U}nFAiW4k__8g2KaeD6`{`30z)7LK_AFc;X&_BF? zczOEv+vk7ce}4J=<(H?|*T;W9;jdpFzdpXaK3pIE_4xey^gjCcpT0jo|NYN*AN{)|KWE zjY-2-0wK4Z3L&!Kc%`|N8cQ}N;(z&A+*C-~*@YaNlk7`cr?G0k5(v5NRH&aFU>Cen z^SJN0E3B?p2)XT4NX`u9@JdH8L0uDqx?UmVwo{>2SLHR^+jbW+wnB5v@gx10uV0x8 zVg2G=c@29d<&KftTM6B|Ldb2qOM(FFIxyZoeE*Z=l(Srt}7_7e!K0^ ztt*7wwmT?P!s_S@d!?6{Np@;Pj4aX3I&}wy>Xry;)ho$61UL9hGD8{pxb2%l;tz|1 z61eIJB<~JmVU=phx!|G!?3H-W^_0B2}!-X6aY> zxb08~d$Z5Z(%}`X7D;_g^5~vHeB5>_lmO#SzY-j_#Ub?MRzlY+eB2gZsbeAk@d}ja zt+%|CQ1wdUw@SyR{*y>lH$7n_Y|lN1)7lMI2(u@;3FQ>lH$7I~Cefi4A)tf*oWMZkq|Y ztvD!@&)wmb#N~vSha|fNGaqSGBhlLT)=1YFomRVXwp-dn93TLdb2416@HL*IjuH zdnIQisgm@zLdb24gF@IXe!Nl~hF1d1ysZ#&+o_PqsVk|tmI0bbdRrmnwo{?n&un(8 z&P!-zeG%&RwuIbvD1-#-^=mTQuT&Q$b(R@QA>_70p`5p0lVPu9DLa+att*7wwz@3X zl6HDqoIyppXPKcCLT)=1l5Lxj;kwdFkW8{uLkPKTb*#2 zdWDeN4ut~1!tqLTSOEqpZY6ZRLdb2WLb9cun>~ZN^JBm5n)=f93L&>03L&`d+y|xZ zVl6SP3ajfCLT)=1I^4Eh@JhzZ_e#Q73L&>03Sn9Fx-m0+29@S9?L^YA5OUk@pint8 zl%uY+7IED{;uS(}I}}PM8?#;6JKuyR=cDp*+o@1#XO4e(C1NYIknCTneBAa;p%hNP z0wr?mfn^tR<>R(*3YG1~%xZ57B>-0{%WQV#(HZti>j^9QZzWXuO6B9W z@Jj3WP+X_9S+4}=J1&~nuSVA^eB3qTtkfh{mWSQe{gxq#0g#C-BUqM~LZ)Q&kRqam&|$l)#!SKklRLwt=U)^cfNz78@EB561rX?xOyM(19?RX_;hjnp2E+tgYpianbr$T+3UN>AaA>_7DNX|EN#v4^}f+%mAZ)QSnI~6*ayVEOG3dS?;&P}(j5OP~_ zP$-o%Z;QHu&%s=m61rX?MCTvg zKfFAB`|a~T@jt(O{_@My>+9pcpYYc&k6#~OULURx|9X6WeR?1L`%mAWpa1^nyAS^5 zhad6ZyASbi>E-d;_`{E{UqAl*@%i_sPv2gDe);3$)AR4&U;gp-2lw^$ioX1Se}sSX z5`C1PLiow&UxQrZlpYF&ylqJ{?3IL3C*i0oxbSB5N-7EKjP6s~uvesruN;g&c|vYm z92Dx??W$p~)KYgPH2an03At@?peu;6J9VYFUhw#RDWU5XLT(F%ur2yz!d$sJ3?3s) z>HgK|dWDeN4u#OMtnT0J8B|@u&Ea-4rt1|#ZaWmh(vdT7i@GAU2?^uJ6G*=AprKHg zGm|jRpxQ8#uoBvI>k1*a9SX%-&pk7|(pyQ1rC%ZBwnHJfWhrE~UuiCM@3${P)w&W0 zx$RIW#O<}6VXq`?>LJMwN`a8uHit}N@#~Z}>=glC*{0NW>k1*aZB9DEE!H%cVXuJN zCX)TODG+j7WKDS=j#sXXBqblDtqQAKR|vW7P$03oLboklPN0T0HYB;|v-Tlr&x;u1@EVDOrPEsNlK~in|^ic z3Lm$HS8@WkJ-scIC>gU(>onH&3Lm$9Q>dL8$_q-gj9b*zLO5P&!FUTLA$c1zI44p$Ze-WXJ=`}s$R*2+;%8b;^}QK)Rm0oB7x)#%7ol@D1_Gb^egZR5@BT9Ag)_i2)XT4sFigK zV)zU~kKeb~FS=eKf`=Z&pA`V%8dzY{46+&)1 z6smZfc^JRA+!~hk+)C(rg^=40g*w99ZiNijmC{2Fi!|wag^=5dgFe)|3aVTnZWXiiChvn42ExdWDeN zB5Nw7aL%Ahkfem2rJaQF3n90i3bnE(d<@qWtXK?{d z%-iI#?iobLZHGb#n>t<*Bq<@9U`tX`^-3Y+wnL#Hr(e0?6^Y4jH}1M#A>_70A*_o# zbp>9jv4$=AQP(Sk+;%Ed>iSYN+^=+OU)d5*biG2zZJQgpZCe_bS+8^#5+1*hF#bZw zZHGcwI&$urrMr|w+Isz>TUQ9V?NF%rv$OPqS0vTM!uSgzx19FLUOGvdz~s9xBZ_&Er)fxYLl-_B@huREN?z48@K(RLMXh} z8UIuQ&x2}NzZ%uvwz6^C|0#q4AM0<)phR#Owym;mJ9NFm#%=$n5E7QG&pJ&d0OA_U zJ#%H_wr>g*?9^M8*KEHMoD?L=lH3PXHf}q;0)@(U3u4$Sc+Pt``Wa(`Qx$RIWgl!AG*}4)Pu9^FG z+o4)l8X>nG3gx(M7B}n_!OkLc|2)XT4D9gDI^2sHvNnpu+Z-m@-D%8zq zd81!RPOxNsyBX8%R|vW7R48wi*YFvH#;veqV>Uu=n_TU9^L_di)Rm6phHdIgx2_O! z+o4e2Q;E&imFz;t>lYGk+X%VsP^hMDn~`C!BovnI7FD&bbV6>M9TdXv>3lOINy&%q zN$#2Zf7v^m-MVgN3D5lso){X-H2<1EE6w1Nd+ct%Yoi=qYTUU^zaEg`o} zCSj}VG~u(bR~lz>9A{9pgxofnf@RThvpAcL#gcWBUC7ZAa@(#DUX$%JC>wOPmL%sR zT0(By6)Mw&&$4GwHW5+YWpr+u-$7W*c7ONx_4~KC*QdMV&KrAoe|LF)|Lgnj_@A%e zUw?kSULXH_#$R6_-ySd5yW`=H$CvB#y|?$@e!RT=`tQdFd-?DQ|9yP$KZVQVd;7zu z>)X?priioh@EUp@CLeA5R2Hi7=klQwe zuqI*mE4CWEXYeHNgQ6qkwq2oY$JUW$`<05$4V!32h1IPqgxnSiC0ok&3hGM2P{MTE zq3abwZrcl90#dt7X4~yzy0vkj%w- zLT=j>%5G9F*TXHX#Iw#b^Y-tD=#!y!q@ z1}qUjJ2zdg5OUkDP|2gCTehwsNy#RBtCDzyklS{J=50m`dnJG~IT98Z2)Qk?rfflX zd;Xdh_KLLdVUqixK*(*8HRXJky?@0aNy&+=EM6hxwoRezW!DvWr8>YkmVSkh+d?5+ zu7+J#9Fmm0^V238-R~emZrc>{KJB^!uLK{2BtIwyLT=j>!Y#lkClo zk&xRqg^)G7y@I-uea2Re^NUdR42p!@wkcGK9SSX6S8A{|k$eY5LT(#P1=yYvmX`I3 z7#E_iB=YhP_+*S;@Ha-=%SCVlt;~Mo;Lf0#V z+_ouH^6qU9mkg+FoGPrYR|vUnQ^=+1c6He^C>fEE5=mVVLT=j>iU^xJEAPTy$$}MN z<1|*SD?-R^lYv5YB2Wu^rAiIc7oo0K2)S)CHDPP%m>gWzE7`b2lcO4iklS{J(v)_- zuvbC?jU!?FLdb2ifkJuO)VZ)%B<0M);)IafW+SQK4b|>#v&pFn%Wgp-5EX;D}>y( zD-<{5Z*>J1hcdl>QT0k9&A-)-MT`^ZM#Bg=aMzA zAeIb;g`}UU7)?;p4V9h4Q4(vS$#orm%&Q zWmiw;3qS37@eB2gZ!TMiU$0@zAR}wNTSl%6GK5h%IKp`v$ z*n9<9Q!ZoN=~P0uuJCbNcm)cT=>^rYbp=UEu2z;kl$np)dMM8CHhz+5ZC7aC4zO%piN*`o#gXiFDump&E0p%0gjQD~HgYDG-j#lFU5uH3Rd-`$nqUT$Zf?yp*l^kFYA?LfDY`G{HR-3 z2)S)nXr>Aadj(P6f#vOcCFHirKq1-hgASie%u-nHnJXc;Z3?9jMn|`BT}ip%=^;gL zE0&PkCIf}?)cr5)m4ZbH(`|=lzk=J``@6rd-@m=RKHVL6c$sr|e|LF)|Lgnj_@A%e zUw?kSULXH_#$R6_-ySd5yW`=H$CvB#y|?$@e!RT=`tQdFd-?DQ|9yP$KZVQVd;7zu z>)X?pr;~bt(VWveYWuzCr7NU@?!Ssc?Ds%MZRs(U5@XAqK<9PSQT>IxyZ?F#LzsqU5Rf}N5H zbk86{Zi}ob*VY;BGYCmaPK0DGP8=b(?Fu2XV0o_uWKFqT^Z3>1))hW(+Z8I_Zm&QI z?3$03<1LvuK5lzcXzz8Z2b2)+SoS1{HOdUE$-lp(#{-+4sy)A_T{h-5{Qi z+ujty8v66swCow=4A#YYAz}QUkK4j4P^j!($On|j0l8!>Ug6`mH-#|bv+Ig86??N; z-UoR;ZVRteOeDndYg+aU^2SArUBBnAMz^;mT{R+0*rpQuP2)S)j2n(n7{7Q%h zaD`@mB@lAku29Z{RxW!6MboG)%WQTaKBfxskB%rPc=8h{%ze31uyFzvE<3HdP z_8vU_p)Db8$xy;|fx@NM;fuA-C-c zVQypB6)~Z>kO!62tt*7wwkwqO{*_i&aB&#Q_#)Kx3L&@c3Z;o`FWaw(L3Bf9+0_#X zxouMjk75R`T-Yn^Hi%``DH3v9F%{tr`#b0e$pACS)Vb-NL4@44DTI03U02{0gp%3m zwXUvL2)S)n2v=tNJ17~c5-bU~jfC8`Dm1`5T!*XamIQUbPRIfI0d+jfPD?0yAa!KNNz;VVMOZM#DFY(7uv zWzQfaDOrqtkuZKCZf{G-ZJR<^S-R^=K$4QPNDw+JtgcrG zxouO(`8`8x9tic9P|7&E!(dkNy)|JSk1*aEd~ntGN!>6_6h>*u!7~Ru&Q23gxt0mD3tab{}HOO-lyrcuC7-Ixouad z?wN$<74PHx0#ny3gxt0(l>Gi?hF7AO!jg@d2)S)j2oD|h{0h91u(5PXQqrv}gxt0( zRHt9lvb}9JC0ILc`qlLcA-C-cVPEvw{jchkXpId%PG5w&Ug6`mH-&)tw^yw3Sjj2l zSEK6{K5h%IK%t$vTMsCK^|r;4%upsiZrc^gxHH>z#hQedWS)h^@o`&tB?a6wj~lav z`;`){xN$S4dIn`aZVRtKAuN;Fb;TJQJ+3=WC3L;Q$8BR%D7Zbxe?SQzV+`Y0qw5tu zZhKQG?+m-PkU^wk3H> zmif4CSICEbA9O@-tb{VXs?)72gxt0%6ulo`ip!os-grrYWri{na@(#D_C=pxiVJ%s z;$8Q&;Yzoz5OP~@pwNDI2*&SCN_hT4avzilxouO(xoPXj!gZx2#FCMCr4VvkZ=g`h zoAJkBEDFn%(589@6+&*?6~f%c?pK2Gsl;gufUZ{vxouY{Pp|EkJ%fUYE#_l%`MO>q zS1QzV~K}U=Rvl+N( zCaEig+_o!Jrli?r>q;~}*J{V>7u_?6klR8b#C+5}Ly5W)k=@`2J<#WytXITfT^#1r&kCzr zS1KX5?F!ACBo_9HuePwv+g3tuE5=tB%kEdAm{>!OBzK3EklQweu!Me8-i7N*!Z7J{ z8ta}xgxpq4s(HU9!~BYvQi~UoHy@Rd+jfOyBHPQ>6(lKPv!Em4wv~|Ec7^bIxyZ?F#ullhC{(4#T7zGnB~^a@(#@a-;Gtd(kwF zhfQsF_ji})_rJdXj{o`k{q^VP>-F)^XZ-c`@$K<)y*nQMczn4&-+O!i?Z?Z@um660 zu$K>?@ZZM=|5La;zPCSoy1qSqd3yQ!{O$ev;}Q zh&K7`+-DnqadJd-bk$%#jh&KE7WRt7fN@fee#H@T+iIXt*>B0(uO`RjNcKA6i8*6k zfkI`v1zEVR)L2RxQ|h|?3L&?x1|h1hjE-(quZT5HtebiKmIZEp(6-fw$AiGUgP z%u-kQxb00LtXV%hx`peCNJK#Msf2D_;p4XO3KYs=zdM8ySyGYltI_oeAGhraWsDA< zzov!jN)@E;j$2e!uK<&<@fCOl3gQ2@SDbN}MkC2?NS=?|N>>OGOWP~X1O&gcd^3AK zZVRvA62#X1%?u?Zi6zO#OrDS1-V};^$NB*!GVaCf_|@q4D}3CxD};&L(fu#m+d5NI z^@*jo<>R*S3KWvCzk|dZhaKxA`&W`Dig<6g zzk|Gy91F?b?Bof#ZBt0_EM|Mfo1F3gqM?LtT_NPQU7?(IT|vK6GnSSPDyiy~K*(*I zLe!f_7Ap|a1Q z+Ug484n0j>A>_7Qp*-D~En8QRq-1R^V>&~%u0%p^+Z1vLSvpVYg}vf!sMFM!u2%@T zEwZMtg?@U)yRcWHO)|ag*7XV@w?)>JMZnUyU0v8K$yTfvJS(iOR|vT+vZgSZ?Z+v- zuvdz6xv+SJklP|_3X3RZ*A+>|x|mp4TqNYSU7@mf^&IeucL|HLNzNcbZrc>fJ`GyA z>=~3ybOlSmNW4PGZJR>41{t(+VXq{Q9ckk<*6nQxxot8~2p@~*uW4bg6dz+5O6Yop zklQ8$g)o%7y^@Xf|8E>(JgxhWrLNa zESbAW2)S)nDCa?-7WPUCc&{7`WZvLB-&c8HD9jLiY?JPn25Ng#PkCWPF!D^&K~ zVLOAc=GVGGnsn<5A-9D>f^&LQ-er5+Vv2Y>z3kTY3L&>`3I(@koertS3YM%7(xmE@ zM96KsLNaY%T(+)MgLM&r*c`oWBILGRp*dk`VXs6fm1R#tBILH!M8R{r-LK#bN(t9N zEOmvD+ct$feotrRUAV54gne-&-^_`S+g4MO;Cgj!uZTUYH8$Y|CdoH*BICCIDYWPK zZ%SY|gJxGxBICBFLU|(FOP)bDC6J>OBFPM8BICCIDU_CfOLkKt+3HQwU4ardPbno{04+f2r7Plb{!KF8mb@WxheS?1z0A-C-cVG;di{NDIlXl9)1vLH?4wnOy{Dump&DTH=q*A~2uVr~1(syisStA8 zrckh}?@4HU1xZRyTxB_f2)S)nsK`)g;eMsMjF0BC!s_-bgxnTcQx0M0o3B_TDWR&c zF#bZwZJ`jBFRs4VshvScQu02r>{u^^+_o!JrpmkQ8H6MyY+0;>O6s0Lgxt0(RP+93 zMqSB1M;S`!dWDeNc7-sKe0FpT*A?u9F4Jv?u2%@TZ8TVWg)Efq6)}JZl1TVUCFHhU zq2;q1T5l^Rgy31`S1KX5?Fyl#+jT{Z1T0_~N~oSem5|#ug>v5SnOj}Sp+`+0_uqcJy!`s_#|L})@CpBYeDFVo%j0|d!>8-p z)0d~0ug~A!uU{_zJUzdB{c-v2_6PHJJ-kgH@Q?6ME*L+M&(3|e@fRmY`%>%*Ng9=R z+54bug0w}H6nq8GPZ+%dh4xO3{;LtmEVE8{h{Na=k>cwb=Z7f_@GWKSZ%sOF8gzr137$}5K#gi&5 z?3IcEmg!fc+piFE+hS^tF^n(8WxZ03!;-~mYmur~93i*u3e~vlimfK(lKoIZ*DHkF zwkd>9<}o?Aa9xpN!*m+!dWDeNRwD?_nOlH$7TMZOSdvErEGpLr7 zS?-w~A-8P`W$*TVkh8{>8X^f_aeUmiDb&Kw_jeGK2-QhuIfMAPZCA+eOc;AW38|s5 zusFxZZM#BoPApipw}lcwl6l%LqTAc@aoesCUS{rlW+;KR*`9{4@Nrv*tf|(nY_C8G zZv&dQ^R`2^u3&7IZQk~#5Y}p(3N3pEITNi|lH7NEnlgF?3Z>}<)xus$HVaF?;`z8O z>IxJpdr!gvB?@LUGRb|A=i|0bA!ozhLwPv7!EtU@LbqSx_7QA*^5AUhyWm7Abowq3abwZrc>9Vc!R}GpOJ- zuOoS*>Iu1RQ^@&gYGc`N=3p?!gMnL;x_7Aq3U;UdpI!`oT-j! zQeCeQa@(#@+Piw1SG*u>ilnYYLT=j?O4G~CWxtulAi80m5LB%zk&xRqg_5mrAT!wJ2fI9w-p10LfL%9C4=b|DJ*q`klS{JV3*C} zlJNj6b||5H1`%@Grcm@d!|p&`i3wAbqr&QXg^=5Jg=9)tTDD(F2Ahx*%{Mb4w`~el zYsV|zg}qWz#s8hBv2I-<|6+&*C4HT+&bacylr5Ib_7Ap_1ah zJA_wab#v#Y>lH$7+ZDodyR-5xdUxEc z+jfO=8XeuTb)_1M@P=s(fu!6R|K~~ zEboI7A-6@=l$9{0oiFSa1l`6&(%U9NZi}obTkNzYZDFrqC{Cs+b=7_)5pr8(P2mXI zz3t(Vq~wB&Br}wWkK5i9%CcvjphQ53#dPDYTUYqF?M)#(`dFUDK?#gz1Q}hvu2=ZD z?MiZj6%nW&_yS27>Bg;$_Zo~BF}t}7A{Og3)Zb-lvJZQ&Itl=rOD z0VQ%PEF|ASnUC9cg@T)2@h)6fkot~M{_`}}tt))o7G8luCG1QX?+sGPkkCxx6+&*? z6w0`2J{4NFu6Ppy7X6ZZ2W3KT+Z942l$VCiiMxouMj6UqCY*$3k==`?Mk(XA_l+_o!JWe})k&!AxN zK`2v_lB!n2yUAu2N(8=0837res#S<$ZdmxLLrYS(}lf~Me?*ULf0#V+%}ku zUC2}AUDzu)itRMXqw5tyZW{~~iqj^EWxW!OlUixcAVO{ng^~@^uW4bgAkrLf8cr&y zTUQ9VZ8T6QgmJsNuvY|AanqE#u2%@TZ8VZ#md*HmG#R%+6KT@*3L&@c3Z=bM z#kn{L)UsYl2G5y2%iiot$ZfkqX;NrmuV4!$GEdIVO}DNPa@%A=*|Sb!51)*bf>$3T zULoYRU7;Gs^!mbeC1YtR%iH%#$ZeC!)q1-bKk7w`~fEt((QcD@gh9)6|z{Z(A%Ox9tkytNHBcmhD%v!Kjm;Uccyig^=5Jh3fQc zTG%Vax?IOCs;*ZExh=A$(Aw^~xWgk!2~+%qgRc}z$ZeZK5er!M8H6MyoAN{@b?XWt zw`~gLJr@TSha@G7tZEJxS1cj7Z3@+p_BS)Uk}$~cM}^g`D}>y(DU@WtQEhdlI1I21 zDyi!gLT=j>LVW0E{2ob4-ijaeK-VjT+_o!(5ue@LR^z>|)3$kCuMl$ErcjW*1MEOu zi5~A?Muk=NiX-H=mrzOl6$Lx?UmV zw$)&85Tk?3_bb5~i%BPvJ(Ni4xxf4S`u*G6>(kwF=Z(F)zq>rY|MmTM{Lk0#uRlLu zuaAE|*cd^pKbib$$@FGn?iZ>m8Jw@ zK8hpZD~^xbc7^aTbI{6F&mbrf1GbBhd^0;fZrc^A&hLH&O5mB4kmNHL$H#4N3SnLJ z?pLfS*l(MM61u%DAGd{9pir2)|7Fi0XKYL{v+xx@ZX3EnW!k8>uvdI6IF8Q>t6Nw2 zxGlWmV|CMn&%$1bfupT2b8%+5qa&8GbwgkMdPkVxKq6wk+PyF$^1F=e`N zT`8E&nCO9SUE$-l@CqLB`n@ON2w1`=-T3At@o zC{L-x3wtGEA*YaVTTjSsy@5ih?s;3BK?&fN-F^;6S4TRhl3bhqA+bi%&EO=MP;uS(}+ZDo^w6ptP zwqJ=RVdjfvjz17`+oli#5BGNv>PjgE(eLN4Mz^;mBA$G}iSBA-8P`g=qH~6p*B3 zaUV3k2z9+e$ZeZKDekxL2fQK{yJ$#evm+t5Z3@*;cU^&35RDV2*SflOg^=4eg&anF zcE5roB^Sck1*a zZ3;QJSzN0tSeiZGxT|_a2)S)j2w_~K`(KvvXM?;GntgFX$ZeZK*wnf2gHTs0mi4gA zW(y&=Z3;=)SyM+S21jw4UNq>QL4@44DbyZ)oE_b=XHY@sR?*#_O6YopklS{J(xlMB zUXkGPL=SYmLdb24!9;?y`y(DHL7V+!kIzmYzy28h8;T0$p zWY-laktG$D?1se0ZM#C4xE<4A3)ht@h}R&wJ4}4s7G8luSW_LKE`RR+pq9(TX-d;81{G20VO0MK!}9fWY-wA_VTW_#peeUQM z_DaRF`RTQ;?iobLZM~_*xhd^@S+4}+u&RgU-C-u=wp}5aQvMe9N+`(kW?^xJ+%^~t zue+V2dcoex(p{+hB5SvxEEYFc^FV6&XtC zdWDeNHihu$V{_XW4Wfs$kTCv2$ZeZKc=|pn@3Lo5GyxyYEbk5rA-C-c$uwoUuvc*3 zj`uI;X{>t&5pr8(O<9kOrBk7Wy;5+A%95j62)Qk?rffnm+4c&OlpNlCu=Fd0+_o!( z^#I!|NK$gG#-2*(o__Rq3abwZkr4g3bMTtv$3JZG`HZgEZ;(D}>y(Dfc7F#Qu^K%1z!)WoR|vUnR|qefPlcB4SE|AIil5SPbk86{ zZrc??D9rXsHFz8Z%zrAO>lH$7+Y~~~$2g@It}8$XEO&?15pvsVu(H%n>7fgI1uHf1 zN|mFoI6`h)O=(X)_FFQs1{=Tv$UtSRd)%{Mb2 zw}n@r5T3=Hzovz~f^eLY#%o>Geg$K*Z1cA8O19X(xV-`;Y8xgcxexMu+_o!J{j|+! z*}8%xC5Lfal77V#a@(#@3i~@qkfa2wknBkS>ESzrxJ2UXZ-kRVA3+t5gI$*L#h zwp}4C&faGbl9YT#^82ZTZe1bdwp}5x?Ngy;&mbfzg^U@&Qwd$K5OP~66fL;IsnEh+ z!Du!X+@4CPdLK3WVIYDOB8k zOLmADEMJi+%}@6XBILGRp_=v?1g}WOqq_0>Mb|5Y+_otc-L%bU;WG$;Kh!Zzs_KgwkZ^_rFnY=NlLcF zFn%?aA0@0sD1 z))bomJQP~iD@aljL{*Q@P1h@g+_ou%aobUO7xoIm zneo+pR#;uH5OP~&P2uuze+M0cB&FnYA(@L4LT=j>3K;P@e@zS5mDJvRu$)1J+!k3= z*f~=68HBoml+Ze*538O*iICeig=(F)FRocv++mS5h1|z5NRzHt*tqTg6q2%h-eFh5 zWA3<&(^%IlY~1#L3Slg6^)sj|5s`N|y?)X43LCe*DTKke<#()iB~tN)W&cWI22A#ZTE`DYr84kVqve~Co^vl*R3mT+_rlq*5H8l6&S% z$ZcEJ6qZHrGYDQ0yd|q7_sp4)+jfO;44tR+!e>y%tGcOk(>;R-xoyjuDtW5B3ws4g zO5#}R3L&>`SyR|Tzge7ZNlGA1LkZowLdb2qLNaX~S+=eqNhzRn8>g|ZR|vUnQ^>pJ zvoS#rTGmud(@QB`uMl$ErjXb@>(soGk>t&?FD?^u+olj6@s3k^;WMa)S^^1QDTLg% zWldQhM)$w0S6Y%1g5OCPe<9?yO(E~&xQSobDxW6{7utf3wuTI zm~2Ws(e(-;w?)=eYyQVehlRa@H8eJ`oI!-#7Fko`FygZrKa!LLD2}DKCFHhEA?#S+ zy{$!(l3+G_D4}}>5pvtEP@JYrmpy}!q=a}J7QRvlxouad?D>@gbp=-)Y1$yJTUQ9V zZBqyl)}!(+Tvu|+#g8su*DHkF7FkmmO4#p%T3x9vm~2dasd}Xna@(#@$m2_K*}8%x zrCihWMX2i)LT=j?!T|gJW=4`yadrCD=z4{a+ct&plx)9IwMbGb5~qYVU9S*w+pbUz z;}&G$GbrOd^R&HH*DHkFHX%n9a~r!~L0zeMtvh`Y>UxEc+jfPpq-OUkx#g(VX?v@# zR|vT+6vBm>?3o0ckrIkA_0hTMdWDeNHibgm-$4hwBG~hrNbU|RA-8P`iQn&;n^%BW zsw3gHm5|#ug)p}_7AA&G8Kg=Omsl9U`qd4>|YULoYR zO`&2p<8O5(BFv9th7$b>A-8P`Iaxky3VRZeq~rt8Ey;HfA-C-cmA#L@c?F}Sm1D0H z>IxyZZ3?BZ>&oGfHHDau>9#|)UvYfgwkd?28WXKtwYP;5cz%fuw;X4X-+EcpReCve}2ARAOC#DUtb^J z9xvCs3SrRn{536HS5m|lut6nt z&mcZ-3$H+-R0e@s*efL>@Q~!5+3|5(c%?)PZEUYNWKFe=5iI=*AGf_Jl=jZj14?-8 z)X3vB);)vxxb01$ozINU&6y}-Idb38+wyVSn?ioi#Wk-a!Q*$9-jzj}ASQz$vV`xVrcl#1iX`G8jlxouY{?RndF24PKt<#=}p zuMl$Eu27g>P%V1~1!HrlX>|Fj-$9;`+ct%;s&jlPF6e))dCqrx#QU zdj%Px5=nMy1VV0$tSMW{es_2{Bq=$JBabga-MT`^ZM#BgB2Ww070i;-u(&|TZILzQ z@X}#?DK6_3Bq_NNSl+$|LT=j?N;0+?E$o%xvQI2$5Fxik)|AVojE-($uLx!{CW5Wo zuMl!uWKDS+_dfo^AxX(2pLv|dx?UmVwoRcZQ!4Sob)|Zlr!#cDLdb2AHPs?vcE93~ zq~xo!ByY(gA-C-c#r++0z$+m*H+62RbtMvV+pbWW5(}0+gOH>YLbjvA>UxEc+ct$F z!cg|zA(E6r!c6q3gsxWzxouZyPR&`kuHcqA(VRhq+!k3=*k-inR}P0HC9GMDB)bJ8 zA-C-cN!n)+yb@vzEO&>IklS{J(zK~_*)s@9N-_B|rb%`C6+&*?6)G|&d=~af#&C8f z;kJ>G+ahZUd!07pZ~aOYXIbu_8j2=WT{Z1&-b$(Ts6W0FU=t`KtD zrcl6hvRzk-sY!AkO6YopklQwel1<~+wCovFjl;%LJGy*buMl$ErclK$iCtH!L5M|S z;kH7^ZJR>DP1~Xut}B9uC6U}S3n90y1`1(M+O8|r(CFNB`xQQJ z+Z8Hq+EBCX8HB7Uq^(b1gt}hgvj!P+<~@3M6TNlL*x8m|y?+pdsI9o@oS@gauk z1*UGlLdb2AHHBA)(=^z^Ucr`xoW~cTu2%@TEwZLUa?=Ljg}suHxy7GbkG9K(kx05OUk5P_olB*uq{(5u;8db8&@`+eVXOK^DrcE79O3 z8NwS*C3MdqLT=j>lDe}S4ll+^p?ULB2)S)n2v3^NU(>Q@kQkqUS6I#3{|kGi+LR_LsasbFxh=A$Y^r;|?ctH6 zWGhDF&I+sR6+&*?70P=qu6ZTEEW*;;5^~$7kVA^y`Dgg}st} z#oZW1zv3(*w?)=eTkEuUYM@`K2s|PAW_Fg4+jfOY*k18SQo`GJl70Nxa(I9D_x1a? zx7Vk;;|}}D?(Xj{&+mVI{~iDH_5173&)4hYpU?Q~>*L$w<$8BK{PFm5eZKeh{@ah2 zmtX(=_+T#|KHd-r{|ZiKQ6!B{$Sp&*z%h` z;2+_iT)g%2*}2a){^H~ibpKtU;>YdkvS$#IltQ-CR%qRRg^=5Jg)nG(p3)0@MM4EW zIF-=#3L&>e)>K5X86DliUcuTtA>k`nPtAA+Wqbwg8OnAV*C@G+(^$8z5OUk5P;&c? z>JgAN6;WA6h1K;6AGf_JlF6w(v>-V3`sj7xs!^M%{7D@gsSKj>W+% zP^jA7uRsZG0L#;_M)wTjQSESTLva1JA3K+ctg)p{p z(#nOsk}H-Ljni1St`KrtZ=jI)-P@wVVg&%O`3dMQr$g*b;l9aFwEskG}u2%@TZBrcL6VY7EIFz! z5OUkDP@d8)maQvDQgYR?yblV5+_oze_pH+qkfh{lo?h$f_A7+k77BSQ)30gax)ME( zpmE!w>lH$7i>xUh%JxdDE6FEe*^>|mxouYnSIxV(MUs+7NGQqOVIbtTU7>x??2dpW zrGSoQ&;#8wh>+WMh34t?W&0ImO$Dq;VCh!~xouY{PcOa~_6puf$+QJPwXQ@$Zkr7D z>DhhH+|D3e99l3N2h$3iex(?BjQlklQ8$h4%akdfRL)O6>GSsCxzx za@(d5eonitz$-o`T%?}#K-VjT+_ou{_q)ShS7I!Vrmhfj+iajvoVx#I`<0B|w&tmG z)2%Cn+!hM8aEmd$zOYw{;6i9jsq1=$klSWcB!p>teOa#*V+AjzNao@qA-8P`VYm3M zE1?*VRWy#pD}>y(DTKEU`|Uft5(N*tNxp-GklR9`WRW0rekm?|2Bn1EfUQStfw}^t`3Sk&*oYKqIm1=Cl+jkbP5OUk55D@>UybF89XNy%d z=V`2a1`%@GYJA4n#`a36CT5A#260`l5OUkDP}%b<2fUIp)P7D8@Y4HT+V+WD$piPl&=JY>la5lH$7+Z4)ve=|3)V2(#vc4{O-Zrc^w*_f_*Mexxa zN9U$mS27{D?F!XBL)pBNUHfW2yL?@*5OUk5P>?AJW!c^qNlFg;_(@n?CgiqFq2$t- zGF{dyNK!&JP90x_x^;z++ct%8N)H0HuvajVfQ|elXAmK`Mb;E%Hl|eKg}ov^C6>(H zOvr76fkJZ{*TP=Gl7z@IZ<`6ZZ7@&>aZ_jIUDzuXpFwF%2W}?UiUS z#9yYD-MU^OYg*PTVjPzBL=tXW z2)S)jDEa9oeqpbKSiB$fK)0?Ca$7NI{;^$f*A+1$xDgtsv94DLxouY{?|kMXiphdc zLY6a#klQweA|43sx+10u-h7M-t6NtHxouM@xm{O|n2eK*tm^Yuqw5tyZrc?CVmTFB zwzo|tNG(%^)%6M?w}nD@O19q}wz|@$;sOcduY}yTDU_rRg%++WIpvy0g;lL9m5|#e zgJ4X*cWSh{QnQsxGRI#Dxouad<~>6hvvD~lmhYfS$ZeZK5@mlg!z&>dw6|xMuX_d& za@(#@-Sf5wydv1L$g*R-5^`H8gbB+19n`#nvSJ;{eNZLjwoM@flMRKI{SL~e7A%Zl zIfDqfZBr=cX(D-9uN31-MW`%Eze31uyFzh#@x8EDLdCPXL7H@XTS9JIOsHP=n~x(F zgIF>lnYZ*L$w<$8BK{PFm5eZKeh{@ah2mtX(=_+T#|KHd-r{|ZiKQ6!B{$Sp&hqvhi{t^Dk#al0*o%?L#FHR1@ z){(9dR@|Pa^s;9Vl9XI1(`|>YR|vUnQz-grOWML-@h+ulIz!hhgxnTcQ&^}sRo;cY z5*-#?am+elg&*G;gsdr7YuWFEB9fFm7X6Of4&Ay!$ZeZKSUR%r4&jyJ1Jb6>&P~@V zgxt0%6uli&8>^l{f~+Z@Fw8^Z6+Uj;6~Y-brq>ttiVwl2p@eQ-;p4XOiVrdRq0qu! zi2=jeqjS^s3Lm$HS7N~8tI^Rd?3EO-Tae^C$nkMocm)d8-P;~eqC|%{KaPII@p0Rm zLh~kxW$Ox(l&}SW3Y3Ug0XE&D zs`j>ykJ~ndS`fk4K>MAD>$u2%@TZBr=O-LD+tjTdZ%X5lM@+_ouHT-+=UUWv(KbskB-Ldb2KLJnKj zPlXmfgYZCArj4AcXAnjq*=8v5Yl1>p7`MIR4Yu1_JElo>y+X)syF#+xGanKRkYt!n zV_mNha@(%ZX8f*s#it@u@}sU-2)S)ns7w>d%l0b)of{I`#&m|RR|vUnS7@GIU)U=t zW53Ag+;qJ{$Zdm38Fyx*qg&W3B}cq|Kf8QguMl$EU`pH7vuCp<8jFQ-(-r_-uMl$E zrckzJO!zEYSE2!CLRd9PT_NPQO(Cpx8nkj@uS5|3JbpF0b%l`IMgxVgit_w5E$kIc zI;ANcN7XBVklRL+N^oxXE9h5BizOSs8eOjta@(#@P5TTIF}5I3cHE-sdWDeNc7@8G zi#y;IUp>n{emraAyE|+O1wXyETee>j6Dy_?NVshvk5*TY+%VH z^MR1tc7;UtH#6!A`nEi6o7eqjCgiqFA+giT%!TVpwiu!$>1`t+w?)>JZDSjo@gqse z7K|RBN~qSANXTuWki!!f_7DDB|jHoYD(>rA9w*7t!?!A-63C3dx>} zJER&HgPUG7=z4{a+jfPp1#GjpY7k6NS@MH~klQweu&Q&PL8vQ&T!J_Vwr*V^D{S2MrclB@{xLbYa9t6+e4n;L>(&)EZri;gDcI%T zzIP>ZiZf|a^-5ynw*M)F^^4~zy>MNrSQy8$11zy|+wK)86sK*`%X-Bbm#{Emq*&XP${d=PlHR`+r0vX>i%XvtT(PWH2UYSM%OEZ z+_ov?!}dz^3S!@dWe;T{^HMF2z`&! zbcU)|G9kC^3YECIE$T|eqdGg3(De!-x9tj*GH&9Rtt-K}>ismGq3abwZrc@-&EgIl zOu)|4DaAt9D}>y(DI_~{7rkvTQj=xLn#zRSwkw2)rQO>GlWVDEOsVVE6+&*?6sn;P z0<~=z4{a+jfQKFU5uHN^vb6^X&3fy;2CdEwZMZbGxn_ z7D-CZOBuHvx?UmVwq2opcZf3xNlGrJK+@Y5LT=j>61%^HnpdJLX{xZgb%l`IHigjI zjvKRO`xPW9d6yhXZ(9htZBxkG<@ZqbGYCUpwT#JQ-MT`^ZN*?4KQ7JA?tj_3l8p5t ziKSm5JtnI_CLBsOuF%ZktWQ zyUgV?cfoD5DS`l@@kOZX6+&*?70T1(;Ieh47%SMnGN`1kR|vUnS7=TTUDzuKe#9Cu zk~4^q+ZF?bu;BJoXko9!u2%@TZC5By-T$(61xZSn;;q>|i`<>Md|j^)a@(emlbyNSyix^#Wpw$fUh#z7 zwkuSpmzm3+K}b@` zH)FbWg^=4qA-p=A(k&LQD?kT<xO7$}4X z&HD_B#^oAW=J-7!w}nCl4;^-0anXbl(zIPfx2_O!+on*IiB>Lq21SGD;dy(ju2%@T zZC9wKJ(GaCf>mgknxC#$2)S)j zNNm`3#UV+_Wm|?4s$PkN+_ozudl&KnuXt=&XL%nK3At@osJcP6m;DYxk`fk1SdzQL zNXTuwLV(-n?drl_Nj?V}uMl!uWKCg*&_uQu_DaD57M9(Dk&xRWYYO+@d#}^skfek? z2`ujpBO$kK3S~QOpYmtot2A$Zfkq$jvzwTG%Uy@}|jdh=kl0SyK@~ zv->*;XHbeDO)TF*gxt0%l9I~b&hSbNDx@x~7 zgxnSifmKe^>&w;^Bq<5N?fBK`dWDeNc7^Kx4mwa*qC`L4qUw5uklS{JWY?AEl_XLU z$v3kQa@(d*!bQmbW=4_{hO=qv3L&?JLda*Hrc77uS3I(&phG3u0VaIh_NEZ_11w)x zpoC8uPnu69bo&)PZrc>fPWGFR14_h<2be71%zWJTrcm{RRxW%7p{#hvat85nTX+Qu zrRl}@!d}60Tbh{!;p4XOO369yJqd?*#^#!*twpN+O5)?TO`(F6zkLQl36D`8mhYg% z$8B#4VRiP|{V#h4ITMRGmYk2o$8F&iD1@!0+bhnbQY_1TP~zjZ@Cp<{Eb;b=Go@OZ zS*OIuZQ+$t9p3S7uXtlCvL8wAnG+$mZ3@X|{QmGrQnGk?NOE_W2)S)j$l1E<3cMm% z0^nHc3L&>`3SmLb_%$v29fTw$hck$T@h3uV+Z9TA_qM1j)d?cn&dyDj#SwDbrV!Tg z?{8+0Bqgk0nO-!gdL<8Bxouad?Dx#Au7IvM7H*pfxh)im z*6sO~=9L@)<4Cw|CgiqVAvAU8m*T=_5Rx$~OWt87eD`hd^Wgd#=|;} z@1RP^ZJR)Pz!q{R}nv`q^?&8xotL3sO}uq z17}c0IJwPEiTY+i|0Fv)**Zn|}aklQwe z5@rWag_iACkfdaDVtLP83At@osP4PNR#%F{0u~Y$R|&aoS13)}jFzn{NK$gx)-$#M z=$=7@+_oze_IJ?Xk)-6ZuN>dZ2%x{e`}_L++uQ5Y-EoKQTX*+&m*@AtzWI3s9xuCfy~4+BZwg@}|MF)Ll<)z)?fBK`dWDbM-W1AvZ}tHt z+7nfh`4s?Cy56=a6kXc$w#_REQn=B%>DCoKZhKQm_N-I$N{I23MAZBr;knYJ%3>=lo9hf|lYT2~w&w}n@bH0!1>#f7~RQ;E}* zx~^CFxGlT_g^C-uAPajXWsLHSDRo`1@Nrvs1qxxO-r3PD?3I!wlI(Q?6Xg45M%GkD zl=t>Zz+EohsFJ)Ti;j@nHigixj4#Dy>x%C=sw8v#m{jDeE6AGiAxsJ_>=mqpE+o5p zz(*Oqf_?lxjN8?Py@GxGc>R8MZo0iKA-6@=lt;s|`xW#nZ8l@taHZ=NLT=j>f=1(Z zb=kUtBqglsnKtL?dWDeNHiev*abvcyR}lLcrV6X-6^zZY&D#cKP2nZk?pF>dApz-_ zgG%apg^=5Jg#h`_j&9+)lB10iY0~uyA-6@=6kan=Uy2KRrEi-bq)FE+gxnTcQxV_H z`^`r{l2Vj9ZJXEi3L&>`3Z=OB#U1cU+sDuH9pnkQZBq#AjP^G(ydvT}&36zXx9tk$ zuzOp01=q|jj$e)L8AQl!yFyqyvcH3nq$IgomTzW4ZVQEyv(wbZvfn{SQbLM_C7E^d zgxt0(l%_3d3wtG`6bs4SVIbtT$eK#2$f&#vdj(Hl9Lt-JK*(*8HI)%=v1bwjl9aNm zB>UoGAmp}9A@8TkyKr5pIVP4}J%NzhB5SHdKW*w<)++ct%;A7Ia~1SBcdR5QulVIbtT30qyQP1`H*O2M)oJGy*TZW{=> zZBr=Q=@w+!ekB`#IGLutbiG2zZM#C~Sa!dXv9r{LY4TXtD}>y(Ddeq;Q+naLf`_4% zWv^2tq;?LDxO((AxA=P+Z0Mp#!dXfUcp_*tc30vM96KCHHF)togZ`rBq;?qS6E%I5OUk5 z5WW>Ry(D-`ptD*;JLNMdm$b8(T7 z+ct&V{DNxP-WEwpQDnMt*R3mr+_ou{!=80IP*-Bav=hl0B!t|yD^zzTO!G<-i!sXc zW=yrN2qCv^3b{0GbzS%jD!654*^?lI+!k3=f=T}UmMkJ`N`&Sk5?c2@T8mBGf&D__%FXNcJ05e?SRro3AXp1%;2>HifWbeY3dc6@*yC%F^5Naod|h zby(DTI8B zaTC9=R|NTN(~Y~XR|vVSH&AHLB;cDFNlH%U8+To=5OUk55Z-)@8?%M$N_814`ANQrc1uOLau+mgo%Ox?Od$ZZ4WS8|xPjx6hyi0KTOH(cp@g^=4u>`BO0 z#;<8%uS5^NGL%sDN+#sCvAwnn)Aq%My@I!7m=QcrV_mNha@%OISR8ga6_8$$B%H#JZ@K)tt)NYyx{TsSz&d(Ldb3V zK7KTHr$P&RMG&J(;}t?~+xGFh+WMh2oTivTR+!w)tEu4PPPTwk@#$>!Qak$iiL;#bJo@tgyOug^=4~A3xSF+Wkf~ zVjq8rj^&%V5OUkD5HcapU(>>MC70r+sV~*KQV6+iGPsAw)6DIaWYDdoL~;fdLT=j> z$~NtOC1TsW#g@gPgl=6SP@BcUD+yI4kTCv2 z$ZeZKSY|XT@3Oruw#_5Og5@n)A>_7AA;Cb{?rqz)`5<2kHtQ2L+Z~vP#Hpp-_yt2-*D# zw#{QxPZ?dlYQItmxouMj`vC@3SoRFUwt4Zwat2jGZrc^A(}tRby@E9~Ig#`$m5|$F zAHQJAbk~)LZS%;+nI;5v&mcl>+ZBq_m*T>8B}uh){AzT)Ldb2~K7L#@@7@-5rKB_~ zq3abwZrc^AJInhJY@5%>31z7(eB8DxgaMy1wXy0M1SNd-j>ao|-1eqWDtnF}N+5I# zUqUBo(mjLtxb00L%p{)*EnHVp&VJfjr0Es0eB2gZNq7{qXA)Y!f=MS|IqHg7K5p9; z3V!b_J*4g9FWIwrg^$}dg{rI5joGqiP}?>isvFZ8x@Qm{w}n@H#rl=;rMR$HkV=M^ zhiB)e>lHq33$Mgl<9AuW4bgh}25*_8lY8 z_ji9^zkhpseY!jDys>xpcbDh)zrO#D|M~j;_2=j7_3_VV{Pp$m?eTKGJ0AXce7Qc~ zdwc)w$IHvF|9*V1mk*!t-^U04Q@A|7w?BNkzCC?;dinbN?fv@Y^3T)r%hw;5-)?^} zZ`T7$Gd|!S;h$WvVMIPV_u0l@oE+j02}Y7HZrqqH?3IjN$TYnzA-4?%3S~RU_QGC4 zP&I~+Nxp*!xot2N11x*5(;?AdfO5WZ*X>sbxh)hzRmq#%!Yd(%Tv+M~A-8P`VN>Tm zgWwg(c=9p2eBHW2$ZeZK;$+Y9!z&s8#c|uA>J@y>(0vCrh45qAXArznb4B7IM{ny1 zxh)jJj&(aWNi6#vgd`&s7Y({zA>_8m zn!=lyI(|*ddId>JHDHkc{MG1sg^=5Jh0^9Lha_y9cYaC<)%6M?x9tig*=G>Ek}Q(n z2f^0$3L&@c3e~W^0a3dxlEVuLMGF+ZC#QD70*EizFp{ z4^C84^$ZGx+_oze@;-x5SAZnzG$E+#6+&*?6iUJFx&p5x%w|j#R@WGg}QR|vUn zQ>c`*`xSTvSyP_no;eV5+pZ7>P0w49h0mab8TCZMZ37{Py!vgxt0(l=67#ulH$7+Z6J4_bcrTLSs9>s?+rfA-C-cN!ok`UMWf9v_V|gD}>y(D^#X! zMr)oy;jqY>N;$B+QH^Ze_CJLXOT0K==}I8N!WWi)g^k<(PoWg2FU5uHO3XEf@vG52 zgV?xj_X>6cY_D`B5YLuqyu!w9|EExNZuLD0U5R!tHoa(2tt-ODZU0k9me2Br61S`= zmbdT1#%=$nPz7Mwy=_ZUvW{goTiCd5_X-rka>4DDmZXFc%5jUTdj_#_+wK)8l-=s{ zD_x0HB~CA;biKmHZU0lK#POxL>^HMB1#62~-jWF$x9whmLb81BJCs0@lEt0-IE{7d z3L&@c3eDS$maQvDQo`tQC7I0@LT=j>3T2uyUDzvv3n7-71R>rI&^?0)xouZy*OlI{RA_7Qp&T~1 zg;xUJz9*92HW6~$rVv(u?S2Jb5m)Ay-MV#!klQwes;#4=TlPB$NlGC6(=@5BR|vUn zSE%I8ZBbXM50Pc3Mk3_4T_G%!IKLE^tt&`UBFbk@gxt0%Bq8j(LyIIOpB+mkOd{mA zT_IV1PXhP~l9WOSWxRgT?NA-9D>(b{P{z{34X#R8V; zMT2Tx$%Nb%SyM6QG;ZRT^$L=dVzw-dKNE7>u8>SgC<}Wf2>Sd%uyyMSA-6@=l;DBT z?pG|5l%xhBVf>kp+jfP})NQ_kB&CEU>w`+_))hi-+ZBq-@6^CIGm?~&&t=@W>w1Nd z+ct%;9ANjh7D-A;!t_!~*DHkFwkwpD-*1b$k_;{m1IvEfOvr7!LV5Wt@9q_(s0vHw zZYJcm$v~mH>q@ID8F*#d0-$>a5pvt65Yj_ON4G3rNv2{*eX6jkUMYm!wkhOo*>iC= z8!Q%_Uo_}?g^=5Jg=91S16~PPP-IWir0W$zZrc>XhMGaPmpy~Bfm1>rr?IYA2)S)n zsDwQihq{t;EiCU23n90KLRbzkO@l35SKt)PXONshgxofpiY;k-Hv6!};K>KVrbxU( z$ZeZKNckJLtIO7vVnRjmJ4;<5R(pA(Y-d#}6fZL|tL&ZTYxuS19gm%y2-7C=rW` z&I+sB+wyVSu28P~J#+I)O0f#dcMu=9?FtEC-1%!-xL+w)h3rZ0gDM}lg;$^u9;t4x zAZrR!>eJ-0<{6YMAGdW-C|f7Hw}lcud!XC%SEK6{K5lzcDDF2O2b72z^k7t2U9a$Q z+pdt5IHpXO?N^+^^UE+z9_xCAkK4j4P$=!a*{!aWjL)F)tI_oeAGf_Jl+&K$ciz|n zZp-n_oGc-??FyAWzjDAUzMx;>;I_#Ua@(d5_RtT7mhD%(i6zh5MRd;~LT=j?!r;dF zrMR$HQmL~Nx?UmVw%$M?@XGBKj~rD*DGh?H>lH$7+ZCF(MK4=dg0a=tX+ludD~^!c zHiZIk<*qBiz$u<&S5I<;+_o!(MfBS%!Ni)ewe(a%x2_O!+pZ9X2Tz3-K7(*|I8Pqy zdWDeN1_OoCw1s|QuT<+o9bbgHULoYR$eO|fp}hWuj)v+ts~^NT_JIs#lb6B zZYwl(g^=5Jg-RMzrpul|NK&$xCLLddx@Qm}w}nCphtRGos4F=E9+0p&N62lXDbW?b z@0p#n_dzswhmMfjA``}!vRT{#uZUPz$FD~94Dy8Bwks6(8`b8O+=Ac7X{_rNLT=j> z^4<=GmhEkkcp{-pQ(wAXA>_7Aq3G=X4su955lkL)ybnsAklQwevYlRhFI!iTc+wWe zk+3*V$ZcCDj16{Bg@wH$No4xf=$=7@+_q)HV7PO1{|kF1r|d~~^(0ToZIKCsM;~?& zsD-^!ku^oKCjrTe_ji9^zkhpseY!jDFhPHJe|LF)|Lgnj_@A%eUw?kSULXH_#$R6_ z-ySd5yW`=H$CvB#JwCR-{djr#_1}*V_VVEq{`>gge+rk!_x6WR*SDuHPcL7ezrA0- zT>g1_e);<2^4skX=IwgmE9V3L5&p@=TQ8rT`)uPcP7c8)31q^gx_1jgiI#ZcGD&tr z@`T*BDdg>x2)S%sX^AJ%PAL|;{R$zs?F#wbue7=%xDX2CG*lfX+Ldb2qLVmghS+-v(*z{|$G4A};=z4{a z+jfO=-7F4g5XM)kW9e52xouM@>^c74uV77rW7+Ez2)QkCK77WI&slkwJ%f;9;cJ|> z&Fh{)gxt0(govf>6{J`MAEzygx?UmVwoM_dp&wt03)htxaCdE3axZJR=35u3C8 zH#3w-g82-VGl-Adc7=S3W0SSA-6@&M@w$oXOKsVMMloYn9k5W zg9y28%lWWz`choDu3#4$OFlEc$mnJg@M|h1AUEf%yvuq8DHcU?WI2NfxouM@rM&N% zJyI-?gA(3#v%Dn}LT=k~KH|5?0)6&5eaShkL1lqBILF$=fm0QRm`$yP)o4@mt^q@ zA-8P`g|c@cx4I%$Kv+o5AVO~26iV}#;=*+WD;BYnlf)~8+!jeF7R!tVfm+xrScDu| zX0sC^w~eMcAItWN7Xz!rIBrpOzk>+5ZBt0*+tp?33es`fO3rbMs_PX(Zrcq;i%w#X0iQl@FJWxaxQ9G`I>pT8PiuMl$Eu29+EL5D{=4g#8|4OhBeA>_7Qp`D|O zyF;Yoz$`3#oiZV}Z3;!ZcOf^gVD7lG%sOR4Zrc<}bxN>axL>KE`e}2X?iobLZIK@o zv5|kz#d)OTU^08!^sDO?LT=j>!d?8hiC?y^ARQ;-g%HWzVJ76ZO(79C6k6CT5|LF+ zG8dN#xh)cwV!@uYlPWCil`NKK|4Jt0w*SZ8+3e_bBT0MjThPX+wM6qT`E&Xjyz@?I zGz#kKwi{KFppq9}_};%D%Rc1byMPQJshN#mpnyS4oFw@$nNdgXdpa}LFYH&4`<@d? zuTvxBwnL%+a}#g2t~8{YBdU7s+*J3rjgZ?;h0wo#)}S_W-+fuDv94DLxh)hbI0mh* z4a0RsN(_Oet`KtDhTM1D#2>yA8&b_Prk36nR=2JYa@(O0vS!bFW_YC+bg;0jL4@3P zDwMZZyk^&+j#P7OZCTbJLT)=1lCnAn4SOYF!umE1O?M3<Gq1MiRC3fV#3r6RW z>{kf6?Nms%*LH^M%9tPCSk@pyZrfe0HN>_1H|&*;9HosOsIEbsklS_#h4Qwev+9-P zU1$h?U!+ObD}3DcO(A5>-mA1>ucU?$yLIEP>lHq33$H+-GdDY3P(sG!Jd*uN=i|0- z3SkP^sVm;qF*%Rq9Mt)^Exc04M7?unh7uU+w0CFdu0ed<_DvyN#hf%>_rcB*C0Y}i>#@L(9TtP4SS`q;Qxwo{?~Cf;ma$u6eYw-ceRR|vW7P$(ge>zsqK z%SpUn6;{_Pgxq#0RQ4nk!*!)3>{m$mN+9I6*%eIcEbF9b*efj~K!}9#2SRR}UCR+8 z(-s2>lH$7I~3|Wtu*YFEa;(JR8rR~ zgxpqKmKe{w!z+m^2=gP!`9L@gAB!6b$?4I(5)+k+;%9`FlPPiZHq&@ zZDQ$liiF%23gIQ$xjVd4aj}F(@;<0WLT)=0ihbMBncdqKhZz8Ud#$Uw21P<{I~2-i z7BcoL#TAT6VA5Yl95fVac>=1hU-e{A!L&Nl|;yG zn}b68D_+B1X+6m{4NY}#n+UmWb5N+BnHpE>&Ue9}guBA(dWDeN4uuNZ5^jae)|KvJ zuPLsbo32*~x$RV_rnRFp>=p6BlguowiICeOYYG7BWMhss2p400BTc$>g^=40h0;zd z4cC>9^q_4u*7XV@w?)KRx?bVqw(trR>VADqhS#8q_m?azF7t6)c%=qR9a&Vt zuvdCO!!1d#Q|9Bg@Cp>#Upkoe3X+sCW08g1Wm-ESb|{2yu)|k!bSb4?7Qt3sgM^UV4ux{uZdVQ0 z6-fnGLU)DL^$H=kjSdQ7#Oh?0zuve=1ChN9Cx2_O!+vF;yMIUZ^<>b1=%90->gxq#0l>Ev0xN>$u(Dy~s zzfuUf?Nlh$a}I)6lGNgt5~^!ZA>_7GAq-$VEG|2d)>&pD7ea136zZw0+f}oB+w5w= z#TZGiQz7KGL!lT>AOF~|bj;26>#NaSg9y3pPzWE>>0im>0>(mbO6YopklPN0@X&hg z{>`pI;;HJmw==|WwRn!=X+s9RSEx$RI09m!`6f>$cGZrd(j*DHkF zb}A&{oSEU3j+xLjXJ$ffI~8hMH<;P|N^t=?uN%(qa@(m;+HP0P)|Ki)j~F;l;uS(}I~9^GjmxlCQqR7Sybr2`+_pL>l=HeVGwc=V z1=)`zb%l`IRwupst;^J~S8DHZ>pa%ouMl!uWKCg1w+V3g)(Auj#rSR zgvVstlto>y5OUk05I&~$HJM$5y33*Vt@BvdD}>y3DAam8`<2{XiJs;@s1b78sZc+2 zvoCn1#YmG0(+IikPzd8!&VEI_^HHKKC3M#yK5jb|su&k-es2pUP*#8?ZzWW{()qaU zPzX(?=k5CiCGhrTfBmBC6+Uh|6~g?LMJuhIgP=sgI5d{5sm{l3-xR`==DYG5_DV~o zrS;Y5))hW(3$HZ1X5Kn{%z7m_Tr*2rJ2zdg@Nrw23N=~XV1~UCvq#j&U14>-!pCjl zm56E4=Y7xxC340?DVB2(AGdu|sI)VWA4-&rF^eR9{GE^6zA1G0N*Z;g?;rm6`sMStub&>S2mF8O z;r+wQ)AwJ${2TxI^~=|vpI%=d|NDerzdn9@e0hDiKK|$N`St02^zT3a{`~yUKi_@y zFF*WC^LXPoKZP{`B(4r>E!Net-Gb+Yj#B>xG`20(dOHg^ILXy^w&g?lTx-3ZDS`}8;D}>y3DpbQcGvli%QW8n8Q}cw} zb|{3=SBq8}t}A0;1j(F)<_WoNbgdwk?95-0WLm|P7=9^ZUtt-jJ zQmb&BgPJGgwnL$YhOpz6*gLT;NK6zUt>;_DbyNNnr5`A-5HW$98B{IOia7 zxffqaxNRWhwo@T!bi5+2^wwDze<0+xL!n+aT4{I<>X@=f(wp4^A-6@=6fVrR^iZ>2 zL6VY}Mlz2dq=%334~0hUJ!=q>l(5a;Ue&4c6|~LL_1i)rOp9x$e?^d_gwJN1Ag=2b zLT)=0LSNiEDH>jbDn^zDl3u4s$Ze4|6|z71K^N*uM(X3L&>03gOUv_O^l~r5M`w)#%n0LT)=0N{HP(=O830#ay;d9$l{xa@(Ph z#FNi_p{~?e#IMy@*DHkFb|_TKxjP(Q>9JQ?CqiAX5OP~6gcQ}S@|xY-HWv~a1X<2O zgxq#0l)^?840{EmMS@?ibye$1BILHsVeVDkx;6}ZMY7M^t2$k;5OUk*pb$oNo^w!h zHAfo0k_fr&PzcNPIWtRhc-CEM>IxyZ9STXU=k8Ft3%T^Pl+ay+2)XT0sJ436Ab2IA ziL$NfBD!87q&}6y@l-a#)cL=blH$7I~6M1bO6I%LH00aS&(>zklS{L z@iaNCRobvux?oVkQbM<`5OUk@y0p9zD4Sl%m-jA6?<_r(iH+O7DTF7g=FiMiiBwYB zy3|$cN@nA>e<_rs`F`7}gkW->tWF+Xuds33zZ614^159$yar)ZPwy;VVdJ*bE46gg z-h20N*eksTz@}RX-MYfYZKqd|SK!URXND5N;XOmxrnl;Pg^k<(rI5tFsDjzL5*#kv zYbQA~XEts-y^?_V&G)ZNC8Xgo8H-ogxb5ExwQT*Kc`8v`+F$GHu0d?v_AiAp5Y)Y+ zGrR_M6xi(+Ro5$Q+;(~e3iY$My?k_`VbJf|x#@a^klR9`?rT1E1zt%#Vhq4tVO6~% zgxq#0lzg;4*9jFiI^>lGv^r4Y9i3tg`e za@(m;KaBtKNK#4|)5grGc&w`=9Mh# zwnKNnLdb20LO2GkRod)+r8pR+v1GzjLT)=0iYF6hu0a?zk6<#6b5JGZw#5}G`;N|V zU1?}M4r>a4>KarDxovUibZW8`GV7J03Sk`o`kD;a6$k-zOX3wmZd)A`>YGA_z0#`h+oWIJ zHHeVgR)^sLNSnI9CbM2?&exQ-DT}&ZA>_7GA-LsurMWl;XOnQ-O2}=8LIp>mMP+lvNWuMl$Ep-}hz)D_=c!&9lYZpL)ILdb20LL=_{ z)Rpc$f(cm8L5+~xPKEZ#;%3i5-Njar^l^VRx^;z++fIe{n|Q-s$*pykcZZFT+jfT~ zT22q;<-02#OBWWwZ($=SCOx?bVqw(v^IlFokRf)awZuPr51*DHM7 zb}CfQeA_&{QghGS%Whq-@NwIrkod3>D64!0N_0Vr9ZA1!=i|0hA_>|IO811^b|?g@ux{eb z)|G@TZ{JCB$&gn1{^5VGUp{~P`sv|%h|WK}e|UNN{_B^2<3GQC`TFzI>+9oxpYZF~ z$8V1>uMgM9|2#gwKE03r{pa7Gpa1#iyN~|mhad6p-N*Qk^z!(9{P5%Jw@*KPdj9R{ z^Y_=EUjF#>^!(fJFaLV`!F_wZqAx$-kMJii(MS0Z!Uvy!333St)KDnk=lg3i>=mh) z7stU@a7D-H6)1!Q!0}3QwPxH1-Ad^0R|vT+GGStqGbiB+NIXdx>%`&}LT)=0LYL{P zyk^%RB%UP9&Ref_b?XWtx19>r)0;i&O2&-!Eul@y3DwMa*LBn;Wq=NnolKl!H zw?!sQDm5;J411-ewol~Ltt*7w7MU;!qXo}7C?N49k5m|rx)KPv?Nms%)Eu*Q1&Jql z%!MZL3L&?h3bn1v)Ua1TS7KuE3L&>eCQQ!t^u=9RgRry3v6-Z<5OUk05K>`Q_qyS_ zf-FA_0VDAWA-5fwFs*JA^~`z&i6`hh_AF}<`YY-u~9hoq=TwSZQVXvSq4nx*Syh6xrXC_RGr>=yz#FOo{uI?H{ z$Zdy0m?UwyZJ3EC!m3b%b zh1??{x19==!&in^FaZo>OF8zok&xR?g@Cqih0LCVM&gN=ZOWqV8bru#r$TM(NH*)0 znRpWGIuYu6g^=4$h2-?bU14UzgpEq-dWDeN{(q@ChU-eMr6&?@8wt7X%!CQ`oS9Kq zkO`BvP9EL5Ldb2WLVY7phU*G4VfNH5U9S*w+nJh!XR7BMG!jo@W8o`_klPN0@Z4^# z(q`+*NIc1H>rz*(D~XWX4uu3!v!||%#FM&D&eQb@A-A0ho%yzy7=gqS#0PB^R@W

|b$zMU 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 PmX?d(OvwMgC(Hi>OD3pp literal 0 HcmV?d00001 diff --git a/logs/osiris_runner.log b/logs/osiris_runner.log new file mode 100644 index 0000000..d77649b --- /dev/null +++ b/logs/osiris_runner.log @@ -0,0 +1,1229 @@ +Building Osiris Runner... +warning: skipping duplicate package `sal-vault v0.1.0 (https://git.ourworld.tf/herocode/herolib_rust.git#9865e601)`: + /Users/timurgordon/.cargo/git/checkouts/herolib_rust-47b47f3a83ee9ada/9865e60/packages/crypt/vault/_archive/Cargo.toml +in favor of /Users/timurgordon/.cargo/git/checkouts/herolib_rust-47b47f3a83ee9ada/9865e60/packages/crypt/vault/Cargo.toml + + Compiling proc-macro2 v1.0.103 + Compiling quote v1.0.41 + Compiling unicode-ident v1.0.20 + Compiling libc v0.2.177 + Compiling cfg-if v1.0.4 + Compiling serde_core v1.0.228 + Compiling serde v1.0.228 + Compiling memchr v2.7.6 + Compiling version_check v0.9.5 + Compiling itoa v1.0.15 + Compiling portable-atomic v1.11.1 + Compiling pin-project-lite v0.2.16 + Compiling bytes v1.10.1 + Compiling zeroize v1.8.2 + Compiling log v0.4.28 + Compiling scopeguard v1.2.0 + Compiling parking_lot_core v0.9.12 + Compiling lock_api v0.4.14 + Compiling futures-core v0.3.31 + Compiling hashbrown v0.16.0 + Compiling equivalent v1.0.2 + Compiling getrandom v0.3.4 + Compiling core-foundation-sys v0.8.7 + Compiling futures-sink v0.3.31 + Compiling zerocopy v0.8.27 + Compiling ryu v1.0.20 + Compiling autocfg v1.5.0 + Compiling bitflags v2.10.0 + Compiling indexmap v2.12.0 + Compiling slab v0.4.11 + Compiling futures-channel v0.3.31 + Compiling num-traits v0.2.19 + Compiling pin-utils v0.1.0 + Compiling serde_json v1.0.145 + Compiling futures-task v0.3.31 + Compiling futures-io v0.3.31 + Compiling syn v2.0.108 + Compiling typenum v1.19.0 + Compiling percent-encoding v2.3.2 + Compiling once_cell v1.21.3 + Compiling generic-array v0.14.9 + Compiling subtle v2.6.1 + Compiling getrandom v0.2.16 + Compiling socket2 v0.6.1 + Compiling rand_core v0.6.4 + Compiling mio v1.1.0 + Compiling signal-hook-registry v1.4.6 + Compiling tracing-core v0.1.34 + Compiling stable_deref_trait v1.2.1 + Compiling crunchy v0.2.4 + Compiling fnv v1.0.7 + Compiling tiny-keccak v2.0.2 + Compiling base64 v0.22.1 + Compiling find-msvc-tools v0.1.4 + Compiling shlex v1.3.0 + Compiling const-oid v0.9.6 + Compiling cc v1.2.43 + Compiling ahash v0.8.12 + Compiling litemap v0.8.1 + Compiling writeable v0.6.2 + Compiling core-foundation v0.9.4 + Compiling form_urlencoded v1.2.2 + Compiling icu_normalizer_data v2.1.1 + Compiling icu_properties_data v2.1.1 + Compiling const-random-macro v0.1.16 + Compiling aho-corasick v1.1.4 + Compiling const-random v0.1.18 + Compiling tower-service v0.3.3 + Compiling regex-syntax v0.8.8 + Compiling crypto-common v0.1.6 + Compiling block-buffer v0.10.4 + Compiling digest v0.10.7 + Compiling security-framework-sys v2.15.0 + Compiling iana-time-zone v0.1.64 + Compiling httparse v1.10.1 + Compiling http v1.3.1 + Compiling smartstring v1.0.1 + Compiling rust_decimal v1.39.0 + Compiling try-lock v0.2.5 + Compiling spin v0.5.2 + Compiling lazy_static v1.5.0 + Compiling no-std-compat v0.4.1 + Compiling ppv-lite86 v0.2.21 + Compiling rand_chacha v0.3.1 + Compiling want v0.3.1 + Compiling utf8_iter v1.0.4 + Compiling arrayvec v0.7.6 + Compiling static_assertions v1.1.0 + Compiling rand v0.8.5 + Compiling rustix v1.1.2 + Compiling errno v0.3.14 + Compiling thiserror v1.0.69 + Compiling crossbeam-utils v0.8.21 + Compiling fastrand v2.3.0 + Compiling http-body v1.0.1 + Compiling ipnet v2.11.0 + Compiling system-configuration-sys v0.6.0 + Compiling hmac v0.12.1 + Compiling rustls-pki-types v1.13.0 + Compiling native-tls v0.2.14 + Compiling atomic-waker v1.1.2 + Compiling siphasher v1.0.1 + Compiling regex-automata v0.4.13 + Compiling tempfile v3.23.0 + Compiling synstructure v0.13.2 + Compiling security-framework v2.11.1 + Compiling mime v0.3.17 + Compiling system-configuration v0.6.1 + Compiling cpufeatures v0.2.17 + Compiling tower-layer v0.3.3 + Compiling sha2 v0.10.9 + Compiling ucd-trie v0.1.7 + Compiling phf_shared v0.11.3 + Compiling http-body-util v0.1.3 + Compiling pest v2.8.3 + Compiling rand_core v0.9.3 + Compiling tinyvec_macros v0.1.1 + Compiling serde_derive v1.0.228 + Compiling tokio-macros v2.6.0 + Compiling futures-macro v0.3.31 + Compiling tracing-attributes v0.1.30 + Compiling zerofrom-derive v0.1.6 + Compiling yoke-derive v0.8.1 + Compiling futures-util v0.3.31 + Compiling zerovec-derive v0.11.2 + Compiling displaydoc v0.2.5 + Compiling rhai_codegen v2.2.0 + Compiling thiserror-impl v1.0.69 + Compiling zerofrom v0.1.6 + Compiling tracing v0.1.41 + Compiling yoke v0.8.1 + Compiling zerotrie v0.2.3 + Compiling async-trait v0.1.89 + Compiling pest_meta v2.8.3 + Compiling zerovec v0.11.5 + Compiling tinyvec v1.10.0 + Compiling rand_chacha v0.9.0 + Compiling socket2 v0.5.10 + Compiling anyhow v1.0.100 + Compiling tinystr v0.8.2 + Compiling icu_locale_core v2.1.1 + Compiling potential_utf v0.1.4 + Compiling icu_collections v2.1.1 + Compiling regex v1.12.2 + Compiling pest_generator v2.8.3 + Compiling smallvec v1.15.1 + Compiling chrono v0.4.42 + Compiling parking_lot v0.12.5 + Compiling icu_provider v2.1.1 + Compiling tokio v1.48.0 + Compiling icu_properties v2.1.1 + Compiling icu_normalizer v2.1.1 + Compiling thin-vec v0.2.14 + Compiling rhai v1.21.0 + Compiling serde_urlencoded v0.7.1 + Compiling unicode-normalization v0.1.24 + Compiling rand v0.9.2 + Compiling idna_adapter v1.2.1 + Compiling idna v1.1.0 + Compiling phf_generator v0.11.3 + Compiling ring v0.17.14 + Compiling sync_wrapper v1.0.2 + Compiling encoding_rs v0.8.35 + Compiling url v2.5.7 + Compiling unicode-bidi v0.3.18 + Compiling byteorder v1.5.0 + Compiling unicode-properties v0.1.3 + Compiling stringprep v0.1.5 + Compiling phf_codegen v0.11.3 + Compiling parse-zoneinfo v0.3.1 + Compiling pest_derive v2.8.3 + Compiling phf v0.11.3 + Compiling md-5 v0.10.6 + Compiling fallible-iterator v0.2.0 + Compiling sha1_smol v1.0.1 + Compiling postgres-protocol v0.6.9 + Compiling chrono-tz-build v0.3.0 + Compiling uuid v1.18.1 + Compiling crossbeam-epoch v0.9.18 + Compiling phf_shared v0.13.1 + Compiling object v0.32.2 + Compiling bstr v1.12.1 + Compiling base64 v0.21.7 + Compiling thiserror v2.0.17 + Compiling same-file v1.0.6 + Compiling iri-string v0.7.8 + Compiling heck v0.5.0 + Compiling libm v0.2.15 + Compiling unic-char-range v0.9.0 + Compiling unic-common v0.9.0 + Compiling untrusted v0.9.0 + Compiling unic-ucd-version v0.9.0 + Compiling unic-char-property v0.9.0 + Compiling walkdir v2.5.0 + Compiling globset v0.4.18 + Compiling phf v0.13.1 + Compiling tokio-util v0.7.16 + Compiling tokio-native-tls v0.3.1 + Compiling crossbeam-deque v0.8.6 + Compiling h2 v0.4.12 + Compiling tower v0.5.2 + Compiling combine v4.6.7 + Compiling tower-http v0.6.6 + Compiling postgres-types v0.2.11 + Compiling chrono-tz v0.9.0 + Compiling ar_archive_writer v0.2.0 + Compiling futures-executor v0.3.31 + Compiling thiserror-impl v2.0.17 + Compiling der v0.7.10 + Compiling http v0.2.12 + Compiling allocator-api2 v0.2.21 + Compiling cfg_aliases v0.2.1 + Compiling crc32fast v1.5.0 + Compiling rustls v0.23.34 + Compiling utf8parse v0.2.2 + Compiling whoami v1.6.1 + Compiling tokio-postgres v0.7.15 + Compiling anstyle-parse v0.2.7 + Compiling hashbrown v0.14.5 + Compiling nix v0.30.1 + Compiling rustls-webpki v0.103.8 + Compiling psm v0.1.28 + Compiling futures v0.3.31 + Compiling hyper v1.7.0 + Compiling ignore v0.4.24 + Compiling unic-ucd-segment v0.9.0 + Compiling scheduled-thread-pool v0.2.7 + Compiling hyper-util v0.1.17 + Compiling pin-project-internal v1.1.10 + Compiling serde_derive_internals v0.29.1 + Compiling ordered-float v2.10.1 + Compiling core-foundation v0.10.1 + Compiling is-terminal v0.4.17 + Compiling nom v8.0.0 + Compiling rustversion v1.0.22 + Compiling is_terminal_polyfill v1.70.2 + Compiling hyper-tls v0.6.0 + Compiling k8s-openapi v0.23.0 + Compiling reqwest v0.12.24 + Compiling colorchoice v1.0.4 + Compiling virtue v0.0.18 + Compiling strsim v0.11.1 + Compiling anstyle-query v1.1.4 + Compiling httpdate v1.0.3 + Compiling anstyle v1.0.13 + Compiling deunicode v1.6.2 + Compiling system-configuration-sys v0.5.0 + Compiling ident_case v1.0.1 + Compiling schemars v0.8.22 + Compiling darling_core v0.20.11 + Compiling slug v0.1.6 + Compiling anstream v0.6.21 + Compiling bincode_derive v2.0.1 + Compiling security-framework v3.5.1 + Compiling schemars_derive v0.8.22 + Compiling serde-value v0.7.0 + Compiling pin-project v1.1.10 + Compiling humansize v2.1.3 + Compiling r2d2 v0.8.10 + Compiling globwalk v0.9.1 + Compiling unic-segment v0.9.0 + Compiling postgres v0.19.12 + Compiling h2 v0.3.27 + Compiling http-body v0.4.6 + Compiling spki v0.7.3 + Compiling secp256k1-sys v0.9.2 + Compiling stacker v0.1.22 + Compiling ff v0.13.1 + Compiling time-core v0.1.6 + Compiling base16ct v0.2.0 + Compiling unty v0.0.4 + Compiling num-conv v0.1.0 + Compiling clap_lex v0.7.6 + Compiling dyn-clone v1.0.20 + Compiling option-ext v0.2.0 + Compiling powerfmt v0.2.0 + Compiling deranged v0.5.5 + Compiling dirs-sys v0.5.0 + Compiling clap_builder v4.5.51 + Compiling time-macros v0.2.24 + Compiling bincode v2.0.1 + Compiling tera v1.20.0 + Compiling sec1 v0.7.3 + Compiling darling_macro v0.20.11 + Compiling group v0.13.0 + Compiling r2d2_postgres v0.18.2 + Compiling pkcs8 v0.10.2 + Compiling tokio-rustls v0.26.4 + Compiling hyper v0.14.32 + Compiling ourdb v0.1.0 (https://git.ourworld.tf/herocode/herolib_rust.git#9865e601) + Compiling rustls-native-certs v0.8.2 + Compiling clap_derive v4.5.49 + Compiling tracing-serde v0.2.0 + Compiling matchers v0.2.0 + Compiling hkdf v0.12.4 + Compiling sharded-slab v0.1.7 + Compiling inout v0.1.4 + Compiling crypto-bigint v0.5.5 + Compiling tracing-log v0.2.0 + Compiling ordered-float v5.1.0 + Compiling num-integer v0.1.46 + Compiling dirs-sys-next v0.1.2 + Compiling thread_local v1.1.9 + Compiling nu-ansi-term v0.50.3 + Compiling syn v1.0.109 + Compiling termcolor v1.4.1 + Compiling ethnum v1.5.2 + Compiling humantime v2.3.0 + Compiling fast-float2 v0.2.3 + Compiling unsafe-libyaml v0.2.11 + Compiling jiff v0.2.15 + Compiling bitflags v1.3.2 + Compiling system-configuration v0.5.1 + Compiling time v0.3.44 + Compiling serde_yaml v0.9.34+deprecated + Compiling env_logger v0.10.2 + Compiling elliptic-curve v0.13.8 + Compiling tracing-subscriber v0.3.20 + Compiling num-bigint v0.4.6 + Compiling dirs-next v2.0.0 + Compiling sal-text v0.1.0 (https://git.ourworld.tf/herocode/herolib_rust.git#9865e601) + Compiling rhailib-macros v0.1.0 (https://git.ourworld.tf/herocode/herolib_rust.git#9865e601) + Compiling jsonb v0.5.4 + Compiling cipher v0.4.4 + Compiling kube-core v0.95.0 + Compiling clap v4.5.51 + Compiling hyper-tls v0.5.0 + Compiling strum_macros v0.26.4 + Compiling hyper-rustls v0.27.7 + Compiling tst v0.1.0 (https://git.ourworld.tf/herocode/herolib_rust.git#9865e601) + Compiling darling v0.20.11 + Compiling dirs v6.0.0 + Compiling tower v0.4.13 + Compiling hyper-timeout v0.5.2 + Compiling redis v0.25.4 + Compiling tower-http v0.5.2 + Compiling rustls-pemfile v1.0.4 + Compiling jsonpath-rust v0.5.1 + Compiling heromodels_core v0.1.0 (https://git.ourworld.tf/herocode/db.git#53e9a2d4) + Compiling toml_datetime v0.6.11 + Compiling secrecy v0.8.0 + Compiling serde_spanned v0.6.9 + Compiling async-stream-impl v0.3.6 + Compiling heromodels-derive v0.1.0 (https://git.ourworld.tf/herocode/db.git#53e9a2d4) + Compiling rustls-pemfile v2.2.0 + Compiling rfc6979 v0.4.0 + Compiling signature v2.2.0 + Compiling universal-hash v0.5.1 + Compiling pem v3.0.6 + Compiling csv-core v0.1.13 + Compiling home v0.5.12 + Compiling opaque-debug v0.3.1 + Compiling glob v0.3.3 + Compiling winnow v0.7.13 + Compiling sync_wrapper v0.1.2 + Compiling either v1.15.0 + Compiling toml_write v0.1.2 + Compiling strum v0.26.3 + Compiling heromodels v0.1.0 (https://git.ourworld.tf/herocode/db.git#53e9a2d4) + Compiling kube-client v0.95.0 + Compiling reqwest v0.11.27 + Compiling toml_edit v0.22.27 + Compiling sal-os v0.1.0 (https://git.ourworld.tf/herocode/herolib_rust.git#9865e601) + Compiling poly1305 v0.8.0 + Compiling csv v1.4.0 + Compiling ecdsa v0.16.9 + Compiling async-stream v0.3.6 + Compiling kube-derive v0.95.0 + Compiling chumsky v0.9.3 + Compiling chacha20 v0.9.1 + Compiling redis v0.31.0 + Compiling sal-process v0.1.0 (https://git.ourworld.tf/herocode/herolib_rust.git#9865e601) + Compiling term v0.7.0 + Compiling secp256k1 v0.28.2 + Compiling dashmap v5.5.3 + Compiling quanta v0.12.6 + Compiling crossbeam-channel v0.5.15 + Compiling colored v2.2.0 + Compiling aead v0.5.2 + Compiling email-encoding v0.4.1 + Compiling socket2 v0.4.10 + Compiling hostname v0.4.1 + Compiling spinning_top v0.3.0 + Compiling email_address v0.2.9 + Compiling encode_unicode v1.0.0 + Compiling hex v0.4.3 + Compiling unicode-width v0.1.14 + Compiling quoted_printable v0.5.1 + Compiling futures-timer v3.0.3 + Compiling nonzero_ext v0.3.0 + Compiling governor v0.6.3 + Compiling lettre v0.11.19 + Compiling prettytable v0.10.0 + Compiling derive v0.1.0 (https://git.ourworld.tf/herocode/rhailib.git#02d9f593) + Compiling hero-job v0.1.0 (/Users/timurgordon/code/git.ourworld.tf/herocode/job/rust) + Compiling redis v0.24.0 + Compiling chacha20poly1305 v0.10.1 + Compiling tracing-appender v0.2.3 + Compiling rhai_dispatcher v0.1.0 (https://git.ourworld.tf/herocode/rhailib.git#02d9f593) + Compiling macros v0.1.0 (https://git.ourworld.tf/herocode/rhailib.git#02d9f593) + Compiling sal-virt v0.1.0 (https://git.ourworld.tf/herocode/herolib_rust.git#9865e601) + Compiling kube v0.95.0 + Compiling zinit-client v0.4.0 + Compiling k256 v0.13.4 + Compiling toml v0.8.23 + Compiling tokio-retry v0.3.0 + Compiling osiris_derive v0.1.0 (/Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/osiris_derive) + Compiling pbkdf2 v0.12.2 + Compiling urlencoding v2.1.3 + Compiling dotenv v0.15.0 + Compiling rhailib_dsl v0.1.0 (https://git.ourworld.tf/herocode/rhailib.git#02d9f593) + Compiling sal-mycelium v0.1.0 (https://git.ourworld.tf/herocode/herolib_rust.git#9865e601) + Compiling osiris-core v0.1.0 (/Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core) + Compiling sal-vault v0.1.0 (https://git.ourworld.tf/herocode/herolib_rust.git#9865e601) +warning: unused import: `IndexKey` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/dnsrecord.rs:1:30 + | +1 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^^^ + | + = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default + +warning: unused import: `IndexKey` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/group.rs:1:30 + | +1 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^^^ + +warning: unused import: `IndexKey` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/membership.rs:1:30 + | +1 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^^^ + +warning: unused import: `IndexKey` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/money.rs:1:30 + | +1 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^^^ + +warning: unused import: `IndexKey` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/secretbox.rs:1:30 + | +1 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^^^ + +warning: unused import: `IndexKey` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/signature.rs:1:30 + | +1 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^^^ + +warning: unused import: `IndexKey` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/user.rs:1:30 + | +1 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^^^ + +warning: unused import: `IndexKey` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/user_kvs.rs:2:30 + | +2 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^^^ + +warning: unused imports: `CustomType` and `TypeBuilder` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/grid4/bid.rs:2:12 + | +2 | use rhai::{CustomType, TypeBuilder}; + | ^^^^^^^^^^ ^^^^^^^^^^^ + +warning: unused imports: `CustomType` and `TypeBuilder` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/grid4/common.rs:1:12 + | +1 | use rhai::{CustomType, TypeBuilder}; + | ^^^^^^^^^^ ^^^^^^^^^^^ + +warning: unused imports: `CustomType` and `TypeBuilder` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/grid4/contract.rs:2:12 + | +2 | use rhai::{CustomType, TypeBuilder}; + | ^^^^^^^^^^ ^^^^^^^^^^^ + +warning: unused imports: `CustomType` and `TypeBuilder` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/grid4/node.rs:2:12 + | +2 | use rhai::{CustomType, TypeBuilder}; + | ^^^^^^^^^^ ^^^^^^^^^^^ + +warning: unused imports: `PricingPolicy` and `SLAPolicy` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/grid4/node.rs:4:21 + | +4 | use super::common::{PricingPolicy, SLAPolicy}; + | ^^^^^^^^^^^^^ ^^^^^^^^^ + +warning: unused imports: `CustomType` and `TypeBuilder` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/grid4/nodegroup.rs:2:12 + | +2 | use rhai::{CustomType, TypeBuilder}; + | ^^^^^^^^^^ ^^^^^^^^^^^ + +warning: unused imports: `CustomType` and `TypeBuilder` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/grid4/reputation.rs:2:12 + | +2 | use rhai::{CustomType, TypeBuilder}; + | ^^^^^^^^^^ ^^^^^^^^^^^ + +warning: unused imports: `CustomType` and `TypeBuilder` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/grid4/reservation.rs:2:12 + | +2 | use rhai::{CustomType, TypeBuilder}; + | ^^^^^^^^^^ ^^^^^^^^^^^ + +warning: unused import: `Storable` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/kyc/info.rs:6:38 + | +6 | use crate::store::{BaseData, Object, Storable}; + | ^^^^^^^^ + +warning: unused import: `Storable` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/kyc/session.rs:6:38 + | +6 | use crate::store::{BaseData, Object, Storable}; + | ^^^^^^^^ + +warning: unused import: `Engine` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/kyc/rhai.rs:4:35 + | +4 | use ::rhai::{CustomType, Dynamic, Engine, EvalAltResult, Module, TypeBuilder}; + | ^^^^^^ + +warning: unused import: `VerificationStatus` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/kyc/rhai.rs:6:28 + | +6 | use super::info::{KycInfo, VerificationStatus}; + | ^^^^^^^^^^^^^^^^^^ + +warning: unused import: `SessionStatus` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/kyc/rhai.rs:7:34 + | +7 | use super::session::{KycSession, SessionStatus}; + | ^^^^^^^^^^^^^ + +warning: unused import: `Storable` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/flow/template.rs:5:38 + | +5 | use crate::store::{BaseData, Object, Storable}; + | ^^^^^^^^ + +warning: unused import: `Storable` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/flow/instance.rs:5:38 + | +5 | use crate::store::{BaseData, Object, Storable}; + | ^^^^^^^^ + +warning: unused import: `Engine` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/flow/rhai.rs:4:35 + | +4 | use ::rhai::{CustomType, Dynamic, Engine, EvalAltResult, Module, TypeBuilder}; + | ^^^^^^ + +warning: unused import: `FlowStep` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/flow/rhai.rs:6:37 + | +6 | use super::template::{FlowTemplate, FlowStep}; + | ^^^^^^^^ + +warning: unused imports: `FlowStatus` and `StepStatus` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/flow/rhai.rs:7:37 + | +7 | use super::instance::{FlowInstance, FlowStatus, StepStatus}; + | ^^^^^^^^^^ ^^^^^^^^^^ + +warning: unused import: `Storable` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/communication/verification.rs:5:38 + | +5 | use crate::store::{BaseData, Object, Storable}; + | ^^^^^^^^ + +warning: unused import: `Storable` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/communication/email.rs:7:38 + | +7 | use crate::store::{BaseData, Object, Storable}; + | ^^^^^^^^ + +warning: unused import: `Engine` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/communication/rhai.rs:4:35 + | +4 | use ::rhai::{CustomType, Dynamic, Engine, EvalAltResult, Module, TypeBuilder}; + | ^^^^^^ + +warning: unused imports: `VerificationStatus` and `VerificationTransport` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/communication/rhai.rs:6:41 + | +6 | use super::verification::{Verification, VerificationStatus, VerificationTransport}; + | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ + +warning: unused imports: `MailTemplate` and `Mail` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/communication/rhai.rs:244:44 + | +244 | use super::super::email::{EmailClient, Mail, MailTemplate}; + | ^^^^ ^^^^^^^^^^^^ + +warning: unused import: `IndexKey` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/money/models.rs:1:30 + | +1 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^^^ + +warning: unused import: `Engine` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/money/rhai.rs:4:35 + | +4 | use ::rhai::{CustomType, Dynamic, Engine, EvalAltResult, Module, TypeBuilder}; + | ^^^^^^ + +warning: unused imports: `PaymentResponse` and `PaymentStatus` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/money/rhai.rs:308:65 + | +308 | use super::super::payments::{PaymentClient, PaymentRequest, PaymentResponse, PaymentStatus}; + | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ + +warning: unused import: `IndexKey` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/money/payments.rs:7:30 + | +7 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^^^ + +warning: unused imports: `Engine` and `EvalAltResult` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/legal/rhai.rs:4:35 + | +4 | use ::rhai::{CustomType, Dynamic, Engine, EvalAltResult, Module, TypeBuilder}; + | ^^^^^^ ^^^^^^^^^^^^^ + +warning: unused import: `RhaiContractStatus` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/legal/rhai.rs:28:31 + | +28 | use super::{RhaiContract, RhaiContractStatus}; + | ^^^^^^^^^^^^^^^^^^ + +warning: unused import: `ContractStatus` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/legal/rhai.rs:29:34 + | +29 | use super::super::{Contract, ContractStatus}; + | ^^^^^^^^^^^^^^ + + Compiling sal-kubernetes v0.1.0 (https://git.ourworld.tf/herocode/herolib_rust.git#9865e601) + Compiling sal-zinit-client v0.1.0 (https://git.ourworld.tf/herocode/herolib_rust.git#9865e601) +warning: this function depends on never type fallback being `()` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/store/herodb_client.rs:21:5 + | +21 | pub async fn get_connection(&self) -> Result { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | + = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions! + = note: for more information, see + = help: specify the types explicitly +note: in edition 2024, the requirement `!: FromRedisValue` will fail + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/store/herodb_client.rs:28:18 + | +28 | .query_async(&mut conn) + | ^^^^^^^^^^^ + = note: `#[warn(dependency_on_unit_never_type_fallback)]` (part of `#[warn(rust_2024_compatibility)]`) on by default +help: use `()` annotations to avoid fallback changes + | +28 | .query_async::<_, ()>(&mut conn) + | +++++++++ + +warning: this function depends on never type fallback being `()` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/store/herodb_client.rs:36:5 + | +36 | pub async fn put_object(&self, obj: &OsirisObject) -> Result<()> { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | + = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions! + = note: for more information, see + = help: specify the types explicitly +note: in edition 2024, the requirement `!: FromRedisValue` will fail + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/store/herodb_client.rs:41:14 + | +41 | conn.set(&key, value).await?; + | ^^^ +help: use `()` annotations to avoid fallback changes + | +41 | conn.set::<_, _, ()>(&key, value).await?; + | ++++++++++++ + +warning: this function depends on never type fallback being `()` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/store/herodb_client.rs:79:5 + | +79 | pub async fn sadd(&self, set_key: &str, member: &str) -> Result<()> { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | + = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions! + = note: for more information, see + = help: specify the types explicitly +note: in edition 2024, the requirement `!: FromRedisValue` will fail + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/store/herodb_client.rs:81:14 + | +81 | conn.sadd(set_key, member).await?; + | ^^^^ +help: use `()` annotations to avoid fallback changes + | +81 | conn.sadd::<_, _, ()>(set_key, member).await?; + | ++++++++++++ + +warning: this function depends on never type fallback being `()` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/store/herodb_client.rs:86:5 + | +86 | pub async fn srem(&self, set_key: &str, member: &str) -> Result<()> { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | + = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions! + = note: for more information, see + = help: specify the types explicitly +note: in edition 2024, the requirement `!: FromRedisValue` will fail + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/store/herodb_client.rs:88:14 + | +88 | conn.srem(set_key, member).await?; + | ^^^^ +help: use `()` annotations to avoid fallback changes + | +88 | conn.srem::<_, _, ()>(set_key, member).await?; + | ++++++++++++ + +warning: this function depends on never type fallback being `()` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/store/herodb_client.rs:114:5 + | +114 | pub async fn set(&self, key: &str, value: &str) -> Result<()> { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | + = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions! + = note: for more information, see + = help: specify the types explicitly +note: in edition 2024, the requirement `!: FromRedisValue` will fail + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/store/herodb_client.rs:116:14 + | +116 | conn.set(key, value).await?; + | ^^^ +help: use `()` annotations to avoid fallback changes + | +116 | conn.set::<_, _, ()>(key, value).await?; + | ++++++++++++ + + Compiling sal-postgresclient v0.1.0 (https://git.ourworld.tf/herocode/herolib_rust.git#9865e601) +warning: unused import: `Object` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/dnsrecord.rs:1:40 + | +1 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^ + +warning: unused import: `Object` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/group.rs:1:40 + | +1 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^ + +warning: unused import: `Object` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/membership.rs:1:40 + | +1 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^ + +warning: unused import: `Object` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/money.rs:1:40 + | +1 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^ + +warning: unused import: `Object` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/secretbox.rs:1:40 + | +1 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^ + +warning: unused import: `Object` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/signature.rs:1:40 + | +1 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^ + +warning: unused import: `Object` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/user.rs:1:40 + | +1 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^ + +warning: unused import: `Object` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/user_kvs.rs:2:40 + | +2 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^ + +warning: unused import: `Object` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/kyc/info.rs:6:30 + | +6 | use crate::store::{BaseData, Object, Storable}; + | ^^^^^^ + +warning: unused import: `Object` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/kyc/session.rs:6:30 + | +6 | use crate::store::{BaseData, Object, Storable}; + | ^^^^^^ + +warning: unused import: `Object` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/flow/template.rs:5:30 + | +5 | use crate::store::{BaseData, Object, Storable}; + | ^^^^^^ + +warning: unused import: `Object` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/flow/instance.rs:5:30 + | +5 | use crate::store::{BaseData, Object, Storable}; + | ^^^^^^ + +warning: unused import: `Object` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/communication/verification.rs:5:30 + | +5 | use crate::store::{BaseData, Object, Storable}; + | ^^^^^^ + +warning: unused import: `Object` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/communication/email.rs:7:30 + | +7 | use crate::store::{BaseData, Object, Storable}; + | ^^^^^^ + +warning: unused import: `Object` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/money/models.rs:1:40 + | +1 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^ + +warning: unused import: `Object` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/money/payments.rs:7:40 + | +7 | use crate::store::{BaseData, IndexKey, Object}; + | ^^^^^^ + +warning: unused import: `Object` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/legal/contract.rs:5:30 + | +5 | use crate::store::{BaseData, Object}; + | ^^^^^^ + +warning: unused variable: `id` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/dnsrecord.rs:234:16 + | +234 | pub fn new(id: u32) -> Self { + | ^^ help: if this is intentional, prefix it with an underscore: `_id` + | + = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default + +warning: variable does not need to be mutable + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/dnsrecord.rs:235:13 + | +235 | let mut base_data = BaseData::new(); + | ----^^^^^^^^^ + | | + | help: remove this `mut` + | + = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default + +warning: unused variable: `id` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/group.rs:96:16 + | +96 | pub fn new(id: u32) -> Self { + | ^^ help: if this is intentional, prefix it with an underscore: `_id` + +warning: variable does not need to be mutable + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/group.rs:97:13 + | +97 | let mut base_data = BaseData::new(); + | ----^^^^^^^^^ + | | + | help: remove this `mut` + +warning: unused variable: `id` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/group.rs:196:16 + | +196 | pub fn new(id: u32) -> Self { + | ^^ help: if this is intentional, prefix it with an underscore: `_id` + +warning: variable does not need to be mutable + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/group.rs:197:13 + | +197 | let mut base_data = BaseData::new(); + | ----^^^^^^^^^ + | | + | help: remove this `mut` + +warning: unused variable: `id` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/membership.rs:51:16 + | +51 | pub fn new(id: u32) -> Self { + | ^^ help: if this is intentional, prefix it with an underscore: `_id` + +warning: variable does not need to be mutable + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/membership.rs:52:13 + | +52 | let mut base_data = BaseData::new(); + | ----^^^^^^^^^ + | | + | help: remove this `mut` + +warning: unused variable: `id` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/money.rs:148:16 + | +148 | pub fn new(id: u32) -> Self { + | ^^ help: if this is intentional, prefix it with an underscore: `_id` + +warning: variable does not need to be mutable + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/money.rs:149:13 + | +149 | let mut base_data = BaseData::new(); + | ----^^^^^^^^^ + | | + | help: remove this `mut` + +warning: unused variable: `id` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/money.rs:243:16 + | +243 | pub fn new(id: u32) -> Self { + | ^^ help: if this is intentional, prefix it with an underscore: `_id` + +warning: variable does not need to be mutable + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/money.rs:244:13 + | +244 | let mut base_data = BaseData::new(); + | ----^^^^^^^^^ + | | + | help: remove this `mut` + +warning: unused variable: `id` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/money.rs:351:16 + | +351 | pub fn new(id: u32) -> Self { + | ^^ help: if this is intentional, prefix it with an underscore: `_id` + +warning: variable does not need to be mutable + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/money.rs:352:13 + | +352 | let mut base_data = BaseData::new(); + | ----^^^^^^^^^ + | | + | help: remove this `mut` + +warning: unused variable: `id` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/money.rs:411:16 + | +411 | pub fn new(id: u32) -> Self { + | ^^ help: if this is intentional, prefix it with an underscore: `_id` + +warning: variable does not need to be mutable + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/money.rs:412:13 + | +412 | let mut base_data = BaseData::new(); + | ----^^^^^^^^^ + | | + | help: remove this `mut` + +warning: unused variable: `id` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/secretbox.rs:98:16 + | +98 | pub fn new(id: u32) -> Self { + | ^^ help: if this is intentional, prefix it with an underscore: `_id` + +warning: variable does not need to be mutable + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/secretbox.rs:99:13 + | +99 | let mut base_data = BaseData::new(); + | ----^^^^^^^^^ + | | + | help: remove this `mut` + +warning: unused variable: `id` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/signature.rs:55:16 + | +55 | pub fn new(id: u32) -> Self { + | ^^ help: if this is intentional, prefix it with an underscore: `_id` + +warning: variable does not need to be mutable + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/signature.rs:56:13 + | +56 | let mut base_data = BaseData::new(); + | ----^^^^^^^^^ + | | + | help: remove this `mut` + +warning: unused variable: `id` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/user.rs:289:16 + | +289 | pub fn new(id: u32) -> Self { + | ^^ help: if this is intentional, prefix it with an underscore: `_id` + +warning: variable does not need to be mutable + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/user.rs:290:13 + | +290 | let mut base_data = BaseData::new(); + | ----^^^^^^^^^ + | | + | help: remove this `mut` + +warning: unused variable: `id` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/user_kvs.rs:17:16 + | +17 | pub fn new(id: u32) -> Self { + | ^^ help: if this is intentional, prefix it with an underscore: `_id` + +warning: variable does not need to be mutable + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/user_kvs.rs:18:13 + | +18 | let mut base_data = BaseData::new(); + | ----^^^^^^^^^ + | | + | help: remove this `mut` + +warning: unused variable: `id` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/user_kvs.rs:59:16 + | +59 | pub fn new(id: u32) -> Self { + | ^^ help: if this is intentional, prefix it with an underscore: `_id` + +warning: variable does not need to be mutable + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/heroledger/user_kvs.rs:60:13 + | +60 | let mut base_data = BaseData::new(); + | ----^^^^^^^^^ + | | + | help: remove this `mut` + +warning: unused variable: `id` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/money/models.rs:148:16 + | +148 | pub fn new(id: u32) -> Self { + | ^^ help: if this is intentional, prefix it with an underscore: `_id` + +warning: variable does not need to be mutable + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/money/models.rs:149:13 + | +149 | let mut base_data = BaseData::new(); + | ----^^^^^^^^^ + | | + | help: remove this `mut` + +warning: unused variable: `id` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/money/models.rs:243:16 + | +243 | pub fn new(id: u32) -> Self { + | ^^ help: if this is intentional, prefix it with an underscore: `_id` + +warning: variable does not need to be mutable + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/money/models.rs:244:13 + | +244 | let mut base_data = BaseData::new(); + | ----^^^^^^^^^ + | | + | help: remove this `mut` + +warning: unused variable: `id` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/money/models.rs:351:16 + | +351 | pub fn new(id: u32) -> Self { + | ^^ help: if this is intentional, prefix it with an underscore: `_id` + +warning: variable does not need to be mutable + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/money/models.rs:352:13 + | +352 | let mut base_data = BaseData::new(); + | ----^^^^^^^^^ + | | + | help: remove this `mut` + +warning: unused variable: `id` + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/money/models.rs:411:16 + | +411 | pub fn new(id: u32) -> Self { + | ^^ help: if this is intentional, prefix it with an underscore: `_id` + +warning: variable does not need to be mutable + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/money/models.rs:412:13 + | +412 | let mut base_data = BaseData::new(); + | ----^^^^^^^^^ + | | + | help: remove this `mut` + +warning: fields `expiry_date`, `status`, and `message` are never read + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/money/payments.rs:142:5 + | +139 | struct PesapalAuthResponse { + | ------------------- fields in this struct +... +142 | expiry_date: Option, + | ^^^^^^^^^^^ +143 | error: Option, +144 | status: Option, + | ^^^^^^ +145 | message: Option, + | ^^^^^^^ + | + = note: `PesapalAuthResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis + = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default + +warning: multiple fields are never read + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/money/payments.rs:181:5 + | +178 | struct PesapalTransactionStatusResponse { + | -------------------------------- fields in this struct +... +181 | created_date: String, + | ^^^^^^^^^^^^ +... +184 | description: String, + | ^^^^^^^^^^^ +185 | message: String, + | ^^^^^^^ +186 | payment_account: Option, + | ^^^^^^^^^^^^^^^ +187 | call_back_url: String, + | ^^^^^^^^^^^^^ +188 | status_code: i32, + | ^^^^^^^^^^^ +189 | merchant_reference: String, +190 | payment_status_code: String, + | ^^^^^^^^^^^^^^^^^^^ +... +193 | status: String, + | ^^^^^^ + | + = note: `PesapalTransactionStatusResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis + +warning: type alias `RhaiContractStatus` is never used + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/objects/legal/rhai.rs:24:6 + | +24 | type RhaiContractStatus = ContractStatus; + | ^^^^^^^^^^^^^^^^^^ + +warning: field `index` is never read + --> /Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core/src/store/generic_store.rs:9:5 + | +7 | pub struct GenericStore { + | ------------ field in this struct +8 | client: HeroDbClient, +9 | index: FieldIndex, + | ^^^^^ + | + = note: `GenericStore` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis + + Compiling hero_logger v0.1.0 (https://git.ourworld.tf/herocode/baobab.git?branch=logger#d7a7eae1) + Compiling sal-git v0.1.0 (https://git.ourworld.tf/herocode/herolib_rust.git#9865e601) + Compiling sal-redisclient v0.1.0 (https://git.ourworld.tf/herocode/herolib_rust.git#9865e601) + Compiling hero-job-client v0.1.0 (/Users/timurgordon/code/git.ourworld.tf/herocode/job/rust/client) + Compiling sal-hetzner v0.1.0 (https://git.ourworld.tf/herocode/herolib_rust.git#9865e601) + Compiling sal-net v0.1.0 (https://git.ourworld.tf/herocode/herolib_rust.git#9865e601) + Compiling runner_rust v0.1.0 (/Users/timurgordon/code/git.ourworld.tf/herocode/runner_rust) +warning: unused import: `packages::Package` + --> src/async_runner.rs:3:20 + | +3 | use rhai::{Engine, packages::Package}; + | ^^^^^^^^^^^^^^^^^ + | + = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default + +warning: fields `job_id` and `handle` are never read + --> src/async_runner.rs:14:5 + | +13 | struct RunningJob { + | ---------- fields in this struct +14 | job_id: String, + | ^^^^^^ +15 | handle: JoinHandle>>, + | ^^^^^^ + | + = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default + +warning: methods `add_running_job`, `remove_running_job`, and `cleanup_finished_jobs` are never used + --> src/async_runner.rs:91:14 + | + 84 | impl AsyncRunner { + | ---------------- methods in this implementation +... + 91 | async fn add_running_job(&self, job_id: String, handle: JoinHandle>>) { + | ^^^^^^^^^^^^^^^ +... +105 | async fn remove_running_job(&self, job_id: &str) { + | ^^^^^^^^^^^^^^^^^^ +... +121 | async fn cleanup_finished_jobs(&self) { + | ^^^^^^^^^^^^^^^^^^^^^ + +warning: `runner_rust` (lib) generated 3 warnings (run `cargo fix --lib -p runner_rust` to apply 1 suggestion) +warning: `osiris-core` (lib) generated 98 warnings (run `cargo fix --lib -p osiris-core` to apply 60 suggestions) +warning: unused variable: `redis_url` + --> src/bin/runner_osiris.rs:37:13 + | +37 | let redis_url = args.redis_url.clone(); + | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_redis_url` + | + = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default + +warning: unused variable: `base_db_id` + --> src/bin/runner_osiris.rs:38:13 + | +38 | let base_db_id = args.base_db_id; + | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_db_id` + +warning: unused variable: `redis_url` + --> src/bin/runner_osiris.rs:75:9 + | +75 | let redis_url = args.redis_url.clone(); + | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_redis_url` + +warning: unused variable: `base_db_id` + --> src/bin/runner_osiris.rs:76:9 + | +76 | let base_db_id = args.base_db_id; + | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_db_id` + +warning: `runner_rust` (bin "runner_osiris") generated 4 warnings + Finished `release` profile [optimized] target(s) in 2m 21s +warning: the following packages contain code that will be rejected by a future version of Rust: osiris-core v0.1.0 (/Users/timurgordon/code/git.ourworld.tf/herocode/osiris/core), redis v0.24.0, redis v0.25.4 +note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 12` +✅ Osiris Runner built successfully diff --git a/logs/supervisor.log b/logs/supervisor.log new file mode 100644 index 0000000..4daeea2 --- /dev/null +++ b/logs/supervisor.log @@ -0,0 +1,126 @@ +Building Hero Supervisor... + Compiling hero-supervisor v0.1.0 (/Users/timurgordon/code/git.ourworld.tf/herocode/supervisor) +warning: unused imports: `ClientBuilder` and `Client` + --> src/job.rs:3:23 + | +3 | use hero_job_client::{Client, ClientBuilder}; + | ^^^^^^ ^^^^^^^^^^^^^ + | + = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default + +warning: unused doc comment + --> src/openrpc.rs:252:1 + | +252 | /// Thread-local storage for the current request's API key + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations + | + = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion + = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default + +warning: unused import: `crate::runner::Runner` + --> src/services.rs:9:5 + | +9 | use crate::runner::Runner; + | ^^^^^^^^^^^^^^^^^^^^^ + +warning: unused imports: `ClientBuilder` and `Client` + --> src/lib.rs:21:23 + | +21 | use hero_job_client::{Client, ClientBuilder}; + | ^^^^^^ ^^^^^^^^^^^^^ + +warning: variable does not need to be mutable + --> src/supervisor.rs:481:17 + | +481 | let mut pm = self.process_manager.lock().await; + | ----^^ + | | + | help: remove this `mut` + | + = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default + +warning: unused variable: `force` + --> src/supervisor.rs:494:57 + | +494 | pub async fn stop_runner(&mut self, actor_id: &str, force: bool) -> RunnerResult<()> { + | ^^^^^ help: if this is intentional, prefix it with an underscore: `_force` + | + = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default + +warning: variable does not need to be mutable + --> src/supervisor.rs:500:17 + | +500 | let mut pm = self.process_manager.lock().await; + | ----^^ + | | + | help: remove this `mut` + +warning: unused variable: `lines` + --> src/supervisor.rs:529:9 + | +529 | lines: Option, + | ^^^^^ help: if this is intentional, prefix it with an underscore: `_lines` + +warning: unused variable: `follow` + --> src/supervisor.rs:530:9 + | +530 | follow: bool, + | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_follow` + +warning: field `session_name` is never read + --> src/supervisor.rs:43:5 + | +42 | struct TmuxProcessManager { + | ------------------ field in this struct +43 | session_name: String, + | ^^^^^^^^^^^^ + | + = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default + +warning: function `invalid_params_error` is never used + --> src/openrpc.rs:63:4 + | +63 | fn invalid_params_error(msg: &str) -> ErrorObject<'static> { + | ^^^^^^^^^^^^^^^^^^^^ + +warning: function `parse_process_manager_type` is never used + --> src/openrpc.rs:483:4 + | +483 | fn parse_process_manager_type(pm_type: &str, session_name: Option) -> Result> { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^ + +warning: `hero-supervisor` (lib) generated 12 warnings (run `cargo fix --lib -p hero-supervisor` to apply 5 suggestions) + Finished `release` profile [optimized] target(s) in 25.90s +warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.25.4 +note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` +✅ Hero Supervisor built successfully +Starting Hero Supervisor... +[2025-11-04T15:43:17Z INFO supervisor] Starting Hero Supervisor +[2025-11-04T15:43:17Z INFO supervisor] Using CLI configuration +[2025-11-04T15:43:17Z INFO supervisor] Bootstrapping admin API key: admin + +╔════════════════════════════════════════════════════════════╗ +║ 🔑 Admin API Key Created ║ +╚════════════════════════════════════════════════════════════╝ + Name: admin + Key: 803d2cc3-efae-400c-a183-997ad35cbd85 + Scope: admin + ⚠️ SAVE THIS KEY - IT WILL NOT BE SHOWN AGAIN! +╚════════════════════════════════════════════════════════════╝ + + +╔════════════════════════════════════════════════════════════╗ +║ Hero Supervisor Started ║ +╚════════════════════════════════════════════════════════════╝ + 📡 OpenRPC Server: http://127.0.0.1:3030 + 🔗 Redis: redis://localhost:6379 + 🌐 Mycelium: Not compiled (use --features mycelium) +╚════════════════════════════════════════════════════════════╝ + +[2025-11-04T15:43:17Z INFO supervisor] Starting OpenRPC server on 127.0.0.1:3030 +[2025-11-04T15:43:17Z ERROR supervisor] OpenRPC server error: Address already in use (os error 48) +[2025-11-04T15:43:17Z INFO hero_supervisor::app] Starting Hero Supervisor Application +[2025-11-04T15:43:17Z INFO hero_supervisor::app] Starting all runners +[2025-11-04T15:43:17Z INFO hero_supervisor::app] All runners started successfully +[2025-11-04T15:43:17Z INFO hero_supervisor::app] Mycelium integration not enabled (compile with --features mycelium) +[2025-11-04T15:43:17Z INFO hero_supervisor::app] Supervisor is running. Press Ctrl+C to shutdown. diff --git a/pids/osiris_runner.pid b/pids/osiris_runner.pid new file mode 100644 index 0000000..8524629 --- /dev/null +++ b/pids/osiris_runner.pid @@ -0,0 +1 @@ +73798 diff --git a/pids/supervisor.pid b/pids/supervisor.pid new file mode 100644 index 0000000..c69aca1 --- /dev/null +++ b/pids/supervisor.pid @@ -0,0 +1 @@ +73768 diff --git a/scripts/README.md b/scripts/README.md new file mode 100644 index 0000000..0758107 --- /dev/null +++ b/scripts/README.md @@ -0,0 +1,181 @@ +# Hero System Scripts + +This directory contains wrapper scripts for building and running the Hero system components. + +## Overview + +The Hero system consists of three main components: +- **Hero Coordinator**: Manages job coordination and routing +- **Hero Supervisor**: Manages runner processes and job execution +- **Osiris Runner**: Executes jobs using the Osiris protocol + +## Architecture + +The scripts in this directory are **wrappers** that delegate to individual component scripts: + +- `home/scripts/build.sh` → calls `build.sh` in each component repo +- `home/scripts/run.sh` → calls `run.sh` in each component repo +- Each component's `run.sh` → calls its own `build.sh` before running + +This ensures each component is self-contained and can be built/run independently. + +## Scripts + +### build.sh + +Wrapper that builds all Hero system components by calling their individual build scripts. + +**Usage:** +```bash +./build.sh +``` + +This calls: +- `herocoordinator/scripts/build.sh` +- `supervisor/scripts/build.sh` +- `runner_rust/scripts/build.sh` + +### run.sh + +Manages Hero system services. + +**Usage:** +```bash +./run.sh [command] +``` + +**Commands:** +- `start` - Start all services (default) - each service builds itself first +- `stop` - Stop all services +- `restart` - Restart all services +- `status` - Show status of all services +- `logs` - Tail all service logs + +**Examples:** +```bash +./run.sh start # Start all services (builds automatically) +./run.sh status # Check status +./run.sh logs # View logs +./run.sh stop # Stop all services +./run.sh restart # Restart all services +``` + +**Note:** Each component's `run.sh` automatically calls its `build.sh` before starting, so you don't need to build manually. + +## Components + +### Coordinator +- **Binary:** `herocoordinator/target/release/herocoordinator` +- **Port:** 8081 (configurable via `COORDINATOR_PORT`) +- **Purpose:** Coordinates job execution across the system + +### Supervisor +- **Binary:** `supervisor/target/release/supervisor` +- **Port:** 3030 (configurable via `SUPERVISOR_PORT`) +- **Purpose:** Manages runners and job dispatch via OpenRPC + +### Osiris Runner +- **Binary:** `runner_rust/target/release/runner_osiris` +- **Purpose:** Executes Osiris-specific jobs + +## Configuration + +Set environment variables before running: + +```bash +# Redis connection +export REDIS_URL="redis://127.0.0.1:6379" + +# Service ports +export COORDINATOR_PORT=8081 +export SUPERVISOR_PORT=3030 + +# Logging +export LOG_LEVEL=info # Options: trace, debug, info, warn, error +``` + +## Logs and PIDs + +- **Logs:** `/Users/timurgordon/code/git.ourworld.tf/herocode/home/logs/` + - `coordinator.log` + - `supervisor.log` + - `osiris_runner.log` + +- **PIDs:** `/Users/timurgordon/code/git.ourworld.tf/herocode/home/pids/` + - `coordinator.pid` + - `supervisor.pid` + - `osiris_runner.pid` + +## Prerequisites + +1. **Redis** must be running: + ```bash + redis-server + ``` + +2. **Rust toolchain** must be installed: + ```bash + rustc --version + cargo --version + ``` + +## Troubleshooting + +### Services won't start + +1. Check if binaries are built: + ```bash + ls -la ../herocoordinator/target/release/herocoordinator + ls -la ../supervisor/target/release/supervisor + ls -la ../runner_rust/target/release/runner_osiris + ``` + +2. If missing, build them: + ```bash + ./build.sh + ``` + +### Check logs + +```bash +# View all logs +./run.sh logs + +# Or view individual logs +tail -f ../home/logs/coordinator.log +tail -f ../home/logs/supervisor.log +tail -f ../home/logs/osiris_runner.log +``` + +### Redis not running + +```bash +# Start Redis +redis-server + +# Or in background +redis-server --daemonize yes +``` + +### Port already in use + +Change the port via environment variables: +```bash +COORDINATOR_PORT=8082 SUPERVISOR_PORT=3031 ./run.sh start +``` + +## Development Workflow + +```bash +# 1. Make code changes +# ... edit code ... + +# 2. Rebuild affected component +./build.sh coordinator # or supervisor, or runner + +# 3. Restart services +./run.sh restart + +# 4. Check logs +./run.sh logs +``` diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100755 index 0000000..0dacd08 --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -e + +# Hero System Build Script - Wrapper +# Calls build.sh in each component repo + +HERO_BASE="/Users/timurgordon/code/git.ourworld.tf/herocode" + +echo "Building Hero System components..." + +# Build coordinator +"$HERO_BASE/herocoordinator/scripts/build.sh" + +# Build supervisor +"$HERO_BASE/supervisor/scripts/build.sh" + +# Build osiris runner +"$HERO_BASE/runner_rust/scripts/build.sh" + +echo "✅ All Hero System components built successfully" diff --git a/scripts/run.sh b/scripts/run.sh old mode 100644 new mode 100755 index e69de29..fad3ecb --- a/scripts/run.sh +++ b/scripts/run.sh @@ -0,0 +1,222 @@ +#!/bin/bash +set -e + +# Hero System Startup Script - Wrapper +# Runs individual run.sh scripts in background with logging + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Base directory +HERO_BASE="/Users/timurgordon/code/git.ourworld.tf/herocode" + +# Log directory +LOG_DIR="$HERO_BASE/home/logs" +mkdir -p "$LOG_DIR" + +# PID file directory +PID_DIR="$HERO_BASE/home/pids" +mkdir -p "$PID_DIR" + +# Function to print colored messages +log_info() { + echo -e "${BLUE}[INFO]${NC} $1" +} + +log_success() { + echo -e "${GREEN}[SUCCESS]${NC} $1" +} + +log_warning() { + echo -e "${YELLOW}[WARNING]${NC} $1" +} + +log_error() { + echo -e "${RED}[ERROR]${NC} $1" +} + +# Function to check if Redis is running +check_redis() { + log_info "Checking Redis connection..." + if redis-cli ping > /dev/null 2>&1; then + log_success "Redis is running" + return 0 + else + log_error "Redis is not running. Please start Redis first." + log_info "You can start Redis with: redis-server" + return 1 + fi +} + +# Function to start a component with log prefix +start_component() { + local name=$1 + local script=$2 + local log_file=$3 + local pid_file=$4 + local prefix=$5 + + log_info "Starting $name..." + + # Start the script and pipe output through a prefix filter + "$script" 2>&1 | while IFS= read -r line; do + echo -e "${prefix}${NC} $line" + done & + + local pid=$! + echo $pid > "$pid_file" + sleep 2 + + if ps -p $pid > /dev/null 2>&1; then + log_success "$name started (PID: $pid)" + else + log_error "Failed to start $name" + return 1 + fi +} + +# Function to stop a process +stop_process() { + local name=$1 + local pid_file=$2 + + if [ -f "$pid_file" ]; then + local pid=$(cat "$pid_file") + if ps -p $pid > /dev/null 2>&1; then + log_info "Stopping $name (PID: $pid)..." + kill "$pid" 2>/dev/null || true + sleep 2 + + # Force kill if still running + if ps -p "$pid" > /dev/null 2>&1; then + log_warning "Force killing $name..." + kill -9 "$pid" 2>/dev/null || true + fi + + rm -f "$pid_file" + log_success "$name stopped" + else + log_info "$name is not running" + rm -f "$pid_file" + fi + else + log_info "$name is not running" + fi +} + +# Function to show status +show_status() { + echo "" + log_info "Hero System Status:" + echo "" + + for service in coordinator supervisor osiris_runner; do + local pid_file="$PID_DIR/${service}.pid" + if [ -f "$pid_file" ]; then + local pid=$(cat "$pid_file") + if ps -p $pid > /dev/null 2>&1; then + echo -e " ${GREEN}●${NC} $service (PID: $pid)" + else + echo -e " ${RED}●${NC} $service (dead, PID file exists)" + fi + else + echo -e " ${RED}●${NC} $service (not running)" + fi + done + echo "" +} + +# Function to stop all services +stop_all() { + log_info "Stopping Hero System..." + stop_process "Osiris Runner" "$PID_DIR/osiris_runner.pid" + stop_process "Supervisor" "$PID_DIR/supervisor.pid" + stop_process "Coordinator" "$PID_DIR/coordinator.pid" + log_success "All services stopped" +} + +# Trap handler for cleanup on exit +cleanup() { + echo "" + log_warning "Received exit signal, stopping all services..." + stop_all + exit 0 +} + +# Main script +case "${1:-start}" in + start) + log_info "Starting Hero System..." + + # Set up trap for SIGINT and SIGTERM + trap cleanup SIGINT SIGTERM + + # Check Redis + if ! check_redis; then + exit 1 + fi + + # # Start services + # start_component "Coordinator" \ + # "$HERO_BASE/herocoordinator/scripts/run.sh" \ + # "$LOG_DIR/coordinator.log" \ + # "$PID_DIR/coordinator.pid" \ + # "${GREEN}[COORD]" || exit 1 + + start_component "Supervisor" \ + "$HERO_BASE/supervisor/scripts/run.sh" \ + "$LOG_DIR/supervisor.log" \ + "$PID_DIR/supervisor.pid" \ + "${BLUE}[SUPER]" || exit 1 + + start_component "Osiris Runner" \ + "$HERO_BASE/runner_rust/scripts/run.sh" \ + "$LOG_DIR/osiris_runner.log" \ + "$PID_DIR/osiris_runner.pid" \ + "${YELLOW}[OSIRS]" || exit 1 + + echo "" + log_success "Hero System started successfully!" + show_status + + echo "" + log_info "Displaying live logs from all services..." + log_info "Press Ctrl+C to stop all services" + echo "" + + # Keep running and wait for signals + wait + ;; + + stop) + stop_all + ;; + + restart) + stop_all + sleep 2 + $0 start + ;; + + status) + show_status + ;; + + *) + echo "Usage: $0 {start|stop|restart|status}" + echo "" + echo "Commands:" + echo " start - Start all Hero services with live log display (default)" + echo " stop - Stop all Hero services" + echo " restart - Restart all Hero services" + echo " status - Show status of all services" + echo "" + echo "Note: 'start' displays live logs from all services with color-coded prefixes." + echo " Each service's run.sh will build itself before starting." + exit 1 + ;; +esac