From 1fe2e7403c5187be773f1aa599f238c4506da6f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?alexis=20s=C3=A9cher?= Date: Wed, 22 Nov 2017 11:30:15 +0100 Subject: [PATCH] commentaires et correction --- README.md | 7 ++ quiz-react.zip | Bin 0 -> 69191 bytes src/App.js | 93 +++++++++------- src/components/Layout.js | 28 +++-- src/components/Question/choix-check.js | 123 +++++++++++----------- src/components/Question/choix-radio.js | 131 +++++++++++------------ src/components/Question/index.js | 51 ++++----- src/components/Valider.js | 38 ++++--- src/components/navigation.js | 140 +++++++++++++------------ src/components/titre.js | 11 +- src/index.js | 15 ++- 11 files changed, 333 insertions(+), 304 deletions(-) create mode 100644 quiz-react.zip diff --git a/README.md b/README.md index 34ce288..c827dc9 100644 --- a/README.md +++ b/README.md @@ -1 +1,8 @@ Projet de quizz + +Il est plus simple de raisonner avec un state un peu centralisé et de le faire +passer dans les props. + +Une correction est présente dans le quiz-react.zip + +:) diff --git a/quiz-react.zip b/quiz-react.zip new file mode 100644 index 0000000000000000000000000000000000000000..a2148e139372362b9d796fdb0fe6ee291c3e8499 GIT binary patch literal 69191 zcmZU419W8F)@?fIIO(8cbZm9(PSUYEwrx8V+qP{R9ox2TyXxh;_x<<&J|!m!0f`O<1_lFG7}y~3h|$dJ`uVN=b0B^WdLu(KM;m(s8*5`T6W)kg zq+UjZ-!1@Q6H*Lvj4ntb8uQG-xU(Na^1js+X5~>&mz!#nd^}&9CBUY};8iL94DIUV zDkr#Lodmp}oqsieQ!WW#*n2>-?#R*5)yuS#K5qzpb9jPJH84cOSZutVKeb0|5l1&DP$|pI6aQIaZWFW zpe?e&YsWLTS{2~QsQ!5}>`q$CyCYP))~kPJ<)89_P&5B>2H<(px!t;FAgemSsfpwe zc+a_NywMP`n9X{D{_nCJM7t%Pqk=FFK9}?Uxh#awcUwIJ3q2DfdUFRGYo{1#nLfsE zflr))2dqu{Ip9RKdw62x*h&gyQME%!U=NoO#gW9TbswA2M=!++643nq-tw>Y+s$1T z1%jh30bf1NECG2;dJppz32-ntM1ojE2r#K`(c_EdGB@S2$CvZ(P_ZHUPs{TDh_ogh-R(BcPZu5x?F?>2L@^FPiuhCw zV`t;5^;QS=+GXWhD}CA#=^@RUoLKq5UsNI z<-3*~O1M{>1FiB8o>@{>nNA>#&b3MNhBGe7v$F2b{w2Fj8{+Ar-*Pt51f0e_>r986 zD+`CO@SI8fR!#ws1h&fXDR?`Is*?eZQ4z_(@ zbeNb2sT9_@CKy`$i}!JL^D|$i)q!QV+J{x;BIyoMG|ZAmS5`^uN4hti9ty<OGL_Utg$xjZLj{X0bJAKfy*H08BSkn?0AkAto|^2F-jQILwa5@lCqwc1EzG-|%Or zj(*d;Y&C8uC6KqgOjocvoG4>CC=`|ewD{akBr6g@;Fw-GIL}necD3F|*w^2lj8MOA z43VdeP2nIlbQ}lO8ZXqxPYe_%3Z>t^$l^2ybMC~T(y`A!?6rc8IsZ-$jZ7FNgs^a=q zRf=_~eSSKvK5nEVO5h44hu0>yryJc`f8ReU%k11e-&uy= zlphG5lFp4{GtCL4P^=nI8$#Iek}fGPKM?|acQSZ;UiTI@{(pGs+0wFCYX{mUq5 zZNq{Dubz><2Et$&+?@Aj9VUqj^E(Fx$L!(ckC%i#$$e9-bR}ySDeR z$k;tTL}SV}-cl(PTk*q1PQSXvCNc)?)IIXK>xFHE`?kwyt26fS@v8u#kgA(lxz9!q z%F(fj;kU?IhECF24rZwz(KpVDrO$)2dw_;+zU6>VN{4REBC8)lXya?#Y9I5q&qdR+ z+VH4K^55jn>pY(>xbOdkR=i5Cp1*s~^~E4?jYVmbd8)ds?2`AYJa-#PJn?>88~r$@ z_*Yc@3ZH;Uw6L4i^Pf;UQfvVn4Zrhx4Y_JvC1)~ej&W{g+(z}FQ7?68O>%I}Xg|hXEl5&l})3aa#@P_)K-ogB~N?A-!r*^FgpKvKTFAy;1iz51dnvwWZZo0Ug_JvK`cf32HC5x;CFOS)d9tmp4^uB&B7Y{ zX5d}~oCV%1R4$+ToTa20K1MKU(JR6kgC6y@G*!GcU3|BbVLVp`8SFOTNv56Ar#Dc2 ztMack#M-;^%MAe_Ez7Gg3W}4Jdd8Kce*$8$4e|6=yf+SbtS{>Fom1zy_+hE zJmX~^`RhEoaPAhTnBX%D_+nz`y3c}XMA__B_gxJ@&odEt=)wXsld9WoNv*uqU4=y) zL9AdK$yZ(Oj%93)d&uCUrKTJ@#3YKcIL8ElwS#={hs~9zY9;3J*F)@txd+03Zm3s< z)-F~?$X?d0_5}3i(fF0x_5;6T7-nH^^}QQ3Ul7pNg=(Q%Z%7UN4ut#B)VG>HAzR*2 zjIV}MHY9Yb-2&{xKBefsJN|t)$31slN_+nPcJ@hlf`iPuC4yY{_u-M5R-2c>Tg%A~1&zKE z4kITA*MHBRAVLFkNtDKs`BORb@pz(ZHeHjP>6nUdULG0UI+&-53FP4_Z}-XhZ8lBx z!+P8s_0SaFK#QAdgjw}^a{Nw@6+YQWveat#XlnRu-nnL0@5j@Psg??kK&PnJ^DGWf z_o(KiLq!_;nA(!8wJZn9YFp9 zH2aeE0kHEm06iUVkd!}m*FW(uPE{r=IjsT-2S6`gMnf;q1w1pLz^gb z$xY|4fafZU>+gKF@4AoW!gGNpmG3E z3>3c0l!FWf5XEv)8M^XIykUAUH(FnVJA?s-|8P)%GHBPX@d~Tu$Mx-Q-*y{3#|5p! z@N6JD>=|5BDISg7A= z`##5s77s0K{fiQS^EVv9kO*z%_!lOZ&f^RGG9G5w$YqGqA?pE5H)566_By0z>oeyGKW$jw0ruB}!`L#@jkY=F} zYHbm>x^;-5Q`69sMWqIE+S>SbUTY@yC4NVirD~_e(_f_vT(gb?g89UB*nr%>I_APrM5CcbQ{0Lx zrNJI~i|G<{V$jR0D8sEa>I231cs}|hnCtsc=N^VM8+odz-Ma`W8Jx1a@5x^8rZ7mC zmQIhf5DSs}yWZKd>=ROw2#*`yvG0r_x?ZM+hhjaME~j?(Tm)Ooc-ru0R!Z-5)Gkl5 z8OhbFQq~txBp;?)0d$`hmEe78RjdMzB4lYa{czK$0+QfD2hAGH>9m+sE55NAX&_6J zz5x{T$4I213qo&;i#2j z{)3x+hi@I1kZvB$A_ zo3{>|zK;5fpoLH-AAt{e&9&y|&89Vzokq5Asq?vggNf6b+d3>mJ&YSVm2UGiJsy&ejv()xm)nJ&m|u)Xru-2Mp^QYEZ1iz? zvfq4cJ-+FTrP*XA<9ac~+Ni(pZMP@?Ky1~>-II+K3Z}KXTQt01#~rNc4NbiHP@weU z!Ax2c%rT0qyL%l>}gMLc>EklzVP99k-Q45iyPmi`-y>T09UwyKFIHAI~1w2 zTblmx`n1-~i86(u4|PE)5e zly-ll^GfM8vH8M2_Y7_Eun^dort|S!X%zt&7Y_makThy?{PS)g`A)+FRGZ}|0+yaN z8M(dfWfMcF0iTPHPv4(S=AWBAmwG@9Vj+NR55Yh08mE3YSKdW7n9%@}JD@+;ReJTc zr{823$n@$X*;AuVd<$T8`IK$d2}*L+ZEgWs+W`H~S2oB&xg9L^@3=Q=@pn2RfuL?O z!r|7F`IqGS)P?Ms<{0S3;t4=p)A5UJ{E&+^P@(B|3ljLw9@}WP-|bs?*Qu&zEpx`% z%RnEJ1){X0c5QP68rW`GbMYAgX=;abf#t8&BOnqgC!mEL<|IHm9#jEb6S}KQ2GN2j zWDK2Efe!6mfRH#4@VPSes2g6^Go!TDSX}vbi`{VV4Ri5$pm?AgV4BsFaRTa3=dJ(P z;t%=1>0PDCbMtWG{f%N!y8#;jQvT<{VKVkqtsnhOx`Mzl#dgpOQe)OdL+KvW{?n%mi{D3@~nk>&W;l2Vv{I@^VE$os=CK&w1 z_1Vuad=8ZV_NQjnhDNURrjAyY((=->eT)d5Pbw*5>x)h>-(XmU{Ln%m2zUR&8kM%I z7T6`WWDZtSXi-Fp$-LjZXT{H(AZn~U!N_oR)1RJz+4L%xvz0l;GMlD3eUWpa{93`x zlxxZ=rmihy&}wD=M$c2@`~{E>9xE&Jj0o`;FEI92Q%L+=Ayc9Euc^>OG;? zNHPy%s-N%ZudrpKJ+W6?c^TVW(Ls{i+01=HQd0Y9k>gfc)Vp@~T~Oc^y-N9jQq!3w zdwHT?h;})tNAw8MXedb4&drn?MlMSOpLI%ypHMrCpqqb7XR>@TLcuDvxm8V!r)ul# zYi0Qg!>PG@Y0(gd5`#oO91^;(-kc9A zAlTC&ksOio;f!iI70xV0lg9J$?C1Z8C;z`%0Qm{DgZ=-O3aqQTB!Z;V^g=$}a1Zrw zVe6k6hI)>A|I$|m;v_%y6?EYvHQ@w1X>VsfEimSmY0At)!%x`ZgwtJCs}dFjiF|=UTCs5dgZHsdlbCEG%*h1L|06-U-=_YF0=I$ z^)A!JN<2Hc0tGx}U%Ju+ijF(wf?iR5U=20Na>4ei2z4Mh@497AG#nQRvp+Y<$%uOa z`qTuU8(uJq(HCOaiEocW$YkFAa_B_?g{f0@865QjWO{Uw<}?0QQ@Ft$dB_^kG*oM? zXGxJhWd{`s3s4r+&2oRt{O1v2>>#Eb{N>wCK0-b=w`3j+z=eK&L{1zbn{M#>V) z31UgaYhvOYU_aO*q5Lhy@gHFYs&SfpeW~7%5($cr-8yR;H#6`8`)~9-i*-xb_H{gh zKAoBQ>9&8g$bVe+@6a)DaL|eounu5E5PsqmE>MeLNsG{(k!}&T(G7vHCK3sS4pQ#) zK$}*yVvqg!xO+bsQ_`xinsMmwgk->aD4uOQ2o}E=$Zc+oLdqZcli!tqV~B%{?0Dt1 z?_sN)-SH&7$OFwpK#s#+K2^P5cl}a^7GQ`fa?2l5ZoXp0ZR)qIP}4>ofSs|nq}=|1 zo@(TRDE9F~c}b}eVW2fGe&={;_Reo6x5WhPNA=iX-_xcv`$=~4+hq* zW-7F+lQc4BT8?tu=D$ddcXUa-fZDA@{B6e7gx7_a2Q ztbnSTCR^dNJrV3CjtW7uo9`BK7!^F$;k8XRrkT(&lAe5-Qa%eYHTO)(c?TGpu1Y^bJ+mu=ktj)q(`K*ff6!dthwV3qyD40}4;L>< zF0dVOb@p!+)P3K(NCXT;VQ$sGZQI(j&>J@>dB}re`^yZeUfZJtRU3G$;Cgy=0)Ge% z3yFc_D;Lf;#Q6ufxbHiYnp0kRG2TV+#6#SVkJk%I@cr}Rk8 z!2wb2nlF3gloTxW%MyNSGXAmCyCtzxQ??z|NB8>sT`C_wX{d)pS2oKZ!1=K(Yb#%qAChwgc0)wp$bSy57aFB z6?%<&Vwc&3Fv(HQ*2u>C=b(6odGvttN0UF|ykIoOJY7O>40T#2mW%Kc3s<9d&f|~9$B6W+z^@hrY$Ylxw0O9i{Y(++GP$Krbu-3W zw%}|qoXeU?vK`)nrEwR!{2SjOyOo<_a`MJW?cM$7nM>nbG|4&#?CM8wz&FFxxd}(-M6Oo0|8r$O-7Ov0Otf zIXGtQs7oiV9W79Kum{d<_Xl&C&oIl8DTd>5A7v+}X#@TudbFm4-DK&uTjwU0w)##0 zwNB(M&S}@yaON?k4P&VP@5IHPx@}Hy|24P@@tiJ*CK#|op)oMi%*ahQUs`lw0&O3P z%2-@w&b`{MQMSBa2l(X#d(S`j3LV9EBP6-yx`{wN1R4#VGB&2j)9*e?4GUW1g$6r+ zBy2_s?0nD#?3djdq_Kc!>jH6h!aH__z2+mx3L#wu5?%RkXjCmDP@SX>kgYD}f0c>1 zv;*H{W83IrgE_iRV(GM1-XG`M*Iu6+#np=-5$-wLM;9p_XhoEr|od9AHmy1A+4dR{Cic} zYRZ%OZX&{9Oi5`mtrL@H0iwx>K{AE%ckW6Q-KqV+q(!|W-=&*4ed4e-i+XZkys90Y z`N&h#`Yneosnog3gQL)V!x@Mk7{y{Wo=Kxe$8Jwb z)%IK8qd?A3oO-{IvgK5PJC5B-UG|xfl25AWitMufqqQinl$?0Vt-7GtEBhtJNS{in zg2fQQtxk4zzA^G3_6dkiB@4`MP zH`2=Tn&Gb>bE=ngWWWbLG~w>|YGQtH6b!eaJr1#4CHN5)-Lr}Ja4{!@d4W}uYd8Vs z+HL77{`}=1kT`q43GvTKw3O%;>nx?jg}n^0E=HlkLxz@Xhl=|9kGsb?xx@Vz*5IiqiC+M*>ksF=DWgKfuZb#4*G zGBLpq3rYR*(3hii@e4Wdw?OM^-ZmvMT;IvQpvLd+6}SBYtE1T;6U)(r(*k?E20xis zI3RO!F4o9rFj3ktt8)+y6T_!Y>JmzA)4zs(VX-%&9_AO7?qP!k6VU@ZU_+WERw4dH z*6de?(|F#}A%tfiHLb2YB~#;S)?-XJQd~@G(vv4EL+7Y~Y1oz+Z@?|(;ilWr>krFg z&M9_*z;5l)&(tvihI>2b?|G1IR4?jv*~chAARGVQzR zo5qFp7uaUb(`F1E#9?|vqB<`ee`*&8i~9qw*Hmgb`k?CxXQjx8$p-(Lffy

DYd@iPy5D&IL@y9$r_9^%z;H)qqQ*p3{jc?WoWV<_H2la~(KmY_)u>FRD4 z_9|ni#iM4WWUH-p`O_gc{hj?MCTq+q;{Q}zFkm^KWmFOjV(sBSb>(Lg`{y}<|Lhy` zPDT!nW}nBbpEah!*k>X2t>cU)1U(Y}Z!JE0Cux#zQRn?4j)+H5f8y@|VzoGlJ-F8= zdcrV63NAa7puPj!0gcKC66l;ll0dUAy#&52mgV0T6*igB#yDj?q+Nwb z2*tZid+9#1br1&_%LYdoaaScr_YEf=k``j859Eqs#)WZ|l|M0Ks^FKI0$E`7=u@gUr|s}a->=N)W)Wj8_+jo_NEw^z8P zOZy+idW7yL{+z8{SAmMe$c0?%FYAXY#vbn6#8o*+8 z0?U0`B}$;iedQg(9tK(s;)L`QdCICRqZE(4!b}RVnj60Tz4Z>GiN)R8qenX9YwtN9 znqT5V0^rr&92D#5TV?hTX*hWJ@Z+;TgHghnbt*xbb9vBHCZJ|T@n*{_QH)upJoV?~ zW!h?^uC_H)meklDHX-Cs7x(xjU+V~`oAnaZf&R;j;jS);O=@PCjZZ#Qesbe;Z~GT7 zT+AFzfB(Cwc9IjY?)&kr<1UO>v5rn@|4XTZnfpa6D>UM@Twk0vh%T<+KVcn@&)$Q|KyR!I|rYPCdO#dSObTAXCn?bNwyKwpPuxBeQPY zpIhC$`<|DSqwi0pUDz1qt=!@6fd5rl{qy7okAYcqz&;pQl^X=uKmCZCp1n1_rHz5b ze5RVsxde*OR_rq}N(a%al#7R`kKZyGB!B#%`NPH=IHv=;Z{~mfkOkP^)$0IHi?gl0 zZ`0FtK!;E4{2wC>073%933mRM0~^5W-WKRII=ky7(q_xk=`A?DUF%`V*yG3sXx;UK z__Eb(9lhq!y)_R!F3)#gzld%=jDJD*I`i0iADo!j`T*8!@UDB7Tg4Z3@}FM}9-ntzJj z6xl;3X31RwD;2aB8ks+k(iidM^=jwk%O>LLCc?@KZs_c>QM1d& zY>(m_L<*N5TQ(E+DGyvykmDjw{EA@TYD%5r`V$+)(?m*}rQ=>J>iFy$NAk&K!k%Wk8G`YyUt;}4F1(})&BHOUw2Q2W5BD#;(zafF3a%Ioz zs&mt9b#U;SD*H239i4RoZ2tJ|B766-&3_f8;j(^V(^Z)2Fz00143K+Rf_CYyoPXq_ zz2;XN6qEI!l6KZ&NRAOoPM)9!vw6!VYpST6DYTib5Nn{CqplpSD7|eNN#|e|*H*e| z1wvm}oN~~vUB{i|#GeX<7o8*WqG`!#Kn#oDs(8wyRVAM(< z?kuvLSuU!M2X`-d*wBB=mX#!8#2l4ZfT3g4`Y*?VQ~q5Gqa6$jkNME_bJFMrS*0VYAJa zwEB*+a?-~}S!v@@9$AZ}-wUt~Y7v8;bz7Y$^mVdrAg%FOq^U!i+RGTLEkv=yCNl{u zNsVWg#=1XaZFQ@xK?+P`j%mWe1Gl`*7v-7XD*vi9AObkg3Fdc>N4cl6KOT4PnqJ&@ zMT4ryCF98Vk~%7db{3lWQ}IeNNLN|Zm+bbu;*|secU)uU)})PQv+rpit!v)ia-twv z8HH6tm+`bi%K(;va`)A~{Jy?GI3K}oCnd~PveFsh`QNZ-Rg~KwITT--%X{Q ztF{0eeDmf@j*#olncZu=o{zzM5t-|EZQRcJD3@d%Ge`q_m`~S^)kwb095Z1?<(U_M z7x0F#_C=(t6HnYCh#dw~h$F*iary}Mbs3#z(4{kq>7SHl613Z+yjrTg>b z(E7p$X|0Fn>O7ae&QKd0@ivh<(Nd(`9y2gIv*m6hU3@N% zB**MP`)bGc+BO$FM`o3VRT}Nh;E)+kU)QoKg}h>F8~q1fpTq44Zqj}| z)>k>Y*f1xALPv2tm5g(x!RrGyBQ)be23*2a(wp<~yWqDC>*}%%2-7Si)(xklvrg_$ zRS)EdU$!W?RsuWANlO-+C zyLr`{+(N{>ijNn4+s1W?J#F0F9gMFQhuoRwIi6!ZpC^9e8(~NlAFomsVlifeYeMhG zv1o_jkTFmtMRYf?qPBPJDC;8XJinFIO}GKvUK<%s@>Hy?>ZWUmJOz}2k={o~+5T3-U_!}LH>71Tg%}%4k6W3c zFPASkI9bVmj?I5wF6j=zpks{E!fcZHxEQ(W9!(NY(jZrBHF9@#G-#3gBIi*+CfIGM zH0K-e-O%3DYC>EC(-EfEhmVS;?3h-K15d*$$NbV6bUe9U#o(c2lYZ!Cv}G>1A@J#y zV#)`ZPSZS8=@dD}t`T?7C|6`<#7)LK;Vh`pCXw&&yz8b?$R>>`1e@WW<%C9BS-1xRruG~g9zW#ZA}U;ulbU?ta# zlr;|>ZP(f|%Wc2Dt^$QOY+Qs)-{};A95LR+n&s+a6@g;FLpGbKA7gIE-4mm=Ks;QK z;%lZ=QGJN7RmB{PxITYKXT4?LDw65!-05X063^OgO2lSOum~eWk&w_>Yv#GSn`Ri_ z%HneEGFOHOr5Q0Uk#NtT09AvLTLy0+*G=l&Gs>dXTBb;misChsieGj)xDG{Gy?pi6 z#@^l8hm{7ZEiUW3viovWYkiD0r{+%fSeXp<;o$zb_qGIyB5z3$ z0ShUagcPx@Ca*+3-rq8J&%mb^mLh6md;Yhbc2ta~J6Nv8Wj~ml9A4F+Ixglw z?To1l6VLplNTUnNDD+f!Du#J-Zd+)WLwRBFYx4;9PZpgEn3L^DkK5*(FSEAC2XY4K zinIdqtq6 zSVwzD4KD3Mt74!V?ZiET8hS;mHEbBF4WVFa*vj6RW)lyDvyL+Y!6HrbG!05;GhE#= z3h>4f#s4zUJDHSl3|lu#-ipjgXsrmaxj&QOO^Pc7fx|tZL!gm~3{IXjhGtPNtpf!jk!lBJ;L2I0RHcKWv z$eFHhZ+iM%vG?l*tRv@@K=u6s;bv`!KPy)IW#L2h-^d85$WSyC zB4x{yYLO_j3XU?+<%cf?Q?;5a!ZK2-btOj54r5Y@U7kV0QnTtv)s_Ta@ zwB#tI40UW*C-hK9DdSPb5*`nJvrEsaz5Tb8QL&{NMVVjL^A&mp^_D*oO=5DIs_^a` z1c#8g6Et}E8Fft}8MGja-SYHx2&n_vb|jlcwj?z@Tt6Ke5mMnxHmtyj;HeerA5nT6 zP_&-wD@rOo;F@;<(R-l2 z-QNsT%b}VbZ)0+PRIrf7ui9M+t?@36s;&PJl#cD4oh8n~{j>LpjjHKMZ_|N`cR{lmT2cM`EYv(=f z%W}X-CBN{UPG5FtV~-%{Jv$_JWp*>JvZ*-&%zA$R50oxl`tFUwU#`I_CdQdWNyZ}q zH2ayi;&Y13B$T1v6*TMax1le12itHIt3P-ZFZJF6luxWZ?lx{QVVF&4uD|=ImC>a}mFeKn?e%GTL$|vu#jS>DPY2vS$ z98VOrdxlv14L)9*XAs0u0^!U{GcM7#u6Hu3HdG@l3eQr@n?+z}f zm3)+_Ql|b#W8xz=^(vb6P3674U0c_e%9a628jn8JUaTvGhat5wyXfNURzl^G^?xOEVboE{XsE<^Mj?5oOk)($PWji!I- z<`FE;z-E&i*U}dFPixwTtWA?>sdml$5(_`jJrH#52&y>6>2 z+6e~5g$>ugi=FoM5~mke6)_NE?~T6k_=h?i7TzC6>CCg4g1NZJ7L#-U5Fw_vHfp)$ zUiXe|hoFsRkxZYC5iC|6N_g>X>I*f~D-$h-z}U_0OTlXv?V-);Sv?ke0cOLj&fGFF zaFJcowiA^7kfD_aUT02RFEcMACjHsz@9{-WO|KAo<8PgO>n)c-S3TDA9Y!4wyjAGf4zN2L zsFEz2x_!fEI#+G@0h}@kIR-xqMvE`B=m5>gQ9?`j0cNexxQ!m?A~#oSeUGPeO|N&j z4~y(WV?N&^IGC`5EU?ze2ifuD*Yh(eX2B-}sRh{0(z1B*C@7x+d_Rf0-kMT+3q$o{ za^2t~3Fu;z56!Q3{07`WLd6B3QIXEuzpg%wG`j?`cM- zh4YNHk*?Q*%|>#M54M#qFJ+vn5L6C1v)+0|I&B>UQ>e4K&a>qn=JTg?QFh-_lcf`N zuS)E?9Gk3fU-Q1d7(qu3bH7zq4EAX(Zga`#vJLl$VT#QJM_hw>=TB~6M_V0+(I&x! zcVNUz;^#{2W9fDN@ItOA@Y=?885tfKG?O0d{bHbCBK$eX;BA+$ z%)^rf3p*|_wW3SbqYrK;hMJHo-Vw=8s@b((x>MA0=nXu{b+YXi* zxMjwDSVcqQtm}D4SW^AX6k!k{cEK2rp-OU_H{Zhg%`lEa{v&Il1Ftlh@*@~w?i?5Q zVfW$&Y==-GFKAeP`L6{9d9TtptDleb`af_pT<=f^q?5e2!7d2gTs*FK_CHMX+%64p zomL#s{)B4C2SmZs*vAW_Lalupff$J3oCsn6+m27fIKpRpep~~>I<(*79A>~R{>||4 zJ5z9{At)SO95EjmrQ~by2@8AArOwNHnvm^?S;teaZbMP_-eo@NstR9|d@?UPfgE1^ zO_PuUn2UAofpT6T8{#7K7)A zDS?#&r%-HOYDTb>2u2nYJKY$t^tzt5q&C6&-3?&}Mk3N`iOef`4bOE$ui<+sazj3- z>p!H0lrhgV6{~zb9g&D%ul6CUI~6lT>J*9fwuDq(Z`7UN7$E;_s&9y7N2dYjnoI=~-xgG9$Fby76jfM47WmxML^v04*87%W3wJlKM zkStESULr#JL(^J$_(ttdbTc@od}GA2z~wpuEMi;{u%+KOQ}mTB$m!Gv_t#GG%2>N0 zb<^GtKo~Dv3>bfhJD*D<+xAOql@NVtMz%#mT%~T*ZD2BD zJ<+fauUB1fWF;g7GZx`%;&avZCER|sb#;og+*=T?l&BD5w;uIQP#8g3jP5Au$^_&` zla2|`nA*9N8iug&3rgK4lFjr=={=R;IJ`vJaN+*Zxm3S^4lyqT2lhs z;_O{&9Kz0;_$sQwVt=k1*3X-9Q~!0cX_7NWo18;7x)QdMFdHc3vWDsbzRZ`4aK*#u zp68Ho_ZP&>an#%;G8LhaGeNwe^=7K>vsH3*C5244v>lZssSa0=i<7;k3f@CD6(tL= z?@gmWC!OSs@o_L}?zWd@h3H7G6Ni0A-uAki%yt@AtoU}Z$hULq2SP(M>qpNNsgr5w ztHtW-WYji*>F;CZTw6Lt(pvvUb`zVK=@quAeZSn&&I)YnpEqoI!`1(VnzA>q9ExG2 z_ti+6Qx!JcI#W)Y0;f51;0FA4R*fPVBEB1-duUce?<&@)W8Em}1jlY}<%_9IzPS$7 zMjjdzLn4+?Ku#l}(C*+*y!-dkccR;=uFKtH8Ja$jS!cb3RW=$^WG6Ia%5Jg-3ga8N zg1sG=1ILTe^r%$5=B-$^4pz_H5y?@D(*v)E1y6QM(l%RVrjxC#s)J*oOa&!suZpeM zP2s(W0Uh^Ja(p537>|7)JhG>pia+f2dZwKyYiq>t!1f;od#kS=iWF&|ZL8u_}0*oKsET_)1|@kj!IXnd^rIj^DtSQQCaO3n-udYsTHGS|8bgQW&vcH zqy!tnuNi&3polM1=8LPcnxewCJ<#l@w8dc_d8O_NeomC=C7*%t(;(J(%^~ zoP7!ovCc;s5;l{M+J7|zRBo48`Hl_^N8~gWOzuvX*iL6DDB=ZDc(faBLw7Gi*suqp z3R3>+`{#17)3X~%X>JO~+xfQL2?rhRQng5hvJi&E&!0YWXg>{mBRsfX&8&^gJIM zsaOX!(paO~SvIRu$@3s`|HOm(`b1YagzpU<`UyGHGB7LQ&iYE89I`c;oOyWdFvMvZ zv{=X0GitX(l7E8R4XCgP`$s;{2kB}GZmEfcuL6yxMdNBH0-ot5%)!mHp%C4q^k(A5c4gf7JE|!m( zx`0B`op`wp_)-+oy`G6N^d2WUjlU3D1PdeC1VSpa_Jhy&XC_f~v0vB3PL2eqi>Pcq zRU_J62nVa+XOqfqJ6V0f^txTp%jDs0B1R{^)zx$+yGfA_8}g$Id?J&AMv)VAo(<5Q zeb{8GMp~KM+i23yAj7-@mB0l2%1XqM+}ad>yn zADBxfPUJ@e0Fy>(zL!_kOb6=m(3=T(`BF6Y;4uLqZE#N8GgR16N7CaZdFI39%qmR0 z^d+rC)ckfA7Z4dn=iBO;M!SbC_5Ajkh~*deb1t$2H9a{)bF1GQ6Uq#v58NZw=daQq zt5_RXrxZ6MBp26aDP11*mx`GI(6mm82zU{Ty*a5zH$OG@4ja-;=S- z>}bd#I2K33&ts1Ga1ylIgS$IMGJ%K`p!a&Zk4{hU_NS_IZHE&ThOE&!c!eSUDOlA! z77LhOyEv<5b^U&L)Rv_Za7&_8*tD_p(T`-ItlLvc9d9&W_vD!uOAxXS@-N^RKpZ38 z+i8F$Q#+-lWcTR&I)D-$g02q`lZGKZi*?`i{ZJybU@qY0H)bZGN{E`<5V=QNHK-l! zy1{RiSGqK_T(^?U#PN@Olh{vxW2!7HDuc*1_1{0WI=Dv2JMCR)#m@m|Na}qO-$MA+ zXF%haI+=kteS2m#c2I8A8O>ii)%T|rig0Xl)KSUwat8`B50XVJwer5Z_Pv0PNjEWr z_Pc*;zg~69sJ@C8!x2`H5tRg5S|<>o=(u2TGQ9*EN|WLjOVUxnG8l+c^f>pW0Cj}> zGjO~5FxR0<9B;OkIy1UDBwlXUCFdsQ_tpM{M>PtH#-!E#e%aMW^3KM>5WL9Gcs^gi zyY&d-z;Xj|?+QOJo>2(CEvq*8EJ-_f3hh%4@>352#gKStr;;R8=h>P17X$*T7#<~N zySu%u{Mmq#@HY1YOQPnkt~eZUzj&kts=b|Y`po!n^6-YBDv)T$#Db;81GeCpLN69+|Hd9`&&DEB%o zw)L*YHZ}mF(X21~XMJqm?iCAVUIQ}};>5TTX$i1Se#2A|CYpgOLbF6laha?dgk_&c z_2Txb;#jv^>suQX4C~wR#l^h_lY-_yd?2w=4+5^RRL{1oFoxplJIv|h2t_BODyxAWL3h|g-N=Ot)o;Mg`|}hT=)>>+j@T0V;&`cd zwC<%Z>I3@n<13gg57pRn2bf!(+Co)He09P^I3r11p68U=FUKO4o_ai+O#%msY%Sn+ zEQ9D;G&O25=xp(~ib`b$s$4(4G-DG@W6PSMpVO;*hHrWz`fvSlonGqqdctPHFhyn) zj?ORIPzM5I$5-~zNct!KKI?-*7lY%vc~pBCp0}^k_%e5mWC65@nckN9^d8p4_9#6x zt!!dK(d)nLzU{%{kd4X51)B#TzRKRZY8Pb^XqHqrwEE5)ZD=r^-@YfJDRsTJh6nNS za1y+u1EfWGLU9_hNdt(E5( zR2Ol|s<0MRGR51uUXKakE1M;$L&3dB4H!#!4ad_pajOCMoJk&Ji8G$XC||lC`ph(XOgK*q}@)~NaekL^ljNx%V#vV*D6aP0<7uvD5tgtvAIh15T8hZcL)b^S1PXG@bXI#_qdx?|ZcP z+lK)IL^k+ENUbYgAGMz5t4ocD`>noq%D6uyrl*=Mmu^-k(hBm8C+Sz74ikyf1nM~CW9%Ql8_oT^_-=0)Ht4rTTZ{hNw~29b6orq-pi%LO6!OD&UOeBAl$m=X z8?i6gi+M;U(+x1;EoLYSj#bGbkw79=8#!g1e##i8D{=jubn28@8b$|mk8QX9Zdcdx zdZ?BTpT=B1{F{cTM?dILVbJlmV!~okfz|$4os*~&t~vQN+rfL%Esn$cL$kVjre*d# z7wd{f* zx*TEVR)FW2##Hm~jjY3!v^`B`wQtY*%->p@t8_~5oW+|wgHgxO3-lg6%$z+6&++*% z`rg-*c*e=i5+bEJ<{E$c>9KGWSNyBNo{Bq?tzzvHF=wcHNbiGhT*1dfD+u8J^O>$+K>q z4XFE(a_?CHPW{PHScBd(*ijxvrzb^s8xfOUC*k{+O!aji?M0~!kV;ibmeq!veT;SG zOcXGY10{qjBp!>hf0re^BDM;TtcobM`?h4E9-Wyvm$I6+N77t!*mU%+w}e9y>5{LYQe-xHd#qcc zfJ&{Dv||l^&rJ~2Kbr=FRRn8aL7b5m@z-@rrXb#As7PP|lck>^?y(vKENYz$a?X<$ z?qoxFjJG8Q+p7YwSTi5K=0t7LfegdT!F`1Gr>7OgFhu1Kkr>-z$C;`W25&io1zI!p z>Wn+P>9%|^c_9#}1yKn%9J93}6Ax>OvE&R*bHy-gef<*Yg`=m+M{OL<#eJ=dQ+C0y z(Jz_Tj)O`kJO6cPM~v8qSZ;W0u^=g|L;q>V@K-@0?2yTakm&Fg{w5B-ro)Oe@RelR zjz4VTDoe^K1oRK}6Dr`!e-@0n;xH!;6nRX_KUHC?4(jz108%dIO?nnopdpe4sm)RK z50MW)Jn!KBN7`Ta%@(_+`hw2uB|vL6D_ylDCO{>IMC!bsl81@fhH+IzGUjyyq!>mU zQv2CDd*S{LejnK;^;d?dCB*u_udDn^<`xhobMXmh7ZN+;C}!|a?BzR3C}BFqMzOd3 znWgdy?RfdYdvj0}ZP~iE(m=Q?weBHEOcCDsPg;W#&@?C^=#pL4NFqTXAC;OhEPp*| zh?X%je%gN|GB2=1^n#dVv8A?pRx@=q5mUQkKC>&2ZmR%>HxO*~Q~B`4o{Q_HlWpf2k-z=PQA#w{N*7bxT zA1tEdY!a>bA?P+`?Ah0MWW$%%=S6=0FDG5bt*T-J?(f0@d{Vny!?f`m$(_@QASE&f z92qNZb?{|7#i;(?6@-n)s;+mF6Us#_25UsPzZUu6XO1|H&4(2KlXvog{9VoR1t7=2 zAPUSGnm5zkwbP9UHumE)uEEf)ste(Y{XE?ht(H{b^4KcADj&A5&fO|L`Gjh%_(*~K(0<+kFW*{JAww=R5O4aSj{@lQeg)BP~kvw?G z(}>hDXge_#bG(97oagCb96=JxgK94OsU0Rr82h^FeJpHh8x%bfzvblPnM$yyRhdeZzqV$tD6YBkms!nBV#W23XAvy5YpNr?y?@i9UP@R z?i8V#g4|CYjjKwF41qseS7uMt6<3GowquCg#5T)2QD7I)jyGM=ue8;L)4r~KKb-M%njTF#ZJ!qd#p~^~!Dd}~04^evlb|t4p&An53@Pn(G~DQZityf!*vpCj7f$69RFe|z?Iq-2;fH@_3$@`L!hy8G|?!lBFTHkOd7Fr-Cit zR-i;=?DP?C;Amhq>lV%*9+@oEga;sd>mv4S1XYHC2ma6Av;oW}ihg6oV$fnRzdH7o zL-K(%FaeX!g?>`pMJIMT-j6{GKVnDCm>RC&UUJP7C0895ah`W^@(j1#H@@nEz?^z@jG16}B_QMftJR2# zR3LLF6SkXC=0Bs9&$meKA>-tyn>SM(Q#xK=;E*>-(%-gl@!(Mtu>yfQ1Rn;5Ln9wP?T`{7FuCZz^K4@*(mEalO(*)x8no z+-qh5$MK`Z5CIh-OX0Fo&NdBLw$@73?<6AGM2vcz$L$3%HOaTqqCSlSuw8nUN>4^U z%L`=&@{3G~G@Mn0nMGwo^PGQ;H{lcHkeJfADi+|i)?#zpQ+{93ve0%muCA^I|DPUN z46da`%o$nUED~Qu>=Ph@(gD&X*eex97AdJABeX+lyUMAbGit+O8BQ8}R{z78s!whbVT~En5DQm{NfH&ux8@Elr>~qqNK8dY=HB$RQ^?<@k;+&UO2d^kkwA+n4U8*GCZ2W-egfb) zcyQSMTmx@9$^YE`BaY`TJ=^RnoaJgzMYZpD`;Vi4b?&^yDF?9PP`RwncQzfjwKLQ~ zW|cM2knjqy&R*{+w7-SOvUhpLEOB6MTpswJdC4-rX%ajZ4LHgoFAhtVx|Nd4P{%yb z;gC5*r2QH;wJDye4%Tj&!&38AJo zLy7Xj(R_~dOgrcUMJe0#nxae?TVN{{xUHqygHj8Rj@wa4&D_b9RB66azpO;@UoJGo zV8I!P$en)h3}UYzBoZ@Zpe26PK3?sTv5GS#`dt9sxBr@gx_MVv;&v8XSN9XR-3=?? zodtP)TABjjKBD~N-hmin>zwmR6tHvkT-qv2{CSIM_4f5VwgEHgdxqS;AZZ5W^s5_D z0ay;mg;AaaN0#kC!tij0ocjN)tgq>g4Zf;x!9jK#;tlE>lB*9_5 z=J>|y$TNXBhlB0tgc64jLU7RmCCCx@p4Qx!431O#81(e!WPzy*eN8ppz3jNKKMrYW z9(ZdVcKB@9)$uy7Uj*yE%!OtG*@IC^tZq4y0*lChT#`l@T@ZSMdSv$DY!^v;lKFuN`c9j(M)D~0=!{D?10_+qZjmOa7Y ztOI%lHkdQdHi_OW@y7y4(T7$hfFZTlTFW4gCa2tntRzN)4w#d6@|Kf{x^0`QN3DKA zY=SO4x$E(6*BAXbBK)0gO)b@GQUt&V+A2G1hT0SI+k0K7gc~+dd04nQop#muwu#OFU2|^gmb140M};Pl=*}ak zgV(G7&xr(wI{536dEF_D`1c2^lo=N?fD1HVxr0)0=LFQFI}BHOJh+YF_u5E&%GQ+^YcKhK7)z(sUD#*1kq{l zKV{Vn-DnsP+_0owf4YqM51V^NRP?P}sk+t@2|4tEA|ZSFA#)>@R76)8S2!(08v55R@njGJ}m17GA2bZtReM z<`4>B+cx>?2I95@9%Sj~A;)6=>c;Vi<-4o@kiuFVjR_wRMQpLfF36=muv9>gQm|`W zL?8x}j?Vz-j^_N)ZW5EejA~wkC+PR}tOjt~2!=a~gs}^eDAQGrq~|F`Q3_%uFvuVf zN;^@C1#K%u0SGEKGQZ~LWXWbct9eYs-J9>;7cwo;GL*b!%+D!Ul22L~MH<nG&X)N4cEV zjtoUV9)RRXV6m_jy*ZgGv-&kBRow`E_@0Qyr$7>x?&Z28RG(vvLZjTxaYWCY>N8CA zk!1<<$&Z&48FpZr7F@Z*3=*Qnbb9q(vB-_Hrml3K(thL?n*1YW2L8)8xWXjKSGOu9wBw?~7wghx5je6820H3%)&d=8x?e)x*5!9MdzP?8Yzl6>K0j zSjAbW2*eh#H=q!+N6vIK=@H;7bi#NB`CEK?DTDT03$1l{y#Cs;zjkM5;&joQ7=Swz z9?(z)T1xsU;+SGEgMz@CX_CZw^gtQ)TMZzmp+SPwFPL*=7er!{@EESc2l1da5Iwy8 ztny2LKCh?eZtXPDWDY#Bb^$358IiaIqsl<>|c&c83Sv z7%n_s+=BbT`;hlPLSG^EIT=ZB|KWxjpEK@o;S!PDKL5wHe6e~4xg{1umyD-sITJ|( zSz~7jIXrdCTJ)>yD2kvLHIk5Vq4W+qMsEwCr!98m)ZzzRCg7OsZII_VT#`~F9woa7 z;DVZ^>F>)y8&LB!;kxBlv@2hr$0WBY9yEOHQU1|)Q%h7?B6s7*Y5%_4O{b3Ai+AOo1c3Zh@q?={;G6H_ zv`huTxp7ho!(C?UnzO>_UHo&@2lH#eZ)+Nymt6-8s z!a-mW%MJ{&wW;NDfm-UqB0>r-v;~rIgh_*^#t>)J%_AKmkRyN=ZBda%)`=8VC)7L1 zbqFaW69%3(UdSE@;r;ry(FAzT@cbM+dN0=Y`W>FPzWnr@U`+ei&$qJY%?Y-Ry5jQr zOeXMeUg;gC3&>Y7fz%C~W_)%+D_=4y#EHE~VecXDy@}GMiMt(1Pdp-XsYZR!P6mSG zNrR!v&Ckkq<5|t+sVpCJ`Lq|qTwojv-!IznsjtNZux_Q#gH7D(8_Mj#vRZ#`Nhl~SOfsJAQ?l=P5~XIrJ>lYD=X z?QsWTc30DMOfQqq7&5Jg1{>8sY%N98@#kPu_7&}$77KYV~#=vVEiTrc>R+_&4TXX*t4##_=`&1gH26g}PHa=y`D>%SyTmD13!T$;g!v zuRxOs{%&(5Ct_$?ndQ{nivxos(Xvmfp|t#p^80K%vny=vfL%M5z1=t>lJ*EU4Y8!Y z2#U2rE=X2@YK{Ep4;e{cw)0%rhs`8Cv-j1tZd1m3d`$}{JOJp`z7(kZm6$Az!|IS9 zfsv}1V@AG)Fgn!Yi8^%7nOSQV{FxcVo|O+NjBzFG<(py2ZDnUKw71t5G~MZ4%gf#d zn0U^~tceWRx3*%QE6h93DO(%ql=siCgI`X+7^?sgT;(4@wW~s}IYbW+{#V!ETFn1y z&tYM8gwkYVLuy5bQ?c%a@UY4l3_VDX*hGmyr-t{$GBY1O36In5oGC1uW2@-!$p=o& zZg@2Nvx^1=&_10l$Sx2MI8LO~JY~Z;mivx=_%(Zp%myM72JT#Wv$II<#X5M0?JvUi z|K*75FI@RB|3wBzNlC_PBtuXO`Z+0+h>>+n@{GTYU?1MLP_kcKc02J)d(o8`&#Hd2 z?fEC)L3&%IN>H1NeXs^MUwyP2mjyOwo{}k2VcY8%9Wr!=t*^lKb|K6T94-BikOh)x` zev>)pJsam;!GOIRPxk(Glg0tqjlLDOq$oEk4}j0oq%0WM!ZEsp8ZK~i zfLSBc1deJ_F0FdM^|AKz*lsuy7+?sVYI7Y6?>QCWL@f_1^j94MHrNJU$r z3qu3!1CPMhw89i4-GpKy0=txAZ?Aanb1;g!?UyzFrWf@%%}AW2#3T6jU^S;0rtq!H(fL>6)Sd z#N4G+?ZG@ISxiH;Yd!8a07*j;?*y5&2HP8%VF>ARZ~8)ODLsT}Htb}bpM3iLNob7> zl8~9NWB8743y9U?^b_N=kH!{*aXIe~9t0@1V2&VyS*PYT_> zX|@++>H&)rh-lR{@|23p+v8_aTMq$2wKezy`vLiCG6?I@kz`nB4Vc@b{}st3K~fa_ zWeK2r(wqVxqL|MKQ_UlT>2p+&G9Q@pl;j!G=V@;ARot3pt`QQbG`-nCTAGqTqlx<40{zr3piy3byYyK zSn1!KKDrof6Pr506y$(KBLAfa#$W)C+(042#oO-|g&H~BeXd(!HPRzY5_>CJFpSDW zj;@re#6l_PcRA513 zyA+c!oGouUCGC8-A($ekikqW=nQiaCnnLP+?m8*8)YZut3wS)vZ%Xcenz;b11cTEIc!a_FJiu; z@#{*Op%7H=FU0o7AIvI(m-76+r>JgohBCW8Ko^3S4jyj}GoPNE`1}yq&YtH&g+pI) z%MGzU1tW)MX!jm1;d*siKv#xy-US{vogWXc?RK@ZF&VC%vt3<*Z)4@V+TsGQeXSPE zSFa~W%zFBAP_qvJasaf=`5PiQ8mE%JNa@P)KYYXfZN){~^8{Z}Bs4 z9f*tyGnO9z%S%o0t}%sv?f-K14Gcndk$7dFrW|l(pZZ}EYwMiy!_*VQcBk889_0hggqoSEQHK@@ZmczX(Ok1tOhJEZyCCkiL=7|}JIiWZp zks?Omgu~<}MnC~v&rR<|#RAjMV}7lCqx0ozbKErwYWMCNR>0Lf2gc7Dh-kap*Z9gQ{x$cNuu zV-~IM`TEDppFK37rvkVI$W!OlEkjcQP*Vq&1V$|(2@ps?&8@wn>^~%rBUFtShK|S(aC+1NTO3&wVK@}VWCx#MQf7Zi z`pE`uVF=8tQ?5F$#tLkYx99a;hSwMd(w)rKFgkflWI!FR(IX2fjDcJ6&Wrj!?zS3c z3r=s>v{Qq%lia(*tD%#;*`pzo+%F6Gr=Ih6nx-~b!4Qh+kfV*HD^1a|sqDQFW&EIH z#pHdN(|lkQE3olufIqATUM)m(AGXTtG#PzZ2tqC}a!ultjC7`B3Qj1m2~^P%6L>5Y z$1Z40?_`1(@=PZ@;#J?K8g8%ey|ktRO&wI4(p6g(D%MhYAi>Le4n`BIp~zt*1+JzF zBeA*HRPs&VF%1kRy;(JFfpkFy>VgBOfGnS>30>@*2}&wg-LZthux-8B803%9$X~|y z6PMJQos!bqfRDGy>u*}9E`J6|6F@&)smnr!YImsErXEDMq{YPuMia=pX!>0C^B0Xe z-HUmHwm67HPJi6B{95?zyCZlwG8S-01Z%4+&EC!8lTN|Xuxc7WEwHr*nMH~Ed1QBPqiisb2_T$mT!-}G@JYD$Bq2;yEY;b@ zLUx(<>KH$`)$QdF_nLIx#`k4RYQlhYi8jaX&`=$583q+W`j85d=q&@k2>XsCiYUp? z9(EK~@X52>#?<3iur4%R-LlXJ)P`r>Y5%;;(vC1be%yPi9zGvm*kad-mW56IqETb@ zodKM+nnJlSpdCh|{6Q2XSLcPlVF*ldi89A~ZbdUmsE4r2pC`B9WsmUCZ2{F+aO`p# zzmp0J(TP`!HI0C0?YVQ1)CtW;i}%~Kux#}fOOHJSu14D=kV*8z_1*(U(Z}k#ZnZKh92p_&}cT@soNb3I1z`Uoj&-UH@`{=TI5(h27Tje`9ymMA>Y2zf?OpZ>GrfoD zZyuDUoxZRT5I>@Hq0dZ+#6|C8+3=rFdjS6z8oF9hQ)okr2BT0{4j}xqA(WF-It3mx zh4nD4IT2-ME0FP#r)q;dW&U1x6(&+kx|w-XmA42%Ay8CNu2+ah zpFd0sCFxZz-6@cY!`tg`p2%(sKFvisAf>I2k&AR0@<3eP%?Nn{Pe<|$db;XP=YU~Y za-uiGfPf!RBlOC_)R0A71He`J8KN$AeF&5?$)ducx4%Rb6vt}!!S3#9QXnf6FGwS! z!8k$@ z2#ZR3^KDDi%2i(m*HOQRM|5zuvi=(Zj}ovofct%HivQyZs5YCj0vCv_KKsm;+!k7P zUA9QSJ|*d!vch)FH2GaW!z686z!g`Ayc9zgVG!yxpGXk5D49E7IO6t*sV>=mcG1M$ zOI?=R1o&5~U+j6oxx@l@sXe}>*MQv86}^hm#jz%W8c`dlPVMRd8Cl9ly|!q54-HrwrGV3_1fa_oh;m*mkZXfT1Tj8iJ*A_)rtkTw};>|2W#jxzGu4NSsP4o^Lu6 z%?x9v-rQLd&C!6V+_J$Swx#ArqSVA9nKX zTL4{Tji7KgHRj>&sIlWgWWsd<@VEf{RDE(7y@qrh5XySL&k`GcquT>(ZR&XU4*CGv zfmrF+H6dIrkdeI#I5W0>=?f zDIl8eG3BbQNkqk~G7Bu1sk>wi0>oa_m8wvc{0)Y0rnEvk^Bps9x|?9!r2yQHbWNS~ zsMyq3?vo<6I_m?C(4&0A`XZyb_zh6&N&aaoSDD!)eqvSk>(M;Faq9=XoBgC)!ncy#ouB!)znS;H?#6Ss3VaAJfwe3h@SVr6VEXS4PXhzc6Ch&aKq*?s=Q&j zCEv9W%3%K1(pGpH)}A~Jl2HQ%HNM#G*{Q|1NgaYszciAcNNU{YNNmy3FqtcvvN(D2 z)zhTq}tKR`OYPoTG zh)`4C8fw*_4;Loy0PX_{m_+4beUyU+RGo+h>qCC!-2HnCPA27amHo+eBROXMYtG2h z=h`36dUp|*&c@Qj3BL=Rei{`b4%;MD6C`wqi1^hi35kEZVe~H2rEA&Dnv9lv284dM z$1j$C7MpzZSWz9G@>>+Q&StjF^|RFH$Ud?DflgKxl%q~7ij{yFnKN;}Xip$&2-SU* zBjU0#&G?1BtwmTcFO%g2dz?v|v35V3DQ9Aru6y$Kr!cj@7XJ$*Enxa#D&dOjhd7SM zziSHE83DY-!`N{j#9I}J$YXzvJ~<7&0}lg@6+Sg|)(Vo}XsBH%^%2tTODu#>21@rS z2}tgOxxt6FtNj<;s)wn<-zHF@90T{E1{hkEaX?_?`aPjx(;BM?4&ty5dzt!vs(^W} zLp<)@>rdXO`%aBBtME$`8Coa!8$|*2EFWB)O8hBb(k)c=Otn>iYx`f;gf);-z!$P7 z+8#A%ii4}-{4l>VnRv_|M){Df8M*`ZX_03Eyo$mfuyN&Fm1VpvkNwZz#EQV#`+-u3 z8b-v$+I~B5a1$?-pHWmBtCtIDcE7`T#N?fuy5FMUgn zAtF>Z&^auiQXOPO%OH`l1y#g6p!paMfm?ywKOFN9Q=iOXz0=8ic=Mf>xz~hn)(>Mx zhM8;{A!S7@fuE&yEU-kB zm2UstD}!@wtX$z0Nm4!sEC?U9HbE_8y5bxU^cW}>RgE}ycdjAXQ z%>M1=*MWeH(4tDb?EQqNV!G4zQq(z#fmFN@bf26?LR=bg zX&ojHJO6?=JvbYUZc%19{ArV3nj<%!2`u%dVR;5E7ekjp{WHn2*4uv@Va~cB1}gNG z{>&bTF4ue*q=LSsDADx@X~qRsZX8^dE`8fJz#!zHD(o@78nc|*TO?fW zP7_#kMP6ZY;(zN&f^|(be@Xyn{V@e_Eym+cg5PXhoW!7zQ0qbFJ8fR8-M`KdpHk{Q zaj6)+k(C#IKYL{uzge5o`i6|HbN6+G-OJ$j(8&iM%f|(|In8NFNq;WKTek3n+n4^& z$WHHzf9-&ra$&5W#T{HQ0ti(R2ANI{-{eju4709kYDWaWbzj5%x|%X}H|o4uIK3OhwODaeD`A4j-BN&ZT2+w)Zv*aJodob4--@!@46wwK zSIjg)neh;jK3Gc-=1-*%(4v$xZg_J4be6*}1?Cj!I3pnR=`up^P(LUEx(NM)kXprf zI}@KJRc&7Ph(nkM6pMo#X4mU7v8g})&$uI1>|*2(er1i~Zb>}Y&axpcxTWyYS=eHR zU3r=5wGS%i{Z@JB%qHK+Q7+>cz?U#*QL5jV9z$!&$(qq(1q-)xc@4EPN4$fob)S1z z*9^r(^TR`{+UKTw+_Jg|+5^_^DhI(jHXxs0F7-1JtyrZ7q5Dfu!k(y2PuC{Nwa&vI zM4BonK0jo&+zH>`@h-hIto_feC-?11NVu#PZh2St8BoUbCqE){nP$G#t})Q(l>dCl zQqBCe6Mx2_Faw7Z4*eLR6mccnlv-#pJzlan zyD(j}ZUqi-pZ#1wd$;wX_V!=p9}Dh?z)o>v8D22bq3fvKPz18pt>^>HT@!E$^@M@Z z_B*EV8d8|_{|JT4x4)GI0;$BykLIqDdwP5|NGD7AJPi~=u0?~dJ|V&N@ZpCbJL}*R z_`_bV7y`_PLNroZ&>%Hg5;xJXC`#>vQl;q!qaZ!f2~i+w(cF}?*S;U&)dPixs=yW? zE6u3xrQ+wq1^W^R!sIlB4uU-jBJt!{rglk<;VG9F0s^a6FN4>jQY?-COy>i}SqUyb z2f}A<3b5t|$;+E(4aMP@Uo<>N)f_BVRlL@1=LP(hT-P>W8<41o5OKqFHDe5dDFiwN z3(0WbYb@;>(&K(6C_jK}xl;QW`}e4tMRyc7acZryL1B!p@G$2`AqK0Opi8e;cVdDHQ|)X)qTk zy(L!(swF`xvN8+gKLqD0aOOH~eK-W|>iJNjHi8o zvORLy0Fb#q(C}L;tFr<%FJ~aRhu6i2QwrEXXDT@u$l!Hl{wWfH1|(+(vkt|ae7QAS zxcVT*y+c<+kN1cFGI+hO24fPs6d4nxj4Bh6XP_=boUx46-=_(Q$#dSCDm68#duQ3K zgtMrkvpn>Q2j1jsgsSmya2Emmrwy{Kk!Bf4I4;@&lCrvWpn9Y%XWV7zw~m#18n$^; zAs2YB=*RFe3U<)fGOGiJ!015%4&oe7;E!P1=DOCQf1aI+A`;8Mv_{viH{S&+>bJyR zG|*wN(y0-HIl86+x=bPae8fSs@0lowGRPT{Z;Zc4(V3B%@|Md1u(qArhSfO#i^D%d zRAsKA`oq(@ah&ZSJpj`5g0U3`KCMamvWxM0VvF-I42 zvOY^s-2t3+HsXF67l@&X)&cd#WkV$*3pxa9r1XLa!LDevjhw8KI1fRsN*}d6^{u^I zYHfNuOU!iv+nUj}*c#|i3#y`y7%Mh(1cNAA#N^iJ42~xDx|1IHt$)!SQH7|_<>Vg= z3}=JbK4G`|R$N=JpxKq;Bc-l`j!6sqwVc3z^yTpf^U>Ln!3VFfZS{backfV98JS{_ zXkdMpA`GCN^*?fU$^qLX^`LJ-W^vhIY`e#U5BhY&VbC}gf@MAfI?+@JK2~9$EBH0V z!Nu?S)zHRw>kW0gkhsHvH+dSMs)lFcj6x%H`h}UKD@IU-pO0#C_n~Z>>Fkr$CbBb$ zb8@NYsIs312`L*JWG!ojMRME6uBZ3FT&)-b9iZ2s5xGOrYk*cjp?tOF@k$s$!s7K> z>+<9{#_u&@*HaO1IrrXAU--UT=_y-ND>r@gA^rbtQzs7!nd#A+>-AL9L$#Fot{9uS zAVAuC?T!wIc&pXAK2e(6r2--uDRzDW6(K~}Dui{)rLD>s*QjYtS(qUE0v>#4WjB48 zbou^FN?RuMOuptL_to|(ur5NpLv<(jIAa2km99E=^|HVRyoGnFWZc!>z#NMVw6M#3 z;qqH?<4$y4oS|>@9aU8Ixt7UKGpTx?;x|9aR?~yDHF!P6;`{jJr}$91^j&a!19n8V zZUdYaURqo?zhb*`{?xuQIv8HP#clKi@1w|$KD{}-? zQ35Iub5k48Lt8MdQ^f;!=RHPt4>)=bOzgVBbXb$_0^zRpgpChV(K%ubbCfXr_L@$K zqJc*j(m+-r$pNK076A4l1u&4)x$|Rl zS?jl|rWvT3?n^7kS6wjnm4NG#4!V=8><7qR*SyV`i||EaA29(AqR4sJAIfz~?;fg+CsjTS zEqVvrdXv#|wh7JAdW__^cSWBDwkCwTRugnrBM-2Y)9^aPI$%rV?Zc_2+_z?m1Dyeb zzW%2ri>g2^@9YVZVm1&X8s{ZcJg}pUxoeX8c5%NtQGkxXX-)(ylhxW5a0}a&YYC3H zg{3^8n||UaZZPUH*BGLfGxhr1b;L@%`9FFPaB1LofkZ4P{r)nsU<(2*t75^)k-Kw| zQ)@snTl(ek*PSSfqQ437}^p86N zbB7IzUv)tydC2*D-Us+5fAojWDg6i&Qdz(|LL$fJ9z!Tel(a>-|v6!qM)xdMMOlzx)j z#we_iK%id1z(tqH<22QN5!VHG?>*9?z&Cbx$uaTdUWOnVF9{Y&9!F|P3Z&AVP2ox{ z02Cs@8>9LiS2!fmvhoC8jJzrQOPyC@lQeZDw!x%SgYyn%$KLAkd*C+pf6X+nvL=69 z$CC)VeTUzdf|?#1)D|zEroP_lGzsCT|19kau~D5lp(QfWOfnuWxS;Sz8MyE9rJl!Gp!w{Kxcx#{V%~aERutlp!TxNT+CvnUUcr&=&Be3UrjE zDGO|1X`BLYWM|VCsA=w~is9pa?E*7AE0r7o$Y3^>DJ}nORR)aJO%CJDvZRm8Ar+5n zbrDH6!kNep0`Ot|w+y@Xt6^0NXzF+QNAeID<{k#7Wk|;?;z!qESTM-SCYuS+Wgfhh z+;)=N>pV^C?gO?z1&l90U}b^V+#fMnM<6o3D^sP!wappG7GZsDWcrW)1dzP_+dSdW zJIn0bB%M>nL*h$BGf`lAX&2Uz_E^%Ln4au$Z`P1QtngiuKUr75-Pd;D9SX3)!}O;G zLGUgQ!6-a{SO8$Ng(+f3&HId?4rdyQ_|RZoxR}F3CRq~3Sv#(WMxNMXZ7kHZ%AooX zmVHc>zU1AARP@h~ML_v_Rnjvn!~8M(ZKJ;0iI}(5HDP@_p-wK#tU_*_1`#?ZPB#2K-(Q6RHx=l*o`DQ}olBayvT_!r1Z;`kJYmec zEXytp{Bcwcmhw)a2m;OiFE+0f%Bo1Y`=47N058XvwyjI zct+#aeg4W;E~(PQv`zN9APox_C`8F6wnSkRueQRMuzP!;{Bc1UVeOLW^N}J`)&+0+ zR}Ww?ZLO+mFIho$|F-P+g~8$`kl`%yGyzfz%G%^n@DWBG`k~D0{QdtZ8sP>B&b!>j zo(ledSz6K`nMV;KrwO869NCcLpU82~AgM{FrwH(cleYdLgUJPy+%W1TqdOhZ=#Ra& zVTw9MQ&J%*01U0*4U!uJ32iX+t=zv-;Z16`4OsEj7EP4ul#QmoQ8~Ja0s-kH;wqnNGY&> z{RiQp%2q|n1M-Nyz=b8=JrpFxa&MKd&kh+@83+UyU>Cb~-<}vueia%C_P*}Fc1X}E z(VTe;(Mo<5=56ple(d_c)MNJB?{`2!kT!oV0Qv_-H;hpXWE&V4kDp&#v~{q$s5}29 zRIo53iBn8#L367>FHJJ-I(Mq{*@kdl(Qr7^2039PSfmIFCU>1Ai_xr_*f7w~Ii~Q0 z6FyNM&Cu*)zSmv%*m`n18`8Y#c^?*z=%dx-anh{LAlW;b;8jA;H)2!qKL99qN)P;H z_y$BPL9R7qkmMA=&k)d&+vk)+#gn8>2J6~qmbrl~sM2DYy@!io*4ckK)?d=pvGVRD zl1fNwtG90s%W=I``7Rh;fkuWxG}CGLDNW!-hrWM_!jvPoj^D2qhMS_-x^+h8XAP(S zKD`R^Kkdjl0||kJz7LWTR@?_p+5rtx6Wnk?7)m+TYbX@$L{c7mZ!tLeUZj2Cqn=)6 zhi%qym++?QU6e>Q-{s+Vuhx2&WHN+>Hpf*KLWg~&@gAq*{(4!RCd)Gd8yFxN)yuK+d`=r_yNzRgOd)`_=d~*Ohhjh*SMnB&mvB zJckn4<66U?lUvwxN|+5?>h?A(87WZEu5&%rUfsI{{RLL`B<2Y@s4X4`ImC;h;wh=W zKpQ~Y@8uF`1o9&ccDsD3a1th=y<Zkb>N&>}+HX-S7|trWC>$(!z`3{7 zm$`C~2m2GWwT!dLeP`)?~X^UD}o0rY!&byo6|3}j|a97ec?Z!?fwr$&(*tTsu znb@{%Yhv5BZQIG0dCq%&K<~9zcXi#Ds`@L}^BLp8FRSY;vrBYtQ#PIIiflv|(@RbI z8%uNp39!kS9mx;$=(v0u^sFuHELEJjhQ;=z+9%Sh6_~TuTb9foH8a7ALWZiH8l?zq z?*NP1Q-lIoaVKsF{4|Qxg2#A(OD1ECXxmYXs4bl>}f^WAoX##-F!>I;Or#7El~%O? zfg?AuGXDN~+Ln$3=?fA|-r<_K>T8mqpWble-7KOwtkd*n4X z&lKElSe2ZP{k{O02n3M%o{pLFZ0pN~&Pe<{a{BUCUHd!7JBvTN{jNo`)xODbF%aIC z&-nwex^wZOI4=Zo_t^3&Lxn9+WF}TSb>Y68uwn_0R+ytM#r7K9d9u5=+n}-AzhR1t zOnpp?uiy>)tFZ{SLTs_mZ1>6eB+>QlBCG2bUerO}>jM9u+sag#RxDSmJ<1vO+XV%9 zKV@nM253bun}ob+670PZ?xq7XbJ;HdbUTp$SO&&Lf5aa3?vaOJPe{8)eLTIqOIjJC)<(%hdrK+j$aJ)Rsfl^?&H zTREKBRN#in-u$mIZl6`M>9vm^x*DvXC{JuhG5Fbk>NjO=GEFZib?4utW?FHz0Xs1b zZ!~)RxI!c-jSaZb(0fivz_Vy%JM(f?-yS<}J*L7Vi0YREd>i|eIkxG zrQ(D1sK3p>XMpU<7{*NX0K>3kFX`F0602}G675>`60PT-Ccm)OB|7C#w z-Wy^vVOxR*f!puaLIpWW^FBhk`ohpEcv(QA)XCgGqT3Gq=k!heVz{@GY!dK*a1bQl zs3LW=6{r@8%X5%gVVxOah7ridl{W+T#S}SLJ{9;t=!CXML>{FIp@P&ZB^<71H_2qp zB2||G9j|(G**_JZ-61a9E`AJfr$PPC7PNu3bc7$pf|ite0?e0nZfH7iuM`X>E~^V^ zXpxil#_d;t#0A>C`+%@*`j4F+_md{Z7um^ia^3bo7l9{3J*P-)2#4@gMbXP>V^8vZ zvz8dD;!UXjj`d~xJY__&Z}IQ#=4pjILx;lx29e7?0P!x9FbUMl`N^t#q`nA3{v{^q zF?*;@z9l@Kvwqgqx!Z2yvDMwO9}Qay$Wwr|=Ke$Pa7O3ce8|feGzT<Alu0=PVt^i~C}56Z~IjZsp^0)vM3YDLtS!osr$k?k}PA8YHe) zFU}66JrsoZ^g=G;=ULtMb4$ef$P|&URIf=6 z2IpbOZ6g7m|749re;~fOz8_uU_`l@DF#|(&qD9`H5RulXT&@HDQyP?GtK?XTN9*)5 z=j{8f^XYG}VWtoXD;WORgzY*qH6ase)pMOMvAjVTjq47bWuMt?G)a(^0EfrN3s(7x~|g~RL1aYc&PM}f*^o*Cfw?d~#f z2v0h=#8Li5U*o?!78KWM^yTExJ~#^b#desmZz(rl(|mN@wLEGM>ynT>`TR3t)|}U> zUhUK}kNDtC-X;bJCF}!H2yB!jDF}V}#(D~aTSM>-enG&^slI}y!r8RhcfTzQ0S zQX`o2z<=-y6L3pL1I@{8U>bNgI5llr8|8H_mS}!v5nY$@=#T%V6+Z>;Ql# zj7{*?rwbf zsqryE8b@x?vN73j_up13;C6bSifDN(@(wIE{(jf~y_dxRubnjze6OFW%vy9Bgk;rKflTIONUDPd2KsPQuswTOz<0yepU zQ(7*uHLo@;zYQ$_M;wgpPU z`rV}H=Xpi~U+UVQZxsBs+H&7ivDrisj0vyd(U-ytfGexSIb}VPqm~C$a*q1e-rYsE zNgDg1;8UxASp_R05NpeY0;Yg3vhK~eQV;+ehX~hFzdUkBBUXlQ5Q#0NondZ0ejbCI zM{Mo#4S00jmzo)rp86EC$03!6%F!7Z5~~5!kE~Gd*m+y1b;nuuEFaS!s$kq)GT5{~ znOx)8s3<5yC~}QN#bRy$6wc| z1}a|{t}b8pO%ItJfgW}e>hC!Wp4LHw5Ih>Ilsy?csoBMtB|3GTZew*DpMzBil&Y#O zZfwK~_l^J~6)FM1Au*!pu%pg3fwnMdoxfy(L_>ZZFgV8b&)IM5J1iikTOi*jXON{A zg8&7^1p=i|nu#k?GAnRMWgy=3f{yl)YPkSA_-8eoR8Ax2hs-6CVmPAOJHsE*LL4%- zh>WsG9eqvcZSB1QIvNrb=)R*}O{CnRC-pTL>@Xpx7b*|j4L0n;(SCfWZ^4D=T| zBaf_0-r$BAIS=2GbRS7l)~9jHThx|Y`SH#u0lhNe!Il~^lnRKl>B)v7%f-Mb%=XYUhaPhS7v^CRj! z2X%^D@^&vj;jVjId`)L07H!ig_b&V}B}B&uH)4m&okSYWYq(<-vNLPD<(DH(Eb&n$ zS&q9^Q0=6<^2c5I{8PNNV+fajA*>`|VmAR~D&RXJ@Je3gN1(8>N6nXlYH%og{&j7^ zw`)>^GOgk`8((pxvRK;2zq(mklXC$D1FW4cMMK6VWCG_m0%O*aZU?GA?r?z}IfY!! z!U`j*wE9aM*Mc&($Y!gq4Mq1oI|m(w(7cVH&Rw3!#6>5v{h)^H(sO)p(IW=POw=~l zUp$@C&fVTQL^pK(2)cf`;WjV#xrz@<(rM<1nXwk2|#mv6F zxrZq+nYfvM1oV|PktJRP&};8TEeDyr9Wx3H`9GSQ}L{Pl%DOs$(+sKa8RdIv=hTYG9R{i4M6z z^Fl9N#D$`!Basa10J5vKiUfAY>~4UAVNU+_6f@kSPV?`QcX~6uGp5jEWa<|YJ`#Ow zkK8kgzP5hzdxbgscjXb>Ygy6dTAX{S%eSybP80SXb7lu zJz9Vv_wrKbTWlDWxG_aD!d{rqT;Z;-ebmysoU!tvgp9=$TpB7p! zj5R%&I`9lC%MK@(qM=hObP|HY<5dub(&vLEf#;YQ=i`66<}qbI@Fxer zj(S{hHs!%661hcpvPXy41oVFeXcZ4IVAqE->g@cE2%??JlcKBHp0+^H5`6%(*UJzE z(}NYqmJUqe=P43!Ck@XML!Ld^RpN4g*)J4FmuPLkf4!558~OH?e=qefz!3ZJi5uF*Eq$P*1Gn zZ;rP1XQJBO2JhvMa7K7&3d^SU&VNBX2cP^$6tJfy+{q z3laO|2R9LbZ;(LK2*OO8iR1CSSpB_@jXRq#egV4Sp@j*msv_Sq0ojI(e)W5x8hsa+ zqt`()UrVUQWXr1?r}mdd`9HR@)+r5zR#yZfKBQ3XWGJ>x$EYS%YZ-2sAz@bI&i*)) zK0m_fE0UkZb1Lk$?uasI(Lp>>7VC}MM0N%E53AcWAEaL^_D1(6K~&oXg6_TD<9n^z zVJoCS4;z2?5b*UiKfcAP=BP5p-0G3S&N?9Dp3&C!`k~)vO8TxPSjeX)-;}k2P(Sjd z9EXr|o9gwnHF7$e?uC*O@n*v4ti*QoAmKD4sL|I(ZS14Ry^3pB#x(5IM3-oP{xX<_ z^JxqfP}1QrDl4+X%|AR~{|YN8a!N+sO+ZavxNv?U`B+A@dKWxNvf4ztxj4+T+WGgO zOiHWj!56yC198I@SdXYVw2fOev^!ztZx{lExU{o`T+*|uPpF^AW%Pwd7B91OT}f8Y z2Zg;q$9!JjUiFc|Yk%^+I6M@HA)=rYVYqn#i^@b(IE$`OgeMv#e%Q5WiIktIF-TS< zlG6c|zW+qb^{mP%;j~;C`~==u)-_;n>pGT(T8e4mR?#cjPO&er473Y7>5!%kb+x}C zkYm0-F_4oM^Q2yjNPYi1$i#HX@(1-sq5^3@(iSyx+!w)taxI=uCLXI#+yCNhTm<5K zQY5r!X`iV`C=ueZ%Q*1UsNaHr(Kd=^mNPVzsVYU+i0xume354F6#bDk5RZALzR!x7P2+*Hk5=B`=~}4G@a(A4QyCM`P7wFSQ?=2?~fPS;=4F zaz7SOmiPGQz`JnA4Q#^H6X3@QlyUBg2ZKl+)A;YDyVAHXL z;&4N-w@AwCRTnD=cmyRJD~Yyqps zSMKO#oBThgiDiPOB8Uyg2hENG$RqlmKL__-OYY1Md<}5}nx<{M$ZWR0ThNYqVZUPf zH-Lhxnda0Zvy8Ej+%Ii7hVYJ~8f-`D>%t$L?ypn#Ih=!MLJah8q)@c0*nj~32Ki%!&3MBLabaeH2rUfey)}iRhiGCS^QPwJcqg>|OihOQ}O*hKvXL7_0VXrNYri@J7 zip|Zo(hz#G6L5ZFD-xnb36}Zvw+DIxxLi-^*JXb@0yy9o?nep3%m*Rr7-;W2@~Kxm zIPsyFh-|;93M+RwW;JQv(gnG}E-JboxnQ^QZzx8gt7I1CB*3DhQNzyZbIwf_Cw1Q3 zZaM|=esElAS|%WeP(rxB2c~`OJHtl9G~vmDc|JbqYQ7VNHQ|eDytN zS*%ux_c@hLV`UO`xN8VIvJMCJVbc{dJ$<75;`~Qp+VUK@YF(s*3oDA`b#t@TLr(gl z{U_Df+#N$8bm1Cy6L|aARup!OiShz-=9Ho5;+kavy0&e){k1mweq>{pwH0;T1Awd6 z5U)ayYATjGPX=^(Bv0Nsage)LL;8q*rDtlZ_6>GhB72+AT>;p^4992 zEJY#|V&7Kc`D`W(LL18OT9=6bj%sji+V=A6(lWR1IN^FJTwqvrJBLBF5ew=7TIrC+ zM}&`a@_Mn}4IJ^-hh2wh$8YoeGFoMqJ_mImYp0u}$4){JF0igA584lhQ;0D*U@$A< zX8Bl8Hc2Il1a#y&LbTiaT>}y~m#4d4f5}%C8|DeynnHWgb9sSh@s?Rq%}hhC=Yz!K z*1%f&L$00I6D{lS1EvcV^b;XK5L1;DA>z<6%7q{rb(TtWR4g@SRu`6npOzyBzjx%T;@-dT`<*LP0kf~rSEP4;&$$#zMnC*j&3lP5*S(VmMV193(H-x(m>9luRD?d}D{LMw~!mnmH?{8p2ysQR1gcB8{o2$cl@VD{y z7ZBCUHwWDMeL453FiPLA%d_VdhR?&-uv;QUcH^&>HwuN`uE`bcPrvTH^JUzLTD%Vp zUEQ$Xjtes=E85%6+#6{5=&HkyzqflwI(QNEzwbU=E+aB>c&EPTwRW?!x2IN3 zeXpU{nIBD}{b3;*@)S8KbrI-eRU>pz+Ee(FLW$%9{ENQhWVvyxE6-zyqxtUrt<>^<2$Pm6y zawo#&POYony-@r~8V}*^%5_)HbcFFX5Y`3VQbeN*$eoevnBIIjv)Az&~0ps`KzDL8hB$18sNRW`@5?M*T7C$m@2 zqagOG!~kYlIklRKxT3b8pseQy{DPI=*p-6X+2wH^eh>FX3NzIaJKNZ24R?L`2Zt%}+QPvU=sdEn?vKx#sA+{Iwn0-$Q2K=|e1CM^I>$HMiol zw6ut>1*_J154Fm8AyqfG5yJdCC_?e2n%m2dGfaATWE3Yg9l!yCK{cUBWwOLfn_0R6 z32-2=2uHSs*|Vu2F4hSWl&4cP(|K^91sh%#a{Jgxc(U6bcj!J#rD!ZMrPHx z$}7^4P`aRRJr6kpx+A_%MPR8io+y+KnS#jHOc7&5lK$aKVQpZ2&F!J^9=GITA8T^_ z?w0c8+K(7@$SaRmVr?VlU+#E-&69|pmxk<-RM%)l{q`skR`ogi;x}6V^WIg61t4p% z%@#kSKgp>!Zr{%_dRE>H>gA*^e%ewkM$ud9HSWQ&^Jg7vm_N*OTmZ%{?N#Ipl0uS> zY8)E%XBle|J+i5z9fGmng|a{>lgGJc$G4?MuZ+REqaS@?Amj?WPL(red^oJ;2pmG< zk}w$g7A(;EmyU-i%}gU+>cH*FV0guE*PM>K6{C3$4BAUD)?^D3XNsJ}<)g9A^8&02 zL%U_71|Juu(c7NLrC=iqFfG1AJV(@At)IA3c}!X!Ie5FDUtP6c8iZ40!MOs6lNWH1Skry!ROYJW68I3f{}a zG?HOy-gB1X-5+t#i0*MsRc>>rtVANtYp;%BoDkEl6TSN)SJpsD?!`uv1Die2unvN; zsVeWp^4eV`1D`iI^fab0n8FUOI!8+hMj*cm#GPG*OxjIcz@euV*>-`b``a`DA@aG< z6sAg7bk!NEF<_3<5O+42+8}1p(&pmH3-KrruIen@&ba%IaP_rZYk$HxA);N5x3>~& zlq*;R<7Gtmf?=^3;TSE zmN?C#Gz;S$%_w#l9X3y#e#(U1Qp(6R13WdN*KU zH_UWO3X;Nea{98vtqFtA$SP@L|KMCMa7b1;>f$cxS~NEYWD9##pU|5szQeDRK$mfDcB$x5qE*u<**BEcjw)gb>()1>jzti9t)x@DkvrACR8T^TduFHj0U|9zUXVK)w z{hk^d-GlPIA7v}Dx@EH2bPZ)_$Q-mYn;+^nd*?aY6+t)wu|hm1>&5rr_e&o2Z?Kwt z)C!p8D5(SO=^6a(U4JkAc;l8o@A8Dd;%2eP!NBaY4Cu^o{H>EUAH|YaGdY@bUu&e% z7j*51%W=U>#H?*miwWZpnLajGi0|VeV^pWRq17{V6dTvcb$V@weNI|QFssa(If zr^%1uT^C}@tG|{AC=`D>Eu40_LgvA6Ck^(oy8M*5Z|JyBQ1>47u-)J@KYD4B0(+gb zVSKy>6o36&NmK8MO;hxkIq4Ia7{>E!Ko7sF275rZTAfL&xu;XX+Vpu{_WMHgPGKD% z@jhHk z&)Na>)zMpI2B(xK;#$|;V&aEk%^9hAr%U|lDm`MSl@&pk3j{{%gt)1!}o}~UA^01VMC_V#QwWwSq6P6-e)$0*zP^Nk5=|FRTg`sI& zPit00(<sAkbYzY?x@e&sMoLtAfP}w< znVP^}5N^__W*TLgk4h=qJv{LR!*&8d#?UkXbEXANTyL{|N7F(q6v+)<;(RE$NKX6Lyyd8`GAD%#} z0AB+;Ze(Oh>}w=ahLy&mXqcd>Sc`|^9G_#_`mXvz zP`elmUlnK+peTm6KuQy$S4$MHzG0K zN<{NmA{30uzZ_NCC8W8KMAuUFq8IX0^yAo>XQ}Fx3}cS?h_7K_!?hHq7c-$!lC&%k z)8MujoIFotS%FK#BFT>yIK&sqQE;xZC)}pVZ{k%w&Z7AUncG3FU(R2ev&Dy zWdrkQISN&BB6LW&3N6;?oB3LQfg-%@`S$j2k+sF=QQ5lxdbWd7E@7f3E5w{fhGH(H z0K>zQmT{E%Z%b`hXWR zBP4^@U76M-^f}^}=~U6t5#KarD@J217)D@8*4E;%I>{0Nlq7!+=5AW|QMwHzlgU?a z#>t6XQu{Y9QnQ&wL#r)I4C^u$RKvyvHFw^{ww(ZQ2x#6wxGGLm$yR~-p)VC0+fHSq z!e~sY@rks;Oc9ZF4a~abo;%0HD&&l`0hJ2MD%Yl^exBct`rDEymGiGPnBl+^m{=MI zR=fHi?fP*wrT4)ZhLBeY)(413#H={|7STKTAaooabPQz8>Xs!(Qq6T3NrudSKiiV; ziM-@~g=hOEz|*b19gOFlhb^!kGymS-G0X4V5&JaR){)KJ=Uv@qO7XC%$g>_d4p%+l;@gJoONl9csygPvhO-@x?w&(Td(o)zJJ3L z_$fP@hkBxPSWGG~?VfZ>?}c#h34p2!>2?+Rc4WC zSvN4%ocq>wB9iach<74GUNMSlb^!u6hsvbkX#%+q8IkfhY$v^mXH@##1es# zw0`+|c^XqY<4I=IsQd5fAux?N1{)p*s8%gh_{_0%q&*q@3sx=oY}KEFl)yie!X?a(s3{rN?Z0gq@A2V8}O@ zoJEa>iH0V$m_Y$8ot_#%u;$gHHZW9i3eLGXF|z0X=~pm|r|NB^Y?NZ)#A6~$w9g~qMt-cWM?*9g?QWf{Q3OJ(UU>D0 zLw((0T5fb|&hb_Clif25{8`&9xME-#7`Wu{0M3kh?GRe00kEHWKZbtzCz=0zfuiu? z^0LmBvN7$hiuD_IM%>DC0H$8IT`G#wouqLwlaL#0TS>W9Z(+-!>TtoSfvD+P_Lq;T zl>W1W4GR|Bzeb%}K+7#*Nx!8h4ab~Zc>;T4Q2=U42v)(Pww=_`&D;C3kM~Cwm#+H_ z=i`m-ljLELnKfziul{`T0%=AQ#`@dc{`>vmk;ey_9yCdyHr3U8Zjpc{`xud)GD%DP ztU4LTs5{VhB}fm`dx6};GFMW{>AxO|c@HmF6!FBkDFJa)pR z(mAna7Qf+AZka`_@<-vBP4MScahw4~4FZf{fK?Ar>|`7ipwimlCAJl+<2|tR(pCFt zX7%6pBuGNo28MV&f1X>9DM0ww77V~vaDu8V1t`xg%TT-^8fG_9%mY+f2hk~gIhkt} zya&-7=-fX@w{m1!S;r{!XB}7$Ghlh^N8X##p7~Cz1rRp`qRTWbb!u)%8JGh#sB{XZ zQlZcoA(aiHW^<({(I9Z^^~t<2dph#jfbl`!&$FBy(CEqPPSGEnnlSgZ80+4^P`y~_ zJztCFPMm`X700(mXh*v`a*{Azx(hC=;Ig1w#4D!_z~<+XsiqNqofyyp328*f^COL` zO?BgMyMVBDBX!O_-Fd;`M+i=P_YbXOi=R-Kk_AIuH~Ck}z-%fA{{!mqOu6&Hp_!uD z=io@U4OC@K5|Y9e1)cfLzJQ4q60Q$lDyCG6nag*&s%odwR%ZV}^vs=ywbljSXPgmr*|@sQOB@nnJl^yTPpI!hO~y~+Ul(r#Y!UKp~)r9*2r0w*ws zB@itNPC`H?tb3P9fsZg&vuGs_JxKZ7tWMN#zQlGbO!<1T1yCR@ns@s0rQ zAh$nZ3sQE8))auIV{K6@W31)7aM{5jpQ*noCyDrXvg)7yKn&ilhJLN-xKKD{ap&NuG9C*9rme|L*(9 zVr(=*qm&;o8wH>)IBN zR^NXpB7mu7nS%o@zUcHMw_qUgTF4UZToqsh1+ar()> z-BAv>bYylc}iV-GL0rHCj1_e>-;6YPGv4HAA`+71nsQEN2x9;!bj(J&? zPm~s2u0DF4<~_e7d6eBSigFHB9a(y~&_GaSXNTQp-#9G1u-Wl6 zZh9>Ic`VZ0j^`MP**hu3_LO*o!Us0D^2{AfIyHqI+z;f)*F#mN!2Fm%+JH9H8W0pe+zPTjztg>bbpP- zZIgW3M?1_oN!g|L*SKyFY;cZZoDomS8U)Wy);1#drx6!Xak9fzPw#N>h7~JWD|Xop zp3vqyeSCTL*@UcAmF%$$c!^S*t@c>rXiEqqVHqpK^9O+xfuT{U?OP~N88pnS%?~Eb zS)aULZ34U?)E^ibQ>+_o~9Me7DG4u$FBuEzP%_A7Vkdh&#*CROB)z4J` zI);sRn*hxVxca8P!x&WS4xx-M5BUkC7}c98P}3wrg$j(ybymxv5!&~Cm%O(OWadd5 zxMNH0CH;!hlQ0!i98_W&aq+a)J=uA+u*^9kY(w zzpWo*9L;TXMyaQXONO_W$T6lDCxgHYS*?H2f1-^zTFSiwT_avHWe7O+i)=znhz(oG zr4{Fl984iap*qVFL6wMq2LGzn4u@}8x#1Lh&q(_ieRy_SEpX*ASvF(?X<0PAPX*wC zP~%W_wnOzw7!o7Pl18z5aIS7jlx9fRnWX{2$L&V+l}nG<0m;^|{eJdP&ctdA#rc1f z?KCaaYg`LrIQ1mL1yf;$b4CajZni*)Qk*;`bZTUt!(~;UmP>5t?IOq^=FP5(A2{B7 z-l$;=MA1@(M%XxG5>#TJ&}ZsQhv@piQ3M%m$kS}L_vU=-fRp@&>h;{X101?)@^+nP z#m;(*DES1$67f?%l$24yzd2a>i8lP~CDz4`` z?um_%hlzbD_9fbCLO6{YHhCdE_#n4QrF=SRriuj!oMfy;&;A!%S@d8~e+!IS9kW42 zSzBd+QjtJJF9n`pSv~(ltKsdJi%QqTJN(o773-;G5L;LsiHTgv28tbcPd)GM!l7agaD5=(kwqlBMbV{v(+wSaDbf?Py7uYNj0 zVfZC@b;ebbCKq5j$T!tdP4;{Qv*9U;h*=RyPkI9}B}Ztr`aW?k-DqFrD5<>cuZCA6 zw+hba$RyE4$CZa<2D{X z`{vsOl#QSFEEUk%6qVHuR8uHYL%gU%meZH%;$rj*FEwHUU3P`XwZCc$Py9_~-}4_8 zO_+%o-87Ugt!INskDZ4Du(}IUG}pV=NJcG$33*jk<+>4OoNEkUc4l}~A-RFF{pp0I z!UR?tju_Z#>jrl;;-~(sq=g`I6_$Doxs@RmTj1Xx#;0G7)G0- z)(iV}7r81Gu{mG6zhc$qwe04~sKb>Y{akjJmnTn>W@(MdOP(RpuZLO1V_z{m)s%hi zX~*>Lh&MPN+9ZavI@E`D(;lm7Z;a#aGEPy7ez+1@bAcwsV@b>JD3+JUbGSb7Gu#T* znJz!?1=5Z3xo!ZCu<<5e;m#VYq4K{8Gjie-9H($ABV}9?{H79R@j>DJD|qQM`yF=f zx7TMzQCU7^F)@j^?GMHdTA~F=fsu`S<7{2BwQfkyB}J{LXPp1zcaKKJYD!NGxe9~L z7afq4e$>fyNa{g|-jSF1b*lnF#bn`xo9Oe|e_r2SK8jpvo1Qv0+@8hlf#NQ5_vRTE zw_`n-6I?FSV0{;?Qy1w#N?=9fF+n+I@3S%sT=f2($b)p104gYDRX;*@6g(!{Qbg;L z)~q2*s&j_DNxsWgpeC%B-yJaWMFh%a1 zWKr%|QhWUKu7}GEOtq%b@j9TTV;7s1E6|$tS@d}=nLT~ao~CM0E%pS05V|ByS?Lmd zW|>*haVE?Zcok8hlUnC_nwNa|%iWC#kfD;l1nu1XNCws>^bc z#$FY0mK=A2gn?ZOaa2zm?rxb#_KUhVT0-*LX+*2lD<0l43XNE~2`f)9K|kZtjFKr5 zR3fM0v!2(4xip+={Y{An1R9;a$XGa`cFBPg3VML)W-8MU;I&0^ zG8Z5t7cm7a_fly<@rvYo(b1{|-DRkr&q=^{@mwh&_$szJg|dJC)XCrYLy6bu{(_2{ zsKCKk*kP(RL?dZ+%4)VaS;7gXuK72E>RyjqD&E@NCe^Ng+SCtC$)Agn^m1QR zX`_*}+X;}$-g2p+K(#b^pnX}xyBtlmUmfi@v7qa0l^tT%_RSnH_6#+h`} zWiAk~CiIx4&`2bJ!-PNt-Ke8I0Pg)*pC`dnr!qx%yn29S844(W1wKZ3Fw;s{4|1!2goJ@NV5jw6#OGw#>_iJDp7h=5e06kR(?(e)8E|f zl?@r^_4Wv zPXoamLEx)pCnDNkFWa6*e&_%{9u_PH{$HyxbkhKdOvEBL`k{IG&@tf}c;~SAmYdzd z78U zO_X4jo;7;MeVHf3U}mBW(QycngwWzGA*b?{!o=RnP*0;+NXv*Kx0JEG=#LyaC5P+< zMpH&r1=~%E8mXU?>5JJUUSQFSJ`c3O3hXdFFx_&TLX-2Z{O{<}o)C6j8xruU0Si6c zC;_CaHSgQ`br?l>@J=&Ty~x>e zj?8t>l=hdE8OP;(9C%TrPt-*xPv)gi=N`reaeO~_Fmmh-ReC=mF2F|7IUKZ%@!n?Q zq^HOLj>V`lGqtm7xV8&=eFB@kwHe?HE9C>i0WrmzA%II8LE7+3n+jRG!?oBfMFCod z@)X$fr)sOLO}W4CCUzz1A};=3D&$nk)c>aimnZy9u8;D&4pLTmQ!Jkt3%amW%uPCK zXe60u$ZmM!-a6;!3-}R(xp6Nw941L)l!rAU4|}2&j_(X z!U1t0yH4c|r+uy;z+`qvXLIOIa}=DnBt%mf2LLb}Dpt9cDc#Z;`OQoJHskorMNE&0 z4|!W(I`nR1^6&UQMliUCTqrM({%UHqpNH7H1Ir_&O=?FS{7x6l?KJ~F-*LMYYS<`Ia4yc{|Qec3R48qW$e1hR6G(AoJ6y& zEZUM#4MZ({v2%HVuGOE={gk{!L~1@xV>WfEGORhd3FW`ivJf1+6PP6YHcKA zC;l}7g!>fPi7n<|%!Zm7zt&dd=*deElhqulauuM#c$|!MZq7$%!(y6!yyp%Y{Qudn zQanY%>k=cAe)54aA!iEK2*$oWx3w2-H8C}ln?4q!Ijdy1V{yx};aQ+hK<|@M#(r#J zc?5d;G(*R$qh+W8qXJK?P_HpV-P4-!3 z-!F&Lr&vX{dyTEm>8~W8Rm`2$5`@c`tuAno4W5neAjxy=u zgK_~R|FB`3K&BQak4xqVhKU;P?#7S=^@pdP9{X1(5obYefuq!gDzXo#^aii8EfTNgzc~SISDL2jx|M)wL;00=U zO{}g?6RVfcRu0psYnH{|?Z6)ECr`43lB}VSG?{%pTX_sgz>zE7%vrJ~nHv`c9zcr~ST4EC zkW34#mgiJk22Z})eLBgU0q*=95wSTMO=D2%lD5piTwl51notYLnNvCzmsu81W3z8U z%HuZy&lKPG>^TI_Wasya!huIZGU4;6N)IID>R$e-h4Efmec=T5zoZ`CuWel=syl)> z!?c%kE0wp3OSNyndRB%?NRG}FfCGB|SVA%~o1sDQ$sNd*J-3?c{2<6;!-$&*7kL-ApXXDq4REG)0(|MUAo69DZU2gLG>VvtcqoS-b~ zSjLZQ9!g~doKFMo{-@p_T|T~NJKwN%Nt78Zv9)?KrG>pcB2EeQ1>LmvM-L8_^O;Cc znJ*Xo9tzf*;;P;Mp_L7EKO6d{R}E_=(9XZ0RsQ}xTUzmkbb=L2NuGd$g37vEfOoTWoxTj3n~uO{kn`?yw`2^G-WQ;WK{P`#g63+@2I%Bl)L@ z2Wkzl7+Nqf3O!vA`)U~T)Az<@7Ob#ir-S*fO-HK>m&uNi+iZ}j@(865e3;fsF6CDW zhNx?7dDjtwydjm-S+%I>MON04F?Xp2xH9r+|2!AtVYAS=F@F1^JW*i3giHNs@zmPlg;z#_Jmv5TJ8z)TevQTs5AM)hq^G9Q6qGX$IY@-ujcqfAM9tpZh`#+Yhficdu z>9$GZ#RK&ZOfth+wG>Y3FwneLb>rVVx1HbhP7i8xPZ^TfO{{ZQbwaC)+zbtjGFJt% zqD=?$PS+sE?>td4W$%XbN!n^5!2Cz~4|N6$HH8a`{At-!l{_-TvI6`|0R%I-!$wzW zP<}dZGNwds3U=2SUGsnPt9Sqlj=#^7Nv0B}Sj`c-jF``~?uVG?WluXojn;|sRGA9J zcYl%<(|22(CAVbZM^?5-YA0N{SSAWIu;gFJmW_v7RIM5TUZ$L(PWO6^#BzL45QH15x3 z_Ejl-_Tb{9Tlewm6p1a|^gE@*LF5l?Au!veOEgE^N93IoX7J7khWe(S)|j0zJ7ARO z_J?b12-?D~TkO9&}-6y?+QXk82cc(QwgjXEBpmdK~DVn^m5(|1BLto@W(w7Eu45Eg(Y~vobG^Sell%U%3 zgLZFZ`KMq^Wi2Rr5~1yXPxw?+{c8%zZi+Kps70IzVwpESSX6xj$@tG|E)?nzA5wA! z+CA=`TC#ou7rX*qa1mr#u{h_E^W-ic-m$a_!<|489q?&A9Pdl53MXgPyykm1;D079=i6qBc zNN+i>IJQ);bC#Ss7Si0@C^t`99@G&9>&83p`>m~87eC;m%YR*Lsh3tmCV?6oC;hlo zJFHUGid{OWp{-m^X5Z;4w)EBudivIJmDB`mIoD!xM?m#@FQ^h$es44AZLnEXy%C>QEJ7*KwZ5cuBZd z(qffSsk#uJf1465tAA^fFggKD>~(k6CTnJi?2&)YH)eshMs*|b{1XO7@xzd&1UwR~ zx-}uERJCZ*bHW{C(^F@VQ}mzUVDjm*T3%faFkIa|H#1;Z{Mxgeh>rLd$9;XLR+ynH zO^J|DA-EG}8t9d8c7x>_HcBk78e~8FvUyAhCE{%*D3P?hO-L5wBJQb|q5LtV#VOkh ze+0|nJ9cs~6||VoXx!nbQDdRjh`MX~$9mJfP-dfP*3OvU0Zu+O6nqxzM)bj0e2S-2-wW>1mhAtk5C0%MqRaRo5`J|DGCZ?_==&P%Tg=R?V{=+D(vD ziyY#p@sU(*SI9UVYfw26O1Q~HH!=x^jY}KUry;{iMWidcbRPA|^se>8GsW#G=Z_e7 z{}Rl)d(HBFm=f={nrmEJ}E1s7?TBXL1LQy42 zK^e_5q1WU*qgmq=`+8}%bu{>Yslh8h_~sXHQO@2);3Q&RZo3S&N8`3Dyu+{{bDI!h|4Z*ai zr0F{(F5Yh@OjJ@T%69OEagw4Q?~2}bIacmEPS#y{O`o3T3NzX#B)&UF^fQa-tiA?` zkBMJz6b}xtD6Sk1IWKa4nga4Il-B>f@ZRfjy_}p7 z4IJ9F!VOV_e?Q6B64|d`Q-QC0pIEDHk4XF&Plz@P30s9)TgyD}Q<9fNa9j6Ll3kQs z2yN{3yzgQW=!>=ZpqY)bIKnNmyTh1-IbU2!Qu))K4Yn1{>|?`(Il-RfXc-ZR9Uu&L ztIghDeB~VEwL3_0Q-^W7N*NqjPfEAC>@NSn(>@s!&MFg6o_Xz1gLZlU=MJ#dxVnb`?E;)|MQyEO7^`Gdid!o{140 z9@MVza-vg`SN3#?>UWY=ylx42Rr;^{FMc){!L||6%#pBHgHq1$CGPz@u=lw@p-aU2pAw1>WLyHc6YTDt#2%-Yjacxx$=7@%nXIN6cno zB-BD8fad7^QQrdz@8NzDHk^uB%nQs+%IJoqjR7^LHE>n2HH*cJ?Z(D9v2XA}tT$DL z+C)NG@E~!@@%Lv9W3!-SL7J^TE+D7S_UezJJii%b@E&(=RUR!LsV z0Y&=aJ!P6VYwkN~LY}2l1-CC%_lA{TzMC(YHXHOyXcrjcb&89BLtey5V&5p;QKc`MhO~u;7tYPn>u4vW2=O z?u5J@#|Q=5C(DHa4yl9&n2I%McmqvVN+gx&A0PZT^tDzmfFsRuM+LUdZM@U0bd zx49{bm~5f_MloN>-^Z-K_AZ-oF%7VYI9Ye{6sX6@TFn7!f^IU8w+}L7Iu0`#B3E?` zV;8>gxpZJ95Ac5Tn6ao8;vb{gJMA_UT{HOQe*J!{bl>xL2k*Dt_VL*PQo;!B?K7&M zZj*7@@?E*tuc;;%er3>hs;i~PWa5H*BaJP!GzD?+!DmGlICPdt40e=lu|?x3VE(9z4qN}Oj z<&X=Jd|h^CY!&<9j*}+%J>u=eGkggB>$tXvTvTz1aUx~K;-`qx zB_%JBj2fABOC9x)pd-E_tCdeX!S#I%K0++pL)P#J726^bt&CSB{qVav*=Olf8?l;{ z^%2sS3r=9}B@QQN>hd`K&|z|Wfm3mYj!TV@Eveb0?pG<61sO^K|G`|Bic4ozqq+q* z`t@iIedBUwho(Bin={bjJ;@MlujB+X%qs7i_c;4w_e!SSR|4quHLEzZ%w*;vu1C5D znOks*VK32GeS!Py3A!`O*PY_Y?4}5uAu1NrOL8-MeD_ga3jISCS}AF?8l=&nKb^m0 z&N5EKg$*A`73eM-CxHT`Xdh;@g2^Juj<8%Bsbfm0Xco`}qv=5sk9zS(s-4?~jl8lO zq?@hzYx{=&z3tFY=^vZ$X4zQw0Q~2lUF<2X`EA zG;w$=wot~0bgoBow~JF#j@@eiFOSZseCq=v%CTn+1{I_X{p` znbjW$@%~YT$U(Q&T_oJYNEnD4%`Z5Bf=Qdhw8W?&Gj$8|5@N`zgn;%Ali~vs*RnZe z&jR9$>^L+&B#*DSbqak~P$X3d%?-_xHoKQm`gQGHTNAA3&R<=~SdKddC;Ay+YZ$}8 zBXObejh>|q^xCHHV^tq=9psIlAI{o!34JneepT|X*POFP03jPwO@y;Mphv`m2+==o z2UE7*E0Y`7gp_NIZxY7OX;Pw|F@m2P7l6EM_h6dWY=Z~QmC8qm_DTL+EjDb@d7B`PF`r3}@XECq8?UVZYjp?KVaobF&f1G=#e`c>$=Gd&`s3B<$KG|Sab4~cjik!(c_R?-Jco_+`|oI61HamvHtC$c=ou#5ZAt_^@Dpaa9$nfC-Von_wPqQ8`@Kd2 zR`+{yT?Y%&S9(&t}wbFA=_T84q0LFhftTwX3a7{5m0f>hN}cgKljr z9NIW4&17`AUftXTGSql&`0U33Sg(9I*4# zP|)+_+>z#~bjU>ti!P&dqhts+_{9iNqpCz@f zXylc=d+m&q9nOE8>+>IpOK!w*rc~&+OaHYMUvY*yaUG?JuuB>3FN)+!tdx2q#@q=i zJ|~@&Trd7>%^c47y#2_2ZKNEHG%aa(N9Q|sp}ZV@)g62%T8XOqN&WYjRo4PZSgF}> zu)1M_rdv%d&+Dn1XYBKwOvm3yjPICR#rqJ0PxU-GaWEH+9$1QWdsUF$Gic77y=lmg z?WZ}`yN%t=<8|K}TAiwkMX$h}OQ^Qkg!j?(84ddbxl3!O@Yl-0n#-PaMcJo8ZR^r|+yDYz&ww zJMUa^bh!B$7tk?tQG4sT{9qIKv>6xRSt4u{`Qbj@_u)?5h& zCH9!P0x#VxX`hjDLM%69&^%YFcUH5&2N0Qu+>cC}xp=@2Mm)KOdlH}NsrWWRt!)Tz z{W!CVC^3q!axN9_eGPMkG-D?A?zUuLJE)eQSlf!0(DM=7OoUITC~v4lu@9J;RdZ^d zh%&7k*+z3P+Y2{dt#+r&@2<{mZf3NMIT&|7Ln5XeX_anoBVbAY6y$H#=@GZqksh62 zBjK6E@EHNIcM9n#r!(Q@cRqv(1dEK!xc@Yf{FTQ`g@f-H)tgfXg&uz7A z9XC9L-+qd4qgZLNa`$smQdN9#F*KB1O)Q?Pf{>nlmvil-IY@kOb@tjOAxR5#YA@k@ z?;Sv|oIg1>6*uyJA6@D2?7yh66Ab5f+qatSI zo}Ndy2BcA6W_2N6#>BTmgfD(Ymx}N)x`Ajn-xVymrO|gJ=_7IoXmla1$Khn5nX|2( z;ZZ8XsVpPVwt*rh=o^&1ThPx7vQ5fqnb-&*w20ew_I0r0^V_xa?~uv$b4qX)#%m3H zuX(@n>D4w%re+GQVkgM}@$F>;C}x-8G4yC)(A+u%By{WZQ8KO^vhXgLyr@K$**-t2 zq~4H~8QFL&ZGX=Hov<;PlQ&Y1By`qui8l;I(9!pp~;Isf50xQ`~M$%SQgbKdYmM=Te=!;uYynwR4A! zm@!a55f`Yp;EZc$^mJ~(P-nt=?9;=yMJmtMizT`5`cpk)OMK63Cz5sl%1d=wuz$0K)6UH~!!{BlrWyxNua(LUGp9w%W< zHzZ>>P=$PHb+-Vi-;8M`+{7P|dNGkfJv!FJE|x126BbA0MHnxTwBO*^Z2-skaO0eL z$qB|wbc9W~ZoC z1j>;ye72KvL&0hxiwmo216UVTlbnsnu*_t|cnRp+C(r`O0D+TXiSu{IFvw7;HlD?H zw+-HsqBpYNu|ItOHEcFURj&718a^vp4(r+w^g*4YE^{bwGxarm}@U{C)+V+ z!;oS1YEVdRLuETKw7)(x)Ol;l&9v|cfpDv*l7=F>nrPN+cSx*a_zXQ!Q0KTzk1PSK z=4hOj@!9OSmxs*`B|sH1cp^A!(rn&Z$Fhrp4y2hXj)0q&Th)kX!poQre@CThGa0q$ zct%yK;9y`eO@Vmp2EZvdcfz|`bXa9TdU*nN?fv|wxHAnT@-7f1WA*K+a|~f{!{Q=o z(U}`2b8aRz*;jKlDOzdZ;IB+9qxoglO+QA6FP5gvvmu@Bunm8#NAGv6d|5|55xqnw zpZ;GrBvw>WP8c3P>QrN#vxQf_Xv72^`C+!~;gGRvz zDK;!4h^`7M0pS={gV^rGIW|+x{$A8o5+a!99oDM0-0p@Mq_p?A*40JaA5$%H5U9_I zq!(SlbzfNU@a38b-lY*YN6zqxkYn=ZM(at{82$t}5)N0h>D#N(T0Usk61%Zv{Vgg$So}I! zxRyXTWjL>AZOv^Fw<-zzi4@dOj>;Rl?g!S}m0OHDABBF;m)GE0pua=QjM8HBpDzE` zzpDB1s6~w5lx;T;?tk~ob@Mgc9edhF=d)4<&Z1gmtoO0lY;yljL0%@utsFe=AKg35 z`z~oG@IH^xWVlu%^lP?l6MO-rU+8_6P@ErXXN7H7N(ry%IJ+fq%YNFRa&JVXq-2k+ zjB2M^9CMQHt@i>od^+J-l!RK_AjoL`_I254{jaT`OM{zqK(z(}5m;fo2%@Hg$&TYH z^>&bOLJu~Wf(h`<9Dq44_As=8A?Bhm9Kp^gaaD=o4Avq{VV5);!iz#1KXdapT%=*G z@-+_REn5I2f`ty(l`gy24Gq_{%f|~=9h_z!uImC{x36D9+bWvws^#NFU~(M*vAOJt zZo=D@Na`Lt6zO*I`+9I^<)VT#?OX2?iJJB~>Uw``Q0p;-ONN3YM8;YWo$oWO-{)9; z&xv|I(qkIw0+J6c(u`?ELaVM2giwFL9igI@LyH@tB4qxgj3JhKIHxd=Q{4!vlkVBz zKe*Re0mz`K&I{e=<%b}3nA4fz3piJlwjCA&^&D)fl{7nAqk{ngj)t1EXN(E_6XX9e z1N-8HabK|w;cc^V>Cs9=Ns&LIr4kge&7HYS*X%s!JgTprvz%&8k(S!hv~Ik}ke2#A zKFVz0_-L_0^({_k&^p1`qLxLO#6Ux;zHy3P`tc+&l6oWjiQfLS?d;^x=XQvwH)WN6i}(S!wvM zj7O91Y16!1`&Zj5$48;EM@4Gf9iE!kEX&*Vk-b9o=a2M`6hCG{< zk`{{Ht3@~?k+1IbGrsL1&fwnM>;C=e-c&m)tT}Q#6sR;(tWHnjCc0~IRf^-GQ)MY( zmT`Ob^)xHu2XFk&0S@$BoWDoiLcOOgC(1v3Lk~V;R~Q!~_>uy5P_eQ%OzN%ct)=0!%0gSbXc0%z$}{iYjsNEKS3P?I_d%Pkyu)2%Oo*f6@x{w8 z(!X2R#4C9@8@f*;daj5XR?ggiT#6EPiW2e@e4H*07RJ`^V*_65ZXe;QCOHZvZv)Gt zzkohjB8Mn0!#T+^q-`lO(0iST$L~G*uVwnW@lG+wIiARuZV7%c zZ@{QY>Myph9+E$Hklu;A<=k7B{;?N3pWe$Ir!QMsDwJMl7n>=tDn2L%ijm29A`3BKanh3$U`%nM#bFu*Tah zJC`J(J|IptggMQP9XNnS{w_QY=_!!g-YW8%q;6lBZB1X_I;J5>0+OVru2lykOFSoT zX6=7(dD&#xZ#5RBAHa{JE)>;EOdW4G2G%y)|xgLUS_B7 z?{MnPC-4P)2VE=SzMeG__}&5OsuNES(PLxg(5ck4@L@g@v<+D`qrNNw#EZ;7-Nn8r zA3Rb+OL+zcDPO#8jXp621_oH?JUbmc+&tfu(z6zjq|}_*2AZlGcL{!TVVqr}-Jk)Q z@GMsg+O!Di>L)|HW%6Ll0#qCs1VO1NIjYsH)2;_SBu!EIXt?f>+!ob1jS^IqW_G3| z!|9e(GiWLiLh@ydViFQK-}hlo74dg%F&(qKPd&6UG(j0yZd*Fyqxd1Fh+<;3YOxDi zmht9}?-x=9Z_GDkg>_P$|1pTJ4Bham2dTZmI%j66rgTO;WhPxPNig{_5?aiW*jekD$w93>0z2~Ak# z-799{+c(#mah1hV`=D-rsoR?}wIVyw0I$hxW{>~nzM!pC@syS14%g8k+;F+*$z|@p z3^9>uEj{8q$U;UA7@yRR7UJs98ziK-M+S|hvhJ6=?>>k=y@j^Ehx_s? z)M`P1Y!1MKelnPOWG0DNWb5vXI67;L*8DYSB2fw9cl|Ia)#d7Y4SjC!jle0 zd8KJ6eSa_j-|lO_aX1XF(ykq$y0?F<*4g_H0kR)0qy$4<5zGOn^R9pX(7CO7jZS zo8NXtQ5RJ&>aYV$3}L6lTp6&bBFx~2R3WL56WnmnTi@2}sk7{$mKg~2y)*g>K%CMa z1jQ{2?JJ8<1fjOhx<7a@oH9c=M;+$VOgl?R6%5vT~4V1`K zn9P|*IET-pDkF$)ug>O>zh3zlRS{dMo`(>tpm7voK7vypU#*_)r%LO7XX_CwH zs)0Z!V=7M+GK;rzux%Nma$yO(%oaSznU@NBbHDfr^wi_bu3+#C{8d473M$k%Q zMd05Tg8u;W1$MD)tx3b7-{%D?tXK>RD;CZM95H>$j5^)S{0>~zUt%s64#MM+oQrxH zdl2GgT&%X!w~P(2=b^8>sKIxZ<3{PD8a4@%9#Re|I%tIzM8OI7vcAs;yR^r(h_}61AzT6XAdG@}a ze;~@pPd5YtIrsSy=0v#>qc1vecEt;OmGdg6XR$s{*_ycG&$6VIS_U`IevqbDwF~g6 z>4 zZtLYn+#Zg%7gj32(6%+(j%qL>kSp?yCPQ@Ls^l zaWyXt9Jd~*m0C}qG0UbTsFK-|Vr~&pO1$I8>XkjCT}G{N_nq0uu)v3UWSe-P(ftm4 z2WfSk2eyyu;!}CFEqfXwc5`O59%6BwY_I;|PBl;$5g(4l@n$N75T#Ps=1-T1;e4&_ z7uW-xO3Rqf~+x$mo z4R?yGLWHld8NC=<2&$d1WaXTVak((R?nk1ee~!w)zg(%@eX#f`t9xDF3VD{_;aQ*z`dvh)Str+sr$gkVsh zrS#>MHjVc^B-@An?<~iB=KK`Fprq3RFMQIYd2^{%)A?6OnFvWSE*|UCNrBMIZ?2p77+`hCUnsP`7|>-YpmP4GTNAvuf(D_Q>j5L3elmKTqaE1S7Y9hLy!Uv5?dMvUmIlB0^)Zlaxg^KYNLh#HQ zQ!n%1gZ0${67%jna$NU~{MeSg;ziCZJ80EJ7F{Y-a!vhD279psrGMgXuch!VxQaQA zm$h`wHxYyxlK*2%lqlNS$K#j%Ok%BA6WyXmt&C3tS=m=TosY;-U|aFO zJRRwdg+hLx2IU=gu2_BzL4|>l_!5L<a=c-Qo7L{Q+QKH95G?dJV5R2pyCpQc=bv`IHgX~%onlfC&!TtZqS&%R>I}xeSglZ3*lk@)7Wfa2%SUl*l?M|s?|}) zIYg&*&$?!ac<|t8{*pg9sGrdCL(*$3b+|kY!PkReN)(wzoJe#pycAT6k^gbEKs0onnB`AV%j(raX=1fF zKqHD6W~|^gvcY`Jr#2XS<<(OcI|?|LGDa|4w#{fnqFg2HjH?|-jQpdm{PIC7!8<*_ zb)Q;);S9b)cUHBWI7)*oOT(SEU8VcW!SL!IOj~>S`@-V<%-$}$4!#*c`~8yb^L!(A zacsb;`X(BDL;X*snnZYf!XQAWI!**v$w88t%?cr(S)RtT*JaAtadi%jM!~M;7hq4m zJhFFyr$KB#&VV42>B2JVdYjqt`9QV$>k2K?z*&LKgd+8Z$f?rn0b*xS{>9GKT!|Rz z6g#f_40{)oIne3{6ASN&-M9H6FXCy@*d(eJ(T^5^X&U^UkUF=VlXa&W!aMx(^V`Cg zAuqx$9N;hAlp%A-p|YYq8c;n>PNfj#AYbLTeGP8>?cO%>6Noi=eaR!N>$iYw z^b%}eVuAGfAU_2qI4d4kcjuJ1o#N2aPx0sO1V~~0>~65^4#pbG_Hi!ozM7Ogq!k5#3U@24PW*RO9Mue6!Yk#eejH{kbeOF zubix7jCT5I^oVL6FvLFO=$H9o*-M9`XF-7$=tI1sSH~001b56Pij!A%dZUHI^3*(p zcWVB;{r*le&Sp8U_<^@eP*}M1fW=`M;pw`(-%*fzeD&!uV2=0mgT>QKC1?Y|*c0y6 z{$K3czz_flI&k{-NUm^+VEQONlNWN%m?#M8V%k00bO*tLvGt#Sc5?YmWW6fXHOh+! zcD4l0pSmG{D-1X79D*||ziK2d6S4tQ(Zr$Xs^ZwbVVOW$#yMI`!mIVC&f%R}OOO8b zex;`t#%3RllaUvAC%Qoc<~e@s^y2gD-S{IC&WvG>a7uT&L@d@w_x3T4A-*T&dVv93 zI&xWPm9=32r*J{l26X>4J+WPaEEaBU50Kb;aojuA7zbqJc9K7_lYc75#FrpD zku~6CA}`BswvJ^A8Os34jNO8^H~P>1Q)ViI?1meuRQ%jGoa(vsE?gL7%T)#;6hOUQ zK(C{IOBvo)Q801LfMl!9M#B_qc{4S5+Rs=xw7sSMFoT2gmk&u?xf)l?EpaQ?>o&qt$B z%ha7L^Whf;N6?+FZLJD}i^yop{@9*-KXhN9kN1A-aD@|!P7DEV${#7e^Z3QdgH$__ zN-4MtVzJv%>#iZBZ-#49YQOY7+4$NG<>H($7|b!=>TU-P2xdc%I!v_%Tr`u z<^dI6GZ;i6nR1Mpg6m4EQw5Hf#~Yvd2>&t9V-Cx%6t`jB`wGk8&l`&>Au!r8wW%E| zniwHh(kley{FKxNm*+-5hfq9JpM+p?qCzmkOrq^%f8j} zx&!S6w4Ak`Ja4!K

EUVY+;eLg*RgCNvx3V>Lf9I=vFm3|?(B4a%ZDCG$Hog*RZX}K1-S(vrjk#A^tAS&>%gY zB6VY0-hJm{dHJ({n2hF(>4?F~ef-qHyb|@TDk|E<;^!gUazQ>=`gZFK71LMb9boXH zYjN&jECC8ip*U@i#N2VOc*|w%IuTg*MVIIi4m-*`(w1~B7kf^zzTe|KWTO8|*^Ent z0-48#y9Q*adIl}|K$rBL8txzRB4^tkdBanrJ$nZ(IwY5Wi@OT-Yb5wR*TBmgi8!DD zx~>NP%KqYvG0-W|cRYm#38i>Ac4m@?lIJemeII`XG6?=&@#Lzy2~OA+ z_-`uR2TJQ-R#fOFw}Z)CG{OO@fF z9tIhslKQzvnT_{NiKsqT{PV?-sR!o98Ja6CR|z)|-u4cny1D)Iv5Gx+*HA9XO{ag> zy>?e%_2c=l4{Uoy3`%J$+^=xI9TI}^?-=TFd$#5t4Js#z!Dyguav{Ym|3w>HezA)M zl!<@(4TJwIns*sRwP7QRwfO`)-+^FRt+P|naklEBOC7V9EA>eT`;z~yvfn$*_V41_>nC3*qbxfEu+s_f@j;L**pVdvnw z{7LwGzg?tNxSNxZg^541fF)1WLPJ`wN6bMZ^QnUhl{;erS9c1a+!P$}dGF=jhL%}m zi1mxTlDtqu2YCLW#1~KR?|U)`0ux03GQE4 zf|4UWfhh5KcI=7}j6(}^o_(#n&peEBtOba5T{28#+Dj6DL zHy1o-7TmA(<`94HT!1K6KYLo(a{#9_cgYC7x~7pZY+w!XJ`*SaUv*3l`!+2&!_7CN z-L__9>z&Khg3C>78{$^)bRUDg=j1FSvzDRBbVm%&d9^n`>GBELU;dbo^Js z#oHrZdkrPC%}b^^$Xt=eNDvK*LLUX~bJ6I!Cc3)Qz=l~3A^XKI8SqWWNMV)?>tM~dd2-8dr{HIE!exs24f=`@9L2r5BK8aps zs=N^dN>n>-S*Dy5>Ux_;iBI5JC;E?szg7s=P^C%~wQwF%?Kkl|^i7f_!v@ULc_-c^ z?Ekr@V3sHi(-$0Sx+ijd2gq|Pvl&|}?%ABSDD2{Q8~b)Y9wiW%ngc;qE@bX4r*|;> z=tns$|M~6m{KVoCN6}zq24QTIr)F#bgC_(6s+7Xo9o~qJW!tJdlV`CG2Wh{AA@>(P zh&P5@hg#v!a}hCh!dEs#OJ36f?3>ThQ@7WPNa}B?rq?@g!Wo{nB*(Ssgr2bXIgu4E zU{^uECnLpk1V>eM@hrs*eM7NXnh^8x((m%8;uxqOX0j+Y_}Q?At8V{vM`7fB@eFI$ z65j95s4979dVsLKnGKPK_3{cy$ew4d?y-~Qd({(@4~Ql_$i?|eEKY9L)DDLC^uLvz z{s(F1-5sGYo6!xSA8V)nw7eLXDDkG-HFBpODQ&i1yJZTK4s-3u7W_RJrn8%T2e%vf zI6PCF8moWfso1ee@dY9+Lvjseboq&qe0`smTJC^SJqpwoo;78M)_Ll_+S%#uQ8%AK_da^;M;(VmBw*N7HKFvZ>W-T&0XN#F<={D zBAurp8RZX6uQ;|6Wc9&D2`!#-1SRd+(~zNvrP|P|ijZks+rymEVfynzCia%$=FD$! z93Qtumy5XDB=c$yiV2rbxWY{g6qZwSkNNB+7g=U$V%ud>bsTfN`F566ln!#cM=B_) zd{^}`qe)aTpZ^OU*9zgIVCvy9Bi#3^Mj_dVSmyBTcpORYlkSute)hVoLSKMH_bDdx zCZj(`HDy|aF)41Fc^l%9L$p)`c{KB=_KaF}0)+4U* z7pS(ZZ2#|LT@GBh^L8j)L2&@Zs@Ws~ zeH@ykTzY(yYK6GC4e^Z%Z_Np@r*rl!F4|5>#Ts3?MYM)8_?J)6_?^nETCMBIKz){xq~TxH6e%c>n$a;n3B7f|!GbB$+OlIxSFgOJkM?%GYBC$Kl6 z{^Nr8gLU&`T6rT2uQ->*L}O6Rk#)|Hygo1e{wu1fEcKeQ?7Prh`_!xpS0NdP1cD;^ zQLG2lfJQeAT9T0&SIg=PqZ5&B9)0w{KQ#K{M&-{_Z<8n#F(^!xwD-H^1tHy>5Bhrg{XdQ<%?dLJ!9Z_lX@!P3+30RHc( z%alj`bvJ(~F2uIwSuCk?n<>=|wot@`Av0N-iul=`H0jwaHH zdfMS~KXj{yejonD{ogwpvnx^oj|E)Awl`P2u_M25**2`n26=yY8#%8$A5 z*NSLnI`}F#`}AjCJ^^*in3PiL)EU>k)O8~+$&L^QpS+&7T4lR=7ag=g zbgJBis87@|bkR1@RLhbp_TZOCy_TJsfnCWp;u~O$rvGMH;(R3#pu22EKOriRJ0%ZMF0* zSBiJ(1-_5z%;{yiQ}k0}{v=8_IL$blN=HJ9Aq15;f+~#dTu4 z0j@R^f1GJm%kdG(=DpMuoCu276Y^t0-^g>v@pYEHVWQu4w zh5UU~(nv_J#~)bqbxUSi8{}g}0b&yYY^W3N^_2E;_}c5Ij#9zQ#@Hq3ftCVk4cq`ml+;?1VxtqY_g=?mDpZ~J;`|l~Q2o(dyC=a2U3%Qw8 zK}-@>%_0jM@rvZJqm58c_p}*7!=oaaX-IgpaK}Y}i*{ap_AY9}?27k88tcZzNojV~vMD3a&g8xn7nbAM6r3`T6SHXRaPp^DQ~V z(~EsboBj8RmstsV#aoGQzv~m}t)YeTFNGRqKbiRk{Bmt+#RVNfy*`z2UklOrQ*!L; zwu~mVqD9qIp*Y2!X>+Zd=?jw813qA1ZOF8*R3v9>VdN{f z;w2rV+bf%qz`7~g@$M(^6Y95w?!%N5vWD1jhAumi{bf$K=w=m~C*veA3caybWM0-y z&gT9N3)>1Np5@WBQyhd{vdA!;m@8^zW$+RRY+oWFp}p^b==*)@jC9UdQp<1$bX0p! zd=syG&lbi{ppP~sK=s)TLC(CUR+LY)oaysoHt0=5XwknG0DD*i=)4?hh#{=`vGTm^ zA4Cr>O-cI86MkQptPR%+tL4t?bh_w|?J=w0B-YpL>eZn1`4Fcp<#uxABb#=yEn}ih zIrECMpM3;wr$)OLfg0Ka0`q=hL6;ym*f7p8Rrq2@%Dd-VO6fvFNArhQCHL%&m0QH8 z;)1A79Xo$=mjm0TbLLg>Fv#0J6f>Hiar&H4H?gEm7?|3R=`!hrI&HCZqh9q?WFKUE zaAyK+&pEAG{`~_fLV}ZlnTDeIbekD!_yxLRb-GDFt)2+K5IM4&wM9x_!EtLu&+ngt zeh6?rDFpH%v_;~C?RZ7zO*2vqy1^RMLwGV&PW{aHV$av#WFdw6CM#MFzB4Q? zJJt9vX)8Zk66B0?@5KHH{f?F5DN*8F*(v_UFv%v0MsaC%f?aa&?9dk-Rsr67fUZrHmh`iXXc_H zL`YLxF}NU(JZY!v^}3{Niu}pv3PDx-dq)kneum%u97bN-pRq>9{LkG7@N{1hb zi+hI7G7e?~)|ps81G;*>LVxLpMXUOBjP=npZ}kJHobLtQet)%4lhek3JVwlDFW@&* zYcYP7fN0i}ba~h#!Ps}{C@z<;v}a9yLxKbqZ(2%F8*zIzTuJY3VwRPq} zOJ0AYcIKmtMPMde846jX>x1@S=6 zR!~~XBsyY5(E*`|+)BO5p$wxTC`w;8g1d>C+4r(Lv!CzpeShEg{>x;2{6}MTD-F5J zZKc`Q?>jjiZ<@P1Yc#M-I8XS&n=wb&+}>Z|*LzRioYDt>BOwv|DVL?9@r<`iqDGhV2f7PL=_jO9L+$QN~&Zh5ueUu@;y#9*iNrOR~Q@Nb!Y$ny( z+%KXk+0L#t{u{HGS#PA~^1VBhf7`2)qlL1JvLd>&t@o&#Wd4V~(z|_mb2y&qTRk7l zuy<+A^|9+|uGxGrUUk6IcVI9p{KU7{#(iRTXUdM0NCUP!dYD{SlfYPkkeMuhP`li^ z^nMekWoFNwVD65ad5a{=cn@_(#_#`4 zF>M$<@#j*@PkK8&_4J*=EC2u*TuiJ&l+@~tvGA@0UdCWC9MvBNHUhv53PeQ_QJe^V zFv_KTeyj&*Ad~J>CVtqgHqz7RfT za#0b=DqB@|4a>Ji`Y6%1^FS2L$GKT zP+>A$notL?@{l8fTeZpwSYjTOAf`PPZV7eK8dEqzA>I?xU*a=e5I+#`9>e>t9nrzx zuazNVz^bth;sp>-Oyu?1czh^7zEt;)> zcZ#Gs?VbSzhU><$qzas#FCb=#4Af`m1`e8$@C+U~`whUCEUA~VdJzEo*-?CEcmyX5 lk8ZsB6LxSaW)EQK%*zWH8uWBS_#W)3Iq-qsdP%To@IR*oH*o*} literal 0 HcmV?d00001 diff --git a/src/App.js b/src/App.js index 497bc0b..76d8f5c 100644 --- a/src/App.js +++ b/src/App.js @@ -1,77 +1,96 @@ -import React, { Component } from 'react'; -import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider'; +import React, { Component } from "react"; +import MuiThemeProvider from "material-ui/styles/MuiThemeProvider"; // import './App.css'; import quiz from "./exo_quiz_react.json"; -import Gabarit from './components/Layout'; +import Gabarit from "./components/Layout"; import Titre from "./components/titre"; import Navigation from "./components/navigation"; import Question from "./components/Question"; -import Valider from './components/Valider'; +import Valider from "./components/Valider"; class App extends Component { - constructor(props){ - super(props) - this.current = this.current.bind(this) - this.valider = this.valider.bind(this) + constructor(props) { + super(props); + // pour éviter les bind on peut utiliser les fonctions fléchée + this.valider = this.valider.bind(this); } + state = { current: 0, validate: false - } - - current(c) { + }; + + // current(c) { + // this.setState({ + // current: c, + // validate: false + // }); + // } + + current = c => this.setState({ current: c, validate: false - }) - } + }); - valider(){ - if (this.display_correction) this.setState({validate: true}) + valider() { + if (this.display_correction) this.setState({ validate: true }); } get question() { const question = quiz.questions[this.state.current]; return { - ...question, - params: {...quiz.default_params, ...question.params}, - } + ...question, + params: { ...quiz.default_params, ...question.params } + }; } get display_correction() { - return this.question.params.display_correction + return this.question.params.display_correction; } render() { - const title = ( - - ) + // pas vraiment nécessaire de stocker dans des variables. + // on peut les passer directement dans les props. + // ou en tant qu'enfant de Gabarit + const title = ; const navigation = ( - - ) + + ); const question = ( - - ) + + ); const valider = ( - - ) + ); return ( - } + navigation={navigation} + question={question} + valider={valider} /> + {/* + + + + + + + */} ); } diff --git a/src/components/Layout.js b/src/components/Layout.js index 6997c1c..dfc8640 100644 --- a/src/components/Layout.js +++ b/src/components/Layout.js @@ -1,26 +1,24 @@ -import React from 'react'; -import Paper from 'material-ui/Paper'; +import React from "react"; +import Paper from "material-ui/Paper"; const styleQuiz = { height: 550, width: 520, - margin: 'auto', + margin: "auto", padding: 20, - display: 'block', - textAlign: 'center', + display: "block", + textAlign: "center" }; -const Gabarit = (props) => { -return ( - +const Gabarit = props => { + return ( + {props.title} {props.navigation} - - {props.question} - - {props.valider} + {props.question} + {props.valider} - ) -} + ); +}; -export default Gabarit; \ No newline at end of file +export default Gabarit; diff --git a/src/components/Question/choix-check.js b/src/components/Question/choix-check.js index d5af7ad..431b478 100644 --- a/src/components/Question/choix-check.js +++ b/src/components/Question/choix-check.js @@ -1,73 +1,68 @@ -import React, {Component} from 'react'; -import PropTypes from 'prop-types'; -import Checkbox from 'material-ui/Checkbox'; +import React, { Component } from "react"; +import PropTypes from "prop-types"; +import Checkbox from "material-ui/Checkbox"; export default class ChoixCheck extends Component { - constructor(props){ - super(props) - this.onChange = this.onChange.bind(this) - } + constructor(props) { + super(props); + this.onChange = this.onChange.bind(this); + } - state = {} + state = {}; - componentWillMount() { - this.props.answers.forEach( answer => { - this.setState ({ - [answer.text]: {checked: false} - }) - }) - } + componentWillMount() { + this.props.answers.forEach(answer => { + this.setState({ + [answer.text]: { checked: false } + }); + }); + } - componentWillReceiveProps(nextProps) { - if (nextProps.uuid !== this.props.uuid) { - nextProps.answers.forEach( answer => { - this.setState ({ - [answer.text]: {checked: false} - }) - }) - } - } - - onChange(e) { - const val = e.target.id; + componentWillReceiveProps(nextProps) { + if (nextProps.uuid !== this.props.uuid) { + nextProps.answers.forEach(answer => { this.setState({ - [val]: {checked: !this.state[val].checked} - }) - } - - get answers(){ - const {validate} = this.props; - const answers = this.props.answers.map( answer => { - const {text, is_correct} = answer; - const style = validate - ? {color: is_correct ? 'green' : 'red'} - : {color: 'inherit'}; - const checked = this.state[text] && this.state[text].checked; - return ( - - )} - ); - return answers; - } - render(){ - return( -

- {this.answers} -
- - ) + [answer.text]: { checked: false } + }); + }); } -}; + } + + onChange(e) { + const val = e.target.id; + this.setState({ + [val]: { checked: !this.state[val].checked } + }); + } + + get answers() { + const { validate } = this.props; + const answers = this.props.answers.map(answer => { + const { text, is_correct } = answer; + const style = validate + ? { color: is_correct ? "green" : "red" } + : { color: "inherit" }; + const checked = this.state[text] && this.state[text].checked; + return ( + + ); + }); + return answers; + } + render() { + return
{this.answers}
; + } +} ChoixCheck.propTypes = { - uuid: PropTypes.string, - answers: PropTypes.array, - validate: PropTypes.bool, - }; \ No newline at end of file + uuid: PropTypes.string, + answers: PropTypes.array, + validate: PropTypes.bool +}; diff --git a/src/components/Question/choix-radio.js b/src/components/Question/choix-radio.js index 071d3fc..c681088 100644 --- a/src/components/Question/choix-radio.js +++ b/src/components/Question/choix-radio.js @@ -1,79 +1,76 @@ -import React, {Component} from 'react'; -import PropTypes from 'prop-types'; +import React, { Component } from "react"; +import PropTypes from "prop-types"; -import {RadioButton, RadioButtonGroup} from 'material-ui/RadioButton'; -import CheckBoxOutlineBlank from 'material-ui/svg-icons/toggle/check-box-outline-blank'; -import CheckBox from 'material-ui/svg-icons/toggle/check-box'; +import { RadioButton, RadioButtonGroup } from "material-ui/RadioButton"; +import CheckBoxOutlineBlank from "material-ui/svg-icons/toggle/check-box-outline-blank"; +import CheckBox from "material-ui/svg-icons/toggle/check-box"; export default class ChoixRadio extends Component { - constructor(props){ - super(props) - this.onChange = this.onChange.bind(this) - } + constructor(props) { + super(props); + this.onChange = this.onChange.bind(this); + } - state = { - option: '' - } + state = { + option: "" + }; - componentWillMount() { - this.props.answers.forEach( answer => { - this.setState ({ - [answer.text]: {checked: false} - }) - }) - } + componentWillMount() { + this.props.answers.forEach(answer => { + this.setState({ + [answer.text]: { checked: false } + }); + }); + } - componentWillReceiveProps(nextProps) { - if (nextProps.uuid !== this.props.uuid) { - nextProps.answers.forEach( answer => { - this.setState ({ - [answer.text]: {checked: false} - }) - }) - } - } - - onChange(e, v) { - this.setState({option: v}) + componentWillReceiveProps(nextProps) { + if (nextProps.uuid !== this.props.uuid) { + nextProps.answers.forEach(answer => { + this.setState({ + [answer.text]: { checked: false } + }); + }); } + } - get answers() { - const {validate} = this.props; - const answers = this.props.answers.map( answer => { - const {text, is_correct} = answer; - const style = validate - ? {color: is_correct ? 'green' : 'red'} - : {color: 'inherit'}; + onChange(e, v) { + this.setState({ option: v }); + } - return( - } - uncheckedIcon={} - value={text} - label={text} - labelStyle={style} - /> - ); - }) - return answers; - } + get answers() { + const { validate } = this.props; + const answers = this.props.answers.map(answer => { + const { text, is_correct } = answer; + const style = validate + ? { color: is_correct ? "green" : "red" } + : { color: "inherit" }; - render() { - return( - - {this.answers} - - - ) - } -}; + return ( + } + uncheckedIcon={} + value={text} + label={text} + labelStyle={style} + /> + ); + }); + return answers; + } + + render() { + return ( + + {this.answers} + + ); + } +} ChoixRadio.propTypes = { - uuid: PropTypes.string, - answers: PropTypes.array, - validate: PropTypes.bool, - }; \ No newline at end of file + uuid: PropTypes.string, + answers: PropTypes.array, + validate: PropTypes.bool +}; diff --git a/src/components/Question/index.js b/src/components/Question/index.js index c17188a..54518e6 100644 --- a/src/components/Question/index.js +++ b/src/components/Question/index.js @@ -1,31 +1,26 @@ -import React from 'react'; -import Divider from 'material-ui/Divider'; -import {Card, CardTitle, CardActions} from 'material-ui/Card'; +import React from "react"; +import Divider from "material-ui/Divider"; +import { Card, CardTitle, CardActions } from "material-ui/Card"; import ChoixCheck from "./choix-check"; import ChoixRadio from "./choix-radio"; - -export default function Question(props) { - const {params, image, text, answers, uuid, validate} = props; - const {multiple_choices} = params; - - return ( - - - {image && } - - - {multiple_choices - ? - : - } - - - ) -}; + +export default function Question(props) { + const { params, image, text, answers, uuid, validate } = props; + const { multiple_choices } = params; + + return ( + + + {image && } + + + {multiple_choices ? ( + + ) : ( + + )} + + + ); +} diff --git a/src/components/Valider.js b/src/components/Valider.js index fbf1e75..c3713a9 100644 --- a/src/components/Valider.js +++ b/src/components/Valider.js @@ -1,16 +1,28 @@ -import React from 'react'; -import RaisedButton from 'material-ui/RaisedButton'; +import React from "react"; +import RaisedButton from "material-ui/RaisedButton"; export default function ValiderButton(props) { - const {valider, display_correction} = props; - return ( - - ) + const { valider, display_correction } = props; + return ( + + ); } + +// ce type de composant peut être simplifier au niveau de l'écriture: +const ValiderButtonRefacto = ({ valider, display_correction }) => ( + +); diff --git a/src/components/navigation.js b/src/components/navigation.js index 63212c7..4660ce7 100644 --- a/src/components/navigation.js +++ b/src/components/navigation.js @@ -1,73 +1,81 @@ -import React , {Component} from 'react'; -import PropTypes from 'prop-types'; +import React, { Component } from "react"; +import PropTypes from "prop-types"; -import RaisedButton from 'material-ui/RaisedButton'; -import {GridList} from 'material-ui/GridList'; +import RaisedButton from "material-ui/RaisedButton"; +import { GridList } from "material-ui/GridList"; export default class Navigation extends Component { - constructor(props) { - super(props); - this.prec = this.prec.bind(this) - this.next = this.next.bind(this) - } + static propTypes = { + current: PropTypes.func, + qte: PropTypes.number + }; - state = { - index: 0, - prec: false, - next: 1, - } - - prec() { - const {index} = this.state; - const prec = (index > 1); - const nextIndex = (prec) ? index - 1 : 0; - this.setState({ - index: nextIndex, - prec, - next: true - }); - this.props.current(nextIndex) - } - next() { - const {index} = this.state; - const next = (index < this.len - 1); - const nextIndex = (next) ? index + 1 : this.len; - this.setState({ - index: nextIndex, - next, - prec: true - }); - this.props.current(nextIndex) - } + constructor(props) { + super(props); + this.prec = this.prec.bind(this); + this.next = this.next.bind(this); + } - get len() { - return this.props.qte - 1; - } + // Sur ce genre d'appli il est plus intéressant d'avoir le state dans le composant App et de faire tout passer en props + state = { + index: 0, + prec: false, + next: 1 + }; - render() { - const {prec, next} = this.state; - return ( - - - - - ) - } -}; + prec() { + const { index } = this.state; + const prec = index > 1; + const nextIndex = prec ? index - 1 : 0; + this.setState({ + index: nextIndex, + prec, + next: true + }); + this.props.current(nextIndex); + } + next() { + const { index } = this.state; + const next = index < this.len - 1; + const nextIndex = next ? index + 1 : this.len; + this.setState({ + index: nextIndex, + next, + prec: true + }); + this.props.current(nextIndex); + } -Navigation.propTypes = { - current: PropTypes.func, - qte: PropTypes.number, - }; \ No newline at end of file + get len() { + return this.props.qte - 1; + } + + render() { + const { prec, next } = this.state; + return ( + + + + + ); + } +} + +// peut être directement écrit dans la classe en static + +// Navigation.propTypes = { +// current: PropTypes.func, +// qte: PropTypes.number +// }; diff --git a/src/components/titre.js b/src/components/titre.js index 3bd13de..e6025b8 100644 --- a/src/components/titre.js +++ b/src/components/titre.js @@ -1,7 +1,8 @@ -import React from 'react'; +import React from "react"; export default function Titre(props) { - return ( -

{props.title}

- ) -} \ No newline at end of file + return

{props.title}

; +} + +// ce type de composant peut être simplifier au niveau de l'écriture: +const TitreRefacto = ({ title }) =>

{props.title}

; diff --git a/src/index.js b/src/index.js index 68a3401..89a839f 100644 --- a/src/index.js +++ b/src/index.js @@ -1,12 +1,9 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import registerServiceWorker from './registerServiceWorker'; +import React from "react"; +import ReactDOM from "react-dom"; +import registerServiceWorker from "./registerServiceWorker"; -import './index.css'; -import App from './App'; +import "./index.css"; +import App from "./App"; -ReactDOM.render( - , - document.getElementById('root') -); +ReactDOM.render(, document.getElementById("root")); registerServiceWorker();