From df71b15ff9f6a0cf0e108e8f2b517759e84167e3 Mon Sep 17 00:00:00 2001 From: josiadmin Date: Wed, 30 Sep 2026 20:31:01 +0200 Subject: [PATCH] home,signin,login view and ol logik --- .vscode/settings.json | 12 + analysis_options.yaml | 11 + android/app/src/main/AndroidManifest.xml | 1 + assets/images/filamentTransparent.png | Bin 0 -> 201353 bytes lib/config/env_directus.dart | 6 + lib/controller/home_controller.dart | 45 ++++ lib/controller/login_controller.dart | 90 +++++++ lib/controller/signin_controller.dart | 91 +++++++ lib/helper/helper.dart | 16 ++ lib/helper/http_override.dart | 10 + lib/helper/password_helper.dart | 120 +++++++++ lib/helper/sample_bindings.dart | 21 ++ lib/helper/sample_routes.dart | 26 ++ lib/main.dart | 124 ++-------- lib/models/filament_model.dart | 56 +++++ lib/models/tank_user_model.dart | 44 ++++ lib/pages/home_view.dart | 78 ++++++ lib/pages/login_view.dart | 40 +++ lib/pages/signin_view.dart | 41 +++ lib/services/directus_service.dart | 134 ++++++++++ lib/widgets/filament_item_widget.dart | 203 +++++++++++++++ lib/widgets/my_login_widget.dart | 134 ++++++++++ lib/widgets/my_signin_widget.dart | 162 ++++++++++++ linux/flutter/generated_plugins.cmake | 1 + pubspec.lock | 301 +++++++++++++++++++++-- pubspec.yaml | 13 +- windows/flutter/generated_plugins.cmake | 1 + 27 files changed, 1654 insertions(+), 127 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 assets/images/filamentTransparent.png create mode 100644 lib/config/env_directus.dart create mode 100644 lib/controller/home_controller.dart create mode 100644 lib/controller/login_controller.dart create mode 100644 lib/controller/signin_controller.dart create mode 100644 lib/helper/helper.dart create mode 100644 lib/helper/http_override.dart create mode 100644 lib/helper/password_helper.dart create mode 100644 lib/helper/sample_bindings.dart create mode 100644 lib/helper/sample_routes.dart create mode 100644 lib/models/filament_model.dart create mode 100644 lib/models/tank_user_model.dart create mode 100644 lib/pages/home_view.dart create mode 100644 lib/pages/login_view.dart create mode 100644 lib/pages/signin_view.dart create mode 100644 lib/services/directus_service.dart create mode 100644 lib/widgets/filament_item_widget.dart create mode 100644 lib/widgets/my_login_widget.dart create mode 100644 lib/widgets/my_signin_widget.dart diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..dea54ad --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,12 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Flutter Debug", + "request": "launch", + "type": "dart", + "program": "lib/main.dart", + "flutterMode": "debug" + } + ] +} \ No newline at end of file diff --git a/analysis_options.yaml b/analysis_options.yaml index 0d29021..a59736d 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -7,6 +7,17 @@ # The following line activates a set of recommended lints for Flutter apps, # packages, and plugins designed to encourage good coding practices. +analyzer: + errors: + avoid_print: ignore + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: package:flutter_lints/flutter.yaml linter: diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 8cfaa6d..f3b2ede 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,4 +1,5 @@ + l^LJ&>6K!x~CpWfjTN6)g+qP{d6Z^)PaAKP?v27a@C-d_8zV-f!S8Me>=iGIE zIn}*)Rqd{hR#K2cg2#gg0|P^nk^ZIv1_nOx-++bw`o|AvT;l5j=OnG|3I>LN@!tRk z%g)6C10w;G`6jC7m3xr~qm^pe@g(mtoqwNqpVvsaDqqwfAs^R3uI?iRF52%9gNI>S ztcmFxtBf)KeRhaR_PU##hOXNaydiYX^5`RQ`J?L^5%R~y)v6;mtM})!yP;}Oma|B} z`}HFt{>bqEH}!=Z2+QgdZ2B4+m{8PM_Ye~D7bfo-VnB1VZW5O znEu4Is1duhgSf^EUvfCv2rvve~u!|cL`phtd2?KOT zI+(s(@YSKn^t#BkjYtbtk|O|k1+i0%y2FeOAm)AD06cV|xb;H0F@$w35~0x5=<3Ka zOf49&H%uosKG%IN({pXz5CfRLtTs?uo7TbvD97G~n}vXG1&Dgo6MZn~Ze%H3B7PcZ2uGnCFQJ<;IIjal0RxI*6ILR| zA0~y*w;r!uP$F-BXc34p_pjjNM2@60GE>QV`_Lj+5DyMYJGVAjdt2!3do7_Po#wIW zCb2Eq^i+nxG8}ocI>N#HLcBetcy7J_neYr4d8x1?f1G&Eps^d@mg!9jBkIiQOk{$0 zx0iro7%}7y1e}*#&=jV~vMlIW5acO1a||)I0p3nc@^prh1w&%W0_h_R*0Bx6w~du! zNyG@f2A6an%q0by1h>ke*8gFv2kTZ1)}aY0NDQWLOWM>;p0Vk1b?NX+{b4g(4!NON zVEthKkJA0_hZC{Z`oVvo+f#`S7Q>Sg$@$CEH2nslkDMq0HiaFg;LA%ijq&YS`E?HN z1cbM}Zq&@5MGv}xsmJIO0wacahV3gP-6L-XP4j~pp#)v-nT~A+Z@H5x@ux@c*y@4_ zxPcK(VT6KK6u=B1+`5q5YM_bg!khwWeR2qa`rOB`g7RDyofbZ=B*T4_EKYORC)-?Y z=c)e#h$ho4REz@LCGvFPW`J-9;TpIlXjBxH=qGqmE^+8K9mum7(6b4KEE~iR3;PEC z!X(mydGZ&kqdSO+8#Ir3vOy94)5|cCdgd5rtOYEF5bP0Rg*n){03hiIatwtXmXZtR zqOL-CgiMAiRipje0paz4b>qZ)(25O9h~#>ZXj2o`Vj~B%#5p|pc4iy(&tmKQ;D4*= zX9gRRtRp}!QpiOslqr%5E(l&ApBe-Fgl6%03#gih7~uQ1Ng!G`N_^rJKJzGa@U$hm zeR+7&-i#y2ICbKX&n%fj-jPE%JAVd&e!a|HggYxCPg6$kxzp#W~4Ur5rg2DF2sDJ&}x-WUDIff=g@Sb#8$L3r3K5V&!y-$h3K8_WSJ=vO5Km0zI)no#V*%iyC*nX-9YK=2&BL98uA5Y+liyA1dTX*k86> zCqW0cSMyJ#b5r4g=K&)1u1OO#DC!af=<^&d!-6J}^}Gt2IR$_D@SI)m020RE&uZAl zzNvGyX(%HvZ-#=uncy~ zvTxL}N$J)=t(`O6R&2o&B5|EK{F2yagc-Z$5%+3?IPoJsxrYe5RN?dBCwW3Oq%QqF zj)V@lUY8SHK8AeC1+}pg3r>1i)isagv9Z5&ySM_&a2H1P=d$Flq3ZDe zLv384hZ7`i-8OSW^Rf8H9H%W$72IaZa8cl*0H=&1+mfJtMp}Kk_Q5xgK0)7|d~zpG zAz%$M$XlEe@zfo=4A+D5>phHZ;w|Ng|5ko%+N*++ch08I1D}VOXr-cWHaJiV#_Cwt ztIz+&YAU~Vr7_xRQSuw@_?GO_(_4uUt z;?6GB;=GVY4qGCtgJuFWgGR0jL#fS2GrlCM-NHoY;->5^fwJh`sO+mxjPwGH7{^E{ z`8A#W-Lk3z)vV&aHM~UJT1AcH(A{Su7k-K^)%+!Hw48@s2u;jrIhJFXTdD(2L}C2M zNzGH@p7VMFRn25lbiLX}WXzLnVk-3s)ZN_Pqa2^|?Yxoy;~Q);zS3Z(aNnhWp`(w~ z+IUTt`C=E)lsHUimbYP(CWJ{~&qhcc*;sqV@p%(3n+zP{A4sMP2e^fIF{BeN56Zcf zkpph}2jyowI={GTsjSGj1F&57IJEQ<@}e(RvM$)D9jIJr(K(zrl_8gZSdt2>V}zgT z(2UPXdM6-P)t(hTzS?nMofMa@pw^g=v}qcLzyOB$T-`Xd3V)76`?p?z+T`L{Ipm~~ z1agKOkY2fGR-hJy@q;rbq$kekNaQocy_>>nL|FS@y>l@mnXxudmxTt|9!IwlB2kxdkl8 z;l9f@{#8ybjC@zqKcKWG=T^X2WyKqd%8g#Q!IehNix}FejOyipa>k}6PbYI?+k+_m z9h;Jj$^jMKubPC;hl!g!pM=Ry*zU~k#HbAkW!Z;AYmrx9F2tQwnvK1Z8Wu<(SBP3ZEuP#4(CEHs8Qh8WF&g=JF3Skd$(HbNa7sLa>-dZOGVVAuEm9lTbM@8?ehr z?l#QA^0LE{t_?>^G3s^)xa;;dH0$;*8sK>D4*|KKE&>XHyx^7z@_p@f)H?&Mb$ff! z%cwp!WMtFwVi&{QNkBFzT;=&B3}&$g7I6%7-nELUc?t1PyD!M@d9<@$Y33AlFCh{l zVSRCqq~TA-u+FC7h!K9SXcDt{jw_K-ev{24Bd=ww0YY6Ghjp zudD~Y*<14N2O{K<-ppO`6C;Zg4sp$YwC|%+Y7^sa)(Y>B+?_Pb(v=56ct7kdQUwLC zyIS9QaV0C@keTSKzEu4wCC|*cjHsM!8dUVK+Lm7(N`I?^7(i>xjv8oCvQ zbUO4c_w9@`_uUU7ftWC|4mp0<5@uv4rMuYKYnjHc$(2HALkRt?HGZhap4{2!O&V%A zl3(gK$~7+IzlT1pmj?3vgKd8y(SXmKWne$GA$Ae-cS)5oH8V*?DT5!-@bjF?9@_ZL z%MVVC(!@2Tl3yGi*P^3}7BRVW(#?q-)7j*1K|9lkjA{k#9J%r^->yPX3eq8U4RTF8vSMJ7nB*i+)#nm1eznt+TQa_4W)y>r z?q^5!516d??7{#qPrO6Gslw#x6@5{)1~kC6(^ zt~?aECRa@PFG2}YLd*yg%^G_~Ekbsd?t1afMM2MC28b}bht`f1N4&JD8poHBv46!N zN%LCp7&d4Kmd`zoZ@F0^pzE!^RnxlNXX-Cs1UK+B*#aN!y>a>dBgy;DDeXK0(S(?o z>AJXjXztgZe+*22`9M(8q;ZtS%MPc~X`AINfAn=$;_6&#*vkRuqkA-BR!V?7e)YWF zc)=jiy%^cs4(B6&^i_E`A75(g#+}&RGh-WP*pfJYw9>SW{CNRCs*^)K9g|%=fYBUF z_E)pAt2{P0!e8gkKd>lO@~_4#CXg@oczGc5+$Au0L%0Z{J)t=mg=%ZbHu3=_4_jm_ zVr$D#Od<_kQ1e3ESz*lFcgT{+^DP8{TK4en0&u^kkpGG{+DtSGRA_-%g*QhlA*GY1 zl;T0~6DVxW_bL%ED;}Jy5jT${`~FVzLa=w@1c0^=%S!rK0fDz_`E9KX*W(CF#V{YtBWsI z?5HKauU(F~@Ii%NWvgdlf6u0EA&25ucw|+7ssB6&f`+i~zE6fcQZOk6F z0YLIrj=-v_eH^?ANP{C<%&P34L2kQdNKl0hu;CnR9jamXyc_~rpA$SZ{}FwXw-u;u z9r}=UZ2^GTmX(xqYZFUIF3+iv72iVd1V76I$-m0wfEFJMoSW|=B7KeEeT`GW!M)Cs zJB|=4DgpSgw|t$BN;9JnDi8rb-@U*f@=HfSqpy|!M0+VJ6TTN|_d8e%6r~(N5(ZD1 zi)>Rti`qmLs-1kCwO3d9 zC);T8`(D+8{3!SF>47icg(H{Juh6AAb!*AiYV9aW6{6>M0`N!JzAFDMhPw9%0{lJsK)(45nI=B z*3=diu8={-q9*eG_}2Hv2o-#Fo%`EYGKBoi=P!y^Ek5u0OzrLQ zl>fb?p-w9F-H&D;Iajv>B&gRmeTOI*&N44O=KgwjvwG_|C)Dw9ts3wibmV9C2iV(Bbl8WQQ9XesEuo-EFPh@qH)J%?q z^l^ea>BPQ4`dA|uu9JzIXD*Brzb|zjpqI~+f9lmqFgi`bacUP}aM+tl?o>46T7I4o z;DA1VyMo5TtGW$bQvX$RA6E(sRnA}OS{qixA&t-Pwxz;f+=st^;%T6iG{D+KRrc6K z{a|Rol4fF|^@1i-Q0xzPr267EjGNo7hLu)#V2f{JpG9lN&bchB-pv+=-ch%67;GPs zsZKXn_pf#TkDsP6gV%xJJ;Z4zSn;qiRoDMK3Y@%q*|My&V-Sw}70#^OzKzMvh`&o*Mh1^^ zYIP^^i!;@hOW-`lWo83O*-|^nSRABL-tQyMXH&Q^hgR+A;#S)#SstTol`o(&irUn^ zhRgC^8%!;wb9e3VZHSZvn}F@yj(!Gs!HC`SR@a|_I$A0Byv_8hV!7>+-#7MS5sLOy zT|eh`w9^5tMLglY#(EjLq8E%$?<=-fP^@SUFSCXn`bbaPUc7$&YeTWB%V7oH0V}9T z@Tu9D|K!1Y&8?RV8`R=i_3wqSNUfIX%fz=+NlqYNy49`fJVk8VDe>UHuP6y{4joXQ zkqEkA?J+4xjg61<{2l)0=j|jQv?hed?{6R(H0osMfsZV_ynD0Cp?B5o+?I=H*u@=h z{j|m5&|7zXfL)St8`pSWvR$KnU#BfEIqiCpInpb`T_EVQ(~M+nS>Ak1Xv{32Z=9k<@26$2plhk*If*lT z+Gwu1=Z@xTz@HFs^bF6%R9n!X^?{7TR{E?l5&h4JJ}&P>Bh{$0l4WYSl;Wz|R^}b^ z%h4LkbKk-><@vhsf9))%B5YHIXkvBQ&h4tF!81b`d9w-pM&H%WrtwOppc9b8ILxOE z4Y^Y7+!kltkV6MvQNo4zT9a-3{;?yPsF?;`(D5Dm`@bVSJBKdB-Zez8Gz!>!3FjIE zC}&MUhi?V$y?Cb`r!G;qzR}z9IPeJ*ulx0enGY)XE` z>*|fs!?f#iDI+K6fKx&P_$#Q@}iK z#u?w=+5MY3aNXZ$XpJOp|5(nCs@ejFv zJxQ_WmL2Pd z|D#d~M@eFQsalbbZF!NBC$kl1t*XP-yvJ)ufG{8LfT+=_QWl`UlYV$=Mg>7#^?N`z zZ2!SbR+Iog=5cR+m}A0sqvk&S9&)rDUI^U{xDfK4b2hOXcW>>UNneKd%@J(7TffO~ z-2qRotHYImADwRq|J-kf7TCGx+?Bk|Tiz{_Nw3ticAUFcWY(5#26KsXC`+1X>=z1E z>8(1a1|_P~rLEP@crJUahi$_DV5Vo!*^$PuBZd8D?T8YrbEm#20e>?MDwl3=3xKa& z`~$uGq}K@fuc?q{X|0qapj=MI@0XnOhT!xW$1~^gK

pUs@aP8!uj*Y6)@Lgq4T zy?4NNL+xKA1M+ac+yK%IHFS{cv{h-z(S$Y)DH7>!S)k0Pv$c1p{si$h!q# z3gOS;v*6wG@|`~o%gz@&USH|B zlPj8gzREnRJ_;YN{dGJCp_*Y1qb(CFkVxeoaS=hcnxxYnGPvcpfDRea`jASAP!*82 z#=z9|%ey+rPT`B1aZZ9ViustOp%slf)FaxhpGDo`U3{O9$mF=jW%AmUfRw}`3sSr9pWiKp} z<2RcjO%ru!92*lW1Ft}%COfJ5IR?MEAk0c(rDrABo?sLA08pZ{%{&Rgv&9T>pYGZ# zvwl#zKj(J+1z*!`6;@uJ(5JiY|4n}Go?RQ0+~o9?Z_rlZnOs3`(w1%*W6GlISW*IO$CSAXD&)4>Zpr;YE zUzb~^4a25lp}nKuL zpxX^Pn{W{qQg0I@Ni|p=kPq+Rp7BzNh)`nQ+1q>dO&5u$9(*4U{UYggK6 zLoXk~khKPW`Uk+KE7(@KYomt8;HFZRoCcnM9Q;_Swf!IrP?sRwJoIX6hV9xd zXErdY@U{-V+jAbZ=`wjFsnp!){Kyv| z7sE#@=S&GW3uO3jJu<|XKg#*YZ#4w2rxKT6s-X9dmQobXbdyPl-kARF{zU;1^2MDJ zSBCimD!G8ze(Om>b(_jRc$_zj$d@>=bm%*o5jpHEQYSuF1kX1mx92ubZpB2 zt)}oSt%?!(CSBHPYq@il>h_&lEefww{V595AJ<>dP?g&BQJ)XG*I5cBs#fC{Y{WttcD^G5uG> z&#bqPeQ$3CQX!_B=ISwNpZ*isEwx+8>^P1dD9J+EIX)=PRdZO>FTU z;u5fDr1X+hSUc?Ilhf^3&rg$@$i7Qs zRx6H;`^`l;Cqr*87}~yhxE(o+!#cbAy3UI_Pd3(2>lzKtNBv^6n7@?a>5t$mts`0{ zHyBt%B@#$$sZMC;2AWX4b?Be=6Kno`lz%?CI14VSI4CJ^8D!zUZaYx2PSp-OCp(x& z6AB?|e^Dj0u#E%m$t%UPdS!p&@J!_t_zZbDH}IxpUA8a!=_h|{FbE&dM?4HYKwP35 zD167O*rzR z6@i`U2b7Rrsj8!_y0R`ma{1Pd(gna%)ptz7cng!78)T$4xp;OLzCouPFSGe#OuHi` zy%GEPTIdGr2t8xD1~{8qykeF~FzekSdPL!x#?<`CPO&d4L=CE4HW}?qAG&s8l&LPf zh0fk3e||}&dU{SPe^6d?{aH1&jMDSzR=(oIHuLh~gb~Y@nuI@hEAxbM`Uzdi8yN!P z>kEK&Am-BZ-g`_b>p!A~Kt?=sxc$wQLe<~??6#HZ($;Dyl#hAQ(WuiW<8l?zt z*|h`Q!jg{$d#7XJ$0)i;DNB~KPa`xz;J22peM~+Vs^BoNi5G{}ypl)A4_-ybODY>R zP5qN(s%nS0g)F9AE_+R@QQuZhD|sY1`#<*U1JA9v$ojKQyI@1e5BdEKzv@-Tjnymu z`JjAiCB5Xw1#um0J8NYdI7WAXE<6fm}=@2MI`^B4K;ZJ&oKj&mf(yBg?@M;iI4 zC(6llqL7C@P5z|}+Ph!zw@k3Ky~{prf+|C_7$H!c`WPdgDHKmHKaP4nH;@rpL}_za z5WJWEx!##(1qm(w!}%ssh)JKAZm}witQ+Rw2VBe_%9zb^C)&7DD*RzA2ou-*`gR_) z>yf-a`fgV@e({`pN9eBxAF1oMuiT?6Z}lBJrsn!ikRU-@5fOVzVl3G7$S=hFKN7<{J3a9R1? zpUyTQ)P&?cqV@wxI=IT+4;iZW^LIesB_XB*_Yk8zS^>a6bs&?G2>!u-!u! z{%U{fiucOAs9(}yYIZu`VfPronn8o~sJdJUJH*o-C{bl{JxPDVtk8G1a$Uz$@H*z4 znS4SM5QD+4MmsxtUj}kC=*&cS2WrX7T_H%U>ohG+s!qbEo8gl%%Ou*zMGJ5v9rxsi zF(W682HTs~uRBu6MYEy$B&c0%vVp%rmT_I)&F3miqn$7e>}AlHXFqB6$^Fw#<$ZhY z#&Z>@=2Ug#)~#5CCk(z)2YX-CE5tacX|Z7sKWZ}+Jyo{JW)+nwBmGtEejp>7O0)>C z8u(vJL#bAGW#Em!xcSt-wsb1L9i1Oa3UAyWXN`dCUlhEP&kYOZcwjIK9}6&xkq|p5 zled+Le28d(c4C*X3)4_OL2cA`3b4n{{*7L=Fm%9T?iLtM6@MT2PUq`4zY?sfb?(wc zIU_SB6(2hv19L&uG`^Y%BZr)p4OCQa%%Q&Kq@YZy?R77S8~T{h_1*0QzWf!_57lZH zRSV=9e&&$UZ{tY6<|zb%6g1tqcpEf5dpC~DbU=uMr;$L22(jf zD_fTZQoP25G?Bo=?+1@%firCd9X@8NgcHTX-g!GLuh0)-3RMo=F549bFibztjxdFCWo z<4up3xws_`-wfbjVpVBaFG$dsv*K@aZTYN&3JFy$DP3(;Y+2R?)hvDAnzth@le%7o zuwMv&tL4#@9_4hejc{@ldUcqTK&jDFodjn8da(M7i2*FZBcoK4%Xd=7Kr3%TnccsC zpjoan00^~{~N7ga8A+HHi2A!R7p`7yn^p_Vg2A$yHq3$5(Wr$)Z!6W;Pbrp zU6sGB9B#w*`NR-3%b|JsM!;ec;Jdtu6DG;>us!Re6)Sg`6+#b5vIek>QsJBW8AvUL$F#*%HLtQ{kZ&$pnJNYGQdf-w8>)Qt7NO- z8Xi);2tTmdUPSNLg{b5eRa@^#eq)4oP~&l8Jj$-Ur(DCU+g|oPG2H@}oZqJf)i(fZ zK*44U5t++3AwTr1;0?$tN?9*8j3GuyYx+3UZ=D;$<9gFfqk2xIY7F*l_{`vPJ3dwd zqqteD5>?s+m#xQl(uW$Pt`kQ48(NFfGs*NuD*aSBcn2dozC#1vpd3QhuM`7mlR<~N zMF0`O{bovXaOYHUiigZOTMEmMb+#M{OGyAzqQ0naqMra5Levm1DZ|5?*;YgSosM-; zJ)Y`Ft2n~1yuINe&~q(F{`YlPxE~2#u%*_{;wHIvlZIAN{?x>8 z&Vj!`|8(?tAz?zx-t4exVS+@I*2FKZh78v81r5&Z532cwon?q8p2 z)!SmuZ(m)8;fE7{eo(yL6U+y{G;uf7aGtlxQ-#Z+PN|L$$0*J+Iufd>6^I71CxB1 ztucchyb0jno!aVD6=Jxr0RRgoAoub{A_&WWn-;Uy`6BZ!t}Ac@NvP#HcE(gQQOFmx zDJp`3H1#I-Xv9ghup&#VYzj2T+jYrhLJzUnn~NTQejWSC(`C!x8tTiPXwtCm7NzNLjgor&=Yz-&wicU&& zO*1Y-%Yw9WUcw}h(=ChCpiUzow}%M>oTCinb7A+`MMg5NT*WKJ$#NAqKuRZ080KBY zak{f$CH$};A`NDSn#u&T(L*(YYILEPb@U65to!=m;~rm0I8M{<=l2YITKR#h%>8bJ zo^{tgUXq=EbJM|SNc;aFH%qJ5j3R3idDx}#&8&9T2~S)kq*B-&(sYXwIL9(~bYj5g z$T-jfB2uY1jCx)Wsjo!8yl zIR0a<_^wBTp62QYeaY0ua8NGt^(Oe(Mi7kL(1TS9C*R^(*rWti#boi7vZRBpyKE!3*Z`F|%$!J<`Glp$-j!vop7=nKqK{?yFWZP{RO~Bb(At zNP&AEn^IrP14j&`G}c!}U&5yTwW9PRD!x?4iB>T}SAuPWK4n)s3-S64=%racP%ewO zUB#jPtXXa<*9@x(agZPyq!ywq829iPVLLtB-y@HB0l5HydCY>^~wYHYn5|w}xK=X0) zmGZ}GS&p5#uak+ClEC8vmhWuh%V?$JCqiYh*2_mnNQhCynUaHuF_AZ;Sgaz$O*E`% zI6}l(QpltcI|S)@fZ3#^Gw?{k4q7ybWP?Togvj@8uqzajCI&VfSQf)ZFKIm09cYQo z5^yWhZ$k7bI|f+*6u3--FU`01dpNVbZ(->wXV!%~JBuu*4D|3wuo3~{H%vg9yO_Go zgUmA$VAq}XU4T+;oKj^Xwd1?BGPu9+$8VJ#+II1$A|5+N#k4mp>Ycm_$2WrB z&F;|`^5uWx!o*X7$IN1B_!nh^9*dhGn3>CnQSLmapBoU(FC#RR+?jS!sZMxD`7zf* zc~Ql_hQ|Bo#L#j5!9lD%Z6E5xm8P!FuQ?L*C(bX-7Jr{~-o;CgvS*(-#Aa8`m@+n7 zB1BGSVUR_RbAoorxhCBLNy?;jkBZ*PIEj{Lal&~WGO~(Tw*hJGWn+r0qOujW0>2=A2X^Q-3%8X!!ZsRDMQtQ@H~J}h=Dtwo~&xat0X#>e!^((ffbHqq&PhT;(VwW z3oi?-qaN&l8Ex6uZxcd)CJ|0t77#nM(3usdk%lQ85w@d1NQj&Tb{;a6g^>kTbsENa z;zf?3?AIu~NkK6#5dLF^B~wD8k4gv~Vb1jCD9x+79W4>*pn~qlu5udUbQRD`gJQ5z zEUXxI1aZb1P0e>haEz9Xr0Ogpl@3#s=0Bu8lTv#fL>lp&^z<{`f)0=?3oSI=moTno zS~+AIN-1P|nAlOLs8RG9`S5P>C|!i8b1LuASzy{m%k<1rF7`2tkc&;Gy7&`x)qYO5xdzv7rt#SG5SSdI_G8 z2>L4j^W4eaX(mr~(-NA)$F=-;iMYmRGYK)LayJh8jJiaVI#9!KgZpQ?a1ixFRHbp^ z#0HGf@xUAFVYR{}`q%`}HFlHhqoYh%BPE(}l0QU=8<7)3)V+Xjc=z?vnGuqGJRAhj zq{f+qK=?cms+9qH@VJpTDeU|yrygv`(J<;CWaMydGr$FUQ9T7c7Jc2YslId37s&d? za!n=R{Z70n`6ly?6tA=nfpt4U0C7sxx4hlNU?n8C$>p0{BOE$MZbNM0vM$9eN%K?9 z21yxmY>wJr-E?`EEauIF?^a&GVT2sH6ti0IT`erPhubdZmY#Ax&AU1R*lL$h!4|HQ zMo6Mb%p0#lt)FLqMJ#`leI-z!gapkA&f&jmmz%8OS1#V zFq~*U7KeF#DL+T)3csDgxi}TLelonF)*M@0>*ZftdffnDQIGiD4r_) zS;N2=$k-r|qi41931gq`_IFj%0d;3UEF!hgl9W?=)di4OmU|JMYWc_MTri6nm|ai8 z;G}q;6Y9gK&IA9qW;g47Os+ub?P5)-?7OEPUTYPf}T>jkXC zw<&HGrxN+goe^zLY1G1b9v8Qo*S3Y}R$*+>X)M7_Ix&s|Zn51<9x9M^+eh#%+VX8g z88OdP(AlRO=}OIARhbCS$)A|zu+*58{0Y}kM3r>n%f3e=yZNuKkb)=nD^}fK)=pc{ zDsE38R<|c3zBOr`NJ$v!D8ZK1yIG(@BDM>J5cNmu5%gObs4;}5pt~W!Svf~*5oAPB z0&k zmO)k#=0RM`fL#L&kw7~_4}(}T!y^W%_y`m#m9?_4VKU|@mV(6Nd9EXsly}4o2C^IdYnod?QyaTN8ve9M3ub2U^mF(wc zhc)lwa&VP*95oHCvhr)4*^IM4^NGwii?6^uApDu^+6-()$Aef@DS^A8DMMf`5Qx`;y_FoMOPL{$YsqCuq!V!#Pf$r0~;?UeM&?O@b>HG z=ZR}Xl;^_UWr5-~<4z#0Q3nx8U1bk+ED_LH2n zA|(3w=nxa4cfF2fIYL2(@^oE4Rdx*W0f~2JOSiK66$}2djWH8t+5OGp?l{PYurQ%X z4uM5owV%A=V99*nwb|tf-P2>@IfyvI3Wy;Si+G?1QP`M_#@iFu@`Sd#G6QOJt^1qT zaQR`aTS}J@pS~si^MTNmzMT1dl z-;v!L1&Cc7f>lnLWc0(3i>5rsSySlGwA70_{Rv_8?AZ9hL(iJoc@t92jb?BnC7%V{ z6J6>hILs}Pb(b-n%i##zHU0_YbI##O2vs#hR&nJBUN-W0G#{6Avb`oMvL5dGqS2#M z<=S$&1BlqzRj2oeq7r8ZOxmok&g>f|#UC$el=MTTD?bp_M4e_FW=PY`P$Eb|3xH%` zjap9!Yazg+_ol%?R!SC}d5F+L3?MuPbcA%e2St2jvdhg3678 z$uGLCvgv5Wp`0%q65%JBvpQ?xVMI~_XB)H#FhhrD8!jGIXw$zq(_0VXt)mtF$BjqG zgV)^tKU5kC=`t3PTIuh`PI^_)lA|YD=^dOX`7a5@c|V_D zBl@H{ZLX+EAwJt|Yxo0ijn*cl%65ciip!WBgLQ%8eiBIVW<{28K{QIRE5$!T!$i<3 z<#2W-(5yP|eY}_WnSuQewzA!!zUt>HydYz`%P^tsj!?WZjbh0PJgjc;C_QP$S=fZ? z`Ko|1IN_3Q%nt_FgQ0A)ySQ|L*IX*G-h%Fb%PrGs=d{?I7&MlU`m*Rp-fCqVk3XkF z6t&U$ff=P@>c1Q21D#j`NS@gWz(Btqr8tGp65N>ONB4fiu|y@9{S|`ll`E`<3(r=8 z4R{3fR;+xgS=tGN7Qp+#9Xu?6D1xsUWdlb>OqJCT2?oiGu+fooK&Y881|hdEA~^Y- zU>}Xgg}z4wZVCnAkF=~!3i-j0r;QgvoAbvY&qo5pDgB_?@K}~^CpawZ(AE8wFU}+t zKvzhfMa%`LLmaNp*^+X%)A3%)@KDJ)QLy|=w%1XaWDBbG1* z!=t_<`(sy{H{*XtM2uet;{1R9Y3eQ?M!#Fv2x&97AX>2| zwu>`?!7odvR}NSu@Q%ic>a3tn6ktc_-?lBS6vX@&8g_on z_K1r?Ox+lP9iOC> z{yh#KaJL zGvJ?)P$L3AaD{PFC&uqazrkUnm`dSp=oBqPHY#1BOghvEBTQ}R?$Xicd3Jj^Uv(G{2fBIt#I57RuBaB_^n>4G zXO>N3rzGi{{%bX)WZdBr{cu-RJILIZjG_Dyf)t)~&4KDBb}#Bz@#6HzAK{p_`^qZ^ zCvx2tw%wUV1(8NF+p^<=ebCJ}2xz(msy!9I z2nyoS!XiXAbF_f2J}dZB@Dx*mKT=2iTyZ_9pKD6z@L zXo1ndvEkm|Iz^*3&vKCa>lbUl4BV-}UWk+L{OQXi0T*xw1LESS&Z#*#ho_2_3PaeD z7iY;Wv;*U;v6)PkhDkCbr5c#DVs}taVDg8%+T>Q$l7c1|t#7KNBYpzD$!5)M&HLM& z&V8y?uJGIgU>&1_-o7DuK?d_YxA;sv@cksDQ!Q2FwqPmo7RPG<{oY`C$qvI@02IuiehKPichzY8zke*lwFk7Qc-+`C zL}%_8B>PSF@=9%>>7+B*sh5etc!pQ;_EX!0P5`aksaodk$H9FxOH7S5x~d+(&Y47z z8do!oWE-e~QNZ9J9B1;Rzp8;JojD^0R3Zi)ykpHUY=_6r2sops2z?OLU985U^%!^= zf7rag5LycK{(+um=IS@ZI^CDBB#hH4iJz5gW(^3(G6>YgSJgZ-8tLTA{F~3@CNwjA z@z;lC1q4$p-)MZnhF@0u%Hla68QzJ*l@DESA-epRb#xweDSxE?ku5Yl1M_>=vFNrZ zTGP9x$r=~-_l-u(ePMwh=K{Y7%|!p$acTvz`v+be{Wd^OlG2~Vr~&k&?zh>*|JMtE zl`>qGo61pbk({7Tdx{R6&s0_Oj8>yBZ908Gz+RPxj*psovmgQjHt)-g@d=~km-p*S z`H=E4W&V)9s+Ik6(9=1TWRD6}EtLuw!em3GE0*wnDN+5>pBj=Sb9qY&kZg(yQy938 zr20b%OdQ($ z*-qgiC0aQ1_Q|pJ{4Uq^%ad5rt7Gp)UG8>tSmSvg0#bn65GK%LZon|N`DTuc@&5qV zKq$YASgehaOSLg(xi(&TQyZ_ot&P`L>0rvcx|sT&E~dYy3yrn9&|Ientqpq6*{BEI z4YQ%QX*Tp-^UM$RbsOVzTHIsisIH8jdk>Y+OVyCxgJLM#sS9(nV;W{T}mTF2F56 z9-FID;lY|}65&^w%F?C%?l2FBq{f*cA*cl3;ApvlPjBVp)0X`HOO<=<|9UZ1dX;UY z*G*7r$tP^&=2gMynblYM9BiLTB+W3pJHeOh$ zjTaV)ARN9}6E82-#HeMO7`s9fudL9-t8Z)J^;KGUW3?70zpIUD?`vcF`#PBUzBV*I z(8jC}w4u3P2ihBTp}R>Jx-Pny?V<~PS3MZG>A}c-HjF)H!^BG;=H3Rd^f7>?w*jnu z4Kdf>5Vo6*FmHVH~rA+%_sjMH8 zJEXcHHPKMIosC!Ah=yB!3^wG3DOSdOt8fe5huxo<6jOU(lDzy`A0 zR&v~z>VzFj0fiTUT|mzU2zQ;((=>;HuuU4FXrhLhJX4fqSt2jd8gUm56d~VhAn3Su zZFsote~RB1-Y~=Ua~qN`jt}su&xB89io&lnNlb+fH5&0FHNhQ&Ay}7%jYX+2jEQ0n zkk*RnOLK8FEN)2e0W43O= zUsf%{9~PM64~}~HqmwTF9ca7hLf2gnvpr_Rz;iZ?ybWOLX9&y9MzGmpjJaEl zVZX%~^8<{qaGN2PP;57a({@`}?_3V;y>6IvXdlLZ_9b5b_9QgVoQK(^U^s+FVJX!U z)qwb}6suCx@lHw_n_HwhB8^~Bij+V|K&1DaTsEa(XPx>U`sYvJo%B%nu`M;pa4AWE zPelrAUZOpwAF9Fd$dABqNcjCosDMZ?q!EjTD{S~)bcPAc8M@|2V`FX@Rz`n~O(FZS z^%EN$-ai>9zMhSWmG{p3=1(2*N-D^2*)ukkYN z3YGhn4Qz@TG9CH@U82g{Vm&Yu%X1SkJt&mz_tXs{2!_Cj2H;sbG#pm6@+`bR9qJer z3#Vu)9m0|LMiw?@WZ|8-1elyYi%Ca6#n^zY`13o9@h2x^Jm;*BKRM~* zxdr3|wHO4Schbb4ooC_CP8#@&(@ebJJQFW2nu+0yXJW*XnRt2042)Vj1EZJE#F!N` zG3HGTjD2$kUU_pmUVU>4Casu+sViQ?%;n>twQLM@myCqLk`XXo@)As!z67%+FR-v! z`T{JLiDAC{C77)k4zo93hRNHbV7&4b7`^){jMh$q@%pJSahVA-PaRnJ>BDBL5$v{^ zVE#@sEZS*`6}wFE<}PzA-ff3Dd)|iD0Y6OqNuvKJO`t|ORx)%WPc`|r8~E(tKj;YSi;QQ}$@P7$mV!Vad}yoIFtbZ+n0dI2b&mFf&4X6S#rS0sn|Hz}K9QvPNq_(Up{YJpW5 z*hW#4!D@kYq62j_QmStDC0ZL63S;UD4G9xBr3`R`v635%$Ku!o))Yen@M}`ju_@~^ zymGFu)h`&mO$E=573CkvU#kY>2-&>*0CH1wOYx6VJ_`h36Mg%*3DP z&%mD@DW>5C$EkR6!Bo8DG!?@aPQ!?WQ!v_T5?);}9#a>Lf|lb;Fm!w#=JWpu8>c_O z&gu7XaQ+`SF8V#@FZw+eEcpW#Ed2wVmi__G%arj)EL=V)R{TMAoj#Yo#&PK%V88TF zuv`8-=DzhJtXGYK)%z1*y=e;Ocx%CKivi~EFu{^NW_WwADc;^|iG_Qd@c-C*52z^5 zb^ZH)zW+L9?{r(DCNcKj5esc#7<%v34hnV!d)LGsW5b5Mfb=4$bVNZcv5N>w@4eTV z>s$BpzV9%grtGuN`PR3?v(~+)Ff(R_VSaPn<+{at7Guo8-57fOG{#=I3^hN07>9X3&hrJQ43|HS#FCUC%)5R9ZUK9+=AaRN+|(Zj_YH&h(NVa3dJKHL$Ku-A3AlQC zGR_{EgcD2=4sMSMcEFQ+`_I#Ry;}|bV@F6^{(4)rcX@`mP)5x%WqMMk2x}~W7HXK; z#x=~;%tBj{2^w_DsSjWo6oS!*kKnu2tI)^M z5Z^h9@U6WH`r1y%*VfADWjO`CER@jGVlsM~PeM<#3Fv7$4!umrp||N+^f4KYzQ!Z* zz0qI{H|USa2ECwe{3UeEzJQU%=PIoa?p0J(S3wE=6vv8Qhh11;L zaGu`>GZkW%OCQX3Rfq*&v&)$-T+DLq1Lt}4++J{;(-Zcyd%|YsSFm#K0rQ!?U^4p~ z7`prbqot!@vQ`<^+tlE+OAB-NNHBAcDU9~ILh0ZR3_pGnV=r7`bwrcUaM-hyDK*t3 z^6D@N^AnReg&3E}+-qn!pVFmMXbXm~ANxI+ghxRAnhz$NKMhU4b8t-##k$wASoty< zt6s%04^uMqW;2HhbwfpE_#Om55ClT6;%6KX859-LrG*_Z-2Ee5HA7N{i;@E| z@46RUeSd=IK3)8@xjzo=8;(A1z!{45dR8e!nJ| zLEwA;{w*1|u_YrB?$6@b>Z8ei0UQYZ0vQNZc@WAKAp>DJ48pF%Sm+duB#ShzOO#T7 z3lfvCBKaORKKvECp1r_^d-tJp#RtRo?n6JfIp}LI#sEhRd}lWU-`Y(>UmIogv6_Nj zmK+3om`y+r<8kO=I0iioN1>125DXCa#aOK`p{n~SbWJ{ki4}p5pw|nwvwFjRP9HeV zC17>HZLaIraB=$vuI}Gpq5C&*U))z7OP2PCqn^ zp8esmx<6KV^v6mM?sEC6{#d%QKbEZQ2lr+Duy9FV%y<79a~LQIkUd~IvnR}E_l2q3 zV3>JMg#A_(%-gMn`TLDw@v{q*5ADRTlczEM;#Ft`1j6EaBx|an(F;nGx+WySl~;%a zL>kg38#nS|C1pO|#}CTa0$~((9g=`ROuTRwO6O0)^2SwoKEDOev=}UV5yd)7sgb6m zZYU^24u(Q%v@`ggeE@_43_Jf!fZ?J1UwLJiLW_ObeBsi^5m@%?b-3U0!`zS~n0Mtz ztl1~QzHQ&*(B2U^ac~6A9i_EPli_`s6ya#u$pd2$6S@#DQg*A-d%ZjT_KzR%smr2Q zn#WPCPo1MY2+3i_ncG%R^Mnlx(OzP~b&m40geAfVMJjoY>LKN(9>OoHNQ2H#M$q{g zkN#PoY2By${6jN>%hF9l1% z9{O=NFwVyxO4kBdP%3V^e;`x>f}kE4%!5#|QRcebHO7($A)dzQ$bFZ{X_I7Yp6{!hKO+ELzkL zix&68k|q7HbV)xfU)B#EEBj&X>i*cc?ptiz^c{9?{T{n_4#56hKj7e=fjG2p5RU90 zgkwJshSx7caPsgFoH{ZTCk}Un*CDET4Z$x52IIi~!PvcP5O(eyh%H-x!1_%C;IZaA zEMDFhF798$*`+sZ=6wxIw}G(n9FN&MRN!*J5LO3WG3CfE3_E=eldt$fHz)))H*T>n z5j1W=AQXatIG0bC(ojClY|`&%f{!2jVqy>+0_DpWG49L>Xk9x4w|k*jLoj?9h1IX) zu{|ppd-Cq%XMVIoF-7n00Xn*6-KG!JPweWdBH%cPoGW za6j)R)7_c)-))#Fe4(`fRSbk}s5Ahoh0f760Dc0RmOxr+g(m78WwV6ZY?hElC^GKT z2!$T*M;Rc}S6v!#b`k>5O)rfOGV9s>`{_Rat4HVzUHaK9!LRg3p^xUb z7_9s^Ox5^L=$m{73;VBFs?%|HFF4Qb&EPkW6yE|a=DU84`3w5MWnmvIaO;D`OTWfS z&%W5Ou|Ib1{2mAP55%z}L*RXC7%rV30pBa55O8fYg8j!JG-xcsgU8}}@K{8I@Ilvu zD8?W%Xbd6(MkB(1j6AMi8-uWGV-S3G3<9o%ac53q>iH9}kM_Zumr+>pGK!^2 zx4cbadk;G+!;TcGTmdSAP=Mik_bDnxE?vrCSimVmp__EoQx1kpABMvXa zTd{SY8jkK7gcAoR!29rIoc?7Zy!H;4`kYopY?%A6-5)XkJVluILQ|_DpZ6TC(3f#m zYqq@A+Ag4VC1m9`Xf811W(hO2xmiMfTRnmBL5v}8UK7duyeA>x?6lVFmklPcf1`Ur za`*Y)IKqtJqDK)*o|y@S>)+jBN{~83*^FR1%?R>yf`3R2b_5OCZ%j|XYBG3!6Nd$9 zx1kgqf=Rx9oj^E^?9Tjype6@lSjP}OYnHjeTK;K!1l0#=ZjeB@C@GnNaMPn-vGKtp zScitQZqWgrE6~SYAAM{!@QtkszOkN)Z>*=_8>=bkLu$}$0=_gHjXrAqFl79{Lq+qy zU~2UxZ0vi$-l->?X7z&e?4DfA=?TZ#J>W3A2b|{izHJ89 z298I}jY+s0uZ%}2)A8b=3eumdBJ+hhvePt>n=V4$8xaaJG?AalM}`P_86xDQYalyK z9hooHkp4^sX^&^%#iMC>nyQS)DO2$1juIXuPR9NCNw^m~3CU5DkaTk*5+WudI&1>lBcN}~#kHz`3qjAD(B=+wgiY;3QV)>c@n7?WuTsDlwoIOSmAK8GB-sdp!$~88a zZ_BGgIShFq3h7d38byh`#p;CLBe06LN4%hc z{6y@^zQ=~|sb(lok#?#Tc81>Zk3?5E3aL^>7*g$e<+Ga%hD#oV!6oJ*oUa{#XU+%v2_=%N_0VT=6Pd%ycb_P_Vp!PoGzpQsJ2dMB=tmD3gq0--Tb zYYnt5;S^!p8ptZ_c@XMyAY|*9xGfZ~?&{)UtRbQTv~bOPk~IACbVT^*7}0BYr>?ut z{~83BK98K@k&#fm{#_E=7A}lObZU(G(-6GPhN0J`#lhoc4A!K_V%FnWOb!adq-z`q zmB{k!8V|w%4ul%KBIH1LT>*rgmna!&)9fHMek@A5i&ZJ9SpVP=Jnr6uk$)hDA3BWh zS1d+vJ00}0RYz}|>F7hwF_u%%n>t0!C*dp8ap)ob0RzYU2WF`K7tGARfTi^pu(J6A zR(90+`2{TOzkr$jm#}dB5)N~FvU=UF-2-v{>_|j}Ohih;RJ?qsigzzXD9jY2l=iLV z>!PMe5B0_Rs4q4^eTe}YO8F?`qtpQPrTSL28^5lAjl|BM2E%jHAS~H39@cxEG4c3ejK1Il&455yMc!ZzH1z*dP==g3yu$!V z4mGs8ihdvRR4I+P`1xbPId6QjyIfTCw+_xZ<;kXC--XZ;@)nObjAsRxwnNx2aUOQ6+_17Z7m zHbT)-XpH)7U4Ad282O|KA86v$T^&4%Gem5V1b(L{w?+C)N7xmKJNu04wp!~x{~O(* zD_-1GUi~()gdn)~RjgESi{UKO6dYsZU829A8l}flN|nB?uVo;NhUcqj%>6YA%Ap~c zM8222A|wz_h>YUph}omr^$w&XiS&8Rjw8hyrnjFrx%uc^v99I!*D%#5`Ilq!Mm4QD9O@6O`#zgN{!J}W`gE&GqhHiqqV{U zt(6p(EZXE@#V)z~`Nve4qq*Fa4-+(%8Kbex2=%3g44`!-dZ;bt;8c3T6nY(&$*GvI&L@Z{NYf+jr&akQ{1g5TD$A=t~QwO4S2` zAodHuq;qF5?z9)Co;!wF@xJhQaSO{{+`_u_c-BNi9i^lUJ3y!aLpcbacYsfR{W(r3 z!cbmM>ZLHN&uVR?o)7B%{imFc!~AfyorSFTw`x*4dRiB++cpPVdxDXxqpPAAYab+q(FNycj>vk)`?(;w17{eg=CZS~g+uIC+l*S~0F$ku2 zR)UH!{H>ZGJ%*l3Fx~Jvo>PP`qS*(e+ml2x48M@`jl}g@zdpgxdT-ysVe^ok-ad#_Hx09)90Y%%U|4L z+bniwC9^asHP9R>e)1dX(GCDAg78GiGyYNlB@aZtiH2afFDI3~|JJ;WVPh3b9)@G# z9Y4$tISO;{AK~uh2JeGoabn*vY49aI#0Jf=r}zKKlWezP_v)qp#t}eOmLc{=odGGr zHdGk`HReDwE$Q73$hHABbI@97!a!L4R>Fqr*n5l}AOjVR-sG^9J;|o>1d7_GEsWXt8G#&BLQ*k4B z95!9B$LQ1EQ1ZD3LpFrZ%^bQY!jKPAhtxkL|@GG zKM1qaKf?2?eqNEdL=0ewpeX8vp(~WFQZ_T5Qz!?0bF|2uR{@j7=((cQNBjVD?)1jClD?t5T@LR zOH3SQT)d1yd-md6w^``zppCB`)bX|5bo8;|Qlq^rCZdP=IP_EN4K>aGg2d!A=v#aN z6T7cq?$`rX&OPDm@-=?^X*i;;6Hx5XR_z8fEeBdw0j(Y#LARS%0?jM9pEoT7nwE0W zxa0#tKU)Sg6ZCk1w(?MHU(J~mw+rFPgK`B2NCwCGkk!p%O0=!o1}&AAXe={DeW?*@ ziu6&LuZ!|r35v7CD9F@AZiWVO->4%$Llq@&RZ)?pii&q?D0-ugtQTrX`&A8(Q&sUO zQ3;2GY%$*ZG$vp1W1XSYkR;3-3NRFaNU2jA!neK|4XxlXRx_OJ>jx1J!?CB1W8CpW z(DgfoB@aWf?DC_eg?j=r7aUm=xs@ga4d$1dP1!Ccj%dY4kMcmC1^Xl7Z$Jh z4j0ZTX$**uoSZT#gNsxL0aRA_Ud_PubhLn%2{ZubVh5r6I#n1(NboQ zRu*<#l-r?&UAISTxdV%~3P-e8Izw7D3({&*ee-}iSD?WSXk5&Jk|0SiBsj{}aPwG9 zRT7K|sBTO(N^40m+M&6^3Js;Es4X@^Re?Ura&=fevG6T*sEQa6DRo**K+IM}RhBx+ zGBuF*S_A3NMaX)hjAN0rFyhR4DEnONNR!4B43j#+kb+XBl$y4^6~j7wC;IwflFv2f zWHad;!O#n1y$(U_a~z8wgkbq|P8kvmxisk$98pk(1VbS`Dp!Ae$RWrBlDpmU^W(+O zS`E!D9&u@O`k(u~vBRR&r zjFoaqumgner9_41nBP%_9|9qTkRDz8Dpn4{*$;1FN@yr1`EiP{Yr_nIP|+h$ZF>T^$UQeMO^xn6e0uTIzYCTSB<0?7qi+U)hb)7?9fzhf%*~? zR2LecJWm%T*%B1I71E~a$j?+m(OXqi=BS}2R~;2u8pwa6iSjqou_JN?2A}nXn!i6x zuSdc$Dwe4~*TfEG=zb@e1*t>&9nicX{hnwfhSZ^|FTwB}MxQu_F~<%<-3!FB zXE&HN8>b8(;!qK<3|V?qK@}=MPEidK{J41W9vlT_NHF|4_aR%~wC-grmQyDws~7rX zR;U-uymw&c$@Opx_z@0)2QVx2kaTI{W!bVMA2|CTxo_tElMeqU^KVtcgu4rZTU-D57@=byDj!u4TTFON3~4>sg*jxmZ5lrPog_X+-1eeh#yQ1LoT zkunfc=O{ly@gfEuFQVY~^cH4BgmWO|yGI!a{S-mS?IM(e@Pp$Mx7ql_iWClnvu{OX ziU2|vNAz`;;JcY3eCMQs{tna7*H#IAtS6$E*%*w|{sMX?pTf}UOPJYx1uLhXu%+3- z`F*fy^B@HJDB*Fk778;AQITzgifjW^Wb30MTMv~ibWuT8Q50k%{7%9yxzJ`&`A&k$ zEH0{Ov?5!A>Kq*wHMzQc=&`6J>nU>GC@@4rp)nc@P0>_rj+Rm@w3XYTy~+`?8fwU) zrW*p|3J!$qLx#Y(nyWWbjj>@q+H0IxQ%`-V8ET4*P?4{Pk{k&Nv&6`wwCNjl1tScKa^t)MYSCN@k5Tq!=Be<5(J- zQlt}nu3?7HHB3Bv7Nbub#pt64p?>iw79C;HoK}uq$K(0? zFf4e?#wzIjxcYfCmXROn{ZP0j_`u2k7nmO30^2j&F+Xr0oc;E|-fxd|PT1l0r3shd z8tE;wxw!AD>9Gyp$-hAIe?Q&lW1lZvZ8hi7jDEG*+VyONLI7c%9U%1pu$yH%q@~tq z%roFYsLlLFJ3vS_YlaBFB9dJ_F%iKRG!P%`zzx-Re<|rc|D7XzlUnuU)+e5C65==J z-BZ{quc!nS)+x#3cN%6spbk5!LRKr}>x5}>@Z{5@%brI;D>{O2nBibZ^Mr!K42@9y z76>V2H%noTa79Wg1L4e@QBXR29s_^;5&c~p&~K&$-_O!yApFi@8e6#gjm;$VHXDt} zI$yAH31e&W5#_o>?FfYPdSmVS0l0Eu9PY+W!`o+?D14)h;tVlLg;X0a|^ zQih}o?=T21;+3HrUpFMfm3@}Kf>N;SNpuMqwP!LFTp9`Xu0XBAD0L#NPzrix(Q7 z*5qgxlIJKJs;@RyaF^N5>f*Ap_d%HbNQ87b2n`V7qlv30CrIfsHpD@lUb}mQqWk>g z2lzKqgH#*z%t-Ltm`@Ol?XpFp!$0(W5dMxL6d>3|4R(N#8_1`BYeQN*R=?~>j~XUK zVxoVbToK9}X8fpOMwlh!++}DVAz7?-PL0N~wA>`zdVKU?1~QP}2Fl69}ywd%$jHPqr~)`O5w{d29rt!Y1MQy&1@P zp@D)l4HUlCKoJY|j!08Sahe*7lGkb|6(U^?Wqg#UtE2pl5E>}Ypb()VlY#)LiAnD1;$Xs?~afLK>zfyx3Sl;-H7@SQfN4l^{6%>%JKdm7T-7-Pn@E12jT0L`Ef zw)KO&UD@`Egxj1lOuEZJCaB>V*Of71E+zK}g^ef?#-x?o$AwpbV*INX;|5vr?ERDGl2%ei#O~y8)OLeiD}6 z+hKluGxH^#b9o15UfuzROWR?6ahuHEXLp-R#0jbE&9kt+u;-5H(Jd1M7z%av?(;qf zA3mJ?@6}n_FHuX&dG(|m2!#c`yIErx*{n4wg7776pdb)x;@NFI+`DCn8@^h&a(qJj z4POzWgKSN^LD+r%DRn`Q^tj_23sQLl?Ra!{jp;~>{!tKaSKKvH1%y2bA4un=WI%G;l38GUUh;cN3zm?HTM1_VOOFJNxV?F+P<*#pjVdtu?C zKG?T=AcC%r#=Y3dY(PEd=?vsOn~s7P(^33tI!e=~qda{&sxoGv=B)~9vs6%*t%8Oe zRThnT6l!Rq$fcnB)wsx3MSYek>fWiM_N^*v-m0N0Q=N;q8mM|JLghP67FAhV929fJ zsL9brEd!%2>htyFP;4qOMQfQQ+AHiJt)2-qxN@T%a+SEAyWYGQ(zK6`SL9#!VJdMQaSF!jhJB2OxJ*v<+!yqWAy|R}I zAbiPzPyv8k(Eao{zJZ3p@Cj?4Ase=JuVR=58%vQU`obyT5X?_*h1JO|n0a<13+Hp2 z;Bam;Y|d_i<+&}gng09R7u@uQli#66(^K2m2+cIzFnsUGQ^(ag+IQG2VWnO>s%cZb zHPF6{17X{0wyC};-w?HmickTBskaOf>8pjSCnmPv@YTSrAnRG(AnZQ>Z3wPPkKMW< zF9mCvfp$DgQ+9$N^AYWs{rkgeu&W~c$YbU6gy{*)VTM3Rig3=OD6U~fK@qafQC<W{_HFpq#TMVs(ZS&PVhoz2jvr>t!1qqd z=x09}Uz?A_6z$KTZ~Q5Y%s+=2S*zK930udn;54fz=Fabhb!+m@o>0wG=u)4IkB#j;Ins8=&Vsp%rpQ!c^I~p1LnZ)mHPE~S?X`2!P;Q5+A~Tfc8lW&s2YH!d4zmUtg5jF9SnSG4Wz92e$X;lY;Z+}jPyk(L@O6fuaG%gr zLvA!QV@RH)G}`0Ik5ss^6zN6SUfu(<=ICjgM{|&B2g$N_N){yQsp-ciNFOODL=0L0D_W`;G4A{YLH3 zL=9x`Xcdz-iUmb@k3gu)gHX&s80o8y=n%W5-5~5f|Il%L_>g^bUHLlJZC&5)2p2OD-e;*%hsc|laQX~>*tQkl&9}yYc^x1e$Urz1{T-C>jm1bPYkdk`gHK>+ z`Z-K3K4%`IHg;da!SPEtJAa9#i+kbHslj-9dlKq$H6SC9)#w5>dXQG>p}j&E?d7^? zE90WIREI@NiDF35T>OD3k+7c$(ORmFwsLJqE5wko&}4v=m1>~9L>(;!q$CN98mP?{ zp(dMyB2$Sx5Nq>wP+y>nhC+Qb7V|2R0nr|^y188EDUDtb3@O?@A!}NMma5sPDX~F$ zz6lDm^_f%6^Vg;j1z*KPzhH=hL!ciX!M1)-(+q)-%(zMU30T!PMDwA0_&q5us*mLHb+*#*2@Dn zULLSM?g{hbo-jSJR%U#YV#aw z3~edUii*HQ|A0=4kadpIEMXAWFrx@Uvkxf3#dngi>K+fm2m+xue%QJh-?><0po=aB zyNEGpt_B9pR>1)0sZ0^}B@l`}fu7#qVQBm*OwB%ph1F-UwD}BH_Mc<+{2n-ba1fGX zl~DRtgyvEmGz)Mm)s;tc30>-;nWE(VXet&$w@c`tv4}##qM<+=4TTh9G!|;3xk!xW zVli4v#Aq)QLt3T@S(yk@0%MUnTJqJ=n5%)h91&`BG&z;XfT)eSPCzt7Q>h7B$}J(S zwg>9w0L|_|J9Y6<4RJltx(e-e3sGO@gt7ul)a2_R^4S86_6xMU()tQMEYt!SYF36i`cb*mOtO$R*JM=eG zqaR6=%Ik#u>oea`+DZ5-7As%S?z(6gCfvZpfFSuSq2jiB#SseKkZ>4=bNdKs4U-}W zm)zmjFnOk=!Y<+l#+~xU4_gR?Ry+u`F=W07gXXAUz|5)W#}wfRD5?G(63O47Yxs8< zn0*RE%g$-{X4F1Y|r>Lv4W$8jA^b`e-gSKuf717iC6hEi+aK6D~>> zE(t=V)a_}EmQo|Mlo)Z(Eipt>u|5lW?ZzSsT?WU7LJA23V|@XI7!3ttG!;KAp`mg6;n1`IiB7W$8Yi1ID&VR(}gn3L702%JZvuRhS`ZNFh9Ho`rBv1aOZ3o z@0t&@y$fKz-yLQ@FNVp%B{2MDDU6PJNbSz=Y;g`a1Pkw-FU<~bQD!iVXWgZL*;FaO zxyw|%6CXiKR}i}MAY3m8A*To>e2q|(2cZs9ZyDgGpEi6?O=cjB4Rt<5uiM=<+I{}i zn8cE&k>9Rn;z$c)1dM4}|h2nLl19RD@h775D*#*m<6iuM@Jt`e=B(ih}LE zTb#qpd*<8R77Af6AvIoffUrXmQqu-0LeJC(%xl#4dL+i3JdGc=Y{d8TEiu?d2SXSL zH85z-4E!*2D*8Jrp^w>cOi=wBG<5z3vC*f{Gyfb$*4)aaSuVYC^4LhE#7#%ZTOBl& z8l$<4(u`(kE4M%!!KA_((n=dhEA3dw2rg9)kX1W!Q6+=}q?Pu3*g;xh!=Bq-ZiUt| z3$&J+qlLOZO9+-mXf8HHV-YpL=%b;KgJVOH1oedy2F1F3F$cy%Ei@HrqOFALiz1dn zl@@EDr9cCXc_I#qxmr97>G?WnAlNDZQCjW5nSYbVscbEz?HgE!X;#T!ND zLPDVz9tqRPTd=tm!|Hytz5b7Zkb@!B4(YL!TBYCX*ekx6aOn!hoH~sWM}EPGU-n|m zq1~{J@P_-tP^@?ng&ptiGEdTDB^(SpL9m<)xe8QJf^s-^NtK@BVMr-bGUui*g+hvS z!5x3h3_T8u)7xNvVk-=HFNF36Yv^xt;-L5=2SwvOt}x!a5C;3*Vff23Sf1J_b@Dv` zs|&lEOpk6}ApaZui;h?bAgq3?y;lyx8cL0R0ECLEQC<*!D_WR1OBPIGi z5asiPZ^&*f5$n=oxlI(*F!O5^ri6rG5`j?eIZ9S*LCkZM+e;Y6Hr3Mx3e$)i3Ls2i zvujHP5T>NU=6WQ?o;Za8n>S#9ixq~r>S3s>pa@l&BJA&^gs;sdGXysV0>)*R4IkmLbLqY+KT#%LmN73(vIH55`) z45d9Ks4LJ$ZN3<_d0MD1&_rXQCR&R*m54G8v=?ijDPM%TJT3M(PFWHRbGMohWLg-H8=!f+WbMa*&DZ*l^V?n&Wa-ta;Z^DebPXE z*E%7CVX^?jdkm74PNmVqKkE`P;B5r{%JDb)*UzK~L+>u5{GuMu!h4Z*y)E3os~&l+dU zy*5I;(H2_kEFjrr3!TmO(B0|?gPpTs_~Tp{?wSw%-3y?%ZxKw7t(Mwd+$FWWyced& zwj7K697ApO#E>WzTX_vX`sGKs#N}5zE()8 zkQ=OzX6D;&&!V6b5#DJfle}TZKZwl|{yqp(Mw|8OVHYj@C*S9%N*ay^=H8Zt(z` zDfsK`_NvYyJWhyKPd--jLD%VidOVqRF98}Bajr2nb2&Ix+M})9S^&-8h*6tQz|%xsz6i}lBD9xk@TpS~S_(vHU_Tc#fHHL{0Fl&gxfz-(?SMvS zJS^CZasHv0LSI5iiHFnHkDIW(84bIrSRRB4n43T#qcrmaK7RD~t{-gW5_1XskAc zXstOk*I7b)qb+o|I5L%}zjF@sewqi}U9K?vd6~@W^wu`JtNUSkd~2Nbf%X0WigiN) zgtgg{O{`g_>LVajNR5`KOFBT9EW*iKA|oXbKgMAckKtLL$h)wn=b>k3)jLZIFqXdrdCv}2n^3lGS)HQc%;b|3wl ziPzfoD06WS|m*{oo5sTos?ltQKSDT87@0Z|(@d0ME+(?o5aCK?Mg&|1O)ky5A4 zg_@}E1VkOw73ral;96>g`Z62XMP0zCYoSmhH5f)}@CH+Z*0*9@FRyY;^1Bk-TxEB7k`H9T|X>&dIOs? zZZjJ;N|CaeLS7kmq(Hj@@WY|lL_;v7O%<$*G%X&>A4kIdekfcLec>2z1m-6;!}8=- zh&MZ8`cethRvALg!w90)X3$zoK(v9*W(VkOb%xINS)Wnkn2~uwABhr^ZIJrI2M*~SWTrVpc zdv~Ai^U)3StI}gF*1o+>ex9-oX^I`9T|n5SF8D_sWk?AMsnJdfu*(Xj_fn$@%X)>? zOyoPdR-s|W`1TD?#(DdjJ3+07*naR7)VV7!DQPPoZ!28B>F%c3;85 zk=s16ZX+$?Rl&=Lrl={HiKfz7XexC=Q;7o_i*3k2HG`F4GQIqLGwxF|3~ zy%2@wXrL&vKvR(=nu@K^Tw;UPQaiMjQ7Y6K?NzfOtDX;8EkTk1N$FJDZAfdFXxjwA z(GzGP5EFpsGix=fH!>)ekZHFe8?3J@&_!*&1T}dCL@}!KG*M0U!h8+1784BB(O#l~ z<|0y#TBs`!qpncG_8Fo~3kUE2h{1l5m=R31!EoqZr`jN|2BUd37@NRU-8@A_c>A|O zxGXtU9t1;rtbJ50``uFW%(x3QUw8_`4jshs1A8!h|Bo>CJBo$(g0TGAO>BRAhs_sK z7pY?RsA7%qL-0FOk@i6#Qq7Qt?GNSuil5%z#hMqB_v!m-U zW4RutE!D=1<+_-$TpwzyjG*CZ3eC0V5O1)C_C`BsZ+3*%7H4Sx=mO(kJlZYK?10&+ z?UiPSH|ev#(Z7fjjU0q|+8rRQ5kRzHwC-rg=-_lE8LlS5FkF4##CejqLSM~CS@3PJ&bAE^;?8!VDo zosb%4s7@#}%-E&g!o)y@&QZQ$W`@Enp`Zw9C!uBJEoQpip$P9`b?QSlK4BgbhLOjP zb0Bo#Kselu1K}VZg#DbSpufd%sOo+Kee=&@Z1W||?K#tJ``Nv*((`*LxZobW~XORK7E;Hh;q{}Q_RAuX;nl^Fg=%a?*_Hzwb z)aD7>Crr>#MCy)GpHv&PLwmUsq*YXlq?JsIxU?yyP#F~0@`{nvB0-Uqrz2X+tx6lCTIEMcjbJ%_!JJ#lRtk)L;Ua7L8A2HfuCTC@4a~gj=y;Mo@wbf+-zAHA8wH zrMRbE3&5DmS26b71q}D{!tjIpF>L=XjQQn9*oB{h+k;T%PrD~46-VW&P^c5Wf_DWU z0_-XXfI_6<3<0rA%9LP8out%7x zFr2njg6Ye2pt4dQs;dm4?r8$i8gpo^w}RFNTZlH=Lu=a{80=drH9NiurYE+wm>k+T z_peej6hK&?FWJaISS>WmC=S%q9H9aTUrSKHgYeZ|5d-1fNIgXOa3Ca$wUp?^7uoA~ zE5h#6^$6=>*1n4F>6wx6bp5*|wqbsw9D;m@C_l{p(bVV%TwwlGTC__Vlw!vRl%fDa zdVOKAo;DE38)n!_rVbEx-9jNDcNtc%;uN7B55ffrx3TQ*J*>IUfzXUVc=R}aSm()s zaDf5{=kkisSsDE;hCxmD6ILH2uTjPA6APF0gV&LfxD_@9FCS>2AYGe95pTRLL|60e z(#+0LmMKR0J1*EZiY#q@6NL_{vS|Z_E~@35Ck)tnriMaNcxGrWv1IF*q?OK))zB)Y zg_31j@jpcWj;8f5g@%qFEoIW_1Q6OWm39cqw)@U~)&kcXfggdHhSxgtzS z#d1FA=kpViU=$vK$v)RG_R2dCdYWL0 zy9iU4h*?Zqs>6UtYEgBiA=FkGL&MVy8fz_~zSagB8yunY;{vJCFKgP(PHcn8p^Y2p zZ*}s?lmGs&3`7Bhb$L45(JFw@mFDRIjBhQ5L7fz#+2=5}A`pHFOI9Q7iP^4w@Y7F&;D2Qt zl4F&T`9ux5FEx<&N(1?6>L_^4nQs@qR+mRnx?skwf#P&7O5SLoG(*IKHdL_f6tson zttKkoX`zAvlD1E9fMn~La%nx29%}OqP+wq##v&88r?9Qe2JMwj929AJZ}SR1eY%bV zBdNp&H`ayPUTKHsG7B^m8>5Z~Vs*X*Rk>nR=4zrcN5obx)fcD(p+D65&A$sSycm_dglHt;#NlcB))1nG$P!2+QYV=+w2ns=uqu(Lz zoE(3}7h|Z4^yFzSMf&p|4B4{-;`0YE|F#d7K8eKEj3gW?e9VUI6`N+fDFw<$XZUr* zSw$f7Fr<1Rb&--6DZM{wLj{dfxY9U9_(@ot+RBYn99W7ei!`9TSPROFH8~iv(8hFv z;!<6xtT2GuDif%#GJ%SRIaJr!Kzr*vnZf>5ZKlV!!uZg}UGg;Pzvy^{0tok_&6rP( z8Uyv#yy^BHR{xfk*`Pkx09BbfC{2?f|Ctz>_c;(gik0B@bv=Y%(ZXe~@$FFoI(U3% z!!h>y-5~5fibsQQj`2v3+pwNNFs79nP=wurn?DM|&do7@2!LJo5_W*?17i~(a-8WB z9d$y^fSWbUyo!N1CIS<#bp|21nyB&%dO3F)ZUcoyqyWMMRwEQZxGMP`OoBo%{OB@v^Epgyzl5d3SFm>e3XXGnV)feoIDLE= zZibA1$P# z(q%fok>ZUy$}%`emSu`M!I4%nRc4F1y@dotwuXr|P7oALnNp59&(@MG{h z+X;kx(DV4_8S*0Cmz|1@X>n|v!tGuV=EYuyozDT79NPeklUpI$U=5{(s!(2}$ztka zEk497xU{Jrt0PWdW`JqSj4)%BIW#xUlIrbQ-eP)c8%z#wIxNrT{0qWRo*K>5IR=>t zP;JnLS^}XBASG+RJuKDVUTTf{9DP(~NKpDpg1n~$LJhn~65(Nt1c_m~2)(3n{@`Kq*Nm?Tld3|A+ldBQ33Swe0L1&vVXv7LmG9nCUv30T+# zgvLRk7=FwP1JAXifich_glGDBQ7F;EUdW%M^23RUsnplkdo49!1>sm&L#u;*ZC zKf4E9+%0yQ*~-C40Z>&|Q|r4XU5 zgo5gET$4&mp&FVC)zFl$hK5{K)Mcxp=AA04GF4HTsfO|lbuKbBP@XA5`CAdn+2#px z$Bx2W9d0*afv}s9Rxnwiz0wgfnr);xMM{-QX&2#o&SbmM9nzZF42X@T=BO_=L~Vf{ zD)V&FP@s#VZ))eHKFxAI7i)qzZRp;-Q^zjP!=v z!!WFS-H{??icm2%`T-EKsC?aVoxd$K(r_u#=Qx!A2s<s3Q-&-U7`5avb+I<4E|y^GVjWCfs*mX_Od;Ah6S{krx0{{b4wECB z&T;8c{M)}83mD-S1(l!ZQ7P2Z`$SQRqts6+-tOE&ZmvQ2AV!U2&yL>UlQK~}#I?bXg`F1JQ~u_@{b^-x`40Oy!9 z7~yxFr9`!8`7w2g-r!QATwRbGmk`vT06|4HC_u2Qs|=?GJGw;`m7pAke9+J5CL}^9 zBn;!P_+a$;OBiwdB!(V5z*OO&-P@sYdN=0AUuG%NZJ9}I(4HD+eyX*Z-ky4gAK2f2HjcO@(^bDK#pq)^F!P=)k=nsad9B5!#B( zQAbT?84?D<+$UnBr)c15f(WU%B!~^xLEw2cTs%6uJt@K#@17l5!o7Ys2)mEq9OJj; zKRhzy<2K~bel-Q>m@YGeABExXxXXNSpk7`B>^d{}aWIk^WQtILBd-n_2s4t{JR#RG z6T=4U=RJwWl&~;N@(+ZPe;`YZP9;Sc$b*nlqhWlr4BI{t+W|uA8omDzEAFPiI4A@o zjvdDj>pd{g)s%s7=mH6bxM*VVeD#hRq1jNVsQ(vq^ge-s(I+rA`xIuDpTWZVb6DGb zfrW0paPH(VJWf(ZWtL{AjS|hpI%p}@MKhUalW}$-7j(U;({%|NDGIpDrb2Br7HFfH znQCjJrAUm{A~D)Zw9sCn1zD*kWF_PZqmI@>Qjcn=%_cBvpfXFu{yVB@<3uiPoZz-i z)D`eM35!iQAd<}++giT_XkQJ;I3H28u7Ir01x*!>K&3JEr0&5`zeuR?qY`XzUS1cB zIjL+z1$B^i1z}h9*D1QfkXME$OP({w85*Zp z{XB{-@Fi6^E8;ZRIE2?GHcl~ZnHWlo)G3=0lHUWaO`Qs;_7mVM-w#>hbY1`0A z2`2t=2!0TNzm*#O$oi!&3UNml2zI@_J(B~X&@{8*bpqQ^zUpN(7QKju%8dxlfZIO^ zO8!BZ8W0SXzz_yPZjLaLxtwt3&#{=Jpa^MvVmSk0C`Qm6;fB>1=xWBNM#*nf3xnos z$U)fOWC&)c{0DS&In!<0RByzaZqst!J-Y`XE@BdElBq8wzfWB>v27CiXe!~%vYUzx zIz_W^y@>xgd3zQr2Bjo*_>iDJpF*2OL%tY|`C>E`XrZN03vI;&MG+fqXf0G{%YAFJ z)lr?LfvRjxROM))Do2cJ+BlJ~!&090PE?c))Ix!ZeS# z2_+vtjJ|LgBTso_=r0E`bl+|a+Pwo4f7t>1@RL~hAe5Q6A1rvp9A~J5l+_6Nl&2hs zm0e)?8_JMUq{qo|CiemRQb|MhtX3Fz1@_kt!t~fiSe@Pu$&T5)D%432V^@StC@r50%O#?(?waj4ho-3ko8ClX?NA}Ype)&BDHbzniziG({cXD zDCxs^chnVM*XI6>ZV>*Zk5Cs}krrpU_T3$7GGS|#NDcm0I`qRGqrW{q@v$uvojOK; zFC{8~Pv{{17zoo7*miOP;qtT?Xvf~*(xU-EPzvBcs2UgoQE(U}yyqpYVY0p%&D4Vc zLK>*2?Gpq-(~vMWoIPOkdJJ4>iQ#V4HLAlk%PL!hkspU~3#1lr7W`!g6? zbAF=>mwbau=SJhvof#<4A}caVK^mc%wn&tkqNUUfEoEkCA;WA6GS6lP+7|3KGty>Z z#+hj|&rk{@-cZ{BjkFPhTw!RbF0D<rhy~9pZ>UjP(m)^MbTl!hpHQ zM8P_W>Vh;lPjx{~36iI12Ly%T`S&3xs6lyyOxG^a4+4;n)CUZP^f+>?(GCv9xXV5m zb?yR&c^$`)1N)dN9Qe~VXrA7UIdNQybmzNdHe1M4Apxy2trHC2Q-$ny2N2Kk_X}O5 zG+TJ2@CoxFWvY-j;gkK4JgS&1f_)pL>`7q z^e}yeIW#xTfezISPwjx&kuCeVzw!TnyQT;rY{=95wyjLB0rdnzBN^%}fEE`3KLXM% zkX6k@Q=Sp3-|C|5wGIlN>)_o(Exb%p$Dx7E%dk=(nIzX6l z8ynvwV(n{cn2CYM>lhd(M`J=zC?*9G2!k;_Fa&Brq0kHogD%;9McjZn&9>d-_TtTn zOJpFVx)gn&F1woov(RviIqi)B+qYnVn+=As@d+Iabrrfs34~J_2&aqwi*26JHTw+u zmS4cg_Dfhe^}xD~0}vLVg!IP})D>EwsniCo<@RW+bV3_5$esmR^=$U-mc|*ln8ycM ztIc6QmsZVWbAas?j%cUnm)oMHl-y-#fSv~FP0&tEmzEK zkYG^ML~{W_kyIkLldvgY1GTvw3X!Eu$!d)(*T|2Qmh=9uvwOE4%vnLAAQ>bGsF=GAZBA_j$%5H7w1SvW5CtS>5EEd|IRa)e=Ny3d zAM^XZwQ8+ZtB~G#yQwk0QAMz-2-d?p=ljn2fCg(1K;4UBsDD2h?`*LxjAN-h)Ph_PuUk#t3l0dQDtB7lS+`_$8S$Re3Tu!P4`3nU+c6?rV3lH-+&e? zR-pOf1^9O19JKjqHvH38VAO$3<~k3WS%CAV4U+pZ5w$ z6`sMe8>9-$Fh%qVM=%HJGWf0vMW6N2aGyUCW@D{|BD7Nh(R`eAv@oRJp(`vW^@Pnd ze>g_aShi`keru!QA2&Nl`G5Uy@gmIueR0F1d;OE1zza_f!dHEOk2GFwAseq&_h=wq z-}DmE2{+t6e|jYdobcDaHpAa@o&@R@9;ua zYf^-P)fFXSH$`9YV&nUQe^d}EqZ5sVp?vmpWl12cCJ^prAPl}-hUph}VaDZM@H?~< zowD;_mX!mG%pBNIS(I%+C}90TAIcCGm!ki+9c)uNfskIDX${j<8sD|=0QwXZvBj@n zEu4>LlZK$xcrUaX=gvS#J;JXDgx^`>3;&j|b@?YYbh~Ho-@r5A-{3Rg-w`nMKQL!r zOOzJcRyZ!aA>NJ6XC>(G4Z66PTNdVVx4W9DE; zF|BMWV7m)f-aW}2r175sVM9kMk+L|2Mioj9Qi33rNPDjdhs{)XbQ|9t783;w$JxPr z99=76D1bPYfar*Ba^+wM`uqZ9A%dkkep z8P*@{1-$O3$Pmsz?R_aaL5@*(+&b-ws>8H(!XAf99k46M5jmUeuqCc@U3Q{1uAE+0 z4d9>HV|)g^)TYZH&=+LGv?(umephYi#WI$`Q>#JsOi?{$s2a1TFvc`?*tQ&@&{@bk zM^hqI0kBG47G;XCdY=r!S(nQ(8pdJ=YI+3;@ zh%o(k41~0Of_CBUXXVj}d-tPXaS6RwJl-HVB+dqJ7K38;TL0d+Kx`xPD9BtZb2!ePiDDQ&EfHdPQL>Aq=H+Gx~0 z9gdHW2IIrS{wyo__MRW!-1T8<@#SsG61wC0Emu6JGAM1Mzu}0NHyxNN{CJnPOxWZ7 zT>}tlwA%CAE_ia=1GV>^QC>M2ow5tijsCdE<9$I@UQn20cwbPOC2GnXBSFxxW=T6v zO*Y4vU1RFb28e*C!od37&KqJkg3Av^CRKDX)#8Wr!eCT zjbB@R|Ew+u6B-Rd`h0Gjp*V%yE0k2>&dnH*vXp_a4~<@%{{zg&+Q5SK3P~06!(gaT zhg2%<#y}|b3?&$P!e&MQoTEn9dn^mA^NpMR(LW~K|8I3rw-lZD_`rPu;0wI;`iNKL z7##@I1#w0AW)eQ!?Twc-qOj5p_s+ZH#wk}^KIDK?W%f8&;(+ZL4#-L%qfCcdnm1Zg z8NZ+3|KD~GwdwMQZkoTi%OopN7LsRq>`)Pthl!0krFCdeS8=nZQ7g(jV% z0(?rdjN}-V%A#Bm?m<}99t2U0qG~q=9^Z}5d4=doYA`DYHrctbr*U7TTqxgGP{Ia4 zlTl{CcD@&nKu9mv^de2FaQxnV7`SaatW&nK-cqx$8E84dA8jUjq2*YM| z{egIMe-Ine{qEs+`0#ibKGJ52r=w8!d@S2u!67-7L-9S$4y93P)46(lMO!U?z{khm zaVSzC{+=&h-SJ`$(HFO9@(fL(;Xr(L!x7JKIN;4K?lvVLzPrHc z?nP-A*kaFRVqSb03O2( znhr#H&_l=A&$D;&HkhTPp>5)3v|6(k&6h4k^F{Mmudvh7+31%Yi?N4u5nfr&CeBdE zo?xhg;M2R)=*;uRTX$T1quH&47Ajd!7x2 zB(7{zTbAD&k7}~`oYAJT=-=T*lmI3jD*o5ND|=4RrukXtcZ$9s-!^Z$ENTLT4eTOp zC`@m1vWzB7uQJFe6rl`4p#-Uv67BDqP z`9c2@Zj_-O(su%cH1m?C%Z#HJ?23IDT)GoI(zDQR!$y3wXaT;R@*P@F^g)a9?)Y|; zBfcJPi!Z*n#DDeg2rG}@z|H4h;I05+@9+K(g2KMW)?{-W+3SQ`m%VZSnh)+@qiZjI zu6pABwVrrz-4hS!`dUvsyzYrdH$3r}26Nx=!jqfcczVkR&*(pXjUS%Vriyz3c=KQY z-aZ_R_m74$IMPZd21ZhiY#kGgOAF+nB(=z(I0Ww=1h4_!FKfKmq?zZpXdIgh>kBf& z%ykDmyU_!$Z`m^-QkehkT?f3mF!p%p9{z-4`SXYIhA1 z1Q`fTnPXH28B+i}Vp7O#@~!{?AOJ~3K~xDc7zz;5p?^ol8RzUgHgTrSh6J>TiN&|{ zGhH|bU(bz%!cetROOoG!t_>xb9^U)C!ms67?nlRzh~Irt3lOMG(K07GG)#eLPk^25+A22U4u zCR2*kTdaNhJ>EU&k2m-HS(yHX3`AEvx#5h**B$Zrnger`zP{B1cw~w7CnL}zy@an; zqVH#+m?KKVw72unybM9%5S7d^rXV;;$02IE9IEaM>X$>0v683+!I^Y@_$ZrIO8sDq ztr=*$iBuu=3YX&Bg>&)syxC~GFarKtmt*Aq41`=NW2%sPg*-Z;D1FNC<6tE4C5pEh z2n7ri75zdo&cxQ7#Jp;*3dbMGW%~+gGlk!p2%!qeLF$5T6GX3&DMLFBMk5$<5O$MF zq%3&P`-N6hebFQId$=zAvDSBO6#Q35@9|z6$@*e{3$Y4Gt-ZhR)(KC0zQ=1?y(Ek> zwUSXL6m^dV;T8RnNJg1U?znx%9o0vim{I0%sU3D_+aYI@4U$)zAz?-9+H;430i5yU zkI@9eztc_gT84~6^NBuaKA|VR8RdwthVv|8d$0e7v&TQe+2_}ACm06& z2Hpey4FgAzVTM#;2khNtfr}@)7==K0F?Zy60oKQhYa)t*&7z@$EF!v(o7>yr)$*_xaJAhv;GM5LH3YFgk5& zV*#j8fl3h4q0b>z>Yi7?w%NDdkjPab^$Hh6qgiw~Y-6J_xM)2lohZWmYX_MsjHmn{ z1E4sP`cptqzO8v%`rHkVF0$GJM4SYn6m8Qqb&(F#ec zI@fPr)d?4lFL(<)ZpR;^DLV0YR}!6iZrlH!SzU1<IyY6zMH zqkx|wKG6sOYE+>#Nk)cXbp>Wtmc!@3E_BK(WaUtTpap{;oZajcy-SYFYb8Z*=-Lz zy5Ytm6;;*#a4t+o$IN`z7j(%lWTAO~h( zkPhANpzXV0m6n0FiAiX+c0HOeU50NLa8=l9emH!#{DdF&q|s7p{Cwvmn>52gC`zM> zvgjv|qF=cF!FkpzoLjw@?JFeH%*e7749Zvu-_>F8TO9%a*dSO=rYSQtklRi^s#wJY zP3T@ILq4CBW|O+Z@<%V&&J2Ka^cZ+7oxxz}w<>bl--3BY0%6?~&p0y5)W7ts#cN;S z-C)INwefg=#~;tHdf*WmWiEK&`UyAIA3U+EJN6ZJM@gCu($;swrq~X3*@-r|S-IgF zfPdtV(c~EYyIZX^v${NnN}|E%r4eczf-(qA&J}H-Klq7_6Z+**0|@E%C)J<^gsc?G zGJ^!cJqWL^z@&@ia4Oq@4%zwWB9x#3g86VH2<8{ExP-UZkZw?e)F0d>gOIi&5DcY5 zWj=}l5IAWhn?-siI;5nr7g3wdo6zp32(%0w#0PK>HAl07?O^5nFX-X&zu>@N_-nZJ z{#SSg{00Mt{U3xye1Q$?TA(zq9Zv1-q zXo=ewEO6_BB|A4SSmMTcE8M(bjhh#3aPy)qZeHq+TbJw@7;CC};7*kT?o>N6#mJ%P z%Aok6awr!rx5S8`|?iCv)XqYxvf_kBO_4u^LWd%)_LiJVP%%c(rk0Vgr zrsva>RN-b)g$Za8yNdUJ=SMMBXuWba2IjB9#N&mSr%;7T5SjwtCe2ZnO{rH%o9vg| zIE>(PJLM?F(4u(s-8dJ$VnYxRKL<{c{Z*<^eYEP(075o~O~8;%o|!`CnSpSbH@?2- z&$HmSdiDqZm?+o374uBpGtc9wr~QLob$CtvLBm8DJR5RNMb{JC}Q&TL;iy`Nu5_uJ$c{d;tYUfAXuSXo{->%uOvRYIc% zKbaqF2!w{CR}M9lL=B5{Rf@2oGAM%|KLkMD50u=Y6-){KaJmdurQ6UkI}cs5b74;9 z&}>CHG|vD*sV_(nq{sxBWT-4Efsg|A5)A2@4)weUm;_I9no<~_MzwX^nt@Jfndq9H zflf&YXcsddZ6ijZ`4n$-?B5#pj{ge|PX7RB*Z%=G_g}%&^Z$WwuU}#ExPL-o?0@4x zNo(9W-wm&8?C|EU1KvGw!pBEWsHOAJ3AGQT>jwky z;mI&=up!4O?IQdbEEM7xynQ?bc+?Av4lkDHh&oE4dDW6#Qqzjiywn#o$_lE-r%l%F z3-S#T#wAf>W6TT_<L;-vMHIeAGVj3(a z+8K^15SoIa=oixD8JbCI7cvAc3ntci$A-gib=39Vv2&Pt=C5%ksnj3DeYfUy&pcn@ ztvB$>yB@D8NI#alMQg)Q|9CJ9(o=qrg7h_KJ#giSGtO4n;c%%fc4yllXOkt8S9it6 za79**^C`BnWl!j|pm81XB-RN3S%=&>{1q7|KxjVFnfS_Amkub-Uh`u1t z4fZ9Qf2jmQUK-^vx1i<-*rsHw8Uo$4OAd&PkP@%}YuJiP9TC$~KCw8k4R?)ow3>BpzTQU7`Z z+xU&TP<(t(gSE#aw{kApW)#9In-9~Lm+aE_kG^;G$Ac&(YbVF3$ETStiE2lvnaT<_ z)DzT)-*H_K()%auJpj+VLZJ$Iukf3N^YQJxC^VZB0jm|WF(5aN4a=T)^#I#U!JMPd zE+g@o0dO3868KCXsb5IFLYg+S_}W1Po!yQJNAfUgPa3|sf z1ItPF0*3am7*7gODve6zQEk7F8)v#vzfhQGtf%>-NBD5KE}F{CGjUNnA|oUJ;jgh@ zDE9{+dk#dsujmi<68*uc@-kiu(#!cl7NqyUkT1i`+gJ6JE#ueg-G_!A603yawV71x3yIOi8Kg+zTw+P~L5Cm%Ms zg|N;qhE;wEEb>dxEw2P-baIQ(H8U68($ipo9KH5-i*kj`ZUbaqQwC+`ZwA zH+NhZ;NISGV$)on-g0B-8HL|(IkWRZoR_zp@anb`-qbkZ-Caj~xa-Km@b79!HQM6w zRU6!^w!xjM?zmHBhr2Qm9r5703m)EZ!{b}DLdhF1?)Ao78r$~#2h>v30)aUFa3L)7 za?v$2hs_bCCA;3mhP)ts&!n|VQb|;bNsLiIaJ-#lv#lm8@0^s&qYQ)shMS&M zDvnYOsv)T~&(O3P+F~DZu?&-s6=3XvEDSGAM8Kwn@QDp!0ei0{<6%CY0`~TXqX^nF zFw&NLxo^lvuo<>hkSZkejG8I8He{2ArgbO@16I+jZ^Npu)hb6@3h6<0$UWNSRrk_Ig(;K)TgZJit4j5F93YW zALFl22{&E-M18>-m&-Z_R+YbCCD9AJ>ZLJiMkP@#7%!O)(W@rPsQQEr#3r=UWE96F z1XZQby$Gj$gH;unaDP#P??jdK~@$e5boq>yWx<^ zA*D#5qa0{}shdSmR+ZT9vyeu}rjkDyyr3_mI#78b#`pb)*tSdw1= z&wL8=7s4^W2(~#z=$cW4wp)wPHZ>1sX&Lay-iXPiOR(Y43>?2SgtcI^sh8Ex zZ7(ZC2E?0gczW9t&+qoa^ZNm)do~Dn9?w9}l1y~SAPDL$*_HBw6&S8mf^3ksW^#-s zCZXRKq>|{TBNB2s^suq|3luO6ly7qoY7c>su4#ghM{YhkByB;f^&8Oq=N0&7!CZVZ zZ#KT9Ug3&J^v_;}NyiIWu8@XtZiA zde>)lq{ClRzfkJk)mM7_&${PcXDCRISKgvOID+>F5smt1!|~>(51v-@{@~qnJ#p>0 zE6(k;$I025ZUsVhu%$NgLBha~_u^$7nCF47M>u&Sac?B+o>OH`=_ z`B8-EbqzDWWZq~aN~4-yp#gm2ZN(M|=}4xSFoIxp1;(8%gU$9*bjYG1+9Dny`hldz zXrqKn9-kV+AxJ$z4nf`*+|EEq1GXg)67cx7;cWsS^}a|oN{4``d>?&|R9a==6o-0> zlB!f5UV5dHt5BS>>ZJQ7wOIn!f@0WY7olTX5!$5W!)$8?`sS|1qVn0;du|k-)cB+B zVNbk!;ECsVyzrDVe`I74YLUY5v}l($N3fMj*B$Zvx+7lSa=^Qq9&8`sn_J!S^tvq` zT(QO7D^xPI$DJz{=R`%EJm~FcJF@y7!WkW))??=%2ovbe? zO^}fw*f0o9yG8Z0glZ5r7@JV^3AO4_KGnt$9C5k~-HJ=lk@|sI22%|6>ZmM9+aw5r zWQy?=5R}THqy!BmQ4T=^2*nX^_cL+W=Ln@JDMwyX-Nnr|(h;T`=}4v<$%I2?M1IN@ zxA`Hk(7*3jS_}5at+pw_t_-S|!6EZB0xE6k+j=BP?Jq zmq(SQQ6&JMRU%0N!X$CzexXo>F*PTdX@=&H@<}tBF(7#fd}Bl4&!QB8u${pPt$AtW76EU6#K(JmS$6+--~fg*GVJYKg7u%#gII6E^6_`+@l2n`Tyusq62qm3}kC{OKWe^%*$Uvuo zq6|K9q|&Jhe3HtO;U^sdKG}gP9S%DwmO(KC0?AP6>^7Y5#m8t?=fE91(R&-I#R7EA z$VZ#xT-cW!lNfJ>(~hfLjv!BZ98C|vK6gqi+yYy zzFoAC^$96T(RO|)dTm;S5#?JEQMHF{u_x0^;wMxgflxj&2-T{POf!qF9YWxl?HGSJ z7bDA4F(i8xcaFw}pkI769K-s+e1Z*Ag%Sj15Xz^AqF*RXGqmkq;UeuOA{8``)RyLv z&K(aL&fRRH`7;<~W>%KX6&vSk34&A>H2|ZBIP8>47IVUGeC; z3m#o_!lSE>cyzS~9$)RjW{JMKZ4cZt$K`5Y1e7MCbq4h>X?$9tJU*?rVyzNWg5(fY zhUP^%R05%DrIHeWDr3wM4nb{6)M%50AtR_Ng(~}hM+^Ye9(@oVXCP!SJbIkXmUYU? zVZ*pvuHgauuji6!CKAnNhoDC+&lOHRRf1)=kFi1AMj%vxPXeL}hN_SAUg7!&=kW8b zV+a?f8J;QJz%zv_sXQ75@1+yaO$UUQDie)fc~n~>!kM?nzE}!X+LAsuPp|m|2WP&f134_dT z-W${o*Vc24{(^a<4Q-xK=La>0854?7a)#32Y=U5Dbp?7K+J%m}>PayKLCW%xjo(=| z#T0XAsK^N#dV0rFNAHY=NliS{S zbdv^oyRmU>_pUnQ{uM_&zh;BCH*8RHb{w1wGth=XFc*#r2+HHr*jgo;yrZ2Qvsa!R zqunhi_XQ6gW~bq)F~)sCy_uoPaJ&+1K?+Bx;r6Ft7<~LBrX4(jKE>P6WlJhr(TXOD zQp}%^Z{|cY(@cj2A@JS27$f(jv7GCghiB#TD1+ehDkRY{f?idFFr@_{&pZbLWRmf$<7H7PHnEuPAN(lACaQQ@lwuQ= zhn!e{@IbLOO4BWn5pM<>sTRMiMeWhDvH1A*&|JFjru^XFi9u#YW!Y9^gN$)GH2n8e zgT~5G?HDzRQ5b>HL{Ct1hqCPv74SW{3mtO`(1mS}kS4|C!Cq{acgZVcrWmOos8)i! zB+4PE1>p`O5E?^J?IKk|P+tl1BLPr(REkhct&z*2qC~1xe++`+C;>=)IOU;_ljf~EuW zCe)xF1VyQnt2`wT^3B@jw|LJ_i;p(vF|4dd4&5V9>5OcheU&%7XJFr@iP&~-GS(jr#ps=JFwf3qrBDjXQ%=yipa`Bt z+u%!Tx>PerTXu-jAnkpkFKE1A*PsR)=nE?Hg36UjpK^$rQg#e_0)nd3K$%pj2xlEX z!Cb7~`97Ib3iHJw@ZYk8skQ~z4r2Y|^C}Q-dM=ei1^g5s z+)PIWN`9Mqh4By1W5w+gh`dyeACDLE@@Vl!^h@M}xckt)!k?$YVj^v%u!DsHgi2*- zX;dOr%p#RQIL;B~ZG+xye#_gk~{94>xrw!cx>Vbl|^$bk(Xr7+@c99 z+tg)ju)&SX8?FQRH~u((d1q|XHxlq_^k%S4xqOteqWMXR&|w8IUYOCD8`+f;v-Tj7y=%^#Q0jMj%u~DS`wD z=>#4*hVORlf<}hn9_ym<-L?c)X^FdkhQ%o4vZxYt zMrzOiLv}6RPrXDM#!aRf$`npJSt6H52c<5DAC*T}g(6_xY}f^Q8Upq@FjP88wIDQS z1{w*5P6ilG_J+;OesGE&3y-CNAA7H#3;$KK7f7!ufA($kk3Bu`fgniH37>kr?FZET z$lanJXQB4t0KB~6$zl_wHMO-5I+CEiWg8s9rV-t!ny(zQIC+ChTLC95LWCJiXs6T#Nf}eEAg(vj{d(pI* z?0lF>GegB5K`MtTXNGcTs0hll@VbDY9Fx#jgQj|fEIOf3hO#0QP#j3PIn5}x#)GiT z2!tvaY9T1~2{k=JwIbw48e_)xCW=EJCxu8L^C~EUQ%)}Ial-) zy60r0hX5c=$f1m&WQw7QF_d#0M9*26b(Dj&RZ387l#n5~Pdh`@7=lw8H95w3aJD)J zXj%mZi(?E#9-@~f%>*7jrc#A;C}8iLl`Bj$>(FA!QhXgf8(&3*<9CrEuw534zG*9% za$9!$INL~(s8oMS017Z}rb7T!9!0q{QB0aydgBO!rSfPwl}F>ydu=3o#mquLJkJ!G zjWuKn8Td5rQCSs=5~-1ChAr}S6vqYT6UasC3%lSUa9udL-t*@W_^pb19S|37_UG&u z%KgDt-pk1?iZ@gi^#$G!20%Lm7Xfc3;r-p-c&6AkapR;rF79{0iCr{J#tOwL=15)J znWo7gep$=fGY5hIoEpI&qp2+V`EQ-CDnB18RxE`oA*gYTnv6~8lt>xyDjO51Z%7#` z)SyBIN)QaItUzdWIs6aqlD9{&nV}4VVuezkIv&9@f(j)lViFQOeRWuqf7m^p14egu zj}(;JkgfrvySp37(T$Wei~$0IARwXA0!ql}E|CU7r9*%FzSsNy{@VV0w(IkJ?sMPg z+~?qs^nevKR80t_QM`E=d;=($Tl+7zxdIguRr;M7zNE@`X0?Op=#8RsgX}WW*i?lq zHdQ6$8Tl^8AsOMF_0xUo!Hh&ws)80jw_fhm>5^VW`!t*)d%h3s!iz>=D4heJU|nGH zQPLjS@jh-oP|`p7C>GT&HbRASX{|JO(O{o($*w#r;ex5u3ec-6i!fgDB{E>1` z0!RUTbZ}`&=NAiDpH$rWcnE4?-)-;djaZ9R-_?J^^=Ux{R!U7#SOaV?>p;?}t zV0yu{VmmEMUbIroq=IP?*T}`V7h^+uKWny{K=G{W^X~fWkhg{(AtspQA)N~Glc+Xz zBwvNPO;xcwN28nq8B-}I-2~so!OlFP8KJA8fSr-UoN#K&E30v&fDbUU_H7nK_=&kg zhPbM8k!oD_=HEyqS7?I$uckfJJ%P0(eqM9#%JAs0*Xp;s=t!*)@f&@@Je@xFn6`aB zej|o5XM%~guVNESNUJwnq=Vd>V=E?}^G#h4Gic{V|?n2mk zZ~8cA)4j|SzfiqZ{gaS(9u$aEJV`pV__A$_i7^&a_RVttN#TpvOI6nS9x!+%O*{{b zJ@qp@Cp8N3l7p%n5>%0mJ&gf5 zqRkPY8Y$`r`xYsZ%fG^(zqD2)i!@P*{x{PB?i2Ho#++t zFq!0hm1T+zVl<<+fNi8!?Iymk^wKW2F~cgGYL%R^z|eD$ILqB%;PcSKk>0J8q}5*t zZT%r*gwuXBp3zx1y`>S@J$sVU=n5|*>(EU+18@6vctVvT-z#M&DZV0yE{gQJxBZn4 zAI+Xa{LvN4`IkIglOSA-+q5c?%@BT+Q`aHXV8Y^+=K&)_@4H+S-^A-@K@aJS-hi#z z(s7irw!C%1+O!*b-~FPsXjMO{-fM*Q4mZIvpg@KnVB$oB?=9AYGud*`e#NVnHBc`GRr@@cw?^k ztfbR;EFy<BJ?g)2C9k*YXsI_eWQt{3S(@&TbZFqMp%Zv$@ z$8f)k*T_?&+MVWJ%mQ8W5ih=~u~%OZkp54Q(|055Tk;HGrD`Eg&^mbuNL=yl!BHlC z?f?|9{Suxaa-h0ASl^DY$61RiHeU2F;__AAI$LEF4gU7(*PGBz(Q>ODZ+(^$-_e@5PeLEE#;WSqTY{`y_GmI}7Cv2t4s*@* zK9fmPR1Ke%ESmb2BNEjTYa&q9#X$An8xyJGYR}&6tlUEmFk^-GX*cZCNWrV1@pD=~ zc2V-ljc@zUbDa)KO_D{5WQF)d`N6rf_JMh9;Oy9zn`?ab95>a@8S1xCKwooNe2{Dlk=?wAp~XjWpm z%&@jZoMuRWx_H9zlgi;#x`=1dBE99ziJK~kRYrlp@V6O*A*&S2XE!TJ`#*m3VY9~} z7$Piim~=2-s_~1o$S2IGrcS?*0JVcyFn>|KC9~h1jxmz372BY3-th`6%F9=$mWOzu ztn<{1o>JvH%iwSWiFN>n3DzxyKPX++Ug0gE+pVPDH^{huc_Z}8!o@7-|GsBT`4zA_ zI_XDmagr>TqgTR2qq1L}YdTGP@LKwnlPsfg!2_2BS2OzabN;E{&jYymmM$9Cxfb*M z>9(rIyUL;+?x`X=Nx8t(EgE6l&)Yw z+BRq(_zfm9JD*hfjF1ROBdAnIS%MPHYTzBa@IVP64OzUtfRMASbAzZl#jZDE zz&TaEbZ{M@(_>O-1|60D=y3JZrRTYS3y84dkp z`u(04^zF;?09llC=#J6USXJ|j`5iBtO7AMZw8W~Pzu2T5OOg({E!tP=gfzXUGutzI zMSR*Qe_F2k6JeBCrPjKMS8S@>9eX+l4bS)*#O((!{9dc1h#w(p8KBngdqThnh369y z%&b8XIMJV=q;GO4I-rZ$lzHLsTMiEWI)ZUZ0upjUbdyW(L=f|R#W5N>%{eDEPNxhd zh9GBLm2bh6@(@lb(RR&`N!hTo!}J#$wBw8=f-L_v$X@LIDq~l43-i z3%$f80p?-Ubs7!kX~7KQYuW3J<60@^FhpSiUKof$p@1JU*dp?^7o`W%^ezVh2b&ZC z{*$vZljJM=ALeN_FqX26X6K~sv~$}+VFLKn$SqwDFSFvh%-|Xl56Ccv99hHzjrqdr z27}1H*^5oG$XksWOJpqNr?VdlZudO}^u7b1+dQHD(+No2zwkbgDbSYSu&9H@kICS6 zs|DGqZ-*;{>li1D$qbkJ`PzuL6?~_P{9a}9SkF}bn_|PHoZPeHfKecA=I21HlDw<} zE%w<>_UZm&_-~+mw~Ai(xN^rewK>93P&6&aB5#KevKgw6tnvd&HJYZArVuYFwt)K4KvgI?Qt;my?S=V@sXlt9Mi+bk00ZlTmK z|MaiN?txp%?+DSL3S@c0Qr&u>{^`vxsXUdb7h5ZSPb`9Nk(yr0?1=-&(5!koLNDK0XT1rv zz{}s@!D#KZb;6Yx#W6AN@3DXOG}*sS#hBEym2ba5R5_b};DIBQmg-kyWh>X+|A<`l zvsw^#tFN1%uyE{<=KGLL zm6UVVLq7Nz#3OihTXzRxEZo<8f>}8)B*jb71sy;Je{8kA(6!2R<4p|>yI6L@efS)P zfJSLz%-q}X+43>H{=rhSjGTUT-O~7-js~f&^zU=Rc}5ZLrjgx^w=zzv`02Fb9Mwd{&RYf#kG!F*H&=UajMJMi+9p~M| zag4u3in{-m@FR{#if@e~KIEZc*Ry7?xTN^lTxY}@Hd#F<9Eo(lu0F@6Alkm{#u zTp(@{%eMgdIt;rV7pF#;0stS;godRn-4O2Ac}Jr@FA&ZSbzE{#rLMKXB%?uL}5OxMq{7Q2|ckoTU%18UW6<&Zii2&Fy?fR)UvuB^2;{s{ z8*)Y*e^R>nJT+AJTXOHezZ-7|(6><)^SuC%%p@U2PsHIguFW*`lC3t4Ut%bP%g*=6 z|E8HJHrn#PuyKV++Fy*%kjGs=K`zS>4SIJNyTz7=%!ma)lVmr9HZT`*#lAV@H9Z$T zwL5U0mJzYY%QItn`}88o8afg}_B}(7pvdva=EcHy;e>;l)&sr%kNm%Xf{(}q#;fF> z`=sPF?WuEix@zNlnr=Mo{Pj})b@VIP_?wqNTGTi9mWJ>9=c`G(Qd)PwxnuIba6$w;IbQ0D5L2IY%A&4=r(Rj5M}S(zQ*fGElcSwW=EITnVCUh`R_n3P5aBaVS_?G)*MrU z_!^gUmdM92s)7CBR)uY{kA~+~3j!Bb%%o@~?9JPr>sPZ30k;S~;=g#NGU-Z40?a+A7uXfnB1%c>g0WyG_^ zYTYZq*$m@O{&q7|@5{c-dn*|jlb?Ov+Wc~?>%uZL{k!DHsp;Jpb|0nUCRx1bKN1Pk zPK++Tw7U`Kz?mGxvg>oC3HLEeEPCC+{&Rp{I@AKMk|N>*@COP8&n~$3hG`cS1xi+U zA#W6XnD2(C63)iV&?@B=v6MDwsaxh}E(w~~Y)*Wm{MD^>qy)R!Jyfru4TJAym<+br z$~a)#gZ!8BuO_R0AB7^`>p@bBVh0OEi2WY*ht7oPgT|9(3 z3PLWu#OcWg^>HlJ?^3;#p8fY7vC5M!-Zv*@ZdWDQK-u!7A8N*9^bE{>!+)PLQybPK zs~TO`0i!^dIK~ah=0#db60o5=lu(Hp=g^OgWgrViRHMN62xfnL$4(mAci>SHbwdzP zmsl#3aGv{`eque~&$Ki$OD_<6jTHLLL5svSN@`g!=V({=fgQW#pH z-w<+28dJn6A1Ne2I!b4PEnlm;_;=m(XZkpSA4&cR2F=jA!C?vaN8>5g&91u1XeMAP z@Ug_YZOL=GbB;4_tSS~gB#vTG*f>k0{Xyf@rn2t$hl*^Pajj}k-2z=Tu1x#dRlHQT z+2r~v`Z9k$>-oy{C(Nq4&z;9+`L-f9->EZBkh*(7500XX89PpVkucLvuT!@{MWBJ{ zeh1&U53W*nW|?U7?~+wr;d+Ur&E3+3l7NS(=%e%PYPSgzjH!?I2r{S;!3%ZOL_wCw z-wcpZ%D`fajJ$)9V81(e@y+HME-e(NdbwViu?5=V! z3!k2x!!0>}DNX_bBn6RSx(0A8ksebC)4-UtX7u&G+LVowugs(Nfy)=XhBMn}6x6J^ zm-ph~@K&9z`ks)FUuD1AQQE0?{&&T+_*0@u4rQ~jcCSFTHIoDf^=Z6`ri~<$EKvfL zP!&JPUHvA5xjG07QfAbiN^Hm#vb_jf;zuk!PF25dWb@9~;1E!!S?h%s}^{X_Hm*f-qx0U9+=0 z7el^fyrN)71Yen{LzfGtoF;#`yK@2qGYL*jYn>(u1IfaI#k;`I@v^G;@Zw&! zq)N~zdUpk{j}j2``~D#NW1h4oROB2*KEcMvDig195j4X}^idF$Hy3djj6?Nmup+9H zNNec~_$YLEuTlBhngg>?Nqu*k{NuRY%bbzB_$K4emDIz09FSihlYtS`(%6|=E{L-Q zYR`br#rXS$b|aNI`C}~%U&lHx?-HoqzNQ;S5}WEqLKx6SR)ejM5f#))3U4^KSSfM* z{S!TllB?!OmtM|ND~hx~Uwz4;i$D^PjAGJIG6VEe3CC)Buo8uIw*eAI)Vde&_g|<# z2$x%HjlXy?sygzQT|ymQ-|t`bGM_ITGjF7|*3Af;)5d-nRX#V^p=qM2$%pn(56h1&N2;?w2c~{;%-K3lzKbSm5K*KJcOpYiE@cR)j|)C`5ISk( z_4RGni~GC5Oqdy{5Sq*a?0g%}tPYylBXvf$-*5c`1%)85w8ck%w0Kdhw*^oGt3TPY zON@SThvFe{lxLmkt@i796cBxgjnLNgub>`{|N66)fmNo|MBJVuzTuy$Nk{YC(<8V? zXeAGNTJ%I!a!t@t6YbMBGAE?JuJ6vnzJx)LRmWU4mQzO*!$Zoi^c05Ygi$?Ov#-{p zgxBv6Kvt0C4aw?yz9B3~I0ph0;ZwmwYl7{(Qf7VI5>kuo`$NO)h;kuE!Gi&Y| zvK@KOaYkt^H1z!4`zX`D;TIN)_`Q9Tj{Q9C#wJEiefTUG8|7H0&e7jHlyT+N*%gu-02B=6{)PYn+(!p0@%{CQ$ zy0xma*V{w#J*|9X(`TZsG~W7Sq%)q=H1BtDvCmJyV663!yNXa~C_0^}8ZS=Z8bH|7 z%Nn~MJonYmF%bM^yH+482c2k~x$fN})Ig?WGzI-h$iSv9KhQExP4K~zbhNAn&F{OF zJomnZ`p(O(0BA8JkX)iG+Ie$ZElktl z_vX`dOPV=(Tlfh@ajN>u64Cm+A%RU%)5w)5J_3*5FhSyONH$z2W1YIZ>JrdEyomzV0M;P??a!BlsNZ1g zmehG`OyQSOspp87kIKzsjnoB#VHmy)xZe+Nrx(?ug-+Ho5Ep;YOES^cm~s*UTcrh< zAAdBpY~-YRm*mZj}6V{H0bf|5-zVz z>(J$V0`xd2qn>%w+>K0)w*H7+Dp;XWp|{FzUj|51dOh!eHk;J>Wsl7|Gr|6-O&+A9 zSN}t@a|GH!b%Re05~2hLn?r|%Z$hrVUl8wwqQ{jXWIYx;P5T~bRUaADgD-7CksfaH zq{l4y{IANBxzfx2e58n~_w?kO=V*&#?ziP>-MCwdH#?FE2Z|+H)rEyDflfZxMYJLF z_+^_Zz+o9F`cQ^k?K&B4=A%KK=t~2KJj8-na59ocg-pT}V$%Vd%(~Ve|$mV5wGSX7#(n zL^3;A9}g*QK0saN&zLaBJ2y^_K5^k}uq(prs4BHO&_p4@1Y4gf4aab_A%^;(%TXJ zM*i8~esd0d5Q(5EPMC-p%3-_lv4$7%roP)7Fr$zEN@TJyn1gW?T0CqTury4$GQ+!XX+4j+P!cwpuX}yi}%*v>a zcrXPIi0-vKg)mOH6F$fE>gBX#vKQs+X$@mOAE{4v%j=_5IU+ek1PRS*6!_ z5G$rRk1A(tY*?bx-I=T2ULiVg1FPc|1D{@W_y^bFG^rLSF$O(1%M)H|5>nf$AzC`y z;?}1rcH!3Nmz=tXSL4Xy%+ETss}T<-a#9h|HE1H4;=`v2cl_(bz5ud0T~iHPnID(< zoxCC9RxKWsNq;ji(=CNHp|AoSk{W}cuD@i=%?luc1co`YmQ|<^suFKr6B<2Q$(O=n ze1)s?23$*!??VY1-X=N+9sl#gV6i1S$G>CA!7hxd@c+G4Tu%5guc<|Q1unu!F>Plh zx6)*m)bVDq>aszmJ(b#J(!4!$Gr6OrqtfBG@shLSP+wPGWW}Kek`DKhkW;tZIoGvR zJOCB0%yCTFVbulPgjQt3?9R1Kg$oIr-%rzZ@-hp0=(Z{#stE`aDS+JbYW=gg2uqgT z$U*8(J+}0{OqOp>19xX_i)^-DRKyF{X3rRNrIR>ChnaBe%UXonh!=PZha#A!sKtSr zF9>yFp+0n-80=)r&k)C^M9Z@PgJ_xftoYSIxAzKykm+YU_EW4-8sS~Gi?_oTid#b< zWwVQUx=(#ONiHV&g0I$m?G!77&0o62!iAmH&1MNx#7=>IjZW)ddn96>;A7o5Nam|3 zmZZ(aXErY1J8kW@j<$*9|N0WYAlwkcp0wqSW3z(xnXRm{ea0Hm6dXJ@`ka3b7L6Wp z*K=vQqyF{l22Om}C)5&CgMA~`40ukQu2p5=I7pX>MSGn{Q@#X}E z5>!z<5~KD}wlT-i78x3}zoDfWYObW~J)uhR_^S|1ls5gb4kt3TL#$@S1j8^~n?99+ zO@KsFbquPcPZqC9a8&G+zL(Tch75m`598J^>-wA(&ONQ?Rbs;IK;VDFY%<_e3ys0) zXHCFj(u$^orW8fJ#flL*q(A88rlv_LnU;;>TxmAT>hOCr9quG#E@F}CU-Bsj~djLo$lHxEPqwBy)yLSfV_B#RJDQuVqGuRzcP9 ziEjiwdHQA|4#Myvu&aq+81)@TsQ24F`ccv5vG;HuDnylD*U>lr=T-uvKajU{Dv3q# zP{0zXLRRhmE#c^Sb(p%2AH>i9#SfoTcuu1T9o5@!)D1LO43|VIZm>MHUF&Vr1aYS0 z*2X~_74fG|B@aB^;mf+k(4@P5QF`$4E zf-iyM!S$~zYS`-JRNYPa6F^yc109RZxX1~sS6XJ{1h+6be9KGA;R{JICw^6jw4~sc z;)DNTAZYbS@R<7o;?$NHVVgVQn%g4?G8WYU!t%v&9}d*rv-%fbCs&#bS|;}1s!V{u zZM;2bGk~Jptn%fsb5wb$+(mWP{@##aGls%#!U=93n?`UXo=Po^tY=NO0_Mx`(RtjalVy1O=k?s(2sBL6-N9iUnW}T)u%!OJvr6bLcC1PQQwURG zqJI=0Gc;_-a6>-yPx~_gGA(a?K~F7-Je8eS?;F?47V-6bTv{um4b3hBJ|zDJbDfj5 z35;hYSg((AQewdYiTmSzVd{%7g4o;vl4BHZL#a?v?dCHEqr@X4 za-vh)(?^o{{r4jJVe!Qnm9<;~1DVWtgAPPD^cd_p6poicUt_ZQKXAzHaqUIzaYWL*22Qo95Woj$P zoi9IK6$fd&Mm`{R;byKqvbZ#EMd!jRBfX0kL3kRGgSoGN4gK^tZ`><7mse7*5(>uHF8&*=A}gU5iS#{rN1zqHZo?n{*% z`6|a7p?mbs|FL#_80IDI1flYzXYLPxHkB!l@u~v8r5S2|kFNg#`B&P?r{nV2|G%n4 zkoNX&h8bV7;FN8eu}0X@wx@z%_;3lqanR0;H;(nnWXFJ-)ix+E6G!OCsMq*ptc492nB3ML@j*56%3qhgre&$c^SdGDEwwmA=;1QBw=KMocKmG#< zJ@s#}lR1oW{`2XlGhxpJo2VNDKltT!u2x0r@BN7(bKEbOG7yYx&B_h*!K5HUS)zB( z{@UA5`yYx&$osHF(TWrImC51tF)p)CCcUVd^mS?fH$cv;`m}PWj^zL}#&W8*{O-5i zF{>xay^!0Sv{Q9__YaC+nDK4*?FkwA-Cg}F`rz-9h6%Y>%t~bD<5Yd*P4>o!M>y^c zj~rE>L*yWROZgLKYmX{1J0BkVvvPavE_#f7kS9jeCm&at66!>HqJ^wyUq~c2Uk_J` z(mUH@k+(#NzztmxGTjnH1|Qf&Ya}$=o^pD2+Fu&dAV&d>b`-syyhePs1(sWvt3$()afB_xt|we?PKjf6zPvI<@n> z2x!s7D?-vDuO32zv#eSB<^`zf1D4^`EBlpOg9)}*{7r`T?%7IRHkh9y@z}%z z=QGpsja4?D@ow#xi00V@vsg;BZs!%GuvpAamw|l*g`|0h zh?@&xSQRLZoUNT~3|vTPyw&&$dhNenKxGPK!lgTP;@fKlJ*od}jjM7l`a|i&=0n*f z*;lCYOJe%OD(!~Am&Ft0M~R0S*q4bj2T{4Q5Kd$|j8uvc+`BvQg$WrT^8lb%67Sbu zFpQZq{Pr#G&jMh{Q#bZjm9)RZ&jaP|1TYseOKnEq9JB+mH>cGvU8P&e%mD#vtJ~iW zKr`qAHG3F)g*=`1Zf9OeKgl#!T&mh7V2pS+L9q#FgR~7;p*-PFR=hP5t&BzPhf;bK z{VUGr=&yppe*8cRpYo<>C?^f4P1^_K^a3gp{*e+sefp9NY(lPqkcX5E zwysYh?BJJo@$D79+!7NfBRF=2^u;|4j|&sdY$tu*(mdQ#VBH4cRD-ANiZ#TkGfz34 zv`hjk9OJ$@csk7jk`NH`F}5GG&Uv68Z0$+QbT0y#y|UhNo=%5x4P?U*Wa04uUL(`v z9yz*56V*I^>)xpOb5H##_6W>o7iQw=zB95pJv87^no~GPqFu~)(nsrX{Xf@>>(e-S zPwOsymY(ixTz`3*cE6ZAi@ue*|HHZ$v^rmQ%lgW~+^*xc#@Dzwb#n9zR1R?{sYG9~ zpZn9_v8<84DHZCXakjldL}<$zrt|M>iv1ZBk-iV;01Q1c&^5%m;tXk$;JBq1%lvd& zb$V4-Q^h4f?^vBvXFyUckWp-$fS&YYC2JznhQP;KYDw)@nw>!bbr9<8!r zXD4LlmZ8x8`UULE9n_tlXHQew=5Klk!{Pv!vFVC_mh4F!fKoQuGV*JGP-UchS8KsA zpLkUBReXf;KqpII;=K*(Gh*slH3r+dqP(>HqQ61RM^K^W{11_DV+n@tPq8cMF@3G% zux&lCw$OwKdMpt^F3D`8O_%A+`9P1cnh^*Y71KQcjgT{s$bc|9n4OZOkte8dSV%jA zTbfUj#m+IJ;O6(UfQR5@*}rF7-Zy=btH|N+>ZXpnL!B*!k$SILo{rte^G>zM;2V)X zMMVwHdraGXHE7RFb^JE{kF-2R`sJ)?MTx2DU2Ad^JW$lGP2*>t@4aLgCv$ZRTvY^-lP z^M@IFrz8=@CBz>x7)MajY3c0S~5(AU7ap2S;ol40ci7CKDxM=0HF29!>F%{o%uH{+j*>!Ko*}A7| zw8YfJ9|b^>Y+Krs*q<)V0dJ2>0Y)@l<2w}YF7SV(aBbX~X7a0; zR18NE)Cas;j8QFZkT_A_YzdKj>=Be zvE{!e2K{-wTq^3q2Aj(7H(=qB!){@2Fr-|<)kvN%n)Kxgil>^uagwsU&y5S&0pxM*1> z_zza7k9Ak;`>Q%R@m~`)oExDJ={$N{87`C?p_m!u5d+c%mA7F)YXv&~b`>i#&+p&N zcr9hUGbHeZp(dWGGm_Yj-pE|7p^~-`y6;CJHi~#G*AJUvpqtszf2<1e(UN{ovY2%5 zelc=czRB%Up?1$^Q(x|>`x6A>6B$7@${p*hQ#wVSGWj|I$+^~qMTnxKU z^hRI=yj>9I?mWNp6Y6~vvu%%uPEgIcMbHfZ|G=y9a(!69CzqTp3V|4j334)1!6`J; zBKqFh%{TlXUHNl+Bkg##^)pE+{#w zbb`U6(*aa=vOIv02@DZP6szfCUGdK^#8rliPBNQ~w7X4CKieX1L)A;@L3iQ~eH9 zYWqM7fgm8IWsuDv#;)K%PXP3VDH1M>8lS>>93hJvsAFkixurf)>quDtGG!-=;0-hg z8R}@ynRGwApqiB8*HQ-oJYyA*x5^dCdUC!`^ZJo`7EBE!muZos zNuZA`R@=3OeP@4ZPxYyXCT2^P9!IIS?IYiBG3mtFjF^Xd>GsEa5uT&7dyaos`GT~F zsh39@!SSr|cUkJ|%$MyJ|6 z^i%=ko0hX=SYzgBybiI*>yy>%q7PSfpM>wO)%7H2JyA&dW;Lmu)9008G-T6Hcq)HQ zJEE^z%T_dbnx@ux?)6@lbho6E&4~5TA}ITVo$t;7mfk~fNVM$ZMg`lA7~a9z!r}0` zYbaxMQ)Z_MHyf9ey3{{aY-h`cIDHNN_5k9_S0)&zr4g@3=|T=AvL_cOZQ;x6PlbeH+mv zo=2I-PxHqh-%~umS_^%gw9n9%*E3Mz-1oOI0B3&JE13P$z$+I>1r-^+SF2m1DaJ=E z|KfrHE6;pmazK7Q;^y;P;=QG~ z0aRP!DNHefkV0WG)s?syq|04|*d|Tzy{d!**$|#^)jP06C|6><44Aj{jbaafFe;-p zK{t=2y~-0LImi&l*$9#;#o$x^2PD2A?oirfBfj`0HBu=SXS=tID}r3Li#K`Jm3~h| zy0bDAWr@F(;g0=i^a~_d@BHuWfrpAO@1pA%Zf{JKzmI9&Z&{{b0N- z$btd8bCMWnRxt#SppRa^!zYNUlo!A`KBO34xpx8bDt^t&j492a>*RhJiwfB!68f5@ zrc=No5Rh*AqMgf-6`%O>WlN&A#2RP_ooL;kExN@+u+k##3~W!-kH;8<(qAY$qKG@< zty`on2AS*>0^~{!YO@7ASvvg`utFkE>qHFs;4Oz4qcj^dml6N1OP^zBPk?X2@zCzQ zY5Ujl9S25F))dd+th&ED4u1Jdz?>M_U3f#%W^zsg)SN4SH7A1pxq3FcR_a zPK3RxI;AAyQtDp%`L|nr8PGbBE#n@Ix)qB24u}S!Zh??xurME7Cs>5ovMqyi!mo>X zsN-ipbVah&PXe#mDl7KQf_;Cg(ScfwMLSO9p6K(lYTN_risbTlgs4Ksq@Q8|(~(z9 zfoVnK4fmxouAjLp)gTn%Jfcd?dBX=#7rcDlYjChdhXfnxa{ibIJz!I?@urHN zqnphws?Y+X1nui29>PB?+_1c_ajWW|mx{-5_^HJy9fDDb=4<-kb9HcDWN=5Hb)CVDU+)DSf3l$G2jL!K=;V&j5YpDuHKqd|6 zjV~V7?@s%{gx*l~fxuJ%o<0SgCR6oT z7zEDtUWFSSS&A~iK;T}$g)3 z6x4?oiq)(t`EE5X!w#d@dH%tK!1_@xXPqU2t6M&Fw~M6r8JDth3cuzxmSGk zJ^k=46?}aYb|9;W8(AQt+-Kwgih=DJ8zg@W8_%1wGk+R5BY~K*EgZE)THZ@}d{2ksAO@LN?lz!dGS*NyRZ?O21!Md? zvt2;H-)_FIpirVzkVrh;=krq{j4P``c)8g00sUcG?*J!A<};!B_8NvVaE=_Kj@oI` zyfSX65d>PJcvN;eptX#gSp(W|vt?hAW_us$I%e%edMx%x?{F7B(TBJl<0XeZw`ZYcK~3UHmkp~ z9a2v3N&YJPnTjB_*ECsw_K+U8Dngtyuh_X7$R(xjF&_Ht0vK1(Y)QxxL;Lt7`xx|u zRlNA?sZJc}DV`O+FH9%^QZ0CE|9FXmuB4{2i0N@nd}r*EM+W(ZjHlmT-={E!Upr$ zJ;GMVCd+!CQy#=~^3-WUEJW8c*ar#Nda)!q+%Xwp%;y!4NCP^?znhwL`KaVZT}*TO zP~D8*t)zkZZJVgYr{y(M%*x9vG`e+YQxq_W0mN(@)6vxe`paYIu%zNQsxf^_)~GjP znaSxk=wn}6kpmZSqcEAbb{1JEv7ZhKR#J}Kgbb?p>7ElECAJh{152vN%vPjLU%>{N zJ2E4G{-CR&XXjTQt1y5$qdJ&TW*M^fr&tIdTwWy-4M>~>e-<{u)PskXKa8lJg6AN3U2=&TLx_*0GSkOss7KYR>1Ao(} ztR>QF13(SyvhqlHP(-^$5YA$1UFy!sx>b+^_6|Q29DSBzK%bfJ*m1xT2Y7|byh?cM zK>R|Lwky}R+3yE?8YQ$Gf!6|04v&kLXuP6!URHl{T*X(yLhtk~hyGg)m8110%dyDw zCfks4N;*4sys4dGnwK58?+Bf({JouvwGuPHWm= zfDrl4GhEoT0wQw^QEBGIZT2z`aAnlSD(&frPCqSjWGjG7uiYM)#AI*caIQY3g<;0p9D*0UH41){+@c-Nb!Utrv4EgT;<@!VX zUa^V(0WZl+oDxv-FQE{rmn|EPSBT8&Q~>Z?CcXBd#Yqf;9L&8XD4$^lqYXP`8W`c6 zA2~qn5)W9bL%dy_Joq6a)!8Bh#S7RPX^D2%3cO5wtSS8uPN=EZj0s80i!lm|x3o8j zMU^XfbWV=M-=;57?E9_;Sm8V)5D7ohlY-HHhf({_SxVcKBEE zWVzve&66yLy=9_!=1FDSTb7$@5tmfd3l|EG0BL)@az*!sj?G6^5Nv`7mu;pKS4Evok_RZR!WU;(hzo#BB3OmcJ3CMR?x6^)OScJRpf3Wa zFRphwg`RI^Ix*fH7ujZ$TOfVpGtb|zvK{rQH*&K!#ma@-)9o34Y|nnLrNK-A2tu0~E42-k zTAJ?u_7@dZI`}HSAW{}qkM|DpF^{d#|DI8(`7l5Z)Az%7S-n*{&I`j%l zYR5qmm`~tywB>u_b&7Zchjh^d)Zr=?&N^|b-S}SYC+e}L>-I=Tc|0Kt%t_odl%O|@ zr1Qk{S1syqA4c>(({idw_(t-?ZblPCHNr4%d^B;YF;uVw`6qM@Yr&jun0MJ6+*0ih zPZCjUARR1aYA1C(hCQAp*)O^(FW(|9KShdj3qVt`RD^>g%JuP;Idh`X+`SX8D zya2+WeiY~hAgyHxMZgFk>>SAk;XW(@Kyz4+ag$-hk|?G~-s1sVh+=4X2w2IL7w=Og z|2nx`hDoxi;YW6^20<*yQx3LvPQ#S8?=KvNYVG*=TL+3}V?zT&o_0jG5e&6zfqwRb zuP)IfHt{Rd7m~jZ{5s^5Wz`maVm5NP4_@WPSf}_M#41W_Z)()uHEXLPTGXmd-~8Tl z{-5GFKKO9ud7k^aufYI~49y{QO_37FTm0EB#TdGpW%+DW`-Z8!1*N|q8hG>wf1N)8 z!T1eDa^*n)Jxjvq;96kJh@zLr|2Z33h9|%jJ7(HG+2-FJG7v|0b)qFs+&A z-<{IaWzgFb#LIg9x^7}LO4EaQh=KQO#-A~v9b1YLf%MKM#`8b)!|(HlZFKdq75mu7 zw0XV7P%tUw+-K26CM;r=f@2|-Vk-nd!>~&G)G8yqzJZepNu0hM4I%XP&3q@*3~zNC z)`^!)z4JX?LWv0E^7O{S{4P!vJL`8&Zerin3|5uhEB#&KM$w-#-M!W2{&FmW$JylV zZC5+TKifF#Ix2i&_5~lCD?Nw1SFoV<84c+BL>;x(;C-4@bL=ys^mKzRW9CoR`e7%5 z<1NlSs}A!5n?~uZ5CvFe-)olpsRGrr_VdFMX^H}^Jl`|X3I>@esANYOs0IE1m1*o= z7Em|XkgwvbaB^YN>POD9dO>b+CGD*1uyJEn?7S-Z&>z-1m14NFhbi0{Tf-Dk%+x_B z0OMEUF%i{g;uB(2SntUvVC-SEe8d(yCjl4!!4>L;`}u@som8k)8qO-s%G*HxgDlv_ zvzqc3vFX;Y*V<2COOgk+0zdrWkG9leQ~~w{W+wA>tc$GHF@i{fWP~0QpvEj22 zG>!%0jUr{jo>OkzZg|DmPh4Sl{(1jhA4nwNU9GtGvL3~l6M}3XRjB%+{&s_FLdI%< z6(aWXWZFE&JAdEi>=J-*_&l8VL&@NHNky5XS*4wuck-L6W;i2djfBm1P!)@)t}cQA zY>E%f7*(ibvc>I&Mik@w-M@Z$m#-)>LcBM-v;AJU`TOfrW zDW?SP?hR`Q3#>1=rN=p}+FPy#?62B~7OzHr>KCWs8B9BpfxFp0Y+Z2@1GYw|qpTV? z@6gYLola5G;KopqS_AUck_n;bDZENnDX4^IK_@da?k!6bqLeY(Km()3eUD5QFb@vY zNEmwds>-@zQ~)v|O5nt$%m->{$o)9a&574g<0eV5+yBQ|sN$_vI8C-IIJlI!RBK*X z%$Zv^auKd>(8aI7>Gn0N5(_alrqgYsf(75EjjHzbtI<=>*t}r{-o8sui`pd-#>VAR za1}1lffYj4XnOzB33&~=T$r`xG%JWzD3|)`0DEi+yde2URqk(|Ghb`hHTqr$l%Kh- zw6*=<*~D;W6A0VuNTOCNUQUm;ndi`)j<9qjPDH;pwC=PB2CBgX@=sU(2A#Q0!XTF1Cn0U>4R6IF#tF1%Q=85D7GWh0*-(Bd&% z-2D5R-s@7-8IYp*2jj&BiBEqR7!L%j9}EN2p+APgz&s!z@~{Z>P+5sXYfr3+8J3s+ zS8%PA%FTSmHt~g-1~Cd)G{b*F_$R&>M%!oIJkEUmk*cshSCl2E`>Wunz-OQRJ( z;EzMQUgYk$P;BxAN1Cr>^b^$rqv8H9epHL=|C0GOjbQyGO{!6JQ9c8SKiTFshC}w9 z*9IeFr4+_nuUMhMtV5n!U%$HJ14oVHK93s}hkTLcMz?1HeKmB3D7}B%{E=16(GAWp zEreI3P6BpM@uO%B2>Y!?PM!rVF~BE~Rmahb9`S7w>u_*>PIT)R?qLq+{6y+}Nh6QwG2VDh6!V+LSH3Gl+moA2 z3D}lQt#)sR-g-m++dSa7&sM#lT^U-h{KtGs*{tju)dI6>np`Q7pcC9)#>}De7E{BZ zM`9`BfIn{Q=}v|@TN#al!~jY@+0|lm_Pg?&2^zHDQ+I#%vhWZ#)bIux{AB&1!F4~y zfUtQ@k(dds1WtEW<`O0Ad?YaYWTO9@(NJjoKdJ$0%o9^gq6|}GR)n`oG(poUCKkaNM%5ET-Qq=P7$`fefV9*G}mcTk~n5=!1* zk!3eBbvFK1^fJz|oiE%^FPtR0?(Lq^T1{9(-GW*H>D*VnHN{xr{(lcO<$ql5*Prw| zi2tM4H4Wdcx)Y3Lf$+Sr8M$Y>c$TPm)kck~_}Xi8L$5LNJ(eOstFEBbWm4EB!={Cs zntf`P2pv$c!Tt;pk>%<6YzR?%3e>uz<)X;fO+!Nm^v1v;zm$6zv}+O#8~vvE@{_E} z@a*59o|i+hYsfQm=3M(46Ph_nT3k2{o(*-gGJZq_Jt7>Spy+%@3m?x$`^^>Fcn--T zw!55Fc2IxgfE)GqbT{Lxe_Gs6$Nu8xvDe34LGq1pt-1345e)H+isxFv#J#irgRjP$ zdT{=-R(+g}X4IX1n}6t$JI2xV`2Gj>Ri+na7nefAh*ee6;2Ry^enY*;E~Q4$F0MQG zOI%~(fbF&;Ag%&2TzNsQ7&b+MA4^fk#h2Zt-kz(Xox_kOH9s~H&L7UkL&sraA~-UF zP&Of*aB;ELDWlIW{tiVmVe`c(h#@Z0RlqcTT>QZ1*~IXKwy5z*G2M#@9}3t@n=$5VO#ctW zel4%=XNR=fQFk@&uba>8ioUNjqLi)lqD4j6Bn}=yD0_RwBGc|CH+7H+k)LekueSlr zRw#jKN*}{Ym%Nt`SW#tSD_Ds5Rm6`U?s_WqPHoSkA!*d2+NAQ-Z*QfQ7MS`FXU~@% z_vAfaa3@q=SoP3%|JW-IMzLL71}J}lsygGYDvFFyzQL}Yl^7v-6Tv&nDIdLoN%V=V(W?o z+j#td@|t{#YX03^=fCQ8_+5s+Dma?i{g2M!x)^Y`UD5lhf!*@{SK?C2)05kJDq1V0 zlBzhP&^Jl1hg;yBALv7yn-3>@pEAQ0stEl5_B(o6ng3)d&@SY$m&5H%`qK4 za7LZD(Mp!^Nere6dt5CjEhAtbZ%zNSXuDEH23T@rsk7$c@G$FbK=j>FvbOtho;AML z$*qWbjtlo~c^TdRci|=|*2E^lhB=Gg&pwvatc*;|S>yEp+AaDCce0qtmf*qKC4p9P zX)`u5)s{;ZEd&*d@u~+DS}ZIK^`wBed6;(=gMg2d;FZso$4iE zxIe?n*DIUyGbsJD3EvUi=8Z6v#a}wNp*IVa3e6&Le`HYklWi_^Y?)h<9!~}fPFWgd z;g_#_h%($aA4z(jw1zb+Dg!UylTVr=-(XvyPgeXqg-aBjbL4-bN(SpF%kV4|4b*OG zx-fJPb>JG!*i(U${SJs6CW$)#>2X4I9Gg1A4~#pE-irMMB>od|ax!&7@(ZIVRSW$n zh}fz;jxAiJ<1spbiVWZz?y`DSt}yzGQ94W7$9K@O&KuEe>9iB~e4HB`w_-RwuBY3O zz3k2Bw41$t3P}2sUH6bJJ>}VZa;T>v>lgb*6XnYR)|1X@p_m6w$x;H;o=>kuQ$;5dgvb(%Zwk|G!vXC= zMZ*grh#uS-TS3t%4`}m??yWRoBCUi{I_y_`!|xOQ!~cV+=ao`u@Ju)9XH_iE1EA;A zux4KI)8nht>))!3`PZ6c`NgbVn+Cx8I14|-i+uUzi-%bg=aAWxgUc<|1Iq5D6O*;1 z=#O!0u(=F*8aQS|88MfzP(-f%^KBJ(T?#N6wK6bShbx5}Gk(HA@#q`3xZTeqJs1D1 zUP&vR7*H(EOvP{s8R~^m>j(&~F%TY66PQkL(IJN8gYYA&g$Vqi2Jw36he6sIvu`3$ zK`(M6L#XUu*5OlJ1q+v$hNmm07iMQ-L7Z%GyA_ZhF|hxI<&GSvkJ4Qy7?*Qn%1slq zrR0$<>@G#@jTx34DZ&TJ4Sfc^pBSS2XUDG?Ecf<;)vz;I!1J9j^yn)2MV)MY=CQx4s6S_Xa3ipd;qGdno0L7MiAqu~=K>w)It z#zPGQcT}-so%Ags_>eWGm_6urd}d%8i?(NP=0q$qx|OR#OIUf@yF-v}i7@?MnnkjK zFruV`71lrp|KO*%Jbw(#|3>sq*8+W%qH8+~z+?+V_2;+NtK#nTHGX}~gvhqHz68gX z`LSl%7TynC44(>{zYfk(O1|x9w@pYM<~D3c{8zS z)R3^vE~z@orM~q++^ct6>Xl1ELvaTCJUYW%6}C56;@R)E%v(UT#K)E6Tb-y1Gqvbh z4~naxd7X8#lwj=l0GlQgw`Z-h=j1ptj_}U^0j}eu@umoVXGtF$KOYX8F3YqRrYtXh zV)HVK@l53Jw&WbW)Y)YvEm*I1J*IHkeE$xfCvNoy!r^6pFl|t z<=&UGi9@5Sly<**{-QgyFOSQEiSUquO!lgQRHw^d$JM%S{G0B90!1WJJ1h8f?`t!+ z)pBXZM83L`n@*an{`EeZSkex+x;@FB)~=6BacOn_R$JO2DOD4^D>#XludJ-rs9^em z(zl8-s~lpQ-K2~kDoREE+%1WWKGWK`97g<=R@@FkBxc*0@ky1M0;2e(7#I{aIK#sg z8T#x=A{)5Lpq+o4rBWfHm>$7>uHfKc{P5YjQi`rD3ua+^LJFn!s-u)$z!Pf8;JvvK zBxi1W&9e$tT(t=rp0)!YLcm}5!dU=v`ccK*toaLXDzFslbM#78^A6%R9hJcbx^JJ4 zX~U`rnwo~**3{gT8XGNMPmHO+wx2xE`qD@NaP2Unj!hCo^=DZo`NG(hx#QKpFBNPE z&dBO*4wOV1U@9IA-Y!lG*P^G4CY9aj-1HAQk!j|oqY9bRtd)}G#Rr+;~{E}5Raz92-tjTwg z+fRGQ?<1u8<+^z8Sv#3w)pT(Du(?iF+YVfo3V+r4c@JO;3Q>GA6|0F#nqN1S^qC0TsF_sPoc z3(>fGe1T%FG{w~96Inw0di+8r1M~d0kO_hh2P;bNxSoHzHf?@G_cA|`Ftn$>Q!DW1 zzDaY>&NX3ZU8=$Uary%|;O|MWI1@xZr#H)WiS=YPQjn*(#W@PB2?cXQ)ud%;KscGO zD5O)SF&;#)EQ?EI-V3VNIp0v0*er`5B1$3(x8;Y4jno;sU;!yybi6~d7v!4M z%sf+!cv_VP+qe1#KoQ}7apC+k*)RIVzJMw3M2b~8(@?(#^8C&5ho%*;s^(@#GWss(RSsl^bOULTi^-AN zf1>~LafxAD6#G3gylR#&ft^V&e4spLxKvJk0 zJAp~RlSKXRt8wGdJAh+Bt&(KaFP_U@r$5gV(JQRYqjRu+1GzL$nofrkc)&KVpa^ zZF-ove(!Z@-^Q0moU+@v-RXX0wP{&Inj)d~=fn|FXXGB?$q+Tz)L{~Iq81cM@`(p+l;1Fz($@HH4;1LV?YCzjrU&g@RgetSIWochwp1Ej6yrn@+@wes1X<0ut!h$uass&K%4A=u zYtXBnrh(MXu)dUyE_1LBG{tQaX+&zThC92{i%ezUSL@_Zd|Of*p*Rccw!K2(?U1_! zB)5o8z~o0Ln5z`HT@t>z%?Ps+4zzj<6z}rP*r~7u;imM5d69sCoMO%?J$)^xUC$`S z9%1KeAo#s~JpYd7OlTAHt!Y4H>F<4NnRe_UyjMnHsqc&RaeyjUy%*nQ1bwwgzD^v4 z=a{V5`Is=x8`Aw4{`e~J^do1UB>-!Z5VJ<{JU{UMAz$LLZ9f@Lg8pO&U3JxI8y8Ha zae5X&CqN#;Eu& zolTt|*X=Z`vLqF)uhW3vEN_boUtNfV_+yCH2-#!)O)+(KHsBBk{Ow6aW`GvUo;d{z z%)qLhs^`u~1RUh4-dodOyZp+UB3?hHgjdrlhupLQru-}#bF9Iyo^v5JTuY!ozAsgN z#2N+{d_JV0<{~%&!WCs=6QgzpbYmzY`Kn3y@PW-CTq=G0h)-N|TP>orI}$a4Z!gX+ z@B;tDatM#s-50l_0V#IkNV)MKo;->7Iy7|}@AF%p3B2#7V&p%M7M)xdE18}Lc+oU!zmIV8<}!1TaC=Z$+O!`?`?_U#YQ2BPb>f=Ka21+eq7SWmVrb102iDtiGPa-D6!9dH;IOl=vTNKn3NZ?tYo1&Iiq@Gp;@y^ZJHmSfm6To*0XK?I{SDh>Uz zPwrfl7^hXO|5{!jSz&)BIt3v_2*qt(ABZ8x3n~Y)3>i){?`H@yzYAwLQkO_7QsI~c zo#faNAL-a=jX+_T$gz-_FfKR_(Eoubhh;vm1`mDtvjn94x+XVP?R5xcGpC#mTk42v z3!VN#<5@6sk+)W2hiG;QkzKwQj`$CxGZZAB+joY~<8QWRg?%%eXju~`@nXa%j+=Xr z5`G_JPFj8Yz4u}HtLh@9W}ClX(Ah(J87^J!GZnW4%UzGzVtq8&!pZXopRJV4)AEXy z4`cmL3!u+WtVGQ53A`|%V_F7!M)9p{rUPMGwwtO;k=;;oBvhjQ|In)8Gev^n5p}d; zFqy$JBhs;@8pBo{G~yyrIE5B`m0|iGvKqOHew>8ka|OM!ql7c8L6lN>xFU9-NT_>) z_mwr`Vx^mUvLYV&kqo9jZ9WY5)Ao*rhQ58HMUY$BNk&FdRJq<8 z51TlFuW2SFwdGR`Ht zp7Jsl;@3(k=ZL7Uo^8%HGAJ*b9Up2QxJ_2U_=I@%@M+7K$MRSvN=SyjTT#_UhpkG1 zN|p}PU`MQ*NBHWhMSkfSeFVc0wOwjHN0&--WWp+y7vnl{=^H8A5NoPygq~TGG)qY^ zv$!`ni=Qq&i7wi9DcMGCRRm;m7tJi;5AKnvjQJqQI2=#)b|SX2Gv zavJ>f<|SKb_b#F+v~CC5<(#YFkOI$>uLPHm9kZ zX%{s{ub$yRbN<98nV*F+x9$m2H-jCGhcx|+VswZfJwl}nS5eajtN}HU*I7!*C}!lr z+V&FX6phF#!ZB;zlN6xVN+{X>;>}+u$M`+5)x+5lnlXh(ReEEBVfiqzADQCOw!Or2 z+!nk@`Xbq6=R$$zSHh%Dnj>POw&N$IdkqhbqG}-Ff!KNavpv>ZumJb4#b*KSj(`aF zbX^?gc4ZlobF|Ljn%v2~tfLJ2GyF0>OVIw8j{hs;S_~w(5qb^^pUFDnMhjz}(GYIw z&t6h*knMh)|H(n)Ej!XO3Tss{Yf@Y2*SXPRei6CwR6@yy{)SQ zFfqmT3pgH{Nithr@0BH_EEzt0f+8auVj**XY0`oMJJ8vg2dW#a5F6?tT;wY&{*G>a zP{FB=Dr)BIscY$@GU{3}HSw(+twH>#yE7+{^UX#7BGw`9l`v0}n3(G4vK#8WcSN-p z8Ysuzekdo?-iWd_O5kuDLZto<3)`EOr)CLGI~%{$biJsveky^NR*J zZDqTkIq_fZ{a!6~9h8RFCVf^Qgbi1z%|>3bN+I|HzfM70PA`%kt<*V?Tm;C-#MqR* zz`MTl>mQjt+LF3dPrTp&zl!!WmOyC!i7Sg5sCUl?wVMcMP~~n}M+v!nOq|hi4`Vfy zLdV5ZYrgF$In@pjm1V$xS_JIMA6@mD96xz9VS5Y_q$Tl`-s$s~z7JfW4d6H3YDK$Y zLXU9ocf(b1`)8d)Xk&+3n{MoJD2rAwkKPMk(|>Y^H=ZE-wo81~Kr(2})v=GMitjmlqmnea zh@Y4La2P|U&{I}IDL12>Vfr$os6j7?PgKdvA#JohA>Z-ws9Nmri{Ir_x*gN139T;& zX~WUg)foq(#qN^mIQQxIxhNW8N^BMxA?W*jduQ=w>E67mK9BUtS%(rXY?~Ne+&adO zm~a0j1A(XreDW_5`7fjsFOI|T!wbG|%v}G(TyCAFRCVF}u{Ju}c2djAU(nK5t}kpZ z^)gv~lX`nwOn=KWVDX1r&@cR_bR=B`V-!H6lGD#G11}S(LOXZj@s^HgfPXC0w)-5& zMIVoNg(edFJLMi`uA^6~dFmhfjhr2_ZND*xM#0el?LXDs&766zIZ&)=W?kpQ9?i~) z4CpuaODRZVK6mU79n}atzNO{LCbrw0qZ>1UR{%W;IcSNWwj(Pjz~90*{>r_HK_uV_ z?UvO!@;Q-riF4TW?@4M*nuco*`=l1^M*NV8#2G-JQnb4!dv03Bc~uD(okZ5uHhm&d zENHUwIaJgzOy?8u?-Sq~2y`CJBD69$b!j5WtqH$Rc-LvYk6T{|l`j>cwbIK8EfZua zyWeuzI^ym6XZQ5c_D=cbY>PCbxnKGO+6R{I8sBAso5AE(0ouOtB+EZJ4kq9Jt8d=& zfL6*b^W_Czp-^SPn=|6M71umt-}`Qsev@i3-$sy0W@HGV5+U+x+==o(S;C%~51?U0240P#Ny3WM^^G8vPDJ z{4&|u?oV$##`4fqVRo&{Gqg;AdqxFQL2SXu(wxGF+UL5tlq}rI5ef5Ee)CLOP*hYU z1@)c!x%!+)12Q|4uyifN7y{`_ZkfzDg$=Tq%5n1UWNmO8D|}vzQ+UI>wUwLVQBKNzD32${McYq>;Z)o-gtHhw*ygeMm4zXg4{c=u_~I4MWwn zcKgWHeLnBI8m`bU9=KgT*oDEx2M0h=xpOSb7(%LD z$-d+2_S7i0=KU;eO$O}n61Q@MZNHL;yTJj5d}7lc z18)_gHAsJ5dxL+~Emrd5AyXvLk#k5fjSoo??mztAOUf|@{z6V za@tYbIC`+dSbV-0`Ip+v3a2r|Bf9u<2Nn?nKuq;dB)24xd; zVqb@J7X!cvR?>Mg#8>>IP$1mmZ2H!^e z5B9S^=vunP-AVMHJ`TdWLWLPp{-g|iZZ$uh6GPwGqXYrd`8(Sb`l4U_FdtcV67ceh zk})lD)zRZ!;Hj7JW83d!D-WryM=`qlz(E2uIrU?KReCFlGp|U`b)MX_NCUpZW7^Y= z<$on%izbv@iLK)?-~Q9wu8VEvC zzceyEpS#d4M9a153>?jnq65@X2OY5K#VBo-NpwGK6OX|VgoTF`f#eVbFIX2ddnVi- zaLL13RM}s{8Q!X+VuE{F*|EOJLMc!Yj(gM$grd=B66}-e;a?(7Z?km+gO-wZ@t7?A zhr4~J+Je^d)|uR3LaGO$cJ`i2b~k;|XWoGqcCV8C$}SFe{#}x6uY;lvc0Mh=EehOk zv&~QZDn$FXnfNkux6ZacjsTZ959tjy>Q%-lX3aJJX*kxS=`Ku)&O$My;G80@0;XnY zm;F9NV=R39~^azU$zt|HFdFlK$D~6=h*EARH zw5KjF{`{E=-EO@i%G#uwQhCVu;JH|f?jtfS6VX1y?k3CM zT(^+AR~`kJ1P5P~v{VY<*<{CYphTyrX-oYCzjYGcE24ZtBmhwXc6W;1AwB)DB4S|C zr|^Q+X0N?A^2b|NT4#<{8{Wcy!uVe{y$7b}e{{JebyC@1->@`G78oa_hb`XwiJq{a zjlp|UvjK5|e`5p~*Ux(eBp6QTNLsE>xdW1W0-cGv{wkdp9S06KAjoH~CHOWill8xR z%WH-wev&P2vWTA2tQT{=`zGZ4TO9Stl*k>6Ssx)ZlgJ95Ld@m8j=ia%4ra7UkNKqx z%8^ zbj+NSf4or{S*wU?(u~|Jk`|^Ac&yA({+v%l#P#pbzk}=(ZKi*8t)pz4QlBWU6xTc3 zKE{x~HOwJNnPCF<(#=lT><3z-tRz#+o!iYH?3Q(hpSYNCa>0{ z%2gwvwa-htk$|UY{Q^K)Y=i=dRa5PlYqVO5b#0I&@{I;5Dy(qMXIiR)o4aMI7ulpz zi+g+%CCHhLYAN6qSoTEAPLtKG`DTgJyJnM3OG*LRux2HTD)wJvrX`>V;$Kiyu?o@3 zj<1=t5q(7Uug?@f?nx|m2lvQVE)W~(W~f1v$`^ZfxDMvm&!{`1q}f?J0Pbv5fT>GC z0bc1EmSbLh=}!0aT)1+ZZrhMR47fqo|ojobRG5z1KtHV1p*AaUO>fV26rBHj2hTNd9_2jV* z(5{gwtsBOtpvWe_mO!(B1zHq;PKqp~GNmX|wqC@h+n$5|#h{IfqU9 zw$-VNpD4^M-B34Stket=%L`WRN%6r$rYo%Se zX?$hnN&q~w#o2+#H$L7QUw8yDzsS0^#hh54>wrsRe`$?EJG`<`Xq(_AN$-oDAs+LR z{!3~!35$U=Wv^VLeK5C#(=}0meXbt}fz?eatGYs9(^EY>xB^8eS7raJ2wHoG{)CL} zY?UEYXCPOT&w13PGp5FQg0;SJ|Hj%3`YYR%rd2L8wuh(=R{du)p2!VsXZbmWo?!*Z zzuBhJ7;kujE{5-5 zdXVlN|AL*x`#XjePxJId{HXfW zJM+VD9~vS{6DXhrqovxJ+_8Szj{ea&YX&{1=j@zX5N;*m^~#SlBK{PmFTBM+mNmoM z>B4IHn7yGkA>*4|Yf@TboYMCQ0&R3KNPS$Amr%yAF$V=r7T}L7&w82D#8fqZcbm-n zq1O#T5IBs4b6T|2!tzMTfUS=~n1r7e>~3G0b`{|Ni*V1WW5=(BdHbTtOGL*72V!mV@H-DHBmO3!ZmW~kS&HkF0f zj+t2>j8)M;nd|Ho9m|^pBi~0xk+q(-M+uCh1OIdV&=XeaPDpUKY>Yg$048%0={NCQ z+(7yogfb?d(I@NPV)FtjoFC6f$#Q_Na0cr}1tOZuP=P!Yc%>L$S@e?2yQAGGonBdmb%tOce} zR|`QrkJmvUvHlwnb-8XsW#0ImpF5%37$)dZ`#%RHKZCOlxp5edYaLtZMrEpFb?FV` zbYXbEOEa>(c=qu>RC_1KBZJ1~Nr4uG@j_nfLC#Zo5uw|qf-n~ZE%@wBi3OLu+zPOT zJQxZ^JDCPLnRBvUs=iVUv=6w(^Y8zen!McgT5zhM?&}<0Y4}pa-$LPVZTRWW;dj@6 zE677TYqIer^ zjX)f{ZR4)DDiY_EJKLMTtqn8qJ~VJ6gurM2Q9`{dLDc0=wkL}WAVd%s;f#b0f6&li z@&1~#F+Z9r+VutNHZrX;S}NfxX#RII4L(8dd&wdbD*?OE5O_kXfb}+ss^Ehk4g7Z_ zSe^>j!q>k{R1e$`VfvUt!F)A?W$$*BQqsKw`>q;I>N1my zC;OTdOA(1rBU(XS8EN>Et0v)k{fV9iIZBYv!t=u#6f-_~=39c5CA0l&oWpm9q0BXB z3C1Q=UV_!t%ET%-(7^_ME*v0!v2DI#hm%3G%nDgFQ@l)j7r^** zf?wVE&oqLcp}KtQse4MCwo+?l6$*7U@S;)|P5I(hu|IEAcySCtcUxPOplMB=@M{U z$S5|!6Q-;n6ilwj_mW^qWRA35wHzJ#f^X;>Rcle28vUCFsC~i%$tYJRl}DNDAi`Z2 zOExFGE=aDv7Q;x6sfkM2S6e^`T3G;`e3AA@ScPdSy`xXAi4cpW18rTB?&p%!rs9B0 zu|iA8FOO-GUH9EielUmY|Fiy0_w@%WpzNL2{@_-a)-R%dzZSeb_L(K>oh!lRckUMI1)bJz||bOLAIM{s^# z?5`K4A}%*P{5`A?7;aGv{Nx(utwM?Gxr*uj1ZYPC44#OK9xTbNGm|1@-mO}`{r$R( ze9f}5MJba4xu$k*j)R!?6joM~FDHb|`h}Os=7)QIyBwr$^x%(p#cB6<7VGDNfa-15 zBTQpKx>* zNq=ldkS<8K)^>=|^@>7XQpF~tk4#jKWawj&>W>?l7f(A5;;nLZhe%(1VJ=N%r+v<= z)3FKoE`9Mm& z%^Sj5yFIrSnP?pJUzHjW5xDE>60JyY`8I=_T)z`%%6Srna=Yug#&M}=8bpL^Qy}!H zxx-V(-c!7YqK`OI0ydOfR?_r{3Mv)hBou32vEd`yaRkSy>>w1p>7yIwKqx4Se>KiuQq!xFRBL7R7&% zOQMi>j=9UO_4*Sm^0eK(ujQ)_A|m|cyX4j+#N)e@Nq<$~tu=3G=YT@spK79GbMy=2 zV+EQ_=MI~}MsGcbIzKcu1m9YQ@_wW97g&&a!*w%Z+bJfVw zJq}6>df$;HIzl!2tD{4HGFc4E8_UNF8d5nNpcxtt@Jcb;0O01%PdBeBk|qHpIFjA# zG$db1#S&F4$uu8R_=VB$0T?EQF6(-Mkdnov799of&l&|jlJf}%D2ga^S|;J-RRHN6 z_DT<`n9yle;U5BSRA@TX-tO06Z^C?g$^4ZmVOk;zi?3wL-04^RPQRLq_DEeGJZ=qN zy!$rOORw!MLFZV1v$d<3l)+?xwVf2C@ze-A{i!Td+2IzOxU_WQvjsfCk~T;SpsU6_ z2fb3s`PAT~yW5Z8mL{q2E09MUHC0Iy0m{03Ej6}AehXpQ!k|I%D%+(>9|T+mWO$hp zf3DESrg&ue3HLYHGytG0I$m8njA$TOp0S)flD^^BWfoZ$V~MA;&!Nq5OV#y>f4)#$ zCRSYn7-g@1N^W2jRej>h6J8v2U6oI?(u63^d$OJFL(MG@D?n>w)T(DdM}B{2_@Kan zbAtc8+1O*odahk+@5#^jL`rNpjNJ=Q28M$c`gA%%@*5EJi2WzP7oXr?USd*1cH@}! z)kvj8lq*N&)#w~1(4xAGTEpLBDui|+QhhO5E-?YhYW4w28b`@hP5Po;JQXSd$~J|> z#})n%~4z9_PeNQKbkF@DDuSj&l|`aGC$@iE7{>Qu-*V_PLx z&SOS}=Ea(<-86ma=A!WrFC-3ue$v5(o=AaJ$E(ZVDqGpei;kO@%`2)c&eE4bZxp^g zq{nvqpwRy0!(RZ;q>e>{I&rG*;&-+z*!V{)?{!RwRDFQx{WGFxoNLDrV_EDnJ!HOP3aka1xcjNcLnYU9lwOM zmGbY}NiZNzXtaov0prn^E8#+uDh(*pwDcSL^jo2!E{Sa9i9S@1 z@$kUBc$t;=0{F3?tmV45F->6m^2xlq3~ zb<_{ppTqV<-+~H-$rLL(cK+G@sg11m_|o!cKbQ0Ps{3%LM5(;9QyRj>#SX#wiUsNH z>?Fm}m2&I#P&zz5_6Xl8@Gso_L)`znWAk6=Qk&DFo3-E2a--axu`9#yuP2CB6~hwu z*#iEV#?nqd&l&3YH=;8FH4Ntj#MBzYuP6lBkRoK{(yXCsoMDE5B^q%wBn&(lSED{DTQC-s#&d(0s+*CdYV=?7a z70RPx?_L~w?PC?#2@ifw(Mt29Avmh=qmiPxD0P$#32=`z?9)G zbx{dK2j}4<01BiCTeGGf7SKYBM-FDjZLam158+lV>n~X{;9!!jsc|0OJ^d(|gRIO& z@9Js>Y$sWjYRzk>sk=_dCF;$Sy^-(Mh+3ZJ+;@+C%?tKro(g~R-%>g}5|P-*O5T3I zajaS*USkN3oW^?sR0bMZvoUP*LG~gC%Ykd%*?cLfnZ4+sc1oJunGXxEO`*sVLJ*yV zVnV12W#pt;vAW57zYi&x!i2cFCW2+Z_acJWcAY!iJ28gojrK(CY|m9JL5Tn*d=OV) zzBLR6&vl!NMjObyRr2`8((Rp}arnJ`Qo=*bynQ0X#wZ&qZ&#{P@FSaiH(Bj;!Is1in72@tDz8uTqHuUT2Xr`i7={Kg1K@<_xIWo)W zFQub>mLqM%Op^^wzP$f78ES8@F^Y!u);e9?+m)S6&gNebv@D9m#O^^Z-u&Y}7d;2> zgcsP-8tO+bUrELkZK>FeWc(9usc1fHmr8C>a#Rc>?3cHzygWz>J81!Of`|P3i;)D> zdCN2dX;Q3Qx|pM*1j{C6DIZ$tPj{M0e#xeBrlvikL|(cI%gPe>C#)U^hGYig|1mWC zaiH91@Gln%3p-J7!kCGwyb~s1DgvDO(O@D11Wb1xU+dpPe-BD{&Zn{13%MeDQ|c>g z^HaiPOzK89<0>Q1p!6Y?%s@kc^72av9`a$H?PA(8TKP(wb?2cL_rz|KP>yx3ix-1E zivSlc%gP3xf`W~Fz$$e-e?_)Bp)}hchi$Z8QxZ%&+MfG}xos9F-4mI@Rx~IH&d63u zCCACy4{p(5OiKFgZ%u0lOaj`Wh#?Bjym)ZjK42AD2A_$(Ot?;ak&w7sBgTew$z?j; zNtCb(muZr?%09*>`N{cftB|fg$r4yVrosS3=qwFEi&arC~lN(MuxTk94~1%ixoN2z^vSp;L%uy{MVX zJB=ISH#&%B%)4=EKQ79@nKZ5ZY=Y-6rP1ku{rPWxak~w1u?A#3?0pDO-3neG4isjOVCHRXi!k9N3^n!ql*{^U)y-k$=lbv2oDET zy`j=I3h%=sv0I+CQkNUo4b*v|LO{E`s zmKFEqagjxrDMFKP_Hv{h*_Y1e3W5*?HA{G2w(er3StzrC({%Ln z5LnP~u%b*~Lb#559jk#Y>OPI4BRU^Rh>gUbzrBQ82bxs?@d%)a+J}jxtR2<{dQOQ9 zb2Odte@_ov$gypX@T5M9zRTS?=-K-4fq6px`Z^Dr(Y&GW;oK-NWCJ2r6zBoNV=f;D zK`@>Rxt5;Z&`9hgK)V9sB2QN7@Ep4<->5@>X8$^6#i`7XDVE6U9>(ZJdd=*MI>Y_5Y*ky2IIiqrDLXLF`RXn_9I;lbAI_wN{PTwUye`h&`*+9;w-3 z&)T9kMXUBKB^0G*OWXVX-TU1C#S@&vb#gqE zH#A0$LeBM-&?=NaZ=1ha``%00pVE*9K5O>HJtZFww}dq`=q^2;`WB1=#<29N`4*pX zOyjsT`scXxEZYMbDa5EDzNclVqR0IMND^k8gcTo*TJ6mH>k& z>7Vw8$#I{FuMXM|eHEd`DT=Z$y?v-2K5BB7FVFo(#u@o|i9yJq2=XmYrc~(}mz8bR zt+0FxNw~D67bcEC%OLT|3XvymnpIR+dIxIQVJME z7I6)uKl}M3u{5F8Lu&-iQWuFq7fHD}GMA^|QxYFr*H@WyOB^M^ZuzN@pe2YR$~VWG z{s#G4abeQm7@Q7q2Pmvf7WXx-#E)_(5Dcq0D=2e=o^r6CMfM_m@R zokd?b<5J*4elIezBwK#6lWhtKrLYM^N)kp{F{As7US!S*{UUeb5qd}rrO<@k(#+*4 z1IL#LYaaA_XaG<5N6b|84A}NX9P4#kX|)nrLC)n+>$#;qEtA(*rlg`}1u$hR3;J4s za~m-JeO695i%cn1?lTwqZ5d(J{22NK2)@`?mzgCXeLkcR{(A81KTbPnaV)}H`<;9c+SpB02wA`J^ZjaD3BK>m zu`&YJIYlHst0!{6LnW-s)~zU#3yInpvrE@&yIG##!MMP~sI`4ryrQ>SmOzU3?uUL? zZpO$~S{qmP&8Prkl^L~48YOBf#O~${K0hBcD7;mw5-MQIEFQP?GaG*o@x@UccHSOQ zrXlM_A^yPAt;$3+dy=_rz#M}uh19q{k7IIiv@AR7CBgd88#hYwHEYH4b$t!XV36=! z=jT#PE9V=Q^!X9dZeo=st;sANwRDz;(l^u`u6At|UV2qG4MYIoHwO`TEtvm{`!Shw z)gJzq^dj{=zJCLkU+Gi*)nXibi&$QNgLHe*3fPR`G8oW*E?kN4VoSm2RMTs9Gxxn9W?FEI5T;3d*FGOIMNsV;OUk=PkFst~ZUlX7oiXleyt$&uP(^v-#~KTNF7 zyI9qF>m9f>*4P-~SDtsQ8p+oLNj4MiyGR~Ak`*ZKggw9@-A#=^=zSr7HsJ@DC|1gb zjgRDxUA?2Q_7+-#Bv0eN`r@;30J^B<%{6!|!_VUHs!Rs_{R3uI=-+FTLMkQ6lcKZF zTMX%cvCA6QCyFt=^NS4g@0B*}xYwla!6V(yr!2xbV{XGE z9?6x~Z~O4$fF0Rwd&03SLAH*zl*x&eR!{A8MZXzUSys-n=oy|5tcNk4Gq*pm9U{eM zSvNMNx=8X94A1mdJp!F0dC%Gh{BA5t!0@$UzC?!A$jELrZsjf4YoaJk^Ne# z3{DxbxMC}z)?B-50c!@28C=5S5EPX(#;}~HnHB5=6A~N6&y~F2@jl@7r5eukjzH|yZ}WP?m2!u!qxSoI33}Qi>aH;{nsNtI_t?uo z0|j4BdjMlMeD~?p5WaVVN1!tOna?}z{Vz%Bugye9l#B&MkZ#GDY#f#kNbgH`-w%2+ zYN%nx@xd<1*YZ7E(qo4iVI`0?ZgpCGg3J2%a_N0=QF8-4-p;R?M$VQg7JvUKXYD~p~}f= z?90c_a*){2Kxf5Zj|+{+$}3r>27&GDvFQ4qs`|e~RKLK0v$%)VoxjIYDGC8Z>NFh4 z^=RH)FC7={z|hHJvMDV@2OIybX0yIKBI?LQK~IX~y+99YCs@9% z0}o>Ih902l@5wa!A(uF6XmCVCn~-XL3|w`FY@eJL%sIpN67Cv%^n3?D26u%#{l^8o z+LmR}y!vc2B(FzTC4KefCyJLiLzB*rGh4K}QKz@f6ZFb*Tkc(5@DkMtJ0Et?8|Cmo zALjkcZQ*W&l`q=o->N$Mo{Z}1_#s>c-U}J5av=h*`$GSQ(PKL5_#ENpmNb~%#YPC( zCR-&?j^FS`)^Cm6VlntyGZUE-n;ZDO-IR7L(&zhKg3Y-QtFlk5n*nNk4Df|#-^}$_ zyUF=;lAbr1uv^W$!n|XcDCF?3BnKcB76C%5&ha?$$_1WCpRXL&XB1MA0T`a<0V*s# z0tGaWnV!a+!7NEI1}{1wu%%49l!r7;9(U@_baj#m$CHO)-<~nJN-|%`lD2q9pZt1W zwJq}J#kk4$4}0OQ)k5`%erFlS+E2CO6ZN=(0{0_A*Ly#Tp2=zb({#xhT2tCC2-p?s zyqg=6hik28Qh9Go%wixveJf3@(_+RQ~Op~ywNM6Tr@<_XV#(a%@^5xckb+WlCCddUW;moF!dcUAe+Ns(|++@dy9-cep&6kvv5ryhRVWW%M#F)tFB@hBJ6xFcIcRf1=H9v7lkRqzh&Fj5(kaO^&vbsFDT6kSo3)cs zger|k9siKi_}7VDYP=`iJI$5N!Y{(se~A<;#!Ok%80PDWJyZz2^3LGeJJ~Ee7r@aPg>e#&rH)7r$ z+;ARa=j?-DnUZ2?-b@^y$BKc&qm0mSaT0F{yQaZ930xj;c~C2vnIiZ{q0F#$UXUD9 zmpI`j2Px9mA}*?aU&V?pN!17JoVQ$FGjs1nX(7OXCW_&7=VIinP`-BE7>Q&S_JUGy*&@{#L?N_Uij=cJgZcTo;qF2x_ z*X75X;%7$9OT82rc^ZS_D}2_6y9!zX#ydlVR}T*CD_wOx$(R0vdlbAzHQKUf@GOhW ztGuhF3|{d^=!bYNw-rRn=M7|fNRP7UopS%up2QVdYfPt+sKW2o zNEa0Q6{gwgOVu;0E0VToZ#ZSpwQP)8N$&>Z3dPzcg^yuQ#V*!j_)iXIwA%KoAjmxD8bzNiOVby#Yt%=us|7x2v z>v1w2xFGmi5-N9kjFch7OoILa{C^rRcdP&YPAn1|>D@};_U-~fDc)myD>s(Mqk_Wc3xsiG zIR`%fh+4EJkFzZc?~*`!1fg*hO`2}6(}w4n(LwiMU7E1wVO8lbW(8Y+9NcTc>$;3Q zJ=EHsha8}zRRI?u9DyGExYe^mHdz!GOvwVy9y*>rOhdY7MfrSI0Vw|N=@fnR&KRqO zfNBWCx1OHSMlG}XWj02ta|qCpHg7*6mwvc!H!ebTU~UAP)iRC~)@|}2(R58K^jF<3 zcXt@1@WjV{N2q40XT+dv39ue|rfLtgEPqc^&d0k&(pKJyB~aqIcZV4j{OAGi6GAxQw7+M)$M7 z!8cY+PPLp1vVZ^j1|$Tg6!MA+frvkkJhIEItvEl*LmG65d8Z z+G6ah89UC~;PX&Fe`;yXVFLQ*@9r2mwcoDaRw%nYt@sq0sd#yn`z7kB!misiC9VIZ z9VXzhtI(VUsu=p9)~!guikQ7F5^=AHR!xWS58rZ`Z5EwAQ%cNG>mwG=^?p-QGM;a# z6zpZv^Mc!USM0Vto++8n>VJ3@3(#8(wP|W+;uQQD5SkVB3t5DzPNJo1-h{J5Mwwp8 z6apb*Ois|VGcB1wqdR`5aGCkvz{5?3c93LVsMPEW^bOIy==MKQ4wl67LAhpqHQ{2C1md2OlySx93NVNUU>q0M~5&6 zf7$z7%ET=eIZeM${xhlmnt&Bb3WnXf#(;5~U9w8yujpP*m<$yofwBR?WU=e++jAYe zi}X;!!o);ylydrjF9_4FQIc6%jj__82CUrulrpk}9;AsMv;@Gatcr%ePg7a(ZxywOw3DEx3uF)_o0^;`6)MKg)&}>L#Pv9wUtOWbl+j+^ZDV zZ9Fh;|3as@_j{q?9y|NITmLN+=5F;fe%LIN(QVo@%$#eP3^Jca8p;M2p9Uw-v23n# ziiU-5Lc#=O!X;5TB0*sKlkXLG)l@f}L&(8Ki<@70tO{2K5V>umDY2erTnYW@>EHDB z!cV7OP4tfHJd3bx%5rB6bTt;pW^!_*bJF1Jc0%)bJfYmQc$CynM$Pl&Qthlzj;iPt z(ah6Q!7SdQQWiAjproEZrIdD#os1ADzf}FML-V0~!kkTqt5X%kYU*V|%6{ZX6vZ)> z7uCO!iv*Sx@_VCWxw7-nWad4)ndoA3$u=^k2@`dj*4s%xsh$@(C7wZyCW>5A&nfG+` zG(HEOS!n^PB70ISm3#7qx(uNI>T%r>u0{ZdP!O8Q>;D8HBj|F+&jW-ps2CmjNXZ_H z-twGTFR`XW2vPR`mTX4oHGHUGeb4lIR=3|yDDwHn{1{Hxq{h=@X6ysRn*K%Uebj_y z883LR_SUzKi{+-0y#4n%$E7RJ*D9CF&bQ{-h|#a6*_@J4lCy913n*HyV6JrF_+X?p z3IohLQgbK{of_l&%`{Tqk}@pIW;hqckw0lOdG!tU((+zpH+ZB;Uoh-_jRo)w5K`)m zyNDU)va6zIhElHG?D3EU>gMeE`+GXem1oW>wkXVIkT5Z>Gsp8ALTCc~tc%={S)%7p zK4ppZVtp+cQfY$yK?GF53Z$tJ$mLItd0jTc?*vjx)!()%d-0XFJx^lXM^i|KJBtv| z|H<<|u%-Gm1?UK|%Z?=pBeto14?b^n+ucE$r4OcrvkLW?V^SC`A(&-(S03+fCW_Cg z#+i>}K6z%{c8Fc^C-zt`Pfa zq#W^ERFMt ze7>~IpF#S8lhaeI>0hQXWw&Qs|A=IB1O6pA|NQck`}M2m#qg2aGdT`7EfkQ~A`X{i zqdG>X{b=p9enCO*)fd`GbR;)JnQG~sKHAj*56pjJmaM4y?p~>-tNpTyPHLs)r%~Q; zQAolOCIQe8(0?LD5G%tXG~~ssywYBU(PZsdy}C6|5WDQ}>z__uyz2X5;QQ?$A64+B zH}$|t8G2-Ly8pPPe|p7OjF6}1+xSjO$7obNtzY*<5pYjU-awiR4mKZ4&swrY9DshlNF$fzXiv;Mhxt(5cEj@cs8n z{HREFxM~=L^bT-rGkgWU57GpdJ+&&}9}lfII9s%yjZOe?BCkGfx5RJry`SL*U*(n1k=Sn9ykZg}}?>G{>;<1U#_ z^`O6{s)k2T`+7J+w>>1Cl8!?ju%Yg={x{jcuO#wm(%wh(d9QSD>AY|61zO6uES^cS zfiyopRqMb~cgP*?=EdB!k0(-iwr^AwuJS_EK90%KAY3hvGXw)(i|V$9oftYzw{1+z$j}d@rhrMQ94P{PTou)_fiFBG+v%(PrOC}hx?q=Vdd$+=*ocOfyO>0K zdK}Ko_0t|69(-p23Z{WonetD&!UCG{o8Pc<|Gbz_$DSuTbp&^56Aa!U6=S+*^@K!_ zN(0-?d^95W1zx!z3Cu8w#dw3786HCvJwgbeA79ExJ-qv?W~Lp~BPJ7|A4rO;XsSrc z@J>yFl~ZXTXxFlhG0dL6|K7bfrPY1u^kEJkhITjgNY!=01cEW?_{(5fg3WmD(~XB6 z!~vR}=J<<|&)E>n*2jl@Po62JNVg)xzqz@7%%dzK-GY#R49-`@IIq zdL)(=nPESt0cG;sto;3|W)6a}06ZH#%b0HHTCkstm@Tm((~vI!F(W#aeec(NIm`Q} zNWlqc$EKFhgiK#D`@^e?lrYR%Uz=oUno6Neq(scE*U~C3vw(f5vJ})t!8QIxC`Ut1 z)HKNIrTgrfnvuW_d-2)Y{{ocBXAZRw^jV+%1C;Q9ql_*ie4)yoS-*9+Dfy&XBhv>D zJ_GP?q&~PqI}{;2#+XEWfMxNT+yRU@zMUc*n$Kl4M7>p;eemRdQ*&VMh2khlp;xLm zxFue+qnXEeGwz$8RQpq5keO(a&$lc_ucC$zG#xvCM#*HouL<1V7?t_#HnP{2 z$f;}0AYFH}a7yWhH^-)|Zpi>s;|;DdYGgO&hF3K!c zG-gldwh^cb>LYjCu^ws*x`i~qkAK;n_7Vg54krtQ6?%BUZ!1r4Cv@-mFDvj|6YA!O z3th&PH1x)%AgdomP+D%SOVErEb+>w0<9RSWl%`%^lq{Ab7@`!WkBT#p_y~DS@PVERp8L>(bvBofnh4~zAjS@$&#c6ZSe3x z5!cCL;+m5!ARdV2Il-xLm=;T>u*N%C65Ki>BkDK~gz?8lh;Z(xYQiRvL2DwQceywQ z^un8l-1id170i?k!S9u%AC5&&M@H3~5+V6KmP=C)3+~WLo3M}l?U>%LBbx+P1(v*L z`&DB)S%C2lHS$nWokfEU9oRrvY}1 zK%~ztrF0I`(|d{adC>H~7JBtpYkQT9==%g&#xWpuqRk}1UCCej2x?rC7-sjKM(?-# z8?xRExQFS32aRF}UAacIP77To^o!p~pkCA3GfX_z0-s5P_W<~`F166#K%>G9@w$%M z3mvm#whbm_({mqV%X8lL;NV5~efLN?8LW<$OHr6kTJIme);Tr1&tfzQJa-%YKV#HTkW>&E> zzt6o>NAQLTNrx$FXwSvWi4NJ0_D76qW;8F3uj1|=J@V) zmPFR})A3Imn3uIbZtGMa*Y-Ii^{~_KMTvye=ke%zUzRcUL;ktMqR!3UWQnniXFgXa zFLYFc0bWqh?#_VSVMw)v4aFpD6ZVc02`8Bb*1%5EDhmxeyU_F_#E7eOO(RJ$lSPk! z$aUm!FCn(O`IaQZrXb}90n4)U99NIO&&nqgY>GH8Y>v9-kV65) z$pUg$4hq5Ql|;y={vG~zbyroU>CfVvt6@Zqzk735o7UyeIidR)IDx;ZiW##~AJ0R{4Xjj=IpW;!asA`b2vC1Ks1O)upJYVjq7y%fjj^{NygC{{7~jX1sG~CR z2bhC5plmP#>-crw`JA@mY&Xprx)lNYUClH1i57kK!qyIagV9Zgm>*h`x(`_%;&95SaXg_Vi zJApn(KeQImLmqNYuNYeLLKf$VKn3H3&wJV&__?+{-`pZxIs3Ez5yDQhRZD}Y{R@t~ z=wbnJzNhmKKq#ACcHE8#$1>1;%CWKSmX_x8Pu5ig`)P8ch26FFTrkpPAtcZw!j(@K zuAg60ELN}vLmxIN)-CSTpzg7!+MI-gpdmtvdF_yh5XszD<`GLwK z>?z|o*8}v|Y>HcjVsL#60c2AS_Q$8htf#UoV zcqvWu!pHGn_1U*wa$)Y>)WqnoK?XwCj}bB&%=tVZb!x=J^BVfhuQEtl%)}V~1Q`@M|e$vvPl`io} z$_B-?O*2|M+x;{nR_t+#wCY7czN~n6V=szvTfaU>5(20N||_l?bgPqf%l4vcX|%9LH%Dm z*wtg5yfdsgNZmPP(J60TRJ})apWmj?uBSEJ!&u-5U=UHlQkJYp<0m|)fh8#0DKnzz z<86M3`fxqC`QnEl2{xVEQW6@1t>_fA>E)end#fJ~(et z_wKME1mM?Y6xccxS`mo;45b6}|2NJ2WJRlMEC5K(Ak>^;F&R4W09I-ol!s zKm028hr8@j7IE6eo5P^6aIUEN<}+NQ)}hajXwD;guufNc1!vcgf;Ct1=Ky9)x>d9o7I@TBh9W45e{rO;-cZ#3#SSerFwEsIBi= zv=Uiv#mkA%&b^>VD+|*alYFngnOOv?icj(+)#AaiJRArIgsmL! zQ@m7rgTst7Cb+;>lBPZNW?W7{&LyP-U6eH6UR}*9d02iTW_{cIACw?DK*ygKFkzJ2 zJIJsshqoIRFi0tWN1m-_ISrnR(gIIXy!J0O;D3Xd>}iUu-Ax;e5%p>h z|Hwr1rsnuGhWU6jM`8@s=Q9Zji;x1R*S_D{30Cgv@ra&usg~`azxZ{t@%AkNF76F# zO^fH{tP�hlUt^tH@gE2}HQ+V?8VS!%=tr#}UlV&ulSl**xYRUiuCpr~1H*J`d7=1KvvKi22(=g}P@5uLIcv)BHq?XX>Yv zdhJ4>G}nNxLAEcYs7*DV5ux7^AeH*>ykQ?oH6D65s>%W$*F8VkFBStpcJYrVSGw5c zz`^hI0qucn)R%9?jt?25>Kmp#iO|w&cd3R>m5)rIHeZvD={1|~LC)2#v@XH!TAO`a zjMGatn4ZuJ-Xpy4trEp?Ijt8)MNxsqWmjT{h40r8^o9n|SBnMm1l@@x8=^uZVogT2IWJ4%H;>sc97)V^S zv zDdep-W+q!C2>f6DUsd*kRz4E9RodJnzhz7J>I;S!nwhuO<{{W**v^nCkC%LPnNzkq zD~xAjC#XQ!pc0?P=%&zTkuD*h!&%(YZu1D>SzJ?E!_Q`L_sNPlIo zX>&O37vJk>k5B`xucZuh#y=18StJR3<9U4bO4hCS>eW#UjobPsm0MI-vQ*q9kiG%Y z+I9=i_&_s*hP|60SH~Y1bwt!QH5NPo%+OSIK)oq7+PjT*$YOG$mgf7D`#D=jEh3YX zvsGs*a_AG|bfFBl>ZhSHy%m&y)*{O{*qNrD1a~vASJDH56rWteMdhh+FB@UE@KP+F zWC&4W)HtSqu3OL>L0DGJI@}0UaBw;4)GtVgJ$CmzoW`XQ*H;t~TS{Lge#6WeJ|b`R zeX6c3pPqmF4^b%x!<`fxGdI1Qzs#zaYcFLc?WWXNwzmQ0J3Tl#7%!J>E?VZuO0YkT%pl{3>Cz#;oJ$l@AM}E+`?y70er0@A;VMYTvRoI|=F1fXI;6vYk(VScl zEjF&%wI9z32_pm2Gag>;zB(G$2@7NUKz&LF{$brPY#r^|Lec|;$0oFJ*M*<_F%U{7 z8}IC9vs_N5tqx@hD85KJ>JX!iK|MUGtmN2TU(3og*ATGp&$fN2O zkC%(mL)Ds{BvkEw)UkDU9eE+rxN9jcC#PY1)1usZB^^8b6WT37{6~g)AP}8D&Bhte zuT5#}?=K}MZZi1ti{%9G^G+N3_uroyw=Z%GS}B50+GDPaXUO}SjylFU`P&{i zL*6!Jx%o@hYNLSLZT}a#BXOq@p-D#m0CBrQ1fd;efzg!SslblYi+FN|e}#cFIt9(TK!qh< z=81+YU}AjE@JG2Bl}Q#azAQ9OM5&SnolfUX9_*`~F{hmP8DGj~TUWcp2Rp&9s+WlF zt}Bwm$}g&eu*IgM9J3KzX*B7?SFyj@(>O59y(W@ zP9AdkPb!mMZdd_V|$B5j4`GAwrMo1Oy{xome_m(DF|ezFv9_zHwn@ zBg8^(*kVhMZ!VPdvMv7olxAAJ8zZ%QX^(Gsq;WV2|CbVbY^}hgMyZ9~=pZ-ueZ>$P zzk~j4&sYg=nggs-hY>oSGrXk8`=mI}@3K-)TSTw77-4nlCz(GPGnOoFfcX@wAt`ih&>*Zm*-y9=Eqv4NDyP6yrax| z#kn6ftwDs_sm-4ba8I930QBKAQWSXlC8o#p**N&I$CqEQMCb#tqfa=M=5}W3qMFSALQN2|S8Idm&OS zY8jzKn;`3Q!Q1O0EqB`lF{CR_iflC6uKm0To1kOFGGIRMLcy}r zRww{-<9SAmLj^-E2ieNrY0z9sm~RZIYZGFyaL!4WDxwmHlhgOyYIpsCyK1}YGq{zU z)^7bcU39q6_`zmcjAre~vZG~AZ{ka*m%SuwB8_b(=)L2qt-HrO5lQzt{TlE8%>H@# zIy2SSE%^ycrM0;Br(e?M+ox8~n)RiBE|4qC3?`N<2vPrx-G@rlf*lmVo!XYKfXPGckD@ z2AI$U(caX0epV^vpQ06(?d6WpS4CBUo-Y3)@H2PMiVa;|*)ND*1p7^|Jhy#p-jO_a zYFUpO(_CbF&SE zW2K^F>dm4>XX6x**>DzzR4?Lo-UAj_aFrbiMyo}8yVNj&^Gzf+krx~)3B6rXl~ndk zE9g>(U~||9Jtt50)K+VAYYR?|dz;p71XBTQ>LvxvHs1PR|90O!mL;t&zyZfx?bgOB z-!qk*$Z5jB+nMJ$j=Ogin#M1}wD9rVKS&8!l6|Z2cwb@Mm?+DQCX`w+j6rTW0Gp? z<{Zf%N5Z#CmQ#7O{Um+n1wh_~ls|sGKDN5U*1#_4p#DJdNg%(&XI>{@)Y2M3xDGM! zc&3d-`^>3Oot@3Ye-K#azFy~Il-F_Uj^TwUf?Ebs(OeD_2e&Uj0z@)mS`0&j7Pn0$ zp)Kjwe6rfr&9r(u$_VCZC_L|!B$J%C^JrGXPX;Mj<(Ds~ej&oSlw>+4_s(3RJXxH@KP9mNKUj%8g1aIyyU z??)t$cLnSk#M-&HkNH=tI-!J^ar^J{RfMX8lLLz8e zk57QcWD<@~mE*E;-8vdwit_}sfuMrSt=6OCiQZNeUkFkz?8%db&+SHfn0XdJEc|Z_ z#c2I`ZyewLtpiN=zKUh2Pd^~)lk++PJ|7iOY=hr8v?}9ZBTY>pOkPM9l{|iy=!WwA zKKIg6@z)e2Nf%vchH`&y3%-6uw-frkGqi*O1JJ8qIOXQl(}L&7HcJIwI%`1F)Ey3J)SP_zj1QwSi`lFALo1nRhTju z%zZIv{%=1CgyDs-60Ga-2+^oxL9*?8ld|uEeaZcP6!ziYSSKiF#t>GpL)#T$0>jNUDpGY?HL&K?#5?%kw26Z3G1XH;jrP>LF3178a* z=Z7QcYQg)Y5RB61kYt)P;xQN5X6JRkD!eK1%uCX#1L&*T2#_$lv|;)DVef5{}7k1u^fs4UJXUc zgQ;f5w3#^zvo;u~DK?Ecp`6RC{j{9s_QNj?I@+H~L0d`$w#Ji#02NYH=NAS|r$laV zRf434p$3O#n-I*p&EVD^mBdPwL5JVN>d^1eSA6c+5(C(_V%a$(R)bZJNJ|*}3t`it zYlL2QEYeZ59<60Uy-68PdxWpW)*tet3Y3b1f%j*)G#oBzd6k$nO;ZyVHnX(M?5Wai z(U~zzM@%|7XpQ8edi; z5VRKyFW*)az4*5(*_-f0>$})#viZkq!9Srt7UMVmd;^Or_uZb=LyRy29Lif)qis4B zuVoqmSMXKCN~fw9Rht<_#9v0~OWD?G*!aS*Y7_L`^s5Tscm;THhBz^LUdPX$LRNh@ zBIKCjae6(TIg+l7aKKJ18E2`rp;8U7#Hg~gMqrhnBxm9ck$Yj!5DYy_Ru`Q+eJG^40WAK+crZ~b5 zBvoiTwiLjtOlbpGGM)9C=Zw@!gcy@!Sr8ViesOM93uXnr$%g~0VacB!!lc}5X(M0H z!RE^JHm8|0fxgmTWh(i~Iyjb3NqNJiyi=WPzaT$aQX?Drp`hf}B_GZ9Gy$#yKSzha%wo&InpgL}*s1<^VTiE(1oYe9^T3YYIVg0BP!>q%Z^yaO#G>;lg`~#i08M zEZaNf==uu_SUv41?&Km&fr$ZaH;DMat%4&8>l}_n27}44V=y8tan>u3nea&dj<{sl z9k`x^wg1!oBsByGmzI$B0B&cl{NaOWsa-q|*IELBn$cjqU;|LNr~*GOZWy;Px~YXU zrOxEb6ZTy?mIg4Xsj_2+=U04xM2jDpSz(W21W8RjF#Q*F3VLv%CPfj43Rg&6=A7%O z;Y$&9v%PyoD67W@c}=;d4^lBP@tduxWE}_l9{?)?CC(&1Eu@qP=^=59(|?3m&;6+S zngZpe4nRfKDpur(7V4Wa=ED5^mLRu1|01e%d(luV6sy3(?{wYS=x%;~KnsaJ+jTC$ z&Qet5m4c%2_~ojH@1F@Z^OoIqGo-%h#f^V|mc;dCZTU3pEJ+WY3%m)LR;b~3^xLbB zQOnm*Buva3j3iZOg^h_%%{G}Pz_Y~0!7zPAKPJAk63mx5vFa4PD7K0*0Im0d3beyz zKN5~Lw4zcPHRi!G{s-O^g9M&ev8}s;xh!C1hlS%>9Rp+B_KB*LLp0mm?fdHI_x!>l zj?$I_o6i8pw(pf&^PLJ^-RopiUhQ8uoygXX>KX^f-@fdlF^Zr}kCKF5755>`Wmxa7 zX>3gr+p2VbizYMU^f7WxReNur*1>&rV2_++C&J!67G~n^HH@)(eET3dpow08z^D+g z7E<+NLWf=s_?$Ai);^*-w`iIP6_fuQC;%1Uhd&GBeK$PV?>DNUU%Qr^>RtOp^D6NC zB82a5nQ5N8$ENenWZ8kxj}7%@T8n1tKM#%KcUNX07;@I8jNl%Q<;IwX$B81z=Jbf% zCc}7P+$(W8p%vt)G!c0IvHejP)!D&kcGc_0Kb`Vmgc$TQGNcJcYdZB#oEL^%x()x; zFq?Hv2hKt;ixOM&XG%A_RwA(F4yC9JF;nUMin-q9@Y%|uzs>18oVa=OBCr?~g^xh)WfiyU>&eN+E*%D6F< zH#s<46H1X(e?LKL>3nOB{DBJz2-A#QfD`dJrL?M>Jdr;Tl^sY9ZRpDp4!U$D;Iawm zKNMkCdH+F1>${M{nfR|J{Pw7RSeP_4y|&})5s8&bk85H{$qlqwo>*%+`5!HqJ=uny z5evroP%NuGfjEdx*?(PhW2)Q9>?Q_`9AC{x52A`x7?TDnU>-cVdscK{^60f5S3TI- znSGzD-u~zpDo<9h;?0s0`8Ode!!8asQEh5F>o`_hXm*7X?q z{^*;=&`r}}oOpCl%-N+mG)h-ji2ge7)ZcxsEFU2G!!~BKOxdd}lat&I^=&CkP7!%K zjEx1)Z#xz(v}n`SX~9ye6>c@jj=fa_v#;LDeh`N|5?U0Dn6k<^SN@4)g!`<2A0)kFbN zZv}-%kY8#P3WE+8GP%D0C}~p!^@eoMh27S6aIEUffsjOz9b1@>GLCYt@7W+j&;(~} zgq}%8mLkpa#~<1|Ox)!Xo3!q;Y@P%-i2JseG#WPXsEQ{N#i{y7)`O5b~{EE2u>#u*yb;i}9^cZg=6_WeiqQ$mPaRaB+ z?N67;bJE{$&8pEHta-)1%Vz7XExtz@QOKcDcXAhY!z?ylZX+(i75F1}`-V<_)(;qT zMdO!?>2eQ8T>Rvv1>z4^sIn8cN?Dlu;0t^oQ`@v0$T4zwuE$Ze*h)N$2PWVzsp}?| zgle7|Ozu9wi2fg%zB`)D_y5}#1hF?k)!vHQi5fMd)!Lg%ZMF9bYAb5ARs_}BHEY(M zwf7#M+MA+AJ@@xH=l6fk$;qATzOMK6n(;U{QT56TcwEf9HNDN;L_cSFeb1rH9-O;Zv1pw8mZ9Uj2|?%I!G0Kh_+Wsk-a(SY&dv)`KIVL)o^ z!fD3ewPGgnrspFgOr4?u_$DVKpWyzcz@+`BOwNvBCOFY21s^@fI6XYDYSri{%nPp< zbufX}>EIm*rkdtLRe-?v%BjBoS2oZzsih&+N>X`moabPaJ;f_;EE)b;rMKNsmtyYy zXDNjKTupGn6{2tMmx$OpSVI`?PNx!*AR$=ZXoN?6l3Y)T8P`fG{`o5_XtqKd;l%7^ z?;nqu>&pq;C$9HJf+H5GC`^ljFGqLjsW#H2rPT)a?rbA$^f)k-oE^^i%V~|e8`G|Yg|SHerWI-cV=5VnWcF7Q011gVgtmy`BLPg+{S+l@n6e2cT&Fq zwzVT5ibBXFY~|$_cXIZg(gY3b3~nv%$3GpMnD1ssJF@rHs`Lm@-<7D@c}za<(*Qn( ztl+)G9|cLoKc6ER>Ew&qI_z5t5vqsOpb0`5ZL!ycu~R&%U%V{DX( zGismealdKlFC}SvppDqcN)>?$ROP|9ieNxv!SB_nkfj-18#~Fk+)oVkVWbrlQXPlmn ze+Y(+NLJ-%kOfVpxkx2?TU0%;%y)~im9M-7Y$Q0Es0dVf^Iab#Geuw0*ptbwotNqX zX+T7k$M~BHCITH`IcXhZ6J@{5w{OPbnFe^)Fkf0=ccK z0Cd#m;~8mAkrM~q%zTTCN@Z-ZmvJ)GTz{p)Ry7wbfT^*6NO~Q-{-letP1GUR051SA zu()2C;~nuUKZv>Hyf5r(`9sa_`hggl7GXsdi^!x(;b7J||1SO!G~Y_c7?%O(6{T#A z`U{gEAZ(5Pfw2$g_Xm4zLF0jTd8??)j^Z&Agw`&Y%l{V$p>hrSLJL*?>YAhyw3)o*@KK+*&X#s zWM|wUDS~LXxF`Gop(;bxIgbMhi20vUxA`q3YCvd+9u^WxIReIHTEjTZ2jz#q)@Jt|eh?Bwe@ z@p8e$<^Xh?DaWi4aSQ(lI5f~Qb3}uk-?bXlNj%AZo0ruG{TUyulM-lMgbI9T;lRkO z17UHk5#QPx>W^>z>{qsRM1QU96i86?s2;aIKQ`QHCE~H3opU^xvr+lS{G!>b_d8AyD50tf~4xj)H|0$&v)8=YgDq|jAD zOZXUh9FQH$dRsfquUh#9{>MY=F!k*W9?ZL&B8_gg+k^$bWN@DW>O<{vOt?rVuBfbD?4Oh!AWz+pg^qAc0neG;QJkY6}rq5-oyA#cjS|=*5 z#^Sf=d9v2Tr65oD!p_iMis?Et=1Mm_GwUC__++YKFY(pD)lK*JU%z7@>~6RAwUWi_ z+U0DygYQ(!-5Yut8-zcdVOl(M{?(Br8DM@MZas2pZDaIrzU*kYgDfT#6G64){209h zh|vu$@}B7e$`1pn=uf#(3WfCA+Rs*Nr8Bh>qIV0WQNPP=Gq|NeM1gqn6oDx^RS_e} z({cMwit13)n-jTrhAqbI9DMccmWz~)LfJocMDQyzL$h1=fo3&U$x3?EuXbb&3t+3# zCFryQhew)dCpWnB)Zd#x>Lc@k>dNsF*c{@5gg)`VtO)nRBzE7xW#+uSgHQsW{111T z^Kw&bhlUcOn7VB1&g}Pf&h)*^jFD9LS8U1-Vdx+49i*}F* z8^hmol5pVM2i-;izBu&fW5}E0hw;}`=|@X4us1i!2s-h7#Zp*;V4l38k8}DiwnG^le(u9}mdN9~oTO zLm%yzb_S6K6rGNe_teMsN`gtGPrEcdWs!fG3I+OvCE2<#|uJd5NEz>!y<>e(UT_5_%k-L~-54t(?sX%+y zbBKemDfricQ%T{M0$qZvT`HrkZ}Vxsnc9hJwgUurXD8u-5(~xqw+(+b7#GP?vVu?V zJu;O}9lo4V1n(GJyPDx;;AgpI<;CW|q7rd_czkddBrhp6*|BBe>8qwL+c|CAZ}KH6 z5NDm13L6!5?N!c7H8h-!i40~fWc&?%)DfT9K1NZGkACz@mADfd#tD%ehh*r2RS%zt z2L?Ly;cFfbXsSnl_=1!00a?KoNuHFQX}Q&-Ei2aw4}d!^$=FBlt>(Bl4Pys1BqG_* zAIiV|P5Pf8>?XrAE2Jvg?QWVFbMZ-eNtx$|+y~yw-A$o%o9+jY6)NUo~kzEPu=e#5_y7C`sO3 z{!I^gFT#>%VZXLZO5UO6it^Fz7gvE6o@+{U<;87D8I`mj4k%bnUSCYwcr5uT(5m|V z6)CDwI8?em_KAFPi}x2~hZ$eh<=pP%8g4X=?51k(vbtggo2CxIq@4-UCVM>~8nSSp zV;Gs{gUWesYi(Z%f>+;C!`|qA2t?$8NpQ~h6WpPhw~)@dr-;$;-MNu?&$blR0Bbc#W_!hRF`^9 z>S0f0sT@Re1zxH058&TZF^>x;Qe$vHeaY5oawyKR$ymLtJB^>_3weU+R zl)G86SeNl9*?D>fWB$Ji!B6H*ByapRc(NkXrJjdJCr2bVbp!xj5zl!%ZP!SB1{v&U ztesbzctbs4390UlKgz;#KYoYa&Vs^QI9oi%>DfT}Y>_4?VY!o-jcEmY=;>8CeWx5s z?Qi?J5n1O6XP;_`FE<~WXdPbWoRb?kLOkW`C<(s##+eVZz2Vir*uSQJ=@Ke%<^RnhS5WZoZ6>5{bB?}ol=Rhqn;^UG z?Ea^gYUGvl`cIwI85YM2J+Dtqf6tY7>i+d;UX$MqQl&Q=%_jM4HU43mC>=DR9=jqG1i0#&Zfpg7-Fy6`*Va;h=eMCb%8 zh?mMTdoKPWy0l?cyI;9nrc^9{qtaTf35r~6;H*ndvCBR? zL$`a&OV9~N3|<%^bVfrd!w~uj-&xSIFB4MG<}P_|Ktw-v|D3uKk7wkB5aQaLK<@J; z^gySIGOr=b%7@R9&*b^@kde~QCp9h;7OsxbN5G`wvK`8LnYgpQgUTJL*xB8P%B?us z+1j;SlbHjI>i!A$NI9UOcQqj-u|;* z-&a~AM@e6)Zf#Zsp4M4Fn_u56~?X=q7T1+Ht$)RzSr}8*TqUs^yby;#()80 z-EUfrbX9tL?1kihlbK!{=cS++;H^2)se5u{1_&dQRXIQHnwTf4PWC-N;a$Z~?Ysxc z`ZE)K8HMIl6lLF2p`*!cO4it!MeKzn#Kgy>PP^zk)Fd0fV8yQqul&Fa+AW>z(Ow3{MZ6d{NcY+s#(5*cSj@uQz|;B85}+4 z=A$4$5)1LI!g>4U-_PWa{OD|HG6zvSxII}X5(ka1PY+5M6L;e|hy2^ANHUiUT0iQ7 zNqd`;U*r40JgtQfgc)PG8{T3{ag4(p%_6%rJ5904Jyt0sooS!zMG;V6wvtUQy;xr+6@_izFXwcvf(=q_dKA ziV1g19pK70s?q_)j;AT~_anOga}w0b8e@ywE)^FKQZC2+Wbwg^BRpy5)0ef$b2qv6 z?Zm#2`Ssw0A}pY?(o7s*VSL}XR_7Xv?b&WHnL;c5P#IN{>)e2nZ}T8=l0*DcrPUu| zsxL?JYaqbbyTkKQhOko{1svNGfmU1PGF;e8^;~M7h$C*Ui z+nL7PA{|}`&YdBjQ{&_0>Iv%-p&LdscbyCpVNK~6OD7O*5 zm4gZ1|K4ZIBw}%yVzyYD z%usx%c)5m6xvdv&u?!o!kiPu`28?J;J^mbBnF(ikug z;F<~D+p`zXf0^a-Mf|7iq9&xph0=%^!i0jm(EH1}!O0nAR7802?>b1! z!AFAs**aKGe-AE^v5)uB%^u^>jLsqp%tev^!2tIn{sx`othPZ$A3)djSG(e_n+Ybm zur{i-WcpSHn=LPLV_u$4&YBgDjry4G8~BU99B)i&N$X+#X@WkdTU{_2_?%>2-?&!} z_591I803Xv%XZs6eXSLhXNVEeuU+wcRX78h^B|Wxjy<(sh5~=vE>-l;2COW=yT}Hj z5q2e|atoszEGzlV+WDUcuzZYbX<6H~A}5#h-xMbqDt=t%So$u@%tZUu15z>bmb~+q zYQH^{IlkO+$E{Lw;tLWstxbX(c#Tioq}hK+(0IcagdrHJSOQGu)pKo zi*9~u{h}42xrG`RgAkjcb<9^DW_T9@{QBE~+|l#u5*2r%c4_xDXfv$;Dq=~7JsfdC zQGZDM@H;nTV*Sj@;dWoh;_)^{4J4 zBeCJz3wfvK)0_Q4-X9tE-pXkxrNOF|ub&71yW=CYG9x{Q=rnt0`++e1%9-uNN17gM z(o!@lnth!9lUjFY0ql~_r`=IK_f>Br6S3fC2gXGSW{%g1RhEEca}tzlqP%)Bwe zeR9i2FUvunwW%Bn&KN_$2y7rX?8CwArW-1=WqrefCCkO8ug9QV#1jOXXE!Y9H$5FNHyhv3_Hl?ts#?I_oW zuC`+0x4R4md}ohWo<6r`_>q;XH5;0n$_Iv zXO8BZl5z>vA=#AJ=4!e}aR!_ag*fFyFZ(5o#J{-SpC%@z!PE&b*&-HnK}MCcS_xLS zt37=1nO5tDwc+T9SvS5G`X+v=EJ`nzhW zkAkozK!4oUL=DTXdhv1&R&p3TCYEdqj$>dAwFV&rg+}HpA3!VR}4WYM6Joc*mgM&&2`0 zJ(8aWuBLwKV4L$EaP@Ubx!S=Qrs;K`f;L&u6kV8UeU4$EK`WXOZ4WVsH~#zQzgRsO zkMc~+fBJR=oxJl?6yG>pKMNgM)O4$T*Gaa%5XW|YY`j{u=3LIU=Q0o}<|Ayf`43;b zrLtyYh6o5{qp$K3rCpMXG-Y(9oWcWXXrgcT*8*_Z&2pgo-D&)4SZ9RO=GL zAG3Bh>qk1itzKDf8f%tW6vSw^?^yDOxd|SFi1_e2@3c9MS{6qBL{xc|3wf8#s@fLQ zrkU2^K{P6LYo*2~a}mO0q0>r6YSO^o!9NGW&f;`CtYyz#7E_xPmko|A=wQ0m3h3l@ z(tU3bc6~RcEy-F`QFZj~3G3^#Q{nzv1s*G%0$=>#DQ`-Yd6t z(<vZ)WCL6^ zHjuTYqn3fkWh5-OE+^#wViHvQ;txB>&UEsM5*0(l`R=r-6h1bT`f!w4?s*S&i(wIv)r@!wYgvtqS5`oQDgU4qmVIN%&JJ2gKB z&>{02#UdNEkWN46To0v|h2yX%5GoJy8zP!s7|TuB z03XEY*&}Crw0rb$MmmpFNiW0Bpru z?#?9Eh=EJ9F_Y9GYK()C(az`e;YyvtNAM?tWW}jASy{msxzmR4j?2KPeTzGJu&n<` zQ-{65oS^b|9a{qf=#eKj2Y-D>$Ree*a6jt&PXGEoC8m%iu6l2W*6G@gXGVCsv)H1x z+KZHMT?ikNXnE>@*C{wfQ8BBE{3dzRgj8NM$XI=J_j#NrBA+LXA`peEjMSB;j_8b1 zmhyZwj7f0Y8-q-(N_2gZF{w>q4I_ILLeGCq#Es*siuo~u%f>3Zevcc_(q)ua8h@RIjPZidZ@mYxM{5+yI^VN5GfSLUEdLv zUt?He@YufU`aSs?8JNWv>c-3pIMtRlfpkzd9^-^=YzcxvAnm0rsduv-gxd0T%d&hM zy%+tVGqEb!t6YN7PDJ3w#|(WJ3zSdY&PU#aD$^V!d{i(SE&FC=-dP<@*5!1ogRC?s z{1X|6mh+NHn-Cupm%~xK268Wa0=GAMm9ATBNP^wmHn_0aWu5r5jVWLVd@b5cb?%XsU&Hprs#t$Y?>rJ1UtyzUwL|w(4p<$ z4jnySPIA@jj9~%PXpTiGE6tyXsm}}Tg@vW&dIMb@0h*!`?IqJCRhc&?R zT1Gkv@DT%9;nbxpVA%t3JIN;2ybm1R`Mf9S>K$4Fd)@Wob;YgW-OIIUkU% z@Gdb2sWN#ySpIY?@!$O^n|T>=R&{t?sG!bP8T*`y5Gt!oCI02>n&A)j+|?T8NzF5y z#NP%ZpSd^BwQL+17l2rS*h1T zs2h*>7MV3>()q{2iRM&PN+}sGI$c#iY6B?Bnr*F1a2` zzlmg-c_mx~=a8W`0k{eZjZOMV<_{K$7yl+-*d4Ln^0jV_EtjYv7CFv7v+J z&B3d$u$l{61)S}i{P3sxvzggIf20SH5(}TWJb5PDxI9r#YS*o)l2OuL>7iA!E#a~@ zr>Lo2_;3Cy##;`be}xAurY>gEUM+dz*M>C{`*Z`yw=O z(DD`X#L?>&IGI}wgzKv$_Kkgr1&Y|>8@(dClP@HHJTtF`pAMIly%`+OwBfdF6({$1 z^gvhJGNjoLtFFcq?ajH#Td=ece|{ zlU(Lbkxv-oUYm$#g`5Wj%>OMSA62b(DQdG~6u6}Q8AXlhOB_msynG*;rzP6N_(|Lz z#wAbMI+-%gFQ3J$>c!pNVGDmGU|$IRGv`u#IUE#>|6{bWIuSwK}kPq5<5x&oSvE6WXi`-}DAAH#LT=QsCw1Mb{^ z0+wBZCoH_ReUUa_C+8OT>Hh2}9*Es1tTq+RGW&n>yD#AYMV{`UO4Tf18pp2-xCIDP z>gK}d!XgkklK9`;vB9YOjT}@^TqCE174(2Yn%XRoV3UyB8SFu;B;6znSM!PXLE4v@ zq9aSU4^RF&)8ej|5?X1F64GnK#9_>fwdk$xD+Ty(B-q;g;FxS2*H7) z#hq~BNfTn%EOMx7wVlFW3|h^mJ(s8fZrv_-UG@tPse;w-7Wp^lrWZNVM6DZ?V^4YT zR{i`)Huam(1OQMrWTp;~e*<9@H9qSKoHs6aG*yuA<+%xYc60`WJB`fT>2}e zs*Fri1m^@r11gN(6l;kO5hCI>Z0{aBu#3N<;Sbr3<`)o3pvJV_`9Is2sBP2jlYN}# z-is-fY~%*n9hr;tmCC+Rs^K??e^EBeBf4{r! z&xzp^+(eHT>(xA@9sJzTfYmo;{Qb|4;7^#FMA>kK z&F=3ddTkt6TX4+&+idTqcs)}mHeI`SHp>9Se+3mhsWGNN$+ywBJ{`T_jMe8YKC_{(4|>c z)PX8m!Yt}cmAo1YxhGI;`mH*SQ9Ft!)K-K z`zewe2aORI4p0lUw@*5DIy}j#!-A9W8`ZT+3)3D`mQxF9sEfl?px%d|_bJvQ)B=>I zqI?wn??q}IS1Dql`b;X&i!hnL1ow9gpt^8nD-odg|L2lK!q{sSG!s?X7k5iGMIVV4y_ zC%nS;vEz@hQJxA~!}QZ;P0S9d@A9A7jMv&;Xlbe@6-s-1bxMm9yYLs=_`kxRnKA$< z_e&IUQi#E51@y{@bY|vN_32*xKKJ$CqRqRzl*Kb%FbYHah12QRBQ5zV8pnocn|rvI zlW7H@i}9(Lpi~9KxM)E4!`jKRe*s*C$!01iq6UyGB?%j<{(_1@$lLuPfCI`&J|G|p z2cwilM0|M&qQG7GiZ=}6^rB{|}ECV`eWd<%LUePC|_F!0TxF7*5|MrNQpzjlF5mFDyW`P6hRv_@?+e0LPKl2LJzM^%~bSEMCX z-gMXH%NY6kW5XMe0)T|3yh}S%6TAdyCF+bS+%I88g!y7zOb+gNa4950ji*F)n&TH* zOlJp#3!WG3WMjFl`FWT>CIonot(MoAX7HJ2_cz`YQGH_K7KOA0Lk86_bUSA#Uh<`M zFQCfx7%&JlfKEGzboat7jjE_PuK@a%7W>1`*%8}S0#tzJx*-RTnw>ekLqBAlGPvT$ z;P9V+x8#=6L~mY~{|@MUD?TPGk89SavKFvFMcnI;W5vx)7r4CxRB$ZkC&yJaegBLD!o_9&9vSc|9Cut5N5v5vb1 z=J`Km^tU6-95T%dr4T6ajRAspn2Z1uB_W9|szB~T=`=P8(=!x3slflVg6z?C1qnsnfHxiSDCMQ98mk~|;uVK7T$o8sp>66!l z;#G)H^@y0l`+R)=$zTy%ye7hUC0EKpyc3%iD;$sw)h(1uo5slKQ>I9+WeF-M@}{Kq zIRobC=b}iy9nRwUlh*j&q1#+vtv=t%V;{ITWWd;)!%!Qkb5A$^f73J?Cm`}5)4uShY#ul~dl=ce!x z+Q(nazwj~I)j=TsabKr2e@ai@_}?P0Q3v3$9NyYaW797xC5KhDMR}!ZvfjmfHAv!E z*P8%NT3h8&N9MiF z2z6~`2joIt;X=B1O|Jd1JhuilrH3S9j!Br{V=s=wbdz$%uGLp)X3UDtwImO8)_XX& zq_Y)ki=4JW%)FQPhjAGvYy_Pb`!rn>r9Ii>%9IcQ#A}z+Lw)eW7YK_?^9|-ILX2c# z)k!N7!1q8s<2+%>s+b@y=-mKXQOhjknWZ5eDiO%4VVk5ek=k9?sS`I=7~>Yku>#3f zK7-o!Zj!Si3(h4k2-|tp=o3^6E@j$v9`YwZNYBn8`+rr!OHu27Jym@F(Z(iP&M8Fb z6T?LTm3Ja5kJ=dfcf{R@OY=C=laXqe*(#hN2f*fFMB?Hhs(EEGJFHaEY`EbkEH!#3 z^6X(%sTe95fXYhEk(ZgDL#Nh}0wo5tudip8D02j)Ay29Of>w*AA%crb6lr<71vMJZ zeZ^_)d~f33@tp0kKOQoi=ka`xr!2`)N7pSjA{40Bue8I3i*Bk^l)%M7D?^#-#;M!f zC^l$?2k0yeaARWy2x*TUSxgaH%h32Z4a?{44dLohQw0ERrCs%mfdbWu)R*D-J(%GsEIk2^e?wudt`RX-)lGe>RWtCTKpj5|z`P6VHfaM=U~+Wn%zRH}>a zg^dbFWaaRjoRG!y%#8*=@Hol-zA&n1dxRc-Z_%LaN<%lulf;&^^7XkXPbxKe-GyN> zJ=gxTouiM2p4$N5&ahVmN&Bk4h>akFxhtx}vsA7|tW!$po;mL!HQ>3q}M1I_MmxUvvhtwf;#cDf|adEc|j=_}dAohN!%9h$qX!roMIQ3gw@-FtD?bK7p}?Gao2z&%zD zeZ4osjh&$Plf+d*-pk6&YEwBtVyU|4yxr*pTAPnJ*oUs`lak@J6qLHTOOgdm9VNkPHwZ)` zP#|=|vsROXFPUE^rX+-~SUwMh_31nr(3SSVPJ36JZ~uZXn3&~PABHvedgf!2n(R}V zO%q`9aoi4dbv`^P2W|p&wVe&L>0m%p%rfPZl7g+*$RXS;Qi-LaNkskkE7$1)UUWf= zEla_x&qv945|?B<{I3$40+b?U;JU6QezzwqR!Y!)5MdIDE2Fq8HpjNG0K~$eNrkIO zndiCc0YThV^&m3+)9Pa5g5O#b&MiqFasdO=o6&hfgiUY zDYfTq=eue_Z~CY}X5&fbrQ?@~gxaVxX_5;T$KLyhTDA)Yf*|21c=5E6Vg=T;tywk{J=`K2BGQ9AI5rjCYjsy(-Y)KnltTfe*t#OT<2mEbjIGvGVd76iEo)fTk^QJ^NTPB}pOI z$O0ma0{7*Q_l~hR6O}#+Fja7l_aPTNU5^p`lqZ}2u@^(C5dK9ZI)IodeEe*fB`;Tc zy^E8urP;L)CH`kv$11{PyA0vC1n!HAu47)3XO2EwF5&-gyT2{l{$}+4j0UISWhL{w zT(?`PH^r`mou$zqj9+1=cEag_0Hac%=e(B)z_&ZqRUm`1aP3TSh_@XSOnex-_TFW# zPMhtjq7h)x)votoAXZ9{Fg*#hFk6q#N`fyGQLC$;GVAupc;ysD_Ap@zUa8CQL2-b% z0y;0DX`KlDq`@l`HAp+0%)drkA&B-Reh2vewwdOmWq+~YPWwC3DOw?`&2jTxh8;@Q z7&diznZdZQ6BB!bKz@8Q04qzSzrOBWqFl{1Su+twqqcK~1@Y*O)h&@>$9B`$kjPSC z;9&qq?pd?L$BE4Z%f=F7eR8SL?a zHzH`T7wS=3Ozd$2%9g7zX;$ftzv3hA%bpuAT(?cJtWC4AGa0PwG~!w<)uGRL^=#C- z!ZEiUCfi!$Q2Gs%o@WeiesZIS^?}=P$09fO*|V(Djo>kyy4m=!$GO@Icd?fdcg8(g z3qR;H4R9K8O?i~97J=iShkAB{@)D-)`j@ywH;168R{x?P?&9t9opfr#`xtkTfmqb9 z1JA;|{=V40jH>fl_qPAj0@Ryhp}|oGG;ERWGh|VJo`fT|D7Thm00vGp+Y>Pu7Y(~>G3y>KS$d?hnir$Z=fKneO&<;W7|1_I_D>$J;g*_nN) zeLWdd9NEcqbb33sCk|=;(6zXkS(sU zK1oieKUP=;NAbtCI1^fS%U(+!uYBb%^XU1~*TNsj$?#z!rg;C0pj%rf9-$Ap3-79P zVk}O($c@Ko5&s=wsL1^ud*wkh_wE_cAE5ta5atW&rGz9ZdeE-)aCIW5=opDyb~4t$ z3DUA9<4B3{h~yV{0eHmF+S$;eTXGQia4_+VAj%DLH2)MtUhxCSNzP4(ie^Unj4+-5 zPrI3*ssa(}j=n+40o+F2H0QWhUe)RkXh9&&g-<$9cvZwWG62&G>ZJTpo!jc3Q4JEI z9PZA$!+lC8Jamb|z9qN*uW}KsElE7ck|R$T^w<^?U<&wF$$EUu6|QH3sH4%TB!uX4 zdE9lW86bJZXpKqS189XT$a+f15m7M5ZoDQd?iYi&>lnsS9K-yG9AiK0%Nv%Z&xu9U zLZQa*c*N*6!uo4e8Ne(#C|d@pHznL`>@~U~;z57}2;XLHr}|g$q&t_EqZ-##~9i2UKsGae^cW4@a%Q$^CgW_8T#^3xs$(N z#hE^&4E+0LX429K<9s1DZ?Zmk{6@MpYy8M6Yv_L>Xt%cVndU|bfEwNMha>sL z%%ra;4Zs1TCeq&SWPOSnvFSQ(tyDZFUY0{uj1jFa$gVM&1OzIJ)Yf*)0;B)J5{|{^ zteOqPf0lRkr1T8bTu^i18QL@rPmkvOO+k&!CjxL!&is*H|MD_sEpbvbyPL z&K3c4?KdT^?xR`ZCk*1`j$3q(>6y#&U8*8`zS0~$I=o;g=wxL8org&gIq1dI!tH>RBiN{ zU^`K|!nj82J{!j-B9B58ae&Ig3)e51)@fx5Hst5e7@A-ub(ZXD;^O17Pe1Ug0tEuD z#6)%*nO>c;K4fpqp2kjlO}~REY>ON~Vx5)LA%!k(et)+B!^vbZFH;q?yR(P^E%FcMM$(T;o!10`A-5BViV2NMeC$*g+()h@b z@s;qm-p!bmjUMg}9%+=25oh5hV%|`ny1)Mw28@D5joE}}0r59CHUc7#7HHCqtfW0A z7!$~Uowm&oX#cr1l{nY9{yCvxw*Kr*RUZkP#BB3MjR;53Luit^(S{Zc%Tb-uZ+9wY zelaJ7Y}fdESr*#K+XDdXQDjDKI+CgAJc7Jtabg5i`TXP^CHYD#6#v|5S5&wVpPtFW z6_Jl(Sl6nJ(UQMqtnG3H z2C^n`hdkX3PQYh1XARRO9RZ`xb$_8Q6DbX8X*)G=I_h)b_*`!nMUGm}PD=!=itj|I ztPs|Ou;jl)y7$-_1+Dbo{~9362OS*zQzIl`VV+@B>JR^&u;1?_8#G4esEAP;^>8P>{I@_=EN;P%zgdJ!5je5piP1jIog>SrGAWd-{ zb6E|RJ{FEpGkV%GVzwEC*zD9`)q1AN^~Oe($4HT|&9fpv`7;MY?` z9BU6X=F@i`B^)$YTCe(5gfe=4J`Z0W59MP&Lxf}H3AcDuRKhN(jaw}mB;uOOH1Ew+kL1>+vv3d{xgfu+1kivi@iMcR*UvB0$tLs zc?&bCXS0QteeZ77;0*M)8A?1&`S5QuP7mn}>RD`{S__1dZ}kw)@no&(LLWU?LRpkn z?)W_oD#9KgstqV+raW3C|5n`7Y5PKgY7ljBhfm^?)60mB+Q?1LILXE`5)NbA$8nrf zPh%aBg#8cv|8I&}^==pbjCDRNG-qhN7D}SyAq|Rnt$*-XDjBsIF zJc1}j<&awZsJ>zaV+|Rg ziSP9gEEC9R&ImmjHoC52VK+z^RK-+Zj#+-wBl(+{thDn>7S3;^)(@knoo49?Ai!J- z`-CQ_Zs)IC(X)yw%g+NrcS(V2bKSi#PgXlog*Nq{sZ2tR7TQqem?Y0{yAf29d3o=# z7d0)75KvFlJII2%Pvpe172#h@8GqU#(U75tMClrL`@fL4I{%NR ztA3~R|Nq*-!O=$_jA7W(G2QK88`Ir}G4<9Crr9vf(Wa-nyG>2UX1Z%r-~02!_qxs> za9`)XU$198YPWKIs73b5hX5tuL*rXia8a4SI_|w?DD35TuodNUNbjR$rva-QSoq&W zYnqn6?Wl_$zU7VweidTzoEqZeUyP>U?)S2kQGeK6IbJHV5KZ3vtMWAg-|yw6eB4kJ znN+X*!gFzPlsszLWDUW3WrqO8Fz1$*1L) z8A&;ZyZ>e}h$9F0b{tXa;Wr`!s1qNRypVcCu{rENNmKz`tn#%hgc6iLZLtrUBmcBR z_vx2Xf#Ijsqr>UdZaj&sU3e93sCkZd_O6;SDo08H5U_mB!fbC};o+@weHjy_Y9_OTw@dmu8FqrgW9w!cY0`5l5n%wwl2{~C6WwQWn zb9x;kdCw-`ZiM5GQm1+;2fle5^0Yev0-pp=YfF$!^fV+Vrk01_>Qg*pyOB3vlco&3 z-b}+aSf8OE=el0HM@ZpJ9=8CO%Bz(!R80vsZSO(N~-msK%M{f~$UPVZ- z?=<&lnW#xiW?9c$$@?OYdS8L1olARw>J}17zmOvLvWk2Scl6zJy1>t&3D=?5f2|7E z(Ttaj|NP3;`ap_lJ~=Dzq4ueJBh#BFDXl+@Z=JnT^^~2AB(Q5Dsv)+m+BE%_*Uj z!uaz)N#NN@G2{K&-hq=?gv3s#D!cfG*{x{gsGHz&9`bM5=xvOnNdEDU0?Z%#1`Tip z@b7?Efv?kK7F_mR!}VX+=}x`^ON~qG@3+345}spQqt;PR%5!#ae)e@@GW~qMXjhl8 z{G1L+k9z8OKxAhU*59Jx^aSAX^d#y!mMFPFu7P|!g%y$(H$XFG&dwN1S@XZe{)dO1 zt?~RCF!F{cEjN4i!?P40nS5ln)UrSfs4um2MB>$J*1!N9j2Br zGMfG|N8i4J7j6O$cd#6g@mgSjlAo{ygB8h>yXw3d%hgmj^$l!UN`$e43+ zVl#zq@?tS21|foSE`3^!Q6Tw-m%sA0N1&__MTR>B- zSU(`&RVw4{w@bwXgo`(fQ9Rk9=9|j|=$0)oc!+6X{HKH1R4nUf&q|q?^Mu*d_e1l4 z%bi`O&`Wm07|p;_nX&UXrQUZU2tLYsGgzC?8kqP+>=g4A@eI1@Iemi_X3p~s7UP1z zjqcEfu$tWp&LwV|?Qz|1<@K(Yntm{;qd}|~sd_w||E^i8Lrj%XG1@KdBG;$dsen0? zakp|+QgWDylT<45m;-M&jXZSo%eGk(3DH+;UHD&F>bK&}W75jQe9YiN1VA>%kh@-3 ztg0IL25{R3kbKV*&TS(PIop?`>|Il{Fcz>qBH);o!rXmh;~e_0Oz96&P9HXklCh-d zaez4V6NBQ(KEBtl<_Y_RXrh60(aeK`O(+}K**!%lWYsSX9Y4hd%|w)Jr)t#-#N* zf)Fh%Z8}VcAZ!Sw`<=Y>UI4pR7FInL2~svau$*xAr`;^MzY-ZJBKJk`R1G87>TO)Y zG0FGo611K{;gzX>_Iy*~#4e2Saz}!=E1gbJEoF+beKe8QeZ6gJQ};IF*{clwIuC$t zKSWbJ zkOW1cWLEQv5wrA#Q9Dt(+E=;lKR#T6b%uV-0R@YKsu|{<_&`~Z2fjvGT0d*^$f_}s zTm3Zl6mU2xoU?06zD5KxKBaPg-%6x9&#l^Z%kl!H_RO3R+wX_D8K7-zT0op(e^K)Be>~7-^WU60VT^5u%#a+!H1rVJJ)*aR|agTJXZ~ zDL(va^7CR}6QpNc0FxK_chD@Ck(A?~ijvcZ~tdsf=mnQTPE3-aqQ{8w_+XbOlADDV;P-sQ~f3nlA8 zZx#0KHY9=d3T0uptvwraBUksz$8LRLQ$j~dM<9?0FuCh6pk3AjcWHV?+2^9k`bQ!Z zaryrom`igJN@~mhf3f+ss8d z@aJ{6Hd?JHiE`*7!k1YL?e&y9dL};-+4&rU+X`wf?K+-6+Z-E&ZX`>cuF!K|P2j_w za#=b8ht2if?Y`LBOTnmeiwa8nEgPtSb~oeGhL_OQ%@kW7iIh^7q1 z{7SnAWo^ZavuhPBz-Z4Y{J9`Ng%Id0m@aufl{zMK`yL~E{j9I|#oMMp`)6ws^*A)E zXO$CVas7sHD=!jECdPPxG~zs106a85bMhj4Uz6az$xyjQ<66<1xBQ#ne(&Z(?l9C8 z#kFY-%>xy8*wWa~-K@m0%ITWh;6rj*91afUcY1(Q5(8Bz*uhsz-Xg<+r4hD|7Udkw z{z6w2vYY}8#@Nu21KhXF5Cy0KscDjJ`fc)-=;b?MZ>&d(HVh(0gKym>Popltq-DjGvaU!SsToXoF(hBrJisQYSf4haMtu`U>o;YpyeXexkqk7J$xhAVO&;`eCV%Iy4_?b>HZXSIim-=VpufrbZ=2y zgOQGa=Y~(=QJDzHt9;%(Uz-{T6{;yC1H=V6k`RYAId5SoUlK)VF5({wOSXkah7xaD z{G~VUa9@&p82Ua7u5|GAA5f|+MJlI*Y~w53EkfI5#=1% z$*VG2`2`JthCd0=dGCeJ|2ej+Br_XIDiHTkJOsNu*~fh&8>k4RgT|d34_x_VaDjK* zZ=$_-q#OhcBn`2cqTi9J?Sh(79cU~+uOdk)YbZTWA+K%J!wh600;J;PGDENPix8yJ zi~U~kfDgaIedhr#Sj=wJ{c7mx=}W4*fJ{&wSKnRn^nKrq_4^bTiZv`KX#F`H($F^9 z9S!*C$$#y9NxkV@K{2(9-saK0`&|&)l%M)S>D40HBO}mXDczhk396EsESRMTuyziu zLZ0mgW~6U-YK)(*lb)*NM7!P_yv36H;R$zIVDiM0BSTrOqNqEBH(4>6BOQh!lzock z8+I)m<9Ptp9i%eADC;9-k2F-R83xc_n&rtdr0P>s45+!o!O= z&LB9D{zu~D1{qO9=F)|Kfbh+g$OGQ$;8z|{A&<1ILrelH*;u0U&kjk_L!L-aM0EAm zV1C#SHLRWv2C-Anen=4SDioxobR+AnZYtl;X?dyNA}z!DM+W>hc5+CFq`yUm#}lvT z$MS@?YjUN6{>FfU`%05p_#KsE?p~I}!M=BSI#s8kGSyxN8+^HMG$OmC{dd0FZA%;{{gWr(a9QtXiCR3P-`{_o&Lv-i5I8a_r~iv} z;_CY(-lC-6)26!387FPM<59vIF3kck5lQ#RzW_JCwvrv*n|+YI614Axjyhejyu2ubws~*F zF3}P-8Cr&Ad>ubqz}CJ0I04nFq8)Z3tKfPY+s8A#BBg9O{S@DR6ZGxh+O_|rzspMP z#3dVf!!gg{@0QxneHe53CHjbV#u?~&PSYNuAgMSw5y=$lu~9(YZYv18<{(MOlHvi zywzy4YhT-=G(zl&-6bWAp~@TSYID);XOqMPX(_fnzu%Z9Oa1Oh++o~7XNt>Z4xyuO z!ZPK)ia1{iLl9hroB_DN8xO)w?qtl0X{~NoG(R1*Uyxrg@$))--0URti!53YhgM%m z+vsUi0L}cMkmYp>EcIw(8n2io1LA2z7z#P_$?0n&GaG869)dxe zjr*FtG2ns{4^*X0QTxr?9XZPwvEkuGF_w$jIs;E)mx~Nm{H~#hA>$DFeG5pUVgF-} zbp^AvtGW(dYw7n#B`UeXBsR%8pZ018>kX=uDH^2ask|gup)~m?h1918h$}1^op1r+ zLs#>Y=g?~@VTF@~G}LqupWo0@!M?w>{l0Q@feEdT{(+${k;&748JB^WkTuoiK3gP* zoV4=79v-qT!SKZ+eyfr))&AEtt{@j1p@78}YALKHbJ-w5HawUWe-CyG@YhsjQSgpv zqvxb)2B-hEO&vWZiLroePc8=<}u|ocguGCYTUb2f*db4C#siR<8O#N@2 z6jT8_ezq|GKKJfix)BXW49SQ!ODTV5a4U zPg#09SDvsib!|5T`2jAK{jfV-o?zBgUO+ctzc&>Z6-H-VD00PLL@ydgjoZWPbKrT* z%zytm=l{6?6gy#Db}xfbH5`tK->*v=c=WY5#Vr|&nX;LQVz-#p__>0 z+bWv$Hc(8@0j6}pf*>gB^Om!2q}csv5Z`R?9~{MUW3iELydOLYGRF=WHh9{2gyuXV zub9$grlMe}=|ruwGJ?CQ+1SNk6Re(Q>YwF1)~cMi6Xnm~bVNO-WwMdXN%GH!1h&3p zjZ$jX8dnzw4E%b)~I&4`Y?C4g`)OdZ^2}g`}=;H>f-D^m^EGB@O8wyQ9(`t_&B~qGj@rv{*x3Qf`|-uMNp`M`DUE8t%oLb!^)%CezmLTk{se6 zy$OIDb=J8k%;M3hN59jWjBXsQ*Q=A7??3oY%s)#5=k_+KQTfg!UGClhaqVQHT)7#x zqAq9pdb@z5i{0`Npb*q_Y~}=aprK;)84Mm-L13XnOrU|8&^Fw0!emHNDUhNdpf_11{yDx zox69(k+lWl92i*Kcr9?!Y1F4~;%LoVmP4kN?1Gg9#lXmR7Y*3^M)^rK1C8I9rf+LI_TaNHi1WlF$rYh%(7Tz1g zt{s8ZJLz%tbD722iC1t7<5wl?_vT#H6+yeci{@OC3<6TDW;G8@2b{wne47aqOd^0T zMfz=88z^Mvw|F@eR9j%iULq68{4764xKu`LL=C1sZf0n0M|DU(GUL34JX2d01^x6D zl#9uSORSCoDPPt^vInKrX|FIeFGJIB^jvS~F^NxjQxEv?i7uoDOLc!B-V{U%bCYN2 zcL@z&e&p(3F4pw+T}Y}>$ZxQ-45NJiHR?219lJeCQPvP>7Wsp?gr;jrSDhujSFL&{ zc(e_Z>gCHmy0#i2i(^AoKZ`LRLR`L5kuo0kT$W%hJ}d5Gc@txTe0)yI5HW0U!h zn$M|oSJ96Q8dRlk=z*umV=Mq?d~Mo{#xSi^bFns#4&j61OW#vqNoil!2pEE0O3f~0 zC<|V;VdTURqS{#_u(yjBx1)u(UX9-L=EHf~Sm=gAo&Qgdf1+b<&2|AF$-nkz>-^%t_=R+@-t;ELrZM z|I%d0wFEde_~>AP@he`Qp)bL%I%pN|w)HxHV&gM% z`@J%a4V_Y9$Vt-*{rnR&_VFPzc&h)1U@S|D)OK=cOMBJn@?!#t%}d|4@U6ebF9cR+ z6x<6rTb5&(j;rM-3Dhn-vxqNUtfL#(B`)OE@_88+?7ow6J}~aGW#Vz3+(~chfM@gY zkfgn1E~z$;IN*qN_5#Y%-&a;+Dw_0&Fg1dxn(u9&yWv1-dB67#{wa2l%ONpabaX;s zT+A0E>esW?Te1!!!?;9`Z;?E&K_jPHHk7y9PGtAd9ZZk#T>Qc=VQ^4q2+E`EH6lEa z=51%lCLDB5>IPMnIeYndN79hWSe%+{Rdu= z80?yP_r0X3MjXXHCKjc`JuDRZnMJ<#%>o!=1g79gEv|=~}EqOK6>L$NpBy zF*N+Og&Z~Gj3(XuUcj%G?_-<&j_T)GGcDR9D%Rpssd@4oiyFKZ zDdneeU_eiC`p?EjPKp!f`=FM^{@TOs`#A?c`Yzkh{LmD$S&P7-3Iov9Z^@~jkWZ|8 zRH>i8;A{r*C53F|>iptF=oH`#bE{r-)87zOe;4}*Q$BHhPn?26%gexuc&#=^(NCv(w#5rK#NL5-$Ds56>0POLR-);mF+D(^6rJPVUa zKr6u!)k5Kzm57sv_sR^x*wIlmMXh$0DOK14z2dp`BU(;1qU2@F@hsxoOI*Y5R&LoX zGP)Hu>!Ynpc7X-YAEzvk@f8C=z4*$W>R30*2&vleBH(aTHVj=VXJWIy?IHJ{RG(tu z+DmcD^;wfvlyVjzx4V2}?Fi#Gcu={t*Ld^qRepff&Rr)Cl1Xs*;4Pm5d#bgAPN5Bw zTK{JP`UCO>Fzzc$eZ>7uWj3xaK|7dvDirS56}XPP;myF(2Xcb$tjFH9~y%ezMJ8n|fAnvAfGUlImu zzVOgJc_6&{EsVa^etX(OtVOHAei1rvAb8ncYgQCu%k7S$Cd2C=t(l683_VURb6QP* zbiGxnSHzV`h0XD_50Gy$%tOwHODBd{TbsFp7*Oe&H zxRLNlJ%vy|*OEKBJlky?00C}$ahLVwJaP^WkV{6%$`?-K#y zTHZQxvr2{?TLxtpzn7Ez8vfaWl!OZYWsJARjV=WE;ozyjH49SgILmcr%reAEaE??6 zZCpV_L2&*Eitc#5V`&nsKh_sCNT!!mr5`9pB>r=iRHl}7h*jMp(~RVR$HZCFzGY(& z`NSwx*_^Q?5O2p+ytj!}`y}Gr=u6$p)6>A4g0zzx%6`t2J|3zcj*pzc~ z9;f2^8I7p(`Hyk$f11a&Y2!9126A;Rc6Y$?L-r>MW;NPiU1OIe&Nfz<1~X39>je{k9P&B;Y|Dx*mrmQ_2L1kf zX_n?AHIXdEkXV^zOBoS4mA)MR7@5I~hd$3&dgj0TEni-<4F+gTM*sYI@b0u7rR=Y@ zj7i_tlE1uswur`<9y_H0_cLefO0W+s>w-&5moQB-a7}re7u=e_}QZ(IR zZ=;mccS$2yQ_auY9P^;e7Us2wUuRh<9kGM#rPzc+iDcbe6-5>q+9%AEVFi>NrLtm+ zYD7A|q(!u@1ppy+RBiNU`N+Ki^DK{oXm2%lvrjLFO6>&SIiqk3t% zQ-6>^m6U7Xhf!C_1_z}-D^iw$%K;xnHV>`r+BHI6TA1d3Nnk*8L{aqL?+W@UH*dJ=GhZV!8XW zE`qb+4ThK7jxXB+ETVT>2fXzsSMy@$mP%fdZK|}>#A|pcHw-V<+#7U%;YNJgwEb$A zK~(<-FXUHJVLuVRR8AO}`{QCA_4-sj-U#uGpX(lTgXwF_ag35M-`>YdBByWTvbR4} z(UArCVed9w-wdsF2p;;+9o_(4;C1wSyP=(n?o8#T{+yt{-B<8`91ynUQ1cpoEYD3^ zh_44p+;M79erqu}C;=E=#Kps?ttWIHFQK?h)Yf)KG}P8SnV*B@cDd9uiwBZm!LDqf zuq?z3M4FvY?oB2B&v6+HCg()$9x!Fz*Af|uAqZ&o5>+=vWH8zeLOxtvR}H2QkqLhO zqcmLqsf4}1bB$x6-1nmv?#q+?OE2-6!8;qBaJF54P586t9OD6d5k4X2Ak&h^`QR#B z7HEfn<$gk=stP>~u?^v#s!G~hQ{#@3C!0Lqr+Uy_a?kox;6o+R(<>SMEb_X~V|jG`y&Gy-LSP;HXg2l@89v~*$6qg%>N+m0!vB9 z2_~~6#wKl1_ZRP=nWDJAPkV2JvrFu3n(R0fz5i`gdCX-`2;t$RGdb&Uz#cEEq}l(` z?z@VB3g=LtzP5k@-%`QY+a|#L`^-4q(*chOg=W5f7{4sH3Si#!|L`K=Y#=sw&{6`a z`WI<9*);|hJr+m|AMMviOij^HLA`G~DtZlAF<8Cgm0)c44+^Qc@pS0OI?JRO7GZ+4 zvb3Jx7eDyTq5fgquTs5l;R7zKpH$2*c+FAN0jGjpB4SiKrNK4tIicI)1o?*)@Lo^x zLwcp2fHk|ZEMXd)oxt$OUejv#8~I;FWvJiT-2cSB=5_Kz=_e(o{&nHU)5N3>7ov>F zt_qoFslMf1HPB2s(1sj(pG06g(bKLn_}#2fOfnjPOS)Sdl?feC9rA=#8TGe9 z)H{^*eYh=cGryyctOw!zVt7RM_D(#i7cv-~dNx8a$a;r5tNS}a$Fr*$RzFE-9kQRz z>Md8ufU2oo`DKLOq1$1bX_wFlf}R0wGuKV={2Bp2Z;S`Q#21a?vWW3Z|h^%hcBHB_}3L-fS6q-zf#z5L^E~izNLaOLG zru!Oa;V4B`yiNWQk4v)Tx2akF94N#tl$1j6+`0Pt4>y zsZGet{5qT1hEY4Sm<)Wy$*izRCmXZRXJ4x`?x-_YI)e`GwX40TgIDj^P$*d{3agD_FKe3~-zmk6|R@?YBBlfAotL$`tlTKjnVACy`X03id{|VEd zpT^REjYvJF34c5lYBx9__jLljpD=V20wUs;OaIUKK@bd#O1K=x2E}Ulzf1}!?Gf4> zZ$mLERx2k4u{Fz$Y;`^whgrPtrcQ+s-4u1u2noSq-r|>2V1L>3zTxF zCl2p~0*GXtj2lUm#t_0OWFnZ`G_ERz$HpOHDbJMWEMhBN0YQ8b{d7nr;XT0JqssUpKEhN!rx`?vf5Sd`)zB zc&~2kw-@6Wo0y*s+KFKAv0eb_&#X}iJE44^M3_P!Hu)D1wFWc@`Ni=z%Yqec(yRkJf6Q{a^8i z&Ad@k!m7R1;!5rc2hPsoj#K-NtyK{dY;tWb+1%`M?w>dg#!{+(%;!=_n}Vi(_Yw+V z^)66`hza~AA<&87X7j%B7Ft^qCN(H**}5w<@b_qEer~e;_Wm6q>+qk`JBi*W3rP6u zV&8J#r1*qR^d8Z7c!;JU8D*_=$5Bq0m^7+XUeA z{t%=TG%!q5GcfE+wae_pUw5ZfUWSj>OWsdCVYKGH4f*-~^xTAs-mg)?3w7E1EP63cVcH38AQ=5Dn3Z?k7RHA4Sd*=5a`PBgwzk{3XnC%@h4y4zQcQWl0ck ze~O0Czlu~@_OuvVV&oOGqV`JCnMdRiaaWuw6%i2z5XzUHJ`@`jl7a%hz4@mC)yb4K z#tcj^M3T(A!xQruBZpI|X^F#L=%L8HDE80rrr1FE{6L%*t8NH&8!M;u6psY$bsAj= z(Yt0>2%55Wjz4C@JD+M)-h%r%@ADhBonMsIO0AiGi+_IgCUz(0vX}aa{MqRh{exrl z;eD6jADopB?_D7~JH4-j83Tmhe;4|Q(8fzierxu|2Yb|)l-=$k9;04aE4$}c=pEeW z2cJ5~qsO~Nb~AspL#xwWZ=jI}|8_*1C~AJad(8&x()Nj(GyDm|PKBc$N|d5zX0_mlX;iK*{Kzonyi zGk-?K>-?W)n5Er(AH_@ctev&po`>ynPxU+fJ7%|Aib>dtX7a zlqU|5?-k@mkoRU=lhu+P*ouZBsg|=z(oJ3zZSj?|x0QP$E$+;5yb#U)$p{cqTv-b! zoSQxzkn@HTuKD+0d#!BWCz!*mAmlP@N?6#88bkn}l0+{|K#DGiNiUq=uKT)5x&+(D zg}(&1l@CHwZaC9;J7(e(BjG&S%@30GO_VMvk|w{{uOu>{t^2nIg5OUu6UvS76O16* zGGFw@2S^VZ<&NWcJBvPH)7+x*r!%(lt3QO{gn>oOeEnYcDXoX-`q>3!EvDLmf`bWjg>-h#gfGcL9 zlTbkpBINDP83WPW&KqN!ica?YaksH3KZELv-cz`+!WNdodo7SO?jFkALGeU@SehNzf=7r z862j0r(z;QiTKCB-(>vp1A$XTXm`z82x=B~16Hhz;!$nnd_$h#KO z-ER$g!L5XFiR&%+Xc-`ebvaGkuEaviJ z@Xs;B?TawLu1dczgy-$)M*Aa-yuJ{{ZjX8tf{21x_Yt7wA9M&~q!b6|_IlmNGmTw7 z_2`a}G`z@E6|_!Z-!Mk63Q+x+)*Y&61aO@j+|^NhZTdrK;2 zYRoeh-dM=5@vp`$)$LfkC`&BXeiIiSX$C!v!ShJ54`v8Bo$hM-s|r0}j;|s5J|)P2 zM=>oW*MF*&x-EurN35yf*}{{4GCA0)7kzp@EH1Fh+uLs7FYwwSzd;>o$VyW(tT%A+ zAB|HZJN?X&zh$H(pJv+)Zp+vFDtElKh6ziyw1`GRx5l?rjo54IOBWaNi)5h#pg|Pb#s^|w^ z`!p$mw|6qm%`c63=(^^Yn-2~85D=oUt*RjQD@nd#q_CdZO)vAkeop_N&^puCL&P+X z7O{p5AoEV65$6mwwOd`Xf9GBC zwhQU=t&LmNVakx~T+#q>I=2P0Vl4zq0IVXe#8TNep2)Ap83}a?e-gD7scP@bb4kQ< zq}hd5p)p~DUY^cTj|$hi%O=lYZJsiJqL-M*({0tM9d7DZ7nJ^3R)Smc!Y4r=gt};L za~(+{P$Dtw{D&SpxM|DfK?^(OZ}5i?tLKtRdv7#CYkPMbvK}LT8~8U8d`zG&OCYa;o17V33uxP9Y&j9gG9Ze?7Cb1ms-dZ+LWE|6=_MxTGr& z8}3hw4?)#IKm)jl| zXIe={hk883c*y7E7B9;`;`1A)A(->>KIbx*ibsgI%S~vD`F)F%j6$^WD_S_iGDyBD zD#*#hVv-$VXR_L~f=+Zu%z;a! z)!3(298nCf6+urGSr0+<77VO3UbeI(vz95MaVtnBi}Y07YZ!V$rIgi9S2&o9Vs3H% z5{v4USmOM8yf|7IS`?BKErGcD#ulTAXv2ch_10KesIEg%dRxx>?W~!J4BpOfsvg!( zNF{JCM_VKR`Ur2Pd6BIN<5$BvA<+cU)SzC~7mMF9Q_jlE741|wqTB3#{Ht*%NqxMa z9up^x<1o~-nE4?5=--N9Bx_T+?KZ}X7{+SB;>!!j9T?_<`G^j0eE((@IC*d7=!Fo0b_bO$3)we=G5H zLt_P(j0oR;axIqi>Ec%HY>aMJ$eNyJz=*aAK{6P7fky^!Nb&8AH(2)d$IG)MrsDnt3 z40@fht#?@_PurYFCL{Ee#Ze|jicxK>Ike+Mfi7PkZG#XAPfT<6IHNSR$|Tohpu**R zb&~nw-dc9NbE^EsNS4~Ng_`embe?)-aL-It!?t6l++SU|rBLGWrcysBQn%BAd zS&4m32f6k9n9jc*aN|h_He*ED^WXA{znFfTbTk5`Mc1LhXlSPO7BdsbQQ736tEvEu zkOfj)HJb1RZ#T#}B?o<`pykhI^2MTp8Zx=Mf6-(71?m9Asoff9@D5Ak=*1bLjXXB3 z4(G)dvkjmPxw=T467ynEeXeP~-w_H`%CMVv>C^MrlZ1g-9w?78z~*xq%5W6>^p=ug^(n15zd5wux0aZ@;7vb)23K+@7)|wENQY@1~Z$e(^eX zg2T9-sNFG=i%Sbqr>q$YY%Ot|X0Sj-w&t4uU|4uT4Whyjo#h~Rm*vFgI3wtTG5}go+q?}gmE*YRz zh{lg1(Km{k`uw51yrgGopQgO3)LI(M#c56@FOYA^o0Wo*DS_MnWss@X5wocLs=IDV zG*wor@2`V-$XC9Oi_EYyp>0&&ol@%0CyFv*^{!-n`qwF<8=LgF;_n3pvkd>0RL%BO z=#YGip3_dNLMk;T`8d{w#_&+?`di|<6;qw^f*(#w3-`lqaGg7fqk-A)24WCkNx6i)?luV5Gbel^^sgd3nk zZoQv&!MI1Y%rkO!GdNW&o%fV2F1!}QLShzC!+A;Ur${I5{HNTGuxyqC+ z?iAW}CcZ!9DH_U|HHkt7mP5=t_`#YHLS}#76Vk0}UUZi_4epk@QfIyrj}1OG63HRX zmI8>xZb_jDF?>oylR;69_(jcS#36`0V8b1dggHCF#mM~@e=Qx68_%Rvid%&aZTVl+ z`+kBOrTKuLTnU$Fh#j?i%(dvTaYSM9bwTxWMVSZxeFco(L-LOq|17jkbz_T~>P-w+ zuJNGPWZ>n@ATLQjOv2LMY*r^XF)_Lz;hvS#D;Rh$O5uc`-=i^gQ|`-fkeE|*;qp_H zj*?%aKCYZ+S3ndsQ#C72AvGWs01+o)+Ws8T@F#_XY#SAm=Hw) zMhbH*5b|O9HET}X+3rPXMajq*|-HMq)R3nN4*iqkcj4~-7kNHAC zcz07JmPWEIo6t|7cl;FrjLZjH^=m$g!9T2&*BAqZ1^5cioYLX|6M5JT?RRD<+jq;_ zQ0|#$sis;sS_pR?JCoGzo;875X0(|vF4Ed~j%lA)b0p&=i77^?6&20@{Z*dldGo1h zh|i4EcEWrINIc_SY&vR%r^w!xEtm`RbEjZg6vVGX0Pd5`{o>138z#})(YQxdP4Q`K z0{Z*fmQUyj(zh-t^H6$d44zWF9NRHX5gC@{7L!s`vZOGIVnm%6Sl#$bP#38bVEr&l z76Zu`;`DHhnXAI7-1*$i5))$;k_DSi8?s8 zaJ{VRO9w*MujcCY4d3*xwAWE9^Y7s6?wphSL3v(-fAx4-j0~U+Rc7M;G$T+qERQb@ z*iUVfrsmTm%e8#8y~T~`9@hOfGzM3&j^x-c15YCgLk+FdOL*p`-z3s}d(Xacq|2R~ z(V?aBGhk}1(VZ!v^OJGuZoonO!Z?v#hiw!tA&y=7v^lJz3<3XPt=7Q9k~P!i3$+I0ISeDxPMfx&;>@%U*hr!8CAh)@Ap$>Y-sg90uagk z8-foeYzP96V7q4GIz67>Pn!jDju>31=xe4-v z2XHM`96Y~fAIIA!%k@f@OQ4k3)ux=-_2r9U57PK3k=E`a0>yoULhHe*#HR+^*Xxr? ziONS8s-S-^3^Wg5N})`trsPPoXGeRV^?3kRrb%nZGib(!ekS{@D5n$j_fvH0$7Atd zlbKU5Yey-&Z~rGK@*g-?%%hg z#I0`<$oNQ6@A{HGSkD}o`?4JRSk^gvaCe5VkF;#tTdX8A zI)d8Xa>ytP63(buZSCCfC_mN}j*PI!8%612YTva~RO>k91N}vCyi5p9X1r~D`ILvP z(DD2p3S~f0PrH3%`oUExTowck_8DVT(NtzTBVh=`9qjS?=#Brb1RB;~n88?bRiX^C zX7&*@L5KcMDMO4Luaw_U(-Y&@?7S6AAs^^|e!y&G5!dB$;sABRH;dEe8__?$BSFU% z2PV-r_b9ZU?!RVz@O*V7BqKMLpGs@kqFW3*g|VOsiG>6M^?^KmAu$9cPwgNV9K=B= z=S4W?x-Gc+rf(+{zawP|S?fPzV+cobwqbPh426XJ9$ygLY&e`>|9Vo>%;N4)na!+8+)DN-p`irXaMLYkbdKq) z-^srG7~`fl@D)o|ZAthaHC?9Eppk*)?*SLm0mV_&?@C_ZwSV6U$hYF9P)BD*0t>Vo zZiQlE>Hh~?L8QKPScIaRIY;L}%+4_#fVgK9+FRz~=^Z0HzNLwm6t(CxMN&f$re2I^ zAXJHtg+@#qw69!+Zak?%2?!Gz@bnUr*oG9Hge2%Dra+e<$Y7W(JSGi*kt;*43XLd7 zM=e94MQV|l0_&ty*pV_M7-r@$TmORm0xT*hV(roe0u1RQ1N~mDxT{c(z5;nV;lzM= ziK#?VD>EZ5U^*>OKK%=(o;Za`M~`Dd_!0a-YH{y=e7|cCzT3VN-)`BCv70ty%#R!K z&6;)iX4P7ZS-T$JZrO%$v~c?5&zN%YGGt=o8T_VGE^rtCRpS$&LH`EA4+aA&P;iE_ zc4$gEcZiZ2OwWR?V2ZI!&w^KRIbu5BF$G8fEEg2uEvc&gL`mQ%fg%C%z5v4};jvbj zA!Y-}0C4_8H?}=$#`0UYv9PoTZZ`_yT~r3&!cr_KEXJb35-cq)MM!Bm!pbVKsjU7ve^b}8 z3r8pYBWIDwv_g+JQZ#oG3?EjCdRuCB#4qm%Fl;iyhh}2|h8F05Y0Dj@AN++@Y1m+^ zwA~SSV*|8V4g&F&1c-Fe!h!*j=7$~RF1=&W|Fll8w}oz37HQ*Vk|;Slnnx{YZuq;Q z<{x+gza_9nHeCWY!Y|cpG2uc2 zl%oiQSD+pf2d%hk&}E8HP=eQ!phL61)O0MqRgVSL4R9?g$DA8QFi6ROeo`t7s3cHK zNMbuR83+@E7U?Ho$lIh`8B&{+a&Ep9e7;!-|C>edy-~ny|FnOTE;Z1sQiF1O42Urt zh>=l{y?6<-G)ue?3EA@(Aw!PGUm`H|%sEW{`4?7`PXB^Q^!W2xO#USTlh0jX(3^TG z8q+SvU|LixWTIms8^wzQFpk|2q(i!@@z)ptwXP+y9|#N+lDP_`d7vaCD1jiA&=MsO z+GXX!JS`JTt8XEzx0gY%q`#j%Rtr`08}%tT4hP}`0fx;29I4fsAqG+f7;d@u5Mfny z@Gq*wyv#g!7nNc`aVZuSmS8cdLNY9smSb7D1ctm#`eRKk)>PIYsJM(NcQQSxQRx2S zB`8H+g3hH#sGU9ng}rN`v%?>j+g)I_#TM3^Env1z57t4`5Vr0+oIE)Nv9a<MPGa2d6O+3-!W!tu)bOwwH2DEDOJa< zLM6O=t;=$Uy=`QYu|ijy6Fzh-hGTjpL~%)&o6a{GQCpO1emWf=7TTiw!!eHBq7U5^&XtmlwX%MnDsh|o604Vjgpc?7pNKMi<85Wx; zzYf2=D0n2Dfz636FxVW#+M=@wggckP@xUtV-l>Qq+sAVd?wNv92W1g)h|dRkTa<&5 z!u4dJp| z08;6&{GiGbM~Ierk|ON4+!_YY@XfWy%gX+z@YMJ}{=VnWfBGL1^_7#P5q_^+3lA$b zdzx?QKmx0ki^#MBPaaZXZGTIOj1$D@vXaVsH zOY}XrME6s3d}uO7`-9muKkRL-)9azgMSZ?@cR`Zq=j^LG6Qw`D-&>~t{#TNH!Trjv z{VAwA`O&h5EQD02_7eyPVidK)f!_Lbwr^B1G8#HDad1w{U=a$Xlc(|Rilr<|I3-vD zLK7CDU|B*R5ypB55el2>m})W#_RgQdk+#ds7uKvDpNjjn`sjM)0`zTRs_^}DUp#Fz zMN^Fyp4amOy=?CyU4o_)IQ?5#8@228LOi=~j;01(G}A@z4@UU0ct0jwxCWKzXr{Ob zgqrMnx&Xoi4necDOhmSKFtu^+LoYVoZN{=&ci~-H4WqP7=%=K^kYFgZOj$_-k+n#Z zI1H~#V3<76CZ!WZ6EGaG(U|50W6;%v|>x4EbDMM9NP`;{mWss&le7RoZ+z32G(0lVZKrop38o~ zjveC=@yj&CU6w&zp*+xGjP5oQd~7pA_gg!N>3Vs02zok}psm#z%@54+;I;v7*XW?O zQVTWZ8mK5#!M$o_h`UW7?xc3AIXWqr-QkS12b(b?CXuaFqb){W*^*OJd2CUDh7h7> zZBYu*FImiD6XX^hNo`SK$+l?qLU_lY#J0Qnd_Kr#gcZV^a1expF#H4rNez-o=1Cdb zCbO$cCt6f(GYXkdnyCT6nvpf(f;biab2079k=dCl_C|Xl`hZ-se`lRm$4tOZa|L${Uia^u0UK;Rw*B5(YyH zsg^0ZOf4aPDFLDdK0GmD3h`B=LI1NlJ@Ly1ebnF7?krBzJd_@z$qxV0=SL==-+}md zyaZJz*DY_%Cc{ks@Ka0_p`gXvW-0MdxERGk;9Q9Jg*RF~fVK);$n0^CWr@st1-a6%K`=WM)Xw3Z640^+D^v2#ECLOGPkrqbIeDEH-~580lTR&W_xw2~eCBa|QA- zS0G1ljE=<&0vvmk6unK*<26%gd&&!~PemaMNKpuls|nD&MlH}m0Gdbxkk+MQiu(s6+`6Zwn?G2@IPB;L^M>0l=xYcGmU`Dy@WP zW|{4E{x>SVWs;ipvlr%nO&5a~RUhkW?WRfsy8jG{dFCzclYvrGLkZmoY2y z60|R0hUVE*&^WRgW(Nb|aKHnOyB%P^(;C)48NqSoOa!kSgTuSWqOM309jyj<|B^sx ziEc8T(gPN@>2Rh?h@9K#w_kS!9CRqV^DX zc*8&MERPZ<<2P@?H$g%8YAK%&vbJcz0;rH% zG{h5z+m|6YH<}q-2!zxc$*&$v}mLF7S z^T8PsqYN2hm>L`oK%x9e73yJ@FDXM^DER0=o?z&$133>WJ;-?)LCN0+>cV_bXO(~7 z-2Feo@7VSrdLCTAo-f+|$6?6Zsp;1=w$~SH;a-`j?{T%Z_*sK4UftEl+Xset*EAa+ zXl~d-SL`j(|AJuW47~RPdV~2nr@lboBdJ4Ypxq9j8QZdly3#Rv_k)LEA+Hl zpzDblIvyB{U*9q4dvRM|{PMN|>Tl|_m!@eQPQSuWJV~G^`CNa0k$#c1M{81UEWew> zuGCAigpyg|z;>C;YnVw{!q_-=dyf>MMQj|#{J09^gPburSeO$AaKj9bP-x*hFK(C_ z=_rRWrr*NMjzB0xD4ajXhRx$pU805dr?%+tS}r(3m*K^I8#LAFqNz#^A72|m+-ZrA zG$(v*5AjEGm>xoZ*N=GHOslSD<7I;~GOFAmcjY=1qhg>m41`)VA52JMmlHy2YT1)- zb-$Rk-O|C^Zl~W84DTbf`Zj!uDq)zC0fW>`7^S2$WynD|s0@vSlC((K<{3d5QnZ3{ zhBOnT4K(y*%PuC+lNk$w=d(v@mC~&}I$1( z{;WkxFf2t-NjX!7%gQRTva%X$s%x-L0>heHOdV1i)h92X{qREW;#ssb{X!(vFI|St zrHc@qJ_MaZYhiIp80biTAk|63+=g{k zso2|8#zELT6of2XF9D*II+TVWea!x*G6vI4jkyS|NaEKfl7GRRpLejfC^yOk!DKs~ zURr}KyG1x67-dKi9^Ws6bBAPb?f_SWXGsxKo=~C)h56v=sZ+D)TgPr&QGUuu`l4X`K#UHtOTeeM6QHeE)>hA+<{BW}!92 zuN;65k3n@P4g-1@10N`6;Uu(6t%kx-0>sx=04*AMVU6BaOLR4xq2r;k`1M`G-j|K~ z{ba6bEYf*jmaY|X^P0A@^ykZSh`&Q|h+!tED(UKq`?-`QWFX}2(bOT^Wt?wZXCM^C zT!Be^0#=rk!8s`fV<|!r>^2C(z`>oP%sEPi88>C-935>o4o0?v5emu@hOHip;u~~> z%@Td@0+=G~|F90P9y#C%E#IzGM`sHy-?m~P>}IRh7O_LV>`3o3H$1sxj8~0n2+Y`n zsZmK#iH>0qREfC))tESF2xo%`hGg^4_}I;!$nS{7tOZvrfRL2o$v5w@s`fsDE9&7> zSjlFF1Vd7W28pS^YLiM}I9mXssh|wa35JOrhOAYZn!(f|-PEI7dZZ9Na&Is&5)57G z1W{%-+to=bjEpK|S|R0TkdVmSoCGymdM#p=AXV3yz|BHrc6YOOXes3YB@u~Fl;qbw^)b?K4_Ar9)!}d$ zJ`&;;qzcc!>%!Lh1_b06U}<4F%p)$r?s_s7mR7)@%riwL%t=bhFr=)U!Egng%^Ic- zNm(v0ufpO2t`6zzM<%P87cWDBj5L>{pmX6YG>`9sL3kK!_Itx=j}u(?&B6Qw7MQL@Qz!jrqI%p}v> zZi=opb9B6%19ZCK$KqpynaL+-BO5p|X2A97wsP+VXM^&n@6R8AOJ~3K~xT(nlV>tKYiWbkdcPeVGsu*%?@cj+dDU&JA6wUYb=2`(m*7& zXeF#~vw`@94SJth;bV(AIv*MLzqx1F`>N4EOyT_dCAvLT*;+|u>AL20=1KZ<{y%QK&vL3hL3ZFpRs3z``Od$jQUF9osQ3#1oT) zY5BGdCI<|zTBA83fpF}66?{2Q0VB;PLdTjy^&>EsW`r&y;2%g?LS?*sOiu{3LTxX^ zJzMd%*%eP4jqsR$(te-`bXlVNl_@^bPtBcVtl7>s(Y$-L5N!_(kzMJ+eu^g5q#P3m zm6$jNLABWU0T8OjCE###3wr|27mL{wF16q833mNdL2aBM7~Z;vkgD78DyV=yK`Wl7-@L6Y%KQOp{XC#}f1`Xd4VgAcVH(Q23>OqJ&?Q z$_-l6vD=JnM80{$pj9HYMJxWnl7#A|fA6P&C{c&QVMq{c6=sN};$!-NSpF0JuBb#AzAP{p8&WCrnBm9oq!+nnl0(U9nO1ucIk6iHX%|g6-=87i| zEpYF)A?j+hQB@&g5UeOxL1m#l-nZ!iU8Dw0(fP^}J#F@=e;Nw4_^U8VNM_$BEEvg*kf!WM0dIh^46)^}(YN#rd zhTilfDD3u z1VVi%Q2FqZ_cnyQj|o&3&4DO%K85I^y?SAv_0CmrJFqe8|BV_P{vv@&e1wX5ev8bj@V?1jt544ukRR&J02S0X{`ZjZ)o4D$kGkWxT-o@ z@_Ew?5&ud52LGRXiITcfPm8yMtCM?&#wR!sm)E6ZQAG-~o2y2}Krc3qt#}G8EXI@r z2k>2}A0`EJ!_1T*OH2+h!9)f^TD7LZKsef20iRn>gOd4YaB}?|PV+~>$#o<={6`@n zUIEV@81tj2{o8^5J$U!b2hZ-Bpy?K0p(g%d!CiGP=+PPIUC-L1J)NO=``8LT=|>?O zlMK}>aZrhkgKBI%gCNb@MDYnwj*W*`aVbiL)m{a{%&A(KN8J~cAe%D2lwT_Qe5kCXi{3x* z`!bkI)HpdE+wMPNppwi6%l}T`4X?7_0HOqnpHhc)!q@1Y;3jPm{v6sqbK!kAw$;@m zATOV(LaVcp&^~b*ekJAbqYP(ZF>{kHDJn&P&?*fjN2!oCq}C`wkYE2Sr`vFGVpkjoPKl(2cwZt)CA;@6cMIm<{_VC$jjIAfMkef3b z4{lrFUgK=k-_k{Og(fOW)lpWgijsUq+^bOnx=qm6PP0LCw6jw_^RTYyC}zea!!9+I znPga7l&QfS%uP;(HkqW3pTy)n``9J=uNE(2ZPC#|i!pMMKPH6@x*s04vc!)r_ zYYL9;lfjwrX*efQgW*#d2qOdtk{Ucsub+^GO)#xhle9&(eg(o`%?1Sk@-l#;p8;k` z%GUr2z68P9Q1CT_TA(8|S9n8fl|OXXEb6o0yN;q0fq!p)@E?U?)EQ;@tgC7bw~MuL zyI9osutFOxwYqqITOV!r3;j zYdNSA-$((G1@-3uuk9EVdt0r9w&`qYm-fHCZz!gXHMa|OUR362AIZP2BQN>f|BqbT zwmv(XN%?@PM1MNY8(hPK^%6xms0`B)EMy6lF9~-EGqSL{tOB!6p2FA_OEEFn5mQ3# zFeTWE&k5OWLRx67iSImB@wE#%M`a;vHs~CsBfaxHN8)_MbTr*D#QT>{5ch0grep%;gNzEwC|^%G=blAsnB50%(>4#6w&Y#vB6 zHUgp6^<-RW?_f{9qy`HG6)15$N?<5ahKT@Zbf|1ZB{nX5G z0ESZPkhMysftZ{I+mv+JrKYnPqGLLTA{l4qW@NLXHtAft=1z~om3MaRRycJ;XOHOW z!yMrP#LyCqF2byj&HDxvpag7a7)uIi+YiC848bL|Af41%q6u^YzW%iw(2557lSvEaB1JP$d-XO|v!pO}TT6h)MkXrQ=Q1BLl2D7vYP;ygLL zY1L$riS9S1=zML7o;Pz)`6P_ZcUAicjlfh|wm|Fn zf`geFq}kw?0gLeEVm~OX@`q}u7qr$chHt_drsDSg3WP)JH$f4>9|pmJGQ=!DL(KA}GJ=Ai2^9UUAPRAX)+#?}ukjb_ z|F{J9J6FT&*bb%tOhqVpk+exK99R4zDO&Y<%?&Ly6l!+gE!FI6s@9=kJYL-~V6(&a zhqLjnX;2;ZJhOuMg*|VVzVqcLyht7P1q0m+`TX$RTn@x`0-}^cWN@Un>0q#}u-nug z;#YG9RN}kGCjD>j8}+`vV<3Ke&k%Qub$g0ZMG0xqIy{S*{U0(7{r}(sMOE^gu*Uy~ zz4HL8I?d92&+g3b&d&5scg3!*uI{Qbkj$Wfh18BFd_niiD=FNMaf*? z5-vGM3FaKD$}&}1Wf_5YpYwg+|K2~Bi&Z^4Gut!PeV+4xig?AU`{O<5J?|+ZMcD4w zn#+wcqNEiHdTXUfWe0jKQc_``lZW+<&9FL|fKS)>p@+{*=q)D@Y78?y-L3J3Gf$ZL zWUdK*Z{HtZ+I@m4j@&sqd%*{6g<{9f-nf2#B%Xac9qlgym|^Di5B_*~V=C@lv}O@% zFCLCU$FoUz{?HCDA5F!ZpXdnYb~HWMiJ^*gn4~ITnwrjvRN&Cm4Av5**_m;2I#yq} zq;83l8mtxyuui-Pw}_UTw6{hu%<2H*zWpBlEtlbQ<|5{m)ncSFUnoOipi%D`@?1{M z%uusus4>zgW$jX$ALglNh@=t;iVpdOtVjhC{HR4Ll^lem5ZMht21I@xo&ZRIrD6cg zq0+QH>Cfz}0Cj;-v`{4w<`*LV(G&KytLf-aLrfP8wc#fRUtKpPhhldylpAO+ix#Qm zBFzAB^yyCsX>P@`;xc$t)??zqcnpq=!Q$#VmOA4sl4sniYFRk9Cu^0~vw(C`hyIOR z9kSUWwM$zB5L?b-)tP4Yv6SjUr?)7S!6Y#m{Z1snmB zCA;Qf;m(=(Q)|8`VIJlhX-?u(%J;g2LJ5s46`*ZF!5f1 zvD?>RMO7NM-mGCDleb2@!cbcUO4Y~!y8U)7!lbrnHMK?Q2=5Mz*&2wE8$88)&zB)G&4=!7?#2DHO{PFe}-Y!+E!^!A) zNb|vYd=a0`4+)4qz$+Kv`2yg_nZOSc5GTr1qEysM)c}!HVmkrxD-OgbS4X}1=G@5k zJ583T$}xYfN*)`?z8vpTn^YaV-K;eCY02ezqf)wzR6-R}<|wUD^gnT$ZcJt<+v!xlZ+kzSE7GtUGc%ovDI$NgD2M?b)9a*odVJwhVB z!1*&4c>2v`v_0cD2isq4z>_;OaQEUU+-@C)r}y}g-WQMT@a*Aa;MoFv^V1gCG`sffsYr5pB#W{ z1t_&YCAf)Ye|kHyyAmcEX`V=JSDHsIZ$8U_BZr_a5bAuD~?W`~qUBig0BReF}0YUsz*N~K@~3QCxu%!N6vsU)06zmwcuI`Y&B zSRC33n_WSew!;JS;uc^*+)T`hc7S8VXn2J6MeNQmk#w>bZl4>%Ivmd*kHPm3C!piI ziAcG$0ew=aou19U5u%kFr{YpLk+G_<1kP2D|s6m)ITrSZa&X?x4FfjQm|N zG++r#S1iG-_-Jf6SBUL*>JZ7)piqQ&1q|<;cS!~uGLpAj7V z2C?~IKb9{l+M-M3Ak@_sHpIwFZk0Qin7j{&yYz({2O_mg*}8?R28eQn_`R-{set0+DQJH%39r8%&$3J@$Mjn5h*ver z!EYK0C*nfgnq|^+|INGbklF!0by;8fwB$TnewKxAis2Voz94;VTrg7zp3P@>QRr zu3{*j+#8Qq-!I|GF>PD$!#4|Y@A4SjK05-Bt`0-T3koA1kG98SasR<$OjDhPQF0cB z5d>2+x|_&zA&b7NWwSs!-^A2m z9iJTrG&TumX)9NUtYvx@YnYj)k?ny}dJui1L%WBR89N|>mhlrY@?<K3JwY!P=QLA0!ZxvSaO0 z0wF88i&PFm{(iJt4f5T=wdV@pRh!YNElLoSj52hY-hQhOwr%Qz9pSV{uZNvtZGu$b zk!S*;Ww_VS2Sa}@SA+c)S)f0)Mb(S++Pj0gTcVvn=sE_*Zgv>F zYzjvBFM#D*S6Hq0fOU{(n|;(eEZ7k;=ihoh*xf@~RX7r3+#~Dc;Nr%j;b<)z)^@4J zyq#u;_s&}3{sn8%E*;IxGz^G$?PLmZDhJ|I0-`(c+E*wH#5xG zp%={wU99lMlHvG_8D<9Iy(tDToAf(4&U+6t7JdMSx$nc-^JA!Tjq%|2SiE>lr!Sf>Mq*Tjo8DZ`9*AoAWL_z4)!EUD@Q!%rQR;By47-CMeeKFbcy^JP=}A>A0<|R|O0872oN6GX^4aL{$4|@+SH%5 zMf)rmhQ13mARM@a$EpzseVe0Jwi@?ROT)&J!*kK#ui)mX{ zJ$2d@{^h^Ne6YKRq_FnxHU5XhL&m{H8K!TVONZlp#qhRk^%UMseu$BHaLI<5X}-Tf zKpex9X=DnqoeVXPNdYe4Ez{TDe11q5E?&CmQ{vO#8i|2M4_PH2BoxSb*5Kj52$zo~~$v$BEi68bg^5K4>n0))&t+L(iZ38yh6 zF&S2=>6lkgjCGC8Fg|byp9XlK7a3-j^Gg(zFw<)pH_Uv=3^QiQ?N(~HY$54u6V`1Idnz^A2hSC`)R$_KY>QE|Lbf>ikRyq0X`U5Lc zX!4SNUVxJo!7qzS2EHt%&L6W`r5cD_kxBq2(2mVf;n<_c>}$~-2qhTG=Yh52>sc;f zmoHXQGCP2b4nQH?p7ixpb#yR5mWi*iHVn0up}a*Z?H1k^AWdlp_I~pSf#eh|EQ5Pl z4Tf)ygxRjWOcm1Y!bReK;gWKKAwTHrO1BIvtA#qOgHKHzmW$b;Uk!wrDOW%K}OOl`~8EKC1 z8Z<(2V(^7CMZ?ijHmvPpwRzi(1`FJ6wZb>&I|K1Y2E?(vW%@OpX_|z#Z>Ir|NFgrZ z2{p8oPcVGr#Z5H~h;w;t+tX>9UBt%}=52?U_iXX#$|&4!w!`I`NvJOvi`>&@?aG7^ z`1Z~T8pZ!!o=g2-`XT)#y_=Qk{?|&`E};a%&d$+%__pN1EIA1#r^qmqhH1(?tZ!<8 zZBh#UxON44l3~VoI-e7YeZrn@Bk?5}X4oYPN|+gdFUNn1$us{C1L3TNAHaV8d)T#C z4>vAahy-ODQzFWxC{+7W*9K9)CKU^Bz%1?8|5Zc^4Jm6V~#B<*yyLIy)M z5Y-WFIlNf%OCHA2-k_`qisaxNpG)tnFkYFj0VcsyDh4^F?5z^xGqp`5TI@Ib=a`VdFsb_S!NTpfs9RWxBT*rTWiA`rOU|C@)+{$V(BOw(A>w+<(umlS$ zYZwfj%IT_oC6d=!8{MN{3hiY{woTak)p=72Z2P%E8nW{pj@Q2g< zkg`h?PQ#eafh8tlaKZ_gCLG0x(}!V`as*aciRi1yfl+EEEHf1B-_cP@AR-7Bm0&?( zF=piC!-{fb_a8)WN|IT(p5=;4YVZROSA6E}0<$%)%p^m*gT7_S3}6I8wmQM8fu+lI zg`p@3h~n1>prk0NExP7h0X%E?$)&mJdoezCy;=>@4Z_i3ez4!-h3%V+5WA@t;v#yp zXth02hHNgVR)aDSQrw!<7LAGR0~4pg(4Qx%!4X^y5(otZJI@DoxkaTJp=gP^+QHau z9BYf3ubdC7^=?ut_s!Jkb(j^sVcmaJTl8(q_Yo1s|B`fYP;7C!XNhv<^WE@zvL&W%`INSj^>X7th^*S023B3~>?g;~e0r1K%}# zGy!ejjHUfTe0|mi*Bb0_zH$QU3&tTo$r6eC`?g=ENKE$*+?;$w+bDTRf0^fZ-0WZIkE=+92clQ_L`|Bf7 z)I1j>6iLibFjNk~G*W>agcM0e$t$!rF+Q}at;m6OlHx}}AC>9(O7hMC;}QChj6@M{4=wltrU4?9*W*yVPu zaa3%{o-f*ylBAgYRL+{3TkVBbVkb#!!bcj_vs9a=7y z-AVl&fA$)2cOD?P`7*rA8n8I89P@H%?o|t~`U}|d)f1$4@Q)`LmWh8WsZ}kh!X_Q6 zQ0^eTA=GE$n-1)_^9}sUtKnQ&2G^oW3=9gz$YUqqR9%M!WtCW1R*6NT7ME3GNm(VF z%PZkhPC%q~X*HHr)`;0*9eiu(>V1P+9TND~HgO=z-K7LeYOm7gq;(itn=z-n*Q6Bm zCzokr3i{ABkfanCB&WeBRe=H2&B#!&Z-B@gHCt80Rwfn{5(K##oJ1}DWAV`6xd%NW zw&2qhEAa6$H>L(Z_HySYnE)4<`7g#0zeSjFG!pAuRoHsFRt>^PS#c=xb&5_%h_Gh;T`z+vUklLaHmXI3MKv1Iyd8TM*5XxJk zQd^WjI00tf_OMvB7*;{c2!tJ@Hu_-7mQ`2~8$A5q+bHvM5BWjeAYL8C4)wB@>Fu%j>5iQmh_AnyjP?i9fycCKNb|y_ zz;kk!Is-o~0-nxg&e8U7C*sB3v3PK4G;TCn<6_k)G?$D;bv%UO?N~ zmG2A)rCmbr<{U5o>t!5-t#qxvvnrJ4gp*b2=oe3hnN*BUSHP35u~*ihM`R>EU$F#w z%N?P=d^+@LPUtxnz1&A>=7dhB_ygsRPS%6@E(%Pp3gf8-(&% zp|+b*4#R8Wg||es`e-J#@yZ=|H=Kh<{aH-RE#xpHn>)dfl%eceMHh9bKIbF@p-6`r zqs+q?QfAbmqze^N7qLrecGdzu^p4H8wNjjJjPa_79o6w6TdL z+0f^vl^6OZg~HxxpOtn5=>iDdfgGGpnXsAczYj7wk@xJq`=Q@N0^sl9xbOq!Aa!#85Sf_+asQSret6)BS1)Kz7>(qsap;$( zfHA=@jVnP?fqWjQ1wj_0rojB_S_ZSKzoNRc_RHI(*Tsvk)b=~_<4deNe}lo$y|x8o zGV?GpSH%|Yr5HB(Eko@#DF-4yhC4RMRDy8|KM`aCzAybF7^%`gC8DXXoC!W^J+NGJSIV)fHJ@FgUtD+svr~4# zE_y9S1_`%lh&OCP{V-#*8zRH>Sz9zVyfFJ=8jRIv0A#g;PBIzb;4TA} zEjn8U^hOd|l%XMySo=I)d$x&u)&mHJYBSCDzI{*aGtMhcH$$CjXnRxfuvh0R&D*clS#X8eIuhTUw`McM$5%%) zAU?e@20z{!i)VN2@YCIKcyVt$UJw+&o{YBp6uCB?!I6|BecZPf$KZPXNSrM*N4;to z%Cm+dFVPe!hm3J-hf!O8$~ZKX_{U1m?KkgA@V4ifbVKhJQC_>R1b!!lY znbXOzOi9NyWiFc&+ObO%f#~Tw2l{^Y(DR-QJF zf?}=~#f*`GPzFCcg(x))wOXbU2+280ZPCmeth;cTef_8{stbg=6k(NgEAYox2tRin zOO?f#nv{iciJ2I4G6Tb6_v3@buK4FU3!%3m6r&PTF}1J^4&~LDR9K36RdvXC^MT+jK&F{}-#$S=RXv;w%dxDY4i?*DU>vgp^DApGue5@}kO8r@ zf(4&Dm6l@>U4Ex~f9!UowmQ_bN|`#Wt;dQwt_}mG`Jrf+N>Od34k@*UQfyqSYFMy3 z1tHL!*Oq0)=CB-C+5=^WoC}Ku2#Z;26U_!k(+MtGnTXwiFE)na6K^lx7WHyxD-$2N zJHvQ2Kese|jXM@+9AGAyEw_FKgts-SP_7X9uhp?D6Ql;oBtwyEuCzOtdldG^BQa`| zpBjYJ7PZ+F0FQ{NqAe=a;8p`1ptdMMFse6)V5|f|Lst7~w{Wi^+|~_bCYip>Ejog` zMHvXKI?o3s0II{ay8|Jq!LiIFW9nrOi-1MkBtzid=+iNI>uSu74I1^g214!GVNlR- z{@bCr0ke}18(*);9*TO^(Dvq%p>NJtn0H*Qv%sx0mblwug|E+9v-O8Zmq+1=fFh|x z2F2TU`036#Jij|0FYeL(LJH%y!z0RYZnDPtiV>tbQLQvZQR-kQjt@e@p8hx*XVjLP zGzNtk3s=1}Ae789Zmn6r_iD=i*6+Lu%SjcgLD+d#=-ZNyVaZ7tl#qxK$*Hi*$bx@e z0~XOf;pR>F!fz1_{2XE6Hx2sU6QRf2qc-T_+POXYhsixLTFeP&IDLR=bAOM}?LBe1 z)f`X1nTYi@anMW7X7fOTpn5ezt^(6C)DX0!faH`6tY|&YUNj{LYR?CyqMxtO+Go?X zRw0LBlQ3%B7B9%83KL#;AnfX0cvd%IS#1j(vs4(ClqS|Hv|uO)p;TEp?77=f_9$8W z8(ZLW@e0=5xQ)#h#=1V37-cJ9i=aZ;Qr+92KS(mt%5439IQP6-@Q6zjlMo2}u=J zY3+B)1G*&;%2lCcn#mTXnXt2$;Z{%v*V1atOiYK~>L3Q4dF54@OSd3P$}wMD{-B~& z2qytUs-*Cy!)>eH&ll8P#pBTIR) z^bH5iVy6oTk{X;VAV|U5bMgyVMBLC52{7103-porEN~T9gPt@Wq}iYgzVLPCD-+%e zU>CI(epP7*zh1@Kn!GjIxg-d((g8^6<46sLT`gxO8Fp!+Bmwgj`!R9XMoC$*L%gFy zd@wFz1wu9rMqJpJh$RrxBK>wlrUnm1^}?Yjnh$ai9uW{c7-xX}I}NdKcOO{04o2@e zTn+Yh(x}1C^FeW9N!=2a&jvLh9OO(XGGj1^=7a8&FqGV)tDRv*ZP8$__OTHwF?s8% zYl{wS{w;s;``gUbEH1YE`-Z)I2|p^R|L>0MG~Sqg%;afx&QR3mo3#-TFI1X?W{Bi6 zz0+)kug;FdeMu!=8HMkz38i>*41TytYZ7De^u}1GAip|mjZ0M{aHeo5YI4m`l0F#9 zgh5C;(4W*Gj>Pq8%TBO`Drv^#cLs#A{}}$xt0}vBB|p&1oTG9W()-I>^Vqd|+w4^I zqlB5HRCbAiUNGn^lhK~N_;a8K^p?+rf!}oKdryL%2j3^`Noy4BKH*UOasFVuKfMo3 zr@jY=`M+nXaO&I-;OqY(ib^fvT(TRzl5$xJKdC^qGgK%+Nd-y}q?RZx(Nnvy;N?rP zH`u-EtJGTZmS9-<7G)^kZ@Vb7?WY3R`}i3G8qdSEvJq}oO|XeiWa}HF>9DVk(@m^| z3Z%DT*KQ!=47w{{u$Gl7x=I54T^uD7Qyzd~!Q5uX4gdB$2 zs!$gQ`N{?vZzkjyBK5~-+yN@)gStQ{Z;jRp6VcJ9FR`KFJm#g*ZNMA`!BIz(@MrIp z_(#XtFxs?*!FEbvDW(*ZXsWOjlM74XP+Ez!m#_H0Ne6eV%4fA_-eQ`$DO%SW)69J= zFRNxLGp@x|7!(u=^Mgm2Dx6zVj(Mf!m{(GU`6XpoAc{_6X{*Df5)8{p9agc~p@#sN zL1(^fcF5bM+)P6XkxVnB5(65WnIfbXDTRHLJC&}BP(&U@;?Z>r%9o|(d2)&}MOaXb zd8#5d8?;SHL;pi!fj%@0pU?t5txQm+sHYn~a9hfAMOQ3>ng3GEJr#$bb45%IN=6x} z)G!pVlPg0t1n=;VVY9&-RqXDde{(K7z`ICwTwIz65M&9W`NIl#i@w@usP_$vk@tuQ^eAw!-D$(K3()0MuyOcTV)ucQYaHG7dVMY|2 z6JE%NBPGnlpTaOUCrrnTyaH@!YQd<}N%%Bq6?*&4gQ1^2^t~rT-)jQ&$UW+2jh-$R z_+sgB{K?4_AIuzx-V;B;lv)1=(-(e(8MFR3X8RdpboxOUrsipspd5m!1VO1JmuMzC zJZqAgfyi68yEVv2kduH%@GBFg3x?gz45g6n8$yXtJMhHI4s5z|2kzzdaIJ2_+?-;V z96X9qV!u$GIwOx^%g%*GdKO%28`$TQfWp8-01`!a|L6*Qvw#vEq>a9HA8vW2a7@pI zgCZZ6+vD(=w;%hwqzW}l`&TXTtVGI!rdl;vXGm<1@bi*rsK2=+O~kRWYU%6k`f|TY_oD<*>^uLd2bW z?DLh$W|R%xs6y>kireC2(>u6nW_?2oTvU9Of=n|8!J(K*w;xL@7!2pK(^vcimIj7p zaAL)QxP;VUspKprAXf6(A+1`7m^RJ)kSj!jA_aESE+Q@IyI0jRHz}Riq5yRku+A=z z6saLNmmtX0U?Ee3!%v=q;hz2I6-f*9Yw!nBgJhENa${E4^d>zv z8>F`A{wO^TLZ$}wa9B1UWNMI<;T}WG@Ee34vq%jNSGPs!qCBZVsW=EFHArtc2@Z2YOMusG+N?zvlW{q5)|)Wu)+QFHu&nS z4Q@1Ap|x~4Yljx6nIQMHF;b5VU=TbQWrTg(4BHY93_;=n^V9DX1UorL&t$KnT|(dH zoVMlKAUw+zq5t`OEU8tp%u!P|C*&9FS2di0Q$aEQvTX}`1h~Rrxg!kyroq5xBJ@4& z(A#|!db(JmhclUG%QLT>jk^@iIk0mu&B1&55?oJtML!m*u087Eo$sNGXZ=b@it`$qm>)}$> zgpmi1!7MQawgkg0DS}M{LP~BS6}$1$RrZ2j+upA8KA$ubyDFXo?cYUR`wFf(#c)i^ z!SqxmMn>+!$4gu>;#3lIk*fC+b%Ia>L%zT-6d}!|vU1^4*VrYCRhMg29<)tgzf&*U zvE}j|EXgUx6jFmH(_wQs5uYtvj(?uB0A~9SGu6i-C_pIQCm>EODq}~J7uB7Csso)? zDY{#*Z_#Rx-V#ux`R&OU?bv?xHav^U;Zj_QMan`L1g^uF$DaR;{`K;YNcc&X=2`N@MM9)DG=~{o4((YqLSe{_TA`;&++6IKFe} z;CBv$l5^C%C1;Y~#X|Tr=d=^_{B#rn(YrYhLy{6P=wu>mkB&)Ku(-9r`bPBIe*j-> z2!!5>c`#bx0K?@|VBj?#`X06#Rk&mrK6Nt1hco)Zbo~Fqm{oRcr^-a3#L(0mK>_;A5u42wU>T%_vdd@T@mQHE+o$Q`5B3ME#yp69C&viYF4BGguA z^!1~i!QiG#n3q|Ii785qKADE$u?O(mS@ZEHzW}CCCl?fBQhpI8%Zgyglwn~BgW<%2 zQXG2nJ&$M8a;|Fsx$+FsOG2gJlqJpV`}TVTR5!q-pd8D}>tL}p8UrI^FsHlLbbXib}D7&K?z)au^nCt3%05Q`u?Nf`CXZQ-Y#Y6zomz)1{PZQ(BG%^k)^8 zFc1<1=STn)5S*2-!j#Nxt_JrCHMnLik5dzEQCgt?ljl;Ht|m1&AJ$=hELW5qp5zwQ zfKW>n-qGDA)mDSFKp%9mm<4RRRwThG?-=akqcCdI3ZB!sfwx7iLs!CilLK~ye!o3L#)rfgds`JYS;c6kH^S^mBJGDP$yqrv+k2PB-{Kj;Oy zOv^G&J8G1sZyF2C+M0@o(Skk&e6u=RHXOCNrpQk+M*7kINZ3QIP$TS&&__(De#edo z!`Jbi)JaNs)!LAi6(qd}qX-K1>u<(DWlh8YqP*!O8^nw7J@G<)@^uHc z-uQ;KN1ckQ;Z#@&lWj3v71FFwB+f`H70e`)sl=Xd?sM0rn2E{Nr@UCpm#qi1W9#MH za8?$=F;$7Fi3(V4i^B&C7QyW32?j#GoKJ~0-GGq6P!|3zKuG&;!I!V9Z#MoM2%80v z=xcf8=}WAsJB!&06~-qkG3rDb28M3O|8|&-e%oU(NyQv zZ&tclrO;)ZxgcAmXchmqlxP!n?uszY)M9p026_dqWg+Er$|^Ctn1gT*ojIa#Yf%Kl z`7#)))uA*yEEVdoOw%qUAhM`7$}go*@5*ZSa|BIV&7hX+d^)-;Ku8djgK##T-^$5j zv%vv}k3w(9E_^|1kmA%x4SKk7HR!q&Ml1OO{ov(`V1IB6R-MT~_>F2U5Z3)wCCvs2 zsH@Ma;8~l2CB?!dvpa;%*+^ZHNoLeWI>NgGL7}FI4gCU9VS0!T*TW9FL{9(|YVaV< z2V?b_B0Lz&)!@E31MJ>m1S^-$CYgSVxEf?`(Jn1f0YX;%_%5|Y)i(#(xg{x0W+F_z z955nKTB7&runG3Tgopr4-?nBLd%gQFaAF8xEmKmpOxXsl>Z8AVOaGW7I|e*dCJaVN zhG|D>#*mIG<&d_TJhP6vd^6S#B?u-T?1v+1mz&47`60F3{T6%=v)^yqB~XC6@=EAN^H4ti@}DT zkMw72-wu>u)FNO=U%x}&J;$n=7R*S`XM2OA;!~l&Y6DY*!;i#ca#1NJO{ogM7hW8;05o_BRC(i-c(=?)JCvEvtre5uIqN!JrLc7=G{w z=2TQ;R&g0-QLB;w#j1pzS)!u+(D^#lA>AdUl3>^gh$60yiqBv8 z%@mykLaC@VsuOGB5H$WT=rTw^d$! zKHeVO&uh=N0Zj?}26f~m4uL9pF!Ga3I&x19YD+rMzkTmk!;Y;%y*t9!^lFP(tJe_| z))!GB172+l9_at>LQp({0QSZ7YR=B`zsl!?a_6YFB4l&IlYF0WL~&?59pI0lofJebN_pH2&EeL|*?Ip%-uB$dAvNs!_GI=~RZgPB%%a@Pe34(Ol}_ z_b;)!@d6gA$}zXF64Op+p!bF_SSpkvhm;hdP=#4J7@3`mQ{Vr>(C2uEy=#`|*@!tBWL&L9+drd>cNYmKtKLop+y=N5JM9{YR!90;2PfLhVPzIK!! zx~jI7rN|HnZH}j+$MV(qy^}MnlhQG%phN~j4#P<@5VBQ@!ct5vDaZK2QtW&5m;sR5 zqjDGR&&>+22^iLiJR=gC@RCn6^J00S(#MbiGQ<2fKn$tq!Gjsr;=Bg0wdnB3356>lIj9ataHw zd6LY?U~kbD^~5MLo`kN%$}nz{i4tv5W|E2QjROQi))v*rp_tBUaBr*u_U|&pBySV+ zm@QX>d~Z-vg99Z1b^)O@7nFlgzBVx)gO^Ri@RbYL-9eTn6XYe@qHEXuXK#!C91v-S zC_&8G*!Ukp*7UWA4(+>V=jML*j_n+XguMehc5N}jrq#U>x=O!e^ZGsrTivHEY*oLk z@UmF?|1 z%`v(_D1|{MzwSWnt#9F7SPjQyC8lN+VDs&-nNlohe|wu$dsf&i+Hv%2$DX$#E z$}hvL+)~WUDny_4p)fvrf<>=McMEyt!bX{g)SsU7lSN`4rVE61G7z48(T2_EZ(xxk zAJdbwFexDo<`GeNf4&n;j~r*oG?E%*XP+b(N^Meh7g6grB3qx}ppL!w75jTh3RV6b zv_T}z=SY1W`Qa7THD17sjC|N7Wy2;u6<_+U!iTON7?qyITB8&53NR_Juyd(8gK!GD zM^z_h^e4Q`KOvq3t%`;ohgP=n6+qqsRpvq6g>FE}fYAoyYlZ;LVr zauDi-p^lOuxcO!^bBb=bRDyt(JS?k9#Ui>wpS%lWBiC@}CACGFNyZmb!rZYn)Ckd` zWRjt_s6KXX)2P9Nk$g5titu2J0S*uV;|y?MrvbvY_C??MW-y$mLk-FdGQ6a@piB`i z?QD`!L(qk{Ma{ftz+%-BzC<6yvqi^k@_#-(a;?#SmA2^5=a*`LNDsH!eSaSu(06jM zztN6WKKhk`Uiuf;E;lM$x1!&cApibDB!w&>`0lDfdPr>p&-zUJ6<3PMFw@2^))V;H zTk$@*N6+TL{~TQ@NJXD`9=AqknI>i_;Zjz?RN+KLHu@erjy~}x&^O@}`X;AffFc{l z3MGcHs5IF%c?pDa0IEUA4KwC+UP+n{DzY&&BO6B^JX9NG2E^L#sVR<+aLCt5`#}tTb2)dM^_ButQFwM}5al&h0%k{6Zw6GG6*+p~sEN5I%21__=FvQslAu;G~3fn1@HZlRMAM{1B}gQN&Ib2UgHJV0-wBoOk183N(n7>ZOg#OxJ=x~M@72uG@mD?%-k zj9L|HOfnpVV}%-=f?qN*4Z@(MH{l-i^OK>@-^MWvWhQh^D@ zuK~tdyM+A9dN!DRD&m%P$!BicG8drt9I>WDqzZD>4A4>qeQO#z9!AuS2 z!?PwGi)m#dZ4buB2El4QwHL{G$#(Hz7wUtM(1C~!`I3P!im5>Z9N69q2e$RnfKXC{ zF$UOAig1SkwruZ%feTEbKUeGxI$1E2O#j6i2x?lP+90$MYEbSLwN-7tyyAFCpGNg@SFesPR|2%KE!uRl*;baq`WK{W;&@s zH3<2cre)$#ukk5rkEX&VH3L(!b6L{N+NKtGSJ$!|ZM5V~F=C|VhNn|_woC;|m6FyC z1O*7i-r%tGOa>L@Pd|wl?5+^hzkQ zshQaGOWCGa#{Y&`Ov|?g%Hmpx6FeLT>K63HIh*QZ7baDtz z>;%DLmNz=NxExbTD>16D4B@x$vOi1yJhb;2weJ;buTs!knqQu#R`~7v@F}gv(!vV3 z7FMGF`i&TN=on^|S1}OM&B7Ul#cbhymaG`Gq*VuL`Mp!Slz=FeW}YYkaGv-*vt}V zexr&(uoDQy`&+f%mtZJ|Ak79tua;x2P=ivgsDoIUAT=npMXffj!2HnJhz`VdsG5dv+Vl8?gu}>r@S81((^GsH3zmw67iYma+n-Xz$gmQ z7VS|hMK-3Fl%ue%P5nIO5UhTSA`EM}jQMGNbzx@}1RK0%kSbpoLTe5tf&gqLN}X7R6puq*d4GqVt*PiMjMSPDM#^2eav`xxjZ zFbEd$qM2a6pL#BV*%}v^_$+|s25&6QI*gzT#n^PCO5GNv zIUk?*$)KoJTV()b5WG>vW`n_(O4)3X)F3;)o3RfQc5P(q5`2l?12(ij7~+RDp~Ddy z@&zJ8^$@v9pPOX1^~C;dy|90KZybo!V<6m5AdE4*L?iFyq~vz1;tL zDa{Gr@HwFt3|ZSWSG`7Ibo?YsnIZQm-6))*%!N~NDGMqlLxDZZz*NFofRNgp42CiY zc2R`Vd{9b}5hs=?thu7SjnCD7K~)HYOya8!Y`uI3&N;=HM$SfRiJnqm@YXo|^UQhZ zv1tn|vh!i3RKYYuiA9agtTkGyr3!T^!$vWiqCaQvqi0xAbq4ksDvV1}V(iIu{Kdl; zefR8Vk!uWu%3KC@GW!&_^Ba6}5b9dsrx$s89`Qf5A+-4t=B0ASD1mTD&?Yt`92$R$ zgD@)xwwXCU3&JsS5GwOvm66Rt%jIrOxf+u|D8JKqL9`+1IVQCOard9XrKAqyQgSdd zF&p|p5$G8l#ttP<$S>kW5TqZgO1Kg%D#MukVoWQq!QKat*w>SyTs@VgHR4b zxoPICh{2=T>ekD*;89cwm*OfoWvQSSxE7;R(ph`dv9JV=0)#W@`U7QtiWsz6OvOn+ zs+p=uRah?!z8=#Z1o&MaA;PDa0jhtWH32R;u8#V1}~_{hx}AJJ^k z!xitlEI}WCXPB*A#7`~l3&+a(OoR$GNFda}P%5!X(M@p(R>8n9VEzv!s26q_1bqy`h4@2Jt z<_v`WBoNAGgI!l8G%FLGKuAte<`(59nL)0!JLt%E2Q9g=r^9B0H|)Yzyq>Zx(D+?2 z$^82G_b|+~DlL7^=EA30+2Koz_1benTDWiKiqN&5;?@#id@6}$kB&@D$2dhc9P?DH zT|_SgQ*-l~`mm-*G;)5jnV+@-)X^H1omv{9$ik5HEF8T5fW6?+4C|Lbuv8di_TGPr z73B?>k(z^vWRN+XiIIm+;iJX$UAGs^5>sKR%!fr*E-bTiF+3{|hn{@LKtM3mb*VxE zm9$1df7XE~&*5L)1c&r|j7!dD^Rh2|{Gqo!rV|K9D3q96Ro4l!x**sUgs-vj%tfXM z34{|)q`+idCX}yN&S;eqP$-$7_NAV|Le^_T^v(y-ZAS;>)7M5aMK?!VC#qd6N5jihkvA?GT zL1{ID>Wu8<)6aoWzDhyLuvE-%cYpl^{#D#Gv#h)x!@{>?K=cmGpsVr(LOBdo8W=Jl zN-*pML``*ppB#WR4-^obk*9(qYl-GyOlmqz==%KbedxjN4F=+4SFQ%xx`ewkKJ!`% zv(?Tp_L`58Ax9DTv)}Gk6RX{LOk0r~nlBvO%Xd?_=Y>M7< zB{is-4Gs`0Py<3OV@ww{C_#|sgJUtsg%0pe!EiFktacG@QLi@I9ULF-pUGa>er<{V z`uNw(376HTzVF?f^Ud;ebapAHU84#m7_#IUR^%cbk(R`+QP6U|MG9Aild^MRPyfT` z{9xegbWz23&TInng^q}-5i3MIk2Eb_v}0d-4z$FFbGH>)K-LY#dcnR>fm=T z5K!9!hYS_$2!u)5=(S=EdW1&6Mrw^Jb78K?#=@F<^$b({;zf5LB;&`%#`Bn$DnJ;Y z4C6H$@!mWqwv277%;(2`yFgH?t{@yEKuAi`zPJo|ZEc-Ys;=;D?KvUAkjyP7-vHb0 zJc3hE4aTJA!tzumK3}mG#`_LoQgJy~hSVl4EXC-&BG^~dV8{Ij>~k~NQNXxX)~b|X z^GjeTH_b@53LC`?^XLyR5z=~zn`X-DU>~21o~zem5}8(t%HU8~3`Z(S70Q$$&AJI> z9BeY@XMv8A0Z^_4DV&}_XrGgZiHaoCE)Jd6-&|4x{4&gg*tW#qjhjrUV%XGjo_Cr1gv$Rki916>nRvuNNwWf$;km2&`>|gMvV)#MtC) z=m)IFU)BY~I!6U-QeMhD3|C}hNnIlYjg*h74MOdG#ZqzjHn{OT=89!{0^y+5!FX@J z6NV=wsX;he!H@r{0hl2xMOJ4J3K))|Z&-3wIPvs{F3+pGT|#+#^o(?t>bsZlYrKdl zSw*l(%SXR$JJBO}6UG;oF+J<_C93}jJiyYXfC7JTZrf-le0Y>*)6=8Vt1 zHEM8F_)55`POx1+$t1%Rp(uh}gcb?mgxTt1s!$HX3^@q183f7MYp2Y^NQDwxZ{Jlb;mWtPMk<^^5 zBz4H%iqe2j)&^x&z{)YNfI)DYG8g00#kzzPrM7N8i&Fd8-GwQ^50|;%Bljg380dn* zz6)WxatUU{MpnaRtKgWy!=Oi> z%z(+(9n2u}WoQIOWaeN*rji!}p%RvvIWW)6!RY*AC|vKEnKV< zgq>QWYDFlSWwO~UQQaP8Ak2nGQ>)rBEA3ErHz$--oRsrPADawd-;ZzLfBrV6@Ced75WY`%B{ z9>tX`hYsXOHW~b)*(zi5CQ98AJG=|U~14Rcm>=;Cm=4AJ4IFmnxd8!N~1=HmJw;1~m}Wo((b(>e?C9Zi}iRDAb_a zWSDx*z=*&lu;eGAI!0~u#n`YF-%j4P=CgNjiT>Bezu80lhvQbB^?T2z?5};#<-?~* z*&(Sy?IQOmwMXrX(qVXvFW1wo&@wpiDs?R)qPewB>^gjpDql#Sm0>+q+5HEi}ck`~t)2(#ha za*hFoKv?+;Kv*oUJglb`kmM`|LTZinTe$}BJ1xP8q*M+<(H2#g03f|(?~7R>D;Wq$ z71C9VsYRv8e*H%M^^}89+d(RsX3on@Gvv}d-2v?T=?y~eJ%;c38wkF54ay&XWPgvw zjt=$j(}rMo0MykA?GA=bG9!<4mEyAa`jKg7*S$wrS=qpoW=d-@BqRdHJNCe_w1R<< zm8u91szNx>RR|dfH89iwv2$sDoqfD8$Ji_LFooQ_sTml2>;w#U??caRk^Jbco13^d z$k!$Quxtqi)AGE}0t{Q_in&RcQaRmdu3{nK`=@m zyQBD(38w(s8ywEmAVIM2A^}3J+2BC!mS`6k%ABGyHApKH!~EvMVvVb4i+Z)$Z4RJF zwP<<`b8z@|W#ZSz|HDJF8hf6}PNjW9pC%=n6LtY1!I9ddt+{ZkS7N})1PnacSrt+S zDXBqvpVXj*fS?4zVKNXh7)ocCs3n@5jzzWg>JaE(vMy06Q-iU$AHuV^29AmXj8Dmh zO?(>qhiu0`+RtJxP77szCje4(8@;v6%EfR>excUrYrgOoE1mN%UG5 z%mTpei%MW$P{crJuPTJS03k1~?pR5nleIq8@Kb*rp9$KFmgxA5Obky*M4$bK&?_bm zp9hEF6E9DEpDSyLI$5E=c3V`}Y)}S4HXD?w!GQ!pXEMo5VrtMlV6kNE zVds{{gf9PSVub%Ykt_P^<3H$Py;ozl2N`DAjY7F16abXkqZG%s@+?JkCBrCQW11mV zXq}qD)gS|5ItQUBHWwrqYJ*UiWTOl0ZZ{eC>fvIdZm6Ysfrz$`hPw?#9$g3yA@GMP#^RMd32T(2w6O;T-Hv`2UE5j={j*`H~fm<8LD zY54OpU;KI92G$xKNil26JZ8pObNT8o0-<#Bi9mSxyXOpqvr@7#=~OyvjrLt0i1!ye z!y-8yqp9_($i^r|7Di?8(!fxFP_7E;eQ_w5KuGOTTJ~Rg{v!MPN$t_@);j97Of$Cx zbfi!Kn*UKXw0G!igLc>EltZxoEu{;J5>&NKGv@@H>A#Jr>-XSYQpHR&OLL3a^?J*b zr{Gvpj%li5OeYW$81o5+1q_0$sLd(CP+clfG5|6N@}>FdIeDxlIx;B*1CJbo-p)Pv za`RSvy22kH{a^Op13K#S>iS)Gt$XjczBkF2IChMC14&fVi)ca;Nc7%2>b;^4sDbEJ z^rGIS(MTF~(L1KvG=m+-v2omM+(FuRo%1};%zs8R0_Wy^(`ME>Yeq801e5>I`<%Vc z@%J+>)}{?I&l`{KF5$)6%c>7z#f`&aHYg!TL3*JG1>jim89`{S02KhK*1Ub1Pd1sU z!DgujH!C$5Vxb0mVcQx9Y|ZG3t?RpC&w2;!U1w5*`!+ja{}us3QiHp;bj7~Ru9z3y z&!`5qv%%ipt{M=!S*SttmS|t!(MAyV^&Nx0N)7tc@!jbd8np-`68%MXa8)QrCdRFa z$>wL69fJ1P-|J9s@TIz5VOQ(!^PG^{qofKI1T`>J?$HIO4CtO;gaKrlDbukkq-`?< zL0Zbq^FdOBI#FgIsPKv(ycpY1{nn;OE_tBc&g<__XZDq@dIKmT*uUk z2Ds+yFm!hgo>=0C&g(W~L|qexR}1i&70n1KK2cqVus3cR*L-yZLIsGb2f&thK7?=6 zNlc-vB5$tI;TgXWyquZ=*M=58y+l_i2!zRZ-?rHrwQRj!m4W@NFTO|8xht5jqZwfh zCghc&M`RqH@bTxi^B6MYFbL~xg3w$UYFebSJxaF{sZB^R3blCL+FbNCizvl)*@pZ; zGndn@K)=ooN!cc3Pc}pr*`rlL83LN<4Yb0K{#-^FzlNaE!X*+su z*o>LSPGQDj0m2#0M`Rsl7}8=0s#)zyK#xlSu&G%Z>uhpa?zKAhR7WtW4(1 z^Q;D?LFS17Z}g7$$Dn90KDs;Y;95jqsL`mwvjT)%1VIh(%;2XWsX%y|U83oCg&K^1 zT{uO>Y>?F8I-v$72uTf&QfiQAgQnctZmcQ*03ZNKL_t*GUa1E6N)YbfY=Yn(df(m^ z>FayqRlYDW96gteXa_+{5Sn1velEx`^bsI5%?3q)ewd6*xULFmqs=!S=}`|Rt&1JP z&oDa(?XSProX~Hd-~SVKweE8C?IWZLTP*=-QitMm__YQMDlNsUg(XH+II=>|Fr*?i zs6Z&@gOwT(3J8)C9Hgtpgu};h;^+JP(A5IaG9sY`(s`)@-j@I=YX!D__!WGPoWtlm z9h~xV1RN>zZA#f0RF_R$i}Pck3O59y^D?lNT_rtO}ju5;4xu zfSE^63J|tP5H=m=5+EeVwQxq3p{G@U#v&Ccl;AYl<62#d5hZ2lbts$niM~wxL?a^c zq`xnoB!{Rp$aIPHg>#}W`iCxp`??qev=m^~t)qM=kkp{645jicVQ2p011Q}9k6$! zNe%AXA|Oa=aL44Mk(sD&ajv63CG ztOmzsEZ1wFU-p;%^>>R=gkG)P7W4KAO?y%Wz8rfu259-V($Kx)!2FOgLZ1rR%tE%mo%1n&W^PL8{Yd23+s-ueA)JB?wQ*hbu)j7SyyDcbSgdm4(L^ zEJe@EJ#bSXtZiho%!WUUOAjhO@i0Y5m*5Y6{w)&EUcuaoI!rFD#`xS)bPJEcAN+$k zqdD3N2yMbp>nxQZq#D=I%*TWiZ{IP3Q2QSnwia<;)3hRQSTVrZQh*OreF}o=KMpK^ ze{88kH7nG%M{mj{3*`@ho$q~u+JM+}hND&{$gV38k1}0YR#?yC)f{an~9VdZ7wF$5d`GgSW^C5Rw`UhD%B`0@Eg8 zC#gZ24X*8mog19EB`VaQBd=B?5E2CUZt03$o5?BK6>(|3&~^S$bYHAmqN6NYqE=L( z83@fc$n-UqRD%JNFeuba4Z>|zXq)HiXbRA~^RvrtlCi)3-Z6@>E7fDjIU0VYt}Wtf zy#|ElMeb2krm%>wQVcE?Yu5;dqy$YMtYkH4+A1S1P|$@2TB^PD{A>JRv!(#8K~M{k z*W||4a1xx&Y3CsYWd%%F{#`0c`_=%1Cxf%;KW5fTWu-uufh0wF!X4}SJ7 z;?7*gT%8GoUBj01xg!_7f!ms+YwFEfquR0wLyA(=N>xaPp4tXpJ=WCPYIcfBYnZWw zp*GBZ?QfX-Jq&=Bmqjdt{+7y60a$_Xu2ib0<@I`+w_|q~sS1uu5D2*~D$5*#R_bl@nV?dG6rNAK-h#+W1_Ye0;GLp# zN_N0wLp(-GHAu5T*W@rvObNjH^q#B+$sn_RLpSVQ-vxWfDZ0S{`xt~y*tc1#!7W{} zb4yoj+tLlA{0G5tfe6o&8e|X>1idLH;bsm(6_)oArWlhkMzuwiB9tZ>|A`n7G#x`C z7h*($A6!<3VARUc2cBz|(_YaUesI~MI+p*%Z+ymX;w%rQUyXYH7H%9T+|vRlZ>GbKGh}PQhUqRaJ}8h6cDB%x8q{%U}bBCRIo<99`Fh?9ab6yA=O0Rj6QS zxdG;v!cPHE{eGwnDd!tyX`>w-!BE9J)GD}3^3O!^4-fcyeZ;8?2t0lsORJmU5R(Y^ zay?(Am`*@!KEl^irZ=@YFfyHY!ycFruU!ugVikba40Cs3>Dg zv{Q&b8)RMz_rYMfLB=IDoDDJrEu{u&!FIdWsHQ!tg&)lWGdOfFAV@AzGRUmFbri9r z2G3W)_gFC&)*Qg(eQS7o49x~z)od_13SsGEv2)EU*s`V@uTtB!!4Z4bb;h0zq9rO6 zp_2)MQVj+q_JPCvVLTUP2%5D;wGgy0#c*I=!BE>4^^oO>ett9?oGjE}%rdb~jg38_ zZJy~-7?&RHM$aqzY|#GtZ&ZbbyqLQpMqw3%M$?Q?g$qv^&?B#iH_gzjkW?WlKvIGN zghCM-AxLvWeGU4SS0eWMO{*JZ9tDV67^<~rf07T$I<%p*6-fK@CzyZq0!CLh!MV5! zLn;jzQP&KY`W6f^G-71aF_eD!H9tfxSGie(AZH9IuJLmlHr{<7KJ`a2t+ElGCDrgO z(BZ|P2s{}Qfe}@;7)6duxqZ6fV_uNVt91*dDc}3M~PoZG+l!daA#tBLFH0 zs^9-pa-qO6X&O4FfuZGnNNX)pbu#K5*(o3eUw$9h`Y;0Hm5)*MNyNwQ!}DXl_2bsS``_34CISTB2-_3Gzdy zKp*sv_cLygnUTGL4Ki9aNFWrdu>FkC9D*hlXoTS1lWdS7utr>}l@}&*F}r9x#;l9M z2-y;KqXpZm!Z9V)7n@dh$5uMCw6+_E=NW>e2sb!j&jta(y_>sY&*rY!O|_Nc5tWX+f7=Y?sK~P2}2J5Qe(b$3`KmNoI zLv?W15_Z2t8D7!^z0b>_cSRep>632|aODoB9zF;6x?>nxcNhcfnla(zITU~S6)Ol^ zi@hyjbxzJAX&Lq^T82#rd3E*hEUJRr{(L+>e+gb*m1czCC_@9QLIPpdXI~gWXbrHI zAfz_${*S*#^s#f8Q&Eda)EdnzLzlpCJRKgzTVWW4^e*Rw?gU3#YG4GS_)HMwcWv;V zHqubl)^n7C4)xAHc^b{FtybNmmLOCPQd}zKBT&a`8(13QTG`jA<=LF-?MyODaNwps7p{ zoL1k+hp8tS>M%y9$Dn-a65YBTFC?d!w?s(|`g^0>a$gLN@xp+x#qivmh@hjzSb6&x zJ4J;W6aX}}N6l3sLr>E>RRB~Fq+5d&msoza0m0`g`QG4ys(qNWI}I)?LPT41MKIi{ z&6pB}=yZ3X1~a;2+xqUEm3m_T4{^6 z+a9ApsDkrjtg6AGCN=#Unn1{EutJYbfBLi82APf&AUz;YJp_ho`^hc& z06Zs^0J#S9XaV!rKVZ!#UnAw-r`Y__Cph-ASO9(20!)_5RQu03BcmF7Kl%z$CoW)) zz6le{YWWV~;Pu<_n_2VFbH{GZ5E2BnAk6#XOa3*UdIS(&HiGagM4vd1xs_tqD9s4F z1cc$4h-lsu>Ta+OLRFUP&?*S2=o$q@J!%_qNaG&0wtLjlx%sGV(1!u=gv?I1NcdH^ ziMx^&_uKgEqnd^2w)UZFmEr4}aQ!*?=b-e*R&0IyeMFo%kH8b>v8<*UU83XQQe1}V zM^Bg_*wn)3#HNu6##*rwY{X=`??^5F;!=}KG-EBEiIgo-Qh~w#>=J!G)CYqT{MaQr zVr2*xSMEdn>rF_xds4JT32JYfml1|$rG=mXA?*@Py>kMqmbKlHx!w`G*S=y^4H5*oCA!TCajCt~b-_^dSS(wj zY>?4FPy;}r04+`{Svp01Oc3l#;dyq7PKR^kLJTK0C}JKD#;%RQxYf(6<-^ME6t%zp z`>)oAUal?VaQzk09*w+eT@|X}edyH&^e-;v>-B?5goAXboEK6J<<@8=FW4SXrsLe& zxrekvPuVD2AXEzBvVt zH)33A4aOE!!jTqxFItL0g(bXI#>G%CK}hDDdK7;3l@WxNrXOpYYe)?-aE}uR8-!Uj zy=7dJ@B2SY3>fL?(L+L-(IGWDrA9YMhX^QLqZ^bKkal!;gMc4GQd&YJ1d&bw@9X=! zU;n3jvbc60$8o;vVE;ssk1c=dh9olgmvO>kR?rDg?RUh99yt;slE)u1(l=!!2*)=kGJ3H%8G&$Sp&V-0E)J0|n0Kn5Kc#&BDw1DD`#ajg z^|_rGr@UcAa<^09l=3q>4PZ&Gy|-B630uSjxB$P^D8gfwNa1*4zHoxTWxmiW4!~^^ zfb~Pz>~=a!^jj2K1j3bwlneC7XXSjpyL;(9ye^>+Da|VU22;tMZ;YE&>K5AG%rlmm z*i1~a)0Dw0PF3h4G#N@lrhD z>%V^M|5^-n$CG!Z=170aO4)opR0nx|K?HPW9w9i`>WXl{dwd&O&kj)s=VlDFN;b~| zpO3jk#gRcasvNKU3SGuEKR8NzUyYdd!u4AzCRXpO6Dh?Ab+X6s=)EK%)3%h8b0?%a zI3Nu^C7zdc+F=T9#D=Wsl|Ewyb2DK`0ArwYR_*!a-6r{-z}r#FZi)|Kam15kk-XU} zONkZ4NUdTdcXKbPekoaLcVS=@Blda1O`~EK@9N2qN{U{d)6$PA|FIn$M|h0y=pDfu zkk2;I<3Z z#Frvatm}*cPZOHB+X}+^{5p+knHi5YvhP|j^W*+5r4G@`Of>mhoj{*JBc8aU1io`6 zB-Vb!ZnJNf_@;4X!tdA z#VdHV_|LQb(Rh-)$mmd}aQu>@*3rNTJ38&`snYb0?msDltFgO0s}D4nF9d9{JuM9;lL5T8TYpSk;8(X>}?8$Mar4 zo;nzH66A(;3}*A}(0!XUMus|)LkmnByQaK*U0zFC8y)cb-$m2ga+-1M!McY*`ocSD zpar_?c=;IK&qwD?J;vAgJ|;$P@6}g#O8}-ISc=Fe5N)%xLsmD`DQ?RHt*2B7i z;Xp?{NcxGx!0W#+y3>1crxX=8)vTBrl#}*QGJc#BcnTciOs(J{Baof$j^#3$bU0Ga zn@C>QA$6`VC|ksR2BV#w5F-ia-wr(@30*e=a6z#vjr76Sp|A=0IZF`W&Gr8w{ zu$wop|7b`&8x?or->sj%o5RPAT3vfTw3$P7o1x-`Gzt*?zZ;tDDr1k{$Cmq=ZSbcS zS0n$UTn<7G<=*u$Fu~G>)8J=ihR$6ITe${gl)a?55ZGDSIF7lKD?Q}#mL)<*0R^wQ!x(Bc1LH3pcBn>JRh#U^~Al zZ+;!XrMqJP`I22&_|nTQ?!-w29yQP7u~`Liu2ksFSk+@9-sD#4%GckI8vYEqGWs2| z$Ef$hLeA5kH}jWELvte|dF#>0_Bqv{{{{kgD?Qpl)7fc|0)K!LBu5N-Hmg>}l}nge zU^x88QF02Vhy-ohi9DfSSDI8!W5Dlwq$vm zqcHt4SuNxoTBRZQCGt!A=chx=GMyS*w`us{o@!4cG~vp%iKtfx!X9xRmUb?2Uck0< zCr}ajA|L)>&4a==s^iuB_mG0Z$;WRq*d}F z+&|rHq8K0I$LnwAX+n$({3A2bGg33`jCm@&>03h%(F=V2X8Nest9X}i&3|qW*s$~O zDUcN()Hcz3RpQ+&JC2-}4if|1RkQHM&dfcxi$C%P`lB%Vxg}KYaUb;uS2xhXlu6k1 zG{Nu3P47r1iHPMjS~f`LCeBB>?(B9lj}|Qln9ngd(#yjs(k2NvnxZdtNB7xEi7NYX<&>w}Y8)zBhQ+V86BR9;}(M z7-bhE!CS5$CR0aWfJb<$XAKSMvKF{wn4miE zuQU~cB%^DGmUdat52q@aQKG9fN=Fg-2tQz_7o$v)324wOmo#(J|5&cOSujd$0gB*Y zc0xvp!uCCsNL|9e9O$w7pb*2kz9GLQRBAwtSohg-|ji5<_T;Dy>>J{moo-$bS> zJHOj1|NR&5%k58Bx6pHj>f&*7CCcnTIJHm{0X#UAPr1BC;nQux>EVC+TM!296fcHy z;nr-J@iPon7%TXN@VvLvdQGw31kQB=`m+Y7v!5g@Nc+y85R7}fb^R#g$2LnHu^l`k z8zi7yrey6riNMX&iFlTJmx&+g>|3LdI(~Co+Q3i=Ygc!`{nZH?X6sI&a`{0v0FZs( z0B^|9oK(H{8%Hr&uxrwD+c(MTE1d-p_M8zw~~`y&}XTtAI4cGpxM;D2h#Q{ zVEa4K>!ujANrEf0e6!`gJ7gKI^Ws9{1yel41UXSfGa895o)kdtGjX}H^7Q$aTHK?$ z&^+f|+ez9j#+pEDWMu9Y+B1E@J8&LNz^`s#tb@WV+Yx-B`=3tf=G$*6viR98IT4zN zMAFP!6e2ZpGi|cxq04ijJKRt%`z77#!G%ny8NoCe>R=J^Z>{m8X~X58zhL2JYj%b& zytR>zFYs~e)+4R7KO|+58`+9~w_;T?wucYYmy--tx%gN3MRdP$B3?3uSn9Q1n1<&c zhsIB5>Sr4)hjH$-5Do5S-o7@RN%Fw2q$$Dyckp01nHYw1lu%ssG5@%vQ@*rcW(>|2 zM8c5CIwGIAZyzzQzW*hv;O>}3>cBoO!`$2h{s6Lz@p-4h)5x$e{C=U01ta*LFl z&>W-Bp$;P=&DKE*gvyH|wyRb$6rLGj3s}>zy`)>Kkd)x#kk~iW8*-7oB!nb8b|c|Z z6JPiSBN+mxS$GKgazx2fCUX=1;B&*v+lk)ONdwYIFicm*}v`gLn9JLnru_;`bA9tAoy=ZHoHNoNrZJbmXT% za&wxg69U52rJF&sNi4A)3t>9;sTETriQSW)Rt)aQ2oHK$@MvPX{Ze-)-K*4PWn3B- zPzEi<(R4mY4q%1d_i>G6x5xmzX{v0VECZLO0yMcBmix_l#SpEA6R(Hot7MKcEuIr# zwZ)7cy^UYC*3+p{380XgE4HK~qq*(dvHOoPr@rq|zpjVLuSl++sXfT3=J&!Uvjz^v5+<= zeB75i@&1Lq%BX1=!Z^jo09RASi+=JNfbU#ipjU!^7O&mPa1QFbP2`v(U_8T38V@I4 zUXp7EA69ehSF#Y;igVSe8mo*gIzT$q$DkW1k?cRWdtX}(O4A7D;7L*<3A3^dg*)Gl z?V~`qXcMGPa@=3n02=4TVcM8Z#82YA zcRla*j2rkQf9*n|s{VepFr7Sjo8$*=imi!%JcS`i_ z_SwzP7??kC)&E$~W!)fcLU<&2nZz(Zh>#O$VF)8m#Qz1oekIH-|A&0%kZh+5?%_)2 zh`Y?H04sgt!adaR)SctGk{YptgOBqkT;DXZwav&0;ulNG#{f2H$@-lp9bztzOCv(< z^PX3i7-KRF*t+E$gI02whGu1>5Jlc_pIgC1RiZ+FhYzb`siITOs(!30$z^+~(o(NN zABN0InX_C!6mLkWm(x@bh^XrfPD9I5E8#cl(sxvpaqdEFI{>sF&b%WjIzhxy)4$@o zu^q!bFs(;P7PgNtdfdi-ONwhGVtuggra8tnnC!bD_82@Wf=lZvF{FZ1!mAX3Y_<39 zyR}O5d*JPvLL~MhC$wwB+A!eHNNn;r8D?|iG*gV6F6|8pI?_OPAzZb{&*dixHgHC9E>owDW+mqAwi z0ksxeM)8JL#%*VY{9fE4jq#Z*BlMBVo|f5({49Z#k~c#3l@9?`&cMdsz@k+zrUF7e z&ya}`zZ(&1*j8sV_T~T60t67YDLRXy<(wjm9CjVuV#cPN9UxN7u$$f21%&aLPSU8U zU$>o~ZHEw=8H;R7u=lDia4?IJ@*uZ8ZkM8%{YC#(OLDiC!`=$tQpeYDjqudk7j9O^ zk@+9;Asq(>J{EBL@6;b)OByYTOt|tQCdGL;{JIU1O-?(Z!z4};tQ#pOXQrVTKhM!7wasU?EKdY9ums8Ciukq=ZL0TPjHOQn|6brW0Hc?QZCMp z?+H-CQ(X5~j@5m)DmMmVw#r2$8wwA-og-ox$^2dnXJyH6beeP;0Z~XH!Fv=gA?~gIG;3oemYW$>+ zU2DjDpa|M{4U=*`pb4>a{>Pagt7otn`T9~TTkc3#LE4w{po~uVxan2H-<0drkSjrX zu1bMpYd&mGQ$x%V_thlEt(lvn3zM74iyS`*9xMglqv0DaY<3Z0o2TKag`ccdA*}j| zNECUgf)8ts-5J4j@CK&8!BZUVC=em|j87L;C?=^geFc4O=lRl$gX-{_dDn%-&{Y0} z7e`)zNf@Og#MF!ouMia0-pk++*VbqmvaAZ<_)kyt%LLyF`&Aq}2oADXW+jiuuexst zxva{gS!-?O7BuQZO(cH(V!n!#)^UZ7(E!cST{>IfnnU4Bv*a1Z9+AYS4XJzP$` zPLu!F1^i)-r^iGDCl$?Wgn*F5$Pr%&exkmWFa+E1K6BmDTw*FrRhM9ePpGv4hf?t4F}n83S06 zBH6)bi4DYV?lNctQ-VkX(BQSK61YRTN|kiM#@vIm;Oa~zEAjG2Cysks=;^%&_T+=$aKsvvo@_6{!#de0nZv2bI%x?RiEu-&$JZ{S?hUh!@}KbGL2;Kf&xY)m(XxlOk>6 zx#5rT^*@@M?};5Z3Q!A6w8EoRAGwDjx5sR9m{UiCGU6he3MIQXnk>7npg2T2@s)q* z=O6)zZ_0YZlPSK-;X22!O4mtdGyz0%GK%JGHpX^tY45y!RPBj(3naPe(`gNsbX}3* zo}+;uVc8TmZ-mN`qMoi7zwCikAzd>ddA+Ek^rDQ8qFgo?qsC>dr$hB=40RvY|H*wO zW1JE8)@@qed$&dtu=)N~s^^)A<`mz^{&$n=-ybc1Mm_6(fH$Hk?C5g0)Lhrm(8$Z( zGRz-0oyxeoKX*&Ok|9)tXBq-Ka(wKJ6A_NPG8YL}aWBrPUejItH#~mga^TXwOKpRN zNJg?*q8h)!+NH^S_VbmR+u<&EElP*X~rh*U^b`*Z((C+cX=Xhi5hN+f%Cdzo9hov z&KHiygD131!rZI!#l`zrh7gsA3eckDQ*Q>ubQ%K?9Glv$~4B@o@?_CP43o-I|H`@0uZ30m1HQfP% zMwd`)t4vuhgqtU>zK@#eA{lhoXD=}O5wXE%j0!R7fR@$`ES0lx++PKz(Yd;Azb&VV zHRUknzO$!1`S$<%=hK#d;+Y<>z-velmQF`S%Zr{sVwDsb?nP3^m?k zOdQ~$7HOry{G+a|UL$?p`pn`me!7w%{Y0omAxa|Jv^Y+TgeBUn_*)*0FvD7s9k>zD zu0&f;j6q7vo_t;)dgf+!7|8%al;JK)g2A;cU`bm#&Oxmgv6kNmzt5ZN5DwTI!kjdS zE2|5alMv^dLI3(I*dr2kBHTT=LN&cER70+o%!;oTWm$+6_`YTScdq$_2jPT| zXmMx13t;JgM@sz&0YUG_aH56(JF^wp~V(xj5 z|8lhpG$@p9C!Sa#G70^tKLYbvYgfV^Oty9+>AQkeA7exld$Nd&Fe=~rZp2+RluHNn zVnZz#%;P_89RC1r=D)rM8k_1SG~k{2i@9F!D@u{m;2cq zA7oX34y1W73#di!0w>?BIAndF_9$WC^?J9;yt|fg<^rSq??bIdHZF$`Knk%$k z*h%RTDlviiHvs5{LV- z=dn=R80RsWlVMk|1$^`%4k%UjC~-{cVFNg_xmFeIDWiZ$i>gmo9GvoVtu$tG>CAza zJqtR_rlrI7WYLnzNS(Cs=)6+Wx{bl2z>iNWTWRL5cdU8BfksNCZI-g3{W0m&e}-1( zxQ-SgdEAxoX1#t-pJ4L0K^GFM7tXF~`eq+yEJNqjXRe=&2NgE1XFc3t;K|&RRq}t!HxRUdCq`oBLxfmLC_M z#lYH`EJR-o6IQ)DMS7+>#R-CfPXlH7yX6;mw>kOSv$eS=`B&r68ZD}w!4y^Lw8CHU z%AO*5wZ|KE!Ydin)l+v-K9-yZUJPxD!O2$j(t zMI)nc7k#MM%z%l3p&`O0pXIq?Tea`t$mMr9yEUAi3f)myRlzXEtLs}rO95*x!)VdP z$44;PC)4l?My!$Lr`QO*OttZAOIC}6iTI7ONgUvZ?Dwye0ra?<)qEwm!`wR>@J!=5 zKeu>M+aL|ERMV=bWTp!xMNZCzm z{_Q`0B+Gnt!pXzIG5YiOQ_Ttf?Kf7~Mx|S)Cf=v3%jcWT0leG@)FvFbuB#Ku2NOql zrq&WXX4MI@&i{F#A%d2MyO9iPLxL{ocSY$(FIHHfAFYyKSYqyXijaFus@$x-=jLR_ zEv9^f#w^7Tc^OIS0By3>Appl;2PE!ZIWbUu>~b=H>3KkU)oJ<8NY+EcUbSzdW8*&Z zXTqXD7n;njDSoS043GaNrtmuX`$_dHQM{t4r^47pQS$VkDjGyu?icZ04g%T1>ie(1 zxvaYiBtObTTT@1785X{(^@*L`&7K#QqNH`PNj@DpXI_VDQ?&31{ zH{mXEe8aJRC5ZBGLL%=(zi5{1B}xkc3YfW9x%j=v9@aBMLV12V)1kU~X)>_?;79eeZ^M<*>}Y?>A#vSEj@ zV9H4drCt404W-+(+=v{k>uczUT_uY?DF2~_uYhv;PrGL6>`L0tNW|9GgL7mjWBc2U zfgjszN~<0?Ds{k!TO+u&j08XWhfs?MP1r%xooVj}1s$yV+%an;ie-#zTDA@%eZ>^H z-OBKz7$l(>+#M;w9_s**s*(T*>Xh?#UXRG~PZH-}AxKaq)~T3jJ-~Zcu({yN<0uHh zU66&k`0Cz7lQ?$&MFpps7N31B3}Isbqi&zYfz2iWqzSwqB+U~fdA=ZNy-KU{TQwAC z)re3;bwh{?I3lJhZX5gHx@;M@dF5$;q+!yp+p_Fb3s6eWGBmH3k^e95k2ZbB&4$~AX*LPs zh_i$x3I#4;sIl>}N~`Q98>%oSJy_)gq;NMaVxKLfxZ|e*9$&cCfWf%Ag; z0IKSz^4OxjGJSr!7%TZYTqx&#Jl9sE`;!7Y}|6B598PuLk3*_EHrt!pCIE z>JM>bR&)rb>Xo-jX0{*_Lr4nz%a&MOSj>yW! z$$paM7xa+UR**s&_oi@Zj8<6RQ$*)9vZ+JX_?X-Ckv7qhuz^>+2pzYSIP+z~@6;qJ zZAwqsZEz8FS4TRS^1L8-am7g(Ftw>cA>s@XL%ViPiCNi>?4Z_UHT)Pym(T9kH=Cow z-Xs54{0)#>t|9}vZBNL-Okl_Y^I1Hn8G4e^WiP7x^{yAg9VJzMM22@LqwB0TfxQ5{mzyE~SCz6nFG$?StoXJ>`&~sO^`7OK5g4$-}$F zLPyP~miXY2_vchwzD>J7)R;oWOKV5MeoGmK%@Z(G;#ha!hgBxRN(HfP7;t}8k_JCG zJXi9&VvbM!vuD5lm!8y-&o1PgbHYh73g5oPj|)a*;rlz>Z2Wbii<3YGs#uqe0N#1l zRUI(rxNe|+?6ato@6(8-pcnO%G2i=#uoafBhdD2}Cf})(buZGlOtKm$^?FiUwd;zV z3OR4)2FG0&x0ZJVY-7-UVVm#6Wo{z+r~`)Y0DB##O@e@fK2}if+0y5CK8LZ9 zh3I4oW^UQZMS`#~C=1LFbh`LKf(vjq#QVnaxlfP|++Mz3BV(Xp3ezPTwDzk8%O4zs zS3kCv`BFj5zvHYfidzRpV`F>LA>c!4C1l)sfrT6IiuOCF2|zWIpqk7bMqP4@zjt5I zkskpK4}A~CklFz7#5>q<+Wbo++x%H$;zeBSn{IAxLzjWmUI{-zZrM@Pr)-jIy*V-{ zqEtdRMvcD`wpo8YMzveyYa?(+ogqksH@>r08J(R0VjI#fVWcFgkxR2y9TplMb19g+ z9OqY_$`9OZcVMtg)*d8G8$UHy6)zx8>Q4|jy?>Aid}6KoI>#ye9RX{-OW2|=@u%$} zuNUIxRbcK)i0`2m3)r0()V53e{b6P?R_3216{B=a4zDA;qL^_Cq%;V4D1U;KMHmLq z%9TTn!q%mE%za|sGkaIxh>TWrSc;rGUoSC6`=mWRJm>#BV8)FXSQDNqfBEV^-`rKI ze@pR`uX^x4=CW(@&f1u&QQomu%kO1yo}kI2X>f}`g{@Lm#Elb0s{KOpGsajx2Zygs zDOES>o`M(pEk5nl2>56fFAli*eDC=1ig1=hw^va6gB{8#rS2OR&~H3{9>_J|PEHEI@#q!Zv#_*n=Hh>;3uQ+jsc`EcjO&V(;2LbrZ8wlSXk3L^lxUUetPFkkdBD;=aGna>@>cxx;_{Y`b|vVN=G5glS}y2p&A@ZCowE@QHD#VMJ{lCNvEijZ?J?UebM@?xIC4I_Aa# zR)@SJTkBpRJrwL5oD2oi?*hc;7-dgpXHixbMiDUR5l0&Gsb!P=c7g3{>_SnStVH14 z@PREtxbTP>O`xf?9?Mn(*L|^u&UD>Q$uMJHTi@d)vdH%``~`Cs@v)NmtDh!Cq|qx> z6~qv|1mU0R(zq0qUeg8E;`Qz6W~C8q5PXk=hnapS3mPt{X{Jk2t~$1ii8`?H#e5F3g@aBM?IFv`3?fVNUFx@5G zTMH6+mhP_02h90Z(c?t%RL2hR(z+d~RA%F%(Jy)^YtjIQv9$18Ek79rYXJnRDB7Z`BZiB zW$NZrlXA|wXHSe}?KI}um_ge{H&5-}ymHeHH3{>4L+!Tx4r0y%Yv%;Q1s5f3Y)|BT zOyKcJ0@9i7fC{P$2gI9ESa#P0A4Xp~gAh#m$l_3p7R5bVrwc)kxa7nqPTp2D>gp#S zX8s$%-Z!y*@^#hf-;WOYV7H$~L*O1(gRLR@QU|_Sb{-jv2u6upzm`Jq16s+{oISm$ zyq&jlov9omQls}?vKd!dLSr8FH6BZt8)d0t4=VC^O?Pm`_AyWm{hP0XwIz`>6Nym_ zyig-IkaFE{y~@;6v$LW8KoU-d+UJr9lC$Zy-a zF6Xc^Xxl(d9kp$0UGA=)bOuvvy!t-;gU+{p^Ui&uHvn6RuQyrE(Q;^i*G@_d33~}0 z3zN1d@V(z*u`8eUdV&5UT}k+q!hm_yWBEzVmxteVOScPws^VT` zsFU{uZ&#%nJd#&@1n$y_x}n2D$rGD~osb$7VHKjRi}MHtLHx*pe=lh=MRsjHoY|$s zp4I;kM=SY(y_qQ&52rZ&#gf`_$L6MWIN`2~Gf)F45DmBnh+XL$Ue}O2L|&>;SAcLp z-#?ps(qMWvlZKhEm&`1#DoddZ3aO$AB6B-n2>46UXhq(E6LHxYGA)9~Wg*`9d25)o zg84g($K%k8^NGjCzQ@ptL8Xk26g;a+{|^pPK{-DN!gX>Ts|QXh9hk-3^E+lD)rfaI zfB4(Pg)!$iIypEI$By_H5p&GGA>_08+lcW)Ct=Emu~Hi24UwGt8?gM_v|KrHbFM*5 z%7E&?y{SI5NPtD{v!?F&fmKi8Hk8i%pVx{nqKpGKm31ID8r~UGnO>(jai;2muxKm54I1R$BG5yhmIkD(Ol0 z6hxDRyLd0g0w1{0h&Bxto{OaYgc&r+&vok@K5hBN?v8=*DXoQCc%RLvBcyna&of~G?l|gt>S>t{a8`L0hevn7VoO6&sTJ+&Im<6mYiv{Kkyngnp z^XK14clY+`h3Ip4ck#uQXzwScw-0Wvt}$;$ieHRh>(|tXt7Sc3F{Lp!+xQFezDzpd zm>()B#r^(%v2Y{YtzEw=9m)K`K~Z(1q=;r`BbXn9w=NnjitePSLt1}*wgEf;+GXs2 zPv1>Aeye`pTrICDosG9=@XIggYtX&J3XwQ_%}?$pb}lX=7}YcB_qoV?OF%j2QK`hW zQhJmSN~BPq%d9GfgZDEb$GYu%;0zGB-<_)Ji-Rq}y~LSHUo4N`OK}i|z?a!)>dnSJ zpYs-ddXq@fu=rt_USZWP5ypz9VRpLXDRk5e%`BTQ^o(tVMSBFe?4r7*cc%l|%OmZK z6Zw@t$<=1 zLSr2nxc|QSVn390a;Q~J(9$Gd<*tXLjDi8DY&{khkEEa|4D`UfQ-{uSiE!}}(L}NV zctJ5q+3=^X_5Y^@Xqq>%t0YyQ8ARIQyaS1mL)k9WYa%?eX^3|6Qn$&;A~U`b4L(vD zEZsf!#GrI0!TjnNmRSi^b*=|VBnP@76Le>LhO+-SfBn?#d5hPiUb&TK6)vC@;A2q` zxo1bVq*Q6~O>_mODa84zZ>aBWX9L~zf7;Aq6TeV;+2P(I4z=RV$d}pJ`)1rvaH2}@}8I#yt zuvBpMw6*lj)>DXwE`*h>-89>d1FjAE-D?cIHNnrEO(#1ORJ}Bj2w}53VmjpvHRs2- zPv1f@^dB27lbkNTUp2ws5Ffp1PaqrOe~#K$V%$UlT79t#wNd7R&CwPW-_Y{h+)F%9 zDYq66cDn0nr5n9xgz8dl#KR_ps9^NA3+ydnws_u(jvA1+#sof;3kcv&hPE*`H9%7z z0`BVoOrTI2EWJL)W&wYT7j%UqVck4UzDDlzBHWjqNsYLJtAZOUyc6AhkC6s-J>e!w z0e(L->@+PU0zTJ%X2L?$Gy%%7RoE8*svWi4+48wFq?Y>XeJpY-KQGVp_9Y~*%5+I2JQ%Bf1Kh>BGQ{&RVP zz?2_9Zoy`G$Rk6QpeHT#Mq=Is>ODsy;LP~iI5*pBAMN)kS|Vg`a4(_;GNpcL8$u(I#pEq?z zRLB|I;6&1YM32<=1vz;uJK@W_|K9w;GGAt;v*rK{QFRr(xqrW<82fL%nc!L&itymu zO)qx*tuFOvXEfCjVwgkc7=7rPcDpqy6;mo<{pci>c(&;Wx7k~2vCAum6 zTuwhR`bC89-5CN}xjpWXcD$ zPv^C@6FqnlPM=$6{>mexvttESFwpKtJiG5c)yoE+Nw!mro|)juOB&mCCtEi38EPdH zZQr6FcGh${3e6~tRhv%x&OtCa$EZ6-$oO?M=sTn4QVxnVF5H$6KwbPo6IHEv312vK0qzG6%S1Mi1 z#V^ikOBy|LqpGi62p_E`T2+}Mcn$(|tm8(4{m*i-z9RjiEo)c|mZ;vEln^j6TYZ5C zS!6qo(5ll!Q?wqdz|-CJG@vApW%1KsdBP~;yORJ4sLP~acf3}s@-M96{xO%|5Bqji zUCJ%6=GM0JV~erx6*7yhm=acxVU&BdwuZWFQv05Nik@D?n?-H#U!lBTOB{1B7}$qZ z@!;Cni)7~YU?|X~{@b};diaW`DhohhlGqO97*BSZ2@u0XfS+gGR=2mvN4O2k2tb{7P^DF<^s4wEVekiW4c7;ql)0 zGQM=`(hlqDzA)<`j$O9Nk%jcE2DTO<(NDR+ME@O=ZjPaW?>p&-1@Znse*aDW7CNo)WHf$;?>p=O3ZjDQnpJ(ZN5ySCi?JXZ^v?wjh6Z(tWLd}=(!ksz*gN& zxQ$hjL+C?SFS1YeM*fZ3{Qsh1m?A9z>8b-EZ-&ihky~l}p;$4+Bp&|AxgzrmJ`Ux+ zruV{9%n5Fv7ak5TzkdTAxnI96k+F(2ITptq_Bq zUac;j-F*PhE!wOX1p%sv&+~bSi{=GdtYjNG*)mv?Vg)(8GM9Y|i; zi+r#TeK6~tXY%|vbo*U_kFJ-X>_b!*k-MnEl_=6C(&s&{RmD(hagezEPLY@+k^P5s zYo~F!l6<<>zivtlGJ5!OB)k=ybdgxm3&TNG1fKwK29x&|PD%8J(|`Oq}8$ zXdm=ST*|}$R0zKh*`>b^IPj6$W{O;=6SaH!Iw#f|f>A|$1mmb&L7GAgWx9=V4xH+$ zJ)=pucy9B~@ zt!D`(^*qZjL^SNGQlwuaIhenT8tjO8H!@aLY%0A zVg@+ZW&`qfXfGP+6y zdR8R+!EP5gj(e!rkM16EJ|tYfM+MZFJuckp+Z2!L{#A<)OFWFle&7XnAiX!L0eydA zOHXMv$xe4_Ug;yX>kL0X^>?qcB=_0y5z&e_&ngT!O!Jv@DGJ@iGtD?rABmxv+>nDw z1iEej5=`tR3~Lr)38LV5tg$C9b)*3I-H>ntIVgF>>WNdlQKLoj7pxFImpZV@FV_iR z_ljaxu4Jzdf;os_xDU!0Wn}wf+VNbJh@UI!Lmqdh0o|r@jR6aYc!3!mRrIY=P(S8R z#!mvunrR!hoo>OSZ`J0#&s0C9TUzFaJC2dDh>OjIK{Eq6p|cr{831Nvph zVNR;~y?-A!6TU4DalX{%n;mZ%F)wOWS_wh;_TWbw(LvsnkdA*fEb)EI*SSYgs2v_z zM2xM~b%mbHj=H^`Fe?^SuS8S{DcHFpn^j^m%rI>-F#SJ<&My)4UXc)HK1w19D>7=oZYxuD*D`yt7F*vqVyb*1c zw5NO;h^d-c`mplKAB~k*%Mg7WBg?#+p=q)P-e~4_M_Kwdx6yIus#7<`Qt>iYX4PjI z`|*lms6z9?qjzM{62s3SUahkrgds{rQDdGgdd2rP$GZIoDGY5(_7h_7ttrGiw;pwx z!`Yqi-oT)m$(&P=lsdjYgRvSURxSy~D1SSEi?XW3UMQD@u_TF(5QS}{boU2@5Wk4* z!7k~A*HChhNPNAW2nWWJilG&gz9xzpDohwLL~Xn8^$I|K;tAW2b7&C|^G|OwSFNrV zLnkyIimqkLK2W`FAsNVWF;(EFfrKaxo{%ooS5Q@~NHyK~PzE^Idyk~rpjS#ot(|Hi z01*sLk#D2S`mAEN^nJ9m5c7laF&~nE=IBS9_D(C(#PJ$UkcW&GvvNjro`GdG!+li$uxom#hoglM3J6ASgL;zc%87?MmV zT%#j6?3c7_3#N5M?E>7l^v<3P?agI_PWU|S(Y9T@8WA{qj6~P8{D}UjY!`Jc{U7~% z3cVNGWd6E?jJW`2dTyCI2Hy`dAUR?tw%JZpYCW+T@7Q^vhckrp>|+15YQIjing$!u zDz*-dOLM*JC$i@pEGIn7=!af6AjJx8S~4q9DTKE*U1>@Ya{E8SJ|xKaL3+S%gaF(m zbBn761nt3$q`D-r|^v)%n23*DVn+IX+4*JM3UdIbFb|#T`r?GLw zRV2qS!I_=??UnD$nEfH8z~$9`^rWB7FqaeqJ!@XkBNi$Yd@?c@Zs{j7LI+3)t*t-n zwbvyK%Rk8UJ~9UO;Jh{kue&`NAVD}8lA);7Q{TqU-Zl3NQJzTXanKi^6@RYZk*Nl$ zy!MlU3IWdVd(pCP6fs$(DY#bi53X3KqmM4c{NQUDvhXcC+C3)M8l8h_8YIfu-#{eC z3;K(vInbZF45e?y_^LZgPrmmrY_%wkd2~ckWt9OCjfGxmgnK&Mot^{#;zzQ#HJC-z zt}BC-M3msVl`*J`c_}UQ>+^Dj>j;xIc6)5%J)&<{G&l-}wX;@O^7sFLJXd2g%Kd)Yg(|*TV+=7k8l#WI3aM1ZnI%TJM3M0DC?DrZ`8?Ct z+~xDJY(sozxz|GYqhR03g7}sQgY9|*;I;y|O8x`hhXgzo<5&;Ni5=^S?R30rWLm!= zkt!4FgfhCcY#hvA!fyd4w%=oEn6^YAeesk1t4)pbq2gdaK2-=k4P9g$zD9#+2c77r z?!^DEyszwPtNGpz5Fofi@BpP)u>!^2U5h)#-KDq}g0;A7akt_w#oe`7aVYNp+`qM+ zPw~uJ=jA!cp4l_ouDLb_115U!4TC{^g4kdxOQif!Y~DuSmT@SAp=TOCco5cXiAhc+ zXkw*|6GlEoFT#rlqnL}5y)LeR47?LNFq47d(|y@K4yG&?$LQevYt>8jr1QsK`rn*C z$`f0{3PukSYgW`dFbX0@wY)UECWJiw9>TmJlhn}d=bfZ>;zE96D^$+BubsMiFA52x-F%@tK;$d;)K-x>f#eTMfqAC*O%TCk-0?**NdQF~Ge^3J{ck=?i7-d4GXmSEI= z-i6eE#gc^n5w^)tmfYBqQ~aBUpNabT1zh)$GlD9^DvHwHK?Vm()dh&vOv)S(6?2JNX7iSiW=Mhp5PBk=pL}wW{jbHuw2#I ztCt%fKFY{m_A?s`9Sv4#EUF`6!Sx!P(ZLs=%6D5B1&MzC1mO8T_lenvl~L5Fg+(#d zv}wC2ky8Kg`RV5l>F*X7iTJPqI#~P zMXzHf!p&A0-Aq`^jCvJnSbL3 z|2BxHqLMkAqD}CdGD|>fWpO!RX3r-t)7S#Dm_%LHz;4xj&TAnaEQD7)Q^^CGYqEV| z377bQgROtIdXx;7kh_q-+w-5ee)DV-pM#~xD*~NN)Hg=+C3QFbiAoW%D}$y>(5q$5 zz3Ne-mHu8H<$Zu5(s%U2eH(*K?%x_cDW=@B5ByRxmlS6?WtB;!|KJXEAm1Y0;c|Zy zJl_DY5TdX+u{!_2zS~Fz_7n-yC*VrT<$vKH_4re0J=^eYb;bRi$@ACjyRVy$>*w%^ zHvAOlZF=GPFAnjy_0F0CmNo9a5S&{;X)rIQejg z4~7|&%~I8L!@g~*%gg(Z)dtcQq;U(j!*%m;qO=-9NZHVF%axCWD7Y#v~@`ynl-+?m~0@nMS6 zeFTLzQhZr>RITO1_uQ3PwQK z=q$oiUNssj_5}MJaNe!NR>*V>KG<6ZJq1#5^T}e$(tuBtp>zZD z!mqhBevknanis(h>njAYsvxj2BUmFo8e|ORD4dR(@vJuacQ^}n|L*a_u)i=`YpIkV zVYD@7F=ng2m3*8*Dk!(LykVInlzB0JZ6&t;?U@x_r20Z~{*eQrasn6suH(`bwY(nn z{Ne|7?CZ;$$W6JY>fBmT`$EQW$6B~*5327frI@aK8+`AlZQv@6NJ)1MMjCoBH76Tt z4LiMV_@Bq?MU=oOG&|9wd5d@ds#Hi~z+bOw%oUkxOXTk{eW%3>+7MLN zdISZ(@%fn>3;7LlaO}agsj2y$QQxdP3KG4Zm4kfgkxt#&I4ez}ox=IFhBK+iFP@gk zc{aOZ?_G=8|J@VsqYub6-AA_O0rGi2lVJERs3^pOYa<1w#f)g)fqpg_iue~x-siYRPhuG!!&SZ7a+AF7cTxEs zVBm8ZNgIx0>>Ah%I5~nQ6T=dewhHndN+245VTjBQ`iGcO11(l}rv{|FKw6AJCV)c0 zIdhB10=Bq89?XUWbCQUbPQ4Nkcn$6u-*j6(OsL3(VKTTvss>~4|Czp+Rm@>OO&0{F*J9ZPc$~x@MDjvw?d(qQJ-8BtS%p%j`t2!RxHa&(cA84 zo6t1Vmu?0MRtJSQ!g*mgMm;{q&8aJGTu zy1H|?p(lJjO5G~wNZx#jnGn%oRvG44yL|OCW@#q3iTEN}M|QA}@QKLEUOm|RgmW;f ztvhh|DBMn%0q)W!lnH-=?WjZ&A0m~-FxNBX)GO$i`mJpR`cJtlI{9riEL!-Lxav7) z()p&?DF4!^O`G%5>gTBAZMSob^6+ysOq%>Ps{(2mY?@^?d_QX z^Lai_#pA^spR0+cYY)kV^^;l6Y&6{G#$gD+@Hi4)4AIA?L}>yjhJYSJwMAzr?Jgo0 zq9$$CJHQl$CZNc20hFTP3C&wI`ht8|r%^H+ZYkiAj9T;{A{Q20#d04wQVdo zbKFiA?4V#`JNH~OKi)UtK4~_(vW*^?v4GL{*hmv^KsY*+TM%7*rO3_)Sh0{Q6#oo3 z$}}p(+iesvuq**=zat3t{nn&~Eb0>cdE#tLSNZOmFJSUo*Ad09iWXQ@*l8Ly_cFM5 z7!+}u)f2J!)rzPzl@(e-EETAtH&f{uVGf*7cBHxftvF`Y8JHlgYkcUd~e|9J|C z6W@Gem3!WzoD#Vd-}^U(^;c-m-{*PD=#3m<FKtlJB-=MssChiL{b zeI0TRoNpDs$@?V&1Ib{Dk|aPtgLuG01u2r$Y8MaXJjoUJptI6OA<`%PMN2>VS2}vy z8+T)`W@p6#PeaiQaq~j4LfLV)27&qPMf4a_D~DQ|Oh%!$m@sZuv$1JBuxr#J#)EDX zPcq9MM?|t~gkRv)bLvAVYWa1EknT!6>>iQ~UixbM+*)|QYYJPdKTY_I;e-fr_~R&> zfJ!V*9x9ZvyniW*(Zi?jzD!r4!tmQ~u5#>pQ?5Tp3snB@g1DNCG}fn5@2Xcr6CcNA z47w0YNt>wccRm$5E=9Su7B0Or<^KxJPO0BVGsvGeOskbRSEX3*QGmC&|~?pQ_Lj zv|8|dsvyVI^TK_fVqq$=jowHs1w+v4Sg|-I<0eD!t0s9cafo%zpn=BF3~{#ja*>)D zCCnzv5md)X=;t6-%ZiKr`pJ5-g!u1|>1s2Dn-}Z0EyS-Iw&>vv!Q(c(o(=AHE81ZW z+@&%}{s)+-8+L<*Kj>iA%Nkm&!9f0RbS=-npPCPyi(Ypg>!y5JLB92-cx{%~OR>_1 zzDfnEPLILK(BM;9N>JOtcQ)({6`l%Y|9WdSH?a_i~UVN1Ctb&ppybuc+whcH%aSx>XB3|%F5sxg!d4hI?YOM-X<1dw-OA;#Rc1hgB%lT0>|@ed7Kd8 z&XHIimmq?o)YhW!F|=OipXzc5kVMabrSIvFf)gNf#nJ=r2ENicNPYzFIUOTMK}aAq zxwmPI1?W!4D)6b??bn&S_607lD5YAj$3Bpw+(4#M6Y|S^T*XeG0~+LHzD_@OMQi$H z+ASOPvwm)1t`GsAsE7*U_K#rJ85A2XQA|-vQ8wgn=3%HnCfG%^v68C*_R7I5NlLRc z%%ty+yig5%PqMS~fVY*qQK62Qtq5`hsxx#9gF?aywtxMoI}S5bL(SUKrB5Lqg@!ya zIMPbSC&aX$%Nz=(5mbe3Oyn|1M6KBMN`zNr1BRswiV)`A=EjZVVX!Rx-juJJEA_yACo+E?A zNYMl4ATozj8M=HLVOu7j8YW@sA1w>S@+|aVZ>D79S)1T3l?o#cve=Ptk-Vxem z#JC8?1S36u{pKdFFYY7%r33&C%$-@w51$|)IXgI1hKI}p7!c)lu;(!N4%ZN&#TKbM zbnK5)Cg`h;$RXTz5^p1N0y`dmh*L0LyqM$lx4I!MBFKNrf1$16TUg$!ile`rXe6L< zio~~ZZzCasV7;2mmrl>MBLKNegz7K9$(z!`F-AAFY=RRpX+a<9eyvPq8mF_6r+1h# ze5xRcQnU@v_1Oc%6t{N!UUh(jExSm}vQA}-JGw_X)G6o(IySzN%I32voM;n|9#A=q z&sy6b&M2da423Ei(;VB)O;PW#56ZV0XQ{zwIcur;-_#PRviiQ{$4wG>APUc^6>5%i z_=UtHXK=L-s24S>URdCnDpL%}oM8^-EP5m{9;&g2I+E41Wjb0JZjd{7<~e6iouDG3 zBi@fOXo#CBvSMqPScRM7i~JNc(e6>k>T!b;B?u+CriSs+Du+7K8j7s0I(ZIfRgxy)`R&Fn&gRTqvwfVd$#ZmEeq zr@+vyA92OZT8 zI~85(ZlN16JG~!7qgx^c%pcb)R$ahy2fQ%63`MXM9gm+oVAfVJAVKGlLNZ6yKl6KH z;vB1p@+{P(V)aGweElb>9q(Ppv5^$#E-$hEBD5i)rF$yo72nR?p>*xN!`UeHuRfRl2Tuu;u zY@nKGiN5k|1Tpl;Z{)_!4;F1z;Qx#gyJ`caSqhiB09OJ-Up0!o)gq5;d^)0 z;wz|F5xEG5NlJyEA5`jGSZuUn`{9kK2MMn@OZdQ(a8?PJr+DEXvK!u)h&X+B6*ARF z!#UOo<}pg%2Qt|STAK_JacCm5RStRvNGax0`pIw{?+t<(N{!^Mpp}=qIX;`V{tDw9 zLCB{GS%riuP^(;aUdbYh5`A2B@pccHGbha}Vkp0F=s0<7fm^9lvvUVb1OF0^zyxTj_w)E8+L1480sqCYy{IaEe?rhoZuTV8>d zc-uX5cYDn{07tA`NsjhYBLb-^JhCj60Tlsz!S2*ouuwtAVL8>hOVUb6mDVV zZLLLW@9oaTrme}_;OE^jD~~u)m2zY?Gbm2554KJ7e5+BvYbBKo3yi%ZD-S;SthqY( zdV;v=Q;a>d)SVQ<(>NINoZd2wrYHrqN0lNRS37_kN&?-FtEuI+Mgq6&3`yS+Sp|~^ zO##F)h4``d;Y&HL5f$EpT8XF@>hUjuJt{)Dqw@G5O+G%$3Tlu~`a!5zfJ~13AuJ~H z|2@tT#!NT(u<7_RG&RHx3P1Vs6wjhq21_Vce4$~hdk}Mdnc{H-Ki?x`Ct=Dg3Sy8#XvS^JS7q3=6uI0c>fDZ}cz3qv^&hWdJgH%y@*0hnNhunx9CMkL{>{4v%Xr z`XSnzD}HV6zlApZ{5;$(3t>8KT2#%YaA%%Xbw;rzdcUHMf`BFTN^BpQ%ew4+PB?5q zi~tQO8c;ANO^HZNR*!ZjwJ2J{!HLc|p;fU9$U=jUy=WyQEiX)_u^48AKR_9>zoCr5 zP4s#ZqJlmHq}+q*nX4vaNi<8RWcfgK#G(P8aK#X1s6olAt+Py7SsX|3shWoy>PByK z+)Ic5>fXa5564*nvo`mSvz}e2bUkrkbn7Sd5ej#Dwg$ev4Yw~pTBDfr)1*jiRRU$$ z3MXbrwf&!P|0t3545uWXscmD&h-l3GG!3wZk1#RC2a^O6A%=#Ja}ug>X1bP0B|h=8 zsS{%th$KY7w^%{!z6IvNOPrA{e~p~8M5ClqJqoy%7e}`b;gvVY1$L{0{dU1p6jmx~ zxyRhb#z_=`oXCGoVG(>7W~Gy{sX4=+-T|2^XOqEL0=xH94}-K*lcM*R_6s<=l?(8^ zz=sW$)!FN;-VfI4LL5VJAaiXZ;+7?tzL|rR@$&PQhXO%+3Y0E6&3q|U75W#(ORJA!UiAga-TL^h*Ufb zXDV>Iff^}={97$f6B{4$g-s){xKN>Tn;wut0@pJmOQ9zg>U{50WuEv zj~#RbU-UkeoYe)OnU^ye?N1Sr4x>CKQ?nSlcVe&&l`ZoyURkjDz~6;@yU0@Gpz`Rc z&L>t%B_$j75!+u1TSGsOIMfG>yM|tM&JjIyAH}&1Kkox!_O#r=8Od!w@326!;M4J6 zUN%UrZA`b1#=#z|a50f9Lik~TmRRszo2UdOn6OlZmYh!yS=gVS1jLKpIJBRtmJbx& z1`?RD_oJ{jpi=CByNR#emO{ z*Ah*jJr?FGI*b$BFsO~X+i4mUX+}K%TcKK&5@#zML~eaKWd3#5Y~pampdjE2qQN8| z{A;EmE)a3K>q2ioLg?d4j|!R5#78B7KBnh!!R{zEZa*95TJh}vCQCR|LC6CXB=(Ic@9Pwp$T(HPIGUWPn~{4ZWxQv&-$32n7A)9_$u zj&bp&bp9;wI_(EXu$o#|6kEG%Qxrs!BRmLe^=tnvF_Ktq*dV9o^l^J$nEZz~?c)!$ zp4w73eM8*a?TfvEJf+(ZsT0TUk^(xm+iM*tKNE>wc)W=R9`O@Ls2ArS>kPiq(C+ds^YqdnRzny=_2%j#S`#H!Mxo=Q3!?1 z?DLNr^jrfM#G;?*H+_K7vGxOr?o@J2j9fi6GOVmUz*VvZ0y%6lI)If@2#MJF zt%V;mh|xg>;FJw7dH~i1Y73zCz4 zL7fEiooDKZ0t(GCf+-Cxi$9lGtGSkG*k{&mNZ`Rq&ZdS@M7pI*F4J*uw=O~vD~qu` z?;%oW{E;{q((L>F)=(OvLffjmxx+6uxOp0Rm{C#c8iDz(k_aHh1M*uWQF3(k4+i<4 z6;(H#%zU#tO{6z5GKOvQIQ3-78%UlfOvs9al(C;<>u0x@v7Z;n!R=KP2<2td!heSV zIcNxJPp)|Z!{eq-X?O*F9tu?-B*l_24$J*gJ3KM!SSbT{ZlcKoo3+VRgu#vqVd;H| zn4h-^2W}1_C56H<*zW+01vtLWpXL!t8TRdkC`5H>E>QDN?g(S#7?dXS|`!eD;J@BiVt0DIntsg1n zSWag7!!1%}ux+?{Hf%zqEUm%|YB5XZ;0cK6_Yth;DfKd8F}Q@~U;PE*BPkah2KfjJ zY#>vX%!Rqhhk3v)(X$)!mEH8tFqx0sPeSDKLp6hqgDU5$3Q3Yp zw4IX?aMh}S8IIenND8e{RQg-ViqpEVc|GBoYyXs-+Wh!DT>|u`;@=D*CLd{)+>Zz%988xuPgR{~p z_L@I~R;bl;2U~M_30hN&#p-d+C&l55#73jK6wp@Ne$M;E>ud|~78|BvC6=ndW|UR1 zviD;DaHSjh)Q%t{l>;i1bPFdb2>80LRko>c1?w$RxU)lwN=9iAv6ChB!Ja>8><2QN z^Ck;)tpl0nmb{-{E{B5ucQ?=N95F_$hTfN|OKMmBG2S`?$B{^>3h+MB4oQW4QUqqI zuG6nedmhx?2IKP~n5pL`_&Xi=B&m>F9oAj^lV7>sL0R+MmIs>fgk^evCJ3%`=U;vP zXf+^*j;dvBJQXJ@8VBDMPZ~1P0q)=CE}Qv=lJu$n^KyLaNQkvwdCk^ei`_=@psVrG z3t=m1;upQYaP&ukKXr|b7*ywRP`f4Jj4LVpul?IeHO7$A)$<;Gj73**J_yy4t8;5k zb@Qr?$R%i+h+8cEJ_`ClcGZHGxsC=Z;1N-!#E(lkay;Gw!-)(aqSBRk230U6s^ta2 zzXL}5d>5z9QZHLi#r1gQ;jlA9J`|!oK!CaJiiiS!*V}!LGoPPgW~m-y1TSg|Mkx`) z{aVCF&9Xi;&wwK?83aeuJwcJXO2Vx{TSMd*f>z>(q(rqfmmoE)^WM<)Rd$yHC3L!G zuiT)la_I;}bsyEB0(hxU)iQ_DNA2(KhRNPl^G4;eeD1_c8jv)Ie4{BaD(+lJpA$_~(y%6Roj?gcm=- zF2Sh7ocD)4gzIo+HM2b`?m@6B2O``Q6=c{ps7f-@omH}3>k##`THb&`B5Kx%e(p|8 z>E3O^A5L#x3M$&0jE`;sR|>V~9m%XAaeRpwoOA2arD~5@+#}X^enrw>&spZ<^yy1y zKXTdoh@-efQMz}3?Lwrj&hGpEGlgyMZ*=5x2clV%{a~d1Dx2>COR_1McTEuU+fS3L zX&{Y@DdW4znlp`sypcbdgk;(1xzFF%=_u&BXO5NCGBuBUhLq}7Hmr0VUS@ET_X~gK zY`5K+EX5jtTg{oWtBvAdGi%~xkC9#eVaRn4PJrm&pO%lT*-UqTT2OP~JLRy#wOZMJ zsuBAtm(KSq zSri^d$xYJKzvdWrXJ9T=^K0iF>Gzx$Q*yQPEE!Y+4!Tq&?1~zijWz|Hczc&%ylcpA z^G)|L^YvDSad-|~@DeaT5ZBPb=)xH;XEZue1{XMggsMUha$sbWdGM4?0DsyOIZ z429!P7Wz_MA0-RVHbZ~&FPM$}^not@g6nIx>#4C{W%oUBK>CRTqa4_M6}Q7fbN`|i z<)YDtgJ`_F=EYV*F7&e}CVv|wMZq^lMvqaaE{?{lrfV(L*Z~6om<|srdikI7p;wjn zZ4oqr^~ncax3Q75fNa0kB6@oR%UE`h?I+uT8y@NX^Q~QbnSxZOLT}cKYU+ zO~%%{kmM&jBZF_vYPy_pI-l%E?s7U0a{dDDOCx1q?Utkd&SKo+jE!{+Qwuk3VPwO>VDH-JJbUL~famt7u##AVe5t{H-?(@ZTz?ub{3m{7VILRIr z8xjA8g&p!o71@`vq33489DkiRY%d0x{h;6D%ZX9k{b@P7$&MVg#^9a zD8htv!E9+T2Ha%L5pMr;DcA%!!K{~*yPDBt{P*WLxYZdi9F{4`ySafCU6{iwbYiH= zk1n1^2*7puNa8k3m%g8Q!!?pjWXwU6T1eWknXU)x?)BB!P)cdEu$PVe#_WhGb%xYV z#6U5q6gE|3ypb174%3L1$;dI<+cs^bw)#BcnTor(ZQ1^8a*x00@Qc8S5QO^8BMNi1 zw9{XhMO+?j4b9}*a6o5p$}oo2wX8UfQJFj3ky^B{>UMs>s*(7NqOke5-uooSOwAh~ zhf?H<4@w>zy#Fo(vSGuIWsBnYayJ?4lLIdf!^+%xr=Fxv&gRNVTV=8$JHPt&Bcrx` z4<0Z`n|JtK-#-Vmnt6B+OZhJt;?4opZ*$ zU1aTjao~8ys$#zg6Kd_*9_os)xr+V^h`|&IL2H1|JM-_W$XUKjvxHMT*QxXjY9}n= z?AKQ(F;GZrrPMh--&v#3Pl8bjwJ2{ioBS$&K&^P zi$H$jWAC=%v(Rux^|wCm!|x0uK3=uq!G~p86WmgeY!8EyJ{2RQi^TUzabO`C zEv|c97@fzn^iWoP3W`8b#9|vfrT%f=1E)Am3@v)4CFWQ84Bd0~d7DTaGjRKk1`68H zFl4!hj}axd%CoBX_0b!Do$p)b0@8=J1|qb{lm0cc4E8G(!JlUaAy5ORgeF%+wWiNB z-tx5HKSd<`s)a`(Ws3h*OZJU)B%z^}>~{uZd|fI0pEc z+tdWk|LG4D2+0LGx6OGOxcjtwfKi5dpLr7i_;(3UcR3m&PMXS+Ab z?czkiby7Wjiz~?hw{rg9K@@xsGFV$LJOz1&9I3-mOC7%1%RyS6%}&(2_4fY!7uIFgn4|!Hk8ir(S;a%!@ZEH>r)qdn1u z+fQ9?JMAN%of+XD(U$>Er_tRZwnx1VqxPKB>DKv~RyYZtxb$_yUIUGfYta+rK5ySA zfNWZE@_um?;Ygz($&X?y{Sekd))72Oo!y~YEAP1x{1lEV?Be$xB!vJ$L#m(ytZG4R zejt3|2zuU(Q;Iew&nrV~ht8~8#xKqVN=i2yA3eH!B22)i7qck|B~gecnQ9RsaCyIV zC^}4*hs5_{>l2X&fJ8tLAc$OjDkN?w${{e>GNQeVHd4L?^|D%L=}DzkG6`zCFgA_} zM*44AiZj$fUO|{ zPJ5l(x(~%vIbbAyb_2{E1#)BKvRq_;Bs=%IfiFj#2~S;aJBrsV_|?5@j59N8Cxewl zz0rZb6K!eB!bT191@dEfF#_DDneM$5zKF7@@QA>559pH2WrXlJ8fvvy=SHV{z+Mxy ze*MmWm^Xuec{Pz?vKz(8z`#(j=6lgu*!g-VS4}Cr)wU?dFz5jDII`r*G;&xz2Nq{q zh?0l-anAe&5IGBfJ@Jru$>r?KDkdfX<-o zcVH<&(tt&DpL87D(IPbdKx`A}OQA9cr$drBj@Z;A&or~4avQqOMbR7Fm%-N9iT>N1 zb`3F^x?n68KS1dH@-MUxO)i0dn*PiGm$B_m)`oBCGb7q$M0{%^N=1O0#IVUPsrY8n zq16IKlpQ=_5^^+FG|(0F#$Fr$?obFo;b)DJ%{RFVAY$MW*#-#m;;*A@JX6R8 zS-=o8l6M@wlJY}e%>ANY-YqT$hU;*H9yg=N|!Ps;9YK&%&+{Fh0D z(LFR=F5%B;-6=%Gv4+ehsqxPtdodIQN-i_2qyqYHIajq$$bn3nd_aL5NC7-lJ~$ zkQ=1pQ4V{qNLS+AplkD$hSSji$rU9Yr72l^Lv+T>@|e)nHBq_Te21p&{?D zitB~LE?R(E+1%Z0qeIh2DA}Kg5epLgZ=MZ5K0x{9pD3Ey;Mw4vl0`UM+BYZyW*#>e zL2&hqOxRKg1udPH{>qJ4>c@bhx#IL!4ckCn)VU#|FL;1u72ji=4}y&d^-YWP8797A zGCw)3Y7*6;k)AB(-6W&>5Kmv~M+I*eY{HCf8Ekxj#+Eb&_Yb@GcL!=~Mioru{DWDu z1n1*ggkI{8vwGLf)}4Q14wcMF(a&EK5ib9e066V!*Y5G_errMax1&JAVcYxtJ7!49CNKX zLNC7$0FrpnFa(&Q#n!AByBb!A`&35E1Ah30$)F`em{mf72Okyav!k6Q>#5eGU46^+~+MH#d~G8@TAA@F8u8Joo!66jclX-~ECE;KYIq zi7+bt^Zb69(6}zEZ?YwECP%QgYA=hus)E&2e>v;2)3>RfbKWQv-|^LR)>ra)240e8 zj#6Zb%y|D?ja?iz3oc=7>K4DVER#*Qh3DGa|U!F4LTrPsgR z3}l}u5@er%2{BPIp{?bi4Br!%?D2&9RZZX_0JbJ;DM$3F-xHH=&IcyRxO&+DVwk=1 zunmvOaQk=Kv6Yg-Jmfx&mbNR!&p)pI*XduQr!%fuJKeaumj$KGCwtuy4Pg(QajJj# zMmb9CEAgGb*@bY>-IbIP%<#4D-9;>sN;VD;du&0oI9g=B@cyPC!^*dg#R|a1O*DOr zJF53MhPI0fvcYwokOh3XDEOJFg7UosaUJ#fUtD1e+ChKo!CU7ef~L`13~%04*XY<6@?6+9QR`a4 zRE6q(S$KMb9ITxgtB!6{&IF91N8ahRy-@xQEIIzjl^s-KU!h8#|C>Qb^+ya!Y69kk z=H{8ornwD#(a~CVKXLkc)@P?7%e}|33FW!h#A`aPZq8c2+*qxNg8M;P523AmnhbU` zR|2(ivJWq5f0&KWSO+rVc#yezumKD=*1`G-zl5~VFa=tb8ezK%zT@G8M44-yU&7I& zDVaQdD;=)(N4o**hzp`e?H~()R-vk725*7UZJB&%9 zxMrOo6Qx)$CJSlgXU~J;o334cVG{zdeDzWos>IIUu&QLMB%%2%Hxr(-!-7tOd|h$; z=7K`?f?ieO?BQK5xwI@VoqDA@`c}ICkT%yvo_eWwXK2{^-@d%K061vQTPAZ zS@p3v)1FT1>|K?V#-RQBuT5P5QLuCa{#{EQwwYe&H(FMDr7DS#bX-1H#{L*F&T*_cgBun572P)7e;Kh&mA;_+Idz?`dM8IesoR$IgDBm&XUEAl zMLGLpLt7%zgiLC3oAQW!s~T0!794c0A+Wc$({6?7HRc>$DQnc~3a*nNSqvrz-^rLf zLWB7pnXl;{v8x}v{|GA@>T~**&oQcAkfzTuXU3bJzX#F&snM#Sy`Q(G&C-VA5LMBP zn4J;Mcfp59&kyHmc6xJMwQiyZ{WD=%KkTBZ3lfprI#Q8E9h?`xto}IzBhTL?&$97{ z7_@W8wFr>>qT8ZvbxqhBd$7*uI6(eg)xP?>YHj`ZnXhL$oiNvU%3Dr_|ND}K;*cDH z7g0G_s96_YQmELxh^g)4`!te?_LVZlBlB;*M$R9f^sl~mtF5rd2Ob9INtg2L@4+R2 z8ky~_YJsl2p+4HSrG^G&>V^EJ8?XbQ`eAx08PHowJDPYigsECJF4^)MzOCNl5Af>D8Bf`$w~J1H^hG)i7Ruwr zE>#fVU_>-i@af7+`c{~hr!FA=@9+c9?}QiKI+{C)?@Y}s%V`-Yc9Rn_S9@5_ZR<$I z#j~^MUM|axiLikac@xO@mXwrqQ~A(#G@G2Ywh`~S*S)#ykh913#UYZV&G%04YpD7c zW8bMN3Ka9e0--FM>4Y*vqV7lS#Uh&(FT4bwn2&c>dl%QDM$wO4WmVM%_8wIC92e8S zvCj3)xrBp_F2~h}9eEWF0Jmep4SBYM$z^9_NkWBMeDQ{wQTWQDT2aMY{H58w>vMKu zLudmNId4z013E9WQ7%$nyjn?pod-m`Ucf2$zz;FJSa;@`+x z^{TNwJR~>jbTVE)nB@*{`)DI5gT?P-bu3@Ue}1LmxzSd-@yumC@w~*F$NQ%A;&8Nf z%PP^HU5te!$U6($Y_vCT%pSVG9C&gV7P4-n(LAcN>kCbGdd%sX0=Um-URh5(C+c+5 zj!(;XvwZ~4xjcQ&8{IxGdd01ok;=2e)+YQNLeVe$QcY%!KtawhA=*(RSWTqZ%Msy1 zf@7)!1}M2&fB$Jy+VW*Oo?qT`Lug&y>&45{P+ffSUws=t5llHVJ35*yS6Z<@+QLfc z%~WanIZWpfrDxA*rP=VxE^Lm8rM0`(>K!pzEp(Y_B}0CDxr^ri?mo|?*Cqc?02n8= z?ptNW;GpASmXw{{3Abg{KV{t-TX(C=JdD%PSjVS`HTkEu66gNQN6Gy%Q2d!ENt?j= zCwCu|c$hHWu!jS@Zfj11jQ*Wkhz&vAbDi^10oawB6ws)hMQBnsq&u zA7@MoY3ClceS5xbsJx;cBdrx3vas`|8|j%WA(` z_3lc$fWUt4(D^6EsYjXsz(6nPlc-N+RitOh4v+;+o z3$ISwJvYL79=`l8EGOck>Iewt&O@>u*vyqwG+MF-X&MDg9j;O>yP|QkSAQQQ$>~&< z{Gk|C>Ui=FJ5;;+YjG8>ZME0eN*{Qe2+*+XyV1Tb7*8ya!2WA*A_=!z2yGU_#`9bH z$*^DI?y$9dou$2elldO)YKo%LEz3hwQ90h$kG{SCoE^1=-dUZPhQO9rPn{^0EOpK! zouUybpRlXJ!>JBwAC`rE$#YLdOwt?ASJ#`k z1H00P!?nuBoXKU~b>6S??vp3upYhi@xWn2kD_GC7Yv0fD+PiOEl`{Fgao4ZBbbaid z2vA^RdNE1wx-Y|v6vYM1{On~5OXRN?+@K;91JLB9AsfdxiET5E~;PV0MoOmCgI z{|=Pzk0Yj-a)GtnJn7f`lR{4?=fWwxmvMAs3a=g~&%`07DHD_g8G^#^^NeNH#Cn1Y zQ-cv@Yr{ry&0LAz53**ErlfK>UhjHeWoNLt?l;r1j6Cn4aL}nRUVS4Ji=M@k5RbBx zNci6mnadvkv>SUQFTXyTlx&SvJUlD>Z}^iJK_MzbWjqi1lq(h43Pvy=>;I1-ctcwK ZhTO~JfNw>8l*+7 literal 0 HcmV?d00001 diff --git a/lib/config/env_directus.dart b/lib/config/env_directus.dart new file mode 100644 index 0000000..aac5446 --- /dev/null +++ b/lib/config/env_directus.dart @@ -0,0 +1,6 @@ +class EnvDirectus { + static const String directusPublicEndpoint = 'https://directus.joshihomeserver.ipv64.net'; + static const String directusApiTokenBearer = '6mqGYbOCQAg7UAhIubb87wXcJVHTAsv9'; + static const String directusTankUsersRest = 'TankUsers'; + static const String directusFilamentRest = 'Filament'; +} diff --git a/lib/controller/home_controller.dart b/lib/controller/home_controller.dart new file mode 100644 index 0000000..d07374f --- /dev/null +++ b/lib/controller/home_controller.dart @@ -0,0 +1,45 @@ +import 'package:get/get.dart'; +import '../models/filament_model.dart'; +import '../pages/login_view.dart'; +import '../services/directus_service.dart'; + +class HomeController extends GetxController { + final identId = Get.arguments['userIdentId'] as String? ?? ''; + final directusService = DirectusService(); + final isLoading = false.obs; + final filamentModelList = [].obs; + + @override + void onReady() { + loadFilamentListPerUser(); + } + + @override + void onClose() {} + + void logout() { + Get.offAllNamed(LoginPage.namedRoute); + } + + void addFilament() {} + + Future loadFilamentListPerUser() async { + isLoading.value = true; + if (filamentModelList.isNotEmpty) { + filamentModelList.clear(); + } + if (identId != '') { + var resultList = await directusService.getListByUserId(identId); + if (resultList.isEmpty) { + print('Dokumente wurden nicht geladen: ${resultList.length}'); + } else { + print('Filament List: $resultList'); + filamentModelList.addAll( + resultList.map((json) => FilamentModel.fromJson(json)).toList(), + ); + } + } + isLoading.value = false; + update(); + } +} diff --git a/lib/controller/login_controller.dart b/lib/controller/login_controller.dart new file mode 100644 index 0000000..ec05eae --- /dev/null +++ b/lib/controller/login_controller.dart @@ -0,0 +1,90 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../helper/helper.dart' as helper; +import '../models/tank_user_model.dart'; +import '../pages/home_view.dart'; +import '../pages/signin_view.dart'; +import '../services/directus_service.dart'; +import '../helper/password_helper.dart'; + +class LoginController extends GetxController { + final emailController = TextEditingController(); + final passwordController = TextEditingController(); + final directusService = DirectusService(); + + @override + void onReady() {} + + @override + void onClose() { + emailController.dispose(); + passwordController.dispose(); + } + + void newLoginDirectus() async { + var email = emailController.text.trim().toLowerCase(); + var password = passwordController.text; + var result = await directusService.getTankUserList(); + if (result.isEmpty) { + Get.snackbar( + 'Login fehlgeschlagen', + 'Fehler beim Abrufen der Benutzerdaten. Bitte versuchen Sie es später erneut.', + snackPosition: SnackPosition.BOTTOM, + ); + return; + } + var tankUserList = result + .map((userJson) => TankUser.fromJson(userJson)) + .toList(); + var identId = + tankUserList + .firstWhereOrNull((user) => user.email == email) + ?.userIdentId ?? + ''; + if (identId.isEmpty) { + Get.snackbar( + 'Login fehlgeschlagen', + 'Benutzer mit dieser E-Mail-Adresse wurde nicht gefunden.', + snackPosition: SnackPosition.BOTTOM, + ); + return; + } + var storedHash = + tankUserList + .firstWhereOrNull((user) => user.email == email) + ?.passwordHash ?? + ''; + if (storedHash.isEmpty) { + Get.snackbar( + 'Login fehlgeschlagen', + 'Kein gespeicherter Passwort-Hash für diesen Benutzer gefunden.', + snackPosition: SnackPosition.BOTTOM, + ); + return; + } + var isPassCorrect = await PasswordHelper.verifyPassword( + password, + storedHash, + ); + if (isPassCorrect && identId.isNotEmpty) { + Get.snackbar( + 'Login erfolgreich', + 'Willkommen zurück!', + snackPosition: SnackPosition.BOTTOM, + ); + print('Login erfolgreich für Benutzer mit IdentId: $identId'); + helper.kCurrentUserIdentId = identId; // Set the current user identId + Get.offAllNamed(HomePage.namedRoute, arguments: {'userIdentId': identId}); + } else { + Get.snackbar( + 'Login fehlgeschlagen', + 'Bitte überprüfen Sie Ihre E-Mail und Ihr Passwort und versuchen Sie es erneut\noder registrieren Sie sich, wenn Sie noch kein Konto haben.', + snackPosition: SnackPosition.BOTTOM, + ); + } + } + + void goToSignInPage() { + Get.offAllNamed(SigninPage.namedRoute, arguments: {'userIdentId': ''}); + } +} diff --git a/lib/controller/signin_controller.dart b/lib/controller/signin_controller.dart new file mode 100644 index 0000000..45f743a --- /dev/null +++ b/lib/controller/signin_controller.dart @@ -0,0 +1,91 @@ +import 'dart:convert'; +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../pages/home_view.dart'; +import '../pages/login_view.dart'; +import '../services/directus_service.dart'; + +class SigninController extends GetxController { + final userNameController = TextEditingController(); + final emailController = TextEditingController(); + final passwordController = TextEditingController(); + final cityController = TextEditingController(); + final countryController = TextEditingController(); + final directusService = DirectusService(); + + @override + void onReady() {} + + @override + void onClose() { + userNameController.dispose(); + emailController.dispose(); + passwordController.dispose(); + cityController.dispose(); + countryController.dispose(); + super.onClose(); + } + + void register() async { + // Eingaben überprüfen + if (!_checkInputs()) return; + + // Registrierungslogik + var userName = userNameController.text.trim(); + var email = emailController.text.trim().toLowerCase(); + var password = passwordController.text; + var city = cityController.text.trim(); + var country = countryController.text.trim(); + + print( + 'Registrieren mit Benutzername: $userName, E-Mail: $email, Stadt: $city, Land: $country', + ); + + bool registrationSuccess = await directusService.register(userName, email, password, city, country); + + if (registrationSuccess) { + Get.snackbar( + 'Registrierung erfolgreich', + 'Willkommen, $userName!', + snackPosition: SnackPosition.BOTTOM, + ); + var userIdentId = base64Encode(utf8.encode('$email:$password')); + Get.offAllNamed(HomePage.namedRoute, arguments: {'userIdentId': userIdentId}); + } else { + Get.snackbar( + 'Registrierung fehlgeschlagen', + 'Bitte überprüfen Sie Ihre Eingaben und versuchen Sie es erneut.', + snackPosition: SnackPosition.BOTTOM, + ); + } + } + + void goToLoginPage() { + FocusManager.instance.primaryFocus?.unfocus(); + Get.offAllNamed(LoginPage.namedRoute); + } + + bool _checkInputs() { + if (userNameController.text.trim().isEmpty || + emailController.text.trim().isEmpty || + passwordController.text.isEmpty) { + Get.snackbar( + 'Fehler', + 'Bitte alle erforderlichen Felder ausfüllen', + snackPosition: SnackPosition.BOTTOM, + ); + return false; + } + + if (passwordController.text.length < 6) { + Get.snackbar( + 'Fehler', + 'Passwort muss mindestens 6 Zeichen lang sein', + snackPosition: SnackPosition.BOTTOM, + ); + return false; + } + + return true; + } +} \ No newline at end of file diff --git a/lib/helper/helper.dart b/lib/helper/helper.dart new file mode 100644 index 0000000..6c72425 --- /dev/null +++ b/lib/helper/helper.dart @@ -0,0 +1,16 @@ + + +import 'package:intl/intl.dart'; + +/// Retrieves the current date in the format "yyyy-MM-dd". +/// +/// @return [String] A formatted date. +String getCurrentDate(DateTime date) { + return DateFormat("yyyy-MM-dd").format(date); +} + +var kListDropDownYear = [ + for (var year = DateTime.now().year; year >= 2020; year--) year +]; + +var kCurrentUserIdentId = ''; \ No newline at end of file diff --git a/lib/helper/http_override.dart b/lib/helper/http_override.dart new file mode 100644 index 0000000..36ccf39 --- /dev/null +++ b/lib/helper/http_override.dart @@ -0,0 +1,10 @@ +import 'dart:io'; + +class MyHttpOverrides extends HttpOverrides { + @override + HttpClient createHttpClient(SecurityContext? context) { + return super.createHttpClient(context) + ..badCertificateCallback = + (X509Certificate cert, String host, int port) => true; + } +} diff --git a/lib/helper/password_helper.dart b/lib/helper/password_helper.dart new file mode 100644 index 0000000..0ac74fb --- /dev/null +++ b/lib/helper/password_helper.dart @@ -0,0 +1,120 @@ +import 'dart:convert'; +import 'dart:math'; + +import 'package:cryptography/cryptography.dart'; + +class PasswordHelper { + static const int _saltLength = 16; + static const int _hashLength = 32; + + // 19 MiB, laut aktueller cryptography-Doku ein sinnvoller Startwert. + static const int _memory = 19 * 1024; + static const int _iterations = 2; + static const int _parallelism = 1; + + static final Argon2id _algorithm = Argon2id( + memory: _memory, + iterations: _iterations, + parallelism: _parallelism, + hashLength: _hashLength, + ); + + /// Erstellt einen neuen Passwort-Hash inklusive zufälligem Salt. + /// + /// Rückgabeformat: + /// argon2id$memory$iterations$parallelism$saltBase64$hashBase64 + static Future hashPassword(String password) async { + final salt = _generateSalt(_saltLength); + + final secretKey = await _algorithm.deriveKeyFromPassword( + password: password, + nonce: salt, + ); + + final hashBytes = await secretKey.extractBytes(); + + final saltBase64 = base64UrlEncode(salt); + final hashBase64 = base64UrlEncode(hashBytes); + + return 'argon2id' + '\$$_memory' + '\$$_iterations' + '\$$_parallelism' + '\$$saltBase64' + '\$$hashBase64'; + } + + /// Prüft ein Klartext-Passwort gegen den gespeicherten Hash. + static Future verifyPassword( + String password, + String storedHash, + ) async { + try { + final parts = storedHash.split('\$'); + + if (parts.length != 6) { + return false; + } + + if (parts[0] != 'argon2id') { + return false; + } + + final memory = int.parse(parts[1]); + final iterations = int.parse(parts[2]); + final parallelism = int.parse(parts[3]); + + final salt = base64Url.decode(parts[4]); + final expectedHash = base64Url.decode(parts[5]); + + final algorithm = Argon2id( + memory: memory, + iterations: iterations, + parallelism: parallelism, + hashLength: expectedHash.length, + ); + + final secretKey = await algorithm.deriveKeyFromPassword( + password: password, + nonce: salt, + ); + + final calculatedHash = await secretKey.extractBytes(); + + return _constantTimeEquals( + calculatedHash, + expectedHash, + ); + } catch (_) { + return false; + } + } + + /// Erzeugt kryptographisch zufälligen Salt. + static List _generateSalt(int length) { + final random = Random.secure(); + + return List.generate( + length, + (_) => random.nextInt(256), + ); + } + + /// Vergleich ohne vorzeitigen Abbruch. + static bool _constantTimeEquals( + List a, + List b, + ) { + if (a.length != b.length) { + return false; + } + + var difference = 0; + + for (var i = 0; i < a.length; i++) { + difference |= a[i] ^ b[i]; + } + + return difference == 0; + } +} \ No newline at end of file diff --git a/lib/helper/sample_bindings.dart b/lib/helper/sample_bindings.dart new file mode 100644 index 0000000..5b1c399 --- /dev/null +++ b/lib/helper/sample_bindings.dart @@ -0,0 +1,21 @@ +import 'package:get/get.dart'; + +import '../controller/home_controller.dart'; +import '../controller/login_controller.dart'; +import '../controller/signin_controller.dart'; + + + + + +class SampleBindings extends Bindings { + @override + void dependencies() { + // Define your dependencies here no permanent Binding + Get.lazyPut(() => LoginController()); + Get.lazyPut(() => SigninController()); + Get.lazyPut(() => HomeController()); + + + } +} diff --git a/lib/helper/sample_routes.dart b/lib/helper/sample_routes.dart new file mode 100644 index 0000000..20f9d40 --- /dev/null +++ b/lib/helper/sample_routes.dart @@ -0,0 +1,26 @@ +import 'package:get/get.dart'; +import '../pages/home_view.dart'; +import '../pages/login_view.dart'; +import '../pages/signin_view.dart'; +import 'sample_bindings.dart'; + +class SampleRouts { + static final sampleBindings = SampleBindings(); + static List> samplePages = [ + GetPage( + name: LoginPage.namedRoute, + page: () => const LoginPage(), + binding: sampleBindings, + ), + GetPage( + name: SigninPage.namedRoute, + page: () => const SigninPage(), + binding: sampleBindings, + ), + GetPage( + name: HomePage.namedRoute, + page: () => const HomePage(), + binding: sampleBindings, + ), + ]; +} \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index 244a702..cc08a38 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,122 +1,32 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; +import 'package:get/get.dart'; + +import 'helper/http_override.dart'; +//import 'helper/sample_bindings.dart'; +import 'helper/sample_routes.dart'; +import 'pages/login_view.dart'; void main() { + WidgetsFlutterBinding.ensureInitialized(); + HttpOverrides.global = MyHttpOverrides(); runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); - // This widget is the root of your application. @override Widget build(BuildContext context) { - return MaterialApp( - title: 'Flutter Demo', - theme: ThemeData( - // This is the theme of your application. - // - // TRY THIS: Try running your application with "flutter run". You'll see - // the application has a purple toolbar. Then, without quitting the app, - // try changing the seedColor in the colorScheme below to Colors.green - // and then invoke "hot reload" (save your changes or press the "hot - // reload" button in a Flutter-supported IDE, or press "r" if you used - // the command line to start the app). - // - // Notice that the counter didn't reset back to zero; the application - // state is not lost during the reload. To reset the state, use hot - // restart instead. - // - // This works for code too, not just values: Most code changes can be - // tested with just a hot reload. - colorScheme: .fromSeed(seedColor: Colors.deepPurple), - ), - home: const MyHomePage(title: 'Flutter Demo Home Page'), + return GetMaterialApp( + title: 'Flutter Filament', + debugShowCheckedModeBanner: false, + theme: ThemeData(colorScheme: .fromSeed(seedColor: Colors.deepPurple)), + //initialBinding: SampleBindings(), + initialRoute: LoginPage.namedRoute, + getPages: SampleRouts.samplePages, ); } } -class MyHomePage extends StatefulWidget { - const MyHomePage({super.key, required this.title}); - - // This widget is the home page of your application. It is stateful, meaning - // that it has a State object (defined below) that contains fields that affect - // how it looks. - - // This class is the configuration for the state. It holds the values (in this - // case the title) provided by the parent (in this case the App widget) and - // used by the build method of the State. Fields in a Widget subclass are - // always marked "final". - - final String title; - - @override - State createState() => _MyHomePageState(); -} - -class _MyHomePageState extends State { - int _counter = 0; - - void _incrementCounter() { - setState(() { - // This call to setState tells the Flutter framework that something has - // changed in this State, which causes it to rerun the build method below - // so that the display can reflect the updated values. If we changed - // _counter without calling setState(), then the build method would not be - // called again, and so nothing would appear to happen. - _counter++; - }); - } - - @override - Widget build(BuildContext context) { - // This method is rerun every time setState is called, for instance as done - // by the _incrementCounter method above. - // - // The Flutter framework has been optimized to make rerunning build methods - // fast, so that you can just rebuild anything that needs updating rather - // than having to individually change instances of widgets. - return Scaffold( - appBar: AppBar( - // TRY THIS: Try changing the color here to a specific color (to - // Colors.amber, perhaps?) and trigger a hot reload to see the AppBar - // change color while the other colors stay the same. - backgroundColor: Theme.of(context).colorScheme.inversePrimary, - // Here we take the value from the MyHomePage object that was created by - // the App.build method, and use it to set our appbar title. - title: Text(widget.title), - ), - body: Center( - // Center is a layout widget. It takes a single child and positions it - // in the middle of the parent. - child: Column( - // Column is also a layout widget. It takes a list of children and - // arranges them vertically. By default, it sizes itself to fit its - // children horizontally, and tries to be as tall as its parent. - // - // Column has various properties to control how it sizes itself and - // how it positions its children. Here we use mainAxisAlignment to - // center the children vertically; the main axis here is the vertical - // axis because Columns are vertical (the cross axis would be - // horizontal). - // - // TRY THIS: Invoke "debug painting" (choose the "Toggle Debug Paint" - // action in the IDE, or press "p" in the console), to see the - // wireframe for each widget. - mainAxisAlignment: .center, - children: [ - const Text('You have pushed the button this many times:'), - Text( - '$_counter', - style: Theme.of(context).textTheme.headlineMedium, - ), - ], - ), - ), - floatingActionButton: FloatingActionButton( - onPressed: _incrementCounter, - tooltip: 'Increment', - child: const Icon(Icons.add), - ), - ); - } -} diff --git a/lib/models/filament_model.dart b/lib/models/filament_model.dart new file mode 100644 index 0000000..cd28c5c --- /dev/null +++ b/lib/models/filament_model.dart @@ -0,0 +1,56 @@ +class FilamentModel { + int? iD; + String? userIdentId; + String? art; + String? color; + String? duckTemperatur; + String? menge; + String? nozzelTemperatur; + String? bettTemperatur; + String? restMengeAktuelleRolleGramm; + String? updatedAt; + String? createdAt; + + FilamentModel( + {this.iD, + this.userIdentId, + this.art, + this.color, + this.duckTemperatur, + this.menge, + this.nozzelTemperatur, + this.bettTemperatur, + this.restMengeAktuelleRolleGramm, + this.updatedAt, + this.createdAt}); + + FilamentModel.fromJson(Map json) { + iD = json['ID']; + userIdentId = json['UserIdentId']; + art = json['Art']; + color = json['Color']; + duckTemperatur = json['DuckTemperatur']; + menge = json['Menge']; + nozzelTemperatur = json['NozzelTemperatur']; + bettTemperatur = json['BettTemperatur']; + restMengeAktuelleRolleGramm = json['RestMengeAktuelleRolleGramm']; + updatedAt = json['UpdatedAt']; + createdAt = json['CreatedAt']; + } + + Map toJson() { + final Map data = {}; + data['ID'] = iD; + data['UserIdentId'] = userIdentId; + data['Art'] = art; + data['Color'] = color; + data['DuckTemperatur'] = duckTemperatur; + data['Menge'] = menge; + data['NozzelTemperatur'] = nozzelTemperatur; + data['BettTemperatur'] = bettTemperatur; + data['RestMengeAktuelleRolleGramm'] = restMengeAktuelleRolleGramm; + data['UpdatedAt'] = updatedAt; + data['CreatedAt'] = createdAt; + return data; + } +} diff --git a/lib/models/tank_user_model.dart b/lib/models/tank_user_model.dart new file mode 100644 index 0000000..4562c8e --- /dev/null +++ b/lib/models/tank_user_model.dart @@ -0,0 +1,44 @@ +class TankUser { + int? iD; + String? userIdentId; + String? userName; + String? city; + String? country; + String? email; + String? passwordHash; + String? createdAt; + + TankUser( + {this.iD, + this.userIdentId, + this.userName, + this.city, + this.country, + this.email, + this.passwordHash, + this.createdAt}); + + TankUser.fromJson(Map json) { + iD = json['ID']; + userIdentId = json['UserIdentId']; + userName = json['UserName']; + city = json['City']; + country = json['Country']; + email = json['Email']; + passwordHash = json['PasswordHash']; + createdAt = json['CreatedAt']; + } + + Map toJson() { + final Map data = {}; + data['ID'] = iD; + data['UserIdentId'] = userIdentId; + data['UserName'] = userName; + data['City'] = city; + data['Country'] = country; + data['Email'] = email; + data['PasswordHash'] = passwordHash; + data['CreatedAt'] = createdAt; + return data; + } +} diff --git a/lib/pages/home_view.dart b/lib/pages/home_view.dart new file mode 100644 index 0000000..d294b46 --- /dev/null +++ b/lib/pages/home_view.dart @@ -0,0 +1,78 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../controller/home_controller.dart'; +import '../widgets/filament_item_widget.dart'; + +class HomePage extends GetView { + static const String namedRoute = '/home-page'; + const HomePage({super.key}); + + @override + Widget build(BuildContext context) { + var hCtrl = controller; + return Scaffold( + backgroundColor: Colors.grey.shade50, + appBar: AppBar( + centerTitle: true, + elevation: 0, + backgroundColor: Colors.teal.shade400, + foregroundColor: Colors.white, + title: const Text( + 'Filament Lager', + style: TextStyle(fontWeight: FontWeight.bold), + ), + actions: [ + IconButton( + icon: const Icon(Icons.logout), + onPressed: hCtrl.logout, + ), + ], + ), + floatingActionButton: FloatingActionButton.extended( + backgroundColor: Colors.teal.shade400.withValues(alpha: 0.4), + foregroundColor: Colors.grey.shade200, + onPressed: hCtrl.addFilament, + icon: const Icon(Icons.add), + label: const Text('Filament'), + ), + body: Obx(() { + if (hCtrl.isLoading.value) { + return const Center(child: CircularProgressIndicator()); + } + + if (hCtrl.filamentModelList.isEmpty) { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.inventory_2_outlined, size: 64, color: Colors.grey.shade400), + const SizedBox(height: 16), + Text( + 'Keine Filamente vorhanden', + style: TextStyle(fontSize: 16, color: Colors.grey.shade600), + ), + ], + ), + ); + } + + return RefreshIndicator( + onRefresh: hCtrl.loadFilamentListPerUser, + child: ListView.builder( + padding: const EdgeInsets.only(top: 8, bottom: 80), + itemCount: hCtrl.filamentModelList.length, + itemBuilder: (context, index) { + final filament = hCtrl.filamentModelList[index]; + return FilamentItemWidget( + filament: filament, + onTap: () { + // Optionale Detailansicht oder Bearbeitung + }, + ); + }, + ), + ); + }), + ); + } +} \ No newline at end of file diff --git a/lib/pages/login_view.dart b/lib/pages/login_view.dart new file mode 100644 index 0000000..836c8ad --- /dev/null +++ b/lib/pages/login_view.dart @@ -0,0 +1,40 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../controller/login_controller.dart'; +import '../widgets/my_login_widget.dart'; + +class LoginPage extends GetView { + static const String namedRoute = '/login-page'; + const LoginPage({super.key}); + + @override + Widget build(BuildContext context) { + var logCtrl = controller; + var displayWidth = MediaQuery.of(context).size.width; + var displayHeight = MediaQuery.of(context).size.height; + return PopScope( + canPop: false, // Verhindert das Zurücknavigieren über die System-Geste / den Back-Button + child: SafeArea( + child: Scaffold( + resizeToAvoidBottomInset: true, + body: Container( + height: displayHeight, + width: displayWidth, + padding: const EdgeInsets.symmetric( + horizontal: 16.0, + vertical: 50.0, + ), + color: Colors.blue.shade100, + child: SingleChildScrollView( + child: MyLoginWidget( + onButtonPressed: () => logCtrl.newLoginDirectus(), + signInOnTab: () => logCtrl.goToSignInPage(), + logCtrl: logCtrl, + ), + ), + ), + ), + ), + ); + } +} diff --git a/lib/pages/signin_view.dart b/lib/pages/signin_view.dart new file mode 100644 index 0000000..ea3fe0d --- /dev/null +++ b/lib/pages/signin_view.dart @@ -0,0 +1,41 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; + +import '../controller/signin_controller.dart'; +import '../widgets/my_signin_widget.dart'; + +class SigninPage extends GetView { + static const String namedRoute = '/signin-page'; + const SigninPage({super.key}); + + @override + Widget build(BuildContext context) { + var sigCtrl = controller; + var displayWidth = MediaQuery.of(context).size.width; + var displayHeight = MediaQuery.of(context).size.height; + return SafeArea( + child: PopScope( + canPop: false, // Verhindert das Zurücknavigieren über die System-Geste / den Back-Button + child: Scaffold( + resizeToAvoidBottomInset: true, + body: Container( + height: displayHeight, + width: displayWidth, + padding: const EdgeInsets.symmetric( + horizontal: 16.0, + vertical: 90.0, + ), + color: Colors.blue.shade100, + child: SingleChildScrollView( + child: MySigninWidget( + signCtrl: sigCtrl, + onButtonPressed: () => sigCtrl.register(), + logInOnTab: () => sigCtrl.goToLoginPage(), + ), + ), + ), + ), + ), + ); + } +} diff --git a/lib/services/directus_service.dart b/lib/services/directus_service.dart new file mode 100644 index 0000000..2622113 --- /dev/null +++ b/lib/services/directus_service.dart @@ -0,0 +1,134 @@ +import 'dart:convert'; +import 'package:http/http.dart' as http; + +import '../config/env_directus.dart'; +import '../helper/password_helper.dart'; + + +class DirectusService { + static final String endpoint = EnvDirectus.directusPublicEndpoint; + static final String apiTokenBearer = EnvDirectus.directusApiTokenBearer; + static final String tankUsersRest = EnvDirectus.directusTankUsersRest; + static final String filamentRest = EnvDirectus.directusFilamentRest; + + static Map get headers => { + 'Authorization': 'Bearer $apiTokenBearer', + 'Content-Type': 'application/json', + }; + + Future> getTankUserList() async { + var client = http.Client(); + String apiUrl = '$endpoint/items/$tankUsersRest'; + var response = await client.get(Uri.parse(apiUrl), headers: headers); + if(response.statusCode != 200) { + print('Fehler beim Abrufen der TankUser-Liste: ${response.statusCode}'); + client.close(); + return []; + } + final json = jsonDecode( + utf8.decode(response.bodyBytes), + ) as Map; + //print('$json}'); + client.close(); + return json['data'] as List; + } + + Future> getListByUserId(String identId) async { + var client = http.Client(); + //String apiUrl = '$endpoint/items/$filamentRest?filter[UserIdentId][_eq]=$userIdentId'; + String apiUrl = '$endpoint/items/$filamentRest?filter[UserIdentId][_eq]=$identId'; + var response = await client.get(Uri.parse(apiUrl), headers: headers); + if(response.statusCode != 200) { + print('Fehler beim Abrufen der Dokumente aus der Collection: ${response.statusCode}'); + client.close(); + return []; + } + final json = jsonDecode( + utf8.decode(response.bodyBytes), + ) as Map; + //print('$json}'); + client.close(); + return json['data'] as List; + } + + Future deleteDocumentFromTable(int iD) async { + var client = http.Client(); + String apiUrl = '$endpoint/items/$filamentRest/$iD'; + var response = await client.delete(Uri.parse(apiUrl), headers: headers); + if(response.statusCode < 200 || response.statusCode >= 300) { + print('Fehler beim Löschen des Dokuments aus der Collection: ${response.statusCode}'); + client.close(); + throw Exception('Fehler beim Löschen des Dokuments aus der Collection: ${response.statusCode}'); + } + client.close(); + } + + Future createDocumentInTable(Map data) async { + return await http.post( + Uri.parse('$endpoint/items/$filamentRest'), + headers: headers, + body: jsonEncode(data), + ).then((response) { + if (response.statusCode == 200 || response.statusCode == 201) { + print('Dokument erfolgreich erstellt: ${response.body}'); + return true; + } else { + print('Fehler beim Erstellen des Dokuments: ${response.statusCode} - ${response.body}'); + return false; + } + }).catchError((error) { + print('Fehler beim Erstellen des Dokuments: $error'); + return false; + }); + } + + Future updateDocumentInTable(int? iD, Map data) async { + return iD != null + ? http.patch( + Uri.parse('$endpoint/items/$filamentRest/$iD'), + headers: headers, + body: jsonEncode(data), + ).then((response) { + if (response.statusCode == 200) { + print('Dokument erfolgreich aktualisiert: ${response.body}'); + return true; + } else { + print('Fehler beim Aktualisieren des Dokuments: ${response.statusCode} - ${response.body}'); + return false; + } + }).catchError((error) { + print('Fehler beim Aktualisieren des Dokuments: $error'); + return false; + }) + : Future.value(false); + } + + Future register(String userName, String email, String password, String city, String country) async { + var client = http.Client(); + String apiUrl = '$endpoint/items/$tankUsersRest'; + Map data = { + 'UserIdentId': base64Encode(utf8.encode('$email:$password')), + 'UserName': userName, + 'City': city, + 'Country': country, + 'Email': email, + 'PasswordHash': await PasswordHelper.hashPassword(password), + }; + var response = await client.post( + Uri.parse(apiUrl), + headers: headers, + body: jsonEncode(data), + ); + if (response.statusCode == 200 || response.statusCode == 201) { + print('Benutzer erfolgreich registriert: ${response.body}'); + client.close(); + return true; + } else { + print('Fehler bei der Registrierung des Benutzers: ${response.statusCode} - ${response.body}'); + client.close(); + return false; + } + } + + +} diff --git a/lib/widgets/filament_item_widget.dart b/lib/widgets/filament_item_widget.dart new file mode 100644 index 0000000..2bc67ba --- /dev/null +++ b/lib/widgets/filament_item_widget.dart @@ -0,0 +1,203 @@ +import 'package:flutter/material.dart'; +import '../models/filament_model.dart'; + +class FilamentItemWidget extends StatelessWidget { + final FilamentModel filament; + final VoidCallback? onTap; + + const FilamentItemWidget({ + super.key, + required this.filament, + this.onTap, + }); + + // Hilfsmethode zur Bestimmung der Farbe basierend auf dem String "Color" + Color _parseColor(String colorName) { + switch (colorName.toLowerCase().trim()) { + case 'weiß': + return Colors.white; + case 'schwarz': + return Colors.black; + case 'hell braun': + case 'braun': + return Colors.brown.shade400; + case 'knochenfarbe': + return const Color(0xFFE3DAC9); // Bone / Beige + default: + return Colors.grey; + } + } + + // Hilfsmethode zur Umwandlung von "1kg", "7kg" etc. in Gramm + double _parseTotalWeightInGramm(String mengeStr) { + final cleaned = mengeStr.toLowerCase().replaceAll('kg', '').trim(); + final kg = double.tryParse(cleaned) ?? 1.0; + return kg * 1000.0; + } + + @override + Widget build(BuildContext context) { + final parsedColor = _parseColor(filament.color!); + final restGramm = double.tryParse(filament.restMengeAktuelleRolleGramm!) ?? 0.0; + final totalGramm = _parseTotalWeightInGramm(filament.menge!); + final progress = (restGramm / totalGramm).clamp(0.0, 1.0); + + return Card( + elevation: 0, + margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 6), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + side: BorderSide(color: Colors.grey.shade200), + ), + child: InkWell( + borderRadius: BorderRadius.circular(16), + onTap: onTap, + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Header: Typ, Farbindikator, Spule/Menge + Row( + children: [ + // Farbpunkte mit Schatten für weiße/helle Farben + Container( + width: 24, + height: 24, + decoration: BoxDecoration( + color: parsedColor, + shape: BoxShape.circle, + border: Border.all(color: Colors.grey.shade300, width: 1), + boxShadow: [ + BoxShadow( + color: parsedColor.withValues(alpha: 0.4), + blurRadius: 6, + spreadRadius: 1, + ) + ], + ), + ), + const SizedBox(width: 12), + // Material & Farbe + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + filament.art!, + style: const TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + ), + ), + Text( + filament.color!, + style: TextStyle( + fontSize: 14, + color: Colors.grey.shade600, + ), + ), + ], + ), + ), + // Spulengröße Badge + Chip( + padding: EdgeInsets.zero, + labelStyle: const TextStyle(fontSize: 12), + label: Text(filament.menge!), + backgroundColor: Colors.teal.shade50, + side: BorderSide.none, + ), + ], + ), + const SizedBox(height: 16), + + // Temperaturen (Nozzle & Bed) + Row( + children: [ + _buildIconText( + icon: Icons.thermostat, + label: 'Nozzle', + value: filament.nozzelTemperatur!, + color: Colors.orange.shade700, + ), + const SizedBox(width: 24), + _buildIconText( + icon: Icons.hot_tub, + label: 'Bett', + value: filament.bettTemperatur!, + color: Colors.blue.shade700, + ), + ], + ), + const SizedBox(height: 16), + + // Restmengen Progress Indicator + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Restmenge', + style: TextStyle( + fontSize: 12, + color: Colors.grey.shade600, + ), + ), + Text( + '${restGramm.toInt()}g / ${totalGramm.toInt()}g', + style: const TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + const SizedBox(height: 6), + ClipRRect( + borderRadius: BorderRadius.circular(4), + child: LinearProgressIndicator( + value: progress, + minHeight: 6, + backgroundColor: Colors.grey.shade200, + color: progress < 0.2 ? Colors.red : Colors.teal.shade400, + ), + ), + ], + ), + ], + ), + ), + ), + ); + } + + Widget _buildIconText({ + required IconData icon, + required String label, + required String value, + required Color color, + }) { + return Row( + children: [ + Icon(icon, size: 18, color: color), + const SizedBox(width: 4), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + label, + style: TextStyle(fontSize: 10, color: Colors.grey.shade600), + ), + Text( + value, + style: const TextStyle(fontSize: 13, fontWeight: FontWeight.w600), + ), + ], + ), + ], + ); + } +} \ No newline at end of file diff --git a/lib/widgets/my_login_widget.dart b/lib/widgets/my_login_widget.dart new file mode 100644 index 0000000..1a9797e --- /dev/null +++ b/lib/widgets/my_login_widget.dart @@ -0,0 +1,134 @@ +import 'package:flutter/material.dart'; +import 'package:google_fonts/google_fonts.dart' show GoogleFonts; +import '../controller/login_controller.dart'; + +class MyLoginWidget extends StatelessWidget { + final void Function()? onButtonPressed; + final void Function()? signInOnTab; + final LoginController logCtrl; + + const MyLoginWidget({ + super.key, + this.onButtonPressed, + this.signInOnTab, + required this.logCtrl, + }); + + @override + Widget build(BuildContext context) { + final googleFont = GoogleFonts.righteous().fontFamily; + return Column( + children: [ + Stack( + children: [ + // Umriss (Outline) + Text( + "Login Page", + style: TextStyle( + fontSize: 44, + fontFamily: googleFont, + fontStyle: FontStyle.normal, + letterSpacing: 5.0, + foreground: Paint() + ..style = PaintingStyle.stroke + ..strokeWidth = 5 + ..color = Colors.blue.shade900, + ), + ), + // Füllung + Text( + "Login Page", + style: TextStyle( + fontSize: 44, + fontFamily: googleFont, + fontStyle: FontStyle.normal, + color: Colors.orange.shade300, + letterSpacing: 5.0, + ), + ), + ], + ), + SizedBox(height: 20), + Container( + decoration: BoxDecoration( + border: Border.all(color: Colors.orange.shade400, width: 8), + borderRadius: BorderRadius.circular(30), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(18), + child: Image.asset( + 'assets/images/filamentTransparent.png', + width: 300, + height: 300, + ), + ), + ), + SizedBox(height: 20), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 50.0), + child: TextField( + controller: logCtrl.emailController, + keyboardType: TextInputType.emailAddress, + decoration: InputDecoration( + border: OutlineInputBorder(), + labelText: 'E-Mail', + ), + ), + ), + SizedBox(height: 20), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 50.0), + child: TextField( + obscureText: true, + controller: logCtrl.passwordController, + keyboardType: TextInputType.visiblePassword, + decoration: InputDecoration( + border: OutlineInputBorder(), + labelText: 'Password', + ), + ), + ), + SizedBox(height: 30), + ElevatedButton( + style: ButtonStyle( + backgroundColor: WidgetStatePropertyAll( + Colors.orange.shade500, + ), + foregroundColor: WidgetStatePropertyAll( + Colors.blue.shade900, + ), + minimumSize: WidgetStatePropertyAll(Size(430, 60)), + ), + onPressed: onButtonPressed, + child: Text( + 'Login', + style: TextStyle(fontSize: 34, fontFamily: googleFont), + ), + ), + SizedBox(height: 10), + RichText( + text: TextSpan( + style: TextStyle(fontSize: 16, color: Colors.black), + children: [ + TextSpan(text: 'Zum registrieren '), + WidgetSpan( + child: GestureDetector( + onTap: signInOnTab, + child: Text( + 'Sign in', + style: TextStyle( + fontSize: 16, + color: Colors.blue.shade700, + decoration: TextDecoration.underline, + ), + ), + ), + ), + TextSpan(text: ' clicken!!'), + ], + ), + ), + ], + ); + } +} diff --git a/lib/widgets/my_signin_widget.dart b/lib/widgets/my_signin_widget.dart new file mode 100644 index 0000000..b47533f --- /dev/null +++ b/lib/widgets/my_signin_widget.dart @@ -0,0 +1,162 @@ +import 'package:flutter/material.dart'; +import 'package:google_fonts/google_fonts.dart' show GoogleFonts; +import '../controller/signin_controller.dart'; + +class MySigninWidget extends StatelessWidget { + final void Function()? onButtonPressed; + final void Function()? logInOnTab; + final SigninController signCtrl; + + const MySigninWidget({ + super.key, + this.onButtonPressed, + this.logInOnTab, + required this.signCtrl, + }); + + @override + Widget build(BuildContext context) { + final googleFont = GoogleFonts.righteous().fontFamily; + return Column( + children: [ + Stack( + children: [ + // Umriss (Outline) + Text( + "Signin Page", + style: TextStyle( + fontSize: 44, + fontFamily: googleFont, + fontStyle: FontStyle.normal, + letterSpacing: 5.0, + foreground: Paint() + ..style = PaintingStyle.stroke + ..strokeWidth = 5 + ..color = Colors.blue.shade900, + ), + ), + // Füllung + Text( + "Signin Page", + style: TextStyle( + fontSize: 44, + fontFamily: googleFont, + fontStyle: FontStyle.normal, + color: Colors.orange.shade300, + letterSpacing: 5.0, + ), + ), + ], + ), + SizedBox(height: 20), + Container( + decoration: BoxDecoration( + border: Border.all(color: Colors.orange.shade400, width: 8), + borderRadius: BorderRadius.circular(30), + ), + ), + SizedBox(height: 20), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 50.0), + child: TextField( + controller: signCtrl.userNameController, + keyboardType: TextInputType.emailAddress, + decoration: InputDecoration( + border: OutlineInputBorder(), + labelText: 'Username', + ), + ), + ), + SizedBox(height: 20), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 50.0), + child: TextField( + controller: signCtrl.emailController, + keyboardType: TextInputType.emailAddress, + decoration: InputDecoration( + border: OutlineInputBorder(), + labelText: 'Email', + ), + ), + ), + SizedBox(height: 20), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 50.0), + child: TextField( + obscureText: true, + controller: signCtrl.passwordController, + keyboardType: TextInputType.visiblePassword, + decoration: InputDecoration( + border: OutlineInputBorder(), + labelText: 'Password', + ), + ), + ), + SizedBox(height: 20), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 50.0), + child: TextField( + controller: signCtrl.cityController, + keyboardType: TextInputType.emailAddress, + decoration: InputDecoration( + border: OutlineInputBorder(), + labelText: 'City', + ), + ), + ), + SizedBox(height: 20), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 50.0), + child: TextField( + controller: signCtrl.countryController, + keyboardType: TextInputType.emailAddress, + decoration: InputDecoration( + border: OutlineInputBorder(), + labelText: 'Country', + ), + ), + ), + SizedBox(height: 30), + ElevatedButton( + style: ButtonStyle( + backgroundColor: WidgetStatePropertyAll( + Colors.orange.shade500, + ), + foregroundColor: WidgetStatePropertyAll( + Colors.blue.shade900, + ), + minimumSize: WidgetStatePropertyAll(Size(430, 60)), + ), + onPressed: onButtonPressed, + child: Text( + 'Register', + style: TextStyle(fontSize: 34, fontFamily: googleFont), + ), + ), + SizedBox(height: 10), + RichText( + text: TextSpan( + style: TextStyle(fontSize: 16, color: Colors.black), + children: [ + TextSpan(text: 'Zum login '), + WidgetSpan( + child: GestureDetector( + onTap: logInOnTab, + child: Text( + 'Log in', + style: TextStyle( + fontSize: 16, + color: Colors.blue.shade700, + decoration: TextDecoration.underline, + ), + ), + ), + ), + TextSpan(text: ' clicken!!'), + ], + ), + ), + ], + ); + } +} diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 2e1de87..be1ee3e 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -6,6 +6,7 @@ list(APPEND FLUTTER_PLUGIN_LIST ) list(APPEND FLUTTER_FFI_PLUGIN_LIST + jni ) set(PLUGIN_BUNDLED_LIBRARIES) diff --git a/pubspec.lock b/pubspec.lock index 9f92f27..1c9a666 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1,6 +1,14 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + args: + dependency: transitive + description: + name: args + sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04 + url: "https://pub.dev" + source: hosted + version: "2.7.0" async: dependency: transitive description: @@ -29,10 +37,18 @@ packages: dependency: transitive description: name: clock - sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b + sha256: e51d50bca3217c9a9fa2b41a30e4a38971133f5f9ec7a3d57bae095007f1d28e url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.1.3" + code_assets: + dependency: transitive + description: + name: code_assets + sha256: "828110d598123b5ea96c00c9f3c72105bf79f8ee36c20a39b26209ade421ec57" + url: "https://pub.dev" + source: hosted + version: "2.1.0" collection: dependency: transitive description: @@ -41,14 +57,38 @@ packages: url: "https://pub.dev" source: hosted version: "1.19.1" + crypto: + dependency: transitive + description: + name: crypto + sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf + url: "https://pub.dev" + source: hosted + version: "3.0.7" + cryptography: + dependency: "direct main" + description: + name: cryptography + sha256: "3eda3029d34ec9095a27a198ac9785630fe525c0eb6a49f3d575272f8e792ef0" + url: "https://pub.dev" + source: hosted + version: "2.9.0" cupertino_icons: dependency: "direct main" description: name: cupertino_icons - sha256: "41e005c33bd814be4d3096aff55b1908d419fde52ca656c8c47719ec745873cd" + sha256: b7cc2390aac296c083bea762859413eb1cf5b630c70e0c7e4d831018f762a8b2 url: "https://pub.dev" source: hosted - version: "1.0.9" + version: "2.0.0" + cupertino_ui: + dependency: transitive + description: + name: cupertino_ui + sha256: c23816577a1280cff409e989541767887011f8f1d8c1863a794ed308af46f2a9 + url: "https://pub.dev" + source: hosted + version: "1.1.1" fake_async: dependency: transitive description: @@ -57,6 +97,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.3" + ffi: + dependency: transitive + description: + name: ffi + sha256: "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45" + url: "https://pub.dev" + source: hosted + version: "2.2.0" flutter: dependency: "direct main" description: flutter @@ -70,11 +118,88 @@ packages: url: "https://pub.dev" source: hosted version: "6.0.0" + flutter_localizations: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" flutter_test: dependency: "direct dev" description: flutter source: sdk version: "0.0.0" + get: + dependency: "direct main" + description: + name: get + sha256: "5ed34a7925b85336e15d472cc4cfe7d9ebf4ab8e8b9f688585bf6b50f4c3d79a" + url: "https://pub.dev" + source: hosted + version: "4.7.3" + google_fonts: + dependency: "direct main" + description: + name: google_fonts + sha256: fdbbfbbb1a62f376ab29fa9627561d389751fb984da0b630ce3326e272911c8a + url: "https://pub.dev" + source: hosted + version: "9.0.0" + hooks: + dependency: transitive + description: + name: hooks + sha256: eaac480a35ec0814146c2c48d96aaa829e0e44a7662c88ae84c9edf4bc35651f + url: "https://pub.dev" + source: hosted + version: "2.2.0" + http: + dependency: "direct main" + description: + name: http + sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412" + url: "https://pub.dev" + source: hosted + version: "1.6.0" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" + url: "https://pub.dev" + source: hosted + version: "4.1.2" + intl: + dependency: "direct main" + description: + name: intl + sha256: "1ca20c894b1717686a2319b8548763d812bc0aabdac580420a44c5178c57a867" + url: "https://pub.dev" + source: hosted + version: "0.20.3" + jni: + dependency: transitive + description: + name: jni + sha256: f038e58b4dc2c9037f50e233175086337e0b305e356d28211bf55f21c504cbd3 + url: "https://pub.dev" + source: hosted + version: "1.0.3" + jni_flutter: + dependency: transitive + description: + name: jni_flutter + sha256: b2310cdd4c18c65c081ab141a41efa94aa26c65431803703ece51996f174f351 + url: "https://pub.dev" + source: hosted + version: "1.0.3" + jni_util: + dependency: transitive + description: + name: jni_util + sha256: "1ba86da04a5f2bf18fde2edb235587e70c5b0fc5bd4ba955f46b00942c3fc35f" + url: "https://pub.dev" + source: hosted + version: "1.0.0" leak_tracker: dependency: transitive description: @@ -107,14 +232,22 @@ packages: url: "https://pub.dev" source: hosted version: "6.1.0" + logging: + dependency: transitive + description: + name: logging + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 + url: "https://pub.dev" + source: hosted + version: "1.3.0" matcher: dependency: transitive description: name: matcher - sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 + sha256: "31bd099b47c10cd1aeb55146a2d46ce0277630ecef3f7dae54ad7873f36696cd" url: "https://pub.dev" source: hosted - version: "0.12.19" + version: "0.12.20" material_color_utilities: dependency: transitive description: @@ -123,14 +256,38 @@ packages: url: "https://pub.dev" source: hosted version: "0.13.0" + material_ui: + dependency: transitive + description: + name: material_ui + sha256: "32d98f11cf5942a095a8c3e01b03e4de3b17941437713dcf36b1088fb62e23d2" + url: "https://pub.dev" + source: hosted + version: "1.5.0" meta: dependency: transitive description: name: meta - sha256: "1741988757a65eb6b36abe716829688cf01910bbf91c34354ff7ec1c3de2b349" + sha256: "307249ce4ff29d58a18e97f6345f539382eb9c9c29ecda628900f31de0443dd9" url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" + objective_c: + dependency: transitive + description: + name: objective_c + sha256: ad56fd53a78ff6b1472fa59ff2a4e8b8ccabafc586fc263a1dfad0b99b5553e3 + url: "https://pub.dev" + source: hosted + version: "9.6.0" + package_config: + dependency: transitive + description: + name: package_config + sha256: ffcf4cf3d6c0b74ac43708d9f56625506e8a68aa935abe9d267a7330f320eb5d + url: "https://pub.dev" + source: hosted + version: "3.0.0" path: dependency: transitive description: @@ -139,6 +296,86 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.1" + path_provider: + dependency: transitive + description: + name: path_provider + sha256: a7f4874f987173da295a61c181b8ee71dab59b332a486b391babf26a1b884825 + url: "https://pub.dev" + source: hosted + version: "2.1.6" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + sha256: "69cbd515a62b94d32a7944f086b2f82b4ac40a1d45bebfc00813a430ab2dabcd" + url: "https://pub.dev" + source: hosted + version: "2.3.1" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + sha256: "2a376b7d6392d80cd3705782d2caa734ca4727776db0b6ec36ef3f1855197699" + url: "https://pub.dev" + source: hosted + version: "2.6.0" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + sha256: "58c2005f147315b11e9b4a7bc889cd5203e250cba8e3f012dae259b4972b5c16" + url: "https://pub.dev" + source: hosted + version: "2.2.2" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + sha256: "484838772624c3a4b94f1e44a3e19897fee738f2d5c4ce448443b0417f7c9dda" + url: "https://pub.dev" + source: hosted + version: "2.1.3" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 + url: "https://pub.dev" + source: hosted + version: "2.3.0" + platform: + dependency: transitive + description: + name: platform + sha256: a36d119c13416516a7b5913fbe8af8531e11633d784c550b2125f76c758524ec + url: "https://pub.dev" + source: hosted + version: "3.2.0" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "261236774e8b1d69cfc6b9eabbc96c40f25e7a2d6b171f3385d4f65d5734fb24" + url: "https://pub.dev" + source: hosted + version: "2.2.1" + record_use: + dependency: transitive + description: + name: record_use + sha256: "1cb8564af8d43b464294411db9217f5ec04891c6f22ee2c32d73ae05e88a6bd2" + url: "https://pub.dev" + source: hosted + version: "1.1.1" sky_engine: dependency: transitive description: flutter @@ -156,10 +393,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + sha256: "277654b3034d17ac6f9f1cb5595db011b1d5d41e8806866db28e0abaa101c490" url: "https://pub.dev" source: hosted - version: "1.12.1" + version: "1.12.2" stream_channel: dependency: transitive description: @@ -188,18 +425,26 @@ packages: dependency: transitive description: name: test_api - sha256: "949a932224383300f01be9221c39180316445ecb8e7547f70a41a35bf421fb9e" + sha256: "2a122cbe059f8b610d3a5415f42e255b6c17b1f21eee1d960f31080237fb4f11" url: "https://pub.dev" source: hosted - version: "0.7.11" + version: "0.7.12" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 + url: "https://pub.dev" + source: hosted + version: "1.4.0" vector_math: dependency: transitive description: name: vector_math - sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b + sha256: "92b9910f66ed1057fd4da7b040ae7c74cafacf885bdc81be496928d5049b032d" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.4.3" vm_service: dependency: transitive description: @@ -208,6 +453,30 @@ packages: url: "https://pub.dev" source: hosted version: "15.3.0" + web: + dependency: transitive + description: + name: web + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + yaml: + dependency: transitive + description: + name: yaml + sha256: f67cdd8e07d3c6329146aaef1ba043542b3134c12489f553ca9a7435d1068aea + url: "https://pub.dev" + source: hosted + version: "3.1.4" sdks: - dart: ">=3.12.2 <4.0.0" - flutter: ">=3.18.0-18.0.pre.54" + dart: ">=3.13.0 <4.0.0" + flutter: ">=3.47.0" diff --git a/pubspec.yaml b/pubspec.yaml index b98e562..e2c6ca5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -33,7 +33,12 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^1.0.8 + cupertino_icons: ^2.0.0 + cryptography: ^2.9.0 + get: ^4.7.3 + google_fonts: ^9.0.0 + http: ^1.6.0 + intl: ^0.20.2 dev_dependencies: flutter_test: @@ -58,9 +63,9 @@ flutter: uses-material-design: true # To add assets to your application, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg - # - images/a_dot_ham.jpeg + assets: + - assets/images/filamentTransparent.png + # - images/a_dot_ham.jpeg # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.dev/to/resolution-aware-images diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index b93c4c3..3ad69c6 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -6,6 +6,7 @@ list(APPEND FLUTTER_PLUGIN_LIST ) list(APPEND FLUTTER_FFI_PLUGIN_LIST + jni ) set(PLUGIN_BUNDLED_LIBRARIES)