From 3a7fba441c1563042ec37b5ac3ab847fd0b6d86b Mon Sep 17 00:00:00 2001 From: Yegor Kozlov Date: Tue, 29 May 2007 08:32:56 +0000 Subject: [PATCH] fixed bug 38256: RuntimeException: Couldn't instantiate the class for type with id 0 git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@542453 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/poi/hslf/HSLFSlideShow.java | 37 ++++++++++++++++-- .../org/apache/poi/hslf/data/38256.ppt | Bin 0 -> 63488 bytes .../apache/poi/hslf/usermodel/TestBugs.java | 29 ++++++++++++++ 3 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 src/scratchpad/testcases/org/apache/poi/hslf/data/38256.ppt diff --git a/src/scratchpad/src/org/apache/poi/hslf/HSLFSlideShow.java b/src/scratchpad/src/org/apache/poi/hslf/HSLFSlideShow.java index 84a03e7a52..e41bc3d5d0 100644 --- a/src/scratchpad/src/org/apache/poi/hslf/HSLFSlideShow.java +++ b/src/scratchpad/src/org/apache/poi/hslf/HSLFSlideShow.java @@ -219,11 +219,42 @@ public class HSLFSlideShow extends POIDocument // If you don't know about the type, play safe and skip over it (using // its length to know where the next record will start) // - // For now, this work is handled by Record.findChildRecords - - _records = Record.findChildRecords(_docstream,0,_docstream.length); + + _records = read(_docstream, (int)currentUser.getCurrentEditOffset()); } + private Record[] read(byte[] docstream, int usrOffset){ + ArrayList lst = new ArrayList(); + while (usrOffset != 0){ + UserEditAtom usr = (UserEditAtom) Record.buildRecordAtOffset(docstream, usrOffset); + lst.add(new Integer(usrOffset)); + int psrOffset = usr.getPersistPointersOffset(); + + PersistPtrHolder ptr = (PersistPtrHolder)Record.buildRecordAtOffset(docstream, psrOffset); + lst.add(new Integer(psrOffset)); + Hashtable entries = ptr.getSlideLocationsLookup(); + for (Iterator it = entries.keySet().iterator(); it.hasNext(); ) { + Integer id = (Integer)it.next(); + Integer offset = (Integer)entries.get(id); + + lst.add(offset); + } + + usrOffset = usr.getLastUserEditAtomOffset(); + } + //sort found records by offset. + //(it is not necessary but SlideShow.findMostRecentCoreRecords() expects them sorted) + Object a[] = lst.toArray(); + Arrays.sort(a); + Record[] rec = new Record[lst.size()]; + for (int i = 0; i < a.length; i++) { + Integer offset = (Integer)a[i]; + rec[i] = (Record)Record.buildRecordAtOffset(docstream, offset.intValue()); + } + + return rec; + } + /** * Find the "Current User" stream, and load it */ diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/data/38256.ppt b/src/scratchpad/testcases/org/apache/poi/hslf/data/38256.ppt new file mode 100644 index 0000000000000000000000000000000000000000..a0883bda00d8a9b90cf327850a61da0f6c45afe5 GIT binary patch literal 63488 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

>GG>cDs}u z6e*$Pq&;?P?%>PIBtCAlGC>}!?TlNqd=ZwEi!t&$in#9Iy<-nCoPlP2$O7_dJV~U z{M(v++Qn)ycw8yhe*KUef6;?4(}+!b^^f2mqYrcAh}j^{auP&sQ%d&8xS9mL6XopE znug4?!wkKeip)c3R&))Rh6a~XI)U=M|IHFgRIKr=u1Z`jqg|B~t2Y=P) z_*igkRj+aR#R{vP38s6uAm(XToyb*K*_gVXm4jukj*lX;Ee&P~fBN4J6-y8e z_>8yVv?0ryGtwLJ%sX(Kw?1H&PDM@6bz#yAmZuVQB2-oS9u}?=VNAMUfV5y{ck9Ai zR3-~cjvaEAhda{gwxLCt-<&-?7?hFJ>xWMr5ah%FxXh?JvswBM(KG!z zpfm5k<#6ANYQ~Ty%U#c`L2r@?+^63nh-RYNHF(f28nch4JEO0-Ps(dpU1E)RxlCI9 zJlrah!`Dn7UqSy{weB;&cgYVWE)G?#1BWf8KzsvfZ!CUPOB~P0tic4hEopX=h@OG* zMc!vF`CeeMEG%ohVVofCW@!yXIs!i@rJnKXIujdy!Hvt71jv2Ox1r*d zobyVb-qP7B+sg9#M^L!5Yy=yz5QiYR2+v%Z59v!GCqE1vJr7W0v1k2L$of)YeyC!p zEyJ3r6|2X>g1uW%#lrGi4RK^@$*MfS=dg^QgQ4D*%SBE1Vc|N>i8#_pl^7#D5i-ns zhELD3od{Jen-m%W$}8!Nx@83?5up{DU?@w=&0*(1j$vCRxC5&mxvgX--jO)zjPf@I z*Fzy0j%glNl@0=;!1QGfc#!uGdyTuiJT17r|^bvyO%P80K zO1wKG-Wr>jp?x^tt9tzQZi+kO2k(4jxb{)k3dsOq6|Gw24sm*c%Xzrg;jFG$az6|D1^))-q55K03 z1soOzJvl~*3m88~+G)zoe)~{ol=fJ9&PDuPhKCtVE`g}H^ZiL`(s)An9s548kiAk@ zan|=?*Ox1v{=&5&|3iZ$BLwB3B40_%XL)*zW%(U2(jftnmqtUun^ozUp}01BUxRn# zZ)tCU@(3=qFn!{&vAJTu0?r`{E(UoS9x5rQ70s zm*ngC>Dak`oqJc59i8jqZ89$goXK7Tr580?d%T7rG0wq{d-cA!Pw6vY=`QDhaCB!v zb?rN14{Y#RSLnS@(A^6JYkFNOeM2;C^5YWbimlVX#(zq!f>X81W_3tv-Mh3;ffZxD zzB)U?H2JO259ev%kaaxWB?FYJ`@EQ3;d{QZ(i^K@_l)mdEZifOo0%)w@+)&Q`J3Op z`HZ+z!gw`*G<@Ixe8JdZw=Sf+Om;HrOJ`*3^xkLSCtpfOXgzL3Ey6in&NN(m=j%Pe zcL@ZePfiJJ!Nz*mY|;XU3tM_IKF!mWyEhT1ODAC<(Zi-fki9O-cOMC@JB4RknH9&2 z!raQ!X0PThtZ6K$BpcCIv*bF#6Q&_cE!K_QMb!!GH<~8h^vlPlPpOZ)w&naSF&2Wv z`5}p^C7t|X5-~Ek%=>me4@O_OxByoL>FB<~hAv#9FO%{;jnae=j7;icwthZhWjZ$G zf32<%V~=Z@pG5s$C_XgC`ikKvJNy0$xnWDO!)?RG@fV3qC1SYrL2Wo>-7W&1#P_6_ zxy((t(LT5~a~63FeqHvI8h!oN_a%tm2rv9F<#i%1(enE8sgGp`je#id%4zl^zMVBi z+{v@~);4$EMW)>v+qs;z6W-?81)OFZ$yvaj#g9EiXL;H!Yh3SjT7bPE?P``%^lPjXy-#no3%O_N1%#Ifmj( zQ@A33b8Fc9G@7z@Ye+f~bYm7e6)s^|kRxeZ6Sv6s;t->}6cC-b7k6>quSs3`RR8O6 z0gnwN-Hw}p4*C|wm_CjdrCmBQtq}@km;#Bqa;+hYVV-2uGo{-%Tqu zgN}{+dYFSwLaH*QW36!?Kgas?U3dM1npTvf(kv)Lo}ZY*#3XjTFX)I~_e?t*X63D* z5J|EFe(Rtncvo**;<=_+B_F>Lh@qufO(PGZ@Hroor<;@~B;+JE;m3vA#8Sy%{7%&- zeXNH05L36+jk&$uzx;)t*<@4Omb1t)pFS0A!be|gyQYEP&dcCY?|)Q5il+HE7*bnL zmD(Py7>Mbwo4x!5)b>6*@meP%8-5y)zsp;uKJ$8t7Q0~(K0;{2+S|M*dY;4ZHd^6* zqm!A$x#vq>lGR+hk+`1z4DVw{s)$WO;}%2-&s#{Oj--ff`(|(_@eJO;tED_=uHG5a z;)K92)7S@5PNVzCP)#W1UQSRRFF8>Iya>WgCVR{i7?)mNtQmx%h(M0SWju~OaZ)84mK! z4PW%XEdE{5hw3T3Eo}Y~(KjrQNjTZ^hNtXDHmd!!>JxVcu(5-n{$7)>MpIj5Ji!QE zv&w}hTO|}fXgS1>VmA;FNC_&tY>eo4SS}Lmf0BZigQfg3zVXk`dB5<-2`JF%Ot~?*x0}Hv1FTfVm<35B!{76IC$k2P^Qxk$ z(az3*MIRGTeWZqt;7Q8KfU%RwpGX<$ZWKrg{}e`HEUG4Cq>@ook^SQO3&`=1ap$UX z3H1=c2-5*2EO?md_hHWWgMzHW2{=DnNWEV)*{Fw6HNMvNDJ>0rH^h!HMZfbufiiQ~qByt!jiWX=5dNz>5DcKgO_1@ehZ z8(O)0&sr_`gmBGH_s~w%B>i7?8(o{+{r4Z`{XFt^v!V2jLg;3l57~hK{Vy3yX5`WW zVuFy)1QRbiGlqrP;v8ls7Ku2@`portXjLZTW8NIY_oLE{_RSo!x#k>$nz%K<3GBzA z;$7vW$DI)0>vZVkVhm>k_^jKb)`+&8vowbFz=(Zh3s2EAUDmY&n6y!vVw$eZ+Rm@F zSei^Y9ermEk!CrI2L%$56qsXx3{YU$;MAz4mcZr)Krp)9`*-WJv zf*N)_EJ!XkwIG-&MK#!T8wOcYffTBMTB8b5hjibRWHqcb+`X;8F3QbjI60eq2;lgY#5DK;U^`_%VHS*K?y? z?3C?R@%`=hIxoNK*lOr$C?G`VRNMvPdvfwR&pnx(*d&N+^^e`x1uu4_Hmsd~u%4ib zeN@>>A@V`u?AW{BZeMqux@NIFo54(yxUpBHcjAxh{F8HO95Z6g!Ij?>;Wz(yTtZcV zd1jPwhx>;HZ%{dYzf2M6srgywO&1jGcS5M-&>Cjc@;M1CkTma@A`3!qsK%S9#*3%8 z(_@+&;`XlS+O23wRybaL(*JU5*sQYH2Lh3lYHjRTr3=vcruYWH$k!(JOe^hE1=vE$lYTFQ>)jbp)Pw3*a8ZjVN^I1%T^W;4RIBMs7i1_;pUXt&wQ@kVkOdKlIf%{-`)Q)F->6 zE%c$heJAIal5kIQdumP`S%PEvgnw1Gh1is{g<;uqgi8NN&b+wn8LEddZD8mr6VAiB z+~2C0e)hqHv(?t5>EGL#Uz1$cOLhpAelI6yHPWY!MS}u%!ZVw0id1jzqeQ>>iPm(=EpBi+!sUzJmk)`lmX`k@uFw>%ACV*z_CJl5j@V-b;zD8?wx^qEh}F^jW46s z&A4lL$Lg)WHcwtABz|P;zt(Pm&pXd4g`y`(qaoyM*2@a&jS`!PXYoczUg;kGxi@}! z9{xF9t~d{zOQTOBz%iD5jR%Zwrh17X9Q0V~4q}X#LZ*$}Lj0%7|E9Ht!tE0E2YIfT|`$4)&khnJjb*ZuIx%2D?&Q3+gFmv6J)JRIx2?MIB_li=7DY8Vj3jc@!!VVhZ` ze3N%|_lahTDRxrj@J*@YJ`eXkR!w1?h(38$cTk}o7@{&5oh3cwS{CcMOigw6J29P+ zl!I$-d4b%g@cLu1*Y5Kj_vIN>A)m}i${V|IR?TcTsLzSR*`rgG@Q^UViY^=&fCwxh9$(;;6l{BlKtJnh(xv6{bKT>8p-aC#!jn*zH)M zNm^q)20+=Omf%*oqv$`eh7nM0Q(;u}J<5=}83en%EdMRCtWi zKQKUZZqhqC=%t^>5|!Lz5jeb8^_JE}`GWqsMzX}<9I_+uA~XzLF}(||-X&e~tf`?u zLO1jW4+zv-8>#pXH`htc_Ln8;w3IY8a+DOG(B>Y)J&gQFr1boS(c%USF`{)lvD32@ z907o3uvT7N*C~??ZmU*GR(8qE7i2p=X(jRj{|F>$3o3$u z-tJ__Y5$m5!~$x9g0?7?xRHitCl&9evC7wIP6>Sk9f)s`+f?Sot)HZs!}?5#BVKS* z;yrtoUG8~NSG4QJ@eSPe7ya&5C*69kUVA59y^b;bat~{kN0zb`|H%{|my6O$QL4Cs$ODjQL9`~(T-L=j{C%j&1BG%p#F~{tddq3UQ zK*P0N_s%#yKQ!NnyI;19m$&b|Le7#Q8r(xY)9biU@u04*rIqkFiqqIN%%{K9bCbc+Osi zw(rM`w@&S2x10eIrrnf$CK@DjMECb-JsVq2LTB$f>&|SSI4rJ7H{J@W_nL0PS}5lh zWE?&QZETWs4!-6u1xCJLFTIUF>kkdhcxmK8Q7&iYBYvKzb_VSMM0|OYR!g3FeXM6B zoajbtQ;ZsUmTT*m%P)57)tILo@D58-6aa|6LeZ;|p36h2Yyjai+ufRpFm-k42x2=; zyjZ>W^0v1PouG%SDOdLM(32B@iU0~ zxZ6&#XulAZ83nmn7gfWTHDiOJ7l#;pgAcATjsb$n#17>3OPZ4n0Vd~X0j)P@5>(H> z3EhTmFT$z^qjaqYr8DB7vELl6$_R^%ldUa*mYH#QoQ7{s|I#m)E`ddDJCAaA2wyOk z{*+W2#5+Af^O~W?$d^rQjYTqLXkLam_(dgpL6pI#M9;h$y{6+S zwdxS>V%l;mCtKFtD@y$o+20et|?-QSpGf;}Yi$vh}jQnd#O?ae8zOd+6=tXug zf&|sm81eB6zuSYvI(WKRqT@~gK+6ygiA%=HHFM&Six7PIU;Z4a zy>~MMmbAf@vT%!SYPH}n912-bFGm|X_TTy#MvbVVJX|?(FP7c#v0gr=f8?t^W#R{M z*ll3{$!o0Qrm)@|dQs^f&{Sijo3cH?HL~h3jSMw;w=7$Ig>R=bJ3=FQhlsaf0BH5J zX8KG;Eovt2q0@HSKrD*BhOMbfxOrv%*q#w(-ZG}*o~Bkd`&J?QZtgrVB8H_g>V8jX zjJd~>LyT$Czqg}pWc&rKX^2_F)7Klc=gY@tEk3iwS~OHD8-GP|LSk}0^@i~hc#?P- z{Gmfp$2FUCRu0s{>80JKHhjPcT6g4By=x0t9qPKyI4VmwwD#}kpim*T^GDsht@&k9 z8p4_E+7Z78U-ACSb-{cPv;#T!L`y-i&#poNIE_Opqis{hwu4L?3=`4N-&eIol#n*C zp)$ogD=ulqis(BN?X`??l`o9bF40oH zq}A)I4Gp}{c%N)mlqO>w>*Gyb89S4+zf;;-p!%nXH@AU=8{KMveAKEyP;agvIqZ@k zr8KoY>l2|pq2AApVj_()TmHj;TJ%xB7o9Y_cY2|(tn2B?eO&au`PE#}0mdEe+}N-q z^wzH%ZM%;n)wBa9<+zsO4q<9_!oA3?KU4$5*A>pP3}jk*5~Gf-VSYpa&qMLnxZ}X& zyn!LyR?>xDeR0*U0T9B!e@`5iBflU%Q&Cb^M@JUZSiGzI4 z?>@ZhfT*Ft0*EyX0sKfhA(z_2+1rLs&%0tMJofk`Z1Hhx#X`ReZTMh#lIy;lE=61Y zmFjI$;l4d^d2Q=BaDtC^&p`}`x&yG@7f;XNyAYimI}>6`hS+~QOBxlui>8zaJKCw= zTV(^qFfFyC3wHlCSk#S%Ndj)hZj$;bluR7~|FX=ob-x z9!&Bixr}Ue7`pO?__jKb_NH(vup!4t7EhaOhH(X8?_K200o%Oy+F*vc;f({uh`0k( zj9BwXEc3=#-A2;(5`sB{o9n`lUBKvRYQSXs5v_E$boQNYLx_(aq(e`Uks@H2J^V{u zo9% z4HRJa(r#}o8}-ZhohyjR*e67M1eZqM>aqR3I zNp?ZST@kK=I=d=4L~^Pmg+0wQlPw&Wwv$Mbgg6UvS7M!`uTf3BPf%o3!Bd2{y`Oyd zP*|lJKEe%eux-lksZc+wpv*`@a{z2Bi8!+)_J~w+B^h;tm|!q6lC#^=&;dhN6HJhl zaGBvP5io*YmrfD7N;0lx%fY~OP?A)KIhd{ch5kawzB@Q$_5oc)$svl1f`NxVlHbod z_*s)Mw_z3@Y7Q3QAAZHwlFXWkv`W&;D%uG1iDM|_@7IxuX22}?IKK_%y!1)Jn57luVh=n!cf>YZ`%25PDfy<5ba7El~o#%8GAP)(sf+V`%yoS z=T|TJ7hnx5uXSo2kvbwXvgN%s%TP7_E(7tH>7yPwSdQd~_L5@u{kJp%Eh!`jl6L{l zdzoc8ZyLd!USj~eWvM6O2(mCqBKtKj1>dbWVUptiVmIZpk4;A!U(uMN&Ch21#g&C0)vLUy^J$GXBrHgMUuHH^Zn|M`UJr-p6u*9F79cvwru{%F$sK(eTJJT#nsOq+U98poustto;1S8(mSscf-TDSj}lZv(~wN@CC8Bgtc7 z&4AGC!Suz=EcD%FvJPqA$^EqB=8jdCFNNfHs!HvORoF#z0=+-~z~i8t zoo_I?8Ub-|8ALa=^ja;UkTqeQ?OK9iX+~Lwo;D6e$*Qtq4ADWPI7S`}B4i8_2k&ev zB=D8;lCpf%SdS1`D!EFUx|t6BVvaxH!nA3}kY!_floYyX*KTNW*S!x-BFH*7XfA!J zWo{^EmW(p{-LTlDTI8uV7xDf4e$-B#KU9#*d%o{NSXwDwMCgfbLd-U}e)l4Tz4y23 zShgj-*)l4=LHOWj>|6wM2*SzT3SM|A};q?vDc+_ju`hH;LomTu5Nq zgj(z{se5`M7*Ars+^yJfmcuo?!M;PP=1Al#3sH2D#-ZOo#X-KdDX(f6DmRt^euV^L zV3|cA;PGnb7iY?bd*W)iZ|n&I5Szs}EN(?46~GAb9(v)Qxs#(kJrW`9a=H9GJn+?f z=#H=G+*%~I17Y{aZF08kN_tc`7jB}-ET?N`)YC7|q$k-8ji`AOn?UcZ%GI$VP+{W$`k0n=gYUdo)F6LQnV$XEMQnkVp&3tWm04B5w z3HU=FkyVDlL8quTwO%{51@bO>%cS5f%jZll@GPNAY7d+Cwp{iWoBt~ax6ov+|GF#a z`PajNhR{P@dipDYbS*RB`%L=QWljTfaF6$da^T#Iv523NLiWKq8^tBTyxREJA@t+O zo(Hctq_>TpU6P&Ogi|r-7t|j&Q0Zx9Bbae8^*)al72*GhL8wn0PE*90dD3|K?|98= zbC81LE-TZ9occ=Rsy365cf2#&>DK#=!GrE3?EsqbosYRFbl<3YGs#9XNk<)VMwiJ( zU$`?wO@*w_i6>W3bC$K+Ev;N@rnVRK2F2?&S@C5)(|P`6NiG4nNTPW88<9Xx7URhp zsRXShK+^%MB`zXlBq14o04}|$79+G_guhJTSNJy6B3Ec zrtE}6TYtWy4&?W7rw{{~Uop}iWHD6gyR)Lq@O@ThHjtl6YsvpU!Ci*VuSp&KgK(^N z9ObDu^Q-^U-j%>p)ph-IU7;kR6cWvYXpl5X5@|Apk|cBunaWIs21=z;)I%XONal#h z5Tz2LGKGpH2}x#gzqQY~mrGJT!~4AN_p@uAz4zK{ul3(+4`;aBIbyfxT$1-%r6Q)= zy~Hz{r~Q1Jq$6~d$2jYm8|TBWz_RIoVDEIptgZB~o)Hi|QZ~D?A^$;SFlEU+ z`IJ!_O)1YkMt@^@zCrR-@%}5D_H|R3dQRCS!{Y`Q^E`F9yjGg&HioKo=Wbc@$sJmi zyERUj$kmmen<#aemsH5LfBrGK1s6a2EEtjbRf=Dpxko-?4*a=CT8{j;RsIQ1qwc=l z)bQ0IVrt7%?tqJ4<0F>tbJ|zgQdumb=&-=?ehur3_+5NV8BZo;ChTbcL+-lO2c`G9 z0qH9@9p0zYsARZQ_j5Y+k#ll5%a?67t=bYnFZYCf-dXKj_b=F@_0IR(3CEvz&T ziYTvp=~wqku^Q>~%dgS4@cgeHlqFmb|hwBam;Qrj{MI;L>%uw(f>b zu4UAzcV9bLSDA(=q-f{*9X`L8>2&#;CjSbrKh|>W7-4HOGWPoJKR#!V73c& ze0(i2FvNf4_?Jsw7HkZ>`I_ySk+QvF@EVhYq_469;T+FQWbLL5tZw)u=?c-vMme|~IyUahK;l=T@ z+OlgLlLb^Q@455#WJRnx%_}s0YPoFnJ@)W&SNR5m8=q~3R9Z=+D-JBUmysNw!CRcx zF<0`eL+jKP_1p%DAEIaHM9=hiZ1icD=$@m8BIfezjPQs&mAO^VZ058(># zqMlp%EMZ%Vp=n4|%`TtcsXcWVXGgK_h5mWI_8yn|41BG1of@kIn3y-2?X|9D6!LY3~Imv4qv1-ZbttY&5^|v3|P$r&(9G1QfsY#=z9BI@&!Kc0=(D&=U* zj53`KD+BkQWpNYQsEOBAQD2+~~R*MZDYdL2g-PE~g_sjIN@^4rIwTjAK@8y5G zk2$%7y%csSx>0t!Y^Hd^MR~dQtE^9jfIw+B~JvM zJlOMR+DW~t5L?$(7MVZRZq@PzF}c(PlYEJ`byss@#rq|`7(Fg8M*TH zC6njX?+j~LHLr2iye6?lUqpAmH<>c_(`AM0DcOF9uD0$wH%sLk^-9x~xVyq657?iSwiRc;YfV z3RT(;N3_=#KN zSF-1{g!qPD^}QM9uQDS}Lo_)=zBbFxe@Dv;c7BChZ7=18Laxb&xXOPrKDgned+g=V zSuJtCH39`Mb`-o^sb0wB{X*5daD&wKxVfR5=Uz2)R9NA?G09tfzn8!M@_Lt+C}ra* z9=snF6*%He_`;4#M3L^KjVUH~=|&zdeX`uNaC1DbMjH3FE7D~>=w%+T3n2t8;j`ey1XrGpoVM$>z-ddJDR~Zf<>TQup+9-J=gt zotvZDCB7__D6g*)@e{I}wl`#p&&Ij(l~VKH%FTbfd4A;^F;5+BdAFzS&qVCqZaud2uKPS{VI`&M z*2V`XCoJn(Q)1lUm!?1I;j@N^(<~l6GrvE};%b0Ld%1`GMULo>2kT!aMSM}3>GefG z+c?$Zo%zzbtj^mJle~`2y2A9bQ95DywkN($8^fF~SCs@Nm{CRQ_DZ^6Hs3YU;%N8Y zV!4WSE7RxfxooEwu3F*qIX&RU4a)Um$y--nbU%PUOE7;JIQ;`?ZaoModMlYQwy9R>TLXvQ^QWG~Y?YT?MQ3A*h`GVRHv z_SBRf-~CdVHboiKk&`!RA8?HOx~%!${3}aRVwbmD*4B#Lyb&2eO1b0K&cgpuz~r7q z(EMGYk&z!$E~GT8zulMfWklTLSw=UNZctXa@^%TB-$|{V*~K3H<=u1(d7*~}Y8l>X z!4oJ)*YsR}`iYvpWu4d!POQ+Omt2;KgcFY^)RgT*wgESKP;y&CH z8M|id6FYC2Q3~}sYTMsjSQ2hjs;c>RXRcMp2k$fc9lD=pz0-M@c+s+bRpV*P&MAp+ zoF61BsXtayTS&dTq02b*?TuTZ0YTfH4)eDwHBYzk?Fw|v<t&XF5>3g zyE8*S^WVIC>&6Fdj^vuTYv#mR&S>`9uja8srND;s*38y8-=`b9yIPp@ZH#9(G+YbV zuZ~SVTy}P~Lv^v_0?JG6nohyuvgsX_-@aN{b)^Pnzm9*nQzyzIIBYw2`Hf{Ns}Ax> zU4NoN@$lf!bP}x02s!U27iqk=`Ff|EP^eb(wO8v*3RZT?a0E%Ki6p+*vsN?A*z4&l zxe;|OH7Wv=yyKOEYL`q4wQyJ2Qpzh4FQ}ql%2yCwt}?!q$NOF9zS2qF(Jd--v;@7Q z-skJz`Qy&l;L6s`YS}5(jv8vO4CE>GPisbAV$n$(*M6!;`bKVZ&6HY7yn_nA7It#i z6X(>0;-30?UZgf4<);kES;E9VDQCZg|;`l_hbE{~wb9qeH&ekiR zO&q>mqFxJ-!a5E*i;RBwtyJTAs>wC@!vNPNWwFd%6W5kdx5yylVp)@ZlJ!SMQQ?qSm z(ry;@^4s+J%D0PD7HZm@4lm>X^gbnyvwZHQ3XNj^i$=%FRg-FYOSFA09GX46U(7QJ z{n&c$dantqDkh6 zP2}Gd*K(mC?~;akdEG*rJI4xMp9tZ2RGn8mSw&DJG*n~9`@1?>8*V0etB<{PWlik< zV*ZZ{_sd_aAE6$5Iy5(|_PMiu#!O9}PWyGwUU9|6de-jJpQyi5|KRmD(@^=6O`BsZ z7L!Y=wSrRQb3fi$cfOw0D_@k)zzU+HmE=q_DPwwrs8Gw&iD- zIZNh_f9o*r&N9ab1|cB_@9*OlpB!A4J>9P*pTj0!X>H|-c~ZeB`t}DKSp|xzoG@EHCc%_@-2kee!J9A{~XJseklbSZ3<> zRR2w)>Ydzz=*aVGj3byppD*s}PK>}2-^_v2!t8|Dbq?6V-4-X*BLZ#H{eg1Np~;Ea`W0Um*32Mb-Y8kUK$o=L3L80~Xn`7?e&{qTs} z26m<7=8L83u?L#BkUXBmE=Qkr^%!NbxdpgG+EE_FazrjA!X{2b~jl8ncM{k(w z7#WnV*`hVUKX!c7g2mA#fzg{eJxnc)jPzv>3XHFP^;miA2Fsmk^2bhj8OFLdF5ATE zQz!BVyjFrQjLq4YvXmrHVG=$vz*u(TO&i@P?hGy8v9Dh~3OvK&wzHPkF+{y4!ZGkt zmRrPJuAPVdvy_tW>2i(UB4fYwz?Dkfgbi+-E%p-wo0_*SJEhUGKwhFIRsN5M9Zc%% zPu0bzhnjB-a@!%zmy-WN_qspFmI7Z#vkZHiqY-)Ho0L-*s2rJ172Z@>(|9-Y*!;yK zeI6Z?;~%eKqEH+}s#wu7=23yjw+-FWo-6LN9IY&zrWRuxXj_*Qvf-HH1@V`$YF^hy zkMHR^sHn89@%tP%3IyN#nLpFj$GHhL$FaR_EA9I z80RgQ4j5>C_*%@bla|urYC0#oWrUgAGm9+;b_#qFiuLSq5~#I$MQvvmsQMh!W+Yh_ zQ1GbdN@jdMl&toHrIn>=Q| zT^ykelJ{4se|=-M^5(0am0z^i?yybrZZw`3sbr!#asK$CqTq3@CRL3WJx|L^HfuLu zy0h+L+>}mrk>K0gC;1gh=8w$rNO_TN6wDnwqjQOGpnCr9@Z*_A#*5WX2E~W8ZKx}X zy|6Cl?wi$@f@)t0O34IVvleq?KCxPNc8E^Ux8;KG3!-PAIlcC7T);MitzK8cRcteJ zLM<#R0^~P&Q=hdRd`DejzqZ6ixy>Y?$@t<4qe~}D&TrV`m$hfS?E)3`xNR-5TwTj` zls*bb-MZ;Gru3EkG`+~v*7>E|9;eg>@8l1e%zs@nI)>bG(@oEPonGK0-9YIhHy51$ zc;G1mT6({tr9bBiU^(}UIZ zyt3@mW?dP*Gm3fK?SL=qrA1QxG$ucGrDnOSEvuik^nS}eDYg-Bb?wJ(kXaVOToB0b zALlE0=!kvuLHoMoxlijh+z-BU$u`N;B)&<;e`3-uR?}nQWu+%3X?fa-#F)>RT72b^ zna74#8-fnMZ+}dA9Dg)%<5|OnmZFDU7YJ2Pd9$+W(xatcL!>X-zRBw`>GX9!u*K74 zuI0hNxymDtujl(@m3jH_rt`Yo^|SJvR>B`QmpqDAe5b}!n>jJqamgt8v;|qm@{1M} z?wj~&sn-%&&98yk?+$+Z*7aDN`Sp?ek5{slur53%^LWW|3BI+|Bin*y9!n_11-i8u z-b?XnyB@i7?P@9GqVr3GW<8T~pZtI~GQ%X#V`8wt*9Q3=`5s>q7b>nOye84IUBu>; zMjp4ntD&{z?n9Fb4?Af^ZS~Dhac`KBm9?A0U5dYUi~>n!AOC~K2b1T7oo+aM>MT|g z#{a?FsExTk>$cLFZ+4Eq*pt)qWprkQP>Y=%7R&FMnpS$8 z<;bW{*GH+uUlB{=Yai+4BBYKr$?mjQxKVL$^2_lF5i4spi^bNi@>4#1u30Kqx`(+j z_)JgE{zMhE?S{dj%h&qHi92dsdUAV-d~)mz#|fn^b8PEO{EqYPD!uS2-iX}Msd(*c zm-pKt8jAKQ|Du8rK8i%(Ts0>D3-dFg zN4I1>UPtj-oVxT$SMHbg6B4_<98(V0F4EJ67b4VtEdK0VsJ``$!ohD_`0KRxTy>TS z=*aENN)4Tna=~exk`@t!=a*ov{PBjIZZtQ`(R!nl*(Pc>RV2iis*qYL1Dak zqjnzeW-;48^|n~u`HOk4Pdgod)vn^Dq;^o+kIhtUp3B21HHnq^5jrwzcT{b@&283; z^WFFQL`>@{Pp1nt>a}gnw_9e`vp#>8LTux9pz<+Iycz3f(B z+PRjzLN$_yzhIZ0GLlpC^Vt$d*A?Mfja64J7R;xy-eFsg3`fff!K%#t&1;KqTI!PLP1l(m zxkxu`L)0F*CqC@5J&n*u-{L-#|McxFi(-+p;^V&dd|wt`wDlb0^` z_k7GWHfr6NU>crS>}V4&TDx(QbY9Af1uL$eai>1w?oyh5Js`c?_(8*#c`EN}KFC%! z9cuM)GlB}4s!Mk^rt42FHd$wuI_=@{xZ#y5ml_%D7-ahwL`BN<)jd0Yl zY8m68E1k3Yg0Z7t*uwQaOP{<*N{~pcO?e(^ekXTVs$xRN@><^7D_UX6<~MB<*P87U ziOs36`ZlY6Ur~$SM#E#}UWu7^I&+wbQsr*QDtHnAd!QR{X%rx|3w>}LD z-aeuG>cRZ^%XzeCxOH#jyQjG`;Q0p2uo{bypwv+l)b9rr@$`g^>eM-Y^Vvs5=k3mN z(zU9wI-Upq& zdue(7qEhv(rK;z~8_X0raCYA9*_svac87XDZVrtWH#uvjewv~w9qQE@GI51Ss)lFx zye-Q`HJ;n=J12Q0I-2k0KJ~Nr=B>DPRO@EYBz8;fvtQR_Uq9Q$TNoOpb>mpYSc9$O zHYAA0KG7SmEqANZce|Ob>a;d5iDQKg#wPDWORVZ*E<|vBa0m;3YOGy$u#nX)sjSs~ znvmT!vzS|y7e?aj)#-ZM6m^~!`<=X->f-pdEV(tVOH*94fY1KZd{2`gt!oP(w~sxL z=J5RUk&0g~deWJ@2{r$}epak`*JDxbp1P7Fe@gOTe;t&$h7*w<%E*tF5F2QjV^l za(|}V4nbop9Nf}ZjJ>VDgL)&>9-JFl= z*)CkU%Ww@#?TQuS#Kt}odeItn>GG}#%kGPrxltdt3H5Z`_)zx7X#LFijmG7Zn*x&8 z>U14vOPQ8QRh&>U@3PC5_SaSwE2Fz@f{u@~opx2W*3?#@>x1If2hUeOx6rtHrrTU@ z?9;c;wPv=>>Uh3vYC`!Ws_gZNNj(>{6sheW5%Qf6{{JX@kf|$7) z8MWJNO!OoId0!rK%sb2P5gsaWyQwfUtC;=e=QIbyTSnT(MdhKI^S8IT_T-&OJeW{) zetCJwn}-`zsS8a^9)^#9CuK4s+*Qg*Y0A1SRmMynS4c0DT%A9hFXby)#gv4wMKbcap98-&Rp4W~Ey2_^97Hl*#4RC&SuFB*5z46CCso3bnhSpBp{~>P7zOAx)G1Yl2JC9y$ zakrVJ@hSXFSgPAA;mR1&%X(SU*2JA3dQ4t^G6=6Q&K1b48726o-7I`^chR9&$~>WO z(o@BcFc+1_B*vG>1us?9f0P}+(%f^r<;F1Pl_ZITh|krp&YNGCdO!1>W~QcKTeP~> zw7b&j8?&34Szh8^UgB3S$~wJlO_OC!yJ7gNTk&yfLWPl$ zu-8-Ime4)&k#Kjn;`5y@hKtI!%dGHMF|_xNnY{9hWXKDx?(hj_J8#sBG<&|(xm>k= zVo}+`skb;4@3o<3@Yj`y*4$??_drM8_!meDyWIP+;>S+`sFT z_QKQl@3x4%TNQn^r*gW5PW7qve-w`AxEsdi)LL=&$qBc`8Y|0m-v{nVI9d0_{FY$M zww%3@>Y0+#ise^3p9n0oGp(`~n{oG{PJ{2M%ayhY>}@r^i$2*=UU1AfYf&Z4{Y<98 zQ`@+1a?{zXOQ@;&TOP=FIWKp8w+Y@5KOFuCJiv+7koUp6{YltI@@&BC!i!;V;oA;~ zPMSTl@sA`!FItB zeP98@uHlv;%O(Z~Rv-+!iA$k06E+g6t;T{mk&O`;wObnEslphx8)6jbF-S3?JgP;d zenv^!cPu8NBx(}4L6{_rQh0hb6Hx>4cae92{~$oxh1mscA`h@Lhu|^Rcm**qmPTPX zlA&ox7_|_YL<$M41YZavHO>RxB8;_hI>cn=f!}4IV%y;B3j`1lz>+Y1j2)LfL;}-n zM^F)4Dv1l@!qP~PVWX1Rz#fSS?6IxJCVzpBMgC+%Wr){?VO&C3Bj+Tf4*NsXdgbUcE-o&(ESBwqiHm1r z+1XSqCMM=PIdO4uT&}#l97Av%?;X# zz=UzbxcgqqLzcGqDXn;l$klPu{1Op?DVyQge8D=jz%@Gf?)ypi5O2}A)LaH zkTo^dHxahB5T@)lwie#3Yh_Kb6t;$)G!$VgYX?&bh6Qn=)=wcSVWId*6y=B>LM=ll zdwR>rw3Z!#mMs7&ddrl(60qNC(_3cLCX91nn~+r|TATcFOhlUqG$Hu79lT8xduyUe zRvcR>`WEK9g-t286jKg0BV$W?THeCO(%OhtAa86yPa`j&*)|2Y$N@(ZhQ=`yhSFp_ zjT%mPXA52q2fW|!Kuq@z^AEhkeEIjhvx_r|w2Q@sYoK?~OkpJvJ&xuSy~mMR47RWV1q@y441N5gZ{Wf~myfNRSM{|256M=p;q<@Sa zu0HALVW5*}X##)e5AmZJjAq@yu^Dpfckv5z<&FCuKT^;3C-5`%!(ZGFzXIr_`yXA! zp`k{{e+UhFxU7Q}hV4A*bihf>i}X6#2ume#LmhN^#D+1G(E=__hAS^v&4}xTf#=VG z*8##)S<7aX&@iNOsup>7wTJCSa<$_q%-CM z|CnXKBsSu{3mjQUC@qUE$97=Km?hj~7{XB(ZZ(84d1#d>-nt#wW=QMfNaZpg^qI zugMB5OSwoKsND*{?d@aKj{iU(W0>Ux)Mq3>iGl-6K0&mkVJ*bvJ~*p>3~{0?heZzg z4$V&z)|QH-hQt4R5A?uQJM*Z%lLWoNXehjO4QT36GUB@B$%cu{x?O?>(PI@1gF7yK zsO*9m)ieS^tJZNKG_tP%p#_OJtzg&#NW-kfs({ewYXm~4)NeqXKi zy$G|kKr-WjHXG|(T3A^afa+c=80cONWp6#+&qhAL(}oM?%=>Vkgr`5U-W7v1nkK?P z>wuz^iRT4~$A-Cc8A2n`1sq0Jo{d@*I138!7S3ehgjT`Q3|{9#OgyAP#XJCqe1;_0 za0!HV0*x~b=P+Xen3|%p@;I=Z04+gQmEdw2S^`TI;bT;P6fT7z@$rGUKMF1w2LI8WCLX~NlK2f|T3H&_m~|avhU+UfHa2YZ=+W5N zv12h_US4d{q)FJ+sZ+5zbLL>`>gxDS?3y)euw~1ZVJ-)#n6fezF2f5kYF###S@;<% z{O|!gdovsip_^Z{WTU(3Y$A(ph{b^?4m`NY#l)erkO6);c%0~Ih( z0Rt5<;KKFDTSc6N4{o0}W{;OXhpr}zVzqM{-UJw$rC2ZdSbKXr*4RbGu3otU^VkKvi{=1|Kp&n%dQld|!(rG1!yXv+z(4PSZ~qnH$L)lV zZvXpX2oOUQ4T-zt`_e&J-wO@O83M!*MO11@3H-+ocp7C;0&%Gb4UUM$LnSyL7eOhS zB+eZaRxfi15JME<0QzjwvIqrkxmP=Z1hIdN56XrJLx32f2sejoMb1E>*MCHoIMNFl zc|=u)l79wYf0O@QZU`q0QS{H@8K`*(5JMCV)bgwO@A~pP#z0L&fWV9JDM_1dXpF<~ zVa(yfj?O?ah!BL!K^kY`JUWL#gf??J_Z8|Ptx=B7$hM{%h8!X^B-OPzZDPT z`)i&b%76dm*H?e7;ls6uJuvKnK|BCYbZB9a!he-TgXM{N{viCzkDuuHeuNHxMD{Ow zun*s$9>lPY4tSu~F(^WKK>xEaXuaQI_Td}cgMbf(L3^3^r-ptm@iP^eDgn(ir_E`f|UWN~hsd z9RlB643opK^uYiQjt_C^fiX?z{dx@WaQ{IE4?g%jVRXvP#pL7w-yjIVI`nOC|Kf%b zuMYu3vXA+TDP)p{@5kd0^PDS(AmXwE7607&&m{)x?9JmAe~Ql&lbenKL_)f^GLiVX z^`A=&P}!TM!6W+j$NuwV^xwcP{<-y^OY{O7kf7nimzSZ}7kv4nIk5jM`MLF^wU`bsoxrE+2{ZKvQy2%=i?5#p8LXpu z3=X7r+eY`;rjtPPtO7P7yjU_6>pzzm1Z^KYfP`Ni{BZE$UL`JJ z=rfpMk@>mxpGypd53{y*pyBKF;rIPao5KGBzI4pm3wK}=Lja@oeXsx>%q8fYZ0W;0p~Q^Vjj={-ZfC8Lr~dK-`FLBcS#2 zck2s4qyg+_y)V<3>T@K$Nk5MnyBDNsClDGKY$H9;8NKir`gc%#gIZ>QI%xSIOa^?Y zly>9O+nY3e^wCG}-G2T1FW{rn0MXsIk?>z1JlgdEt#w4Zf9{>1OAPcNgZpqd&~F?G z2NHMVaKlUBgQXAsgMjWp7{Y%VAMA5O0Ey{AfJ6>VPbaV;fDGv969jpOn5?u_g|@cf zQyF*NU-KW`cT}pfvT}Mlti;GK_^wchAdAC85Pyyj0VTj9ka!wLk2FHa{b?ZNsElr4 z#0UPthamLr1GL6~_po&O@Pqhg{_91DFVX0L4EFjjmuCKl5nW&)J^~}^UIO6z_t*m< zym#sFkpCF#G4^k-LF7Hg@HgXw4h4V^-a{bVCntx15%c5c_!zPErh6gN-P2n#FhLh! z^h0m|qFta==z1*qUNV3KgbL|%;ju=a1N(O`Z2|1HKG0ZizE^^7p85g;9EkrfdIhO; z0Y-fEbrz-v5=8hiXbx1uu<7Wz3qAZcJ_6bI_^5yh(4hz?I>MpxAx{DX6XZWUn7|(z zA^*|u-+qJ-0MO@U-%$}XOU-qgb#Hu&51}10^NW878tM&exsc5BxYd zJmejQ-b6U*{u&tfnWy6!82`Y3$b-mV4mbo%(FCAv27;?-^xO(zra!$xSZRT#oQ`6k zt-gG(M6db2vi_+)0lE=92G?L-)^HzUjk4fB75T8Ud?!ON`UD8O zH0#}%Ecgz?ya+gG-YTF`NJEE4-*iC;Sa)}KZ$-KZ`eHIfOc%w?qqzZrzBUs{w9r84 z!^b#-ySrs&!GYDV%z-0OXJeS+y*^hVp5SEohw$}cCN%!mkuZ-h%YADz;~F?9KCmh) zD+~Us?yiROEMPz|GLiumk%lAk9tx18IqhyFi2R3_5CH!IJ^~hw4-TlSaSmu?@Lz8SBPUgZ1HpYXd;pa0Kdc+8 z2GG^j)wug0Q%yMV&%h(h6QhqfchKMgKEi{H_~-xu9>O4toQC@k!RxN>>Vh0##vuVf zH2x+7To6MJ{PXyRsyPTgkP!Z}@cMP%pfLO4BOHiK z5@zZ62rps?AKtfk9wEhBg2exv_xca7U%=N3u-7se$3YQJ1U~{OKoOtuKg!{_P$^D*l?h3j3I^N#?J*SmAUQyu(GRrd z6P6Ja1fdrXBxsn30;Hb?ie5l)P(fc9V6U&>2Pp=5WRS2x1A#|07<3jL1TM%Z4QbQ_ z+JCwjp%9hP0)ss|Ysi>E9x2BIQcg?K7(dP-^h^`~<1!dGi}*{MTs*{>vc zu@NM?*O6u}k3+jJDLotOR*QvVcjweF>d3p5e(kOQBa$O9U6_axW&DM!*6?CgOZ?TW zjPk#d=Ej(C`$!$a@hf$Z4El-!3bMFmWE-_!7*mH=yHWtluLgd2%Obt~ziOWil&_^3 z7=dj81ZMCLy=c|}TMsx4;FYwNIL8{iV*#8WhuP46)T?N`{Hpz>AlnY_@x;TgeWK&R zx}SZbgN6Hl?-L#9b${?W%*F?}Cx}mUFu{8{(Lf#zga#ENH1Uv=QT$JTqGK<{|78-` zK^vaX>mAW+5~&AVh}TCVCcMUv@iQJs5HSAMXFMdKG5_PA@rY7LKu+o(e)BUPKh{Ad z(_Wp%aN= zon><~hu44TYZ){gApG0wKU&t%xJKg-T~VO(2n!He>d@Fl*AM93&FG!aXfB}lHlq&+ zptlI4HyES$Hp9w~@c^MYgWju*Ufhq~Ts#p74SRkd0U)%j!Endl-7EyLFwhjBsX)_! zrUT6Ynh7)uXg1IsAlO2Qi2%(55(N?inhykD2%;{8co7hKo9<#D2_W>b4M`x_P>6qS zXgS0yfK~!Y0j&a(23ie-`e6-_ED$;;%K^y)tpid3S`V}V2>#dz+XS>3ND&BjX2T2S zF$|qXRe`nusR5}2X#i~n+6JTvv>iwbXa|rs5W4ix0onzG+JJ&SEo}vHH{=nYUWUql zB_MelsBa5o2V@VV2ZZVx(&B-7hU$N$5B2}=;uvUSIRD@40Ss&9L~{?#U7a+~ccw5w z+2Ot6WO&2)T3vHvim9-og{di83f96UsySScQsB!7=tFK65Szj|4jAa_c{uzpdSIye zKfM0`XV!nT=F`{zfh)!DoC}6p|M!56fx1zCsQw>b{|EEf|1Ta||Iu|9NbBSKQiy#q2 zY%wtUQJeQ-U1a*e*$WAJ9+jK>v06(vj7sGK1&~An}!kJ^i)iOf&k2ePK z^wWXrGt#f=_o7Z+u+L<)(E{cxV{kzkw26Zg8_lc%a-0}bqawsy7+WLq z6WZj#0trrx+*l1G2YsV{Ht=8rYU2Q1z(saO;q}n25VR;D`80@QmG9}_I$H)S(S7`9v(!;c9R*nGJI|CqHt zUTy_42Kcs2C5R0`MjvE$fDThg@5Q%FT0`Cnbm+n9$_kFUxDGw&mxZt>ErtysOJK8w z7@XwHKm!U~cspK`6EfT9flG{FaJV6%xTY$8#B zQ=$yc*#a$90*)FcD2!o&oahBzXk!fo=qeIyd_g%f^d%YU!*0PI)S6J>(Obhz>y^IN zG%wmSL~GEF!@*h;#e5c9J;I$0wPpjdk1@6;gcFSz1zlT;u&%IzjIy$(@LCzz`9dH@ zTZACc5ThIk5R(8g>}A9eHvo^0c*J*zM=u`=G1?nB7~)12uCZz3_l-t~PlNvch_7&J z07n_N?GQT|^kAgzhV8e)Fs`iNs0$+u{kVlLjdnxc8q&h>p?fsCtniU440ZK^3vYdc z5;f>2qSs~$qjpaM?Wl(#(ArJpSYQ(rAjVt0m(FX!v#Y43kE_eoQbu32| zY45l+PSk2H&_A%%3BXwka|>PQncyw8gEVTZFw7ka98n2suMwVG11&@wlXv6u(E^{V zx_FBvVE&<*i#)R%WRUL&FQGY#=CU5tL9$3|pRf3Yk$=}C2}yUvZ*~77K%%(Atdm1iUesgz9kJY(fm+= zn47kmk&xd<_xb%05{Hv0tZ;1SNv8u&VqT=z$wpWzi5u#m6Ac^2Oh%icq{$>0!(3P+ zt1#r~SAN7tu7Lp`*G3<1M<4i(iHQM*_3;@vg`~T2=tH2mKB_i8O=Au^mmK2J)@D?Kr z*!+n22#cbcJb@AJH|b*>#h?PuLo{eyKV~G336&#kC=84z16ZUBVOBFXqgV+mQtX6P zEzESyaZGC|2D&z;*1~HkR>p?r_;y%j3p