From de9699fcad60e5d80a71ff610fe5d06dd8f1e7f1 Mon Sep 17 00:00:00 2001 From: Andreas Beeker Date: Tue, 30 Dec 2014 01:05:41 +0000 Subject: [PATCH] Bug 47261 - SlideShow.removeSlide makes PPT corrupted git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1648458 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/poi/hslf/record/Document.java | 4 ++++ .../org/apache/poi/hslf/record/RecordTypes.java | 1 + .../org/apache/poi/hslf/usermodel/TestBugs.java | 15 +++++++++++++++ test-data/slideshow/bug47261.ppt | Bin 0 -> 67584 bytes 4 files changed, 20 insertions(+) create mode 100644 test-data/slideshow/bug47261.ppt diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/Document.java b/src/scratchpad/src/org/apache/poi/hslf/record/Document.java index a9510ae55..2cfafa8d2 100644 --- a/src/scratchpad/src/org/apache/poi/hslf/record/Document.java +++ b/src/scratchpad/src/org/apache/poi/hslf/record/Document.java @@ -175,6 +175,10 @@ public final class Document extends PositionDependentRecordContainer // The new SlideListWithText should go in // just before the EndDocumentRecord Record endDoc = _children[_children.length - 1]; + if(endDoc.getRecordType() == RecordTypes.RoundTripCustomTableStyles12Atom.typeID) { + // last record can optionally be a RoundTripCustomTableStyles12Atom + endDoc = _children[_children.length - 2]; + } if(endDoc.getRecordType() != RecordTypes.EndDocument.typeID) { throw new IllegalStateException("The last child record of a Document should be EndDocument, but it was " + endDoc); } diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/RecordTypes.java b/src/scratchpad/src/org/apache/poi/hslf/record/RecordTypes.java index fca49bace..3d99e0a71 100644 --- a/src/scratchpad/src/org/apache/poi/hslf/record/RecordTypes.java +++ b/src/scratchpad/src/org/apache/poi/hslf/record/RecordTypes.java @@ -67,6 +67,7 @@ public final class RecordTypes { public static final Type NamedShow = new Type(1041,null); public static final Type NamedShowSlides = new Type(1042,null); public static final Type SheetProperties = new Type(1044,null); + public static final Type RoundTripCustomTableStyles12Atom = new Type(1064,null); public static final Type List = new Type(2000,null); public static final Type FontCollection = new Type(2005,FontCollection.class); public static final Type BookmarkCollection = new Type(2019,null); diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java index 6b26c28d7..6e7663d26 100644 --- a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java +++ b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java @@ -21,6 +21,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; @@ -595,4 +596,18 @@ public final class TestBugs { inputStream.close(); } } + + @Test + public void bug47261() throws Exception { + InputStream inputStream = new FileInputStream(_slTests.getFile("bug47261.ppt")); + try { + SlideShow slideShow = new SlideShow(inputStream); + slideShow.removeSlide(0); + slideShow.createSlide(); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + slideShow.write(bos); + } finally { + inputStream.close(); + } + } } diff --git a/test-data/slideshow/bug47261.ppt b/test-data/slideshow/bug47261.ppt new file mode 100644 index 0000000000000000000000000000000000000000..cece730aa2c4aaca6fd5e6a7ae74fa8992bccdf2 GIT binary patch literal 67584 zcmeEv1z1+g`tL_~mjc2kAfS>Gf=IW3(kFwAc9CqNl15xbSZ*> zz@4?+p1rqwpL6#Ap65RI+~@A``Tb_rJ2UT^nKkoHto32{2a@T`7t}L|pPUE+4RL&e zgTVZa92JC7eq0kH5PrX0AD^6@{169#0J!|y{XfzIN1&WR;F+NTpaWn4K+hZt02=@Y z02crc03Uz=fDnKP0CWKa2>>Yo82~u|1pp-g6~HNg(*V=}Gyt>!X8`B`=mC%bX8{-h z7y+07&H*q3umG?EoCml7a1nqFfE|DXfD?cVfE(Zv01p5!03QH9z-0gd06~B&073v) z0fYfW07L=A0K@?#03-pV0HgtA0AvB=0OSF#0Vn_{0w@7o2e<*C44?v_3ZMp{4xj;` z37`d_4WI*{3!n#}4{#H}0KgEy2*4P?1i%!)48R<~0>Bc$3cwn`2H+NeEr1<>J%9s% zBY+ctGk^<#D}Wn-JAem(Cx91#H-HboZ2(^YXuLuQ1YuR6$pPdFx8MLMY zs4Y|mBzO`Iphet3ZOviHZ?*hB%!)uoK?Nd69aN6r$Nu>hl>XA*_c#pjZ5fhPgg zT^`)e0^HphmbiivIRME&chLQzar2`M{&~vZ$M8ap1suj7>iRz`j{vy;k9+^s`a@%U z{+Ig`A(qfoz<@ISSp?{HX0Y`GLWCI9R3Hb`CpMuV+$JX{kd=gk zph=M^AS>iRSPb=h4k&DdX7qhrfN%hM0MwwM1@O=>fPxSq5L*mTfe@Hmbs#s&@OLYB z0Z2e{ST$t1A@|GRf-Nm%aiMs~{W~ANAxQT_&yVy_8$j;I^$-6?I;d`tm4{jta*!Od z@;~DLPx{ad1L;2n05vMrFFxqJ@HI3eL2_tzf_$i7K|WMw$cJVy$Oj!B_CY(tKGY*1 zIn=u$ADRInA9@6k56z5_57im+p*Dhis4S2VwGre)Z3_9&Gl6`lXTaCkcw3M#5W!`R zf(Sw+l_C(qa5w}Ghr%htL23jd0_I4VYk`~yfse8SicA10LK4Cp05KvEV(cKmD2QM< z90G?!p)fM69!e7qa|9$oM8bRr<|vr&!W<2A49u}G$H9CL=6IMBU`~YjKFkkbepnA_ zPJ+Y9FsHzr3Ue9?sI*uu3O?u|b&v$R9xw``0kUI=Mo5Bu2d8YRhx9bV+yYBlVQz!@ zJ385(O1_*r=%O?d=FONPJP!F zX<)$;0?R{DxArj+VQ@Gc6--CO5l|Rei;4oCZyhYJhq(dO3`8`-;dd}M!Q2dU3(T!B zx54}#l?yBb+EKen$q*f=TW<}oky=<(5y-ZGda`-NQwri43w~h3g%O={4^}5h9xvGN5Xsu<|sJLT{ulNEQy6{ z9|w2BdvG`&4%eaqV-O?;br*y4@(8!R4BuFV(F5Lvh%D^lOOXOgdhxr=J3K-DH zPy}IYgc2;d4)cvBD6cXcR)JX+18M>_nAKs{fLRLzDzpxC_Y+;1^`P`feOSXySYiOP zAuKn7<;JkY1ZIB>Ot4xGfMOAWfWbI`dyiwYDh1|LC_OR_*6;|Hq{I9emS@27 zOjwcyb1ht#Iw%%V4;WZ1NRDWP)4zk|O-)d2Gt4cpq!s2inBT+P4%ejvgn`9^C0#Io zXoB)~!{Hv7d*PDz!Q2n?0L(*hT}I$ijlw(zrALm#8YW=LB+OH=d>WR|z>-;*PvE+I zpPqqn1a(2hgzAC@O}z^nz=MF%dGF3fsRdZa$A;U+9GfY}h18^Lm8SYiURKd1{KFw)f9NRW}o zA{lH30T33@{sPg_0j((!h?SKUAnHJfA?UWDRSR&~&^2gDY-k>#M{E&6du;^bGa9t& zL5IWN2|R@WC`5$l#-ail=n>@T-_uf{Lunh&?BO8ZrwGO71`0tw3dlf@AVa?jWkMXG z@d7sc2?7tv5Zh|xT#)~#4uuTd?*Ppbjy#6v2k@AFsDrlFkjfuEliH)w2Fb18a)E*cSSx6sbhth1KoCF_F#>Pv5QtHDTSovo*Ns1s5&hKFphYk`0OaVQ5&*~fQyOSN z{v!?4y}r8@cnSoEKIjcViLwG3=#H46UqjDKvly!p+OOw>)MQ}wrYGrO?`m%EYN+nz zXzp^8!_&?dnT3wZngI=gzuo`OEpR)o^Lir}amc3Jo8X0ucg_ePLsE9?K9Iz*5|s#~ zzAHGHpU~_ao6C`wcSk3dPht!UeQ7*M z)#sFcWeA@2$qCv|<7IswU!fYrFoW@e2gZw`v$?GcCkMoTkCXqON5`*q4~gx>ZGgr} z&?fP&y_#@@T%Uo|R>2pPLD$1zYtnd)wXsxFyr7m5Ea(_Oz2wwvjj=1Dvm`dm#`@cP2A9e3`bw1#WU!bRm-!@)qPLRJS z6`jeb$t7g5tQTi~mTL7q=b!fV;iKr-LJ(5{03F@98k^XftGRmFn!7;r0)B@)VG!3T zv6-4k536Hec1aZ`@&@EZj}?>)iD#F^tg=bxCd~Ig#dCIwUdwu@y=KOXb~24ZTE#b! zgM}IE6KpCr=rrMEU1n5*i|17__2jD44KJ5x`!L-&lp8GydGDzhh{3Z1%aqWw6ULqWyDfma#7=tD)2a~UDFu#n&yTHr!1 zARqwttEcA>JUn3Wo1BbD1`FSx(>-|b08V!}rG_|3wm@|7fTR|GO!q@yatE}4J^?yA z5YH`7{-JMjcN^C8LmyO*=w?tBu%Jdf{jI(cIGu-w2kf7m>>+r-iu^=b8QlNZbf5y? z>!Pa-d=Oz~g0ORF`Mz=oYJb!t0BC{krB9DQO!X$f<$vpC1n23?I{lAypjO}Y@qjvl z^gK|xN}%GMAWjxhev|IIK4{Z0w+iY6+D_(<0-SDZ;n(|G-MR_ugX+=K(~gLX3qk~> zKSi8$SRj_iU;jg&1<(VPPeeo?_KkFW5Ed3E;8}qCf_nX^hpGrO9M6uVKupy|BkuY* zB4Q0W5gldVNGCl5)H0h0df|rhhePvU4$naxShK?mH;BF;nxla9Ajb(C6p04*G(ZdV z`s(}9JIbFNy@S*6f2suu;($8%Ac73pkAehYRPZ`70BnyLklm=z-BG~-GIULb+(I(~ zcLaSCzOF_PV+6p`)Q7 za6U*mR4*a~`j#B>UZw*011S9ZZeSy#ou!B)RTI>Xrn8#6wM3l)ID?}{{DaZpI zMq-1*R;Z~(!I3KpDA!-Jo6y!#3cmjxvhSPtf4&p^eh{$20gC)fyRC9Sb+4RmLg6A6 z&ySz7K1fv!$_O0*{K>?W7*}oI$b~PxhkAr1ev71SS(!X^9pBg1 z7k?RxnA8q$056M_$=`6ajo1~tTRwwn(xuhi1>0clMV!Kmgj)l0fjvyCv%_th>tib_ zxCO-QU&&u2$TGcNc5oP7=Vrv&i0N<3AN-cXmyClJckMJ|Eq*@wQ~d`jmRzD-S#KRu zuqOLG-&@=&2+Lz6zFsti{Y087iSkv7h7vHb0uRJSM%Rra6^l zy+_MuPTBFq5FDfM)F(4NDlFaNZ9_3*Goe0vN?v}h*gJeOV`!;Zc3J*_$&ALfRUmme zqRT9@ZSU)^xdQ59ptg-e)fLnos zhjfP6;G@c?Cz4NAB7K8iQDb+}NW2&z#^rJM(>l0^Psc}m+ja6xJ`bJgokGXJ*GSbG zcY>mKxuryJHZCzYH5;wGO44NY;5yHb*_Y9z9wq;RJ1LAkS6A^)bUm+X5^2YC`njRlk!M_|ZNi+O7t*ynBbVB;ghLd9=2#?Ww8dv#QHP*A_+-yY0XWpJ5{%yZ)6PL((=%Gv{8CJdZV-}y($&W z9c8Nodw4sn_)0f%ov1rP$R_Lvt?miNB5VFa<$9x_>=@mShQ1xcfYTcZOgp2TD~EO+ z2DJHyLF4=uXrvj|Z8|sh!vYH<=fxV>_ z(TCm8azcU-vQyZ-m8@>+&Pah5G>AkbmT(i;H^qG8GkEevT_(gXL zuOWRuU!VBxpa<8C^;^D6*A-t}=pY+>UBmyrdbzYfWf4zPHnu*&mpt@1yzm+lZeHJQ(!9aerd&f8I{~ zZ1;Z6eF5C^U+hDEwj{r1gx<57{oa)P&d9)a<+nSNHjo#79Rhqp^iD8k|9%z=y7PwY z0L0M(#s6d$E4;k%i5PVaDiHgtj^xv z@D6U}|GTqC>|?68I1*fr`>W$PPH{YZRc8FLwn+3JJ>s{= zu}=o`7VAJ$@q^euOk*EF6XAz%hSmi4_^R|ao;v5w`6Nz~Gusz2!|HFvKr=?OI(DN4 z6So>WBxiFkU--BuDqIy(T@zYr^E8chAXih(0O(^fbR>-xo^Nq02_a zu}|AhUN&-dq~ECbf6lfbjc$KAQPFzdB=affoLWuXQ}cp;y6*DI{lTL@t>`VU2b95} zqIaNv0pMz7ZfDN<8&)#5H?}l){(jJ)gxiQD7Mt@DNHncDoe7S3id>~bUK!+_2i{OrVCr8Aqt=nvQG*3t6Xq(tP2Q;RDnM)e1A37k}h~W z*CoDxk@=fqf3L##saMa=C0l^>*iU1Rp7req%;5Ss>JOBhA9o8Z_Hvm=Mn7C?4#UBu znojQccCc*fEL2v_U0<`!2qpf-`SfC#yeu zGv4vVaC7c*aWNnJMXkc8?_G=im1vGyJWh^>^xVfRmiY&!k4j&gy9nPJn^^BuN)Wqz z%kQbXHO_}YjT&?I+eMczKTGiqbb8ekZGEb%^TEQC;`_FEjWWwA>rt9fz06aI2SS41 zvH}F(SJcPkJl%BM+G+DB!>K9vPD0wLIXo~{x%F6wdx+p*>GI~}WQm@*a+zdRl1R{X z;zGI(wK)>;9>QgPH2OuOKFnxR$)IQ=#an3hkCsoz2k|OAO~Gd$qyU z#hdbdt1EJWIOZL81_pjXjY(V+#>r(%MO7b9iiW)6dv%ArRL087y%`T1enk*@0uNPou$dic*@?XcDwHFMt z;b(>8--T1fHY{EiZ@LRIhf?u+hbGl5tRMHzF ztw>$HwROFFd_!zi>2(jErY$mu#jdmSm?=qq3(L;i+1SWe_?;5|h^ThSES9@lpG;v} zrFA!>F{*SVkJGUd%{%XW3`d0%G<|K3Q;mkr7_BNAc2x#>@?%==&#}x~YH_u6*T>4< zwrd)enZI~0dP!L{b7xCK#m7#S021 z+q9thuD-y!nO6#-K~|X_s@3A5vtLe{-`URn8ppBg zjQ?#UnFx!A?b?^d#BRBL54QNS{*Lh48_(N^#|*JW1afrLB5{)nsc^5N9E!F!;7PLY zX$MoJR+tf%3FvdXy5sc3lqZMPB99l`RB1nr9j-8b)g*8a6*!edp#6m=-P39b>9t5o z$}-s&jT1hbMKQvDO$l=~Dn|v2!u2y94vnCY>=Y-t`@^*SzVq5|a!Nu&D0Du*wUj1E z5e{Q@En1KXBbRK7@GH;I^+T18szSBHNI7$xk#*n5^$n++4%^n{ z2Df78XW!ytVR5g$7$99r6N^XGT*`m&oar$4=!S03>KczHMd?K6wF+%!y*AVHspTb- z_Q6{;QmD1{J96!7l+iI{jW&mBi4+GHQ|6xN7;O$%lJdIiX&pLCXIq}vV}DO!XS(Q( zgMmDAW`qBxIIY}SLZc{Fy$4i_$_>{%4~7=7x30MIXONN~m+JarEQpEYIwos;xtv6t zbuaDBR|lL_8HY=cvig_W`_q$I-yA2HpUA(S3Zs}l9$i3{2w?ehDCa+OJ=D}-|fZ&?kU zR32-z>sG>*1hmlFj{_kSffb)ktEH~q+%Uf3c_P&f?N?0Oqz+kqBP9l8vG85g-K#8h z%FU}P+Q*opM)*1FSaj5ku9~_f1YHZo^2$PWlR{H;-oKacoSpNrUQ_-N$&iQ29n9G; zD-zE+$_k!y>_7o>$?m6k6zODX%Us-{@3Jh2k2kFRF`WpqBS#~JBXcU#{lzP*)BWq~ zyH>ku>oWW-gzR1?cen{`gxozK(RCEVP3~=eCqj0ZfsvO1c7)jq!SmKrdt3z*OiL>kRi3op8w)Cl|-(u-# zI4z1D!X@|{Y~xNg6t!nW@Yz`%uvcQFM!Ut5SW{xYiD8ITzdU<;5jRySU&mi)_|1F; zh5>QJz! zFfsRe7{Pd{lZg&*W!%rHr7pz6(#65U`yi8Z)i5-4QXg=b`XN`&%>r`<*%&|4r9f4P+dk$T!U zWcT_xYk}7`gV`nGn`5U*Uo9l`SezYdUgjjCF^r_kF5zapdl~nrb>gi+#mu$H43RT- zT){OBnD+H|)Dx))(m8Mh7)xIGj!{U|w%#9})X;LW+|9rEA|hmiVG(CIK=jd-Toak> z5+?>0LXD*8hUPs<#>6lWOj`zee{w%oCSfYO+oFzW_aCba3*_<;H2sx(MGtsojIsqX`br|%rqWuK-3{V*CmNc4Dfz>Ub#4wUqn6aasf}V_EU8!W zS!BFXhbegVT9r(8v@v@4p@3x_rZ`!Fg|Eu+SCwgwek(y-nz-ru`%cHQM!}`aOkULd zPH&P7^LR*A?_`v zu}{OXL;Y4Nk9n1|WF5X4mx&M4N(Z-tCd_8kj%jGVW7(rFGaJ>|tX-#3dC|6)XP2MM z&-$hmSyOXj%|1p$^xT!eGdSgULsG3sl_adkSQ?@&J;R<=t@b$1QBO8Jq^Y2*^mK`! z84f%QOrf|*emN6Ow71cPS;mRy<@m7LK0VH5C)%)^4USjF+1{|O;Svrx@=)6|e>izu zh!ImOq+gA0PkYYq-eal~ zR*9Cn_^txWY&1<*P_iO>S6wvC*o*v8YodoY-qEzj`g&Qkw$!rPONc3D%=+<8R+5eJ z53CQ$y}@Zj94pCKZSmTV69>IuI!Sj#(>mLa$M32`;JrM>Ie7#=HU8t77(q|mW9Stn z4cKU~{Ir$$z5#~U=fBxdz_05=VwJ$LAbH4MkO#JdLtho~J?4ps?xKFQka<1=eo-cs zwRM7GHf)Y??0Q%+tU2~bB`a?(@YJXR5R841N;&1&wLW=t(mM1QYWRrPKPRP4_V5PsfUgJi#P zf8hY(=N;#-xi5nD{1*oZKkwjv%?N$W`-d&jZ<_z-GmM|NQ@?8J`7=$woIm{jAm!&y z@T(3(&}n{Knt#zHejI9GfY%B)LG5*+x8A@JpW$wZtDnfvJ)%c33t+SG`BN8aEce!FL z%wXl}>Uf2d)5R2QdyQQ<930K@pIZ4TiY`r zO)R;E8Ejp-8IZ1?AY^t6giI_iL9$Db41~;XfsnDODfos9r1&N9LjvNzOa76D=ZA#n zM;hKA65byYz8@049}@l_5`G4xm94e?El?xKV?bIs*vfqu{0K2{ij*Me(4p^fe}62b z6!ZDp5oq0i@p9vKT>JHR(8~?EZ<2}ZHoeAy#5O{BbQjUt!iY*pUq!bnI9*9O7PhvG zLl6|Qi57n-PhGFqsc4a6{`$Z{s`IorMcKAw`;^Cx0d~v8`dcOSrtOwYZ`V0EQzmHd zX{-3y>?gUrNr>-{Ae0M`*%D=wo<&z13}c$FqU=);oB{fB4X+@dQ9Z?o9- zWL?Nk2zek-ElS8y_(1aRAZu$={r#^NnPQ1-idBa-z<+`{=BC^%m zp>UOA+##=%4xPmnQ+89XUJ>8!rNMv}HTMEB5r0W5c?)h>VuSd#K{Tb-P@?(LzI_4X z_m_4rW%wE0aMpVubh`F*H(S!IE&02b`C{WA<5Evv`VQ$R$v%Hf_If8<;*%A@O~>62 zi7!t1T*FnIcQ8F$z_5um((k?CZ`Tu^53Syb;!JU{$-Iqc5^6^GrMmPIM`p5!RWmMDQqoZsQ!S4Xp7FPWPpY?7 zn`{*1@4h0?r=^}khD06VPElVB1Mjwv1KS(OzFv<=Qc_ zOnuyG-t;(fNQ(SEi${l-vAkJq4Ej9!TTj|3Le-}x^=yZJ0kr7mg6=XC`IB;IBMvO_ zIHz<^5%x-4;<(0+mv{*uzXz@DS*oxJ2^dN7J8zDO zj?zfQY*cCOR#3{&Z_DY)L|+$BQK;uTR#4@Y*bRuqe2l2QaB+9G17UY16Td|Nd9}hf=oW)|*LQRt%>4u~v&-X_qRAB~ux8&M_I~;JNS8 z{OH)fpQ3)Ycc6Fw#{Gq<`ezgHYi^EzJyriasD8~z0fySY9b!MGMd&Le=&XMOdWnt5 z07gCSZ=?RVQUCWwJwxnFuQljtgWv;)zhu-4HIy7^&Jx#Xt@w+LCv?hcXj~k-x58gD z-&pWyGLLOHt0W-6cHMspYmNEZ%C(A7y!M6;)5+A+N&0p|o!-mAr55i$-1s1nATunJ z+?gm^SbRgoiIO2Xtc=h3y~m}kXCsFmWLj7gO-(({xz~ zb_WMN$hTK7Ys@WEl?dIunfA!H@QP{}(eW{{f3?BIv$fjW{qkgZ5f4)sW{HZNjip?| zGXy!&j7s-b<7T@8*+U|qv0ILG?P&`x@+ea&OmIn_q13!!(}pBIL@_-l_wxRDvn}QL zdxd0L#goqJCwgDke1|x%swqj(D0}kR;#=$w)!`?sL?2p6WqDWcPS{HDsT+@-m;K~! z9YQvM9TZv0YM?3YQ`@3hX1J%VHHQ*0y{|k!K_TPc`}))}xk}e#9SXIe)o6;?z|(l? zk$#yh8wVt8PS>}J&Cg+QFAELd?<{PwqR+6Vyl5{vX7MoMbS-Hl=2&%2zqH}HB<`>#do6wdphwCUAtOpm29hS_KG}fhYc&(4>6CvBE@7GkeI6z zm$&HDYAAdXW zL^-Lw?0jY8Gq0s5VWKG2aW%&S1C?4^`qIWVf|fO1rB_L6S8^_dIP*o2#0#ZO*?;ck zw^|UidO||U<>$61x1roHcIn38VT2dY%SJKUiH6T+=hSjN0|U*|E8k=9CRVdo&z*bJ zI5zBT7lOQ1emIf%%-Q-|@8Lvm$<=dD5hPz4q_{pm$F=ZWs?k2~MsAOY@HDLxJU+`{ zD;gVDiFRZ{@;I`_R9-kKO(tP|(P5Z*Z0fD?#4Y|hoS0OGMf3F@|B2MXMbKBweu5rfg+oH?C%*#rr+0NZ~r`b*(zN8kR%%&8?nT5E(CGk3-oxqrbu|Z(t z26OfmYb7^VPp-SB4DBOQVjo@ZmtgLKwA&O+l&<}S@ZUpn&uK=QgOZ7uO?5Llp^WOo#?QpHon-j zE6fmlwKu*gx6w1WSoM)7@OD%q#$~)(>ta=2Id7&uB{w39tquonAB0VKWhnJliO@)% z^V7`R=+o~6J&)Ar0%VaW4vr0Ea7T63>e=jR0ffJBT zIZZCSbO{R1ks-aQ2|asoaLysF>jorbei+B#AiIW0OGn^z?hU+*ACEkniC(u#Iqk{& zn(KVXtkf_U*iUac3*ct$AQDh_fH-^U^AR-}{=q zBL7DAa+L84>PgMl^>&=}Z$G$yP5HXp{N6e!k|@4H6&n=BP6YPa82WuJ~&gF6o~C zY`Goo|Kw?V+Qw5qd+V~UZ!UVg!Y$-S7mm0eULt=%|3dfUd4hx19tusQh@0y8+XwU^ zWp?LE6`6`7uazsGwV|jFvHXDMpV^iX{dwu3M9saJQLGK?Z%rZ7U!+V76`A;X)6~*9 z6V{9wM{dQ}R~Qgkh0_n*il<;A^_p}}##r9HjH1uNk+9K&xLkH{$GvLAz0Aiul;&nl z+i4F0`h9mj>@14JJ62v{OHF4~GNT?Z4mM>`c}VTFNXL%KWpu1YOuEr*Qt&y1a@8v^E z#!eOkzsdcV)ASf$&BXJXlyO4eop0MQlQ`8`OKtz_N38!Xd&HmZ|9`mtNQOR`M+AWN z$5{~id;RhE`s3fMKSrm9G&aDO&Fut#asAPu)gGTJKt6F};9Kw=UlX)ucQv~_o3xhP zzGZ45dSvi87YXUP{+LJ4A2SAy*9mZMbeZsjM)E8v9ExJuk}I*!HA5$dpwyyX{ZS8&T21=W=?r(eRRRN`(D()H{`XW~8B2MROe&YX)Uw zc>9tzUlRpmFT^U7%93;om{-@nP(RZ4%do;&#)%orrB@u(7={poE+l7AYdy$t7 zhlouwwbE3&FN-WM+*xe9oORCFy130!*E%;Mn#K&T9lyF_vm{Y5he%z;R6TVhC#czz zXLj{=v)!Zh$BVS$YX#GReIe%Yd0Y&hH!QQ39eljL#s3m(M}M>JT@C(c;4rLd06mOyt8XeMgoxw_fswj4_qr) zu__phrXb?jxL@J;JZ?MXoN7+UOW`@RrJ{=Bj489%)Lr%%P8f%>`#D@kVbr4BpO zZ-v@pxcBs`N8Y);jFxw+zCRLRv{tS1CCk`?8CzFCMqFmUtMN2~po_Vekgv~qt#efK zjrCiLWv#x>$07F&SHF49do+)kdC$e>J-2tv$yn*4<95C`TV`q>Z9SIfLyK$2uP5BO zxpSU}jDYeQ?|MmNZOFIR9oD||gnb~gJa%QB>E!e-noGrU z>07}%Jv_7eWiE^p`yt8L%ger<(Js%pP5s~B-)AmUc zk#dEQ(lA=sK-HmC-JSic5hnD2WU1Zdjq2Y{dCVAqzpOMcq39Y;rB$)vg^oPK)Kvqs-d=B1{w zRa)o13IC#^&hq=_4VUA$K2=oyaRKC$ZU|afx;q4J|_o{6xa?$Os z2pL1G?rChE#rscQzRwJl(;JT>or!uAO*!;=KbossTV!RMw&q!ZOaT@Pk<5rEulSR* zswbKDx0A-d3EI|EC~6sXWqMJyAWvJJ@P*nUwPF2pz4utBI|VPixe=GwM#s}?_R4cL-hBXoWI}X{QEaKm8x{Zq;pE`H$oL!0}$89#taG}P9kKRjn zm$=^zj;I!MYN=)n6x*-APK<5Yq%wRGfnI?*$M(Sa9qaRFA0G1?NUKfNFQvT|b&ZfRzdLm)KjQ5%M3l^su*#afk4BfZl4{o16%;>!moZo-mVP7Lb+VW|y zKonS=|E`xOKX=Rj&@6JnFHe+#S$y^P;l@0YB z^1T1VXu+526H17c(UV?#Lkmlp&?A)ecZ$7AYyI5#J41Vusi#oUo+;|)-+zynH2?Lh z-&Z=r+k4hp^R^dV@1GZR8IP3=$2t9sDS?w`adqW$c(?KWnM*UT<4r!UNiW<^Ir-Xn z^R$MS^M^ef(^HPE7iM`__;T-J24A=?UH>e$fSh!)=srhf;Nt`HIICmaacPmQu*U6- z>15ZG{i^ocK@ur>ImV8H%M z0o`MNk5hqPDCw%ZXurii^lD(@oUWIkI5(v8gsCR~{e4PQZs)^i91j-~a&d^pSUOA5 zaZ)0?GQ4`~mh#X~;bU6%8M2YZy5G9lvFVB4V^p1tCOFy?7^|Z-+S2h&RwzdS;8cewgTnDXI6Q>)lQ6OT{!_CBFt%XftSM zTW~PGJd{7@b9ag7wwjD*qLzjAuHZan^Vqmuq1?NJS63{HTEs@fBzHW~MH;Zyg3?R_ zarS3cNpTCgqVyeE>zKnW-nPE{O2cy}l8I*x@A=*C4rR}aya*+JGXWLcy~BoH1JCdiz4^+?;PFZ~4r1qY$Uf$U&DO&rEe?TIb+ zi>iEu_4fw8uy9bQu;@yphap~5kE%rR??{wpa74ioYF+m=DLjR1&eP?Hy3r~JQztFD z5=w-&UWe8T$jkihxqtT*AaA%z?0WxWsZY~m{@FoK?@l*TvOlWbv{HD$pn1vo_3)i< z5`pP`YB%2m``x#w67q5R2Y+c*#g)yj*4g7M z&C8Q+9$~0^En&B;glM9(t<;Dnb>^Dut(F2`58E0p4~*lmP8DgT3cfNRI9Sko&hPT= z#Pm6TMT&dAR`%f2+QORqmwMYKRX^Tb9*R+QUmfE5n0NG{$gtWu@AHKJ)kT7VBE!au zWd~E!Ube@be$gBQD+-3EW;?lVCM+D_anir)muLtT;8nx(R&SsXIOahtkp$81Uh_Q$ zHtN4@`u^E`{)f}|FnpvU2BvS-Km0|NpFi;Ulh5w{{^=3-i+;>eE3X*^5y0wzt&_fib#_*>fz^oh27~zR*jmhx#Dx0 zwY+V%xSqG@76#Uz2MDBH;O-;Hbrd$(3c*e>HQ8rvQ^ZB1-jkzJXiCC}{FHZrvPu6n z#lr>tdu%W8zr05l()V-iX(7VID_?%=;_0!fQQdb{WMmZ|OhBNF4Lh)9k?7HoY9(xc zwoNnOGn(6xMZ2;?Qx}w{M6#OoX{lUDc(dygPujhW1TBh0ljYZUH~C0N{dD&(?#;IM zCg?n7_q`Xd>#m?NR}g-kD0Zm3Khk_~%B=K7%+&0VQg6hqms~VmX-KYA8DtC9{9?Za zADQfBJTo_Yi!>E8U-tCmE>FrSGDaMQOOhN<`4vg#zV$wE#&^RHQd7HhuOmNeNT_2_ zl-k(x)H?gSlK3sVvxf$)S5jNk`jVc+vv6hYiRgTBP)A#MhBzIuv&HQxsdsVc`UAHc z-oe-J+e~yh3N#Eauaen!x3r+zjy}Ra%%*xOmz@ ze6wH;abTX3zq@u+V5Yn3#!R0muSX*)kSLPngNR=S*+C6v4Su< z$+6w)^heL|boK9ZNN!~X^E-Xa#eFk6T!GeY8L_bS{950C-^TFgk^LXeEH2=b4Em3C z=+G_xo>~6h82AzG=Y8V{IR@W5Y}`%C9#X%EKiXSs;OHnm1QN}Q+SLnM(G)JHd# zv&OPQMFO1grQFh5-F1fZru@@FBp+UjpyBH3xV(7QV{c62MKmuz=NEwp`^Ery_V;W< z&z!a{o%r$KC%Nfc>fhIm34T;oe>DF&ulhpy1)urqPo3OcWlH-3+Co}S9>q}H(sA_B z(^Q=sDdolR_-d{BsAEgih^l}rd?rI}OCKxx?Q5x8eGZqiwGU>C;zkFE87Vxrriwqm zuP9p~)iuw-XukEhYTlh9t6cS4;#IsPDqb3W>3Z}RQOWO)@{;wBo9`b95gL*5Q@z~^Vnox=Z??^jbbd^F&o-Um+*gE@Q;KZ9gMmd- zOM@_LoAJ}gE+sm34uj;2$sNuueom`7#v-9f24Ce|7wtTA`bQFJu5X-4$iHwk)Z8pH zdXgpN!e^)bdz;?mANzgOnnLv-;x^Wq;F9+B4(=CR&sf7cMYH2NCZNS9brly2C#8|< z`J?#0u%&QgUd5F6{gUqTl592~Ux%?)dhMX4tm3DJ#i;i+jgbxJ@6A6|Dk1fi&Zk%j zW6+^BT`8g-SY;uW6ycbbZZxG6r#9HDqme$9sNfY0Uv1V!Rmn@4JQS46T`iVOl(G&u zVw~opQ>E2HMD`-Eu#9MlW~Md7vUuy}v6FVH9uCbjnSqNL6uGkYC}&irYiP7*P_T~X z-)9jod~;^FT2L`1F}d-j{SI^Q<^`Y9LJ?g#KaSN}9oprSVFzk+zwH&TIp6w=*n`u- zwFO(f;?bBr!PwlR50l#d`(~S;NBe&`+kF2oTaaM3dHVO;nZIY7e?Qw`Hej~9f!D&H zz~baD%{Dn2W6onpV&6^0lfW6_d$+BrZ`oSr+V?%wzgqqog(ifZ8Xezg;P{Y3PGGJ- zc{G8F$!M>{r;FpRLq$0g!K>?5e3>=vX{5zT9HF{5mij*J&Zdwqir+_;&yrQm#Y`%S z`ctPiw0$CU_nyNsVb!V&(VR?WXs3PVNwA?xQ|##Q#EyV2&;8MT%44KE`%AxcLvucC zX(4}~JGBNy=yOwiWBvO3l<%Bz=;l1`bAg{us&(I8AT-X}GnVtS!WG6mbRkn@d&l03?o*1Mry-D;qv^TqSs0}as_ZOdiET_b*FM4-NBPHmD@s>f==m7xRuNBzu0>Vuq?W@ZTP07 zB?Lvfq`N_-5s^l^ySq_Rx}+PVkw&CjTBJ)Fq&uWh;+q>~>%;Tx{rK+vAK$nC_i%9x z_sp7EGizqntaYv{&Wm=Bn_*(CEFmmJcboV%W#7YF>C&!I1erQRI5+p+U_QR9riN1Q z>c0XH*{>q@^mvn9Z3{A{_c&OYmncc&IB6kFM;8(y=nkx`EdL5-A>FInqts=|A~#1x zlki=+B3{&?7QxedlOKJ0P(ixno8%p;Lpqs0jYq1mh)Z+&%oCTw6H>D6@l!9x72b)j z<4ECbY98TL&~4PTqDW~MjG2P|cF`@)!lX!FS*I@;0^-rf-aoV>(B-h@CmqFOn0$+s z(?W!IcaTG12*v<=LVee#^VTPlL4$Yn)LN3l1kiZBybZ%R>v<8L1g{Y3<%Rn{TXWTv z>-blUP@enbv14FF9O8HB+@gloz~0DKQe`?W_mbdbfX7-bh(8B9vHvc$(e>};KkTnN zF4ab;Kz|JmwDjAQ=eH@(-r2ZTb!B;hayhKMwhnxQ{XnH}Yc8r0!aGQxh9PL4{!PeXK2vb;(#v*GBRb zJQD3FQ>9F>nkm4@p(Z`VwYVc$$LtyL>MelhVjAv7lqF13yI;H4V_!}u) z(&6G{baS=FzR}*C&L(*zxnGbjK4L0cntfb)A18;yk_wZL>-tVbqF5)k(otEUon^^~ z83AuGiLnz$J%+xe)Jv|6$Uzn-%dfabn8f;KAj79xVJ7KqtJjufwe~bHHTjtzi%oCq zl-_D&eL*|DnXDe-fG3dP*iJIak&(Lg(O!aKePqtG9f}IP-3*Yf@M}|!mfMfcC@^VoF=z;&chKTE* z=zlmwJh&7f0hFiE;IRS%SO`JYml5RzL3%(eIxQe#w(0jc-FiUeaU&pFxj8^^zXK)1 z4?h0$WoR~_oI5zc2bfS_5wMU26Y5I=zbO#k2=&3f7qEig2=!O!z7gb8Twd>Q2=#$7 z;0l5X^|ygO>55Pv637P!=LHk$KL%FafSPPWxP!7eLLnMJ(7;~<1OyQ6_X7BT7a-9G z6Y9G+gF}-v0PB!IBy>F>=D00zcjmzTm;zgbml4%&frvk!0hP`1Jo=NJh4MU_{yA`l zIpAjh32AU-n7CvMAs{OuJBMXb7?gR4rSs%S^C0`t2mynKk!U$gljhXf(ZE?H)<_FU zS8eZC=(S;c>{c-_yL(|L0yO7luwC7Ykb|dIurF?Ld8RvLXbL0cE$ybMZ$lQpH@aj# zsf)~qjSm$ic)uvJJnuzGphFL}hI~kBk-H{uyp3KZo8b*1J|*Lutb-mh;q1cT&%)&A z+dMar2@=36Xp0nI+~^94o*R`~T5$D+#W|)jaX&57ic6&DSW@2|6f}8Ut1Z^cp@(cl zEIQwyno)I%^Hxzp^|-Jk{sWtJf{q1Ca(++0(>va~XBwwp!|yjPp8LjI01xHcH}W%a zFyoYl)&Q^v98mZgad1XxBbYeYXWJ7X4z9Br7r2`)Vd1SV3R{DqA|j^KsYqrvQ=i44 z_{ie^+MO@lpSKSy7;@s?I=;N|Q5-QKO>cQ#^V7PsqKkX@i~iY`Fr-Nl&6&D}O$ipQ z9ATy}q`5L_SXiPW$;yFvlqoEU6d%QVIW=>1@NM~@H+t-6nN@II=<`-+=B6`;hL}UG zIRpM0zIe6WG?OuH)_s#l)Aeb_?IVt9RWb}HvPhLQy$pksL(9AkhlLlbQE0bZ6wdii z#qti?^Y5_Qqx|Kqd#=9a3j*5N8qi|F;UX^iEDW_Q^#DdCFnw@_oEhM#ih9nidExPC zgvc(D%*0HV5?yEYhNB1C>rsOzX~f+aIbo3+yX!}j(ymIyX+oPQyCM#?G0U&+yB=4X z1uL2mU>h)Vy4p~BmwQv=d=2mD?M1n>oe3vBCUe)oj?97UeF)&Ex}TchBk}1C@*rJ= zUC@**3xZIA3g&dBgvtulvI^$sHH}9}BYYFt#E@nBwsuY@>)CR_Q5BYYBc0~6B2@Sz zi1hJH5f#Qqfo~+MdC}<~1yXZjZw#P$KUgYM^d`D{@USCN-AroMZ5Q>U%Pxgp zP^`H;Nqqg@w3%_i2i{~fhZguPo3h7I)~m*74tQ_#MNvxCnNK8(oQGUF!Z$1r74>?c3rlN0wQ~&6RqP%gs*9AAE!EGp+fyT2(rT^PDe( z#fPWIxr+x|?*0W;Ya2BZAK?uX$}WQ2lgU9vMUAoV>AUVyp5~D843E|)aW;Eqm_iiA z1<8iz$wi|C3Vy&Duzvmdg&W* zLmyy~M~~D8lnUE7NNz>=1iT-1ojtdFJqC|%8kKBAK=`28J@j;D6kR1=NKf7J9-*A> zVgByD0BzzF7j80>f~CXhqRNq|lFu(g7N}6|vbXqxNlK-Pt?$&)e&Q~hl)7jTv~!N7 zf0drz>R<<|tIV5=;XcA5D0AXrK6mPjNI2>o@jP~Cx=9~Wx#u(6!`McX#oaHMM#K_2 zT2QV^QIvg3P@c2q1ke&}OquSc zEa=-teH>9}UV<0QAUfx-td z%fA9R*GD_xu%FUj7%5!m(7WFM|0qolj0ivJ?XMTS-h2KiNCnJHuJ@(aOJ9G3KT0nE zK;qi_yy6i81BL_O$PHkY3{I%uqWJ)8Qm}+TTvfF1QGc2dfgb%bAwY%#`N%uUms`n~ zaZ|wn3Is~M1W&*%f)gQtQ9!T&H~}XC;1>b}j)#6=7NC{5EA*aXx3${q#a;; z2%-;i2MQGi40{fLf;~|G1or6i|NF292&D$V8RE~7z;$vwPk+On->~Q3ggvAPtYP5* z?AiOLuxG*?haJ_0zR!*DSeYZ7=6|A)#ut@UtU72rhFdj~nHLHd zZqQ;2J`44UpH=Niyz6>eT2wYlwM=co#QBUpl0R#nAP%K7;nUFaM|!&{ zwWqdU_aq4tax9?faCpp^s&1yn-MqoAkr#h@e}V!^%}7lgLimWuFmd+-GyJy>sV?en)dh@cK=Y4jeUi@tm8S36)a;Tw}PiEXN*2=Qz~DyQ0QY9 zHztYOm3CBp=~BhxXIhA=DQt=$-a(huH5)`to^l$PxeyEU!s(DU8C)jLg%+dSL%szm zH3{w@b00&Sn^VIFuq?##(bk%sZ6`ZQVY3j$dO?6;si9T6I5gIuypxhswp z)7h4*(Q3pb3h9eRP4Z z=XVM^X1Nd4nbGQn>}+vMIi$z~x7R?=tQ34KTn@34OY`irruMjB?&PY~_T0M9$ z_jx_bIjS5>{AscyOF!x>F&d?(H1E+WTn9hOnO)?fXJ>Opd{A{(n&aFQA(Dq*J)Y7Z zAcSiuFC2HrZ=*{mZGFV)nh+;Uyu7-Bk7>4K-P zjHYVm9CUxJa^a;)r-~Y8Z3KzqX&N0>s;k3GS_vAq2&>ov-oz(|X?;lbFeg2=pkKp5`wQ*q2zXU%RLPr4j zdC(|c>|e0bHCigmhd~vY^I~Fop&M30-G{WC`C|GLe@x7C&X|(%pz=GyyQwz$v(E~7 zQ5AY@Ck-9lo>zb1_3|@);~<7jhVVuyIl15s!&b{ZJd|QI_@-1|WV0XvBE4+ow^&Q& zgc53-wXLyf78#!%pIAJfP(2S5c258_)`a=jLZ}VJ3G;cjD>SC-(#zFG71&}}4m0`AuVl2{Jvv*F zRVbHqQMA6^;PIIM9Vf;7KoGJi)b4xSn+82yam5F#ds(uk_X?}Q%)Sv_9v)NnhI4OVS^qf{duwc~v>oIPy4${*e2!Vop2*cnXg z-Cp2gDksmCQ@6vBEn8q-<1$SplzMVcY;`z4UO9YVVtD8+v8dzrT-wa6SRi`)bO(mS z1FDW2wZki|w2-c1V%4_6%yYtt9r=nRO;9|sY#KEDsm$Gu9)k-}W%_lY#5Vh^J!UYl z4)w;BPwHh6mntx86BA4kD_^0XOVZ}YM3aOg^BWzuAv5ga770w6)}MFkj?x=jxcg$6 zS*zgVpo}p(^;n*tSTdNBluURXJ$Dp%#Gp;e{whWrwqTvr* z7eevrb=tZVv$s!>!UBd{P8^4};J73b68Lj;h~W6BT=MUhOB}bR+=sg<-1}njEpI>^ z)dw#qhFaoWS%!vnnruhuYzipROsEy7m!HrMip|lCTbdNTTy28a(xI{uq-DbrcqCz2 zU`UO%Hf|Z1P`^VGmZRl->Sl~Omo~VauIpU6io$JgrK3^UrBS$2jf;ahde0Ui5B?}o z$ZEq%c-Y{>lVkr^a+H)?AGTcg#7A=}aYN$kSWCRK7fcRr*$FH@!g}v#?YdO4f+x(6 z&Qxvkj0f2i4)KK2JIU(}(IgCC0SMKS!q!LPu3##De>A2+T-SE1v(HC#OY(e|p=j;2 zqD>~=1f0#HrsyimNXk-`DHeo)#N^zZDIVuXy&>4@|FxMpRNU6NXtCL4EVP4SCwj&RLl3-@K0w4x^|CMbn+ zs5}w%WHc4=hY2PgrpPzMw#s!3ck@ztp@zvq(L6qc9RWKQ<(i-2o@1XqF^YKDtviF4 zC@u7;j-FR|UKTPX7PG-$0FI+!D7?l89W|G{+M|GsIT#m#NGwM+V`uBbZAiH&Ixjn> zNaazQR>Y*4CoW_{8%8uimknh^~$o-9(W%6)Pg0Pt1cwT=F6(p z`;2LS5puFRUkzsqjtH*iErtgJ92qhff|<9XrlF$d+_DtT$!Gn0w?rfzk8OS;F8NtZ zA9XJX`EMm&KR{ocYl^+8axNjJYNQdOd2&QdTw_OPY>WNU3{G|5;-Y%bBF#vhS*yRZ zAue@n5Ho5^<{+{H!b{(g8nDF6#1t>$g$E$<8c`7KD!XsP_u3_25RiCD^Wo{lh~E7W zPvcX(?)TInu>$Mqe$)_tFTA-5XZKq`;x)T3r6Www8l~}-AnzSU&5@}t_bVrZ<-vXd zGImeqCsWh=3FN3@UygaW=d?`fFFqiyiBreY-rj?UE5YM-Nk>Eqt9`K$V;VvEei%?o z{g+9+u6NZy1;3|XL4DWX;8j@=NE(22e(Rw@)gkKlXwBYOOGl_48Y7L3;5 zFVPxU6Z#vi{Z<+NJ1WDXfNG6c;4?c0+R$IC4F4cIs}{7UAzFWTd#%*n7%tkA+s2{l zqr9rMs0_QCOAnGl%y-e*oFyFq)tpaDO@c-Z35)@aq2ovl|3p(%nM?OVOiX*83MId6 zxon$KQb*m*-NC6|9v4&cR7^+H=8WzIrZ)S5b#Lt)9L(t|d6h}I9(Jm^6^-Wwml{J{ z)-3joBa3IjxdpYJlr>7FHj*-*OXHqP$HY1F;D`9gC=S2dETKbf$?KncbjVe=FG%z< zj#@qy@sW!pL#Bd??r{i*mtFEhnY-^^C(zA`&ph8Q7X>tiZp{`UP!C#+(WqJn=!7OK z{N4uO8`kOVZkO#!&r8MBh`p?SEkeL1v3etec6XDYu*IhA6sU%+*jl1v$ub z=|LAV3k&liU(X|q!1xt4446Wnc@)nHZVUv&phBJ$8eG!=4;B@IIfG5Qm%^c`V$U$b zZDbRa{GeAmV5&;CirJP17C41<=vhh1<8U=lia0-E+*L6*#!!f@hRAjKLMr7?*)Se1 zmzFCY9+pxZ}7locH ziEcVI?}wjnG=y#wg8|1(L|wOzahxas7MUqbR;9QyBn6% ze0(5x3DD*YqdeWBjxTVvep6z7q^ESiyJCKB(P`XAcp4Z17^k_XgXJSk35~% zu%E0tdG^^JgCMN!^NtttD67LuHhsone=c;GRG${pvPD%Vp-hc}gla3dVR+evL=m&1 zdYXY~O&PxjMBOv%V#*w;QS0lND_T=8?orB*556G7_kR)p_Gw0RqeirRLC(y+g)?cN zxHw|M_R@4!z+zuZPCr5x7x%6qS5Nu;8-$*rd%@Z_LOxdC5cFTQiisvVb}P(8*$ehi z>NSO(jPJ5#8vJyzf&w=j*Fzs%H$W9UN}Q;6s<54i5c=W8w!Jl0!~@RldSKZ2vjnYj zQpM?Cf+;o8W(F+pZI}xIN0@EZaf;?)y=KX^?swgdqf<3YW;mwd@hyd4j}X;Y7H4r^ zH8X3x%+i56NlA(dm1NS?rG8y%Mrz74W4`6#?I*9bOe4Y}?Y=m-tNqg3TDT@l>lRKl zAsYroYH%?<2a25NjpmjE-KProEf}&^a0(yb-!Mv!@1kzvEUF>f;ohu0Tg|O^YrD2P$_0Q3 z4gFGt_U?`WFarK}sSmIBq(B9~r(Xe6*Wch(SrBOF??q_Ge-NQ*026O1Shw5P!4w#> z!2e%UA3pmD2!SoIz*bY&fsm>4e+q=yffIv)kohGLGW-pMek&3GO(mi}@~tOl01#pY z^yGg9gf`@XKrHO2b$3?W2py3zM9S;K>bhw#+q85HV|=1=8I9Dn@!?Biy&DK+)%biA^0K4zPI(|kX-tqFC~kh&wT zY|fTY5&N2a+R!ON>c08YB3h-fO>;A)IPz0#E<9E1EFo{5ZCxKy{77A$X|uDr+a3?( z$)4MqG0lmFcN94Cd%Jad8tpZvMRNDBbka&h*qC$=$_GsL&u~=Wpg&m34Wn9=v54at zdOwhJTAl+MwP|v*@H!Z<9(pTz{ALQTg0L$`+xLUgm;JyFG(MJT5E|peopP=U;sBk1 z7qh3G9l8u_P(1=oFlmwaGJ6AX-+67Ef_NDX6zl90O8@~ETQbMnSd?Sa33%SwidoN-2EV}injZY*`{p&p>&~6~4CC(f}WwpnJdMVx?ChtHv zaQ8P7xLMe9`)!Jx;(Av}5^tt3Op?5f(xeu3w=Xv(O-u9RAuV?d;%2zm2^k9BV$6>s zpWK4bk9?YB#fZkuj4;+XLK~_ViQv%lz0|yY-c=&rc!|`I*~8fC=>+XgRPsE`TuN3G z`ir5JI)?FHDE%DE7NXo5wYJ;Xl~^6?j||`lo)`JSC8v+Op(&#db<78H zxvO^}UO07;w7niKRib*{fPyZO(7hMv=Gq%RL4Qb`-Eq_lM61|F-8TU^! zSLfsxOHMf-$TZ7}jJPSPsOSV})_kCk!hjpL=IpA7fjD9MoG7g)vG)KZNe_>{^C;@r zrB*pLX+(XOgA}U1`$6~+a-0{(}XSe2YTY+7j%Ia za<|U|!XBqQauy(gE*UyeR^)rSdwobF}+NtVE3bn*Lf?jcw+Qa=mnFG7ykB~k}Xdi_S ziYMxp4s^mS(x~53v@8nMHbC8`@VWTB_eHPvG93fj8<2CvG3KyrUCx>Eat=t=_1I2ZLMPPonIDkDUpnzN8>wo~8 ze(-3jarq|&k^;$s7y;S{5Ge2#I3EOBrvpG6=wPN50wm``0|MQI9t5nm|0vG79@_UW zl#lsgoq%aKs?d@5xo2PbsC6|(=4elvh=U8w01DPZF|Bck7YlsHjKfByR5cu}EeWc2 zPuz34!jSotn^+Nhva53HhTgg^^Vxa(U$-c0MyMF2pghU*_u(VdM@AGDw=ftek9Ksd5`w|rYnXKx96SFZfNEPRm}sQ zHTvZnDx)a*<-)6Ts%|YrXS5SCCUg-t=R-B2bXasT6{T8B4Fx>FOZxLn@OlvApA?T? zA-!Phci(Mq!1~=qdY~EWo;`hLr~rMs3uuXeGg8>(b6aV`9zsUtyF*dgKkEg%*W*nQRpas zW0JKph5Wkx9jF6OgeF+DN!?zDS!s+A#J;-wiA`+q;I_;NyJlfXcE?3YGeg%a$ws## znnfXKbM{CvqXq5MZ2I}9b)ngMxkLDUWtAr%&;Ig8uLoWJIk55dDA!0`;t0)zsJyc- zsScrI>^e0RLfUUT3u_KR0*Tms?I{Dv6C;cBp6op{7{dvo$VxPcu*d;=-E@8xJI*w( zak9rBRnJaMfkCddYEXNW=g$^)c9ebu)@mV z5#^lFIyD&rB*$M@-nRI0x+c)mFyVkew}IyWr^;Ujblp&rw7_M>XdwBFmtR#e#v}gz z(Ufe*R+a~wS>)91gO#L%p33#RA*L1sb*YDbUS1S_i0JG$;j)LGsD5}2kHHuA1=F$I zz<#rfMr0fg)s{rhU?X|v;^=gv?%5_^Qy&pp_--lQ5d8?G;6P}IA$FPPea|G(b%=0; z*CbtzPsSUA-hUcjs@Ya;#i1gD=X=8)g;R;w@0g}n^GP{RKJQK z#Xfq&6F3RKRw_3+R6LuSen}nzp>(PY zKeNJCy{>{k?XLZ3Py}8ruk2Gq`f@0vK~2<-eBNLVrjJI-yRUn({WNV4BL*jJ?QHlch^hE>FZAyDl7;T-c>;3SMNZG`w3RON8|bgzoL&cFDl_P=S+Qr zF>5QJfF+!xHC`0v>{Y$U&WO{P7*t9yJ74ze$t`(qKaHxH9Nc)6==kno z&luaCDEZ1%C(f4yVuRW7Rk78TP(dhpjt-V-fkpG0ypY4+F{>3s^ebZ`K(q(~M`rAM45ABRrlc>7G_A?N*BVsAj!F zLPX7whw923YtXjtm}@B`WbJ-y3Hy{x-YP2eEDlahRg!AQRuD_L4lV4hakm-77cPkg zh~f0{&F7}k$B$E2G6I&wyQ%^=c16hBMC83U2U+Zkw>#mzC?0)Pm1{hzOeXq*cj`Wv zxm7Rfzq~b=*NBJhL`(}Q*em9Jcu&@(2#%b^MJ23PHLL=E!~4nOUAT| z^SO!ELEB{B+8BqFin1fKP2}^vG6yB@5|k@LJD#6II;|Tr;m)T>hf4_GQ{dexBb-qd{~!=FuI;Vh!mmoI^MJT2 zq;y)3U^qA;K#|eF#V-kgpa7@;V!-%jMKsyh8-=K^o|@0z)k%z4 zeJ{h#sTA;XoX@1J7&`^kU{e!mS;bL|X{UOqn?N5;^~~$Z=o=o^xZv44)25gKeEXbt z6^bzD?|Ij8g~I1lE4Hz*bjjjF(hMi&p9ae@tP4?UlAN(-7#0dJoa)H9CFE`9+vOjxYRA_2_(yVCF@7+J(CclvLZmUTyJB@7G$T(M1eLp~|Bef!`~)uYac*4YhaJxbW|*q#x|Tq$Vi7>6X7 zi2R4CG;u5Uy%itM)X;Ri2=%8BR*h3C_FV{l<5B2g^2`E73Mth*S48~=(w6S&$+puC zWRj_c%9Ewx(35Esn@`(Y&ZbPBGOl=R$l_WTReo*CuFEr`pvx6M9A5mURz zm0*_cmb!_f^;8Xy2gnUn7AwQSs?(StdG7g8cm@(=Tr{2w3%%d4KzSyBw*!@30Ou;% z*FtDYm`gv_2DJ)l1nb+!F~)}@79YuKHa%sWhnaBTT`G-ur|aYuLwWQD%{lk$;^pqR z-k#3ZKo)y*t=^CJra3u{CFD;reA-(1+Bn)y4HwS~TYQfi`_(GflbP;`GlaofcEc7J z%q&2VHY^%Oo1X)??$5{pxj!_y92kpmfZ>+>+L-hWMO+_N>8$lkZM;In5thodH-Ds)!i;^=AY<~lKg4=56(tI{!-Y^ttZC#&8 z5^}|$Kd4k!x6A-H_E!^`>j)D#?5Fe>c=NjZ$93HGqck<}JbyxA*9%_9F+U1o01*FA zz(8EfT+2Yu8tfEw{Y=+E#g8-f|J9i;A;$G{TyF$F&Y=f1nxAX)FPg-acMA+)y{HD< zy(U;q4kQ$4E@0~c4^VePdp&C#BMb9~#Ef(d#Dse0Iu^P{<^~Um6!p*S~@y<=C;5Q-&d}3fc@Wc{&5WRRSxsjF)UX(ELSndlSjU)CFl378TtLaTqZTozzWZyaUx1u1_R|blT>8)^|{fG?ahfbX@p!<+GC932w~EyRSS#pO-2&&Q^_3OPB54gY|*U`dw3T)_qoS;ZsxHd^`waF--*q)=9{xQ!LO|bO?CHITWDCi zCl$>dyvu#PiLt-Wv*u*nnuHiY7PE>l`$f@!xh}u{M^M3^>?L$gCd zj#Oq2Ct-x?mOi$1IhR!Ur#C+vLIsLhg@ZD|u|h`jJg3dRY=BQfm>UNAuLTALh9-3?Im6hNk-#F8_?Q{xGZ zqY1C~^i}ad6&bPs^^@$Xx?yCBea!Kp$yB3qE%Re~8nsT#2iV=s@d^Pa&UK z44egWN&CD}hxQE@lzos=2}|)x!YAIg*xfGxHZl=}mX!KNm4+~F4r1y6)NSxt3YYFS zs&wO>PoIRQGRC7ct4G+lYC-}R3I5T@{up=cdcOl4_EY+WA@lm@_@gux@PYn|A@h0z z|4|SPX!d{G+^>cwD8Q7f11M_`R*V7?s}7V{Ch#v3G~zw*FW?CY{DyvKk^uT$5R5xG zA8IFo6#NUlLjmMLfc}O_0w@D63qF1m5OrNiwtD&)Uw76w%RQXBf4 zN#Zw?#DB&l!OIb8^skvD{$Rw9hhycSlmGT{kiN=0T-I?}*(^0L(L%N*&ke6k9o8&80B$I@f8ooQW$AQd>g`V-%oR2V zB4i(!#i$SIk-Z-5pnah-Ot?`(7Yf*gX%h?Asd1%+wl`rW^pU66--{c_!=pMC#&4?b z#m@{v8|)tO%i6AUs40`zOX>ByKL_orN-LA8I$q}Idt0dxV3L?-I#GD-JXFsEW|EM- zWRf`B0+=M!049mRxe6uB?hv8-y++08scs*S742NY4z3#t9@X2m=Zdp#qGUdt95Q^( zU>70c?yCVARrxuPc8oN4ob)aXc4w>tCZP6=0o0!T@9x#No_SKEU=X(R_(itue2oh^ z5l;Wu(;!m3haiCJ*QkuJmjH8Q(az4UDYkHDDG1|SH6q!>bfhb3mQSYKeMIaLWjIHO zBgt-6mYkKAf*GF=)Ta8O8^z3Fi+{>Sgi3*2-bFA^NAzl>CLuXli`)ZEaaB0@ujBEI zBofqFj(wOeUZpf?qf{6iNIfDdYioDUQZN~^8nxLKoucmuW+I4vtt*OxfHYb3ys_aK zV;jBBD4?q?qk&e1eS6EnAwG$)@zDv)5kwO+B3#Es8EtWt&bbMPZ#Qag-|L2fhM~HBdwgBnvzCP99}Z&GamSpp(Ceyw3wGI$~XxX z%-D)gRr0JuQyKSUlq+b+ud07D1?#1YxXrf`esFMO|BZQTI0nw<>JzXjn9p1GjIc&> z(U?5I6s+j z=kG3Ts2^^y-^fxK#jkuhx&IGSux?4PDOdqu3PyQuVlRRG*sQT63E3o^eR=A~T=r*> zOD`;u`7f1|;-byGKbR!cJP%0hRh0Rt94T`63w7+-;PnmWx5mjXrdvJneH|R9kCY09 zCk!sVDL*}V9w^z9hW)^Dt2-Y8v}QY-QY)oXjtKJ7$=%))!O;S>wCY z(+ef{DcK^JpQxz^B?!MK4*q=MRD)BWyGDO1RA&eiD0Cj$mN2zHdtXi4ZvpdCImwsr z3XFPxHK)JsvIZRXQ~Cvfa@~pRN9n&|lDOV`{wVk>%E{|*@JH$YkC`M?A;C-%ikIjA zSvmP@OcKEC;!*(#s4@N}kHpuXKo68VaPVJ%9>d9hAM{-DNc^^i{|$QnGtl#D#f&Kq z>~aE#y1>fm%bCO<=(E1t!iNGp64)H!rqq`_5`N!#B*ZqY3xX>bq8HZYihAQ_*9KCA zJRhSBNHHgN#xXaCB$t<=nQRIynv%h8e~~dvs7ZTEA9woY)Y6JX$nV4L4;*>SRfBx4 z)h>Gz?fSUb9-VAK31W0QrfqfV?_;XvXOm1yy$fyY<&66e&?hU}6<&ft* zq@MP2^RqsaZ=g;Ygj`_jlBB|?a^rL;Y~xy57Z-EZh4!dS-qXB$A0(%QXK2} zR60GhuS{4DRoS&8I{J64-^0J|8nsbNt!k3}&L~0r!9eAWh-{Py69P*#BfTg_NN%rq zpj7&*=tAJcbA=6xcaRM!Pvbi@2%u=7Sd3Rs^DuCV7|=Y9^D`OT6p@+?EnSemo5H`2 zZ_Q~dKWMr8ib~JMv76L~)IY-SR#@+FaKO|17S>FYgIi8tV|K-b6X8B^SD(nRegP9o z#7V&4u-4{JY{#>2iwk{IRCc%T4b|R@hpU{veG5m`q_i1I_^ryR182~9W!`kjmQifY z?qoq{T4>7ZIGG<9PaW!IZb*Uc;g7+D5~{Hxl%!SE!K#}hJMgM zhA7%MHA<6EgrQ?4%3abJ%#beoj7lb~Wk;^9;`B+u4nbr5FmtHGQ#n@NA8BrX&M)Jf zd_9dr+!T_1^QLDTlwIj@&droN4tl5k%lPx@_Wcq;ZqvJP^y4S%e9pXgeVa+to6JAl zF$&DFTDuht*nCC!-!ln}+YL}|Fka8KpUM4(fbM84uT}vFNQghaVM0t9I`#F40(D<= zHK(Xde(7u9ct=v}_@16neONc8XV&5exo*oO9_CcfDwWvxdZK82xg>(*Er&mcISgra z;FZf;W>FcEGdu3rnt=HvDpsYTFC+{0UHcgyZ4TMLD_h8lh`Vti?8cidVLJWskUy`~ zWY03~xM+-%jj#-6rrWWB-pPB~6|ltlvm%4E9jEPoLMP!ly!!9aN$~xfbP{4YDn`Zg z`+ak~A+&NDz5taL-O+v4JRW>U3yZg7N#PS6!^#@!K@-nW!`hB{dNlOPIxjwG3g@3e#2WTMwIh_RLHvsfkR9g7J zH31)ZAZo2=YR+AMJH-$9_WpCAylJ5T_CK-X>I-$|%K{%1~sU`h$FEj%o6 zwH!|f;Qt>L1=sQLUm)P$6b`>B8~~kx+q*otm|u4a49BG|_Wp@bt840KLapZEOuiR4 z!thCDaC;ItZS;?4=gS$j3tY03x))Zur4Y;z6+Rx`i%3o;pey_%k7&dBZfcU3{HM3b z5o{5iSQ8zZr~#RP^k-h#%u1efCfl#T?QZFn^asqSW!{%P{z0Yk?YhwYqf&rJ)P{bI zDPsQf1W}(NApMD;1I@J>THS-KQ>#vM*I5dXTWQQDfOz_>jL+wyktqM`Lf8j5#wlBW z!!JG0E0m1oZhQe4wU8`Bh9Rl6jADqllvDE4U{#9ZPAi^r8=J0KCv-V_HIwoJw$&R->pZkQ6TX9lv_si75vGsoRn{5B-N7AUJ2}kKBX;tp6 z!^aOlG-=+taVZ8Wy^j+@C>*y>LAsp%u>{qBKnD)NU`oKOtE$81W!tOuN2W|p%=Ng; zpS*$|va<$Ii%q!?6S<)0WJJ!G0eqsvWCegrVAnU7Ksp-j;BopK`tN+Au0*egB6((D zV{cFl4V)-YvZ<%ugIrY-)jBU-@k;0)#>BYg)Epnyl>BPpHF>#7R*$6$rOG=KG8@VP zYwTi@&tNf-{vALJ^nC20#f5zRruQwPG2sfuTzNN9Kn%1PX$Ter2~BDlCW^p+RZc)- zmVkO)If8lSKV0jlT@d=I-sPAN>l4I94jBj*9?l=VrtX#iy^(fpvwJt^e+R%oWweYXPB~qO_;9>1Zw;d8LopB` z7Wcp~s04sPWrc~s4$k)!JTe5Fj@m2v=P{uir@?Zd4&>nr6M13Z^EqxVs>**?stJi(Uoxcl?5RmX^_^i4^ai*}0atJgG{b8Ym6K>qNz& zitKCWkWci@BKOoRqIQVB zk1dr40$Vk@+<)02kQT#b zB0SWNkkVfHn?v9b-N<-=sJTcXP0fm1FOKy=7$6PGUZLcATry|LvA0w=Tkldqk2xW- zj*xz9+GTK7Y;8!_+x5wDdwb1CKjvlc9xofRf)3+%c#O5`N^#3JZcSU*x6{Je z-rG_L{@&W8#XHH%4n?sk=4p+zoF&urp;maPXDmssAurA7QwBDqO*NC z8VlgdiPHGi*h4zQA(drUXYm%qqcj#J<=~ji#ol3 zE;z&c8V(9Zx~J$AF{|DC(jV|1;1B3^=@0nCfa$fIV&@Rp9}pJs2V{=p(FFVf>8|_% z7l>QoV#oObe?T;_KcL^0KcG0^56BSOPzCk}r14hs@_FY72lfZ_?qLA@0YQL2pm4Ez zYW6$0{r)d2w5|NT8*D5O*~cZJ^i5{{1Y{jbf@oPR8N*}BB+$4I)zQ%E11m% z0sequHWzwbP=G(6-9v>#D+1EmLWLsXy_6;yGR<97TM@}o0}6CvnjDfWgP~U;D_U<44d`Ri^pp<_*h%8*Qc~7fkxtFh zi{GiBQeW(y4a3ets6KBV9{`xLCZb#mGkCLoI<@NYU>B_BIMV}ymYhJZ)X_;l1ygR85qe_4H(0dNRB;Ac+(jE;)|hd^<#LttF5WTv?Y;1IahbNgJxf%ny0vJSVHRyQg{ zx8}#BQY7`MXfKr3OeynIC{L2M-p#vRIRwVzs)HQ@yTOLBe}-Dwg2a4dz@C3fVA=?V zT7uh;&tOfctIbncI4*`4DDLg5NCKTEF|7n~}&#W|xy zLYS=g?){LweHP}<=lU9D$UTVQmT7EshH&5RXV%3{{Np8*tFqqF_xwJ?AV?7*!7SIy zXY}`O@RHdD+hGd?6fO?TayHua7L}Mbvf7h9q`)=I%jTA!QFfnLTU=I&>(u&;`MG$k zwXPr%HD=J!4VFd<>0afIP9nN7xISd=BNL*#_f7%{o}H~g0!x`zaOQ4!5vTq5JG~}71H`^cR;XO z0q#4}`ZIs&f8q}K3(kM;z{LS|-G8g|U*)G(h#j#}s^89kzn%YnJO7#K{dWHQ?fm!K z`R}*$-*4x?-_C!(o&SD2|LK|O(O>tyygqaK?fmz@-1!d$v;`Ff%pxH{+fd+mqTkq4 zfE6GCHVEzzz(3gUkx&l+xjxu`WfS=A`|iI2o`6CFg~0wR-k1A-(SHRfbLGDx3|!+% zgbxX>0C1jL5QsZq&C8_|%|9rPy~OiD9v}ui2+#{q>|5~E6TI$qx$X@d4FY`&pW%18 z-T+uo+yJ;|K$nqI!T%w^)%``0KiKQ#YWmFv^$Fq~x+gT4`w;gs|6AxZfVbuX1@Pqo zfe4_%H3cdTJPG6-yUSy~8NYthm}H}XohYBn8rhoa(Mefb80+cSN@$tsxqzv90KXp) z#$^!@9ALu%e&E1=2q2UzaOTT&c~M{^7X|xr&$nE(@9R*P7Y65n-GR=5->b(71%8}= zFbe_HJP__6B_RfM_kTR`3)?-+a}_?i5;W6&?q6oDJ)KbKU1 z35p^w$%_78(G+pcwLmaLgb;#2#L$3h>GBT2cL@$l432qm6_%I)$h`U(oq&As$7luo ze)|3~f}0?W7&sql2mW&ZFMfvGsh52=lI3fHDtAgwWu-hXXgK|2G_0K-co)69OIrA@E`E0UTG>K>k&a1P<2oKk19W zK^ejEo58&hIP}l2M{&M-Q2#8T4^Sz<@mK{gyNBLE2cF#3#}ECz=1@Ri>iAR5zr950 z8WqUDt3UY6SAFTv^#_Lv`nCH1+)ey5I)3oWM!Kv&@{SDnlHY?cfqPSM_xP0$~Ebv%BEE2Unpw-B$^K9ui1%hu=CAB48aA)CzR*|C@;{qJ}J=YYZp2J%}k0leOSByhX<3^9M7MEBZbgC*3;6}vj%`3I3Ij1 zaJs$@KBptCyoijf9G}=v`&rnTFOS6n^2CjFtSxLT^lb^HEdI~RQ;P!fGxJJ-!VC^T zJRxc}|59M$2eY-$byxwL6d?8k?F4pKk5k}=FStkmiopQB@MF4q_UarxX@SYpf#Ij~ za~&xBwg3YT7gOnl4-3@1*8FU+8@ftN*~%v-^r%Mixk$q)oQW;K+-kpWad4FcfI zP|8pQgsBX93?&Q-K&KT0*`PK$aX<=Kk|3u$VswE5+L{=JM5-axej<$}TG>#x9{_>$ B-|_$e literal 0 HcmV?d00001