From 5b2894256e13c929ac928fde73adb1f5b0a516f4 Mon Sep 17 00:00:00 2001 From: gwen Date: Thu, 6 Jul 2023 10:35:23 +0200 Subject: [PATCH] passage au wrapper _dom --- actes-princiers/docs/source/img/kedro-viz.png | Bin 0 -> 78949 bytes .../pipelines/xml_processing/nodes.py | 2 +- actes-princiers/src/actesdataset.py | 63 ++++++++++++++---- 3 files changed, 50 insertions(+), 15 deletions(-) create mode 100644 actes-princiers/docs/source/img/kedro-viz.png diff --git a/actes-princiers/docs/source/img/kedro-viz.png b/actes-princiers/docs/source/img/kedro-viz.png new file mode 100644 index 0000000000000000000000000000000000000000..29b6615e6cbed93daa79155ecd83d6f5d31e92cd GIT binary patch literal 78949 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 z zWPqXtF@!E-ub55FQOt2UV#^Tr7wZWCfb%MKIre zth9*>Nuuei3H4G@sW@@mEr@=CDXX`V|hHR8C#1-_^~cjnY0`C@5-K}HtJ?|Jd} zJvbDyRMn{l`3iYj7Ww5>7~X|N#)i&V`I8?~ffWE?xQdr;Y}Yydk|P#vZFSY|Y>TBr zSL=xg@;Hy+PZue{{!0b*tvev;1W0m|wA|h{VS}9tc}^5zM1!JB7WG=Y0exyP6S`K@ zd2wyf1X=Ct-7`R-Y!>uO5oHUTNio-1-->T3hw)fn9p%K`3^XrtRE+H&kK~5Vlij2% zfUWrSTI<)5Dugvv(9kHi%BV+v+R9lZS#+F^g=I7>I=Z`$@6ZQ7U%AAt>-ih~U-RGb z`08rL!!AEDiObu>;L%f(BXS6wJ=N%*PfG@6#Xsy-{qQ5GxtrSB-eTZQk@+ET)GlTW zIF06tr|_Gi0=!{ijuDp)Bn70rQG^!V!^MNc!&s#}3E`qC@`MEx-4&n!zPwg&k(B$Iv;t^2NvGWW!G#sc=w8h=+Gf8TgyQPK`O_Gu-m-AwP9?IXU2% zy6C={abR*3B7FvgW`E7{P7>Ee|2F>1_Z5>KCAvQAI8Pe@ zsWk30+?%gbS&m@Jn6Z*@a>712MGj&L-UK2U!i%`U8Pwp*rSX)_@ z-R|~~`R2;0&kh>18(x3=Af=$tLuA_w1(+}C17)+D2Y9lYofrrtc>uPwJ7BB`8JLgD z-PK=;r0tL88LmkrERRm{$Om-i2zk7nb58Ww6mnQf7AfjE@KlD{U@{F zvDPdiT|X=vA7=+Fj;~9b3m0+2X$|OG;yn1+V-CP#GOr`yw0-$d z=m`!E=5%)bvBK!y{{F`NQGsTI+a4O({efj zf{-%3wpOiQYYc=$-{IKKQ2@Bc1l411QTxRl^~Un6u!ISrP8Y95F&JElY=clTpF(ZB;$7&db`4~#%YUT=+*nTt!f5kgNJiR zVoXr*HjC-OynOk{Y(@kUa+U9r07OXG$DfxS)-SugT`i|Xo2hGW#*x`(-YrNnNOW~G z^y5d&yGC!`$uiyNP4|2H?$bvGZV%Tnp<-13X#pPLA-%)HJs-Ox?RTx~DcyVZ8+LX9 z?oz)3*qEOIu*eX|uJ0Ap?ZrL_mGgcn5BF6xmS|tT(A%GvX+Zpv^t}9&7~VGySE$lg z-L1ufGz&OE`>709kFu^`+fKrHquJj+B2UI0{x%y2PBr$@?xm3CYy;;?F^!JP%!dPU z2UpXBpUdQdIclXWW=Hx#=g6Yw(&nXW!!4J4OKoUVI*+_Ry1SpcKY}I~gX@zI<xgc`hj>g#d~%z!g^--MV-^-e1~r{Sr{~x?WE>-ZF}P2KnarO>1cT zX5P`a8=!trkhjT9)~>qK2g*w$2*Dx;Ri{|a$)LqJQ9xc=Ai*O$%v>8!iy`I?z@m|d zK#W-lNbkDHAP`~U4(pinvz9H9wYryYaqCOAzW}z0!*Sz}vjJAu!Y0e`Dr{nsJ; zzP>(?5I8Zh60%3l^s8s$Oquo9e#%X^-cPCZ==Sr^V>R>t7oBM0rC|2;A%3-%Q;m2Y z77C{#O31d&qedLS{i29mFOI7ld3YltBNr;5pVhc+7vN#wkSy$YkFu~d&{4ycl$5v~ z%$Ne^erjVLY8KLb*Utc;9EhJw*HBJZ$jX;gHgW(VPg7w=R{Gq-xtj4f&(^5rY^Sgo zEs#qC!Z%jn^bB zad%O`^+0>x<#r!E{8y%E-l+aor2#&V6@Ex8zQ1qlrA?Ew(>duPj(m}8PbhIXfM4RL zN+#%4RT1Ze8@y&%8TIN===$hJg12)7*@n|cjRQ)?w{&IOv2wPp>z88YY}#5T>KYq) znjb4JwO(aAT=Kg%K?7Wm7`%|!MUup(>D(nsjwBKa8g6;x@mBCJMW#)uNQ6*56NN+O z8};#{vY1#*2Y6u|w$7P~}*;tn!|J}Y6B z-AbnovK$~};!+Y3vbUiN0Wi*-R-Pi@4Op@MKYg3etE&2WVV+{E7v9CfG{#L!ltWm@>XVdD=?*K2i;2OSUzRAu$e#)YD z;*Jz7a&(<)v}Oneq0Ymg&a3L0$V>WikalZ(l1O(@;krKyn>-LaKTn*PoJ2{*4s+kx z#bP$1Pb}b7yl{z!hxc7Hh%XQd(1rXU;!t5CI`Qz!XEALZ%|1mqGqbUsK7i$@-|bi) z;M9>Y(U5wcu|V3_6R216&;+sh#%)S+a-fi$Z*?5ST06mMIP-XK{xmL?B#8RNngFl1hc668C2?4az1&}j z1l>b5nV($7yp7pxlBe5y?hN_f^+h7Gh!&S8Jyb3mF)IAsFyF?jL_A$LD7ropR~=CB ztpwxgp7qxH-k7uLx?g{2zSyz6+DNk<85!{d8kBk0rTc?xxvs9;+8e6-u2_N2`X%pB z+qPR&GVil^&nC@s5k*DCG|QBsjZ?Tnh}{d`rUif3C*~ky8%Cb!4XR85=2PdpCo9=C zENFY`rbv|}qolm0E?C%XH~$bb1L1iN-bo9mQo-I>_=-M>To5 za)F2)?@x_+$eEkGt(*1>vGYH{oA1jwWj%M0{+)zrTHW z>|l7^7B!XJ978ha3NhO`@w%AVM8}`5acDxn%#HbJ{fdOgsbOL_Px4nQ>fsa`1RaN9 zebMF0Zg&lhj7Q7UIC4!h>-6{Giq6X<8GauA@$b{-PpzP?Y4rr+!$-Pps@jz?{So~x^-bDLR)Bqaay41%u6*ePX5(J;%ZIaat=Db`UsvhJ z#4_Gk&*G$T?jsp*8dDzTL*bU<&=+7<9oyr7X06exNczZ%eS<43ak}cbNhoMQA#k%r z$u*~Ob~t~lA?h88$~b!cxL=>*gO<@E$6m)(G(B7~(F(B^+LZtO{O<0@^69l$1{?ba zT7j!&Xngt1Ao5{I-YCpdbuOW8#W%ilu$w73l@k~`k1V`DTZ;v9?GqH5JP^;x1Ss(< zr8rL|$+f!3$=s{A1h&rWq>Jx{PQQB~KQ;I}=Rmj?*ZQH_Q#d^`XDrk`o5I4%itBVB z&kpo$s`MP4ooApAu5a3LI%QeRSF(gay1QT6eb+v)yIu(;Gk=4SBt>Ocdy1g58B#_< zR%^Z{q3ychd<0nevu(DK3cazm;O1sN5cWt~E1HTEWyU8bJ??nKbVld*a}|3Hs%v%P zhKMv5i$V%f_L-^nzuwLymL$CPLjT;j+!G_$9fP}2w2)JIv=^~B$}*}*pLD=fBpe9; z{Ziu2cKm&(sGVr8j8y;L&wRnn;hxZ)qyRE7B|Acnxe zBlGQ8<6ECsRLV2I@fJz(91WIq1vo(Gr=hfk3ao@*lgi4P9)%ZU2Q+DLXoTZC_ko(t zOpJUB;h&q|G9~1E`RF~@FrP~l@&swP&8}D_3hF6#hbEQv^KYUp59!0#n z8vxK-WJHnURV4uQbGtu(xu9#Lp+RtAyf18_Nxur8e*fX6_gjy8y;92k;103YA9Twi zbVHNnI-ya6va%UGIQI7TilwSy(UCw90|6L!V29t?nNxm2p^Li#FHi*nwPTZ>?{PO? zv4E*kTVjqVi~Xt?L=MW*HMFqp{vyruKow}niZVTrb|=e&sf8k!mQFk`?FAoCB0UM? zb91ZP1cO5*m;K>Mg?xMjOmz7NN)`CoIV%SeJ>W`*HqK*OKcR&1F#?Lx+`L3e&YF<2 zAV0s|jJ?y%=?9Zu61yr9wesVj_&35abW5uWX7NL5;uWW$PI1HN@*um;FP( zs_MIUO?UwjJZ#ZIpcQx7pGV9#UmSBk-2nS#a1=-0u$k#u#an7lUi=B!(pqk5@)gIq zF^Zh`NKJ`Kypst>zllRCN+8@zgOO}1kbr(L#CBs~oWor%xsp*wk@>Db_mu)+*^7i) z@BH~RMqK3I^;W_+xWiwcEoA~hU=z)ZZAoDxq2*+mecQuU7uu*`p~|LlGh&zrjjs1oy%gQ@fL^Q(2!VYKWCQ(VoXjr4b7$^BNGqIqhFlku?ZuYOeB zJtJ8*FDcnvSRyD{`<<=Id4F40T-=__@V<_FV{6ptV8rQ1Sp0|uw4#pA*t+E#$M4#1 zyX9}5Iz^!z#ed5@^-?1g8imzr1wrRFCZGmw^}c0s_=5mxKO_F4>WTZP9@7KV;dY*@(EYA8Sgv7WYd@@${bCy@o zV+$G@K%ENuVGQ6&=%l1ERYpJc!OlY#-ejq3YZL#BAqgCbLzgOes8oLiIPz|P=ov2O z9o2g6Jl^N{=&{$Qn`>+9WO>b4r?nVLOC0PkVPCgi1&n-9tRJ=RZ3Rtikz5^RnM4(3k;@s2NucwP36)U9tX_eG`cS#E+up&=LhbCF+mEMj#k zQYFeIG&E8boQ^Scr0nex4UKNQ%;@p{+&tlS0Ju0ii)m^vl1~e!hBhgsR!FlD;!*$=ka2!x;!`7g)m zk59eHF0MqMtAC6*Y1?OUCoqNu27)v~Kx7Gar2Q{6!94jRel00K6X?CfkvC>mJ^z|7T%{HCYX0r79O zu;aNu4X|Yon&i@b5e%Iipa4E z&+OI@{fPqx^bC^D(U*;RKqq~)8u_}R$K0eE_WSplgKi%GLVHc11S@ryAFH?O_+9X} zMU4hgH0+q1SI%2X*-!<3`=G4M1zH94tyRF^@Oe#8K4K;`5`T^%W=g$2s*QbZ-PJ76>OmVs2aruRPb>Ka!b$`7=Ept>#frf0?p7mMpN9tquM@evt2 z!<~3H(K|SJc2zq;|MH2DV0Aw{gjISEfM~#9kHEpSZ*?rr6Zg28RR%Z+WC>5YzgPDSh$D$;#R4r=Xi;jV| z;q8(;UL>gx0(}ypMJ*C2eP?ybsx?eZ;6A<5+NdRz#utf3Blvt12XZ(>NO$p?EZjCT zG}qT^>b*x|pE2`iS!=Z*=n?96Ra$HSFRPB&dwu;Vne`uvchn4B$wduNjQ?87?4T_yzYWegq zPu`SB1T&-#$a3rLfjBr6+}FARV6#ICbtmt_S~-Q*&Y`Y>XgKCCc0FDqC2j62Q1%49 z8XF_AZkCK-VqzZcSXR`|);X->6<>CC%7UGtR^cWaDk3dtXn?uD?Qy$r1aP;ggaq{y z%w1Dc<3hI2P8bbbqXUoOy$csfc!kE@jo^G_GDI%&lbewRy22=&8Q{jQ%mmJ9hhn#q zlaji&yMqbX*x2kIy}1G0OJ69LvGEYs^fIzLYA{Onsgnha!juK&3Ji=H48c=MAZL9n zgk|B`VYQx|*P&1DYxEk*T{WZvQZE)G2_RI>BaxSVA`XabwGmR=1YP#~g+9E)0kn8W z(tBN~sw^@Pg*OF$DXfM9kh25iQSxM?tD}{M?ZUK5uj`&l&Ea2KG(Za5jWY&>lbk8C z9}a#^TAB=r7#cpi*jtFayL%>ecZW`ZgIFLlLC>DS?MRJ6^IW~nhu#Va~@=s+m^=Ra?=m2~gAi_Iuf^#OV zj&IU6Ug7!w-abbd;|P9UKy4I@h|5=Q{=kprbG71WHC@@UHl;%Q2Ux%U;i5Nb8?KTo zJ;;neLm(0msJNJ`)J_C)F(7Y3)=hcJHJPG*k97s@e6av}LaeMZb#f=VWLZXBN-8dd z>ucC2@=Xa45I|0rt0%~hB=5S9I2HM!N?r5SGaMp3_*!LH2mnNG#>WK5*#*XnC%9bB zQl=_~M#e*@Nl<(5p73Um#btI@)=qD)_XS0^!OA5+{`4iVfCe$e($bz@knH<+cqK)< z3;0_gA4bQ<4^t4lonJup-WjKpda3-hRkxRil22r`rDc`@~)$thCnK zKttJZFl*W3vv9=B9})RhQA1<>+!6~Uf$h%GydGw^qZdFv>ru*$0uBzd?gfloa5|7({cA%{k^* zsW?`V5seS#u`^ab`;+uUipHJ_{FRjzDOp)D2M1Q4`}6n4#_U5nxI{$A2_Fr@)2f?7i$w?uOC>9(lP&`sT=`?~x0Myv}dpSE>?aP3sh(S< z>*|kiwFmIl3pvHb_$w>-Fx&kUOZh-5f}U+~$#=5FhZZE-v*t zbH=RSp_PI~Vs;SK{SKcubvPtQKjIbMTiwRu`9g{7t3WkG)IzzMbIVbPBhSM0-4-ut!9bz*qYwEu&}LA zmFuElrcjs{3D=agijfI4&(lF4QUfL)$T^(LrZz38mnd-~M`IUG$C0tIvB8)fv4;+= zjLfwvs=LDJ)e$JX1O7=HpeQ2dcEFaF4p%>F+O6VcKnB)KOHVHW`2EhVt_A;XAoN^t zOmlgYR*njs27}X@J|HkqNnIT#Z79UBi3Bv}RSTEn>8Z%hN6Q_wbaWk`&d$_slVm;= zRlG{*TRuEoDp^hp+tQwxm~b;2?NUEqsNX-ZJ)j)|+{9}4Tg}6{s*IcxAs~MUs;N;8 zx*W@E2!cLo6{9|tbTWnkW$@-*9%)70WRz$qs?pK1Fr-nTA{?)T1o*FA!D)fMIfW663xhyb^M_|4C2^PLV>AHe4J-dff1 z?9Ei;f#rz+od++$4MLTA6!2#Y%c0&Oekwo^F608^b@)yUIPBu;IfMFYjO>c=2n6^S zor^8E)BFl8BG%#Oi0f0TggJAP%Qm;+hx$&>@@@{8W^f5}P-dg|lv?hSxw zS5-A=Z_f%F7nhuh3MMCqJcZX(J~?0vfO8(>j&ZxNLtN*xO#PmZIKD!%w44L2o zs?;UOA;2dXn+>3z(#f}P4pJ{MVM1X5^^dvab4vnw@%lAdvcl(}t1GTQn|MIE?9;Fs z!LaPa!~1S{yHfm?@$tWA1oh0tc^?J;No)d`(!OXJaAY}86Ko_ z>!8Zl+uRZ$Lc<&W2*Us{fteKy;JK=dZc+Ds^*fMl+HoCq_rGSb(I%9LAx5l~0eaV% zlL#c>8ROpbpxew*rDrj^aq3-nNKAgOf4VW$;PpEn5aV4p=gdi|aexlNpbY6cu*=TR zhuMH`ro$TT)~GSVP^-{|jh0wjbh(=zj|YO=L{Q&(t{DF+1xmTOO@R~l?THKO?Slt81Zr1Uw=90>y_OeHlcyevh!t| zUJ=^vC!TcFVK3j7B#FGAM=M>UVG@angfj&bk!H~BBf%k0dQIT!-iAW5f25C(?ZYA? z#et+Ps;~~ZMS1v1hDTZ$+O;BNb07>?IKKO&JONd-ODJ@(_{%%Lw8p{rPcoU;A72L- zLV##?ho2AU^RxDU)xWQ|TTtYJDU)R4()nQg{r#Dfl1^DFN#z-FMJtelIfVj&*xYfH zW=AC;;2De86?20&6E<#A`}Rq+9$d+;h-d%?CUFo*TEg$$s82XSfPPY@F}=^OY{2K# zS_obebBftu@{ZPAPxz}_>YEZ#S+=sH$Al`K0t&p`%)W%261CFq))r4q{=y{5DA{QSH36;JA2eiBiY9h7K^ zXrQM&+r@(`oe0_atT}DPi8|;V1~QUFc?giOWvNF61dIWy_;RL$IbKmSqzK@?AZ@B! zJEJIi$H{J>1#9~+zjy^ymR-uZs6fd?As|5N?=QDfGGP%oW4PiSJ-^lki6(@22{2m! z966(4`Bzlz#PV0pwF=4um{eJ~&@n`iMAS;3%O@wa^?HP>QuvF}`w!~D6(~a$h@c7z z3Z@L1fTEV)kXe?h29!cUK!vKW{{qr(QQcwkq<;|ym>6E?DJzhorVf%RhhxhWJVW|U z{P3VWz3-x`s@kcquP)<6E-dUH2Kqfk#TTGGQ#7s5A}G>War*A2x4Z5!_V+*xfq(?G z$8y`s=Ij>WipaUR5Wp1$o_-oMDHTdOmw$M`yt=)upWU$IQdCk3@9&pMku4-;L#ICB z01}Z~pF-sl&Hd7fiqN5-B@KKX!wM)s7;B;B?R}r>sYyW3z(A0QsYCHse;k^f{Q?Hg zVs3AftK4-%-04n1%(w4fKiY`b1|{y`^uuVwd*G}{6DwG_HdC_S zyMOi;+#`l&6ndwCVA$@DSnN8H*WCQf#gjxNKopEy1~End_eN68C~~)zU@GUY6cLq7 zAPA7oTuxW$AX2p_aasYdN5)7Iffzx?!r@NE>`=i&-#7dh_)Gi*<3!#6vYkzs~V z$TE1s+b=Sf$lCjnXk|2#HXUO&nO#i|yiI0ELQQQkL=eb>&~qu`R<3apK_s=P{oLCt zRZeBDt*u=$ez>#K-+0)z3E1=~BDRgx9Wb5v!u4RDF3FA5bnMfs>6zJQahabaWUUw< z9(?u|T9UzBQBuPLA&2Ga_O|qx$q+Le$4gdv%(hY=K&Jbry|MY!@bLTFVLMdo)tzGu z8E+vSGE(yp@Cj1KPw0Qw0`7hcNPaBDNh~OUg@6t+S^A#e3=AEmv5!WmE@pCrhf@HS(D6L|q#vH5k{a3FI4?Xj1B)wPaVQpE0 zOH5i4ZtD0Z8zwcDQ&r#;RS9u1&5%rOy~Dhn=(L9`XVbUTUlKV{eq7#9VpYc zxG2E({9V^Dk@RP^7eMP?J4+0)v`m|4b(EEhmX?!SKUnBhHkT}5&2`+A_u_gGjfzrr za&)uYt?B?tgEQa1BwD5(W`P9(u^S%DC6E3ZhJHwom#T{(~AKqD=WXY z>x9v)vkK45B;9NoK3#BKa-iWO_CuqQ&9-l{$8GblyUKTm4?`}1HNMi{Q{QQ5{FsfSFg6fNvpFG zE>J%1PS$&dj)fH{S)qGI#*BWMd4O_$HeNHf&;lO__q_AhuS`!RB|xf%TWi%@T)ft) zi_)sMF)%Zhy1gLj{q<{OxW!YW%_d{g@`ac?8$0`t(NQQz$J)ZdiHRiOPX~)FZ#6YP zqvm1#Ydpt%@!WC@=-`lOiY&Oe-+}Kxfm&W(_DfLVki)EHciK9FbEQ1Mv^%8+(0!ie z)K`3bd~B|RjE+D+VjgZkOlsX--Nz1o=5Old!bXDC^E!qF&8*kmsH7~uAgK|S5w6cY z$IZ=60j{S{lgj}W3rqYIuM?!bJeY`5BF1>;TfyB@yT2E^J1d@-R|H?1yW<RecBJMlFpqy?npcLijPv!MQjdwkK#$2ft(^EO+3@D5Hp^BTJix-Fh-ySoE(q@=Q$T=4?7ZE~UW zQ%YecCT3<~2?A6vPOo6AooK#2n2%PyZZV{1`lZd^G#jGkL=|_fU5cKb+;o1E^PF>j&ojm| zzVG|%ea{#=9EZ)?Yu)R@qi81jgDK#u_h|One4FpIA zk#L*=5#{_0{60N#T3_mdW`&aAo7ZuAM}q?c`|k5ns7+J|0=)D3^=r$vwI@%Y{|yVZ z+(njdO~9ngaOdNg^!8l98Hd}3KCip`IcDE=;u(qG96~7aS~rnJc(dbW9Q_YsV;LZG-P~VRK(?v zOVP`S-q}g@450uMAQv(!g)A#91b|U1GQ)-{@oh;7PiZOd;tJ}RFDg3vDR8?6f4X8= zSXf*Fuy;WKBAv#rE*w%TtDisX1A_q??E!?R?ptVK5|hSZ03laz*}19;wQapU z`t6BIT8kXT=;)|UUPlA=ZW z_$E2$9lkPx>fWD0N-1Lc4W2Z_JdR(}(zSe&e^6oYSMkq!{@N?Fx$ADz7=KYUIlZ~8 zJ@W1dqW_D`bnBv-Qhf9`F0LD&mLh(;QZ@7e(XhV1|1lR?oigoR;J{oCOLLc%lgm_< z-q|?b-&a0UmOl5U@NydhCB6~e{V2#6ps2d_Tk}DLOl9p30l?|=HPbZQXOh^Y^4~i# zCYL8?V^(mkWB=^!y)D(870bzFWkp8z=UNB(DFv8JEgj7jVS4&>GutAK^~vbyXvgg& zB)7?ug+;umbJ%=)6qj`i-k;S~i{4_3WYp1qJiVYGi9&aBY=eW3`;AAJFJI~X{ODrt z^!FfAJ~}3*z>hs24I4d94xL9!y>nYmd>{FKO-t(?&t0V2T3T9K6r(C6CL(&8LN}_y zz->Do{rj`N=A5*!MsII#xwp_qI1gLDe_Y(&iQpFym|k9f4_kVHzeG!}#$yLuri7lJ zG#qb0W?|EZYd+o5`+F@OH{O%(yDpijYG`OFu51`KXur|hljUsHZ^;8W`NCi>MlRAH zhqAXL|A5)ct83PEhY^I3l5J}|`ZHDh1rVs)BqVK_;q;grySr)f6P5jTJs2sFk=`v)VCUyg!~C6KV0naomPpJQf@3hC;|xL)5~4BM@xG-zcbDqh_*}9 zYr!cgG|npn^(hLJa^w&>CA$a4H)eMXEW9Z#+T6QYePBv|c#{aclNwkKIWSzjw&RL9 z{BIZ(z{gaGJY}+IV^qs}oU2u0@8FOI@+SO3LPqB1(ROv$@$vCv`c(g3WJZ4CM7~_2fxt(KmF5!4v{N0Ry-A_2sfzccORNA^hF>IsjjDceM--u2+u1agPr?#*g9=>b@k$C?il{c?qVNSh^RL-1JLu*T|pv|rm{&t zmQ?6@n(x!o{mMroCB4~6E?&F{a!~t!`rIKIysNnme6oYze!tv2a146qTBBoQZxg#m z1&R`CesjBp0ai;kj`I!2Y}4imuGq);PiY01@Kr?i;Kzsv zX`nDeEn$cZeR8;SpN9rXeZ6t_^0lkp!aMIv@fW&w?V8*6vfAeah(n>T znfl62k_KS&mJ{A>Tvp5Gcl-UY(CF?L;X6F(7L)O*?)AGxoLm7P-c!RnV`5^;6_BG@ zo1|rAl!=P^C+riKx-*bf)e=3L{xLE#Z3Qp!y>e#%HiH^tL^+SEgvIBEv7;BiZV-vk z+#GnFsDg!0?kWYB$}w*pQcA0L0doYd5> zii^3eZEOllOMCBYg6F+@;|9|J)!~vws;l?R{OrOY86lyWd_2E27|^`>TjK9-Ta1<7 z+}(8{6LbQT@Lb2A<~5#RU!IOOTt&eC_s5)=jSFFkX>0;OoBZ(M!@H1>`q9xVslH(w z8yhG=1K@OZFy&Xj^7X}pRJjsI>gwhNC_F-kTQsck?Be3nRGA2Sd;9NgZSQ~o)`u3a zm+=B}z-GxL{&EKAUtB^$T3&w8WdEOtz)3bNjg2E!IUqFj)_Hg==(?HSa9{j=v>)1? zKhpN8reD)7YNAp_4Z!H#f`el z@{bF|2s{5RB}|ZlfsooiB0?=05j$DqsnLAv`rljAE%9kD9RJ5};8rykf=&hKOU#eF&S?X-g+BGKyOi~r*a zZg2%|Dyrm<-`vO_Q~#Y&oqt8fVq)OeC8)#S_~d?9neM;+1kYr(;%TgIg-6LlO>^@M z9P0mZL8tRug8U6bHbyY$fl4|iyT#07owxV@+XXT{J0)_jPSsHc2Sanno9X$I%WU~9 z@Gqs3ESi&}y*_8RyRVcpALsH)WvVU<-uZ9O;v|of?yJ^Kdlu!L{h<9w(<3fYL|dB_ z+RxNTc&!_<^J`^*;&R`e@jqV&rD8fc%2ktCDflohcttSTtsO0MrzhshDk=rV1wSFL z9!kFUpKnR#5|oQ27;NVb+2&>Ol$V#scv0zf4T%)%NB79>p{&(%{} zR<|rQ{(UK5sDF*{|M}t(v#_}}`g2YipQlFdhLEJN5O@V}tf8TyTGGAc<>j{rgb;(w zmCh?^Bl1t5{%+b?${uE(-<(6b%hcGwbWklM|i--iN9IEBQ)A zbcuKeg-oW@KT3`TgYRSE_DVU7eW36{GOXK|p`U1%7iMecF1T1@}&NJocl;JQj zS=Bu<4r?gG!XHv)x&d9bR~+k@2w23oS*T3wt7O3v_c>K4reD#joh;+tz5}m zUaaqJKr}6_RFPon>Q%V^XAo ze?u^YaS;n=Znf6Cu=pGGg9ibDglwFyF4H?CBqW^ZaLxS}8wQ7;GL6m5taja#&}okI zZLzD6J8b?KF6?)3rhOoAejSkAk%2TZ@Wi9+|9&3-?>pJ7W-3cevqT^wnROp4{$?Ry zJG|oN#nvb6-ps7Kee;oT*}l_SJZBKvBuzbTc24ysr1a49fe$CW9gO>mQ99g!*=<@AO=zTaz2N;)UJAXrDzHnwh0L`_!GD#E3dGPERX! zUB>wZo!4@lU*u2LZ0_vL+u-8TDa1cbDw|4^SX*KE&w77hfc1tRhA+^Tr)2`!w)c$t z&E=t?Q3?)2{>^LGfO?ywI-7kJ())nGz-DN|h8SXIW(MRoG4IjPr1Xzkj21t@!X>}( z{d>sGf+ig;qQtY~;_^gM!0ybH)Q7ayi~=|F{ScB;rMQSkJCOaAG3cp?BNx-`!0A>W%N zFR;D>J$=okePi{0`>!t%uxUM(l)U2WTc%lIcp3Doj3CKrXcTq#(d?#@7_KzAQRTXN z;T|*dr}f&S;3t8E=+$o~L~wvWU=F(fIuj?VFt6UcIk3IRlIJ? zk)c#{1%8PY3zw{i4CUPwckyWVqW#gXO;@6T1e(B>OvGb5bMzndiRyJvs^ha*0C;mA zYSz_yCq*B74Wb`E`kyKO%$ua^v+L{K8hT!sFEcYAz-}zmpB9${Y77|e^2$m>ee)JQ zilMvOU2~)?j!)An9yomZw{r6H&0cv-3njA;eOCp!|;K zQh;;6L#{-TX(utao4v2My1M##yh=ku)8*+&$dvX4at_4)Z>rpLkl-9V5l`;f&N#;* z1nGEr37$P`zg@!e?-FfI6khmA#;OIGU)W>t@R+|{+3Wk5eWFjxcSrf@`?hv zY6-n5$JCV&-UO~VifagKJAZqSigsdptha-zy5V5=94zB zQG4VoY4UvWHi{jPmJ{o9|6*>5;K7itkeF=`3{{fH9kLp-`<$1P23_o_T4!q$Rc_gy zxE|Z~&8TX=X#<09RRuVa5KqpVuPGv1r27;9U(5yoagy^b@F4S`FAVC*cm>8z(H(P#a(w+t-?)Tz zxt&_!-w4ia>65lXpLK)V zLc_vd4J~w5pPe27{Nebc8H)>nSRTx6hmZra9D%~=)Gl{e>ZR@F>J4D~inY}=#kVo= z^YV)-mjteK`QDruQrNbd<)7X1i~b2N0Pp!a9+r0AI_sJC8dcrBU=^1B#n{@~8slAX zg`TNRf39}a+37ARMk_@ASXf-HyJW1o)mP`R(Wl0T*pr^?BGBUZ@a~NphF?-D9Othe zot>`4jLFH$&VhJyvF*fLqcbw5K>-Ty!{5KsaRIDpXlejjQ1^!=E`IOjuM5$04fhXs z*1I!sC5`m;A40yI(oF2Ca(d$vX{^Dd8P5_(}agpSL4_^NuImV~-G9TgQ7^c?FUI`&qE z!lR?#rKi(VD#VD($`+dz(!GTK0Cs~JW7z%l(2N+OTXVe_ak%{eh^Y;qANdh+nPTsK z`2q!nh(T(_f43$c+l?nB%dDKGyASU0HZP!MGgU1;J~2kfjK@|bb1TlQdgm>^`Jk)c zUV9Yzeax3xyHa&1`6^YSGBlv&Nie7^S+MQx1cW&ttN;<^0;1r3YHIPJX~;$b0DivW z=_v%9C`cT0{>o?)EQaz}0DvXqx6hCzm?1F9e&HGWehW1-^9piTU}-$p9{bF#c$ zi=A$BMSNf?v~0Zo%I}pkdGNoxFj1)nrmfF|UKg zB|!|OT~L683=(O9f1c_!1m5T33V+aNs&8q!J3PD0Xa2N%l4AZ&1f+X$f2^Z9ZLTym zHHC=e&1dHV_!a!uPd_&dU%i8@v68rhnKrZ@APmn~Q0c+vRh#S!S-diu<}f*|Ft z_&cf9(ZY*NOr+{Ly3cY)OL*q5yuISZ>B*WX;a_+Va#QewqVP>`=Xpl76FD5+a>Pf- zT-*dTH8m@7l4VUyYR8A@6LlSxZ?6hE{qF2akbWjdJ71{EPW}%U;1TD^mD*=VIQij` zv2B0_N@m?BdX2|+4)JW?xvpz7@wTjT@7|#g_lTw@HaSPwf-MW+FtaQ9wbWciZitg> z@QN5kM942*q|Jvtb{_uJQrAMn=K2B40r`E(tmDGFPX|e(=*LtPIr%jN#J8z#XfhMNV#bC`NeE z$H!yq(J?U>NB4>;>-7AG(&Q?!6|PdX1qB2=s5>c?<|?x|J(`YdG4s$#9jS9tUm zb>n=qFSbyU`t%*g@3AMqb1sPSE;HVTYtjKd&w6L8*BUj^H#0jsTw;`-_Y*d#W7MZl zE$aE5v8%^>64KGN&+l9Ol_4k7AkTK_!S0l_fnF~SBIY`k?$avQwR;>K(%IJSrfiUY zIo%0`?`!H>)ppZed8 zpX~Ot)3JOEY?42kwl-<$BGsY@1XnDt&Gi=Kj~OZeQG5H^*Ae#;k+>9JH=y?JMBZdH zkU9H4H#aD+98h;suUgoaxxu*};Y{2}N-$kw6%DC__tpexe>Y z|Aq7@Z8EU4D>~9shyAg3zegy3$JjdOOPEaR3VY&HJ-wvu57>rAv(Du2@n!@-9mdGW z<_*Mm&I}=`>FFWjn4wC)Dsi4%O*Z-qkfL(BPsO1G_TZiP($WLncV8dOZGTmGD%oN+511nFU}f+ZH%_jixmvo{9|h$80kqCvBDEMS=_eUl%Mt;ZR3~AA|F{A1Z^n1y zb8~N&SPl$YOG!@71CRzEc@K59;gxGGVQu_Pe>?kZtlLgxP*Y` z0<(5aHOMQmD4ocphLuhE#IfpBO{?aTK(piPx3BH@Hw;{?r{q06JS<*F2GpRtgq+rT z-`uMAw~C+?w*UC0t9Lw#`2i{Ib^i+1T_$Xn2psDrgC zy9#^?obUelbcz7z^`*-V^{-4%|M>1YIi28p(Kp^;AB0w?8v^j%+}!jnOd3ha1%-uc z6)1&8L^!zkP=8{$n01SvW~ZCE?onWqa92uM*nX=HPkg&x+kz8Okp@TlZGw%0w|Rc=00lQ0V9%C^Jg%*&^~&-?!a_<2vXHcZd*s69m1QK^$Nq5`qH=# z{gi;ibBm0u1Edu?b6>tR)CIZZ$Y3}a~eIVlf(9zLh zIHWf=5CJj=Z*hoaTwEg4#zz|8@aC78EPu+(V9bo>^(N^v>o8vU5P#n~d(h@w%?Ox0 zbK6TQ+*S)s{`mAzBk%rk5sQ1Ln#+wnsVkKKDe*P^5UU~mS9pxw6wJ~8Tq7J0su^${e9su zWB^zmnzfF1Pkl6?coic3^j*5{$>HM45_%{JsjQjH>g49*qktAA;+G% z?T3W_%Xr-oD5Q17bNCgHCm+bg@ut9cV*Bio%XRm4qq@!d7CMV9#v*4GLd&7pWOm>> z1*^VtS769U;h4$XW5_gqiVf2 zJA!+n*5t;ij}HbU03n65&A&1nXmC)vQ+-ev#uE_{flTKbc6Cs00y&VT?(y@ZT!Fi| zIgBRHRyR4T^$rnfYH4}r<9+nadW2JcZg=Z=ZOqPMu$ma^c}8$oA{^(0klxQe-cSX7 z;<)BjM(T4E6q#T8RRz^`yt|UWy}NObMkJvEu@Dv;d;OvL+WNQh#0BpHmmLx~vzP?~ zRyUvu-2~K{#l_wvUGeJbEqZx$`0IZvKkuZZ!SI0jhn;aZqV4L-{r&RWY{#n6$B0^cqFd${Qid*N0a5f88Ii7ps_WZf;>jxkyT25zh z{Wl6FWok+{kR^nF`}Th^A}r}ey}iAcCR4Dkzj+0e7mQc0{ECACN~{0*^ULt&e7Yio zqfbljm{lJgoqTLZoSnDF|b>I>6=VdTT94eGBPsqqSEP_nOT%! z;}VqH;r|2HOH3I?dzXXMH+u9htQD+ zzNf0o=@6e$yz?Q2|HX^=*0#18+c_N=oiN!EaCQ;`GGaYn8kw+3MdRnEywiE|Eq#)y zsLIRlux(0H4XMYkT<-Z7)d>_%b3K_j`%hu^hX@<2|f-$#iQM$b4y!o!px=sW}N`g=(*(|P1K zUg%eMdYJuKZx=!}RvzpAce*tmzhEChN#WoqziznHCT=j6T>M?{p7jXjrnpL6Hs;ed zat|Hd4<8&o%CB6$VqjqrkYc3PDf&0{0vr3%JvzE8C6(U>51=N~Xxskdhi_X%wt4Bw zK(;^7hJHK}*ugpnTcl}n5hQ%Jvi6Ghh2en;^$iW6$w~o4!bms+=56)$KZj@L8$T@d z4HrAmOn7cHd<(vah1)yc31o7TyTj?w4*|GJSAu-dTwr2 z#D}snKAI_H(&0@K`<=GCvD_BoLwPy@3Qrl-v4M)@#c4*6tpO3L18tgYT-!OzK;j4A zX{~QQ0qgJ4l9hM?=P=XG@kQ9ZKQG^qndfP#I+bZ^0))li=LE~}tMcZ=H`|qM%#HvSKhzZ^|b}t0W8% zQ-J+gK9KOlmJdG{mk{4v?DNkGR*T{AmMk=^`;DMTx*^&TD-@;Hu3o;#5S4Vl)#;-L`PGV|kXi%?D&Oefo z@tq`Zbf<(wEK$a!p+hrC-_r8DfeOU0sOKMDXVJ3>c=P76bn6o~Mf%rx-QhrP?JF{4 zgJE2+Ha9C?rlef7wPj)F&3n9k5>4NK4?aRDC53g4@`xwjN1p;rJ!7x8uty(g*4 zw@B#^$f(-Fu)Fj1|37dkFaGWYpv12_u~oXPsOJz}u$x-w$n0Z2?Y`a7*?F+{N3-_ekhJske`R766ZkR)91l^F z5H$Tt@gMm%^2}=gbs@ZQBqu)8jT>QM;r!l**i0JCY~Q*7Gyw9e%v7!S(s(M9-xXXs z7M38W&jCASLty>lcU+jj8kUJ38=WZYbD~fC4cHI1cNZmq9M{s)@>f9=sL~kL!y7_1 zBErMf7U97(cf>!H%m(6{&uv-jrLm0@xBkfPN+s>#VrOTE89W9UFX~(pK$`^c8}u6+ zz~B{0i12PHRhv-(M6fQF5=Q)MXC!TI*yoB5|I&*}Opz2S3I7yD2AEs}q6@_1K`k-M zoj<5hHpA(FIXz_erXA9H#oLAc~>nY{iieQ{0f30UV{4~V< z3#O`>ISUN|-$E*krTetVs+VOS8>>E$+HtC^831CQytHtK`8gns*EFl=2J%~c&&*xO$y3O+yvRs=;Uo~@79X)a(!dt z$IxLtILHgD^V;A48H8Y)$`DP9fEv&jj}psnCm(zJt5!p~Eb|$OVk}z4Json@z#CT1 z9%>qV%VTxD)`uAI*v3Z0%B~F##c*@oSt3&jZxR-zeDrtF%uF8XYHOorVM%CcaHC#( z3}ObC0h4_Ef>>;PYoU}0;2+q{(*}Edk6&FfYhN3k)mO^w@$%SfL_i>x8 zN{fn$T3cFxT^f+l!T|ES0`?mi$y6qBFS3lSWz+eDetj{yktL*7Kiu$oznmXRegcRE z?6YHZ_p_pV@{j`dbn9Tab|+5Ur;A({yfbs~YZ}^V-9E;5{P4qimOCjWHslVtO+avM z2$1WmTvmIv#x;e7+(nu7Qct`Xr2C?x!Ha;PM~PODpsPX1SKtJ-?I%lKrE*$@+Je_s zE3=OO=D5|!)?JLXi9p6EETdFk%t-af=USQ|wZ{UodN)B=lL_tO45cbu2-+grNTB3T z!fW{$Y=LI2mjKktS;Kj&U<=)n1;ZfOV4ft2L2SX2$9ZLbn@GSl&-!f^V9($S)78|QOQ4XC z13MzB90chZI-@i=e*L1&%g+JM95yy~1{5|x+B2=x%En`NIUp*E5NSRBoGyiac_6>} z(*u=E<<$4;6>m~$2_hr=b2UON2eONftJY;|Y;+c<@{<-QeD+(WFG#CE$5y9j<9e1} zMKgVy!X#q!iQbf>v?(~k^H{K^=AwR?n7}Zar9d3J?H>`DigQhNviETX6zq?OEc6kSjY6kIDC!m_Tc~&@-0e8bd1w z63CEj(~2%=0?WyMc}^O1gyjdae-%8ExR+km|0z@DV5^;NQvg}3I`(IHQ?7Hv_+>-G zeb|{z6Ys7v5|hp@FUy3}$;p&-q9*i^qV(Zdft&+h9gI4=;foi126Hr3B zlJZ$IIGjKa{PA(00&QM8GZ4B8Jcn36$y~HvwKnhlnrT`res+2SWx(0JarcvF&wzFw zBjSkzX7$270J6b_+_LAwfZE+awi+rzL+g`eT(?jX8ujet40rQ5Ge_OXZXM&LU2VxD z8EvSC-5_MWL9fS;d)?^aiWP#>g+oh}x87&R`dBz$(0mmZoJH-Njq%y=>K<$ED7FRz>1 zcCtkg-E&Q?(9jrZeZ_l6XOqo;(X_pt62IOMMJz5=|m zr_Y|zQqQoS2|2ui-?BQ<#mvdg9Vzv$GWC3i(!Y%#P9bC#0p(y3&z-M8K^Pt#P3|9} zS=PM+TXwk6Mrdzss*mhwar`Z;)bzxo^0^&nlfA zbR)UNfS&#<-)>6TqDaEuUxF!wLZoe_qTW=_>J&| zHf!O+PM8d5emf10oY&#f3%T{r!mvW2YxaC8O+|+(2fTuHMxW0#4<%>(>n-)J9B)vh~1D zA{TO*3*r-0o~ZCxyYqGvIz$TrJIXzh(e&Y+JJ?7jTsSCb(D4Mh6tM7e(Ym zPTE$;n#!GM9y0<+W@9`E zcR&bweijRqXwJ*cZFiXxcO7}4vm*NVmod=p<+8`ydf%Vh7Ptl2Z7Dn=k0JYUNA@%1 z4oPIHLY?|1e0n%>eR@w*E$>APTiu~@Um(50WI+Qc+n|@ylN_r)8U#c}Mlv5ClBzP& z$Z0~*7%hN+<}W#FCZ_C$%>Yy&AV&FfIN_a;wAYE9L2F^&@R*Rkk&y(nTyY1q{sgH_ zFJ@*Ip0O@g){f&j{H7ps?M2ErA&jl4VrD|p4?%%Otuu|FRStc{=M8Cakj-Fqfh!vT zHzZ^Av<7_p=qL%y0b^!nPKxF(DJb}?RIA&dU1t5@Bl~5yjo+A2Y$DaJpilcz0n~L; zl`Tqi;MpwuGadoM3iNSUTU)y)Grxj-)(5wBkMW++F)0H^Dp2JB9i-lG^VwP`t>@2s(&V(YN-R6i8R1SD8_7#12O}R* z^{BH0#lI?@k1ubcCTpVO;x6{&Xd>Vy=-^bIcc+mP+7~$yDjk^q`f|Z!Z|w<8$g7{^ zkhyq~4k@e|&VB+x@NkV49~g-yg?&5#NCjP&UWJ4xB%?(H1O;yc$_hjyX?dTQO0}=m z6Jcu}d+ss=!12AO=VMC-gY9H>05mLt&w{&a^f1B?3lHxZ8XCer=m1CW_P{H}2at9U z&xh(T?!!(Jo^r3H+qv2$y}}r$fRP;|{!pq)N)8VX_kOidS)20Q>KEj(?C&{_2QtnX z&l!E9N{xqeF4hcS$(!pV$jntOZLa=Z5I3Hid2^$CJmoXc7h9RVxpp`gFi(F3=smzG&bGpcOXZA0q6uJsfP5LmEyO(OooaNAFy+ew3_*ZfF0IZ z^nCMSO#nxp?58nfC1 zPs^dMC24!$+?=-Xy~wHtf{lTpbsp9knk=vM2^ROxC<$*XWbF@0GSSoh9?+1vBk(pTtGyuUt zx(9xOZ_-Ty{m=^~H&Wp84;Mh5A7R=}MI)kvuaO9_gsLR2XDHN82|XX(F*3r}wb>~s zYXv`05iO+m;^9M#?4g`Tkk0^>wLe3%=sR8u;Ka}&{Gp{KUY9sQP%l}tDE`2Ab#;~2 zLJJ2P^SSp}NJ&ZMdbg3y3I*V1ldaC=3u0qc%^{ePHw6XPHvLdxwd;Mm19i?~N zZCQIn^3aQ8t=_$U6B8mps27QMipy9mEybQa8!fYHK7VTv8RR_QTG=>UiKR$`*k}IX zn*B7;+M#+a37{1q8ox_QZAMD02!lv@n&@2leSnk+N-wm`f2LI_j`mQp{=ggh6kgC8 z^`a8^mA(}EZyqdp-;~)Ey-OPv8k)Q#43WAWra(7qrJMY-?x#{}(y1{E3WOjrnmD#q ztJs3>3lVdid)j6G88UE-$rT8}VHN#IhwRLAU(`VyAs6zPG6~(EqsByk%~JonRep`S zxn1M8Q|lJ=H2OR(Re?J6mkW-Wn)ok&fBwyBx00UZbAP6b9Q&pk@PFS9+Gs%wOiRuP zf{4!r8z?%exyu;>larIaxnrewwW7jR2E^OF*$zZ`4X)cS_qU3-??GgtQ{{5`cW1Dj zqyCwX7K$_$Ik)kvc~JYs+qZ9HD-JL^DXC$3zSvFG0_U{1#?!UZbsgv7_Q{c3l32)4 zTBjDe=PupZ_&l^$G`?^CwK;9&-gy=~D0-e7N))C@Oy|27j%FNgjDr>C;NUaZ%z)Xu zxAE{E4rJl_PXp_FP#7u}WHh+{VESgTMCNOnDGoWIK(4OmMK><4%Ik`nYAlK0+esjjGdbK}yZN?IZXCEAd z@(=?E$Wy}_IJ3B4fMo^U#e;3=Qy<(j`#eA&A{YtAtM;}ftk6^GlYh3;OuL$-1O(LD zMNX&B?4XRGb*-;gx%Y_V(;si>#eyW-w1UR(m0$a=01Mo0V};0OM@N5o)!uig9YQA{ zyHS%Y%xb!@xS*@rj~Gj_LAh_&*xK232d(gN-}v~-UZD4eI`-B-u9qLT9Trh_ z`*-i5lkcDN6W(1DA0qh(`yIMDy8^tlSJ$w=bhFn8aAYItfz zL@WzIq}KIU7T;P~+b^@OT=qeJ*0?&3SAI3WSq?SHSe}|R4cZQOBYUPmW1H7 z8p^TZoSe2-)R}N>9Q<|ogy1d#C13E*pOI76>1k=uo&UJwGZDWtV8xbofGV zSlH}tpr8_sRIsCb&4uBl-k!dlhmu!t$B|+HjnbGZVh`dm+1lD(x^kJrqW3)`}m-veBTgC?UDf8aS&l| zZ|p*DqJ&K>_*!hj9mR2kxptB=gsXtMTfM_4zIAdp0ses% zlK9c}%;MY($)S>Mms*AF+}v3RK8kDi=cBxZtK2wx3Z5#tJ-&p+$*JYcl4a+_vSt41 z!!m%-h+7#(0;Aqzt(IOo=A9?9N=6GtYUKg_$XNRmfzaF$Mo`*^KJL zHYTr~0gcWkBJ3-uz5VaL*k)`ax6Be6>(0N}2$<<9JqpzrMp(zQe6S+~1RUUv3uJ6p*8U{I2CL+hQ*$dM47T)ny4 zc$04u6bS3tV`M@6^ivS2wyxV{l0)9LV+(qTZtD!?n&bDtMYA$1YW(cs=Gj+=M1qR9 zv}sD+$i_QS5I8bR9rzqgGnM~-%kh1ncGO1;uY|*yK)LEenf4kbT%;b!*%<-Ftw+zF z6KQHn<@4H%2M$f-zEQiW{dq-e==Q{-sEr=hRQgG5zFocd6RW%@LD^)aY+s$+3~FWt zo4m&i!0yk@&0*YRO65D%5vx9VxPXZ=RJw?D)5(WuZDFD5rLUA>x8skgw`;gUXD7*F zY2c?PI)49fzyMAAZ=SA(RY`U*U~+%=Pe5yXc;Rf5fajYFWG&{=E~QpO@;C%!_xTy3 z!9pXN$z2N^2N-3nc|8sfIPQ61fI~NF4qo*--fXs^n1#w&`Dx|K;u1<~Jb4}WJE8xf zaYD{yO+BDvyt;Jw-iNyujvX*`C6ZZZrux?L#6cYmuM4~OY*|=boCN4wUGc+A*=(^H z-JIl)iW+mD4dROya%Jr)P;5oB)iwaLK~C3}l`cHs^w%$Ja=}j;x<2QV^J<5S0|MD< ziC#Y9;5gn4;X|L`PQgn!qpL})9o~MDU5kZ5%4g#=c}LInWCxzO&~?4LyrSY)l`B#G zTU@j4jG~Gi#rjh=Uhf~YQ7>M_#gW3aE8%ayZ$U)-Ow;0glyC!1u*o$34NL|Wf!<&$ z_In>8ApRI0C-LM7ZKi(~ckph_`!m)=4x?ra`=eFY4X`UJYMPDn8ZXwWHAO#${y5cp zab&6%+^NrwhhVr>YK6+1{UGXI=x20o>Fx#Y`y;35q%&?(#E-dF;7|x^1nU(VK8b7U ziLLAV)4^=^>i1sVnTV(<*Ddcuc8lJxD(@ThH}rS^j1Yae0=-`R=nexncXCaq^^_1% zM>-aWeA{7OcRSydHI)cW!j~`NP*rquryxdBAAIMVeBOkAgV2yO2DY>C={|k~lCb;q zq>gO)7x52JMm+%1y^fIU7IY9OJy(3FuZRames9u~jY%W-E3{&F#PW=}kEe|80GThcn-X{JRq4`)_(f8ufC{?Sx|^jUA1vYFnXG~tWy;E^-3^Nkd?5>vWLdz^Ev0*J|Oa35C( z4~5OBy1SKgc{N=9oO~P9A(pzlL5kj(+>-uRtd-I%E>@S&y6~1G!U5rm>V3v$Q?!3( zKj9oLO9v8d72DsQCDg4P92|80JlFFU$PXaY^WvCy5h5nW;@=zJ?20^>B9}N6UpXxR z61{b4rU1AXDAa7mqR;Nk6ZcQxNN&(n`^MQUqpIaMW zSY7ReDciBksy)MN4HI3K0Y)QGfY;Sc1daNeU=O{#I=XaoS)`vmo1L<&Z7o48VAxMT zA#{X4yu?KY^>0-?@C$t=JfQE1NXP|*(N4#`yC*uERMjag8b5}Hc0roo6~s6B4)!&N zpJDu6NZ)0q3t)B)%$J1i_o}K&2(ey`Z=TV{Kkm0`u8Tb3p-wpj6@#~ph7PPa2xurK z?q=2X>c8~H35TPwuuH9X%m_1Y>U6hdYHpW&OtZ?xrieo_g?>l}N#0Z7CaFy?r;T>4 z1mU2jB+v8HI~c^rqsjqE1|Z`}>dl7iL|WB(nAK-fXS|v@O%wHg(=?L&;T(19TFO6h zgVHWh%4unlgoswY1Tv35aIb`gg^7f0nT?u*Y#hAg9VFgz z6Nkr!{nTc;|6M^9e$|dyyUBS-F9e=!s4Hgn_@KB!Nu{1kfz5Ez56uzRc?nBbqknr&sXS4(F;XGcb-Nx5Km^?BnG0*ZqHe=+BV0`f7zp7&NO{VHSGT6&VhSV|DlM9i zvm0e8bzT{AXibgc)w)~Ztd4E3b+>FRq7-1>*AGj zJ>;^H5B1ac`1qngm_PB1+(aoS5}I!#0ZT)`1R#fnp5)it*MIc&1%CNLjYHNl2kda; z_DGr=OgYaBU+L|h{On&+A?CNo6BQK&UB0le%B1cgi8`#H#AWM<~kft*O|O%HEx5rxxP zY1{JYE9a9^zRs+=!GO4O)LI>wX)bl>Pa&Na_h^y)CRN2C-Ke0=>{$7|!%zstB|^Zu&5;TkzY;Ouyc!*QG8P;xuj zzl_hs#AI%M;Z_|_ZR?I86_sz*sUu;O?&t>cyh2k_Qetdkx&^S;27sx`Y6Ff_fAE2K z%(%Nc(R{w*-0WAxkYb>6&%pRCH0)c_>R2gs{n^9o4Q!w2=SHrt-Epv!I^9+vnH@l8L+SS_Dc_v2o4-6=&gGj$6Barv3 z2h$IX^Pk+EpFciX4{?~-8A3>^inX=3AF!SZO@d17>A~Sj&lTxD7{(dD)Mo}V@z3G$ zmHYbK_EueEb6EAXwcEpQBpJ`F({VcdTwf#|!D3^>2XY%M$V_+yB^sTWq#zI(o_ti_ zhdS-)>}LCXB2?u<1%_3J{MEasQBM7D?o_@zb`9Ak9gSFStj|v0Lf4*<_v+UaN>S*1 z|5#4NZ)sUR-9-9;<-t-9+SR377>ymOqy&$#*&JtUi9UTzP2ZNE&W3sF<8`vLsevo1 zrYEA)_Az5nPEB{;0Vz5~E-kNnq_N072z4m}%4KvZ2$bo1O*i6*Ahm^#{vgWtYCSQB zBMJij7sM84-aQ^o{AK=C&zQ3I)T8|YeO?GEMl2F>GB=noo3f8_T46$#xkTJdIsR6b zjt%Chn1BjgE6_>T$je+851xD#P>X&4?wu3HS^LF!y}dsp;Yv1D6jFh28*Un`*Vcdv z`h}Y{p>G>_WL2Ocqnk4>{HT&E|wGNLJ1Tj?LO%j|_EDu@@L@mby;4r=MKJ3!PQ|%Q)S5zdRJ;j@y-9 z{1qgD-F_ZD=EqMH5D-Xr4olAMjOOsuEDB-9o3ZD2vpaAkl)O(JbTVDJ63uCH{aU~^ zXl!%n8bR?Bwz;p@?13`Bv%~9LKGP1OQ^z5lu4Wv6KOpN=uv6b!x;on}5>pr&&|Awr~uD^BbyJ4aIkIRG@czpbMtupoJ`o@$#8@}1%Rx0q_{l%)2 z-bdu1F&BJx>6U;^MO76VS!ehB&I4iUR~zrHqG~^Ua7y%CbJuu7M_u(u2s9-t4K*CYwflnxCbIIo?rh=brb4Y1Kd0yM-Yx5+LcS=8Jqb2?b1Q$ z>S!M~zPANoZTmSP0|KTsO7Z@`55IHzc zN5kvX@0*wr-@NI}M1Vcqwg%SYZ{NJ}tZMhK)4NZefNSnH$3(y_hvU3E`a~>(sSfqy z{(ijV=qtRrr|rPU#0-DBZtaSTe!G8*M+(%OFCT}#l;uahNf7`5UU``CtA|9eJ8LzZHCu~`1t zyJXHnHEEB5G@@kftBX%h4jQ$N_mCO+_k-)EXq3%uS;MQkew;qPf1m9v-+mU)e^W?g ze<|yxu13+9!sRl!jVZ;s1+XUXth;F5yvyW0Ta?3(3hSSOF^g)*+PlYCP$0Khf3=UWK;nsnxJBA@uU zo*}JMl&x;Isj4+yL@sLN$t&@uK(QCVw?_ahD^DC1&rg;2^k4Q<4p>-aN>u7Kf& zAv+=wm;XK&wHIW_59X?gK!GUu1xJ4?0(hTPlcp@vp0$>E7B(bM5-|my%ug`S>n^wS2=&t$}e_dBKzVhKB?!TA&F%<3fWP->KS# zPdbGoJ|R9VZg4)YLkCjNe>BeR`K`Uy(0Bk9e9Rcm;!<#EsJPbDFLoa_l$R>%@pF0w zElE>8`@zoIvWSZdDbxW^1vjL88ogVz3<{9IySr;^Ydd*9eQ}AMgM$NzidplEi(Dl` z1A`on)zM=;$b;S8j^>N~(ysldCWs?tfUo|3Ncgt}r@$75VBYVFu@}E0+*>qa#O~D2 zFC?_1pIn;nX8cr;`8Kw8UvlYYM(0^PZ6OlT|+sMeDV~em3yL z{5`=F)878YpikY$9r#p0Q$l}CLqpEMkkf*MtEOnp|7WExS1ZS{h5Ew*|8c^k*@#_} z#U33M5HUW8_o~klvOl|k@R%w4p0@bONQuTA21D8Wt+Ug`XgCLBck*o4h9!Ct6YZ{M z{7^!tROk4QAxhoAuVZsPj2_Kstk{ppwA^dB&TS+%;#Z_@TnhwfP*cviy{OW%voE7oRk)gi*X8SY>N{-t zhD!{SuIJ8_YIZZ!RSY)+_ugaTSXf^r?|pU8kD*3fKqG~eGAm47&f@`j?D$NvaVo@B zeOrz4oL*eQ@3u(%g=57{A?|4BSi$`{7}^d`B4Uq`W~>jeJtYqI{OD@v)^dFQ{sN9i zgLdB8s4fvZ)5h5q&w%sJf$yF#ub6QfD3d&|$VlhkKB}y$^72P?>F-QF6H*4Z^r)mH zEjbT!G3O(p8w3Q?sEw0NN=*$ItZ!2trVb6CJ$nXg!N!_^ycaWupG@O*CMPk@ty{NY zzC%G*Si<_sK|VV%ENe{+jGcKpT$KT`2M#Yp&A(Js%s`!0`j!h&Zte6*pgx;LYi}Pb z+$d)7dgR6_-@c)|!vFfvA7I1y&@f{**&WrPgN5N{S%KQ}tvXbmSWIdCg<^x+yX3GF~BOaz1Vn+dLSW-yw?vK(j01QpF%dwmDW~n zSN<1K7Pi)Ca?0kH(ZGt&#zd(=2OAB-63Slxwec>$cswF=VpwDQjQD9!Lh$ zo_eFb2Lb}|PYeft==HFMgpbJ>1B&|3gQQhEGzDG~SF%G=RFs_AoC5_UFvDDW!JC#r zt_Yxle;!r@;g7^|FFfCt6O8@)O13N`u{g>ap2w}VX?{oS>|MOFSZ>N!{WrmAJ z?60_HQ{nUQ-!pVs`TtTk5J7f8!qtD@CO58l*TyW=7*HLc&bT_gT2-CYZ{NOt`t*EF z+Xm~!MbzO3_i9~tnZ@tSp&X6+&zOI$#lJ62d1PlOMKHT=ks|YPL|*vFtI1#?ZEcz0 zQ-G@6Fq+i&m^F(OK>=bAjKm>e`jDJkBLP;AB~uQDnf_ZNy74g2ouJ$zmaJjzM4@O{ zMEt~RWMtdh$d{wBKLK-SsIEF5UE>{6w!{u*DE+XSTanY@Z$Ava0P@?ThA1OI5I3_6 zRR8%lZNH25F(Ay&-#Xgg!x1qqIK>g6-`mco)EtAJxKClLM`Xvxo1BFuU#8j4riUDO z5@U2JiT9p3+<6_wK*2d&Z|Q??IhI|L|9d%=nx1}PZ)~af`0&r=O0twn*5`mKX85!(>6jfE#OBk1)tb(-WpUR}nw!N{f?PrL7pWPu;D83_w_N-le$8>WptZ}8K zb;F`YboSPm(d;Hx{t8t#*phsQxFCwT^z=t#{W#Bt*3R#q(u#@#=P{c&usq4fm1*v* zLQ2#(I9hI~ZCI1eq3WC!!8jE02kG5pZ;zf4J0eP<;9yBWO}AAT zKW}YUo0rLy6wjxqQM0_PY-?CEpeIv~@oY-P)_jS?cG`GPXC_#3cBbd(+Q`j^o#c-n zd!APwZct+OH2}sVxpH!vn7B-W*A$~r5CMLkJ1YY|L?)%^9{|fhuCy^C+p3*oI9zy_ z{K&fCQ=*k3j#eYhw;FlRPb`&r9NA4zkn!Wtg>*QSlde041;=)Da7QBbP zLnBA#w_2RK{%o{K*06O^W)0qO*xPw1AP~^n`Xw#}wi3v>4Q}bzS&D=JBm@Fcd0uy= z)7Zr0R`7!dvKE%en6XuZXh{!SOCE_p{8Bd_djoG(OZO71!STUJp?!WUexQ!t~s_kcV>GI+hnUlBs3 zz>+!D3CFFjcHW2K{c;e6Q^mp<4XZwSY0P_vz!pkrRy*pLK^Bh1)yp?*%{ zQb#s%iOx8;#e(7^S{u$|<;I}(Jz0GaoqDl%O?7sI{!#1ixyzM&w#H`(0N2^bMxR5w0UCz#-{feM^2NR|0`t0uuhyRLTGhhZMYmXq zbb0+k@d%TwA}Q%JMQ&w1nQ3)o04S1kVTM!R_2;Ayd^irtfr=*mkLg!t*4I~VNO=F< z$U`fR2EDld=okHQ3|ztBb%1R+am2R}So~u@KHBdKJasy;&A|~C;{MPeWqI-}H7{x< z=k#d4KgN3SDxe4e1k%GSvXq09UI1LHLgMcUsYPT0{$Ib|0Mzs% zyAtvO>+(1oUyY9?C-I|4l)&i_mDe-X4chskC_=9=5(!>Xwo#wc0W3zL`8`I>)&DvzA@4ey8`(#*fc1`Er|vO_;4eDmL8)ru7Qb#nk0OY6)d zoZHa=<#{J7gRZ{4UB9MD2^bGJ^TL<+*!Z2^7o^$bnx8f3oJkIFr>S`bz_i zByhkpGB(Vl85d8@q&2Fl4r;BXLua!%s!&jBGf1~M;VNKavKf$yud%aZw97m(KEAoB zM;hOw#~b?Q&oL?#^?y`S9w|$X_VzakZuDn$EvIK>Wj&&&$41ffCY_K1bS@^$RnN1u zw20AajrL~3#!P0$ExS-PR<-l7-R?p-oWE%5zas_hXBxxp^v;}eDrVq%*27rBF@kkT zvA3^}dG~i6_&L9Nb?9!rI%tmUC^2i)4wsUap7WgxynNkk-%R)HB64(R*XvIyIg|qH zQ-iU9Eb0>(B$2H{^PKfT(h&i@4B6cGc|_rIpS?~GIqV_SSRNUYOOwpud791nD6hbi69>3GIe`;D z#gGezhyUCG3>4xOULpN=AS-QaZ?CSonFuX9`x0cMjTlh^9?{YH#Auj_f9eN1T4E}d zySw|zdi8NyPL2(NjF_km_R_~CW9W8E*(C(ddwQMmY+fa2NV26o6t*aq0HU=*{Ncks zNvCpyyJ#M(q5@N!T+%5L=9J=H@mA>U(S92xO(i3%e|m~Q#52^XXix+^LVh@I9@Ehs z4DcI9$I)_eMK+T;Vxf_dk)?>o*TFp70x8ZB7#`mI0sSJAgG0W~`lwD<2YW(Jx0jL=%mK0EEqq8<0+Ud^&gwMO;Tp;IDN@1kC zuU~7s{(TECjzqiN#eAus(x`8qa&CzAj2bjfzU$8WQY;SCH5=tvD z179t?j~|-H?D;ILAaeTmR(6J4SseTzIFG}l#IRc+2##i{xL7PIN{sSoZ~gj*k!BB= z$xK6xMu}1}+UA`9I;w2Pxo|X{j<|SCA5&S^`z8PJ zFov)^ui7_nz~(Spibp)U&-68+{yFew6>4n6GrN=kum@ZKb)y_wAj6Hf75}Wpq+@d= z@_L%B^^MeE(#gpjoS7upvSu-wHTIY#T0PHNXlMLB#%qavt3|1{oE5tHIJR(0>SYLzrEbd<_nsL!BiOEv4p~n85M@Di<{k zjg2)YIXMHX%L(US?(hZJ!-R4_TJ)cV!j1;x(Fe>Q0immZ?#L6IC z5)ns-yIMP3OAs1o7N=17YhdP2&HGDV43=^2j2WC!&m0^uASTEbMG_L?zWvuE z(k0X|6X5;2~KB18{=g!Ah9+6vIbJ+Q9{(L9{C{b|l zBwi%Hb<-T%v>-AwC(eG{JTOp7tX$pViqNCfztM?6oOepA--?UFbmLvoU0u)dnxRdP z!B=w*HLV%xt?TjfjERAUo8Zo*#d$4wR}a)S`xIINONr zzyPcLESV$_czHk|W-b1KoSaJIu)>t}{rqE9yM?>t4-=!-DiBT4cGGnpBZV`TfMhG* z0o1VBZX*`8`*HD}Z_|Dj0XTRgpk%!1A})V>d6D5`dU|uI&lW7akSvE=!R^`S)uU$x zcqX~ZTNRbqOhG+4>mrroUC6LWPp{Ksv)JR(EY(|KgDg52hQA+e3}?|EwL*)t+mSLV zevdCgLvG;&+{a6oFqmeu0+pHUS=`;PpqH*hoom+roI>CH-GKX6N@}K+3C2{h02mu! zYaDnMl&WvL&o3>^%pjWD&nv>VmSRP$W$wDFZC(YMKn{+K#E0m3wWn2?Zk(||YP7Mw zn)(xvW+pqdX&9=YR&Ai?%Zna~O#=@KGykss<`0jKHaBd;G+81)d`W7UNmo{L-9^3P zkL%EsZ?rHmdqIZ1|`9^>S}{#a*oXz1MtG3=p+bLRu} z+^Qq*%;&+uNuqthR@|~tgixn6II`-gV`)@1{7@8x|9*pv3>2|oZK7EcZhJ_>cyoEY z{OHNc(3EXMh@A!6&+Heh%Tbe>yl1~J$V7Vo(r+{=xqau(yb)LLK~(Yd_rna9yMZRa zSM*i={(XmM4hs$I%fq1t5z?4cn!Y|yhkr{RfN|^8*t!+2r$D> zZ2tyzrc!R@n>PbZ7F@|rN)*U7+BnoQ!_z%u!X{y3)ftn`RebgAqeGj z_Tx|{fNywpVPO%%zYG{E^}H>|w)ZE^HDHpM6BruV($poOJA1gqQ&LrP!Usd%?EeY> zl9aKqU>WL+YAhWO?|nG|vhMYzD{oHeS*WtwdZ zq%r}7*R58b4%Wn~x#quj&p=2D!blL+)nB;y=`kIR*7?2)1P>)VOZ!xAbB&KL0auYwZ20eGYFQ;~0*a5;})Hg~j$bahO?H zj^CA2ZK>KH7j$vqZxU>o(CE|X!VGwjq+pluY8_3eKjngLA z$wxg|k2ZsrS-iTYMSSH8}!0nm{YW8z$a`oaoqbQDDTR=SUXQyp!8 z+>!C_o&`Xu^Tf6tSqi*tuKbQc!I5ms7f?9OXBEtOEnQ2fPW2tCJqt5Gpq&ezV{n!n z9vr0M+YpJ4m$@ZhKHS;a)%fW-lY^7mmX?*3l%Ib~Prl`NbI#ja6kmigN1cr@W{3fN zhrfM4uL%eU@OilEP<_1k+GQkK%x+`y^FCsI#jN~}N5eA(g$A*@s3^kL)>i0?;l?iG zWHEPd7UR4)isFBt>U99Tvajg&!=)U-szj;6k|lLR1K&4eu(Y`2}KZkn2r%$gX$ zs6^YS+{H`mBJDT?4c?%uzu2-uxs?~ImjmasGGuD}fz<#F8qQFtOZALpidgKdSX7+A z@&&-UrcC`znVU8}&Cq(^N(Uenzudk})Rr}+HkTFTY*lw5?0mn*mxRMVxBBFkp54Q} z?bnRZM+pMVlPRFmxDc*p->wM_rZOLraIvc*K6^_E{a0rzdA^!JibV7z_}}(iA^RE= za;X;BXQk`@kk(*zl?c~49!|y}&?f?I60H1g!2vO@sw(wN#h3)N2k&I$q?P2B>K|8x zjjnL-r6!ef`!X~)4|&A#Ij84dG2I|7t>Caqfxa=Rbod3#q8l3>q5X%VjWuus_Lb{_sUK zNxx5b^Jl&LxKp3_{K5jWdMz5fT9!gZ@rY#sE}M!cjkYV2<10k%m=>@1Ny=`u_ELZ& zv?XxeAZrR`OX+_`<{mwUSrt|t=uAyVXGJN7{_iyYWp%;>{ix8`futu-%>(^vYd`2T z8)iwyS4W7c^6u^==o~{Y6U{5}AAHyDdG0fzc_9Kn45)&y;%@i>$ttDknY}Pqq{2vu z+`G4_m(s0nzHmb)BV*;S2B;rzd}0D-CgA?=wzd{CNA{Gv>I0f9{No?;pU@vO=6G%>qAi z$OeW{thV;uyP)7;UZX$W!?k8712%CkgyskUuIvXRkK1Cnr z4JlaK8Vd!Gz& z65qKy_L!y^9h;-&%*6%fr`@?~caHZ{AKN=bUAwxO3K8$1a@Qys3l;lnlGrp;EBn?v zJL$Vjc#rxwT}d@4Azm7*uw7xn0dn#8`DOjz@PpV2@gX3On2s(Xt33y|KzLMMM#efA zSJrWdX=YVZwzsh2$B5BE1Tb3kMgs)+Btpka3hpl$z<|;5Lm0_`!l0$yD2*Mv zSROTB-{q7(CdxGDG~3sUnims)ot%;34L0*6umx9YUhME^B)8zbh#_>FaMT9~EI4>~ zxTlP~tf*vU2IdzR0E7J;uO^9sL-_LDyE|~>PzaoV%WMd~4GpxQl@%L0`q{9k=u7dg zH^S*whEH&=Ty__R3wm{P{~<59=+DfcaP3q2_W9t>W<9nWBok)wIwj%3F88JB@rAhG z2n#2}1cd6|y?dQ!$&}K9+c4{DEz714hJk|@;7S+N_qH^ScJ3V<9c`mX87HNhJUlMr zbmt5?QA>XjI0$Fkw1uoZo(Uei9_Rw!1#&0e7|yVmx_O zkqYm|bXWIx!L)Sq#|kvF?@^2*sX(bm8?Ru9qESFHV)8c+C1r__P4C9J%PKuu>$(jf za`tAEPA*5wRNpkpk5Bg}o3S~@Yhzu@gFnFASeep8?{skt0p)@<@! zXzNfTwRHm6d)%U}qdm@<-u0|aZF6hu0V890yv@na1n@ZU2Z{r!?b)&<3iKZzABULV zE7#-gW|IgFn}MD;q~_en>VuDpGA;1I%X{B=4TaqUT+UFn#$r;n&fdDdaI)RTKk2wM zahu-;lrXPV?cD_?omgEf&Rswd^s51v&#Jx)KM+9ysUSd6gQE%gS~M!f*6XBo=8>Si z@a37RhO1XMb@vgEvc)EV9fkpBYOn{kv`? z=xzRkyUekjTe6dQm1QL7 z@rX^VnT*@&>hA8>==j|919GYs15C==sQ{Sootz+50T5wxx&cABZ(uq{!9yi?8X?S$ zDFf{pP&PmRyo3UJ&gEDZ(sEX6c{Y|CCp3OVpwSg5?B zv{W7ftQ}6hVm^ZiDc`~Z6Kj)-Qs>5pTd53-tE&y3Hyfx6!h>CZJRR63&;Ae~mTW2} z5VOBWoANo%gmE`WD^F&9l2Vf^P(u+33ijd$8d0zxU`hwdLSvFrTrBG)jn5Oq1l+~o z=Md``JlzaB*sY888z{~sVSNq_VXXLTIDNFH5ea28z{#t(C zha3|zGQxtfB#ewlpT1E?t9$m*XyT~KA;yL&v8NW|6ye^addS)asFc+`7e43ZyYC?> zS%K_o89ezABn+Yv-d1l>j7|WKMn!5|q~xozwxy-xAzVcujKW`lUIG|5?7_j|xu4TtQYHT-q`~h`^zcecd%1o6 zS}44#AXk|^oaGRRIJfeq+z;%kD#a*e-g_0^R(eH!<@&W{vI(+8DUuWJPmQ<4^z;~= zf6(`~Q2(WCybP;JosqFwht?e6J(bQnH+Q?}s^vba`ho9O_V6Adb}%^J^$lEHn|E*I zKLcdP%{_{G4!$|`iwRt5xW&TUe1B7iBLK<+r?Hlff#=lZ>))GZzNMu_z}uA3E-HY( zOHEIk*sh9Lc_UO_dE$2Y^OrsH`?XW>TKZB_QsC13=ADrx3S%TLZv!&I@^jx87khe6 zsUOoNG|ia3!qO>-1S%a=WGI$Z+e3;cq5UCu!hb&M9fSj!DH`}>{yK2C%6arr0FXXA zRzL+E7K6_N78>ugUoYuoGcA?gKfeG#5R7iZ8!388X=rHjLPMCK?0|V;1$PX?ve~Ya zPT1*ETJivHdkycG6=2 zp%Nj%SC&uw!vzSAj&61huW1HnTW%(nz&$B>d7+ITZ}t!quf_cg`ICOPl9ShiBhdOL zNL_STL8Pl$|Jm#FXZZkb2L3Z1ew9ONm=%%`#J)UkZDYKDh{6@Qrz#-h8@E`c2eUIW%b0+GNZZ zfGbeAau6GvE`m!L>&pKST;nB$$bbWG)W{B-uvb9966g)7i>=4WZ@az605uXT`pZ|Z ztQ9US!(ilRLzPB$9}r)Q9H&}(^I04`+~2bivI*BopB*mdvT-32iMU^Z{g z*Spi7ox#NNhtr|Oiva%UGTX_IBWn%t0Y=wsLBE=7y8Y}O%y1Aj8>YqO488Kwsdvr!gR)HwA9PjcL&FZ3JOtVmjD@>V_7W77_5iOhF_X``{4nw7o@@lxjOZWo7&AxFM`)@9fPh zAoT?@KBJD?^_C>bPJ7(y)JyF z$TPjRutJ>kb&%G)vbM%{sQNxMIt_mNBTF$8@0DgF0LvtQOtWIoUQjmN4pzb#Pwf@X zhpPEQzfG%yj=2e@QHn6xwXyBSI|5f>R{x{Wwm+V02dc3L{7_oO$0(HCK1EP+!@4cSEx5%{yDMINnIK^AECPx*c&H9%N44b94B2?{0OD zneHEOR*9$fHu%GsgXHLO-3O7dTs^6J_0|wp`ReyvXjgDZr_Z$aW4E~>Mk2pCA0N?|Vspf3^x|-A0<=tH>1CcnV4j$VS z%fq{Jx5&r>KpJ6;)R}Zx6*np_m$j~`<)g?=cTqHvzyXm+d}#Bn=12MJGtVKuYzv7@ zgj>~lI_$5>_ zd#zv%BelT`q)YL{j-1NPHqzP!^1)f4 zO<0@84{+;^4(wmGQto4e`TgbV_)HEv1R$UVViW}jm4|8dVHmVrWsTL4rNJ_D^ClX2 zqJlm7xOEnou64Ag#$$|+M8>vYsr=Xs!b9&XGE`ew%~hOSbC|=vE1e>ypVu)q=HVVr zrv=(@C=KSm%W5((2gg+hO9~u*?(MxD??t6{%xV}n6J?0c3e*Qs6^~Td;==8N(d=Kw z>JYuZiuNKg(A9a{Yx{V2NF{Zgc&$}e6gkIVuy_yL5xGne%Jsf4P_oBuAI1aFw<{Hu zwW!!mB#YUr*1(=qb*ST!Yig^{mVed46cfv83Tt_TyMu~Iz@(Ce(vUFqp3@G!0oT6! zmoFGLDXABK+$P}D!2&nD3lf#=9oET=<)?c*oUS<)zD*uvF26)NM6YEjl}NNOR4#-m zG2vINO53uT951ehodyiH`OunF1{QR3Ux(8ih-{!mAw_{F1AAP4n%{$oX?~#di{}tL$l>pt40>NcHTQrw#mn!kxAy)fsFUCQtaIBZa z!M_@4NlloO2XF81d%h>y}{Kq2cW%>Ce?=ph0qvP0f&*UVgQcd#U;J|D#Quo5N75Cwk z?W9h7L=UhGZ{q1Z;^I=k6e~_n-3UbKwur*$o+Wel>kjsLCNI`1w+*q`O1f>=Di8!!ta{fIbbXmluKijR%(Y)8%YZ8g@(aT}w;`Jn@}Uu8%{1$0UCpRO}Ja&DFY zW_<~_Dj;njZ8VaviHjOlv{E$AbQWV~HW~?n(c`HvaAX>FSOFoQKN2`W2V^NlGQMs# zw@Sj;7~7yo5iztzfvb6jTBt~0GU38=ufn!O!B8q$cB?;F zQa$gT#n8k)SUY=x_a45o-GdE?V4iY8VlOZA9BiDs+>w;Dwdn`L>Bo$WSEgUq1>&e> z#(iBrtkPww43iYtWgB=R3*Pom(|SDfwrU`H*1#YOEEa>pirp&^<*(CM$E8`jxUc6n z`KI}*+>@sZ1ry^gIJXDT+M}Ei)NUyxRU#4;lg|vN#g=+Pw&@9aANo-1g;ok)z@$ZDMLi@qQuWibQu|w)t2~eM7yy@wy@m3KXnH$RUj4qld?p zl5q=K+i@2nY;0_0yBT-U+QRDUI9!2)55S)7isBWaCom#Qp(QU1Ul$c8@pFqB`7 zm1tAY?U)}ktw;7@X>Ie3eD|I2L;{Q5C5v87J);`n_ixv)7WDM0hAum4`3{oL-5qFAU=PU8NrbTFV%!h8$kZ0e1}9TJ|aI5;}c{UX@o zcru4r?>kGh>SboFm8v24_8w?EcyAxSW~>rw%E3Z|dhZu)Znd|FCUy;+G-jLAb$DH- zdV14`AVM4`Am(!IBGq1Th3IEkspJBTWU+fflo=ByrUSX+act=#@zhhU=NHe3{iwH7@&=2|VZDNW%2w_@UWgaZ+h3pk6QG#^yZr4D%V@7fFbw#<|`wA!OLP6Cv; zHRN4wu#CeZ1CMbn$;CM7!OOj?yW^!hP5fNv(WYm(&EEbq3&|7^SKS|(4kmfZsw)_`>t9ridAOUEX}L@HLqg_FIpTw{~-qs-h8o^{Jko&eLD)39Y$ z39%XI5&EbDuD`MDEjv9qO-tk44IfEMyDcpjaOY0p!CKd3bn?ks;?V6o1VXR$ffaCi ztSGUOk)Hl+EJDMO$;#y@j(Rld#OZ7t8G59dy~i3kI$q7_7{6UmG_u+q%D!_qR+eYl zdgV*ds3H-D+7!BRgWqe@`9Kj;t_AtSaV|>-`ZhLRI_30SIW@JeMK)UjMZ3bUf*v@` zP*ynYIJ`|s-Rui6)=k=<=j*LBZSOQWbZ6(GeU14}NVsT%V^7GhXyL*a5M7Y)17cMv z{3h|RsG{b6I8BjmVnTxAWpUtEhJ2vzp4}J^c)i@JiW<7oSmncy%c!H&?e~WdQBq=rC`3)(2u_)O(X& z@or9E9N!PuuC3h>UiTY|YBShVP(AMa^X-`fpbFRY?+ zF7?HoIC}5&_*tLE)5M+|_wGFtvU^0>73ON;G4ZS?@A#9~ zqdMz7QoBubIARMZjC~vxt4GA-({7qp;m!pGbJ=#<6CC|+Qy-k9(|(ZF5$*brYb3TY zy>IztWL$5?i@1iFZ#g;ZL#-p-dpkMX`P(>SQnHhK{BTUe%@_#gD9|!{`m+c2$~S%M zegD9@*&ips`CxMfuSSwjljhL=Fx5!{*{eJeQS?GwyzQf%TY*B##|%entX1IjbB?Af zjJ%*{Ml&pMP{hXWyj@|NdAaI!wyZSIRhEYy*P=U8wA67!AUqw!5%kgQF3n+0GASUl z_Wk}H#<4nGTqSb&rP0m^qXk{qia<1cTD%`^ZBp^9kF-i8s%nFqr>e-FMB4A@r!AK2 zxxZUn$B2rt0}=u~3gQaJ;)+^ttdYYLhhpjaXB?Js!>Or5 zR2cCyxRC}^fB9Cc&a$tC<5jy%1{@?XMwQ6!r~Z6H zuu)xJzxyE7O=J8ky1Tm=XhaWr?k?g1EhQuygj-01X`Fn;mHaa(k&-m4xPeX&m zZIJXFwC<~}C(Ef4&KTk0;RS|643zA6$2GI9v@OF`6}u~GAWSCa3TmII;BweW%b&QT zS>N0&f=Td*l7c2+Kt4M}&g$Gp5Sc0a$G%T~CbRrO3%7 zj5=K(FsADtz~|+AGCUT^LSNoFV^&ypL&TMpV27@9{uZ99#jE)E)tDxkBpw!x*-K!T z5~^rawE)wJ82iO{XhFAbEAfU6uk9yx9CfegD7^akfT~qmEY?9Myz9JSKe}{r)DS&_ z*Zvm1s+C42kqRV&r%QLKuMQf++<3-{JM`>5ln!g1W{f7cZV^9!Ss?r@YX76kfRt-5 zvMZ$1+?<@CM-5#jR(8yU`l`7@H0x3&|8;+x@VcScyTh^7Y4%^V-fVj9yYxjQYLW!3 z2i*$hbXns>d+>n%I08sW=!mm#`gv*0noWhJ_xK&!y^8Tk*G~yop>CG9ZT7guMl$RB z;vsy2hDD)k&I+P=6O@1f{bYXi8`}Y%0Q{eid&&)0AWMwz(mqMi#pC^gy#YC;gFs4%-5a+biiLU_-KX(WO^pCJ=~Kd{4+khTvV+#a4l6@yF51gM z$p=>sN`AdPuD&gejIP{WjOHz}04mU=oueaiK3Eb2I88Hx9&a*H49gUWSW$4>imb3j zEgR9-qL?_CFH-x=&rkQkm(0QG^rQ^*jv;er2Yr&9v7OQ}hy58*0}sSR3EM)bb>B!E zCKncBS(-BooNZo&Ag|}yvX)SPT4tqrLT;vdX68e>{+GSOk3g~30rbajT3EK3Br-Cs zJ3q=S8Bz5&8ynjXMn|<0JkQ@)l73(E-zt1fE_o*-QzSp&bU*8OQ*ie7Y^d^P^-ERF(PPZ9_C@m1{}m~U;N3ScPeHbKa^`#Xl}`0Q9* z*u49;Iw<`7tomT4VH-O=}2({s`fiW0V?2YM)$}D)@!hq4x9en&b zvth2cZ@M*FA`ovg2iy{hH{bNUTU5WVd&$^9xyV@&wJGHhoH$Pr^&30^ zj0>Z7s4Lw4x?~8No}S*fO}(4l9o18uNKoYLvQkGB8$e24&m>~@q z{t~bP7Z_a?Uc7m81Hedd`e(6RY-itxQyitz<=xqAfVI#1caz`!K0cnho-kG9w^m91*1 zKu4oId7!9PV8_g^H02}}%KUP}z=59c3E|qsopMCW_?#-8`=Ilnxn*Ad2O$f_ezsV? ze7#q}aO}l7o*j}-&~e$E5H$OfJmei$5!^*MBG9L&zq_Fdm(#t- ze6R}D>9DC81T0PpFWUj;K#F4a2=TZ$!j)uM%Uq=1!@isvHorc*9+iszY0CuVw@CBR z0Y9IvT}n8yN$uwY*~yLpRZGt*M4MRkaXC8F&8b3gpPZZkad&ofbsW9sp-8|jQoO-A zG1Cvg{Xeto6_ZWvYk|%`C1n2qE)KXbUZAG#>oF*zE8A+4J$6kvcem z0x&!<6PbPC2yJbBoo*Ntmpfp9c@4`%W~ne0D2PzXd~odE>Et<|KCI!Bw2KJ*bitO! z;icYV+X-imz7%mm07^8EalpLMv{fac0#P0P`}boQ6S*vu!Ui_G(&(cwKJ3LI-f(`n z6t7UIceC!ngP1WRgT90|hB)(oD`oU{iMu>7GL#M#G6EG-6v#2r1s^VZN z{6)KZZD>9YNimyhu1Bms3~E1rVg_HmhEu<6^lkIE6sl*h1{9f8vVj*4$u5C?Ub!=b zXhK55=t&T`C#gX{^Nc~Y^aD6L0ZB3~vp`B!Vv(8 z_sQ z9^QH}yR`IL#hDLG?bbSfO@oVs^j>aSn)-+u0=yIOf><=UZ_eCIlc5n6ef?5$s)g$O z2tPTQ@0?e8cc+i8YMBz;aoi0O2>mP~#H8Cv4E8`FT>;fv-K!(6g}Mbd zgkS4ef=_OofuVRa&;G}}xu71?Zm_!;Q^67i3>Pw_`HemLmXpdeqGHC0ftEa+Az>+Z zOs-^1FUh;b$-$t~>UnSpX0{_S#gVWi0?xr^S5+Sw3`PPmf4BgW{B`y2;V|>^ewItc zArOE&{HogT%Dgjp;_7&2AA@tHWXhfj9UUDkl`f_BjVym# zhHZ9ppys@zjj_tNZQv;wgt~%JWKP+hB8!dg=F02bZ^%LOsndO_cXqy4$jr!0k9^<7 zDIVU*t=zd4&2io|-=b?a#AjQuot}CCu*L-hlyW2OYI0fXYBubaORBZbxZ_>3nXUmN z<2Lu7UhQ#S$2%n@U)yzd1?Y+Ut+ejfXtnNKTKlO|t8|u*jPlV8x|p}1m|{~Ls$Xv&>Jq7x>_uY!b{Mw;TB6Yv$JfdaL%M9dVx@lu5H&?b z6)EDcXFgsbLsQ>JOq>+OwlgwU{x90z0;*obO(SI`9{7taq)s=6vQepNX@}`I?V^ z6XYxJWJN8dS3;jV{s4le`iAl|`$>Qm$~kh`v|^CEQS@yX?%DjU zDK63Tw!pR{YoKbkjWR-{2Ll67V~fG(Xq{^cgj5Kxe1Y1e@7~w*%I9%ObZ>38wh#u# zh9cL2ICRIF&1C)I&DoLRRjRW4?>3{kTsU{AD!h+&7PdCG=Nu1bDn1xX#b@M}0EgPI zHlDC)z9#axFRX0R5zzn(A(^q{Aq}3AT#oJgx5y$4xOc$n5I+kbVFXG9$b<^k?b4?o zY!T(VVe0b@LE)7KE#JWkh7E8j-~p@SB>0@DPIdha4cFA% zK3H_J2#i>#cqy>GTLcIuq9gSI&6*Z)grJ`*nti-;2ct^iJ7k1r8+fAbkh5G$i)M8c zgVY_RT+X7`;LVrc?kMxz>B;wPmM|=3g^IA&F6zfzwMgL4H_YhT6#B2Xb#~6Dr3#np zElGh;o*d&vX=J)wo=hkDqldx@3Xu_9_ zZ>RSOip*}!{`xf>8`$%U1t_Y3+$!e0i42b)dPnHf^a?zrSKjp|pwm)y`298>tF5ce zq_fY|#koH0(Y9M24-cW*)BDpWmbo411CKrB!xVBXEZOsNmvi#Wc~U?wXS##w0yVp& zqQQv?D2A-&2-H&Trw1Tcj|w1x$i5eSR~!rwwd#X&kc?Vr;fWm9rkV&=?vpmU<(szic9spb|J^k8Yo zK6+xk&X9^{s;fvoSB?_KQhmaU&|3e(3Q}w!$>KTSXGApmG%~Hhy$9PfKAub4;w58r zWm=|KIthLM@Je znl?5@9N}U5iA1^$sy3TShiUHO+>-Nr0`9_UaN@oN(;l}Uhf65@N?0A_Wj*rWQ!(g71 zUnHG0=ya%}3J{#?8yJC+AtG&lEn8BecI}QR;47t-rfsJCtIqKBl>SlON} z=GWjQOIF}f0H;#R(44k?y^;{p^3ErF@<_dXHeX6?s3{2)c-~1p0G_f&)6)Rc-#`A+ z0tMhQ@Mr=HTh~QWKcPP}2lZy_iaU^?@{(g0adf<@8614n?$kbfI+iaa=z4F`A%3Tm zEuJ#J;#M$u6l6C;d>%fZcDpyZF);M%#>)b^Tt(4y!R*^g&#?%cZCQM%Dj_Ss4+ZhI zkcSCzUCOULYlgp!_dC`YyzVW0YtMH_xo0WujvWMnW+G8N$bo=tv6e}500i4HVajJ2vox>flr-@TlEhdST5Wx;tJjGZvKccg_v!l5Z z_9DmLK6LwVzN5BKyF)*(dSB7Fa*a{wr?#ry(Hxc!_e~R*O8M!+@avl@CUdT8-yQW2D{?PWoqGvv?SC`&bn80f? z0kuxisAAhsVdaO+NQuofT4PQJFEmHg&c8$S zu>ckJlBF*DBk8avdfqwo)j(q>je)Fz>RwU@rwtV~9Y6eNFo8n#J>Q*kqe&Vi<~J6E zAp-LCorpkHZ#y*oy_TyvT1;0s*l)gSyT#2U;7ufuz4sjhQ_$J@ir2k(=MsByd5Dpk zAd~+wnePEJ=DROJOGmtjs(A}>Qe@;KW_+<-6b`7gg7T7NrbRQ>7$~avT{obH3e8vs_)HcG=DJmzt1ZqU03{V`1zGS z=didMbYR7ZSf=>)xnrliw?C%=w&ah$cgAYf0RCjj(t8J(z8?4AWsFq=M?jiX^YiDF zY2C#4v^RQ0!F~JQ;0qNS63b_IT(h$Dff!U@tfvE2&OrVpTqM0|HfnGy0;Co9*E?_* z=h4_;2E&M?q=+@3m{~^Mog_#clQJ-5>D+oTJr6a5Lg=2uy{svJDB^ zC9N3J#_1;;Z=ea(J8uI5W>IgS`Y|P@ZqWz7ivNP|i&$cKc<=>%Vz>b)Cj*MuwNIaK zgd@4#pHS~Ux&H`V)X363Wuxx{#C`n_sv4Jtkrm z%#}kY&?cs!{Rrt$>(${;6I3gTXee-hr^hQMPy?dz`E%n`mkr{4+#k~r#H@m^E*Dp5 zX|2(xHw1FXamD>Ym>&Lm?_2|Y@Ltbavc3@>d*Z`+2kH+8R)+({^aL}_pT7Aj=Aj!8 zRJg^A8;hTu z@$Hsq(A{o)SBPfXj^aO}{7P{Y3!0a|@eXK`Qs9HS2`j6;YZLTDC?WCr)b;fr0BD8k zI7%K5o=$jfbYr@u0DvXW9#&?H%5p69xRuu+5rW}p^pt@Wif{?W>5eK z2v^k$uC6)A%clk*Hg(!ah-jd{hLo%d%uRfN^=O$N^7_lIc;wf+!oNKEEl>a{Vd@U@ zrmc0jSAo8iR?$|1tK=g#3 z{(5lhYZyET9s5TOW#pAIGfP@Kh=}Yz!3oMb9}$|sf}CWIy?ZmtIuyZZNix~B?%o}m za-Ibe^6z%)iwS*-^V6f9qZ1$M>6NjHAI@+)`FSesqb2!!%NXbN1oTF~)^b6F_=~G6 zG&SUf1`)t$)GTAuHD!>PT4l{)c;I^9E!<1dPi#T;@ta(^Lwpz-Mm$O5RV4qmpQ`ZabBhj`0npR)VpUjio1KnICGP#qt8r8e+S?;(qlRy;G zKKFg@BfxSVo|-GTI@*Blm8jR5{!TgvgPvEX}U+z(+&P6xgpHKQ+UpSe?Mn5neO7+H~+pR zM!5XJ*cCz4aR28YG|~t3nE&Pf-rB^vm#uyOe4^t&-@g1#R3KvX{&N8OWSm75@AFhd z0-hbolsV>Y?%);U!2j|QHy;2YulVuvzJGuHubDtycBS)Hd}~y`mRk^+eV;K!lei5D z`#(p-W``~9etM5Cb~yW8fKL3<0X+%r?WGkGZZD8i>ao?QiF}86&re&ovHQZb;Z9YB z^%^%5@1FzQe-)GF$sZz8+^$QX#I#r_r_?$b?$IGP^vf((O!!v>G3>}ddIZ@jg4hjM z+4Dedl5)<^%KBAzewG99DG2L1Sg!VY@F&lJgzmz}+tlAN(0QGl@C9z&8vbVXG~Rjp zrgdfYQ0LxW+0^!-X22HoJlr3B8I7nZgoH?4?<14dJx$1C{TX9zL^dpHIb6{o%ZxcD zm%s)_$snuekytqWs3>`z4FwmKY>t%GTyfdJ;{&$3;fGwF!V^u7g`^`iwA$3q%bMe0r#9W1JFAL`n} zk3dYj6W-ob5x@oMxvfKVaU=;<)y^bgswq)=e<@nWUP$_;IJDs{IxpK)gy- z))z)!;1+d4`{9hNocEKbN8|PQwo~iKX{sLr^R-dCsPJ^g zE7EFzM5vA)Dm@;apWFE3kxvhDO@5!Snc#ElYn7&qHSc0MU6 zsYV-D+;nwuIU)h=0$PBa-w%%H(5t=jd?Y}S5F85(B);+k?obp;_yP-|d6th?6FB-Rm6uSYAW*QZIM0$b@lcwQfYc*WP!Ji9q(#R zx@;VGdjybvFFgE0^W=j;Ub*Lm<4LZ0j5z0c#A?oSq?)671LNAAyUpU*UCqraYzi`# z^iz&!R$goCt4F{P>?~7rxyCIfc2}vlH-dH#4Mj-rx(0acK>T(_0(0Pv$`t8)N6s-Mc;qu1*ov{gl$naeebfl59@6}w> z5wjN9iAsZ_ROH*#Gnt{3<&c~urvl;vRTu~#kf`61c*h8J+^>}l@wj@967*(zl5?-7 zA^l&WE<-%HcPL@joOMw|;iRLbjd0m&0v5kpe(IS8tc7`}ujR?M{WHP@7Z4;zez%kwxegsriB)f7uL`e`P zW-dF{16(24p32M1T^%H!x?H$obus-1j(PT#G&m>-C;-0~$^+t|o#f%CStWKIkmv?c zDI1E2kvNl!9m2F2GZd(;GueyaPp%&tDwFRrDI42jChsnHx!@!fjd52sS!~9nXDe;^ zFv?r;?})uZ<9hHH4(Tn}TuPlDf#(X!46bgd_r63%wwA7qk&%%t4p{uRK#^7?XoDRH zgo1)TBhW};FaD+RYZe_lI_9U^x>ED}l(VeRRmaWAlNg)HBW1e*S%9FG&0A9u4~Wol z(>WmTtVo7)8|MyUIb8Glz+R03UoQ4^iBYRqWtUC|JnXMStH}P zL>gO~f~%=-0|2|zC}8#ogdqntD_~tBT!H|2Mypj z*e}Xz6QwfWOa*qfrN@0AVaDfRqx3O^idGX<{dSO zR@hmkLx}lWwPVR~R14WT?#xfUEz)KfQgr|_v-KkqZ8}8FjSpW$MT2pf#f4Klf-)N6 zQ17AaFkuB=a4={vB7l`%o0Nm)BQ>QH3Y)2&XH+$|AX_f`yyEu*P^S5IHaK=Pn_IT| zTbdG5wRl{rKlhE4pwxe5x3G^feQQUYYio6<3sEg^(Z${XjK|T`{hLH$iy6h9z-45j z3eOgxbG-B?j)U5!xFq-~RHiQ@mc<9a@&=d`ST#sF19Es`UMDZ_iTbQXI?$Ri<6Rq+ zBWm27Hyvi1T%srCf!4~pzpp-=*4M3Dvh3~duIQ{lxG0U>!3lZ~V~u&FO;N=_R>a%a z`#bM!&##y14T2gyk^rX?gWblK;N{SzaLT#=syJ<{8!!jr*~_vDH~;IRm5Y{WQH<%A zBurTxyt}A!*;cMf#P0Wv5#FWuOiO#;?aB$N5kx@jj%}HewnX!kN9u9|eW{y)QgP*S zSQmasB8uUW=;^-!T_?FXB?JOd$az*+{jBeV$P3&gvy|x@u#vP`gZ3z?Sj>+P z*HFpHU)mgfgWiTZ7w2aop`m+A7GgS3?TXF&3cA8VK+X5>L*w;^4UNXD8mb!n-Qscm zo~g#g^^X`btK9j98^ghB0>L5bJ|TCi)C@%V%CD|clthik#2Dj?!zj9Mb z@TB(z0^kg4Pf#&Y*VT1T-0zvy-W~=frddwL8y1sd@~DJ5ZvTf5(ed&9(wosO1aErX z!+-Mpxo^fI8Pr9%nQk#}6CA2c3_RKmwue{Nal$qJPCz(Ge zu<%hZAVbvRz|l`el)`z7!}*3Dh6;J)=J{8RDE@A z+4+^aMq&%2p&~Q5kn&pgKo%a?bM}}BZ1k~GV*|R!YY=@KD&y7H^JK_E0vyro2YTTR zEE#O=Za;bXG7zHq<+VN7#H6L9dY3GafcFEbGcQOK-pNCuco7Ppmy(zFdinE>vhs7J zOgiZ+%$AEZEdlr|y;EXnDjU@&0R(FnYgR)C+7^GNXAD0?kQv2q5g<;d_Db+9+ap|w z?1?#x0euE&NuQdQh63P4l4uVx32AARD*j(MJl2D%P+b8?03^fo4GhRBAS^7pcOl<_Qg1gwx0fGq2%KhCf^Y zyt{K-fyw+*Fz@nw(M%bp*Vf#MpsVlNSZNu{z`0C|?gmRJ)@=wPW3(e{Ae;2F#b>Nz zT2x3VC9$3l3J9RL$@H{3fNCS zk0s@G*85q2a0Vju<`x#Angr~o(6b8z4TaaoSB7ZRJWHe}4Nbb0^bdm3gLO0Nv+Baa zMwf3tjw_p~qN-ftdzND`l<1Fq^78?Na1%?J)-v)q|8lf0SMDEM+1lM*-DQDvB6NUn>pz*d zWQAGqugUAtLF5}@cSzDxUWF2X!u-6v`RNaC>)ZS~rq3OY+ngAMKg1rITIgnvu#RdqJ)>RpYd_{`8L- zxzY2m|Jnpn4;Kh!eR>%gg4SNsKWzz(!g!60jC@=(<+Ay*2h4YW`~}ni2w)(st6#E= zAz(pwcr2-^D#pj>VJ=cV*-g1-Rjv%sV{mkEL+5U+u9fN`L$<*v4gjK!0RCApdyPin z-o{-~Dz`6&(e$3~0>_j~Eg(H*ek~ zdQ5Xe>0x?V{BvUB>waFSp?)LTkS=aJs*6pG2Fn4ukyt*d9hwl;@%s_*@!6G26_q3< zeT3{e&P#J*oJwn8hJ%WGLUHl+=-j)o9^z|VDy4s4SvIsfM7=HnvjIR&<1!mt-_p2i z5=zp%us;`?fqn8(x?Uu%omrq>_!gT%pSZl-?rnDV7D8W?>`U9N+n89w;rTEMfW9-s z;svg})R%a16%~$2R(zsn323|w?&$FHG6L<~vnRZ&>VR+V*OQWx0b9f)C#xHp9-FZUz{H%H&DHGvE!g%;gwI3Z zrXiZSbvO**6WWgv!*3xCTdMfzP`A36Ip!{OuTT`3;!*%~45Ci#F6L|Lef5Jcl-Llvt)7(Q zDf3hQV<~0j@tGCq{NhJW>Uns`%+66=Ft(DJmzDIb^K3j%RoJEz1Xa4$eJ4O}E+`_z z9i~iPO&r(*5*kHGRWStx@>U?S>C)q|T1L#a_*-S-|8Z;G??011IzhFLnSX{c$;pYo zL4O0;%N<-j5rosm@v{>n{TZaKr>F0OG8jv@=wC^qcfG2oI`_cIM4BF5$=fKiur3k% z3V{PEY?8w(YqZj@5&oE)|NE%B=%88`f^^s60-2<78ss4mE+&+oLqK)U(!w1Z;u{?|?S>s}Iyaza~M{^|4o1>Urwg?<)dLrX`HJ0IR#*ggI5 zxNirt3=ENR)Ucer>xIrP#wvFfGgcffX7d&3gh`2sZeAz8`S}gj{gGmdPeQq_4ki=& z1En`~H>?iy9kM44RP;|OWjBnnO9uBp8;p5ZCVgD>{(M6S>-FOg&%dvXTBZUeKtBBpKWlE zx_Ncv(?OvhYl9X(bBvcrj(ET6T@Ogs6kFodUw1u!N<_r-EY|i3;w|h4H$<->Eqa|g z*Fya!I(+Hz_c`;W6m)T4I2aPr%lfFae@=GaqZ{L&Uz6@fUH$u4Zj3?tHIm8(f{h1A z>Js_}do7jMFW(`4+4twu6-4yNe}CGQ%>93Hv{%yqoWlE+?yY}*l|)?P<kTNyR`q_HT-Yf*u3pSSCjSPKCy60a>@LfZT%|YD>U5D zoRWk!7S*V4eJi7=h>joga&+#yxTl>B10Of5P#|E<>=gQMq(h&U;fK3-V$7PKkE~f& zpC22jjWxqwk``^!qZz=NG#?g*Er$wX_PXZ-^6l#En{KExrf&l-=BWREPOd~A-No@I zi^&1S?~b;OTRzrv$7Efh8K!4s)E5@~1QC;M-Ok*cR#tv~fSIg!=>9%qNm*G_CG^a; z8d$dtcg>en+wix!2~W)X%BwzSD!jYo_csaUl)#&h^x(sFSuOmkn46WAIoMk^B`GXi zM65SxQ%hOdk*H3V0c;@9ITLOVdm$?g;cO&)hnD5 z`L;x3Lzx0yxt0^28=gXGImu-<3D}vB_!s$if7$ zU&&<}7#y^ITe9$eVX?TcOTygzE5_aS35k3i=*ki8EK~Q_Oc%Qxk-)E^xH7r0ANM!$ zdtMIZDWyY7ouEjxA@Pe`zJkN+mdnMX{`fIH{%dG=u8bqf|3Yy$g_VuXYB`h6YQ|$~ zC|LYl6dpy8<+%Io?s9hiGGqt_8$Y2l=yWQ}%F9A4990|j0o0?wP-s>ZIq!iiktn#p-?7Uled;hluZ~u|u;f$bO zDNGCuOE%S-k{E?cE8t4BROd6CI2FNubX~=z!LQ=n^O04u6>)@2=9v| z%M=UhpVteBxsBp>3z=8nN3pAO2SaS=ecXKXc~f*thV%?l(1E^b0%0kbFlxAty<#nRNOkRYKbyPSZ?5S(wCs^q_Cyu~Z;CNp-NIlAa z@KZWaA%1EwaM9x8>FHDogSMtbWp9Mtp2&Vj^!Y z)W$P*a^`GhbrcfBTGdkC5zVA`?7PG|zi2jk+B#3LAkI05!4fN`@Ej}lr9qf}R`$T~ zujxhiMw9XvH19-B?e`jW5***1Q%ob3W{I( zS_s%whg59b(D>cXH%~77*uN7R&3&GWqB}5Dc!6a!yqO5~SuX@B$VZa;#JE%j1^~%0 zTs4~jZHS(G)U~hfdhs$a4A?Kth2PD#hM@#vPDd1jFiNr@6iq1BI#+}6eeI0NEo?kE z&ePyX7u?IekvCdnxFCd=i_6cuzc{XlsK*9+$zrKmJ8V?e-lM$gI=SStL7F{4QQJj0GK>!UU#&Xp zU&kd?RgO4*q(&2p1RGLFXxv@wXEOQuON*=h1M*!PZu*y(agA@Bx9{|n9TN+Sf{jgy zg@q+31)M}#IXV4-ELjS2azB#~-qDar<*Ao=BRuI?)Pf>$`9&mdwNFaAQNh8<&>Q^~ zMB1qA;qV`Xdk+tUOe5y)zJTni<63!Vr`Xy22ep<0T%>C~b6gcqCP^+2f|6iT zntNOp5+9$=wsAUl+Y7x0MbB&}Dh+)YhSZz+)a`$~~`C4chvW#?6FCw$PO2TKK4 zHKhlO-JCh*c%&J+`t!;Iu2gytqlh#1!7Ld$|CRkaja8 zJktP;oLXds13_yI;$ADjZ3!XP($OKzH2>%D310B! zDeb4Q=L-o+Sz8YVQlS3xmOV{NrE9|+pxT0}CIZSUG>ul4|Gee&A}vu*OKXnFxr+0t z=G1f9vN0!O;bo3%h5z_CG!aeo^tl-shs}vg;6akC-Bz6?#~bSTbIB!e)@-?4V0}vF z=UcGGQaq0#7gQ{KHy22iEsvJ+kGEHsfYsMsoRT5~FhN^K$J&6E&4g7t-raOyqo#tB zQbWF85ctQXbW`}r^wA!40QRD%P8IKZ?R+tc6-!^Q+PMoioLy6+D$ZF>hJs0;96|Dr zU+Bv7Vm>i*Y;7>#*(x8NkpDH5bg^{lk&%%oPN%3_w{_Zu z5X zmZ;CDual8RD%2@s3ki=;pK0)-ynjO)0^2H}-d!L^5j|_~+lMr@8QAzS(n0Bse z5oy}&RX2|w_5RlMm>ghQg&K}LajVa8ziuE>8*q6i*g`i%9VqcC{StnLT`wsv)^CkA z`JqnpL%WR9KqTxl*dse+WcwM9cgUw78kXDD>493Y;eg)Y@FnGXwk)X+!#td!DI(`N z&UgOMun<0fyK4LgkNPfeqWc*fn>_3Fmg7HU?`cT_6UrFC^X ztPBbUk%~kl1lL%61ubVlzQDQ5Et^tJnorXvdG>5&Is4(8Ami#iMnNeBg-op4&5zKs z(y|$+C02FC)J3Hi{6lrlz*`VEYE{?3yLAhAF!2|m9;Vq#zZ@#2Y zB>O$$>IIX2vTJh-?KRF4&i0X06rDqQOhDe@!8&r^ucd)%?lfaG-B9 zU@Xe1@pZ7ejGA85ba?k1btBU_UkNLlFFn>e%Gt6B^LUoHg!7enjHQlqJ~Im$4YeY(FIud3|L60W!qIKLI`=)kr4`I6OO9gpK;yeKO( zH?(g?qH{Rrjp(dD3xBxU*3;^(V}sEeCog5ePpqJb`CG(taZX;fr#-(WNh7mWKgXos zAiox?+>5S@UAo1WjsN1XWolq>GVk~A_aHIl+nP~#g_z_SIcx|ZG*Y^}zdismBbLoM z3iiM+40v<#p}$9;Yb$0Q)r}|ek#+n22&%w)w95&L^59jUs?P+)NAQUl4ZdG#F*G#n zFPv===rlS$oHbrhBcmG3Cp`4y_s7nR8pVx7;~&A_r&e?sQJc%VCA*&GU8Pp@uADTM zMgbWay~MtQ;*PkmG!0(=KK|I;!O6hrXwoQ0N#Onzn?Wg~<6$D_p{ZIyZ};1LrYT3> z+gQrU@@h`9iKcIEhFw>99%ekN{oWVSE>KUKO)U80MaR^F-6)W4CT#H5Vw`!@)#m$UbLNS*-cLjKJK|{ zD!#xP$+;P5fpEW%9x5j!xA@B@wPWfrIUbr04EF!frTL*z)Sj_^0EtS=bL5Bm@C5G& zi-q;5hY+vjjg#=cg}t>0q%m_LqpU`vBqSpz2Q)iI@DK%qngbrC3!*<;jz7(@(c9deyO`(F(yUg01!-e|bt-VFT zK|`4^U&$T)n)NQph17GF5*Ek)dt&fp; ziAM0PaYUPqoiIgWG8k3{5i8p2sNy|swB_!h8OZ7eGJbGXi{=_h(TQ{7udSL5#|`G- zw>vrt;u$T{2@qpnVneOIm)x2HP-n}QwRk0%0x=+9>2MsU3osNFNZd_-npUf+T7~jG zyS#)izxuqQvvSjM!v4ev7px};qqY6DG9^_ey}w-&gm#OB8AHhQhg6a1eh_A1wfyA` z9^cf4NBR7sa#Fug|7|agmLJYjxBAE7?Wuw-;=M32Gr;mHZZ|)o)t$0WNR)U(Cl-?k zI&%tC;le}DmB}h6NPSwLyQQRgq5xtM%dF|iXgK^hzAN3||L#EL1Y&Cje>BmQIVb-7 zcRFrlAdwGjQ7Mt>oia(3k|ZRl+qN80FP$pzti8ZW1oHF(M>)Y^y<8sX3%QeuUtc@N zi;u9dv{93F#}hh;1ogvw`h<+m0Esm#Ys-x4YL$y^YAy*`t56DSIkKDr?Kt}^R@SQJ zP5V|c*K5NSCCW-=VK!{m#20c>YW5PnZUO}Ymp6_=1$O3^mu6XAe57g3L zhcNZhVlgr8^?Q<>uB1*;3vQpB9j}=XbTbSoXT!z4Rt*q@T!f_CW)op1!UhLnE1(l=Aw}^N2Rm_m)?~wzaKQ{XuQM zoqSh#(>qDo0pqjUsdG7yunHnJI<^gl5^gb-^JL21?uH9QObl&~L0seccBMUt{vrai z^V5Zv&@W#Sj&}0pXt29OONq5-Vr8BUH0fN zp4p-kpB+L!Cw$WELuBj#t1zuI=&uDe3eU6MP7WmF%4+{ujGg#cHq5 zUZdK@M#1RDgtWtt4bIExAzy;b@;U{0vdrdh|3wD>D~|ZzME;uaHo%Rq`+)qBM^=8# z-v)=-)zjXlO1N%l({^-jtGER=Vnlr0c<=yF&nFRj|G%M&jSY0-T&WO64pgp`95y|i zv#y*~fs=x%kADnEC>kpwS_;sle(o&k^N@Po`Z+a|d|N2EsaeH2BG44OfStf3r|r_| z-<4*MyN84wM0L@FS+Q}hw&Kx5-8Q>N0pEaX?|gutW>qd@zQ>&ak|xAklq*MZ==kSV zEK{gh4Ft@pbh?@z1>|-6F-_!H2P`D4L29qWcI({)OhJep<@xO^oVR?`ek@rwW?V)z z+%B(mM*}dyiI}H;n*nIp^77G+)sj}YUb8Q{7UR8fSgOM^Wo{tGVKM)P=n0FB zO6=#0Et?n4Gss4h#e&G_x9N?JcTL9QdzfuG&4XJpHXgV}Y!;Up7}!NdMJxSMX>$c; zZ~FN7&28Ii#cKUM4Yh;rhI_5Ed-|irnL^^?8x6NE_n@OG*bY-YI-IV#cAXs(QrAGA7*x;u{BT3E8_PJ^oHDKC8A>>AW z=%^O-BmjG3c&j|@1%Q;e!J(;uI*>Ck@ZkfpQ0U~vd93Sp^@A(1-ulQwMryf&wvWQd zh=RVMZZEKovpxlrl5=sXLD*B1M>ViMlAO9xg&y36iv8R__Dg=qj9%b@s(5s%uizO6 z5)!(c;AQ@e;X-t=RQ&3vR{m8}_ZV@S%! zPsoa2-+y9XTceE>0q<7dNKdjgOnhKuBz4ypts_Q(EPp6Fmd)mMp0Jphq_tdFSj|q@ zs&%>;*DM+fz8LbUb2X@S!rZYs#wn61v&jd*OC`t>p^=A;w!Bt0DF?ZZ=6TYgoYj+&y4d%OugR5gcjL$k360F4-UBb8=`1@u# zI=qXUt5B^7)n$;iAMDTU+g*oB&kP&NdSm(dA3tl(v0ZscNUXj|d8W6n=t(WJAFIiS zGa8SRl~t-jh8QM8Wt)(&)z5F5_P&*lN0sJaXbj|2t>soF`1w8Ma^5D|mni|ib+jZ~ z3Z$XJh_$r+rQjVHUjOCg{j8EyKIm{GRXvt#1|It28H5s_g@CqTrx2;Aq*$yYo{R7% zT11(}P~3=m^GdA)fZ9umjn)S6UloFWTM{=H<(QCg7)|AjOuDC@luxWbRk@3pKkBX;X?k4Ykt{;;Y8)qeCSv9B%UzLP}R4~XhJ+<{c?Me&RkzT--;^^HPEKPv5 z`TcNHTc5>r&q5vJmjxgEg6JA^YEZn0Vn4D~u^-VItu`nF|4&9zvL}}xakXHynGnXR zY%CW588SRHFgKRBUoQNNOrDUHwO?uq|GfnOqSs!Z-Ol^tHf`}l^@6dJS^wyS*=L0L zTJ4jv&k~r!$$UsnK@U1y2K!=2O({ZUd^a>5+x_*cY5T~rI`7(IKCC$r6wTiYFiEE6 z&r55`ryj0^rKJXh7z~Hg4OCX3%-g30$&?#}e=YhN5*(cS`E#49N~Oy+Sa)L&Q!kAr z3KAkObAQt&nxP`TZz+VXCsmx$L{3R5nwZ?`&=kkdYf_R^^S!6_MwXP7tnBZ%qnk5R z6@#9~_9KSYe%LRips5y%dbGN!+M>R%{cq=~5@Ri`1w2}M4%2v^waF65$E@`V5E^&O z%AdUj25?r+s*1$bUHL(G_aF0mLA$~6ozj|`)v9F9Gv2#X!*BEdijx$2^pe*6IfSO- zqI-WWaS;H`BqTO86+A=s)$ZNM^!Om+T*VT_Aenlb%l!mR!9DGojDUcbqe^TWZg8r& z5~nP9{!>Stty29c5^CvSEz8l(A*azlGLo4bz{#%wh7-E?$uSJ{_hSSQA;Vz9PM zbe0$$yo+(*MPR{eS$!et!+}zH!YLA$V`@!JArXVJ3XBYYL zgR7LZm%)4OG${EvDbXZw`uS4mO@Y4n8o`kxr*LIlx#{*RNY_5)XA1{h92Ih| zaADujZBO%a8gyaLQ7uv|(uq%%)``n%qNWOKu{bQ^PZx>(njbKbeUinFn1kG00=lf+ z9v4yEwy%5rNg&y~&|noM%}Xi}Y*5Bdf{Xf85I>>yH|~b z{SC@s_Id;!F<32QyojjfzQ=L8si79VXsO>CR5pD7(&6%?fhJDmUU5<008N`*V6!15 zz~(#nbQI=ZH^>4Lr#B>iZWEdS#Yfawvxb;4olOyIpC67z%OUzM%;C2bo!2g*!@km2q0^)kMSR982^f0O9H$3#H5cYSAwBRILOE@_S2`AO_m?+`VPz3X+=~barz-YFE>r`REbF zYV{f6oE4a+5ie~Ms`TWp-S$yiHFE-BT4eceHw}?5b>-=p-CC~qB9OATuh5RS3WH*+ z(6G3{&QzIPEUE_8-iZ8{@y}e*e$80slE@Z~iMpDu4q-*xI_fR;(SjU-ED`R0=r684SiP zMD4Av5r}eh)PmR|%m&dOl;U^4TQGG}0)?n*IT}{g8`>^2W<_^vmgQ%2Xa7dDbSR zA3@pz=n=}}mzOnRw-9@LGIfz?(HTjZPWRG05Bf#{=^wU&KKgc!uL?>I$|gmgR%7>A z_Zp^{H5C{Uj}4{^50!CZW>Nsc!g?gZ`tMXT+{4~aOfv7vpl=JzgB zScn`r{HXtc%!d7T>(r;y({!#gL69(6wXOm2ev5_9o>jX-kT$;jsguAe^Gg5`n`eTG z#k!IKb(XbEleW@?vIKi2PF0nyz0XSi87b_FUk{?@fBz=q;81~SWm2^@&oef;-6H1^ z(miXN-jy(gHFli!`tQRc@ybBD0`VX=>+(qiA2Av-zczre3nn<4_R6~LBtS&+;~~wG z-@TkDCokdX(&*y~@~ij3d1?!#oZGT}CrR-46}l2V zr%KEOH@2ET2sE%$l#I(2AX_}qnVz1$5~gH42sk6LAUHn$c7FfdlV@Cn$@LO7#AesJ zabN(gCIFSF5E4Ex+Wc+G3_B(|i%H?z{@&gP`BGQZf6zvEKq?siY*AejT3jRGVOF^C zrl$&rx6PPlz@!12Ffp2=TrQ=WFAvItOQj$BC1{MtzvXj0yem9b=0eb*kA%jcU8IoL z_?l(adZ2vb57UCgI8hIBO;D}(bmQR*dm(w~83?J7V%?r3<42qvN57M7L$Kw?%1i=I z+21w3@!;iwFPr7usFS#lAJ(SsZNqYTQ;mEurSrFK*}*9!(fiRs!SThE`84!EjX;=y zQADsI2t40QEMqdy)6?^ZUC~I6udgKu@h~PD3iwbdzP@N{X6d}5rYP;lD8OP zzYmUNWK}R%l&*INM2M1>D^q>Hj24ml171mIF04x9y?u-=V`P+j>Ku>Inxdn_+(hjk z?|m+a%knM-UZl{sY15_G|Lq+(k=OO6OM+K3d301!iv}B#u)oY6Ast`&=YaOK&6P;I zstyj7@GW9MEHhJ6`K;4CZIc7XL0Re%Z z8&|k5)M;?FXmBw&E&opMc=|ds^kI0lESZwAu<&8|CMji_K>Tz9dg4ZY?5g?1_Ir$8t{8chBmCaPnCOB)ccYKMb2L95o4Ffapi z2dyhxjhkXfyU#vwyKY_{&Xs!8_8du*e*NS}h2seUqCN{W>ORLDoSZE$F3Nz*MT?CF zF_e&~pkEAtujb{-fzA*MLg+oFcdPD885eu5Mdd)xjNhMGfJ`Tfid{RE-|T7chs&Ut zs4h`&DnSq+U|q@4tGzK<-S*>+v{>g`WH+9YV*2*=0?Jc9nq~9y5Jq-UT5OD4$OHZ3 z#QEW-*XzRJG`P`GTE+(QWEh|S93CTa38_Fw+^FmTG6wqk#^Z>^hNjQ* zK5ev!&?6Qp{$#-!i8loK0-)8uMRoh{Phj7_A&N>AFhmKE!arLl5)ukALDxTq=l_9T zRse)8b#9jP!&wHG8HOktjgRms00^OXnXLM8^isgD=evPRTGgp?YFbKGYKiR1l!G{A z#sx~~0X+z-sZ@rFXn`qcgdGOR___2{G=~xbf_#7;yxZe>Z#TPgBMgvd;vrI3aXD`hDi%7H&#RqD$FdelEU1|#5-%0^iAw{^ ziNImEr>0gCaW3w08o?>F6@4<=D1Rw6DObJwya0She5YA|`K0kBq~tBJAj7}_s-a8IJ*uGA_r0Iz+GUlbp9&r~ zY+T6S#!^kD%&U@8YH#1$rlf|jEHWLmgO;J0z{c1k#N{J3;zOPb=a&i+(saSxLk!*X z?;a559D^rV+G1BZk+(zjjXP);6h-;{FV2n@WKX+XD1gWac9uo6Wf}FMN(%DMf*yQ} z^~_fRkcPphE{AR)&4E{Ra=BABq9p2>;CPE(fijurtfCiC^L-1&tpbWo_dpbCSC>v_ z9l70cGtpp;s!gVUk? zz3P#oPzF-rvMK9ms@hX?I}QS;&2v;CF|nTUqAoch{Vd$&m6KIf#KDmY1$0M+Q6OvW zoqhW8s*3H*K`4uU2(jMoVzOmRtW9P`g`&&J3OYR2DC2KSq=HgP4$;6{IQ~(>1!_*< z^+T>xEH)GFqu6GH;Dy@x`jr+T5t07dv#~w zy|UF?j`i7EeY%(O>(l(b-g>vqPj3P4*$y#~uz3*iSzPBz-`n}G@0L&Z1m>*I+km%@ zFS57!)Bzj-DLKFX9Wd#FuU^hK7SZ7q(14bmla;&IT43 zrpcf<0s~-sf9A5iDFy~t!R0V;WcUnl;=1z$jCTh#MSjK&x-8{Df*UXrTwseD9)Ng0 eu(hph+yC<)VeTmWIB$O+$ZStnKbLh*2~7ZrU0bmL literal 0 HcmV?d00001 diff --git a/actes-princiers/src/actes_princiers/pipelines/xml_processing/nodes.py b/actes-princiers/src/actes_princiers/pipelines/xml_processing/nodes.py index 20ceda8..167245a 100755 --- a/actes-princiers/src/actes_princiers/pipelines/xml_processing/nodes.py +++ b/actes-princiers/src/actes_princiers/pipelines/xml_processing/nodes.py @@ -25,7 +25,7 @@ def parse_xml_collection(datasets: Dict[str, EtreeXMLDataSet], param: str) -> Di dataset._load() output_source_doc = transform(dataset.get_source_doc(), param) # set dataset's output filepath - output_filepath = dataset.get_filepath().replace("01_raw", "02_intermediate") + output_filepath = dataset.filepath.replace("01_raw", "02_intermediate") output_xmldataset = EtreeXMLDataSet(output_filepath) output_xmldataset.set_source_doc(output_source_doc) output_datasets[dataset_filenamestem] = output_xmldataset diff --git a/actes-princiers/src/actesdataset.py b/actes-princiers/src/actesdataset.py index 213c1d7..ad03151 100644 --- a/actes-princiers/src/actesdataset.py +++ b/actes-princiers/src/actesdataset.py @@ -12,17 +12,40 @@ from kedro.framework.session import KedroSession logger = logging.getLogger(__name__) -# FIXME hériter de abc (cf dans le code de kedro) class XMLDataSet: "Abstract base class for an XML dataset loader" - + def __init__(self, filepath: str) -> None: self._filepath = filepath + # xml etree internal representation + self._dom = None + # xml as an str output + self._str = None - def get_filepath(self) -> str: - "xml file's long filename getters" - return self._filepath + def _load(self): + "kedro's API-like loader" + pass + def _save(self, data:str) -> None: + "kedro's API-like saver" + pass + + @property + def tostring(self) -> str: + "XML source_doc (xml as a string) getter" + # FIXME : charger le _dom d'abord, puis génerer le str ici + if getattr(self, '_str') is not None: + return self._str + else: + attr_error_msg = str(self._describe()) + raise AttributeError(f"XMLDataSet dom object {attr_error_msg} has not been loaded yet") + + @property + def filepath(self) -> str: + "xml file's filename getters" + return self._filepath + + # FIXME à supprimer def get_source_doc(self) -> str: "XML source_doc (xml as a string) getter" if hasattr(self, 'source_doc'): @@ -31,6 +54,7 @@ class XMLDataSet: attr_error_msg = str(self._describe()) raise AttributeError(f"XMLDataSet bject {attr_error_msg} has no attribute named : 'source_doc'") + # FIXME : À SUPPRIMER def set_source_doc(self, source_doc: str) -> None: "XML source_doc (xml as a string) setter" self.source_doc = source_doc @@ -42,6 +66,9 @@ class XMLDataSet: class EtreeXMLDataSet(XMLDataSet): "XMLDataSet loader with lxml.etree (lxml.etree._ElementTree)" + + def __str__(self): + return self.str def _transform_source_doc(self) -> etree._ElementTree: "xml transformer (with element tree)" @@ -52,12 +79,10 @@ class EtreeXMLDataSet(XMLDataSet): #replacing element name with its local name element.tag = etree.QName(element).localname etree.cleanup_namespaces(self.source_doc) - return self.source_doc - def _load(self) -> etree._ElementTree: + def _load(self): "kedro's API-like loader" self._transform_source_doc() - return self.source_doc def _save(self, data:str) -> None: "kedro's API-like saver" @@ -67,17 +92,27 @@ class EtreeXMLDataSet(XMLDataSet): class BsXMLDataSet(XMLDataSet): "XMLDataSet loaded with BeautifulSoup" - - def _load(self) -> etree._ElementTree: + def _load(self) -> str: "kedro's API-like loader" - self._transform_source_doc() + self.source_doc = self._load_soup() return self.source_doc def _load_soup(self): """open a xml file and return a BeautifulSoup object""" with open(self._filepath, 'r', encoding="utf-8") as opening: xml = BeautifulSoup(opening, 'xml') - return xml + self.internal_xml = xml + ## xml.prettify() -> str (source_doc) + return xml.prettify() + + def get_internal_xml(self): + "beautiful soup internal DOM" + if hasattr(self, 'internal_xml'): + return self.internal_xml + else: + attr_error_msg = str(self._describe()) + raise AttributeError(f"XMLDataSet bject {attr_error_msg} has no attribute named : 'internal_xml'") + return self.internal_xml def _save(self, data:str) -> None: "kedro's API-like saver" @@ -142,7 +177,7 @@ class XMLDataSetCollection(AbstractDataSet): raise AttributeError(f"Object {attr_error_msg} has no attribute named : 'datasets'") def _load(self) -> dict[str, EtreeXMLDataSet]: - "kedro's API loader" + "kedro's API loader method" self.datasets = dict() for filepath in sorted(self._folderpath.glob("*.xml")): self.datasets[filepath.stem] = EtreeXMLDataSet( @@ -150,7 +185,7 @@ class XMLDataSetCollection(AbstractDataSet): return self.datasets def _save(self, datasets: dict[str, EtreeXMLDataSet]) -> None: - "kedro's API saver" + "kedro's API saver method" for stemfilename, dataset in datasets.items(): dataset._save(dataset.get_source_doc())