From 211c3ea4fa61f4cf20e3fb0e109a64244056893b Mon Sep 17 00:00:00 2001 From: Yuriy Date: Sat, 18 May 2024 00:41:20 -0400 Subject: [PATCH] readme --- Assets/Preview.png | Bin 0 -> 95554 bytes Freedomain Livestream Scheduler.ahk | 167 ++++++++++++++------- Lib/Freedomain-Posters-Shared-Functions | 2 +- Modules/Media-Manager-Update-Redirects.ahk | 64 +++++--- Modules/Odysee-Schedule.ahk | 7 + README.md | 10 ++ Version.ini | Bin 78 -> 78 bytes 7 files changed, 168 insertions(+), 82 deletions(-) create mode 100644 Assets/Preview.png diff --git a/Assets/Preview.png b/Assets/Preview.png new file mode 100644 index 0000000000000000000000000000000000000000..0c33c8290d8dc354166a1cb7701e087fdbbfe63f GIT binary patch literal 95554 zcmaHS3p`W*|9_=iO3_s!BDY3FNpdT?xYNx2GF_GmQ*)W?R?!XRI?6R6EtloG=C-6< zwh+Z=8x^w{!^AM#{zrYj-{1H5`~Cm_hlhC_XM68;e?4E%_xn6@v_HRf^S;gN)~(xW zWqAg?Zrvu#x^)|ViHidNSvMeO1iY>f2A?-ySJ5p$0bFeKJ8gG*-MY%8Evpwd0oM{Y zE!~6Ht=prz_PgE+tTMZ9ov_&I%xOrt&lF!Q2S#y!nULTs`gWs8Y);@NO;2}kuqNJP z(#6H5{A)QJ`}K5gunW^I*ON{%G|a5te)YTFJN={g368fPtpDP>wqG`oye8P45YcZthP(NNWR9{?D>4RTz9qh z8%PcJ8K)k2rL82KN?@IF!;DO10;%_y@fm5p<1&jI5Rt zLxjJPXd~+-!McvXpc5VYZO|Qo4YGu3;NxQR{8R9}i)3kY`vZcC_otXr23=1|hNAz9 zd1HAT%6H{5MwSk*tr#z*J;sTFuP&t72==BIarAcvC1`57*O3(ebTF2vm zJa$TwFV@>Zs{3rC(>x`7*xlLL`%rj~03EAyPP$WOv;&faw{9TsG#5W)BX8a@SiG`j z{uGmWt#0bnIJNN{pu^gddM6rx|J3Z2ZB@)H(yP}k<6OEKS0&tpKLdZ(QdCcL=?v6V z#c%64Y_zXqzdwc+c>u2k2x$4ZLn$uN?lnOP9h&J!k55!n6_~ z=O*;79_R~5okPb6qu4}2e}4VJ{2`{o$(82~C|+oV|NIF9_&n@AEL(fGHa+~&&CXGo zEiyrGJG^Utm?L{vw$PWlT;F2FX2KfG2wnVTD5{??6f8E};vI|?evESL2#hM~*bg;9 zu<+(^Pe7TrBkR+$#XNEy#0}TKfhGsfpIWgADU2}8I&AiJUgA$E$wrrL7Ey37;=o+# z8imV0x|&D$-ogjfn;Fn$dJjQt8=c9HS@FUD$UOd5L^yZbXqESXE*PQCEUu13(VpO@ zZhAI1el!utB{kFvnI3q~NO=f(*kgQ8H0n;&)R!c}P*XMiw?Rn*HILBcT{o?V^zXUC zCFr2v^GAhCPo^$knIqnodPqBdK9#2H(pgRc5vI4BckFH5XbV@k7K(yD3-QqeWL00c z46V!7G5EYZp+|`Ln*@@kF~oUvg4zA^&A(qiVi%RF4}*eyA!cb0Ej7%-mrU`KX`1vB z!A~dlQQ`Da_D*4sI_-flU#h{CIQKegP6ry|fS$gN{GF6kABztEJk4)vf-_yi>br!L zt9Sv0($G(=|8`i&V8DOK?5S@zoqrm&R4CQJ+UCVno2l>RXO0qOxEAL`1X4Sc40_(c z#Fef{Uf!W*ASFqOHt&!)!s;;qKG{*|40m>tdf^Twy zBp=K}F|+D+li5#v_7|uy#7cuWH!^%vhtIHKKQoIucaNh8iQ^EVGXtxW`|unaP5KKR zZA7q{3B_dP(Ruo(q)#DSVkEKQ+WcAgf+l$sby7-5ew&yPI9=aXG#a^pL{j@^oK7ln4+ZYteA>9t9fZ^hdn3nWvzU=w$=+7h!K{ z-_&p`vcV4e4YGp-T^f*~DGKR|4I?Y85k${w=TUtL##SLJ)^pz9pLS=&^t*tbFErv} zg{y}QN{~;)8DdcMXF8A6#9oP|G)Pb@5_s1Wg~j@**=GB!k_g)gq37?0C6x|y`nl(` zT1?f9dU_+9NxKu@RofSyyY~pCBKgn2x(hih>};F!Ul9J${7WH6naWozpZTnJ*haGzvLC@q$S_ zjkwApzC{Z%(P8sG`9P#E`)nsU`Q-dmQ^@ zrSrk$V_AMhK%F_ay&qaf&CS;aa!L&K(6P`2)IHDe;B=##MUG( zdmfHuRQkZ9)OXB8QW|J0`u=`nB8Q#=@Mo9mY#-U z9LIkoysK&Xu>l>;YZt14myOWe{RXg}UHI9fTM8ZRjnainIH6lcYsiRzM+=R@?JS69 zeZklJFM5x5dxzRzhaOT33_iAp&}!iiju?AaiJc|)1U*0tHKD1~KlC*Xj2V1Jrc(JG ze|LsI`uBq&SnzMx#X1`__voG?y(i`U!PM%Qs0p90Y!jmfulRC{O4Iwg*wk#X`~Id% zSJE%=VGZ=%qiu47Xl0%;yI@YW%pt#4i;C6n8132vJ_MK>WUWBC1uY81ZaXz#(r_3sXeQdmJB!z#VU|<#>`CJH&fS3^7awiW8T+yebCF0?V{YSxh;`NGd|)4 zC{UO5qhng{4w6zLUF-!OWS~Gq;Xb(k2lWr=760c{KN- zBWiJ}n*Gr%s+Ug@Ebf8pq#pS#QPQr zIIa5@JIC2Ca}lF=^EwN?y*t&jF6LYVM8Vc0g=8H{r|F&3Bp++vkxz&yPf?h8m*jVV z8k-ZK%J?Q}%@AC$lgA_A{Zi|uOv<1$vFp+XZi5N2x)=Xx7qa(?h}R6VGP6gtyXp)E z|8Y)|z>*+In^Pr@>BuJSL)Da8W^L!JC740 zeBX@kG`GL`nmG7R`%P|%1rziqAC0E$Aw9=JhF7SbXEhX8S}oXviu;41LILIME;JX7 zqI5;vc;YF*GT0L%5#O46x%YVt9KVV;OpPMh8Pjq1dW?eUxxp;1V^6=5Y`QT%oVbA|W1mcA` zmUhzlj`6-Yy=xj69RRXWmptX@1!gD57Wo2G*_s(0!J^KYUBWMB!Zag+Pysoz(hx*I zFO{Hg3V#dvX^r{WFWI@1rZoZ!<#Zi-7}m&-ZWybKIqjU7wb6c)ZbnPg1frjdU_Enm zcE`>Xb2Lp%sXi-tR;-X1Py1r$Ws@9-dadDBW1hmR=bFvs{+6Ja^y)*tE3f{Uc$>bI6VpJxHzf13-A@TVNz z{er-{%(I-?no;V5r|}5PgLr6kzCw1OIzFjIl!*as>)S-rec5w^y)Sv&f%r6(W02g$ zVksn3H7@b=YvS9a->aam48_0AEvLf~gn#g8OtU>nakshbF${@?ipdpcNAj;WxLt2g68CGCVhFwy1z4kjwI4+WQB9CV1 z(ozqST;NUKVlG~vF`%LfgOA4Zm(9eDS7HpWXEpmF3{0;2a_LX1-ChpbTZ1OSZ*a7T z-96_bA_59iI%-GlaO<0KaPpIq$WJHs&{50beK1L{g8>JTwuXm%HnqpW5Hlt1{;9{k zMT@xDl+_Qs@&MclDm0tnSKx*V-vc>D4XvDckUCj=V|RnFpXF?9wt`yNm#lkRB8g`F zd2+Qy4X<+$Z>)4B@dE#2OcB%ddfnU`j5_-V>E&0*zlyaZ!NM1k)?f$eTa(^O6 z0I8S=<130Qq+L_nIGr^ZT?iU^^Ejjlq&D|@hBcR7eEeP2NrKB%yXghC`CUruN69_?c45?ZoxA;bY@>eq=#a@mgyL>`J;5|6>#V z5B7fEzYGiz)BsdHfY8@aqx}^P4E6FSRg4lQlh4tca7L{fC?Kh5{|4SSWV70fC7y6L z20z#Jm|f+ZN%+FdW!pzg?LxNo9i>J1cL&P^)epundWg#8i}ijpChXs^l7{(#eDy;N zu1*BeD0o@6IHq_PqQV3lp!`+=6dykZH#y)a*ZFmFu0O5rUER^WU_%q)?{AR5wk(62 zoiAkhrgJl8?qZ9`R>XA3x~wu0XNenBs}Ye%W7s4Ac8HXb=}y%1dU&MQQgfv7$6(!? zSjj230OCTo!6s&kkAEQuR+$?)i0BUmzvf}_0So-sj)4pA*Fv;n?V9|b9*n6#%m=r7 zH;G=6^zA#i2KZM&1lZ})H4u<9sl%S`o{?Ip!>~*GVOapy21aFd3!qf0rQ4~v5)}{a zvt}e1c#Z9extJo(&?nZl1qv3r*bc<`66JW}JaXig)1vJy*8t*s`rOohI4Qx27T7}@ zSKFUErY4{BUGN3E$BGdZ$-Y&hWqLM_bI8Ww){OhC0&={nC6n}A`T~RNB%1ZPTmf1* z?VP#)Ap{;upRC2=eL{JL-!e&?i*lMCEZA+^(4eN;*}KtGo$g=+mW3p>)}?{P&qm|O zwK|w-LO++a-$B;sK8H6^AA1Nh7YZPlvA9!{UC0t?eqCsixWQ4dLRK_j@dHIwD%5s9X0ZTOF({#X-~FdM9!4dRK?tey?!BcO1YS2umg8u z561o@7nDjOGZryvq=~xQ(@`~6u!gpK$7&+@4mVtS3iFb`j$$!yYiDHI{lBkd^b||y zhu4PA@o!qes1EjU*OocfQ80=Kg0T)~f^!@UBXZNQ3vmV+R$R{}Zn^1}!V4gLy%)x% z=UL9Fr;eRnB3p1Fkh30m|gr1uL{iT&FCY-^2-R?)V8L5Uj zDS7TL6wN4As4j={O@X)JDmAP573Q5TKEm1c{b0R* zSk5lV%PBR<<8Yj1%X;oBoWJE2sc857E@XVX&dK5ZfKlGAGS?W~iHu88i$0OvgSeQa z;7b3ecNcETFE-`6F1($MsShl3GC3ZlLw8_*%erRI^(PneI&#&U?eS0(K|#^5{)ea& z_B;h>Nza+mv5NJEExHB3=#bSVR$i8$>Zx7atJfd6-Ta*HqD>6kry*Tvxp(Cc+@1g` zk=&QpM-;3oX^x;IYWTB11N%p)*VK4SSf1x9;UgQ_Tp%$PBuEOX_r#A(w$1E=iZfy; zZ#Bc9KePb=!uzQh-OFbY1*MX|3?iskkesQsvl>MIfd-n90_uTLaOY=Bn6L7&Vo<;x zs~72$dTKsfqoFfPugP~qO!q#7h`JH$`IGhi{!T&pglX4KZ=2S*EH(~gmvFhfDXBiO z^FumB%Z1s`E^K_<)?WDZvrVVf)$9j>&u-gox&&|fN%)lysd&LH3v;JB#CMgdpQ#j1 zE>1Oq5$%r_`e3$8E?g%QZLj=E6idQcE3;xtAM2@+py0(HlW9liHiR7_u&z0RkO%%u zoz=_FF$+!za`7>bm-UAMP9l!K{qr@SCYWdx>d95|wh+^`0)B1_k*g>uoOMO7lqe^7 zwhVLz&YZc_`mHwb(WRYaHys1?D*)cj3`UhUu>WE#QPhm-vIb}CzRAcYEJ44qQazi!5!AplaJfT-(8&}}qBXoJa%@1101K{Z0Q&q_-&CO7 z9?KrtT=zJghA2;^Dge#jiErWipUwZuu{pX>AdEk7j`P;}jqv~((B}tQIL)Q& zcf2VJh4B|} z^!G^Qw7~zYMiN!mK8_P1*B$JKGoy@DLdvZ2igm?NO+ghc1n*gREynQk(SXMwJx z?klUz|hNA@+v%U>6w1>hTHTZtn#HKAU>yNtTPuN3m)$`u< zNxentgyW;yFV7^OUjAIL`sBf|k_1egkxBer24LHm2EdRmbHo}-vS)Y4VJQT8AAvzF z&YiBU4mjEuxV3E&0DSUlr-0!d_MGKdnCDqE1s3zJhd%ok1s7{& zft3{eK(9V#@xBPxpxtNhN-Q}SzvA_S=FAjlmKl4Vi2CTh2A%7xGx8_8y-@d!g57Lj-HQqkId3e3w>b_{}>{TJOf1 z4T18dC^7X^T8+w&Puib6lhz}>G1~wzRn^PWzSP(Fu7bRL&-;H^ zamhXDq$?X|iDQ}9j^Pw0PIe9W!w4bIyNnOV$RRwY5an3uS$|b~YT}dy>EqSK5DPZ3+7Vl}L{Rc%a~%j7wH}x$@v_!~7Q*z@wgG zmJC+?(d){Q=Mc5RUBIxJ;gV6RomSWn`!ZcuzwKI008n==+b`ZdXn=Flc$BxNBk&-w zgP?Rp`i;8Ys8Y)c$H<{2YN=wPP zA$?Z*-}&r39||SY6B*J+&CRpGv$}u{CD}*~%-`*VKl8wml>=!z@6Zw}*b0=)q3&z3 z;AhFb>;L0x0B$@8srro8KOGs#+i`u0$YzDo`!`lY;WaiM)-dyPV*ja$`sOD3qmYFV zeftC41;_^kGAN922R!VM$?Al_YpNubu7sSz+WupzqQd1#gJxz0YP^Tu1Ly5T_N|z) zPr##=S%|F&%KbzWlGU)whk$(6gf&Gr>$eUdl{ygK|FX!*Jspsav2x;KAh!v<>c`a) za&-1@>Rz7BB#xrOSow}x`O?1~q@^BwDu$?yeYpE?16#HusG3mZ`Q}x6+0AK{y46Xj zjfWBPafjQbaBw>xh_mFKTL9Jm5p(~RNyU@81zwCO;gX1zCbMF@tYgHXd6@T>ml80Mc9VPsEb3EjHe$D=1ulDg!0y}R{gC3=-ZAV9ll`JMW;}62^o*E){L;aUQCXDd%affid?xJNJz*A(YUWP|k>}4;t_4HR zk|SuR-U&yLj3Y>DTjBVKU#XX69LyV3Ro$5Tdhc|n>p6&Oz}c@)oB9bf4;L*<<=dV>;0{Fw>7+rIS|VYisN>hk?bcWI1^^K* zYG67Y|0dc$wyjaYBoP@;KJA}r%e;~-M6tJX2j)I;4hPfr%O(YOg$BWxQaWqyf4a&g zz!mk1Iq!-PZlVhZw=$~w7&s$_o~)*11*H4K3hyj_ z4`P#WTG;TsXIeJ1(G1=rAvn){6w%xz(3Zmzsae(x{J2^>#&0!cbU8Fz<R1P8e(t zM;1L=R{~h=9A|{-QWTIEZ~R2Lc9=K)r4ziS)YQZ+`oc=NrilCwJ&%I_rJCzvggM}u z$Rds>yh6Sw+<@ER$qv6hd<(hSK}+_5YX{6bg7P0G{v!5Z(C9BkH!p)YCziQ*6*sZj zYQw9=h_qn1C&=|xxuR?{S|~0n9;=Cw>va_I}m z%eUfX?mU=)36;|_8V+*USfyI-G`S_fn$dExNElOL-F&T41@(WGV5_XSYs1b%= zr+fp5xf4Z*Efo?OA)gmcMjMP> zsYnq_r}Cm+_J?L4P9O#Ysed;`$R&UdozC30fs(nJtx0dD@4iUuPo3&#th^`M32O0S zM*66iYFl$Bw!tqxyO=_HwyYky95ZC7zc(CLkkc0Wh;o>i+rojxN$RJQ4%!Nf5iK-4 zhb6Vg;*d{v{^d|&I_YmuSf5TJFzj~$Uz!A2Y=kv+ZrU+>TKr}A$o3WFIqBZH7`t8M z<3DFOwdkIjW_ab4)o4=Om8!cH%#a}$AsYxS`E%_+;tKpgIwq{Xes6WF(y#HOkz*f2 z%6$)KB=G_-KKqeMdOq#{3!C!gFchB#SygB4(92p2N?;#nS@@MC1Ya~C5N=2j_B
@1jcvoy64E$9!^UIZIKhjB6@;6Kn6sa8w*wHGZno0~2d4=X!ij zvhKTAnWP0lu)sD zzxe}o<*x#t=fLhLq@wG$jBYt*J@;$czH;)nW|L8C>R}=CQ!VqhipPRm+v9n3)Kjlt ztk9^{xtH?}C$Yno!lhKcl-Lpkt)7EYozbkt$Gx{WBWqaA)8e)~YVy%NGy@IItu3=muK9SZ_kUtqgM9W4TB28}tsh-D>Wimt`)d3!Y$u zn=Ln#Fg*?1z7d`7|EiB@>m=-%=Pg1$Mof>`UUmRc1m!6uJK}V8Y36s|UR9hfBNuUA z-2*Rge9oB(Z@Q5tygpg~R}k{?cD(z;{bz(N~7*4i#+dR<=i3(LAXzzrM%{qax7BZqbyMwxVlwkw}k zpof+&M!27-x!H&z>X0Y}{qyA}-Gac9&QSmGvQ1lY&-|vW7-KVe^`{k+I_XQi#(NeX z%TXmOTw5bnU2|EU7*Om^W1}}XhMobKKV7TWf|_g5IbesXe8u0SvdRIUzcI;qjH7RtdzV1mY_j`0_qc3lLr_He2Pkm=%cGU9gI`SU6$q ztn0mFPr0JsC`^o5uiyMq!fq_Mnpl$6)ngJYvWXg~f=M7|OTRk(wn!^;j@NY06g(Gz z_DkPz$Za?X2Q0xS`eos$zV19vz11#9;Y^;M8YY->Lo3zPtW~0z^XT;QNKu+srVx2j zAhWN}!7N1RY@~Gg&bCZadD3Q3&1$|`jlHm#vovdCceQCuCVStFD_7Tflg@LfU!bRU zU}-Mr-JV1$*X{;f$WztQp_USDYa0X7gp%d;-k*nKUU?;);}!l1&xd|0#Q<57A?t#r zshl=W1rt{CZMmKxgKrdHZ~PwFOITwFupOiztEsBss<0}P!&n%8EyUk0StNSd3V~xM z^fv)lWs8@LN>=eO!HnWfWmU`}Oy|3aU=#hHZ?}2Vw_3!<`Mop;ZV$aIbpcTwFY4k7Ja9!E%i0 z?K^MD7~~-jsi&JKzA;#sGyAQr#hc*5R02H_1%V_R_Oq_edgSPa z!jNsRA#fErPwA9%&NTz^u4ylKZ~wOEQFxcQ_dzuj%X%=Zh;u30355ug>2ZbjnT{{ zwJs$j=&FEa@9L!#-MV?gS6MHyM>C3ih{lO3msGfrq>;#P9#@DUsz!rPZPUmkEUN_)LELstqI0M-EV#Kx0eAXf@b(C2ds6Vs)I_K@S zM{l&obdI#JC_!&jekvKb$&cq7Sd2P0(vpTRo$ z$^A8ZXM+hXGrupN2f5Zcd4wIQ@GKlH15nra8qD}(^mh_!n0fHqAICxM&fLt*W|EFm zECi$b7A#vN0X;JOI6vw`6YS7X>cg`ApVy0!y2^*3pky-k$ADPUwcA@GQv%M5*3Gv^ zHmZc42CSmU^n}fsG^f6{&&-V~GWNX)cmFtp3yI-Z_17TXDr$M3Pk}^Kh+jtEH`^X} z0w9?jaWbLQ0|UnPNn2$W6~3F-M9J^uXWF-Os=gTIN_|U@qHfe)5j4 z4yH8!K62qJ3NaiY=dAnqLoial=?ifsCjDcu>2|u}J}X$C*$YUw^^fk`|A6KKNcUk1 zU|%8X#Pu8@?;Q$11K@yqGE45DCT2HFw+9w}J`Vl_PDaJpm;nlrBa8>~@j1c!*#q5dE{6n>PXkLbb zVtt6yeYc~Yn_$a+6NdBHpXyfU!q#vVP3MM4EI4Ae0P^y0M+IUCptP-E?iI)+mV&Eh zX8U7SSkx@^@bPcmH*H|@JNw?rRwj%d?jt*k&ez{NgIL_#Mqrynt*&y819CL4JTpUj zq86w_Bc(=w-67{%Ed9AeQ)kx+;)ZG7@c6+Mfq5L7vpB zObj08l%fw))=`v^|Nbbjn{ou0*Ip6uqofea)xz=2?abpRG`?cOI>;)*jjR&n)!rs$vf z_y6@iO7o&Vw<`#BR8tIi--uulPoEoYukMliLplA4|02`BdaemO!e=8@%O$sWe9)5> z4@b?e-;}3r>`Guh{zFaxyhNNd_>U~I9ssysFMXRRz~=}{+>VK0l=WP1OI)ge@@lLuEn=y%$hP+uKkOryCV4qr7x^q zCl>%r=pS+}Sy%l3vv9sWurs(yGN4g2(L=e%W(>qO*4+tYES?ru68+-}AnPtm|1qkA zx;2Aa!IyHkqA9*9rzft!PTMeiC^3CjY?aUS>}O^!Z{~j?OkxPj z5-}zfHW|}lO@!rG`&*A2qJrnoo5eJlR5X-odg0eKb9-!|xhy*6%kB);t(a%a2d#s+ zzf9^b{>@9ESpQp(2;Z8+7`qCIR#o>08>|^h1wD#UnI?)0zYuhj7=0EPl;rcr%Ygc_ z{}}4z1rRZa{@n@|pove4{2f+;xG7%5eAC&mErrwyvPc-+bBjiG9rlCbSQFcR4t{ao zPEIEk%KR@cFb3S`CvfDsZeGXSl8-0Y5L0TQI;4RyxqJb{B`DZvAoZK=FDSTHm=tq< z{cjHt^ldeSy=b8rH&`=afto_Puws>okOS8Nb=c&xBZ!Lfh*a3TKKCVn13C+aM?` z`*)U> zwPC3GYJ+={>7+tT4K);rY&fqF@xf$uwiQ0!dX%2{>?kc!R*LXIA+p0R-;{2beZ0$L z>3b~uj+nwt?g*NAbEJt|kM*5|AbU)>ZyRQssdj{@_-q7a7m|{TBp9(9ztC^BPqP=P zK}bA3EW2TPfJ!@zrzz8b6S;8CSSP%%$cp{a%77pjRNqSvAAJn}`QZ`!z8w7KPBq(` z6ezl>VVhS}dBb9sKV6^VHCoZUas%1#>>5!K;_4GoEN6ylZ1@?k8COxEZLlp-j;Y-+ zrH7m-&aAi5A$;(b)NUU19wW@Y-*Rt@_S<*4Xu&47h2l!`&EW_pA-KoH^#n5~m^S2> zKiz$DOAe#km}QG>ll?BqZIMEKj+y-}RsY4ojGi0z?fQFcN#3Nr2?K&89V&S%bz3U> zUCejB;>{VfkVoge;|-TIa+}yqcessAlN2OTuCXBl*+gw36YtVixwnCzx7@o|cr#Io zpZU!~{yW8;Pgv^R^pn8qh=1jLp*295_8+t{~?R z8<49*S><@r{Cy@H*r~gT9F|~*AnBp5i_F@z0tnpRq(IUmlXOq~SnqY`z5V+{3M*C0 z;y;=fWxT481MPxv_U&C)(Y{cpiWfT#${e0q+Z|wxPELlIG%fodv=qK64!e_k{vejd zT#4kPUN?P28PQFeI%{t%M6Qf>`}C}cOfnwUY8>7+{50w~X~sE8Q{JiS@eaO8QdZRW z{B~MQsU}8KV!AG`rE-l|{gYsqlT%XnL~+@nCMLlJCWP~K_Hwvqtrs5l>sda=v zH4I)29I>;g%CB`4-nz0CZc@aluZ5SZTf=%t&YE=6ZcTdpZcQ48L5_v^fWQ%*sUP9J zKhG*>$Y{C!a{oSF0v-~<8v8BE8$>N?8Tb!qaeoyiy@s$|u&cA5p26EBj{s!J#Fv+Z z>t7%svzulgI5F&I-fQsCQ3f1CLef>0XS$8pA@~v0g9f_~oN{)Cr^#-t@x)6jW%0A1 zkt4nIBXgn#KkmyxKu~1vx)yP4bXPy+Z7B|1DY-p@5x$!&ot_D03&rn47QMn`KX8hb zk0~A3A#4OMDalqX(Y(J@Va+_1aD@0dCf6 zWtd5SsABRJ!-*sYcQ?W?9#)V{e&2A1^b^UO8QFSW@{yN!8_`^ayppGpHp0S7r6k5I z^Dm9eNTtfP2U{nTPWZ^9f>`%_v6Lm$il5Fl{mV1(wy*$J?HXiYD{052k~T6zQEQ+HY}KI=guK&P(Qt^kRha z5!QAb<-1qU0Qgs};)&l6enzwirCzqDBu8beL@3-shicFbq6Tbu4)+k_Z|x8KS1(Ew z#Wt#2GQ5+40K4W9L0vQl9mG!EfehE&O0#CPDQ-f!As0>UtR@|okCu*OKXyq#vxIk08|*>xCjH2nZZF}0}bB}Vb# zbq0^!&_j=!X<`p!rO6;n$$@g?k3}4B<=?lhVB$ni_*U@pc;{IU;Mp9zEJ(#m;CLPG z%h)7PBXf%|IK*fyA$euU}3VB}IiIhxIDmIpV2(br~ z@WbQz`gR?qj?ET%?T2hZl+P1jS$@Y;Q@+^9q0UR6Z8c&6)_T`X)zcmi$vL(G4xk6z zYEE~WI4$eUt0KGB#*DMSzFWf#lfbDiY1PMp2?Z?c?OuYzs~cvLBEte#bzK>TePrN< zDZerAUSl`f*YV|J|DoGeV~6uE-$E_mV4lpB0I7*t<*vjJ5#!DMUhUo6N&kgwI$l|U zX3p_96>;qG`@s>sFnnOPHKSY^15C%|@7xrN^!iBt0~NRYU2rKyRnER;Zk2kLz*9pL zRmJz*>@|<5luKe0YdDvmZBB%Mfb*qC{mxYyd-svlFp42k#!I&wgzF)`*F0n|xql($ zHOzz|N48>(&#tX19p!T87OOnZGj+3MPmxs`-7eLox!0}?`)<}t<^!jeLh!HXui-em zT7aO_6`ObO9mQ#U;4qZR6YDpXw!Br@PL{FI5|em+X*n8+vZTN0Ti?IUa_qI2OJ(%& z9puwm`G>&Ew#ai?Zl?QFT^M>G)dTSItIBGbhYcl%WnNj1bIrGHk^ZQbXo1<(oXMDt z3GXSasvkVQc#yXf%U_QKJt+jGF`h0gF^tD@x@VbJF*1?E;0PrNMldZxsW@jdtf+~6 z2!@U+H8)HlMHEcUah;q_v*jU&+mLhC5ic4h+OjueB@3qV3j!8CP9rTh zB{)OBw?3iu_^Y?BBmkUk;-TH-a&g#aAQ5zup#-H2Ev{g8V$5rwhvFkA#VNHvk9>UoOc@92KlVPAdYHcMh#PHk%26{0BvUVcKIxru+^ z1GCZup74j`i*#~C?(Q9=4Db^P80*3|jEqtN z;Ij}Ho9RuH=T>W*fA^8^LKK+wZAz!N6+}l^X|$*7#Z_4{Ze&(jGhWyX6>(ISkGwCc zl7OX<@FU~-1~!LACfJhZ&%gv=KvD%<20S8?3VDLX{2bS_AaNFi{EYK+y7jHCHsI7Kvsk+64pp5z&YmL|S}49gX9*pc9f2I{^(l78$$ zV6;~xMk&44)zH9A@ttoBV{>BhFK3@dw=bkEz(KkwjEVA^3oRM$)j)w31Iu1#fN?+u zN}0Otdm{yw6Q6nSvx-FSbx)FRe=`It(2>)iK2)4if&P6de}hzLhh ztE=Y=Bv(VFdj(3{XF%y`3NZBkUe`c#_sI0a#fed$VTWLLAmBOH8@99S*RxBC(s3zw zWWQ*`e*04-KZ{|f^5sxCb`_%Ud*}r8x#~GS1fn|zEc@i?wM`La8|~+4oD8DgAHZNaLFWJ zA6;LlGNyb(p^@ty-JMOOSMPwz0=N?vqB(-wy_b6*4uoidr|j;%pbY1!g8QdH5(hB4 zz9WaNJY?ylwD=mm4|-!iw(hNw0{1#)kgPn0J|HYLlQL_n)Gn!(2Rwq=XhL6zaINet zlF8DAGWWlhKLWhBr!u-i+$Du9P4+8wyC3IVDL;mgu5~9Qev{~c*=XnA;82d}()LwF zyHR}Zh)E0;N0loo4iuc>oJBLM;=opO3P=V!F+FUJb%SsClxhh9B4+E2`v z!RRJkH|2_^kV8msc7^2)ozM3Un-76WdM8Ho1qvnoGH%a+&tINqh zT_WlNZZ|u|{KzLZyreN+E-~lW4TmtLj-bptZUQ=SCI7Gl?6VgLufzuF-3+i~>^XC7 zSG-6Hsm@lD31$xdtlKd*qV{oEE*eYoY99D{_LvekK(Yz4jj4MIt7S4c$2(r9dmkV) z6TfakS&e^qv{T(a=fo{wqI2R;p!qmqsJSJ>B-Lfuy9j_Q_=Dw*hh2Pkfeo!R)xqu` zIp37a8(;U8YF&zOuXB|>gEiJkAtiN%1~Wfle1K4u*}a#ZWc*VhVz0>(rj@>bCzz0b{F;%6S7QGqD! zQGa*^QYq<}=J*iS(WyztC~Ky;xkL=XF3DbZpKx{gacDvE`X$4Mu=19Uhm85pI7z^f zDjBfvC#??W?=LR+wUZS(pkId z&_EK%IE@{oEbu_o{mnZ=t^hGmD+9tTv~Ju@GEgxes!vxZWS92K;OU@4460JP#lpSN zLnB)?F#Z6!zSpi8VN#Hl+R+WUyR8`lSHA6OIAEE}_j?tk0PHDbUB1EaLXda0dmcUD z4HG=~?g@Ly9E!ivrN}z9c2=M_X+e*o8~^)cdzA8N?5F>7-o9=YTp3y#S31aQw_sr&~Hhf!RkS5#Gmk-@t89Ee?T-_*8x z00WF?1+Iqs-^`>ub+HE>xoSM7V7{rX#$2m?v!s<~36Ol4a!>cjKqbuOO>NW4m@jZf zcClwfYIfY(QbCBFK_A`)oW&!sqOE`uT?j*4!kh5zFPk3NJ~KK(ynDwJH-;H3~MN? zMrTOeT$X2Q5d}b&)j6!=Ir>L;rO=o#eF6p-PKcHlJNK`Uv*!>&@C#7M$~Z z6IPy^BJad*+9BBY)jHDXNn~H$ek|?1Zun2W|3su3h4^FPH?{oWb803D7?#I-th>Uh zDU~hNx9ng`2)T?J}n>4H{1u2zZ}W2vecS2|$6D-)gBZo za{_6I;Z8r2%hw}R}v3@ zYVR()e%CMso*ci3dYqi_zOtdQ=ZdGkmACkfw7BW7+rI`>Yl-SEdAClx49rYS+r(YY zXHD1ngWV1C3eC9e;gc+lT44LhqaApH4o7DV_0ydUk-v}2Q2k9d<;WMBF@a5s*`>7y z+jdv-Q%HQ%q&|~bUIOK1_sP2Gg~8P68dPqZLOSVh4gOP%x6U7{E9Rhjh8^#uq>+H( zU{4Ck(;Q5&)TCH5YW*n?(J6~fqD7p|0GWvRLnek;0d3W-m}9Pju@PAWhF3}vC%{1S z;M#bj@J7eQx9AcugT}xoo1Exhqafc4L|cmxW$$kPZs2djzB`4lvV=)~6T>F{sl+v& z%Wc^;p0bxN^pWyd>bvy!CMQ!=_#|lzICg!d{1=jQWnu;N><)6KkFph2BO`FO8KQ;$ z6}`KR$%x9hy#Ia&fQ8JI9>Ugpw@H(*zS^A(l}@dh35r^>>YeB;Z5c{yonz1s;+~YL zJMW(GB-@k!4`FW}5B1*uk5_8QmdIAp%rv$!wkdT8Wo%;$(->n3VJb`1M3SXs&m_!3 zl$wk(F*K7UYbsf0Dw4>S7E>hD6q0nluQ}&)-@p65Kg;i*PUm#$@#yt_y|3$fZr7VX zareQ{s?MuYBn0h5(l%*~H|q>qcYIx%`!4mf-CDWeO+Dj!BGDBY9B750+35x(r}CUg z&R~}1z4V7NQF=m*uFUTJ{lhX)0Jz=b-+t|pFDZqWRVMOJzpnZDt|}LI7-t6L`nID8 zda+}xV%DhsgipQ{2fl51a&R8O%$FK^&7)M=*&QAw=BVU%5$tv6&KXiwpBvx($Y>quWxo z+Yh@2fgx+7fRJ{=!yA?DC%;vo%`oLwlFbGVoxUBT1~16-$>|nC<1Ez>Zjyon>rrb> zPoUxThhX&(OBfZk3hzc&B$i|8=e%CEuv z8qR^iH&fG&c2QcwEqzs<9=G*ghBTbIbBsVL|1BN5nxn+eJw0yo3tZfvN%ea{GxmZ^PwVyZ_f#mWk=V`ZIQ1+N zyX{qZ3x7I~;P0hb*(1TGNK@dPN?e?`#+|4W9Q?v{FEDG35|d3NadEp?WFUjFQDc0- zFgg1y!FE4I8fzw8htu;2hV4ALSAdVOMvccgCEvlmHYmn_dFI&4cdFd--pw?i(KUU_OL2?g!3Y=4`%(b|uQQ&Pn@xp%b zw0U5F_>BF0lMjjO=M`;n9et|Aws1ol8wZYGdBvgBpuuBI>PH%1r~w4gQMvS+bOZLU zHi<>&bsdR|DxpI5fjk8RP@2zds$B~>9?L00tDLgh~m+7B}H4 z;@|;pf@vQ=i`e?^!VT%t3jIt{o&d=(xpxKI=e#pBQg6%M&z^SZg(J%aA!H;~ z>+`0YH2Umd(`e4sJ);Y_Y7wFSaVaj2I#R<00Nh_V572x40Ea#0 z*>NsWpD(eHCQZ@GR&9Emt7hU_XF{V)|2}EQ)xVD zp)bo^Yruar$-zah7_Y*le3Aj{Y=r-)b|GRt_`e_g6ibvWQAF6!BKMTICv)|;-T{bu zr0!UZFK5km@J915ZD(JReRV`xEu2ugCOF1*T?ZK}Bqn=+>E8gPm{GQ1o*>7yS+VG( zwpMRPAHel(=t140*Fs9wYTWwxYIoeijAxaTW9RzgYuA(_7JO~BIdG#e%kaRL}Op#I-^Y|?Cdi$knHXPNFATfH8}RQ+Ty!b%>-WDN zzh?%=paEE*SN7R@CXGc)abM_p*YeL+^1mGJ3`?{+7L^IS;fgoa5%)cJf6cIM3WSkK1C>h|j(o*cjTNuEkctab^m*C-B0wyJKbw z50$O`0^vhaL7S(4dMUq*yId*pMaxw60gQ8T(DJIh*|98Uy(9_9p{(r7;B0FIpmA?$7+pM#n^nAUQh1T^7jL3E* zfdzYJl%E zbJdT>_{7~Tqo?2vZ_z!G6+}buT;#0t2$0yuJ+pY&X$NfaK!2c1T|3D4?W_&+R0D$# z=ZZGN5(Xd=MKeHI5Odr3JTV<=0EXQLfuSqpOOx$mG@_!5B>P6^D7gVyV9=nUbyq8u z`klvA{DW1fG&G7FetRYIz=1w^J}fV|WnC|xY>oB1g*J2434VhCD$G!xJ7LPuQ`H)b zujJhMGl`u|`qhoNPYzYB!>MFkeDa1>7^kH(Xa984BW>i{T|z@5ngM6zfeb#^=^npP z@}qMjZLZ|qwfY;*>Uu&@>Nb3iT2k5wigFML49bI;(%*xpcmln3sHCF~Z>8J9U$&_x zyY=|9AG}JDmKC$!u>_aReryaJeW-?&B)ww<-kBq2cIuoC)b3VV-K1T96fwXiSv z*g};RfIfS}B%Jkabm8nX2V79$rfb$B3Kc*hARm5Xwc)m^Ehq<|lz6In`5g)xf_zEw ztD^ekkcSR98is3iq~-r?f%1j9(!1E%v%*|8!cIGs;vY_LeOxSL%90oE_(LOHAPugFZe)-;#o zB>c-sjIMDA zAK#ZG%yPVsZfi?~iTTfs#n*F)Ii70FBkJ$)&-=+phMl1Ux3b%xE@1e{PmS-(lP0(< z+zydn^M};i^H7SfbsaV01$N=G=A~#%F?OL7)p@BX8%i@$$@61TwQA)qYd|KZ`O&%~ zwYI{?p1+5k#@2lq)CfHx^;?(5acIEDn>=@IHjyGZvZf`av}t7v?+BcheNIaYBL-y} zXJ~VHW<;&3PojtHvm+Swmnbnn|10h&wr2hNEG@t-L0O^)DM&!@4?#YU+|@zQW9P_C zJY}_9{wig)V(_9L$mL&Zn%|Nue%VX${84CSDN^8i z62ADTlXpDr>miJb-ut+Hm(Vx>oY{C#l*5c%bi>7zSE!S^-cPY6XCuyP*vS0n1b2*` z(7Tl;O_7KU$S0)ZXNT_UoYF6l{G5VcXkWd&3&?D{B5l`oq!&q3YQqN_UplT!mw#2? zXAsc(&>%pioopU>En0v2dg3sr8QkY5Cr|2!lGqPUZ^AYBmhnEmb}Gq$p%!*BbabHuOFRi z;GfcNXJG%?f0w(>AyaiNt4$Mkk~s6q))*aHe%FaTj~8Hd^QL*-Z|_xZG1sO}cTJpF zg;pQy&VM%$E)j%Lk5PqFZ7}Mh*Qugf#|%(T%8_}#+||pPs_f>ZmBs|0I1&&!Em-sd!{PC}HcI`?ZSx04?gD^9)@+jwN)tIIZ(Zl@TU)| znus)~cky~oqZD4h{b7N8Bw?-Xzy#Lo{)79FBY_E8Obfv6*q8&{asL_Hz10d(>AErc zM)|`sqp?7gOdrnP%&t^MB59V3v~Z&@haixTJD8MBiT}sJ^1#7Py3_cQ3)_w_FM8@5 zV{qO`<5LY+_w?1Ek;WFjbr?D%x4{f@1Zoy!9kUIJWFb^>DZYZ-8Od(X67`0s1YNcC6{FkX! z-6YQWUPN`5P&Wj2)F?(Z;7YWi%&=EPzPH_7g1hZfxMe3ieLg<#F?NgdJGJqQrG=I! zGShay7C1U)nG>(*D7bocnoEa?fE#dlDnz;af^>|tw%}ZXHrRrq6Qjy-Zw2c}Yuf_C zr4na6NQL@d_ml+%UXApEwOruIA@=cQRQ91N@B@)xViEfxKW-8e znW(|7?d1AQ5|-3M!JxKtEVkmz`UCg9V|EU-^H>fBoP-TO=`x^qE*|P_MR2YR1diTj zd*Tnd>{kMgiE%`b`q8rUnLwX!wZb3rI})_yGxM`Hgmb}z&N8V50wB!u7!zu|WXKKISf0*KH#P2{SHc;>2`k;;>Oq6z@_ zCD9C4H(r`)@p#PAE)8wP>P-dYCeg`z?`Ye%%w)t#0KI_=`)|+nzmvru%E)zVBmn=2 zOWqhykDZkY6&^d$*2?j%yJrBW?{0Dhb_f%7u-A>Fp>Is6c50-j5W(_HKtAzKJG$r_ zN&Q6^DXU#dzTq3UpdtH86*A-8$1k&9X88iCZo}h9;f(-w+)$WtM6cDfmkLZ5XU2Y@ zJFj2iXP7N4)_QIp%Hw0{e8*055iy+zq34i}$Jn6))E|?v@7HX+?a7s0D(VkHq%0*D z`sbh*-?21Hi$Vz8h-$OvSKtp{wN^)T-dRybtKZnOW7W0JXUyDgJ9G7qoT(63-Qwu` z())Br&L#XdzwKU^N`4OD9c3AcQ4bYCX;HF(UV8eRiNeJ3v}vX8^4pNtrG*Q7E+jA6 zBDXUsv?g$&hqKw`E%ye;K3>~h(bBu&4^7%f^y0VSZn3?)s~7X15}G%1n^nR+eDZ2G zN?9!*Z-_Krz^+S|bOaOf9xw)bAdl!9f0BJwf4Ekm3@BbUa_OFdtMGyCkwD;VUHbOX z(I>9NQOJVWl<{uuVLv#BPda`0v)908(DiPGf*C{?5Dh{M%4Tg5QN=p5hSwi>8iVvy z6ucqy2OhnT&I}bsD5q-!ey;SJ z>>XcFN?bTP#{+6vx4Z35o&2Hv$82boK#Qn3(mPLH(?D}-tx@RCedD2BjNK1;d-t}? zOkuiLF$km$-)LKJ1s$ujTPYxok?+;w_JPv_8a_fwP3?mfFa~VAYg)cRt6?9Zg4!{ z68Zp@X@`n(Y8L^CY4<(3K2Gy%4uEN8bW3fZFUAe=Fet!NI8G7(GbE#$3dZr>XEno& zHNmxn$`0=iXB5v*mga-WLG%dDs951o66%sjuKGGzKuTWj+bnyoh6m`+prr+tw1mW> zwc&P-hB<=+*{;oS1$ZO<2@3KB3=z|$ReQTg_(S^)C6ongSZo$UrlGQ%MCI6x^Z2iz zg|GrUW7T&9wzFj-AFO|WNc;ZajZYPNelP206bDY*dtaQ{r@8Dk6p)XVUt<=884W@E zuPklq4zcud)N#06ITg}muRZbpTms;)uU4)Xu8&+}i*C0H;en$*?^2fvtkw4l?%gVK z?^ty)4P0(C7V^P46>Z*F`xBGK6Bmq<&|Ln{zbH?2u}@wcboh5^;fXUSj2kqgB{!7g z?dwIYiOXZJ6XWknEX-7bJ8H>k>tfNj^@x@HLGf5{<&=K)IlR2MhT`)0yN+%H1y&W+ zUjy_XXMG(Y^zh*fPvqVUHRRZt>xnxMoQRZ#)f~-CoS8NQ#+ak0vJtK@1}DIq1&&wL zmZ*>u8l+BNkJR3gMcR=1L5|^*PAs|J_wDDjG#7>I#|d_2j(ZN&0=^Bwz*xmfhNU659E-MrNFb-jm#uN|!0o z=x0l}Z+yb^b$e)MOdm#@eb*@sTZ=Js)p5qe-SG6Ew7jq$VCC`_z({aJ4}rgle!@>u=xfd0TjV#%4g{(NG(F>SLf5N}3fZ@mmWou5Qf z5|{wmQMi*Un>Do_cOagjlkNmzF|td9(>I89P82vWj;UKdWV~{v3I-bdJ{<%g4)bo! zi~-@n7Te>N(2Fk`rQ_TJOuza)$bXK0RkD8KHg=&sr1lVcsIOb|O0g7arf?S%HMm`x zG`-*OC)L9sXixLWym*Zx@`nJFGGXLT%2`#+EHK1SG6e@J82LyaHkhVZ6#FE^A z*dZy_uSZ51oLoL#d<{W?ETa#?Iae+K?_FiIzzcOL2xuCP^?+f_R*3`jkX*WxFiZ~8 z&MTuIX>d5g^lcce{>$P0fntktb9)T1gy%xmj})Rkuw$Az34t{P1B}TV1+`g1jA8h( z^Mpg2g5vsExkP!gH{?rkp?aGePEecjgYCB;BC^4Gtvv}VFl~sKA}QC{58p@KFe8MV zJKi`b;vxlymK`Qza9>q*JTiJ5j-MrQZJBJWaiwaVg_|Xkb zLfYA(oCnDYw-f|}{@XDxAtGlXZ^58oPk~8!fTv-A$3{VJv*+pvEGZp9nOP1g$$XE2 z-}-j$J6z`RZ;JlAws@z{&bv%<26d@6^BL<&&N=}nIkN3K(90UrhUeWE265Hl*z}C> zD)xzK_h$%Nl%68!B`3~;*M2;9DUhkaj~%}#PpW9qMHX#rO9So0%)GK!qZ&|06H{-V6QEVEr+E7x z_`1dRPS>I4&2Qr`&)v^iqs~5JUGNAUx?&%C?GFfhsyDc?FNA!)d!mB#VGY`hMVl4t!gNXXuv8iv=$L{_+AW_+0+# z<>+23C4jGd>m&4D24>VIkHxb9VmYt4Zm4nnHC5sQrPvtFI)OhMX$Tdz6>wN zt?#GrGe?~ zvvn9$6nln{ln`9rCWVV@VbKR0Yr`>e9bw7>eH$NjQ?&t3gm|vvLV};e-GHkD1q`oS zYoZpe3?Uguo+@6jUT%!}`{C@!uK`UCci>A~irsylq(l{vhwCkl2NV(Qwa#OOPzDSU zr4;eTs>h%{9Vxq|&1fSK)+i6&M=An(#te&NMcJV;E=X>??dY>OY-<>Bpg*Xq0y_+i zJQlcj+J7NH_59E|*{Ta4zO+0Eck$aBA!s+vb;`-TvMY~bHJR@s5BDYk{qe>Q?=0ZI zLHBhdX*xbY4|)N9V!*Tr#g#V|Myzx*ZOlfuEAz3s;bUnxfr2KF0~-HQAk0DrtVTu# z-*KSwvG?CUl6KTvJ|bJII#3EEeGBUUac^JXmL@%7@htLl4rMbXMbdzKC0c*Z8S+_) z3(RUZ$Uzp}viM}EuyZ#eR5*_l8(yHCD_d)N8bL(`m)wMFVU$Vg8EwcSmK@9!I&1@h zji2;wam0M)OMn7MvaFk+9s?DZ$82jHH7RwIxo$WjwRuF85X>Dcx zNfBa8d(Q;Vp^-uD7uiM|WVDl^rwq3@_~r>P3Qyn#u**tu`sdX#szJN0(~Q;{w|c2Z zr2J`WJMf_5n8Y-#{$R0v6*h$VN0QV;_<=miH`>V!=%M^>1^zt(3;=?OE#aRGwIwfK zxk*hserX~p3%`&WAByo-;vWdYG$3iuA7A{quIHi_ZCirEdLfjyZO!jEYAP5U{^3LX zA3*@{7X|0?OQPGXrU*HvYQjii3CR2&xl~4vZ5nGr0>><=hoFAPtxUvtTAV@znt!NJ z4y&(|vXJ~TeBhqv00#u5_DjzAYLD^lJW^<&uuyAnWeLySWY}nRT-<#@_abl=xs#xKS3Nkhl3F-wcV_5Jfoqovxk2H{ zo3MUo#CcT~`z;>wex+|QCiA>`W%Y>TqQ~cYRK96m1bhe^Ziv@Tf#%y>*b*A)s-2R% zkWRa{sjnLsyD^04ck=8^lxL9n(D*f7YTo{Z#o1>~I3^HSk+fS*=4J>Q_-}6{)*l*9 zK}#X5D&5(Y>%q*BJMn8fjc*2$%x6XVUBa*OGwg2?#-7FJv zgNq1OKT}WXZ?p27B3QkV{|w-*HfZUUV?fq<4yI5d7)0a7e#S%^gc$>&;v$QFthZGe zNIq*qg(SfkFPGpytjn?3`(6K*soF`CqX9*Pf#hYtTV;}rA3iBCY!=_#YIK(fX@!aNN@oP63dBlM*3H9c=*CAh8bs09w_8M(HI6-I+Io~JUFP*r64ckQr z^8-h5JBwl3;HUYd8d0co-S-bx0W6rh_U`%*g+VG0D1#WZzV!lT)$&|vbR<3G&b|@t zIx4}ZE9r#npe@ug`S9tokq4i*)|=x8Sqp&<#Yr15C4?nZjbg0;rXAWE@Lk_ zW7HRQxWH3f0#I1D*xi1G|HxYRy^TEBUj=qV*q>yNPB*%l zcVF#?jI}h(P?SF>H2Jv&L|TRZbcv2>5byRJ87%PL-8=ZcF=T0f!?VYxTeA0V`ycK& z)vZHpoysHu7BOGU$^2zBvqtKS@tgiiT#X&8VA1O%_Csbyq_}>XH5)=n>NQ4=`qlom z!yH96#d?|0s4U3d3_OhK;y{ghjhm9dCndQ?)cmUY*Q-(B)#;J?p~)M2UsiT_6SUU$;8L1W$Bz@Xjqrr)MrA26$Qu3K$ywuk1ClJd=~uD=_O z+A-UcQk3KVa^ocq%?YASJ>lOScN1ggw}I6Nqv|-nOp_)x<&-zI&0hpqgHx<_H+Gz3#>CC03mB=6x*}u%x(W7c@!#BK>HB;^C=FFMiRn z<2l%xdU7xi7w7WdjNjhKz3bVZ&Ca0m_$HhLAfk(1epYW5W-`ROrX6ywj>Q`YB(6)( z0vWWks&msXxQCp}h#k#Z z{Y#n|x91GtCF5<8s&uvTW4Sd3?Yu6bV}>i}i~B)tC7bx$bqhW&GYFu2zC<+f|CSN(%7&WMi*%MxzVQToS(xU~_gW z%^h4Td12@aKwRYE2$v~*8H1};w!W@#bf#6NzB2bPj8y6wm zgeVZDu)2`iyr=(=OT!2V|6>ho{4Nj&%qb%_TRV>J!wH!3k8pzBw-NY&li6@7Z4HRLFOa_daRUH`#MLFIRRSS6*Ul&TwC#K_(t$tcIPKoeM77-;oF$ zS&QS_AVQh-Bu;bhk+qlxtSW(zlKn6n7xB*D6zpL5jUWAZ}9=pdJJ)Suj9X znr##~qr~*a!*wU#Sg{{qA+r?)#Pt5`Aa%Cz@{TbVK>vZ*Eg(IPcJkz39|5Jx-VrtK zg!NhnY;P#VlsN@S`#Z@!n!%z z9Rjg)tTVELQskc+=ZJ17@F(BqV7#raNNokG z`2h15w!C>V-M!=PAI>F$zoq}t&Dyj-C-486vfMy_{PQ1W$@J5`qU8y3f1fz|9IkTcOpUg^E4h_(a&&_`7;rg zKYu!MEt&GihjUqEv)xicTg39W`tW4UFzOtMS*iC0_cHBV2st0jkP>L`zHZQ9e|rMG zPH0!&bk4m_p40^zby+HT(mjW+YA3b|dEXuTZ1(q|9&po5ffewzo)3Ww-Sj=a!uIH{ z@yTg=oL$+PJFDO33n_$p-$$!h$czQ+}D@A z&rFeh{DYR=ZHX5{PJTGE)ACv4;GJiI$us`hyGmY&PQ2Qc9d8TPZ~jXf?7$0g?BLe5 zB%gNCf$npOgp@YNN+bWUvft9NCOUJH&0wIsFS8t!)% zl(mHS4=N$TW23$%S%MhY3Bsa!eLzN4^!@952Om~%{|5Pf1$fE+ZQ3%u+R=qPU173 zWxVUTUPdAYQ9wfbyJl9n%YR(Myn>+GA#Jp?-3_a<{B&d=s@^sPd68G)FViH^aThj1 z-akrAcG<;5flo@1S_&4J$uYX`TT7+O6!>=L-d}p2KIvtGZwH?N%_Tjx*&_D$(hjD@ zk!Pcyfz|27f7?X?mM%Moto6S#`0`-!nq#~6@;jd-IHsk?shbTQZ;F}9z|YQ^Xir-w zsIcEz4T3Gsa3f#EJdXr|5`V>_wXr7l;*IaFm-O}N+4vnLrA4%uLN6x^okjJmH?1MQ zEm;vcgHh!rw;r?>l*<06kqwY^>Wg^5F*`TWFKN0WjiHQMU-cG%7Z*W3!xHo|B|&-H z9pGR`74-2zoJSlM!3RdC(KFHdo#LpoqJTjdND?aR!{}c3NP?JN08muJ zed4~pvvUjr5k8Pnmj`L*AaBU*i*`|EF0msp6c|pl)7G}13*$;lSPFJvl)=ObSDbb!OnO*$A@xb^CJNMg+31= zFawB_o9eI<%Y$L6J8q-DNKeVUt$?eIj||T14Mwbra7&9BO=?5bZ*@Ru+>&k7={$%H z+1UMC1C}5Bc-_zZQkQ|-*?VNWCUW;f&Rjh4ROT}3{9YDy&g8NMD6os(XVIAwBKjU0 z3^)e?F$z=W?>KTs(@>Fr9`SZ%hxWFha_~l5j6A)%$HD6JUzU{0`#)Sa@(Xd?(F=dS zt>4za)&3UW^ypN@jh#4^yss;VmpRVy4>x^ZR4cCb@>@>E3X=jJHOkWQk>3)0|Cl{J zd+4{jrCUmpk%Riby_g`9$0!r+=&?A!0zU2p6d*)uM0vy%V4zpxHg6ESG8;PQKd&}F zIz9^ptci`HU}WqR7FY>^DyxDIB+A*Nk6z0J!c|9+shv+;?aM&GX0ZZ5E&+g1z~w)zG)qs&YnUHbqW;uu0CjdN+;Z0L+?bx>|~<~vl8vybO+4ii85l3oSp8pWyea1l^iqXm$Oc`vB(>TRoBumQ2NJ)VP%ac98SnRn-`H{mKHoo9K5< z)usoth#>nqT&p0M^a44m9_eYXy3G_QqX4DXPIdu+GqL=UF;_!La56XutOn9z$Z#q0 zV0qJ_FRex9lqv9w?86P} zV;M7B$f!_7b+}(n?Y?J^uVq}>vi1y;>WUbz>f3s?o9!|%8*)}oSXAUv@~%1-s~r#I zhQ3CbrG5L{!6O?o7w-Y0tNu3Y{dmY;fnU3ok8ShKK$q-L=AWEcDqdD&iGqJOu<%tF zwqIb7`T>26Iz^5>YU^)rZ3dR`j{WDOxqUM&%^c@lcg*pvqS}|L-R$}={bTl)kmClB zUsr~~E{cD9lWL8{80s_lT0<@&X&Ca^88SnS6zYIb6>x9?Y+8jChV-^>2KFyh5YW?s zmy`*y>EnxCqF@?y)vwkMGtMQ7X$7B#K91iywx2TClVmpIKXnnT)vNM_(dHZ9Z7z0~AKZ3z@NG%g%GXzx)ZY`t zSdZ^IHoB$0zO#u)U|E1`(=7V{b!Il@4z@|G!l?I<{s|dcd@r($?4jfF2@{D-eV#=zd^c?U;~n&jYrO|))u4E>ZkcHC{_mKLg1;9W z=34x?y5u|lldur`iJ-0*`t|eOp2j2B;sz|YE2|X|RJak!ApHQNU(zt_9zQUwcLm?akeTaS4=P4-4|(3c@0Dg#j<5(P~0&)RJfe|q*prLpX&$K3XlZh zklAcgHLz6xB&f^*YX+7-Kp7utkhvG_Jc8;zREpU1Ujnmi^f`N-XTld6XI}HvxlZ*8 zAz=-|x2E%5ocTUy2tu8;CmW&~kcDNj>KJ9RsjE@J+8w$wK8Uk|8$(J;4{P74mY;_B zFgM=cZ+n94qN&v7nN|66D?Rx8rp|yX#hDY(JZHF>UjYUY9)+%gRh5-d!y)e^w5fno zd+0ak3$!FSm9(#QDj#2viv9^$;*#~3HOy&`c6>XE*1eW+6b1!B#w8PROsHh#gs84L4g!G^h-P zhu84NPF;$LHYvv~o&9y`PuP8z;j=vZzgDM6vDe+-@jmwB=v+SsO~x&mEk3!+T=QNX z*cz$89bzI@j*xU`Q?=#Arj=#zsaZg;+4#f_&W=UK+M%-XjCKIUm?;aP_rda^_b2K# zf!Hw$!k|tthL^Kk`UO(%cYWZr#wiK1Bi^)PP(2&Ag6X`(Yt{>R?@|`yplg8{3J*My zp<(JbOn~2%ajUZ*)Wj*D^g#KPA7k+WxkVl*-wSoQ0y{1HN#BKPwI>_M-W4WLf=oB~ zhG*#Uy;4KAhVN@pQBirVK^vduHvhKV*kb)dI_r4ry7RBj8srmgO+JiN7P0;S^?hK%Z+|BY(5JH-WzI#Tdv9-wJ|Xyao)xbEaxr2J)eP@n?mn<#5BV>bBzR6^ zxHts}p`yv(@^gYOoxifTBf`M;!d^+`Y6Jgeb8zJ0!~#OK$JfvO5%n`PZs#*2{_79m zbD$kI^A>VHTQo?rxBuGc3m%m0hV5DgCGoRni-1zlW`sA=1*U3cH6V^K`zBd}ZoLdx zo+Fn)P`BQZ)RS{HvU35-pe8TxlH^tbtc8j{FZK$9R|n8LqT8O4FZl>=b94DacdiC7 z1EG(PW57ep0%o6YW5HQOLW9NN(~@AZVg-!YfNr3a2;sGqn%kN7nWSm&l1NOS5`yGn zkWoeIa^d(%1)1?lm%2$?p13L2vjeMK4YQ9cKk(}h$)vchyL&e6jsdPMx1s(*ujd0_ z#xrEHWqsjk!sq21O=h{7@9r6XS+>?eFO;oxb^o>|C#*XokIeHd8EH`Yc($N;&BK`F z)ZM@yWaQ`8e1mKof=;zEugY_QcxdY*sgKSjH)ODHL*gb%CEjpiJ7elp3;W#XZ=HwN+(GIT zAFDS6TWwcwD|PsJer9EEvElVBdB(;Ux5SziCH;&~hzU)&`17axK@V(y#7{FFI(0GV zv7Mh)0e*p2#XP%Lb3+dEUi#OcaxcH_e6>iX{eK@#3YlPuz5xeI3QTNTRS**o`Cxt) zF{681QzF3@NGk+Ge}&&v>l?RNH5PfKh)^{U7~#4Me6trFgW?{&-vW%^+~%aKzFQ!( zzS|`hIXOY#! zZbzFltS7;f9i7pXCpTaXDvs}59U7zd;zj>oM0HV)Cy>a73jOQ{qZDpv7jj~~wNB;= zM7M)pBB3}uUpwE-5#5}TD@2F35~dI!yY5o4ft@XW<`#OIsH zSor%_T3H&c3s~e9_JnSJitR%A@!ff&x|btbx_>ujyAU2+icgl0aMdZ0eE*^`J7bgr zr3tOF-IHF8pPg~*xO;sH$mn)R-!Z#MakSDJm^=J0-w$lHxb(MlBP-sa;DD@m*|NUp z=C|a4n+h~Dv?7l_b2xN9A-pVjq;qo0x&4UT?{S%t!_IKD@=Xkx0zi|+F$*Qn6X6pq zo(@;(HD}dXH^n{kIL$F2aPf<1Wtf}^XUS3F?89U3Co!Yd$bNeb*HU1E`K=6DLJ6;L!Gpp@l00iGrB zj67BD)^GnL>%6-nn&ET7c3&~7Zfy;xbY#6?WS8@sKQ1`Q(8u2rg+E;3I`b-AeQ%}i z12$>;7#uWNGuxLYcp2_O4u40gIX}EzEUa zU}2WHXT$>W-+6fPei{>P7JA>$+NKKoBKXxJI)f8gpPuAI>YX)#{5)dT)y`8QfqL6KkN zpZ+=8|FUxL3O>odU39X?>SIZwHa^f|B^nN5lL?<+dBlDPe5^wyWIHgNGB%uBv6D;3 zl2)-P$$;pd>(>kek`M?WUPuxefLK}>SV%Oa6lTl^uT)I<;3iMNO4KDU6M)hLnFB7r zn}BcflYLz;g=>I=NdrX&W*uP(uug{udAEy7iwKM=VTMi6(p!MHj>M(MV;dP9`QSzb z17_%Hm||<_tCgPV#yR5dKB5q20(D)fSbx~ru)+_RUnh9lg{6V=h2EO!99kR$LgV0ZZxe%OayAS||1dZh1wB+!nH_cVDw2`ij`0E*=!n5b?nF zP{t^em?RI>d?64MDB>Z(twHCKw_JzGVk$7)5Udi^#5mMja>jX?ZYoavaUNuX)gT2h z22dV6Qn;qTVJ_bN;E9To691w*w>ffayQl~X)_s6yR1*wn0|A3BIR^k}1=w#31pX4^ z)8oHb(l+g)U}dhw9+o@jh#3O^0_ddJPWOzBLZG?HAQ^HSi#J?X0l^up;dnuRP$AUr z(?Gl4JsqjTh!_}A;y~Yb^1g`(bRdd{CeCr$YLR+ka2Em^Uc! zAD>G=(mrOol<2P)y2qNF_0R2=nMjdS;{Q`?CiTIH<_z$aNU;9?pWD81$opTwvOl|e zo;HJ8BRb&Ls1pvEiGR3tBik<%teo?e>-fC_SQuxZ-GdX)7iaqbdTc2NEuhy;DmE4&fj3#7pKRlhuK~f1_s*SL4%jovhwX%41;-Gptwk(FEtUPQm;=@;v%O zx>lX-hMt8WBH8FiCv~KFyQSY;I32m(TPI?}NP7GJ082)>eVH9H|3ovxmT*Y^MC8ZV zOI^`>q7V(79cKIxM=jOv5cO2I-f#*YU9}XQ*Ug-T;}2%KcdSTvhg3AWU;cGx8tngl ze!<<|eCU(mmu9SaT$PoLnrvUHDB;g5-sVH8JgZCD;uR1ehoWB5F8@00V-$2jrvBht z>#jHd_4O+7&DIbW>v6VGt6Cr5sOx%S&o1?vIW_Tu06U)s^w9vY7)((B_Bd=5G+}}o zlJ1kMq-`W;0f};`!wUZAq%#{w60V<%S7PrrH5_aJaTu@dD)5D#eBAg zSeE7xLjFVYikr)JiOdjZEgRnQG}Bb|p8Z=N*wyUyuA{m9P#=(B3-SSRC;U(PB}B@?+drDjY^q3W4K=uMf(w1iECus2M6wLIinBexX(gZ9(Hh9Te;;yf$y(H9^iTKEJ-l`1&=) z_VSlOYiA|kxMZyu%lu(Ek*Dt3lUca@p>q>y(F@i2D)QsStEwFL4CcMiif)>+;xD5@ zcIP<9m(G}8Ns$U^{$w_MJ$~KenAO@7+2KdgW(@_F+AH0F3Np(RfKVBNRNh{wE-A7ZM^B&;M~;!z_hsIwv-a>Vx*)s}ug;tI zcb$POA++#Z&j+M3Me9QCvo~R-JOrzQ-uG(^}( zeM61?qOu!pgO>HdCY9Zsyjb=k<`7rjVpIYI)j)KXfh)I`0hlGj ztj+8`5G{f;2iWDFfFP5F+GCz2moqN17ycVTA!|H1SDIsskOI;V$GwouzJUrj1Nn4h zt5~V=0?IITu(;DD3-(n3+Pu}<`=^-}y;k~j)DFm009vxL31$!JKp2(QirKUyD8ay= z2UO5&PtQ=waiq8O=tIt`g1-RU4IJw=DQN`rxJ6DB8!Z6$pX9H`jszNUY0tsa(-MddCI2l{L>%#RCCVsp?SOtYe}BSWBo>V z?${BhQ~dctkMY`fd+#2*#~ckm6sj4ycMnA^cIt{Puw37Xy1#CgIrMskh1mE2fVX-A zSF+y4-(*-s1q$~>?VJn@U&zZfx|+LkNkjHr-{na?>o9PXUgH!Pa|XM=3?qgemYqPh zwaaTeTtha&&_W>7xyolJke$rn68_=yVk+YmqxaE_*Nr|!Gv55WTm8q=_n)gt57Kdv z^~j~Nvz%cZ2y9C1_LjE1^SJikbd%}^({2P{K4K(I($A@Z?3Fkehz|WD& zFFS0jSQ92Mn9Ev~_Gs=ZosVe!IT)3h5SIV6YY6>J0$j#clkJu&m+^;fkQXZ`CxKfM zQsqvkn&mk3xM|B38LA|Z83T)8N?cHTt=?KTTET=vo!E`m)3UT4{9ACA-Zj0zhtw1@ zYeBj$+dlwosQ~tJ9p(}!uh!4HJJl_p83^Vf%;);{Z~m|N{GU{oUeHP8*hPSGxB%$k z4kkATG;0o^`@jw5`B{k>0Nd-S=gFFBmNjX2>32`U!FvaT0vi+$*^~pEyx=V*1jb)T z;RXoB9zd6_FdqS{5u(=4?uXPYbAw9IWTbSGGR)CwKu>CGqXPxUL=+^&1@BDJ;i9YV z9+GIvq_V4>1Wc<7KrvvZBjHMx%oxQOz32))U(ey@J_c5;VI1WDedcbJt#r+bop3$Z zDL;XnGDF={eicDuF&Ho7%#uq#PAzk%MRS(-#(icTgU*O%U86YtGW^4LR$0pzm;SU7 zM|o-`sb^A%Pr@_6?C?J2PTYkQ^$NHa>xXv7StS?&Fo6IfsMJoLyK&%! zH29Af(hx9;G6f2{CwAa+syg#t0qxOU8vxYj)%sA6p4ze~bG9a+f2?}{SdjH}-CZ#5 zVE*V*a{vp<$mJK#7s;t&Q}04>e8vjpD02AsJHOBw(U1k|FJm@VPPt2W{ber3ePhL? zVAqF#onCdT*7<(Z*J8}neCF-JD@JuH1o1-JS+!Q%`Z&Id1wPbm<}B-+1d3{QS^i0h1+b{3GC! z5|bfcRE~}z^q}EI*Pl@bj5G42J2MOdlqoMAIRmIn6KXz7P%y=V(^VkJyr|5vNlVg+ zso_d}$_1*SOSBLfkT7>zL|M3=PG&#D5n(~Iy{T7c)=Ngagv138=g}c+DhlH4t5+Qj z+6|EJb}tN$MM{{Q-?bFOI~11vROlX6cw)!kT zUy4&=Ya^$V$W6~dv*SX8+3_aJ*T$QO(sKJlm4@9o>haY-C3bxwR zXh)x!SAR>pe`6{_P0tixGqz!HHqp7)$%xiDvsb$<&YC9D=1iuw5K;n_(#(w9g(c26 zTS3NNk(_v`Kc)$Uq=nJ(a_o}CWyb_}W~k@EPVVQd0og~&+J`nmFVbBKIsV8mgH^LA z{%a`r9|FjK5?YXb*d+4^@I9J9!)$}UC>9Ud-(<%ixEjg(O=`-+zMdlgp0pR{=m_xC z0BHlR6x&t%99>UMNw(ecG~DV!q)()F5ham*0L}adT<+kBYKsHL3?k&~2Ym>T({969 zoE#nQBztojIB0O$6LN8dEn z8jVZ7$TAJHx_M3vF4VL^M(C@0%X zQWz5wcQpNRkaR}~xpm~gr}V&FdcDS{Sbdmk5SL}!lR$r>s)hCtm#i-WbZsFpu>}8G z#bj}_>c0QALbDiuZ<#r)CXJ7_|7hPI#x^S-yjK>&%y213SQnK|`jJ-vblD&k2ivy) zBCLCpC|*K6Pso`}uAzQ5js=zEJ{e^9!p-H6I2inQg9JqqvWsX-2C856nUMqlC#xPJ z1911ix)53B(*+e^pj_Y&?SatI%>vf~(1HUc!TX2iwuxYyT%YPV7K+XpVaJcuS?f#a zA~<8ah?DYQ-6Bl=$`YtT^&~yy;)kSEAZMALs7l5>w$!a)*&3J!g^6OG8u{DpNd!G2swsMw(zeBg@{^Gd|NQO^))~rEw z!WkD`5i8ePTU~vyf`r#TQ429J5bN`=HxYk$JGjFo9(+Y z4m?px|4TmgPw<-1iIYsS18hx+8T=l#2ax_NFp9L5>je)Es2l%AQYo4BsXJ zRc2*r1Q4%+**kbM&_HnPL+1wO7(J6Lx4u+yQLk1$BE%$;cZpl#9;`q_3+7Q(ZZ1{t z%9DU_E!owh^bDn&%aS>Os6ZXZ7Ha8c*}(?Ok&_#rfv?n%#10h!yEx1p2xMthGVx6c zpcea!G|rrS)~U?P0ysr(nz^&+8NVyZm9T@3JJ4xR_zA=@EGGp!!!1%4mRflxQeI{9dSXb5-@VH<>C7X7K3Ji8> zFua^tfsD+_k!2>D8+10fcxz={;RyAC>U7L5RZ}Z$SsG!3k25!YYR%wg4)kG?0}PHKY+bd(j={~U8Tc%F zYK3nFkA@x&J7F+trp=GRr0)l;93@>N4nNmVP?~o;alCbfcHTcCSlQ@nOo~~r(^x~B zW%C70Pvs*q#znzPp1L0S8r#_00swOLD7zsk85Eq;^9p7zwKR!{rfb^XwUh53>q!pc zcKKADiE820S3t~3s&S-jQE{nP6D`3dE8gzA1?N6+KeSq6Y9mDy{|~#9+BqYO-+#p; zl4B2pi!x066}>^V->bqQQ*p4rTr@ga8F5_R8B9Q#U8y-3)LkomO${#b=cwW^$tAN0 zg+JoSz|6d-tu5}+0iId8`8Jor0t5GJ@TpJch@e?23dpB|2s*iw^d|1LEbusf%Eu=X zt_RQTZxzvlSh}ir<`>D*Z7f3oN2Q#E`%}X%Vp1PP1pW#*nwzfH(>0Y>5J1O7s6C^d ziI>f=%fSEqS!e}!q*e8QPPw0G&tN=6y~Wa$;+`V*xax8vH1{^@_8)0VR9(fZIA^p% zV$wIcv5U+bTtd>Zm)jY#%@TFwb@s?wO`wTlu>efE*()1i z8nOzNx22wr-oZ){S~InWu_)Ds0x2MZC>qR<1rs1tia zg;2GSII9zxT+X#;T=YLp&~X3%9yA}y&oLt->fs_}r=tS&7m+U-1a@qSu8r&A#&;m6y^2c!9eX5M+elOO?RBhY|d3_gU%l ztmB=lk@gISc#+3W`dUn%vVPHH-JUjq;pvJg^+`DVr0yW+jPm(*cK)hfQhZx+yXem& z%m+20AdugsfPG?LZEq|Ls{|mr%P+SPOfj)JXn) z6ZR~FtGOwRbb2E55w~(%ze&XDrA^_+i(4o6k>DU%10sbIS&MUhNAg3V==!n$g|n%h z19JkSzXmPNVjMLX;zjRZFhmAN=H76IDT5q`lnDt1?rsI2nXiT(V1mlAWFX|DKVD*~ zf^2~7>ODHcRKgU^6bmb)_T_MK6%hCuEB->N&xAuExR`F%6;xlp&jMZ@kgz)e9##PG z+rS=a)f50B2lSZ-*o;0|`ufy^Q-Im{i!ojRtvJ$fU+tVZBBUr1Wf`X-`Rsi|20rvq z<6$0MoEX)2%l>zAug_nucFJ-z#aZ{739`Ok+CrOY%b97%dGC%p`!IFww*yp&(&S}s z6)BsJx6~K9#LxALv{v@|Iz4F<%H$sSQoPO`H2K}D@q2u)Myo-=PmxgP**2e5p-ir7 zxB5A?FXx;3oDV7NJEPS^bn6qDoNH^oWr0(-8igZt?rK2FmYhMoD}U-g;wLgKg)R}k zwyK0H^fx{W%s7(Ak-rq%!mFj~3JuC0aJSfa-_8B*c!e8p1O}_|C&>pjzk25*Vbsin z_icc}KG=tCV*}?e=p}Ake7)Yyj*I|znHazyq0~EM_fsSH%OVx_!u@{lRTS@EV(tO) zddcPtxp*Ev@FVA@s5W%r=LcP3&mRIR9nH40%XUEhB1B{TdIsNO|K(PJC3N-Y z;VIpw0uaA^0Kl0ge}#qh8cBl@*QaYU=PM3AEPL-d(aLcY0f*8V(5|^z?!}QgNMImn z*iu#;YKd8U1$K`4pk#2gfSm)?tetEyZx`{oeg+^rQ#W_36)M{(#N=RA0HYZy$G_!&=h2t5vpC^)Uw);sx>E7L0sNIrepTg(aYH4Z-MX+(&{AF@NSi0Nc5^A>$~kXZO3rs*17PC%FiM4zR+HodnY-2 z9C}K7IQj*dadmg&LX*eptj$IVV~eMZEwK4#2x6I(z7*}>a=6?j7utmc#$rf0NSsUs zkCJ^x)b3Lw183rk41*7ssdBl%SfKaSB7@r4KMG6o1_ivjG4M4II9reZ^Os@9>p1eq zQf(2~8s=NHvw$e;i2pqv!0PJzHRY9Q4NFc0Fye`z@rf>+jZ)j<9p-`nCBtd|x%GQS zUq+8+Pc072nsb2f#Ssh$UNTT766hfta7nD6hm$)wSq%f8@cEA=43zJf5Fv5H4seJ} zv_BLunO*oZQ35&YZEC63Z19IKm?X0B#0#hDdI{g!?w9*?Kk+YZW~Q|WF;Ptxy6g;G zdFN5hu(LE{DY2KQ2XKo}T{ScJj6ihdqXEFUI=S`L!Jo_l+%< zH4f@Gu>x7b^lR8k`T~yXCL!ee@K(Xs~iAp+alO@Zv3YS+8;$YomTB5Ch4PN&( zn;?L!S~CpFp7|k`b2*w*;EK?FP1#$WT<1QPCZ*Im7sZ)9GCyH#di%B&TYvnJ?&IH8 zutn?fCf56kAW+wVUxi1Vi-dJLC(oB9{v8-nx5Ww=W#2$ikAfw8Sgf)!rV@zo)4-A^m|+65-lR@Ew}981o43!#)S{yh?*y7i_9R zm5(2Q>t*7NSAg>6F5^8<@38!dX3xrrHjkW%dXKV+CYD4OeTmUWE{5ZEz}MhJPP5UM zEK>y4DuW{E7=VWK1O25TR`Cqm5eS__F2f)jm0w1N91aY#(AIBG93o=&sXDou0cOf7 znlm;uu45ECBTx>p}*?5>7ta!%SBc-N_{WTK&0~FpC@lz_H`*jC) zlEkZfl|(`CN*|b58C%=2?290UQLV6b# z9Y^*u*>m-K@}@hwz;6O3G0qqc@PRWU`_Sg`@QC>>gySB{888Zx`D+fMg+K$AvRHK1 zIAkJl=d$wValpeSfi`GXh*wBPhjFz0lS@BRoa603c)+L{)U}yt+@R}b?bs8f zZ7fV+!q;9}P2M0fh2Yc>v7q*3z5vT%X9uZFk?Lx-HjMPVlM5Z4T023zz!?A$$^Pmu`wMiz(18-n&ue%8+m>l%!mIVggLZ!82*#W( zMSv)`kb}(m+`XPDD-q`&UYt-UO?t^WY@888#ezSn=Wy>+{a%GM&tnZB+$GP*UiX9X zcY4Hv;B9E+bqs1orH8l-ew7!`QD8%3Y;g{+NjB~bD2b{y6v2yRU6Mf7_2aO)#AiIH zJ~GRJ_hxV}_jRAo&(r`#sf`4O?EGmgQVg5qG2}-FwG_(Kw7&OD=LS0WH=b6)ik<-+ z9J7p|y8{cvB4FZ8A9nc07xA;1wFw$+(Oui;!Wuu=(E7qUfgcA3HIDLCUFN^g+K%8( zK;o0ZG#4U6$NEu3@$0k;-AY0;btYz$FGpQ7e#i-vWf5078JVeMS(uek@^`9 zEbOFJKz#2MUnqU%TdgdSksX%XTr+2#vwGrJ8Xy_Z=n^;@=11XyzG*y>YxCHT377a# zCcQMdD;69yvtOfF^o5>Xw)l!u6~fa{-+f)EWm=Z`u{?{=K9&_Taem}1S(eNH_^Xg#BA*XRw`8;Vv1`bMghqVM~>lb|D1R*y8G~$UnCT zc_qfDaNbQ3BPcozfrPxXk*icg*0Cf4l`lo>zoA~!1!Q&<*+v|+8d=WVbx1YQw;IEwmhwdyMGEaBG8xy@>fK>> z_YZI-xY&6IRXusBZpK|PwSV=+qHX5$fS);Vued%r&ifUUYxSOxDXXWMvtGqf+Jx5g zibo^X*KE5yPVDE*ykIVa-5|Lj2^jpY#6)r8Og6%u!)?z0aKq0^SHA(_rE@+0@dq#4 zNMXx12ow1G{?R7YoD%>S$$(HB$OQ(8G;p9o@IosvzH(+IwK9WE%$!bJX^a5 zgMtwRz1GXO*B2O`QVVKB*C$-%IQVN?8*Uln!$SFh*g`S@st#TEpJ1seV3;jKfUD36 zaKP~Va%Ywj+O1fk6dv)KFONJj|FC?a;cftb4!>lXe*O=ymes2uyL_~%vbwp?CTz9- zuWb1=5Npn;wEKisABBoDXVbeM&6gwGc|RJg*E6@JXh8DOzW=olqVu&Q5G#Mtt5G$L zM$I(rvHq1Dm&@lqfWI$Cd1QIA(RW^B$nnNy*Z!2J>|H~zaNqeJo#p3t_I0tano+s6 zX%jR}09p0F8apPuJEjzgy@EL3J*O_2Fg<}X*)fgK%N2BRfoD=<=WtpUBJ&>BSSzn4 z&9#Z)QEQ1Eh5^ZKt08L@kx^Zd<~iMj zDrAUuIr2U>E&QDE6?j2e7zI?XZW=w?>KLy!?H(C4ZmhL)t~Lv7`l4s|;ObY8cv4kK zk7}#ehQ$SI!{Mv%clFXGD<&~!Oe+aivY9$n=*~o(>^?lxmdi(l7t^GOh7Z zWFN{;=lC|I+{BV{Odi2ad zw3t4+KKPxoa@B~wWY9kfp8Noe;66&y^xxdn3rg=eGR=t^r)_;2F*jo69iY6yqMT{N zXdSv#x^^P+r9i0W8MAW(#4T&)cTHP{N_z`pN&Hy;iO7|n2xtrRZRDlBUO`6u2B$zK zOC}xWjC1G7AcBdRO9N#EUE+P*!egDQnRM?0dO}o$=FR;kWR?DuFgB6aJM0u*n^k>y zlDhBkE-wkL#n>Q(ya*VKh73!|XDDqRdm3OLyO7pqyP=3#4>8$#i1~<4f+AUYE*l;yxYrWe; zM0@Uc#LdOPwHS%Y35jZ#+Kz<_yb1TJ$Lu8jI(6csL50YB9IORRcwI{mKooSkP*Ff3 z1^gAGH~{BAvH45e1@;NpmB$sSDh?KE)X1wNT?t)B`9LU`8#Cc)7={9&`PT7bS_xiW z9Tao$W$7$1>_9gp86A}H?w72Db_5e~3~jyX-oe(fPlR(uqXL#O=e}p(F~C(%oME@| z&wO-yNc^#V+7^fI6~(aaF;|z-I1K2b7Yl=I10&K-vxsP1O8&DtaC{);oP&?T1nAw+ zjc$b97})d=GJAiiuVs2ma%`qBXnHB)VCEn=Fc;Fu%OW~0HldZ^ujedkUP?7M+vIuB zn|@GkRVyTv^-RNbVgKp;c+7H!RR?q9;`Ny}kFGcCJxf9EHC$?>{zYZE5%Bi%f%$($<>#k6qNO zPf7RKzWvo8#F86?jr2(CM~?DKz$Fy1nR?CTvr;A=%bG|qd-paR+j@``wp5C-+v{e> zggynesDd0hp``eX^y5^>aq;QMux49o`dApg zJvO$LkruJjGE-PMN=v()%c#5(anNJM(t3%}AndbUPX=F6`YDMTVd69Z$8kKkW>^w=mL^K$o>2U%+1RQridYTXv2}+DK8?QO~&J`Qu&X z1s;2fTdaMkX=hrOn^Gf%DN(zFFV2?0MDqb>{U6k)mFuUn4#}Py>w-P=VV_D7#GM;Q z;=~nMosAvR?BVM4Rhft1cFk|`e!|qA!}_ue49Plehf+PA^(21m-sFmPMH+`>YZHQ> zuHwGUl^D%2+7iMaGNAGdp|$X|5<5oiutgb=+r6R4Sq}GlP*6Xlj2;=NfYeSLK77J+ znA103ioYfr%P;AaSFe-$k?x7^*s(+Qgl#H3!o#b^meO6b>b4=~jatCexaTmJx0;DS zL+i^zKlMyorN!+vb%N!Uab7Z-JcHR0NbW?HzH4KMJ<>iix4_z+(P>tx^4;eslI>q2 zW3?WDuerynC0Id@AO)6hF)Jz{_5OmruT2nreNs>aD3>2lQ0}bKkfx5l)zQ_wBr7D~ z-qwLjE@R=8aP}vzoOp`?+0d9}T>s_%>w?d900H|xErOH#?P}5>*S8OCch*szGiWJ0 zen-yJ_h?;Oi^2_TAsvf~>$vurl!lJO)iw6W4feXtJl{?#b{)u=Lcv)!SiPoKq1|qr zozL<1%+bV3t7-7hk_3!l=odBEg7XtaxFytbQU!8cE|SHf@r@?K2+ZcZrcBAhRX64# z%K!)50_N8{WpM!{FXO;%%Yg4+R0U0do1K9-_-_#nVMMy*;MVaW@8m!gbi^Cj$Fh98 zXZ8irrfEGlbmHu6ERlUN5fS8Hb!9hy@4YG3TigheJ`%MLscq6vihO;b>^!VAeNOBb zu$F>IgrcrbmzkKY!^I{hOa)Khkgk|K3aE&LR(X2}l_Cxe2$t>|e|9&#TAA9V5@ABF z9yG{G24gcpTN)_pB7X7%ogQRj%S{uKgQj1!UblreOzel>gQ7NvMgLnR79T8#PKqiW zC1#jzo6~=|r97u}ZXcx#Af5SnrV;AEW=XjN^i)7u7KU3LZ)>TB^U(3dmpaKO0i$vl zP(StbbFTrLA+GxDXD3i$#wess$^viWX?SL&z{zXP`nM&${rz~upe;Pt_ZIB3RoB^| z)_ik*M+YIq!y7Yu{VT-TgUx}Q&KW)+_fv;1kN%A9uX0k+aS9izcOA%E<%!sJ2pVg| zTb`RX|8ck;+0nAzP7-oUi8{IvaG4TV2VNO#p7=aaV5LMwQYT&*<>CJLl{Zh4a_;bt z;jw>U$iv0cF(=gcq(0b(sr|fVTiaz5{z-0Zi!bF)VoFjb0dF#-{QE6s0G4q?eQ_%# z_p%Uk>ay%n(#BdsiRTb~>pcFs)6|Uhf_kMCiMExRcT^!3pplAWS;^ShIDEWL;^>C+yu~H7&KA? z1VW#g|8#9~*>|>mbgB}I2L78KB3`O(CEgOEUc{pliq@?le6FE$du+x2WQIM_xOYx# z$pYpCQ~opQIHsR(az?=IjJCNHci69rvgU4Gwq*NkFPr7@Ext=(BNlr@GUiPP6ma{9 z1K60ji5T{`9cW~k3c)SShcFpzG~RqN>GPg`EPxI+yo_xzcp*OcM=Gl)<3&@zTkeJ# z+ZQF$KR&uiqP!a&qM`X~j4H9mD+5RO1G#;^rUHIgCVgao#$ZzbUxG>h#iP)Dv$p4Z zVBEAj5&kwZ*{s`&etfu~`VOp7aulTydw%mYCAx1o91cEdr-#YW zd>=n~bQg+!!XU;gtb01@eNyK`0mCR_61)U;!>eyr*u^8XU4p7USKacB^xLWU7HA70 zZA!_%mi0+p+NM6V_yw=9wv{@J;-o9FqPeuV<~w!tqm-1^l|R*fv#PYsldcdhIfK;N zq|+fpzzABkHB`)Qa7~Y@V9yfu#!HF8pJ;6afqzTqTOfw0g7)<9M}>G!B`6q=q45Eb z2EMJoOk8wS;1mxFn-W!a08BzNEyq2<5<7WT@_-?c0K6pU@KVX<({-*v>hjl(G(f`R z0p^?_(D^!sNd1yNSe6@I&=lmj=2g(Lg|@2Oe4Bmgj*wzfniccId@#9qvdmuF0C}G2 zUaw?BHzESItV9LycAYB2m#I9cwyrns21VgkeI{J1Y%{A{7ZcqX3NZfsR+(H!xZ(rc zO6cs%%L7@lHKh^k-{mk-nda4I^d}OS8I_|k zlFkKlXc~6d!|WFAh>>fUezos+d&p?%(pH~0c3RORP>~c~K(C!HTBFz#2kN#Es!~~ODaJT6)l*Sp^~+-|ZxE&VGi4GT}-}b2P zPB9c5CFP>1c~ax?(Rl1mX*K5V#rl7@Av%_S)F3+%vOw$rp#$z_2;Cz>I>6g}?IL<$ z+kV-iK%EgF)j>>}sB<02&?P+e2I{>c>4!5%MhPe6gQi0kT^hd7(oQ~|2=ssT_;hioV#8#aU1&i^GPUzUov6D#{1 z4s8&~?(~5Xep3HBS}ndFEi`4Z`*89oIY8$fwgQAYR8AA4;(IcBy9Z@xyEp28$XKHK zic(&#uFF*i9mTXMKAV~FJmDcO*3uqbdqBVZ?eG(iVWBIuX?<(WbL}P#I7c)ptWmMU z$tHy}KNGO6kzw{o8m23akG9e}ww%fvup{Xw76#tmbG1T6#zOGu0r5!kJ5v{C_WTR^ zomsufxGG%^fNPlni2{QQzTD>=EPCziqernb_I6b~ejyX`A99=nt71L*P<7dw-Z$`9 z+wWGK_gYjM;)xXMTT=M@b-1ggWBK6Mown+RojU?3W05(_a!hk#Vn~rFyT={vd&&ND7*NFldrr?RAR+XVAe;vYHNV2@CP4Lrj7*T z4;sFlQEbmc&t*+%bsfjIO_S{>j2p7DY}&N!%&M|RLyh}C@YQY3slF@=85qqwQ z3AcRU7i;!FNI`TR>M zW^wd~oWX!_SlfQ&zy-U36I`wnPb4vArm|*l#&$U?{TS!Nu{WJA<$7HHIbd9-O?bg~ z{{erh!nM=BB>yI7t150Y&HE#JCz3W16XjeUzJ69Y&!2$4b5_9&>%EomdhEgHU31G; z$)m^kiHfz#t!2P--bv_0_3`QNMsIi>ObV_^=;F{C7)h&hIrEtps@J4gdkI560f!qL z3)peNNjgmU%gGX;x7sMY>Y0}>?GPO{ zLz>Q+x@OLHr?xv}eyeqpXv}FspYg&J{5<`%CbkG0tBAQ0Vr9jpF#_wM{O+H_qHXCzN9^gVajXi4K*#u2( zjS({8Z-yF9hd!`b=Xs(aB53%nze{d^k zLd2U^O>OiqXL%soY!5qJQ?ZK_X?_ne0hg8z?;WHJHzhP}R%eA=1r^GR1_PvPvocU~ zt|2Ao*T&DecWsH|KLkJom?yMGAK9k7E@*vhHy+gb3U|<`^kbA^)@)O~=%$ZOofB-J ztns@V^5U5Jg6SJpv7Gdr8&4LY+!|T>sTGfpNu>VdQxDuRFzoZNT_R=H3qUD5YIU0dE4RV>x=?h9?3G7`S>y zC#R{6ISZSl+IOFZ9qlbn`3)$t2ahOjzFf?8oxE(QyjsKttUF-vN#1zI0fJ&kTC-?c zXwh#j`MER@?8nHfbiS)LGBp4sxPzRytoo*T?WPdog7M+oe(oEGJ9z@b3kVCzoGiRZ z&Na`hB8LJ|5QjWr;2zdZWUcXXSk0^V(%)^iO{EEaAdy&kX)>18a>r+nkmEXf7-zRj zmD!l_8gG;zHA*Nk6~H{4IX>EP9qrzLCDir)H34!MlLQ~m)nT|q)K!&HaP9J!@# zNxh@=`$TTKAF_SvvwUjA@+1+&5IJbrf4Y$QrOBmpsjN_v_W|uS1OICVtzV{spCOQ~ z(+ghBOCmuVn(Qv4$Fnrb94@u9#ms+10KhFWo-bSdQ+Hb7?r+DkiF!Y?^L;Hrt868D z71m&_$@z#db69yimSsepT8fyXwR|a1&gy!|o}C(JSEfT)cs!@*W;Pmc?xbs#d$)5wt?{?LvMt@3v&j(c+Q>1|; z53Wep95^%KfnxqvI=A1gbe@1){2*RL4JfpL0!9%}GYKk^DF3Cu`dpc);-jTvHV3*~ znx+On_Ac2|elQ8|h9N{2h{kOVNQMnp+$q!H*7PD(MNiKlj4!_Q<9#8B!h+pJ#ybge zfm^!fP#O{0&1&X6syQlqN_;`aT{iZ28*Ym6!7Sxiz`%`l^$2;^_X4q$snl=t#is@! z>HNrz`c)|^?p}5~gm2(Q7>Ct0Sruj3e&2Vo`yf0y;+ZI?&F3Z;nwUEV@|vZH;HxVZ zV+;VpJAix;d;(h7YSp=!u+Ne4w`_n$>vDxPtmketM{-zHOvW*@x8U8r zqsx(qZT~&bz@00ZUuA^3y{u1jQ`N#qBhQq3GH!l*f=j)x3laRj%A0Ypu^aNKpN8`M z$V;o65367-iGtmN0DyA#Cy_!k<-pEY-iO&3}qL(B%BHSUm*XYZs1hS!D|2} zMHPphaU+yX0sy?ZQs_!~FMu-|HoniYG_85?tqW29{(A82lZnXLhp^V2_MNsdr<3JY zAa^$Vrz9&LsFjk2G@c0M@aF(A!fCJ`X)3F_f)JFJE(Ysw)k8I^_X@{yLS9}WLvnmk zE!3B+2OzC^_O?~;Slxb1Hj`)FS=(`#;a@3;aB7SvC>cr^!^?#*Tg$9oozYZdgcC1h z;9LpeyV$RXmmu$#6Mew4wlCC++W31DC^x?@T(f0|zKl$vr0N0gTAXty^*l1RR%Dhe z{B%a*T7uL?)FC^KJcj=+vh+(4`#WJQ4N(+%N}Db?Rz>xxEoAs>=z)R>WU=8Q)|ayB z!ho>N^Zu=0>;H5e0b&KW*LW}sSgU!G)g-d@W7Yac#G?Gqfk6-w>3kg)VMMc6@)HC` z(eUcH{4L3O->X9yXf%x6zr1z_P3DNEN1k*X8|=#k6iOgIkC+dr$iF9qvWwUQBrsjz zK;1dmlxkcosv9EKBf!1snDu*Y$1#iZX^mZLla{#A0lZ!r1)A^LjhW-!tlS zKhQlC0WxvoZC~Avub9tQx5_GuP2og~Uuw@}?8}+Pn)Qx18}A)3CQ=y0U4dL;yUG#! zyQYWdY&|RbisZST_>th3h#cEcx4?_nc|J<@GpdEBwm7__Czt;GKQgzkYIg+VJ`1BZ zI^%@1HHB{Ft`z70rmN7KUJ6VGUenf|Ee^#n;niaD$M*LEdRE)zzIa2rY@Bt>TODy} zs#E(}I{g4rM##DK&S&Xn$Li0UeTbJOv77#RAbTv;bUW92ew;#BEvozQl4r-#7V)+3 zK;D^8M?9`Jef@ez9(#jrD&d}nh}Nxvx*JV~!^djMQhtg@4){&py*Oap z7LXNY*-~|+T58o_3U{ zo1~czRtI+Loog9=j5lX(L-tsA=5(dl9QXFvZ)$>{X>ZIm1|-z&Rb*JQ0S~Z?;mh}6 zaR6kgWQjG@@^$awZ^mPv?cf(Gcc1R7oqHy5kp0*aji~@1WUSwWbVfwHbHNq2tbBRD z=R@jGzOuVbO%f>(9F7+qE#6YZr-OmeXwNB0YPoElyU33`tusatZ2S|6vIw)MN|bh3 zTM6zDO#xq6J2RUlm7(fZnZa7dCiQjZ(!U>?lLN!D#{;g>bv41UsQf%5l$_}xXvuc|q_xI38L= z+Jp{UmHpUlP6|1UH4gcxR&f((3;!#31-cNw;yVDh$JIqFGp+#^L@=i@bx?ss>bXn1 zvw%Qrtps0izPycLY&5eC>2CWohzF8)fCv#nzo&@M1dxFBuoqVVrMxc**bWs^MAKq{ z{m3%@Jvv z(n;o6F{+#du%Zh>T93*sLSh4RbzaqkRLq=%U~a^f1oCiJQOz>ci;Ao-J0!e zdRay%RWjSC;R(b1tDmG;UdW%UwR<3euu7-Y{=s|nowv_xelA%mO~9fnbU<2S&Q#U;&4m`jC22G2i*KW|M3FpZ2BMuzmONagJC+6t7?b%kA5~yi8k!|b5mc4- zp23Bg+f}B|)zZ|;@1{M=gj0J?*P$`BpMUtip(y%Pl;^ZH+99HET^gEpT^T-g71{Ky z`sgNnXLNgWve>nvQz5+ZjjZ8f+2%fFDe-ZfafsONFSCwc5n!F|+|9>-cw&I%uhmP5 zJ+L|~@}ra!UK3q`y%DV6oj`!Gt_cTk&IP*4cdv$s`Q8!VxW7fdZ97~IsW_O8VQef!@85tZyjJVOsP>MrbzJ|LO9m1lcefHpNE&iEq@S%eKtm9Nb z@YYQ7Jq8q`nN5I6;8alSJh$pcYSk7?WCwMZr%lC!PO94{*pXfSye7Bxrv}OKZh;kc?Gw6^>Jx$^&BF$PpI%C6_2LJ z!e3vJrS^J_4SHl`0Q|g2xm@c9*GmLK4AVuBU;T+nue^&V8X}7^hyR9=7)B5-uC3xb z3Q%3E4?XPxq>M@J(Z6S0`*uCH$va{*-$EV+i`?CA=vYnTRW1sj1`@lBC~5HhY!(L< zlO`9ZT$M@kJ7WV6M#6v86$ca_rO;3AxQ*t+9Ucg1LwhdJU2K&CrjlR^H=LTM-Ml zgdEaNa9m4(6VVcl-c}1oo}2cOi;+Jca6Vy0IWZtG#>;%Po_aU zY+5|VD#>WN!7l5F=3u~x{823dqB)>}o&NW&UkmCG2fIKO5j0Na?Pd(4*zcR)oBIBB zQh}x|ZXgoW;ETW|>6#2lF$CmmH&(4I^CNSP)^#V|RBk-)-tSw^KCPj~A>%P$7p!kb zozRf%zyNDgcAoD=2x3iPJr^ggRD?>x+N^U|4e!R&5F#EqLUTI zu=e7;++v(0B_EIG(bh^;FF{e@yx%g#Bd1E`j4PEjp82$&LZdlU%-z*Ym)SAV4qtyX zFN3|qDg8MwSm@(xFWE6`-#6&jepO=otIt+I5p1#+8dW1M8g9!KX55JHU?-WyDRAMW z=Q9N1_FX=sd^K)BDc&V&a`wl7phHDz>+VPK>AshC&F%8+zep5zf5T_^YVvC*6 zQ;+hz{Bz$kDodL>%wB2;5#*a+>J0bu)diAq^Kl<{A6bFYh#~^&7W7}iREON{2^b&i=(Q?OH z#QIJ|x*Azum_gPTp0#6AI^G*-8bG~}ekhDqW@W(_Yp{M0jW$2JPOFFqxReS)Oaj9& zs*iW~Ee$4gHqWE_c6GZY#`Vmv3n}8*X5*$oj`a`eX42((Fc_NIV{pBP?*nYC|R0sCN&Kz4(7&IJ~_D|=4L+fHL! z{fax*nf^rM3+U5k*1TG_t_F>{d{jf#8&8Qv1LMR#K5m$!p1WuU``vrxukH(g1N2h#koz zzrmUV+&9nzO8XQ84dVzyGF)kqi?y%Bl~d*EQ5U&Z2@%rE^k*fPNc@b=e*Ecv%MabY zK96gk2>0@aNyOCkD~Pu|5Ffhu$ZMlBI4TXc@Xs29;44s-Ozi}s2iO>-R(oaAk! zNVd#%n{50>ThB!pA^E8u8z;BMpCnfCIy@!(_QJGxT&Zr(3$dL==h~Z!J=#bSm(dvb z$U=iiyUF14!^DY$fVTOx8tcewhY&y)4J34u_)y8<&{XnF1Wm16%}Yo5C14dJ2qvV{ z<-^l}u2(dT%S|jhN771!a!+yNRPfUbJP#d{nc*MDDUf)cOxva64wHCxj&iwm*=D`3 z`VQlxVX%sy07J%ru|1C7&--Dw8|=f|Ga8!+nV5Q=1pN;pO#6=ycTzD3JyOyu`lT6) zSWiI^xPHF&KL69(5?NONA8qde)@1g*i&{ohaIjGY!3IJMp$QnJj3S_b0x|Re(v>!9-MAW?b#(K7kKg)49CEd7dY}4bXnq)1eSPOFgJ8;UY9w?QB>8H;+3=7Ob!H>1!+2Nr?(8j=5^8}1=q`ZK6IBd$gX(Kfo{r1PLJdw-f|mzj*~FM6*{&f=!5Pj0bz?!pjU z>|boqsy&ZQGSlsDPg5sP_Lg68#85MXM$^=uXK$M!w3GaLli;Ca%XUTU*4;0Bd&zTUIEpuY=CGuU4JqOg?XLUe_EcB(7;%IJVTCy<(d` z{o>)h^3g`OipNQdlzsfo`PU1#m5IUh>eezS@7d+aaysEvGF_PGu@!Jy(g}jK1LU#!cQeu>+yzHeBuJ;~MPv!H#7EQ`bXU2dPt_7BDUE#_xOBx-Yvp{d z5DDxcEh?_CxHYLLdrYntHhxUg?^$|WuAl3CK__1x(YdD*-s?0L^5ndzVut-xRQOU< zuM(jba`x9dSES97U)%5d1E}Gp^V-Z#r*%oMd#X30E{M)I3fDL6SdqB&>&IuC-Bnt9 zuOa?us`qHO3o40D7rL15W{|b>^~g$~pRj!E2)ffigu?UOOgs3k41~XR?(53cUp*bE zBrbKT*eRS^k2L|+)AnRgFpY?uP0MwKYXv&}baN?e!qs^PN#)*v(F>#AC_S$8A}|BQ zzizNUa5!MGW~_?-!h5RI`eor1*80VfDTcMEcC(gxza5wz}G^|;c>x@VNevY*gD zpO~>j8P%5r7ypck_-#(#=%~PXR23R;UloicWqUJHXL8m-U`Mgro~cV-T-OjbNWA9; znk2A#e?!V2wiGwYI(A@Q$*w*3f4~DEW+<<)a7ZW#8x3?o@6FRm@eG;`8EiJpZ~TRX z7NOoX7v4(+7!k=b$~D)_=L!T4|Gc;i>PqOpk%ak8J+=Tn@UD3{92_YGnoTweO>F|} z2w;I=8Wf~~23ru5fePVIi|;R(5uaw=27PAOA5>{cQy<>Ao`P3N-(rEolFQD5(@t`B z+$tB>I)uZI?tAZY$E_D^f!dPpG5OgdU%I>ahUCP@O~^}AH+oG^kHzo3ixRN7Cs6H6 z7x6n_ML6sEYhI|zje7>Uw#{g{Zs>vQm3KVOt;flsj~q>;9I+}=P%3Qv__%t?De3iK zVB@TTq~rc9*UxoT9l6k?>swCbnzsb>?JS)>PaMtKw_q?s4O5)5Ot`pME>W~oLp;$~ z7^}cquOAB2mQOMPU1bzQFYf0b6uCUHS4WUr`DZrmdnyUggO9bY_dq4E(+wmqF@&ik zO1&)FBHpmHX_4(E+A?+zbU6T2CeRcUux|Pge>e zOa`9pvOFTAZP^Xo_`dV((Sz(5`o0H@kS%=*fkMbFPp3r>NPM2iG#9u>smY|cgq?d) z{wb_mPl4(tt=G{Me4oMfLbRrjSp6RB74vJc>AuaU4^ZbV(-OX1xgvY-kXDY*0r)vN zefg;9m_QPC;|smrJ3!acKftE^gT}3H7iCfVa-;>~UsXogiG|2~w=MGP8pVGwm`f?; zg7a4MUY7AsWl`q674H+@pQ7jg*ae{ zZ5N(4BrjarTiq6SaRM^(M{u$Et-bM=THhS(sjZfLW^h)d$}!Ems#qg1YTeR~^*45G zy&)pCZ)>#90Z*0C^wGxOKR0)nS?h#u5rN+fTK8~^UGmfx)3H{g&eozN+cZntPAoRt z|CQ%deV--xZ}-zmQrPJG8kD0rRd3-@XAz@pTZ>*n48yC1l@NM>bJ`M$J4NJ{=i0z1 zjD!{QquxZ6@FN?+gIQJFu#-nIaJyZP9Q}#le~277CP>2@^!;JFZyQg`o1b{^@^hcp z0@?v4o{MI$UfC@;T2T}$G)h`sq@shWpoSKKB|@VWZt+5ID^Pw*ArbynG8lVQOIKyE z_bR>Msw2%$ST<(W2V(MRe4sPi`Evp?M>>>4hzJ?xF@|rE3uR7l!>aV=w~d6#HZ_bz zY`2OGvXCB&5F<-dhL@+YD!bvUl?wM(nd8LhtfshK#6TY1sxmRg9oFbA=Gf$Ag|?8# zMbn=L))yWiI*#Y^82YmUp`95s1_tP*NP}5wjF$&1N)Od>zQps7D2&?te2ts2`)^GM z$i{Uqw&{4}qr|E62nppyrO0wfN)uW_FKOkf1OXh9jj0e zn04cFoxxpO5o$oI^ie8pA1qbhd5=e5mmEel2F}%i*?2pP`SZrSKF5yJYVv-rOlJ-S zWmv99ac!0K@2{@-ue48TnQmjs5eOITNkNXh=}Xxz?m@k}B`Uj#NHOv(bmU2}Z46q6 zc}Wvp1wHG)!j&3X^2WyHV7!w#p*k^=tyj`eD=z!nE-FWK@90SIx`wW5GcYghap*7= zZd6w5s!VEv+hiumvM;fi0ju^CpN{pPUE^l@MY=f2POq6J@kZ49rxD&Y>^~@WB2DaY<{cbmsg1dmHS~sK1yU>;_ zECUVCc$QivjodW&&RjyQnH6Q6V_HOMM%W$`2q2>Jz}=zN40Ol>+8p;F()_k2aPC8K zxYj#VM$N_eRT)yZldr}*f{mt221<+EQMed1#DwB_EPhNYAku z$_4cNBm8g zGljddHSL6l4;P||S>@c_&9RK-bKG$kqMc`uB`ivkdWBe*RfQ@cpp>I_QW(K!WAkiy zIp|`>r_Iqf09YJ^;h3kCt#P3NMClZHg_sxfrtgM+?kczuv~oLqwnAe5tpvlg3%Ivn zYu-he@o2zHX^-X-5LDWm(W=qWj8Q&3}m$>3$%0 z=$gLeOc%q?l6#wkQ_pT1pr*YVU_a=?vj&!=R&gz1)^-UF)7GeHT;uHf<}1j3;^aDA z9@=-DMZB9`I4?Dcwemh>J+v#R$_lN~Q^#ZclKOiCBvB~fzBI0NzGwtUUfTP|oXUR!P$R2R78fQt0X_PQuM-W;=&sOLbO^rMc^gciHf|!QUJrP1GBT zqh3t*|FqZ*+_eiKp*Md4pb683XyXcRvn!$7_yM?h<8?OHr3($(5NojtJ(X6^luH{b zV3~5NT@192H&G$wAft`pQI1NX5_5Zx2#qEbr8I+DL5;Pn=33pi=pP(HBSzG4;WF)#n?tP~epnX2Wf7S&zte%Vf$d2cn$vLuC~_2>w7 z6kB%s)%7TsYN$`sK*lCNC6W4pdRT~cv;Q(}n%gmLDn@yEJ(PT1gkY~YMGvog2z|kH zhYnTUqm%E;+V7C{4xeBIzn{k>3RTuW8Y>EyiP=Ro*BK)YX(%AQ<*d~cts~KaE74k) zi+I~grwdGlOGDVp;{FZRN*D|AR_D9GjZ5gJ!W1W$Tf2yv52OVdtWfUnBXnk>B6hv7 zN&dEV>(sy4;Q8$a?NTUjVi}zX3Gn?ZMxYgNF_P3b0G3zOf%R2f*-tBJS7A{*l_Pgz zso5}3Xar&81PMx%+&f8J-zUUXrsTR1fH#Y&` z2&OV!;B{$Es^0MAP=i5SVKk$qjZpvvfIAlLu3Dgh({Hs=j@#)`R+7>JE^Z^Alg_Y9 z#s;)^9k}R}s3pl&SLyc~LNsZ(zQoElQp3<;xa}$mb!+RrNh*3R~ zBb>ym%co(K-cHl8f>4;Q6_!-kW4S8K>lk34Xgvj2Fky^07+lF5AVK1_Zmkq7YOG#o zd(KafAB#RvuiKTYT@p_U4=)&d0%OGJ#f+)98N)o~qqGo3*>n5qgjX+G9*Ckp4X%&g zMT8_CX=X}$3%(@bHWhodkm&^Non2k$Qj zJE-B+UO0m}SaK|P?J+S-f$5rwmpsN-fG=p$7}Gqd&3+Sg;zaw7PM&@urG;9;8ekNR^v~MS+#2!)N1vEicSUHv zR}W&o)kKK5HxD#r&&Phs`?J_&Aa|npRzjqnzBAV$VzE{b{AtXNAaJkq7RxdXh{9Ki zE7fIAO#G2X-LB>G19Z9dNfF)7WCY#$v#>IDm@84#q*Tyy2Y@P<`E8$BuI^_u^{i$W z+sVq2D@7@bTOtfO4Ozd}!4hwlB^xMw93FdOQ+mA3P>Xt7(4D9@omON*t!U*Vh?1 z$Xk=3cLoAW6_Tj7t9F=o&m!7HxfN`zvE!HXZ{6cWeijAdk(rZg@ccCJRl zUHQy`zwV%fYrGS~xTF}1Zefk0B?{5-HXC5&hgBkmNErF6FDFy8^E{O3ROe8BgoH)C zfu>O9RKv?4IKUkNC&{rXp#WBaQ^z%dI2cTQlff2Mw_qM9w`1*V1Lstb(U)T@P$ed< z0T#Bj8^uNay`_-j`ky6>o1{xYlVPzR8am#je~@C^ zf;E>RuL|$!DHfa>A7=2L8IO3SCA9A%9`A6GN1N+zF5Ey&XE-Fkj+~#f0XjxRC5$Cy zfG!CguJ_16t)f5S^UTBZVM&Fyt&xEq=#`i|#_$JQYCE&Y$h~X&}NSf!3GO_-Y(LNE`bQd+#tfX0b1C#X|4cO zBuGBxaO!pd?$Hh6j1B`>KRf6BHvb809ucOizqKaaR*JVx?y`lNkpadWI%}?!Rt`yL z+ScXVD)!VW75bPlM5}n^o6^xP+2MVcb=|0WSTyoVow6_E%B?W}Wb)v&LAlJ{2y<<- zH?boH51n*yIcJ0m#)#oOSLgbXiZdlnwTKmyo9NF;?FZnnBqj!Lo~@ss*4oJiC3&67 z+6bpolP5@lV?}4d?f~Wi)S;L=;Hym|pV^zg!rwjNW5RG+#ye3QsaU`{sE)>JwA?er#+}Qws$cVQS3?si)L-+46k6;juK}f!+@o*(l|^7QmoI4B1jDz!bXbNS^rpt1$bC^PO6{6##(&{#UQ@Vm%VMR66t8fEh zNBdR3yFvp?(+^~0C_^xV?!D9cRS}cuI#tdwvG|aA>12~TA~Xx$qQ~7{ySE2ybOvTK zrYso|4u{5SQl2Xeyi!$&cxm2YT$1uUuLFy=0-~`x(LsS;Io7m1Fqml?Ru4-`d3mGB#s3qXE;h%97yow_yQ~^f?f5#a!YHS?qe|J)K1*tDEOt>zn_!JkR zIwymKL=2DC@Mc$@d?syJf5?z|j%(Encrg2L7u8wB#3dB61;j3I*y<%q6>;zj<6sd9 zSjMZKVXm?|L)PoJ6FVsG5gT5V4qx7`{}NSP3l6DtZfBSa-_BKmx|^p&G0|*J0lFNz zr)i?IAaq-$T~h|3v)Ro8*@b7AbV_k8tqeRZH6zTHIEzIdYB=@O!V37Ry2uk}F+Ym} zzvOmsMj!1`e6iq|mtGx33)Ts?6GrT5mMb&t z$Z4weErwnf*{U@`3zi_%37xjQEA6pgoaTCYUb{4UmN^nhgJfMeT09OWne-uNUH4G=Z6f^k3Q9qgpHN^1K=M{61&E@=rqCp*S zROZ_4%CaOwE@b@DuaXyu?Gs@Y9+sHZW}BRfkh9w$Y05~*eBkjxLQOI z)icyD*JJY-5y~+mz!Z_gl+~hyQjOj44}pH@!Js3azgf$L&G+6;8;Tq!mQqJLz2Dg# z3DP+N$E9PXqenpcF=iB2!flH907(|=3`!9)DZhnLhPESM?^t*Ln{+_=F1$-F;K7M1 zIF3SEE+nO|cqycSkPp-rB9~3q%?<-y(c~C|F9XhYIMe>@+p6Xw3}$fD9ihM1iNb7I#&A>99Nw>-|oOxJpMV-7YajDyI)qZ2HFoi zhvq#>5MT7~d$NS7Z^ynTM~8V&W7vzGyY{^)Pa*HkO7McmTry+@hmCk$V=X>09+_Dz zIMdNwN-H?sfvx=G$e>0%WhB?U#G|YfGs@3$7Cmc9pa&=9a-1n5$(JYc|J z>1}1OXr6l305HlA8HNB@h0$$+&6Yl^0Hx9sh?T?Y-DZ(#{6w%2u&vxoBKLD(F~h8M z;B{#xv6r8i+y(id9-_Dk1U@3L;wFs3BE@|R*l7Y?*Ce%E?3vcWUb3-L6f=E1Vs2xKz7jK(KO9H}68Ljyh7MVt5NUgJCc)L~U zVpJ>P$sJV%WySBC{Va5&^q6Tc4QB0?2s;G_3ce_L?!rZ+$d>YaL_V;|jheg08=v9h< zr0d-n7H-SDvdFkCh+{Snq?&^gvz0s1kbpE45Z}~Cm}*43=@Z<Ce_(m=MffXOY z9PDqiiH~78MaM8);uti~Qa%#L@FS03X*sG!2t;hmBNG-5bV5rh6XVUaXue(Z+jVsJtEr+6;SI|+VWj2i zK_DtKCYdx`LbrL5tiz;}!yapL+3}K@#i0Qv>-mzp2)TTwF4Fe(8`F`-@gNwM=@ixd z`pW%Gl3_Em3YN&!^5XvP;ya1Z@vhh1K0cq=R5UU}y~C=r%{Fo-Vu7^<#~hDsr)s5e z-Ttd_itPkncN1$m9(>FMv~6`hfUhHi^+q86v<%DD;l{zC+yu8Fi6l%q=A;75>8~GK}#_zBUk`q36xJ(!9_o8)~uRjRfUQY z^&L7t*1V`IHy7Ua$)Wuc%%t1$4Jt1sE|2F3m7CQmmeXi4#x@@bAUdq*MD%t_eKy#H zws+V^9#8AJav#-p%1^v?5bmS>w0*4BCil>4Ww;JS%L(dK=+YI$J#Iy{e?Lyw;oiv6 z6>n7D8;xW9k(92>eOZ2ZOYdKy^RQW5_pF&t%ZU~o9UhwyJV`2db|o}Um89~9pciB<~L4%H1H zrLGYkzOMb(oX6GkmYJ=mh+?|gHBP2$!~d-b?DCXl^UT~%jvMMLV)?grn*vbS)xc#a zduH>#JWX;37uD^B1+0GTHF5t9ekRVD{17RS@=N|-vB(}2I_lz}i9L;zh{e)&B2wUC z_N=7M4NI^C0T-?!gwWb!y!L5~+4ylnS2(5tHh3+cLkG(H7%3cYZm zy8J=!q~)BZ!A|>j*3Xqe{%<$=%-LuzjvZ(_<0x9g*7f!A#5kqXtb^Gxai`$@1N+IL z5$}2vx{5|Q+__0~=n_*PLH{53LFU(8$v}k2!u*EZ_xn{A{)uUQODtmt#<^Y=eb-L5 z=~)Q%QNn5o4t`Pf7h$~d87@xP`Ap_1Gw>7g-=4UZ(s^ppmptJ#;JaD0>SYQGG%yv= zJ3qBh(BM!8qmrf7+amw&lXxUdL#Qi2vd6OSi7BFG$`X=rVsyc^c!8i31Glc*Iq22B zBUSdF9)L2QCX4i(c}{Bg^DC(+jER{z&>!CT96_u{l8-UTlmt#e5cC{7+zHEs9!X0R z`u++XIY_^bqs*P*FBWgIiY6S-Fm_eWUfWe{aNNV{VCD^@RlF13r@Pp0(>Q?oS5m#c zbI0)Ld7B*WloHNFoGtNZi2T#@-x;&Y083E{2j`R;yMLhNV=0p^mG*_d#5D+;a6}pd zY)?4n_l9q*N7*2T78>SF+LUPIJVX$c7oRviHhE5=`GoOk+?ee7nD0!pZ~OY)>(&Lx zpFMpN={05zAw+CZ?i1Hjaq{Jrz81G;Z(qqEj2)e@ge+bb{Y5_phF8PPfgQ@VK6~xX z`>pKRYrW+u$?REm`CK|>a`G{0yXXQ0OP-w8o$~LIBhJRZd-B~2{}Ex#u&I?e_UHD| z`c3P5GVSuW@h`@TH@JjBnT1UzC}L|pm*OQ|Yy4|{tpeOi5kbAYClOmUxj|B#dQq9A z@5b$A0>$23*ghJy>=Z%}{ppL;g@>`ZNRRz8BxFYwF1MB3)9)_zu`(m6d2FWpW&QB$ zhh*bW+UtN6$^(PR6+_#8C&=NJx&_`f?3cwp&e4gG(OD0JCXw$GQ+u!cI*Sd`e{S}` zv%-@pW!XszSj?oF22=-GciHQx{F8xWewRMm7SL5o{4qWKjzi*iq=4K5MbI+3n}^>R z+Db>yb!rwcaJjTnKe|karia@04+C6yja~hEU!G?}+^B06SdVr&z8cCEsJ`o}X^0;G z;r@R4p)VTMa*_QB2+0Ku1dlGWnDKj8I~rDloO-u7TJ&g9i7uT0-lqGU-9E88Qjz|} z>=oC_V^g~X$1ZUmO%JTrz05agW=;{QzxsC^ z@;<9$mD+v{t9RaO!9kXf%5uk3cD@@(&I%&L8qc_j1Z1qfDXzNjxW_EL6jq>847ht&1U2}W$Xr{#1F%{`@5`zg!7DV*M7V2Q zTlsfV8TQen?a-_$5Icrw z)}z)C>&i`Yu7YyGa~N!AIU#$XeU5Q#OmOUU{x;~30h6)RV6mPKSyyXJzSc^I=@3#V z;BapG$4ECawCjA5v{^3l{FFcE8hG1F+Y)?r`+JQUZ)i>f%&SG1$V$Lgz9#@6LZU+l z0?t0K+E(JL=uPnToEaVo7HU^|0?!(hJ3lb2p+|QTNgz%t7%5;c^z;UoRL2bG?a=Ka zHU?Qh{vM&>HPbNsD@Q!*HRAESO_FF)`ORcXd)VF!fv^&!Uv^R0t}V5p0?iUajn>?>V0m5$V@oYH3p~*!XE^T)wuR zWk^zWgBsszTRH+-YaGIYTgQ;Hz294k&l zt6kVjTW`!zA{Qa2Y%Z`bf~hn7`(v7b-*k7cTsHw(*u@7v?34OPkJ9{j&u9Q$s(d3? z9>FFAl>F+KOnI^E`$$&(3PE(}@J)GC>{42(UGJ~6P>q0F{8SzNx?{sk_@BCX(*W&v z$rLGaZ~22bx*}l&!R9;9KS!X5o#wNPjKYcB@>{=59dKy#O)j)1ur&*4^qy#4QjJ6H znch@(E!-p!+~;+PAG0ccPH)clsH}I$m440kSyLqBu&z^`aN!EE-LFJbh;i`^9z7)i zZf5ZJ#|80WyR}H+-AOC}oonlLUKrkgu3G!73(C=?zJTSNj;+@FAVOAm$d~TDCPEHN zafED+(z8Bx*x3Ez)*p}!nIC%Pz5~j^U8^wdLC@7TzYd3yo|+nBtKI(K+o{mSzUxVmyMEbGauANMGad*YYzV_t&{N7oCaQ@A|!$e>IY^`=|Hc z#w~xIpSSTd1W@F2{=wQy=r+Vx(f<#9R5!7fInkPQxCu4j+y9jJVaN9E-F@@!*McN{ zE73tg4|M87&I~BaeTkJYH+k?_pS7XNAMzy64~3PV5hG0(CiGQ!2G9 ze2Mz&wBlL!r3;baf$0t{J>zKhRU5@%V>~!gGwsDE`nX!H%!NOmN;6YEzR|TGe{ljK z)4~{ih+xBNOZ=U*I~*2f%6Qx+eI7e-fpyPU_~Y~(K$3*rSxryrxI)@y`t>(qZDy&JP14jg!zs$vMr*EDYLy@_C-xu&>%cnDpA2zq>y z1A1V|X0@mXE8A1ivG%y7spAdP!BS?{>g9z2k9!D`wYRUTET;~yY>AwEH?dp+&mfu? zHP`j`KXeTa)@lFeBf#4>i0p*V-}>uj@fHvQj`Tb{z0bgX?7aLD?1^nq5=ZDmSB1>h zo7r<0KY5GF4vb%$_3pwSALY45XTN)9K|YH42L5-GfP}(_^N}(Oi1Lej6{>UvK_eW6 z7_T*63-xHdofzb{6YiXkDw>tn4X5{#UwZGlK4J1Gv%XE11bN%EOO#2z+#x@u@nVzAqIJhxhk&AxlC{@eujXU-v?ZO(7GR@@6=zKJbibDjg&t;XFJ$e;8 ztqw%cs3|!K!FG3v;GZEj1RO;wfj}*nTf|4i{b^WUPai(CE!0m&=0@$G@My{>Uvjct zDSWy4 zc#i*7+(%sCiTvTT@hgZLzr`IX!+%1)+*HD&>u5bAfgwB+OaiJ#Nf2B6rQzV zn-awJO&ADQt~oPB1h^af7MSELrCxgo!E?BUT$A&0w0eUkTl(CWV_Roui~VrDJpRe9 zTz@?4*uNY7MQ+7@m;xButj{2?;yG!;x7+TcK=DxZ@={(JrB$uE+9+SUbJ*vM&cGF- zOgy~7pUkYJsw&<4-n;pOh5IB^gjDkKeC`VUv7X_A8d~Vn4d4BI(mxTG6)DXO?rlK8 zdA%?id0BUbqt!QjR3n}UdmBRiv=h(zZ7lTiw;;3oFc9T6fK^{RKSDbGb`Xg02zBia zM!>bj9XeJv_Uz*j{mo)2SGKM^E^m*T82lVCtUAnkZd>Q*X;zq4J9zFV`r_wo%f3Hm zLw%;4*t04}f(FQ!Nmk8LQyN)KOR2+Z$0F*2pRiiO-r~{L`v(F$>`MnfVJ?sU`~97~=8uvJ5yjz7k9B7`$c zP|pOX&cDG71ewmZjSA=Z#LI9p|AwMF?>8Cd*R3N1vc0|AA@yW$Am;gU^;Zn*nvBXL zbboY&wcT-Sr^FpKVRSXzS~=6}nK5e0Tp|`NC@-UOTnB=EgZi81KCVbVSv=V5xl-!q9RGR}7hr6yH-B;TSmBJb}jz6#2cu z;wr@-aeU^7sGTdvS)(T1LW9?o>yTj&mHj=G>&^WZBXQM}o)5GtaZbUidexV*qsbxr zLuT=~IhwHPba+?7n^0Y{Zp&2Z*$0;wT-9r}rw=qeLXJu+V$-6(_nm9ucvj86i7$;N zI-5qG;aM5V*iC;vtf+upyZ$_kAYS2|G5&$}d%~O5qZ6F;ku*2GxA_S=<`C-s+<&{6 zA09NlEHP;jcZ~HcZAgoNr4N4W)HP%hxx27rN4-;s&o_}!`aQnjEmYwG`gJ)dp6sfL zbMPLHM%pDk#MycQ@JRB>jX4{ZJb2j=oOZo--6cXqy3XpSjBZj8uYJOd*G_8Zb&`1d zIKz7EeVi6jaMlV{FFb2yP>XkNp-OL=ZUA%+`s(B7tD9v*&3%18Dqz>w{NQzC7a;zM zF^|58K49ivSp^+JtP1jCWe?ZcI?NhkZhDHD*+ZT#sKZbM?FTx9zEzDh54~Ns*iJT6 zS}8k+Zw5tBDfr%W#J4|uRjPS~G#lrSw9n84tbHJGIBo*$jceVtb>9}(TR-@cCZ2Ui zvY5%bQhCfVqNKEFZ(_~TUW@bFVc6ka)lYxf`>cNNLM66C?RqZV?b2-=g^6hRP`Z<& z_%y>@FiMh=b12?ZAu58bp4>zlmIP{X#EhRUBx2IrsjynpH^mO37qU>a#7l%EuDbym z9v%(}3_KJ6BW=2-iAN(J`aQsZ#Pqbpc569xI0nx~S`OL-4o0G_t^{y8ilQky8DH)o z;ILEFuwq@u!vl+*(7}eV5AJ&QpP|nW2cNs`Vg4q|(^8jSNx)J(@4K+0BkTb{CyEaa zeEk-X!|kB+EN7=9W;%GX-m3omITZnaYyqXaU+2WF3YTTaUB%Ha)XO)iRi92+IGZ0TwiW+t zYL2w=P~gvundz_JYRtnqD-}pyeJPh}n9mho9bXMARJHZWm%imUI!||^Ifl)5PGGGa z*DKU5eDv-XCoMIf6=Zy;bAL^9hXad;dWDodlr^5L+pg@xLL05%%Kr*n%x5<)WW|KOhSbc;6+Sexq1=a>`u6e`S z8p9X@QfktCWs^tcZ?VPMJ2a6Ue3jAYt2X8PR6DCJMn1OYg0nXaszqF zj+BE{^?eI-?RijGK;KGPY3t0&7DAloL;urXXL2T0BUwL(%OH>}xEunnnSR2AaW71e zvEy&+C4kTOSDlXSmng9W#iV0-C7N!R@}7Kbiqk_*} z>raTstNt)8?E@S;|NJ`twJiaEEuB30NCYcg`)jKX?ZxzT00m~ATuWb=Y z*Qln^lqbqfTtK8bD)3y(l+jgA$0X$IEKJ$y!`sZ`>E^=f$q|di{%)kX%@Ig0XOIdq z68JZM_jU1k(#M#wv-wk=o43B;D`$pfwn>ZHlM1B8zE zrLDr8o#HdDim78*bHVGyIVf?;{2mH;zwAk?$}thEl@TRKfmHP$veYNYDTvwb&k%RI ztgLzZHIWwqcZr}KL=94=EPF3w@zYA|LjFu+s^kX_NxpF6xvVjR@mL}9M3;Gq5F_|! z26%twoRaaZ$^lEr#Cp1+r=&h8^fRb&oDc3Ebk-zZ6vYp_5jf0wpV6jcm5!`TMc~#ssMf(AQcTbPnbEKbGxwGP( z(eTmi2sVDA*-MkvvLG}F$T8>TB!v1egpd|P zKx6{BG(T4Sy)0o8Xm94oE|U{iKdSX;w4L^Y67D71yd%KOuEXR(9mD>c3v;bP-7&?D zL7Z^mK;aXQL&hDPlJXZH9W-WCo>jQr6g$k}a9#?-^@*Tm-H)YECrAjQDg1&~7GwEP z$bQvFgcE=!k-oTuXV0$?d>=u7*<2UoXlm*nE4#%GeGM~+Oh z{J$0;zwz$M5d{3II#^Yuf}OB&6DCf}yIxS5n)FqH>KkAFjVFJt|602?h{^iOyD1}t zf$$R?(E6r=-_d1Vq>6mqT*rxK2~~sgq90@je!j<#7asc?I8(K)r$88|KO9{3_@@HF z&niIFjasc=;RpN!{D6NtwK(%1iU&XMf)bJEv1itmt5`j5xd-rwU*fY?ruLT!{QfNm z+IaOFe5|F1pvo%Z%OlzL{*dYVp>l)M=T-lksH^?@AC>=Wn!>LgT3lQ-u-)ykenV#N zf3tAOV*%ga2~-KVuUl5c{(j-S3&$4LgpXX;^TfKkwvz0A_wD(dx8G#; zAFiGn1w<7!i*40aLKpC8MzS&EBuDLcB|Ph+d$`{OQI>rCiBayqjOsTl_=ij^x6I-g z8J~q9s^xvr9^k91+qYlue#e|A?wkk+2bzh@-S7F=nh?bBovL6O&eAPD=)5A>i{~0M zq7m?*46ti_SS=biu(}#6s{GSH4Eld{lRLfSr zd-zt}0YauZmxqJ4c?=S{$fP&$e6Fu{oJZF7uyDeju(sLoTaE0?*ZRWyZn!9o&Mye; zeb-PraPS9jSQ}ZdGHl{n+T~v8=@X~j18VlQi4us^lHpwVewgwJLe)9f79Ujblb_Qi zPk<(i&L)FSOy!GY9g_XenL52o&H7=rOE^h~0@o?MCwCo5Mt@7~`A$GITZF#N`51Xg zM;+*U4m4>8@x1mMW$e^ATBKxi=UBS;@zUvc{Z=+L2a6a|%47F=fx%MFN}r=TU0XPM zpNMH?$c7>hd96j~)1L>*m0hz3iUsy!{D!ZA8nE&aO4GX$wIllRmrLo>_kUpNYjPfF z2MZ^k={TkIScn<0^#g4At+yt9PqVj+fH&&7-)i6r*f{;9ixXxeo>Y&&tde)J&k;hV z>Wbt}3O^{$?8nX0rmb$q!?k9JL4gX?)%QV_^QjAAD>C1L+xH?NL-+I0^;pCGAJflf zK<)tolDEz@C4F|Ra6`GbeUF~wq<3ArZ*_fZ?~9?U-ub;*ahb=aTE;FQI2BEEwO2B# z!$A3Th<4QzmhqQm-xE)KS*~_EQ(F<=XJX%`%>U7)bG=V!U<1IbqW6=GS+L~#xx29* zkLEmoMD9lVV(izS7-9F#U)eP@Y~KeXu23f`EYyx*$^Xz&lPUJE82u^k+YyX0aJi+q zC^-Dq#`GI>Y@{6MH$_spVr*h|0lXw2m|;bRfQau2%Y8>^D*Md;PTk zN$DqMO<$R9^&?|O{3IPw>97dH60}E;^$*?*ZrkT~^)Ve9be}qSoSVq?UP%XMf2#d&uTaU1SfcRW?H7QB_5~whRKY zc`rFED9u67H|5Ws0G%ka=&`b}Z6_;{exhy8vbz?$<+JcoMbx1|;N$kjjF~4PeKeD$hM@FAL@bO0T_)fFjGh;aR&s(^(Dgf(kZe?Vza zv$XP& z-f(S)u{&N(<$wAF=#&?{!eG&7N<=C+DeQldO#gR4VL7nqme{ba$4gY-8iUCTp_83FyFpCjFZo^{43TiZ)ye-qqBhZ{f(k!}-Zl5L+$ z$deB()tRjD22dLt(o=U&j|YywNUrC4EV}ynOh@7>b{eJCe>uhEg=EU2pWjk_T#EFo zyS*2&SP0gr;*EYFajfHHCG2j7YfqONCfe7B`gwW`Bi zSdzb0C7#(c#z}gvUq=cfn8>kX?&@Skz)_77e1^LH`}9K*d;RRuxobGdYK#4SmR2nc zw~C}p7pWe#q!npL2t5cMQXX9QJ`90pmC=c=hSdo6p|2hj&N$)(-vZLq*&kP^`uD%t zwOQY@ti=|WqU_NZ;ED{DH*V#RZmx$mNJYLfxW>_lB`gkk$EQ7*x~G>2rn z{p;Y!p156@2ZNiuuJ1q5tXb_2<46u%f5qI{{?KpQ-Zeyd`|75~nmoUL|DJN{@S)iK z{OI|8X+t_9$fsHyA69vh+=li`PM$sY^n+m*abm1m`WZ4DvxGQY$cgMRAeSI@+i$5J z5+Q+=zlD?kV)o~+41BDuKiGE}x{r31lryU@_#C967BKe0_K@vLb##)CLY4_0v_1dV zF__+Nx0^iT9VMD*DXD{E^TR9%za1?>EX1O$U&n5Z<(O zeG7ORus;9aij#Bs+6UfDbd@)IJ|HGnc>*#O>F@IMSo@>_$@EW!JJyT&peumh?f=XX z@1-pF<-a}5Oe{=!w`5gZybGG|jHm^5x0&HOw#Nd?M7c!vFfKUn{X*BKpz*k$>`k0* zDPYZXzoOLsNb(j?)bL~3s4?UBw7f%^CblPVE8A@KIwXKEH)QtbkAxd>2<0J@c;!Rq+FL;|Am$D zfax6dm^w2hr(#7&pm$qAvO^ms5aOgLP^@`O=10=1U*Xulub%sIMge<5?QFjGrz--F zy+fG8cWJ-BdMmykR4tfE=%1S9%$G*2>;trfTnWK4Nss-GCaSoYp%}qFy7ndjE%L;_y$LCox^F5PQ+KMPPk8d@ z+&7IHJ_@(X&$QX#8qgE?IcCS2zW{7sL+*dfcAZ=j?&cfB9{XwnOsmJl&vfk~EsHu= z^QCbE&U$pYIm64qciCTkH|NB$pZ@tqPJta_(j=(9^=;9-mBD$lHk@|%^jAEt_GbB|1NBsq=c{YU-4}dZ?L8{8 zjg-J4YdP8#rG-3_DRP_y&2q*WUp(N(fSgJ~kf% zIL72GiY9XWTwxrd(u&;7l24B#w=Q6c@YhvA?)qR)DaK@cLG@oAlQQN1hgMPS`Sw8H z%OrM>;X+Rf|NV@2fM^L0qbk(b{HCH9DLhVx|9jZDe#oxc*=G=5RHQUFN>z4OZuldU zz1+yxMC-M=JFoYxUC|MuWz33qw@9WO&Q`g-O%Z#ORRzQAX7j=IZ~l0o;uU~$pw-1H zCWD@0e@Dx|f;-q8iw42{@2~qB#o*KDlRt!$wKxji#mvn=`v2Ga{m(G=zx+LC?umbK zp|xTD6I*Rhr=+UfzBRPCo%d-wSmfXKtM-qvWsUzRgl|{WHvAW97SNBRJr{)c{{s>L z2jlVAOR|4Z$DtUB@S zz^koW`M*?l0;;@u9jhx&mS3^@_0ZZPI;h9y*S^?%twWck@cIcWog;C#*D{6Iz5EY- z1p5pIKdyFHdUi|s*WC~MY~pmoLPka=8UvclCf9Tnx&rEAvI9%Weyz(2lRe*mNnvfi z+jRJg(Czg|VfsqWmk`b*p%R=Ry^k}hMcR5Z5;F=8ZdL5adA{zdV|hZ!+&Eymzsp@p zp%CBy?f$(Wd6SyyyFPGE?1Tz(Y0s9*#0S=<`C*Pa0)Hz*m*|Ts~Jqrs65i ztm3d48fR7+^(H&}Ltg;T2G{*A>eZOo2q+4!WscW_e zSn8>&M{FyZ>nYZCYX7yNq4tQ-XP5k&+-b0XX<=%J<7i0TcQi#&;#W>1D0rd%Imd1o ziLd#8+I#c3q_ekw*rutzGgda!qNT~yeA~z{Gq+TnrmUH?OhwH-BQ;aNeOG2GwKAo} zE!Wi4tdvXz5rxu}(v-{v6_nJF5|Pvdk?lEH&351S^ZGr{Z~N!=AL<34^Eu}_=UnGH z*Y&>MS3}dY4faqc?yobM8@pbLJ3{tQ8fVY%1R7_g_88|sESz2Gkmh;>OqFu(n`^y* z0psv8FOmm3mihSJZbEfErj8yK?!+#I&Nj(@E_6cgj+TB992PTTByJ>K9xbZwfwpV8 z^j=~IV%Us02yxBxk8rr*R^a*|#(=~(Ja*h|Gwp_x&x6G%N-vKj-*iDQ2q`upYu zb8v`^NX^)DD(nSSN{{GK(uLhve*0?nX`RGC}O}q)T(_9&}y|tTgC6%IyVtEdO!Wh3`(k zm{i8F4079mTEt7tadD@hNis6IQk5zdimO;CmXAkgDJZ;rtL9zi_Xnp3cld1MW^-M{ zoA7kY|FqSY2t(DTD3c^Ru~uGp)SSjY5uc?9pH1&?_l6W9;FjF5|3qEwO5a%F;`5_N z+Z(`an?O1VwRpTN*9rF@u(ij$!)HF!#Eubm)V5F7$J-Nc+d&I{)3?BDU;HN;avT)a zRiX%$D$sjT1=dMJJoFNT|4IK0MWD7rwQq~O?Ay&66F?om0BSwg$@>0(rCJ#>FGs(f zn3p=<4+A?d&06Fh8gUB-jepVJfAxW(rb>d>RLVU6dS}*{tYvt#Q|4QAwi6`FG?d7bx26KL5k%ME_TzoBtzOPZhFGf%JqhK{wXxK_IzD=C8C-{_&uzWU&;c zeZfMHUaG-JT+hE zmjB3XxuivDxGA&1zMP97&(25)t{&zRP^~KAY@rrh`%B8&KM}Eu8FB#)exCCY^N|xm zWkT;i2bME4IZ%D1TuYu;?|v0%u0?C(FUurcT)|$bSd0Zu`%cWd|0liqgdY8ez(CCD zzsfKBKe-^DzAc%-D1;dGmVGKJ*Edw&X2(nTZw=;79#j3T`z%<)r(fHN{XHcv!VxvB zv1CdhN2{pZIaKGfn$cPAKT(*rL8a`4G6nB0u>4d4wZ1&|(;~ms-5M3+Dk`At z;paC0w|@DtzobRhVJQSC7Qe6r9~RI&=Yq3ODha}NLNMy7(qs!Eq_ z{FdY4?E0biX>G&-hX%ZtXLKq~rljKmI*I<+XgKmm$?Hr?jfR?jP;|>L!Oq|x;Ar(NT0B!hgS{5{jJQE* zWdaQYcpN*b5b|b8&g538KeIaBrUYaYjQ<)QMvl@fUF*YJ3^I;}eKQ=*t2mPpK0)%z z|8uB5&d{=q^viHO!lU%j%4duAChz-8NVV#8d-|%`yNd}LN{X`mbUQJeOgfcWd(8X7 zNoZMH-?ne)2mjKT#@TYro#u}XyS}qVlJwIB)e>gT)*?v8gUh=rMlZ>n&b+TnSSeRE%2> zp*}AlE==2Du4h3GO^BUIbleUq-ExA|A8khdhOL>sjprUNdwYP)T&P;2o$r&WG)a57 zts3M!GEZtkewhzPC@KZ)s=Nlecj1-iakv;sP6UDbOKHn_u-r0b+VaHfd>7v4A*3dq4E&ycmLabw5V z;XyiPr$^3FK{D@ix0jgJj&ij9~!K+D;pY(|yD+p+ac=fx-=Z z#Tyt*>Wtg$2dX`%J!XJVX#05!ST&D4VW?L4tU{z4D=mbEkkN|JI7whmuibigW_kOY z58{cj7OHC#3NM(UCIypRzAC0*k*5B~IJ2KpfL1tR%(3WZnxOK* zO~Z9{HjjC|!D~l^;5I_0Fn9EsO)*c{ew&#vGZFudnhm2RY(A#yYY>I~W2%mozuYpv zWRp;zXcslNJlfqmuo5dy{yp_16gNbldMtVl@&@0e`X=wlp#KZgrk?TS9jolhH2|x# z3%7D6!;)PUtFeSsVkEM$-Yk`9%hpv$y|bPwbI9Z3OLR&!nJFTCqs4mmT6!{=kqdrS zoM#EoPkgV~%{tSfj$4|aIf~u0QqZSmQINhxea4KCAE74N1alOq5vJ>6o>bX??p}yX zNpOAcX8%Cv7?7UymSOEAuI;jnd6AUy-iq^`Wnf86%nk%JDeeU}^%R@B2S5PZ!ZONW zw~g@nF4dPWRw{eT^n?}-zl zdAs6VKm9Slk9oiQ?ifeNm0$^e{Ft#pIpP>+M4~4j3?nN~GbI_?OiT+nCPe1bpUs#I?*0c>R;r^hqO1-;FD# zF-G-g52Jx$x~mvK6Lk##7I_3)3k^PczJd>_q5)-7)(sj5xJI|rQnJ!1#(0xX0@J8?cSBn zWa>^qsI;S_tE8n1x2I$xwyw|aq~Ne$^)s5Q68D*F#YC>Q`+T~d-d++MuV>%T#j;%Z zSx+(V5U*EPtFcNwN1X6#+;9fx?uK&vxJ_4^hpN$Ca}ku0$w~P4l+h_((_{Y)L6Rao zFFd9k)@hG`OC>%MX7PQ?AvsjOS(5)w~WrvYAc9M9i8fgQ+7QG901m3Fk&7d_$#-(#mS*^j69e z&=U*QR<;)~0b`eraaeL%HTmRy3ZRe}0EDO6jWcb#lRpgluqar{k2^RJRh55}igt3<#>-;0qa`g! z>yRl_x>?3!>y-kZ{06#;tLkePw+4Jo{F9AaNqMjJgx+&f!E`-ph~5|Vm>uN6%sL(5 z!c!a!f=B=~!tUe9)B&>2RYvV2`OMIfpiMreTw)5^>7lpQ@Ri2-Sa)e_c6DNN!05dE zLBw_TndepM_v21=v<_3GEfXfB-Hh`d{FpPVCgx_<>DNxM327D{v1B)fo?6W2A{jQ) zrSZr3k6KA{rL&B)wJCuL(~^B!gEPlCck(~3VOJvLuZ^kk=i{&^Ja!}*;k;)nttyV=rD z&vZYw^U#exshjuQV2!7wFC^$4-zIEoRc*zol@|X_P@UgW?Gd8s?Hk+4l?=A799ZFgPYmWIil#ODfl)ZDI8|GbM4`3sN*_7>$Bn`-v#p}3 zga?-`^XCz#%g>ZOaz4_++-SFt@0e?ZD#*K0Ka>Wl`-+ck_TSmDAlzcRU?|eFT}M!T zL}4giF$>EwQl+3@y~eUnH1mIP)i{pGo#0!BPwR@J-FAl`91;- z@m278pe>`a%^#vMd#Hmg?rzUFM@sB-V3ypR*Z4K}$BQC!Mr`V+UC2DC zKZ1!Av?K6L0^d5wtpha)H>^z|@ih(sTh`S_0ykSHh^9c3d0QWQWE!Pa#fj+Y93QE% z!b6F)MN2^C*ch>dACy2qU~?LWAB5XTu#64veUy4Ki=l!a(P zthT5+raad9AtwiV=}-_UyJL`G>*Ltu(q_}mWbRBCR5C=oD(9ZQ`l~%#21P@xKA&$W zeXtuV*aZ0a@Ycqtmt!7DeIZ?<$Yb8d#wE+1_$m2a_7>QYvPn_vhbOnfLci~0YCFk4 zsvC(3mDvTDZ!s>muwNg=j2JY$4G{45dymi0RL+_xvrx)H1c6h{n(Z~(5pk7-RKL4^ z)NpNIPe)W|fi6vAMJiy6Jco&x=e_cTmSw_iq0NPVh`L)heO7{M*u~mF z&agdnHRp`;h2dZlqT$LZ9)-C|$K+z)EU8^#HN#M-$Jzum%3zFGeQC2jR1m_XAklH?9^NZkD1&HKQEqmp z#|hdT|A*%I2564gCHO#17pM&h?bkH^_-o|V;nQx;y~FIM99y3FYI~2*cjO*}^fF`7 z@>s5Fn^e9@+MOqGRMj{bjfH zw<=!GcvVlLI-5}OI%)YSv^J5~xse9wwOLwyd~_z;XhE4NtHGn=t=NSiHGN;ac9ZZv z?x^=9nwXMmf~B<4aA>7eq3KQ#H9S_%LO^sgb`SKo{#`2smb2`466V$&Mz&>5F<0-Y zO0hYqB|Q>P*F<2U;<~H`rxm&xegWQ@B6c28V0;OQJAoPFw_35Iwc3MrPng zvS~PyLML{LD`)RD=CzIy=$y)sc&jT>m*d{Y#slmbVMDdOmQ#%8W(gSuv~>Kiz-Q3T z-TKfSk;J#8Z5n@HtKouA91) zn*o@THTlUZ*nQeHLS`)M!{9R}bQ}FjufIlTQU`y3K|v2Zfm`TSP)F%NN&L&=wBK%L zXLdf0Y+|60+h@0=?ygF4Z!Jw6q4%BwH6FGY;rd(Ve03QD~60f3s&Z zLJwqFOFrh!-kP$)*d74;_W-poo7)vnbI3je3@p~m+reEU5DGJYz|Rn=dq$^13_Iw_ifq~x_4-k0q64W24;xRauj za5Y#A4Z23^o$a+hY&fUoAE}*;JU*mrB(XEenqq0f%zWmT9b7Qbp;yhs9%oZgOuf+c zPx)I#Q1Yr}=YvhX!ui)_x6gYLIw*PX!c;L0q^gvjs2W~SMHuclN5+&eouOQO*BvJR zr*bp%lE;9*rsT_fr#eCDPlVsk7-w_BY2U98Jc&$pJ8>{%Wls3yNvMsD@+uSeML&O4 zGIQ*~;TXV`VXhj{HjoH_gi-O?`T|jb0sHQM5D3>3swQVYb+y`J7JQ{IE9l;H7P zjE0}*gF0q9%e~Y`V(tE_7R4aLeEdMM4RDDvCn+$$W=(;+fhxz|nO0{Tii>TA_v7rM z99NrJnM4XForRz-?6&rU{Vl-pc+1?(?B8^w(;8n^&m#~8+xc9Ha#eTQv46KQO!(4q zJS(kjwkx(`b?tJAL_qa?>A2eR&c^o1A9F26)Ypx~e#>>3h+Ud!`(-Vt?n<{3iHMdY z)~VIS!QZvLWlFktcaD1R1x=j;GWd>e2mhe)-M3E|o>=pkxn8GgP%C;__{^WThP_Mv z=+8Z+SG6o`oyION2uV?ACBI4RmYMoB%7%>bok-l5z?ct!FiAII?_rsP#tw2$y7QT zQ@N=+Qx`4Vlabzr<5YEmJY~BmP`+M?z)*V4lXcQD`1?h8XoRGVB4M@$j6YyLLoK(5 zT5KqpLE8THW#^)RVh>&gTL>rFD7&*W9g_UFwr~zEQZhEA{-$og?m3NJ(~s4QGpaB9 z8hH+tVye@X1CTEc0G#wnhMq+SFn|VOVui$HnT%&4f3(p5;ihhWkQt$8h)Xd59f-=E zJq|X2lJIHKqiX&l8j!zT;-fSD# zeWR}?0jJK({HaFNL{&3?g2r|{zgXmAi$OX8+y3{%fTB)EKb$mjiBu62w|6&5QV+Ok>}zNMT7 zc`ju)@B5a96lG)lu+c$kH|=?oLUebF(B$FecS zTTL^wMj8b&+=yN$@wALJ39wN4?EA(Znbmwo#1mb!8OA-6-Jlk%p+|A#K<4@J4-+9I zsheu`wQkX>=wlpnI#bypz)hsAN^~H>&g7w!=FEU%s_{sadcf}a3x(U*cR0HjLeuLH z`EKHhJk>)hZt6fEl6`DxEvFk4hpx6)O2Q%b_S_I6=*3%QFP{5%>%zh$S9|lBwe8IL zkQ;9)tBrLfKCeV^sL8Nl*rh+Ge^*-D!JYFzj}~Emd8%#}UT)SfKUfjV3}+v#&NW?0 z#nfQCssu3#WYo3UJ^e(4w!?jpOn8y_T^@T*mPDZp5qWUD$OMxKpiZBoCGUVA>Ic|D z;)d9#uWn)l&Ny2?BJ7Cd>L@|Z6mGbFr3t?Q;xsLOkdtq8BH2>XZPZ+UeNYr9z?$KL zD9al0?;Vi^)rj9?a=CF}LPWFS01>q4ss}-z6XgJ_R-}6t^c6rwBNTY)&}&h_qf?s^ zT4il7BFQLqOJ{}~p0Htkd~uJ20_4F}$^-0C9%=nuG~0b5H4M^6qtv&-V53I40h%6A zLHsZ*N$Ktdr1t;<$r}LbP)$YUVb#Hm6 zC}-}?1-y(boy~fUwgQf^t*dvdA9^1V)|D$8Ku}&VC*aewddD2JreYN5*lK*+P9h7$ z7y5rT4vXgl=PvtSkJwpur2PvG?f@tM=<8bJIBUT`$c5aFB*&FeV$b47maK6845C1ih2V2T4k{p#(f!PBZmMA;M8P`2X=}pZ-qKboPUxq0cilY)5Nm zn>z%f8BP8i0Q>x=o#|F%$2e|d*!R>nG*H548W{_O%_VLPgh1cvFvxn$LHfh4Ub*{O zBO@LvV*Q1SSBD}YV;2HnQAF!*Nrn}_jJp6ZWAE_oR&%0%!;v9oKa25u0(yQ^ImW0C zF+AJg4v?*X5HS6CwA^izJCxg$gG*0vbUqKvBp*>wRTxChkc?}l&F#tT+Ida4slJ*= z2UMKcXSfP7^J(;Gp!On&F;FIYm6rw=;sp8VMk6ALeIs76IaaIc`J-4iO4A0{te9aKh*f@}fO>vIA5i&} z#m}}66o?6)HW}f_OQ=hz5^dxIN59?*otc}=Q{OCeouJ%Ee(-L3;TXs9n=B?l9wHI? z4bk-8$;I*r{_LV!J-|+EgrRci_GIG|JPVto#v}aK7SpP!tJJ$Rc`1OeP?AsNo><)b zi!12u^VQxrr+N>OFA3>CiCCzX&q z6Byu?@t%O{(YJ9Gc?z(j@G7u;6HB4#R^nMrANmdt_L_>P*f=U+Iuj;7j)S0)(kac%Uv?cDb0>_5JWeV9o; zRh_X7+zn{nqBG(N!>}CtQUpi> zdYSUqEnkd)ZKfbPhddla?e4%t40)W^_PgC}(qBjyO@fu>8I(5Vg-Q{D0<%hp0jk-(l`RshitbC!(kqRm^Cxk9>G;J9dWkOB}^SVzFUZ zV^(-0pK1@5-=Cw@0VoH}0vZ1dRA;+-70~47*}!V+93%)2bm< z+tqE&4tRky!8)uU#aSVyCBKfT#9TGm^Vfm<`jrH`gV+pJK^vgX@_75yey3$& zM8K4-VvmqkOF*EpmOrNK6wl7&9W*9{3CK4LR%0``f`!=@IEU*PR9UG_t_JU#Ibx#YY=~*}ScH4eOuALC@lr|6HEyAK^HH&bF67EP%*zW)FySUoaHrb@_5RDN4Ml5OH7<(45{T(zLR^>x&htSNc2LaAXnih!cF*j~b+&_=m|{p)5zV%F=@YUp;t4 zqVeGSN5jGe`0*e;xkkc>Z6_c)AW>JIV3(3AwlD{Xh)M?HL>`v31yCJ}qAikTyR`jJ zm%C-YZ}dF6Xq5n%6cC+pDiGMklT!)Lwz01V>-JY5wEeEmCGxgb)S)5(;ovn*5kKOU$ARbtK3T^Bt^+S%mtSMo$V(3qiNpk@S!e&%+HBdEaMBG-ntDy>>Ihdx%P5 zq4Ci+T&Bcr$R}*-nWt)1u#7((5_<42c5De^_2^B^IWR}{h~b?Q!%+3g<3TsVp94q4 z+Q@hEW$r}&!n{!C!ZVTos9dGq<*fPn>-+$@={9qF6P+r%e2cv5=PNSWIFxZB`J0l+ zM%`YNBaTT?+x6#VvaA`0t>SX7csXE0QJCp2HjYG)q-cZ9Aed@E@Z z$h+lz;}cRNox=n=7`&!LVGww^#D0XCrMw&Imh^0Kf`(yCHU4;4{KZ+;uV0gP(n z;rE#jwT*%xhJV7O^3If-^^GWR5YFT&{hAs+G$6#`8}(f4a#kIRVOWGKh&&hxnk$an zY`2_2_ll=R4^8d0r_AN{c?ZS~UqYoN#D~JdHc?S)B8u);lX7(DS_m(fSqV+Qg*R1J-uirtzl+fJanCJf40&3k0 zbTNvZG#BLLjpA1wg z4r;dAQ^lM~dMp#aLzS%8WY|Qo!`*lsQqJ1xV{dhOzpp-~9x%NY&7mQ+h^fqYsoc)w z+`4vm*lYTbo>`v>G0*Py{y&6WSdzYh47i+M*F8{apf9rUikm|<-}e1 ziYH^`w-&UX0MPSN74Wwg;M$d+zdcpDZNT43AbsWM>Agy5B>1}sQ0mH04NyHn`S}Du z$CaNdz?bv?wTXaYg#7Iei*FX6|5fu-=7zFl5-6JFWC)_Ip+1XW{pQt3oLA=c0NIVi?pBL<92>>Q~RkE zfsw7K-=g%;OJBCb$AloT)N|si+zWe;lzeK1=JiJ_2hh9If42;}p}JT1k4GxU2;eka zr%qCtJ@el`{J$w4SM7WcADetLXA;GVJ*9O#Xp)Z#2#Ere3Lc)mHUjON%$#B}Z(ajm zO@4-oG=l}(Yd727FgbKoh=4N-NteS`BT4y8nv5$T)A>87TKMLu&RkCRf zBCgrsLn;j&FqB+1XSR{(Y?@G@ugtva8uNg6Xx}87?x8JE0<^aGhp`-?#JW4ff_^4b zgR>9vr1MVAzMTbz>ZIdpBU^Rl2Uw#s(c0=>xZ<#4KTTJuBPC;cXh@R(o6WeP z{(5yJFKQopZEh!h<1r4r)$4*g4P^Bvt4_#L8%ZhclYTb8NreKp`9P@W-P)b>?o`iWZKZV3hmoh{}|Jf zRPe_1#W9&w6zHe5#a(Ounw$!Z+zh{P+Kji#)FxbA{$Wrcp8Oi>H6TB-u0lLV8IuMU@Ym$zGA%}i=)vl z)%#B@NUn?`cel_!OL?glxhib;qLg(9cFA)K5mUv8zs_8Q#3%3_+qx+`ne~Lhs;P$| zT&a6aIjW~xXpUELG$aeYn(<_XaX6Ca*xEOHmgVu-UTSivoOQI^`Vp_L0)f6QR~2m` zs|unAJ${2f2REsak7!;($01>$sOHo&IAw1|0?N~(kqO@me=7;j8$3dS@Qpf5J<3@| z_9oM-eyF;mXr=Vg2ImtU>mLsP`%aK#6yBk#7_QA7{^vgpM9b?tw+%o?SY5KQP$!l*QpeK z$c_MH*voRGsEz{WN72)csu|c^>E0IZ0yT5BCNsiR!5sUTNQ2WLw-+Y>Z$VL1IbEx0 z?Mv8))@6>wcm8Wau&09duLHCkMA@t9IIs4s+I=mjsu-fu_Y1#yjRkhjNA`tp2Go&z z>^)AF!G`PI!dKO_EOS|a=gcg5gv8P&tx%ar3>>>uH7)#LkH#9;i{43*oAsu(GCdp7+OH5ttr@1@Eqa7+Z0cy>yR%dcA>e7?a}E9V=T##w{Vg zA1V;eHgNpkb%CMogbSl7x42%J(p=K;j5NS(M>8d9e`v0{D@|zLsi>fP@#<3JQY{R@ zk_{kxXdtgJp8VR{XMp4tX%N+6Cd>KakR#~%$YHtobduhKGPk@l5Bn7{-Jx+$?#P?w zBZZ%a#-zMi-oD~Wq$$U;vw1?bF&CwYg&V!Oz~3kB3z)Oa#^_2jU<8<>@1FY^|VxGEes;zcb`7 ziRImiy&QsMV7Brx^Wxd{3IK^$#Kw4r%d?HYg9ZP{g!wdKCYoE=ci0C679Pi^=ZFH0 zy&nDm3O#0y6J>egDrnj+v6He`B93&uAfkn|)~B?V*4{P|G)NabfoyFeHExPX%2Ssi zC2}tIRV=)leF%q5wE!n#Pz}8zkCvI>v2@2qS6AXdY|6C??u)vP8VldI(NtpEn2YGt zD?OiD!goF+hH&b1qhC?gnVW*+703gp%L8KF5*N39J3+V3%Vpc4`J!WP4QWfAV#$4D zwaarVRlDSICnl{z*|iN-WEAm>1^lPB) zkxa44%V7NPw?40U`>YA>wL-S*0UE0i=_m=W(DS=lb>==8Cq061g=T6Dn6B1@s3RFc zuH~%9d{y*il)BCFp>1t_s&`!I%NSW>CeNyHdi;HA=5(h@%$tDt%Er7s>~q0!Otggs zIbYL0Ztd++g91%;(ooZ6RoRHqSf(o_buE|q22b5%@x#>YoKdgFUY2nB&i={KXR^AI?r2R;|cL8VFNQ4*;Ag_wW&)Etmv(kGpSu^3<^SJl1} zokG%Y{~O7Bp@**SeN&+C;#q8(vbLGpNv1-q^&PE6jeb{=&@jQR>7ZXf?OTZ_B30Vd zzAF0Vgi%ZjS)0bRIpz6F3NurN1Ebm;Z`{B4qsE~A5}Kb!Y`Devb?&*x2Td5V$Yx?M zl`ak+^gn8F$q2Di;dB=zIiL;;j#!)Vz|ZqzSn7ACDNeQSRC%e^(nP=b3S62rJMI~t z*407-L%Oma636X-1Nlm5tjNK!;eBHTV`WWsaauCuPBo~-y=^ch7OKdsPTHoyYkQ!O0 zRg>t4Mpl*tGlEt!Gp7zlwS^$(35gArEsE40SD*9)?83MsZf~aw=a}4-+a#bw{mF5% z&5|NtDvhTJfpB=X)3)z4b%`4wYjYLvL#W}CA<|IgzIZ#vc74bf7E=nnowT&chAV|FE)2@$Kee zzv`-vK9vUfXkPHEO{Juisn=)g3Tb;=jBT(OYFmj>jcJ{us1m( zS3mVD`eR!o3h>?e`07U5gXbr}BEl_Ut~5!_5Hd#Z;7gEk=Bu^XecPicE6k?G)4=5y5LtJcX!5W~}u2DSt_l|^h4tv@I(3>E9RqokbBHHqdO_5LbH?@aS?|Q~s?lOWRXt7c9_#=?AkmQw^O2pOk7G9kf!Jkn zov@tVd-_$x7RGD+K%7bbdt4)T6!Yl)^7d1rCma3D@vF@7N7;lj6Qc_wOJhZ|`=lhk z#OpNL?d|f45dU|}e&(Li?}+S;ASb5sZQ#p8{ph(9ro$QIpa6j4xhJkT8FwXLa0?1w zXk}4CeClVZ;#{;gud8!f1mVv7s8C+%m{~Aml+!! z>!6nv@RAPesbhSf8@9$aXD?MJm89Us6nw=USy;ER+V)NOP2uwkIk78$VG3&p9{5_v z_bBz$v&3Ebf+aYzEXof>#m~PJQ)>7UY>36`5ILrCxyfsj`19A8w5mC&=H0NVgpeAf z4o}-^$3phRMhsGutrkMw9CM+nx4-^mE8m-`;Y5t9sG$-JDa+Ru*rb@`A=w{J6h<@{ zKbdFM>K>vPp&+zbe!%;s7p8)YePi9OeL7kDl2Z!}DUrIfs0xPSTgC&|o>?atv zA2M<$?M?tsYiy9_o&<1z={tVvvHM1mj;1EaJ_NAo3K7$RGyB%(X)pyf}51M4XVf}*k&18g)}^toanaH=1KoxLrPVc-ZiF` z5ud&>VOX%I9N!gb=EtW4{WdyFzPA2W9Ok^m4pVd)Mr-voT>B>zd_a0(BO3W+V19JM zapj|~IIAnkQ%hc}r;g!vn`B|SV&$b8)`{4q_f}ztO(|Y2hR5b9>wRy~PLAEzgH{sg-4#ct@}ZRJU(lIyi%(F*P1rpmNl2@`Cul-i*+JUueu1 z90kig)Ep1&sKZ?BXs)gSPI8Ak|INO|%U$gY3i?{b?$$nUJ+wX;N{OClaR=Yp393%K zefnY6L`?TO=4}FXFTAt&)1lj@I$<}*B=(q!xRBl0Vo>O_f`a8yNRK*rWnvkq(+O^n zohx5J^y^WD{hdRt;o%!so+w1XP%*=a8G8KWaXt;$&oF)rI;}}FB7srcn9}~?xQTRm z&~u)PBEz^=SFC5`oBuK=nU(foA(LynaAr&HQjR!{f<@I&-`_9iVNmz=ejw20&s;3- z5s9-Jp17EGkdn;>0;D>`Yx&W-ohPPz<)nOWn4}-xC58-N3qop^kHMdr#AkyE9N82p zn|=}hgCSuYqECR`2+FDbU|`Tf-&pHTIl@Ht0fe=mV$q6{2$zgWlIMln#>S-lKO8Mq z`=m+#I*}Qqc_O7MJznW_Sv>NVCXa4a&p13CwE7w|@cgxkkNQgQ%^$9qNB_Qx3pve7 zv_}S%6eyiVi(2nVQQh-|ZMLzwOUDdzHz9Y+lrE&l%FEjF4K0>1ohzebS{lTW9u3#` zO2<*Aa&zr_v=bKW_3Jta_etHVvey1%7K^T`Kl@iSZ@i)vWo*#uxUiA9WZYY6{jJow zn(X$;qm=x&w=etT>C*V`AO1r;J9PgnrjYk_q_tN-_QY1kKV5SmGhUg-O&pHiO)3V? zzR&a$H<64}tp|Q3pkx*DC-JC4F}K8UNwI zTQ??r3y3Ac|6Vg75`k|Nx(Hiz{gd72t_hIZ5FlY4vMXRKEA+gCd*#A;NI#V+}@yP`K@2j-KD`*DKY z_~Y|JoA?=lf~43fQN@czHox-oL1=T7Ad6fxK-*T*{)7Zq>lzF4`d z!nb9GVph?uFp1i+_}h$KA6q|nGuh6hrhUX+(zGM~1JWY5;m1!M{eEFIIAg}MQ=X(N zwPAn=wAe!2H+t*pCrA6l&nEwp1r2S(gYX6R;~uP6Sn=KxlZWXy1~nER=k96{c{IMY zToXN3cNEmWdy4&FA@A$8(>NIEM1{!T;=J*)89d6M&8Ko@bTRFu_`c|!W+Z;6iCGVy9Yo;m9YV~oGr!QB(6|4@NRAN z$SXC5|4!mIE6yNQ!Ic+JT1Yb#|CVGZ=5@W<3+jsM)|Ead4mm>=KMQZuV+|!Ekoj}M z2)P>8Kw_il29vZ$+0aj}@8S+AG^5|VTCpg{n{h$!>AnhV_;T|~om;Oxl)w4a^2FiF JpHE--e*hM9zW)FK literal 0 HcmV?d00001 diff --git a/Freedomain Livestream Scheduler.ahk b/Freedomain Livestream Scheduler.ahk index f30b91f..79e2962 100644 --- a/Freedomain Livestream Scheduler.ahk +++ b/Freedomain Livestream Scheduler.ahk @@ -64,6 +64,8 @@ global FullScriptName global PostStatusesFilepath global ErrorLoggingDirectory +global ConfirmBeforeSubmit + global DiscordErrorLoggingWebhookBotURL global DiscordVideosWebhookURL global VideoFolderDir @@ -104,12 +106,14 @@ FileInstall, Version.ini, %A_ScriptDir%\Lib\Version.ini, 1 IniRead, ScriptVersion, %A_ScriptDir%\Lib\Version.ini,%ScriptSettingsSection%, Version, 0.0 ; IniRead, ScriptName, %A_ScriptDir%\Lib\Version.ini,%ScriptSettingsSection%, Name, %ScriptSettingsSection% -global ScriptName := "Freedomain Livestream Scheduler" -global ScriptAbbreviatedName := "FLS" ; used for error logging +global ScriptName +ScriptName := "Freedomain Livestream Scheduler" + +global ScriptAbbreviatedName +ScriptAbbreviatedName := "FLS" ; used for error logging FullScriptName := ScriptName . " - " . ScriptVersion -; Msgbox % "FullScriptName: " FullScriptName global GitReleasesAPIURL GitReleasesAPIURL = https://freedomain.dev/api/v1/repos/yuriy/livestream-scheduler/releases @@ -172,13 +176,20 @@ if(ErrorLogToDiscord){ ; GUI Variables ; ------------------------------------------------ +GuiFontSize = 15 + MarginSize := 10 MarginSizeDoubled := MarginSize * 2 ButtonHeights := 30 -ThumbnailPreviewWidth := 200 +ThumbnailPreviewWidth := 150 + + + +GuiHeight := 470 + +VerticalLineHeight := GuiHeight - 100 -GuiHeight := 440 ; Column One ColumnOneWidth := 500 @@ -187,14 +198,21 @@ ColumnOneEditBoxWidth := ColumnOneWidth - (MarginSize * 2) ColumnOneEditBoxHalfWidth := (ColumnOneEditBoxWidth / 2) + 5 -GuiFontSize = 15 - ; Column Two ColumnTwoXPosition := ColumnOneWidth + (MarginSize * 2) +ColumnTwoVerticalLineXPosition := ColumnTwoXPosition - (MarginSize * 2) ColumnTwoEditBoxWidth := 200 ColumnTwoEditBoxHalfWidth := ColumnTwoEditBoxWidth / 2 +; Column Three +ColumnThreeXPosition := ColumnTwoXPosition + ColumnTwoEditBoxWidth + (MarginSizeDoubled * 2) +ColumnThreeVerticalLineXPosition := ColumnThreeXPosition - (MarginSize * 2) + +ColumnThreeEditBoxWidth := 180 + +GUIWidth := ColumnThreeXPosition + ColumnThreeEditBoxWidth + MarginSize + ; Results Screen ResultButtonWidth := 250 @@ -203,87 +221,96 @@ ResultButtonHeights := 30 ResultButtonAndEditWidth := ResultButtonWidth + ResultButtonEditWidth + MarginSize + + ; START OF GUI ; ------------------------------------------------ - -Gui, Font, s%GuiFontSize% +Gui, Margin, %MarginSize%, %MarginSize% +; Gui Color, 0193C4 ; Column One ;------------------------------------------------ - +Gui, Font, s%GuiFontSize% Gui, Font, Bold -Gui, Font, s8 -Gui, Add, Text,, Title +Gui, Add, Text,x%MarginSize%, Title + +Gui, Font, s10 Gui, Font, Normal +Gui, Add, Button, x+%MarginSize% gPasteClipboardToEditBox vPasteClipboardToFLSTitle, Paste Clipboard + Gui, Font, s%GuiFontSize% -Gui, Add, Edit,w%ColumnOneEditBoxWidth% vLivestreamTitle, %LivestreamTitle% +Gui, Font, Normal +Gui, Add, Edit,x%MarginSize% w%ColumnOneEditBoxWidth% vLivestreamTitle, %LivestreamTitle% +Gui, Font, s%GuiFontSize% Gui, Font, Bold -Gui, Font, s8 Gui, Add, Text,, Description + +Gui, Font, s10 Gui, Font, Normal +Gui, Add, Button, x+%MarginSize% gPasteClipboardToEditBox vPasteClipboardToFLSDescription, Paste Clipboard + Gui, Font, s%GuiFontSize% -Gui, Add, Edit,w%ColumnOneEditBoxWidth% h150 vLivestreamDescription, %LivestreamDescription% +Gui, Font, Normal +Gui, Add, Edit,x%MarginSize% w%ColumnOneEditBoxWidth% h170 vLivestreamDescription, %LivestreamDescription% +Gui, Font, s%GuiFontSize% Gui, Font, Bold -Gui, Font, s8 Gui, Add, Text,, Tags (Comma Seperated) + +Gui, Font, s10 Gui, Font, Normal +Gui, Add, Button, x+%MarginSize% gPasteClipboardToEditBox vPasteClipboardToFLSTags, Paste Clipboard + Gui, Font, s%GuiFontSize% -Gui, Add, Edit,w%ColumnOneEditBoxWidth% vLivestreamTags, %LivestreamTags% +Gui, Font, Normal +Gui, Add, Edit,x%MarginSize% w%ColumnOneEditBoxWidth% vLivestreamTags, %LivestreamTags% +; Buttons at Bottom of Page +; ------------------------------------------------ +; Start with Column one and go across -Gui, Font, Bold -Gui, Font, s8 -Gui, Add, Text,, Thumbnail -Gui, Add, Button, x+%MarginSize% yp-3 gSelectThumbnail, Select -Gui, Font, Normal -Gui, Font, s%GuiFontSize% -Gui, Add, Picture, x%MarginSize% w%ThumbnailPreviewWidth% h-1 vThumbnailPreview, %LivestreamThumbnail% +ScheduleButtonWidths := 234 +ScheduleButtonHeight := 50 +Gui, Font, s%GuiFontSize% Gui, Font, Bold -Gui, Font, S10 -Gui, Add, Button, x%ColumnOneEditBoxHalfWidth% yp-%marginsize% w%ColumnOneEditBoxHalfWidth% h40 gSaveAsTemplate, Save As Template -Gui, Add, Button,gSchedulePost w%ColumnOneEditBoxHalfWidth% gLoadTemplate h40 , Load Template -Gui, Font, Normal -Gui, Add, Button,gSchedulePost w%ColumnOneEditBoxHalfWidth% gLoadPrevious h20 , Load Previous +Gui, add, text, x0 y+%marginsizeDoubled% w970 0x10 -; Gui, Add, Button, yp+0 x%ColumnOneEditBoxHalfWidth% w%ColumnOneEditBoxHalfWidth%, Text button here +Gui, Add, Button, x%MarginSize% yp+%marginsizeDoubled% w%ColumnTwoEditBoxWidth% h%ScheduleButtonHeight% gLoadPrevious , Load Previous - -; Gui, Add, Edit,w%ColumnOneEditBoxWidth% h150 vLivestreamDescription, This livestream is happening soon! +Gui, Font, Bold +; Gui, Font, S10 +Gui, Add, Button, x+%marginsize% w%ScheduleButtonWidths% h%ScheduleButtonHeight% gSaveAsTemplate, Save As Template +Gui, Add, Button,x+%marginsize% gSchedulePost h%ScheduleButtonHeight% w%ScheduleButtonWidths% gLoadTemplate, Load Template +Gui, Add, Button, x+%marginsize% gSchedulePost h%ScheduleButtonHeight% w%ScheduleButtonWidths% gSchedulePost, Schedule ; Column Two ; ------------------------------------------------ +Gui, add, text, x%ColumnTwoVerticalLineXPosition% y%marginSize% h%VerticalLineHeight% 0x11 ;Vertical Line > Etched Gray + + Gui, Font, s%GuiFontSize% Gui, Font, Bold -Gui, Add, Text,y0 x%ColumnTwoXPosition%, Settings +; Gui, Add, Text, , Thumbnail +Gui, Add, GroupBox, r2.5 x%ColumnTwoXPosition% y%marginSize% vImageThumbnail w%ColumnTwoEditBoxWidth%,Thumbnail +Gui, Font, s10 Gui, Font, Normal -Gui, Font, s8 -Gui, Add, Checkbox, vErrorLogToDiscord Checked%ErrorLogToDiscord%, Error Log to Discord -Gui, Add, Checkbox, vConfirmBeforeSubmit checked%ConfirmBeforeSubmit%, Confirm Before Submit -Gui, Add, Checkbox, vAutoUpdateCheck Checked%AutoUpdateCheck%, Auto Update Check - - - +Gui, Add, Button, xp+120 yp-3 gSelectThumbnail, Select +; Gui, Font, Normal +; Gui, Font, s%GuiFontSize% +Gui, Add, Picture, x%ColumnTwoXPosition% y+%marginsize% w%ThumbnailPreviewWidth% h-1 vThumbnailPreview, %LivestreamThumbnail% -if(UpdateAvailable){ - Gui, Add, Button, cRed w%ColumnTwoEditBoxWidth% gUpdateScript vUpdateAvailable center, Update Available! -} -else, { - Gui, Add, Button, w%ColumnTwoEditBoxWidth% gUpdateScript vUpdateAvailable center, No Updates Available -} Gui, Font, s%GuiFontSize% Gui, Font, Bold -; Gui, Add, Text, , Settings -Gui, Add, Text, y+%MarginSizeDoubled% , Date and Time +Gui, Add, Text, x%ColumnTwoXPosition% yp+100 , Date and Time Gui, Font, Normal Gui, Add, DateTime, vLivestreamDate w%ColumnTwoEditBoxWidth%, MM/dd/yyyy @@ -311,13 +338,41 @@ Gui, Add, Checkbox,x%ColumnTwoXPosition% y+%marginsize% checked vRumble, Rumble Gui, Font, S8 Gui, Add, Checkbox, x+10 yp+5 Checked vInputRumbleCustomRTMP, Input RTMP +Gui, add, text, x%ColumnThreeVerticalLineXPosition% y%marginSize% h%VerticalLineHeight% 0x11 ;Vertical Line > Etched Gray -Gui, Font, s15 + +; Column Three +; ------------------------------------------------ +Gui, Font, s%GuiFontSize% Gui, Font, Bold -Gui, Add, Button, x%ColumnTwoXPosition% y+%marginsizeDoubled% gSchedulePost w%ColumnTwoEditBoxWidth% h60, Schedule -; Gui, Font, Normal +Gui, Add, Text,y0 x%ColumnThreeXPosition%, Settings + + +Gui, Font, s12 +Gui, Font, Normal +Gui, Add, Checkbox, vAutoUpdateCheck Checked%AutoUpdateCheck%, Auto Update Check +Gui, Add, Checkbox, vErrorLogToDiscord Checked%ErrorLogToDiscord%, Error Log to Discord +Gui, Add, Checkbox, vConfirmBeforeSubmit checked%ConfirmBeforeSubmit%, Confirm Before Submit + + +Gui, Font, s%GuiFontSize% +Gui, Font, Bold +Gui, Add, Text, y+%MarginSizeDoubled% x%ColumnThreeXPosition%, Updates + +Gui, Font, S10 +if(UpdateAvailable) + Gui, Add, Button, cRed w%ColumnTwoEditBoxWidth% center vUpdateAvailable gUpdateScript, FLS Update Available! +else, + Gui, Add, Button, w%ColumnThreeEditBoxWidth% center vUpdateAvailable gUpdateScript, FLS Up-to-Date + +if(ChromeUpdateAvailable) + Gui, Add, Button, cRed w%ColumnThreeEditBoxWidth% center vChromeUpdateAvailable gUpdateChrome,Chrome Update Available! +else, + Gui, Add, Button, w%ColumnThreeEditBoxWidth% center vChromeUpdateAvailable gUpdateChrome, Chrome Up-to-Date -Gui, Show, h%GuiHeight%, %FullScriptName% + + +Gui, Show, h%GuiHeight% w%GUIWidth%, %FullScriptName% @@ -413,8 +468,8 @@ ExitApp SelectThumbnail: FileSelectFile, LivestreamThumbnail, - -GuiControl, , ThumbnailPreview, *w%ThumbnailPreviewWidth% *h-1 %LivestreamThumbnail% +; Msgbox % "ThumbnailPreviewWidth: " ThumbnailPreviewWidth +GuiControl, , ThumbnailPreview, *h130 *w-1 %LivestreamThumbnail% Return @@ -595,9 +650,7 @@ if(SocialMediaPosterFilepath = "" or !FileExist(SocialMediaPosterFilepath)){ } Else IfMsgBox Cancel, { Return } - IniWrite, %SocialMediaPosterFilepath%, %SettingsIniFilepath%, Filepaths, SocialMediaPosterFilepath - } run, %SocialMediaPosterFilepath% %StatusFileFilePath% @@ -710,7 +763,7 @@ Return -#Include %A_ScriptDir%\Lib\Freedomain-Posters-Shared-Functions\Update-Functions.ahk +#Include %A_ScriptDir%\Lib\Freedomain-Posters-Shared-Functions\Shared-GoTos.ahk ; Misc diff --git a/Lib/Freedomain-Posters-Shared-Functions b/Lib/Freedomain-Posters-Shared-Functions index 0e02ae2..738e1af 160000 --- a/Lib/Freedomain-Posters-Shared-Functions +++ b/Lib/Freedomain-Posters-Shared-Functions @@ -1 +1 @@ -Subproject commit 0e02ae24bd4d909df30a58ba61693cef321fcaaa +Subproject commit 738e1af44353f55a3bd4684139381eaaf57bd8ef diff --git a/Modules/Media-Manager-Update-Redirects.ahk b/Modules/Media-Manager-Update-Redirects.ahk index 679989d..f72ddf7 100644 --- a/Modules/Media-Manager-Update-Redirects.ahk +++ b/Modules/Media-Manager-Update-Redirects.ahk @@ -5,7 +5,7 @@ MediaManagerUpdate: CurrentSite := "Media Manager" -SaveOrPostProgress(Message:="Scheduling Post in Rumble Studio",PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") +SaveOrPostProgress(Message:="Navigating to Website",PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") IniRead, FDRRadioURL, %SettingsIniFilepath%, General, FDRRadioURL, %A_Space% @@ -47,6 +47,9 @@ if(InStr(PageURL, "/NotLoggedIn")){ } +Message = Updating Redirect URLs +SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") + ; URL for each redirect LocalsLiveRedirectURL := FDRRadioBaseURL . "/manage/#/Redirects/Modify?redirectID=738" RumbleLiveRedirectURL := FDRRadioBaseURL . "/manage/#/Redirects/Modify?redirectID=739" @@ -59,15 +62,34 @@ IniRead, OdyseeLivestreamURL, %PostStatusesFilepath%, Livestream,OdyseeLivestrea +if(LocalsLivestreamURL) UpdateMediaManagerRedirect(LocalsLiveRedirectURL, LocalsLivestreamURL) +else, { + Message = LocalsLivestreamURL is blank. Skipping + SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") +} + +if(RumbleLivestreamURL) UpdateMediaManagerRedirect(RumbleLiveRedirectURL, RumbleLivestreamURL) +else, { + Message = RumbleLivestreamURL is blank. Skipping + SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") +} + + +if(OdyseeLivestreamURL) UpdateMediaManagerRedirect(OdyseeLiveRedirectURL, OdyseeLivestreamURL) +else, { + Message = OdyseeLivestreamURL is blank. Skipping + SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") +} UpdateMediaManagerRedirect(MediaManagerRedirectPageURL, RedirectURL){ + try, driver.Get(MediaManagerRedirectPageURL) ;Open selected URL try, driver.executeScript("return document.readyState").equals("complete") ; wait until page loads completely before proceeding @@ -75,29 +97,23 @@ UpdateMediaManagerRedirect(MediaManagerRedirectPageURL, RedirectURL){ Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=RedirectURL, ClearElement := 1) - if(ConfirmBeforeSubmit){ - OnMessage(0x44, "OnMsgBoxUserConfirmation") - MsgBox 0x21, User Confirmation, Please check that all data was input correctly and fix any mistakes and then click PROCEED to finalize the Upload.`n`nClick STOP to cancel the rest of this Upload and move on to the next website. - OnMessage(0x44, "") - - IfMsgBox OK, { - - } Else IfMsgBox Cancel, { - Message = User Selected STOP button when asked for confirmation. Cancelling Rest of Site Upload. - SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") - Return - } - } + ; Snippet to for check: + if (ConfirmBeforeSubmit && ConfirmBeforeSubmitMsgboxFunc() != true) { + Message = User Selected STOP button when asked for confirmation. Cancelling Rest of Site Upload. + SaveOrPostProgress(Message:=Message, PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") + return + } - ; Save button - Xpath = (//span[contains(text(),'Save')])[1] - Status := Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000) - if(Status){ - Message = Failed to click Save button - SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") - Return - } + ; Save button + Xpath = (//span[contains(text(),'Save')])[1] + Status := Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000) + if(Status){ + Message = Failed to click Save button + SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") + Return + } - Return "Success" + Sleep, 1000 + Return "Success" - } +} diff --git a/Modules/Odysee-Schedule.ahk b/Modules/Odysee-Schedule.ahk index d2f6621..c81f083 100644 --- a/Modules/Odysee-Schedule.ahk +++ b/Modules/Odysee-Schedule.ahk @@ -256,6 +256,7 @@ IniWrite, %OdyseeLivestreamURL%, %PostStatusesFilepath%, Livestream,OdyseeLivest ; Grab RTMP Settings Message = Waiting for Confirmation Screen to grab RTMP Settings +SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") Xpath = (//span[contains(text(),'View Livestream Settings')])[1] loop, 60 { @@ -269,6 +270,12 @@ loop, 60 { ; click on the "View livestream Settings" button Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000) +if(Status){ + Message = Failed to click on -View Livestream Settings- Button + SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") + Return +} + ; Grab the Stream URL and Key Xpath = (//input[@name='stream-server'])[1] diff --git a/README.md b/README.md index 7df6ac8..dcb75ac 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,13 @@ # Freedomain-Livestream-Scheduler Livestream Scheduler written for the [Freedomain Philosophy Show](https://freedomain.com/) + +![Alt text](Assets/Preview.png "Screenshot of Main Window") + +## Features +Automated scheduling of livestreams on the following platforms using Selenium Chrome automation. +* Odysee +* Locals +* Rumble + +- The RTMP information from each platform will be grabbed at the end of the schedule and then input into Rumble Studio for Livestreaming. \ No newline at end of file diff --git a/Version.ini b/Version.ini index 68e95aec117693f60751cb3a69e21dd9f60acb9e..0ad57a0237ae32f8b546dc4fdac3ccf1e9abd749 100644 GIT binary patch delta 11 ScmebCo8ZA_!obVG#Q*>gYXQap delta 11 ScmebCo8ZA_%)raQ#Q*>gWdX$i