From 33fd0b22d6515bd9ec3a1ad6bf738089a0bc86b7 Mon Sep 17 00:00:00 2001 From: Andreas Beeker Date: Sun, 2 Feb 2020 22:53:09 +0000 Subject: [PATCH] Regression findings - fix missing moveto exception git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1873515 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/poi/stress/HPSFFileHandler.java | 3 +- .../poi/xslf/usermodel/TestPPTX2PNG.java | 2 +- .../poi/hslf/usermodel/HSLFAutoShape.java | 178 +++++++++++------- .../poi/hslf/usermodel/HSLFSimpleShape.java | 14 +- test-data/slideshow/missing-moveto.ppt | Bin 0 -> 142336 bytes 5 files changed, 117 insertions(+), 80 deletions(-) create mode 100644 test-data/slideshow/missing-moveto.ppt diff --git a/src/integrationtest/org/apache/poi/stress/HPSFFileHandler.java b/src/integrationtest/org/apache/poi/stress/HPSFFileHandler.java index cd6b601642..ba2e1bc617 100644 --- a/src/integrationtest/org/apache/poi/stress/HPSFFileHandler.java +++ b/src/integrationtest/org/apache/poi/stress/HPSFFileHandler.java @@ -59,7 +59,8 @@ public class HPSFFileHandler extends POIFSFileHandler { ); static final Set EXCLUDES_HANDLE_FILE = unmodifiableHashSet( - "hpsf/Test_Humor-Generation.ppt" + "hpsf/Test_Humor-Generation.ppt", + "slideshow/missing-moveto.ppt" // POIFS properties corrupted ); diff --git a/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestPPTX2PNG.java b/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestPPTX2PNG.java index 10757fbe02..bf6f56581e 100644 --- a/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestPPTX2PNG.java +++ b/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestPPTX2PNG.java @@ -47,7 +47,7 @@ public class TestPPTX2PNG { private static final String files = "53446.ppt, alterman_security.ppt, alterman_security.pptx, KEY02.pptx, themes.pptx, " + "backgrounds.pptx, layouts.pptx, sample.pptx, shapes.pptx, 54880_chinese.ppt, keyframes.pptx," + - "customGeo.pptx, customGeo.ppt, wrench.emf, santa.wmf"; + "customGeo.pptx, customGeo.ppt, wrench.emf, santa.wmf, missing-moveto.ppt"; @BeforeClass public static void checkHslf() { diff --git a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFAutoShape.java b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFAutoShape.java index 3b57ccb3b8..206bb1641b 100644 --- a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFAutoShape.java +++ b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFAutoShape.java @@ -17,6 +17,9 @@ package org.apache.poi.hslf.usermodel; +import static org.apache.poi.hslf.usermodel.HSLFFreeformShape.ShapePath.CURVES_CLOSED; +import static org.apache.poi.hslf.usermodel.HSLFFreeformShape.ShapePath.LINES_CLOSED; + import java.awt.geom.Arc2D; import java.awt.geom.Path2D; import java.awt.geom.Point2D; @@ -69,22 +72,10 @@ public class HSLFAutoShape extends HSLFTextShape implements AutoShape moveLst = pathCT.getCloseOrMoveToOrLnTo(); pathLst.getPath().add(pathCT); cusGeo.setPathLst(pathLst); @@ -262,46 +252,23 @@ public class HSLFAutoShape extends HSLFTextShape implements AutoShape mLst = m.getPt(); - - int[] pts = new int[6]; - - for (int i=0; vertIter.hasNext() && i<3; i++) { - mLst.add(fillPoint(vertIter.next(), xyPoints)); - pts[i*2] = xyPoints[0]; - pts[i*2+1] = xyPoints[1]; - if (i == 2) { - moveLst.add(m); - path2D.curveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]); - } - } + case curveTo: + handleCurveTo(vertIter, xyPoints, moveLst, path2D); break; - } case close: - moveLst.add(of.createCTPath2DClose()); - path2D.closePath(); + if (path2D.getCurrentPoint() != null) { + moveLst.add(OF.createCTPath2DClose()); + path2D.closePath(); + } isClosed = true; break; default: @@ -309,37 +276,106 @@ public class HSLFAutoShape extends HSLFTextShape implements AutoShape moveLst, Path2D path2D) { + EscherSimpleProperty shapePath = getEscherProperty(opt, EscherPropertyTypes.GEOMETRY__SHAPEPATH); + HSLFFreeformShape.ShapePath sp = HSLFFreeformShape.ShapePath.valueOf(shapePath == null ? 1 : shapePath.getPropertyValue()); + if (sp == LINES_CLOSED || sp == CURVES_CLOSED) { + moveLst.add(OF.createCTPath2DClose()); + path2D.closePath(); + } + } - return new CustomGeometry(cusGeo); + private static void handleMoveTo(Iterator vertIter, int[] xyPoints, List moveLst, Path2D path2D) { + if (!vertIter.hasNext()) { + return; + } + final CTPath2DMoveTo m = OF.createCTPath2DMoveTo(); + m.setPt(fillPoint(vertIter.next(), xyPoints)); + moveLst.add(m); + path2D.moveTo(xyPoints[0], xyPoints[1]); + } + + private static void handleLineTo(Iterator vertIter, int[] xyPoints, List moveLst, Path2D path2D) { + if (!vertIter.hasNext()) { + return; + } + handleMoveTo0(moveLst, path2D); + + final CTPath2DLineTo m = OF.createCTPath2DLineTo(); + m.setPt(fillPoint(vertIter.next(), xyPoints)); + moveLst.add(m); + path2D.lineTo(xyPoints[0], xyPoints[1]); + } + + private static void handleCurveTo(Iterator vertIter, int[] xyPoints, List moveLst, Path2D path2D) { + if (!vertIter.hasNext()) { + return; + } + handleMoveTo0(moveLst, path2D); + + final CTPath2DCubicBezierTo m = OF.createCTPath2DCubicBezierTo(); + List mLst = m.getPt(); + + int[] pts = new int[6]; + + for (int i=0; vertIter.hasNext() && i<3; i++) { + mLst.add(fillPoint(vertIter.next(), xyPoints)); + pts[i*2] = xyPoints[0]; + pts[i*2+1] = xyPoints[1]; + if (i == 2) { + moveLst.add(m); + path2D.curveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]); + } + } + } + + /** + * Sometimes the path2D is not initialized - this initializes it with the 0,0 position + */ + private static void handleMoveTo0(List moveLst, Path2D path2D) { + if (path2D.getCurrentPoint() == null) { + final CTPath2DMoveTo m = OF.createCTPath2DMoveTo(); + + CTAdjPoint2D pt = OF.createCTAdjPoint2D(); + pt.setX("0"); + pt.setY("0"); + m.setPt(pt); + moveLst.add(m); + path2D.moveTo(0, 0); + } } - private void handleEscapeInfo(CTPath2D pathCT, Path2D path2D, byte[] segElem, Iterator vertIter) { - final ObjectFactory of = new ObjectFactory(); + private static void handleEscapeInfo(CTPath2D pathCT, Path2D path2D, byte[] segElem, Iterator vertIter) { HSLFFreeformShape.EscapeInfo ei = getEscapeInfo(segElem); if (ei == null) { return; @@ -376,7 +412,7 @@ public class HSLFAutoShape extends HSLFTextShape implements AutoShape+NQGrl&q_<<;T-f%+d3FBB})>l-2z{C`sq3*<4N|FhyF z6ch}Q{a1W_dwcuOTBz?p<_7?%`rqmQ16$zbKl}J^AN~Ue?7M&a90BkifCxYWAOk)C zPyna^Gyw1sfcgYL2Vej`126$t0Bpb)01f~bfCs<_5CFac2mwR@VgLz%6hH{ z0HOdffH*(`APJBHNCRX5vH&@NJU{`U2v7nj15^O205yO*Km(u&&;n=!bO5>lJpc%x z4=?~20*nC0026>IzzkpxumF4mSOTm7)&LuTEx-<74{!iD0-ONO02hEOzzyII@BnxM zya3(+AAm2w58w|70H^?KvIklc0q@)nm^%GO3t-0oV#0!g`|pnR|CMI{?RfFOvi$#S zng9F<|HtHiw(P(8|NHg->v;WdTl}~F+vERV{r^t?|K0-7z|jB;4DkQn<;SQWrWuM; zpF)nI%Awk*5C4tr@~T8i_U>j*O7@m^E=1h_hSmQrLI0Q2fd8)U|6So0?cccnFLoIG zirY!=g$ClxH7qPp7Ik%UG6P;!-Pz3PUo85+O0REFQ1AZZOyvJ+?*F{*|E@g@&=h82 zVj+_O?_)yBdnj7Ehw6Xv0q%dO`xg`b&%UJs`G5WXmxutsw)u}3^lx24|5^T*2R1j9 zfs(YCfuy?hzjgkr+kN+6V$r|Y;tfP15h!LLHi-i9ivx&j^uXxM3gktB95e6`17aRM zFrOKymjH51z=H$84a7Y$pq?ElaRH@&qy7JLav;Y0+W-Vr-AB}ap$#fT+>qKQ5Q^x3 zEC&hw*Y$h^g3EFM6x4US5~yEqEl`d?d#G2BOy731L=8!dYOwl3D}p;3WHL7p;fs%h zJ2Dns>$~?52!x}xLzbu&W1U=U+IeD^eDlF^F{Lu%kLN7}atx{G#c_nFNxy?1_o8V6W%nfIG5+bmb|xDli{d%0s!N4vGM$d#FhLB80<=x5%qJzv4@w)|((_1Soq^e_IzdZv|*Kr1EpP->J-fNjvfB#y z__y>sK%H%az78i~$(C7P$B30aJ@fQQ1NLpJ8+Z7jL~z0^hfqDrLi=HSlR>PH{hgn zG__PZ^5gs9WSlg0;@esNCXhK|5=o(V&?un<AOeM?Nb(^{&*I6LCRmI}lW$n6UkmszC!-0vZ zw-sb_JLt^T3CgyzWijvKd_$HV8Jam9shgU{iV5_L&h}}(5o&58bhz=%-Yg>86;3)d zxcty9pk4op;%MR8(NTf0&ddLYWYsfexVnSRZ4~r(2aV_qhG;5|_)Dq8dVy{^$2; zTfax;1hugqj_OCJlB4{(ZSEq>Vhkt{USznpHOCx#G!z~`a_@1D5&C6hUhwW!Zjv56 zLvx>_jlucrF+8d|NH9D&J4iD;SwDBe`S*fa(a`=dpYsPFM0z9ov;NlgnDQa~)9`%M z!`yR-Lx@UpNGMRBeLHiV7=u`M6BJYO+gF5tKjBz8M+EI@-fOsIE>NK0>tAixoT)Nz z->={^NaQ}y8Km1hlY z0mm;=;X>6VKc~Rt1)bn%>5!>M9O0>Jb(3&z<5lqtQe%njZ@_zxy*lJSjip~z7h`qf z%U7|Npv#`qOY@L@e3=uHlZuau|j;& zi#SQqq3c=9f1t-2IdA^^T3aS)wt3p=+gx$mYqzHBZCGXBs_>%-mD;fXm-7g*FgQD-&iRxeV1KxWBZ26k&JA$EM3`TgBVZ$_6b=;l?h$( ztDUlIt@vy=mO@9yH_9iHvr|G#JNv@CuEf<_vGNt)vTrR#k)Q;j4yxeO%H1Z6crdCo z#Tu!lZ3kHkO8oGml%6gHv+WPDI&Jig;;>b&hjP+g!Wa1sD?!g9{=KwUl9+3Ywvwvd zW{zY$9mQ&^TD|#ECxx*w9D4GS##H>J04Fi$G2sb{C-%V88Mbvjrn^w8Nn>R`^m?mEn??w;$Ca?^LTbY^c}Bm;xkGP*7f*L z_75$&{+ORIJI#FJR7LB9<`li_vs=b=JIM37iyfhDelfT?G(b~M5f~R8Qq>%ik@P*c zI>f!xNsht_P;|PYEfe8Hb+#)yxOP-Wa(4BFefW>?ONM^6(`?K+-Mo29&4q*vQe)Us}7hpK+4&!$I$ z)5pO-KWvOnBqiHn$(7K^2TRYc%g37AWwN=N6o%tbN0q^#fSJms{7zJGtlFVfz&GR- zcg0pWi8-bCMIcS;KRmL^<A~%96PhMh0V5_`O22M*AApkwu4D7(ueKn-0Y) zd74p+X*Yko*{#mvGUbY?zPpx7y($d9j0TTw+6_L=X+0)sL=t5NT*3nGiK=x8V^wH( zov>*q^W%*9A+~PcEobQ?ztwAD$dx8rr@xhnZ31TFPCGcdk9fIe%?9mszN#68;{+XJPwJZ5 zob^`Nhq<(sRSYf3?c?c3D%N7fRW%V+%?!qZ$W=cXYKgM!1&{P-tDGx?CY$ql#$a41 zaC}1c7A=!OB~Dlg^ss5%RSH`+LkV@iwT%hJw4<82c;apNGi~_CNsjGJPlQcRpiNJ@ zZ-u?$s=Q;XI#yMWjM0h$!Q>H}yLQzw$SiIcEN-y8+aEll6=9?h{FB!EHnom^? zK@F%Ri_tclG6I&!EPkqs?uv<>p2}mp%A0DiKHSVnxXEr8zZ{^Cm9)#| zb8y}jSUG1{Id9Go8IX@X8Cby_G9cLjIRu7JzKU5A&WkWU1lqW-x+bVzk5P`eQR*S& zxA7n6qr`!cbaJ`U^Z9T^VM)5b&gUhRA}-|7s8Qgl1zjpdPZi~ny}Pti9>NTP+8>$n z@k|rs+%>H_txUV|*Cyr1Aw}URCetMwgorsI*j_+oT`Uh8=gjP}AMX?J?2^iy(3Z=J zlV$oi$L%&mjJ7cE20s1Z+#bb~=r#{YVPGaraN-$BC2!*k@^(P5y8_E+gCr$Ef55U1 zz2v(t+s-T(bu?<4gM+iJS_Gk414izSri7;PlURY{DaqFx2vUgJT*= z1XFX4X(1_5CoVBPE^#$3k|#dXD_$fZb%!z~ohLcDJpmOiSs2NA7LMz}XLo1ah=z`^ zse-7yz8}JePLZLoNv)JXFm2 zXpmjmc)unmw5KE3k10l>IEZRLx!Zh+{)rn-f*%YjD5A^O{)&d;gi#i#T9}>@@-kNz z*ibs+ygcPo7UjOwJ9g4;R;zN{ws7iBUl|%T3zf9^%eF|v?tsosnek3(2Tkcb#zEpY zcZKRTk_A_X^ZXd{{HW~wDD7oMhfI&7{A0h+m(yxh${J^EPSbah0nCtMIfs@*klh$t z;^qf;Y{;10UF?(32gN^dogpnOYrb0tl=n#a4Vj_uKZ;wlAAUq;|ALJ!gf3M*2cnTe z#v#Hm4aSc}z7!Imf`V51EW=d&Ink{9^5ej>x=V9KwX+_5R>WiG0q(KSk{EV7R{L_( zVo~V~W_4h-Tb4`KNj@G(6MWo$qOcSQsi6dI)wFNks3~d<)hmfYGj&=Q1sLuhASAheY_@ z`xl$7tqSYWCwZKuAk-GbE4G<~>NlY^w&AK8w-4WR4cj=%j`*ZsVQfh{{Z zx<@}aJ4~*1Bu7X?kGfFfBvEH02ntI!6#bhG_WSWu_iq10cwdb0@5b?8&vhJ@xNkSC zU4U(`=XC$>$zS{74U?Z-T(IvZBwYu~j!;J!W?vIEd$pzw^tz;yfDhw3&_h8-z;gwSD87VVlW68!vgS;q?yGTMMBeJUMf%0gKrD}6QO8cb#`==l;g)nnS!JqT*xZ z`t`CNBP4NT1!8e7=<2glF4E+6WNptx(qz$Oi5|~*f~WR%WXy^Qml{qIg|Y8Dk8twh zlX2!ouUid75!8Ml%wHj_ zPr}mliUNOjr=K|QQt^EHpPm$sRM}p-9VRP%>C^T z?*quikO3sH1CDcD(mg6JI@xhf9m8#2nPr)Y!BYHtRpjVz;GwsMB?xAe4*QluP0BF))CI`1qIvvQxiXCB&8| zq)I6SuqcR-Q4U%ssAj2b^-^E#CVIGhvxtR9QuBmi3R^l8!tVl)>zjB4Lz%PADZ&)sro^;H5FQC^vI2HzfoKndxkY z9I{JsV}0Fz+)gC1CXHe# z1kmTtH&B(P9#W;JmS!wdWqHi5p^pm5lJwKHMRIsa$_8%BQC`s%(ACk^kJihE?Zw+B zYu@TWa~lWmHex0rV^J+tC9XHsUk;3p(IUsAX^3~{2lPLrqYo~{X?1s#{f#0^v!}82 zaUR*ymFC#gxV*nrnRZV!?v6;j1s8Un6DRpHBHsEIR-ZFQJquYv{1Z6*N}o?dWw8ZS z+Mi}-*J6@h{Q^GRVwk1okdVHx;hb0uiwVjW-*dBorxLXNevDs5nEo&zk$qOt-cK2m z=~2;mQm>z^iTl{2!14HT<(P8}wMX6UfuMfrJl@x@=JXC>s}}$7@2x`oYyV%`+`Ci# z2OUVy#N*TAtGnyf)k3 z&fc!F@*2mSCGyugyDe2O+jf|7o@Ij?DBaRH8CG?9?cbKQpRD|YUX~92zP@YtYIfU? zHAh&__44 zJuxKDyAOoiF3%33KPE3PM9zJSj6$JnuCW%pPhZvp8{g9`6PhY>wGDUEJyDx|@*(o3 zHQvBxxq4W!)^`?2@ohNG)WdqRNjps_I(X;5%Qw4>AUh~c(c+#wzoBI;^{s|JyQ`in zQ1yvK-0+>(>hA{)Y&sQYc}pa3$YZ)p6VmN+`A6<7)cZ{Xqk3=yF{nl*{JV1ltW_Wl@ZstuNQfq2Q;n zn#NH7+^!cCf~~0|``6Z2$lWnjPcVLMh+eH!$x|9n#%GNasjrV6m#LX|0|tR(mx(_2^Eq)Aub%~DdWo0Oygj-D-CIUUFHb}- zPhoqK+cZW%mwyd*cXfC7@%*~=NDT~bS@!~R82sbM-iS(au6K4z2}S(~q!|blUh!qJ zzshxgC9?K4&=!u;I`xj<>=^lA_1o0yJ-4#oovmrCJ+*HsE4Y-Cpp3VwOi83DU z?JlV>zecEvnpWJGdgMGp7S$lgOHE1Tp)-E?Abwc@kDaz5Rgp2L^oM3q z9|QA0hGkGe#;!3fl(#9B_Cl495DvL-kJVZtUQKv?ht0DNIi?dT=PvA;qFu+1RIyH| zT7)E9+a5bI%KF#Uywao}Gw@0R*Qp4${FeOe-giw3okiikVK!~_yUy8NGxxOSG$AAP z6j)aiC=H(-xvu7i=yu?)j;hb>SLbsS5n64_Sdwb$opgxkEbT4vFtjX++`xB?>wt@v z%BeO+8G_;4$aH4Nr!PyvP7KA#j>=7J{F>5FuQ z?lA&?86SJ`;^#m~_>g>4_X9FoBu-?05JjS`#AC-b)shRzvtP4pJ=Wp{ob_OSShFtSy*^+ zbgJF6mb`?_MVlOvhMfDw-Rki#;n8o__W4sz@+U}8s&QBJYIewg9%Q-lF?dawm zT^`p;uMgvtrav88_e=9OicvO-bGk?{y8MPx8~f-oBE>e!bv^o7ZA|WZ+(&H;{cgI- z=??7WzGN%WbSl(zD%ylE(Ud9FlquY#C)A|p>VLWWVRgUJ`&1#%Q-NuY*_^)*DOCH& zF!d*5j9(O;w=#`)tsS-oWMGwmD(>vm5RZ4|=i~Cv?d4NHv8UoU!n}0)L{p=l5_EZn zye!5MId?cSXZhlejM9uXmIbizpLJ0K!5~VO5q`B%X;4vJ=Gl6esf3p%$AwEG21bIxpbiWS@fR^pUuY zh!KfcFb+Kz-0#O)Kvhm08%8ZXkSHOZxS&wYr$**PBdR_x?n+Wx+)Ns<+U_+iwDwWG z3Z!Z)9n>Ty+~{B%R_?YMIc$B*BaEG2QNbah%tpe3*S4`5OJ#fbXbn3r4olLKji)dl zMR7c2ZA;S8oFQ>N5yZ`ehSg`RHPn#Q*^%yOooY?*Tw_x8G2avR)~0Wgez`k}|7=>{ zH0jkeWmAcQbe*_Pn$?GB(w}8N}s8#;tT5xr7dpA z3fPk>7bWU-B}dE-g-+<@T9_J@B$Po$ZkwLitgW)RKdRWQG`fafW;j-u zUlmKFOP^#zFY_(yx+%4NJpLu7uzeo=1YNc?g1(!fk&7qi;EJw%vN?=rPOfAHJI$C- zNutIylV6w|ob<^J6te1xV_H&}Ly)N7tlGW?f7GW#U;})cl#In8fxBj}Lg;O+ZBb@k zRhuW!te&8vf!YxvLp(O&$0DOJuZcBD#=k($u1=0a!;r^cMDo06yh@Ip^z+jX8KdSv z)(?N^QVQS?lnIJ~Gwv}AmM7TfTU0+!!#3wZ>v@9?hPw7b771()(bLzZ zdPrFEwgPM!k@&g*{jQreG=wi_t=#i(;JRJcexIV#HY4{%2EH94UBCkqf_a}yw)~Iq zPF^etW;?E(&|g9m5jp$)7FRnxaDVrpp4&eP=znR_OO#RhaDyNAlR-K%(ao%u`r{f* z=||5-^g4~;%vuaxr=xF{X4pa&8w9>B2ig_cY8DY8JpNz0WPn(JtoJPTT+nrJa8r6S-4KZoRAT z^Nm|D&Arj;VLt8oJG7L=&<1f7%)etj`DC>x?dBT-&T$t!!aP2fXBi+^3OlqcQv@OS z%3t^Fun9WWD@c42Phk5wKAT!EwKF0kPlCr*bUN+gB-AkMI6>}j1>Ke}zQ;&U9@E&_ zIZtz`Z#}A6#rUT(O{{5A3?wNnB}V>R)W7jZ{EFXijNejz`DI}fMEU#D-1$^&UgbOB zCff|QTK?I2R9RYH>a(*WIMK7F;717Hk)_+_hxEW`ZYQpTzI98Tk!iZ(>pA z`Z;uBR>}CyS#Me=mN1&-6jyQi%`&bV&!z=!da~*(60*~aZPKWGe_YfEQXVcG77xHe=jF10T!2}IQ;cP=dNYZK_2FQk^iu%^_%XbeQ_3S2vJbVPsc42Aa@ zm9d}pGN6Nbyr_`4IcID3FAjgGcqm9;I$wn9QI2@R)ESyu`sr7$aZ$jw zj3#n)Hy!e7VY{7Sh0OD|*qz^8aAJQJan+W}aU<@juXZ8|G7z&CmN(F<5LGYTMP@c2 zenCu9f|q#=zchfoqsh4#!-d{1^KW2;i=?uY+ zwAilc&_nz)$Tn_x?vE>Un@4lFLQ@S(ufPbE(tN3wufMBdqkKF-@&}(@<>%p1aBBNhj(04AwMl zQl{CYB2ypBO4wN9j`m9Z3Y_1hHhe`ld?B}oq{pZHKwpj_n8)XEm*+Ug7t+U<%EwpG z$JhGDHwrB>EpaiTZ)1Ppd7fN%_ZIBRs)P1SBMYk21d0(_VKl+-x)k)g#RVNg@n61I zzkTxU#c;ZH<`gxE>v?l)7^Z2cGmG}iQ*>Yu%KuanBjsO98IB}dBDssw{2 zLR)#yFv=NqOH|91Fq<+%<;BKBGrk#OzgO-!WOY4&N`njlA5T(lJO)6;(8td~zgx5TTdlL3x zg{F&=$9r{?=L)!+Zj{&ChQV2edqa1hI!=KV!nbD>!I!LYcHB(@d%@$+&z{9*vu&nz z;>jqRhJ;l{rntwFKUu11- zoVpI3f~SvBr!C*!^~f%qFV(oI3C4?Wu5$ZYYF?LtXP-=`)^62mR;{}X&sR3F>+9k+ zNmdk`RwyDYtm(q(o78rHU2{y-uX>D`^yq#^sogdmWmy~v7>-}4{ISrCyEr_mi;UdZ zoSZ|cUDZ+4ERg&QUYkvV8t0}+U?7D(`LoR|S7cn^1ZerwpQZiz)^h zy-w}zgSFq8olALH4Uy7JVL%(->>Rj05LbN2<+$0`@IL%-BKLbKTi32Ap_2NhqC2`l zXTH9i=Vu0P?-@$Nwukt4)ZL*cymY9TLurkZkQSG^)>UXlE7>z^>1Hb#dYkWe3(X}S zVE)c?__RY3f-ORq?~+BiXG!bx3zZ%oJi5{c9kC1^6e||!>|Siyf@0ktsqLG1Kg}vb zK8bTS;>69zR;q+Xs$``bguj0d52GWuZu+8(Cq#CTgd=uHHX+v&s~=)zbtL)jZeDCw zdPfE?id-JENUCv(=$ID$#q7F)wwO?f-Cj?@_lRZ2yD$$yTE^{XiA%m$;MaYcu5od% zbZ1CbX5MdZ=^AHzOt*LHZtsJe2|?Yzvn0+4#P+mtA~hM;M|D$$r4@tA}* zQ}V6_r0aVpuc{(D3b_)CbeagTsrD{K-@C_BN2BMxcIj`7*fIgNn?^rR#g6A*ASo6s zt34$Ggw37zppSx*j<+|yhgV9YAze90uCJ^#UHn#ES=J=BAXdx307>^5#pd|p>G#K1 zZ48@B+n!A43tKN%krhMtR@D^q-^+ar(hh_>HRJARnW|xSXqgnn_mPb^M#l}3T&-&L z1D){zevbuzGV~%?Zn#5}VPq>zCGLe$eidrVOX* zkx~($OyY>w(vcRiq(&@k8%QWd*Tj{zu_O|d0)61MS&|rcs-jYV;ij=MK8p8Nt@|v=%0_rxN1R5=wQL}L;$c0qDgAHdCq>*#eb`%-9QG5Ib`I8s zfp)`@7}qwOBv|AIA@~P(aOT^}jMOZXy^3LZ*DD8Z0kL<1Gqx=f>mRX zcjfW04oJ)WOHQcq`NwP&^Dg02BPj2qDd}soD1l57#>E$P78%6{WiN;PLrE!;x9W_2 zLEaE4{QYob#8lQ#WJa&1m%Ntrl&CbslU%A_lggseA0rK#uLA=z$yZL<+|iQI8SE$yKpv$eD`zMkMH7p zP)eZ3HgV@MlfIjn@rbewe@NBux+^ZXuPL8nWfUBeb-DZLmuunhI86G@yVnL9qBq<`)-kLgyx=pvpHE<`|Sf_LNi=L?g_VOk- z2}E(9r~g$EBd#QD^8CcVg)(y^q(|>v*9nQr5osPKNdacQ(n~=;X8w^iHfXc`iwivS z(MRK1>H)PREf2B8sRY=f!HK|@K^RD5Z9&1Uk(ZIyYf zP!FM5jmU0HQ7?J>uqbd{>RT0kTVOz7h;k&KacpQUoUAzDadY((`J8s>8sl`7 zesgGaqrs8&laS!&NukH}UY_J^kIEN?O`=BuiiTB_c|}^7Sfd!l5l#(g`bBYIM9vuOJLHF)1nTe+4d3o}d)4)6^BU;D+V3ktc`B`{ravTkhDwVHg#1 z7&BD464aDoEXq2s;%sB}!`Lb~t4dkk_7q)bi{@(Gbdq=6*MPVFx5DiQ{cjfDgRAyi z1U|o#WB$T*8)ax|UM)`aiIRoE%*;sE5pfIz2E`6|X=z)B)mwclBKr7Kg!r?D@GycW z5v6J1cr5g+j<2lc4IK_yefzlPZ$F^~@lYy_F%lj5Mbx1XLzge*INesRkQ!V!jsAU_ z(qA&`y5hHLy&_W-iAP2j>Ko#46pJrVj+O6DlEe;@>IY)SWlUso zWcw9ng(+x5v7Seqa#5XyzYZh7Rlz)!8wOXAuxgkV{~T9|i^IhEG=L{;^rjI~t^{i( zLQsl^QWcM4GNcsJXZYn?Tb1B-@Wx-->+g2ca6BU38`iM&+=J#oq!zWMtAt+2{b^=# zd#V+WqFY~AQF+RO>}LLljK##={B$a4a$>-bg~eI|nZH1ZCp1f2Kr=j}^n*HA(($@Y zE&1TBsZq=PulNQ#BNlU)4 zGVtT_J6$7$)BP0zu6L4uszGzS4#;-D)H|wE{=jJO;b#U5ZhgiNEpYgP+9$BFhQe!z zXJh^huO-P=6Ee*ogpS`_@&S^YWeCO?cMND#U^8#@kI6*xB6w7!r9IJ$@N;HmhiwF(tO3xmLM3T)8c(_M*eyqtj)O_veKrY75(% ztVf9S$rE>QYO&NWMB+-7JtU`)`NadJiT*RPs?Hn2fMdwJf46RTP(eY>4`%)Ql@%1R zgxMEjQD~z7v7G+z_fY?tke{HSicWx^1|b+hzc-YH_5|Ah$F1AxW~oWPXRA9Z+AF-_ z3E|yw*4bO(+}#ngh2B>O!nJHcAPNrd?qAjsA@5SIDjx)Hxdm@sQ%|y+^iQf=c8{!t zDu{|&jY*zWn5+77e$|v-Pv4;;`9z5PaHeq3KN(gmC=mA>efyeFJZ!<{`#a}X8XZsf z<^8i*9Berusp+B&w~t?MYRTm3+mv>d&bFM@WVJubfiI5piCu=h+@6O1>2nfoT5Yxt0Fz@BD|fD=*z;;FFGJkY6eoVzEr`7X?1NTXB8O2kjBA zn7vkjc1=d{b7YF2_*h0#lIpsDME*T9izOuTeIYx7V9R> z!cc9$*XKi@(x2iW?&GG}OX=w9TWby3G#Xk%hs2C1^(ad`6tQefC64%2j$a3wR-ZFO z_~>fyXAD~zs4hOS)Q@1t+6q*h_GO&jIPT@5B^SJA@E;kh&AoQ>A26;&yry=Yy02CE z1$O;OS=RkKOdvS4aRqzky9pNf+p{M5iv2XO)CkGh-l zy7~NB@@k`pjqnB50alMK=Na*8h43Bk1a{Ae&yDpj7AC^+cL}{*Oz0orU?(^?39sLQ zgek8Gu9YX`>=)L9Di(`V9#Ni+yvh}FLyxMx0)G@|;GzztRa=pyTD6y^8D<|HZ7$D%1;p<9o~&Z|yA_CT7t0dm?HnSe767 zM1)jGGCzLi7Tea~em8Fpe4KDoBe0=dAh?G241kk!$&3m=D7*p-sY^6FKh;uowkD^(NBy3&d97W7ssu|_nS^xR4p z>Sb+X`K==Gm3a3`dFU+Wxx_d>kr?&f(t%NxB5^4q6qx=FJ};f^X9k|)p6k5w3o zs*hO?Ll{cz&XA5Ks}mt7G$)^`tFsT&kJ=#aUF)uM8G8O*OHs3w>z@h!U>)+>HTfMk zAKgJ>7hgN0x9v~3UfUEPf+yDkVNUn0YQI8frUWR}{|=TG*N8;zzn$n_>TZ5Fc(QsPP5G13%_Mlm{SdA=6|%y>%PDexCCa*3I|?$8m3$H5IV_pczxOI3l+yJ@dt7@{ zu=Z8efmqKN8$|Cvkg&}i$L(Hm9kl<2yt? z7YgF*S{t0l%UYt%T0{m@vctAVBFPg-z*{6H2U6^GszG zeMRuc74=pWd&=HL>NwQZm$F7l+DN6Q@sfk_nWaaS#|9bFFD7$k@9~PGm({E?bn z`r&Dam5M|Wz-;*L3k>{sfn3U=BN(3V&AIH~;BkMn=Z1tAmw!j1Xs1E>87M-O6Q1W3 zXhTsv`hGTDiv~^#W;^2}=GuV9j4)Fz#b-G5aslU3uiuXI*3lK&j(j&C*Z1y^DO&pw z=RF;M0+*|qQUtpLR-DVI9FFKs(Fx_4hKQ7^SG{x!dBsjL>_1e?fL?@_EoQ1G?ZeQ} zr)Xqbmxj)Z5tO)Du?JTmvWeW}T9z}@D;IrB7!?Us*J}@I-p})@6fApBpng6RenXQb zuDB$A?EsR$o1VC-Y0s#RC~)#BX2@OIIu^*%GnmhNth;@zcr7=c!NZh@Q4?q{qnQ>T zcMx&ShqZctrZo4hKu6ko{;N(g!!(Q*o2+jL=8R{&Oz)1G!mDi3_NQ_NG*w%V+T#h> zd4qL>iT!RXlsjebFDpZTj!`}OyFME&M8d`Ypv#4#iok3#-#vbO@z-1>9Az_FT6`Q=P-uP-b^v&$|A<@UV=!J_juB`Rwr6XZCUf~0T!80-t^n9bLi|F*I z!ot}Z8+dMV8n%~;S68vl`C5-xldL> zoFT4PpiD;Lsj`_}F^gazTXUga$*UN(0}I`rXgF!PCt|d>WG;x3izvogdo{1mjP3o{ zAe*`oc+kv=XM8MY;*X`e))6_(AS*OXiQjIIOzhh$9IqzYa~4#U){HA})tUdrUaV1# z>FPpI+HxW-3WmZxmzc5POiOOlZrq^H%d$fuaMC@hTocs^=5p>)%kzv&52I9^3Sf%?@ZA153VmXOz?O8dM-%G zK=8`)tZYdw@oMpmj`S>2%;4nd>zw19KzNCHD9p*IdF*#$K%63i#AtSEO77N$Lc~&bU#e5m2aT%+~_10q5a%|d2 zH*Rvp%4Ke`n6g=*t3f`jkX$^4BT;Ep757MHg*+2!1d4{XzpOa2h=L_)b(HUzVeDIO zWdU=2RPh+J4jrXsmtH=|DKvUiwVmqxFqz7aM)^K#z{H7~D}8L>0;I37C*y#n8Sd|N z)7om?iwQ!gKI>}>$Lq6Q=YpJ?I~ueEg|?#b4V~?lLEcX}A9$p7^q#DXZXD}h3EZW{ z@K{f_9`46S*xR-5?sv=DXSbg2H;q{cwC3+u(3%WuvTR$YQ!OhG{*{-r+3Xv*v6U0q zoFuy-kZ0LkDf|nTquCq_df1?-GWdhF9AM6nwQX@74)m?uN<}5?AtzPyB_`y#r=$I? zf|yyINK_1y&E&9_AxiGsH=5Mo&s?a}{Pj;GHU1n4)Fs*ys!Y0!7*pz8&9?y zImQML)bWlqfT2BHcw?MTJcD#cVZr#Q?g@Wxl-CzgcK53( zIfcZmS~c`G*hPY@9Q-t+8#;_LQDmBq`aA)KOPK~c95%)F2u3;a9miFMX5)fR( z?1(TJW;dOFCXX4V({@k54kKY7QNREj9#H>TuUxNY5q)KH)vT*FSlbWfNShby4FB?!m3J} zk&U~|RBolJM4gd{v=WrqKUCntkr3ZgU7uz&T!C}Y)eAR2EVrq<+ zAdN$ZXT=*w%?-^JI_{g^6!Vl)mtrkEp9s6)K>A;yJ5kKgg7l93a^6&4rSEG>0U3|j zN@(f^7z+lNYSE@S)fYYU@HgYo-~s%3`Uzt2q>%fBGI#>Nzuj5y%~Iizc(^sr5MRxl z=Ce8KXY)@^Rz+Cgl;KuRK&i0hp@ejb8#x}S|rGxk~gm}p~|(*_xU25DB@dl zrHFz}p?rP9?JzM9LkYDA!yKqhb}AR2Fc*LKv!r`3K5!D%N4_V=Kycv5-BwCFU;w+UER{6QB?UuOoE z&>c8yXaiej^nzMOz!-Q-T`kJ6vVq8Pcky!BvJ!2y54-V+i3uv8TUnD85?iyT>sUAz zvEnfg98zb~+R8+S6&ixQ*v4e!StYw22)2qwx0KNZL&|_74q1{cgEk1CdN-gbQ&nZH zt6>7Hs^#|k*71{DA+KdgU%t3q1n6924Q!W(a;W?LHqI+W63=-;{a~n@WNFY#5B9_f z(;$fU{#mQx>hF{Q9`*$ecaLI!o3GO(1j7lQaMVbEhq7Ov_Qw+bwxF`wX-lQQ%;vhU z*MZ$MGPW?ND|;`xDv5}j&zbr;OiFONx`hq^2s>xr{w#U2bO;?5&+5s0w~#6d}skg&ngTM%JF zj8{tMjDG>44o%E7A$VbDkK(b2mPcCdIEDdw+*{`pOgwOY;6o;H!)b|MM zEIT)t4qr3hN&fPyMYb8d>FLF-g`tB-{`G-XSrNwM*Lzk(9WHG&wj%1{hj0OB)W@N; za5>z13OKm5pw9~fd0G_k!RdxFP+jsLs^sl9PUfeVTn_zML^|s8ct;UIPl!C4Q0?VHIYndIetUouH1Irn?`tcV!rcBgxupA%D| z>tp+NCySgPa4PG%^%ugnXwQw9HvWNg$UA4f^?RT9mwtLbIZxI$nVqLOUk+(dyz-4V zWA{}Kzf(CpqH=up%5R!(vR`MjD7w+699gYaMc3@>bi-4)N z9^E{IuRpTv8`kH|^AQ8=e52ph?)mY_k%9WeOU@UwJ=10DZSy30;QZ_kE3dl_{UzI^ za?}5~{+qho*jt7o9S3A9F??(lL(z`w0?Gt+UfM|K5Inz#&zb#MEC1EK-Oqo-T|2hy z!Lf*U$JXB3+*nRW=U{x(GNE^teZhY{T3)f%y)(@=9jN!)r*?0iOfNWYRKv%gZBE3we;jah zobTnl!+TyFsn~FDR=)vnUJMvMw0G>5u=Z!7PmTEbP27ibYctf^__N!-p?1%o*6&}o zedw^TK`);4=wJNy#62GaZ$ukT9Qdnh-%%MVU3NJ0{%E=CXARR2R`IX&PT6eNx@At& zS|9uUlYPv-(AOVMEk60;aAJq5!4C?odbz6HxC6)Pern$JRJ+i-If5D(#w<_RQ6y12 zt7WSUhld9>IaM)3mTZCEXB3|vS?BNd>{a`B4uf*-iLN?(#-I88W@KrWvv-}EyQ;W9 z-0e5BN3(7l>bmdD-26cyzibs}RA?KTIjGymaidnwZ9Dr~P=~mv50Ql*M)W;h^KSGzXl%<|Yg`NR9iYM$?k zKK{7a^HGN*A6ZQ}cVMxH`=acZ7LHzgyg`Wu9)8`*)a$yrS;<*b&dqB2xt`M`MYt{D4vkm{H%&SbTMlGHj@7gA6LO196)<^Cp6!&y= zRD4b-@Rlu!dJ*QHBjjjklggETQu-+(d`kGTd)BRetX-^UzP78U`g63ei{jUiuES^M zdgT7>*N$!zTk8#@4pj9F8c}#nkC%6s-6nyn(Lhi{*a0 zOfQZ;olqd(ts{qWOqw?LGam=H{xx!HYJWE4sT**?!Ngvqd}!W?cr3 zF1mAf_I1CW+^UKRx$hMfaHFzE?x`%qyXw>{A*Y*msZjkuNc+cbrLCMEt1c-nJt{ZH zCc<-QlNrlGeT&VQZ`d;L3)9EbYmkE?fcb?&z- zs;*XV3s1b5xlGwr9d-_LTbem!Res-W3&);QEI)ntQU4P4{kKQ>DYj&YDDCHYe&Mv) zS*jd&?RLL+t1O#7dXBqus%dPmSy4*6JJSZo`}G`L++%O%Y0sN@R<5yPnaiOklYhR@ z@^fgFxan^ijf%M3=4Jg}2}=fks%hhuv+5X^-!i%_x~m&HsbJ1R1qv3*U%pGk#l?%x z_w~8gs^5u&on2m@m_4P(xyGxXR%@F*Qo>sR zbhQJ&uDRZ6Z?V;JeW%{cF{grC^NRNFm43NAXj1qdny_cQ256 z$(_}~nQn0EC~dsvq4Lsa>${b0)Y0wGduRQy-?LJymUoKPJ-DgderWtD-}$9Cb+dc8 z;_9Y8C7)&u8I;AkX592akF3VUjT!VYq;T|u?iU>k{b4(~#k?%O4Oh2q-n*9jF85p8 zocx@JDV|U4{>ag~sq=FuLvYBlMDNm{><^S4XNWsAz4Vkbp*_v&@rfhFFDTi#)4%srr zBez$JT=OoEZn!l=%lCJ#kF1~yUA`F|f?3-scl=WM%JK8fE*|a?zcln*h8s1{+8r$$ z|Jl0GJC6~+R^0hcf9uZavO8br9TC=L^~3xD2|2s}#ch62#qB}%TTh++9(qK?E*ktg z%h`|~@kdIZIN36GLE&RF>c?NnyGGGHWPDh`u1+IuvU#^Wt9@e?5?x@wRgN7b$WKC@s_a0 zv%;I-jcR{(Lx;1!`GnHQnQ4+jJ__xlIT6?zOENW;oH~V8IEQ zycfjS*6VSkQ%twnhhriJ2iiSoUH#mte6IrY|5o0+{hiV3;n_>~b1&V`ru55F}vj zUY0L*tYvxi?K@9D*?R5!b8D-H&0Y;^6w~p~e!<#B%8^d-cVEm~c`nO^n5nUGD+^B# zTa>SF*4U$O=lPvGUHZt>(#2=kedrlmE^1U_uMO=F7|w5896Ee=g#Elfx8DBU+Ys@% zrJ>!9H_Ha}H~1L-yd767F=E4uWpQm1M{kIG@yI@LVX9 zaeI2t-2XUVT>ajQt2{aK=%K@uGy*G|%;rv*8<#x8{Dlgc_XE%fDzCdTm zlpB9!xu0WSi|kLDKiV_zc#nOpZY|GmSohHXMLCDh?}Pi5vij?IT}{Z5`aLrje%W<) zo`^e|S|NFJJI&~Mv2jqd_QxCFX*yf+(l&nCqilvg`|6B4_9&voPp4|{iOD+a)%Nh& zTi!-YU7tH|uK@+S7p~{?Q;SzuXU;t7F{kJDuz;;Y^2R)v5m08!;T@0jUR?Rh{4#TD zY%6&9`ihP{J2oj3KD@-sdm)nw_i5O3NVks1n`zr+U)VM1y6U)l?x52%7JJrnUeIUY zvJV}192&pga8kXtc;j9l+6NWObH4j3=girL42qhpzhC#>I;X`B@yp&PCcZa3e9?A7 zow}1fOZ3cDK5)?PgskP9<8N2kX{czJzN%s!pKG0}^&DHb`-D2J?X%h>^cyknuLe0Y zmS56#bB4AqHlfN-JF9rVYT7cg#)P&_tGvhxm(|CdUoMIp^YQV$+mGKRPV4<-+47ay zAFoWT68CufhKC!MFWnHfwAiD`iBpT+ZTv`+II-B+HYY;boOrO~vE#^DjUHcqTw`^( z?*X>~TYaZ2o0559si!qg_o$lH&_4vO|-rY5G@P6AP$0xiD>Ubk2 zW7VP$>W;2ZZ)}ChAr&S+&iBOsN=N@$)!L0Zy#MX`B8T_)pENR0;WzD`{ML@vJL5vilT$c69%Md08+2biY*hhl=hG*Ze$s-;<8JHa-jw4Ln}Ia`Rh{?N*1M z`?Z@YuFJ$46GnAvmZNT+%6YAZFAJ?uuSNI#Lmrha*kJt%w++pgCpHbWu4|Wha;wn8 z+s^ImvNs^?_{_0z7R z&#f{c^MSE#4umc|;55uI`ex&Mw!we0Hyv}_8Zs}jSjE_o_3^(4W;^tGef66avfW;P zuI|lxOHLHM{P;%GCBGN_W7myb3H`ZG6&f2HZx&Rq*?D#M+(i*tq9!!-DSYgXY-JMAw#|9zPUqgchI(M!v2 zdZK;$mvzOWTPs|7ajwKKefoXsu;grx%f~+z%=X~S<2T2S7fIZFnp<+_ZlA})6N|li zmE+Op-0jX+4M{xUb8BRc#F2+~M{UitYt)HxuQIL6@vxoS{)u-_hJIM{SFN%)Ywv!R z7%}X*d*!~3AOA9}PU9Puhu-OZuJE8aw|3hOMOS0~L6i6IT>j=%Hr=!LGhSA#^U1^h zU6ulC+E*{}$=?3ul!6z}tlBx!Bk!9F1%6vr=lG{q^&Z!5GCxPHZl850V*hHAFGr)+ zBL3vyE_z`!m~s3F?Et z1zN{dj+$9##Ojq5uIzrN{^@99V2^8aw=e9~eeD(N?Z2+?b@JMp?JJ6QnQ~RL-DTvf zJNc)d>ec`1(=roIb=-1wYnkN@LvK&&nek1Dh-uT7&o2`>ZL-&`e4CCO*>>W{Z#fz^ z`0HAYZH=exP*2^qBYer_n6laqRTjN|Fspp$TZ^<0mRy}SY~l5Ho0jkE)v4n3f!hm@ zd>_?#=d&(E{o(y2VIoO?|x+Ok*MU7@8P=9~S=)YD77uisf}SF zpRWhoe12-}b#X)4<a6^eKQ3Ll}d%9(9Oq0IWZMPRbRW$zW2G8PA z!}eq?e7oeju_rebD&`fw`C^`#dGpOFQYMqPbL)UtqdRUsJDY1BFgmj6>xP}qYPQZA zveLnJ-mXAh#+?0Q$}Q-%@^}%i3`MMZ1gyN8$1A2--#RN7&5F&n)A@P*p$SD}XR%JX zM)=ixR_aWAXs(~4i{0&fz;15teD*Ekx&~PnPO#Ey*AB96@p9*@V|fmrSgKk(yxxcI z2RFT1HBT38Rifv>V5?ncvwg}__iTw3H6FSI)~{3HC;OY#TOXgiA=j$)`KpGWETHeb zd`7Q4HG67}Tfu{yM_b`Bk>}530AEndMBEc{j>9 z9671)cfmi@ZD!U!v(6ql`YBv<>WEvH<@Pz7?a!2d+0;3M#^0ZF?p4h29n)i44!b?P z*6C3-P9Hc_A#r2n9=EP&AIzydHRCg{Grgj6a3j}UZGOY9P4C)QDj$11_w2H$e)=4j zi=SLJ`;^Cyh$d@`2RK@h$zQs-?3D>Cm+tCWZ$Ya{N3BDZJ*R&frMP^t?Uvdr7br`f z%lb=+2Ro;Ft_qk~KDRQa{NpaC>*wh2v-|F_E{8XVlrJ=De#rShp3c1;Q>I(DKk9pJ zsg`+>RnyxsGZzMK_A7HYVrr(MHBYsld1mU&wt-UvN_WaTYeAmJzZC8k)6?$I=MI6p zR+OZnmS#;CeU2?~dYN^GJnMJa_pV>zwaeb9Eia;4`nMelwQ8GLdo$w5d$(F`gANs& z^daA*nEaFa+^UoHb=zt&RW&zn%wCJNK+RxGnFEmJeQgFF1ZEz<&BKbu0Pg^I!L}QuQOR+GaZC(All{oL~0V zs}(;q(~(6{12dh#P*J9X`2#$cDd$Bu?3<%f^oPqk6PrAEHEhA5;?bS@s&A-TMp^aE ze0lol>Lt~8Pd!|+S-;~r+RC$A9>Yui`8}p^yzPg94sGY=I(8}7#C|y+HO{%E zrG2i(4!Mrn=elgap!v@2e)V+k>-{+_)4e|Bw=^jfyY$4daovwS%X}<);p)-XGOj8X zv@++`wUN6Dua8mQ`>eef)&KGM;f_ZiGS3^8=KS{Hw+7xz8~N;ScywR?m~34iHthPO zbZfgsfA}bs13bd&25ekX^K!?CLVArZ$1(f!`aC`T3cSnQq+Bc4+RbwmupW3KXB_u? zld=W&@AjT_$*$f?XWv5GrX9REwBE+KP4bnVzBw{-cC%>_d%G8K_x&6>F|JWwzhQ;e zw`nru()>beulY4>9^Ph6sY@+uMov0W|5Wo9-PfOQ`qP}L6;|)OSo8O=rS(=%|G2?s z_4}c#hlbaVv>Cd1cSQck`a^eDSpRTM?xDY2TibH=`l0LFY&5hu`L@h9?-xzH-uRUE z$9oS<;UIbe3p zXJg)n9-7j!K*Z2Gbuax?Pqp!A%M#^6>&4_Ol77QeH!|@`>_b0e!edExbh8F*Hh07*{Q4G`HP`&snDTT+4VhQiyUn} zA@;yC|DySQr<4m{c)ISzjGp>gk-ZmJ+jhrqO^FGS-50l*^XHpFRlBrkU9ND8HBSqb zdD!$|)yU}+FEl&+B;V(Cr+qVRTUKcGw2Akdu8CZkdsyuzoi0spvpV!*t!>^ndNeEB zeD2V-ic-Fv!+$AMep<_%r5a{hIHAbT;n|-!#bpk9l&56y^eWTV?OW%O%WG9!m+oT| zSAXpON45cuH>>48KOne5K$l|eYGk-ven96XEy^Ce`rz25GCP;&ezo1^`SazlIme?-X_YP4m2~=dIE2SlcLD^AX)wEzEi7 zx^MkUlNRP$o+Xm=YdkINTK7ubhgIl4yh`^GR+YAMORxL<9h?5x~^~N8XS|) zeyD%-kp0(J``8_}?mTbf{&jobHoQ0KMZQ6w>g;;@@Oa$=O`H=tZ9a8-#(=~*Mc&;D zOzCczr^Pj8IEooH0hK5yc@-XJB*xL z|HZ1^F(b#Ed{BE&+mSm@-nH2?JhAb-+wTt*xwB#7i~Ey50Z>fX#4bM>a%8uYp z!;6-^IWK5R?7VGN=3IZ!X;(<%p2hDP-8ro`Eb8?*EYtRmzEyuJiWTE3t{%HS$Ltej>`QL%cDCJx zTwOPI%T(&%({!cm+wvW2++LxE*qNT+0f1KI z)-Xd1g^E zI8!3@mssJ`FhXY%Hh=;!9j8M`A&j__M@G6~A&j@e8`|(~Vf>Z;ST6h9!su0cs9Ex1 z)XYIu1SwZD7N3XDyLCM6fuO?15YFHpaB~8uTcIG*>!~0lg4b_E%yU`;pU$a7h?Crj zL-4$to$;E=gxnpBoNz$b^bF!T7#H6Pyd<-U&jYShnXanM*dDB%%_kN2>G<2P=`?P} z4gsL#m%`A|i8=7`j^@}-0}J7!Il#Fv7Z%0g!q&jqBF&rv`Ly+B*KJ z0x9`8$nmohrNVEQ5nzF@%fQ$*$n(u7gJB(XmqPYse<`Ub=;(_R@tW>=qb$_SMnzkF zh|gGqvtyu?cyiCkVUlE$r!mR2lL#d_B~H;fLIn$aFc@|wlVnPwG|7~Os_ZInMUh$F ziaKE*l*VRmm65f0bs{fbp+rbi>EKI^lE@#+zF1<$!qlE{YlzqyVJ{Ou@TTC6u)m28 z`>fEeA1$z6d;=7O5AF(gNT0*i)$q@MSHKJz?Rh)Fk&VH25yY+d9bO0z1&nU==%iN) z+=JM8+eI-^D(!4tn2lVAp#a-36B*xX}(J9blcw zLifflDLTk92)?@T?!EYWMu&T3#|ObZ2(bu0X~&mvbw2!);=zXWmE_86L1F;bvL}lw z+$A4E%IR82Ib(v<$u7`AuDoLKS4pMr54V=s!KE`&sY7bI@_Fis9R8iZhH#^N1oP<> z-BX)OAwPNWoD%%=4K9-Wpp>YLgger5AeW@&!11BO)ID+1nop%^dZ{L)y10emL z_zgimdi_xPbe>%Vm_ISr$>0+nS4gcHJ2tW?_M z+6O7L978ckJzV`W{u}c0Cv8-t9_KM8(Z=o;@2dE_Lajuls^IrAB1a({oe5gJ17}IK zm})gT_;8$X&WzX;uENxXa6(#4@-fv`KOS);b1A-ZAq1L@IFi#x;SSvuQbpH7szj?G zBqU57hZ7&{jMS4aIYNjI^&R1f+Iu8n!qwj;L#@mH&=b=z)W#G_pR_m#KZ=3MtOH7_ zJ4(AhuBdfN8ctS2cvkA{422f8&NMCEun!aIL?509At!zKXPT!`nlDkWNXsd7H(rzK z;*2y_h>=oDIq1cgOBX)go=8b?xOPAeyYTn>^SE&Wt~&Gi>ji0c#$7RoT@berUuWzT z)d7A8A3`f#(BIB*rL>9qObDU-l&(SiIhBFXY97SLEy|)F86yT!j*&I0WlV za_)=sPW*me;p!OZ0__wgSY{~}eAzMHGSfa=Dc>z)@hT(83u&b51%E*b3soCJ%arg^nq#%(jL+ZK{KhY3ow>B z*+F{0BF!WO_d!_FGKxje4bmXe53$zoglocSH~124=>Yg8Us6j;x=b3}8$UtosFr99 z9Vh(^f@YI{@d?d%J*N1m-Vk)W09rdj?JK@dQhTTtQrL;N3KUNO_MdY?3yIzlJL8Us z1YiCcfp7^zo(Tb+;NpZ`;)E6pJtKg}p%{Wt*q?toSs4M9fpF_7k%WK}l2}UdH^j3B z<9U3e;vPh_%EVwrDk+<+0}e z19!7n4C`j`u8?NJ5~Yu{G9$mIpy?SsLvW+`gfmf_ukzPY#EEZgq~j`%{L_&>5w{L0 ztB&#|drU|mT+#pE+M`3AKrNMCxbrn^B}F7*q!B^}^RZH|j8JP)JwQIG4lK^s1B4#3 z{{wJMPoWxza7Bos7PyElp&dhSxpbDYwiUE^R|sp3Ql~x)!LN8FmTF7HAlRtlcng}! z$0xMM?Qt%)gp9@*F2X%}ml5y%-BuUw(TkLLPw_=7gnM}B{Bloea?e?EPt+!kaVlT9 ze(_5|3=8n&HkeA;7rJr_r_`Hez;=t$w+qgQA@XW4(EB#Wbi7`o-37m* z{tK81;P=4PK|2J$!hXpt5f(_|SI~RGuQ#wF`W4cnH2RfdMDXhmjEH{u7E_|i=vRsj z!LMGWS0(l9pG+>Ly2Ffz7)r2xLN1+IQr#r4gn^`fgN>?sx}MZ;Uz1!?`ABm~a=QW&L*XWLKrG9oxg@{RT+;iXv@A{ImF6;OS(?Wy z%_TjDeJRVNxukp2Tnc{m|1WZ>W{#>_`v_x-_$uHo%r>6hyZeHs!Sbt_GXCsd;;MM+ zrRJDjybHK^aC!_jfE3K04@Zqb!Z?Myw^ayN4%cG1zUc9P4NJZoU0V6@ATb<=a6&uH zg^%a8p|5(kM?PDMhk9J;`OfL&R(}ono|TWBw{^3V%M8|DVP&J;ufO z|LOey4F3NB=LX9Z#rru(ZCmySpCKBHv13&cJw4&?RAqEmn59aUid0d0LO8>e3~8RK zch+OHS=<`iq$G1sEp$T3*lNhU3kq2*J1Y~JPg8noSG#wyGL^Y?DsuPF$(&LZ>E6{W zRW_+e)jucmb}Bcw^={i$Dam{m@Ir?J^!*w%NtC&*iOdq*_*UeI8pNdrdb22}}2D+$S3m{d>c<)W-wk0JSWm=?;dWa~M-$OWZ--Y-lfacNQRkCEc)Tn41GW;9j)wMLgh2vP1hmB<~lVBmwX)W}`ObdWo>gh+%!Z!Kea z5uW6CAG{oR1Tx(U{5YOJ349!qdkowM0d3&tA$U*l`bgy_@QvVaz|Vl^L)aVO9l$9U zi@~>ns}a`%a4q-`f0-g;VEgN1YGq9J~Pd zX~aR}GkD2jXe6?l;Pb&r9{s`nK>;8-8h{WDpYO~Vse;#}({rKBCFQ(E`POZ= z`z5}93_~hRaoPwteSlQ-0N#fqwW1zqaW2LC1Fn&_hsSU;oVrmMqrQkZ%`M{;5=|SN zj#ZS`j&*+nd##F>;?!LtcM+$S{$Tz&08k1KquLt39^km!qu)66nX(+sDz6g9L1+*h07G^0fB zB2F#IUB+qpu1{6UvhD#MOMx%6pOdLi>jJ0Sp;gp={z-zLr_F%VrO>M8z$v{& zi1le!6PzyPnrWMRMDY3|txvN_^hLy}t&Gz&!|4I8m9~L<9y6R~m&jejsU^9~I8EO; zeaHE@H}sf;a!$TJZ4aDclz?RbPU!;^5vMs!a5|l9ug&10FvF=%qAwy&139@LDXrd5 z7eMZL-DCM4YU%rFPKn$_oLZ8*jMMau)0tc@cMlJiB2K9v$rd=>h5p`4;37_Qnc&nG z{YbmqFY)>!txt1H^hLyJ8yTl*R-bm}e6_dT)|lZmk3{YwPA$n@#%cP-sgAqqw$XhW zKQ@=#`)LMDKB$O#bSuU~?a<9E;xw-bPAe)hxNOzf@uR&`oaTeSY9{@?-#;!R^gGh% z49yUb$7S$MuVS$)r>ST*E|Xs(cM+$Spv332NVt;Q4 z<}G9gPQ!rHZDga3gMm{!;B+}~%8#8Jaaz~}r*?|L z>g5_?yj@zK7Ln+Sh*L}B12Rq_?4;x2!kBjo^BnYwVJ_=5f133p6_vZ2IvvRt#?45ywFxr;cpBzGC7>AOBXi1zAAm!2u&bOCUB1vp&@oZf^A ziS6DJCOEyqEl@Ai+%)U&Eh*6#5vP{M2V|Un8%`6r6)y8M?aXlMC6T*`Q%iD}ahkqy zT3oSQz0u_q$~pOQnLmKjqrhn>a9Tlv(^4ilJ<9!|4%JjJ!)a-WzKA%rG(I5X^xJTH zjyvWOs>x`E(=rmdi#W9;cNwSY8>c6@%j%OZR;qw46j=M4Vb0ACPhSZ8%-ZIlC^=+%+4QDKC+`h*L{)mvNfDaoU=z?4or&lH#~b z3*ht}dgXTjry2=PE12N)9c$sTL!&XnX+?>?h&XNb-Q%Znf3InO??kS!>n_b{Gn`hE z$X&##CArHuP2V`p%yn=n>pC$-oGt-Qrvj&!fKv|%PAi+>bShioa!KQ1hSMq%eGze5 zOU5Z$C~5P(On0t@>wV2eGn`hH$X&##CArHuP2V^@z*f7AbS;u1P9FfLd4SVrz$tyl zCiWwFo8UALd*Jd+qcp>*k3?TYoK}=^nr1ky#0_(G(T+C5X*G%5MVwlayNuKHjnfY7 zsml@9)BJiS$<0U7;~RfWCt``fX#%uM#A$UCoZ2(JYoaEB*B9xyObv;?h&U}K<2221 zx|DU$tkekes-^QBYD(lT;?$DdWt^sOoMvWgTr+5{rijxQz$vXe*O`Jox2*_k3v zivpi(QJ+r1Jp9uVoYpnL=~`A)JH=h-&yd!q_2AERJ%^^>jZ=Bu70zVdU^T9YcDEb# zFC<;hp}s`!B2F#I-7-$)^&I}w>#m$-k#3{htDu~dA3wDRPFnz{^?=j!5}Yekl`r;Q|X7jbGy?lMl(cYQjZb#<%a{)S%{ zNm>s!Mmd{)=aTii@g9W)iuJIJG2q%Q%(WtN-ctsui27eWTr%B2KRZr?m3oap3g11gCx` zIL*keYmU1;H^V8dglPI+SwY5WnzdJdVZPc`T5EnBOWIG{LLzq&rS10&H1OJ1vJOKV6P(slgt$a&+M2Dy z@Du!*zMq!)?)Asy_fyk$ub1M8YhjJQ**XkuC2|*WYDw;vaf$|&EugmgtLEpVp9Znr8KBSA~_P zyQZfZPTNc5F5=XZ+-01m@A|ZzRr`D>aZk63jq*$L81Wwxkr|;0;8!W+Tpb1XfC<98BPZ)x@dQ3N0{NXheYloPA$n@ z#%cP-X=l|It*0CH|0Mr@Y73k$0#5gX2T5?+(*&oB6t>#^+8{HW_LAs}h|{JrPSXsh zOBIE*L$yQAaN1iUcM+$S~bVrP~9YBrYf?eim z|M!C&3x32-ax?O&aPpTC{rkkdjl3&3J$EoTg$o0x=NoN2=2DfG4fBkRsugbC0(J|beG;Ay_Eo+*@X zTxV)xd3(4OWme7Fo_FsLnG#N#VIODOWjJM=`1=t~=)Y!k9mH5`H0gD1ZcyY_Lmh7J zEsoXW!kb{HH2!XjXm8wY8BKmfEKx0WkmF+Cf58$dkAeFeOLput<|Gk?;LcdkIM8^| z1kgkf?cO{YGzCQKt4srhf~JFJfPMkZ1kD1?2F(G@1)JMT?1VQ-2mML-2&YP#e(jD{si3x-2>eRJperfJpw%j#etrHo`Rl% zo`YV1;z2J#uRyOsZ$NKB??CTC37`+4kD$LmpFp2Mi68@rK^-`d0;B|~Kvp1Y5be@! z3$g>*gB(DPASaMBNDU&}=L*t*5}`wGMvhbY_%D%wov|(@bs$?qq=bn@QR;03Q?K_d zggOHx9x3@FyP{yK2)34EoIlg!YzHSZg==g68tFqTp*TX0hOhR>^IJZDg6*!T zxZ+aABR@YTx*PXJ+a0W8Y>Yi)onX6X!u{KAw{3h@v?2nR{=({Vzt+UaIHl2o1vhUE zQGlct{Qq+a?tqF?DK={?l%iPs&SH-=yFK>vtyF34I{+p4W3}&rTr-WeZ(VL(R=MoH zAAR{DJvvO$cZ{8Qm`u~i(Lm87VJ8K1V zS)_epR(6Aaxa?*R9sQ;3%9fPN?)!09(>3|B8_FG3Pt$fVE4#rcI|XXJ?|);tTUY<3 z>=t`jDm%HpV>(MMmfu{GFS`faUz*w4Q)Xp1W?(*2d ze}3#>hhmSWp7sd8*PZkYcm&|_W4#wS3Jv+v5+7O7QcGNJ%~@^{+;U95C2qqlRCm%o z=f7i-mfgr7F1roAd!p<{mN;do%ayHdsqEy|oaM56Xf2doJM_R(@1fXh*qOajXVR82 zE4xuByR>)%&a1nHvir&#uvr}@_xMWt?8P_WK@F3Z-BNC!M(ftktR=2D;_gRV;^y{H zZd*h_1hG)hSa5k>0tU-$VM@@BO3(8W3Mq5C=v_0I&EFX<<3ygngL;wX)5veEct7Hf zxU6z@;@jXlU|Q_i86)FF#)*s*z1U_BWyf88HN*Jz&7?R9F}9h1wB2R?E+ecxh+HFdAdx4WbxYU7PKk&dV}v9M04Jfc<(wS^wNSTqVY z5xgrnUiaj$aZr0uZ@~Y;*Er9)Raiaevl&_@04+44CZi<^nlFF5#^k;)7{7;Hq-#0N zJ02}rp%)q^e7iOgXrWC(>7Bj}PDe40Sus7!<2jU#W;5DzYz#Y#kFP@b^RfK-IQXNl z$q)^`xl-XLew{|{2RVEu^W_^)j@dCz0h5D%bm2>k{cIC=#;pb3nq1?BsgH*osFR%z zic!s+;)n8A%hZ%O;RsXL!bx@3lXYXASP!OS!K@GdJF@_|1oPKjaYgQQ-P3s9nGNRe z2Eum`>%}_Y3SXzG(d@t%EW)uy4FT|19PdE0)E6SjqKqb`AftP!kP$`r?J|m0k&NoA zO=U#sL&A6&CGd$AWF(|JOg$SXsgY41Hh`B=H`d#NoSaxQ-0cL(^@fyntg%U`2Dm#A z)RQ?eKh_m;5BjRVT8M1``~}0mHZC&ny3^JR2d^BHE`J z)qED}Y_ckP-YC#lkF>%$)xNX1sPR+SY|bU3E9zzqLK<+_mZ_AaO;zz>Fnuc-Z==H% z`KLp#*YljkEMQ(80}qpSy-?C8Li89;P&L87@!vm{@rnNMsa} zo#7CqLJ&+^?tIM$pF+6{Pll&2VJ}LgLSgAh8piy2QmG^##{4-_sU#nUR&Gd|FR4^a z!+4uXMfs&1+94+4Fx3^M5kathd?|})_&cnCAYC$2;Xj4^BFS7j(=gr=T@h3JwJ`n? zT}f>iz3OjWF%9DjsoY{@S8!(pR&bDDh=YC-hUhRD$f|Hm$IF4^{U*gs0N?V|K@Ngn z#`w>8F?pZj75xfQ6#RN4|DsZoJm)g86QDyWi#fIQlkNhU}>z_<6 zrMg2A(jkTtY@d)zXO>hq$sb`Lsb3+NrdT7tr29$z3b{-!UefubeuZ2*^Q)Bnt?Lvo z>3UMXeNA#nGMDC(0CM`?zc%`|d=lorkNfAx= zq`4IQ>i=KlQq3Gy&Jc&1DdMfcb|z-qOF zQ(t!WCNd`-5X&wMWn`)Y#hkH177WD@*noj()`?|DovTv(?yxH6Jj89FBZcn^Y>ECH zjZ&%({8DcSOaLpI1jXJw5`FmpYTPDZy*fv|kTs*j;J4Q3Jowjh)Y=%$$-6ypI<}tk zC(9<--?~4cD zV`x$GEkY!SH3!j=7vZV(ejl7#brHyPEAZo}DJFr_T&rW?KF~Z`2k;>{wF2v-VYUf; zBlsKeGvN6U_6B$daLUDE@NM8~#I*oi3qAro19%tkjksSLd@#5Y+y{Ig;!oc=EnxSH zX1x0u*yH4JS{68UM=mY_r+-P>Laq?Iv_5sWD(ig7{V%@NA+1j}5`7VInpwsvbS!Of zTFN@Fb9b%I45wO&+(n#PlDmx4^o`R`HkUM!?!AGpr$L%l<13yQ(GCQX@=7m zs^-pC+B^JL#8RAQlE_`esU^9~I8EO;?Pv8w)7Sl(&>w{sylFpDAaF|SL&l>YX$IQA zB2F`#;B>Gm&^g|12CpwtoMw^ei-^-e3$xYbek8mueZ%|dbX6DUHJb8fIL#`NyNFXu za+h(MzHvHAwL5|r z)2u$#sA@PXG`si_DQSI*jvszBg8JD-oLZ8*jMMau(_YHAt_j*;lymYp4MC5X2j~>W zWG+d@WppMu^{@`HKIM4HY+NQM{L%L;X)`V(^gGh%%(wPC{?G1mW|iMQlfzxJahY5a zxr;cpG#+Ldr|5b`e=kX2I>s#b_tr$?XFg;@{onn;{XqdBIvRjbvC#wwmKi^@b`tgB zr$j;@zhwOFv0XizqqaL!9GA(7M_m9d21XqvIL&Q>(+gHPtrj~vn&C8$L|?@E)YABX z<#w-(Q@(5^<=4ojvCUb>wtWAcv_8!%k-LafOLCWSn!fAP-|SjiHLz`sanI!IQ)^&! zDQE>SIu`Y!_Q%iFH7M#lCr?k@cKGc){UVS>=*2~JqHX+4v8Jd&U2{?@ePFqUGPYash zw3F3qRitA}v+>hH5`7VIYH55x#_6}=G_Un!n{da1W;iV@k-LafOLCWSn!fAPb~ZV! zZrZ#{aa_g^7%c>v0i1?Q#$}3_;IxpHpVbV z@zayQ<^hb$ECNn90IwoWOPb*HfbyjEBF7D8<1$_neGzeLX?#G&>9^r@vFeKLT*vBW zI4vcSyNFXua+h(MzH$0q`KR?g+r$*dWwM~H>j0cy08Y0_a9Y{~rw+<2HWwVXnc=jI zL|;UlHv8`JQ@Ov_w7<8DDwEx1M`tsfmX*j|#Hl5@%Q#KnIQ3VSv#Ds;B}JSb1x_7d z;8K-GB&mo5@#Lma*h}k@c3KF@CIJG2q z8K>zRr{fg&Y#!K6<-cW4?)%dLC~qyasugfLTY}SyCOFk{18iG4%{IenC5gU>IISq- zG|h0jS$WHDjZEs?v3Q%iD}ahkqy`kpnk z_j5RyB2HgnZo?wrbSrQgAi=4R2~HQWSN2<-0?cq)O`* zr`08L7jbGy?lMl(H%|Am3JyMwgHpulbKtWT-cQ4^evg|3r!`D)+Dh@Nu9)^CMJb;+MY>Y|Leh0tYDwfS;?$DdE#p+^zk|8{=6TgRCa>p^ z7V~>IDn`48Xt$^Me!2)arMcHi;54fQr?pLRI)z*0q||0L!)YCfzKHc{9T}%-R-cYj zj&iE(TEq;ebtQ5aacW8KGEUQXeQMzDy4=@T1E)#XAFGFQHvP^e>v!Wz9#1i?2Wu)^ zoyItIGHb8am&jejmnFGd#uwFqe}Cs9&&&Py=jC2z^&LMuj!m(>S`78z8kABFtP|N% zQV%wO9!S?UTEmJt<#1_fRu49m*kiFCEb!epmD{VPI4z{O=G4vE9H)&Wau;!GN$!?$ zDz{e|D}c7kY0Ln42Q>WqI6cDRoKLDpr-;)6!0B70?2IeEij&~9u?bG!vI0(LT>Z^( z>MPL~5vLVooTgcO)m`D^tX0o7t52Iq22OVZ zr$ezGLoNwUo0{NsC+qDr)H#yOFrr>5;*rS%N^F%DJu^^T=DZ7Gqvh*L{)w~SL5YRUVlxC4Q_4#U6q-RN@r za<<#-f`G5&>r+3>PZ$TBegIA%NN`F!-b>$4$65Q?eQ(d+#zuQ%F*qI_u8vv&cSihduu$S&R@{~1KK+0?G%M=UIT-i!m(-^}o8UC7^#`XpT7R?pv_1Tp&QB=y-8hx|drjND*Q|!9 zd$_op)u;Xvxr;cpBzGC7=^LkA?E_u!YRaZqpHf@5BXC+Cdv9Hq;IxAYPCHsZa4N64 zY=+a05`7Wt(<(Af)2u#iWUWxgseR3G+DRgJ5vP{qF5@(PMk2y*QSWmUBKo# z;B+s>Pp#1BEA}G=nBa7s^)9EqE>_N_?cUB3eGze5TgGXc;WW~Em~#d7I5V6EO5`r$ z)RNp~oThJ_)^{kTZsS7zKgsta%>_yRv--5FL|;Ul zHkEOjW;j*Z#5qMe4>QAQH;LRuoLZ8*jMMau(>4z8opP(AQp9O#^z+hM41WNlCnPxS zZi3S+Hl-c^a5`az(;gCi5pnAO-8fA;F7qwp1OKb*W9P7ObXw|Uj?#fH_ChZl#?h#eK%xU~a<(SpR|8XI#2hbuSZ~Zs6Kj4fGK9swPaQ zHlE%o#-obgjptUgw&(Xz?*o5h@V!hY?4K|b?$Uk6y>X5GC;9(soWCD^RYU(ZqwB!E z)@U@@S#8cXJ}axk1up%C)#ZMz$yhz!e{Wpz9Vlh6Eqpf4W_kv&iP%_1PBLCtC&#+~7-kybOQ)YBbMLz7m zTr2o%x=%Kh=~Q3t3)j~CHPQzO?LY>LBXqOIjI~F;#T}2cDe5^5_L#uG0c}MrVhQ$z zsAwd;8A_1WegF0nv^p@&P=}j)i$e)U=E5$hDV81C^Mf20`(7@)FJ&n$yF(eNyo7Rl z%j>4FTlHM4M%M403B{^-Y1#Ed*->xs_m|z>y816=x7f>4*~z%GjJw~+NF`HtzA7K5 zm6{P45lC8gK|hSU9EFB_DZ7ysEtQ>&JIiHv3$5Pd%C4lcja86ydsox4>;J=Lx1o1W zl-kS{s^2wf+RT| zxHq^rIK|~}bRTSV4>P(S1E;tcb{Yr+_XJ-}{=w>IQh#6yc72}@~+_Y+`-@!E)1NWdkj1QoS{9;D9zxc75?B9exi{_ z8F>OY`J{+uvv!1T;zKx<+${ttPoQ<>zwgB&Zt+AlJ+IA!i&<~supchF*+WNvDZ8>IEtQ>&JIlQmH8G}>T-nu99k#mU z9BkHGI2>gs_w?c|4)#i2cD1cmJ&13ovkO;=j0P~UP|^c0!b_HwNv z*DC*gwThqZV(W)?Z}^@fDNaVqIFZNuFpejW_X+dB`Y8+9*0y)W?$N4vDNe@7Zz(cP zWSr>5aq*Ql!!?uL$C%Y8A!&pYx!ondpZqV(A1PsV-$n1<+pInrE8|42PvrXKOMMc} zxw^V(vzX1Z8fSbzk>^=OVQ5yKmB{2-iRgT2XjR{Sxx;15vr@%pgnl0P5IpO1q-#wNfgX76Giqw32XUUEOk z84Lz|0Vec%;oCUIDR7SG2=7ayRGYXnZlh4YxyJMJb=e^YN(3DgqnbIz59P0xscDX+ zaD=IA;iNk2$-1#ltOwJvVAco!oml`}g8A#NxFUDD?rA*l%m(v!1K~S}^^K!=G$92Uttj<%8Bv7aE+c>SCa%5pD69x)E+gu4B^eFp z(<;bFkW-kNWRAgD7Otj$y288~7X@=>xpW*PWr$&k0g$qA#|CH4yc>FQC9)ReL4Jtr zko%QtEaQQ4CYNK7%nXc>kdz8Yq%<)FDFu}N2c=|l#yNQ@(F90E%kWVMPCL-HC4 z{yp+iq#&;=Uy)bxdbJRRBBF0{3Ua!~%ZXAuhW=oo=oriYix!G5z8!t9l{&7yyF0#8 zNs2xc9J@*=!ql^Ik{S!uhYjE@R5#Y!f|YV&&2YC9>{f5cR>vBfgld4h z13^8R6Z2zTVfBK(>aP}J8vuX7@NYTBT8J+&75t=-oJnOFN4y`M@7akkr>FvRAQ7Roh$ismGNJ|FS&~@*b9cQA5QY&@W&&$5xA(K zQ%FPcwc0Gyq4XR*uMjkYk5*Eq+He*ZHGT@4&ACK$MO~>uNCWQLGL@3-R8^%g?=Rj) zhb!_=hhDGeIg44qyu4yqOpJkT-n=qp< z;}MVl4m@tBU~D^Qibrx4Qs@*(Fn5~)A zicoCS`XDQkT&nBfo+xW7H!6n^XqG2VNAubg!pmb8cWYl)=v3&kDH5H6-hP)(Jy*6t z^{!wql*Z4UnUl~s6Z8vDq;?0^oL2JA@Jok+xzc^)<*Hi9%Qd6DSHaCuHQcC=!QkFf zeMBUrkEnFP(T+eI;wlOhFCAw3h%ll)KE-`eMjYIAh(~O}>e*qwOjFZ#wMI#Z-=EPl zleS&a_A#zrz$y85vato53oY2QZa0%{!D2ZF^E|`OU#Zi^ zVvb2tZKl#kV$AZ)t0>xyWDmbT&y{#l2yZI9;z4wsfQ3A87i}t8)*rX26SZxSWHpS#`6X$MH&^W?={HAJ0!0!H&REh&C|+qKC`r2$QUZfx8az{B2>z zrUGr0!vie!Xp>r){fsP3OYHQS6m2A|f6l@@LhPbdRhZ@ZUMliT>HC&EOD#++Z&g{c zt!`2jvZ}S{0YQ$Nz+NQKW%&@t0Z`UW2~Tx*$xl)&=fKtxJsxU$4vm%dLx9 zo>!zI&!m+%M$CJqOT!{M zs%S-3vW#QFXGq&!c?8Qy^CME-D~&LsWo!ij{^}^8hJ!olaCM-D8voK&(S+4;t3riI zi-lPc+qqg+3mx*=C)eYHZVWy>W5LDv6~_3*kpXG^--1CJrSMdrH5;XX2nY~(ZYoA8 zC@t_TrX}ep1&vS4=Eo|2yq7j!X#VHaQ{ck*%-el z+y7`eQ(FE5UU6eDW7tw| zE&oC}GZvJATGbqj#Xna3#5-)GYuE>DDOR-#=U7k#$IeD_tQa;)n7Wx`r+08{`!0?x z-NUi*`#9E{8ZPXunz}Qn4Y${cR}33KRltOm|I@#zxg l>7|?i@%c1jpW5eBWwRehro+nYS>Gm)a^ETcd;HTG`#+Vqkxl>r literal 0 HcmV?d00001 -- 2.39.5