From 051127be025624ea946438242d1936d54763e820 Mon Sep 17 00:00:00 2001 From: =?utf8?q?C=C3=A9dric=20Ollivier?= Date: Fri, 23 Mar 2018 21:55:22 +0100 Subject: [PATCH] Publish xtesting presentation MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Change-Id: Ia33a17ed5868bf61f088feea1a608603fdeb28dc Signed-off-by: Cédric Ollivier --- .gitmodules | 3 ++ doc/reveal.js | 1 + doc/xtesting/ONAP.png | Bin 0 -> 77673 bytes doc/xtesting/index.html | 52 ++++++++++++++++++ doc/xtesting/xtesting.md | 135 +++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 191 insertions(+) create mode 100644 .gitmodules create mode 160000 doc/reveal.js create mode 100644 doc/xtesting/ONAP.png create mode 100644 doc/xtesting/index.html create mode 100644 doc/xtesting/xtesting.md diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..eff23acc --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "docs/reveal.js"] + path = doc/reveal.js + url = https://github.com/hakimel/reveal.js.git diff --git a/doc/reveal.js b/doc/reveal.js new file mode 160000 index 00000000..a2e69a4b --- /dev/null +++ b/doc/reveal.js @@ -0,0 +1 @@ +Subproject commit a2e69a4b42f9e968406f62073d1c4bf0ea2d3361 diff --git a/doc/xtesting/ONAP.png b/doc/xtesting/ONAP.png new file mode 100644 index 0000000000000000000000000000000000000000..6543e91c412592740d4ac1d60c3f60d4bfbe3e1e GIT binary patch literal 77673 zcmdqJcT`o~_9b``#Q+K_2r3fvGoWMzBnv1ghyg()qXfr`*0> zV&P9`s1lo0)%WkxckUb(5f$wn9Gw5+A7kp0+VrPLNP=dvNm;A7v-41YrLXDO=>4WP zowc4~a;M4St&?+eU~?6+^(8O2=~ZU1yg;F}p48GHWxd2Zfc zQCwUskuV)Q8|q)keZGBmM2^ilMvhs;Zj!|8y2=y4rS;uDz|)gSvtNTqGf!U zcCL3eH)rLl98|n=Wf$JyN3P}2K2hz1d5q38hN(6iO>cy(ci7w8+f9|zx96SQ*>}s( zc4gk!X=xykn}_G2I;RKTm6w;7=HNkZe}CGy>bVLc8EJ3dp1*(pgoUML@4VypYPm?bxQK<@^=;40_xASod-KL;@9`@vc-#5;dDXEO0Rir5Me7H6gQ+w%HPb(Q zD8-_ftuC7XbNqP!K%ka;l77E{!NnvsS=k+hOM?enTU$R@S5xxy^M9$Tk~A`6=hV#i zY)Vm%!Aen#39vawnYPc46H8#oeD>^F?Z(9Gi&K@%85RSwLBYWz9X5v#N6$z9B#Zj= zNq7@E`A!x3Xq&j$*v(j!3)-9 zczAda_$1PKY3akqk8iacta+H7EkI&nVIc|I{62U2GL`f*hKDAdd1R!j>guVD_3n*^ zq+NA&b&08|-0ol(?*cBnR@GWOCds%BG#Wy$WWk@i4^WocRFXUyVEcoa_`pYk9cosdp?M7ePs zUh19A@79NgE$@2WsKu_Sxy+3!IjxLm+f9Ex&STJcf^-hsCAy+U;4!7q4F3N+OO> zYmuvXm;KNo67|)2UuN;=M1*4vv7wW*v**v9Be8REl=J$_9*vHUHtQ|fLc4EYNks)k zf#X8OudlDlm(Se1;=DX)yS8i{cGi58?L^mw3m3Nh9v|=R?S1%k@9~nVs^q%4xMxo| z=ZwCrOcYToD=Tl_yt!wxw=~CcXxH1+RG#}kST4U2QtBVg;51hFT2)n27b9anGbkSv z6r?@bQ*5_7RheLWz%ty{OWhkrx` zi8%}5Xt;N~ZX8-#S{iQ6I3kTx!pzKU?(CdRr_t^@JA9pZRvc9sY*k->KaXKE`_HrwZ)|+{qeNsQF;xYIgzlAc0*rm5^7bPt&F7^-~wH^z| zVdv!BWn*K*AZQVrQ&U#9`PDJ`l1#%E8hZNU6vqMr0&W#L7| zFga-lC1t3Qw|^cs=l0@cuK^h~DTDez-dv`Ma~yH{e`FggEc5d4>~@_0{m{c>Yq;~g z3Mp^Fr%^0DBcu2Qs}v0#-4-n^tuJ>uTy7mbe3&=U#`afoV&Z3dEhjQ0oWm^*1R-nKC?sam5J*&Z&KjPE{B}i{_fp7 z#Nv~P2R$Zw=l+_ToBw8$9gPD>V3kuH-x5@qG( zw|{-{Gqbk7aQ*u3zP`Q};o;A5l1qz=qlzs))*UZ;_KeD?yYP@ko>egpfwrEW`^S%G z&R@6?6&ZO>WXey0*?IJ5P=3A$@u9Wlxzgdf7{Aa^@0^^o>P0SxQk2v7k#E*$-%QFj z>6Ap|*VNQ-V}EX`sU6|tquW?tDB`OM#p-2yAG8ND2!5yh~%#J zd2?ysySEjuh&^WI=ii6KTl_6lpm$_syREHlS!HGa=ZEA79&%Ie_~e-gtsLL*L(E@gGV?J@E0_xo7WQB1nDK4ZgY5U67aGDeZIM2^l%X{Z)Co zTZvi4B_)!ybacfH4LAA&N|{6*&K-O8R7;5LK~fT%!@?g97n9%o#ePR*`YL=5wiY-F z9J?A$<>=@*#V4m z)f#T+XLHs!FxYYW^y$py;Whz<6%r{wKi_Pm{^&o)j@?0A2`!NA-hJKi$L|M|ZJCBB zYz@oV89J3EKY!+`ECu-cYnOTM4idI~x9BsD%iQ$3u&4KJ-xkTq_a+o+_JK=>37O^WYTw2 zF^MqTzI~fWZ8$5e+cpvTy|>h(|LgGx+6H?EhrXFw@k+cWw_Z&UMRn5E?$s+1VmsyJ zO&&{O}uGf^5;%wfZ$}Id`I+TKao~k)r z`x)nzj*hN1{WiHtN6y3G)AziT+uf;|pCdSqu(53q4-a=RJ@rlB_2$ien)U;9Ik~w} zSy}r+`Hdgt<_Z!&naWMyzV}#9!&UL7;lG*UXKSnW_b|Z&)rN+KyP24Fkr>Y0r+KiU zu2Mg5^ycZ)?Z1Ejw#s{%;G@ndbLrCd=Zu1ne*Cy*j#DKV?lgUAYE)TjHmRLjeD%Sv zUw5ZwKGce}|C(`DSeDmPXg?OmC8%ZO`V4j)^hfSa&9U#(P~?SAT{g;aSWwIoUok(vZ-< zJU5n@oLs-$oI5&d@Xyhsw?981GqbUgwztn+6u|jFX6>0CsAdqhVF%t}dG*x{ksq6o z5QB8jefqQ%02nf~`!Oww>k)-Z@)2T(PV3cNGgMYmqC0u=BvE|5ymn-!sC?7)vN>(z{8JUVOdFAYj6XO)Jw?sK{YWULB1{ z7q~|ie>wQDN$t&>H_gn<&fUHpwOB(tIhn<0X=zD7qz5iKKRV{GhMc+N#P+T8lkN3e zx3=Y~zuR{{C^WRRyPJ9IF2?(>TtAI!UDeSQ7Q_wN+|h*O=m-M8za zFT5nrbN{9=BM#&EzJa|@6uovqq^!n=g^NrzWgjvG4Z%caTD^}FhP+hrl z#h_X-`)PA?^Cr^t%naE%4(@CFxwRiOt2rww9^cjSPNQ^VwRYpa{EY>*5tR>my$KO6 zC0WMp+9oDIqYja#-G!6W(~p3~K30qbN4U9>b7~bnL*V@S^(!(xod(B~X0wEasOtN0 z62M5JdGzsDU$sq5(`+o#3_}%l6kOX$kyBy5jXcfq0I#Goj~J44keuV|w2mD+hDH97 zQ}Df`L!BdH@VSI#yOzMBl8;~3db5pE3g60wx4v$kke6f#yk&WvhcG-*398veq;-v0KFNC|+Y zVxNNoW%NIREtu^_lM>Eoo~@^Ko~ERvEG_q@uS-=Epkm-A0XaVk4Lx{AN5_19)&A04 zqFno};r2i7;k7BLsY+v78tt)FSJkwyZP?buKF{D!PBEB^pnEAqvD3IVFN~YtmMWxu zJ&(*ur&hVGwe>!`;Wrn*!yFttflNdJDSL;8JRUqC`HWw%u8tnv^*C>{#5r?w9(4_k zqk+x~e+bBd_>}AS-g5Qo)mthmtYTtJuZ~}p*3~`wPCYj|paR7hrLrN{1nB;vtgK{r zp>y4bdsj0*YJ9SJ;_XdoVPV0tP10>3X}I2W`DOit!m`3afax~QxcP^#U(?~&UAXY1 z+4-@jXJUcD)Po<$g^yV7I~h7mbQS0gCFQ-3%u~44f}ChJ-p0p%EB)M9>c!+&FQ%t0 zd;(LqJ$mrrUai-0Y2ZD;pnVQ=qfdae@1Tg1n8H6B{d~X0&(H7WCQ0Y%YMc|SDmsZL zOEW_$YpGGDtz!+=>{NAsP$e^8o$BeObOV+xcL}UNcJJQ3ppcNm0s_i0ZfdGh>tEvBRGIiJ$?D^bohTd(M1l*5#NOw5r0c9p}LbjfLG9MZG1E3vm{ zvVNk+0vzyRk)%(KR8?bcY;HyskzQ3xxbi05yk9zXX;?M8zFy(6hldWTpz4^KhQ?0h zY{1Sls^Ra};{hv4ArK*Ne_Jex_5D^{{%a`(PS>Iu&}VzSo2PRmpxi7X%+~k-`z!8`ET9< zX@9aAm%M!WnW~VZ~9IthVpa zp`8*mWr1!N^>A7gn>pDsmbK8fVoiz4V27)TG$XZEK<5II`A_|cX-s!ih;T-TS5C#R%DT|2?; zIB)dW-Mw!tt;ih+4dMT%BiGHFo-6ulgjk}p8Z-|T1rkV1*+n06O&y)WE};L^z>Ysj}c`!Pc(b?lDoRPS`Gh@Fm$#$ zM9DU1#E>I8tceSx%qc zTUc0VU~16xIyiX0UTwI~MB&P=2$y9x_nikR@Tw??M0(1~$`TUwNHy%ldebm4cp`mj z&kTMeT1Vp9hrS`}1-+UeNj4 z&71Cz9&MTuFhhoBI;uBuW|nev=a;WvB@`6)Ab^g9pAe|{`gJ?LjcB`w>V_FVSx;zVyPGiiwRq-=CWRRNlY3G{bP#EYj|iZ%WE3BJZ?kn-X9x+qByqKS7(8 zFfX5hVuw|+`1j8b-u+9E*V+^$iWZzkfgb{P`RZJQ2FYo3^^<;Y8zLn2k2FAv=1R()z1*yJroxw%$Uf zc)0N8%SGa8kH|c4bZmcBzm8Z$2#|}3i5Vy_p&2K7?2b>i)CiX^U%s3}@MoCyN|u$C zMdIuNpI%Fur<^p~g)_28$o3C=m#kX%>r=`EpVQZO2g|26CLX82=3;*2)mLuRaJ)o6 z+KG$u@=u5|E+6vv!Gj0V5z5cKydI&WY-ah|)I_(ovLJK)x?d}`Y}_7TtXt{Y51S*@ z6R*m4=Gjg>=hVoHjEp2DB_&;ylaoR=k$%qj6zC@J>%I2a`TuHwLCkF5zJ0hc=~a#o z8k}z9Bgb4@#Phl zj1g!y6J0(y(E`gi_9(2)x0`xCeOer9TKF~a{KwN%Q&TziGskcoI-8YPOKiKHJxlHT&ppL%#CIWGKTb(WsYv|}cF1>!%bQES&robj8XIYG zz|T6&o-i;l=;`Zwq~8#~|MyY)IUgp`1Iq8zB>>mmibiBoQ|{GOg^|_IP~XI9&wmKUhhS2nzYS{+`62FBf^xR{Z-js%<#C`16dGT=MUa4j(Ch z@Z#@}{#W`~iA-ziD(^Fwp`eQCNZ%Oqslhe=#NB@8r&8Y*i&JZrH~Jj!S@7+iYOJhV z9Qn<0Nx$AgHq!1iNy^ct%%he{!0cNh&-<)*q|CR>SMT*zikn8? zr0Eg;yu~$?f7_J6ADx9Hs#_tUtUNPfs}wem)MN}9g(9}78Cp7hG~1jftkVCbTzK)= zw9v^E!=9fXjx^WKKk#{?q9*V(QN!!X_wvpX3nP1T+P5{#E-iyi)w>Ud&zIC2-%J0T zCeZh8NFbPkWW@gMN5Th=J-id8DS<~wEYk*@6;z`g$Bd6Gr|1ta&M!@{oqZkVEvw5R z;%HUYE)j0mzv7*!*sML5ZN4~be?d+8O`?Xd)jEH`R;tfMS7VQi8gL$S%j0 zFPK78ApEm0g3_aO^D(;_5AQE0Pq=M=@cIVDomHK8ITkBqS?l4CSSG@Av{auAY>0V> z+Q&_f4tQ?3)Za)I2~RmdL0%%Ge!+TYMUkVrv5NldJtVW<3g^|uA$g~Qj;)8-b#E=K zUHC2b`XOtlaG$z^SfTSzYSA~wlZ)}Mf<)g7?T5v~%jbrjm3u$* zV*Qj&#Lw9tKiH~fS#_-bf=*?{$FM!AmDx$9d51YZF?6RM*h#wek#AohFXdG6Ca%kE zG{xF461QhhSDVevlRHi4Gpa1an`m>7L26`B>pPA^-V%;@GuWYl6c?kXM-=I6I^8k;cirhB!Oh~C2~kyP2!a@SR(jOOz8iYB`V zMm))I6E1C5aQ}Q;Bi&JsVn=l{8A&QnP`hX2jqR>KgAX3npL}LB@tDguAv*r%XHT&! zi)If4rNfUbpN$TU;Uj5>C@cT=`c6YGiE!9OUQ)y@QT;OkvSyP7P7l}Zmf_TthBTsw0o@w?}FS^lY4ma5Da=Nw`=bC{0n+1S<#TF39w`DdET zKV>?UxoOgH)tJ^_v3OxThQw6(V&s0wq1iuoQ_Q>Awtd#=WK1{x#t`-?+}CnsY4ObJ zf%(+^F#+Ed^y0Iwbk>R}^D!1G4ssdIMt>fAoEkU zymn3Di7MG*OPca-$8k-{mZ0G}zKVjqLO<2|zA^7H%T8zH%iOdFQP%9c-R`!!R;y~2 zmF$fc|0s<~eLG%ppSLF`l7e^b@iz8 zfzO-mD$)c7muDLVJ@Vu+a&O_ZM9jD6MCi-^23G-ezu?b?E zc#a6tu8F)dJfY{I+g{s~5}4nfw|suQo@?j>&6(umcjJ%sy|0w9s%+Lt`eJ`A%KD9c zVZr1eHT~{&^D~ zk3IT4k^i?=dOq82x*tqE{_raNZ&Fhw|32>jn)UwwyJtheeUNe1ZjuG0&2AbR5S6muF))=OYi^-nfC(O#sg{sCkD6bx^ei2Zw|>c9IR zJ?~3)`_zZ@^!sBc|5d!ndN^WI-{s{UIDR$!JS0{EvO6uB`KVn4*nANb}OZ~xJ}e?elrPxUI*$12+e&B|EQ!a!!+=(7vShoR;XL( zqW49R6Mbso+Ps>N+BNhgKDyNb#m&w81WdcmOGuEBfK<2IK?;%+@ckR^Osx63A73je zDHXT39|Th*jgI*GjTj&k@Y4CS^>V3gH~)RRZo4PxuYDK=_uNRhvV}yn zL!cRpp;MAby1KeKXiiDmXuF2NhLa-k0rxg?wuBoe2ft~?Vl#`ctr|qLYK`o;n zahM%`xRsj8Q+dmqH*cUJZzU0`4;t;Zwr~ILqRlhx;*Bl#ByC;YEu=o<2th$Xn$2V+ zv-#gDVWN&VFB?MT3JE!I_ujqI@85S((sP!f2_cy0UjqYCXy-4dRJr|Kt3)2EZEC@B zak_4b9!J~cyx8-6KXhLDyB@sFLIJ^g;&VS<2y@04_A|M445#3h=02RMJ)Rv z9zMQuf3_RxcsFQiM?h5K6L+`;%=^xRRG%HLBZm%(Cod~npW_0-76~G*<~Y<%P_O)B-iHf&{$nILs`+2t&i~)D@YlAy zO%*+0fs8e_{Ch}_$;eb@y_59j*}Ylf{+R54{5E6#95H{>*Li6#GSwW0ogw@PML#)@6Um1QU5;sW zPHKkjCaD&xqdAOw_H240NfxJ||HH|;cu7;p*tt1C=c4-&!?7I<2dSy4pB>h6FT!jM zGt)$8W5hZ-ItXhEPU%O7pS}*=nOpwzn58j_r)H+7ORBkw-p-j4i@b|j?3tG98Xf9` zNv9V~ToV2P0h>tSj(-H<=*aXjlxpiJa%E1rnJTHN$@Iw0jc}_#jPrJ_{ra`Idt=>p zb++NE-S3P_Zo}rc{BOs#TGUJnnwphZM9rx-4%k)S7w&`ohy=n`Q7t?o!WYE;9k7Od z<8cvA(@*W{qj-(m&OCnnn1z*<3=csVvLF#Y!n#w#`f*^OGtZjRv|w)ErcIlA5FCP* zgDhvxDE80C!=)H-YZWr2M79P=oAS!>U?6y#ga#g^Pz* zS669hXdcLi@<%~k|5~V;ZE^?^ap%sRGwbtkPe?^w>j8(@_a1Hq;$gVCXyGDi>__Dmkw8ujugFLif{}(;FI4etzZ>);kmS-F-E^mJp2vl-VjP-3KF=?T3Y26EFVU7&D-raW-VG zei$G)VVJ`6PiY@riOnx?#H0s+9^Tb|IzM?pWjX@a%fp8chr0@d35&|TS|;@zGcq`y z+f@)9c&=6JFxGcNI8LFcP{iF4`Hj zXYE97EQPlw%KX7>T?b)*@p_K^t)2!Qh@orC;w^PT!r*hsX$ zzC4-qKTF|lD=wrtr(O|5(?L2#}`y2V`oippFiH*!;2!Tf=+urO}hKkBV* zZKyDRJyo}Fv*K5@jP@Vab(Mz-@m{wYmH}>1o2@^8_Chqem1_|vT{J4ppZ7hOD}Qnm zkjozS3qu_4V^+1G?i^!f1Y3ogFZ}&u1G-`B*_^A+`MWJsPMzO+R8fL6kh0rp z#z(d7jj-(wi(K{AJnNJkBUlC=Nk-8?Q){X>>B?7mQ9V!s`$oC0T9(mnd^^t9iP-pf zuj%c%t!A9j)4~Ctu65a&un` z;=cXpnuZ1kr?~U-M`^W|G%c>nLEI8xrIo66mZk@Y$8B52S)g@taw@A$%b)h*w)l0? zXF4W2`tQ?2ptNX5`>`2%S1)SaO*z}8X}ez|Hd$~A&#nYF0#qBGu%{Gro?$I zfmr$k@b;-bc+3&-xO2Zz^z7N3x~*w(jRH8jKY#uNICKM20#g~4MP zl}u6)q_2!`ZLExm%c7I=PcU>0ZJ z)Kk_bq}hr7W)YXfEY_`CJ&rXTkTpDXWL8DF+okEkjiKGv4Sf8rs2!m(nS+jz*3Snx zth-tiKebsiOh%;R$VkhO<_~G+}Sv_yq@Vk5hOW6vRLr z9YYr^xIx4x>oE#EK&CEQ8Z&cq37|?+4-y_+4^)l!badQcKK0TcJpffL#`u+jmXb!E z_1Ljo#@BEO5EjC-E~{s8oj4%hxo;eqD*CMwpIlW4X`4#VfV zw9kKJIn@|`6`s3aXo!PmnmCq0t?|Mid&CwdG!9C|c&8 zfMmEz#y>P>ga}!mghki~VlUCULU1Ht_WIg{Yd`WHO8n`Nw^E%`_kD~nL`+-hn_9MM z>+AnKnUY) z-m-J4-=IPQLDei~tlRGnAre zeJLqzRL$JjG_0zssy?@dfGaSOmp!4RH~Zbn^B=;due+hXo`#9(dD4x9JJ2o-#zv=g z>d^3`zCKY%Qe4q1a4CrUC<>&ALtYG%7DzLe!kS*>7lP3tIHWh5N(KYcqO1SKCs@%R z;S9;^dC$CAt44v`V3$lv9>W?)V=4e~|09_I6XSI;Tj5D~;pZ3ScXdthd^i8cvalq> zjqFCJ&Y;1Xoy+s)hRou}u7r6KXaXQ~=X%WzE2}dvU%ldSS+y&8BoR6HeE0I(Q<+-U zqGDN_*;ZWT?kCw#T^F8ckWuqxP3k}Wc-(W;B5(BIVS0Lc!oCW@+@SU=*=LXtlRyxL z9YTZ?8abko)AkVgvUU!6wN!XRl|AD~z_s z$$=eodHF;pFQ@=+L3;YDdv5fVvSlUjFp^MBpm{RL{ zK5$znbyWnse0iAjhO?S_pnn!UEp1O`izaYqkZK;5RbXZ7TQvhUp7Zv3S=oZdKVH96 zHl59FyPvo`#>?q`!VvyeGYg9noUkU7H>cRy%apa8pZrU~WsVYkKq`Fr4zu^e#9f&n z;P*|VkUOo-wHWBn8M{Rd*5p}@Zv>q9#P%)tVC=lP8nd{jUGJ9G_V#}Cf@SztzI7&g zdXMaGmxGx7;3}AXdBwgt?&?Y`q5Y%BW6ryfB)Re#>NKZS&3-@9#qs!5mb+h4uEyyu^hZiyh_>Az34L=?dvlzxB|bjImk?y+;9dY$0yts zC}A%uM)P*GX#r5C6kCGHC#@csOC+%+`2__T`VGe}y{f@S%rTsV{W0jcgWk`ZaGZi@ zuYmcQBtb*W7dT6OS=HNX2unIRT0B{7)bKKOHP_zU`$`rSLkh%#W8MZ4oviVvZ(B zvE0I7Vi*NB(PCq4V6`2M>2=iA^+k6oRkP zIm|Gvy_59QR!}3rAkfqOP+QEzH+Cv0w2%q8P?+>+E z*T%GnTKK8w#0 z${9WfkVr5j>>7ErAN0OSV$uk-f;;@qmxFoBwTs?JpC6}Q*pOkaOkevuLg*WduF$CM z<91l%%Yb&SYiRfoZTsA4ligtOy|z4u^No-G+wb`AE*K~G|EayDq$m-b2^w~Y25tkv zuU?UZ>qF4|(6;B-9jT9F5O;A(dA*=a2fhy=X3A1k^?;<56sYxP_snP+dAXWXbD51< zNn@)`dj<@vKX43YRaMEZ;z(gsh_F*_#;_8Gq_hXBUY|AVdC+XWhSh@=ko$JYW@rcc z-xiQaAOy8$n`*h~rrpZewBt#1T{o>TstE0lC(W)vGL_xy^8#=R^0i4T3FfWdC}=A@ zI-GaNd7;x*b!>2K%o}7_Prt9YG`2sbF^;t%UcTS7c=uZQ6i1Bfb;9r2ltK^tP+Q)~ z#$9m<2|A!qhC4qA5KhJBrYM>7hBc>*3yibQFBx|pBjuR)Q)oKRDRt!A?k64xn`ke zb=0~B{&8ZyXUfvvUJwin!3GhAbu`%eA8V;p=nwOXQEl6Z?s6DQ&3d;9FK?!4e})dl z6-27Ei3ulx#xRRQg^7c{ZXl=0k%Wjo0+w97xXtEI$94=-Wr`qon@#_^MDPt@q5~Ay zLC)TW^kds)zZKLQLCQ{!rlj!)xxnOVhp|h(0L-0fgED9>bar$j>wUC^vQZ3xqaRSo z%+j(HoX*jvPkcU@47@77_OW6brK_)$TD**4Od;we`5fHs7e#cQ|8x3tWM*b215Rh8 ztwXQ^5`%P87`=&v^u*DL(*W1(3y`tYVv8i0N6Ue6()GR_AV_GAaS)`F&1$Bsn1;kZ zB}|Tp;Oi)i*)t^Yk*;klj4MsR1aK=_a>lqrbU!{W>e>)hkyB zx)X=Aahi~#G+o!M39b=I?$!sroj^BH*8>XIjvb{ort&kzxImU^H&HI&{?q|@x|MD6 zM%ppchlg}tMuuQn5%#KMIcPfxl9u#9pxfz2zOj6Z#aM%_Q@cYAsR#9Z+xG3n2uE&{ zjl;vbS{^|dL+TFt=FV%jG#rRpMuq)rqLjR>3Eh1#4wZ?6*BE!Q@594a( zskHp)-HIT{?!c`dgkA&IX1+l!5`l9V4;><^5r!)HRpPxAlFCrfH-SY(B_r54qSSma z5oQ8=OM+AI#&n)M&#%=EP-Hyd+(gjaV{-N{tXq$t5R0o`wnih-i)v>yy?UX=DUQ){ z_D%oOM00>FFZ@a$V)b`@Viyv=oR^ao+fvUhS;YI}~(YS3z#|@p)&e4&a z^gTkHnuNl-wu5ekMl7ZM;ti9G8CW1-B?*CVElyBEbpbm*5mo*@7cT6OB z>(qBx%b1Z?r4K?gmk&7tiHF-?CL`e1XtR!$~7tGAKK@bqT z0I7E$L>i>73SyKEk|(A{iKY_??mU1Ynjh`-xwsQ-Y{kUXFhFBXr~oxo9!S4GS}Q}^ zZ3(oNYjG4=k6>Xxmy~QG+F{TLW|-3^s@J*F_IQ7u=6mY~iB3s6X>#G`s=phbgs&Dj ziCaLR5^(o`@kX*z3elAjf(+7*f$JD1UvbJk0IUDv5xBfVeqSY>wV(dyPj`_o(cFD5 z<&qKKShd6;rhZ4sPyetm#tcsPyTePl89b)Xe}1?p^I?0^fAa$L1BH8fd6nF_D!S#| zhO=zToD$~4GjJNI4)RkWQ(3tUaVbnU%?0Ts_Ve!MlZ?E{^FOekZPUP+|DFB(9~skm zD7gfI332@>XZw3yZ-R@1p2o_@r=-4Kbt-Ke$S+!PF4d10QS~J6+=*5V2T29b0D=j)b=9?j_ zsOV2TIk-jdYVi1MIK`e3{{wr=nJwmAk)2xkHZMoHuy^*yKWQ&@gF^UfuM=e1>8nV868Z1zdq&bx(yQ@ebZgf46Vyp_l{MoVG*-+yQZ-s_n3$c<8~mwYspbr6 zk=OuDr>S!3vBc=n<4r*>%OeTI&oH6EvF#DdTea*f_|=kl$DHq|aKxfua76h?5uC)7 zXgz3?lauktk3ZQ?5W8$Q@LKsyee!bBpD@;KkBDlZUf`gFTtV#GgUq z+ksFw;s!9PZL3fZMRFlXTd@6x-13+~B-V8QX+6*C+0KO6w`oGIKMS2dskWis-w!Jq z4#E32F63N3FAo(v_2RKtgy+SenvkQwe4$SwBVh=UsL)6$G4MfSx@F%6BTf z$;-=Q#)SCyz4(heuA=j;I&h}z&oi945MdE2TsVHa2B3vd%^)8ZmzQ5q=X~`w{lB=> z%k^T4Ef~wZZLn+>f(W<(auHw1=~7KiBB!8wfDtd8&z*&Zv`D-LT;6`w1Elp2zD)^+ z-DICJSG0TIJ_-yd@@PPCMxaG0o;;X;Vdo3}3JxAuKHJ~cO$wHwvKZ$kb*3c?3JE2r zDtDuBg0%94)4r(AoP2$THy9j{m-4mFjt(MwqtWDFY_5kmsXFcxisi7I|9P)`sUK&m zK8YjGj&|@Km{Wpvn#&ejQM7CZ{Y|tUZST>XsgAE+kS)xck7M<%KHtaec9I(Px-FP8F9RRdH5fnqfc2_FY39t zE`DP?vU1Ey(|4?@+$n3t*>!%QBcfJR#ogY~ap;x_sHk&UqW-Tr)B+Ch83ZNplwU^^ zvgx&7An?t5SYJ?%sgZ;$kT>neQnOEJ6^eN8<2WoT`UX+x7ZM_iYQQm=nVp?*GgWn8 zX_Y@4dB-K*NV{gW+kt*>qS+S;7P@rmV=v`TRS;vNQ)mbp-s{Rieoh2xF0A5u7VWPV zG`_-O^ucoIJJ~e^BResNA%hXJ2OFZBLL+p(ly!B9RXcph%#2gbG-z#C3wOZi7taBo zav@g90utKv}#S~6@*^cz?&|N8Z7-+EkR z^|#tQ_U~iwJ%3%^-s|k&AbborBn*Z=P|G$U`vJHNxhc*lK|tOyJ9=J3&tN|{hw!IY zw&h-Qlm)B14hc=-fy{@0uwn)yBO@c~g7-eO_q?v_POvJ}Ai<)w<|{JQ>-+V~|DM1? zc}CZcPtShS>gM8RglKFMG)51o?&iO~?B2(I>of3WDLM*!42W8Ato*s6z9ag?z&^bd zv5W0BjXRWS7yiTuj%V9uQw+o>&fGhm;9Oc)m+?dVs9%Kj0)P_DfdjHJ(mwawvpB3r z8>2J}9NwyCR(0@PyRzfGkKE|$>%fwCpI(Y&2RFXc2t^II02=|4`@<}gLpIzD7R$5x z=q=b)Z%s5|AQfS73n~DTV~tG+gzK5CP7HfyHN4d-5^I0VouDZ#SF$E1PA?6{lVm;C z%tw9d@A_J{RsJb-WgE7b`M~KtlgEBo@P?!v^BXXIF?ILN$zLEYF}b&-b`||r&lTmL zsj8XpgSxf3A#S!A6|H^u841loU!%95xZ`7ed5ml3OuXsJhp~ZEoSg5@4Rn12uYiBL zi%G;2_pt0da3)gn$qrP$YgtAr0Dgou03C#&%jq|veYZ@HX8fVd>%iMhL!WDiy|fp@ zKqi0w`GuTu2Q200ty@D)&l(vSaWhcey?gi8M}~o>Q}=ClD45vn_~6X^*mw{(Hms&) zj+p@B0Jw&NeWe>_aG;?bD)f7``i{WqXjDd^cm+JaI6WG*cSn|wT;HlvTYF*RN=`w6 zDAc#r$x`Z?2=NFE!T<4*iET{koB0bTE_|fiKiuO4|CsxIN1pDqNS#it+kVt*hRC zahu<_vP?RwpzhvBZxTN6+W)1HIQ{V(TqW_EH+AmZ@v^#1r?>w5j~3iU?0>X&yzf|j zSN$@N)7$fCfs`F{Tzvd{P?z4fs{=SnwYevMy}G)oXK+v&5d!u%ajEmvtGTh3)4Emu zo5Y!>z8vwL#QFcAQ@IP1-Ud7-y(Lf3T)zTJC%;zUV2uuoP?5`hG^M2}kl(kQT+l>8 z`~{50c-HK*6Ilk*48s3+d$w<>2esNPrz#D?UG`2Vy;UyGTK>#;VO;f7eZcozr|dU;yd+V3=4kkdlQVyR$zCi1#~vI zusHdHXO`teRiU5Ol7?-(3=Je@Bc2U3iR@jXyt%gB>|gjfpU<=u4A56*aT!q_rmZ!f zMl%3wMFomiFrVSgfPg++1`>beO%-y-)a-0cR@0xqNrqWGyl8#-RJ--TJ$oL(eTh?A zW#a-sWO+#T#-%qA-tWK3Ka)O!1wC@+jK2(%{o_LCl})ruK_`b-&4$(ox{L{l(t9QF z5xYRq*!$Rb)rap~;&{9Ob!{)I`Qei%y@aesi5rS=6M;S23+Jq;0|0f!kc8)Aq{p{#mv42DpQ_i2P=8@C6b{i_#|zfD)^ zaO$bG){6nL<>8n!hRx3aWdQ~5x2Cfq9l|p7hB!fJ!b1X=5J&IPw!_0zjrN#_fy$^O z#}Cg8EiF#HpGQv;Ly#nTgk>=EcNOPRCVyt(J{b{;nkg|KVHkRpOPCzrSkfdQdWQ@DuP z)ps2dYMPo}!vsN>V{+_2C;4tJ)Nw#|qNDVMmoLlc=OctRl0UKt+rEjhk0zZVSH+ed zqpeK0o4RvSG4V4L40&9QGrj6wg!J&yu;n>c#sb?0 z5>{Z`-S7fmRTiz|{oi6k;@7>-+?*V42q=Z?%Z9}4FHWO;$eCX7<wPlaclZAsBaD?#G1`p}-9<-e)S1^5wi(x)g;z2;KEn+cKhm^{HceE<%g9Wu zKeV_ZXJx{XfQPXfseb|=4*GXJleLpOkD9x14)b^8CM)O!0D+17I00CB_KhU>&9CBt_y#ivOCUA(8&71YVU*RxVx0J?XPRrev*yV|1bic z%6WOVxTPigqtw4{+D-Msj}`ubeK8)Fyu}@I|7-iEebmKD`}glN6ddj<{{7xES+@WB zne4WIf7e_8J(7Pvw)<4v<7@xBe@s`ajqKt)JWLW`ZwPZHcwd!@dw1_n0)gJhwa^7g zIJd&2g}R1o4TdnUkCeL=jJWp{lHM`Y{T5v+X0b4&xYu`sT!qoz|HAo2v>Xr?{#3s! zp$s?E?4_YOhnC)cBrZ_)Z5X5*0{`I(E+02Hsi&`JZ1vi15=Rz@qdd>3!Tue-jJQ(l zR-gtAXoN_GIN85PnfDJ40Fh52F#z*Fj)>5D==*IYv&h@i^RCSHUh+{iF1Y(G7RzZlResG|;E~Ap`Q_vbL%~F0I%_Tv4Y2f{ox)RrZujPMRSXS!z_^eiJVa zR`&0CqKUXTi*Os)ip*S2I_`F~pm2PA9Bzc-%F2ZErY~@rKsBnxRe)W4G}m~qqF0XD zYY^-383O8-htq_7x5TVaV!|GXA z+M34s^Zy9TZiBgLem)=gPVwz6p6;379l5WN7jybk-N&-q7&jB2P!^*|GV^5M01U;TF|unnxKE+mekGh7(&}*x?9J=8IJ! zh7rJZox_zda``nL8duu8a2*wG%*mkD-$iI;2u}e@oM`0$RGlZ7r6I&-SQI}a4xT=H zb{9s~*|8R`?x~Ld;o;$JQqQ;Z!?gcQI>2#BNeQgB@wkNq9`E|Z>qmON9|=S6zeT(G ztqL(Vf&?vIIS?Ue>5kyQ7zi?h7-)9>?sRs|{2=HjXDO@T5mUA|n_(C`YFL-pgcefK&6)T+=50=i;Rg7Bty_isS3ByM{^d|ikT zb3Os(q3{md^X0ok&_tl%xe+X!fIzlWrJ)0Ds)QRwW3rMrGI{dN)G8QMrCwY5K@7p%yXOJBGfbg`2r}q=6krB01a{2fh6HLTN7Xj%bha9}Nv9H8 zq6+v$oVANr8d@n?u@@!+auzYM@SYxRAj;wHqM{2%z9Q4xK;p#X5X}DR zgfHD!z50ytM%eR8fbBEQbyz!?Ii>0Ch&pl!%kGBE9cHVC{G7i;nA=EhlD69g;(!G%?GOyg{lCK(0lCV z*CT!#wWgCjKs9sR5`tgZekqG{1r3u4zAu?*vT@Tf5Tm+#BTr`8nL8 za1=j8n|@&(M^fG$ZxEnA9@3=4t ziS;zKBYypf8}U@IGuLMBD$gj=%C&fcMH*%YnFX_MzcR!p+TGgCo%ys*T>ZJN3nD3f{Pzo zr$bn&gN_=V-T)eZG=Fl2X-vmG)9t&9sVG|xSX&B9r?{L-HY@@J>Iu9y-mLB+p)-ev zs}VBDDr7{`2#ry;+%o7|NX)Lr^-cg4G;~jK%j@Mi+yRCS8`^3AAyI+P#jq zq=H9q`}pF`+1EH*j|CQOBR>R-P$%cgb~HJ?STisZ^h3M5yFN> z{GrayLTA3@<+pgo#Vc>z&CGZRIo{Y9g0r3ZyELp!X6xf%%PCB5FM%vU>aA#+Vygb)# zU{?etLDm{_QonrdT&OQ|n0}yz4ac>0YZQN46sK)|{w`h_8JPx`Q`oPSs0PrNKE=I< zw^RYgKj~3`DYVR9bHA|Cye;j zO)0PLAfpIc!hS4}X7p{!1-a$k&Ncc5c&(uMrBP>>)Yk{0V}TvhK3Z0;(gY{+3ys80 zh-)0gF9UWc9I-D1rNg52&$Jo~YfA$+ASnwQ5)Ny0UFKLpgLwl(IaR?+Kd8$c3#mX`@H1CAUbx57^miZbbp(3eFV8{y z1;wk5rQ;&H916enJfyD2u*7R)ff+80d#}`Bh4T-JdAi4H@$Whti=rKwBgTciH>Jic z2R5gi2;3qDwah9Z!P1{z4~B=B>DC@C{2uXWskzM|&Jt%=ns;Pq20F(mpN^=z_cioS zo#gOGXSb{ESI21QJnd6_!a+f`lPjHDYdWUfrDwl2lGI)-5#*TAO%yT5Keddyp5y+u zD?f&I(^2cG3@)aY1#ZD-&Ri)#Erg|^i9UC(ja{mhH+i`OA+^{V=sKa(dG4AYr5iBb z;SXD@tssWA(l?4g??Z%n&422Z)0j^wON6RbYr|LnT!7nA;HL;nc zDbNKTL{_m&_g&|~E&yPutglc0@?G=Eku?;5=Nw#!SY)(BhF~N_U@Vg4W6Xl(bE_pGR)- zugK%~LeA}uMW5kBm0tR} zp{GmU#YKWNst_aKVviu%s%W>?+$gy_5R%uv-=>p2$3D(1Z~fo2w0+p#goG~d6w6B# z>xCud{y*UOMlP-f;A&tC_kPX;e6TvzaYS>vPXjK9zX4XEK%WNGK$(D|TNu0ncE^K( zY^Hyn&DfXk-96m(z6mw2Gg-H+oK4KykZ8L_%=}HNACrwjcSitV_?$JvDKLwrBMiE|W}` zlN*h|6rpYZZ2W~$RhlTyA|>sgN%lyhFeV^LS3o4E?G_voCKUm~T@md`D03XfJ0GFo zjBy=g!v$Rp9}r+_;=kK7`|A_x8PpdHTeiGMPw?Vg_C6GLr?yV-@Zi&Y-Hp`TXj#vP@$oymRfZ(7TkA!cckg~~oY?U8 zp}5t1P}-y_#$i(Y$SO>$zMm=xm59yDbd{LdXk zpF>b^)Y|?_h7;mZEARCxlD6UjMQu3%55k_Z@ z(gcdork7{=pfoy#eoGRXeLSE6oQs2v$GLXlCPZ4FN4YxtOl}KaK2i z>WEZ|+mIP9Lvo$q!X^3OB1Xj&e=a(~#JqQpy5^<4e@o*4=5wH(hf>7?y$%-P0B&#; zzOO$_wqy0i4R@qrcbQ*&viJR)TrIEQEceaF>B=1gnBQ!ebNjt8Fp85JJ9)594t$#c2Y6wqr>Ar6Jj~1Zd zFdh{s_vMzPtNzN8BF=GqM6A8&QY z5$L1#j&4*62yC?2AMUjApWn%DWjN&Y{}D)spet3S<|qwNfAUsNHptAeqtWA4XTx54 z=CLpZX%)*wN$$B)(DtoqCe$#MKE>0#>D7grBP|m4(SlV}_LU+&h`>R0NaUjp4 z*46{cUVo4C`Y7*F_I^0bM_+)3jCgGj6K>5p*xg->+u$U+#=26P4Al{djl7(5eR*Mq z=t9j9xTmx(NdsjnE{;r##;5Y3G1mQ?x{2Y|Vf|4V=g4jgQMj_S~xF0%s-z(dw=*zgQZB1x;bO7LP4)AvNp zzHQu7zii9EP@bs}EAbJdsl% zsxHcviHJmV&@qF?f5 zpiBKAjl1f-rYxS_2$mpL0CG>EzP;~|UgedQKDZ6iEL%mO z0b7qD659a2z$XmrNfj0dtH_0Qz_GaZ?F&NB-;06}|l3aV-zs3kk0kMGBb-s`?r1{T7Le~eR=sJ>v9|08?f>ncA(BLG#nz#oS z&ei;w9WIz{`!QIpY`vK0+uwllg-z@d6Mk;ZoY=e0&KO`0>5$T61CZ97ilo_~*#`)7 z1Bu|GkO~n8>XuKTKJur>F4EX_kR*3(xTO)pm8Xc&oQu1p;DqHOrcV3hzAs@6AWeIz zl~Rw3nC>bvk|C7oK~W5g3k6>JL%ju<$Nzfmf`%mG9+a>EX_k2K<^XB=~SB+KXrD-ayOOS_}n#$QN znN+K;IpA4<>Q=P1MUnb}v?*+CCr~;A&F076K^bJK6EkddK&I2g#N;S?dtNlK@YbA+ zmIwic_PsgLWRhR5*H~_|4>!Vt{q6~=& zVuj^r&ZdypV_x*KDVJ~Ffl+p01q2Xl;IZy{lNS_}z=M-;X(+ARbzC9$dG)xfS7(7M zT5ULD$+>pN-yf1r5`rLvmW2Q91-U){*GGdgdG%E=+fyi;C=<}^1Fv8sAS7f7VC~N1 z*U@;Pc8w6!u2UC)soWbqe0d8qBjZur-}uHRkmeRFP1Q(9N!@$+@I7AT@0H131=9OcF0~||!Y%==x(j`MrE4~huo17QM>qm05mJ?a#RhOR z1C3^=@-%EISBvkS$~)E{_T^LJ8S1MzXPN-z5Ly#rfjbra^w|Z;f0x_F6k&_vncx-t zl`}0XeMn7hqpI{|+3Ki`oxzSKN%uD@-6287FxC>z44WCM{9|O}QPWpI?I|cINU$zZ zGdcm?%x*L^6cmq?oM~;M>Ow{ZqU&Q(!7#G2R$=)l;mSh&L=VL~*+~#lQ>6l~LYhGh z4r9tZ04E5#s(3~Qw?&GrhU>dg# zEx!S%aiIEZH6rcdQJZk$L15t1S*%Kq*65R~N*=wY> zzJ3F2?}$6L=*Y{;-4%z$i|0&`{AqVTV|^6TI++#>0E$uTz3)wdXatl*%7?lAcV~3( zaS=)ibvfA(yL4uxWk^Nzh4mDD9!`Do=WL^>?fZ?UWZWsDpd>*9YN z#S?Klkbf*Ngd-0ZFL2Ro_}*Tq`#DJ$|LmDAo#7ixHt0)s3kltY)dum(DE`frc31h_ z^}I-p5(%}tb2?<_(8MSzDiTKvR1eM4W9U?&9%Z4XrY2J_&S-(j>(P`q5lK}A*x7#j*an8x^QV17dH z-aUjhi{?Hacg3J9jH{6Q(vq4NYmE5MKpBP_1e(b$|765Zy+AP73Iv4^2|RuRdua=2~-TKid8J}-3UpLRn%05lT;-mwl)2t_i!1J5pm@k`SVzzxVFL0QXwqvQ|( zeIVY0Ky{&u>K-3&K!LFy0pBGh*8u5?fbC%K88-SW3I zgy)0xj|gCqix@LJdVs@!*5ZELn@>P%;Z;ll+-KzCvf&&W8L7eft8BMf_e<7g79ya* z`Gjn5-GD_{QONHL605wai4kK3a3CGSrG+$|^(PV##vQ{y}q7~ZYORWh+^4m zasvYT{xc2MTMLw)Y+@6R{(DLjrq zQdkv2M#We8`yh*<02v5()kd*R1`$BqG$&Bu6RG~aHiuk9*J0@&D4HIE>hMkgMO;A~NTh@hpERs8=_ev~~uo17W3sR=@@=~OUTt0P(x`&EJi{`AK8Q_&hwNZ1E z;nZ5_DaFWh5`i*dXziFJ!b3lRbfru;SQ0WGGkUO@@HrFMz8*dLZ~tCi3(f&@J%BAY zii+e&>OQb(2xe@N@sHyIg@Gx?e-Yn|5NkSr9M}s0fRfP56Vh{4H{8ZMczAAOQ*D1pqu5B|K=_hT;HUJ$1p(LLb1v|`{8dgFfNhY^QlgO<$K zY?}rM6iy-E21p)q7;XU^Y$|Y_UX>gY3RNJJho@&N_A>~Ke&93baTX_Vd_G!QVc~X2 z`;R6>{43V-(UrZuE;6 zdx!z`-_sd;jCz~2bTpP+-}t!U)0sUax`(tfzj2oaKs7~RukshKeY_$J$S)m#A9a>5 zkte~{xmWXb6^`);S+nOj4)Fjus43Q7lPri4{Z z+%$e3KDlmu0BQEvo9MB4goQ)UibG9JaPcn~mIm1gNPL)`HeAINsfnVz$ls$#*TD=h zLioXfg*u`XC@=262MV-tVrQO<{8`Zn{g6Un>H#rfO{e0%r)U>Q4Pm!(I^%SM-r1CM z2+IR44ez-({Ky`F(YSd@vA<({@NA;`E%Z?Km^%>qT0PCy$!YC2kgvcX{wE#mhdjs2 zcoSs1l87vv^pEk)p`iQF{__8EQ5@XtUcBcY%@^-31ZGf;Icza8R?P^H47-mOBbLo&|{3`nK_T$Ky-=EdLBv$JFed9N&X!CiLV z#wOUuhZ;{-w86#>i`u@X?S>@^bP(yc;fCk|V2102Xd$+3yNY8()VR!-e;SR(YN9(@ z<;=;lMjNFj#93t2nkmYAA|8P_2(Q|HW$#bQ8QMQ!up%$vbkGD1p#UE|-`Uv-#wr>g z^loVAJDf$R^#?(>P=uTd?Xr=aA&O0jIaH)Gfl%T+Iy1s>5h;AV4F?Yo53!stYL$58 zp|2#PQYff@@Oj{ZsegDyg@sd&x}GS$YTw>9 zdycjcz`7dlYUHAjBbn$B@RLPVu{Lc{)hgh2RLYdSWs3?L8?F-N3ens^6MVyh&y z8+lJe!9!2~+YIm2y*5}T{3bFJucH->!Fkm;IH+knaR1q#zbae|!e2$5JGRUD z(!UE{0g&KxbWgAKa?{J+B5;uG4}gz2Bp<&GS_YCcSb}mNZd%e9 zlj06gWoTq%wfp$n;{YUO`GP7fo-LWjfeVvT#sB{^Vdk(03Zn$J<$t+t)e^zH!3|qWWenLNg(|_#?yP z)Z*hPq$i?%N@EoVqJ;|g!sLVKXiH9Sn`NKBw;sc;bpch@iY!joJVXz`%XAEf4jbkS zdgf}mXye2V@xcPziK z0&b%#^M^b~z0kuICG?qIVT@eqYQyeuMLq)?21Y)4@`PZJ9`G69h^&yV1GqXlJzdk1 zNxv5zB`OV6iB%$FC^tz+$!qPjcS~AmP^MkZEZ@6#4~~`Jr9|9-Lv^0~H)OOJ+eN^3 z&@QA1{+wdiaFuHHe9_9H9QqVnxmOFt>PO}egolJ2#svWLWgO^OygmjFjykwX2%d)+ zJ`->`%+s|G#b|Lh5owNv#S2##mFYm3A)p@-hT0W(?1PjX0&3%lC;-g{$stZJ=RV61 zIZ8YbD>^ojGGkX;W_W&TA8QDT}3QGu>P~~R<)QiwC=9ifep%)(S zb1Vu{KtdxH1~77BEPos|WD$vX#8T7jwI%PN1(zkpUk*alR8d||47it?UzFe)qL3L? zP`}2ZOL0|M+_n|RAr3lONc45^mF10Kj5%HV8Kz^QY%t`y_hxsw%<9yYj)1BLhPt9QZWYyuc05D>-zo?W}xoKY5`fXtYL z6uJU%Wn4;1$|UN(16u-*0g>1m2wS%}`EMYhfvB6sAJ{tc=Z2v&GAF;HEp|->=24kk zxsqy&xuUm%gr5&Y_SPUF2B8a$B;mls&CN~N=Hdtp9G8(7Tm+_c3sfrsq+^ef_52!v z{$UAkDgdCBkO45`!ZLN3%lfb-0*}Qt&Oj;4gEKY|w{IG%Yq-YJ@a;GSD+ht}Dm3^b0cI`+#5v z;+PRFoc(&a0<}@O^zX4>hJ_w~UWu>`HbWq2lnRtwtVr%V>z@t^$Rb+U^m=_QaT?;Qo&4#Bq+(SV#$4YPA1Ad8P)VY&Nm6RRbYh zPeb#rt*!0pZ$RLHJytpEYRWD2GXi%ZP#{)AF*coXE2;LNm6&_0LeIVHre?9j88_6& zP~i(yV8}2LkaX8y)4+Lo;8=K_L`*^Kveeqy$%!)+7&MAIW;qrTyMV*_ zHlSpp0tU}ZG;55j`c_uXPrbYE3H)CS7@|zZMS@HB1Xk%)so;BGTU*I|di5Z6dHLTPK&YwUN+C7k z7BN4BJ_S*&Ub}JYR%M`TQ_)T!E)tkr8(rMorVwfpB}dP35YxIy5X}j+)fvqzDEDwO z`=d_1bD+~@H4too=AdAAVM3X4D+-B>oURNrH=hqQ$m61P_w*e0@F*yUJXYclY>Jjx zRJ2KYj8x9d>FtAjC;8`KgCWz~V7_WyVqs^m#higEKrWJSb%M>_1;Q0t$<4XaNZA2$ zRTtX?CV1VtZ98_vsR<8e72r&mZntlk1jH11Zu>wFf`^phqekHJ?t=#(;u~ckDi7yT zH3S5%2%JOl?s3tFm!7q$&=#1=Vj#+2^aeM99H0fNZINJDSZu>;0|6-Rjm094iH6Y< zw%2jwO_VXJ_Fw+$^9hPoWX5H)4gw{{XpZn-@RkVSUP8X-JWdhfNw1r8KrJyZr>(*isxhmAbXOx zrU%G~?%3btT!KCmjmTOYr~M#BNQa1j-e4^0TxskUBrQdp4Wx+!L^Ocko47Q%(MV<9O6&~??D_3;rsNJ0Fck4+Cddx*mc%zTPy4IG?M!x{MuOMqN=pomCZA}I<9-d2P$AQUJVYC+!AH4)0^&sXzg z3)0KW9}>8!UW+UHL0=BajILfEc?G3g+t*mm{9Pc;ibEzNnnhn96buSe_DEHC1&+ElXgy<-XkPIC(c$W%arVvJq|GhL`fKr5Dd#u7quV0l zEAZH86Sc)=vGW@htlq6z!)|^3RMQ44+R>{i9Rg1j+W7X~YH3s2p}zNnAKm5)cXPMB z=l?5myV0(@t}o_-?{X_Vdl?_PacWUoRYq;-hyASVts|PFZ(FWE>roIK-=|RI*PIHC z4vvcGpjJz9EEB_?+)zK3UjXoo#iKYXQ!IBomRjuJv~gqie1>J)v(5TaS@xHvqf!g^ z+w?S)(<-=k-?))~|B}6lh0Swufpc4iJ6k1l&&|~z{);v6f|(wr*wFBupD!)bMnAu=Q-Dq|C3*kuwT9f2 zJYRMkW#&!9#B$`K`!6kd99MsZmoAI}4ya)?#&XlaMUrjQ;IpAo?iUqli!L{8-z*w= zQhM>Z)^Mw&?~1GQKF~4Kl^YI*2gtgujNW{GiW`$3;u@>a?c>aUK4JXQr25l+$U+GXKbTIrk+wOZ|Qr=W1qY&{N$Q-k#aG}a`6 zn(QhhxrRQy-*?N~YB2Z9x+Tx8ExNJPD$mk976r??+ESV&Uwu+S3yFl;LybSC0bD^% z?!RMm5ucTO{O>cZ>lqTmA@?N#1B7P>bI1xK6UqjX={aM0+&n4OPP(9LQ=#e}4!TuL zPCpg3bShHSEA7(kV%Xw8gf#{1ru9GmEA%$f9Q+B549_^G!M+3XEfiIU+v==KvPc}Y zW1m0QhSO@_7REi2H2H``BG`Lr2g1o_ijw&xmP9I4mHeD zwKu>0JMQ;L5qeOkAEqdf*Mee1b4hY}EycIu*!b7K_F9vV=U$>l6u_U#*o<=H#82i7 zArIqr#c`_(fRn;pdt%qeAw`CoRG@)%`S!#o2Vn-V?ibO4Q#gDWHy8I@Oe? zCZ(4xh&CeU>Ux{&7b`tH?!5GR{&5>q16?>1&}5*{?=1}*bKgrlT&9=RcfNbvW@PxY zqgFjl0;nJuek&Jo(*yL@9?TMt`rE%8bGlE4Rd^&RHM}n^(z$nVSZci4fVshY>mDVQ zd%7P2RJ&q_By2tJ)m2h+PduKj(r)skoL-j`0CN8~Tv zH(RF=uausVAsl%U86Gh}aqU|4oneMsOM&dT4)`?;QD;9%DXLx*eCltI{MQXi;>ECR zB#z&k8aW+)UzMiv&Y(nNzgk5=f+EM3=6sIb-gVmsYS%n4A5D(loUWS`G`Ic9c@MJ_ z`@+5rDzUs>k`Z3ItfYHPC8=QpGhe;gch;KLdpB?7c7!1@6d@VG=xRfwqLiVm!KrQzun7%H_*UzjYq$re zz^3MU_pxvFkjt_New;r$esgTh&?({dG53zk!MEb%KU|miDzsHF(?=!h$UWEmg5_K3{F<73Xi{aj{Y?a zynn9Uo*tNgJhg-IJ1+Cd#wbCf{aYes+?{R+dftr*^C`0FKq6RK83w3*`?5F}tmD1b zFFbG+I0=k}s6`lCsy08NqFGofbJFNVz70kxo;YEf$(wASGpez@XzPJwm6+r5(yAv+ z<;$#4?GoJ!DTol9Om1Q#dB$akUK6vVZ*?t?IYZmk_;xE-cCm9`&k?0h)CZ*LXq+?` zrr3)N*sY3+-nY1)kLQ@4JgPhxZw-9tIIkbp7v{sT4~==w+lG6(x#o744QFW2jc%G9 zYuEcOE3mZMH+Ggi<@bW!Xg;1cBRl&^B_*0;acS*;iR`+(V=Y7(5Z7Ol)AF1x{oTYa z5m{jp^7gwWUAf^Zmv=4af?-Mf9jO>G1P|3Itp z`!oy*Kb%Nz!WtB!V;v4nbYG-1e%;8o_^a!sVN74k+83Z0eFN{68SlKNS@62`NaC4Y ztKSR?EDe8360K2+9^c#^vuve%T6*^wv<+yPtKYxJxqJ--f^POiiE-LS7M7tZejT0L z)uE1aI97Udsb4<-m|-_!Nq=5gb>CzG-)ly}-(6;FZgRJ*!~g4jgY8eWBq-us`$LW+ z(DwdyUM->mJW+DJM=5*k9?w26#@`v6E1YlHI2~f7-}O`?Cq?(ckW1`Ll@QH@ zxoFYEn#Sn2+&!ps?W5CYauFQ)0IG@LJJZ2=~w=_Y9>Y3jbQ zBwYentbN%h6cw*r0?u*-C-y~H{6ITo{d&#aa& z?UUilt`B|R%oJzH_{(8``fxGZ+MkxROm%dE+NqR153Ah=bBpe}3U`D=V8~pLyZ(za zQR`Jz<8(Hgox#K4v+$b?Vm-OMAcmv&@qElh}YG}TlaoxcZJt*!~$V9iQ-`FHXApCISd5|wT zVYWz!3LzCXiDE%$BFr^P$djB0Vkj-58S=2VDTkrcz(B9I{?*8n=G>?JagJx4p7M0C zw?_j;+=QT#PnS#^A}ya!bKF>Uv8&!y&UJpKKJjr|Hf_AgU3=7JG8Ub^Q!hi_Sn1jx zO}d_vSmEI_{XGa?72MVigudekyi&E+aKC&{Ej{LyUn)R zZ2_aN9S=Iy(%2k7TA6A%AIJNCz#Tch)95PF;l@JTM+2Ixn!gXUlQs^2`z$r}L&%5Y z{g;@&jhD9mw0yXz=U#GG3j1{ZM84DPM&_uQDOyXtSwW=88E>W)$cOe=mgn9bc*i#} z`v2DV<*TYN%V1z(Io^JBu4!lf3s@e?e)hOi=Inc?6{$C?bQljOY zJ~SRv4pERkZn|4Oe)hf|k1pp5B`2RFUdv>7(DCi|vgNloEAwxK44j<_-JI*t@4hb- z*@qqZwG-ZbPtLNqRII8CnAj+#r?lTByA2>SZjftW{Yh}Q*K|}D3>YOyGcQHcO5ia} zKSDp8`@S#yvT}7gqvJ*B(h0myA#F4XUsjo+2b^dU*_|cbc27&K>gUSxwN~5g<{35V zvG?gb<)$a(a(yfYrUZQezCbX8lgW6!s(D0E_D#iQterKAs2O_&~ zXcuo_tWzl2re^juG94!Z;j935DS(O~-UMKAJD?9oVJ2a`RD#@ccJ`-cz0ZAVAB_%%fqe_&@lHd2d^Q9rbYTWtL4 z-v)P*q*?jjICCw1&35zr+R;WI(WmwHdZWUL3;P_;Yk7$e<|h^^6*2B?Lv+GJyp}mc7JcD zf>_C>)nbY%>ccv&f9aX99rG_QDew<7 zI`p%aU03hMdQ-nO)YO;dVinObig2rEh(A1^ka($O--+u!*0(e3#thxxt?l5m(d4h$ zoj-NVbWfx_Pt#hiig#4Xjk(7Mk6NrT?bvX>LW#R4NAqW!#eO?D#b?L68ptvOFdK>F z3*df9AMtyA#Dp|fQL})i#n4(aQ6M(O);`S3CYRk^vYzcJ{gx$(z1*^v9JO`17B{l> zqSo-WOnG)2-WrHrBrmP$TTYukQ+ES>JVl|TyR8xDQEtO=(Qi8+DI~c+|p_ zvZ#%$j9&}0P0GmjPrg52>n%m;=achs<(%4;nGEV5h!+}MIom_LP-&tku zez5ut0C326WTRr3Cicz-B+t`w56T?KK)UMSNFRI_VCm5U3C+qk3^&Q2g z=@>bbdLN@gqSTLkJE|wVr1^T zVVuq}h5oOPud2yQk4rH|pO{?oe6aIyab0q@+_0|X?OLAadWELUZ@<*KiAO3?-zdK| z^s09iuXe7}<+Ky6;9&?i0FcrYs3H(;!X;w^lYky7s``v}G~MWm4|4Eri10I7CkamJtc`3;gVv zeEQRCcZD&8yn2)lEuwj=rGhEXrT0^wSDXbEy9{01GAbXRKECILi?>m7$u0NO_vOu2 zKX1LTcdx+d+5^S86CP)EB1`|?`62pJr{ecOtSqUzc^TlG5Tgd96#nx27X$g)_6GwQ zcc`__mU^4gaJVNd>qqkCuG`b*euZBycD{?Sm?f@P1dZD%PFeTXOTpn2MLy4}K7)@pyH2-7}Ffp2%w2aG5vA*p)6 zAAuMR(L5_O5>S1i_Zl_lHpp(qTX=*ALbOT93czQWt%j1cR?4D_>g_TY8q!nl+_4yP z2+nIi7ZGwV*oM)j;JfYJecUaw*d)H@b&;#7gEqg_r9NcI6y3E!XEx{v_avh}n%-EQ1A<%yNWKPK2+>E9@c;l6djS*@r7q|+JE*kLxazl*CX1CP@G9lm z#de2Tp}U8+4FuvnGz=%KI-_WHT$c*QcLS{Q4REj*v=fUr?cehxz*leP&qFpzyP73` z>aG37iEC>@>0)Aq9mJ|@8=E%A)L+tF_;J|JiqcRSzF{p_q+yoPhpTcr@*y{=XqnX| z2PK?uGl?4~cVEg4C;2gm$PtFE35r#c0k(jwJd%q8Dud+vfLSDPB&aH%R?7+?G|4`m zXGOOJqC$oowY1SNXyToBN5j#{6kL6WA#NhIu{iT67gNZuVxuCv>1)1rx}Q~ z;h>b3ZeQ6J?OZfw7|EH(_EB7`eQ<0_mE(Jl>h^&KgP1pt<|ltP1f_2(=ZqZJ?O6!* zGyf|)^#zdwz3WZqLuH+J(rZ=E8Tk_rXdA|90gf$?=YB^es2u4w9w2yL-#9 z^Yk^*AClH4dKxKPa*KR@cU#=XelIn9CBb_0DO>596BFK*CEh}r-?f*$9*nPEQS$n- z_xT~uAj1@z8zqKT0xlB2t|S^wj6LX}UHkT%;=zz0wi3VVhp%4XkLD?#*&rW(WY=n0 zt|DfSpUZ+j3k$jMp&`+f5P9IHn|BEpmCT>>rL=?V1#|NBNuzH{p^^Tk5C%;dZk}^-7K%w#S z@E&e08Jr^w4MJMBU2X54Uf3JJMpsu~%-f=LNFtHHx_13mhoYbEDVQ8fQ)~B->3*w6 z_GZpI*7DEl7MAMzx=)`OD4l$|LwSbz5+*(s1tu?K4_rO*xkPLd{dcAHq2jdykmQQnZ(1t4rQ}`lcG6Dw^ne7Yt=ICgH^Hj zu0_66&Tx+67uxlPfhA?#TB+M-IqBRQ{hKnAG`DI0pe}s#3yDn8GR1?054np4)SmhY&MVvls3$45I zV(qv9cZ}n*W6~G~L+z$fJe> zv{zTmuZ@kJ_2ZKBDlp;IK2b=eAbMjLZ3Bx)gjM`qzo;7RSKsK4UrOM@ha5?{Ts>w| zwCQVt*pZ=MeO)@KF}yHY$a~J?+}`z7%$u!_JQX{jIIBYAo)7`MM_2=?SePYz&Figo!yz%7`MiPaK)=Q^6b zMVee{nR-9fx6JCEwX2xujOuP=+h=$wqZMXCfoxVsESw$h`n0RIho|{ze0DXfJ)25P z`$Ybe&I)($!_NX97C%PIdC&12t}u%?AAGUrt#30e%{qm@DE{T|U ziHW3pV7g59l;G>?TBZt>);;-!A#L*P}oZ= zEv&?Fkz)O=*{`G0Qi1A;l8UdQ%oBjStBOg4#ywTpYJksxk1v>;XP_@a{OJz((X?Ai zUug$iPGDdoOLddPFAM< zL7=PyllFz*%-bun>G};mE3+(J46fgEfE8+Vv}#ljP2#1-MwNeN>T7?`^k%Ttj}1CD z%drx6B>(N6#DMTWFYnJU2*QzYx@d{`U|@z=8#6o2NU{)Ahzl&AXF^Z2>;i+KUawsl zxb-;5=E$Ku1{IMLViF<@x#3I=n+&RI;}nknDP~DgL75iSMap_N>vkW8HHu$2pJDb;%ip31dXlj_Voq_AqAS zkttEx9Zu);>6Q0h`Ln*;pOJNUfDQ$XLCcMe42dVoYZOv2ZA5cy)5l-mp*te@EkZz( zlYO{9X=rOJLeat|Z2TAO(jMT+i3E)u*?%B~?NUTp>AuCz=GlwOL^&5N+&Pl}$b4+W z_76p&g3a>s-y>#GrHiG!p4x=#ejxnOiv}_e2)3njEu|ajwcomlf%G3j-dr3?AmZpn zT6ZeeR37I;jmLpS^iDsb^Y5Oz8jB}h^+{D3dyi7%z@Vj@_T8`e`0wp$x_J>WvQFTNx_$Ww! zp)_rFm|GA;=Bp5Ko}ej}=F445_V~O$a&;*D&!L zqvs0=3%gZrd>)2i0(F3&O-T0Hb5V0unt4(h5H9!3 z7mS)B16p7UdW^)G3#O)NP?5?)ze7|K$@yb>d7Mw1MV5>8@_)Lv?DOp8j(Lu^5zm>? zYDq3Q5ZrdKof6>^-s3`3?C&zL#UpMmP^a33ol$3F2yuH2>aCza8egTIboS#gbnrGp{SS%t>9@?Q&-o#p1-k9k8 za*Uu2Mt;M=>k?NX0YSWy0r?S7Tl~#bH{l7b3CxEi-X?o&HIY$L1XwnQybAjBWNIz; zhekxaFty-5dml0LNKkAN23ZSH(8cB#43O>+voGX2pEAtNDHRsasl_vib-JS2+nWF;UlmZVZ;0WyR}z!9&*zY;DCsA6kQ(aJAgJaZrXGN6A`eHlP6@kxwS;e ze&GISgnK&;Q9H7j{~L(pX{>Z$y>K>xwsB5 zijg1T{gW}E*%!ns3F_Ue?+*1iZn{?vqp-h$xIdex`P~N*9nlEp1PTcg8Z-%ZFa}YG z>l%w6_VDDeG(tb4!5|S~H|S**&CJY_e)3_ZR6-L1Dl;BXTuRR3ScY)!{mkhOmsS(!f z=m!RFcM#2==YDlB$vg30s4*mFR*n>)$(0MeLo&FMp?xB}uLqtisagnT2$U}GXKuAA z&AM_^+{f(>O{ehbL*2)6eefno&Jb`-k}}3B<-`v+j$NJ^hzC?CH_<#1i(Td9RB{wd zzHm_vM4HE(2ZbCKG>mL#b3mgcbPpDRrVxw2{0a}dfuVruKnTqj@yq|QM&U`|$N-TE zYE>c`xUV4zH6qc-IKB4;9=_B7VI`!jB>9=d%9C0hA~_QC1?#Kg`SaVc5cZ?qtf-tK zAxsDcBH~{R_x4*%Y^c8Q3A zV93H+EWzynlfW+2u)tMBEx!m6P!%Q2_j%rSdq|M2^M-kFJszxl11jkYJ%alG z3V`fhc-F15J4g@*%yKV&+B2Ht;ab56vK`Mq0XleMt%ZAtnC~=?1xcL#p5GG1Vv)hCCNO`@2)r%s2s1m66p2S zr;!T&<<|ig@7x)`@3z4%Y!IT&Bx@FnD;9OjG@3by`Uf7JQPz3YX%3n5U!j%!03ofC z+yUEXSJm2?(c9@eca-B54r6{C{#O)-#L#Sw^k|auPl0*7j4T5z?3~dzZLIiMu;88t zroP!==p~>l>ztmoV>x{r$i)dw0LSvYPqrv@pTaH^Mi82H@6X_Myo?o&iFnwxOtQ;A&ma%67P=X2 z7-+`}rZn;eM?poU9sG5~Ob<>5Q=wPtp!fKO84qN}!hsG4Mw0V~^6uZq+iLkn zedSpe);xjT{zP%XLq??_=e#gKPiBXa2m&mT93-4zSDi`<&VPwGEC|#Iu>g|F2Q3O3 z6ZTgHO0p@97V%iJ6eJ4Af;RhzbpRxnZ@IlJ5~Xn zK5m7;<~}`aF7(cbgP=*V55t=j68bRN35ypLU#k@s^Ziyr_mEMc$5m7|to&*z!h}o? zFzL>j*=?ijQceNL#gQ_7QCm|J2T7H6pzvZ}9< zf)0l=WvL~7pZb87kxP0e4(-?RX;Qz>fc@M?d>B$w9Suz{gy1Se#M}pc5e38$@CJ!`Sb_Wy)ufbSe^yOREpeNOfWY5Z z#jU<#c+q!>m`9K5NB}r)-fDaxG+rb<*gVFyqVZ3*+Q{cXsGTJY;1}q2E?Rtat}pa< z4+`zwJ%~k0Pz~6LnFMxQp)$>Gw^QZ_h9v)c2DSzv`S64|DhXSIC=ZZr?M`i0 zL46=gk)qvcTQL4HffnRsqSmXkMN6t&A56)RBUVmIVH#u3vD2*)J{tQ zx{dhQyxZ>Y&4<5|1crhm!70YiOiN}SV3Njazw4>QE&%a0@p+=E%pFP2-}^QhXD2k} zT3@{}<_Sp$qHspHKsFK65os{S#>xGj-+}t%3Jt%4-`}{au=UBDXoMLlLsku`6j5#b+x|4+ zw8`Uqrf2H6(zb^e+CO9ffqFfPsuwHEaX1=xGNIr})(No}q75XvYjWS=!s*9pV9Ou- z7a5F2{u(CPqOT^tS_HAi zqXooCYmdY`5fPESOYQM=P7Ex#mRiB6*~lT-xbF)N&L7wr+4P*!Uw$LvrVZnJsPj9l zvu#?_%YT13N)JcCL(|}ZfXrZa$&ZDEB2CF?8=b|$StpB^>*|a$_z@yLbd$m&`(i@Fkc-%1l*RIYSjw(Y!DY?kn0s zE5i)4z~wu;V^ZaCp9L+Fk$Yi}-P#D%6t1_7?g zK0CES@IV$Jh#E!TGz-hDB*%DToDV$n!?QpFzjV2c2)LuY8-8U-}**O0#j|7}{)SlKne$n)t_oL&=ZQv8OXhYtqn@H6A6 zf1&>rY!I#8;*0(1>Pt*K(mGV-Z;y(Y^@hVmAvX?GU*N}yMG}iK54CwVI_t-R8KYb zNlUjgv@a}DPYh108ZS8P8y;5hUb|zQPsuFJS-D#LOsdDPH*tXk#q=al*GmCG!C>Mm zA{82Xc2xYjQXE_&rIS17Tj|ym9l4-8&~ksbT*9|7Q>t$HIRmCpf5FrL2)K`k-s#o( zztNZBw~3c7%_p_MzSs30s z%yQGKpSiL(*#vhsPoDAh%^}*#cwMLuabJ>j6_}|Jy;OyA2q>g{or6pJDtG2$&NIXI zrBX*qCO=koXnY%Oc+&kbL3PQuL{Yj>{%k(|#R$K-jm*2lpe=|;`ZMuPfn6eZ5^!rt zc;B&O24XM_n=hOGM#-;+JmJ?k5#QuSc2ZG1IMz zR!MU6-gQCDF{$W?WwiNPUWb8Iw9+55eVdbiw0nqiNSqnKD(}i(KOE`G$sXpbIEwxH zzb+om(46i!vSV3kie62;}T3ZM9G82ncEj6)t;Xw zmSz!bboP3Q@of6sO77mu6s@q7y4{c}Ux|tQwB?3xb3yNspXe26j+Q3B`uujuW6QmJ zT89ol3IFb=xEu$3-S(V;0Vgh7Qffo8Sy13tcn%F|sde@=?x+98-kV2by}x0j8i^(u zq6|^UR8o;5B_xs(A!C^mGKWkR$`FN+ObvzxL*|(xWUdsMXOek{%;);l@3+po);aIH z&UybmXRo!_-n(|5=lMRL;l8i?8n!Yq{hZ%qWA;uU^VS``l(V|yiSvCL%O~G2U*FUv ze(+PV)Uo~^Mazs)F3zY>kTK275_*;*#FkhLx!zP3Y0!awXELa!U}!J>kGS|ha$^b4 z7HA%BCt*l@0Ll5mZ27gRS*G<&-;$YU>27g4d|R({`s)Ou%^q&tO+&N5RLW7!mZO`3 zE0h0D2ul`}EvQUe?N(yqMn`-SVx^DBK#X9vOa2rM#Fi78)L21$yB* z6m(Fvqe@Mfcc(Xbh8Fhcw?t72u=?SUqq-2aT$BFry!0;~09DFd?d>xBwFs&q?iPgZ z1#M+44qC%Z$c_ntn}I=f+I-QT`-udbu-T)i^~W}Sj+w5$8tkAdm|ZJ<(N)vv$0pgM3^7|9|y0W2bnfz4|nXzFaZNX_mZdK0h04x7NDed?94NB|3* z11$aKS%Ie|na9;HXPTmN37rvnEC|+#W_?XUbW&K~Gh1&_S zlb?Sqx!e|WW&N;bRhR2}8-KfV<%K+VR1#V%oU=v`<1!#Z}Ua zKWxNhgxkx{W4O|{SncOo5nJ1p)C8mB--oszDNkHU0&IRYX1gN(eaQm%P%uSW(&{eN=;}=!P!W=~jSm=cNWYkcZnRr5 zT90s#dna5jI<2i)s3Gvy*;qcqc)hurNt4x*Es{Gvs&qx(6PFOsERGuK4D@>Ihl&2r^M zm=uMk>zA|7`&wgz6at^|Rf#@J`#tJf*B3C=n7|+-5`wHC zWK5Et5Mbq-??vAVaB>mNT6`mh*%ZX{6BcUlHrcvuTQN+yh8)s=*FiBMB#?hlai{2; zi9(+l+Up@WkhYTp$;RlReU6FB&z;t&Ns^2);Lj8f=5QzZ(9ZF(UcQJKxY~+Ga-phu4bdIVC5u@&{R*D z_O!cLNqV1^+4tyfuykni{GUIc5hwj{nqQ50qrlgL=w(@w;p3D7xfkALooR9b8Cr%R z9SnYadYF0HN%X#r0uBL1`)u_Plbu4=<)JK33w`n?#>jlFF7KKR-+?ZFkIol6JWHFk z?YsWV1z^dbo*i{hI6r&iW^sng9gV`#w#>cW51bT~`SlI`71BJc&2fQsV?*?zBYFlu zkX8^Qp&MR(8yqIX}iO%w?2Sgj(3eBeZM4IiKnjXn~cIGm+)89 z9)C-9nU7P|-iAgDcEP;g#P-^L|#@8N+uROfNFG9kpVerWZJc_)}JWXOcH{YC8 zufP09r2nyCTEjdY?ZjGqdEFY`-s2zGm<}@KZz*wXyqlP+zW&6wxT=%S=MKdf6hCFW ze_-<%74yETg*VFZ`@<)7L!J$J{AL}WwtV2-?2ukX$G{KKZ7Vd-L+x zkwa`0jjGSh*2;Je39i|dP}-;8K(n<#n6>4SZew6|#M?i%{tr!eQUwi`$@r_bf8L~H z+biI%QD&8?bNOCw;5w~uI>qaEOG-u)%#nCkVX92@J0Lp}Is~zI{14f&8$1xS75C9| z!-oAQ7`TbNIjvLWz1sP}8zO7n3U2N+6}@4VUt~GD=hS>A5BPkT;9lOezDv2u`)qI| z)(x01UJm|E8+mza%L|*=j*WRljPtF#S5_udb$X3_g7G_@+euTKuS)!snt8wbG@tm0 z{K@%}*0M9LRZlL{?k_%4OA&wKo%(tak*hQ6y4H4RQ<&f-nVVy2q&L;DBXG5T)L zzF&v9O04-?Y`mm;d8@bk&@CoT&V3hAibVwkuGY@WZC{?T{Mko&T5C(Dz<>{RL#V;@ zy*Z_IboCOki!@_7%)_y>8;qDsjOGa&FJhV7ys%z-(^`dF;jFei`IndEOKb(# zc__KP^Uvbh7L$6i5@^ZMB_qt6@v#a2@oc&mEdxks5pHIcjY260K4f3rhbS2BtC`w)CqXtbDp>60X#=J@VZh`|aa? z`HR=L$%ZK1%vn<5@jlDp-Xz7dT*95T=EK$I(|b3yi5_#kqW;IuPGVzL#XuPOJ@kvR5&RlD=7ut9La*#0EC7=sVh?zQFR`#%{C&_0pq{(9%V z(9fNeZCBq*W`A>OzS6^KWVQzio7k7oiZtXdQF(4O+Q}Pp>zSpC@ENU-vNn8A=IC=| z6XlQBJ{oGN|CqPzVlgt-;*q|QTn296ii%8RdVlGs&@;r$dUP|F>{(;`V0A~Tf|$t5bKy$6}rju(4LTG^J#JB4)0Pz+=T7u;CyUV89uN2W zf+^|(>WK~1EucLDQH*9Lytkd)*bKFWTW8;LdAsQ6r_XkYe=;{_)AZ24gy zhno&C`6bo7o1;A?#5=5)tuV6bPf&%Q*%eA=wkNa#Rdwpj(r5izHGBVR>j1U!W42){~ER3KCQ7MH-yQL zZV;`|VPdXTUd>yi^J0}-su$;mHH-oVDhJn?$bcHS$-Bwy=HkjzD-PD63YDxiZ#dmL zxMPe(s+qC3ejR!#YB;|!uJF&B`nkLw*DzZuyU51l*cb8zKo=)lUn zYt9m$Aa3`7UvDdJzf-r;`y+Go&z5_aLK}TAuRo!FVz8(-;nLfdlUFW2c<^3|Cie(y zat*kfCjQ?X*g4gFkBc5L_RZaKo%)ieTiU%mgF|32_Y3ZGGnusze5mAG_-|jpl0{f409;cJcNyCfiU&*N(0-+q5f|>#6>F z_t`5C1|I6q&6Z0muDq=mt+N!{s|AnBD#;UvN=O>fg)cXd)*B#47H}YmQ zN6VS>NA;Q1=kUBeC!*i=qE4f5+7tt*Ulu2Rws=fe-_y8>;`>R*@wpv^Jeig~eza&Y zDL(VQ+H~n{FuJ_rh2LDf6;j|(f_&>QvRtSLGz(4ZMELmu5lm)r>JI0G!9N&9#LL^~ zKf0^H-IfK(Kg4Vt^VD59TfyU^rKeY!kQrr+N#0PmvORwpHbK0=AA>?J-I}Src8H|7 z7nf-7pDFYjcv81A)hpLFv)+`7>&?0HUB9coD?eGr6tUHDAo9c)ws#n@r|NyUyHeL4 zS+1(lzryZzho*D&>2-(I_zrJZK3m0b(x&Rrht~Q4SA#Ic=Z1<#ap%I$Df+~oJ9w%4 z!NFf@n+|2jp7GZVc^cKKNN3q0@nX1YZs~*NuWKh;>Ye0X4uf`0Bboy&hHnB5{_B?h|z z!!y(eeOc-E@R~^vT-~DjQHNOB0D@Tc85Aee!0U&018;&; z)OU#;E|A(6enI_X0^@zjvpv#V=PbGm?LS!K7WWGwIIV6{-6LD;}FM31qi zh%XIYU~_u$_IE*Yvc>CC)g8kVV#RLEZiWfEzNwo}NmHMMZ3qQ(g)(p`tdf))@I;Nn zc&yK4rvjI_F=O>Fw2Lv}1J(s_wd;oS^Kjv+qmr8VtF=ENpiKkhp&SA1U&^aswKiAoCD=-8ukr*ERVjh3I>Nr$RO=h)I zzCTYnOzkzaclkXokY=OM1RuMt7~PZ`2!DYU4GFzL&r*3b!P%+v0{e1@SNWX>#pf6@ ztgoHS$yG`5r7g}|S+cdUx!9)^Kuz2?)$OowY9ndX<+y}|8eWW#7ob? zA^WgN^%?fngQrH#D}z8k>BI;N7HE}6>3LtkvX0Dr!Qy}wqCQAFa3!^w8P{hTxKR>yx?fm*gxtvHM$f*)7)Q@yhVuj8C|$YLix2r-EL}D`)Ob632<`W z#F+l8Fmep4kWME6m6svwxquAt@A~^Nqg*8b=0^&+Km`dUL7apyBk1btD$=q%eqU03 zc{*Owu*DTO8{_-c>aY(MfQTdnRL;v;a|;Wa=uiY;vb0)#<9c@(e!zhPn7?`RX<6CJ z9ZpV8nlL*wVHUj+Vb@ZyAAysxHSl$j@46Ap-qdywgzlkC@{@qt=q<6p-Yu=b*gmUb zu+V7M5k?4_EjUk%TZ}-9Y!CsDE(E4*&FRqE-mV#wG1`f3J(TI@R`5K*BEyTGPVg*X zhC7}J+09NymqLbC^e+Rt58+djoWpSH2x4-dV{;#9)Ysga4<9&Mdf3NZ1Ak2Mc<0?J z%T3e?AJsaZdazN%-o~Omz?5fJqeHS+^l5!rYa@+WvpLm)yu#Y0?qRw5(No?{Ic4*O zxu@x_e>1;2CD!Vs8@b8O%JfGuyqn6S`&--n8fJsv9O-KBwh9-SbuD}}!K{18#iG7n z_8W(Cx0~+U-|ck?c)ivf>$3h?PRVE&lP_v&0aq`TZFmg=nZe6vyFEZj7kO#d6`rYn z@8PZ5`N9i5+#$&!$>}C(GvOA3Jv{kWU36pR8Nz2ce3x(3yVmVLE$FvHw8F|`D`s?s zEnmxqE(|STL>*c-!gp}iH8|HPrs4Z{!77QJ$A9IBj}47qs56{P7%fO%qTHCCu+-lo z5N#ZK<9NfYcJ3UEnLEtu```BQ3zFY0wCMT$$`G$$-s~YT?-bGz>C}RgCS9x5f|mE_ zg40(`>E7ekJ!PBVG+qlRvjhhOY{?1B2eUzUd=tTT4$5muzl8uE!VJOZUP*FWo-+o7 zA85Wn%!Dx}M@vY!yv&O#7S4ILF;#S|aF;Q{1?6z-R`;VoJ(vC}H$Asoc4KFUPCvaO z97fm$IBPOZEYA4DeQpN;KsJjOAJ&$v37B?;0RwXwW>J zY+M_m!8iLh|C2z{Rs5ih8+#`*6aN@39VJxr>FGUil6U`bTQlR$le6663r};_mdBh4 z!g(nYt$K6zyPgn&dl0jcT{95oST|xsJ>^xN2xk0%^QOw zi&&~5MHzjR5K$hY5Ouu7Y-eft`Ejmt%z}2VZIO&m^fs`TsjF*h{6Ith3}s*V2q+}R z*f(z$)jqI_JABUFOekqn8JnLM3We@#1HEBEP2yH-ONgcx#S@t*LJ z=6i=Xk2x=3IXDb^V_E~%GCcbEhdvXM>tE|<j58vqf) zv*Hp;=w5Gys6ZMN2Uwhy!N>?7OLKPQM~XXs`Fz1GI}rP8(9zR;SBfK)9k8Guf3k!B z*}cC{#0=N8GdzEB=G=oUbG-UsoeT&f9$>v+LL!pm)V)r)7y^XCp2MX; z>|+2UkHBtaa4PHk#JDJc`mBthv=2;{?}GSk ziFmr9TMwa2gjKC4=xE5DR>v`!Faowi#eH^HT->K7+muj#A%sy6B^bQTP)L$^L7iLM zc{u}V{vBmYNNOV~p4E}Z8slD7W564{(Wkcr>?m9hiHE({fL*uKf0>Z}I?(S>WP;RbPljP*=3&3mB(xzzspS%BZ))M##B;XJ}p9f(VHZ%kG zbix$Hd;n_uKCohmD-TYQf#!!^a*lBxgc>~znsvcnhde~af;K@oK^Qm)ftLsdn>5C% zcpcR6$XL4pOF9L}s9s%+-;6K9!O`&xwy)L#`7mVBdwI24+u9lcO(zo*@YhnY@qk;u z)+soOV}dxEkf zH=on%&)}TafW}9{z(AeT*0_(jdrsx&#Lb(U*Ji_a%y01v*Wk24b{h^sLzXbSFsfRd zQZZ6EkzPW}Le>)cIpS4`<7BWUYd;xL0>CC2zJ{y_&h?V>d`63z-FXyjW#9m+gIr62 zXh5wZSJvD3Z`>j<<-hj2>~U0-&YJ-;=i=Rm;66>D?<7ml^XSa$_^4t7VFnv%v172# zMu?qs<^VC##-T0nd7`wBSZ0Zf=l@v9uqO~Hjyv2K7}$|yc$_$EJ8?=9ArV-JMJiVb zyA**ONN6Ck2W&%yzI;y3tCC~{Mx+<`L%4srI5~@rRtUu!oQKKpnfaPvtbr!?{Pz;h zn{yagrscOg4zQYrJ0(kk5{OX-9lSWPcgz(`I$~$EpL3p<+BY^QAxQEu~Z+;PZ@2%x~@ zA(nPHSCPPjsKAtub^AFvXNy4bAT~IJ^b5Y+v9gEkbs*xR1jx*6%6B{nu0)ku%OoF8 zY@E)ia9ao;!QEj1hl7Sjba1Z`@-1;|`dwy4{xTjH5#SK+9A@dH42Ru8KbVMM+L7oT zB6uOZZDL8a(;^?Yo|K91^_&=w&;BS+zNYA(#-bt9JbZgS_+#X9gmV)36LW9`GV>?A zKiF^JvY3K#qDIz$Z7c5a_fVlbLO%mJj8f7B;W0xBvkjF3W@e-UAr~uZJ}~x$F))TY zXv2HVh*KX-qmnlEo^78pUha7`2*BC^T^)(@K=}YBa}-xnM3P`K6JVzgxI4%QxYjg1MBZ2U;l={IMZSN$hm5T?kGveDvF zA!|llT%50!>iU@rQrGU2(FeL+l7{MllnnAc;O@Kvk1I0g!~}=&Ha;Fau|JX7D`JCc zL58lwio?{QW+EHa#YH6W~V0JJGp->GbKRx$lz9P z;pxG(`|zU!K1PRjfFOp;YZbHG-VrcTH*enTm?>BX31$@l4~PgX{mscH1r~{>G4)2? z!aT_K*CLNnqwbZ14Ga3t-I!LObhwB>;Gt!_M^&#c^631Z#hLa30{Np3;V8<@c?ebjA9uHOypw<{~(6pFnHch5wWGn+& z`6C87gyIf9fDqysOkaP*CZ3JQ#{foAO+X7I-GQf!^iVnyYdhYtvK)$2zwfQN%y!I- z(HmRZ*rbuixM}?wta=Jz*-N?(UF(R)T5|G!Ofafu-BCRv?xyBz-fio%8=kXHPEW5D zmZjKdPip$bAM#USleV_Ct+Iqc`S)+f^dESI1DFCw3sp<)B5x5>+Fy^0^;8WJ-BYV%3h(C2$w>T(vJN7aSQO$7 z=Ce9(ATERY#RsnOReTW0va07JXAz^_3(mMm#~c{Jagwde54TAjYj~@+AKUCSb{8Bj zfC!Vv2xjf=2Ofh6S0Z81L>mGEC4`94;t${ALE%g*-C+uH`>V?tZ!)N=@dRuVHU`(v zEkMu#(lSX~!}McuY0QmiT|}lT{(kVE@V+csn%Rk>0iL<3nB4=*_W8{wH%B9 z5*|H#l{Z3e3E2lgV|$Qr@7AnjOH&Mum9_m}`lJEVXs^~4obOeTeG(r#q;+=UJ9S=J znk8<|AdS`@)fP_9WN0JN1zP0=jVrjztPo#~+g}!;;z;Tu2H6A_2j>o+(D@OoHvg9k zP>J%PHp8@$sNevg#e$|8>%!X?hzHjX_h`_`)zOTAdGj~NrqrmIBEg1y zihn&|T+8ySF*$m`3Z#}kCAWDx+_(Ih>UfmJL;wJ$%_&qMI0^{V*_2r`xQL(94^(PKLH9mYh3+TCZaBLMP)vR6y9(R#1!JX!04Ek9D@Tv?O6O6r>p>hYH#alIR5+ zHtn)6XB-2uFwyBkLtK&Sg7yq2);9Rwg5Cy56(7GZS4n#K6u8BXBN>fEGOBcZZV#kG zyI@m>^A{K2CN{8d#9L;d-rbn|>?bq^Ww;s=(kyqqr0OhagoEr6D9-@#lL(T`!b=J2 zcMuRv3=2uj6v{(n&P{+Z)!E&x%owUNdPH4ir>=C2I*wTz#CITE=VHTiIWc5tQ2~IJ zQ&!%FR+Z=qDbR}u;a3qWW)_*)+1FPJo!~WGI{pi**Q`mCsKcL}109PTuqc4{2AlGm zaB#qY=7Hyq45I~#KSu=~a48hVU>`Otg=aYvshs+srg#cG(kZvM zjh|7B0kxo5$+{(o0xZpBszZ=A-J+wt*{EW>E=C3=lw&K*w_~3_UraZSRt$gq?Sb*H z@}jM44fZ@KcaxBbFF&TvPK)?b(u->(mDJTe#D`mV`(jaK-03a4_qI4SG}kFP%^WcM znZ_di$2TL|>2#2cw7kzYDc%eA$&|a5-+ZlkG+m`F8J?Q?x_d*g#6j1a*D3w)ef2rF z_R|w;yD|1MJU8s2(uxY+au@q5fv1+DaOptp$mcA@#Kv}G$q_{V{Q1yWk%bP;KNhYn zD+@NkMT=LjHivdx4mxt%u}ai>^v|krk-DO+PjNMiv8G-HGfr3DJ^6V}cI`@2Tus75 z^TyJ{;WZB&hxEe-O8sQ@LrftiZ7|rn%Xw<^Ok|FJn%m!>^&x^Z{Jgg?YUL~3b1*`4 zgQ(GmxhTurOJzg(x@AKzBwL?^{k9VupA~7)zg3)3u_q>RPw-FS++8W#aoK6`Z40k4 zLcw6&W{-~maxSS5Gn?49Zapu2GL&=W%F9H_h57l(S$o}gX95S#?x_07q12MDF*(B& zF5*VbBK`T3al%+jhH1H5f4)(@(ahuRzz3il8!t_})|~#@u4TcZs0@GO_kJ&;J~KFX zr63%|C(e(C*^|4YyOi#@CyceVw*GM_K7oKun~~GfF)`QBmiq|6(-(!>c_a(KpWGuT z=we0m^qUPY8a`NbS&q29bW>tTsk1$}hl%6EC&Sr$G1gIU94>B>ye_<%Cx2>KDrOgv zzhOQB64wA{Nd@#P80n!C20j}u;3Vo_Y}%D zIoQwfMQu4Fy@y=|)DfSLS5rR2hMuU0U|5VV8KxgzT6@k^3X3S5dI&a!GEGcE( zo_>*>_4rroqo1+^X=cd}c#_s$-NkhJP=N~dzA5J7>KDRbtCHL=;?j=s7mCtSF#3+5 z6GlHRHu@GPwf}&nrR6SOE&N=x>9#b<_m|(_U1?0*Q%p}=5fTS&MF0r}A-6k3fJs_8#fY6{Ledhu^Z3b$ z$lf;_IHT@=ro2)fGaPjCcFcUKb#BbBO=)dW@`ps9RG3`13L7}{UR_{-ZlMpUf~dTR zcncL8aV*6Hz6iKiYql@;y5Z@v`OMC$v9$dsg2Ex_MvY?V;!23fknUa)Hhl1L0fW=< zjZ(6yN33Q-bGY3pM1xopD|Rg&S4N^z81l|+mQ#FA@7Td7ElhR3K9)MGC&;EXIxyti zS1vWx*dDQ-%~7;ULF({;cuOny;}(zZyX?Q!o2G&srySkRID`!B7-Kk;y>r0z*9U)A=29I}|3d(7K`8Nn)^P|w8ceqA z9}on`ck}Jhr8N!{LCG4zeHx~c7;l{jlG1iEv9WtCZzff{p(`=l00X`Lx5=`0Z)`^A zSuxB`%r4HeAe)Ac?i9kDQX{VlaC*MPF+mMLA^-(B2`)f|h6{ZQ$jwAvNhJIbPGn$GyJb;tH`$Ej~C{_`eu^2W5}1}5+Rlh?O-QBEBWR;dh*ZV*WKFLWt7 z9LUUG-RC(FO)1<^zffcsu3pgHk)ShYLBYbmbo}n`s{P#ki~7O8mqvbQs>tV7eEOoV zJ{R35GGJwG{Q{6EDRp@A?E5Q5T9Be#io>MwPoBN@M>0}4^aU_MoT6Kuk(<$^I&HS< z+sed0k6C8RxnnvnCGOgAh2^0rf6~v|30)B`AY;NL_9iSfS=@dfr*b(a!z& zNb&2Mvm38nFySQ$l!=nj5_Ba#ezM_9RmG5WKktYSj*E}gaJvEb*D*yFnfD z*x`qg=N(22KzfL_eyYPHP^?GngWoDoh4lwxjaL?RUAdT=``Y%#U)1m45tJ=QF-YIF zL)xdJZ9^j(!#`I?TN?Tpv31msk7>7uPo6g2iTNe+8P#)bUuUfD2dMGSJ-Om2C#iZ& zh1Ho*9g#!?Odx^(kIy6>QFV!Yd#UW|o!)QLX5{3~DbP+3 zayM{v3g+EEpzYm-UrG3}^^9%m$W%<}(gM%bIzqo#7XoDo%0S3=<527#Icl_M{u-B{ zx&R~5bfedt>gZCvD9iceV#<@dLdQV%#mX6vQKL~y6)-*EYR^LVC@W9 z(}ca`MUjnJ7cLA~wKiqugoDZOn#&j;0Vd{YDz&PuT5k;>Y|Cw|p5JI~CMBHoeNt3P zy(EV^n1xlSoa@Rf9cqO?kJn&0lbpav4?rB#kdQzyAQJRP5c*!MaTL%X-~H6~o;-xNoJU%Pqn0tG>w14Qld< z$;obb#K!_dDBbqfi(XqXl<#91&#J>|!+DX99+)1F=2&}8C4T)tQhC?+n43u>qx;fV z6V(idZ0+LWBFrOJbz10J48(?VTmAa1g9Z|XywQBs?lXDLB?Z|8FZ1u~J-VLjJkuk~TX&V$lSmH2YS8wzeP=Zq8F!Nf=+}}IvwhYTc5zXjZ z`gE}-LW~aOWRqC~Ri@mAi&+0MGswUsvKi8g^o`witUD$BY9#ZAre*ee6~Xtm^%1S` zsJMORyYH16>dviOtSDRf?vzs*t{b6gZG`HniVWf)l{q6XUtCe)eVX0nF|cHMg#;{3 zLjK^tUph#mtg`;um61h;kesY-rb{;qeu_FAK~07$92hx;fl41@h%be#P2ID0{rc|C z&J!4MC44`D{3lNgz})Zq87+K&n%%gv^w4b;!>gwWpO)mw{rd?q!nNcDi^`g~+{65% zZ*#Xj|62QEo$c;b)CYb%=~PayUoHK`-Pf${X2;>P(&NsB@ej+&$|eb1MbHLxM^Ucx zAQ73k<8`7DGlhbx;qGxx0zJHj^Y&C*jjtH?1foEnhboCdT6) zCNk!+L&E1~)I}a@J9Xv0w=zdZ>~gKd?;8kRJQ?>8<7^<8Pv0Rofav!S#)<5*qeRi7 zQRpm&BvyD(-@%ze&wGQGH}~mxVV}xY{(Za*p>Kk%1oSvwEec3ZB%AYWVEYn;e*1DX zYyN^`Uf4k+YukY=k#gsmx@6|9LU)0e9E6;1Xzx{EIZz@P;AKz9O3h*l*>YB*CaDJ4 zPolZM_L=m8d-J2>=j$@Nr%U{X5c&>}kifu`0oKJZW>K#^N=2KpMpNpF>#C@i{MQ4* z;x$j)THgLdDS5ckq^?*}^2rGr*G|Mee8~SJ#BMQ}^kh3sRNxeF3ZN4@-{*k01au1{ zh~sCl1z&uZ^SVxhzB#wTRr6eX1l?K&+V-`2>6`R!h?7`Qzca5{ zuyDw(O>5kI=|tv2m6;{)V!Acst1sBFMyAIrDPc}C?-fwauba6;ZffgT@u zj4#ex`Qo^+t0;VR_GC1B^|x2&?9S=d&Y$Lc`9{-AU3dEZA+7-bd}{W=*pVjlLVTxUpxANmP5j>R9np^eIw2 zwq?AUd$3AN|Gac14`z=6fp+B^$0+F+vtKZV<>AGe+vfQJo^#7N)Ji+w8+{SA;NNbvOyt#p^U$w2ey#q_vxZD zOr{2-hp&Vec&DYC~z!? zA)rD**of01Dt<$iniDK{vGC`9H|mnn4<;SGu&}!d=OfRfMPBsL^8TAuY~EByex$#C zWTmiQ&umrWuIg{^&e_#!=jo>jrs>hVS6fl9=5Y(t{^>B5bpAT{f?;RTB>pQA8t(45 z-@oukI~-qy;3f{`4}afV?dW*E@2B3_cQQt`Q55Bi5BG5&VO(@9U8E1Fs4^)&5Ktr& zDv7W_V%tWTEo7LAICEfX=K^Z?8;+5XI;fXKlKIty`DECzT!6s#3=cm5E2JfB`^c=K z{H2@qvifw&)Q6>h{_K3eCgZJ5SJH1P&GhT~OHGZ9S>t#5-;(R$}#Jx-T)O=j1*UY+>@u*b9t zox?yACRn$?KuD@R(x{h_zzhN2*t%mt<4yq{g+B-(VWNFcfp;HCfj|d~3E=(`FD{PcD zhVX3C(ri*9)GF^|oKuf6r@$FkaN0$0wCZ8DqmrZ*MqGk0TPCow>UDwmRLzLxn^M$= zX)dU&?`*c9oHLj^SLV-BnLLqncIA}rpHm&(RI1V+|K3%9wEged(fDN5RdXI(XT{;R z!Q`&Z)poy8Ie;5j-#Jg;DvrxAEEX9Y}aOJJ77m5=S#PY&Ws1`m~u z@Ba~31cUikma|#_SHr1fB9&Tgvh$a+=a0259`D}OZAI#EJJpV|6_=FTCktGdCa-bO zn0b5k651_&QQtvddt0IU3A#rO5-THaH64dO$H>pI+g0!7)UR~gIA^(geQ}2e<&a|v za(DspeguT9nlSKaa*#wrntb(u5)<#_0WxdBPU!{Yp_O-Ylc;FR7gOvNd~@cRVo+@6 z#|&qyRvndc;6KisB_)0eowkh&xP@AzVVdyqzjrZSK53=q*oO?w_N?=D>RnGxiMnQIS%++qRy z!K;n!FS8~!GQ>9Sbq5*K3 zwflO}^KfBp=SxX-PH9`dp*R&Y`YvWDRxi!HcTlTyw!5e$W1t+=RURvp zB`EM~&HbWPV_l=-PWjBCvQbxd>oU%d z@2;cCw(MGsK_>suJ1)wkeX8DmD=r>FBFEP?N-;jZ^MH#LWk!qvj?c$$fbUFf*it7) zJ$7?atL&}g?s4<=qBEzY%)ZnyIMJLFU%jROOJga`XQ6?%3Dy05j&FL>yN^mT2)*BU zU-W%#spWJ_M^;Wl^4-SP9oc?)8}=B8aYt+|6G}Tj5abh!JD!YzK|3Mx%iRyfi!q}% zXI+P-CJ5TIF~(hRvx-3DE+}@vzfDtxTjcob^Xm+yrR9U%Wwx+*$yu3nu$^_J*LvNv ze$|NY{sY4;tb8NY1vT&QJqlT}xf}nq&-JI6v)ISX)t--8q7Mk#YEo$x3|UoH*7~R4 zdU^DBe0!YrzK+46?lXHYtUDSn$4yB|DWRZ#?`~0ZY5w~p6>D3)#tDUwS_LK7qQ#e= z1MfZc6fO&;2&5P@*xETS_@|hvh2`0E_H6o;$G2R4s$(3C^2GE{&PTL$d#~nlw`x2X z=UKQwkudktT=<8B0fY0oxcZ;&t$@P#rERwA7uNA}_La8<%hG6GQIU>01SV8KH!Yja zyBT|)dv-3*Z|<8qIu)oE5Z2Np$@AoV+oK+i4e5I9Jd<|w**o7Yk36{kJlyzHxAvOo z!=G^g^u>|B+Mb2|lxcff=*_6+G}CiV{R&}g*ykhKm;u;4_>su$2*FJk+uObuU{7NIy$8ONOWrFvc*(-2=csu@{0P0yuKV1^$ zJJN1@p4phjFI;cUk`A8h)2DuvxA&ZF<)%MKlh887$4Qs5GgFYF{<54>fpPqrLmNF# z_uswPws_wyx&BG^*+ZbiJM(ZV{}Sf&yN+v}Z!_7-w(BDIJq<19zE`evB53sdn8@_z zbz8>7w^$YL+ZcRefe?7FgRjGe;x3pYp)h`|rC4 z&q~XCzO5Ro+lp;!jv&bZ%=>|V?~^Pwpx%A(z;NHD8Uf3h(ENvIoS0-i8ULsRPsDJ@ z`fsDM=klo7@NR)dsP_Jl82z&Cbt*y0d+T3PJ2z`Z#(9js^?J;t7Rnb<#7t@MU~8_b z8g_eMIBAM=1Ldg>njijfY4Y60XckHf55_?imrqAr2L=s?)u|*sr50<3TaMf-Z2n}BoSg7~-$4^cU>9CHiu=vCo6c2qew@Yk%j+#I3%`RwCf=oTp5m-TV{!%dlU z>sJxaEaPZxgQ@=3mcxr{(w`{a;k(cH&1CWbCkT!{qy*!RS+vM~6@^HLNhKl_fD;Bu zMBb;BeLFmSCvmofA4=WA`#?61d^Mx1KPG5@{@i>ZuQT?Mlzk{hfM9+RH?uhLq*DD| z>5DYqu4(_Q@6%*48r6$iFSh?72WOw}TLp%zJwe`nN@c31Sa|Emlcf;a;YTcL;DvNP z%}5cA3|M8mAwNPWZn7A=dUHi*+f3vqhb61k>A(3^wqusvzu#?+1{~yyjL7Hw={giQ zSZVB@N*(j_&ioTRdPXMZGdcNjNvBLyeEUWPLl=stKlX7_RehQPWg9v6O<6r*d{6JITpRH8+YEq%vvC$iSnQ8nDkseAwm8-FD zs3?%{L-$ zCM6_dOpkJIE?7>W)NvW4pC=eV_GcFna(lES{H3D>7AkX}DV(e;g4~OcVQ{Bctlbm) z3pCaT?2>F4$3T!nT!X+)+dK4b&ld7{7?Mdw+Eq)~u!W>;^-o;9jmnhaP9?IEiVViBPBI8HAa~Hbz;|ww6L(Sq_Tv!iSW8$ z@J5&|c1*LZir$R8I^=3ozS9PZjGB(4Cmz^&h$ct{57$FbDAhFXbIbIOj@DxEZI%fq zF$^!wGGSB}u6DC!nlGoZVD^}RK=pi6c215JXg|UaCtPoN%T3f{Q_8IqF{)+)Lt_pk zoY!i}Y#hQwI`Kt_8}wO5$;O*P+3!s^7~f&%S;X@h_& zv!JnUkwWNbmfQpZ#+2`Xxa5U#1t{eJswnZENTeZ{*2LNo_L^D^9P+d%?f#dV06ax( zA`(7~T_ufTbr4*0l16~;9lAP@4q_rMUVvdcwE*at@a`n!etCIL7zbje1I}vY(L*4! zy#6Z{#9Lw#x(#-x4!Bg|FNDE;yMRAS_AjAO^SuLZJpo>XFrFsN?@EZbB4UcKfuD!x zvllPN=YbFX1qON%k&(bjuYx7g-~y`KGyJkjvQ8uzL&!J&CG|UK5UfP>^y8o`uF9x4QQMEXSz(GJ%IKeQo_?HoA!bpG{o9~v7&(a*xHa~xDP5PWdZ z{@rJwLxDf$2wxrI01N@>-t&@S3+S;xs*y9%ec>gSgfk9e3S!~;6BeL2IQrl?t3TOW zLCnU0tiCONC3l?A%?URZM>8R2{fFd8vJ@~41B+eAbFENEvNm^V`d-1QevceLog2&mN2egI6 z*As+)oOCMBTq!VbUH9zoawD=rTG~9j|5suF0{?)FACi}M3{m!}O-7_;8Gly@X%;UC zb`eLc?gC;X#_|6U#P`rLVmQ+O7B=jYa=4ehynZC&JrI5l3|AAOEt@kYuDXEnVdeDH z&Iz7EOo+F`6G6*p4H6|j(MPa_|IYHo$s&iM4GwHN-*94LKxYHW5-2EyOH0U@V6Ae3 z1_V1_SmggGa1tf+JCx;M!cf9d5U1NUNQ#n{z&5V6X0zUfxR|McO{NHLH{(nWl ze-#0-Cvc>f1AL&d8@{L{;aOo&sn!BKLI|f{uKidoss^a2KFvCkMTbcf4TJtU>TP+C z6NsF(uaA&@p|mFKa8Th^kK^j8&$iM>W~DA)$}s5Qz-)mkGa=XpyAfn|#wd8f;43zAI+?VBVcpp%@i2&xQw*yZi9Q;-TQS$gBbbK}@fBQA9}s7F zkanivRs9HoE|qGRkE0>Q!9$qBIQ=%_YQj*(3bwiA*at%x2q~d6h?GOrOY%c-_0GZG zJE6tq=&0v*9a3rZzu@-cNxMP7Kv-CyZSH_mAY5`z zVt7hYZ}H)XKRg65-6*19=MHY~Y0sS}1rIQ$IKd4e1ZTIptUrqh6dY-NpqzvNPS?Qv zMgNSP+&f%{-@hhmidLc65WtVhz_{lFagWmk>E>!vrg=CaUWA}?xJ*Q(Jyw_oe#N+y zNC+k$@IZMG_~;Q46op`ADHs^U5Iik}MBaM;#!M#!e@FwDg+ODnZWej!A<$N|LXct9 zlxLsZhu5hSX+V^f@56@=`#|=HLI{&6DN|e>?S9x z_HQ3J%_;Wh=gWrz{{H?U;L2W}pBXW=vbWE|LsZAg5(LRQ6*&kWt?`8`d&lBt4nc*Y zxjY$Kq>fA8V6ZhOjr?lEQhR%Q2ui|ym8(eaSh#qj!y7r^XlA|&yDcv|XCzXAqG}!{ z;gtE?1?wF={t$5MH6JSC*%ANz5EvV^6D3R)dWCB?NsuYlO`?(tndVZZ3a&cJ5j?s3 z$e)!g`!TBvA#*F`x@%rJtX82KfB*d3SGjS8oljrrT^Nab{Wz!Pj8+! zO;LtpBbgZ{N#^tXL6zx(TXshYD{eTrMg0LUHCy=_Yvuk~O5vk`!!~aGv@qu|ZaF%% z+&a6IVcWqw-@cuQ`(fFE+upn8K;2?B4B;nii?KmyrcC^Gn;- zsuIEilFErAq8B|bt}si~CZKj?<9QApA~V+juq~jB1rHuZ&}d`!Q^2+SJ&rC|3B0Y3 zke2SPRBn=>eZR6iD@j1_`&V~z8rOD!jE4&1S&T6x9=g4`LrE{Olkyiv^U|+>uQci) zS_&*vJ142%kJ*?R-hK^lgdG1UBphi;coc|CTf-%3DR?>kUDDL-Y`K|;T25pdj0c*4 zgQAGOg0m3Wm)TlLNSy%}&NL5G5|Dcv`h2VpGi_XiYhEARwFjU(Bg}$z`)bVX=MGd} zZ_gLQN8$psifKVApjCMBpHH-*9{}qFRw<&ZiG&#Ywm0(yKe%YPW=Iey30lH803z(_ zU0hu2@Fm?SoHNSmh3r+0(P>s1SvU};MPtjUGPisdyR{7C2@(ql`il_!{&B8*#>evj zy@r0L!6+Kw$8%8P>|FSM2U1I=2s3S@fXE7=R)%S#V5#HZS3L?3HywHH9=KX~@7`CH zBPsC!Jj1LH)}Kdk z5t3>8`AO?k2}7GPFxkM*Fh)?=Ev@tbA7lgLR41`~(904DASraAP?Cov$q|&Pw#XNV z8?p>;qa%?}BD1?{TO|+E*G8AJ|kUKodRTz2-8hzJ(=fq$y0$ylCTj)n(6dXXMv zKy>3gZM`*=ctbpI{?r&A1LSh~zZ*2cCJF)@<;&}fJVVj&*dM(P(fP*^=fHQB{AdyY z13nb(&Yh;(>|3|$i8dmZ%oj@-7sUx2$INKoVB2npz6|+Lp;fQVM$z5E*eL|_9}o># z)U*H+_$pR627^50MDS_&P5Ikj2&J4{z{>A0qHyIiyowSP#G=N8d zf0S@(W(7%OX_!A+)4d`pC&m9XUr?)-%X(Mq#}g>lPM- zoj@4=lvVBHIyi+;OXYN*y){MGe(MH(j`2AhP!VPUA zEeM)`&#uqjUT5^DFD+1N{249ve#YBHc5NK4gTto|aP6+jG@z>Se#ziI!I_{n3>U&` zod1WT1HRGlQT53`0+G{W10B_dO@{A(hB}CtY`r6>aErR9ySp_q>Jx*^Iyj;tleY^I z0Q&GQp=V&|!a79L4gsC*(udRs?}pa=INY&3e<#4Q>;4Y*{(O7Nv#e=|pH|#<{J}FZ zD+&_biE9BS)RQ~d)jl#{)1NXH2{(8BaC6{Up8Cw3@r`P^-pV*fDw!Br@G3u|Zmp=U z?nSjnIHe?I2wiO6=&ro}lG74h^?!VPPu@;Ta&-O~p``9PR4WuM(0zcmHf1Ue5X)8k zv3+7mXkG{UE-XuE&|0xFU~sS-j_8QIcoZBggAYM;Dg&Ha&3a zIt-=-^qfVq(~PeT`S2MoBReBZ((O1gQ-@G@H}qtr6(K@=`0#6FTvz>lGs;k4aMR); zw%R8w9XC3nez7J$Se^V*wTwknxnF zKm>#x%43r41yB|O>=XD7+Mc9%nIbE-V_vK!ozi!X!qTs0lGeoR8*)w0kswO+Ll6K3 zz$SwTd-Wem5YLc*Ugkj4a{59vSvm&4qzBHfeXF@Kgpc~|mwv~>MpfoC7dn9js?kM> zKa|Z$2ZO4Ur(-B6*{m2=5t|#Jk)*o(T?LX1PBa@_+@z00(LfYHAlnS|Je0g?U&*=8 zZtm4{ESjgf=VSa|Bd_xRXzsfIv25dZJ&Gq8DcK>)%E-*FyM)RpL}o_REfSKEkyK>V zgUq5uG7?$YAyg9CGg*~*jD}s_Iv)Ws3FS-9q>Ekon`5SkZQU&1|U4y~&=W#p`{QIBV$|~+p zCaP!$oH^&-op|+Yk)iC?-cvk-8A4wmQ8%E77}R5j327y_g`s>r)?w_BY4`7wte9z> zjU<~3m^;rv_eA8UTxM0vqYQtI@MIpN#CK+WSB-raWJzrM+G-IKmgOzV(fq`X{a z)g^50*H(>mP4lh;)xz)?1&3^A`QCKC?BdT{cX%sFAp%>YD6|qhCpE8RX3n z%LL5h5nZiQZ(#(4y|Ne|PMh2Ls|f)*FiO0kOI{OkSr2gNk?%RoS+4^h>#3eI zi*#qw*>OfIS^wy@asS`z*~+ZGD^XRA+BW#C<-2Hoe^YOA5-yZQElH9d81^}mCE)M9{w2mEP!E&?12sK7BNgO5_U5D01AGHrbcY)K8 z>Ct{_Sev$+n+zY8KX&YF5i{ z-MeTSSu?mNa(p4F-{X=0#`Kev2IHJb{`}bj?m9i&`IyG7yfybkg8BF`J}HNfC;^Re zJWrPW&_fY^6P!oHo{yh$>v{8-z6vsSVo0(E^E0pEyo_0Bd!Rd{?plNAOKyeuM__au znl%NKznK>TXoDzf*9=^+%L80`+5oM*(9WH;5u7(dCUd8=A~Ghr9QA-{v=x(-XpT@|??mm18fu!D zFF}+?Fknne6BRGy+?fZKq8Aa}{TPX^c=`?!v};LL8hTn$5s^=*V6&cc0FHKzrH9J~ zcb-;Hh3tuhXPrU%_Y$`?)fCUMG+pxiq&m8>`k{c=*qgA@pO;yN|8)rnz0*}?7JM`2 zT4YRkmdtzW-P2P6D|aAyLgw-T1bMeA3I!UL)u4NqJ$6F~5^kV*e&B^ZSHWz#M#&4wa7hPEH zwb|76z*nc6a*8K6Y#}Am!oCjzyTc9+LL^3tM8~2jCxLII3&Oy)&+Nn-j3eAtE)3DO zM31r^y%oTR>|31sI%oaG{aqy4!q$T;4$tiErS`#y{iFo3nLN1^C*Z>jK zK_@5iHM@+nK0$Fbil4bJb_oc0Y*$)nk*e@tJjdAR#=O>~SZX_qs1|XkFLk(ewa-yc zIbe}>BK`CEk>I3pd6iDNQj6XJVajB8RFm4J0~!|={=L{5F|3DeU+mRH^P@+p5TU<* z{n{GN-X!o8TPUeo(f?OCZo?>R;reTqJ}osMSbz}D?GzNaNWFcGC0$MQ&Ccki&NgSi zD);gqy^IrU*e94-4Ld5{7dEIA?jLfIln|D>q7vL&$CFZ7GsS2u6y^HU{nN|`bT)|q z{#@b44xEu>!r`dTnwc4W`|y}%Z4#FKJU~jc=Z}6B{8n^ZR_r#9jf{=01J8&6On1*v z0fXygrEODs93?80(W`QzV_N;ZPmp_W-$y#tjE_Q1Qc>b7M+BqI#CMBqo}Caeon;nJ zaI7AG9z3D%x`jJ;@4`OCWHulM3YDIy6Wf4B4xW?nsUCZyaTDQ|>4@`yfocT8FwH(M3 zT>U-KvLsN+o5w-TlWHmJGXMKgT_0iUX5kN0`Z{Na}CZB_%~a)B4Z-f>m?RnTit`1Po)09LGu!sI!*v zBFnb&f3zkk9uEBN9eK(R-PfvWLVP90{o#Hed`*tPPQuOgD zv#|cLocaDEwm}Y)Pt-;ZL1xs^KJ3BB~a|hL*5=pB; zuC8NwVLF+mgX?9QRKAC;%swr@a$es>MYc;F&sy5oOVDK9TUpe8b6Fi^%!6E zT3t!bWBKAV>LV=mW(*wC-&f*CzuSd`w8ex^7+%;v0W z{ps1BA=SY#ZTE!>|0EoUVRnk{EE{Q(Vy|JgS6<;wxFG$QjW%-TK8@DcS&4P-QWeoJ zXatqwEqugTB1?`Qy%5OrLrHm|$jwtsU}zm`@*(9nTi>Ocm|q*b?tYwE#=Y5S>|2?T z5dFqaF*47l`r9f`3HX>W3mBUH?SF{P+|)&4omAY=%ex@De>GN2v|iYdy`0W~Kv+^@ zjQbv~ef= znR9yYez~+w_-6Iqlex}QtV}bWB@UZ7nFY2##*s9($*@W$&dfojCrJo@v_! z^bFJ|{l2VO!<2tWgJMLUXrw{JUk)CLXX$I~(_?Vweg5uN8(sd)GK?hUIR}iGDmp*u z=9l5s_%3_Q_YE@>`<1vOow)Co%dD0nLgQYNHYNoZ$y3}BRO_}7?;{}4-j;Xzkd%!s zL&%kEU7Hop_b%hZ8!H*Fwq9y@wp1C}EU_-J-qNu__Ibx`ip9?W=ly=YFMB3teS77K z%%&K9HXWj+oi)fi>$=tEop9c_eUUOK(iWdte(RYOm)+HxH{a^=%yabxr96fC1x(iD z6@RYfzx|UVo3`Y_RS5o9XzPpA{OA?(ub<%)QDxNidvH?5LTz1QH|NNGZ=NPbv4PC_ zPtlEC-TCs@c-&+bIQ$>que)ZQE*Ss1N`v1-%v@PfTJmt7QsizpJ?~C z$d}=y8@$JDeNyXhkMk9j7jmz4MijMWC`CJ#YWczUR-;pN?nzYml`{1rSr2cj&dI{& z$gNHnO{Gs9o`UoEfk@YR)}&v5?rR67@M1Sp(xQuYHLk0Qk~;0fU{_D6OcAR=&25w| zAxdRc>-p)hbHKRRPug#RcT0W7jQ{;d{uf;XMFkAFLnYW`-1Xcegi_e4|6s*wH*!W4 zl&-W?=Ojrn{JTN8kn(ZtyX%(El>G)VrI!HKbd?q@mtH6NoJnI0FAr<>^cPCfR~cx@ zQOZN))+{mId+eU$LwAr%j1g)Yd3Ii_OXXK*yLK_Sd}R)hH7=&2UIdUNkG%F=Y9-n; zVl|T0F!0Z-$*>=5xuyqsR_fUbdy}*)6eP4(G{W5Fo`km*jQ0Ak|Kz#CKJ-~fBSo2X zQpN`l9whxYig$PzG%)Vz+XrN}ox8(c`tS40tYxRmPH@yws+y+1EHF7QqCSe*MZ1;& z@m=C`f(bgtcApc&uHDbAqnZTM#R)-sEm zyxdzOeZ(XrB5+FV_P1tMU+&}~C{23`0FO0ZBavD}SpfT;S|^2QKzcwLiL8gv5v8q} z76wrVY?{=U#8Ig3>ih#E!>)*_#(xq|?G$i3$i3HJ6$tQU_B7oZqfUK9P#+;1@fwU1 zVn9k3+JmA(Jf;uC(jj2}m%$kkjf2NI3(??!H9wlI1_zklbES=w3V~Ny^iD+>X5Ba` z*YYH!%@AO1jAWR0&3#W|01R_Q;?V~*>i`;ST*xrac0rf`19>zldr%ryo3lH(8V*X< zMZW<#XIv=VSN(c~?sT48LSEajt%U|xL7LUw#y^iv&p5j!L)DwfkI*RcChmK4UkoN5 z58xq!RAbDszXc4~l~3IQ==+IRjoh9&Yo!yL;Ph5*VGbWmghB61?X}cxFTW*FV2@S^ zV&IJsNrCA>5$fT2SityR+Gvi=FB9Ni*BL$t&I&NbJVs1IqIAMH|JxrLu3b|yV&!7E z?&b`TNeGfIuhiaAYq#;2l7Uy19AVYtQr`&2W-fzzJ3xSM-QKkjwW2XA`(?iG^9CLSZsb2z*&vZv5@~m=i=_^V?YDo z@*zPhY&Y>MD<>i%*W`t+g$2)fs+DeD_d60|jInkqJKt0?038s0s6dh$aM~ ztnFK?JoBj+d3|#kPCD-zb7KSEE#>rilrJZG-1>TKvP9Xf@oimKsRKMI(!=;@Skh_G z$RPIi0XVb%&Ft)_TW67uYKk-ARIBkZ8#WG>v(yjSLAvHI3#5KwD`bL+l-QI-NYhEcEi~|wX(#X-~O@X z4zt;3qdz~*EX%fk7A!chRI<34rL#pJ5rZ@rLCH4&$(4Ye(sN)*rf9&=64n?46CeB2 z4>9_IB8WvRX%-q9n&pfeEVqZc{^BsZgxRTbo7vgfLUecyP?BXi!}=!Yl!Jqruip`$ zOyHRk!urYi!0g(%FfpTlXCAqR6+uk{7~KjGm;nW-X;&D>y&`|Ku0|OTwEAvX$2_svT}==Qq}V8?Fi}Z zt|rdbd&L(}%SAiMN(XQOncqv^W9)WvE@MJIkA3(x{xNJP-!b8hv(OKE3lheb&)?MMJ zf^FCunx~7m%oop@*%!w|1V+uxioLCTEREUw&#Exj$4gwb>Y?o(D+%e=smLu10jLs8`1PsSsg*uEw-jNj~G9CzVKZBr!`2Sn7ZLve2C;bh`?k-2{G-m(yTKva9^^2mzC=M#4_@sp(wA39 zuHmpnDh5o`$zptcQcpkSBQ9D98fTox(FqA}K#vg%4!7IXgw35lf`zIQ9$7^!Ma1EG)QUXb)T}6?8Y5O9$kLWkS4CVPHAch8ekU zvT6_q3kXESLWv87(sQcpoklW<9(Ult0VRCgurdcx;|#;7afgx;Ck(-{x*=g_BBny> zK&Qzs8$$&Nr_(RcwsaK!hh>)D1W_&n|IxFTpj0NN8c=MJyMXym5Z1snSb38Y=ph$L z>x~b%88~9{sZ&J&GFB#zNeiNRgzL;#sFXl$W?2+R0XHM$5mN78;DbRpYb-v972xS? zFt&O-JUIpgi+l>3;i?28ZUeF)Uy=Wh{#^PB^RD*dk#<+(<7@DB=%AiP_I~Rt{{weaTBQI0 literal 0 HcmV?d00001 diff --git a/doc/xtesting/index.html b/doc/xtesting/index.html new file mode 100644 index 00000000..71379408 --- /dev/null +++ b/doc/xtesting/index.html @@ -0,0 +1,52 @@ + + +Xtesting + + + + + + + + +
+
+
+
+
+ + + + + diff --git a/doc/xtesting/xtesting.md b/doc/xtesting/xtesting.md new file mode 100644 index 00000000..3bf7f599 --- /dev/null +++ b/doc/xtesting/xtesting.md @@ -0,0 +1,135 @@ +# Xtesting + +[Cédric Ollivier](mailto:cedric.ollivier@orange.com) + +2018/03/23 + + + +## Why Xtesting? + + +### Internal needs + +- Functest has to verify Kubernetes deployment but its former Framework was +linked to OpenStack (e.g. credentials sourcing, rally verifiers, etc.) +- hosting both OpenStack and Kubernetes in the same python package would +increase dependencies and then complexify +[container slicing](http://testresults.opnfv.org/functest/dockerslicing/) + +**Why not refactoring the first Functest Framework?** + + +### External needs + +- Functest python and containers framework could be very useful out of OPNFV +(ease developing testcases, manage requirements and offer lighweight docker +images) +- a new Functest design could simplify test integration in a complete +[OPNFV-based CI/CD toolchain](http://docs.opnfv.org/en/stable-euphrates/testing/ecosystem/overview.html) +(e.g. Testing Containers, Test API and dashboard) + +**Let the developer only work on the test suites without diving into CI/CD +integration** + + + +## What's been done for Fraser? + + +### Framework + +- Functest Framework were moved to a new xtesting repository +(functest only hosts OpenStack testcases) +- it has been updated and improved to follow all Xtesting technical +guidelines: + - unlink to **OpenStack** and **OPNFV** + - support both python2 and python3 + - be fully covered by unit tests and well rated by pylint (10/10) + + +### Xtesting deliverables + +- Xtesting is released as [a python package](https://pypi.python.org/pypi/xtesting/) +and then is unlinked to OPNFV Milestones (Functest python package now depends +it) +- [opnfv/xtesting](https://hub.docker.com/r/opnfv/xtesting/) is proposed to +build third-parties containers (both amd64 and arm64 architectures). +- the API documentation is automatically built +[online](http://xtesting.readthedocs.io/en/latest/apidoc/xtesting.html) + + + +## Functest & Xtesting in ONAP OpenLab + + +### first verify the infrastructure via Functest + +``` ++----------------------------+------------------+---------------------+------------------+----------------+ +| TEST CASE | PROJECT | TIER | DURATION | RESULT | ++----------------------------+------------------+---------------------+------------------+----------------+ +| connection_check | functest | healthcheck | 00:07 | PASS | +| api_check | functest | healthcheck | 07:46 | PASS | +| snaps_health_check | functest | healthcheck | 00:36 | PASS | ++----------------------------+------------------+---------------------+------------------+----------------+ +``` + + + +``` ++------------------------------+------------------+---------------+------------------+----------------+ +| TEST CASE | PROJECT | TIER | DURATION | RESULT | ++------------------------------+------------------+---------------+------------------+----------------+ +| vping_ssh | functest | smoke | 00:57 | PASS | +| vping_userdata | functest | smoke | 00:33 | PASS | +| tempest_smoke_serial | functest | smoke | 13:22 | PASS | +| rally_sanity | functest | smoke | 24:07 | PASS | +| refstack_defcore | functest | smoke | 05:21 | PASS | +| patrole | functest | smoke | 04:29 | PASS | +| snaps_smoke | functest | smoke | 46:54 | PASS | +| odl | functest | smoke | 00:00 | SKIP | +| odl_netvirt | functest | smoke | 00:00 | SKIP | +| neutron_trunk | functest | smoke | 00:00 | SKIP | ++------------------------------+------------------+---------------+------------------+----------------+ +``` + + +``` ++----------------------+------------------+--------------+------------------+----------------+ +| TEST CASE | PROJECT | TIER | DURATION | RESULT | ++----------------------+------------------+--------------+------------------+----------------+ +| cloudify_ims | functest | vnf | 28:15 | PASS | +| vyos_vrouter | functest | vnf | 17:59 | PASS | +| juju_epc | functest | vnf | 46:44 | PASS | ++----------------------+------------------+--------------+------------------+----------------+ +``` + + + +### then run ONAP HealthCheck + +- All tests are run by a specialized docker container(**<100 MB**) instead of +the classical ONAP testing virtual machine (**> 1GB**). +- the container mainly inherits from opnfv/xtesting and is completed by: + - python dependencies + - all ONAP robotframework files retrieved from the original repositories + - testcases.yaml describing the testcases + +[Orange-OpenSource/xtesting-onap-robot](https://github.com/Orange-OpenSource/xtesting-onap-robot/) + + +![ONAP](ONAP.png) + + + + +## Conclusion + + +## Benefits + +- Xtesting allows a proper design inside OPNFV +- it helps other LFN projects: + - verifying the infrastructure on top of which the components are deployed + - ease verifying the components as well in the same CI/CD toolchain -- 2.16.6