U)a*OD(eYgSi^cdTn}pqcPM(;S)2%1By^Wh%-CaC%>d9hi`7J zaxL7@;nhA>PE%s99&;z{8>VFgf{u!(-B-x7Of6ueme+ScryL`h(^qKE)DtieWY>-7 zgB)VJESQS4*1LU(2&@pgLvSt{(((C?K_V(rQk``i&5}ZPG;G^FiPlZ$7|-vEmMWlU z5lQ%iK2nu=h2wd_7>gK@vX=*AG+u~rQP$NwPC`ZA?4nh{3tui1x@bT6-;Rk3yDQ>d z?3qRD#+PeV7#FAa>s`Xwxsx_oRFcN$StW2=CW`=qObsT?SD^#^jM1Yk}PSPxJ zG@-_mnNU_)vM|iLRSI>UMp|hatyS}17R{10IuL0TLlupt>9dR s_SPQbv7BLYyC#qv16E-y@XZ= z-!p7I%#r-BVi$nQq3&ssRc_IC%R6$tA&^s_l46880~Wst3@>(|EO<}T4~ci~#!=e; zD)B>o%1+$ksURD1p7I-<3ehlFyVkqrySf&gg>Bp
0Z9?JaG|gyTZ{Cb8SdvAWVmFX7v2ohs!OCc!Udk zUITUpmZ33rKLI#(&lDj}c KA#dpL4Fil=$5pu_wi1XJR !llw` zSItPBDEdMHk2>c7#%lBxZ HHvtVUOZ$}v?=?AT~9!Jcqa@IJGuMg(s^7r>pcTrd)pS`{5Cu8WPey` z9)!!OUUY@L%9Q+bZa*S5`3f_|lFCPN6kdp_M2>{le8;cn^XUsPa+TUk47qd6)IBR% zk*&Ip?!Ge_gmmdj)BX}P_5o@VI2*wbZ^>UhFju}0gQZh!pP%4XT9{@w;G#b3XK8sN zF(7i$Jv(IM$8Akys9dhP^^~H2(7BfJp}yDW1#@!CL-!mGcSCnJ599WK9MV@yo_u$v MDeX2GIKR{Qf5okjU;qFB literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..aa069f2 --- /dev/null +++ b/public/index.html @@ -0,0 +1,43 @@ + + + + + + + + + + + + + React App + + + + + + + diff --git a/public/logo192.png b/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 zcmZWtbyO6NvR-oO24RV%BvuJ&=?+<7=`LvyB&A_#M7mSDYw1v6DJkiYl9XjT!%$dLEBTQ8R9|wd3008in6lFF3GV-6mLi?MoP_y~}QUnaDCHI#t z7w^m$@6DI)|C8_jrT?q=f8D?0AM?L)Z}xAo^e^W>t$*Y0KlT5=@bBjT9kxb%-KNdk zeOS1tKO#ChhG7%{ApNBzE2ZVNcxbrin#E1TiAw#BlUhXllzhN$qWez5l;h +t^q#Eav8PhR2|T}y5kkflaK`ba-eoE+Z2q@o6P$)=&` z+(8}+-McnNO>e#$Rr{32ngsZIAX>GH??tqgwUuUz6kjns|LjsB37zUEWd|(&O!)DY zQLrq%Y>)Y8G`yYbYCx&aVHi@-vZ3|ebG!f$sTQqMgi0hWRJ^Wc+Ibv!udh_r%2|U) zPi|E^PK?UE!>_4`f`1k4hqqj_$+d!EB_#IYt;f9)fBOumGNyglU(ofY`yHq4Y?B%- zp&G!MRY<~ajTgIHErMe(Z8JG*;D-PJhd@RX@QatggM7+G(Lz8eZ;73)72Hfx5KDOE zkT(m}i2;@X2AT5fW?qVp?@WgN$aT+f_6eo?IsLh;jscNRp|8H}Z9p_UBO^SJXpZew zEK8fz|0Th%(Wr|KZBGTM4yxkA5CFdAj8=QSrT$fKW#tweUFqr0TZ9D ~a5lF{)%-tTGMK^2tz(y2v$i%V8XAxIywrZCp=)83p(zIk6@S5AWl|Oa2hF`~~^W zI;KeOSkw1O#TiQ8;U7OPXjZM|KrnN}9arP)m0v$c|L)lF`j_rpG(zW1Qjv$=^|p*f z>)Na{D&>n`jOWMwB^TM}slgTEcjxTlUby89j1)|6ydRfWERn3|7Zd2&e7?!K&5G$x z`5U3uFtn4~SZq|LjFVrz$3iln-+ucY4q$BC{CSm7Xe5c1J<=%Oagztj{ifpaZk_bQ z9Sb-LaQMKp-qJA*bP6DzgE3`}*i1o3GKmo2pn@dj0;He}F=BgINo};6gQF8!n0ULZ zL>kC0nPSFzlcB7p4 1doao2F7%6IUTi_+!L`MM4o*#Y#0v~WiO8 uSeAUNp=vA2KaR&=jNR2iVwG>7t%sG2x_~yXzY)7K& zk3p+O0AFZ1eu^T3s};B %6TpJ6h-Y%B^*zT&SN7C=N;g|#dGIVMSOru3iv^SvO>h4 M=t-N1GSLLDqVTcgurco6)3&XpU!FP6Hlrmj}f$ zp95;b)>M~`kxuZF3r~a!rMf4|&1=uMG$;h^g=Kl;H&Np-(pFT9FF@++MMEx3R BsK?AU0fPk-#mdR)Wdkj)`>ZMl#^<80kM87VvsI3r_c@_vX=fdQ`_9-d(xiI z4K;1y1TiPj_RPh*SpDI7U~^QQ?%0&!$Sh#?x_@;ag)P}ZkAik{_WPB4rHyW#%>|Gs zdbhyt=qQPA7`?h2_8T;-E6HI#im9K>au*(j4;kzwMSLgo6u*}-K`$_Gzgu&XE)udQ zmQ72^eZd|vzI)~!20JV-v-T|<4@7ruqrj|o4=JJPlybwMg;M$Ud7>h6g()CT@wXm` zbq=A(t;RJ^{Xxi*Ff~!|3!-l_PS{AyNAU~t{h;(N(PXMEf^R(B+ZVX3 z8y0;0A8hJYp@g+c*`>eTA|3Tgv9U8#BDTO9@a@gVMDxr(fVaEqL1tl?md{v^j8aUv zm&%PX4^| rX|?E4^CkplWWNv*OKM>DxPa z!RJ)U^0-WJMi)Ksc!^ixOtw^egoAZZ2Cg;X7(5xZG7yL_;UJ#yp*ZD-;I^Z9qkP`} zwCTs0*%rIVF1sgLervtnUo&brwz?6?PXRuOCS*JI-WL6GKy7-~yi0giTEMmDs_-UX zo=+nFrW_EfTg>oY72_4Z0*uG>MnXP=c0VpT&*|rvv1i StW;*^={rP 1y?Hv+6R6bxFMkxpWkJ>m7Ba{>zc_q zEefC3jsXdyS5??Mz7IET$Kft|EMNJIv7Ny8ZOcKnzf`K5Cd)&`-fTY#W&jnV0l2vt z?Gqhic}l}mCv1yUEy$%DP}4AN;36$=7aNI^*AzV(eYGeJ(Px-j<^gSDp5dBAv2#?; zcM Xv#aj>%;MiG^q^$0MSg-(uTl!xm49dH!{X0){Ew7ThWV~Gtj7h%ZD zVN-R-^7Cf0VH!8O)uUHPL2mO2tmE*cecwQv_5CzWeh)ykX8r5Hi`ehYo)d{Jnh&3p z9ndXT$OW51#H5cFKa76c<%nNkP~ FU93b5h-|Cb}ScHs@4Q#|}byWg;KDMJ#|l zE=MKD0c>*F@HDBcX@~QJH%56eh~jfPO-uKm}~t7Vk HxHT;)4sd+?Wc4* z>CyR*{w@4(gnYRdFq=^(#-ytb^5ESD?x<0Skhb%Pt?npNW1m+Nv`tr9+qN<3H1f<% zZvNEqyK5F gPsQ`QIu9P0x_}wJR~^CotL|n zk?dn;tLRw9jJTur4uWoX6iMm914f0AJfB@C74a;_qRrAP4E7l890P&{v<}>_&GLrW z)klculcg`?zJO~4;BBAa=POU%aN|pmZJn2{hA!d!*lwO%YSIzv8bTJ}=nhC^n }g(ld^rn#kq9Z3)z`k9lvV>y#!F4e{5c$tnr9M{V)0m(Z< z#88vX6-AW7T2UUwW`g<;8I$Jb!R%z@rCcGT)-2k7&x9kZZT66}Ztid~6t0jKb&9mm zpa}LCb`bz`{MzpZR#E*QuBiZXI#<`5qxx=&LMr-UUf~@dRk}YI2hbMsAMWOmDzYtm zjof16D=mc`^B$+_bCG$$@R0t;e?~UkF?7<(vkb70*EQB1rfUWXh$j)R2)+dNAH5%R zEBs^?N;UMdy}V};59Gu#0$q53$}|+q7CIGg_w_WlvE}AdqoS<7DY1LWS9?TrfmcvT zaypmplwn=P4;a8-%l^e?f`OpGb}%(_mFsL&GywhyN(-VROj`4~V~9bGv%UhcA|YW% zs{;nh@aDX11y^HOF XB$a7#Sr3cEtNd4eLm@Y#fc&j)TGvbbMwze zXtekX_wJqxe4NhuW$r}cNy|L{V=t#$%SuWEW)YZTH|!iT79k#?632OFse{+BT_gau zJwQcbH{b}dzKO?^dV&3nTILYlGw{27UJ72ZN){BILd_HV_s$WfI2DC<9LIHFmtyw? zQ;?MuK7g%Ym+4e^W#5}WDLpko%jPOC=aN)3!=8)s#Rnercak&b3ESRX3z{xfKBF8L z5%CGkFmGO@x?_mPGlpEej!3!AMddChabyf~nJNZxx!D&{@xEb!TDyvqSj%Y5@A{}9 zRzoBn0?x}=krh{ok3Nn%e)#~uh;6jpezhA)ySb^b#E>73e*frBFu6IZ^D7Ii&rsiU z%jzygxT-n*joJpY4o&8UXr2s%j^Q{?e- voloX`4DQyEK+DmrZh8A$) iWL#NO9+Y@!sO2f@rI!@jN@>HOA< z?q2l{^%mY*PNx2FoX+A7X3N}(RV$B`g&N=e0uvAvEN1W^{*W?zT1i#fxuw10%~))J zjx#gxoVlXREWZf4hRkgdHx5V_S*;p-y%JtGgQ4}lnA~MBz-AFdxUxU1RIT$`sal|X zPB6sEVRjGbXIP0U+?rT|y5+ev&OMX*5C$n2SBPZr`jqzrmpVrNciR0e*Wm?fK6DY& zl(XQZ60yWXV-|Ps!A {EF;=_z(YAF=T(-MkJXUoX zI{UMQDAV2}Ya?EisdEW;@pE6dt;j0fg5oT2dxCi{wqWJ<)|SR6fxX~5CzblPGr8cb zUBVJ2CQd~3L?7yfTpLNbt)He1D>*KXI^GK%<`bq^cUq$Q@uJifG>p3LU(!H=C)aEL zenk7pVg}0{dKU}&l)Y2Y2eFMdS( JS0}oZUuVaf2+K*YFNGHB`^YGcIpnBlMhO7d4@vV zv(@N}(k#REdul8~fP+^F@ky*wt@~&|(&&meNO>rKDEnB{ykAZ}k>e@lad7to>Ao$B zz<1(L=#J*u4_LB=8w+*{KFK^u00NAmeNN7pr+Pf+N*Zl^dO{LM-hMHyP6N!~`24jd zXYP|Ze;dRXKdF2iJG$U{k=S86l@pytLx}$JFFs8e)*Vi?aVBtGJ3JZUj!~c{ (rw5>vuRF$`^p!P8w1B=O!skwkO5yd4_XuG^QVF z`-r5K7(IPSiKQ2|U9+`@Js! g6sfJwAHVd|s?|mnC*q zp|B|z)(8+mxXyxQ{8Pg3F4|tdpgZZSoU4P&9I8)nHo1@)9_9u&NcT^FI)6|hsAZFk zZ+arl&@*>RXBf-OZxhZerOr&dN5LW9@gV=oGFbK*J+m#R-|e6(Loz(;g@T^*oO)0R zN`N=X46b{7yk5FZGr#5&n1!-@j@g02g|X>MOpF3#IjZ_4wg{dX+G9eqS+Es9@6nC7 zD9$NuVJI}6ZlwtUm5cCAiYv0(Yi{%eH+}t)!E^>^KxB5^L~a`4%1~5q6h>d;paC9c zTj0wTCKrhWf+F#5>EgX `sl%POl?oyCq0(w0xoL?L%)|Q7d|Hl92rUYAU#lc**I&^6p=4lNQPa0 znQ|A~i0ip@`B=FW-Q;zh?-wF;Wl5!+q3GXDu-x&}$gUO)NoO7^$BeEIrd~1Dh{Tr` z8s<(Bn@gZ(mkIGnmYh_ehXnq78QL$pNDi)|QcT*|GtS%nz1uKE+E{7jdEBp%h0}%r zD2|KmYGiPa4;md-t_m5YDz#c*oV_FqXd85d@eub?9N61QuYcb3CnVWpM(D-^|CmkL z(F}L&N7qhL2PCq)fRh}XO@U`Yn< ?TNGR4L(mF7#4u29{i~@k;pLsgl({YW5`Mo+p=zZn3L*4{JU;++dG9 X@eDJUQo;Ye2mwlRs ?y0|+_a0zY+Zo%Dkae}+MySoIppb75o?vUW_?)>@g{U2`ERQIXV zeY$JrWnMZ$QC<=ii4X|@0H8`si75jB(ElJb00H AB%>SlLR{!zO|C9P3zxw_U8?1d8uRZ=({Ga4shyN}3 zAK}WA(ds|``G4jA)9}Bt2Hy0+f3rV1E6b|@?hpGA=PI&r8)ah|)I2s(P5Ic*Ndhn^ z*T&j@gbCTv7+8rpYbR^Ty}1AY)YH;p!m948r#%7x^Z@_-w{pDl|1S4`EM3n_PaXvK z1JF)E3qy$qTj5Xs{jU9k=y%SQ0>8E$;x?p9ayU0bZZeo{5Z@&FKX>}s!0+^>C^D#z z>xsCPvxD3Z=dP}TTOSJhNTPyVt14VCQ9MQFN`rn!c&_p?&4<5_PGm4a;WS&1(!qKE z_H$;dDdiPQ!F_gsN`2>`X}$I=B;={R8%L~`>RyKcS$72ai$!2>d(YkciA^J0@X%G4 z4cu!%Ps~2JuJ8ex`&;Fa0NQOq_nDZ&X;^A=oc1&f#3P1(!5il>6?uK4QpEG8z0Rhu zvBJ+A9RV?z%v?!$=(vcH?*;vRs*+PPbOQ3cdPr5=tOc Lqmfx@#hOqX0iN)wTTO21jH<>jpmwRIAGw7`a|sl?9y9zRBh>(_%| zF?h|P7}~RKj?HR+q|4U`CjRmV-$mLW>MScKnNXiv{vD3&2@*u)-6P@h0A`eeZ7}71 zK(w%@R<4lLt`O7fs1E)$5iGb~fPfJ?WxhY7c3Q>T-w#wT&zW522pH-B%r5v#5y^CF zcC30Se|`D2mY$hAlIULL%-PNXgbbpRHgn<&X3N9W!@BUk@9g*P5mz-YnZBb*-$zMM z7Qq}ic0mR8n{^L|=+diODdV}Q!gwr?y+2m=3HWwMq4z)DqYVg0J~^}-%7rMR@S1;9 z7GFj6K}i32X;3*$SmzB&HW{PJ55kT+EI#SsZf} bD7nW^Haf}_gXciYKX{QBxIPSx2 Ma? zHQqgzZq!_{&zg{yxqv3xq8YV+`S}F6A>Gtl39_m;K4dA{pP$BW0oIXJ>jEQ!2V3A2 zdpoTxG&V=(?^q?ZTj2ZUpDUdMb)T?E$}CI>r@}PFPWD9@*%V6;4Ag>D#h>!s)=$0R zRXvdkZ%|c}ubej`jl?cS$onl9Tw52rBKT)kgyw~Xy%z62Lr%V6Y=f?2)J|bZJ5(Wx zmji`O;_B+*X@qe-#~`HFP<{8$w@z4@&`q^Q-Zk8JG3>WalhnW1cvnoVw>*R@c&|o8 zZ%w!{Z+M HeZ*OE4v *otkZqz11*s!#s^Gq>+o`8Z5 z^i-qzJLJh9!W- ;SmFkR 8HEZ JWiXk$40i6)7 zZpr=k2lp}SasbM*Nbn3j$sn0;rUI;%EDbi7T1ZI4qL6PNNM2Y%6{LMIKW+FY_yF3) zSKQ2 QSujzNMSL2r&bYs`|i2Dnn z=>}c0>a}>|uT!IiMOA~pVT~R@bGlm}Edf}Kq0?*Af6#mW9f9!}RjW7om0c9Qlp;yK z)=XQs(| 6GCadQbWIhYF=rf{Y)sj%^Id-ARO0=O^Ad;Ph+ z0?$eE1xhH?{T$QI>0JP75`r)U_$#%K1^BQ8z#uciKf(C701&RyLQWBUp*Q7eyn76} z6JHpC9}R$J#(R0cDCkXoFSp;j6{x{b&0yE@P7{;pCEpKjS(+1RQy38`=&Yxo%F=3y zCPeefABp34U-s?WmU#JJw2 3dcC{sPPFc2#J$ZgEN%zod}J~8dLm*fx9f6SpO zn^Ww3bt9-r0XaT2a@Wpw;C23XM}7_14#%QpubrIw5aZtP+CqIFmsG4`Cm6rfxl9n5 z7=r2C-+lM2AB9X0T_`?EW&Byv &K?HS4QLoylJ|OAF z`8atBNTzJ&AQ !>sOo$?^0xj~D(;kS$`9zbEGd>f6r`NC3X`tX)sWgWUUOQ7w=$TO &*j;=u%25ay-%>3@81tGe^_z*C7pb9y*Ed^H3t$BIKH2o+olp#$q;)_ zfpjCb_^VFg5fU~K)nf*d*r@BCC>UZ!0&b?AGk_jTPXaSnCuW110wjHPPe^9R^;jo3 zwvzTl)C`Zl5}O2}3lec=hZ*$JnkW#7enKKc)(pM${_$9Hc=Sr_A9Biwe*Y=T?~1CK z6eZ9uPICjy-sMGbZl$yQmpB&`ouS8v{58__t0$JP%i3R&%QR3ianbZqDs<2#5FdN@n5bCn^ZtH992~5k(eA|8|@G9u`wdn7bnpg|@{m z^d6Y`*$Zf2Xr&|g%sai#5}Syvv(>Jnx&EM7-|Jr7!M~zdAyjt*xl;OLhvW-a%H1m0 z*x5*nb=R5u><7lyVpN AR?q@1U59 zO+)QW wL8t zyip?u_nI+K$uh{ y)~}qj?(w0&=SE^8`_WMM zTybjG=999h38Yes7}-4*LJ7H)UE8{mE(6;8voE+TYY%33A>S6`G_95^5QHNTo_;Ao ztIQIZ_}49%{8|=O;isBZ?=7kfdF8_@azfoTd+hEJKWE!)$)N%HIe2cplaK`ry#=pV z0q{9w-`i0h@!R8K3GC{ivt{70IWG`EP |(1g7i_Q<>aEAT{5( yD z=!O?kq61VegV+st@XCw475j6vS)_z@efuqQgHQR1T4;|-#OLZNQJPV4k$AX1Uk8Lm z{N*b*ia=I+MB}kWpupJ~>!C@xEN#Wa7V+7{m4j8c?)ChV=D?o~sjT?0C_AQ 7B-vxqX30s0I_`2$in86#`mAsT-w?j{&AL@B3$;P z31G4(lV|b}uSD CIrjk+M1R!X7s 4Aabn<)zpgT}#gE|mIvV38^ODy@<&yflpCwS#fRf9ZX3lPV_?8@C5)A;T zqmouFLFk;qIs4rA=hh=GL~sCFsXHsqO6_y~*AFt93 9UYVBSx1s(=Kb&5;j7cSowdE;7()CC2|-i9Zz+_BIw8#ll~-tyH?F3{%`QCsYa*b#s*9iCc`1P1oC26?`g<9))EJ3%xz+O!B3 zZ7$j~To)C@PquR>a1+Dh>-a%IvH_Y7^ys|4o?E%3`I&ADXfC8++hAdZfzIT#%C+Jz z1lU~K_vAm0m8Qk}K$F>| >RPK%<1SI0(G+8q~H zAsjezyP+u!Se4q3GW)`h`NPSRlMoBjCzNPesWJwVTY!o@G8=(6I%4XHGaSiS3MEBK zhgGFv6Jc>L$4jVE!I?TQuwvz_%CyO!bLh94nqK11C2W$*aa2ueGopG8DnBICVUORP zgytv#)49fVXDaR$SukloYC3u7#5H)}1K21=?DKj^U)8G;MS)&Op)g^zR2($<>C*zW z;X7`hLxiIO#J`ANdyAOJle4V%ppa*(+0i3w;8i*BA_;u8gOO6)MY`ueq7stBMJTB; z-a0R>hT*}>z|Gg}@^zDL1MrH+2hsR8 zHc}*9IvuQC^Ju)^#Y{fOr(96rQNPNhxc;mH@W*m206>Lo<*SaaH?~8zg&f&%YiOEG zGiz?*CP>Bci}!WiS=zj#K5I}>DtpregpP_tfZtPa(N<%vo^#WCQ5BTv0vr%Z{)0q+ z)RbfHktUm|lg&U3YM%lMUM(f u}i#kjX9h>GYctkx9Mt_8{@s%!K_EI zScgwy6%_fR?CG JQtmgNAj^h9B#zma MDWgH55pGuY1Gv7D z;8Psm(vEPiwn#MgJYu4Ty9D|h!?Rj0ddE|&L3S{IP%H4^N!m`60ZwZw^;eg4sk6K{ ziA^`Sbl_4~f&Oo%n;8Ye(tiAdlZKI!Z=|j$5hS|D$bDJ}p{gh$KN&JZYLUjv4h{NY zBJ>X9z !xfDGY z+oh_Z&_e#Q(-}>ssZfm=j$D&4W4FNy&-kAO1~#3Im;F)Nwe{(*75(p=P^VI?X 0GFakfh+X-px4a%Uw@fSbmp9hM1_~R>?Z8+ ziy|e9>8V*`OP}4x5JjdWp}7eX;lVxp5qS} 0YZek;SNmm7tEeSF*-dI)6U-A%m6YvCgM(}_=k#a6o^%-K4{`B1+}O4x zztDT%hVb;v#?j`lTvlFQ3aV#zkX=7 ;YFLS$uIzb0E3lozs5`Xy zi~vF+%{z9uLjKvKPhP%x5f ~7-Gj+%5N`%^=yk*Qn{`> z;xj&ROY6g`iy2a@{O)V(jk&8#hHACVDXey5a+KDod_Z&}kHM}xt7}Md@pil{2x7E~ zL$k^d2@Ec2XskjrN+IILw;#7((abu;OJii&v3?60x>d_Ma(onIPtcVnX@ELF0aL?T zSmWiL3(dOFkt!x=1O!_0n(cAzZW+3nHJ{2S>tgSK?~cF ha^y(l@-Mr2W$%MN{#af8J;V*>hdq!gx=d0h$T7l}>91Wh07)9CTX zh2_ZdQCyFOQ)l(}gft0UZ G`Sh2`x-w`5vC2UD}lZs*5 zG76$akzn}Xi))L3oGJ75#pcN=cX3!=57$Ha=hQ2^lwdyU#a}4JJOz6ddR%zae%#4& za)bFj)z=YQela(F#Y|Q#dp}PJghITwXouVaMq$BM?K%cXn9^Y@g43$=O)F&ZlOUom zJiad#dea;-eywBA@e&D6Pdso1?2^(pXiN91?jvcaUyYoKUmvl5G9e$W!okWe*@a<^ z8cQQ6cNSf+UPDx%?_G4a IiybZHHagF{ ;IcD(dPO!#=u zWfqLcPc^+7Uu#l(B pxft{*4lv#*u7X9AOzDO z1D9?^jIo}?%iz(_dwLa{ex#T}76ZfN_Z-hwpus9y+4xaUu9cX}&P{XrZVWE{1^0yw zO;YhLEW!pJcbCt3L8~a7>jsaN{V3>tz6_7`&pi%GxZ=V3?3K^ U+*ryLSb)8^IblJ0 zSRLNDvIxt)S}g30?s_3NX>F?NKIGrG_zB9@Z>uSW3k2es_H2kU;Rnn%j5qP)!XHKE zPB2mHP~tLCg4K_vH$xv`HbRsJwbZMUV(t=ez;Ec(vyHH)FbfLg`c61I$W_uBB>i^r z&{_P;369-&>23R%qNIULe=1~T$(DA`ev*EWZ6j(B$(te}x1WvmIll21zvygkS%vwG zzkR6Z#RKA2!z!C%M!O>!=Gr0(J0FP=-MN=5t-Ir)of50y10W}j`GtRCsXBakrKtG& zazmITDJMA0C51&BnLY)SY9r)NVTMs);1<=oosS9g31l{4ztjD3#+2H7u_|66b|_*O z;Qk6nalpqdHOjx|K&vUS_6ITgGll;TdaN*ta=M_YtyC)I9Tmr~VaPrH2q b6sd~=AcIxV+%z{E&0@y=DPArw zdV7z(G1hBx7hd{>(cr43^WF%4Y@PXZ?wPpj{OQ#tvc$pABJbvPGvdR`cAtHn)cSEV zrpu}1tJwQ3y!mSmH*uz*x0o|CS<^w%&KJzsj~DU0cLQUxk5B!hWE>aBkjJle8z~;s z-!A=($+}Jq_BTK5^B!`R>!MulZN)F=iXXeUd0w5lUsE5VP*H*oCy( ;?S$p*TVvTxwAeWFB$jHyb0593)$zqalVlDX=GcCN1gU0 zlgU)I$LcXZ8Oyc2TZYTPu@-;7<4YYB-``Qa;IDcvydIA$%kHhJKV^m*- zxcvU4viy &Kr5GVM{IT>WRywKQ9;>SEiQD*NqplK-KK4YR`p0@JW)n_{TU3bt0 zim%;(m1=#v2}zTps=?fU5w^(*y)xT%1vtQH&}50ZF!9YxW=&7*W($2kgKyz1mUgfs zfV<*XVVIFnohW=|j+@Kfo!#liQR^x>2yQdrG;2o8WZR+XzU_nG=Ed2rK?ntA;K5B{ z>M8+*A4 !Jm^Bg}aW?R?6;@QG@uQ8&oJ{hFixcfEnJ4QH?A4>P=q29oDGW;L;= z9-a0;g%c`C+Ai!UmK$NC*4#;Jp<1=TioL=t^YM)<<%u#hnnfSS`nq63QKGO1L8RzX z@MFDq s1z ztYmxDl@LU)5acvHk)~Z`RW7=aJ_nGD!mOSYD>5Odjn@TK#LY{jf?+piB5AM-CAoT_ z?S-*q7}wyLJzK>N%eMPuFgN)Q_otKP;aqy=D5f! 7<=n(lNkYRXVpkB{TAYLYg{|(jtRqYmg$xH zjmq ?B(RE4 zQx^~Pt}gxC2~l=K$$-sYy_r$CO(d=+b3H1MB*y_5g6WLaWTXn+TKQ|hNY^>Mp6k*$ zwkovomhu776vQATqT4blf~g;TY(MWCrf^^yfWJvSAB$p5l;jm@o#=!lqw+Lqfq>X= z$6~kxfm7`3q4zUEB;u4qa#BdJxO!;xGm)wwuisj{0y2x{R(IGMrsIzDY9LW>m!Y`= z04sx3IjnYvL<4JqxQ8f7qYd0s2Ig%`ytYPEMKI)s(LD}D@EY>x`VFtqvnADNBdeao zC96X+MxnwKmjpg{U&gP3HE}1=s!lv&D{6(g_lzyF3A`7Jn*&d_kL<;dAFx!UZ>hB8 z5A*%LsAn;VLp>3${0>M?PSQ)9s3}|h2e?TG4_F{}{Cs>#3Q*t$(CUc}M)I}8cPF6% z=+h(Kh^8)}gj(0}#e7O^FQ6`~fd1#8#!}LMuo3A0bN`o}PYsm!Y}sdOz$+Tegc=qT z8x`PH$7lvnhJp{kHWb22l;@7B7|4yL4UOOVM0MP_>P%S1Lnid)+k9{+3D+JFa#Pyf zhVc#&df87APl4W9X)F3pGS>@etfl=_E5tBcVoOfrD4hmVeTY-cj((pkn%n@EgN{0f zwb_^Rk0I#i ZuHK!l*lN`ceJn(sI{$Fq6nN& zE<-=0_2WN}m+*ivmIOxB@#~Q-cZ>l136w{#TIJe478`KE7@=a{>SzPHsKLzYAyBQO zAtuuF$-JSDy_S@6GW0MOE~R)b;+0f%_NMrW(+V#c_d&U8Z9+ec4=HmOHw?gdjF(Lu zzra 83M_BoO-1b3;9`%&DHfuUY)6YDV21P$C!Rc?mv&{lx#f8oc6?0?x zK08{WP65?#>(vPfA-c=MCY| %*1_<3D4NX zeVTi-JGl2uP_2@0F{G({pxQOXt_d{g_CV6b?jNpfUG9;8yle-^4KHRvZs-_2siata zt+d_T@U$&t*xaD22(fH(W1r$Mo?3dc%Tncm=C6{V9y{v&VT#^1L04vDrLM9qBoZ4@ z6DBN#m57hX7$C(=#$Y5$bJmwA$T8jKD8+6A!-IJwA{WOfs%s}yxUw^?MRZjF$n_KN z6`_bGXcmE#5e4Ym)aQJ)xg3Pg0@k`iGuHe?f(5LtuzSq=nS^5z>vqU0EuZ&75V%Z{ zYyhRLN^)$c6Ds{f7*FBpE;n5iglx5PkHfWrj3`x^j^t z7ntuV`g!9Xg#^3!x)l*}IW=(Tz3>Y5l4uGaB&lz{GDjm2D5S$CExLT`I1#n^lBH7Y zDgpMag@`iETKAI=p<5E#LTkw zVR@=yY|uBVI1HG|8h+d;G-qfuj}-ZR6fN>EfCCW z9~wRQoAPEa#aO?3h?x{YvV*d+NtPkf&4V0k4|L=uj!U{L+oLa(z#&iuhJr3-PjO3R z5s?=nn_5^*^Rawr>>Nr@K(jwkB#JK-=+HqwfdO<+P5byeim)wvqGlP-P|~Nse8=XF zz`?RYB|D6SwS}C+YQv+;}k6$-%D(@+t14BL@vM z2q%q?f6D-A5s$_WY3{^G0F131bbh|g!}#BKw=HQ7mx;Dzg4Z*bTLQSfo{ed{4}NZW zfrRm^Ca$rlE{Ue~uYv>R9{3s mwATcdM_6+yWIO z*ZRH~uXE@#p$XTbCt5j7j2=86e{9>HIB6xDzV+vAo&B?KUiMP|ttOElepnl%|DPqL b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/src/components/ApplicationViews.js b/src/components/ApplicationViews.js new file mode 100644 index 0000000..fd51962 --- /dev/null +++ b/src/components/ApplicationViews.js @@ -0,0 +1,63 @@ +import React from "react" +import { Route } from "react-router-dom" +import { LocationList } from "./location/LocationList" +import { AnimalList } from "./animal/AnimalList" +import { CustomerList } from "./customer/CustomerList.js" +import { EmployeeList } from "./employee/EmployeeList"; +import { EmployeeForm } from "./employee/EmployeeForm.js" +import { AnimalForm } from "./animal/AnimalForm.js" +import { EmployeeDetail } from "./employee/EmployeeDetail.js" +import { LocationDetail } from "./location/LocationDetail.js" +import { AnimalDetails } from "./animal/AnimalDetail.js" + +export const ApplicationViews = () => { + return ( + <> + + + ++ + + ++ + <> + + ++ + > +Animals
+ ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + > + ) +} diff --git a/src/components/Kennel.css b/src/components/Kennel.css new file mode 100644 index 0000000..7207259 --- /dev/null +++ b/src/components/Kennel.css @@ -0,0 +1,39 @@ +/* Import the google web fonts you want to use */ +@import url("https://fonts.googleapis.com/css?family=Comfortaa|Patua+One"); + +/*Typography +--------------------------------------------------------------*/ +body, +button, +input, +select, +textarea { + color: #404040; + font-family: "Comfortaa", Arial, sans-serif; + font-size: 14px; + line-height: 1.5; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Patua One", serif; + letter-spacing: 2px; +} + +p { + margin-bottom: 1.5em; + color: #d6fcff; + color: darkslateblue; +} + +strong { + font-weight: bold; +} + +address { + margin: 0 0 1.5em; +} \ No newline at end of file diff --git a/src/components/Kennel.js b/src/components/Kennel.js new file mode 100644 index 0000000..d9fb3da --- /dev/null +++ b/src/components/Kennel.js @@ -0,0 +1,27 @@ +import React from "react" +import { Route, Redirect } from "react-router-dom" +import { ApplicationViews } from "./ApplicationViews" +import { NavBar } from "./nav/NavBar" +import { Login } from "./auth/Login" +import { Register } from "./auth/Register" +import "./Kennel.css" + +export const Kennel = () => ( + <> ++ { + if (localStorage.getItem("kennel_customer")) { + return ( + <> + } /> + } /> + > + ) + } else { + return + } + }} /> + + } /> + } /> + > +) \ No newline at end of file diff --git a/src/components/animal/Animal.js b/src/components/animal/Animal.js new file mode 100644 index 0000000..b228f16 --- /dev/null +++ b/src/components/animal/Animal.js @@ -0,0 +1,14 @@ +import React from "react" +import "./Animals.css" +import { Link } from "react-router-dom" + +export default ({ animal }) => ( + + +) \ No newline at end of file diff --git a/src/components/animal/AnimalDetail.js b/src/components/animal/AnimalDetail.js new file mode 100644 index 0000000..de602d1 --- /dev/null +++ b/src/components/animal/AnimalDetail.js @@ -0,0 +1,32 @@ +import React, { useEffect, useState } from "react" +import { useParams, useHistory } from "react-router-dom" + +import { getAnimalById, releaseAnimal } from "./AnimalManager" +import "./Animals.css" + +export const AnimalDetails = () => { + const [animal, setAnimal] = useState({ location: {}, customer: {} }) + const { animalId } = useParams() + const history = useHistory() + + useEffect(() => { + getAnimalById(animalId) + .then(setAnimal) + }, []) + + return ( ++ + { animal.name } + +
+{ animal.breed }++ + ) +} diff --git a/src/components/animal/AnimalForm.js b/src/components/animal/AnimalForm.js new file mode 100644 index 0000000..dd6540c --- /dev/null +++ b/src/components/animal/AnimalForm.js @@ -0,0 +1,128 @@ +import React, { useState, useEffect } from "react" +import { addAnimal, updateAnimal, getAnimalById } from "./AnimalManager" +import { getLocations } from "../location/LocationManager" +import { useParams, useHistory } from 'react-router-dom' + +export const AnimalForm = () => { + // Use the required context providers for data + const [ locations, setLocations ] = useState([]) + const { animalId } = useParams() + // Component state + const [animal, setAnimal] = useState({}) + const history = useHistory() + + // Is there a a URL parameter?? + const editMode = animalId ? true : false // true or false + + const handleControlledInputChange = (event) => { + /* + When changing a state object or array, always create a new one + and change state instead of modifying current one + */ + const newAnimal = Object.assign({}, animal) // Create copy + newAnimal[event.target.name] = event.target.value // Modify copy + setAnimal(newAnimal) // Set copy as new state + } + + // Get animals from API when component initializes + useEffect(() => { + if (editMode) { + getAnimalById(animalId).then((res) => { + setAnimal(res) + }) + } + getLocations().then(locationsData => setLocations(locationsData)) + }, []) + + const constructNewAnimal = () => { + const locationId = parseInt(animal.locationId) + + if (locationId === 0) { + window.alert("Please select a location") + } else { + if (editMode) { + // PUT + updateAnimal({ + id: animal.id, + name: animal.name, + breed: animal.breed, + locationId: locationId, + treatment: animal.treatment, + customerId: parseInt(localStorage.getItem("kennel_customer")) + }) + .then(() => history.push("/animals")) + } else { + // POST + addAnimal({ + name: animal.name, + breed: animal.breed, + locationId: locationId, + treatment: animal.treatment, + customerId: parseInt(localStorage.getItem("kennel_customer")) + }) + .then(() => history.push("/animals")) + } + } + } + + return ( + + ) +} diff --git a/src/components/animal/AnimalList.js b/src/components/animal/AnimalList.js new file mode 100644 index 0000000..ccc3854 --- /dev/null +++ b/src/components/animal/AnimalList.js @@ -0,0 +1,42 @@ +import React, { useState, useEffect } from "react" +import { useHistory } from 'react-router-dom' +import { getAnimals, getAnimalsBySearchTerm } from "./AnimalManager" +import Animal from "./Animal" +import "./Animals.css" +import { AnimalSearch } from "./AnimalSearch" + +export const AnimalList = () => { + + const [ animals, setAnimals ] = useState([]) + const [ searchTerm, setSearchTerm ] = useState('') + const history = useHistory() + + // Initialization effect hook -> Go get animal data + useEffect(()=> { + if (searchTerm.length > 1) { + getAnimalsBySearchTerm(searchTerm).then((animalsData) => setAnimals(animalsData)) + } else { + getAnimals().then((animalsData) => setAnimals(animalsData)) + } + }, [searchTerm]) + + const onSearchTermChange = (value) => { + setSearchTerm(value) + } + + return ( + <> +{animal.name}
+{animal.breed}+Location: {animal.location?.name}+Customer: {animal.customer?.name}+Treatment: {animal.treatment}+ + + + ++ + ++ > + ) +} diff --git a/src/components/animal/AnimalManager.js b/src/components/animal/AnimalManager.js new file mode 100644 index 0000000..4b536cb --- /dev/null +++ b/src/components/animal/AnimalManager.js @@ -0,0 +1,47 @@ + +export const getAnimals = () => { + return fetch("http://localhost:8088/animals") + .then(res => res.json()) +} + +export const getAnimalsBySearchTerm = (searchTerm) => { + return fetch(`http://localhost:8088/animals?search=${searchTerm}`) + .then(res => res.json()) +} + +export const getAnimalById = (id) => { + return fetch(`http://localhost:8088/animals/${id}`) + .then(res => res.json()) +} + +export const addAnimal = animal => { + return fetch("http://localhost:8088/animals", { + method: "POST", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify(animal) + }) + .then(getAnimals) +} + +export const updateAnimal = animal => { + return fetch(`http://localhost:8088/animals/${animal.id}`, { + method: "PUT", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify(animal) + }) + .then(getAnimals) +} + +export const releaseAnimal = (animalId) => { + return fetch(`http://localhost:8088/animals/${animalId}`, { + method: "DELETE" + }) + .then(getAnimals) +} + + + diff --git a/src/components/animal/AnimalSearch.js b/src/components/animal/AnimalSearch.js new file mode 100644 index 0000000..81a98a7 --- /dev/null +++ b/src/components/animal/AnimalSearch.js @@ -0,0 +1,18 @@ +import React from "react" + +export const AnimalSearch = ({searchTerms, onSearchTermChange}) => { + + return ( + <> ++ { + animals.map(animal =>+) + } + Search for an animal+ { + onSearchTermChange(changeEvent.target.value) + } + } + placeholder="Enter search string here..." /> + > + ) +} diff --git a/src/components/animal/Animals.css b/src/components/animal/Animals.css new file mode 100644 index 0000000..61186d0 --- /dev/null +++ b/src/components/animal/Animals.css @@ -0,0 +1,21 @@ +.animalContainer { + margin: 0 5rem; +} + +.animals { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + margin-top: 1rem; + } + + .animal { + flex-basis: 24%; + margin: 0.5rem 1em; + padding: 0.5rem 1rem; + border: 1px solid goldenrod; + } + + .animals__search { + width: 25rem; + } \ No newline at end of file diff --git a/src/components/auth/Login.css b/src/components/auth/Login.css new file mode 100644 index 0000000..1384c68 --- /dev/null +++ b/src/components/auth/Login.css @@ -0,0 +1,69 @@ +.h1, h1 { + font-size: 2.5rem; +} + +fieldset { + min-width: 0; + padding: 1rem 0; + margin: 0; + border: 0; +} + +.form--login { + display: inline-block; + margin: 0 auto; + text-align: left; +} + +.form--login > fieldset > input[type="email"], +.form--login > fieldset > input[type="password"] { + width: 25em; +} + +.label--login { + width: 8rem; + display: inline-block; +} + +.form-control { + display: block; + width: 94%; + height: calc(1.5em + .75rem + 2px); + padding: .375rem .75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: .25rem; + -webkit-transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; +} + +.container--login { + text-align: center; +} + +.form--login { + background-position-x: right; + background-image: url(logo.png); + z-index: 1; + min-height: 25rem; + min-width: 45rem; + background-color: hsla(0,0%,100%,0.40); + background-blend-mode: overlay; + background-repeat: no-repeat; +} + +.button--close { + position: relative; + bottom: -2rem; +} + +.dialog { + min-width: 15rem; + min-height: 5rem; +} + diff --git a/src/components/auth/Login.js b/src/components/auth/Login.js new file mode 100644 index 0000000..2317a7e --- /dev/null +++ b/src/components/auth/Login.js @@ -0,0 +1,70 @@ +import React, { useRef } from "react" +import { Link, useHistory } from "react-router-dom"; +import "./Login.css" + + +export const Login = () => { + const email = useRef() + const password = useRef() + const history = useHistory() + + const existingUserCheck = () => { + return fetch(`http://localhost:8088/customers?email=${email.current.value}`) + .then(res => res.json()) + .then(user => user.length ? user[0] : false) + } + + const handleLogin = (e) => { + e.preventDefault() + + existingUserCheck() + .then(exists => { + if (exists && exists.password === password.current.value) { + localStorage.setItem("kennel_customer", exists.id) + history.push("/") + } else if (exists && exists.password !== password.current.value) { + alert('Password does not match') + } else if (!exists) { + alert('User does not exist') + } + }) + } + + return ( ++ + ) +} + diff --git a/src/components/auth/Register.js b/src/components/auth/Register.js new file mode 100644 index 0000000..53e3a1d --- /dev/null +++ b/src/components/auth/Register.js @@ -0,0 +1,102 @@ +import React, { useRef } from "react" +import { useHistory } from 'react-router-dom' +import "./Login.css" + +export const Register = () => { + const firstName = useRef() + const lastName = useRef() + const email = useRef() + const password = useRef() + const verifyPassword = useRef() + const history = useHistory() + + const existingUserCheck = () => { + return fetch(`http://localhost:8088/customers?email=${email.current.value}`) + .then(res => res.json()) + .then(user => !!user.length) + } + + const handleRegister = (e) => { + e.preventDefault() + + if (password.current.value === verifyPassword.current.value) { + existingUserCheck() + .then(() => { + fetch("http://localhost:8088/customers", { + method: "POST", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify({ + email: email.current.value, + password: password.current.value, + name: `${firstName.current.value} ${lastName.current.value}` + }) + }) + .then(_ => _.json()) + .then(createdUser => { + if (createdUser.hasOwnProperty("id")) { + localStorage.setItem("kennel_customer", createdUser.id) + history.push("/") + } + }) + }) + } else { + alert('Passwords do not match') + } + } + + return ( ++ + ++ Not a member yet? + ++ + + ) +} + diff --git a/src/components/auth/logo.png b/src/components/auth/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..df1873061d4160036d0ce8a233a44f84daf9b57b GIT binary patch literal 177295 zcmeFYWm8;F_$@j!xVyV+(BK~2A%eRTAh_EA!9BP;!QF!l!QI{6-DTk9cj})1t@{D) zyHl%n?ft5&Yxg6o*Xj;eQ;|hOCPoGT0BG`ZQl9|;(7#V07!m&8YlU*T3jiRLu$Gim zlb4jFRCBVou(mY^0JMUWw2}C~tu1UE#8i1^A1v`q+z6Xx4}8_T;rSE7mH3%T;S;T7 z9%7NiPuh>UW(soH3Te#tgM=HLvoCM&7dJi|H)jV+2e0GHHr0*y4fD$nAV{7#A{v_1 zBnT6iRHAO}_rS?%T@Jwuk~jdyK^&I@TewHkwX$*ysOQ)9UjIr8Zr!@panhadT6tgi zbg)Nujs!46GsUQOn4l!wKmZi&5-CIg03rx8aOko>{}RIJA`!~h1aRQ5_ILi#GAHpq zHMt=p_ty0#`~xE{BTpIU1I%4-isT!fAxM_=#s5)&aZe53Q=w^Gv3DeU2?G0~?#Ck{ zBL{FI&_zj$yipB2h?#l4#>-PazIFdGU1BnW@4cK9|8)EAEckYTjZ65X8w${4g39$b zt(dN7H-j#NA1R0 +J{sn>cE_X1kCDQY0TanWjI& za^1O?8#|xMp0JczA8J||j0eay2q_{i>-pA`f}*a`-Fe^bey21CY@N5nA+2|#d*9P= zf1 &M5IA1Bg>1kmR9zJ*9ctZ53KZ_xN`$SW5=58m+`HZ7f>3)}g z2_Zd%fq|e 0u}KttnQw7>7S zGb`42@ai1U1&ZVIFW8T#4Kio9h=3epQrJ;(%2%@18J5RbUfD~eV$AoVHJm0M%&HZ; z_x!8r*J5K-PIyAoC@dM&zL@Dxr3Ir~ztQ#f)R-CPHr$|Nv2Ri5(yF-|xdW5-Yhg%* z?{%33T42sanSzcf&sS#`Mq{lqY6XlUq>)hbf>iZWaqJ?1&9t<2PaB@`v6x--EBAKS zfs-n}3VbM}cGJZn|Gm!0+wD!@O+=6 UF!BOa&s=Yqmi##zUFr#Y;|T-CMsa1(|@6nb@BYsC9L(uUT07Q zFl)3CRr8v$9}brbe=q4`;Xec0x>Z0057}Xzko!E#hSmrbhj9{z$-(7?puMoEdq_En zBbC6A86heK;ME|oZDI-^_+5(91@us&X9B`0@d|??H@R9s3J^30lvNlEaT+V&M7QE3 z%sSZp(jX1C-iZ7a_5>5wn2I?JXcFW>NhL@6E9fibhe1rPP+Ka3L9*-Mz&trdbU~z| zPehaEC5X(S=b!G>P-cO5pX~D-t%#q2l~i$v3a~VRC{$5#G9{EQSQd!hy%Im!sZp_l z_=Dvn^*-U!{Gk4h^&u=Jj4zC{m(>IbDGpc8f|lYlc4^?OtPa%!jc*+7E~gnX7m0RM z#V1|}3zS$OBvY~~pMwz|mt6sSy}F+fA(4R@)fLqh-<8M}=3As!gjY1N>{tQs)K@E& z27VnhyFfRYmwb!@oT;V5&n{@sL_TixQ(~NisN6EJ1*kb91W{u2_|EuWz^&2N{kJBf zCdoBgtRxzw<>8Hgv1_mvrEJ;m>F+t4FoeSOsR}4}s1j(nsaI6-m6FAil{F;hrRHVt zgKf!VBXRzgZdEuKv{ oWYNA)s2IZDx325R>o=Z;yB-dO~~x!NI|a z1v3Yu!NqU$_t8ZN;hy2{;Fc%eCVD9N4#OnICt4?(CypiBGZB=Ol>97pDY^e5tyZL- z^hG3(xJW0@A~!joH}5__=J$9(Rnd9Dn@msvR{m6xfE12og7O#T8D(zS$O63Lx!-h? z 8dQSyZpH6<1#_@rZt2#Wa%AM(Yd4L`mAe4~N+B>|Sm=}y?9 z?coWrL`{eyl);k0k@4^U+OHd>A9bU2tAwl+qa>Spol4Fb%}J9MoTi)#lQzM OM2{8$K29+*g1+EFf_F_r>)WePBzUMUf zbYk& {2|G6WoGd2HJW>aQuCS7J$rlQ`e-b>4;R;Si%hcQQP=M#q)XG=#u zN7WmSORFnP&pHqCo6$?ItK)0 lyJJ-W$3b z`7%T@G%&I-^j<_+wOOfF!cjPwYn7K;xLEe6D6bt}__gR`C2PrPRc5tt$=?!_N+*pX zeZ0!D-^A6+C2eKJh4^`Hs%L-N3cbKy!Ow{yVIj@^Jkhb~uj#O3)MK0<3_iG5mg|@< z`z*trnVcb!0m<02K4-DFnY6vN@ws*#4IRece!oq=o4buY<|Cm*yC*6nbRn815hOI= zCFR-XyXGnTn7;A5h271to^yF|^fB-%7bzwDw|whRduiQ~`pj>OL<={Ilrj3zt9{xV zc$A;PrP9THVMTG~HG42DM&>3-)_3bVy@I39d1(Fp%k&fb^_3NNnRXduL0K94!E37C zA}=@h7o<{T)MPqj)}$Ex$wF*GMEvIb(E^G>6s~?pf6qU;l&-|CU9@z$y#FfCJCR-( zf{8%D#y};-74X &jW-z41EA-@D25q@wMLGOhBVr=<6m$|+ zU}0wezE`uebxh+T8yM>%vr{l3 0Fm<4I-Xq}g z%T>a_16h}2;HwlQToZ{4i3ll@Axnifb6e2$b#`FpMMabTGs7=zgoN3ID%yfy;Y0eC zyA!+FOG;M?p7G2H=~-=#^EaoF&UFWDSt|-R@+X4TE}a}?3FMig4iYbaqfy(UQlnzi z@Y5Q#+qIdrBMH{n+{{?a42P&D!bgeznE92mX>#z1xbM_$?D2Vec{bk&+)V7U6L{d= z;vM5^=x??C@-jbTzB*Q$>dap@+1ftER+9fZbYK&+uv}HH$IfofuKWS|4PTGft>?af z#%b^R8hJe8CMj%qaQG+#;m7?dSIaj|I_+;R8BcD cye_$R)&l@$$ziO@# zwB;D~s3m+xnUh%<7rXT4&^Y+Kplh$Qv7EcEcB6J|tW9HRx=vFpdyp}hp~7P)664uE zOS&w)u)T6!J6CzPhI7CGRkh1@6XEure_K6#O5j~<8aPWoizfR{cE|qJK-i=7wyx<* zZT)`Ic6mBmQPuK~z4JEmx$F>w==EaJv(DrN`0AX8jN2|B)2Cv0h_R8?C1i6kZeenE z1=8$~CW}_xB_tY1F7K)OBI=#!-0&E*7`kGrU>e(x)-S|xO26)V`^x{q^g7eOTRQPI zr@rgbhbiY*#`jF#^z$^wth7wDEd3nCSA_?j_l(2lmkrlW_i>>K)i>#9o0EYhxTfGb z>EOP3x|5=*90{?7lrI{K8b2z^Dw-+ (UW#B+d;IZB?igXP;M{e_$sjxEtxK*NEZ zYQJbvhpi|0WF0Y+sQuM^HmJeYW&L(83Nr!aMqk5;m*Ad+bfZP8rPAZov*0oRX$Ni` z(E@o7i6AmD!hqmUOc!%DOFUZ|Egn1B2OK&QIsyiNDdVpE25g<94yR~^bY}H2Iej&l zJkGqOvTymmIs=9a2C9mNtKczA%NFBX-wlEt4EhVD&{6nN1lAB%gv#ei! !WFuRE2ux%G9B0+EsImnAjDS@gDA)wNJjmFGa4S(bmM_ z+3|X@Y5s|f-xPlw#7x-~ck^}KEXL~ 02X&z|p!r@QMY z_P*jhD(qx*HvcLcw(n}cfs!jW-uvdH&n}lC=({?jnPEH;e v;M2{J3@XWQO5^xSjmG+BZP}Q_zZs_9prK z?C&MyPe^?E1&(Zx=wfVX?2WP!!@lUfPn($Mk@IRw&==wv(wTB@nEE;AgD!X&t9b zUmL%h(80iw?Y^RT^VX!%e+e-d9X!^ft1CoAgOf?q79h+4$MnfESKudiK87decn w~^{@4FcfUkm zaQk;bXu3~6Sq4i=vr0=#@%6S{K5chmJ7Jgq8v7hRjn5^_HBz_cRCHa7ydQBIk(0=r zB>8Rkt6#~wI*R7PywUVy-ct3q-&xf-)!uTd(m8rv3zTDO3l8gtSDhLCaP&mQOcwI{ z^7u^2M;a*=)r*Ns8cX{1v92{PyY709US~cVbpG!G3)~3fWTPT3BbDn=wyhA^c*`oy zkO%D?sSO-I$KIZ|Enr?iw?shq8&$8G31R#$1vw!Wh+#TDv>=u=S|v _2-OF!$SEuzg_gCpvbnt!-$q<1O%%WhTmbPOIxK9t*d z*>uetpF9!Ik}rSs5=OQWe0%h9Hc-?)Sz|y`)iv^;o4ar8=qNbqgQoBaDH`gZ4PT6( zwa#YDq&z&!_^)N$2Q&w9OP=(6z3`AR+aQS&^rej6i{evN@;6DHeItFOb1$>=ves}o zpInHz*uDAfU-Q9*4Ug@2MRBF!`&?`Do2@v^&j7(N?0ewTBv<>}#O7)nh4iPJd`ph# zMW;IARg!CI1sP`f@80Qz%b+&;XN)LDdf|GaNOl`mU14ulSyW3@O RL zchvxmZqrZGp9=n#QZrNU ec&61Xn zDkqn+@KWch@K@$^%QYOHev;=L%lG+XacFW#IlW4~L1f8T-dd%zj^-D4`HLpM+<=zu zDC5@n4N>())x>m<4CFLFE*4G(EeGB9X4VF3Efk%J#nr~>TJ8qR8VdK89goqWziB<5 z{Y8HMb>%a_JeWv?9P(ke8}|kJ8q9qW1FvLHIxp`R!bjw1Dky!}hc``_Z5Rx=Qh087 ze~cs4N<>8}xSzUGa _w{6J0$%z_p)_ex1nX}0n1~8@m?z-rWh>5 z2pMXzdl^U{jw;7g_p>=gHSL5J{VHfEVyrr{#M+epR6m$JgABWTO?f5-%%JyB#EC=b z6+=Sd(Yif50gnb>^Md~aU)x!rIw-dg2Ed>Vs8|9rYJo4(ZUB=%Asb%-i{+r75K6Ft z6==}nUiB3MvY>=-*vv2o@FRK0f1gAWl?0fCCQ`D5A#Q+B^5Cs7b)+U~%&>UF9D1dt zU`$ZMC7G!^;sgeN;1VfdxZ=)%btKCRVhdI{8d8H&Gg6f+(3)`nNLa{f1W0baI@0XU z?@ll^FdZ}DF_o9@mVPgpE6K2qvTn1^vSv68JeogDAkrdKAW9-yNz+T~ MZX8Zg)RQ3j9z$-w=5eKI{0^k>P_6y_CXu9|1xoX1nRB!t-K#G )=n|P8LdkC^EWZwy7O& zjGNvjd0@$2_xW ShD?ssgYi$!t5mEC{HDaHm{Zs#Y&Jwb^o O*BgNqMPdp}md6Ajc%5n_-z_wtSIw!4k`jdSq9H+Pp0 8JJCQO(*c zl+7txrLw(wR7Lz-E)T!u<#+zVS-?}Yv~SSZU5hHIYo~F-DD%_&azoi6dYLy)^K~Y2 zKT2caH}wSmijEMM;dA@vv*M$tRn7SePKXHqEAK%T)cbiVyY?0-Lp3Tv($J~6(IR9Y z(J-{rX6)dVrxwy-)q(rM?ceIQH+MX^eES?5on%OoA@l|_334<-74GJYgE sK368~dy|jcMI#9eP-Ilttu0XhC?A#>RnALs%bCW4u(n zC?s(1VBy&3_;SU6m40<}V}oRce2k)vC=}@t9unTSGt-Mg%S=a7 dow;M!t!~z#1d~a4|081j8WG9WGc?#R4Gp^Gv zK^^`zSL2PG?KW4A`^gY*+O1%QF3l)+u}sTsnsNA4xOHR;#Bhu(I)RX8sqF%;Ez}vI zVj-1_!yS)~oh+nt2LCKJ`8pK?`73!ce#^}HI5yucFM3T46<*2lC%yfVzNgP{cbd0V zZn(Nhw}$R)zV1Ecue#==AC$h`lWqNRowIlt_+D^aa;!*R#&^#L$G4+XB{t t zU$e6}vZy(&|3#$8_YE2WliD5M{IJdxJsVr*TSB3k*>V?d&jr0%P8@JqVI}Xh>Gef< z`@zXBEOxVSM!|*>7Hkt45jl}Un*8j)3_aE5)%R #$4rZw55)c#I%MY>#I;jz=AFiq2|-=kU9~UVq;&7uC=PJA&3JWxh8OM%|hg z8XR<35=d_zb)A_1RMi2|ybhGj?l7! VOAwY2jaG4;S5DI=4FaNGrsT zk}Up{7kzTn?^L VBR^&EH6NR7E^mX6xkw}%1aCsiB)*rY|r~?@210DeD #8wT|+JX5%MPpz#)`~AV` z&|neN)ty>fjXIxKacOSOuWu#qXlx|hD_ef_U`F+=vd+>9KZ^BZrO)waTLPEScr)q7 zL#7hM)d4Z Snzn#hJM=`8ikMHB!YvqUFBUo z*6T&)T4?7(895~DwjGj_?6U`7!k2;c2t^+T9DE;paI0Nc2iR6G9Q6WDIyrgBUNFvK z?uBaoAKYy9yU5p|9fU#q7w*df+3-7rX{k|I_b2a~0*7{X{e!z-KgO`jnz|*|3RL~8 zwg0UK+~)tY8j0f5cY%$R7;&1_?Rc}&?v-a$coZ@de=aUx^H6VyRqurXJib@@0O5&7 z<@C~-?D;={an}wvp^XQfb_?%J1c>4s#^u5ThEA>bfm_4HYB+ClN5 z{#a{=tPSUMNnh_Gp||o)5L0SeIOQb995wt*{gmG&CGnU{0~yY+%z+Wbyir%WVw2u~ zi}?S}uz)f^YLm+1cT(ltIK3K5tlD{Kvgi544bPH5#NAo4`aRey@S}#O&V%)mWTj<; zuM@0imFGQ_ZJsaZS>|9yl>%~M(uZ+~G6n!|Y(puTUe?clxZK}gXMPukE_S-{pp%P^ z+7L6M+Kp3WrSG~6erJS7z@R9i=4`4Vw9%}(d;*@$7X*NeqQspWh+J==M9yTvd6u{D z(;(Kreo>=>?@%_$elZ;qN(DDV1`YjEcF80NJPWl-90yy1036@c9YmB90R9XgGob z)Vj%b{s+k?JC>)?{5-Gs@9G7WYK0aMx{sxGmMzw9z_P5YsAryEkI_=6%G_1{t+P32 z-WO%0qp>sDSN>^%o*}=vo@{Nc!|KA;xD{qz>lgt8;Da0T+$&`ZJk+`O1wDQTKRmA5 zlIC)p+S{7+#TK7a_icE-WG%M(vqRraThQ9FG@{6KWAGstl6Is;c`zetvf)-S6EZuC zoO-YboUYeqA5-uXia7LZY^6c6+W*=v|FC=4DD)^9Lbc7MAkmBwJeJ{;1EVUwkMRO_ z0O)Xpf)HR?Y6ce0d9-dC)!)jUzvK6E>SSa18Uh`RYtZP{DVYt5#81R%E{aa!yaU$2 zLIy=gvWLGLo8o7EWOD@1+<5r_TPo8hXdmoLpy&&;kF`*Iz&cz@z2P{Y45W6hU&dLF z4Ep>5^jx$5(kSC{r0ef**@f4r!rl*fce|iGW`sM0`M4M%pa0|?)j0BUWf~a}0^v78 zRU?LPP^ai2;}j(t+cV`96e2K<^3Hq!Do&+lkbD 2`8Z3pm3l+ej~<;pMhlGXmh}@WDd7HUtjs7egw_`Vj+xQHO@PI7^D5?=j5AOicW3 zDd8nK|9}ocsyghlH{Q360jK$hi%%0Mm(P1Me5zvl6;N`!JAiw7Ea3DdJJP(`&~W1q zcoiYa*~AI~$_8~2no3CzEtBminFaM@A)Fol_Rp?;c*y4z4FIVHp`}I{)Z=(F!Ux^U zxiB1kw-wGf&Hw2Fuk}!TH8t^gi>m>3YH)Y|Tx)f4+FRua!w6`s4CVaO+%3S(>FPtb z9P7pDdrqqG_w~y)9Agh7_T#>ME-vVKf2i};=PNDcXXM*A&?x2h 42BLsM84A#-P zkQu|6AV|IIIVgvOyH?+^#xV@iNUq#I#|w%&fVoTGZIj&c)^R2u+-LIVbq+ukMy!_I zdXw;K9qXxJHc>Z;uEu&2nJJsba+lkhbcBYv<-orO&Y{lHhZGzdl@0@yIbvBb0FO{- zZ^n;-Zm|L`^}e%c5Q8F9Df2+j++v8ZlK9-0vJ~e`OM)k@(rRGig`O_#S#;dX?;L-K z$2YU*pdV4#W7X6%q!eQtX*0h~zgsiW9}t*$J$Wd7V7EL4r@^@{lSpWna+3$)+Av~- zy28Z_FVu|I|7(tk{|fV)WO(9)G{`Uo7S{brB%UXr6*+f@+el-t38n>Hm;-l%+Llx=@tFqAED& zcUOWa6;)cuL )eO@N*QaPrG$LrTtTFq|rTpM(hB8cLxwGg5tX>k;(0F|G zCq%mPq+2w!o+?*0$CvLueAYhiBjSbY>m_PzrNYD)HX6NhQZtcX(z&q>uV--4xy7!c zoaD+Nc!u!h9DNZS=Rps@J2NGAvdHkICqkNEhMED_(`}k^t {1MYJ`am{-)3{_E4nS?o7&bBci6qt!noCt^ 4SBKz)sf(70^AS=sEh4W12>2tnb75npL2~=e-vUa=I*b!h7JMDCHuo90|B&zD7y% z0qi171cYc$balS4`C11vc#E?^0Vsb|S4zKH?aio6zcV5+BQV4N5a5d;GfI2O=>Dnp z0*};$xI4ltg4KEz`erVYTE2N|Z*lZ3@+OL_U)$=X@8-bthdG@^_->A{Ogg!eWTp0i zy?@{v@i$`1Y72O)A FtNN`vX3F0gS?9FWKt|{h zLV%~lvqAa)y4!hj3X;D*HbD5k^ZI-Hi{<;nV%IgBcqE*t^zJiTHCUYlFq@tQ_A-EG zZxG*fUA+9H&7S}of+pZ6Z+xfMp9|ZNN_fUe5ND;DF5>%n+l*oa@s7zwO02v&Dn)_y z;tH#8Yu;0`ScHe}zrQiL&m3`mqQHb{wZ`#(@gw2j`%4an!JV1F@E~?sI060aCz2~i z*#^6W+Wb)lY_RZmjac67-3_7KeAq9n%Z)U03B0=Q>~Vd*wgF#eOZZ38RU J!E+G4hy^qb)jr>PDB(2vpYE2XY6%c=C+=p6`3d*a7hkThgZ?HkO{51z4_fX# z&n?OV(?vW5_2Er5&VrbRq ^)PaT6h0AEZ)Tssay%5i5Jg6S>yG|foQkwl zknsKJ?>q`Iqi6MhEaJb(@V8;cFkE=Z&(x#61jhXfKv4i+tr}8ZnA^l8QJnAfI9D$7Wjwa`@d@R~-#$|i@9u_RXY)Rb(5M!n z^;jR`^|RzI8@FBbiSy7UuA!qgIoSt>AQ0azS`>YrJYGdJKr^b~BOx4n9df_cG5n#q zYX^}QY>7AYlngf#OAE+X!?6UDb)kRgX=fUAzsv>9T#*SFOa)eKbt(asEmvAFq#P^kL#Ec2^JedCIvd|-V zu|>iMVT(M!)J9o7@v1@A$Bm {0d zYbU!dT;VsLXoNTd^EWM2I;-Fgeq{S6)T*+NNiI %y$ZO5sjUO@z_+mD+_!>KLrh@Y=-m* z4=neYoWZnR1N3nNe^5-qS8&|bE;jCm6L9cj5DPQeC&9tTzt@gk?zF=!ZyX4J!bTdg zH@nON`ZmJ)Nu>P{QSo;9rhRZ)(SxeQIy!&~D4P=wG4J|m-sJ!yra19T-xhLxJ#aN8 z2e{1K!%h{hwys}ygyIX94NscLmQG$Hyncf(-1oM_e+_U2zdBqp(tibh957tMJY1yL zzgpjOH%Y03khCbDcisFr#g1x4lbn_oumao`eECufc&UlH=7g>~b2>jOv1ZbNFK?G% zJ&9mp@VM#4ho;3O%Xs%!19(becZNAy{x^x1`j13Y^R+46oFsrDt`|A}$nPSekN6sm z-~hOl)Nbsx#mHh&w~F)qZI=deJL$7t*3MUns0%lf_xX-gk@~ cnmHFN8qt _CJ{nOVBe1va|Anaoxcu|gx01O8I4m5 z+;Xcuf;zCCaM~9z{IwD&gPt$XPF_;-`T96gj$PSY=>AMfP;rb+L7CyT5hN^t=D%f* zjnJhGMHIsOf|gr2(E+bQ_8nLY2EIJJh+eDxs$EZ; U}FMd zBR~$g=T2!m3m*c=1H6S`-+6xLEi?}m3{cx6ro#ex8IZohsCxr6F;2WD!PEXV%9NDJ zjHUKa<>BQj6JHpw58&E*`J{Gj{I;c&zGQIFT}NNz4F7_x{$|L;^L}tXz0s0c9`Tpm zdpi>Pyx_=Ow6YjL6RNm}V%xei7am5rZ-Kd%;?w?rii#2bmH-M qImEo{gs({@*;pbA=V4uqfxsng zd;${YN}0j_@tEUc&vM>+_RjvD#ukTG@Fau=P(q VlRxZ$&?C{Bo^$-?qMk^da$6zSX}emI9N1kj+Ab}K574#VRMMlY38{~ zx7jea(C`bD`;YZ7`SP 0%BBvbMhWPtUp3( z)KAu+e=bCtnW`{pR~nXqCQ_7UW3Ym0NgX|I$sZ^uFG&A{V~qnNQA`>{A^xAZ0^{*z zB(c*G$?Q&mX$R)e4Pp$Q69a#z08h%Cqx_V4 &>iHM%Em;$TIUs1FpF_29ru%A`6NW z8C4AWIpQO&`Q}*yv=M^j17X`nw@_GLK7RT+F$gxn FVjCl41E zQ9qG_OdCYFh46k4#&H-q1e}7^@1y@JD1F%x=L^IaA)90oYe(*9LcM?yE2cx9Db0ka z9rioOTF@cBp|-Zo*E)++L=ZfNUv(ioo>FMV5Va2OdL$vm4TmljwWE&T${B+a4VFYp z{!{G{?#7cneI>E2i~{BfVx==mu9q3{uRr25Zi)fIn0~3kLq6up=#ZCwCv0dzsv(y6 z(e3O| 1nW3t*e zxfh?Ilu$V?rta~B=-$)eg>5a0G%ttPuV*AE=fh5_?4j4>Fmp_CD|6q@vBtI2443>9 zZ2rH&7sdW5&Hr|9vHcZ)o_A#QyM*b7d4O7g<=1keIQ!}^Q>u&bdQrC&TkSv%Z#0{C zDy-ubqmfPtZ+(Em_w*aoU(S7h$aCjlZI4;!grt8$g !Z%Sjn)mHA=Jrst&;=;01bUSTC=ZwbF6sa+(x8VSJ9YA(2+$AU<*m> zD?%l$*iuOKKleNa#UVjrBSME|be^K5^;9)~Y6$Bx6UT5@I&8gb{vhhhfhZ}^?93fc zR3Pjha`h);j-P_;$G0rJne1Y&68c5GS2LVOcLcB>3Zn?WV#9^z=xgSQi5oC}F=xSk z%$3jeDHpSHZx}tOm4ke)O{n& !Q+LfI7A#{~(yMec+Ef zroac@@DPUg&c3IMZQ|7Y&y%8ifhWn!%I~i(fxFc6ud9yKXTWvq!%I$u_4%uwlY!=+ z_Bz?{t=4cTU%}6aIgKiC?7*QC*EQHS^k08NWe99V49i5V?Ezdck2M}>S|2CJrrY&R zfao>*eCMk%WI>l 6Q>1+x zq8k$j9HbAEOTH|rO7}TZ6tC@(PO?uQBLtI`6XAV6|8X>;`n9R{SQrogAU-1CckO!| zXN^~GB)kCoVU&v{rI8Cl(31<*?vQ7^J{9e=DIm?n+Oz})Byw@BiY_?-qG( TzAeK=^ CCgo^#a! z=mCR>F3^+cqt=F>IAP*NdRmB=*ty?LcS}*Krl%!yhll-Tc4yWRBLa1Gs-k*Ip3!TO zgzw1#Lgr3|4~taLe1Fv<+CzGT0aqQashujb4K!rNjg&KqwQ#2;;{ZT z%{8n;0#tQ_&$6-_4$Wbg3l&tbgEk$HJV&09&+##^ZI$t6MYgD=h wU=0HV_#QMbrs*Ia(}D+?X1K!k9>UeXJEE>Ff9K{zK`?j8Y?635Y*#vy zw&JV@@i2)Dn+95kg|$=4Uap(vHhtLx{sP)B?2XeP3BMq{fAvV;JGvOiSKBg!{k>p8 zF-B`RuA%R%0MS4|>8mD8OJxJXNY0TD*=K}rpkk^vOF7_bmp95}@2^e|&hJtkD72W{ z)L*jgA=)s21mK_-G&h&_36Thpuc}dkvk6Pp9d|PGX^$I`;;eEF)_~>I4s`iY)tMpT z5nH7nsmoX0Ct426+xi1{b4Hp&0 ai8 z#4(0x JtU?H;Va#ZQkvrV5w&V=sv8XbI%v##}gZoRsvZoHHyBJ zy%m+ZJZ`fU`ghEZ++ECRs%(ORFvl3bA}CIOh-)y9qe?izCNbrLsLz4_-bPIF@ t6}HaQ?6V`uf3)T;{~V0-_rEHlilp&TBn5+>=#yFn?})EHAv}};N$>1K==Lud>r@zA470)HR{E_lgxeH zlZ5#Fhpkwh)wmZtjvzhCzLJrrs&e!|+8j=;k{g6|);C9mnAOzh^|dIq%Om`+3|JJ} z(LCh{YS|ooAq~nM&|9m{-`1FVnDgGDAgvyN8z|ftQH>P+ccDe#T$CDHgb%1~li@a_ zAJE>gxfJjV#PUl)+MqY5U9fuW!Ow+a!NSzDeVJ|)Lv~O|b+ p9qrY~Y6jUzP&DKy1uRUIYIR ze*69}Gmc4C55AaYdy8K)4YebJnLt-;8!>FjzVnDRi|CY7GZ(6xo1L9cYtU3Wdw h|z$k*Vl{C*QJ&A2C~g z!MSr7V!Ye=;)-=z&~BEVHw=4STW5q%d@blF%=?{+`cIKIQG6K&9vgzY$KXR?ooVU) zZ!Qkf$eweU^KVlAb6PxXYy}u>b)~jcy1R*A6}}3iClRVjBYlZi$2!Dub`%ewS)<+= zyzcO;FS`CMw+UtV=QFgwpKB9c;Uq)$Z49F)-jBp^nsa9^K)piXnR5dci{#?%RVIx# z?*@vQmv7)zfWsmciTLXeb@&!}$RZ~Q5dCQXd1V98iuD uLbS3u7j86Qg6r)qVlF-AhS$ zTyPpD5qqvDu$w%kOZLM#5;jPSMwx*5;t)Tahfl>%@mZ60+RB)hy}?`MlxZVZ#Icl4 zpctLa&-Y06eimJutXlNqULCm?M1g!xmu;|pR4wEdWRoUMnrltS9`$5N5w^MnL2n*A z#LRR%n0n dh(;_dE(2$db9{W@$t68RPgnOjfa<=$NGsSD+9xSK4H5d-6hZJ#)~Vm`KmN1 zRui;Ramkm9d-<{3_X~Kv3C=?<-sY@f2gT4MrK}l%3E)B^{3xM^12imtoHz;zwxgd3 zTo}d;^WJ?^-7a^F1_Zsj)n0ErDf)B5PjulT{P_@grB!v0-g;XDUm#Vh3*QohVjQ>_ zm~>-lnhob(40w``I3P8(-s04P|FxNS6)r-^u!tUqU;hI8GUq}8Fp#4DOMjR?`L|dZ z^oR|Ehhxgy1UU_eU;emLP{9snR`aU5NLVM34K=cD-B|5aoq-cc@%@{F|7ILv5Lhl0 zO36Yg#Jhse+IauPbF% x&W+4m&hkyfT_sCfg7B9nICw-uHFGci^o+Urw?fOf z|Gb+AcW-?KO!(nO3FmJINTL3{eH(1D{c<7EH_{ivt8aX{1=ag$g}p>(2`qG`@Pnh@ zGaIeYGLGlLN~E~{@J~j2`Oo(A5ZmbBx*uQz(wrX<)HVROf~MkA`P#cg(-k1R^REpq z9Aa++M6yh&0o)r@&+q*47c-AlFQ+(*1C?J9CfkZ3 ;_>+krVwt)$dwJQ2V(p4T+aOd^n>zL@_z%^BAXdFDkjY z!Az}7&$ @k z68a4FzaDCVYQB9xt+bc+4*A*{O@@D&=O#9ApLcr#UIJ>E!YF!14g20DEotdyMb _@!%lM< c z_=ihpZ9kQ!fRV=DKY&`hMU5oEFeh=6&T3pT^aCS-(5E~BGeeVi O%wK6JzxtLd8)Ip)gcQ1~o=A-}8UKIqG=%4WC{qc4f+rK&Gm3#-sFt|n$**E5Q ziaE#^&hF=r{M;dFy&0t9^3OCLOG*oqxAN7#j#kMu%gYh%3gY1cz#fPK_$353EgC@- zTkcbaD`rev9a@iL8+Zj1U21qwKo30v@n(sXRDdZAz1-XkI~zx2B&agLAL-s_yfOeA zte%r}1 cfk*(>Kh<5tDgK8OG6!qrxQ|rL+0XCZyGgos)yinEyf#46 zn(YlB9;gzorsu|gXVuB2_(|z# b0Tm{0y(Ffhw(gtXZkU(b25b{|3MU}nV z*`v|GCz8$4g(Yz7d3Tv}r`V^h*}Pu~3*U;?oP#A3;qXuiP!#9@MN~{)2El8n$hSWI z`+}e$uF1x|&`J~s!it4L1;aL2E5*r)PePP#f@tC|!w2k5)Z*ju(Iq@utBBf2WyMRS z!lb!?XyB`cnTw)Mj;3~)J~QFE*U6p7?RleCmoxj1OTP@T`~pbpZ&KZ-;T>VWm(rqO ze(9QZQX?^oewdw#MT9l}ut`r&cz<=zRrMjU*kzl!YJ^1jHfH|fa%qddp2dNC?tfc# zQXntt|4t)3g#VK^FGX9`%~Mt7K*F!?>|JEl&{i>mAoq>v#X?jz{0*>z-`SlVqc8JX z{D?n5+)WKpaCdTJ&;6ZL0Q%bk@CIF6T#r;v?$j4{WKLcV;(zaJHaXr>VIyI!;bUO@ z5_#ua1Br0g%I5|RENfJ;bKGQY;1j$bh!O4Ru{5GiBl58dOFeIjZUqPOyMnM;ft$Bu zFo~cT$_<)dV!&a=v4a6@yv%Qeu%9LP3$C6rb6LQSSq+_u-YL&8+KL;&(N;se7?u8X zKWu^1asU_BI)uQ6gMIk8m8x4mxGH9m+tQJMCw};9=hs&%Q4>CbYplg`SCp^czrqW{ zJ#o= 4b^{V_Yn$E%@$}ZaaGsDo`&5+V90@9$Mba#hzgETXMh&1?;QX`Et zf`r6?bPGsJclXfq;r;IY8_x6Wv)5j~z0M+w*zuJ_`a09|$E9h-dO* Uq*M0O4tTbuef9?Jp?j%bBV^Jj=;0 z_vMJa WzsG)TFav%F7~rVPhY} zl8cEa6BxvjCThIVB8&+r6vQNNC$vP+Jl{52**+?uf &P+&b-klys#TI z{V>>kE~uuw$uY!`sMDjl#bSg#5B%a?)xvqOPqdNatyll%J;;ueGqhxo7=?c-^_TNk ztwEnI?AuK_z#sDMK~E;Ql#Kl-(`ArJLL0mNo|nWw@E?Xyf?P^TmXgE9N} i z?NIOO@XN;-S*9)UARJnF&e>w)XtDoj&qOocxfi&=eeQ|Yf$AUFbpSpt1Rc(@QCL3C z%Bv Vzt7e56T$KIs&^u)g~C3K2m0N+uV2a{!ZTYYEo% zZz=LY?=L)n?Qc9-p^vM9tHR{Cqe# g|x7Um}(ZZT ?ti>6^_z$a=Jp4CJoeYf{yk__bzDSq3pUaDufFh53 zM@ zeL&`kk< zkJvVDLbz&3ibJTPl>ecZ>ccvew!jvQrwAV<<; zMr|5)R#>@;BSC73&gjCtL1P*sAI5GQF|SWXMl`r0bxxmP1h4v$@?6MD-PUBIcNY9EjEd7UZh3XFbyN&vA(d0JeN>N)ksPba zcc|kg*H7U!C;2BAT53 d|)bW=bY{sbN8DVLows*sz{6QDR&MKR$6Tuju_98EDUHl@{UmFs!`@eFu#Asjkd; z095XxTDd$^vKR;f*+*FZC jJ%Z2!i@6aM z$BoQe1M$!+`PP$Y6cdHHKQSW{fMDfwonHvxJu8(R_$9nB(i#5M vgj`r)dK7KyP|If42qZNXn=qk0)ZwpD zYPw`+QT!karA78%xt{F}WcVXTMAueD^ciiNS1D9sA);D5y`Gt>`HUl4E&iFtm|Ke~ ztB{~ARf-v6LE7tM^tUteN$C!ZItBZ_P}XZ<^+^J1yrAwt1ZDGHhr710T%?kx7^G1* zL(*Gp8wsKjFAm=@9r4=vM(2@0(Xks@c73um;N1PQL%Y-`5o>EnhsMfHh%v#eh_RV0 zvHX)b5pq1yB==a1YCj0)6$2+U2As?AZw$BFOlilep$R%1x%6M}gFZic7#{0p1^O3| zT{_zQJ>nl#j2N4^Wi+^`Ik?e~<6(deo^>=Ps`YJs=Z2ATdce-x8eFMhpD1Onk_`*L zSy1jb%VDozPy}k=&PTP&0AA(8;Nj?tHwGv^#r6~9qb%l7cypqA_C!bc;nwcvto_%o zf>+hrADeI;RD%yT#gG;cs~Mr2EcKD8L0EzpzrXhTUfBoOL7!mKfH>Q!D?>xiXtpj)cB|8)|7D5Tgx{|a~ys3h(nf6 z2)a{ZzErq9+Fq-mVg=fHWeU->)%YL8{qS=EOD&bw=rxhfy^n*v!(gCPB3n{9-#BPp zW>GS?0>j&NGA)x3`>em;V637%<@b*Vj!9dpkFIp@#B5`^n1`i~PlG}@WZJ1X{Hgg@ zL!Th-R6yT9+_gj%)bsW-wvlmRHp-s_yh|A#`W}UJ8cK z#@#~TMBRKqxADL6FW3=y6`5Opj%-);i)9!N- q z01dVxWYD(#cW}w1U`1DE%LE>c)(3x0F5E5Y7`vRKHUlI5I^8JHEy3t;xy!c0F_d;I zc53@=1oXN3Q%9tpr9ciqe19Q}?uM <7L0g=%p&P)kXg>{2Vc_gk6fP#NqhVxPDc+ z?|HlCU12Lm!Rv%C8Ln63{~P8k!NJT$&c$F;g99q}o*J`=!uL=g`0!@3L^4wbN9lGC z{fbGm9AFg3nacKXQMCtaMfd*liivd5N~shrIfT)K{3Qm#T`eu<;(6x!l e^b&%~0)WX37S_Coe4_16!*RRkp#KJkJc32N46N-_L# zaPBTLb&Tk$qKjUtuhNEf$OFs)!q6KuJU!_k;9HnA{qhb9nist(>c-~36C`8!CB6-t z$7BMVQn8G*rj}gfmUbm=$14C8sp9#FghDIs6Hu%Xw}tnPd~z0cuZij@WMf+cSkB_R zAbQPAxnJ@B9tI)(ESay2$ZOP+3v$|W;ue>iPy#R9|0aYWP)D0XwYamQK$W=!f|aH> zuJ^m>`ZAK|s;Z DfbX8McOn`VlW}*%F XS)4*7%Q2?q-xACJ>VyFkf}G&DRL6P^@MJiFhj-4omf)as z$XGkqGg _9w55j7zpd(*bO!I!@e*^jX#E6?&V7r;2IX0@Ss$} zGDY)bfFtU!WEgAP77~;=2>R3+675HGG4AiMEk~Ylx=WtO IZ2vx>smUl`hl%EA{XOrKYSf~y#so-+i2ITExA9uL^1 ziTj{PB&Zdm`Ku}5Q+O)8kXDu(1zYK$KrECtd#Lfx@a%wIIX}^hhd=$+N8@R06)nyE zTzS6)-H9i@h5f+pS63|%8y@YJ#2Lk=WXT^x4@ORwSA>e1Y|c%3s?WgXmz_6XvhM@1 zQb75LZ+b@{iEu8WO#PqQ0<^2Y+a&&cK{vc#;Gjbu|BV$MlOde_#v|8(c0_uP`_)w% zXz3=|8nyNU;VO_zO?kye55?MOG3C*>owK4wf4Iax^5Gb%zAk^RIG}C>TBmCwH1)%} zXiq=$n?&Wgz|L1C&Bxt?^_XPkJeVi$Tl*F3%`CAtJ))+1X{+042$w=crvV{0Y_}X% z-#KK{+s`G|Oi<&5n%^x4`3Ch_Po~~HajqI8l^kdR*(9?~UTmSOQID#4fc7uq`v8SJ zOkXudE0Ly725E1A|A%j(5!k`&gk`9X=k#~5m7Hx2#h~ytnQWVH%LOBC83p0XH@MpX zwKQappOhdv{z#fE{11or31^uD*#{h-#Xf!N{?@Y6$KHn#Ds~Q!wcEe53e>wN5(K4j z1r8VVxK6*oJTSN|oqSeGr|0ZPon_R6=RNY?yp}NOEYSt983g=-7QAC}J&5Ft54tS3 zD0(KnKa2Lt8RkN7SDGNNUE;cXNj?81s@*~|ApHJzl1F$L=Yzd^0f4uAqjtSp2vAqY zyv7=*P(>>1CvGI+r=pVSEml_dK^!LZ*(*tXJJ7CHX(ObFPSYQ2OV0TQz-9+>Hm7!V z*E}TDbOR))=qe0f;t*wpp2z=e{O^)#n?dlCsexr8$$(k}=B|QDP&P;oRBs2Px8NcP z{^2gnuvoJ2b P*k1XLcvd)9||`0D9mrvx%=^!ifMrL!-f5h=gdFf`$ILB_0_)_~kJ z39a5!L$+~4Ll7NBzVCYA6ugZVph3Ie47|px2|fKndZG0Eq3iiB^x&K+Q6v~M4;mEA zdWBW*{FTwg@@6c#?y5_LY^QSqQkI;j{?ivxj(f@1w7NQG5XK_+dF(AEA(CC-cPPdv zkf&j?&*oS(Bo5HRue4b5QEJK;-_EA{l;{Iif?~*}*eRfp^@*mjX}#lMY7D)uem2e% zdJLs8+d5663KI#w^ji+)c58opSAmwGy(!{#j9D*&<54BQYNBiZ*nKMYe$|>MTblly z=hJ#ShV ZEIe!gN`sR)LripV^F=F)-Y@ zN(CW~mI6R~knEV8Pb}-%bXWytVBA+?l?JEtn+{$_hVZ=OL{X vgro65r=MJ)Xc &Oubq5x_FHD8f*lX5hKT47LK5M7H6iYG|u z>=(A@l#@w#zkzRvRO^`#>)mkJteQ8D9=$iu;=UCO#YOFOH0C(1!r@gY{qSHRuxazn zN$5L0RZ`L<-2L&q8I=;;4g7C__gak8T6@DSPxGEj!kuby>CE=4iev<%&}`D_Ie(u% zI+Ir-RRMC~5|ka4WtoS>+8p?TnMDZc-8AT+^K)PNWa8eMJRCFpp#fJtM*_mG3GZ#1 z68o6yO~%(X0b!$f70GP(E-RRyfSk+jvye`1|A W9=t)P(QB5#rp+shZ z5Noz#;P=e)?R@O Fe^~%G$yAFSi56{?{wN!er9)kcd%2P^ zjqD5g5tJ6gqZ-#kL+KdmNcbH4Q8JHv2r_R054gHff#F+ztPTmz#*~@fSygEN0^7AU zOp)C935)OX1AhTSftuqw;+g}NbfAbxFA^RwzO=K^kI>!AjN9j&F*K7L48C>vG}s8( z(Vl5N2l=9~N43PKXq#9;lmt|XC*;l#aMfo+#s %55+} ~9qK+JXWls3f)%8sI>< z92ZC*ZOT|g%yVNhFR}K?qOcJlQoG$j`)Ff$dl<_5vLroUK~esEPpWtF)6Ma%zvOu| zO8VJYZe@i(%#QH{u30#ib;|n36?Kb5r%n)GQV`hUoz)F78ALlDZUSs2I}?oS`qDN3R&N1N!L+W8chjzXEzm5W zm@`9Le@&h!fIPPNM#JY0k!$j!&T*bpjUKXt1v!~ljn0b^b+*~x!HWaB8G$=ZSJ+pk zO2np7dQDfO3!eWiM~QM+f8e%8-?ByLLWyxE#BxyC=RyT3O@!{`;4+IT5wM)W*t6G) zEnd3WLa=e#qi(6>o0`u)?NZ=?J}uX%YMk6-?7MT4Oe#Bzf5-KYRX `GR;D&l12U^=Fo252cw)BK>4a+rN4IDx`C;rQ*R?~R3eXT9Y*mE==?juNk z4iHF3<`lOq7H#u)Q!!f7EX>Zb;vk+Uy1WRB$80Quh78}iP~MweD9Y|o2bZJ{g()o5 zw8ZVtYQ4_BtJxOI<9#cE@%pfn!RP(qWCxM3MQD1s#P|^1u~xdJZO4D)xDwpn120si zKlGaCCK|;M=RDX{FkIh9k=WA5!VaIo--NMWvx)&9VIiqA(qNudrIRz7t?F<~v#`O$ z%G5zYz!RJJW0Oi41NPnrU2M#juIU~4rKuv*_JNp#in2NS>iFi0P%~O7$|uUh6;vpM zAWz! 2GLN4%Gf#!`gS?4J;-7kX{F%Xuz&-nvaOBq!WpUFrLm|F+sX)WiAy zN>XEA08=GU2RfdYO3?bjf!=w@ueu}6i=xm&VCqrLDCK|+ds2lXLTnm!RMyi}7sxYB zD}7NJW}$VxzVTD$?rZETr(ZPB%R~}E@MY)+xOCXsI7x+rx!kw>2YkB!ZjS+JAXE7+ zBCOWYN;wm^C^?Vfc_V?oF_2<0d^M2jhB7ZYbH=@!qxt@Kw>7k$ls+YWbRcpkv$jT& ztc?#u7FC siPPKOg@ zh1>x+!GQOMKB=mg<)`+|Ai9YjrwzHOro;Kw$ZYX+=UJvV_7ZIq*sb;9UF%~Je~(_} zT~_0N0U2L%5{fo$JVB_3fEY@t^9hw&k9%7^t_&@ JS2;!_U8=6#)EQKyn^^ha4KkbZc(Bqw9eWSWCF- zF9+H93Npm4Fw_J-Eze*yv6luSzouJ&WUquLI-}?h!Cuo!;aTWaOoMEH@D`oe*FxrXb8iR+ _LPPF>=d4a%?HMFYM%fR4E@4Q4`uVct6 zgM-%*xc!lojQ3^ekz~&oee27$qKpg?OK+ZM1HqaDPTIX B$VZc^ zKOX*L1b%5VPeC95GI}KCR?~{}vcbk+_qIz>D9=&o)pxpQ-%*jRze|I0@c#)4lN3z$6c(*d(dE*vt&s{7cISoy&s{Xo z0kSsXe;RU2RA=+TB87 )Gc0`oc-4yR>gDE`EaX-gp-VVT|AcCG;;YRR*?l>*c|SnY~6mi)J>aGo2|MY zNpcATLEQkZM$Ozb<&VlRZnCYFZ+|!4lM$r rYu2SS}S #}U?ZrXi;fH|D?mFgGO)JgNI*_T(CA%C9xAUr*3n^g`vu1cjSs7#5cIfYO z_kOW8SbXVvjlWhAp`g4kJ=_9R;b98S7D12O%d;eguWyg`(B-N1c#|eIOxfYL%3Nu2 zTK I^k ziz51-0b%z0BQtAi6Zc1Lm+#|FJRpAyTX_hf2IaJi{;-bhU=P6WNJG`*FVCJ>Q6b0- ze@;RrcI*KN@70#dA9wiz3;)Mpo?&e$1LT6i@)njN1UWO)KKcxrX<6^f0F;GRjz1eh zDL-ZME^Vwz50(e4lfEh|iG0g%T~y|3UQW&_fW;d6!W)6vJ_iV|(gesC{^7dD!r{U` zH1V@JfIONGSCcaKXE-N%xT^lF;HQ$1QgT7d#1n<|u$~`ljXNAnoi?46Jn9a&-dk1p zQDK--8Fq!|%BrNlohh*!j3N#`IZ_#%KV`B=eTG@+HDy }PHlue2S3{GD^ zT-k2S`zAv{HgT(to59fZf*fEzGU+G2)Q~l^J~9Sna;uv y_v^QCx<*Hm$gP3ZI{VpdmHx2s~) zvRJMT$YsXqKWb|V^0s~f`L9{a(Mq~l>)i_E%$s1E#zS}#A;QFU)i=hanVMe^UKGnn zt2?SZ_jo-zr}*bolN!$3w=GrL&Jy=011qHfV|f6Hk=mB_v_kg8u|9Drt!F%yQcT#_ z9%iUT`}GFM&Fbtgc^6<3KEuVj V1b;5BPUHQ2aN|H5n!Wqg*|8Dg z0J<8Qf^l_BOD7xNB^zMwYin?^2mNyo>Vqat&Elj12c0$z_*SP(S`QTL#1nj5sg-WN z*IxJ83LT6Yiod6Vn}pfE@*A;6HjWN)?sg^)dSGxS9kv=tcxRE?Q1*vQ-67`((28<5 zlkvd=74OIL_`4&aEURLQ9RPYR0oWnqgKd>X&MFXR`ZtZVKBWf;Dyr8xLFRx%9jBuD zh`eI9H|+m0efk+4{Agp!NC?LVoU(Yt3lvLcux|}uZ!nDQ_@`1Z;YYsmQ1(Etu~l~| ziDsUPNG3*@(vLSgj4TJ;x$bRs5YKS@@J?3_4Wat-%u@30;AYwR_S&3*dGw~$;r-hf zs>_c%aa@ti#d;RMk8a09s_XKHQ>)!FD(bKdaclJ2FvtWl$)Eu9Fw+&k;oA+f(;ARn zssJqeO47Ut;M9D){V+I2C)%#?x-+XV3lXkaM`(0PxLNrb;+4$g@g4GHOuPL`*TwO@ z@nA)6LpE|_Ft&pdgO}HTnib4Wifw*8{QlInXvqINN)l~eS809hH#*CAnNWsw=s}+~ z T!vUa9BLP|ql>+ngd~0EXMqNp6l5JCAylr9 3g%?Nw4^*BI%;P%S8fx?^fl_&RgDWFz_-df+cqfkTb=gl%WVi=qq#}HhW~t=! zQX99y+MYo>UE|4L8CHCam<~C}ce1%mdtiQm!^7quy`x{MPpDKPDO@QBJ%Yed;k_)8 zE-@)QBri0emoe#XZbkJwXabTr<@bp*DU4X`FMCosR>mRYL!L6u@_$#4ZpJ5ESPYON zi^>DA rBtl1&P!V8dLvJZon?DI<@`DQ z7OxNxRJY8ZiqW@}Uz+U9c%Zqm15} L_>Y>N w7Bc~Pyd$5stat9RzH0-d=? zYOPUcTy(kE^dpjCJ(|Ut)m69UV%!+zIzTukN^JVwA2~{ZHW0W-je2}heh2hGTD`Od zQ>gRxRF*|Iot(RGYB#cgpAWvf;2 9mFz3Oc ZRT=)u`jeg zh4HvP`}F|WVwuV{(T-5(zt^9} z&2z$>RrBD@I)P>eDr;X*2E;m78u9r;J<%*Ql7hu-tC>@{a`(M zWab{oktTNL`T8@~J#X8)_%6&Hu<|M#g-tO?EJncbcA %6*wG?<28gCq3+|;=D!F zEvk&p^6w2%HDKTxc;5y1pbXn}#1z2SF&zFQE;$R-h@H4bP-+&Hlv~PGO7YId@KF%D z=n$RW@U0kxIVu*QJ?EhM( kBU#Pp9SHQmw(6ZVG{OKI z!Qa`--1bVrSA3#1nl8|wtm>giKYI&o`76$GZX$_ddX@9(C&JsG-VJR-7{UC)e>@cv zz1=L0HuPk#{FDOLfUzUfbnE6~U6~+=dJA}O<;gVKeyyE-JsxGfJIwVuHBCFY)T*{5 z=+(Q3_VSCDioX`y`ikkU08Vx#p9@p-h_8Iyw<6({s(nq++vx=Xp>+-_<1^!HE^A(d z4@i^ZB)%u9J|n|o`2D#G<4Sql@3aO;;X^#6Mzsd`feUxN1}m5QXOd$m2M$;8ASc_e z>v8mZF-0Ne&^6Fj=2?+c2kq$3NbS0}Z@2xDm*a=r&u;@=7JpLe zTtG?Q*+yPRk#6&E?4Jo!Vg+W8y@)e=gU%Vm{RFWv }0#u8l9XJrj=1Vr4|D+(SJM7TqttrYv-q`#TxJ4V*TB{VPA58PkW3~N%2 zT5Hi`a$FWQ8cW_Qu^Ud=z0|p q+-UA!ewx9L)QEI4Gz;~&qFTyL(^qa6 z+ LGGaX$!2xtDAlr5fzM-@sbT%1k==~L3^MgQb--ehjqNV7wh7TMO zWQcNAzImViY|=so=Nh+Z;*las94Pxu;KXNaC#2IR+$OvucHI9ddE&OL0NnJ)N#BQ* z&di7)3FNR?gYPZU+)V|UrZ2OUMWah%(sUfB
H1jmALx0A~>@!O}s@1+kNDkU6&dTqNf1V|8@KL{Y2#uws{@RYO<<9V~ zem6w8v0X!W$-VNFvolw^RTinyLhKOR!%W34 3k%bs-Nn4qRKz8#`H7Kp`<=GmB;&Y2vo@JzOp0o zb&JZ$U+Lsq@X%MRxP!V1e!^jCWdv4AmCDvp)oAy0^rm6onbZn!aPoPleRy3Bf9OGh zm2^NNLYj|Gx|@6X{DSAXuW_l~u0@$e$gFWO_EbI&BTLOq^Pr$8226UEiDl*NhY)&r ztYyv|T0lG>Abk8)Abl6Wy!ex60v_;_qQzkx?RcH7yb~SF _@hK`GM{i$@hBokYyuJrTZ-e{uNDouBmq0a7XE*tNE z%(84AZ5e#cD=S8>oTWD1OiR?F86J&837PU%7Rfh!@stB^Ccb-a{o?N%j{cAQ1eA>} z7pF61R5TnQ?%w$pKzgtbGarl}o47OouP<3C4Y2jHntUAp%*E9ev4PcVs|~o?eQEVr z1}<83fQb*%*+Q;*JPpu>sc?@v8FP-%7SZ@}Oq l`HZ&A}UBhzl!PNuuFgn*>p!2>N(p)r5uq}2!j2#faP0N$HZmIFK z%F?d&&-tQFwQPQ@RY8!{G|Jpedfrr{E 0ope z&_`MzjnJ4^Rjwok6H#YNCtWjgij=F;%V2yqE;oa7Fo&Aqz~aKdIK wKd>GjD68P~_xZINt^*~a8QTyjVLFk&U z9sNF}M2dKk1BC(S WVlSPXq=|Twu)pDYM)OIag}2@Q_A8J20_KP8_q}JQ^vZzVVcL#2aOWc?RZP0gf_@ z?5Kc!nm6ZaGCpy=-Y1`tKL}s1Pz^u(ou5v;duDb{fHmDq&~&zP=(iN@w-g#H)a|#{ zo9g!|cJ`AEu6M0}pvY+O&XdeIC^9Sx?cBJpow`vRo)U2Q@3?;bKfV6Dod>m6gN%#H zMQ~v6K`}S8jR+l!36~U3t_3-NpYcE6MfXW}T`RH~RzWLBc7UH|9+xz_M>@{^3L^ek z*aXZ{AoQX>x~?H#q^gxK1YXjI-~Ui2iN|kiX_u6H574?OoNwkB!%IVPFF#fqKJw(V zltx(Mlfe`$P*Vq9PsPvFFk9r?zJvW`{JjP`j1WW?VsyghDzM~S<}C95^5!n-%22vV z3i6F&Md }}Qt4>JPNQ(D)j@L`gE*y{r}=f90|V|@YMDL?uE6TZguzq;s4nno{rVrzX? ztyQZkUPY|5)vgbLN%bG5fz)!^G%}naVL5_gTMD@E!Hg YZmQd-Ue!CWZH~~8G2tY?C|N70laHXLwVLj#u30Q! zF!^iOo1%(Sz02i^aJez_Q|EY_5cCFZ)BZ1yMUb2C>l+i+lgodmjYVGT;M~)yRF{Rj zw-g`h4 zd380>7^;#T{_(KhkEB%X_&lr{eV#5a@>y>AJLaZ3iyCADVa=UHeqQ>IgXLPbjBP=l z;E91@x|1dx*&-}|X;~}