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..f6d32e0 --- /dev/null +++ b/src/components/ApplicationViews.js @@ -0,0 +1,13 @@ +import React from "react" +import { Route } from "react-router-dom" + +export const ApplicationViews = () => { + return <> + + Application views + + > +} diff --git a/src/components/LevelUp.css b/src/components/LevelUp.css new file mode 100644 index 0000000..74b5e05 --- /dev/null +++ b/src/components/LevelUp.css @@ -0,0 +1,38 @@ +.App { + text-align: center; +} + +.App-logo { + height: 40vmin; + pointer-events: none; +} + +@media (prefers-reduced-motion: no-preference) { + .App-logo { + animation: App-logo-spin infinite 20s linear; + } +} + +.App-header { + background-color: #282c34; + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-size: calc(10px + 2vmin); + color: white; +} + +.App-link { + color: #61dafb; +} + +@keyframes App-logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} diff --git a/src/components/LevelUp.js b/src/components/LevelUp.js new file mode 100644 index 0000000..76bedad --- /dev/null +++ b/src/components/LevelUp.js @@ -0,0 +1,32 @@ +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" + +export const LevelUp = () => ( + <> +{ + if (localStorage.getItem("lu_token")) { + return <> + + + > + } else { + return+ + + } + }} /> + + + + ++ + + + > +) diff --git a/src/components/auth/Auth.css b/src/components/auth/Auth.css new file mode 100644 index 0000000..7911432 --- /dev/null +++ b/src/components/auth/Auth.css @@ -0,0 +1,70 @@ +.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-size: cover; + background-position-x: center; + background-image: url('./logo.png'); + z-index: 1; + min-height: 25rem; + min-width: 45rem; + padding: 0 5rem; + background-color: hsla(0,0%,100%,0.75); + background-blend-mode: overlay; + background-repeat: no-repeat; +} + +.button--close { + position: relative; + bottom: -2rem; +} + +.dialog { + min-width: 15rem; + min-height: 5rem; +} \ No newline at end of file diff --git a/src/components/auth/Login.js b/src/components/auth/Login.js new file mode 100644 index 0000000..d53cb58 --- /dev/null +++ b/src/components/auth/Login.js @@ -0,0 +1,68 @@ +import React, { useRef } from "react" +import { Link, useHistory } from "react-router-dom" +import "./Auth.css" + + +export const Login = () => { + const username = useRef() + const password = useRef() + const invalidDialog = useRef() + const history = useHistory() + + const handleLogin = (e) => { + e.preventDefault() + + return fetch("http://127.0.0.1:8000/login", { + method: "POST", + headers: { + "Content-Type": "application/json", + "Accept": "application/json" + }, + body: JSON.stringify({ + username: username.current.value, + password: password.current.value + }) + }) + .then(res => res.json()) + .then(res => { + if ("valid" in res && res.valid && "token" in res) { + localStorage.setItem("lu_token", res.token) + history.push("/") + } + else { + invalidDialog.current.showModal() + } + }) + } + + return ( ++ + + + ) +} diff --git a/src/components/auth/Register.js b/src/components/auth/Register.js new file mode 100644 index 0000000..83aec5c --- /dev/null +++ b/src/components/auth/Register.js @@ -0,0 +1,92 @@ +import React, { useRef } from "react" +import { Link, useHistory } from "react-router-dom" +import "./Auth.css" + +export const Register = () => { + const firstName = useRef() + const lastName = useRef() + const username = useRef() + const bio = useRef() + const password = useRef() + const verifyPassword = useRef() + const passwordDialog = useRef() + const history = useHistory() + + const handleRegister = (e) => { + e.preventDefault() + + if (password.current.value === verifyPassword.current.value) { + const newUser = { + "username": username.current.value, + "first_name": firstName.current.value, + "last_name": lastName.current.value, + "bio": bio.current.value, + "password": password.current.value + } + + return fetch("http://127.0.0.1:8000/register", { + method: "POST", + headers: { + "Content-Type": "application/json", + "Accept": "application/json" + }, + body: JSON.stringify(newUser) + }) + .then(res => res.json()) + .then(res => { + if ("token" in res) { + localStorage.setItem("lu_token", res.token) + history.push("/") + } + }) + } else { + passwordDialog.current.showModal() + } + } + + 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..e73df76ef3195366c3cd83d6f8b60e7156f2afcd GIT binary patch literal 145607 zcmV((K;XZLP)+ Already registered? Login + +4Tx09b{USqV5*-Phmej;?v0=h-#S^E_mp$5dSNHM@o~lu{u|LL@_>2&F-U zBs8F8N=On)nJRC{7~e6}`~Ls$^L*d)?dRF&{Lb2IueJ8H*4p<1z@b104Gl!l0uU4& zL9*Sa$Ls8}pBMWHKmY@9Kol?%Ji|kEt*y-gTz =j9#l z2>@gbV-K%z&mb7z2LPqy8A^%(06hoO1rA4q!WaWv2^dMRfiM=_#=g5)WgC0!V)Gpy zds}@Ny8}Q*Ng$AX0ifQti#N*C7nVbP7H*>t_96zutXE;I<>^Q80)TxC=8*^r3V|^P zC5%Nq{vpTrKV*9Rkx3x<{=vIr*(qcO#PHBSLiGQ0I{xnx6d3tihX7nD{Yb{P+hg9I zw}23{Z4BEEwFi4xTEUne#{ERE9sX_n*)P)AVUK^sGh82@Gr$Z0g3^m%U l#@w0c@wG+`3MRc@;F*S@w!UOEg_IPGu{PZn<^N=EKw{3>k90`0#Mz*^=NWq}+ z-{V56`4LSl_prGqVaFa;7$1u8vp3$AgN*VHcQ*fRrZ;qJJQ3EsgDd-fwULL>BS z_xfH74Yc0lM>cu~?%SsG!?-Iv%I >v_|dp2mqg990bfjAp9M<(<}IoHb?LYrV#(7-4nJo5U$&8|Dy5I z{H9?HF$Nf8j1fi*#g5WKsiVx{rw&}@P%0?Z-*)}YkN%AAMNgpLpvTZ}-G~XK|FWDH zSb#CuMx(vadHi#9C}CKtB1#XX3Co9NqnJ_bKoX?@Ytlt&!@3n=>OXCb{4?Ue=W TPzoqE^WB$D0x7mMlB9oET$TnmP zvIE(Od;oZnkCAoAPUNF){AX``+Swbwwb}02768j3{!1TWPv`cmh09dROv`NSwSfrl zBN5w&ML#4onnd*Vi{RCTy|p*5NwBAs1h1TooD2ZlzJJ%XEZFY&bcnh8Z(7Jb0MuaL zjIjKh=7|NM2KGaAW`ENJx#6QB2EgMi&qz|#E)BK)Km&3>1D_N&zzzE@QFughKnbV= z9bgDdffcX^F5nP6=YH@$C4s{r4x9jqAQhy8i{LW20!qLQa0}c64?rVm0nfop&;#Cp zcko`B1hZfs`~>R|1Ysd6hyh}QcpxE29Fl`nAT7ucGKXv-7sws*g@U0-C=NOar9v6d zWvB=$hwei4Pz%%n^+Io
BW@yU5iN+9h&PBa#4KV736K;>W+Wd{5~+gJM_M8GBYlu0 sP ABdn! K^Dyve z@ep~kcpmf2@G|l0@&@u=;(f|H&&SDU%ooX5#Mi~Q&M(66z@NZ>oBzE4xqym*k3g0{ ztH8V -ModL4K&(Kl2amuj;{EV>_-=88xRN+gyg YKEn^nU3J(rwb4GKw;RGS_6@$ $@R-q$s5VX z%h$>Or68{0tx%{iq{yIXp_ruDs`yJuS&5`nr8KQ9sO+wsuRN&2sA8>hR;67Pt*WOQ zuiB`(s-~nCp>|L0ySk)$fO>`cl!l0gx5hP%kDC0N1kEDNF)dy#cde^hW7>S$1npw& z2^|3)FP&1IFS=s7{<=4Hzv;>7k@RZxmi5*2kLouYAPx2zq!@G=(i=J$UN#&x;y3a& zsx+G4r?@Y6U$ZgV*v$BX@t_HpiKj`q$-Jqu=~2_CW|U@jW|z$-%<<+V^9Boqg{eiR z#fYVlWw7M~D_~_}m1*_fTEsfc`k@WR#@Z&&=CiG=ZJceJ9fO^lU4`9Gdp-N}_U{}- z9U>iC9cdg7IF>suI~h1-IE^_=J0Ep^>B8 I0GpSEAN-yBh&c$xT@zp?)n|K$LyfU -5Dtwc{*}DN-HWaYUQxw z;p!uFM}m)ZM&qN;M1P4fin$((iuH_bjpK_u5jTER_h`{E=$OZ`)_8&VQ}L6>_Z`1+ zg8W3liB}0S2^k5CC!J0 ol{M5(O`%YITQYVrU2b0v3t|X(9iOF4O @u*-Y_D zd66oUnw`3F*7NL(bF$|yo!d(DN$WbVbiObhlOCKta6$XRjSRYsn2e8^7MZnKyjdw( zix=H4c4RALU&$fQiOd m{cjL0(;O)dRZ7F;%V!}iA0a^>>!3eJl2 zm59p7%ITX2ZuZ BVS|QBc?~^o5-6^HElhPdA!sd+C10d+w!s1 zt@Yg#=O_J7ZJu^LGkezl-01m}Hr=+z?V9b49cmr*FH~MUc&YTVwo|dQ=9S{Bnl7cT z+HU3Ux*pY@hF*={ratYyme&TapZA;ezkFl)rgy+$U}*5b;MkDY(A3+&w|@;s4X?jD zK7t-ec~AR3dz5pu_=DJo+ha;&kH!tgJ16WW-hK4^IQuF5)5hef&s3kYzwmr1pOTwu zoHm;7nQ@(&oDH2_pG*8o_ci~U=(qddb-s7bJI_!4Mfz*&$Jqt8g|bD3#nvV3rO}^3 zKi8L2R@hc {r94+2+Vr(AHKcfkfCz1(0w>`1k H;z_@epa1 CCy5%GA!YKhikQo2MVU za6e-%OXQ+kc4p4AOUswV@?7$h3mz0sUZpS6E)FO;ckTN1rqaQ(ALUdP_)6oOzPFO9 z%5T5C^Zg!6wf23Vn$+5=2VHe@4P+1b8dV-yHaR}FZMJAJX*GDF^Hk%R%5(WP>2~oB zu8xft121oPCcbj*lIq&(?&`VR>(eLq8oVCvuYHp_5ISfzB=eT;?ZWWDyM~dg?-NIZ zKG=_`kMm7nC+0r(e7Zk*>2utdgHsyQ9Mh{a1GCk0=f4JgGy2Z=eQSR6hsc7<;>D$r zWx18i)vfi&jfKs_TU$FBBNLn>x`8|}1t~&jpgDvyq7Qix&Yud=HW&uXC+s7#>$p7f zY>Ir!Csb=R8np3rPZ^Mm+Dx&`RV*La7}?>d%$dYh#@)skA;eH(7?I>39vBe g{RQa^i%kElgo_um%X1np_2y1qUeBj15G~Zc;&e5% z=uB~WN&B^_Qe2tX4b$>~inEosZg$_AzfFHf;jY8I$m)ytt802|zt&;v`5M$7+BAAR z3Trz4_ %&y OlRLhN~t{vtEm+&7s|`b6QtZcS-NIexQN4!Hi+Kk>5U1*iV$2c$*5D zeljaDCs=S>ytgd0B3KJr&)D3xjj=PdXRsf4xZ`-t$- (`|`uNzap?oM}yYlG=9m z)wzMRvGcR(OBdEM)-zY(=sKG{n$vx$DYxcwPu^?+rcmID_SFML(Qw?nf35TSMCsZM zrgHfT`^qCX3vWHIn!Q7RSLL2tb>jW1nt|HQI+1$YhGP#a8V8$DkL8;QE$OYzPv)L6 zK38o!*nX@dAC73foj 8pXqyqpaSpclr0Vr62@0s%e(1gI>Q~=nk0))UIfL>?<$Y%CW{J;WcAO^JH zn`Hnv344)h& zBjncP&ndJi>M0c|tEuFv zYN*wyn`w+`x@nzhC+LFd*65QNSQttfl^NTaT$#QzpJHKWdBAGVy1K}Rs3CXe+eOpkCNA !<8crM?O4^JYpSP6tf&>bM$UJ >q(Ey;LKdTIFmD$JDT^UVD&0%vCg%S(&8KUE1uqbQ}yM} zN;P>6*8`b)gNM$K0w14jDSYzi*?2qo3zg1*uA-jd*L-h623v>ON1{fD# HNZv^hKeiyUR)|wQI8LWxqH#({}s^1CRhlaQuh{ncx;^2Oq&E!~rQo zHc%jx1eHL|&?vNt;DPV=-iTDhJ;X2)jg&>YA ?$-T}~$$OH|o8MSKT#!O=Qm8>VS;R(^ zS#(J35}qV(Eg>yQC%GgwEZrhgA$w8oq&!K%Q_(@mL|I2gMO9W!QXQ`$rYWW+t}U&j zsH>@Gq;G3*$S}|-c3-M-o=K%?quDF-QH#H iHV=}34}BqqxGaNd!r80FaH zxOc~-<4+%dpP+Oy^VE+-yQI1^yeX-vYv+Q}CemFm3}m`yO=TasM4o#!Pd$IQ@aR>c zqP~(7*A+`=Z?snA-HfQRyd!cCs(x2f^B}!G@S)BlRMU&*j8@mDBF`4vT01gd`n*!@ zrs?_ISJv+_z&$wpHs_uFd-~CyvGfU>PmGg8Uvj3kW`^bnUx&VH&FB0zvB14(y%hU1 zf4O$$)#}LF^!ksDm0ug1JN^UE0&!prJi#%L1MY$jFb0+(S_lsrK^{;%eD<55F$5AJ zf-r|qem
ZLh^fQb!rVz`3O(SC 5Dof&u-W*F<4E-(kM7_*A7VcDkGJ2~!fW^u)F`|&vOn(^uL zYYAuy>I+#2JBxUUhKa@F)5HrTDkU4GdZnjj(Q< 6U-x;zRIq%Ci{%EQIXBi`wa#qRKA8eKFGVH%PS~%TxVc(zPx^*!2(1v>? z;e{u^SB!T*oM)aR&IXtT-U?<2i4UD6Ifl1H;-fO*4AVQNJ5KND<9NN}oeAzIf1NH# zvQAz}@kt#xXPnlME`8y8CRbKYHbc(&T;|Kg`BDY-SM;uS6kC<_Uw1Bjcf+gvTV>2G zOjY(B;k$L!X7|Txqw1*YOCG8>_BRDL<65pi(SJJeJfU5% bDeGC3>F)utn^VjVkE(?f-Ym17D z&zBsQ`hVK}>{~WnezYRJQoKsD8ofHPX1;cRopt@_`uK+7M%gd2Uw*$jHu0NDo0D7m zTSeRJAMPVBw-Y`fN 32;bRa{vGf6951U69E94oEQKAKmbWZK~#7F z?7a!F?OR^gxAt^~JHN39`gKD~)6mEuwloG}0@{c%iee}&EYV7plB6`{kQhx&NlDOX zrDDZOX$+*IMq{a^Ax5Jj1_hBpuv-xt=%%6P?)Tn(?~Z5MQ$C;X`v1?_d!KXe+2`D| z@4M&rTlb#*pVshOzj@7_DWR+|n0<%*|IGU*<$Hc%Ql^th=}fyTEb(yG)6RsK9m<^+ zp}BIcQ?5SMDU%6R&o@3#`Cf!eXjc=a-ATFq(zNVub<4CnE`{ }OTEZbJZ)U+ zl&78}|8cjR0n~ufrS7l3JSkgS6R0o!;gvJ;=ajUaP9IoCps-tRJYUNCnt47rB%O%r zm2xMzYv|;=hYWJO;l?xFa_Leja2@ne9w=-v7!`St9W8qMUZ>oCWei_Z2k=ehYKofW zV(Js0O+Dt{wHv*1^{S8|2lCr#gW&M*<|n3QtQY~a_>Od+1I`2|GSV3*-^-1hoC(&{ zO@slRvL_D5 IY`;_f@Gt9>-}E-{174=^RCmRo^v?tC z2j)QqB=!i6KN`UR2uuvl0~4L|M;NXnmruu0)B|8x7nabv5?*86X^rtY7vE;r!Ak57 zCuMKgiH`SKgB3yGw=>m2X@s;*w1TTVHG#o)N2p=(zzZO$Iu_XrTrorn<0*m}gWKH^ z^(61ek$HpXTE|o5b!^loLqO|N#?Fw4;4Ot5o96fr8t)x&ut#2kUxSQsmLP1_6}<8z z9!d{{oEU%~VV3|qW9Wi{mR-f$!-OO!Phr{_PfCwsRP!;w(fW%8@XbO44zO?)7R4gj zkWa1M*`QL=#D;hoP*3y3dpdPy^5>Yud*m}Bd2nSesm@}ZPMv)ch^2tXPahnpGmw pqXjj0=jb bWG$oiw+K; z3 TjS0c1RC4K$Ndwx`A=NHJ3|4^~g&x}L2GnPRzQwsY-3*0_K2_iTk z&*gYZ;|rGfQwikW^w#aH0a#2g2-R*#TOU%}N~?tmCq K!+L8imLq z=xM9>(DCJ+j$IQWvG(d5`RN$wR*C5pnYyG#GIJ$-eRm8*D|y{05g8B;?}B8}8{-45 zC$x-f*PGpPtAnmH?a>P9mSI|l;sPi-dz1(~08@oM9JmrJm}!`vDr$FCVzwq?e3}wd zdtV5~lFHFEMz3joNaDP-och&w=M;pW>@3gv F18PC>nQkb;XrOuuO;hpDAVSJ*sb&u zhNgba<+wD9?}a}h_0m}pW`6R_&pCzta>!U%(>;9F`U9V`t+O3DN7lROA#I;|PtiXa zmb1|FtHL2n^h!UXDJ(q%Q@t01%lqyGQ-E%=p7P1+Ld9(8pZcam>aBNJzoqO|f^b~r zbVw}MzZp=Di+OS8jl sM~y$7M{SPDqpDXvYH|77*&dbgNTs3~raK5M zT)xVWT1Ob6LaQpyN{6FlwTqXzaivq%E;;TaquV9jFT3{<1o6Z>A&B8i!94lmT-{=^ zLAI2=wKXb3x}C&?H0q)eE?*m@xZohP5}@P5Vm-y&B=xAYZjG7mn@S#^+0tLk8;JSS zTpFT;Pe{KAYtp4Rq``@BKNP+zT)H>b+pH#x`!9yWXtjJWq*62usH&~b>b@+dU;3HK zSm)%f5pcL8NT?E7nd>08U=nx(JL&9=^S&BozMcagqWY~V^{m%rhkXJzAb90}!(+;G zQwv{`bN%Z5X+mmFf@G3}!dPXp;wt4Q|I_5##3kDa6D_up^HKB;@&@QTyYjG(n)M>m zIpDV`(HtwZ0G?X$ s2^8Ow9P<{f- zz_quFthDuy08-?+;$q1v$WB2P@quIie#zu#iMDbBT s{3msMUH{htW`BsKRO4 z<2@kRrRsc8A$9v>3{Q)B*pU`Y*fz}2zCWDrgWeogvX<4$#G#rFY7@HKr3~*laR&i_ z;#J)FphsvF!EW^fx91Vs8V#BFFx;s*DiHm(Qm$O5T$#@?$u{Bx3SF#c#hXoh($k%d zt50?#veLMz)~u%Q&R(f>VMVdj{FarJMOdv?t)jvPJb};pSK9dfbiq9MPhQe7b*-BF z RukAsF*GoYRMHVqw6VF{vL!&`e}c*Y1`+AL+@L ?AL z`^cDHW^@7#ARK{6+-&`4@0%P}ei0;*5IwAp;xX@5SMtgY@ajN+xSXAltWekP--=}? zMrbp1PbYec3Z?>hj$zU8I3dF#ZJpGcO7jq(S9Vz)D1>tagsfVnW3Jvi*){J3 UT@k@h1pFlDlsMyzC9RAxRyP@(f@ z@ajM1Yu~9jLzX8c>Ei6GH<)FKPP0K_D^pFQb3y$CppnOu@_Lx>_IO0GQM6;-VlcSS zVaokX4@=&BcKv+T8sLnHAq)!Iq{CF&ECG@|^cZEDhH+NN4>Dr>Q;bqt1sW&+DKL#k z?{h1>D+Faf>ljC^e>BAY>(kvJ*p4ry4hVfzk9ocxUdO;=i2<#H&aOsFW9bzUz+hA( z>33z~tiZQv+YFTVv*xvIItqyF={#7ErXk^EtLPV7c P(sdM)GL7Q?;ImK&YW zROPeTA^)s3z)D;^M41$!8}IbX(0e^pyx!hGL6nIbE?LpVR`=REYjJ6DBkvUFBrRIS zdfpgejd9y@ToDM#7MVB*)_L~%;LC}3=A$B8r%qFs;G_o%{Ic}w_3%0d9!CtYHbJ)+ zmwUkPr1aN243qMX_1xUCR#hgJe`~Al^mS0M{Uc@Ms(C)6j4e~X
qDWePdg~>KRnQ zv~$Y3R-w((i2b@-dH+sUKwY}_uQHC@VY3A%nwiW=7Pr`d1f6z(%eHc7x(ct*0(AZ> z#N2Z4wZiI^7bk@zASctOj{K6hU3e;t*TY#c(Bl38hnenY3)3w5i49mPdx=8=du0-4 z@`Qd(j(qWb8>hxx>X*D7_tx1Ruo=Ts&tfk6wixB#%JY6(J_s+d1CHt8B<`*M{s+IE zV@OfSkAgw0-Rk1So~Si8V0rpk^b4P;Vep>%93(m)NP>FnNS)J@Fe&%$Fxm4q?|`Wq z`*`GHBxP24J)hz)VlI`tE+XU)33D}Satv$=7L;w51}G-o&N|HE*lWWq85mB?#DB=5 z=aWzHy5U9F0Z!N~K|m}wo}p|CNUNNcC@@tBET{^Fo00^k`a=vAl(;!LIJRV4LX=r2 z1>Ib|))sv&!#vL(%vX3V;{ev0^C|OHF$iDttCEyAf(n0XF=q$$vo@vFsQ42FQNF=7 z!lt}2=Yhv1LqqEjrO6BW>m=5E&2Z_=jx3X$kTc~^r<;3k!@u%^d7p-_Do2q+1D865 zTkGE#`Xhlj<4d8-40rMu)XKl|F_oYdoE`s&lWXLqsZaFX84EosS!ACwn~)wo>Ybse z%; -aX#BGpT%9!N0UCIvIrjjFhZjNuFQI1JX+y8I{kUPtx83epvT%MnTJ#` z4}vQO9^uKN1gaY`iNQ3LP^g@IdmvnXd2Ir4swAV#S YHeFTP=be+MNWY z8p~vMnTvDU4rWHMYqDAkp6jc;fBolV4Akvk#U2I#1S>_EX`4IoEKVEzo}68!kt|4y z&hc62XqanSm1bUZ^yV=L)Ga(HZ#6mum}B3CGrT0w=fhOV1;g6WsnOtq^)xEvV{zrR z7JhDJ9*JbCl#MJLccPLy;R$+L{xPgpJ&_|*e^$PH-2l&!y$W5*HwpDeH2)7$>^I zJ8l%N6$QOlibPqBkQ-Z#0? j*AJpN8pE_AFqX_# zmCK|#VdQTdXGx5SGvu3DpYc_e+|6eKExX{^uJgJf3;9r2myB74!QIJfD=3ez|15!l zEM+2|6MllxW|n_sOb5!1A0(7~cS49fn2Y=;UA-h3a;T$dOW4*b|6coGom|(?*s%+# z9ft+3@Trp%W0l$(oe#8CM^OLdZSR>n3L`jim9I9>Z|7U)QIM-crj$9x`lkWoEbGi> z6CQPpn0P(RV&HWHJcA8q>y0pcwtVj08I>*8?S+G3qV gJ0s3|3O~qQ~XxjkQb?bM~U)@em-OK#A|NS@Fv+ z?b2ecY%Gk|pJ%tRQ}{ ZJ8eAt`c|eJ7vy^FJJ%?&P5m~I<0Lx;qUH(+^5xk&I&$!i; zHP&m5QQA&0ivq)S)Q5#ILMjS8Ssc5{K!}ff?01brd`~s%kC{Y8Rb)WBFzs}b6b- zgId`I=Y&dS&+(BlN+b_Wlz6hF>#rRMrth{qb-*0eS)!14)gT_ks|rsRKYb8pYX|sc zw2RkFA?Yp*eCFr4G{0ugUxWx{SJV0ZK|vgvNNkzB$z&nPY2dfq)LgpkI&;-$;GqnC z?-~wpvryFBqsp;2u+>le&<_Zy>@8` }E+f6Lqi~)BRkDTDm*C zOlXGjGzNCF&4g*6W4An#hL%;At?BwGr1T8U#HqLDSMjAVTc{_Lcr2U>UUx>A&X+YT zkD{noy^#S?crAUhX?sJ%{W#P`_>Kq_eyS?W=EPd-%GTfs==awp9+CFsS8`5;*Su tkJ3-O?JzWF71AIy(!~_ONxX#&{xN8%-;~>K49lH zu{lCdPnl&KZFNFc7ya`-h3syYTFMjFCv4r)r6u7>m2LDx^aX;cqD-%cG;Z=(HY<4| zu#sns1Mq2l^@v9pQda0B=qxP5KYd`>0;cr3c(paIgRH!eXS#)jx8>8w%kt13iyF#F zE}6F=UeQl_^}ZEHlvl^xeYZ?a5^d=pTl7`-g`(=CKtx?TA_Ev4^Nn*7NGlxY56RLX z&qYKUv*4qJ$0e!#sl*5NFlp5%bBR{)FmEANP(WlYMnt`%$Hu=16ov6#vN(nl8m*%I zQ{=fzcbQ`+gYjAvag3}kD>NCy=+i#vYP!3uhpk+jhP!NK*~8d&c1gZLi_9TP@@i*M zw;*)Jbj9f{vnF;zenVQ%JuUu1XpNVzEl1(acoNuBnYq4C-7_0j;lOCn9RCcJpqXB+ ziu6E~gy-nc!c*%)4vvY5$fRzVyv@kB;`uQM6$-?&PuF%?D?Pf?My?4zwx$O_x3g$f zP7_*s6BN;!ijqwA#cWZ_SjXY)Ag9;wR*8Y=S9*6UUrQ1+6TH5mlfZGIkUR8?tvmq` zM4pYaP~JPpBs3o5aN2gRldp8fkazk1yos)nR|BzfBJ1rfg9b!;=9U5cgnFIyc|uP? z-C(0SMCwI*4QxS1M}UW%$tg}B!$9*VcBmR#n^qX#=r(`EtuzF1E~^ZyH^7zKIhfqB z393T3AtXwd=HC6bYAdc~Tg(a9zQ$EXmY46pR7M~8v79+;2g{hg<1IEY&!iHJ<`@OL z{`?E&>M#A$oN6+GXua-Ux%ZF$DGlcxn6V+^Oqp36f8&{Q<*U9*i=MXivHaOuSU?(V zbjl`p)KM9euZ``!`+QiTpv6p(|MoWH&vYwk@vYMuj>9_e*nY5;zYOJi>^Xbsnyp?O z5B|vkJB(>JtGs3~^myEM?%pn)AN;{GS{u*`1|}42j~ +rh$ah%u+Foz =jh )?$*nt|Ns1Tz-8G3-4!m; zeFYHR)V$BX(RjOTe$CgG&3Auk>F!n`^Ju}lf9 * zMS+3!!ovxRbw`P#0Ayrah8n!}je2i;c*rR#d*IF)hpTEiYDQEpTXzt3EM>Zq5wOb$ z`vx1i=Loe9USk}rMfm5RdocCY8}*&+t?t{~!yUn>tqT5m2u|??*(Te!%HH4o%cZl? zPY*?h?(=arN;x4Pm3A}fM&)x4t=@%k#wx_&Ug>}Nd&+aa{0reRc1CzTyha#MRuN|8 zD#wGeL)5i5(oIe`v^?K`=@aF}zy6nyaD3!2>j_}uXsy5D^UL&e-<=J8oHj8gf0a4h zQ^n(4m7BUj5wZ@t2*Yyynv>B|r3`ymTy>7mwct5KSie2=-rZZkf=+i*oZanqy`$NP zt8C*PEQ7 )_Y+o7nz6mP2oLulYr1qHU4 1_*cijc6@4#p`*5gIuU_+YL=AIwUoua9}uy>3iQg@yNISX8c@SG|@6n zE8z5mc;E5|H)js 9`%? z+B&o1?dTgoGwCc(k_?iK$Zwr~ ?o(`fm4rS6U z!o_!6dtGPwf{Sre&SL&cKwYCijM_;c;Jku{N>eBVeq0%lIxU^yd_-Gi9>y|dtSCby zIKx9|s{Bsi^+9i=jA$J>&YaCGC|at-SyU)_-j~PDMj0dSXb6lDnE+U}fF!=Wu^$$3 zw*TRDH)bOy+MMON(1aHOEr?UDjMK)-<3s&e=6p~VL 69)los~K#@XzTXmR+YE`9CNokb|sldH=Pf(~- z4UjKTelsD8GZ8_e0+{qO5gzhZLz^)=;24YsWt(o&bqzB4I**x?asjWlh@BO?K?O1n zOpKB5*}gJ{m*-uY&BCXWx9dtmX1sI(<_Vlyg@uVd5}oo!nc+NNnaUjXT_f+Hr?Q0I zxwc4!sgo9Pjcrk_`k&A3VV_if2ANYOi;@vZly8e4RLlkGyoW34h_BuBW8m%49ajlh zb2_@!KbOs^9)cMPc75=aR{4|`tCOnGr9vG8Qn9xHETs%F7=8Mg0h4$rPrLOr$Qd9& zQ8T{3jy A09~A*Bin zphrwNbN25Vj)^gx34W#ko>Pi)558mgLQBdK5Z=ddHZYy0jKD5#fzt!(rHZs!8!@J- zBR+zsc@G AGD!k|P(C+-!Lq?)A9+}(o}TmTMlMrvCW9oLvHnf!qb`A8-j=zc zX>7he@f=U-q#u>~jPH)9M%K=&f1<~rk!WPzi=wW>>#lymt@L`tAr5T#1WHNBO1(KK zq-eLchQJjt!oxM5@HQ0|i7N*G(HP*_s<#zFi256Lqej%wa3bm;D9}?F*|l@EFJ7dy zi4WqP^{x+c$M!43CfjJ!{`O7ARc~W@dE+eBTQ8Lt#+M-AHU^e)mOTvZTdtS&0o{sl zo2~f?>qjS_{utfS2r~k)I~kTY?%6H8R!P{ vJVlFws^8MeZpsI-p?1D24D@4Vz;txSreZG;gTzxq `~C4^p1=J4!nkkzq3ODqJm`HHQ#3Ph{5Cw|K&B|7%~L0Z*XR! z&fn5fhBpRqbZ6sQ8DDuGxkbY hBb=2|LmWa$&dU!S}UwK zWR~*h!$9A;^K^NJmTuOD-9pIz``=c|d)|(MCk=e}&wk+j -&;EG{U$O( zwJ2j}2o`_$_K=NMRGa1jhJjZZa9lA<{*v$M^Ebs9xF$@z8sMP~zwe)vm)`e7rNeMj z2i{%#@=^KXKl= ?>K_MG5UePmdE=8yd; z*7(z+R`wTU;tVKwV3PDwh!_6b>vsD{>s!hEz>JpsD9#QA`NI#eP-rsVDm!2OO=a^} z{YJRg9y<8J@nCTF=mV64Hdk(RnLC3FH8MC0M>G<&>mu{gHM;u9iq57w|NBR8fTN=H z@F^NbRk^987whiS`Yd8k_ZAh8QXtl1#53Z=-b1^RC63*Keb){#HCLlJ(JR8Ae|CGV zJWIJF7-?{qmeKVqrSshNtmU-DbNLcuggf_HRfI``;JOLV?7pGgpjFk)y5V_XU5fLW zOM7K&@1D_VZDH(}(6K7`D1$IIU92X?7@v1n?un>WaoIfx+PVmS3`rFELCPuJ ZW3>|D*sm) `Nb6{{%kTxQ{Wx+Kk0D;DXZ#P0szVc#OPlmw+#}X} zBwKdErjyd)aE^F)+-oS#C6JAHh@w#=n(q-=!&Rk2ORxqwE@1id;9!dMR84m1m7%o{ zjvU@Oo71H}XpCfV-Q;5(Bo;wT8Hbxw2XUS5Ta2wpn2xqtHh2$59A(Yl8b)-?>~&@V z5K|e02k5ZKJP=ZNY-pcWZjVW&wcBG 3B05&yWzBpU-HT3jJlNs|qJq_A|Wd}LR-6ABi66k}EKislF& z`FZ5vz6J)^O6pxpR+zjY(jt*1a13)4yv7*A*eKVECemu0s_ImPizh&82kP{Dv0 zdUm|E^P-Qj5yl>6kJ#RghH}15Y^Bhx=-0j;FRdsQvqs%Pna+sRT7bmn(gw%asQVf% z?2H#tNsYhvDU}SzaEd8sgDR*7;MMpV#7q0SzIjByO}XO!5Tt+vczq_O*ot%FPg-<1 zHxnkT4ZFi~Ww=&$sdv%>e*`(k!TiozArLRWB)voczcQ9IaJ(Ek`}R=KA`w?dXbe4L zT)C%n665N`D~vCiB;#C0rAu;R`yYYEKjhvDSQf@ow8) G0yba=6zOP79XBL~LEVxGjX>4I>FL?C z0}ou~zE2MYQ4wW_sfMiG-zfJ7cgwoN6%tr&uEkS+<%urqDd9I47EVwCJ%nHk@5S*{ z=JBb#*YN9b2SsEPb#@%!C%sqD63BN65}lOYX}=45KeAE{nZ17_>Z}a9kGiz($ov70 zd+`k}vYH~g|Fk6@6JG_Q2Mj(k6a=TGY#~uLBXM3AL)8}hAG9N{0Uloi1H6cc ap_P0Ui|C4s<$bi?AgzZvFtGBI@m&}_88;ZL80?rQ`+M_ zz7@iT;Zzt&=j4uw+wSenD6$8DVmFPmM^jfM(=9OV+IsY1kwwME83HZi;p85zM(Ea4 zd9jw(1Gy1aCo|RIF>nN;p=g{aIp1+&aeu~A&j9GrNyNgKVTdX70;HveQmAZMZ=+CR zI3ev8f2?2$pD6OWa%pXIoej2pYdzr;47Zd`Uy0*SC=Pd0n&8AeJ~UsXz#?DF)~?>$ z^V7p2oY;%RB&IP2*V)AGtL|ubheJ)2kHwr1=XCyWG!jm@?9tskVdcVv9uCz=b+m I!I2A z_NtMXtehZd$G*KA_6}XxfRc2%RRVPz;^^-6w#y~vNjQ1W27(h&opHX(pk2_$$6?|| zDpfZ?*tnCnq3 #8>bv2Chdd^M`--cKO?X>(5ai zR4>lg_{vkI`z_zZ7LN?wQ0GS-aG_Dqc0pn=?%yiofBJVy&nx)W3B2@6ez9DCH?4PP zFGI=R)tz$l#d~OU=!P6_^w!F6`@G*$uCHCC#Rr|3^z<)Zd0+XFPy8$DD7~RAPUo}V zLTY%~nfNYIy!8(;NS{<1bg)L{OW%E?{MK*&A|C5lvOD0NwfF8( |I=ANcW)m#shbV+@k7vrPa_K(W6kyLe%> z`rr7?w2Hyy5S55R++^*fN3$u!R+olJVNxYQrS;kccmJM3!(WCfWt~|ST^R4Xm{9gp z_h`vMYiH2+9D-oB`#r(6c>_;m+-U)RXI9&tn$~f4M (UXOTep9{^nUW+u!bH(WJ~h0^6~32(9~PGdBk mFU&Ve7-`H&V|yp|zqJ`a8#ZXMcQ}zdeQx zE??2m>vB=H&QN+5Z4W=b;W5_qAk*;^gxfx0hdk~0MSFo UA8%NOms07O>OZdKP zH!YLYYzey_*v(8v&~|__)`51(Pdc)iV#Tgmhxd;v_nh9@OEz+uA@EJzIEN*2>rAq< zi+srNkMKrTQ8P{+v$ri>$CeMQI%DdZF | zGCu%k(hVKd|2mjipYAu+)p#f0biy9JoSzd?$tJD;5ELBp&n2CEJ&qzo^d0k720SFr z{SL&VbhcCB>_KTHlf|IURj bW@xW*G`o1#2Pov_f(Ti{G#hn0d vgG;&n1$W*QnY>C~L(?@Xnz?dqGBV{)X^^ z2BtFI6ys{JD-I5!<+O>qr3GdEsD|kzwqIj-c rElM*A9Iiz$t8PgZwS4MPMS1y%3O+yFUiF#Z}13y#F9uonu;k0Nq z_2j}gjk}3*VOF)nO!k71JB+lBQGyS^nMUlw2Jk5RTL Z|}OzDaq zs2r(lmj;FhRrHxtGoq)VE~}IV(xTF978e=HkwzdfXL6H=a=92>b1g3kjIyRa_9iiX z&RuSNc {ZrzDz=n*An2qQ9Fx5dLu#=UKn$Upla zYlNAYfl#g?V3S*0=^PHBPsl$^AwX@YT#`2myZ>YkMiE(D`{B}K?`fawv3*scw@EM5 z6(M`}@~h<=e(fjA+6G+(2*^% k5OMTM|_&I@Jj&2MXj55c5sZ{spV zZ0M-7wYOa#A7%afD2(xRr@SBXOr5Qc;mAfUjAK8;BqMjfxBVr 0?>bv4_jU7Hg{x@BRgr@9K$srlNaP`gQ>xRDqD)!3;j@13>R{7C8|0c}p z(1Pn=XM;l(lj&XdjQ^?9+hy+qoU^GbEJWNz4d6CCka9Fe(v#pm_l=(}-|*g788?U0 z(|hcVaJ~HVpZZboiarB(F7ev=ymyxV<)?!ym_Fiu6bjNkZy6e0aK3h_)tU3L?L{!I z4iLlZz@kZ0iCm0uu?#TXfLEW^BZU}vM8R_m8@CWjZ_35{w_ZFO@@?_DuzkenegC7k zO7Hjm9TZ0O!ZH&QC9E-q<|haFX4Yd%Gg*df|J5wI%o;5_KU|REs)Vf<9{EKLLjKNY zI^|FO*W698poF{I_sW0#pMO_* p_$8M|^W!YnS9bg5FHt@#P_p!F4|vDd`sE8ZnbGYGX~yc0;sIMc8AW8^ zZ;T@N*h@_4*{&v6=qo!^BRqAJXu2cEJIpJ%&oG1os24ccnw)NR%2&RNA=NLk8<(+A z5ctWP+vWHCmw$;3QZCaiy;nx}_sVmB;P;mDhBq*CR&F`K&v{gTc9M^+ryI|Lcgp}i zQM{$$TL=z^036-a-SYWYKd=0!@BFs1Io^cMIP 9YB2L+Rp8Bfto@c)j z`q8>2_m2)gTK?_(K2&zf{o1-)$Ug>t_ZOh^PnRi&(A1t1pt`tX4nEPrjeb)F%f0{Z zmyXL nn>7La 1W*2(Ak^tfPuHfRNgXb ~){+X$HwuEtyfXjmy>}hfG z)COyp-Hc_I)~{Pi>V( >BN0C})GH*YTDo_xgL#UI%IzJ{_>(iff7O@fcB`^pH4iPnUETr`qn+F0H@40S*Vg zbau@P2ON~Jzb`zrcesMo`I}{ngV-14PW)C_t%thIG4ugEpkW??%T1kF^(IQ%YY#`Z z%Tlid;@GA=76)bzesii^gai7dNO)}~crLN#zqZGSgC0FT)0u>i$?dARe>K&E$ev&V z=W`?Vp-4lIct&yoilCY?L6Bk!AeRM*G8+%i$s{$njtwS~hIq+1x=GjN*gv!i#fd7I z2E~#@maBp`bBuLtrUsUAkLn @Mm;PM zT5?ZLihXb`jD-45+*4+nIb4Bc4~6Z7F;9HSyZ~tC5){-jY2YyGpsCgQmiE@6uLGET zXiahTR49$LN{P;9XipD|ch(R5bSHE@^E`EVOL7pRix?{Jy6i|yOlbM`F*J4TTWr&F zq+`Os{{S9vj)ijqdW;t;t#z+==}~D^Wm2SyGw~sIbK}E_p|+?hrL)tXikyF7n*5~1 zLO|r!*zQbPt N zR7g~n`m4HVMmPjXo9e<`rH>nK#F#20&=pTCD!K#SFvYBwcQPW5mjmk&JLx$a8v1%s z{Z+Jc fQE2@-MD&YFa-+Povs3miZ(=wwCV1?ZQJQNp z#4O&Yd1NbTFkrHYN>@(A`0j9mih|XH;YOrGL>U7GCT$DP_h8beFVp1+Jfy_4hA9<9 zT3A`&PuaGJE^?^mMya6|;D*|ZKInmx!}w&=5>PgQHV%clb)Pn=Ch%GXNyD8Z&wO>t z;FK7TPIR-2 $0_Uh_(Ye`{>kK2H;NDxqkvtq<(8$&gFC)u>s4@=-K~f#zEs)~8?K6xWAA1c zT}~YF$>Y+Y$~e(YNJ@ R&BSLoXbM zmOaNKF<6YBt4>*u3V5J|9tdAR_@1$_)UoBHTjgjVWW zWJTGD?7M=1XN_rlRH (1wKH!}BY_U!Yth8OT;DP-k;()w$T z7bjdm1AG{{t;eZ=VGj%QJ7R!U Gj_`_|CMF(#lI9G zq??J^o4@eV$IE~5*ZvBN=s!VMBB}-B@ogU*mUl3QV@{I!*>bJC<&Dp0GMKGi&xrld zOCM#ThrYIRnkVJ|<*@G`y=se!1hj@f_pLkSfBlYEO5bG*ItRpj`!m4F<{#COkR%t2 zi2(S-5E>n!{7y`G#t5|=yIZ!{{K8XPXmCgQ_As2+pF>qd5z =6$>Ww)|KB7TOCJj>EO- zmGXza;188IUgCr&x;uIdEBvDuzqkC~pZN#yla4z4fx~d8e;a3VgBCP~{E4LH1Ic*k z 4_%mVXB@1F<*Jc}_2=FxzyV$?Ts62xLq zsK<0EG7*z`$atsg&zHg4vzR_jCqi^(uY8 !PMu=(tjFplDRj)3pRG~xia_T|OBBUUFIgOBuieYfmhQ&0oa>6q#zc-W=TGi^ z>Lm_O&||mzbX@Ma0SCqz+rTOs)_|H{nrM~REYEJpU7C0rj(gC0a{onIz%OSR)*3sF zT;<5ax4&u1GIHW}StlL3qx@ON;*zB&FG%MH*Q>UJa8|+XlrdriA-zk%O_NmA_`Is1 zEKhN=`a0t9=qo*DEVE(E }HLBpxmmgP(V*wP#g^^()`uOmH(==qsXOEx{H0m zf2^)uVmeLPJ`y61)~e%H_penC(7K`dn}geNygWc-!VrTBR(c*B6-XQ_$e*s6XF=;o z#n)gbB#AqqRXkulk{kEi1=@9cRSm!CSeE1X_mdkyxZ#*8+Tt;WTSa=8j#_&e;+R%v z6sbuTEBjFtIm_Fj5KsHUjbbGP!$i Iv;+;VzLbjIp>b$P_y(A;K&o$#PxJ*?%J zimnX!$0%cDDm`7zwe6W)3c@B0QV6Rk7;uHW(Xdav+i=QKxm}n@D{lddN`tMuRfNMt zwnQbWDJ@gfC8Pk {a2BjiVFw?H*pqRQa2Pw{L& ^`ubc8(cFCB<;yY^w!J;i2JS+pxDoQ&*L&(e?Q%0cmTsm*M~AZX35b&rwRJW zb A0hi(?GU2uINiE?dPI$QQlt!ia%gw{(wM^=j8{lPtIR7{jQ#^u61nbH*7y?14 zp~bAkNAO@E73lrj#MX$iR7RERV)5>KzXc;)^K!iB`@Zj=l%KF`lI{_=rF+-z{ql_; z`xNHZPHUIkOv~SR16`DqDHCdN-ue|UmOt`NjJR9j5#x;<4&V7%Vk4l!chHim(7h(V z(NvTihUdEYd CdBPOoBsoqC4D^Z8#C {cw55H~xH#tEWS~{n@p$_7R z<1g;~jq=p=8V&_-F~C1__h-wicXu*zOG7bX?}3e aKUJRpLMCcC z!yN_l_P4T$&j(%mO~K^T(Ez2s%hc>KjHA3tPSBisz|;TYquufYKX+B%6#VuWwqf_N zU-zxG3z_NRZo}Ds_HF26$m4`8aFz6-7l|Oa{E$hK3)snw`c DbuC!bHK0d7&K zQfGH7#_|qYPnC)iUdizNgmorc7+}}}&kS}#ILhT4W%`xBj+xR3unL?dML+S=@1uvB zT|OAAa-sRwtzmi3E4SDoxH2KEQ@)Q)DBO ^CX_s72QcKMdCqN%6zEK^zVCp0^h z2E*0%9S=`R097CPg^luEfBUWF@&=pUvsry%gN-+T``4DM&%Ozxi`#*6?AkI&ok_sE z*d%UkiDWDsykEM?3wtnde)y10Rz@nhRSF2?>0h}~F8})9K-nA`A&gl4``_^=%J8E< z3k?|)#t7eKyT$uo^B#_=1R9n3&8@Qa_y0dOqhOL1O4s4UullABl;7~h(7oxp KL@Of=aTEm^|SIhH%;%nKF>S=b3a_NqaD9RT! zWJ|)B;q$>lpL4k{U2A1s<&LpO7PI6{o>{+I)_?V{W=RZ+o^f4e@RjfWRN4B04`q^1 zhaRfk7k10`vpY-(8 yB9D`!`?we(GZvG%S(cF&spAW8zXfj7Oit8`i&nJ;zhJ z2lOt)fA4>Gr@Z^k;Dp7&^0P*&^QoOIY4hG5wTm32weo8 1<)_}aUjFhwcvD$t zPiT7vhL^9EwLkg|!LtWqOhBOXZ8k5fcg>+e0>WP%ZAC+kNY3iubL0&&dn|*hMa =t#bPBkH8*^6p_Sr? JdFg(!X0@fW&`13T%i=WbUhXuI39ZWx|% ztni5o$V6%d%_bZ42QkCj-3Mj%J{vD|SOTztQ?ln+yOl?|dN{**D_G5(#$B0J)?EQH zf;KKOavfj~qne>6-i zUVJ&TjMpx`Fr}+AyNU?UJ=Pldgpamdq7__I+B00|5-9iHwUGlvC@V 3TU%gO{qDra!VtG$@GIStfL zYztT=9?#S64LHQhe6ZWGzRZ{r3UursR<=6g;toBwek0T<4rW0*-J**C+IrhYV3i}( zYr3Fey(pnQG>=DdRgc+OvnmDRp|CR>*C!N~B`ezdhg#1AcX6L0ThyLiZ=Bd>UB&$# zifw~~EIL~#DQd3+QoUfwgKfDLC_MJM?l4Krv*|u4HeK&OWpaUJzamKuzjEEsa# MTVgT;b1-%KJo6^#*Y~o#;vPGpb?~ZQr zB}>UX!nC&7==nmA^c?fV>`%}c#7Gz;1l~^_iefUKd0Fa34c12es%&$Cr>6|PZ6h-X zJzdRcPy~s=3G}2+*dFVsJ-U$>sj_lxsKW(ff)`rz1g^PlvDdtQ0xyri0E0wY0L*1# z0urnX=Ebev4(Bzebt502cTlNEZ|91zwY1$YsC^-Pu#3A^MM7zvIjhl0KzwjJJ-sv_ zWdr#)(}Lr$ZpDih@pk7{`Q#@*8LwUero^0XG(Z5yXqy4c6h6M)FF*U~h oJ3a;4Z(1;XM&BbE7Q(4F1-Q6skhVOW*Oqb6z#P z*b83hB<+^&b8jrynMk%vO7(5Of4Pi5{6W@`Z=h&tUER6KMjP-reB;>G9v;Svw=R{R zevwIc`KNnPYtWXp^tFLGKFUdnC}N+hPAOQn(u0^2%BaTUAd=402-#T!4>zaJm-V+n zdz_FPcpBSJ-2jDR00Red#jh ZqxCLJ{2T1d3@Gf3J zjO94#&T)8$k;*e{8u0uJ93Bt7k@fx+*7M%^SSE38FqUt=4ohX{Jnl#KdO$~eIn-f8 zjP#|KH_FbX?Xteb$q(oT2UmXaZogdql;;jJbb>Lrcg+8$ZR=f4vhN-)WJZ7Tez<&2 zliE7?&-&QQuz|gOb@HY%dBf+ROK~!2sPxuvAm =NQ4sUOo96oSdW;%6+eE9a=wYZOa7%GpSGHt;LvNRV_g>{RoBMij)hpK6xg%B%?S{Er zk}~`^KU{i$>$_>`;O$~?UBSQ-QfgxBx-wf~w(};G-nKP_7@j2v>7w#Ijy;cif7)_w zCA7Uj(K$ x+G9*nSbpFim+k-aub@XR zWs6FOC7d6o!v-6{ yk#BE$2S@esDex}PvhRO+`5fUvV}_*^XP*=Q3ikW&tp_7-^~?t lR z5?#<4>4y)Ti06R=Iuy==USmzlfXP||6w>x!uWYiF;qE$Jacag|&Haj~Fi#E|ul V%G&wB)81U3$Cv$dg^K8g{#7 zXG2T#Ik88fpOw^Af1I3JN7la`kU4Nnm|gEW>|*BB+kyK*d(xF-!)nGQJWrRE?Km0B z;eL7n Jf(!2l(oAc#MJqq%vt3%gHl4bS0{EGwYG}u4i+7 zuuPY|f@${HtujJM_fWQ(UQZrFgpwFim$h(qx#1BqMyTmIZO|`JY0L)odi37xOYhGj zh-%&=@>ggQ7O&0gBQM5f_61eW_*)OAp1A%OPTPjz2Xx&z{+DiO>u>_yPmir5p~_3k zI;p&)Qac$-x$M!UI?OspkSvd2aC@xr?Nc9V;RGx92=AiM_b|-8;RXgsr)wcBNu&L- z;wJu5$;5w4FY((Jy+mT8oEYs0Ui9F4yBDWSTpO@clzZ+^p}VaemjPu<$p(@Zo_&P~ z9t~%qOA x<3%|W^rlO_SyE&Q)Wa z@E$nqI0+FXPKazT65_#i#egkj-}2cae?Ya`J7o_AFnL;5{^@kZE0m`fGF!pp$_? o>Dpscv=vN(;fN&)0SlVdq|Viff&N$`riNBN9%z3n8)%vWBZSL5U9iMvAOu zB#H;E<4! Y-wkEvMuv8^^s@Idp3wI|7OEO;Y?R> zCbZ*JzG|6x=JT<)Q->J#wv#4KmNO&4ofFV#BcbT3=UH2KI$yQirD0cC__r9^d=}p? zJ{vDZ=2|JzmhJVZd@^ej3oBhGbYZVyU>xVm<{})ht|#pbTWOn 9e0x*x1gmCQ-=vtwAG*$4T3&fgX(c& zC3@Q|9a_ThSw@yp(feh~R}s>1OLAMoBQ38y&>`>rvBl#cTmF5EzvWY$e@ttvJgCv4 zD~HaTfd_ns=2N^!d%twVe3jQ+G{iQ>9z_sOmB$X3=fG#+QYS$>ABkM=iCza!@@l1^ zu6zu*x;&loo$s5J@8K|mj2BSB4lPS}fU+eKL@XEpU$0%7uxML?iU^3x^-wsfYiA*^ zLurnE5h{d9+=9?9#(id&i7cP%1gF6 e@FID~!2jqQ}VyR2qpcLQN zH%8^E{7gyn!DkV55Grhp`_h`e^@{ihU(4_{Hy=n-j`S?Q@}t&?d|7m-i>JSy<^%S@1CXRbDA zbUjGJWpSROR<>`K@hdM 0U&!pJ zM;JTc%c~A=+++U%{?cn0+F7IpoDAzx*)RJ}7^;wYW1wr9iL2K P7!mU^6k%G3uacBsD{9spC8S*2% z@E&~hN8jCL3|Lz6JuoZ>?^$C#f)?;1XrW|;&e?PEfMuSRu5EOl`|fH3p=Iqbz@bP) zUPdXkd7gN!h|d@>!l=MPy}48hy4`I<%Vo2U^>ws2u-0WX-ZarA@LbCCeW;M4ic)`+ z52r3Ut6Zkq2ZBgp# m -)|EbGi(sCoG?>Pj3m60^ zba_fvk3#{RRjT8$Oz4sS+M6*>5(vE1ebMJrW*$Zg^@lis)V;!;xB*d>w)1J)CneH+ zrSE`^XV#qjtMRpxz&(yaYh%w`MH0bd=9trl-a|RpSLAh+!JbLGaO-9#0~}5#)!F*) zGvUdsDkcx0ui4jUm(6HwN9