From 488473e02ed4ef75f61169353af09449c52d29b2 Mon Sep 17 00:00:00 2001 From: Lionel GUEZ <guez@lmd.ens.fr> Date: Thu, 28 Jul 2022 15:47:28 +0200 Subject: [PATCH] Polish --- .../Documentation_texfol/Graphiques/SHPC.odg | Bin 19637 -> 19745 bytes Trajectories/cost_function.py | 2 +- Trajectories/trajectories.py | 33 +++++++++--------- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/Inst_eddies/Documentation_texfol/Graphiques/SHPC.odg b/Inst_eddies/Documentation_texfol/Graphiques/SHPC.odg index 462e8a82df20e3cbf298e0411f87e39c1fd17008..ffc49f6c74cf5e4d3e90635979439c49fe1fb787 100644 GIT binary patch delta 18091 zcmY&<1yCNr5+($KySoK<cXtmE+}+&*1Xv)rySux)yGwxJ?(VMt<-J!|b=Or>-P1d@ zHPf{{-QP@aQyO?)Iyi!o90Vi=7#Iu~SifBy!uK!zb_w9%WN`r6|CO5lD>?nsonib> z$NnG21<w5+<^<09KSq`?0si0TJK$>n(Qtp^`ww&b!VDA*udFCgo(xU9@7h|t?)yti zi;AMs!)UvIiW9$qUgg5^MTE&{l#-d;veL*Qk^Jtm@I!x_bidr#XL+^6V!&8n|Gp;2 z@nDW{3aCFA+FoKJe!uIBaRBb1n6RjW8z4sx@XY@*9s9t+#~@CJr=1Vt7$B%89yaWt z95E+UQ30v+A<8K7A-A5n!+r==Oi&bK<~SIosb+?V5x7wn-j+?1mBn8ZS-8>P$A*og zRF+`5tBCj9rp?nz{$x^8)fxsGdo7(zvK;C<DMywj_n9~FtVBY7GUbGH&Xin7BXK;y zp`5lCk~D8`F=owfG3xYELE7qC>@-eNPwtSH5CV8P2(XhZd6*o~SM4|@O@EwST!tsY zre<xV{m%>)ZKAv6lpm{PN_Jd%3B&aj+VjsEvl5@w3*pblXY}G;;n(wpIvum1n3h|m z&jc224=H56Cdlvy((H?c8+o8vv+2c?TZs>;^5fMz`F#Ol^-UqCS4;~tZ^A*s;!<34 zas#sTArMx&I+$9g&yBri$<m<2yS@$rw80Kx+Tf{5+~%x&bWt1xo~T8N0IMM31Wtwt z%7>+(7*;sgX^UY?of7ZP4*enPVGp>&%WAUFsadVIY_Z)+<l;9%2NPzltk*4+L2|>` zk*s}P39MEh{3w!g$--wa2xS!x^V)vcT%ZDrONdy%PVr`G!R+FE(6eH%QGGiCc06mK zxUe}Aw?@aCi+~l5c+)wA*aNQah71L9Q@!K!O9LSQZhTC|tQgVaP&n<@K$XMu?@N#y zM39zV?0~|}NVgNhq*)8TVuI>{;9>l1m7v0h&gS4Kc}ih6NjKtDu~kw=2<}Rb0is(4 z`)p#hFnID=*n)I~V{6-pI_qe#6+4~!OAIg3i(7R}(syZ=J-;){4q9(Q#}>Pw0Ps3I zHYD!NCD7N;{=&;-ECpw%xXblB?%;%{w#dpP?{J^`?mCGgd;N1hB0I06l5VycUd%B` z2kbQSQ{_aH{S^A7r(Gc}BoK0(K=DRpGfa-SFfW4V)#t6o)$7KmM-fcS@J6kjf$GJr z<NG5bAZL0tLn30E@GzJ#$0GY96~Q!tcda%75>mXSZjb2K$#<4t*l$LpzN*-3_ij@3 zzLhNR7p!zBW-2hhw_ApD4~b$KUQP>0ln`Cy(LSL@se^x!u8a3g%~-)M0Lze=o^Y2w z34?5}PhtWQ#SyKrr<SZ?iX}4$58v*3D&Z?+w!t24iE<S2dV^<ItS|)FmS<K)@$-By z&3a45tmaI6=cy5P*dRWj<$rXZ^jj;p_9|?fu7dp(6y!r5p84|R_0?H(83iViCZk54 zBl`K$n0eM_=;<&aY8Fm_5|E_R6o4^-?&l!cB4N4t5QkYp*@E+6-L;sEh1B1c@aKXv z<>M<f2&!aw5Zi1G54iH`4?ug58gf#qoYdNCu&^TMntefBgRsv(K?D%+rzGNk^;iS~ z*Zq1%8o!wtM1z;T?|-B+ytJ`$!{&R~xk_-F{S^&Mtz^sQR+{p{1{AixB$mmpsPkp4 zQl}N|(_tXfYCoJG1!ghAO4Opn|CpPt^YG>cPr_wNjW`dy`kHOGtSUHdrq3}T2vnzy zgM%Bh*wD-lxd4LHG>p!@H@T3;GH`R=U(2U>m>N=(ceB(dr#KxNr(gOE9$i59N00#y zl_B*TS=wv7<7lJEz#slJ2I&`TvXd?_EAS?9>QuI|ozCqyU%spKOtv0~GWy&eBf8xv zCM=EJ{K7!2A9f?+l!~(kxmT4!ct@&@MeCk@@f<e_AsmCPlhj6D9}iv@`otJ8rfXLR z9Edp``EhjAJmnJQ-B%UmQdR11oo|gDl;3rVukB~b)61RofQ=5(HM+BEApr01YaK$j zN~G0?%H+BMnsB@bki#qrl>uE+x(VlobAm(^tYN1_)|u9ED`=76G?QY~gy*3m1zsT( z%s;P*+bGd%;_&8(I*kwIqS120$=h?h6AhO7^g<{9=jY_S^&~JGk2}6ppKIyFM9&Eg z+hcv37D9sx;6%B|)65vywUjuD{M3Qft}Zt(i^P-`r$wWX`B10C^LZ@R7e3uudA^u_ z8=i){@azRK)1m&vq=E184T(xKrRfYRBY!-i_|=!2eZGG|wj3d~a&VWC6VV5JelXd^ z4wDBfgtOQrzR;vL5LIpbaA8_T`mSbJW(!I`Ie+y91V&DJDO^{atoTv!?`z?$ka@(B zV}CF6zVqlBexW1n6oie6rp!}XeW^(J^BjuC3nZbX6DWwzjy<c%9^YG{;dRNrWD<TC ztYKHoAyyFG)4(e!kxKk?7CCR^$d0P;+47}nwo1`;p!v6!g}Z;%)HIhI(lW15spQ?W zQj7KxfVR-=Lyvm$8#8gw3@@SyZj3a}Ft+fQ8ErKVw_ETSUf~0MVy#I-CE2JWR2I1% zeURL^)?W*r0=Zg64ak&<q#87}L$nU@d%>-It1;cti6^^Xo}C>}3~TA-1Yx%2u`AA1 zNTGb8a>blv4Wh;J<tLo7OAFrPAQCew^BlrlfGtkSdh+s^UVcwuAIVq3=Q+xhLu_qG zeZe52j)DRs`^f!^0&m%A6NM2>+3#LOl(eO6K127?b`+ak^~v;n!X`?qzN)vixRzKL zh~H=4UkmdtThaV!0wSO)23r&)SHyG4L<lh>&zG|+ak7CRmJO12W24_CKUe2W)bOxS z06paMD{_HX(<F!+lcID;QHw<Ywek)U-y#Q;Vf4wB69JlNEyr)mq(yK?Gf>>S;ps&9 z<=r?Ed<)9>9ZiQ!S3r&VtCpafS%+Iir9nhtacCwxk_1EOf^TaY${2%`<BCA4M#LHY z<on*IHMaFKm4i;t#uYTHeyHERJ$z^}5WDs(s<+u)WScM`ChElOPxSNfp5XH*B>4AF zcT!byCRmfd@ZY!!6*22SOGKZ5Jw}m|4oIfq#Nv{Wb~$*_3q~gBJuTPRj>a;j)`|IC zm%ZnLF4rxAUo(`IaIEWGJJ_z_XGdLXQE~=DzUME_jd#B4nCq##HLKncTuY@K0B20i zf~QOL{GcA5TAY!A6}93<<urKPZUNPno0(ApvQANu4>)bGE*PiDY^R%*%hJbdzs67? z;WI-x6_%fFM+l_8dM=MJagL3Hbxo)@mY#R==R;_-rkb#OZ;MQ}<`?Um5tM!=R-ado zxW<pkDwo?n&t(;&`|HZEfF(jlfUX=utUB3fMpR7e{vv-Ny;0~qTDZcA7{?kJvKp>e z&u^*l!@ot69q}zU)t$sr4dL=jJLLs(J6)pHdI%I7_HlF=ryBhwS#<he1%i~wAu5mW z_9Ktmr4-{`ZJbOxcdY?~9sJa0bYB~hOSJ6D=>EL@wd$w0B3M$%)~dW72AJ5y7Y<Ya ztFidMjGikPBgvX(xShg}v3#((<?p{(m-ryI>M%plQ?goXtTNqFuE#qD)zNXs&JMcg z5}$HnXcXQ0ydvPp6`x{M0?r~c-E|{7Gtcm+4+yB9X2z_}qD>B|z08Q{R6C!4`6Gof zk4P@5lam3UK}NMJ#2;9`K&Ni30IkuvXmUCKs4@Y+-sigt_hD3mABG@w@gjl)$=){l zi0)6O_>Sd0-Dp@h@fiI=rJO-3ZB`wvNA7GzgJdM#Ox@~wy=!;0=ETmEXs8b&^#{r% z!PBO+N)qYp4y*y0d)f58QiV+AW5xpCXyvhEEzyNLSeZo|f%C&c0Bz%2P!cv>yOY=y zdH&?sUWlwKqKI;Q$+gBv=D-i)4aAM+?1L=VzaE%^>#x_LUi&@bQ$m@zZ)#E$M-=xf zeZ(n$=jOJm14JMcQcm17B%eGcFwSWDg7Q{0HPlDiQ`x9O!ywUBfp#{tV3k1<uJ77V zq3&y)vbR|{V`_r{P?GpPSHhU{a+$bhSP$(}ji-p_W#LPR%XY1rPPqvp94-BA_h&f* z#88HZkN1bIZ<}!b;uhEPNzIE}UL4Qw{492JN?FHMkvvgh+FNm5m^JP~B@9hQ6FIrL zE0ETrr`)`#%^OE|+cy3yNB3$2#kA2~iQU#Gwvrq)%<$|dX3+yY7#N-g7})=?1`G_$ zKdh0Ef<y%9ZqygFqIS>xP_nhV1cUgTA#k8*;7D4Xv{g8eS1DW1j2AJyfDtEuaj3b4 zYMaF0?|YQVC+;;w7#_(^h<wU~{}tP=Q&l6>gy(-W^|J#KA72`m?Bw^!D#W~>m9S{y zF!G^+U{^!&;m?SzPEzH-FWks7wTg!0RepuK-uR*bpP9>s9E>NkMy7?!2q~_-TZMw< zxySFm$=N0IY6z7?{#2XvX;{P1sUNYzoJW1S<yd=@$n}2k$VcNM8>47}Z+Nlw{YT{J z>d83jQ>GZKq@|Nj92yH{t8h4Xo?(6N9ZfCW>7WuJzWSM6$B`^i-eRNB?=tX>-c;_Q zz5Y#rh~t|=UY*X(eqk_Q#uUMVPB`md<5joM$DI$8+5p&ErEzX)WD!_(zuRtV>K$!y zPNyqB+udZ3Kn&YA?YR1YQZ={q8zi)70ys8NPf~`x*`LfbIvEUGCd<FNRa(olgppop z<yOiskqYiz_z+DUNb%yjf1l$tlg*)FpgnK^Vq|$oNqq>iTn!vU<73Q@B*7{{Jk=M; z6M1|-2r+X~(jT=#3h%YN8KHknQ|MA44zRWve`Cm)`31>|_K_KpW5I<an%@2PUu}ox z=4K8XHp`A2<wbN$=Qh$WpR&P<#ulZbyzGr*J*Y$(H0sepr864&5x@EnEBEnfq*0&- z-1BHY8W73;n`w0dMPU~NJ*$~XP?(iHA8b>RG>H-_GVhRCsC5Eg%N9+ZC`5t<3b|C1 zabB`0m_d`Nf7zXgYk3UvRYl`f#4*c&may_7pPKavUYg8YJK-1y6c;OTBCI0Pj5Y?p z)K6mf_Um^=3p}3WB$W|1Yze&rLUTo61tsitI9wR43I!^aVbjtpX)3ronS?*}DsH<R zF8>BbWhZrc15R1l<D7VMD<HCVi*W2ja=tVz`Boj_hsYNZsb-1Dv}uWfUt9z^@sNca zVF)+Ewe}FyD)-&JTt=*?2N@XNut&b+nXXcmi5{>&yGtO0tl9Sndp%$SX6!2f3#!0h zcPDVfTgosxC>5?gBGA#?>qviGu-7=i1BLv1sylGi;!gJFvYk@bQ&n3I|1Jn(P4Zw) z`c}5D20fVuwcZG<`(X@<mSm|*1u%V4N(+u`5qcl<@ct!ea1g+CH*K|sedk_#D888w zom~IJKJ~PLGlkh@qR)BjZjGA`fN=U6UTiIoU(WJ%1@5ba3sfn8mJ)WddOTMvX>Oj@ z@|0SoJVsBfGh`YmAqpll*3%-5jKowi-acYZEp#Pj-mwK49V@&cM#Sz;3CAAwDlxo$ zVb?ZEGKo`&L23eu77K-r%~$14v>{bUX7n!9G%9KaosvgO0&=rEtf2Zyzy<oz@;KZb zHxf=*&(hNXg<+WH1p&U3oX{<z)qhYN<8lk(Z_Y|Ul`XZzw}+oZZV2Bt;V4VaDCc-Q z+OJ@a{4ZiC6>^~;T~BQ?<r4iw^TPcv<A0*Wx5C1H#Yolm_LT8{UwYOh%89$^Qt}9{ z*=ghF-_3T|?~?bHWI`d91eoD^roq}C|KM{#us3#*+2X<+@bnDHQ10>Iv`G=l^|y68 z2`x}%32cbL2OL*p8}>iD6$x4tDMB-0<c!ti+TPg$9>#4`whr7~m9`n(^)EcOj~go! zwVsc7Ic#gu0IlHWzQpOjtmD_9Gr51ap!ijsT>A%xOM)L343v@}AlKGAGMu&2;B6c8 zk|NdSbfuCd!sQH`TSp?PFN~o&8zpg}<goBnwyUaA;nqA-#e-zW@VZJ%61FH0CKl^L zXh8A>1VaC|QFf>vqE0x&eBXfbID%V~bvkMe&kQ-&toU+{J)pO_fnWAL3X@8JZKka( zI>l5|MHJl+d1n^`D3lkf9G}mvZ!lLPPhiJ*kvchYJSA7f4X<q57j65l(T*YY93Jo1 zIrq{gDE=e#s^J?hhx^*^6fYQawEg-roN7U><}Z2PiYtyL4AOE*OdL}1E^C=5K>}4_ zq}XAjuLxG<`rBmzKX~<Hx9?}Kt@>N%P5MhW7_O@Lly7Rp0AWuR)@m=v_2F?W;_**+ zCT($yY34C?;gJedb2yfO*|6={sj}rvv{5ZD!}G6a<#lqd)fF!H{N@(lpjF#uy$e^^ z;{FbJEl#E-7Hqclg&x#Z6R&ibtAPz54)RbW+t8~A<nftxki?WRxusBS>3J~&FHb$P z+;oz(xwM2@z_4L0hQI;tPOJ8KqggANZA|{H*E*G4z^{XPuhifI2TVpiwk|N}D>wp8 zO61QJrG0ZvKSu!Og-cBOZ|BdjKi9!93Rh@(vr{Oy=R102?A^GcpL)A&ZG?h9(@RRY z#4J5ZJiXk-0x#LVcl^!}VSjB$b1UMjY06sE;JJ;a0AQaEBtEByccXZ>Vjb*{6Oi;W zCTy1IquHMhcuKuq#F{Am#`x4|EHR-gZkZ2=ZAK^8t&IdU*>>VP)us*Si@oRy`S&Ub zJACQAn3pG7!iKQ5Tzsm%-t~j5`F)|qnlDVB?@7DcH!FTZdV6NEF}OHO8MVjv6vI^E z#6vo_0~&C*R0IIYTqFxK|4;r=A^4gFREQvOXe(VocWMQ*Q-&?%U{&9oils@MkSqV2 zpL<f6?@;z_A*h(Wnf-rkhW_wH7~PDEBlh2Bb`LtTUt8n6&gb=CGhfD^!%1Vu0PoM7 z7FO!=$0Yj%<}UW;pO|bD2Ate%bvOR>*2WDtK&grG3HpHXSC)*cR@5IDf<>_E*v4@w z*eUV?g3x`}a4_M}uSd+Osw|FQDfMvpWg)YnxWcZE!^aTqfVtF6o0!gmF;BHaugAeG zS9wKmmDEafF@{bUBahUQ&*`U_@*3Yb`N8UV&Nrd9Ls4#ID^VOEzNh<}jrG2J(fIB# z@SDQ$X^@o~#&gyXzOX&JR{APsu9c&Iuj05O$2lkO%2X4+mg^ku`szm=-z9{+$|z&n zcAJl_^N=8Cg}ri=#asx%c}G)N`%_bdLXB~_Z@~IkVw|w6c8RP-{;xNL^!F=PJ-3ee zu<5h(b({PS?pdA>&T}oB!Vm$E^Q`cD;2K3c>t_8lo3oDUv-R8GENZXA-4x)n1a56f zuM6QqCgybLgLm=X>4CMrq-J44K!eFS;#EzR>6@GFlXe$>j~D9FlTKHt_`i;K-s!<H z@h!%cqn{=bB5%`gv62H&tk(N~v#{<I@|Pd5U|@lg|6dXY*uATQ{Xc~8Pj)eLb+xj$ zaAEYYv)$0vb6Mra@Yyn$HEL(uSdn3gEew)5PDMt?Bk{%&^%#SZ^F!0Rm32mVe@#NL z`tc=jxs|WMlY~U>NLNqKfKcykcWs@5I2#2!b#_Aaup#c%uXKQ<cz!~4t68zTxEsI( zwHhYCx+{URj{HPTqWU6J)*gy%&5aqfU^cvLW=&b7AzhLda$Nqvwm0v($b5UUaP`*< zA$Pe;{v{I&2SpQu+A)q=x+FJ55FOL^@vBOjCJciv2OM^S7`W>edPrNgC@%Uv+VGxq zX*B73o+Hyp=b$rA*7ivrb;Tyr$P55m93$k71KD>(g8j;rFmp7&vv5@XmgUpFbG}d` zhNx5HZn^yW7J)KW96ob%O#n3%@t~^?QmhrPj*de<Ggoj=Q=!DpW`^?>|8Bk3YA}LO z`v>0K8PfK!D4S_KsD#m&_Qz1d<jRZ0E5~$4ExsjLOTdxh_nu+No*|{_=03opd!J3x z_L(lQq@n82A~Msd_JxY^T9G-(GJ2a58?Kp2om=uNk^zA+3*4#WfIMkic%Z8Chy-Oi zl{LXYyXKn-gzqGdh+lCyx-ew;ZwDtyE+21%`}Sky?G^ck^MI7~n6OQ#AAcde!^@<j z#Q{!c2|k+W?c$6Z2<O5fH4|W$-mcg_-;{Emvb*&Q1{%3Mnx90#PKB6;Pnje0MVU_2 zxqkLBsuIQW5Qg+$b5qpzsyw{HvXkb+BDQbFs}&JTx-#^$UIKWAd7Rw}-XwostYmQe zu*-JU96fQP3aV6cAY~fZQ}05z*Dy|6^0X%tX$@i$96chEaE)pdB8h=ay&RIyLnu^2 zgQG>8CI|aVTee}fQmM#0A~ISC($c;dI9+TbYIa=tUQ9P-qi$#CG{d7=Nf)gkkE3GT z5K40D8L+H;MxB%Ez4?2XVChEGt9rvXyi7^?lyN#8EE4&sn}cnTDwULK2=v*$x2v0` zxgUJv+Ut2rXvHhKcMNb*_lKcq=@FL**|TP0Hm^w<K8mRMZ(S0^*z=9RT|!~L;!@uJ zvWN>pe8(0`LPwyv3U=PyJil7`*Qx0Qc?AF5S#*@dZ^P^O?PeJQ{ZPg#QWxkjr&-sB zus5(q|KOT`gNM*k@^DJXm0rry(aQxPWPFH*y*i>GGS}Kuq9Y(b^DUxVxbq7+cXxuE zW_j2u@A>P-aP)2e$aj<KXdUhA*Ua}MEVf?dRS0nfh>tWnpZ9$_2#_{@ES8EJ6oD_6 zEx{CRkpj2Um*|wVii)6i4|BSN=<);6q0HsUEK5l>zf=ly^hitebg&$0GxhKG8d9@t zwhM&cEa4C=XLf+)1gtd|vM8s)MRwj)m~^V|jo5sWXvlr|v_bDs78`$<F9@6%JLn3r z_Dm2+^Mx+oo*(9dc{iSQqJgsvnAuX9fu(morMIq7R(wY{Xj|DXj#KcWAhdMj@`#W) z)N+hVLgJqgJ`p{`;Dd1Vb?aPF&8!;2ykivmTB<`HQQQDxgZWxX^!*dj&R&wXTT<2F zazVQME+oY^Kc(`O$5`EyjJPct#aw)uXvi^E@>`+1cR&R*yiK$?k!v6UURTmzh|t)+ zVMvNIDts#Ap6Om%RH|hA{PZEPb26~Bcu3gE_AtL|p3`}aq3NdX8HpPD7Vjdn);Vm( zWo_v&%>clbE{*k|H{-#3NrCnyIBxL<yw7?5!pS;|lz!K(iS6ts_TTI^F!;kO6k-Xt zV?kvqW=U^>Da}Nk%U6r!ibtQXVIx=4n@7_w!(DKOk%J#;X*5~}mnL=1{v~97Y%L*$ zJ)T}XtGuM$n4c*nN}KnmSB)%Z2vLkq^|xN^=ZZl3M2Fe@IFr=C)u!cgdgJSY=g|!# z7s4dyy(R(I^;NEBv*lLJ4F9SP!lc#KJY!;Ra104++r5^65xU5Hq?2Q+827!g%{sjy z`xALVYG!KBev0+d>#$Q^&U!tK1#j_Apo0Bm5lYU`15(={r7Fand9o>V4{g`9+nl#q z?Gg~|m06jxVI-zSaLjmG`#qN+))CR6W1P6LnDFDrN6N4+K)iIwrg?TGRZWp;3-a=| zVUX0?jj>)7a$IH|#w#&~j0&eoKOoVJ8e@`d5&^TB_rA+>xzKGIwB#l;S@^#4#_ikz z*}iXND&!LQ(XibtvD)mp(IUH`$XRoap9uutoqJ?;=t#e6ISbZzsmSpeYnLxe7SH3l zQt8?JsjK+ikr!w6v%+Vs(w$AwPEm>Dj=lV0#$mJ<dZmFXRUqp5Z#{H&tiX@9m@o2Z z9*qUt&=nf#_LgbPaf9Z|E`OsR)&JqZ`_FhM_U&%yB(T3@!;;lfkD+}}NwfnhCa;_e zHYO)}OjuZ;um3r#P#2uf-hcuFOQ-(7QSyJ+qVKA9Wq!?P6kuTgX*ggB2=aIdWW?CO zF$~1Nh>88Re+>)_0!&F>RpMWl0FMwKpNx={mW+^soSc@Lo}HbEiIs_&o0Es0OM;V6 zf>%V2OHxCIn^uCKOG$`XTu?+ogiBSDS5`_^LS92&SzAqBQdv<&LrGR&Nm5%yK~qgb z`n#c=y2*EaXH|70Rc+HBy4G6SCYpe@m8PDPwvn}#xx4WXDHAn0b1el+bty{?Icsfs zLp5b14NVhmRbyRkYuz8#dRk7pGEVyHM*4<UM!G-EwJgld&1~FkoW0y_O}(6~U0ht8 z-F~@xcze1zdwaNgdwc8J`Rh9cnmYtox&_;M$GUq5IRf!^{>i`mL*0W@JfnbopSa=x zJDngWeSdqS-_E9iu2w-Fc42O&VeZyZp5~EWHi6!5@xIn^zK$XOzmojzQbXM1V}ZOV z&*C_r-@kwR2ZaZPMurCkgoT7gga$^0M+8MCM#QJZh4>{z1jI*&r$_lGC-^7DMP<eY zrN>9)WJM&zC&VSDr=+GNrey-@N%0w}i5VFgeldAL$)zEgbqN^-@mXbQSw*oq^^ti^ ziG{_9xm6kY1?dHq>1CD4C9T=DJ-IPKr71y$nMrk7p*6WN75S;n`BAMUDP?741(nU! zwN?2I%|-QHRkaP}4ILHj?Tr-$4fR!>wFR9G<y~D}DV4oh^}_`X19?F6cwyUQY4bp3 z+fYTvL}}M-Q`ca1|8!;FLR<fM%jjbFpUt-EozB_4zN*xry3EnmlEJQ~*{;&*-m3Bb zwuSzxrO}qHKi%8YZ9B7FL;q-Uer922bZ&Kia%g34Y-xFUU}3*+;beGue{lJ9d~tVj zb#G$%`0x7u+V<M?4sbTTbF;K_wzz*Ye|)!cc(Z<Tw|@SzdHZ>|JhHbwzqh$^vN?Ob zIdQf#y}z@5c(Qr1JAbync6GdPcD8Z7GkJfq@_f6sx3{-@c)E9TxPNkfa=3ebvVVSd zws(HFfAxHNd2@DqdUpGCdvW-1y?1|ecK>|wa=ZU>fByb_0KC0k-2bD;m;2}Y`<J(u z$J_VUhtJQ?+-5FRFfg)W8F3L+kJSqwWX&HM%??)`R~b4Z?(dRu##0UNPSROdZj5yo z->Ar+sr2LJWpYy%v6#sUy}p*q+dQbTSTnWE_hAdaxX?j-QInE~)kHw~tpEcl#r%hx zl}YIodioDD023E{*l)8trsa@>Zuzwi5!|k1OfWFB!Dag8!fo-Yvg=XsSIr%a$4{?8 zs-Ew@Iq!lmKDTfCPh(dJTNwveTckAZpIF<b8c-=Z2+besKOG(70lN;LpWm5#4;PcL zbW)uzw0?amJH!hSuUX&#i4%Iav*X3ZNv~>~!@&9`fKd!nA2Zm@C<jOhUB=W)c1in^ z>27waqe7x=$-3lTc;s;ku4UXi(D_JRse-ZVoR-=x)ZrO?93^Z~fnxMN&$8?^y3S`j zTHft8OP(u!P5=uN2UqvbFBV5VDo@k*2+$8(pAXIDgxmA|CvWUzpgtaxo-)<9vHJ^x ziNE^5BQYGv?wgl}mi-Cg*aD&9JjA*%aTo4^83taj`7naC=*MX3i~0!l@tMT_=0Jhh zNENEU@kNssSWS*7G#;~SD0ncT`v(ciE2?Yx^TdAlp$=5;qg!o9Z*ZQ$6a)Pkav<pC zo`APVa*@SqJfuPhk%xpE*GD+jLvtPOdL0#5p=oxvLPRn8Ix)@i^+wGpgh$l*i99<p z1!D?UptmFT>!8buOp@&f8X*d4tjZAmGIJm%GeToPQR4ge?kWBjEgU%@VWzov8I7TM z1Wz4N!1jgD;s~(gM3we^3hFdhRIi+_0(<Al=5B=Ki~L3-<jgn`3=A9jA<<Z*E|~&q z?C)q4!0k(oI+brBmO`MeFhejy)xIw~K{wgKj3MSD<6-dCL0?7UJG*XLQ`-+u%Sg;$ zh<5%bv(w)_k+VQ{4R=ByYLS9=QTh!LTw*AiB1f`ExZ{V%busBrJoE^OaSkHLu%l%? z8a2AACJazZHi(w{re0e-knBTj*9<_%lE{WW5vr4Qh!MKMxKBOiZb*tJW;E@ZE8{nY zKhUMB364zKn0U)u1_jHa#BSwCI>X<&1%w5T3f)Uc(%vrBu$k)qxE)Mh9Y-kKK>)wI zN3yx_q>z(uLb=m{6|pa&S))<TQBlwTuwPPl;0b@!$x-^YSKYE-g{|2FvkYJ$VgD^L zUHV%>*?d(WDwQxd4^xLb{~`SRo%44_)2jJI3o!#DGMnN>wcR3T$BF`Tz~jOv^J!1> z+nbQvf!V>ZgV5^Z6w-A2Zo4tp!IhK+<I{_fP~hK_gHIr12K02ZH3ATWeBPgKK#ZU0 zcrS)IsvH;L%j1#y1EA%nQvj#@*dAWF<Trj%BEI~eaVso`9ibyT2>acM=`NL2rSZAB z(W5O&K>|>(&2!D_m=ftr-2Tg_aV5N29;L5cbINs&G~v*m@5GEiOS4?l(brr&x;>HT zR&|G+p74&Fjc!r1im<oz4~BndK0n$n1sooL^oa0q4E=M^`rO$A6p#bjBmDe+wxC6X zsd94lBx8{=<nsx_$q+#*czb`Me6iRAO0dU-@Ie;oA{l$thz%{*Im_F;g*^&BAJq^z z@CMCw0Rc5~BXyrj&jw5=qKeaA0}=P}6%6Z*nT*ne=<vZ`c2f7RQ>^&rgehbij-(H- z&>o>j&v0%@OI;E%0Zo<=+Iitox$r!`AMgxm;a5>0Tllr{$~N*zfh^Z-bG3t^`&)ze zf->I8Mp({?6o`4@c}l`Z;!KbW0WMFgCQTO1)D$h>xROMwl>z-6n;WUQJKt2M$w&6{ zRtNQM*tugw81U}u>;~3Oh_j}>v<U^%dH<#GJsQcWeFP2;xSzsj8S#!t7Ue9@icF9i zI||sThYPhs4ygJnbYTCNaA5BGDh#AEJ&;0*6E9?tsyfAJ+Co|LMN58Ic{Rm9y|$P- zlr3=Vr&U3dQOl7|<K{syekz4Y8%0rnB4PFZnw0^hNc=i66Fx6^oklm+CszUdRwae) zYnXG_kX8va;4B^@3!%NsR3s@1uYjbJh1D*HovZezUM&B&9KYkG3_guxqI9D;ICV`K zd5{vN2lBsn%*fMbLl7BS8{u@VfjoP~at`-E9yy?zs)UMe{ZmTpg?`3^M5>iMPna=5 zjn5?kg#I7d5Rao`(&=rt2A|CP4wN7pBB&P*mje*M^|}O{h4JXkx8Q$d(BZnw0c{!5 zPD{lO8DAQmTjJPV4tfZ9o)-3olvL_9f2eXdztt8r?mOPuB=f>6>uRJg-aC{owsggD zjx#RXpOpA2G@$WViA}1#TH~?H?b|1Zt43Le81F(R#!Ihkk(AL7!m3%N`%3YNt|pl8 zVAul01e;wm%G&AHq|rsVCLbB=k^wxo#3wym<J0W+V;B#&g8G6u_Nw98_8Z=%`uEmH zU;=eyLgg7qvEHxq)`u$*Oo_PB79TUGP`;98Tc@kxUNj~of2Zw#>VUd3&L_Xevj+K~ z79aeUH~H-t#i*~%B;U#Z2_Gnag)D&>i2Mp*)Df4ym<7LATF@@=uatep!ee5aSQ<dB z><OmleEtg}x^0<sZJSS9kzAgXg7gQn;RDx+wCJD(y1o0siibH^geGnD+S6s5u1*AS zHcD?-lIOOE*^|O|{}iGG>D7%c(7^-Dm^7J0TPz$d(n_1Y?`{(4DPnK}yGW57v<yI1 zz8Xa3kQQnxw;tRXng^19h%OG{439)?i2m0Qp!sbk){9Ku&60ab(#nOh3S1A_rjsQZ zi^QJLtICvBrLu9?D1P^pupVb>nS0kJmDG5j0<bY4lylp`sbt}BuBV*Il6~Y=g|H@O za}?SfF^pVHgZD&r;76FoUlw!#MrLIZt&ipLX3>?R>ssCnLWrUQB%lI{WJ-xST+jYz zf;}NmP{lkuCr@J3p(O@$Gx0{!A6o*A$bVN{YRR8?UpCxL-k!8hD-Fi+=O5ns;U2Yi zG`&*Fs%qLXv{f+ew?NL8ifXaa$uxzmov5TMo3Ypx3?JIm6jvZ0F*iUxqmxA;2RAx4 zG@xtPUa#j7QZ!x&>}`wl=r!j;gl?k<#PiMb8gf(6;!~*e6_m%Xn!yI@nH?WJ57|h# z=nMfjD4rU%+$Mfz>ic-OVnlO7o@;faL}Qw#yk7rI_}q$8`IdXw<r@?&Jmqb7hv-u# zQ3UOCLfwcF^LMUHlpPrB(<<@1j8>7WM{!7A8$rk={PV5PJ_!%%*p0U~=~Sd*@r!av zosf_C+k*8mW7E11h%Prr^fWJ)9cGLl@uZ(zg$D_y44Sm)`XWKvBtd!)Crq_i47$LD ztk42Q1?FC!)YA|I9njeGssl5s_=0P|m`tdZP_3=jB7Ir1SqQ+g&vKkJdDrX6(u}4I z6HlR!dAQvde)A-w=+cL4{I_6;fZ`2LlRERF1Gk}u3%T%>Bpt;r3Nv+9Tan_@L*aM( z4`fI(a;VYhSKO9P&|;j$oZ18pxmN>V;K(LQ)<K9TU3ku~Y_F>4SkG=yT4)gIU;8?e z0j3@=?Ti*y2Iy!L{4|#{QuI1Mxn{bQOz-%piSe&m*snyyD^F;fV?LuGh3s!wn+BU7 z4NLsSqZ}^P4L!wzlKCqgW>VneJ%<GB;9pTyZqDZ5CcYu~NUPj!VL$Py#4$NEIv;NH z_PUzx`D5d&0i+Bul*lD6l;Y+6`Gp)A8A>*2$_g!v0_c&>Mns$WCUSE_5{TjY4spnl zONtSkp6Nn55bdoPqQT3i|Lb-@xK)}g42>xSsC#V{!alqG3v$>OvE@Sq>cWFTw_X4` zgjA7nZ^H-@DjlC|GnlO8e#!%OHAlKfy^BH6zHh9i9lR?1MZ}nmm}RJ@1jZo8*8vwb zp%$VU0Ez99tIPRok}OT8^9$7(fF5JmGEa~}XZ5UY(!;nOPJk4sN>UVSiTJlOzVlos zNWQ=dJw7MSAWl<)Yz50eyeBW6TfHxUTaSc!=5swBFs*XZ?7$@by3ljY5fA++^j!&N zB>$;#Y|{Z%%3v!dLs5ixUvq1JoXTAqZiH+MkRn6pYYny!8(jV)d(H+siB>nA7MpC& z8{s>?Qw%uaMC)xOXs37YMp@dlaIdCrHG!rDm%j<}c6|y_P6vDUfoGk6*zdy<_5Ru_ ziQPoWal0gsi^Pa;Ma(i*QWGo8SWNpV?TT(3cn^I$2Qz0ELJE4#z9_O{M}y5Od|U+w z_(bC|yv{*@MUslTs_MS}5)~?Y&nq!0W^34>CJv})KI*kctY)c$XKl~nt^#!AXR40_ z+R_7ErQ+)wjL8FbI%T{24{fgi1s3w-idvx~qGr=f8ps)^?EnWCyx*2Wl1dLHW5uYU zfKJ}mcHbiQg0;q+Z`_5u%De-y0S&OUfwX;w@%(d5Qj2J*!8Tr(;dIM9PuoCo!+OtM zd<ygjK?-b<<Taoc{MG7_Y!?jLCkHyrT1*Pq;&xZ{q#tDpH`NaF3h&6#CeuJ}KEA&` z9_Q#`-})ytxj4{WGvjDNkHUf|>DkJInuLraliLDmF@HH&B7b93z32hdo`8HxNlLNr zAyZl3#dY$MTh3H%?}xvQG&jtQ9d~#jqB_7N#T?0?>(otx%+kt1deTfiQ_O~hID%oW zPA~pyFkxoK7cuSlCs5zm#Jl+Cw}SqnBHU!rL8>d=x?>JYI3ylQHPD&mbreV!29MlI z$Z%*<7EG{Md`>t>f+GTDYyj{!H*uPyvS<+yx0tOd23ZK{^3fdV451kACzEXLht#}E zAIh*RhBM84Lvke~{Q?n7e)?xCx<0Clf5F{ce%wm4FLE0S$+n$ZfnIwOu_C<^G<(C& z{~1HEmg4jGnYsv(%A^BH%})O2hpvzl_0spS#To@t!hk85Fe8e%XaF?AMDlqni$=3g zNLSLpB-@q65bpy<hZ+y+rEIdK3v-=@c-tBg8@{KoW1fDO4$jJ#<ya=XwoaNCYWc#8 zA|9d*LnreY1MOeT36)wzX1EUfPDdCIa^Ya+8(S&hI+xX7Z<_I7x2cj=7x}}@@yCBZ zMuxt40CA-76NCni0C-1`VZ>C84bbXJ3xFefYc^29lae+{3cla2lB2bs)=>qb*dunz zgd~Cxvc*}~P~z)iT5cb|D%*34MDQUK=FBhT@2l{p5)v(gz)8hLgZ&#^j=b_*Agqpt zxxX0Y`?-t{@5qjDpCR+De2J{*t{=60le`g0z~J1TZ0KnH0`N)oa!ST`E0~%doay;M zv$cZw*eSyA?1`J}uI~&C#*_6Verf&N7Xll>H`yJ@*T^7i{n_tfL_D05G`am_hi5GU z7+^~174!oQ$^7NW>^j9rwNO=#$mdq<mfq$~10eEPUnK(v1zy{7Z??=*emX5_30#9p zu3QVmwpgUwfxMKfu_feo4UVz$%Xtu60aS*#b6eNbVaIP(&lrPk|BsyHQ@C)r(X=)O zHd=l)Ws$gyJ>vF|e`C4$=2CZv3cvh}yDX!-X?p{4hG&**(LR3$rRSgT_KX*|602+l zC<JH!0tvBr^h{HlE&g5gHT94yoxgl|e@V&A&E#|kmVT0E6~;dP@+vxde6Og!T0*3s z4w*c@9)E|a6rc$BW@l>0e@d$c0bikR5|<W}{pE-ib)>cEepWW-tw+`8J%V1*j9!#B z48|cr!VxK56TdWA?t?V2P^p1C1a#sPNG>i-MI`X1lnso5#wXA%FG|P89L6FA5?!I* zQv<Sqm^dN*(bMUb{+g&itGLp1rE^+NFgUG8uf(C_F@JbdvtVdKzA3zby&HQnk{^(w zosi4fAd4LVMJ|Rxf5i%U?uZva(U(gSs!!ddAf;QLTo#ZevC~P8mP_2#@iGPZ#BF>X zC=926PX#>8^lBwI*2~jo)y70+nxs%2Tjc{FHII5V$bI7yb$(U$wgADQ{vnbCS>Ts} z-rX__CK(g_y4ZHg$X_Q!-7Nc2Wk0{k1Y}LPkfB9a3TW$O^^HW{aM&n%Rsus7o$sND zD|Jf>-p%5Xv1rodWpcjQbHm>z&sR@Pi892!0RIPo_@66fJg@AjHxCUuJdZ?6$N(oG zN5oX2KD}42kKguTMl0W|Xfjw84ZK}3bwgLib4EUhIc^$;)C&RMF8DE+I-$0U_Bj}< zvN-Yl3B?Ma9xgGzsx!m{WbwDV`u9zX{#u<&AMZKUznZc*5~+AvE$%{|H=(cTyluq< z49-cr84|x)|7dKe4mT1Xbtax!+yEe=*Si=8d=RHgFMeHakn@WC$4>-wS}7Tp9#m;J z@{z+s5a@Ys{T0+D^|_J*c*eXp+ydIxZ(eEZjvrG$+g2A}n5h!=+*)S<2ifkIn5WyV zjQALk;OE=()gH+9z2&5xVRIayun}tv+Y(anZQ8P{*#V_9{$anptH37%G|gF_aw~Ah z-h1>101m7dB3#gsM)YOpc0du3&zc52;(g-#g}yQ1f<}yHFi#$;hhJlqKu>!@d|q4y z(K#wf1W`2oo6)(qo7!l0_jqr>#5qYNI#Mggmq+~S;e@sU+b68g8R_vQ6$+v5Z7D&J z#p4aKUBge(cY%=JHftbD3^Ws?G~;pxdLnx9xdAQ@dYC?ulZq(|SMe{qNy?C$GY_7T zgFsv<>VBS@$Zc~(bjQ%Yz<6^<zz}L}E&|)|vudnRY*)Wthw6{i9@Eqf0L(W4YdMQy zF@>oeX19KqnF06Fy0~Na_JI)Os$~)T$8G>7mOHpkA2r&f4q${G2<C=+1ZFeLEYXUK ze%Gx{nzx}CYq$u>IC0~1ljHfO<!yIVWRP&<@Wtt1Iu%_1oT}J%*dl}E=IOJSGce$m z#0ET^^4s1Pb<w|6N1gq4V1ZxL=<VuXy%hv$wE*NU=w0BZN1a4Sa>_wKKTfx6Zq?Q> zMAJm*L<2HCABcUYSLMdr+{$bD7_Ucp)zDhTU)!rj3BK;6H*|**Q9<2^)+VA&zxlP> z^UV1wEh!{mY<$pIPPW9C$bTFi$sWF=V86O7vTVZN7R^VEH7O*FdZR*3*~=t|#DH*a z`-~Wgf3sk{tUZ8bD3%J@;BD}p6X(@WY}=H|bw=kN20+_^)*k_T{^jeEDdbkSlRJR_ zpl8o0DK?)^F*<@&0q%AEW%E7fi}m%7woJU;eeI>hB^oSOn&M#qQz1K(08OnV&Ze74 zJBW4cJxG`~=k6JF8<Oil#qoJ%M6%<O4SG{3lk9$&#AUNC`OZ?6d1hXwy9Zj20{!3| zV9H(w@-#47e}NzJgY+O;#-Z)JEY-id9XAC^!Yg=PIPz@TQQW^GwN+)(N6G$fXmZ{! zuoS7$$UXEMu1m7uWHxMF&mt+SzUeto-Dl%l$CYa+V4^}o>feD24sNDg`olFMeHr`> z-l)X4JgP2gZap%c^XaAM0HT5e0bXao20>i_D3;-lyScJ~%SJ7h-m8h6=OUIbOc5t- zQPWnzrBgs9q>BV?pA6vUzyGH4q#-*XO^?bm(sj`Q9iX3IjLy8^tJk+qe)p2^RSztx z4mDR-x^aLsLWLdWu{E^g$D}i~II2Oe(WiqEDmSN){`X7QF!QBjbH@Skl;^uen==nK zU~}~$WkP&qB1peupBT(D`pk8cWup3y&-xhwi=MhNtnd5J^@e#-#v`{S<%fGvYd1WM zo=x8?B4Q#wtnsiH)+3oe;OY0AIfJy!EaX++GpdNoB*^1g8*wb~6*`MICR3aAAnrAj zpKn%eo2dUZroQdBy_|pq?}!yLg!e{)WtxivANoL!WM4vv6tx1CEKn*D(DaFd3o7wU z3<m}Zw9Mu>E{N~YDze~IK5M&`I#({9xeijEnGu@&gCI=bbCT5i@$8e-9&XW@kYjHE z<4~nrv%;76RvXjz40!3!jQdt~obK47XxOt2$ZyZ@_dw1|OzemNzdO!j>Nfx|_*d@G z_eY<5#hq=f@iNQjWl6py>kaI{*^MW;r&9x8j}~Taf&(d{P20_F??jb)r+Dulrd34Z z>L(C!ya)d(%00HL+CbR0(A6KD`?s`^E~S*N%G7BSc+t)wk*Q^4r{~o*>L=S$BT^&o zzwGSX%;G9uCGLHHI-yzLdj`15L;N6-4L{%R_hppMwT^mxEL1%ItT)d5{49{NG9Jc{ z%cH2;p60t-098f}rm;cT4Nd)IzpDc|J0it*$82Enz<vA1Y}~Lm#k`vyA1xR~mI5=% zhev9WiM)qRJIbM|9D|~sD3?kIQHe^&VdgW)DSPp_+lF6ibVZQq4g!DzP=FQ(-*reD zPw{CQ&)z*Qu8dShW`#ftX#ZVm_%oJCRQU0dtm?c8G0A2rscN;!yQYW6Rj5M96lkPR z?L@?{i(08aMwBvBUh`nORg^r(P`+_U#x7W6XUn&^`2;&lb`AEF@k+g{T0(<MAv9hN zfUf<hJbC@TExEQN0$juaycOY*e<^IKBX(iP>G4A{>?1Jb5>gT{--XFbR0#XZ$}q)= zqKmkk$hI6NzeM9rKrIjJJz)#6Ox$3lJbZ12U@KpgvQEC?@<!d2PbFyH9eYplLd670 zx<~snVLCqdbo$6h|HH67JP<Yyk*+Qf93oZ|Qp}<*2!Z2@0IGkRMJf=0X{w5Ms<3Pu z=I)2&lx4P-qV{!nJk@MnT7MTan1T9dlHp0tRXb?xl_^`i+;sbUcbCmP+Y;VOATj@& z`qx0WH=C*Iu->tw^VQllu9JFOvg>E)(ogtODQQ|kvelY>LX!%V_|rk{pd2yWyZdeg zUR)4mVRCi@us=hz0^%(F0dLg62-B=StCYph!j1`oN;*x^6I1xCe&&)<L&sAsSD;b* zx4mb7E-41kClR~ZO>*_8mzJ_WS1kBG2Z_;DP4{X1!`ll@T0e%J>py#_1IQ&%3RUN} zVSPrn8x|!=QNPUeynyqAO0psP7+(^m2d-->_xjoZ3+WdVA%9F-)Ia}RpIKLQzJP86 zD>vpXHj@3muzEmxxJN6C>GaPpb5KnHR2&uFRz1<e@D<%R?sn<U8yN9kIWdCjd&-cE zMSSsWd$2v#3Njv!mjy^U!qv%DN9#;f!t!ZRZJF)r4pP6RF{_JNp{+2@FbQim!If(R zRCEHM+Hv(mXnGW(NigSgg3V@n91=EZXHoK2Hsnm~sn$yqx)uwF2St&>O5H-jN{u}W z$$H`1lw6zlZVv4?k#fJ`cwu$s7nrdI$vp-y<!($<lD&vQS*D@3N<IF=uIeXINMbR+ z)NWcvdX!0B!dKbNI|j^ydZJ=Em*DoXF`t2f$N>gfs5O+>Z_2i#-DIDU2nmWiFqp7Y zmv9hYnniXU5LmH7)8ODlvqvNU8DVWbwx=<-cdC^C$!51*2XwVk=OY#MOWJ`c5(F$v zske<Iez7#a{82pHwplKa@(N1Ee?yq56mmd}l5a*L0t1b?UKKw4qUxWCTzh*d*8zU( zFwLlg0G;rT5&<6vSc7!ZoxmK)i1Xrq^M5y&{z3`cH>5jBU{sJlhmxw98i==JQff>j zNlZm~^G{_eeye20V2OY!)x=-EOx7Fh8T%KP$P@oBy&?r4@B8@}jC=}yUtGE->`If+ z)R?R-rkv(;;pd17MaYx*p4skiz~rPh<J5NJ8x4C=*cQd3^fX$>5S)h#UsQZg^e-IK z*%covKBRAjXfm%FDx*E!8n!{cb-4nJ0xC;ns0bW|E;Fm{(v3|*4AhFefJ*#j*as*P z3H(_ut2~p6aS2N4=az@xdZwlX<mho(MDy%C76*(G0}V)%`q-w(^c|lcm?U~$QXqLF z#08mu-SuJkZWCh%id<4b!Twg^hgsLjMO3i6mB_gHwx3q^%vF);o6K!emc2q7QK(<@ z+y;tm_C>Gce++mG<Ih|CKJ}YwZ0>vDcF{PtpO)l^)lVFVzS#S>1(dB9$XAB%yp=Ik zoHyxBZ7i%O;=*&NQ9`0<0L9oxQ=QuL`pfs>p1!>%|Ka6{@e$p{BlR#~*Rx-!$apYQ znVWTvB;ZKq^BY%*5C|pS;Ga{l+{C_DkS2%AiXFFvEiVb}RV^$Gk19e$X|b`g*On2D z^;iw^V}f?gF>Yp1YD_RHdA4p#D`LwLQAfkP6esBzWYI9Pgrz3|p|;r36eU|m5Af_J zD3u!^z~~MWZOjva4{vE@Bx0>aAyJO32pbbn>>*#(ZtN@_g&`UQw!tBQBA)~NnLB3u z0a>-jvirf%s1t$6tbohdtXUKGF*Ivc$4oFblQQ}y7{WSv)a-D?D*1<k{TjU#NAl@s z+?Xzbow9u;76X8gHW^7=FLLD-^%2kg?d%!)UqrPA77|u8(IYzNq4Jv=gAdZdIP@?T zd|y8%u;b*v_3uX(qaZ3s41+vHzyGM@crHtJkM9Fl#7e&2t$vWGN*Zy9w=0J)KUgXP z6g7zD%k}e6bO>BxKwzpC<m+__KGD^Rk|Bh<LZTJa$N<c}(<&8W^#*1_BL6Ou|EYfC zY36xfV+SwSg<(RL3!&_C8Ik;&>W9WpDP-+GYdRPMZeETL_$L!kOyT40xg8!D_e1K( z$z00r{@$R=s5#|&1FZD>0m}-V>X!JFIHj??v7NtLw8XQc^%IqU=v(+6OoA_!b;`gA z(!Yj-dVqzyl)6IIsZEeej?5+79%zzuY<jW<)PT6JI4*OQRwQGMubo?hmOUi&cq}uq zzSg5C%d<rUDn_6hVNjaRmAdUX2XUL-@iYwfl!5TVY)95>6{{F5K}$ZXJrFABKlS+7 zqUOu>d!|(~usq%UCKlTFxvFB=U0vFWB1)gR0KO{Ep@{wLGa%o?c&1y~T{+#%_Q|NT zjeSa(K(3^^{5IAOBzQLH-=!e83B7A&gj&t`gfN!y>;O6%4NY5FeLgd{b5>XRii(n= z*OK{uBdQ+3nZuM2jiY;GfXCu*p{zyu(Ub9i7O1)0_v)G8uZM&Ve|(b?IKTdrq|pm| z$^S0(OZWb0dXure$>ihuE%SYj%b3&v`>FST*q@tJVDyjs|IhoXvR><&M9+&%(~kLd zzs929e@eppolmywuKf^DH~n9}8?Q@Jl#!3ZPo>5w#SYbKPIKN(`d@M6^q+^kGnyQa z?pLfU`}Oe1|Ak-Xf1lUW^?&oSDQCUAv=(0f<h4Za=gijn=y|6sYjkFXt<CE`Ul%E! z7qjy7pMU!$L(^2`mwfpY9<{wI$fch1%!(aT-%k2JbKM@_Q)R&-XKxw*@bdk)d&bnX z*o43L)&Fh2%y8B!B{%1p;M&;PHDS%p+gDF7%_(q7&fR35xiG#y`O31Zhd%`LC(3=_ zUsF+jD`RG<&$@f-{Lj~W_?rq;W`@XTZr}EM>$1Ji%rCV~X+8UP*%zjeC7bMZHvGHW z^*`SF=dJg)*4y8&h+7erdF@;LsV6V*|1$S{b*S~&{NJDB+b<`U-?%9M=^@8%S@-U{ zb?qDO7h1_)Nh+_M4D1y7-DyruIr!_p_^p5Ce%0Dj!xm?%{ok^#^wZ;Ci?7wsULN** z)|Pd4V!4$&(|*m@zQ${rm-?zY>+a<r=3KM&|8?sBJ0J5${{6&yvwz|B&rQ~U+rOVP zLG1g__r531|9_18R~`HbF~<y_Y$n9m+x<Uv<;r!->(lN6se}5$yMwv+w*NnG`>7-Q zK=xbZ{v!d}^X)&Kczo}0y~_WmFF*1BdGX}G*}wE3tP(3lx6Yscnm7Nk_TLt}-|sj7 zxBGt_HpvaQ_rLqW|F7$h>sx&Iu$ANb`)T*9C!?(%0WT-ffvqR$`|_Vr^Vwa`m7A0N zLCdK<UHx3vIVCiq?05U^qFO&oTVjt6W4CG$zwOejrFl#5g{`qw^y~4>72fuLUqXWO zq|mK%KAfq}w|o2O-4%}atXm#>z58R)Q^T(k+H<<<`Ttw>yhi`m{Rvso&hFP};JTY_ z39r<KspbJo6(@UZZv8C3HkZ?B6{}^W^U~~=#TxFHZ_c-z`sD1n_ghp}8Ql?xtT#>Q zSemj#&+&xzwoT4eM^eoteGebq%A{<zU{xmj)Wr>3eO4djaZs;cduP_>YpYC?AKhu* z_x^C*<}3RhO_QdsZ4&4E`@GfA?BlH!%4M=|Rd&?u6VW~QS;q1`Q|gzVY-?Sau0R$h zx7y}M25#Kn{wMp~>n*g3jXt!;d0ofP`mGi9H}t3LN@weGhZ|mfASKIlw^_(tg8gD{ z!{*u^PnpTNa?fr*^!{X`dx7=X5~iNpi3^#pWj@!ge^dBNx3lit9R7dXO@2-1GD!W! zXFFRxhgXPg)1{}j_E|sPX*p)jXxXl~Z|Cz(*0Oc!FBN_Fh(5TG^_AtyB9&b~FBKkS zvSF{hs+}mIIxU(pb?xeJ6aT+FAo3zd=C1s#&8nVWN-}O0lhX>PsrPMob>gSe?81q? zPp=f0mC9U}%=1=%YcTbWdurpo9@f|@u2c1(rGjz`-Zq?NWMJ@Mfh`q;>}uTn*R6sP zbnZ#H2l$kfMxeJ&dT4+|Kums5FjLS=W^$;f7DUtqL>>3^08xToZV*ala;X<sexX+| zNaUNBH{T)PYJK2#O6YFN$^PD2^&lbSwf(?-mPlY49|J>jeqKpxUI}P5e}Fe5lL&(d z1H`3&LXej`f>!<`fRY62J^+|b^yQEukoAxVjSLKy^1#)RY8D`eA%_w0co`%R1zabY fn_7~H>8i<DJ~B+P?vr`l#V61A5n#LO0n!EllcKy0 delta 17949 zcmY)UWmug}6E%ne!6gKDcXxsY2<{LdxCM8D`;EK1y9W)y-QC^Y-8Z)PJnuJit}|2p zqq|r2&+e|Zs;VFpx-kP9RYm?2EH)GrA{11VS^}yvOq5y@G&E%bfcgKdlHz2M6S@)q zxBLAcevbWr<J|w7zC!c;-#G98<4zif{y+X*XpR3Nd@zFln_OYofy1HIRYls<!BMw8 zTZ`A^02!I@-!YgGwcWrHWN(mH`A9+Nh+<Lgt_4@~#4pD?cR57iK_*?Vw{9s2U*pvg z@zR1o)P%5gGQUG32M>3ar?30&d*f<>d*tb3`Vc$<rDZ0qnYu!E{wkQI)^b*A3=<!I ztsgoDs9`O^A-2N3fGLMUp`}3b^ruAxY)e;ut)xAeAY=_ZIIZ5Zz*4-9Ke<PRM{vn3 zH{Yw2d4Dn`zkTlU?8mN^;~irTdt#>vz%jw@fBS6lTt6)L$66u=l{ag0)SUVT0COMw zi|^AF;NFlIEx%3<TnzvkZlr()OXxg|x?7Tvd(NV|_M}8Nz|x14x^5uY+WzyFJLlAS z{^8M4Od8jEr)E6N_Eh%rm3LOro^F!T{;7)qwt9bC@t=;I6g8f6;<uXPrm=p0`&qKw zx6eVxRffMFax=|RZ4#p-%}>7^#k*I8-pblexQP9&!oX3xwH$ecM(!hm{VI~K;R+vk z`;&ZRg#Ny{7f?OoBOaMws~qVYDC0N4%Xm=cC+%RN5X**jn!W5JFkWX6pct5qzsJ|7 zOt*mzZM4$iwQQ;UuC5~E=xO}u<~sKFcCImD{#a&obj=vJdZk~b$tBbA*z3~0Z-;tR zss<qnOowHD`j?dRX9T+0p$J2vO*$5x{R@qT4J=(Y6wqe-`~H3xK?)o2ZK=%3@o;d> zUPkg^5G!$CN#2O%*w=`<9ugnI=p(wi2@<7fGJs9&wdp*c=2*WyCJ!-&pYQPckUQJp zM!3tUy>N02Nry%ng<sAu-xKS3BAXn4+HD{2y%vr5BVx}nHYBzaJ^9iP$DD4Ro}f;o zt`THh3%tbf3HLIo@DbA#GH`_uiN@EplFFNiPjxO05s;buCgT{~#N;B5tIuw}VFJCi zd5hu3#XW9lVAotV(gv#1mZEG02;~Jl=)SGFd6JpMTq6dvd~c9JZw+MXkl^+}aS(;Z ztx|4Jap3qC=@X5C-~hf`-g%w$v(b!}*4?aQ0V*rqJpXxpM0T6hHM7N2;1+(mEmn`d zBR2oETD%p#>P-(j@UOlf#@lRyV|^4zk0O)&r5j37yf=K>zpWUFtV$cg7wKo?YF+C8 ztJi`|GQm3CIPvxwVTfY`Wmg{4_l4h3eDSNeMn+Kkj5!kXt6#ars7o%d7>Oe7=;=d5 z0nlXu)^ss$BoOM!ot&GO{j|czFQ}ME2mdyzWl6Q5+=&X}7M#pP^~fCH@cESw@%N1V zs;@=znXH8%TY+e2YRKYv79_i4z$S*oga;GAV76cF97NUGNvtrTcbfBY@XO_UT+A%e z&*#3C07tlyuQIkiA{c!<1I;jg$sYt<)PU+2I9cpy%GIe@53*lNsbL%rdbG3dTt<>e z;GsRf^3<ntht&q|M7Gfvye0%6*-}H0$%Z9sqA*C<<X!yBHL|XI-@izLUvC@}#`Qa8 zi6_)@b19N?dQ-(ASRC4T?<*CVldPG&{94D1yJhaYjjEjT3~BTvmIjZ+sTUq7NPuJ= zW}@00N4<xS0Q6e)@r0yX-!rkH?TQKotJ%+*9txlaPXh*Kz;sGIaDYpiLQ73A#eZLn zU?36a;1Kg<vQ-a{K|e~<mV<Y_W47{OSW5O7OfZEAyNw_6cQeNtS){Y@7e<Za&_{Z( z%h3g>e1u#i<CeJsKZH%fRPC6&7RblI6)fQ_*!#Oz3wv3IDmdI2<fh;2*l#|NrJ_(n zEjvmm5M?b0u*;%&g>-Rwak5rej<*^H!P)G+Vc5v5{?5QGy)&$JA3|HL$HrcFxZpu2 z)4d-dNDg15&V2H%V6f&@^tk`+u9S;DzI&Ogji$NZ5!xoP&P6nrC-T|)1K{h*$1xEM z#pZG^L5;Va+19VJ>>KLkuXLBiGH%<CJai;VMv^`@=$b}1lR-5bSR_$CgW8=@8&T6* z%O`;+O<iw~lG&cgkcP%{Fwy&heTC@HZ{9Kh>pLuD*sn*#l3w7WuZcZ*9XyyyzVD7t zanDWz^XGRc!(l|i<rDGLDPYee7FA-OI;It<aL}TXy2xf*$YIKMi&MN?9korf#e>PS zb{`Hg{z;j*!yh$a92T=`%ij^uYWms2=IKi8lkCCeFS0LjiP(2cA>+LO_=C+Peu+F) zG4dOedN6-FN962PMW>=|7#)e$ze_`|9R2NTb3QUqFzZ*=7`k8Aq<|a6B}Lc)sneHs zIldrgg?!w;@uZm(OU%fUoNhj(m^k`^dpw4M(OK%`>}bQ{V5K<Pg4w9#>DAkV`|tY? zFSFF#eg(h1yd;o1C-_LDrLkrY045b(Q`bVGCXxvOEOc9Yw=QkRo~aixp0(kywnhH5 z@}^6Z2pKZwf(te-J)lZM=5qvWkm)9q+V8iXRuqMw<h9ZT!6aFSk1hcyCp1<zj2)#u z5l74x2?KMdi93(K2r7wFg$G%&I+>b1bU5+$io5Mt(cR11&2-dKC=(P3)0uwye%pZV zFxR2tWH61AKyOy9T-s-N4oW6T7kBexl_0F(Xf;V>kI_sP1OYhDyP7Fp!A(qTinW6) zi5QX7=MxGnYKpEj#z+-Gy_4v!`d(ffRz0DuIDdC75$v>djEKAhZ*Xyq4IMRD1OCmE zNK>*)J8l^zgGxtfv+&i4%S{4Ph}M&^`WtH5ONb=Wm@RJ(lysdGjxC@$%u08a#)_2N z_%TJ43T4S341ia*U#CKyLuu0x7IsKh+#tm4PbE=nHaGm&cD67i5WZNzr!7Gv{TIlk z(r`*xl5%pSu-50i3>IRBlGS|LV<}7JZ(kzwo_rlF-s-G%Grz_br8R*f9?E_LjVL@9 zNzH$@ubMv*ut|vCHN#0bk6d<2?dY@{A%5;1etqDyR0e$Zf0OwDf&OKF?OzyEkApc* zLlTI7lpzy*)X#iux5zJ?vd%Vel$@RxT+Ic}w2a^PdZZE`u-Y+VU)}MYy#IXP%4xgK z?X<x9nL-H8y1D1?e{?p`f1A^+z4q=Ry6nh3{Z6d=+Q#CtbVT%T=xJ9YkJo~4`n{we z3jIw^yc$@TJ`sxl<NBcIuK#=GpigPk*wEiv>>E^8eR`v-mGko3YoDfMC<%xpRvOno zyFCmxS0kHWlqApE!kR7F2UEi*@#@jPv>b&>aHpL)jv1QgMI3P#FGIk$MRd(?kM{+1 zB4p2i)&@*T^q$8yXP)<j+nBC2fK`?P-z*!=F9Gy+swu(^1gW)80e{*Y$#!^bfSqcL z$)0cYr6h<ti{WqnHQH}MSIB1Y&jq~`2yGUbii`1Y;YH?;Si?BFdsH2?%_i;c3z!-^ zdRdy)+Iqd1dL+qpDKKkc^ELmtLr#6Ixs4Neo@^K<t5Q9%YEUE=Cw~A|qfQH~o~^{g zsX%%YssXY0NDQpXAVe5%SrD>Sk28#wm(x;fmF=2#Jr*_a6N_N<&tcbGa#|ibgOY2z zR}drh=V$aEe&;dSZhBEddE-P~V+2!IxlSe3g0VS;Cn@d=<sQ4w#3Y!;u`xB(q7q=8 zNZrycqEhBpk1ld=_1+dq<~HsTHDV!cF!1n$@5ndFA6o>jbm`rmdVhy%SPx)JY+vcu zi$QXwMmH!_$s3@P;?(7T;?7aZOZ)7TtvB^o|H2KkIk}zSdypUcACDwCvd1-r)GwyW z`VqS{UNn=x=V+&>pVCxChG#gv5>*~uz9%l~Jh$`B7JBE`-PuZhwWm*)NapwSG6W)O z$jg@wINlezj&D|^-Q}CBEj-yscnpHko4ce7Nnfsi-q&)J7SLMqvl)$i274%yuzXyK zb6f75a&}%-o{&0Z{Q5@I!Y7cSG;J4HQ}xXPmO{NzCNSNUUF^|<!r7cn16l5^$IRI3 z>nyr<D;8sGDX2E(4m#TOVu*z600(GA>Fd@i#is4H+WAdP+{CDe@iV`$kNx`0VTxU) zBO+~NdHTs6joSMDF^I&g(}0XLL!f+3Tg|)z_Lzj25%Yjje;}kTMjTl(;E>bpAN3|A z?_9vwipbh-XbF$tyL|W3SKp=qep|5Z**OG8MIHfh_*q`^3<V0xO#=!_MIQK{$UsCy z{7+=Ot3&<2?7tIGCJy#4X7(<u9(J~uy6cJSEf~JjnsqIWp8NU>ETnccTTUg3x2a6~ z#XmeV0%hX&2&wU*+Ah_=<Z*8ZZ^myl&^=Lzs>Sqi=6kbVq|{g^@NLRu+=Th>NA3EN z|InzpdslOStMsOtUgjR-#6kDhZILdn(pUGW?ap4+WLQViJ)@kyXaeXde8^IZo7Ax+ z+Ym^}kRx@P1?8BXNk>uP*LdS)hKA62$>)*82PMNK+gNDD6QNHG#m=}BA=W(8@8l@> z&5o>S%!F2%`30X4we6iV?^RO~dBaALiuF`Ji@3A^rAp3K{y*Xt@ok%RozG<<BH&3( zU-%$FbB#F;ByktH%%Vf>dK?(|XhoRjZFRzS9C>AHzJ}F_#Lh-~MS)PaDxj+yK>W!L zCzYrQ|5sck5Qp5B9{Gn>#0V`ZalGONMqIrA<&0`DGo7_s&OudJaF?V}EYhE1Nuf|B zT2marVU@JE7mU1H>V`~!U&(Bm)h3v1n%8DU?!`2Vh@N9Aoq(|$o4;du!p^tnWlu7Z z&&y?qMID3s35Akgz5Fm;sgwA1e)xpmH+TRgY<>VGYfB=%xcx_KZaFdZm6Hr+0qU2p z5lr}e(V*|f@jE_#_@dg+P;dye2`y7e7zP%AaRRLpD%--*7~(KW0Up+HQ?SCN28=4- z1e0y?!wOA7b*SD6I(mC{b-{Fx6X-6!Pw~<=hn0eW*eI7lmnpiv^^#^Gm6|vp)MJK; z^?Na&yM1@k_Z0ZPJh6Dp#UVsFWN6#Pg#X^Q_ZEZ5*7jE`5$su$(0PCAmmPI&875O; z$m-aQdI^6c+((6uk3;xU#j(2Zt!_T#*j+%MsopkOpr)(*EVIwZdJzqy)*%`Zb_UVd z|71^5thP;?DHjgW{nfXxl`*JX*gsmJZK%0fE>)BCP4MHHeE0!fI#9BxhQS2IlPZ+J z0{WP0lQ#KmN%G$Cw^yKAJOid@AIucchDIJy{0vumOHm}&gw&hHeuXgMDDtauKtBCm z_#NZjWYa-K+#J#SDY^GSmKP&C*h%1$MAQ-~P<gYd(admQ$Q`!t^9-T>v{kRL0gb{N zsl6!tubTPEJE~s1-ZI+yrzbXGk#sB9!kfW^=e(+>N~bA^r+?2M58o+UU~>#m9!z6* zKO2=>9~bve2x@_r)a9XNSxoo$NrBaH{v6J?K88@Ff;n9DC0?a=h(#khJ54FR4)%v4 ze$P4GfU-Hk6eyOBXyA8196~e>?WnTW#WB37>_l@e*>W<?ELh8tY6#`?FRQ-kuti50 zN-A0pn<^vBTF_5oXbDe;;A1Nwaj_c9`2yZ*vqSN_Dm7ozX&mtuYv3$YIXcTT!E9ml zj&fa}{7k*&?l5|==jw9|3*_Omt)w^$;b`}LITe1r5<7u*a{_BG(`&3_(>nP&To;dk zsMq#G=Lx238M$qw_-ANJcwGZbyz8$$d-Yb+Lw3Q^M;^TG(St>JMjV3xJ(5G@P$2_C zK?@u={*-5t)!UTnFeVr6*sGdv-`Koxadyjv*Av`*LCWKKhKGNY_@e*ej04@Xa&T3o zD%9ZWD-4lt>r;d6h54eRyv}Ngm8=L1135>TD#2@{mLwH_q3*1XioD$)Z4KTc>L4C{ zl6COU+F7N)@t^eRwgO0jCeH8c;{0uA+06QucUWY-M8^sh9uf_`=!4|vXV}fwh*x7* zyG^gt(@|{W`*GEajLd>W_}aF}jHc<uP$cwyh-?;7QE`8l;`gf<4o+E7Jl&FCX_zG= zZ52Y66>e&`N(uE7(`+Sg1PpN2!vrLC!!Pft2>9KH2@GO-6pZwMuNn;%U2`~ygDINh zkvxWU5}Ac7+Gx!zc$z#01rg-?{1YHpS=wzlp8AT*8a~I@bdOB7sfTnnr)w5(4JyK? zM?@KU>%JVJ`-<!f_JXTx-a>JSKGb<1xJbvwKm~F+BNs|u4`)X1GFZ7-Qjk|~rS&CS z=btlT{v0LJY`iJ}+BTx8BY{m%<@@+eIi0<<12TC_Kza0@Qw*PbW1-r=dyn%$lUcKH zJWco4S`kRIR6d8yCxi+rMk?6Uj<U+QiQf(Or*g75bLbuM-YaGD(eN~6uB&nH4m7O3 zxd#40Z?MFctW%frBS{QZqAkL~9e*ee(ytULx!Wke&u2*hBi)4GYxvt_gNHQ5N7`k5 zXqWqsrS2adtPx}Exs|7D!e{J`tcJS?CBWx$3o%!Jmzo5&2a-wTiLcJX?o!70Vmh?G zuo*-$g%<MSO~)GOCtRI-YrI@ZHI@2DHk5qfu8h+89d&!nQ|!fW&Er*9x<UQBWzyJN z;pInJ7pF!I@LNP(81Z6ISr&vRGKIJNZ@5;{bpMtKd$tK{*I9c0%#$s*EZ2iIBUQJg zfL%8tZ!Sa%^*1uXsyy87Tc?OIN3^+34Oi3n^q93Lov2ZdDDLv|!J|s+d&ID}BK>yS z*%<rU?)nnA<bynDyRZ5mJ0)?t8h%?2ewziyfulkvV1j5je@}-T+I7i@?=_z=aKnC$ zdCe$;hYo;mnoO+>_+7sI{k)|ogL{o+T4C^wK6Z(X@pG(~Qori5OV^JQ1N)-|`|2iM zjiIfofP9l!>3!15caHs4Ycld|u~+_NPg-TWZIYc+(<;ZoM{hj1z1HX1u7OddV<}}v zdsD9@Ak{hcv|W0twPtT);1q=lLd~vUmT797Ozv^h0AhXKEUh+Z{0p+rZhR9Fcnu^% zmyKlb#um{Ywkb^6M@|_`p_A{uN;vuwnx@z!W4cVWw_Z5vW@{A85;ANEn`ic;_WL(Z zX(y`7<A!@{&;>)+<VIKHYs!>z@x8^&3Yn-0@T^`eT~j9Ewa3l1oG!g}{rM5eQraTl z^>MHk@=_9UC@<#X#{nu8%+DlxGbzc;it+xUV;ZN<?8-QjKS+&4)_^^V;P<zJ%)qSk zI18&pXZJDp<I!<O%Q1Jp?<QTTi=RYsA+omlv)3ErAK|N#zk+wx4n0>Oxk}-y>@r+$ zOUUu2s%(wLKLba)&Vj0JbBxgpZs$cxCnqMJV#6(Bo=BNmHaH&^N<%x0)2xOfLZ<^? zW1fRqkpZ)dT~aOXQ6dBRR!E}&m<+TB{EuGo4WOiAAwfaOeET20`v0@5BvyP<;7~`` zd5sU-Z`*LzxQ%ObRhA>(V1nCaVlWsU5l<YEjldX5g;L%?Ha5VpJCVXp&R>Pdos1V9 zslMd;&BeuMYL>&Wi&g0E2;+AELFdT97E#96@HW(60_`KH#BUeQM>eN%Y_<Y}tc>4} z;7JSb6v!DCzuZbGmKC;iP2#tY023t-QLD`N82X03(;()ouc%z@V3CH5PxMc$oX};G z@UXa&$U@YSb1Y{S$`XTQCIRZ0Q3-vIlDo!E%>Ja_N1W4|^jLwp{UBl_9`-;H+^d)D zV=dMqH6cM<GvU{lcevh%-FCEob{{fa%C|#>`3Wiayiii!r<c_FWe5oqVB4^sP&avO z!J0Uoocq2ziY8~sYoiU}@5l69lisprwfP$rov7zCK>vOvoS}d3m&-Nq-64Gt!!bS2 zvyCCGt1Y5pB6-S*pX-_C4f7<eC(Dx2y)X}N!spim5$d52p3l^~3(RdA;`EW=;jt6k zJRdG(;uDyl^b5<Ejic|oz}05t5&iV;xCwSq9dxrP@@NW^soWaJFP*|E4%_e;;ietB zXbf1(Qf@ejd}<J{h0FR-nW#hfH@L2T?(uIPqd~zZB<$iWJr?Pa4>Awew5678gGduD z!mZLZ|61G91?0mj!sv4bU1Z2vp+jJiqJoVw3g4`kHOMN7CtlA~0jjrVx-NtT#3yz* zOjmquDRY}jl({(<!TmXe{gb+XotbHRR<^U|BAG@NoZGzLzMSlPYDeshE1Yt6w1f}O zsum~*{?pE!@D;srjl4Klu``#&sim{R@0etau1mvA60~3=5AV(--`hW5@hZ7Hax>53 zs?ifJ&3ndB#XuB81N?sMgof)C3>qPqT81;CBquPzwxfU686h0-PBO>L4A198a0&IY z)eq0hEmdZhC=Bw53u%Ae5i)O4|G8QZt!f$FS`7*M&d>k8`<-9xMcddP<)5K1SZ%`Y z1KLm2o6<!W$2KgOPW)TBz_))jbCk11O#&@W<OCv}W`6PNi@=LOCI8b*cHqI2d({DN zNeZ`w`k7TO;UdoDR*^y=vRF}>ifSyuea&gCkT>!quB%3=sLFBQx%5C;aEK!Jr>nc= z`Ni0%>A3ATdk3Y5b_7J~IESq&HdrCK=I*({dY?RI1ejaK_?-vOw&)U_@}dv>8JjCB z_72~#yJtNm^1zmVQup6qpZUgK{maerMNkf#uVH9zYGeGX;;q?tZaR&UJSx>)`vMqu zJwiO&jLY9FViR5FtXV5F)O1^kl+|&<J*_j16cjCyVJK6ox;FI52GQ$z90K!c*z<kU zObpj9dNR0sDRk#8EhsG$zRikVz+!N~I8=VQBZ_uaECTAB`x-B<6V{@Y*@MIVfU6{T zg{(6ltP4IUds0e?efSvB`)e_h2a}~$|37p_?Mv(Vq_cYTMFgd7zW781QoFq`vREfJ z@2;Q8e;QQ`c4>Fyw8G9QvXM{kr$%dr&(mAG!JLil>`;8uZqRsM9g7w&A1qc<fxi+b zB#ApFMgX=YscBUubp(7*5I2W7OLV-&9SJ0jClkj0#D<F(HP3s&VQ}!J=et}U?5IDS zBUZuuw%(<!VTLzChaORvjqj_}MGW^Zg7%%g+E{oF0d*d_<y#ZfoS~p!Toe!3es@#P z;N0)Yd;T;n&jganT|$HEby~lWZOg%6-a|{tcm$U5)TitMX;7Z9$!J_pzNyi%OTlzb zNF)p9zS5<RPwC@CggMA;;e5l57Ch|1k7!5#Sz`;d$q%eScillvb$m<geL6ifeG3LD zf%3M*UmC`{8-_XrIlTrZ$N$`xf3>T&*JN4Oi;>=bzbzNGL${8)>bEn-)`7ezfBky# z`6u9KVwA;G67$?yz@gK4SFPcBb`&P>$fXzav)}2D&8F7Rab&=<MtiBF7V`b^&vizN zW^>GXS7Z6i-^}M;{5V4MZB}LP$6aLnZvjuo8gE@VvB-9NUcoJ`)2%fonqJS2I=2dw zIHDoY_7nMB%pz_7nmalvqy}w7+FW`3%$R|PV_9F0u*U%YC)?d41kEHOZ~mzyBfVxw zKv5INET0CI?N653%HUnE*jD1@Fp8?_i6!6Xu}<5lTT2C6>+HEV_9rh`uLHjeq2Chw z_dBJE0<o?<b>ofpTk5Z&$Fl<Me$P+viDJ1v#DadU)o2_{nj}=qm!G}obA>Mi8h3%q zkr7v~#sHH=FaG8(^72$~;$;M~+EI3>7xXxGfb_o8j7*5qqUIMFTzc`1lXNfo^0swb zDNdgR;b`4;W%QHIG!OK{ZticPod9$V=<=YLAfY^BdU&8(gP@VHfvt-_b@O?%Z?5}) zfiMDURdgL53Mz;G{}%|MzWkqJ=DWIK3x3fg4HVR5k_s6wFoXE%zgz=^S(*q63g$ya zL0u9G3K|L;3kic18x?^F69to;osEi|nN#R16Ad>T7a#9eN-k-BVM(Fy^1?Fe-?<qj z1ingq`z|jgpdrenE+u58E+Qi-B`L2Vr>dhNFQuZSt)nWhuBxW4q5D%yUsqjS`=_>n zmWH0Lp1h{HHlSzr!|=DBv9*S=lb(r_zLkrfwU?2Cn1!a?ub*lr+Umdbb*=Q&tqioB z^yQ89j7*IUY>j@}{L*tX*S0h_H!^cFw(v5wcK&7KZDZ$TZSQUK+r!P)%-R08_irm_ zXJ;o@FINw5FE?i&PgfrwZ#_GI1IJ(^JAX^pFdN?lH(wy+w_gI_4>$zG+4`q=1w^=o zrhCN{_$8M5+ZhD^HVm*g4tKK%@o`P?u}%gYgMomE0Iw8(yW~Kp#1OBPaG%T&=bUiY ztSIk-7|+rK-{9cjpwP&Wi0FvWpoq|jnDF4J$f%I$<cNgK_%Q#Z$e_fSh^&}^^w{vE z_?VpdU?3|gIw>hBAtf^<BReZKF*`jeD=RBBwLBu{Z%TGqbU{;cL3LI^NmkLH?DCq_ zvX=6+(BiD5!ko-Mxe0%BB8v-hs`8U73p1MwV_M5nI_h)E%F6RA{}tA>|EaF4_}ki8 zUEKD!va72ry}CEMeyFs0q`Y&ssdJ#ax2vXivKr`JXzUyB=o@GonEcy6|95Duab)S= z=tkS%Z2Ra!+r)bJ%y#SKPUqY~Uv>J>-<;8w(t(bDvz_HV-94jytqZ-?D<e%?Go8DW zE&H>bBO@b2lMBPMQ=@aM3ljrtb0f<uE8{E2V_Ub28~dBP>ytYdle-TKyL<Dy7mKIY z8@s^a`oa17$-&0S)%wxx*4_Kj%JBZi!rs=}$=2M(?$qi2>h0d-!^z6?&F0>Jc6hdP zd2n!gadx<Sa(r@edT@4jwtsrJdkH$Zx<9-*I=p#0x_>zYy<gluT|B&8gYGY0KJG8} zZ?DcDZVw-BFCIY`Z}<DJ4;Sw*$M3Hf!2SLG-P6nC%j4tA+so74`|AT34DRlbdVzwX zjFOcQQ}<ZA^hMKB(`>6b22WNrUru-k(8Eb`Nd1dlSxRKbkJwQ@vg%RA%)t6V&q7H~ zbz>PPXM+UBMArCqKqo2+d;6+Mjr7Haof^ZEW1}g829DVPGu^A7VI+j2uA%!FsL3gB z3@7|DV=*Ded(ru{=3VU$oa=8lFTE~Jp?cK!qtf~Pe+C$jp!?gmCYKxbp88#Mg6R2~ z=B(d)A${G26(TRGc>dFN=nb=*9eXa@xhQOyVAM6bwXF=IrAh8qhVu=yD8qlRak|*{ z)_({0KIU!m5P>WN+`{x-JVcQzwW=GHB-M|v-bN?sN#*(3z6l50X><#F$WVhfvg^09 z#+_;q{#(IYNW;E^{eq=Iox^?*h=(nAhezqXd&j|L42X^|`}Tg0_~)|r5M2KcX~*fM zc79}>Ov#<C_*uxu)>C55BDj0HyeVxkKiJNYyN89R2SEF`$WzoJQ%@+cUZLaf=lWJx zup3ICi82?y&>U?&;m@jJl7<Y`H*oS@w+-HMxGK`Vj&Wk9tkg%k*zW6sxHp{~%ENVj zT%~;|JWlm7e{WtRca9Yn6&IEFxo0izok5d-XV|bXW-KWbjh!+>W3MC<$Z59<Sx#mE z?zO<(7629TN;>TRWtfm54S-Z%SW@Z>qb3Bb%Z!>ms7e--Z94ne^j~{fO2W~d=EQ7# za>06NE3a_v{TnhL+x^=XjDn2NVY~PI*=oyejY%zfrYZ^%6GZx57{<QnaeLr~S9JZy zj<t^h2i{RXjUYI3NyNEUpAke6-ZR~4o<jq#3@j9hf@*yw#_c@$K{*}db>rJuobr5z zW)Zb@FbV^+hubcvTGR3$)0pV2^}E+gERrC$lD*b~7~Dq8IM%=4i=`w@Fk8GvMJw{3 z2eKb~KyL4uKaW0vhz|c5QIaHzNES5(=h6o0JX?6|lY%Ly9;+xxnDT94NhA>>UB#wR z0Ke6YUWq-(v(49J<m3ns52I=dc9o1_qjWbn*&vh2z$h})Pd?ap(vvm0`#6}8a7xOT z*-~DEAy-dXo60Jo>ugJtcgIj#O1u)3&o*)v!A1nAxWRC>t%}7laHDWw_e3rhD{p)0 z2Z>_p-QApp*W<E}VI2B&GQc%><i5-skPDEx+F=)?lhb+gIq4pfK8GY}yu2v)IH;yy ziLfRMZ1*0W<H~t2TK%89Co=r*KDHgP9RUeB?mkRFfK1%gb_pI<_-7;hK(ER?yIVN4 zyhf)8&!YhIaHIG%vB~n>Kh*C=ue@Sg;{5rgjQWnWjrT_#$z(c!zG<QDs~hl_pkHy~ znc-(&jJdc{*ny~_0ZaKpYk$i>)T%;G+t(XIW0ZlGsEDEh7>zOB>>X>+;rQgK$Sd+^ z)T!!?4f!RO)_PIGg^KizIaKBWsAdlsX~iEP`MC}oehWS!KkH&Xs+7D`_usD|h$g2m z#aW}YMto10A!7czLjN)5BLJ)u-0&F~(TwAk7UR!bNz*oS+eL+UCmer-=hjg#Vo?hz zCB;4x2Gtu%qIL1x-AR*p@6aQ?+mkE^be~CR4Ta)pej@xi8hAF6f(S6l=4iPW+K*D> zS*-G-beFsSG(P_&FK3qd#@-$8tUp}HeU`FlKALLP@1TN}1*3jseF(^wV?9BYA$f(! z=|L}kZzv$;iDEPsX2r>*ZRPX5MO81+^A;W8s}|75yX8o=u%6@{7|L*||2;Xa1Sz9a z%#-VLzca9XgQU)by-PvULPDxC!3-JxJ~Q=aQSAhZ+UDp!S!6+mTp!brj6*?Oh#~d6 z$!Pa2!LEak(#^J@1<<+5|31wK8KT=st6h(;HmT_Hy~*t8p;G%9>;1AsL&iC-CaK?j zhDE!qEC><ya@;jbE&ks4ZT7F=#uAp@ec;Tw8Z(6VNBe`3qIIKeiVAw6sV>u|l>N;` zhCP_<8SUqp76)F3cd_S0605}Wy*zLJ*7U+1FheDa#3N+S0-O%>t)}XlQtG54U-Kw^ zg|M{rijVE3O(Tq~(X-GNx-u`2WjcZXxN+M2*q%0qwxtRi*c>D)%`gY=kE0`Po@;Sf z@P+x_9Y=h(b!(NL(zA_xsa>~JPq6m5Hq^I_PN{nhk#PC5%yON3dep5^Q1@ViCY(R> z{n)CV@I=!^8Ss2#i&5kyur8tX%*MRiySOyqSp$Y%4GG(YzdaM2Ksqk#1?BQmzz~Zj z2w@)9d(3pnM_ybYjGac)^r*Mt;O2?!s>E5?Asgd3geI->U3O}=D}s3EzZNW+9;ZiR zaGIicm)Yl=ZPoWm)z>f64i0WEG8=^+THx3tUBR;zK&O<j#`R{+2LS|h6N|?=JS;~O zLOKT8N*;;vz=rqTXIoc?!-PKK2dWquLW77_dLXiC2;;dDyaTx@I|#(|V@-^~q?&=U z_gc+b^TA!@1{AS?eI`l$)+4HT;#Mg|c;XNlUdHQ7)&iz9Q*B(q`i3l<UH)E;5luB` zy9frF)17plNL}(C1>c`v-C)H-kHjerlZApX=B^3b2?e`&>nwab9Ks?o%HKaZhebpd zamEorR_<yO*~WffVtS-D!}^ZGY8t~%S0C5nXb%|qd?}-3x<uwweh~_am{afnGkzSN z<~piPyfrJS{c99jc{4lvYgZ;dxN@w7pS2%=UdXjG9N}%A_%HiCi&n%vl$=P>M)}W5 zHvtver|h5ci7V*&Jd$xtdwF+EeGL3i^3Ih_o9L4;(|A7m!bofdF;&oDq4jR9Fxxl7 zZCR?!tmyeT`$2Kcr2pl)EkE9IVW7l?W0QLOPKl%0vE)VWONmxBF8TYGW-24jio^|2 z<O6phKoiUodctN}p$RUgw&pn&^kYCOWSvudZ*U6ke!hQ!tfTNP3u6~p2<4lP|D9)K z=@!}{`Ws#GQvny^EsS1${>%gNgS3UCB}5qGFmb>DM^g4*o-;)icJQbri{a7_I@~|c zer1y{Oq2NuktPh-b{-KwiBpV+RNn(3M28ph6&cLhm9D+VV0@et{r5W@1_yOmm%;36 zF;M^K&I%eVPzX~~i{GBJ*q09R=!0zq!kc$y{48p)IM83Wh}hg?#0|r}A>o~))lJ|~ z=Yn4_9qpcPil$>32L2}hspfIE>C-=(f^8v7dxSq*Lc34h%66S_9)dMZE<r#^Z=h2P zoG-3?5XKwE$FM5GK;bpKdhTu){GX+U`%;$eZ}NhwxQ{o~w?M}$qygyxB~J>niSkC9 z4<XqF7O7VVK$amJS$}$P;*KGv2Pj2?6?~O_Lr7-;AGbMf_1-K;8e43vm98*jptqdx z!J`NGI4*JSMCEyg&;P0b7l2UEdD-hItykWjLD;1VU0HmRA#+xvZ9PZ+q7{ZlGWhK= zO}jfgnP^t3C`h41OEbxsfKI0omT=ac1rAG{dM+B6r)$JKGJIu0KyZWXiTz!=!^C%T zu1EBd*-ccW6%aOom^_dbhozm#QAj?{Nvd8Tfn3s5@R`lH(XJu^4Z>ghYx;J`U2J~s z+BjK!*@>jT{Fo32-HFdR!VgEwi+q@QHKk)kpuMT4cH1!%p*D-%&Ckm0uA7GJzs3YX zIC)i6n8p|5dml|czr~4+YTHHiB(cHA;m$2){Z*&bUkKTHg%dGEio|GUnPf(`Bh;dn zg;ORdAi~48(e3O3j-N(}mun5f@NbFo9C@8<)UG{{I(`@okxl|g>jH*jpOmu~<bKpz zI@!J2c%mv#?cqHo77o6?LS_A<Vk@^6o(TM8Klxr*j_g$wJK74S(e3Foa;#A;&=vZd z&!ySzc!Gmc7Ttn$$Xj8D)2WWh{TWOp9t7r@<1|ciY_4qtHkmm19eVJDOq2o;O1Il} zoO*uNGxnSWoCf}y!UQpFqa}Rtb0_#+!{t!3tDo;OVRxfC9aQzb*~{+h@$34BK}N;p z+VG9YAE>S5FQDx%PHFm!8;PF?1$L@R_k!+f)AM$m#V*j_@VZPr`$__<ahUwN#7o_M zM=`N6#U;;!01f7wihG<cFgmC0n`x7ZW#I;GbG1&Bp%yRchw|oOT(ykbY)i@&5|YY~ zFdL6ge|p}$@03!f9NgoxC9n_vI{5QZ1^eX!=0>9>?lgb;=X5sQCn<8#y3D_>_DF#6 zsM$n7Z>H1cevbZ$@!bx8j<4c}Zw#B|#D1_ObVatG1IP5gI57M2G+aVxjAb>CaV(0R z<Sv)Mxs+p8_6c7Rk()~-b4GT4H&Cs@EYLpE(hFgLQ--w*HT|+Hw7`vTi;mHL>kW1q z3%wnQw<iFKHHUOG?g<%uQHJF=mJ^duzhCHfPfy8wXWT(J;>RjPQL(QRxY;)t|L~<% zP}@q0fNSca^)FxRjU*VOZtGu_Q|8g=a5M|rw&G2kxlTE_(HRQ_mgm?QNjb3BrT543 z4b`Kj2s6E%#dJ_V_^lfQ(wS9`dA3yp`xvXMZOEgN9iv*1N=4gbbcBQ=UdgtJ+J(DD zIfUtn!#*IzS*QDZ&2)n1wx}TrjbMj78Nz-=z=ZBe<_#bm5*aFkkm1n_n{2=Jeqomr zLGP$haq9N^1%cED@V3EdHKLaw5g%6Q?rZ3uAM-)h_xjKW@5$qOZPpzcpO4(7!r^2C zGJA8Por47Nk9UJEuSBqJDTk1JEIevhIrhTOO4f=f-VmPpxANRWO!6&Yzam_GwyiV) zg41b61CG5-2p$8|?&VsRV+XIuvLMxFqi4xFzm94ziC3h~s`5w(zcFk&gmz$Kt+k0! z|BI`W5#i7k5#g@Vq_zP?O}LJZ`N7F>sD8E%{)Y2QeYRj%_f2I#-W|Vc__OX7@{h$N zs1m1W2ul>axvr0tg!NZ7?#ZQ-rbK~cAUpAAE%VbTKY=XW@tAfCN&w)G%Ad$mm!FB` zoUjDO3O3M3PF}B(5xbd3U7LyG5elLF%YM|8Be_8}Ct0na&Dd;P@M~4mWS6bIL*`NL zO|Reh6G8bYoCLK<drfMh{wQYg=?7<n#-Bs6S53s1@gVhzjl@jy(I3LHeKr(C0Nw&z zZx-bAN0gYUXX8=z55Haxma@G@lyzjv@xv-R$v|7DamFHL<&017(-6P?d^QmN@nM_m zC}8q6yK>p#z<@~WACIc~kRoOZCCdkGKsQcCs*KH>%xdtWlNpx;4i+e4mj0Y057R3x zo5btC>YFoso-#kZfJHx>4*eJp5LW@|HZAbcJbQPWfL?|CYsL%UF6Kx3!{-Oc7QTg1 zo8k1qz=)7lG~kG!Pl}%{siiWm!({seLo6r_KL~ZW7Mb~P#KPAZl;a!Hs^7-N{9a0I z|C+i<)K!c@gEbphZXkS`+<%fQ|5n5D2CI8IX%R5LU}7kDsSmv6CO>lmy}*W=#LtA1 zr~_RinyX4TkyEfc-t4s<2#yZa0hQ!4e)kKRDKujk+jdOwSHIz|!BEf80>tny(mTPb zYb^{<e^asg8ncCJ<U!TMr<~UJe^VQolki#ZX3QUcQz7FDvV=;hw=VM1see*k+R`I@ zBuP?)&K%7$+YhVNYI)26T*tA;vX{f*23ZyZTne|jgj>MoQ~9j4;d;f)7Rlk_aaQXw z4*mu`5xj8y;u`!-L2VTgs#&U_PO`z`MwSDNcr{@|j<}az%;xM9<14n$tt_fK@<b&s z@45Huo#4<>cfnF73V$b3>u{w~kmB#BD+TV~pY5)P=CS@+zQKzCZQC^}a1kUQ?MYrP zcw!!Oz0@()Atq$UJHgFe6yW__Aq98UR4w<JdrM5-7Qt2Z<>DVl{@hOwo4js%uOhzQ z9d^i^CdqI8_1%NC*=`Ew#I@=E;O(sVFUr)2pr_?q>1MhMM@P8@Z<u|ud2Yz9%PY{w zb&D+h0NC)>i<1HUovoagTcoOkkHXJSwBbN97_w!)bA?aUdeBv7DzeegJ&Dx}kWNGX zZq04!lVzRuNi<OGvdc)WXWjaaHeE2H2)O$SZ8S5<@-*OAIot%3|CkUGX1J4{?yOy{ zROw%T)v04V6RZB-*fC`=&lLrgbE;`6c)ToL7WNbA6&`rbQjUSBUILCT33B&K{9-x= z_iq+WrDxy=gI0ZXbzB)9Z7ZL8r5E1HK<I5^W%E7ibn17FJC<vb)x{IHbf>4FjYGv+ zlFuy1WkV|h>)Mh8VW$?pk^Mw^_TS6o5uO=WZ@h-Fcc&eYID=m*Pn*p;!duKFRdGNY z&4K&ME5NykNP42R5r}cSDWmxV;ssr%gbTs&W8nF{Le#GA$bA*lkW0RPHzXjHs1Gh& zX-4KO4+}8$E|9o}wD8s+gH6FjZslf0GWx9{TN?fMC;6t*cj~~FPC4fKVRy%WKgo~r z6;kugh@ykz*O-<px+usUi)(*|)s|yL4+%XUpyz;sOuy`H2Rp)i+tY+ge*;B>#EjTV z9vtGWgaf(v9)EozxvC)Kr9b~ROSa|3z8XySHW2!wcGkD*o9RaLHZx0&{ZEpqkTdhq z*3n8x+s4_A(Y(Ea!PGXZ!re+^jr6q97ZUGy-vqpDJg4Y{a9{E*XpBLmx@BxP`$`Z5 zu=)7wI=8t+JP%<itAPl%-jk^nL$2Ly6693M=_c=|Fg|L_E62K@8OED^uLXP5H{BIH zd#FlnVZa=zVJ~bxJ4Y`~{`T31lJ75#bW>_A2jRIR5Q{?yxB~>S$p+;iflsU4l^`N? z5Hco+?xjB&=lj}o6M7czdrM)>u{N+Dx01W_^?TD+up8IT<x{WeX;p*T6ePMwbSr*2 z#*p8sT#u+M2g0Nj_kf<zZ7NMybD@>=y|J^t%3(c(;kerdogTc~ewk@hErN^DK8tIJ zx5Rh(e*NL1SQp|G@*zF3cE{P@|5@lLilG*=Xk*zbZm?nFEarQ-=v%ug{{ZBgx1Eb{ z#LB#6`h*;As+H-W!VBJ-OeyjBbwD%Q1J8%NQz291KvzZMF_EX;+Do2T5lt-Y`IG#o zAnzx3-nFrWU8!$h2j83L2r&MD0}dbth!qZptZxd-_1fUE(<4avOs$l$&O>*C<L`zQ zX;8G=?K45lipxEq&VF!k2w;nR`e2LPCcV~!a9)Deapu27PuG6rIb?*!i<m<oX%z6k zP<O6Y`b=wpQ7aElNSVp|aPH{*OScmBh9&+qXnEhzqsbvTCl(=mEY6KzD?S1Q*|5Qt zu5DjUGh}nEo6dKI0&ui&Nb=!>mekhs;X5%=zoz_z+vurU+sZ-)CYD50D*|e2;AWN! z8<6*^o6>y>o@k#5>Ft$dz~~F@O+j&;$pXmTtmV_hJ3Gz}nu3&oSB<jT0l#5Tl;05s zG*b}CAhLdE*yM}caHU>{MXV#z-_S(2Jaol9>@n@x4!em5@|?VpKjyo)>Q_8otR;P_ z??oR#U*89+U#JG~zUt}x_vPHDdpEen?wPe9>!3sBU-J$CP5fMDojTZN^G)a2YLC<R zuNipZE?rXubH33Azc+Tr-5;V+&1G_W7}U*zfT;vCrX%I39&#Ycl%xfrl;vWNfRl0E ziZJ)moW#YUVzyi-@Ue$yNZ-Ju=I>d2kHw(RC5Px*gmwUKN1zLbF4OT9&_uWy0$)sE zAQQ7!nh#1R(-C$(IDkwKWlJ~(&b57W%83ykmqoX^_Z(SXWdvi&eB#}$14Kpv>GjON zO08ZG_ogh*Mz*m_9twqI+B%!*FkwB@EOp7Q1ncp|@Jv*Pd^(ULrS~(EQ;FDQ_Z=Pp z<!!fNzXBBdu4sLE$XDf$6z?LgRWqyv0ozUBL8l;H(Lu&}y-C%w790q9Z3`Oio~tXg zr)`+Q^oiETv`MfQW?ghGRU}q{tFSl&=*&r$=$i9#p4(G)-OmOl5h4(3?hwb??v*nm z;$*VpDHNEnp6b;~T_oSeIv}J9c3yg^c)tcU0TZ~zFxz=+rq7Vc8<ZWm4Sh&beX1Aq zE?a&utnCpeLkOpnQ3P7|k_F5oB;j6U9~p}fA3q7QkFtT3u5hWA4{>-@z=q79LeAE) zdTMihUg8Lxq@F1tv}c$~v0%U!|I%TDh^~!=*y7EC%P0IA;0`idIr@m{N}qfgu!aUU zd*7BYW;G=_s%8CGS?kw+%}DZ%T8r2<(h!Bp3+>;?U8M0^+rDgf%C=;*4E&l-JNbkq zGLFErhj2gGiyDX`A@rr0W=!@#zG*{IEL+rUO5vQ`FSwVJ73{nxL;Grn<ggU+@THB@ zI-<{P_#CM=4n!S~cHm*KKv~$gT@VV;EWU)441o}CU~4O7ZYQAG^4~#k)cz-YI$<_} z!>(dCW5{xK%Cb_3ACwjx&4JcPGUO(4J0f%Ke8RB{r*JNp6B}_&YUi8yo~CVv5;IUd zekrlU2~W!<1C4eL4l*e(zmZ#r7_7#%=t-@*#kR@xo<0TB%)IJhZYV<6o7w`}8-Xa^ zd*zSG8qmwK0^NvDT8|Kn_v^>NDj2V{3#d)*C@~8MVXl9OLgWtz<~z9Fq?~KZz=(%q zQV~HWk+Zc?MQn-&;`lZBI|<5c#mUYekls$(A540yWLA=U9{3y$?YhQaC0B>tEkA{H zz#<(e9If)?4}uOC%@o(fH$4Dj!V(GfcoUR9$90{yQBrq4l)!(YZ_>NFFoi$^!x>%( z@m<ChMj~|K^W>+i#*W}LKxc-^qA2U;ZzSKc?D`0hA^iEJ`L(x%yHYz<4kEZ~THgqh z0nJ3AJ`gy9ya<@A-f9+hKhUO6i-_+W<Mn0%&v3|VD*5kec``jBlE7$<MBGf>8VQw< zbRlDTS`g_lgj4^^jdLgBJJr2EC?<X^Fg0K7FEtKd%pGK`q53!U-m=zK2b%MC_tPh5 z8_5N2P*J{P_=dH!@@qc;QRZ|^Ve=LLs#?#Kbp*4^AABRNk52{>(K+5ulGFwEidcrN zxX}!`{t;UCeAxFJ0)c4%(1bRH`naarXm7$}amlBI1bb{<YxNrf5R$*deJ&*S#^+{1 z<DB-x?=Wdp4v+hB&@DwZdSqisWsC}3B;3^o$_(j5lV04Cd}X1Ee?mi}4yk6|AVW8* zbMYhkJcfrAI!MmLt|_UjM!2~`=#srEyBS|fHCSuE8LZ^n1LV8Tkn70ClvuDul`NsW zTTKS4B`jBTE}*>)n?QsZ9^75FTyD%(9`a~aA?|K20%s3WgS7S#k=vuW<m6<X;j!PC zL;&Pk6&gZ(c)lZVq5Li6<5~rt5dpc-fz)?)(YwJLYY7q=QH;TmdG431_hzv!-nlVN zCPzh2h_hP&XgJpj=X@Lsw|$SPABYqfqqNgrv)}VMuY3P(-Lb9o_eEUlX2k2>E3gNY z>1YtM9ZDS@ZnTTB8*w96mxb2N9lz9&RR09&B)Qgo&eG`>$Yl5eYf-dpo$o#wilyxr zU?s5d^K^trE9ku6voh^2Lq?e6UD4!@>^ZjVlH9}?h*tE-r-^5`ysBDtES?i_?51!G z@?g(SSWs51WBQBEd!qu6fFOhMr_zG4AD`KW<tAmp2-Vc))A{zQ*kZY*x|s`NWARt^ zcXmk1L!p0-%g`F>f7}-58`)16Ney)*eFcH9S;Nj*Z;Nh7L>n3nYUU9~KAiFquY-6I zSmPX>fFF`X+El>IIrV}?%8gLM-aff+k#5z=6eB*lJMuF-8<+8ms?!(~RqiK)jiK$5 zU{d^s59zV>qA+Lu<a_U`sl}hJIx>wUf$Bc?2Sc3=G{x9yMF@^xzk@~C#S*j;uiSB= zCC}+B#4Lpg3fbBUoqd|TJX$O6{3(vbm)<N809>=zl8#?Q6e{h-9cm}>;9*(O?#@OJ zgZ?|#59an+&;16Pk)7Lku0}M=`KE+j->i2$BPkNBUvmE`0!oUaGV>_9f$Tj@dAJAf z4DCI!+UnKCiE-u|+2eu^VMxGD`#+oZ%gcFsh-NnGg7MU%Bw9_nedz}sTtpUjk55et z(5c^N?I1dYZmb}Rg0=QSv-5ix?|b)CQbRxy1;wE9yH;~aros2igyP==DOuaK_>^|z zOV+Mc@*&V?{Fi9`pJO1qBk`vZ-!3yQQsr$*F)y<Nn$`{fI^sEx2(ETJ9NGgDbiIqT zfFFBfMy>)_FkripmolKTfR0sg@CA7k$ZPUe`#DR_PvtS3ZJl;N13$f))svOJ`9^N9 zIKOg77lb}kk<&h1l5Aa!Ic6Ze-pCQvVKQ%a7aP>cloa%M)ow_0v;PeV3_n++`00=T zUCg+~wP`noT;V$0-XtHv`X{;a{=`qJ>+Z}4?EOD<WdyNYgWqez?8<lqm%xv!0B*-q zmh{BOjDumVCG2Q`5~?E=JeAa5BMh#$py@xTCE4ODDgm04a6Xd;wAUCT$(;Y1^@-RT zY*DNuK4Z^{oJq`74$VPuPiU`9n{+0g?=JnT`r60sXTLG3bqjlj3CGe~ZL|Lu2hUx9 zuk#lX3>I!FBj9f@uO#i_p0f)q1N=e>;BM|M@RQ)?i|Xce@Cqz~VT3h(t|$axYZFP> zxuch)ict)Ay|MEttci$${M$~sz<=sDRg{Px1l~4>$6)fR3`HC#z>UIN6Kd#&;PF4y zX9`Vu2sH5uCp^6xCL?6c8cFr<xw^btfIWRP<AooZSKDo^^eN<^7jX#i1ec;6qwYp~ z=@ak6b}?=6Vr)LK3OK9A{n}oE>Cu1p?EGiD1V)+$V)h_2!;Dgn&CdovLvAnV>16o7 zgbxYE@g-=Mpdk{&$z(|k|9x{8cE$IO=1^__KP5>wo+0IGu5<pwclDN>A8R8HfkE%$ zu3LllagVH{<d7S)8w*&Izi$w#4C4a7)QWMI4H!9bnc-Agb9rRnrD|kcBstrHf+}r_ zkc$RFvj!@e^YUo8NtJRdUkyXL(F#RLyDg27L^y;It(HZk8YBjrdehw5IPP)x^J<xQ z$#H;+FF=&=kw86C44{ej@>DXd*@ZTYLYdT5&mZGHqAE-I2CTb(1-}{FivexVaC=s2 zlXm~t{#O+yy^fdJTz_KvWS7;({=7em{A)INm|4$XqV%-=#?$#Hz30!>^LbvldG#!P zR$2eYVHdj9S?v|;<Llm4C%yWxv?;)_T(f=ZIkjuIZ@vEC1suMx{eHOVf{>^9QWFPX zxx%Z!ew`z4Y3huH(pRR{8!cWmD>jwIdFI-whp$G2?p_sLC~B;g2V6_YwPydru(v56 z<-?;_O*wL8^~&|9);th+o%?lpZd67<wRhs0ty)=~Pq#jc<}!V8cGWXr_l@uC|I(Y~ zQ(xYHw7olV)1k?~_rLu1(xxW=PT!7YCr_1q`t{#mQqAa}q3@5Yq2Kogta?{nzxYn6 zVr7Qp8JGK)vnnJ0z4}vaDcBv`(O;YB8+mobr5k^e)Hc0gTiT}nc>cZzU;fu``!V-l z{dxYn=fC9D|IhtX{^|b7dg2(%7ytXba^JVkTFIGN-?v-{TzNCNKfYeeCgr<MFem>_ zaUrRe`I*b)|I4TS>8`zIns%(m>38!C!{pCbKL5X;_UH8ft#1p`&urLV=xUIBY}(7` z|C@gt4Q{E|`KSD6`}>FX#;!kr6B2Ph?v~Ce?TM)V^*&j0X>k01OXKwaIk!(16mG2k zcXh`fyXs%B_Xq#C{t6;q1JmFB$^ZTS?YH>)f6>i5mu>IdO`i9w|7Ycq{9o6u^lZz| z7y7^a+vm5<+Bzn)j=lVq)h6Hk-<2!*BaqPF^=Ix6`6KyN4-c*X(7f_DEBAM?cV`;J ztu26SG%(?Qi--T2tFNp5?ibZP2ij@o>FVdQ&S`RlD-Y-}iZoZ%`bpXn);io`0xR3+ z1#Jy756aiRHcw!CLh$XB?f>^BBsgCR-7@FHnd*GIw}1X!F}uf|p*%&WM#gO)`y@@h zl-M8ryY(Gk-Jd?c=<631iGXzx_nWpja&P;@w#uZWNOLLI|C_h^l$Kacm~0xd%T1-r z$Yk!{nZceH#p>3phE5f1JGH8w)meA3aw(@%{Kl!Wmlo^oKA919F-F@UiFw(ryZ}p+ z4bxtl%wT-+Wc}3W;%iY`pY5^y{-DC9?fCAc|Exol<8EqI2o~&#lt>m{-)oh0{i0v* zg#G%iha;ycK95~6XKrEadg=B@JdVtZ_c>Y|$v9YNbL_`miRG8Ks-Cfa(lz6Mcz3<~ zpQ4+aHeNF-7d7Txck$o_TMbVa4}o0fN$(66N?i68OPl?$d$Y>Pi>$|%FvZ+RT*!Pc z`?>c1_XVG(K9DzlZvQ`8>i20WgQw4AtIYgwNU89oEIrL$c;Um@(56WSeA^Xw)(UL0 ze_Oxoq+RD;(S-Y%U%6+v7MA?pDbCA(Lgq=Re!}yfs6=Uv?AX%tkNo-7+|wVw*mpr@ zQjpUj4ZlLCNxEe%q3-9zZ}xQOtVx)+dG+BL=L({$GP&m;vC}I4lBV<GQgFaOX3*Nd z^*^oD&oBZP!Lz{D{z0}FZq9VCU<5_>V-N5-CGnmzlTAG}KqB#;E+DGbOJ?#xPc4Xu z%w$e4u%xk<2Sm~hrskm+SPidtFi0fH+nW!xff2E{aq@0&tw@j%@_KyGo<;=d=0n-x z7~svwB*K8$42isckq4m*$hs~*+0I8w0c1LSB_nV(qXdegH*%9JeAK{-kV6Bw0ul+l ocbUA;M+~g!<H;4POo2gW2n;e&Bqa<CAKfN@@lj{X^Z<zh01xeg_W%F@ diff --git a/Trajectories/cost_function.py b/Trajectories/cost_function.py index f0886911..77daba08 100755 --- a/Trajectories/cost_function.py +++ b/Trajectories/cost_function.py @@ -10,7 +10,7 @@ Input: - the graph of segments without cost functions, "segments.gt" or "segments.graphml", expected to be in the current directory -- shapefiles, specified as command line arguments +- the SHPC Output: the graph of segments with cost functions, segments_cost_functions.gt or segments_cost_functions.graphml. diff --git a/Trajectories/trajectories.py b/Trajectories/trajectories.py index 721716fe..deae0c40 100755 --- a/Trajectories/trajectories.py +++ b/Trajectories/trajectories.py @@ -4,7 +4,7 @@ identifies trajectories. Input: the graph of segments produced by Graph-tool (in gt or graphml -format). Output: trajectories as lists of segments and as lists of +format). Output: trajectories as lists of segments and as lists of instantaneous eddies, in JSon files. """ @@ -15,8 +15,8 @@ import sys import numpy as np g = graph_tool.load_graph(sys.argv[1]) -traj_prop = g.new_vp('int', val = - 1) -all_cost_functions = g.get_edges([g.ep.cost_function]) +traj_prop = g.new_vertex_property('int', val = - 1) +all_cost_functions = g.get_edges([g.edge_properties.cost_function]) # Array of indices that sort on cost function: ind_cf = np.argsort(all_cost_functions[:, 2]) @@ -34,10 +34,11 @@ for i in ind_cf: ind_traj += 1 traj_prop[source] = ind_traj traj_prop[target] = ind_traj - segments = [int(g.vp.name[source]), int(g.vp.name[target])] + segments = [int(g.vertex_properties.name[source]), + int(g.vertex_properties.name[target])] traj_segm.append(segments) - inst_eddies = list(g.vp.inst_eddies[source]) \ - + list(g.vp.inst_eddies[target]) + inst_eddies = list(g.vertex_properties.inst_eddies[source]) \ + + list(g.vertex_properties.inst_eddies[target]) expanded_traj.append(inst_eddies) elif traj_prop[source] == - 1: # assert traj_prop[target] != - 1 @@ -50,15 +51,15 @@ for i in ind_cf: # trajectory so we create a new trajectory for source. ind_traj += 1 traj_prop[source] = ind_traj - segments = [int(g.vp.name[source])] + segments = [int(g.vertex_properties.name[source])] traj_segm.append(segments) - inst_eddies = list(g.vp.inst_eddies[source]) + inst_eddies = list(g.vertex_properties.inst_eddies[source]) expanded_traj.append(inst_eddies) else: traj_prop[source] = traj_prop[target] - segment = int(g.vp.name[source]) + segment = int(g.vertex_properties.name[source]) traj_segm[traj_prop[source]].append(segment) - inst_eddies = list(g.vp.inst_eddies[source]) + inst_eddies = list(g.vertex_properties.inst_eddies[source]) expanded_traj[traj_prop[source]].extend(inst_eddies) elif traj_prop[target] == - 1: # assert traj_prop[source] != - 1 @@ -71,15 +72,15 @@ for i in ind_cf: # so we create a new trajectory for target. ind_traj += 1 traj_prop[target] = ind_traj - segments = [int(g.vp.name[target])] + segments = [int(g.vertex_properties.name[target])] traj_segm.append(segments) - inst_eddies = list(g.vp.inst_eddies[target]) + inst_eddies = list(g.vertex_properties.inst_eddies[target]) expanded_traj.append(inst_eddies) else: traj_prop[target] = traj_prop[source] - segment = int(g.vp.name[target]) + segment = int(g.vertex_properties.name[target]) traj_segm[traj_prop[target]].append(segment) - inst_eddies = list(g.vp.inst_eddies[target]) + inst_eddies = list(g.vertex_properties.inst_eddies[target]) expanded_traj[traj_prop[source]].extend(inst_eddies) # Create trajectories for isolated segments: @@ -87,9 +88,9 @@ for v in g.vertices(): if traj_prop[v] == - 1: ind_traj += 1 traj_prop[v] = ind_traj - segments = [int(g.vp.name[v])] + segments = [int(g.vertex_properties.name[v])] traj_segm.append(segments) - inst_eddies = list(g.vp.inst_eddies[v]) + inst_eddies = list(g.vertex_properties.inst_eddies[v]) expanded_traj.append(inst_eddies) print("Number of trajectories: ", len(traj_segm)) -- GitLab