From 226a65ce697ea3a99b7424a2a28b16eed41d43bc Mon Sep 17 00:00:00 2001 From: gwen Date: Thu, 29 Jun 2023 20:02:39 +0200 Subject: [PATCH] add doc --- .../docs/source/img/KedroRunTimeline.png | Bin 0 -> 73358 bytes actes-princiers/docs/source/img/xml.png | Bin 0 -> 33264 bytes actes-princiers/docs/source/index.rst | 2 + actes-princiers/docs/source/kedro.rst | 117 ++++++++ actes-princiers/docs/source/pipeline.rst | 282 ++++++++++++++++++ 5 files changed, 401 insertions(+) create mode 100644 actes-princiers/docs/source/img/KedroRunTimeline.png create mode 100644 actes-princiers/docs/source/img/xml.png create mode 100644 actes-princiers/docs/source/kedro.rst create mode 100644 actes-princiers/docs/source/pipeline.rst diff --git a/actes-princiers/docs/source/img/KedroRunTimeline.png b/actes-princiers/docs/source/img/KedroRunTimeline.png new file mode 100644 index 0000000000000000000000000000000000000000..78eaf489f1bba77ea7d7cf8b2fb22c221fa6aba1 GIT binary patch literal 73358 zcmbSzg;!K>xHU>j3eqjzAq_(b2-4jlCEW}SgCJc3(%m}15YixxbO^}MAPqw!UH9<& z?)?Y8S<59H=hXW?x%YmIQdgD7!6e5-LPElMuOO?5g!HTr3F)~I1{!c=&qE3e_zT73 z?R#wu;1hsh6$$)K<|(J|spay~)7#wL8p+1l#mSn}!_wW_+S$X_#q$WcLjw2`%hQ)+ z+^x+$?OdE`we6g&k?gI(T(oaQXzjsv&a`iM-tf`#@`&>Ait-4ESMq?6kZ6(K%Svne zWbfzLq*MM$sa}buVp1v!c9&I%w5ql)w2CEB#uZd0t%95XM6u-gb<(qH?L_R_i=~<# z>(u#<7XNeX%l8VpV;Gylnb~EnE#22a+IlK#4sR3QZTRJtb~Y+-GSxa9;Z>zg>M1m!m9f@rFup@pi&773LQjB~SUOygQF3yJu3z zC7&6+s4pg+??{KZttGZ46+0r1Z0s(qJpFOfqTv8$dHR)?!>lpQ7mN60vM`0x<1Vq- z_-YFIhi~AVAFiZ3xg8$$)$mk>ek&@chO~xU67yF3kWy7uekt#0q+5@{@sJ@gmthyh z0+f{3nZw1oYW>I~*Jf@{MOkDIgX5DwbwCoN(l3;CDxvdqH5dKk58GYQXf|AWgVa?T z4^#79sEW3bCy&(z5Ab3lSf(apTU38yGx$?g7WRBC4zVhX8&lp-Ff~&1H@% zgDfx`*0%lo<~dnDvdR(l-C2$ea~N-IpH=floOH80_yqk$>@UJQkAD}Ez{e* z^rgSed+rlJgOh)XLHN=i74o4!Eq5oUFbjeMRv>cBsYO_nIl{qz?qdKXs+gT*&{ zY}I}|ATL$Ri+5VMJFkLRZw{qU23`FXj_;9tIKdNioRzXJ$r~pz3rOsXAwlK=uA*CM z*r$YLW&t@5`V~*6q@zPLF8K&jO5@rbpik&My9tQ$NRS6d&;+HcWC`*HT)D2D z2v>DHh;nz_y@_Avah&CusW9kauWIYg757i)F@NrVd1$@d=Ic0H{po!&)87`Z1c@6K z3PHyYLtj~0qPxu=PDy}g>HP9qraJ&;)EM8;AQ+BEGd7gM?tA_RSex(W`@q`F*T*pD z1tf7AHSpL?G7!rBEr_7D7|j%*1W#)S$9qTxj^&7@F)F3zL)m)5aV&v%a^Z_vOMLvN+Y0`y ziRvk%j4!nV-5vKlZ8kpryU*v%0oU$^Mn+@;_JkBd&Q@I^sQW7&c`sfushgOL?$7<0 zYxCvPDpQq{_1Q?2*KhUWe0mxULTdkg-c$~Q?tJM`7H;nCIh(xAbGRA$hpXei90s+Y z;imp^ORe5~=65LM|6Wmnjo`D*J3l`M-T#}aFsz3v`5V{U6HS$>^qhgH0psFP?cvdHa(xZF zI(mLx-Pg_Gv>zY3p4&S(WIUO|#s1&s?Oe-)%z9-J3(WZSwWWE1cb>J;75|c`1Foxqo0~Nmcz?av+ z{z9S9V`Gvf9^kSl0s>&*)O;4q^2Bew$5gCPk0f6 zZK3f1<-^_Q8sT`ej|t^sE=EZQI`^CzhvQHzI|M?ZLrre$ zwoXnZH3iS|7jFIqo3wf*aSviLRNUmg=QHAP}TzkRcZzfa7c+l~NJk?3gQ;}gn>tok_%kDuX2Hny(F_KrtD zlLoCOz*IUqZd4>H@D`O0X7{P_QKK);UyfEy``vi3>D$nSX(89UXub!m_scME5^h&1 z5%FhZH`r!0LAFRAo)(ZR#R8Yi)e#yiCIIA@d4WxFy{s9omI z(ghmOxC}^I<6ac;J}?^FC5^7R^vb8?JSwjEIhorbZOM#3YE0fgb`9NW;@p-`4OlZh;3|o5&d6(?CV= zq9gyiHrlucE2qk;@BF9-gd8kmY@fa+5|riKAy=Xq>)2%R9{&Jg=2Uy7eR_vJY{vZZ9!_7?xLcF|E&K+ z%-963L0H=%5{Yrr^lAH(lbBDg{2RNqmM@AW6a3;FMWx?;a`T~zq*YGdTRmr@Jt#Os z4Nk`Jf+pcl+vg^E%{d8?FJs7xHFX;#?rpZ<=IVJtOQ>SyWN*%VEF9<>ly>|0YQ7v9FT{bSh0e>IQj^~m5dFOul@AVg@pg^<} zk@#1+h?YlclpKo*JM`-z73L0)!^6fq)kfy7oRy62Qov6D3sPQj%jTl;3d(HmW@_{} zR3-KLezb_k4o93)at_laDp0EHcI55OfAknmW~cSPdAUY4b> zPh$baJVTqn#^G@0`&?V5LWhB6a-^4z<~Y8 zh<$}A+wbQ7xgvaB*!O%F-UwxzvnfebG|*3d%!0D%r{-O*GS+iM6c)c{T8Gdo=lG#y zqNOsnOA$_}?`Yh~x2G$NMez#GgRS{po8;4uU(NyaOhhs5 z(L>S^G)~eI4gGvM*Fd$ka0Z&3<8G1SK`{^2Fj6;NXux|Jd7b0ZuH$j}5zq*U- zUq|04>mcOU4DdX3$adcwoNZ8|D@arX2PTH9zUe$Gh9mCBiYHt5iBJ4~=F&(!KD3`M z=v{r9T)Dc1CIsBDxkw-fno8dldIr@yWWF2Gj@tba`w49a(zO>2rOws)9#VJ4ML-|FiFclX&w5hQ`PWpecw4~^Ucv7=M zaTQ!|JFK;PIy+P_G2pb(*)LxT&>*YKJK6zv$r+eec2D16aRM2w%dkS z%d(Sn{v8v&cPHENG&1|=-BR5_xwkvyEf(Q-)5sj6ZQ+(u`b$??{Fix;vi6CM1ej4w zgDu#zfpxcD1Si0cVeNoX-Lv_)8|!-f@lK7a?YNr@-fAS|&t8h4Th7@C;$L#>r_xXD zyKKJ|=Qm-ubx=BfUBYIcRzDtElCSIi@3*|oCAzeHgg`zDy@XHk)WZYsaIKH!lqn(V zNQD$3-i?rQfIo^~Z-I=Cj&u9<$M%~)Rn)XE>FM0VmVu&K&BTO?U9YnD48&i5bS|f( zBlF3JMfjUqjnut_FlPU-*iB59cbg72e;$6b@LWC0xQCs+Y-vp4vIbxmwiW zTHKfEONlP5Hu;3bw#kYmJlHAPP=5#Hz{+OUzkV8CT6S0XvmKx8^E0`l(Z7johlL?d zZk}C#F;!b}zF{+C78l5enHjmj$?d*C4@76|Dv@m+&?fTt2=rxUws?z*;UDpIMe>r1yraZ?jsS(C8F%b60QOI+AOj2yFtDE)7U0op7xfR+|2R&lIcUxdMTU8t2*1|F$UpMO>C2n~< zN){jY(^tP9abLR>ZJ7j#6X`?3)|%U+#Gbasp4{g%{*hRrKwo4iBM&}&db&4LzyXcY zOj`Wt<{VLbAxUMyTO_ranM-6*8)|~7VWH8ZI)@YXH6$&^!b8f<4>B5d z&xdy7{(>?Kk~iNFeJ9eFZa}y)8Q3}bP$At`PlMp%vOE$ykpyR8GL!tUG&Nf zgPdHL3~Ri`pu-C%CarDk;r{k5eJ#x4N6-?vE{ECB5Ye!!_<~Sm0p;ja2M4nm*lx(K zCfX+o>G?jm(M@eN=Hla$m)PTDf$^L!j?#MAYvJK`UV>1o=N7yjcd&KZwSsT$6Idgc z*IZdr@Vg!`r8W*|yrk%74$!VGR`er{duR}KH(BsXRwbE4sPsx3r_~a4o*~}W>i!mI z4s|g4O8CjaNH{ePt*Ie2)x-nrgbqqb|9gbxS%Dp&a#9KPr*{6;H|i6Km3y!{hf7sS zwpM!7^%j&CKO<;|@672}N5Q*OofBZ#-@{IY%dQUw#8gyNCfGLUC&=c0%~{*XJ#*K-!$eHd z4@f|}?M9UbfDgeFk>0L2E##!*B#PH)L$^vW3q>{f>Ek%3yvr1P*Hd)yU!EGzl%;{L zeu8xR>SaLa#i#SE)#jG?1x80$%|C6nKV)3}y~bu!2jS-VcI1}7Vs|h6AS?=ZkbX~Nrz9foSS@S^fkB)!yarTd^jf$z4#>OOyiub5SDpNZ{EBAUwwb2b`CiZN_S;{dF+AB{yrmn;H?_W#IbxPt)Fk z!q!QpfC4QeR>eOe!utAS+;b0w8d9Li{VV#x=FQjC)X8~!b1~}Oy14b0ruZY>U3kZ} zz~g;#p8AS9jo?f8S#8jy_I_-h9)4FXhv7m+g#*({TxzK_T|ohYE$Z{244!zej$U8{ z0Ml4;_6vVa^#ZFgtXUX54AZEk_gbLQanW(rq=zG#zkUsdO8-*T(zKZTeMn)?gB>UP zCcN~TsR#sT-x=oimfG>7=Hw)9$mt4vP++mprn zuusxQojd-t|Bw@ik)VYHF?|!BI8*$s7{59z^+#gCh(E5%S!@1)y}-Uuq*CgGn9&`==vdt_m`@x)*Qx`jyc9S0|5vG5nHd#}~Jy;Ej(fwwf`=@YYE`%{n*4H?p)8jg8%s z1^R)M4cI(bC_*H%DZNyc&be?G6Xq~AIUgPwgP3cAO(fd)3|Z;dSdih}pLn;`*wMqb zBg(5>y4?77TB2dMK`dSLmNo-clP0ja__$J5egTnmUZSb#6O=W#fm!ESeerRbDSp79 zTV^Dao5Kr|6@IA`rqnykoU=RjqK7Wx^6+pI->EPVutXF1%??lr_~gR-7SI z_N8&L1ykZHCU}x^cEZWg(P}uA6J4Xog!P-ZQKK{cD`r&&YPE^qe=nL#zwHKvm1-We zAJ_5$PR3(1M%jKj>VTBs61a^9Yrj#Pq&i?&XH#VwWv}9}7|RyfU;ddjWiz(6?=kjq z`kRI}E>}T`cn>|EcqiYugo>QO3!A*a(vI{p3fs)?v$MSIU7Ni1;$+p5lJ8NzXIpMZ zc}IQxDyI58dGgf0pDT?T-++hkvma^_+)fzNR()}S0%SAqY&-N%?-C>^{cKDOPleC- z{v6(XRfsj$QTWea6w;Y|<0UdYV z|1U)Bw(Ps@Hu;`eqrNKomc|EZLDgfhOrnoho@VsNxWw=H1I@+#(<=XpR_VC!+*_q$p)PwFvrUI@$<4w&@4@`OFZCyf|vdr#p;79?8Ob1rZ z?^c(GIg8-SDi+1mkq^!tq>UH&0P9Uh=_5Tdwb1v@F6; z22@aAPc=@wDAS~if3m!>?03mRV^;T!J-o0$6TGR`k7 zT<__13<01y0N*L49Y+_su0=7s_u|VVRf7?_03fUa!0hrgf&4l;I>x@6DHQ+&4o1xU z6~;|7@gmC-bg~%U;%v$tzTVCo&ld5pb#|7Z?Z~_8WhRw$2B}G&@dNleP8m(|AOmxb zCjpRbUS}xRS|V__#&VRvU;&z&i3s7xyEEV!&k^t+7JZm#IOM$|+u1!cl}5h1C22_M zA|6bDRqoff2VJ(VfJN{m2*xBI0|1Df8*)AT%)I?Lj2r0~z|FNxb;oQZFAWqG6~Dn? z9}gFsmD72i1v@P?fXQl}QM&cwkEHX4cHAGh7$|)t&n!J@9uLG-IUqbf+Zrtb5-VXm zfUYO2Nn`-<<{QA+k;cT1KuLoPYM>Jo08%C-BI0$J;dojRJ3H2cgM+^nvyu4pP5&m9 zJ|R_jKpkyIQiTskJ=-F}bIgX2s{^Rrsp^J(ze;{t)W&h30O&GK4(YXOrbqx|H#Z(*pBK z`$^eaIU+rTU^qNx7%%9qV{&$D=<;D@93|=bz^_XG;+EH(0&%I+g4P?qnYRXu)JBp^ z92y6fZ@fe{V?9uRC`YET16>)CdcHeR5jh4$q@WvN1E>SgB$}`O%wT6gSL$)GmK9(>TZO+7HFq?!J>z(mhXvFZA_`#{9WQSfP9>KK5r>1;ejIS792Qo(m zH2*NvmJ8CiBKDEv#n0pSzk7FIRM#_cwq}Cn78q(f=8|J0o9O6Fo!LG7Md+4?eR7$% zvpwP?Bdy+$UH_>HVw4HTPQ>DBl5%ePi`IOzSH5|*o{%PX)TTALTbJ$ji|qNpT3?Jc zVx}@lfx&8PBtz54h`r;gkK5|s&Tsdv44WYwp+#Cf6L1Qp_oAD7Kb3c6+bICe93#f+jief(NlDDtI761Y<6Fd6B`*^WK;pVMO2dkZlg44URaV55tB$|ig2=^s0JPHbR z2ZHi2XX7HBfPlc{;vxq?KoLj*92#w^^&m<6F{%ck9ChG7jSO-B2EZd_;zhPdn@@gG zY(Bl3$C!vb&`iIzv$IR2aB0&3s5UN}Y`1V@|ATr>Jw0XsrVNPhc)UN_Y+bpB#ZroB zj)`njHeYXLS?^Ak(9yXc)Wb1p&2H!6va%b@lGjn#6oSg_Cvh$VKpVCBBk#Tfs1yI& z5urubP-DpbIZzIDyXOJBu-4){8{`MgGX}^ft3Oa3Walc>7kv@A`lOhBmA91-SaS7> zUKe}+rv;Fm7!G`mPr=a9f-s${Z#1)6+(?hRc<~M6B^_j?_gmb1DV7Y(n-UuY)pRM?T?9}E)iA+L@J9v$TnZc zn+@-cilK_X?v36sT6u)jTJ&VOpL@4+*Ca_NanLX!gpQKN15V0A2+|B5y>j=V_FwnH zap%ldUIPq%NdqhW?Vh2vzs}Fa+q90`5O!ULOUWBNU#C9u>qaatd~L0G;lrNVj%E|C z#~Y%MjIVB5Wy9sedc!V9&64b&!3Iq}8ID!Zl&+#*FASA)O^<7*>q|B(up}9Svu}6D z2cvOZh7z2cb=0xH3p>_5eY4)EVepIFI;u``(%*;|P^KSaB6$CqoH z?h7uD3_7E!(+#b)9es)SoblR?^Zy;}RRnzhl%9D=rSb7?gZ7`RYfS-zCeN^as6(;{ z7V(Qx){`!ok`}p*ixml$Z|`}BBZiASh=+b)=_$?~vp(m&zDHIYg3ZTj3q(0qDW0KVJCOC%-HC`O^g8`8b1t`prmI_P;f`Xzbtwp6m_eA>fJS-sH=>RwnI# z3Rjma5J=kg-173WoNx{h{eVoF&2?EkWe0fm(^Z~=27aPi;GWj$q!RagEv@8{JV`T& zo8Jl1mSVLZN6GDMZNJFU;fHsuhG4bS<-Ps9R#2F~JC(s_QwRlks+Ock`1pO)LqS^V zdfoJCB|B^tV0}N%*U`K7zD}_(``(N{%3-ky-2@7e@YGZ$DWA=hw7GUmiVsD*FWPyj$3Z^Ah``N<}t*ar$4!ys2{Lxj7S*+gBRhY`Q>a>y5utOnm4SFxKXXSwq2Z;39nRzKP5l{h=KSvDxi0A zH>C!w9m38QR#sDjzlgn^4Z%&u%^TRMDY}{gGYUJg0v)@?b4EsZH@^TmIl_1IPg)nx z`;z&lO~^x*rzmR6TgyMD4bBTAiSnxJ4GYej!+DRCmAB>UN-@p5TUqMbsKY~SwEC=$ z3v|ivkxyKy)HMhl0gSp>EAN!b_!#7u#p!UG6bE-9pJFOS`I*iapIF*SV$)-DyqN~IOQQH zCl`El^rB(&FReU8!p7|9C4yrc{JZmX3nbw(}sl z4Gj&h^K<+vf==_jE{AtGmx~^FkgFaVKm_5G<`epemGKr#m6kd~3{>8Ld}2Cy-bOm9 z5>Q}h578y6_nh}0Hd=X3$}O-Fuiq(geFU@(*wo@LT$}G!IuuMSIp2ZaImw8xS-bKb zJlX#_#mwaN;()wb#^C1{>$Z*+$a2>Ib`pW67(b!^Y57|UL(y9bEe!;1+2m=!*exH! z@zBQUO?ATyS@;D6czqNY`$Ew^VLBafDyIwMy6QJLvXY5~ma?a3#xr*VDSRX$=pTK9 z^OB;@ABpMovEuj1k^Sp)BL9l3>XQ|JPcFXWNJWyf-1+jic#14((1IX}&Nc9SQ=el? za@B{oMjzV*Zd+CU47I`0H<{B&uqLoyFg`tqfjQfcAbQOK97iFEdz>#k2IxUZLAE?{ zazWx&G~rdUmNqSVtc_ZL218M|r@j?!=9~<`?<_M#XYGJ4Wzg!*2OWCFOYJlPPwoWja~4ic90BSw<&3w0Fe$T?H|Xxlm1-Dl z40tEdbF8gd5b6{(eM|QNsX94v0yPj|Cw-4*6Yu96;eYmfN93sVuHqN#Cmbwv!x zA*#4f!U{9;+Zc1!&)Opt-hd}qfMXMSa zQIzXdS)OfG5|S|EYji5CHa{q=@UQJ;zTY*ce>U6hBnIro4I)O0?>$qroxSsESRwmP zrYc=VryCVST0;I?i)q=6*EHA7zeSLZVg5NmQiC%hTPx!%~ zRCpf;2thh8P<;<=l{5%}w&m(C9%SGJb9Sd)S+`?|T|Gae=hSQ|auBnyF`L?69^>iuN-TiHjP( zrc-G7Q#B+UF!UD)m-sysBInanSBu+{~&*e%ZaAEe}?eLzvA6fDudir+_g z+{vq<^{-bWe0XhnfsjSr{&-L0K9gZ{W(L6Pmv_6S zNrMDW#|0}E6f_J_JMPZ{^LG~m`?(D|oaw`|0LH%-nKkP$O&e|Dnxbc?VaK2=k?7w{GaFNLX?dYZ)daJu@7Dal#1l(u z-N#m%NQDn22LvQJHExa(%B9{hZ-Z_%CIsTv)(Qs#^ki+X=Dhho@c5ouZH;F2&(}Ku z5&HJ1BkxJ_c)RkLyK;Z%-F7kW@b{}3h*}Eq~$9B+4Hz>C_G_7$3-;v zk=JM2MZ4tO?N@X_$--3WR0)(PPjDH4-o)8uIE05{U|)W4%@{ z-sNS^G>>!Hj!Ry3;avemeh*N9RCC0L1qGqsULI`&h6l>sHqZPh%;=A(Y&-?zfj57# zs&R=OuN9b*A1?59u;g2$sTTk>1kQPvt)>Pcw7lF7U{U`~so7lY&;7;VCw=cXx5<3$ zWPCJR6AC=`=eK`qD_kKqABx3tR3m6mqUW1&m?kU$1;t;_`fcBlY>{LwRgthK*`c{% zSI|2-9pSxiMG7UFAV8#PE}B_-Zq%uxt9zQ55KwGp-cs@$pnL6?im%Mu9Zaozq8q=AAnWYZpYCoh zFNb0CAFmVGVMG&Q`iUQyHtG2!xvDr!=&^`7FCoa+yHyZ&BdGnx`nCz3t=t=nwcoYY zX33z7e=!!R2`|6WT`xk6InPWD4*N^ehT``GffF8RzkI=xxFnj>SYi^hH!OzEB|*3h zfh+gNm>RO~yl7rMGb7;X<)GneMJ#N_w;sOwrzvuqG;FQsWOyMU>V87f{+gx4{Q&Pl zNEL5QY z+PP+rG9b59n_ASQ1K_!|tSlh3ZLPm*^S^X%K5D=1zTF%JJRMXEdUJOWA$e!6 zuPdh^tE2OqUq#}6S8W&&$)W%m05}2=XBMR4NCl-wv1EL*Q*~Us5`g}E%{SNBeUS05 z3j$t+w{BEp5e8so^4dB$!^n|^ECA$1ED-}>O3VQt0~5|T$6=?!%N)3eHIabT+_8947<5O8)8?K38Nma zoo)5T0|dXZ6k^nBpX1}bu$MaJx&x&EX89X5e*4Bud$14%48{>|=)m^{WW%0y-s+l~ zvJMW>g=;8ImF08A-2O$%#7DXUya})O zp|Rt_JNUVT4Ys?G&vr|ey`5b_Qxhp1+;iR$ytu0d2Lo2a3~1!f;M5+1m06{L2KrWb zzq;pb5mMIxn>TcV2b*KKn_q>p|74}00+mALl5+uNDy3_n6qqX5+WN?(noYXJIiM%; zT^l-VTURAIn83W#1E_nOOvx*>qM5&ClEct1tiA>PW75D=n7&Cj#xjKyjD$YbNGg zAB#M5zarX#tBF_K?t9elEQ&#p_u6-=Q5iwho*i1aVJ78 z={|l-@Z128Jn4rQk}3Rqx^tT&3h~>Jc>2pr(_}WF2V}EZu6!Ow$UAvoC5VhU&Ua2%vOwJ=InD=EH zuHee`t}m>gF|XzG+z*>e_S~BrKiw+R(cQAVAoXhu7Td{&LJRe)j;TumP3jyfLz}$H zFGp7m>~px9#c8lf8EI)k0eM=q-A$|-E*XNy$BK#L}`X;mroWx#M2)1P*iba=$KtIMM@5+RXNvwUJlbWyVh3M zPDx6#hz=*D@dV-HyD=&;pm`Gr>43H=Hy(%3^0SiPO0&pofnxm9fesHRP2qOGY#nX)w{i!l?PX22hX>5rfE;f9;>)vKjCUbi;-hXhknyY=#MBG-++xHJ zrLh>b#Qph@y$FyLc37j$SsHh&9~%U(ySm@tw`+BoXOyl+i^R-C=Ucq<$@O&%M12{y z?NWGJHUtFlV05DMfy_NXt$n~+A9=|dT}WBI!l_<3__OSb53b<74B3$sd~$iu={+*% zQ30%~eIUVQFo`kXUl9!_C_vYa+13cTB>(mMYIB{bX&FAv*ej`*k=i}9|KfSwtpI>F z(%5geWD!7s3Jj{37oUeAWRH@IIyU_~{>ZQXf|k)YW+OE&c~Puf{SvxcX_-S`q3T*5 zeC9up-R>Rp}hMXd|1Q%vHXyO*FzG1-4V+R(!#`R7PoC2$GG zM;j>M1hGjA_-rXCGldFAQN#YnZr_cgNI6kPZqTpT;~2sv(AeJ7a7aU8^t~43PL&7R2TOC!YA3;B{&e$6 zCqYuO`gOMWPbxeh%@hdTF8+S&y?q2et!KVvGlLvK8mH1C-!mnVmf~k-A%;7w)Se#C zW}G@6bUF}s%cJSMmdn6zWrIupOEWWqt5=veC{?iKy!8g_PP=yj z`RXUe3f@hmnPd3!vHoRzg!uR;5_CMVhr+5mU~5`H@=FP_!bnkVgV*2v$wxH?bIg@9P)D&%^a^d&( zFao*PAP^h}g6!%@!Q5&it8rgR2}2ZqV{192L27|nkUroqQUFKj=>Cd#fpyNR(D&Nu z2>j~t9>#HyKbwchAr|@1#(}AhB;2caSZh&Zx1m=a;^XKYbMc`$HhA1D@~)6C@6<_} zeFbC3L@~NI;AYOv?!%?_Y?<@d%Ia8_4o2H&@E-FT!M8wl{Sx_LB0dId5Bf zq~YKS?Qs2(-m#m>Gf;y5h?!&EWc#11iD%aH@DW}WvwFeghGTxt)&f2H}3fZkvgg%WO5-?i$yBFRaPBQjq{dd;^s6aZX}66vBLhrZZPyK)g6OD@-QV24ne9 zvd?urBu*mNH#R%x#DZCB_vKI_Q8%FctVX{=sa-$?=WMs-0W7ESzD$cHI#11Hs=D?X zEiywiBQ`Wkg`RlIExRHOA5KqvMiXZ(VuFAVtxBccjGgc2yuUSl?~dS`#RD+e0JV7o z`QIn|e2Qh7-=N{yv z&ICi=70jBPB;`{TuB9<7dzyd^eC2Zn%uF43uCr~FuF3Lx%@?&dP^-Y*s3Km=gip*& zhDQQ;+*>8aIB;B~LYhbZuTE#HpOTUSu)P2T{1P9K zfy5);s_5VhS|tI1^;#5ZrAnoKYM6PZ_Sdv2b$Dn6Tep)eNON~lTTYF-9R`%D$&tN@V>ew9Bsrh+D(VQn)3=28`j6eYkCNSYe zTKe9}iK^5*A0Y~$dcfgum`OM`*;^$gtXvE))xepV=|a1l)DM|^S*|8RpsK3xA;MtH3Il5_<0pt2gL+^^I~r z0o^e3e#K+_l^c$n&Nmi4JLgmR%#)^HtI}U;?lg*N$^Zj(@N)_j~X$BDvmG}J$Zi$eH~b;+3% zCu|)w6c_>=sC(GD6f=q^A6T4^X{q2d$Fd5~LeZ~x1%y7?L9s_+G>!F8t2bPsY@$^p zB-bz>G`vY$r<0|X-gR;rv`hH_$@Qb#)zewl6li!cJpi}b;C^kIQUfb`068dTXXk?z(Q5nbr#Gvp$e!-g@A33?c z;5Am;vxmDhv#qcD%XD%&w@w;NxN#fSQR?-552F(Ba~Mwjd|kWqD5SW=@4IQ9nRl16}{oR5I5)_n@GyCz zQahh{dXJUkg@=4zOV_Y`L5W-*tngUcDS^>&yS#*5@$e@IL#`_Ahw5Mbouj8Se!db8 z=3-}GpVm^Nat%NY?9THWQs!U}+ZG92S!CR^{d_DfBfiRE|1_)aLIvm(AuA1uYhyVJ z07?u>O`#)ZuP(wGS!QAT4PEokc@XaiB?(PL0^m><1~ArMm}%gF z4rqJ@q8Dtcswd`3!;gSJJpsN8MMi7~vmyLkX6>kvwm{!lI~LI#woHxx8~u0PQ(08d z#e*&T84yJQ)kS4T8QT7#cZu4i-}rcGF~EmJc5-%asPbYEih0xbnFv-$?eg9HX@V?diKsXrYH z)OeY+iv0hl1&ECFX#~W(Ev8=%ZL4J0|EmEbFG0YlgGSLi9O2xM8A6Y3M`Xma|E`O! zR#)m{i_u0##fC}FiYB9p-{t1N(8*1iT{80D;D6-9t5`&4X6ACcK;KiZk7UpRsd>gs z{@>YdEEoaP^9@v@8Z;QFm5QROkdfA|PepyU$Pgfn$o3k^1NiFw2<~U#rde58tU!DH zVY#8~8}PpcoQ$pdnqD!I;h#9u8ES$4QAS_>%%1>AGnVKOAKIhm@@T2nKc@^LeG+I* z>wZz;pGfCdR>lS1UOc_R=e5P=@m0}N*j((9FEt&3p?pH*fV}K6hUFsV40Zt)ilWth%EPC}O&C$IsdZ%q(R|o@=Q=q3@=E*nQ*?!bw(Y2jCRwfWrOl zN$)E)*(o9r$+Y)QkC-<%5Gc0*Levrvbfkwzr9_o#(Tnn8hXSgXSS;?QiO1JTQNT5f zo;RzTnvT`& z0FVcv-0S4Qf9wa#vDA?m8Oq_nyk_SBFvNu2vqO+j=rx~l5NBM3b$t@8a8+;;L}~Z9 zBQM!~1_}b;<@PB9G9KhWxs`f?@lt-Xg|GZXT1%Ndup=kYirAMz_*T zW5JLJm5A{AeR*(XQ#EGv2ig}(Zy6}wf7}{d^v_+P=@A*hHgHb=q}=V>VR}iFzS(SZ zc#(Zp!M5+!>f&Wj8{%Duo?ZCKR4?3dJ3w8jNacXLO&fUgxj3>%tt#EZ^#Gq&HETz>7lCGH=BP+n;p; zxQd36(bM2a!=059Ly}-bAqz8?FJz@X(4wqT9I@EsM*l1JMOL4W$Kb2;d~2p2L{&$8 z9EDJbzE4V@Uag8#HlQ0c2YLdW2d?GA&+OcC8Xtblb;t4HyaL2iPh2tw6=byZQ{;!n z1r2@uNSdIlXF!sC>s6s?0_Zens?1g7_owcz>pIW#IFHxs^<2l?%m=fGIBCgaUeVGVmXpgq z?_K)LmupkOu~o$7L+<0pfjJM2T*&1H8Zd`x*YH0uQwgf^idG3``_lef%E!sy^1z3`@7%WXqt&Y=`^=)~7=SIv< zE=C5w9YW?A%Lyr`mfeg>o!($`YJZ<5N;wf_xAylB{f0pN-;=&+;&+@mBZbjs=;!6; z)6-s8ItNVJ>HTUqtfN-G`?~yRKxX&Owl zdzZgS5?K(<&IL7Mr!-1RO3>iR5_&MTpYO~^JaNq}yf78ffg2UDt-SCI%<=4}E5n~| z%ty{8bqqqC^?$Od$6TgVuT$zQh zU3Ad0Xk4%jr6fOm^a$GDKh77XdpBXbYp%ZZMs#d50w|b24H<}eZG1Lnz;u#IgG$epQX6fhJ*24hk8zy;L?`h z3TPazM^r@slyK~Oyr!tqXQ$p|^{~;?9)!lQG-Ta5BG7>tnk8gpg4)wIa)Xr_!PeOb zInuc|dl!d3Si1qSydEZVeSzYk{eUfuK5zqb13vB=-j|yR3D3qoo+%p2wmflc=kWRc zHJj)ryuSB`19OY8d^F(N3Q6H{H8s5!A0IDa|(9mbQk@Me{a}@QsH0a*%Q7oKd4c2~$?d(+7 zkh^lwTJ)EbQW5L0rzBXlO;12L^XKO8Q8uO9pX9hI{8tS}w~A-Wm+@0ab-(c(%I|9c%H6=g%Qy{W>S;ni6XA-P5)e$toi}dfdQw;+D!N z$%kq^`pduNJVwhWCssOoeQ+i_DvHTNS%B96jXNn;n+eN4%&AFxNKUP?#$fybD|><71J*c*Kk5s4_r(( ztPm;K6R7Wl!1&!L^jEVoUuf}12M3HJ-#!QijEOeV^O4CG=H~lQh zaal%H11ycQ*iM7OcX1g(kG|T4klGcg-q=l=|MWluG z>ri1G@BQ|Jia$^AjYjL^m%4wmrlwq|G_gB1Erro1dysdn8IG;AYmPNJLSSlI&~ z=SS(OL*u&_4n~b17Qb3pWX;dYwkL}$@bu%TTktr_nbwwlKJJVZ#{yOa%aDKlZIJmyd4#H3m#jgR^FA#E&1i}frDc6 zpr+&F1GEA+FsyHF?ddEmS-2uD;O%ICx=_AN`lDGZ) zKout`lx{(vKcp&x*FkqZpWw#C=v^@q7MqkFd2HH-CN)N_hn{vFNmr4LUf}27IT;s| z&^_&kO$FngN0-q!&z?V*Y|?xtH<)qzAwKDdbvltV(Q08=3 z=Ty;`XQIjB$nSV*5TnCUak)4^CagozMhKMM1E?j>y?C0zRZu;Dz;2fk^N)-x6JqvR zTaN5j{7~So#wemFI&+vNGkN7tT=zbCo6Y@xXZUs3ag$W;jdHS1h(7V&Qo?Z{QSOoQ z^MX&kqVvf^ABwTQPM~=~Riko%FfGjTxcSO?)w>T13PSs)_k+y@oJ}R#T9fdy+-Apx z$q(CIRT5oqU^71_@9-i@KRNU^(=|=a;@iEYXE(D5C=1VT;M=%!4Lh&tJD8MfG;~bw zKODaE94;F>bj2U*{4@-^)ONJjqq;1i#eM?a^QEo>qM?|}Bqb$hSN@>dROUyjjb{y+ z4k1D)GRH||CNE_8#xZoaclTUuA=)OJBFAuV?-!XqFQ7L{-rjEs-w^h)I6!41!o>uGj z?}#hDYA7P`C^a!L1dX_9QOB1bN-G1XAYuh-$u^zJt9;yOufQ9ZsTmw7OiRHR9#ZVjbN2bt`Jm^8hO|)jt72j@JL|3E zzAErJba1a65RL!ESoW}Dz!lpG7Y|RM+^I(l`F6Yyb8?8bf$Uq9ajx8;P0`3(?cUP( zk>$5Q6Psvun*JP*XKvwzQz{ZPINTJQMD|D3qvb`)7BkgHJdk{>lZ@=_(W$3zaDxTVdal7 z$z`B&Q@U=r_|+NQ{iZ``;md5d|@J%*9umz@3kwgO#F)U zqpdNmiQBE&7=xQi=7?VE;}bj7!DdXWHY`LT3~^<`mY6?t0nP23p6AMCqyECN{Rmo8lzCUqa>P!8y$ zhn{j`u+DEaAopg?@X1KSE|;>Cp9ufi?c28(aO*m=j8dEs;)bG_aP#ItnD;WXv%63k zDX1h1s5s_$fhdTBLz$YusB@u(@AN@5fRyRpl7*o_)=ntzL|aPH23*F?q^GL+^Q*7e zrAJ;$Mn+V`@gR8O1bCA%pGk^~hoZaIC+kKp!)T^|_4mR9tK(M_Af?_%HG#K9tZr~; z%cuTxAB!oRo-?2J9{7$2kJ{dOQ_|cCuh#-BeWt1ESDi4(H1Vcm0Viwtspr{NB@!P? z81ib+S!%anoYF_5pSJkvN(_<9w@wpTaiT4}c?fW$dP~IX!OoKo!CfdYUYKe8><5X7 zS5iqSp(T2Y0cMd0JjcAR!6n4$u|s8l+kFgns^5;Pu%E<0q(?FkO2h?S9K5O<92{(6 zV`B(8_ejZ>Jzj5PH2&&6J8|$>_Vy-4qn!NwEDVw5Cyzv^|M@mq;Qq<~$Nip$r?-E7 zwsMRb#_-)j!>Z;FnJf+ctJcc5-h&N=xOvI@fCVwC8QrMYoSGyH;1fXtZ*g zs9i%P!)kXxm(Q!{#P(WwlnHG7<`DKB)vv5lb8_s*+Tsp!>Co<=B!|3wX-L%JUpnFX9`>WzwHN9(U)lM8~hS8w@H^3*xVqw{g(xG$z6-;0q73WW*Cm4dI3h;oq zINeP34;EyZg<#mq$jls0cFunWduSAfcxsvr^5uGeWll z6PK`p0w>^|wzf9oI!YGHwZ9S7R;oyOJI2|WnpvNp zWN_{A{3d!+$63{P--B4apz90H^O0W<@5aRgFyQ|2O;|ua_fhift9b#{y}Yg} znG%fOCMQkJ%{c`(%k_J9+rm$=XZDN68eiF+z~ykYH-8$2&a>cMz=x1Wtr-sCsq&#Yooo zo~Pmj#ApwlAS66HKlqexz!mWz4|Qh^5wl2+5!~y(a<**rw8jdbqR~G1GZa(AS|)!i z2brCfqE2DaZQtefcWEUqmBv3tW0@D0zsUIaf`5kN$3iqVF9qEwpx>l(4I^*YSFX%& z$x@5r6kZ)>6Gbd_kWL(Rn$o)teGfgbVb3C`A2LU1yV> zI-2^_YW}8n<9~$NfTw_xEcW*gGCSEEqM~B8(Dh^V_`Sq#vD)y-SCbR*IZUcOxE6r+S@6jRMe(vZ7B4zREeWQ}T}CE;vM zaubXRjf(A<__=A4vv@?rF{ zyZm|c!ngO*IhR+$LuPJ;&0-b)Yf4~M?*K&~^j){xlh_^r8-(X5H%k8|0GQD^VI?I? zuDc&Bw&#>sNN{neT&o_tWyjxOnDg*J`DhqN^p40}FPfm!iFmQooI~;_(LiBNhWu|I z7Q`%k14_R)ue+vc@l7Yg=Gc3&qRLm-Xy{_&;;6H`B#*Juu6xoq_3&XXeM+>0Z#pH3 zo^LDeLHhms!mHLsAtxjx8eZ>vzy^Uz?7e#|WqkvVI$L~wmLn>*bsx?Jh{7{D3v~Vj zphy@S4ATdUMB_jB57Lo?(0ZRoE&Dg~plZQ^G0aX<7s!z(tjxZMYlzMKy4CD8G zPeGa0Yx<$D98ejQ59Qm013X|r)!6PD&biT#{&9|!&sEgt2K86dMDZ4k5$_i_wbZdX z`{`nA3QfiFSe6xmnqxbu>c9NJ6jf+~!3>yor@Eq1q!i7`WV@%}nf4(1G#sPxl8^cw z)U=O9CnIO|TN+*^p}s4-4^aVtKxY((K>`@evr|vQXXXbXBnm+J{5b7ZI45`hMs(wM zP1~zmz?=YW&7U;gE4Iap&hV7Bxf1O@yS4Q0NgY&iY+Sq!X)&U1*$z*8$gFyGgREVO z!S+#mcdxD$elha-?7scg`IS47@Byjk@Q0B}lvKrcX*+>V>y))_Q3{N)wGnjF;p6jZ zSk!QAi*5QC(?``;=GKb+lp&@yaJVtFaoi(Vdfe$~`eUh$8~nXY#^hojlL2!#Y`=ub z@gHh*>vXdZqozc2+k36C`_ba_)G*AbIlRihe)W(C?IW&j?E#9ZVuIhbO)bWgk_E~3 zU;ETkO_Ju9q_%n75I9bXQP^T^9ossfI)7L{K3uQc-$htJLv1`Wzm^3KhG^@1nF>YF zkq&c4bo+^`>;mu;@a(?fY=WL>JiWd3Tyx~MRMH^D`PG>*!@6-D&M~gk30u`MML^;|SM0e%saR{jiRU?-Xa?MBC|NDgeQl_ZP`5 zb6r&zQWG?}ak3KnQgWv}JpXTja(ocnpAr&QZ@9tIJUv-KKsvE@dd|B+D3Q^W_yGNo zc0=@v4&C{-=Uxv@>=}iE(k~EX?N|;!lt7JAK!aTQP-u2V?&8 zYW{y8O{Zp3SXs%B?c?8cSGPKE(6KLe@fq$NNQ{zU_Uvn#RH#h2{o67R+t|qPmzNfA z$R=)wXzRvfn;t$0nQRT%miZC=g`IkW`u~0~-j^sj$5W^5QDgsoFlx5M%j|!@N_1m# z&NbfPlqcdRI!^WYoGI(G;}^rPS~T89{JlPHvJtRD_n~@fpXK+r{{3s*md$^kWIZ3d z`tL_GeVYeG8!LfBzoHu`U1|h~|}Yy_Bff4}S+0LHWd| znHT3z=Iy1`->fA?toX)P+2J13N8%eIuZh2)36V>DGHb2B5)?*Wd*hhY2A*Y9SC*HS zeK_~&>j>+_ZK?JE%LiQP*thaBiRF4|s?E{~IvA=ih?>#{Y5@%}~WEdk^|dfv{AR3KjdF0La=bflrGR)$+nWu z6UN$GK{pio{<*C7cWE?lFIPC(BLK+bxff3qL%pg7gh{4r3*@vM(0F^ebgrdIK!ddb zI@T~G{h~Y6>q^SdI`#TaIHGhxWfhf#67Puun$jq_vCp4dw!etq&$r9vaOcu#STMun z92!m)k}Y<|7Mq|s1y=@eKmLPY1ev7r8r`(x>C>Z83a`U(*O0v(xdT+5PJv0{XU!9Ptp} z*1oTZ>vpUjRlO`Tm4D8|k0n=l0Lp{G0Wz_F{{}$!`T6@{c|$Nk+^t*UBfH1e)$@C$ zY}u8<3}+|t4s)$6d==p$y`gsAPD;3M5ylZN+EWMy3xhS%vI*pwlI%`{c>qmVb+sBB zyN|jM_KMilRMvv-zTSOqoU`k#@m0U?^oe6Z-n2(ar3y+oShO^kp>1e9CS^nl&q9t8 z720AtQ`%rF8+oRE)mapNR0{MY=zFMxMAl61U5)+pe_DVG{5IBsJ3p2)BwzGYJtUL& z>eAsWMSG{bllPyumapgCC(Pzl64paDB6(k`(bHfE{X*aV@I<(%&l_ll=ue)0+7m5x zumBX6M#1ZGuZp;ol*svc4?u-HRIlo#^W<6(%klv)omqrW7L8~Or}B}TcP+!%ZFbxW zyR$cLmhaKvOpJA6nnYTc(#|!ypn{Dkm#+=RJUJdIgUf<>3%m@`8GPrIX3YO&#d_;S zFdBEzR}PhUCkZV+Gzm6+w&iF*NPf=XaVkzwAA_-8w_N|l`>n9R;Fw_d^%!Ne*O zAuAey+X^W91Om1R6H zPEQ;Cg{^OW|LPqeF=&&Oar^JR<*{+Uwsg@s_d>5~vQcA0@Wz(+{#ILcIZ4@38UeIq5xB*h(cV75aW=F_MwoS9+GFa8}(&EFle>$iPNupFrBt z_)Bn7&MV(FMvE|fIx1uP4#w!+)!hYlybN)t^&2tAZv*V2PMMIp{fEy|+ zc_wGWjbPTCEQ+iVXO!GW#m%_FL%X7qlIFfvesal<)$1Zr$sB${wd2-CP!ciUR5^}} z^^bdmpF6XQ86cNLNn6U+4`jYe#!FwkZ$7c(C0OKN(|vScM@Jh5>6xO>oTtla+i zXsVF9k1~RaJk&r%*=1fVKdk1!gf|?RG1U{uJMVZrm$dg|38lfVyeq|M$(&>~95+gt zP(HHN3`i1^!NOHt3tQ!Wt;GeCq7x1uDfHXi>o@f``SVc!9;oIb0H7zY9 z&iIV#znh7u7BcFJI;wZLBFnIg3^awQ(f`${eRyp!vp1F7Z*p)>4gC-zG=p7-n1O*O zL>Lgo8mRvR7zfWD+B#3S^5LvCoC{0@!~}kH2|kX1jXSH^h*5yRtq9vvIWkjFDcID0 zPo(2_J_D$9F^XS_F?bK-KaLU;F}cq7k2_LB9PmX15ks{KyH`t>iN?&=wP zIoqzG5sqBZ5fGxyYkyZXrgjd*fLZ0h%H=$;LU26@^zSHfwt}0?q8ht&43Zl@)x!cE zfXwvU@Ez`>srTBmJRC6xQNRNib|$9e88gu68lGgH-udCAJIRWnP&%b;P5j%E zXaxB-Z{D4PkWVodFEu~%H}E#%v0bMV^cLRgFxocpJ$?Ai#gtcxNfFMD*YFGDKu4)x z?mrR5&fYOQ+!*t91rBS`f^LJ|0~a_6fjKdU5pWq&SE3EOGSE5`SXbNRPcyIx6!1k0 zEt}om0?g9E8+Y^WT_f-!nV1odR(Nbfs$BT@n#E%z661!zg&DuK6!qmXPAN&r2Y`OM zf*3eKB_a4G18CoycX`&k`FFbtyuxt_pWmdKAX;9Ol&0kTfsN`Yc=JDaFbn7w<8pG4 zpem&E=U3bHFaW2jASr)-?FvPu_=*^eY^!6Jf^o#feqfE_b%Q2kGDJ=UBnRrtv^Bl5 zGWqh)Z#tL|6|ekqxeWW~Lp-4i$gGLYpDafE3ko}%Rbw?4Pvh%ws8AMmNJQ&%$m7b9 zVU{Rna!)3o^>6o=9~}g$r=V~Hq!|b-TponHF@CFoRBs7fMLVbIs59-0N$Pem@G*3m=;? zS^1II0r;a6ZqGICW<-FfD5Ufwp_?nkw?_s}vE=%ndljhfZ<8)2h%luYHz z?)~99w|TReRP_Ar@f z{87X%6q}F`EV%bF`L0Io$N>|R)~0Yy;th044pDfmOhbU-NF1BRt}u!=umQ6_A>#)m zlU`dZNT8Z>UQ-|U$0*5Zw=t!d;BW_G$^xg?@s*bTi!-x;G8^#GoniDuD+lFT2sR>t zwcp)!Z_#EGZyQ(`MqY=uH*Z?eruxT;=pI!a^sPIdbeiUxW}t%enG=~eCiuKF)Kt|P zWBPZpGaPr`NA2P>{_ItNxJR(25lr*VK9{SVzLn{wNibR%1z%QH6q)x%6&hxV!zeaz zL~TZa7!JX9_iXJ_?6Z-7l#>JUKd^6_<)Wk2rg~c7GNe0CcfH!sDEk(Blc`kLATP99 zRQ?!xY3Ng&#SD}Dfj%~Vy|^49X0X~Cp#oAgEKthu^JQT zeu|zxje{_ZYSvqgsGI~pFi|O(X-FEMtFw9VWAod|pAqMqu7;x2cvaa-bRCosU3IOF z4}lT|naQNz=B|UaTcC*1J#c^#aIL(8!Wuwo*?uLo@0;ZI32tsQ6?`fJ$2|2H>* z?pPYdB2M7mV<+X_o&CLv*$Yd`eJLJMyX$Tba`yD}Al5+#uY&c$)v5u(XwQR&&@4Ov zE;a2-;$XGedI)14cpC5+dN%Vi+t+}b@12_|&0gZ9BPaUGc5XoWgr#NSiDv;4 zgSXN^tx41qxFe|nwq>G60W&s)@SA2JI`hv?#nbywSU1RjUa-g z1#ejNBlB!~R6gy(6(9A9${il-m!G!}yK8oPBJOX?<3o83*mOd$cT*9d&*jUi1T_N{ zIMS~;>Q={h%6ZS8u)w@}U^7)v1Iva$oHX#w?mHgC87ase@fQtci%Qa)48E_D%Glo(V)d*~s~6_i=+KM{kmj?9y+={`FVi;Wk3=0PnjYHH!KKBKaJkBtxr$Qzmad~z+jfiM$<8y+n=WBIf-Am$1z ztnV@nc%Hv}nSncNhIV!RI%qr>SLfTs0SMkjLc%|ckf5(TssyjKcD>N95OWoFJ> zliZM+7$47ZQhU4rJO=?$Vgu(n00XhwQKJk*b6dUJmBRBW zSv0NoX~{%aqZU`(Q^f-&PWaDX_95fPb8YJNken_P}o z9nT_n-n-vO*)66Jhu%Tq%AN37c5MKsxMHk8=#j-3{dKunZygSt+?L(Nck(^vW65R| z)&O3uj-w`*iglVjt4~BR+;Es;Zjx42^s2Tn(vjr~f<_ORY;d(vqe~g1X+FocJnAxI zhIdc)Jac`D+6Q)P`&6%r&1-h2a-Z~!b4x#7jLr@H!#M6`W*$F!H2JV;@u`C9HsLtz zUtP*(MUNkC@1Z<$yZ=a=vHy6_!FH+IIc}4}tXXeYZRt@BQ*}1Mb#-UnOF>^UR6b)u zqDTTQLji<_ujyOtppe>rtxkDB94Ng2MpR5X6kl!-DivpJ;l<8{qxHmylhM-l#=T6B zZ)y<9Oogho|MFzsS$lg?05{C8TOL1t4Ep9=|2!@qx;E2mnM%_G5otroa^3ZcMuvA) zHvt!Rnjpx z@3mb~`?S&>Zx+>0aaNPHkF#ugHUZFp(-YN0289{J zXa(yH#ZG_5U&U*3bV~je4J}(cuX=~b4jV~4EqTcgm}XuMQzj`V%|0qYO;gZ0jJk_{=2QOQg%h&c%Qg20H`y7 zN3O)1r1U2mg-Rroe*h?j>C@|jNVN5tYXEZ>@q9mT$%5Hh{%7q>7d`*RXbJYVC{1=769gqy~ZMB3uyzN z1u62CW^kQNHY$#eXO<(V5L{8JR zRq?{vdm8By5sIk?@QtFBp~=deZ&Dyvwi0)C1XHz8q4v$s=Kp}&jW3yQJ$HzDfC$@v z_g$7(&Fp|~KG(l*6rG*uLU?mf@o>?Yc`g!t@HW_N!>8)6i&JkNYwSEAw`b4hWbO|w zMLAUj;2gicHvh-U9|CIrcOQYOqhCr2xg8rpP28Y3(RKM;G}ovwZQw!aHv;gxCMO1g z6!Dk(8??w8RlTxF#3s7jmD*SUu-dZnEs7AY)z&X>q98@(_Rj6{{4G$nCj^*Ew#v4 z*XL#wkMTMPlPJ#<6dBpW!zfrYzBnK&B2850b8~#i3S=N4@k}5@Zj?Q`*Q#UME0Tbi z_ct9#!<*!;EO5|L$!?&08;8C}!^|QuZkOI-2E-Ud8r(aX`SG#UPO3aBHnpO&mcnfH zkeAPbPkd%~QIqw+`J6F&OlF*7hV@Au4h=i??n=ZJTa!G^NZfk3QxM`CHo9yw=W<}m zqD07_$H_haw5J$_5N(YHt-|ak8FoVAAVnl7k7D|Dn;r&qJ4)|HNxFA0n!wh4FKwsD zyYP$g79KjXeLjJ(IK=q=`E9qlG-o=aFA5`YJ#Qm2|AHYACD??#y`te6T8>(?P4%M& z#)og%f$Aa!oa#DSW8OmGaHkAE$|N$yJ&7L+41-P^=gdI@wRg5FO_4sVtBu&#m8gA97RZ)?NMq&7<_k`R=`)Ft;>)a7Ndw zzgJz2&q#v8=zE=m-OxO1S}&fig_lK8jUdx8!J%7);OyDtPZEX*9Km?vbDTvQ#tQG6 zPZE52e^!l7d22eU9X5+VluXUrhW4!33=LC`jdJnq+3^{Kb{m3)wwEu1!0Vw`1@P7N zm5e%tp%+mY0Z?l=o;;=XlmaL!;Z6Cep&LU00D`n1l#iEu)eWsaOfVp$Kb8+3K1>g; zU}|dW;W~-rEQaQf0EzJ`Z}F`Ydav}pNI6```-CkdcIXs22szo@_3lBoHRD9i1gGGn zwg`H0k=0pH7hopF0 zM*YurD%Q%W|F}2FX6O8h4Nzs@NqkTeb2J{Fu1z9N50$A!#7>=AwI8Pl$FW|lz5H2e zDgOFF39f`%j)M8<1!-qUL%)N=pIe!noJ@~s)7?;qot@A3Iwwp>Y-mKhUH2P5+1#jT z#Kw;5aM0BBoOVlp;;`ov1$lY*4@XWD+?yGa)v2juZnOKGb!JF7Vr>nFb1Z z3}ZbM*1>5K#F?2eI!T*dW@^-X9v(=Jmslz}hCeXOjEi`p;>?_CQ)!d`Fd?nljlb1V z3_|2W2pInDP6mlG?CmSl&wMT;8z&uqs*L!@xq2E_VJ^mJu4RE?vpBhjkTN#(voi)` z(<^iz)+X!}kf&*=L$#95<$#nz1hZ$3`VI?5t^(?}13e|ntgv-GE3X3~`6IHP30sRd z5ZC4_aSB6tBU%NoFb(>yMjj(GY2E->ZKZ+dx-|-4Aer=?d{Y?ja{^6_N5B;u0T3Uo1Yelc}EHWhipS zl9BwSS81#<>gI!-Gw*7{=%GdZwvUjkp_0JSz+1Uhs+Rm++QTpI1J#Y&*pf$nK=A-j znXmxWu8tU}Ev}wlf;1#LN}SaCeA+7=$Wlc`MMEfu_2XT?k`xa)?Ea;!_|tt@`l6+! z9q$HA68wK$(uV80az`G7G0H~=Jq}PBKCBy_2`r#r=k)T4`P0n$`_F)jArv+nSFC?Z%pxMNAEqe zF)eMJZ`ulwEP}8KH3TuhSl|sL<{Xg4hGF-itQ6M<405rzZ-=9t!uKNL7?OOKeiaG8 z&4}lI;@nM~AGHxA!}|5>dG}scv@j#Ac9gCxySb5Om=lr|DICOuhvVWzSE5n**Q^xC zHKGYE1yIFC96~ya>?CTWM(73Zrmide3lwXFz^|d)2_ld%9JksETvrYQE+nYnM3Jb- zaNK8Zz3Rp9QBc!_uGq^rREvKZ1_sOOi*tJ&mgmQb2?2KaaOeeNw1;uBVAs;*@wEul zHX>Lb2OMaDElb|}36w-Z%`bie@&-;VbG%mIuBxZDEH4>r8Py^b03rU|2QxRJ&n5IE z_2VAcUYB6AAm9=-s?1P|HN&?^xNeFk?wnu4(j>&98wEM8 zdomM8EO+9N--qYFyjFDWSDqVy-J}x;vZRQJ$hY$M@7}#7G8CatB2=Rrxn=HS^Xei_ z1S69XZ=8nW^&22L1(H=oGzb8^0S$?b@oo(yo=>vcrFqlVZv@(oz|i;?<7t?9uSLaf z^?hM(vR4Pr4kXi4pd7n^6Vm?S)=+GH$P=L|#woePj|9(=0(xWn@!I}|_vaQ=Ht)TB zAu>O~yVN0AZhsa<%qQ}qjgL#*sDgHjoLjhn)fBJwXMOAH+VcQc z1B-+Or3=p)sHfDhgNs{ImOi>kY}{OBG6vGk0D-vz>6oMC4N7!EShhp}7de5xkr&aU z{!Zujqj0}g`(YSoGr72eO)fcM5AGH*+d@_HOe98a-H=}4Ja~$iDZ5#b^-ea8|5wHYXLR%s7;8LaV^XgpRX(?e!*&j|qRRYY|rT9O48pDn4D*UQbEYQS# z#6jIqZSvnDMDRGx5NhD9{$tWVK5#5O8&y{pUVRd65w&`a8&%A!D!4|~1I+dwDWzb) z(6IZHl?SsxPhbZppmT&qf%@;jO^n*Sn+39LNL*2tsHuQymd;jDhnYpkq2&P_;5y#S z+u79>e7yMnea)NK=e^a0NyDw9wN()3r}e3NexpSfTGn?R3zZPSA!PUALwZ7N0|Ddw zj~~R23I55l*v^b=eH1TKW7xd@{!;GI8d*=<(EP~;0))qZP--wU#I%a6y9N3KvVu_b zcIYQzQ^F|>%z%fB6t$>@U)Dtx9+KquQ{(C{j24-9lYdu$k3C4u+@8>z(DtLbpaRVi zPP(Q`=JxgF4cYp=`SVTLIydJtXE%nm903`1CtoXJUIK42C%IPknWE zUo}=NDD8cC6-0fj@Z2zvQsgr?$b_23fc?h%4J!1^Q>7!3DJ1n~(qiY(qOB4_Vo zi8BxCb(8O<31y9}`Z&$pw$E=X^L35XV3}$0@Kze}s5rqdM!c>tOtL^1)&K#DEEr9^ zRLGa#L&=fU7k#Bgerxgnv4bo`Wuf{(!i{aqZ0k{f>u6{<2sPo-`lE$~-zsnW)3YTxK~68a8UgZ%*BOqF>UzT%yXPzEUD5;iHe6md1R8RPV28|Btk`O*L65R zF|EZ5v7He!Kd1X{eezv7OCt5cwf^(_fOT~@_?2YHZU7Zmf)+~u^~I}-g6MoQ+0^$% zh^+Po0xZ6Of87a|cOTSvXd+oVAUh3{+mA4PjWkE;2yH4Sgpos-4*_Q9jPK%}Z_xB! zQWLC%rQ%UWMi5YJw4eM+XDr^yRg5QEJ3&xH=K6JG|MLsV0`D+!lSsee0%($p?qA%; zx|a+@d87o7umfiSwvEn(IT(>Iz|~8CJ2{JBX(`Ywj4iHMU&zDGiKXuuSu29^+;`?f zcegomad9b~o_F!GrTml>RJ{;}`ALreE2P&VN_9y-O^l{L4B}zA86lvu<22&_$XGuC zDtG%)eaQ%paTA*8pt+X6>!WvBciR0BF0=k&$(;V=(T&?oA$-Rq=OhN&u2K)bHwCm~Pk35FEzFw4wQr1&qf~@`GC4CN)wjhXDa|9XP!&8)o$N z6;~_VXNR{xzXDE z!AKZWDEA?~em8DlxD8y|p?}uDREvMZ-KVTlRBb~j$dhyIn*FSXP*|H_V~*KjTRBv_ z@_irBmf4!Q0NQ@PwnYfa;iI`mXu*->OqfZt3~v*|rkr~8i}41qYaE_aOLO6B#{E{C zm;bc=X%=j4iB=FQIMoGhBhOax`8(SJ>x@Yh#$()^R4^@INQChgLZ(PW0>lZm7hHm$ z5iTl})A9k=vGMWXuI#a&pJbxomLTaW9|P4WsMR)UeIT06>QiFx(!~@Uz=PI(*$1<5 zQ_bS1%`EitG4GC-6h#>8>p#QpMja%s>eC5WS^W9$67KDV>!8A9Vc#kuLIbz3gtRm< zI1RfiL+92+u7bibIcqBha=aY6n<`=zSyER|pFZvI@$J&ph{TuKamBw5%pHD}9oOXB z{jK@5XX>kVXG3EH*LBC3>F5hQF8!vDad%$0A{N*Vjw)`ubGf0kgVWa;=kH5pT#sAz zlTEheY3=LQ*ge-Ve3R={)`R?f<8m=r18m%zsLRCI)43}S^Ea3+P~dl0?l@cc()vo^ z$|p!3EzPdWT#z$Wvdmo)sj^53xzsQ97@}2$sNe+Q7@nayI>8va|JY7)W@!fbzNjIz zglQ76jn|7yYY+m}A72Rqn2@Mbv6XR0hw3RD&v1))!^SW2!H{pICnWx6MSoW9X-~gG zMX~I{bL6YLPwnF3t0oyfG%~c|QkptG79m&kSIQ*qbNl=29sNxbzp4sT%Z^&8%U5g; zbFJdM#I#xU6C7;d0||}c_Gtr>KG*g4QlID6`RF{9U|jX}v+$_96I&`!%Z6Etq1^z$ zVv2n0T|LZa1l~;Wga{3Y%761QetmB98$r)&VrSw6LhpPWMQ#VhVp?!t~+sVn+dH_MY~tZ7ag0IG;CbLOnwAUe4bacP}ny zIqqJl`5bL0gE_dlr2AMT3}{ElPY%Ef$6&J8z`y{Vk}Dv_^}Xbf^{u79RoKbD_KamU zAYdfoHCMmON8ats#gunGmjh_d@++kZ{@NlHLAn_V{$~5>@Hfj`t*g;VecrzfxMsK*7vnGya`B?jQGGl( z)B47TPj&xLP0lX*?AzNKY=Ma%wX_U=`SNA?MXy{@)dC{|fYoK!fcuZ1>gY+07GGExfX>qOrdM7R1)9WF{*q>WjkLe@eR>{2@o#A zTP9#|Aa1etpJZ5+5AnF~zDCobIm3*TceI@lNcV1xOBAI1)E6N9Zjht>`{<{yRSkas z2L<0mm=5}3sQ+7`7&U{2F5ylGp+FY>dLk;kw*3Fp*oTiD`{b0sLtwpnM>lpU>O8SG zzv`4{udnU$#q-~v##4WyhjD@6xUUnEW$z9ho-NDT>l6!#ep}O&0t2c*mzb9P!)i^d;d>za77oxJ4O(U*2ZJ z?uElZ&b@Fxr}3ZaIRxZh5B(lvz!F_wY27mxUDXaBm7M=vQY}*X@7vp{tin(@i32zO z0oaS5uA1a>pImrE{B1llB5n9Pg`~|I2`oRusF64D#klG@qmVzo8vU+ivUi`qC*bO) zm<7p}7)lbu*~51FRdd@U<>LS2G4xeYOkmFp0fuiDfzz^BR=6y6l$HLwN-?~t{qlsQ zLspaA=_2*-G6F8P!QP0LEfV)C)gE|YwdAoLr^B6}hi;X-kBvbKKy*(8c0K~YYGW6@m9SO9hush4TQtdOpYM`6HnNA` zPA8E4X`XwV2)SjlRa0Q5VJjLAi8D*j;+e!O?g^&#D9W~s?K9!fk>w47P%|foLE#Z@ z^;pp0AlOh~9sl?RSWJ)pq2@f|r}Y0z9<4+Ug4fgW=}< zT1KHBNlriPduo0_Lshe=_C;-4bo-k)6JqE}q+}|!h1}NEF)e=a`cY1D=`VNrR2T;# zsgfCZHRNtDo2U1#S|=`V>Ejw7N2kzBZ#BSP5Re;q+97yG|Hb(XE^))8Sko83FBBY7 zxouRu)~9%>mqok=a%@w!tzqkc$J@{6Zqsjg7DxvM1@{)*m&--=`rY0a*L4{ooBd|I z$uo}(TOw{{<%_0p>^lZ?BQZ&5<5Tsi48~&M9hkc60bdKhkOz_^@S`1rNx`uigy%$s zglr)EO^SwlcHilef9c_Lgd6^!+r?_S2hM>PDb4Gf{3&*|(=qI#*?DCFV=;5gZ)n>H zp(_UB5QzvmA?~KOGZ#OPkK3(S^>qzQ-QaHZ(o2*`m5h)u@9j8r)Om64vaJA%xExS} ziT;YG(~A+In}peEsS{5U=1X+8`!DG%7rITIqdy-PmKKIcianG|(Kkmhl1$mk%Rl%f z8Ms$3?`m(v;0&EVi-Cq5GiPP~zOG{4HSo<|jz@F$757}~ttw%(`XCT}{xHLHh&{Qu zxwW};*w__qo#%a}BkXn483U-g6tP9qBXuU=1!&ME<#z8ei+Fb8?XeN* zi1-D4b1mJT-f()zm#9?5?(4DzCCy)O@jLLLEcec_9J{zm!I*5@oe9G9Zxy$vi|OE= zXp>_d8PHuOo&?vS9iNd@R~AG`ev61R9UZi7TL$_^1rs;1vxE{y(`1aR@c+EE-TIWS z7GFr*f_@*(l~~owiA^`Bfw2^x8{I#Jd$jNMC}ehT-})n%%YNlo`rkkc=@GKEc*$vP z(?f?sY^%I7GZ^=Vo+mYq?8G^ELmn0OT%`2ObB6JvSTqnT965AjXuqJ(4PK+J=mD`t zmrSQ4iCey&CpjG97WA3b!kK3p&oJ{xAC!2v_4(5Awck7hJEU^{b5oL$Im4A}pv|H7 zIZgM`e6(RnwHK5Q@#iiR*Fu(b*%yN$FGwcg>zqVftS$S;Ce$Y2`*X zpSTfrP=Yq5)nSES^hg7^H)t(nsv%5fYx?{r)uo%xwtM=Bcoh#}o<)2Sc1Ka2mqp>v z2PGo{PQFMa;<1!r=A9Z;c&aQSz|tpX>vb2RZz6zTYIG6lH~02lZs9r~_9i=GhoBI& z?UZ*O7qB|JVNL6qDx9me?ozbABk`n8&QD>ZdSsa+nJ%-$aop*v+myhoEt~^hUbRcV zl;e8(=jQ4n6Q>nV$W$7=vOO)qbzrIH^H^z_8)q}U=x^T(SMCT1#n|y8v?dDLH zEe&v|%))?qzc_;{US|0E?m?W;69^!aYa`W-I^6IZwgYZH6d*Bf8B*ejGN&O>8(79R?7kDZ~E=nh}UqW-rWn2o1N0Ejt#r>68D5q0j*BE z`O&c3;q>HkFaU+fs;CcRT1Uv|Au=S+TiZYwCy6l{3;lmEB%#?WL=W44Wu^vU3pwdt zga?6$j3&{Av9$)d;!y(of5 zrY7g-%AbE)KtMInMDYCk@03o_a+`cH1s6-ptq0W0j*o>7bk%}85f%_h zIIqDPydh+u4nQQJ91y3~aw?KH+LUDn>A(V%CxCJ{cz}cngmIJ z#R2n?EFe;#6UT)?nEkX*QBohhRgcAx?ZC|%15gkVm zY&h303XA%gq7i`FwR*U~?UKca0b0lO3G$6{4;QW@Mip3AsL32xE>8E3KimSeMS$4W z`n?;kvyrI@Z3_`Q0M}K+v{z%146$Z`!TV!e%*$(rh?t1dSY6202!8XW5sEljsE&Cn z0)&O7r8gpPLl8naR!Hv<$~24!4jr%@DaC=We2f}_j1XusAz&slGP3MOF4nDVA!0NL z4iFbj=uQa}1Pv7^8H&}MFsaS#+tqiV^onHm1-wg>%vB*jTKyO zJF-ekB`%9cm|GI@UiUH6qtrx??V=mht2vppS$y|y9%TRM9la+qz3UQ=(v;^)UC#RG zDi9z{1P@aA!xl~zN4M*;!wcd-vi~U+=0J39LD*j1U7P2mi?D2QO47O{VWWjEIp#=s z3nxqHwB->LwbTOo;b*m%HGHd>wt~^;}=pS2+oFK zS=f$=nc&|u1sLkM!qMZYFdl#R?sa$ND0gKh{X}rd)KtW`A=KKD0f0NUPx{bCHXU{t zY_jZn2OU(br*up_k7c!vUdzdmWqxWaN!~tQ4fV2qB6=dxBLSiYrOWww9(}#{mJUcv zaSpI#pVd!H{4HUcTCzYf@gw^cRLr!drv5bd@hd6Yl2=kFTvzW~wqDCA{#L)h%Y`?e zLY;m{T1CGa^{V1D9_fn^$vk}UAk~q?>4eU9Dsyg4(c)y4C1Cr8gkX_~t%LM26uK9j zQbfd~{6C`J1DwmY{~!Mt6_Tuklo28nQ5g~X$OuKtxXCOsBBNwxla!GtBeR8&kcO-f zWtCY8Ss`hd;rBXwj_?0}9M5wf&+*(o>$=YCJm2rvdK2Fe!Z=#N4iLo>O6%tREBlzM zRpt3!gN=xQFl~T9yMSg37AhW+n3~u7en;qv;EckZ0po0h1WiD^tJGLY)Zc&Zts3yw zy~gWElodgCL07FIX@U%ateKqfwG~4DhK3QO%a@^(=0u9=iof(hV@>j1BpZt=OifMK z3j7q>HS}$EG2Q-FUe`ieD?idPw-fOsQQ>3p5XmU|W|`AX+(d0mOk(-To+3m;3A8$y!~aWYy(!2rcbSOWqnCOwsIW$}d47$=a=1E15qr}AgkQcZy$f_*JNa6dpdZ%e)PREzgI7Pz9IHy*aA5B!K2z_h4@;dmuwpPpaK3NO zc>VeyQ&=^Sanrvr!acZm?+%oi+{OvEB7c)7fFV<<=m3k)55376Vx;CB-cP21Vqopo zfup+ZFC*P+K6;|j??+A7DWmkr))+%RA3W%}zY5!YtO$(N2UzJ*9q+Lp!LowGvTvfv z1sj*={5B1PiQ=^xHR-)gHyz+YRyH&i-MhEbdF`S(kT$W%lKB>)wXwprxj!Hcf#Gp2 zWoFNAoRKgP6iIHCkdVmv)G98RA<)zNxWKLO$24*APkQzqcf-}f24JHdn&WU?n2~JW zU@pk1im%~W|Ep%9N={cdbr%oTi}rmVmb)UO;eE!e*A5mZ+_-_x6eM7YiAoWc>4OIu zm_ei3UVQ&znf7jVgcYI72W#;o>#Ka^c_bf1Iqf(!ap#E`r28U>6@1m|1IxJ3`Aus@r9OT-`?b$ zD76Fo<-g!Vyq{jX)gIpA;%HlAsBB0|ERZI{B0lk2oKgL`F_>g3(i{J}UtZ(*aUhbP zwotkvWfiM#R4c?-s-2st*3AT)q>3d$^D0{FoI}z65j(a&(E4QE$jB5q<>mF%iAC$C z`q%Xh(^qXxT0E3RHG=z&zH6XAv=r`nfO^-CA@G&n^5iQy-S9w$n~gVO%bTK45LURD zP8li-j@pa4&O)+J*ff5Q3mcr3X}uNm=40luEuANBxs^QLVB~IYX)4b(yR)aFyLH62 z`5W<6U`~L0y@Gu5u~)QT5*@bRcpAHHZ6No3Wuyj3V^AnMDiiT&-raBXZKlGRg!L^# z@*h1N=H2(>6&*r2VttBPtPiDegbe35%Qc-CKa{FlaHoJ&%lqdW4!3>cW4WtQrmo9! zg0E6dC`8svp9L9ew>Mi@n~WX$ypf*fsOaI#_P6HdoBg97y0 zrO!opYNGThgVWW}a3-R9OpCl7*GOAeS7NMQ=w_)!qa|Iga(~GU>l()_C4{a>Vmu`O zDZhCUaNWT;e@nJ!=B+pNad&d?(r~&l5Ks1!BhDbNyevw{1r^UXAL% zU3fC2x`B$%h_>T*+P=^lV`!s79d2|utlThD)l{OIb>uNa>u24zvC!Ctg|67++b3Tb zOpiF_Z_W@KAjLX}*&9E~;wD3sy7O;VDkL?}OAZ{;Nr(&Ta>m)e?gHXn!m715CTtMjFm~>@HQ=3p zkj8$L_~y=H)e3BMS77bGyL%$dfq{P4 zWo)pbQq?hrq~)_TK4HQsRL9f$km`3$p6^`)ZTq45`FSijd#`O5Y|r6C`}sN<0x69} zM?kQ?y}frE5E(-sOqLglQ5MhTg=GSO#dd6e3AX8&sBLc?9dA`^9Gz{O9B%s_UkO7W zE6mef?Kh4%v+E{4a2gnU0RBy zH-T3<;Ra7v3A>B=+`ax#)! zW(65b=NC{`B1?ELxyt<~RxUhANwDM{>$OQFUpv{Zi$x#x5(-*vRDaprzCzjw`dulL zPR~{2+V5bnW9&IA29JA$N3)*7w@85B3 z(IhE*RV)PtoY@C9)sRaYebgxV5cXg+D+&MLA}Fn8RH){Q@#G~*0UB%)qHLR$(yYL7 z(yIkna{tHp@A_Fou0#A~?jf;uBwxfLh(-EXJF<+>*GV(qdvI&l3$*t|+rPeQ&Hh#xnjJ`qF|N$KrVTLNa!IN0PcD#-vnRS&2?-gnv{_#j zc$NEn2KD}a3EK}po_Jw*2?noP+{(#|T37uFlm9LgvmU&3A(D;TmULn`t_U!c!4*Z? zR>*92etN5Y%jV?r-=#0f%%kPeC@!*wmruU9<NK}i8rgJR#) zbv^No3NN|gSc2Uq<@;$YPHR;pZKKC&JC6-&c4NhQip-P4?b_uhA0{`2>h**(pUJ7XP&W<9j)1`%XB2<0tx0Tf6aW^adbZlCof19_B*CDt7 z;&lTzuj)Y;PDvUo7+KG_ZA($OX7c%6tM@n~V@AEx1HN0JTc|&}^u=ZMIDqy+JOj-i ztn!z0>kp+7k?uY$7z-GTYGzbmfw(zKItzE zjvNVq{s|R8eG#*9f}l1#)}1AHi`?5~`0epgzx4!ew{p4O0Wlh?St z56dUJ7eclRyarbQsA^)4{Y?QIg{~bp8}qe98ezAlLQO?`nF3lRYTxp{y%;6`>{Sz7 zmT?IqTH-nCi=M*x!R7gN@6|WZ)8ImhNTk_`aGL38u?81URI%o9+KA78+Z~zFrO|OM z>}GUQ3cXtR{gRq~8`{>(=H>ZY0TagxE3h21@#@C9L3^@NX!p|kw)Q{3ZTmJP8l#f@UNj(=;-RU9X)W2M`m8^c5lN-xIG{HzpL4lDaItHR}IqunT$(JpG51sKYxqasT)$&yY=YU5H;U@+UWT4RtVyrLt!I7 zS=>HhwK^jFrNZ=$fJ8=(P7kcQYH12J{+WFu8ujx0-ij;VFEkdZa-~E02JdY(!J6Fi z?b`J+N(w3pXRya0(G+6R{zs4gZlK!CuI+US{F5dY;rXmH&oqqmuHd$v-M()h_dXGP zS+dBMgH7_+C=0~;q=EPe1Hx5JeqT;vHN7qMYvT(g#H-;^j(R#1-85^}drRR)+NfV` z`{#|y=ANe8Sf`zIG}3Bk_x~z0L4B8;UfEfHObDwgn|L~7ykkdtU+5%L*=Y;^Y>vPF_Q?S+41x%yJ<=O z_{`4~wntec_j4cg=On+~xvYQnUoyo6%pL#@qV)oHxbgNLrz(Qg6J-Md63r+}pDy%~ z=?4YAi=Hs+@MB{ndU)axt}lwhQX`2g@L268b`!$geMr%z8W8UU9?CG7UYT*xsSt5l zCWgKcpF-lfOP}woCBRt{BTEusiTfYL^UfE)*+~in>H0BTmQ%OAX7=T*GMVc@4Tdb= z5-EsAu)e+gl`{2(#B;a8#ac$=grga0I7dJ(c+dFlQ|BT-g8(fM7{mPy$2cvKPUE_RV8T^^oVW&u39$kE z#c5J^#ovn!aD1nm|NlZZKf0}l$DSOI-Xa@c@Lttqr6-yGBlGO2Gco{>wfXbx-EUFJC5;?_uMKf<7Zr26?RC(ULnlsz%{beL-k+!uuc<7E5yg7F@*W}4WP&Hd z)KCc(I^a%6-4x#LlaFyT@H%QR9t}zi&;DPN3qC3zVW_@{D*8vmwzMzMxxL0cMQLd6 z|Hp&;D&)_FW{44OyUW}UOK*(@WR0+#^8K@cJQLcnF1Ue%&^gyZ42J+@pnKRXCU{g# zZR@H%-Nyir!g?^)HPX*5uCc94r{}C?wph+V@shB)8%BpF9iJ#$)rqCgd~S|D650xB z(>B{8#qzv5S>2roEU^U2@vpbondbg<^U%$Rz1dHVH)MWO-9T0o$#v#NJWoLV7jG!~ z$z%xv$N_yI{}!1TYjb!Syev;Qkw8xZwD|#yq@%!pFp=>!0!X80+a$QhE6B6i40jv( z0jgAV&?I}7pqEgRlF;Rg5XghdGr(_~>@6LHV5OR5Hsh6>@EEVBSk!+JlqZLGT$Hf3 z{CMtT7u4zpfRR?L%&rui{qR6kMjC7EWtajD0~dH;7r@g!=es4}4xP6|y*+cm0fS9`ji<;%_Adjh%m)&7 za&KA)3xtRcMAY>x^3uNQQeSHmY*$11Dcd3^x zq`4dDf^1G&NBWy9ep5K@=eX_7R+DZ%!HfI;kQ7 zrVQUyoA27&zn|H@O&jMhr_k5;tC)=STAIeyu=eC2z8^}VKRPUOX3 z^o^$0>r-;f%-;lMvY+_wKWtcoKFzo7jc0^mRn@J&gycb>>`=9GRLz zEB~$i8HPHvJUX?%x48?i@;+XZe>-WgYulF7r$;;THUUj;98$--aw-f|{GRto+~>6m z=fn>j`(IKnd`4Q`!4oGEq_(m$Kpp)0xAL=%M7<7P9)oVC`X@{KLWQ-_=-_w;SzC+w z^wM@M0%T$bG*;E*(ZBeS066Ng!i0On-w=!2KSlb|Fh?sKR)0%r%UqlS%5;IPfgxH554K)i0(7S);G;^ zdfYjdQ(2b0F*RKf&SoG)YVN}$zg0Nz0O?tN|M-*yV5+Ft>35YjOq!H678#8?l$#S$8i|4W~O ziL@<;QsV88B6(Zd zbHa$sRVU&{Bt{WFEM2Ar)c=vAM}vqn1{!h-n7o}73exf|8W9`#8qYg~sf4kUG%04- zw8xPo02cs=_TGTx-<`c`J9m5tA!DV;aRAp&IKhxAkjFiZJFdpM%6-RV6wD#%MMdl+ zQy!2(>41h&lV40Fqk5oSbU9`+nO zq5Upp$Nl%a$g$=R+$Jj7A@1VeH3I0KhJClKAtZ}Fi;^gz8K_hn3ydRe)97dCJu=kLV8i<~RWcVFubiQ+;WOLeivC0bmf@3bKJIEt@ZVRHN8I6M?La z$xqL2hOXz=hj9hoiB2<3r21m><7$r{ow2)h@E`Q-PAoc?M0rorj5fEZv#3L^Ix zPy&i^GVSgS>vu_1S^9l+yO@}O8mkzx*hxY$uz2EaLA(dNNm{YO=b!#Zd^7(aHs9O1 z8jF*<~=v2jNeq_zQgr`Bwi;?LygkQ zl2ywOmax)8B^zWUpw~jwXkhvsGo8qAg#1H7!hXvrqZzq_mQyFB7y>_uHWoqDxK(1` z&Bm7}Jfm!liJT!nzhqI87Xd*U2Dh^G0HbIb3L842&lqie5th<9bpGkY2IrthG&%Me zIC?xS^xRjZ6((L9#?QyE5`;>F_#pVf)ZR{&VcBM!(VoP@uM$-qwmuWdUNUT@Z(+D3 zWd-CRH#X8=Q2l)|fr(FCV-NSYa*TjMIErCMKuN5Y_%1~g0)(`_Ip{a`3cE%M3+|BS6db%~v;hCp0eDZ%O$HVGm?}k2CKktsF7n zgv$=9w5q{rSk8NEt7YHX-msU>zKAbDys2RIpbM}Gz+Q5}6*Gr=XgHEfT0j52@7@~I z-xpz{lz8)rv7g(@h)Xo|b-?XNo;sR(bd}&JuiJK)oQBF#Emj!#fxyn4*CeVv**E{~ zG{=uR;Sty;3{1~{6Huy$Nhp9hH*VixwV8Y4MXEM-=Q@`%g#|G6|Nm1)%Kg26EIVPhiDn78XINkKhzB2seaweUOkCOyd& z=+H)@-)Y!Xibcd;jT2n%w`pje%#&_25ZW054u;e%87;Zmu!<$3uNBigGx73*AE zK982<4E!2e@r?kR$cxaSLrvy)_*h12f~2C+_2}#C1B%VInLvCbP8g@6Rc(brircP- zeB22SB($Lijg6C1&Ln=TuNEC{_sp?zmt%Z;S1N0tP4c{4ZKOBcfn}Il!#;fYy!=?` z)l6zIAwy2?Nq(Pm5$*q&sAAeSj(WN5#PH}hbQ27U-(H?x@Nm=DFEiAYa{LQ+=CWiX z*4rVS)J)qxk_oZ+HFu!CQ1mFL5bmdNn8#O+^$(9U*sqoB(1;bzHGiS_PyL4NYBKI| zGAjXv`9u!B6?yM;BJl9kYw4hoveF~7(ZQq`_0Uqqf_SGzVo&M zG}4s%z(BjqEhi%j3tnZzO$`Xu0@70QbgFzpSEReO$U*L8I6kIbQOG!ehTHpL!Plhy zmKJ>~+%jjmYa}-qCTxoATw6IAYRM~Ltls(gg-e6iNTmb!-0z{20>SQLf%KOHYA!1z zN56_O6c&2s$&V}Va!ZJBzKd^K@a3PM65RVw%SA>iRu;IA7FZZ@Npc7rq7~o4V7~K< zp(Ug0ir?MzID}1pUQ%LhyEex&&s3;jlv*wpDUX5_NLalOF9SU^s_n65%>c-G)@@R| zHY#b>na)ZhY&Fz-F0)vg-%N)|P={8S!NqGIgWQ}TqfkBjow8$Ek-?z>{5whm@9d|v zxgVS83TY3!7BJGZ{3=H8vx1(b()FwdWl>uhFRQ-#+@C_wcg;Ix>nYl?l;f*-gBaxA zXMT-WPmH9nGYT^?tf{{Kam$=!mGOw)s~jm)HYU6JcW*+3>+2ie9aJ+AT$mk;SoynX zEl|BjpkA(PH3j`4B9;CT0%eE=><#|M1BnG2`KO6Rs@B(h-@U1I@qKE5@T*w8@C*uD zz`@|s<$1yU#Sc4wTpg}kE;rF)Rl6)5{92lxqk#8Y|C_ggUlZ8wDKJw!P58FS+{($e ziL=zyk>O@W3HQ?QE0~3C_tiV;k??3y>7LdsJoS`=?FaXJl$kb5rav2^^CGM5O9kI}AGibJJ_vMxKti z)kSya9Rx#zTpEQW+0zqu>2lOJzo{Mf_v86{P+q-rBiCw&87qUW0ilc3H;|v2a>@5+xniq7|m`m6o z)Rxxc$se)$odLqyAMbWCC-97I#M%98K9<0*q1BcYpX_=piacO}7QAAU-J2I39&A;+ zFH9?}&MCscby@e<=)3)atAr$q)P)1>jafAqb8IX7y24}I*rCUDk#BOV<#gMJK ziTJgDpl95+!zFuXZwPO>OqK&B`t*e6(<0&HG}JrIUoOvmyS?kWnCcPa(XjA!Z|o?N zgzj@yfbHwm(zik{tKLCv3(Vo;0C*pmLQCI22|$uGYKS-}M#Z_fxO!Ue<}_?Q0;*u! zYDLBPSdD-I+9GAK$YDFmC_A= zpjSw_xyB&gg4HSStHfI11)-rbaz0@n3aR9%o;j||g{O{>1$+TF(ecdd;fwR#Hp=EUxYEHUo4l$h zO3P4z@!qH7p(}nf{6<#=#kh``9E(!)XI*z$T7R;8Z6D8WT0=FK>w}?|#?ornHDb=~ z`p6`?8Erc71UYfgtpgaB(h1=0=R;Dp<|Cr^!o7d z=3Ir%y3YsLt^M9i4+lb{8M)>Nl|rw^`Q`1KpjB&W88!ECa9tmHM=J?oT~&;*Rt9&4 z(1=*>y{NjuN(3hSBSMPa3{vThJ%8U|sV&OYqRq9Re#Nh^-o+GiF6yl|=AJXfcyV_# z?K(^Mdh5zY2DUVtD9a#I1(O4u8Vs6|LRqw$yv~S9AsR{0skX-UX+ZKjOZ7l@vJ(IqtD`v@{f zk`M%uDCk7PNc8v`5Kq$xIML}A^GL!*g+Rnwbi{YIZ?7_umvS1g5k;^j6l#e+^Iz+C zmg#@Z;>qc}mGZJqT;-7bg2bUOk%b}|pSp{+;~bW!JjyP4_8 zh#wM<4@kSyAd=yfcB;=u|CJ>&%ND5g&F?ub`i6=9a(=~*yELtx56s94>0E!rnIecQ zVP$T<1>@2tz78q8J!*4VYHXKg;f(>*XC(;yPO=w-7%$UR!0}o+r@$!eq#1PiwPS-?ykZ=R}P|$B!d{4PUCdNXY97 zt}Ev7BC$Z-({sXMJNDCa@A0Ik14#_- zjuSYS#3dqIe7V}z$*i5tIDkOZOQvjYrXVy8ty_H6CvRM4Gze?Ma5T>=N1roPs)UFWhV#DmvqrC#WMNY+Q5-DLbI~%$j#^=}27=IKj8_ ze_DWrOXlM@svBI4c0IKU)#2feVCn~>ur#)L=?;9f5x3nd#{7axi- zVHVDV2PIxN+IQvH_AH8vUV$hDag$w*%Y&9j{JzF$79h4|kMB0*%CgcE76$s{71a|q zd(N1!WtUmiGC@*}Muvun3lvBPgk}qV1!t!x zE_H41%*ecbKuP#!9juZ z!XaRU1b4z85|>VqaP_3;An2PKG8dfk3e&i*nZLM16V7?SAN=wUkcm(P&sP75VdXrV2{`c{C;Qh_m@^INx^>UwBxEj4c+Acrx{;j zOvVNUskcQ#tjK6j_Cw#d;Ju~%{yaQoIo6hq_reoFObA`*HRhMi5^m*fFqP zA}}FL`iZ>}Gq5&%30x}>DMZ4l$j>Fel_>Q|mPVqys}O<52?=}=a|fpfuIwBjz!`Xw ze;NJm?Rs-SoUa{!cmmU92FUa^=a=)RpCv9rw<&`)j0k4`O01FTe}(64eB60*Cn- zpE7T^xDdOfiN1?Nx0#ZQ>&EVUO3p3OJ=^^!d%KiC_wu1(lb-GSV}73R*>YNCvyx}7 zGL3ViaDaI2V6E8=XQNzA>>r5Yxbn*?zZTQ=}y0nOn8W>d1OJDCM1%9|pcx6vBlgV#{n^k^nG8Vuc=x7`0tV3ugU$V5z*<*_3Z`>of zd1q_ut>hiBNJ;n*l?shAHnmoO;aVi?8E`YkBjq5Uq6Nxly#(9Vm8HHFHVQt14R!Lr z{3ePW)=Bh&7kJS3(8<4f`!<^-H9^j-a|r}qMEK|<|0M~ezF!Xyhooc)xAZRN4{)#< zfFuAvi$b_J~ z4X67kvdiyar|q6J0WA(pm{{l#1$Jv0!p^pFfA3E(o0&T*a?S1se|mh(e;{onT43RY z{bYNLQ~lRv8NE2>Pj-LW|9b{qw@?NMc7*S|#|1|k74N1^;;anC3ydM^oGfAZpCpue zv!eUG1CQpZh>3lWmzPZdBU^}6cK~q0UhL!%5~DvF-fa)^1lvo=nKsFVhoHbnN)8!b zNr?&Xf!TZ@YW6@@N zuB#6oTy*cx>?-ly1Q&e^2E`M%A5FmN3sE^+b5wy5!d^q1m;a+0@b;7dNIv;t>I(cf zqNLL7!sie;cWJ}vm&mvQ97`9!-M@PTvLlRa_W_$zhLIVjlg-#u((l}%5ZW{U#f%BE zV@P-qg#`0Iy9#|1koDJ4A23re{89slvI}xq25|PMP`)(DHrEh?A!)GgCZA`bd?~Ek zasUyBgp?h`Fo)HwGItSZ=3j$JgFld#i7FVl_5g@-bz@^5GO7~erm<-gn;KBPCyQy} zfUqb0tbM=AofB_W4qq|-{U$y0KgJ1#(<+m8^fI2=AGYkOT#AW&=`iN^WMjt;HP)Wu zHQQ>F+>?fM5^N!C>+-9$yGggrqb25shZtuS*dJWHYyaxwea?Ry&wnVu)=vV0 z?qd;n&K55wDA{m_PNrG4rZl;WAJTjl7NT8eZJdyY5sqpH4jgFeo2ppxBdj@bD6MAZ z4uBf~@bH^xNw=r}dB*&L+wsfjA+D5E46vlrYoBl%D~~4Oo~;=gMo1sS+H&ojcy{FE zsW1>Nucl@ROittj#Dt?=1vLc1cce9!8r18W;dk<;SWo`BxX;sqeNlPwo7*D zcj+ihEP(961FR85%?HB{Bs>V;GvfPyVxkf|imE9s&q0XH<7;v!h^!Etqw> z;skyW()qdfIC6VV_Jk12$mvb_@V8Q9=n8s88e#;}arD-n7*Mt0g3Yef3iSCLY<*XV zc?VO2$@PYcgRn;=6E^eU)v9%SKL!w0MyMr;_=;XQ*6Go^>lG7^tjK$eEhTP3Y`ALJ zmr^0q(u&16dfSTnCVuvm>wKS1>h5UVDsrXeX|XKHKSR2k6$ou|++o^HF!Wq)FRz(D zDs2!BtZoqQlHVH6c0~h38k5q7DmgvP5cMwkV`gSfrY8bwLX_n-PYy%klPGPe{*yMP z%P47G%2KjE`#fjT`nQAA*Xsra5w@Qp7TY_S6Sn12IEp1Cw9%>(dm%ZX5oV7Xe*tqY z?JzaOW6KPmQ<(VPeRCLx6HJLtG+q=yj8cn@u^c} ztWDMtG3vT?>)ykR{opXBkhh}tvjbN3_RWZ}=!T`OtWQ+_kQg>RL)Is4w6+lqjtT-! z6M2rh>#W`^Bbyj%zpd)=@x$(yRtF8}I>2VWqr#@~+5;+L!Okr{q#6XHpLx?R%?v%K z-L2Ic29Bns5Ie!Pfv3Fc7%f-p!*NBbnlAUJhxR5>eUf}EFf`(Cp(TK-wI(Z8+HDtG zI)y1Q zan;tZiq6;fFeCi5WTX1sKz+}?f)DA)aku35w3qA{o;wp4?t?PLiISsYWVslDy?sP%Zy;rJLA_dTA7@*I`i$-RwraS7+`&}ToEJ^AVhn*P=IozJhP60%H1||5+n%;9<+Kk9*IG<+ z?C6^w6KyJ9M+tl{_a(qA6XQQ5C3WZadVVUB+^by~zHQ-U(aJBHkhrt#%10$v2Prqk za`F`08Xwfwj!5Yfixfi0Bz6O^ub8ZN?6`)jt83hITYW3ZA^|m>BySiEZ0O=`jd|{} zUOU4l*(Mt}cdxM|_RYAisOD7(>bpWAKf|Q7v}?%|eD6CxAXJeS0@zsLZjQYt5{e+U z*>bIpWk$*Tb+~&~?s-UB6J7Lws%U8H#Dx4f^G%1ShIefk_GHbj|Gsh6{3@s{u>^@i zu-tttaK~Lw`(61!jkoYAFc>H8{bHBT8RoXH@?=D^d-`~}nIIayO6jd^U;k&J#QE+S zaX^Xpwgk1VVDbs!TWuR}ibyrL>P!=z5v1mntP3s?pF>4@(m1D-&R*?^_Si0Aw*Gs> zOjXvxr7pK3!2Zy)wi%=fg|!<<^DD86ude!et(z%Uuz~$~QRnieI-Vx~hY!v^l;O|^ z^OH$;tj+5&RP4Ju{|iFz!M|Sl_mQ}&WHUkZTY&(lndCTFRlUIB!h=oAtxs~2eq!_BP8Ww%?v{A7YdDC`$ z7|TO{SAotRp8_Ip9wh2{3^eOZtoSt|_d>qS1xw@I69UD)GswMn_;G>Zj4K1@e6jG& zK{Ak>kfTHLyVCrCL1A>7PTMwzoj$`g_B)?{7Qef-kixC$=iKoW&?H5a!Y0kUwnzX( z+woY+(XczzpW{dw5vUAiq+zF0xN^%rtUZ-1jG^ULxB%Mcc1_&7@T8z)K@I3mb)k%_ zP4)#F5xWp|)vn;PtW*Pv9G%?{jpA=HDQB{_9w?&Ftk!*L=tvhUyt`ZLjkq&C^l zJ6aw=b6|C5pVyfn8;*p!b*hxh0tfb;Png@yd`jkZTx8isJQ>vr=KVS`ZW9GoekGLf z0?Gk8W;*_gh1HzZHLpJ3O+RX`Vxtk#!5#PwG$q>x+o7%^?==fie1Xeb!)QJ~-&&+g zop?0ul3kDRewB*#&}E@-*4IhMG&d`8%;uWEK@QuxsYmKu+}AH(1FmQ)u| zw2uqa3w<=-dC=zqcf#{ozxNGufmtG5kut`RKqRo<$A%TJv;g1J_NLsbAV>MljK6-< zXwsH5ueC+S@xsg~<57w`eD@{{-xQahT8V#8n^pQx_E+7-vBS-;CTA>An@}PObOX1G zvr4Uf+O0sw8?H>e@Ji;Z^_pAC`}RGl+tk}$#6A5AMSWCN;4(#!RZ~8=vgS2Q*J~N> zK*rb8BUfFe<+*zc87-_AM|`T9gTMM-y}Djnpf`MzYviE;RxNe*hl^dNN=hd$oP6Qm z%f$M-r5qaj|>-&s1LK)z#^$c2`g?GCIqd$+hvU}tusPIh>$l~{%BfgslsaKWM1KW=ak z6wW%zAgFb>z21oahHOmug_>?etM|>_J=ap^y?+1V*o)-CQFp~2rSNWcO`Ukwd&fd^ zULO?Q;!jKQlnb2MP_>Ke*?+VlT|GT-05KhPN%{2r-S-gZc@uz>?(gx$>4i5uE`x;ey#zOl_Y^;?|$e1{|D{1s+$2tE+hqDhJKK+rg zmXwJO9nUqFhV{yvS06E6^?*~vHoN%A6SlnjG@Vnr{%7N@4vUfN5OmT;K1rAN*M0Ja z0Zdzw45yXNUK32;IFP;K7f}9ySM;zVyC6MJy2ALtFQZbY^^p?`$JtodZ1MdG#NXH5wtZq#EP&hPFq0FzO;8;_HP;gDVANTL6!N(YnjJ8x^aqTJE zyA0HkJLgVEF0zf@g~1XfeG|(0wXrulo$C1cm#sa|h(}PPX5+}O&>hKbjb*(WD5c;% zW|-ETa(ylrs>K-nT}c) zIlcGXW7xdTDcAVVmUUP2e3oCI3wTKLO!k24b*&v*l4q(0XakveTJ7RNYH!3U|2I`! zTtY(jO$+4D<%P{YJ#;3QAHFIP=x_V|&inbo-zzmj20A)c_~)+8+Pt@Td3Jj;%jzc| z8fwZEJR2uhW%l{-Vl*tu*<~`A)qGR^N^lJdRdic!h+Gqem3$KRG0CS`+I8*tFOSEScJJph*|%g z{ynm?;BeBaWf_GxdJ)N*dZnfcnX7(jIOxGIhn;R!qvGi9+H`5np_1OupWlH^!DI`?(VoN*w11)XTB6bg=Zdf8 zvQd)6yh7mbLYT-9iP4?@J-YIGcDwtnEAJOeC{pFlp>!N`f4=cl8Ay}{n_coH4Y}4`{Nf_e!$K+@2O$%)#|1ow6!s?0tuds! zT?LRuyyL@%5YeV|qod3^LC~&U0rqzADzAnxdu5T7HLvW1rbR2Mx1dn0K60VXLYi41 zb%ciXDpdiFEpjg=UFGE^shI{ON>ehEVcnX8;f@iHfn8c_OEXKv8$t~ki(R*FkU@~R zZm{x!Ohp#8744Ae!qax@^!}|$7CEDrcC>BZ$1L&4{*+5;-V@OqIvd{K!2`_~4X`B$ zXfXSgT4>xX0d7R`?@z_eHN@OgZ*QgX{cl8R*IP|to!x%*h$;?DUE<#oL89db9r0k+ z8mq#B(l%s*YuR=iN*=CMGjN6N8Ht{GjYedFwQk>t~S!l3^40hAx)1A95&sPKjPWIGQ8+#($I{otRt_Rz2uTJ$b9Nw%|Nxy%z zKPxzxwfe#S(CTXd?TK)FP+lxs>r5NP@|I3tbM#$99nj4sPL939;aj5xwp<%5|9-@C z<+^HQF7NoGeRW=NDG9NO8h>wQstY|FI$plCY|Z$+_>ye5a9l&d+wV^6&(vCbS=dz(l1X2z>K=pjoSCvx?|>~1~=cSFUL;gF5yVhH}!AsL;T z4p-ybnmEH~oSd9|MwI%-P9|YoUar}*1Z4Q6m6Vh$ecri!yE;RqQ|YIJP+;G9>$0rE z9T#UQcEoR{wDt4nE$=998!S(SY;f#7=%6RbB^!Npjhbj25^<{=Y}f^B{6uau&$p*t z@FwA_WV%H4PpyzxUD5eZQ+{$%~3k5HQ9ul8GnR~PM!Sm>C+^H zxmwSU2K_Ah>DN$}P&#Yxq83EsC;ST>&-vh0VIzKuX$Auo*qfjFr0ce zrGgB5m3Tvv=0)5t=c5?)2~iw>0#GRGv)LKr=4nAvK z=bUh7ibioZ@$-U_-O97}rC;vno>e#p{9Lzo+%I~e+;wd1(r@>53+mz;I6L6k`01xp z(2~J);CQ^HJV$a|LI(-GP1<|TypneD>)!Rt2OaV}6jR=vnWg#EKHL3&S^zSqb^$?I zn}2w=jTMt-_ld1BaK39DBqQ!O&bjmzxOnZG|NQQ(SoT=jx$<+TiFkIYV|NC?-t)eg zUTmND1kHYFs+@f+3=ZvopjLix4&!2cs~ET0_02x%F!9dsw7z}+n9fx9W6kCyS8$~J03#B4iI?lFpu{azML8dJo^o*mv12Em#X=fkMzO2 zaS6oT!mqTI=QIBu-f3E*OWqCV4f@PoF@*+)wpg^dtawU(zCGs`2YSE_ zuR2eXf3m3#p9Xbh%7XGR&YSBBNdt0&;cif#1vpVZEIosm%YX=t@HcOCmWR(RuNFvt za!5R))(W`Nc~~mR8**fG)@{DP2S?uyG8K3p0Q5T;9lc;KxCo~p{0qV)|Icg!z_0dCi+;S>-{_Eu@Y`;NWSR#JTp<-*Z)se49B1>$2{$e3s)*ycEo7WVHC? zE?wNIyN;*k`20^6-%s11{}$}U0$`(?HGO0xJp;P zea+VR6{;s6M|9i*oc%IYOStM!s*z;qpnTL873*Dik0P-nn7=sw%Ci#o>zBW&}%D_lFW6<%g)P_;*-ycpL==O%*<@m0#%2mV#-02 z*o*t#LF9yKT$LqGK7Atzrq2B^EY%fB8s0xvaYmbo(@8Wg{oXx0)lRAE%jYS#Mi0fT z(=w$Kd)C*({pDB8qo3nfzbx)WtXhflr#H|6qR#L#PkcM9`ZGvo&j1y5$pG%`QjM=d zGTJ`fq+QuK5Pe^uWUIO?!mwv^1KQtg!}Oo%F}qcJ-|emhkwS*E!>?TZ?ZZPa*sRNQ zpBxlo+m)otJ$uHuLv4fl^5@x?b&(rS{s4=59xKWX=!4y8H#7c7nhcX zO&@s6CpJ0-1=-#`PQ)8+ZQ^RbH9X}T(ZH<<!$cgk4aXdm zf6q)*njC!&Ro?D9+3`I^l1|16FX3dZp6%`J{e$6La(C*k@jp7OI3~Pq6z7sg9};p* z7}BwQxeLX#;5W4<*p7v)-8j>oKXU2P^56M|2M_bx@aDxkBqZAVmS;-;z!--ucm<|? z=EYT`sJ5}yA^kKrl2tKjXnzVjX$b***CO_ z*_SQXO@y7%?9{18NAJh$-)%2{^5pooxCT0BP{kiG1?>`i&z>>Bx_fggBx}qKk4=g)3yZlvAQ!Lxv z+uJ*Ba+QuNDtSfRzDM|!9arXb?(djdGnwMvro8}btI{3ogI`)WB!@3lq+X8GnQe~O z$yOf;x%22UhraWQY?7{6=HepMrt22}Xm8g1St+JbeI#x?zN@S29)lfd5KAp zM0vO-=Uyq?Fu8cgPgKn8#%-eu!faP+6E9Tl8%~j4-&pcf|Nh30Bq%5jgIhu^x2m7s zY`MDX*{>rQ4G=X)a6-wZzXeaCyNZm#Kz$ykKwbnYW`WIElME@JBcHFh1| zSoZ&4WhI2{EfTV_$=)OD4iB=o5VDe$ojuCln?gdeh3q}Dw`A|K$M1dj{Re)}InO!I zc}{ZO*L_`|&*%M`=Vn}Fa00ud73!``4;`G)8OoFwcEhcUbSHqOxO4=$npb;iNkn7xvkOgby+BE_b=0eChb|x#tpvWT}?q&&s zW$6I+sh~@;!n%+CE(_~Be@4a~YgD)-ijro=jSUy)8-Jm#-Un;zepv9m__RJoLZ%KY zo^J5vzJ?PB3}`lW_}bsGR;uO%pWNrkbqWywSIo6oK*R}wbV zkC=gq8|16U&!04}cZ#qzJb1BVcYTX$-0NEWG5VcNW4#pk(aMq;Xa7vddM@8*URR;IlTVZLSU0d#73Y^)u|d*sz5@!65{&wDz}y}}M^ zrgeBbqWjFyZ~&4jf@_t6c_fx#OD6`RzYpj+016Xw`k=GrJFI>f*b)9pr5;V@&u3hx z?U2H7}r3pDr6QyDbGHrNG{M@1e>s zD1BT4tsl208g>xAN~u4>=VI&-5eoTji%;ze(UbH7@8|t`WO&-0d2C!=Zau=d({OCy zeek~ShHtyn0!nBp@qzddrKn;HleE9F**!vt>nvP=wS?o}m=41ej!g|toMf*TkGR&N zc~>>F$rns=8s9i&XIlT_7oz8cruG$|eZ@XEhrcdMjRO>D(Vwu~Y37lqZCB3_Bd2Oo zvu&Ze$jf!-*rix)%U5W34eQonW-PCD5w#?+3 zB*hNCS;K!CZ2BtViV@R2#O;R;WIr_@9Ms-#I-lKb8P&1iqbRlCbS_W>@79(oli-Pz;GlE>qI z5`@O}2~Q@VH~(+_`R|meE7{>zzaZ)I~@Kd$+*5T1LX;o6Fy zaC_~u9sEvqj*eXUY$wzl^1|!KkQV3Wy;HT^|DL4AFwx%HNA0;j;Uvj$;fo`R+uD|2 z(BZQy;_;Zpb`+Dc$&S!2e%GMfM>vTepIY^fZF8*RZ>!5%Rf8GFH`>iWmREd8xZ8PO z_--B{4AW>m-P3=WIn&USNWdFgh4beJ!6$=g3T`1XP+Xl61V& z#l4@F&w}tocO*#pw`l7ht~7nhKt)FTd~9##$9;0WX9ni;17C z`ps@y3r5I#RTwvqY-Tv|3SSOX_?(l`EGc+Cr)Qog&2*NP|+{tU@)6I zFNJDy)iYW7CJFi>lF7*msw`h#2E-GF9+ky|gGunekLuC~CTU`e>a;P%NxujgW@p>i z(&){%SR&;sbx$eC@C^U?Y5ZW&-rIk0lD=4Fc0);KWR6eqk(}{X9^7IE{2$B!CIaUW zk32Un8i3Z8Gbduz1C9ShXTsLXJ{oN?CtFI2y6|Q1i04(9Pn14k+ZQ|8@zGc7XqFX= ztuESx~>EXMRwm5eoT8)&Fip$@8k9ft(?$ z<_Pk$`yFO142S*NofNx`ftq?PbCIYBERbx2B%S8qli_7(RTbY@>FL{!s|&&egA3;S z^0sVWcrfX#x2-Jy>yQyC5G#`{kO&Z5OFIpnDk5Sh9_;%! zg@xODlbb&*NB&MCF%%c#L-^-pek}a3zRZ{FID*n?c;P;R~-9NP66Q;+ORmPk?@mLQ*jgzJo!dskP{ZAuBtl53eHp{pC zUQM+rSci^;5~$*}HMeBfe2uU)a8D|+>(g_-bXm}*MKhvn-bFU}n2)r7Wo_n)TMD25MJF>7eZz8mee=f4> zLEZBdrlO*ylMxl;t>Wb_7BPOgD)?r@DJeT7Y?MJd88$$g%iD&M_dz|}UoyInF|jWs zb)1)hV8P6PZ=~*MZ}^a74~e<%`iQxF zhH&nt+DUvwEYKAQ#N*J{Lbrx*JV9qkF=}qU@AsbmQ9)T5@i{nHCMq|oTs{>DQhq}L zrY|Ta!ra^i!9cK{Ff-#`!mJxlls`;{D`OFdn3U1HcK8$2$LnEX`BsZnvHO_TWVzs( z_K-G5M<{j1QQK95=UUS(udELnB+sDmhV%-?`2ajhr{2e~t0*xe8_kU`YUz^NxKC1&QG8>GC5y_g%u9t^mRj|3 zP;1ZEH;?@0IJ{q-WXH)`2ii@`KM$IZiaDkNQXeIK6)>qYWytcfy2m7)r!nE%%*fBg z9jCYtRS$_URQtcXw_YqO7TeiA`zMz$upeE^3ZOZODHl4Ep}8Rm7fqb~*BFte^m&1^ zNrCd`v#nOOENz#X2K;$NcS~4hfy{mMxgK00H9vZZaazfjtwwx+U;hG$LC{8}4&EmZVoBq+Eu))!l&TOXe$u?%Z$R6)Qfj)VU`&n83HLfxTXxpcC&_pgwcpsvo7QN zkd$@z-*upvP7;G64Kl=QjC9-w2>rFAv+i3xR}8VUENPVbQY9EmcJ@5|${Z#E&^lWe z))~XW&R2t_4FpS|SV=&5g1oGim9N#f>h(#|Q*)Z<*U=O>?o98`ss3I{^(b^2ae8va zb};~B$EvL|NB<%^#Istk1RLXl9jQU$Za}lc3B)%i7S!Rvh7VLN?(9^sP)c~0mI)_F zJ9Z!ykQ*uoV4lw-j1t;lqWu(*J!D1WaTiyX4o(gJH_GFCVOIx`>)F3u9j2>!4x)(j z6xydbpY0f823B!Wv;CCsOfC}_D=4PT)?QP+B&_nAG<4~QpU!%s$ebHTl>{|6v#<*D zwr@j>+>`1TBDSH}Q9S1388EeY4&1dIk@6}Hz-wP@gS(FDZRyHEC*34q{QCj2lm+Jeb7=0mY2I?7Y>~RlTdnd3Yh;>Jy2$>x%qXz1DFU@HO2oB6%uwmQqj96 zs5pU-qeB%HLv~M*QF@ouN}@A}etbP^Joj(M2THq2>0)A^&v}5~&8d z4w~p#sC_ORz4yZm9RN@`Jlp(S0fAX6U>Ach^B+(@aRb?3Bnat^HIPClaL`Gw14(q{px_vp0w`whEZQO-hCzt237 z(=E75ib_h%;W0(hgclw9*D-9Eb~^A{I|6$KtwCMT!q5fLO@~4>NbxnKF0KOe#Rn>O z&#S`>%S*YV9{|#zA3*J@^DlL;8J8aT zlaT*jWLzKmRD)}+1`x~B$pP>7fZO+~e<$03YpftIFAz%Bk##kYbl26N_Cy^ZHKPCU zqB?Yd|APmO6O!2Zkox-4&7IZ6(b@H1@ClJ-I%KgBR8s^&h|&ju91p--abt3Fv8W)e z8$t{F;E0C2`N#*f%r*?nw@Bm_%m7f3?%hf?U+0hXJDr`Km5u&4_!~~jQUGlsDW8m0 zDVshZiNQlz-yBKxL>mN=>8txtoSgMRlDSQpfA$A>#ZTw2FAb4CvgDK$9RT3~0fg&} zhwI?7pA$w}50NfKr0xl-hEb4ou?`UZ$O05(4kZMMBC3gL&kIjrsll#6ef$T^`^XYG z;0A1b9pJ+)VjD3KBw|5Ia}N;y?vMovA`RL!m7EXRkV!sWhSQ|+d67fVv-sEyK(R;< zU<~3FFf|8;*MAL-#opYhz?bASZb8i+VnTjm0JZY7vV1eH{uCfl3}{z51Va1}GEN<5 z96NwlLS7-XmE5;)y5vJz6MU|ZeFl(@^|55QkqAA#r|_KsxisUxnx+R$Ltu9F`R+&w z>YCS3pFIhNY#^E*Gd}Zgj^19pSwFLNGn@i4AXuchj^jrnfb;f$5DeLy%nJ0tUoA&58{0Y#rD@C!Rr z1)We%fY%>@q3|T*`jiG@>uMka4bzfxw>{-V4u@bV&hZOt3&3FyRUS!h~urJzGZD6#rvbJ6Xr9pN>LmHsS zjYnTUI|9d!qObf_kr{TvD!btBnd3`#74{pE%h0R%RG50V9G#rdIUUN%L4>pbnZS1| zupt*!Tom$-uQ^j^#p1t!ci3?#RAIB6%Yt_b9^C@hs2(nny3<(=G60Fne}4a~5C=g2mN zvqaO#p|?on+gV>ft+c3UC`4M)=eTbEXN?{Go_xfu7`V%WE|NT_!zO~Kf@=4P(PcAjGgI+HR(4<^qq$!XzV$$iILCk275TB=lnRl zXm5Z-N9!TbJ#Kgl6lUbI+3Zdnb?jvJ4$s|m&_E+&h;NOla5`bxic`;`piqS?NK0t+ zrp)$bAWcDIV>=0ndWvK_Gy&3pVh7-1R61gGRG0REPz7+n%-m`Q+j$p#cs?3;pF!@U z-L!Fr-na}_$S`tr1(xsVJxx>xGc)t;?VV;*2hqEP+4y?))?E&+>jEmTZ9ya(BOk3& z0Lx0dW9nYr&B>?oaKtSyFE1NtUj3F%E z$wi4AO-N87KQ#E%))QXr2Xi;So;Li&J6>6A>#u7qJWnyiI65;B|0EjYmXoq_pSQ)3 zQPbW~tb1@7YKK5%E9_cF9vtKmJO4cuv=ZYal4pQZrAWTZ9br+^FWM&)`dP>M&bc3G zZ;zAI?b1ZZ9xLI|Fe$&Cnwq*iyXR>@hbl+uD4k%+HocKB>fHPVIHdJkh}gtNTt0$-K=?rtt!CHz4_Ry z5%f0|a8{8>Vy4E*9a-mOSaMhedBtz2idyM0yyAk@k$htZ&e1m*#?Qq%%QZ3G+n8U1 z?G8jhe@Vab5B_5Os?{iI9k?t|4}NH5egqsE@>R*`y{gs(aHqf7TY^~)NlC%Ba%*S) zGB&F65O@K~#`Aw%?6YI|2$BtL-wviZOQ_zIYe3-@f>K`#p zv7WN(ZhT>NbZ6M>$wen`8qLjPFXU=Q5bhsu4qS9M5;YmJ0OnMmoFAK{oSzAB@8Mw+ z@#RO~#%*#@<#BYw*a?d9y_Ngi#*9d7P{%Um86a0x{U5Rjj{tS-Uuh}a+G(c}6g2WJ z=}@fc8}l9eJPY?oZ&ae>io0x}JrHL>lXp(9H7T^zl`SH}4w}PMT#%txS9!8s`R^1D zM%r*c3YLIYd$nF(^{|(!Xw{--dV|Eyl_O`1vMfTv6O)+BPtue;<9>!E5#CQud7^pi zW|pQFbLdMul-ZIEDKBoGQN>9krhpl>A|tJw571`~V* zogP;CYe8TNb*=yfSgK+YD^jM~lIa&WB+dTn2%#yK@0^kpT^q5fE2$w6p=AtqAp+YW zxG&nnSALDCwvuy`+ul$)Qd-Kvmp5CjR1e$g9omp$rVjm6z@OZ#hFQ~H0xK+QB^BWr zh~~##{&#E&Fh(ogG|`FIsoL=W9-1W2fQ%r)V&_U7f9ePaAW$HnG3TkjyQS#%Fu%Vk z5QS|JhmFT}zCBD;q^CD0YGqWWAnSvig7xDf4FV-y=`_-m%}t%71^Yyvb$N>nA9jr& z-@93U;IT=B&-gW3;627Bxfxgu&V0~bg1E*+o1L9>&~BPBO=Sd5*Wj>*Jo^_0Ap+Q! zs&mi$G7T~xo8zDn3^S8g*_&=pe-gCcH(^vw7I)NnY_7S&@ZQlRQaPXAcQ;?q#F>r6 zu&P3Hw6$l*;A zRvk&9q?_Nr5+bC&l+hBPjX#W&Hxk5^v1uELp#< zQ6o}Zs}gnZBmS*ZYS=80PWS05IG>#Vl-m|fx8Nd!lMWRX6%6U_gJ)ia1c?RbJ!Cu_ zx8YIXxj`BzK>ACM7|p7AnxmoD&%Hw7$FW6UdW%%HIMdWKs!T6WVFy;>?WN^q=^V<( zN0_><+l&?N6nI%-<3(zivn3+_&1!g(n7I#N_JQ*X63OwbpCvL;h2hua3u)wXndLyb z#M*wAa%Ku#2S@#$B)mi9I8Zoo%4s#9sER>QbDjTyjmA^loK;et)vrn-#8x0EuRO{i zq>q_|Z883d&)dznRcyj5^dItngmA4+kkwzzIH8!${Am2`{7ufkd646uc%`~j38=R8 z)j(eB^JHz*{GTAt0dq`ky=D9S95CSj^Ew2%30dR|bXsX&&v{S^dQ-L#oV0X|vws|M z8co<6xxNsz5uFQp0eb-OGNO_A%TqME4j=0(UER=>%F?~c^A#7{Gz-Mb~x%NGBz!Jn;e@Z@GweOVypBNxj*v0wo#fmaw0JK<)>_GVaBiykt6`Jxlj~)V`hym%+#rqn z3OdEuN|=7T!JBzQx`!~0p{y)-WW{x|^mG1d#p0g(HLQPwJkW~s4=ASrK>!Ihh%=v^ z)ROUI1c~#1t*nBYtN|#EzyjJ80fn~SJu4Y?!j&Nu==f|gx_+?&k~x9xa)^=_IEPMxD(9w?jORbQobRuIo%4;rLO)tR*-;^6heH_ zLF$y{kEor!{XhQm@v=qlQ%6kon}Y;OrkF<}*Nlrc+&b5Jn>9qRF^nQFR z1dRz?B_`26;V4m)zCXF@WHCU;_l8GT2UB^>gNTN0`|=5=_fvi;@51Tz z-m;!KCncpMCd@HlOju;N|1Dg{u&Drq#k=RgX_uRJ;4-SDT6z1s4Djatj?9|%F|1); zfJdwj`_FGi7au<-P-!ErQX>Vb9AI;p+J*oPjBrUx0tQ0W48LbO-T73{n`3iFtV8XB z6ES$dAWYOTtbHp{hYF?YYi^7y`J3Jdg{l3WJ4q@=sibv9yD=v=`j8bNtY3`pjbH83 zex3HkjP(Z_d~V@;AejMnQFBqdmoL$eR>XKi9r5trz7jlqrsRI% zdmZ($o2C1a9KK8F;5K`UqeJEI_>?B)AFky@903eky3#__mVZ5VUtL_hFZZ(zp)dA& z6~SH9%t;G^YM|Pvo|{GYQIayXp1o+`Eae7>MaJNUkFi ze!%-n>hAAnD5}0xIhPH*^#^~PDEYmFTr_zn2oR0IEV0#%sz0jm6!9ND>adBb*y!Ug zO5zOZQi^|T?*G95RcM+`Xj)%@3lR>wRF*Tpy}0IAl%6~`W5vcDrD@3e)gSH3Z$qIp`4d6FR z>sIk0eZi?}s>u_If@;jA+XQv4hwXPbhN=pD6U~=dNV55uiv$-(11SaV*=hG?u&eIT z>xqsHGs*ZHN8e@-nO@x%9K+(9jL^&Mi zi$8z1TxVAftp7&T)rn%;7mN3+suT6k8v{!Q6w(3*sGfL4u3n9-nB9D$s-js9ZG6!naDp9`G$rcg_AY2UhfV`D|B2{+nGTM6i=9V&JytNB`D~1|{X^mAUW?-nF zE~qD)lFKBLlfnq|<6d#k(SI+0*SGiGg)SSPk0n>xO8T7~_?(9nE{$FLdx*&cOi$9IhP#>CCEB|+Uwi30aVzkU24OS= zipSh@`00<>A_z2Jdr!*(c>{g`2>x&6K^Bv&{mDGQdO5PE@EB_dqy%eM9@y7fopZuZ zok~Q5>SOLd7bz4A#a`u=a?|Jcq^>5QKu@RELh{LU0a)L>uJO)^WhwI@2?@aB^ zblegqq$Y^+I?|A`M}3@rx#E?aaH?S)h+uK{;Jw|91G60ek?J_p9{!{_OF(70%=c#s zil__jIvqDw{MD?S$L>G0d!rYP{g`iT2MP6|^>o&yXOB(6t^i>CdoTAemqP3(j$W>x zb$X_b=jne=^-t73-kNIkA6kxDNYvpDQOW3UOv=mrG_HL7Wt>T7EqN-ODI6;;;PdGM?w%F@%0iuk7LqpF>W{z(10cLfMmoi{g* zs_AK8_}Z;@@+yAe_X}8n#)yT0dn!!wS_Z#IK-CltuOKB|Kv4nmuNN62YiVkolBGemIS)jYlexDy!x1i+hD4N2E-TI;v;> zM69|q<+V&T1x6ny5lhkrh%1uyllvp(IM_PFNgzs0;xXf@2Sw>)M%|WJw1QacficBD zsA|6!mKIOh4TR7lm1Q*1EYoWeHSOyqS}|;B-<$c26opK#sYFM40N?RH`p=;mP4<)w z8(r$IGmUiEeVIuYX}XE}H@vy}kwUMqx(_9=99UC_O@?n?6h`Q)DrrX{<{2MKU0M*%8hJFywybZF?=O0-$iTe&<#?;f$FxKXAbuX`8_{ zUlld^s?LWpu2W?mriZgVka>_-`QsRYQ18$4aU(0)E(!lwNIN&zKJ+Z#X?NC*&P%zn z;%5KR85@tqaPL{KWw}fXjz~7rI|V075L24~OMuqZW23weSQauwjqf)C9*#~7oD>7^ zxS^GwAEG|eE?ZcI?6!ri2>=vI!Kfm5KR993-5az*=l3i3iiA|a^LYj=<`u?uy zIb}uASp~LJ0G_er9>{KSA`x4#+7DL)wm`ZzRJjhA(O9Lez0p|!{XQ2No|*>2j{_N* z7f!9;XUTE?B!KXB7eiYN)64reA_E`sAkGEiWmYDJJWr0EQ*!T0qdXg^!tfmEC}#`6 z16B-qw**fiqOomRG4 zhdR_(Bc_#=yLt7s90h#y2tphL+`Do|A=+!UzQWA3%(-4vmbdy8AdxWMhv>XUgU?F@bgMuGc)NzHgTYMdTpicCJKf5Ml6Yx63oWkyGKf0TL8PubM;-b!BHyZ*1u173?* zTE(7mftDE&DBVg>gR8pxARo1=;LA3qZu4*D=Sgoyht#w}5!AGO)lV>g5!E+=OB?oN zi&y`m0KA&(L)J$@6r7?S$+Nd!lxscir0DuI+P=eHN#(S)$xnaHd0aq`} zF2cm3mI4oFI25k@05lR0rp8$CYd27h~hKd_@#ika&IVEzWo8gBmV}+bi;iD z60gP3;+_|lbJjU{9wqd5M&$$+B{7zV=6D71$}3p>!N2 zG}ZHcQY$ifpuOk@0pPj2%4hg;>DULGp-0;_8u#X7v><&mAb71f z32zxEJmkvAAF&3$M%M<8@}QVr2tqzbW?4?unwHHE0~PaPBBgr9?CKkr%!fUe!%GV@ zKh~!vmtzsIvGIK6sW2YLWgHMlt|8IGOviA=U+~{Hi_6LS@1Jgjk}EL*Vf*4mc5Us{ zD5Ce)G8jtx6L&4IhyQx+JPXAlD&;v#4>Kk4P3dC!*5Fw6SzqojeKvP$s;H>Y=sH99T6SqNEaR(Kr0e7TMxNWt2+j@S-j4O%#veS$0_1yR= zMdzV=S>mB}V}_KQsJ~D!9LH$)XNt#}n95kyLG;kMupOB6*64hHO zMNDFTOyc_AmyGBg8{65>B!lMl$^|3mRNOO78IzT7bhuvt9wR|DfA62S|L9Y6%qLo} zrp=IeL=ajC+q9%2nfLzJu`Fi3X#5!}OuFd!A5~jrB6QNP5&lUpSmGoxea)Y1#}ger z0x7;5S&bLYFv`jm)scvt^=cz~z{&M=o!d(O7lFuSL#24n7y?T4;K;~OG8PubyArLR z5-~Efv-_~QD|veNP_WU6avhcg8ru@+BArqa7oL0mYWE%N{31jy!vK!3JX_U z0zGoM@RshLYk0-x@fHQQ-&2m?Zkq1i)(@}hzywi$am4I?_3qM3i&U9D6hGZ(Hh2B$ zSI)>%33&|Xpd30=ORhTU7wssw27gBxWnwK^@!S;6a7aySs_1du&y`FOJ0`topdPz+ zHtd}I+d-xsd%fZO%h(Oo|?4yx?BJEjW;ZgHDDO2s{kTVY}z>b8i}` zQEE#;X8;jXP|U_n9#QRn$T<5lq021$PpWLq_Pj^IrXAe|2@)yL_8JZ$y9uO3ud*YllApq@Wd#kWJ2b ztBby~en*uZNJ9z=3IM{2lPOb&QdR3@mOF3r@*e1x#CMOBv)0Z6gJYD;SY}KxnIx9ui16Mo%j(a&}f9 zfXmj!Xb9-5o6Xl|9e(lk?c~Bx9wJ1KJ=kt~qDq-Pfj*`0qf17gMVCbd%K-eu!RZD6 z>bghcFL>b!4zU9zZEbB+JwB8miqx10*N)Gj0NT~nl_{YoJm{Xu<1l}J`tE5>nAP6u zIDY*3f-p=*c$}UR_x->sbV%K>NQl_{D+HgWr#w-mK;x4pS5kPliH}c)Zi#H&td{#r zd;4ds#E<(X!#W@?uPG5Crcg5tK41S4ZmROyFxKx|HQIBRjZne`z7; z0`N>!LbCz8ef&^H9g{8~@qIQ^0G?zoM3=*#`JKyz1%Jc|irerc-w8s(Atv3AR6?2m z_mBDDa~RYwfT`8z^c<8yXJ@r%^;K2v%NIPVek`rq(44+-mx7gc4nh zpu2icdE_dRoqe~dYiD=#1usM#JMUP!?ar-$zG(i^N8fpJTjiqh3T61=wLs7J;0+Y` OM?pqKx>VB0@BaXTlrOsg literal 0 HcmV?d00001 diff --git a/actes-princiers/docs/source/img/xml.png b/actes-princiers/docs/source/img/xml.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b8e7c16993ba3c355b8b3489421fcb278af09f GIT binary patch literal 33264 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 b$j$KwiTW#bef()j!G9WRdsWkvjjsM5#&Y=$ literal 0 HcmV?d00001 diff --git a/actes-princiers/docs/source/index.rst b/actes-princiers/docs/source/index.rst index 09ed124..14ac0a2 100644 --- a/actes-princiers/docs/source/index.rst +++ b/actes-princiers/docs/source/index.rst @@ -4,6 +4,8 @@ Projet Actes Princiers .. toctree:: :maxdepth: 1 + kedro + pipeline data xml coding_standards diff --git a/actes-princiers/docs/source/kedro.rst b/actes-princiers/docs/source/kedro.rst new file mode 100644 index 0000000..c341170 --- /dev/null +++ b/actes-princiers/docs/source/kedro.rst @@ -0,0 +1,117 @@ +.. meta:: + :description: data engineering + :keywords: reproducible, maintainable, modular data science code + +Orientation Data du projet +============================ + +A quoi ça sert ? +-------------------- + +La question peut se poser : à quoi ça sert de passer à du code datascience ? +Pourquoi s'acharner à produire du code maintenable, modulaire, de manière +à pouvoir reproduire une interprétation de data ? + +.. admonition:: Les questions que posent l'orientation datas d'un projet + + - Qu'est-ce qu'une orientation data ? + - Quel est l'intérêt de produire du "datascience code" ? + - Ne faut-il pas mieux revenir au code `database -> html renderer ?` + + +Le code d'une web app +------------------------- + +Pour partir d'un exemple voici un bout du code de la maquette : + +.. code-block:: python + + source_doc = etree.parse( + os.path.join(APPPATH, "static", "xml", house, acte_id + '.xml')) + # remove namespace : + query = "descendant-or-self::*[namespace-uri()!='']" + for element in source_doc.xpath(query): + #replace element name with its local name + element.tag = etree.QName(element).localname + etree.cleanup_namespaces(source_doc) + + xslt_doc = etree.parse(os.path.join(APPPATH, "static", "xsl", "actes_princiers.xsl")) + xslt_transformer = etree.XSLT(xslt_doc) + output_doc = xslt_transformer(source_doc) + return render_template("acte.html", house=house, prince=prince, + infos=q_acte, place=place[0], doc=doc[0][0], arch=inst[0], + diplo=diplo_t[0].replace("_", " "), state=state[0], + output_doc=output_doc, name_prince=prince_name[0], + transcribers=transcribers) + +Ce code est : + +- difficilement compréhensible, +- difficilement maintenable par quelqu'un d'autre que + celui qui a produit ce code, +- est fortement lié à l'organisation d'une base de données + et d'un document xml, il n'y a donc pas d'unité des sources + de données, +- etc... + + +Un data science pipeline ? +-------------------------------- + +Un datascience framework, plutôt : + +.. image:: img/KedroRunTimeline.png + +- on charge d'abord un catalogue de données sources +- on fait le traitement dans des étapes bien distinctes appelées pipeline + +.. glossary:: + + pipeline + + Un pipeline est un processus ordonné. + Plusieurs actions sont lancées de manière successives ou + bien en parallèle, ces actions sont dépendantes les unes des autres + et sont encapsulées dans des nodes. + +`Voici la définition d'un pipeline d'après kedro `_ : + +A pipeline organises the dependencies and execution order of a collection of nodes and connects inputs and outputs while keeping your code modular. The pipeline determines the node execution order by resolving dependencies and does not necessarily run the nodes in the order in which they are passed in. + +Here is a pipeline comprised of the nodes shown above:: + + from kedro.pipeline import pipeline + + # Assemble nodes into a pipeline + greeting_pipeline = pipeline([return_greeting_node, join_statements_node]) + + + node + + Un node encapsule (enveloppe) une action. + Cette action est une fonction (un traitement) python. + +`Voici la définition d'un node d'après kedro `_ : + +In Kedro, a node is a wrapper for a pure Python function that names the inputs and outputs of that function. Nodes are the building block of a pipeline, and the output of one node can be the input of another. + +Here are two simple nodes as an example: + +.. code-block:: python + + from kedro.pipeline import node + + # First node + def return_greeting(): + return "Hello" + + + return_greeting_node = node(func=return_greeting, inputs=None, outputs="my_salutation") + + # Second node + def join_statements(greeting): + return f"{greeting} Kedro!" + + + join_statements_node = node( + join_statements, inputs="my_salutation", outputs="my_message" diff --git a/actes-princiers/docs/source/pipeline.rst b/actes-princiers/docs/source/pipeline.rst new file mode 100644 index 0000000..92e4317 --- /dev/null +++ b/actes-princiers/docs/source/pipeline.rst @@ -0,0 +1,282 @@ +Vue d'ensemble sur le process de pipeline +========================================= + +Quels data pipelines mettre en place ? + +Qu'est-ce qu'un pipeline de données +------------------------------------ + +.. glossary:: + + pipeline de données + + Un pipeline de données est une méthode dans laquelle les données brutes + sont ingérées à partir de diverses sources de données, puis transférées + vers un magasin de données, un entrepôt de données, pour ensuite + les analyser. + +Avant que les données ne circulent dans un :term:`référentiel de données`, +elles subissent généralement un traitement de l'information. +Cette opération inclut les transformations de données, telles que le filtrage, +le masquage et les agrégations, qui garantissent une intégration +et une standardisation adéquates des données. +Ceci est particulièrement important lorsque la destination du fichier +est une base de données relationnelle. +Ce type de référentiel de données a un schéma défini qui nécessite un *alignement*, +c'est-à-dire qu'il faut faire correspondre les colonnes et les types de données +afin de mettre à jour les données existantes avec de nouvelles données. + +Le trajet dans le pipeline de données +----------------------------------------- + +Qu'entend-t-on par "data processing" ? + +- La collecte ou l’extraction d’ensembles de données brutes. +- La gouvernance des données. Une fois les données collectées, il faut constituer + une discipline pour organiser les données. + Cette discipline s’appelle la gouvernance des données. + On commence par relier les données brutes au contexte pour qu’elles aient un sens. + On contrôle ensuite la qualité des données et la sécurité des données, + avant de les organiser pleinement en vue de leur consommation. + +Le pipeline ETL +---------------- + +.. glossary:: + + ETL + + ETL signifie **E**\ xtract, **T**\ ransform, **L**\ oad. + C'est historiquement le premier data pipeline, (pipeline sur les données). + + +.. rubric:: Exemple de YAML descriptif d'un pipeline + + +.. code-block:: yaml + + stage: + + prepared: + - name: bourbon_clean_up + depends: bourbon_xml_catalog + outputs: bourbon_data + + + + +Qu'est-ce que intégrer des données ? +--------------------------------------- + +.. glossary:: + + intégration des données + + L'intégration des données est le processus qui consiste à combiner des données + provenant de différentes sources dans une vue unifiée : de l'importation au nettoyage + en passant par le mapping et la transformation dans un gisement cible, + pour finalement rendre les données plus exploitables et plus utiles. + +.. rubric:: exemple + +Les métadatas contenues dans un fichier CSV et les datas contenues dans un fichier XML. + +Qu’est-ce que l'étiquetage des données ? +------------------------------------------------------- + +Dans le cas de processus tels que l’intégration des données, la migration des données, +l’automatisation des entrepôts de données, la synchronisation des données, +l’extraction automatique de données ou d’autres projets de gestion des données, +la qualité de l'étiquetage conditionnera la qualité des données qui seront analysées +pour en tirer des informations exploitables. + +.. glossary:: + + étiquetage des données + + Un label est associé à une donnée pour savoir par exemple quelle est + sa provenance. + +**E**\ xtraire les données +----------------------------- + + +- **Extraire les données** c'est, dans ce cas, charger depuis le système de fichiers en local, + les fichiers CSV et XML. + +.. note:: Pas besoin de collecte et agrégation des données. + Les Sources de datas sont présentes en local dans l'application. + +.. admonition:: TODO + + Il faudra les enlever de l'arborescence flask pour les mettre dans + un :term:`référentiel de données`. + +Datasource CSV:: + + ./app/static/csv/corpus-agnes-bourgogne.csv + ./app/static/csv/corpus-charles-i.csv + ./app/static/csv/actors.csv + +Datasource XML : + +Dans `./app/static/xml/` : + +.. image:: img/xml.png + +Le référentiel de données +-------------------------------- + +.. glossary:: + + source de données + + Une source de données peut être l'endroit où les données ont été créées ou celui où les informations physiques ont été numérisées. Cependant, même les données les plus élaborées peuvent être considérées comme des sources, tant qu'un autre processus y accède et les utilise. Concrètement, une source de données peut être une base de données, un fichier plat, des mesures provenant directement d'appareils physiques, des données obtenues par web scraping ou l'une des nombreux services de données statiques et de données en streaming qui abondent sur Internet. + + référentiel de données + + Le référentiel contient la totalité des données brutes collectées. Une collection, (Data Collection, data catalog, + data lakes, etc). + + +Il s'agit de charger des catalogues de données. + +Les catalogues +---------------- + +`intake `_ + +.. glossary:: + + Catalogue + + Un catalogue est un inventaire de sources de données. + An inventory of entries, each of which corresponds to a specific Data-set. + + Catalog file + + A YAML specification file which contains a list of named entries describing how to load data sources. + + Data-set + + A specific assemblage of data. The type of data (tabular, multi-dimensional or something else) and the format (file type, data service type) are all attributes of the data-set. In addition, in the context of Intake, data-sets are usually entries within a Catalog with additional descriptive text and metadata and a specification of how to load the data. + + +.. rubric:: Exemple de catalogue + + +.. code-block:: yaml + + sources: + states: + description: Bourbon Charles Ier + driver: xml + args: + urlpath: '{{ CATALOG_DIR }}/Bourbon/5-Charles-Ier/charles_ier_*.xml' + metadata: + origin_url: '{{ ORIGIN_URL }}/charles_ier_*.xml' + +Le chargement du catalogue XML doit pouvoirse faire par du code de haut niveau +de la manière suivante : + +.. code-block:: python + + cat = intake.open_catalog('bourbon.yml') + list(cat) + ['Bourbon', 'CharlesIer'] + + +Il faut pouvoir charger un catalogue en deux lignes + +.. code-block:: python + + cat = intake.load_catalog('catalog.yml') + data = cat.data_source().read() + +Comment ce genre de librairie fonctionne : +Il suffit de lui renseigner un pattern : + +.. code-block:: python + + >>> reverse_format('data_{year}_{month}_{day}.csv', 'data_2014_01_03.csv') + {'year': '2014', 'month': '01', 'day': '03'} + +Et intake charge les fichiers en fonction de ces patterns. + +La **T**\ ransformation des données +------------------------------------ + +- **Transformer ces données** (validations de typage, validation de schéma de + structure de données, etc), typiquement avec des librairies comme `pydantic `_ + +.. glossary:: + + transformation des données + + La transformation des données consiste à convertir les données d’un format source dans un format cible. Cela peut inclure un nettoyage des données par une modification des types de données, une suppression des données invalides ou des doublons, une agrégation des données, un enrichissement des données ou d’autres transformations. + +- La transformation des données + + - normalisation + - dédoublonnage + - vérification + - classement + - partage des données + +Autres types de transformation : + +- Cleaning +- Filtering +- Joining +- Sorting +- Splitting +- Deduplication +- Summarization + +"The data cleaning and organization stage is the transformation stage." + +.. rubric:: Quel type de transformation des données et pourquoi ? + +Il s'agit surtout de les structurer, ce que faisait, avant, le storage +dans une base de données relationnelle. + +Aujourd'hui, l'organisation des datas ne relève plus de la responsabilité du storage +(`cohérence de type ACID `_), +le storage n'ayant que la responsabilité de type `BASE `_ + +Que signifie le data reshaping ? +-------------------------------------- + +On parle de data shape shifting ou data reshaping. + +- data shape shifting (changement de forme des datas) +- data reshaping avec pandas +- data reshaping avec les schémas, que ce soient les schémas d'une database + ou bien les librairies de schémas d'une structure de données. + +Avant, on utilisait uniquement les databases pour faire du data reshaping. +La database etait vue comme cela : + +- PostgreSQL as a data processing engine, +- sqlite as a data processing engine. + +Aujourd'hui, on utilise plutôt des librairies de validation de schémas (pydantic, JSON schema, +XML schema...) + +Le chargement des données (**L**\ oad) +---------------------------------------- + +- mettre ces données dans un storage (dans ce contexte, une database nosql + de type mongodb). + +.. note:: concernant le storage, un serveur mongo n'est pas gourmand en ressources + et reste dans le cadre d'outil "low tech" à mon avis. + + On peut aussi utiliser une base nosql qui ne soit pas un serveur + (comme pour sqlite dans le monde des databases relationnelles). + +.. note:: Chacune de ces étapes fait aujourd'hui l'objet d'un pipeline + indépendant. + Par exemple, dans le "data understanding", la question de l'extraction + d'information représente de nombreux pipelines. +