From e106ef96ee6e32c0b3494696fa65e6a74c464cc9 Mon Sep 17 00:00:00 2001 From: Yegor Kozlov Date: Sat, 11 Dec 2010 13:09:12 +0000 Subject: [PATCH] added a unit test for not reproducible bug #49156 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1044647 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/poi/xssf/usermodel/TestXSSFBugs.java | 14 ++++++++++++++ test-data/spreadsheet/49156.xlsx | Bin 0 -> 25064 bytes 2 files changed, 14 insertions(+) create mode 100644 test-data/spreadsheet/49156.xlsx diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java index 40cb33fae3..3d9d69297e 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java @@ -588,4 +588,18 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues { assertEquals("A9", cc.getCTCalcChain().getCArray(2).getR()); } + + public void test49156() throws Exception { + Workbook wb = XSSFTestDataSamples.openSampleWorkbook("49156.xlsx"); + FormulaEvaluator formulaEvaluator = wb.getCreationHelper().createFormulaEvaluator(); + + Sheet sheet = wb.getSheetAt(0); + for(Row row : sheet){ + for(Cell cell : row){ + if(cell.getCellType() == Cell.CELL_TYPE_FORMULA){ + formulaEvaluator.evaluateInCell(cell); // caused NPE on some cells + } + } + } + } } diff --git a/test-data/spreadsheet/49156.xlsx b/test-data/spreadsheet/49156.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..ca41dc6bb3422670c147160a8058712cc63f3f7e GIT binary patch literal 25064 zcmeFYgO?^>lPz3bwr$%syKKA5wr$(CZM&+=w%KLdyw$(=ojY^CnZMwEH&?D)D_3Sb zCt{x+J0ef!BPR(2j0^w@01f~EKmY)V^afY*0|0;?6aWATVC{#dkd3vYk+q|alAEoO zgEp18rjeWLp$FWp& z5oI9ua270~My%0}Ozv8&0H{mX^d{F5f8$NbH|v6^@cI@c4T(}Ab`6oh304mvJ}+82 zPZqgAXi+K-=|;TpFz@yk?&=BUc#vGJ)$LY)(J3xU1?n~;hXvlsmPCt5Y%^>4-`@5k zItCH=%dG$sTa?4IFbt`Rg<%Q}q1~C7bDDz;MueV-tLg7x^&>d}d_2_W7f(t{K1 zd8B4<*bLNVhp~BVSuyNyT5(?KMLs=~Ig07+YfCbvpMMa1;XVQLH52-~OFNEH`*=}( z4dBk#P3PVtd~Szs{+e6_8r|D;>v{f8xvwuE0J;AoW1E!ei5|XbDD{063SjDoj=hnk z10C((BYyta|I5_>Yce!4ep;rV9(w3XtW#+J?bKQfJg=xjO00uG3AdN{60a$$fSCX3 zF%ZaK!eD*&@o1V)bL;ZZObHKLpH8N~om`-fN#A4H+_fr41uj>g(8LUR7&97MPjz$4 zQpdG0F++d(t+YNO0<%5wok*VCXzoJiEG^XK*$)XY}#>I46!{`bBA|K2L&$IS=mp@pA< zJ_BaE?HIk}g6)iF6;iD-ynSsG*`@Ts#=Z8hEEG6Ldtze$Zb`K5_fWaC`ny2FZ{m>s@9u_Z?G@x&gGKx(Qw5h4+3GOv1)Ui%u zk(Lvpvc_Iug%Z1yc}|Izh}q0u@jo_zZkc55$Wfk!+@SK&UsK|Bi4;<-q>Ka%2#gKyFBmg2kTLYTj%c0a;!2$icq}S` zr{m^)!V>jpT_aAmRt7Umo;8}{hc-IF17`u?4D5PZ-D`&zMV+CH5p*k<#@V7h$Ivu4`0#OE}_SRuAf2z{oLhp4lJSKI`=H zD5boNAw|psK2kiIKB?Ri4VAg7?oCC)+{#SDDbN$vPD)33o9%@=VWwq|t zYMgc@E5&=nMDBNHp7c2b;rTNt_Afnrqj>o#bQIwx=oE&`^;v8R0IwS$8<=h`9obo8 z0_U|33`FQJki;p@KC(!4n(T8pT)KfyZ344UYRrz|r%kpr&6y?J6 z*cJPL5`XRjwd^I&1OJ%$FVfYf`!8C;Erp0`)GeM$e$__!tQ^pGgzbP2fD*cXx_W$7 zyKA-`IWDoX{Ce2I3qs%;`gke6>}szT*9;iMlRI#GMEai)8LLoi=>A56_!|+Te<5OM zujld?jDHK{zfT$dw?GEQbbJc~yzm?Ur+^e*R2Ct1Uwj6g+g^!P4xkMP|A#{w3lV|N=??CqGcU*hp9=j*h`%N`m(&(5OF>vzWf_p-pj&=j}+ z9rnzBhW|IE9ZZdk9RCA=e@^~0{K~jV^Y3Endlk?fFx%xk*N+x$PF++xZv85d!<%<;X_37^h8i74-PrykXkRguSF)eGM5t@|i>k^bXqqvRjfDNb} zMDZdZs2&bWZrGtZuB8LH25_jmOF9h;M4l2-rkhdD*8zYlc($ep99k(CkM zKgWLnIaimpS!YG=fm?CGceJr0YsLa|3SX(qsFKDSunxgBOG{Q$%;%pI_rhA+^Zn7^ zu9xzozbb;#5Fp-<%~0i~@tmr$ z=$%6nr$2JS{79uUQ9!w}mzV{oj8Y&RL)F)Tcn!RniQy7M(32ra*M2R&caAMBLT*W+ zF*NC0>1l7j&pDm=-#AWQBlnS;Xq+u;syf@hg7z*jRxh79c{F8a|IpnAldhr`PJj3m zsY;lo_C4QYys&PPuj+UP{CFTq)69}7nUyfA`w26`yOeT`wP@_+G1-R|JII!N{V?U+ zvhH{dYIrkA;`t>}q3&`6ip+>9n=-SO_u(zU6C%aFP7`DU;8~FV8;v|Pn7f@h0wQLy zTrJ|-i}n>@hCdi3DlVPO(BCU`mo{3&Uw;z722m@uPN-W8bFMS?9zMbX&e!QY)dIJe{ zQ98ZhW{A=%kaN-$xFI?G`gwV6#x@|Y5R5a!POZ-us|YS1`PfDoaAn6PbkFttW0-2w zD+O_Qvjokbi`n+425@M08pMSp`GU+xlg z-|vn9lN(+?HJvTjt;J0jr)7_`v&(WVUW+DeWVO<+cDGuux|8^VBpVZKTfx;U8=Fj!CoUTP)eK_C-cEZC-$8whg-eA=D-o;wCMN zY1|s;Eyo};s?(LQLE~$DjMzn(bB+PHd5W~uYK6XcB6pW2Ss<%$rBe% zO-o7^F)P1r!Lo#jduuoMNNQUdG)(@ZMso9654CqQwk8nfO)+8B@a1<#l@tRTgt@Jv z-bHs|ts)pA!6IyO9t;dqQZPUS3mMgy2GE4NJmiX)4-CZ;8$S9c3q@~qwZ*8Rpr^8< zv)<43sqW&U#A#%N09(&M5ld27`c|C~%44QtL~AlB;TbyHq~a>8;*H%*QtcbS@tt#a zWAV^=`wB(oaYHCJx6E!NzBgQ=Qu@fRqCBJ`mzCgpo?z-5p#gNq+{*7hJG zoI2~cXq5YMLGiJ#UO%D&%5dOmY;mCG;gxK2EI*;_OTX4L8FXx1e&|FSUr?T41a65Q8GAh9zCcEVTtCI5%%%}&s!RLC2k38k+ER2up> zX#Q)w6?ZIctg|g}R02+8U!l1Ad~sDmvqrPJj%`WC9gm(R&8qslmyE&DWZL-D=wJl1 zv$@{zlCxz|SziO0B62Y4s=yHYkmn+$x9e`f+s-jg>uwGMi8Otm35j3c19mF6?|uvR zSy6Ha~6hb+EgAFu%p&-rOCL?TOpbnEgS!{Y`c)i_I~rr>#xB2cCy? zJwT?4wq8>}_X~VwZjZ?3z~rsR5|BCy?Dx8HQtaC()bNAOQAW37Gf5zk4kXz z0>JS7jy;mC0AJ(Tr90G!rwP@fn;2fa7`hhYff=7BPLP#IbaEW}=N(2~f-}`(>@gh? z1(o(tW<6xTEQM>^!91Sk$dmwj^5VW$p~dsgss05?SWj5Bo=KvOPp6I$MObbt#D{eK z9%pp-s_WDIJlZ=_vmH7$aCkz>a-hoT_`aNH4ys1Paqgl7fv~ zn}WH{b&PtaI=~6V%Mb=S+1vRk;e85(sSnb|MtF{RXYiMaUHkymiW=~iG`1UorA#> zJ196gSPNa2MSt=r6gf5gYgmn!oA5&uoeJGg>1O2J830X?%g3%l`C13jE*cV86g zl->!39iK_cU)iGyC~Pgi%gexOQL8)$VbM{+_kn!{1GZ|b^UL`{a%=Z1q((V2wKFrR zFLbfTXD1Z&Gh`1w&>LMG_@MbhdCzN%R`;ay20JwK>*yle2Q%d&lLtvBfNv)&v&NnI z&mn%%XkyX5?f$g*GrL*e=?{EX=?|i41gYxwI-*(A|K`%MII*o&(%_t09n~OPBhYDn zl|tVdrsDlLyBMT;9)9D4I5CKhrNxZHy+QNj7{vcD@H4+Pimgu-fZBHAM^O(3k>Ly3 zZ)_G@YN1Pt2|#E`&M~PMZzQr$?$OIR-~JN~IMA9eyc7ioOFN`e4v6!Y=nGw@(`jg& z+_Sz--fY;3B2-7G5lv3jFBY6b21IR-aDoIpL2_1g-uyJ3NPToUx|&w^xQ|0jNA=Yz z6dP5{^X7}=?WmT|UMy(bNP;U7BwUSilE`+#3y_vg!K;1 z{jf|j`5v~Ta*i@($grS^R>qSsi*qy(=z;cNwfkI3pp|8=x<`8CxCqP<6YW&;cD}p1 zPRf7S|4{A|BnFd@nomvJ75y3vFi3!OmE8a$%)*p@KrCVSbC@J?@n^v%$ueCXZ!sp9 z85QUNILc7oOG?NLvLy30)OVj3@YhkUNzGO>XjykLd>OD3N?9OI+m=J+@X$(Ci?wxR zIGK?(dms@o)?==^y5I0=MouBlwIP+L(^?~n(9jmXHSqZpoJ99d=FcdlLe0V>LdJ;C zQ2XotdPLL{+q>w61jS&zVp*YsDPbejgIb3nzgu>U4k@Rx)l!x!s)j))jw{@tn|GU= z3EM|8Z>v{24sgcFTp_GXoyDnaSc zQ79Ox?Nh4AEhgAgotHL@@FE1-L!NeL_AwVBX1&~oW$;@*<+Igb_U|GkS>wE_vmrj- zbAPmZJ|+e-mC9kH)ql)r;RvLZ;0l%s7bjKZC`7qVZXb+ONx@P-b12{`Rf_O|HI0Qy zWA)g#9V`KRCcwB(6yQYvf&OzRuS|32sb^{YQE0K!gyeuLQo-{f|;id_w z;uh|gWJyzXx={3nB$6nhh!yKjBg=@nyJMoFl*l5`b{9PdEQ8D@S=LV$5KMZ>9!ILr zKtGjQJP`&EAeuXmd8PQ$18}#Yp=g|`)M7U=e2ji)pljcWV7*B9FN0ak&2Bxv2bYtc zLy>m^=yX7ZDOexxMaK_UUBAZNK~p(ZYvR+sxlbmJEQii&(U5C;EY7fUL{kdIJjBvQ z6m3Dd0PCuBYM6bB#6jsVjnE}98*=2bwhR@h<18c~TLM(hHclle{q&|;`{5#O-4_#}T%cT+ z2o9P!5q5v}2s-1Y7ZXSnQt~cx zMF38f)DeRYo5U22ZV1Mxh5R)2Q3$=`1SH(ZgE6t~kawEGf}zC*bhuqemlhM!ou#`6 zkU&U>qPT#r_28Mz-g}HY%FCa ziqHn+3eAUX>j5>NlXo3N5Ao-L+!pl+gW#S*|yBt zhHG#s_@n#b+0nJm?c>Jxe#BRvLl+$Iq4(g~;=aLKvkmv9b`|2&@iOkC<+FY1z0Oy; z9P-1}b*l%D7aNvN)x_j&J>+5D{LA{S-aDA+X?=746rks_JM%)v`D`(Z=KkK56*ub8 zM7Cn`4xUHr;xjVl;^X7cS=-X4hqo#R?%1%!TMH-m^DSg@+}qW`YWmua&DXfnN1I2W ziZ3nPcqZ}T?(}Z2y*_EIW!eQxlU9dk%Uc-lDun3TR?TawC1!n7_s+BB)5{BNEHcD| zZP{f1_3+gi=!h*J#`)~+sUL1tS>33hjG>Qs5pMnJ!P=o^gS$q6W(Gs% z*6gFTn@8=dzmJXl*892swf>i{Opn(_6$}RKr%i{~t7C_IpmXN5zm5+}mFrJa_q{vk zw+s#|s702j70sjK@QU^R!*xy_K7S`(4566Mnkts}w{qWYuW>26Wr;hRWk6(T;x5hY znr>cP{!Aa6OIWz8kiFTCJ4;6n29|;VpKWiOr3^Yau!1!%c7RKpmY5x=Pd?YRRCX-b zY?Yq%ob6dS4@h&m|qgDViM+!2d< zP7Yn`-gv#G0b46Ql@sVw)%a6j#Yd$0aLxf&lHg^U2H9BOSgsabpbME3-^G#9#6yQf z(JVnYf*w7h&?8`|0%-iumMD4GrOtI<9mvtkldqP~lP{AmlCP34kgt#@i!~(`dkrwg zgqoM)icwoc#XP`7!A!zb#$3c?!EC~G0t_=2Bo3Z*)Hc0-`;*B<59$UTj-JR+sxLR3 z8zz7iKnv;xo%{oyhQ)vM&UoZMRiW4F8Wvphso6wV>f%)bgdtU%83Q+d*dEeEcY+KHT(FP6@ik}-z}d|ntkdp%B4pCf-t`pi&2{ejF#8)QSL zE1?RmU~`%J-44w%f%AtIB`{F`*lb8&$&dtDh>F!b6T!oV<&^mp0!NU@$=}^w*+T?AxiCWs&~# zjid4)AvD~iz(Y%A4yvUR(t$!d5o*~A`4V~A<4}D8szQBIzX%kj6v61~D1jkS$U))| zT?I%4e~t7HUfSq%5T*)f6)q~piVG2g533Z&6lBlD!9!{gpfI(aW*|ewYb#Kbx&;IK zZ?JUQhHCyYS29yV+O>~jf&|0Kij^;^au*auhSDHF#)=@$2Hm7!FvbalI2Me{1P5+c zjf8)6Il?h4 zCSW>|aWIzz)gP>2Ez;C%&TO9L(d{|&4c%@#UD)vkB4v3{D|#1}cJP-#wiB}}y#|7KkNMwIht>8ZywR+Vun19;pzd(==da za3U8k2<%ms@fOQGv1+k@rAn1pftVz4bs|?8SCqT5H3lMww-hc0GqxfDgSWp_0x1e% zrHA#^Q151*ZV}}i0Sjeu^PSCaTcgntr zTtnI;r4H+bWApa58(|foG>q?2%R6anlXdb$g+Ua7Oi$gYEKwy2wpfXYV@Ffp3XwPt-6DMd zXQ6pwkBs1AEW{#sP&opmvJkP7VrhZ7R$zJFBEsUeu0)fPKX)5*3rviR{$m^h#;??) zTY$b{34Au>Kfpg-8vFkjF&G6Jg?FrSqc82@HiQi0c3JC0a5%kgk&6EdxmvEzUR> z;6!?}sUHN^LrgCOnP7*J)It6FqzrLAt-#r3*kB*{)QsW`d5+}CBT~?lR8UCkOe3R@ zr|fXmrj%&zqJ^62ml$*qx`daMGgaaoC|825qhukd?8zd`{SWA{uaBch6r@&}n zlx!{(CB`VWL93FaMPMY?YYzu6pSzQso_AG_?oR*Y4@WO&o91DnoZ69S`qk`H@K*SJ zR*?ku0&VhmBm^#?X|;@awN@ru<324pk0F6=Vzmt2EE8@{cYSPNNkWPsX$^{ddZZ*x zo*Q{_hq#|MS!AiPw{B?PGgfcQw1W{-{cVk5Yy8K!mx#I5O<=7plCjf zEU?9oMrrDBdY&F-)}%X)9LBX7k+DNHax6v!t3bh3@H!EgtlRkSF5*az9P5>n5DQmo zG+D|`R{XS>@=KYRjL@jx9zz9Ek+2?VHrV*vxjK<3s*%#~93fAfT;$~tyU~?kO}Ol` ziq-!;qO8t8MAfjD8JY-FRcJZ#vk_r;v4+$}!1SLs1lCUbAD^bP;%TOWWM%mmgs;q` z>=}Yg`6zLv>BFv;XoC=l~ z0Jj$_Q7Ri#j<((Zr>_d!Dek!2LfA#vK>CwT7q+s6q&^^3_*&Rc!FEyw)Ji#8q64r0 z!(Q}v#(gvh+x|Fk1!AR4Eot8x@EP~s>%%}Ug0pg@gDPjH-1PpSw=(wI83I#(KlgX* z^M7i(HIn_pfbzL=ospQ~LTV+mX-oGEeSc?CNkkA4wTBFOrc!27jp^TZ>2D4A53N=J zOwgl**azNaR3du?%qB>*i$nTD(TLAza3T>!c~JIW#lOr?94!g-PXXpNc9G@vcj+9V zUI2*DzBN~iUnH4MO|n;}nj@d1oTHeds)r6+=-v000P1Fj_&}$EPsp?!VCN@VVd>bR zNGg$t(})v^Q;Cy_`xR#-RtP{E;UNu>0@xl*om)~w%z@zQF~-&+R?FB|?hCW?nCkYy z+Zk*5r0z6Fey5sIC7-~IDOr#l>FVelejiRPM7YT0mZ=~MO)zo)92lW4WiJdVEFnxu znAWy&kd!g@xU>~YRCg0eH`+Aj^{)b@kfMaj#nO)5B??^=FkY+iEgpXJ?WWYsln_Cx z%@}n`Xmv_zKgfqzQ|5~QG^EjIjTF$}9CTkIpP;A*{|p7M=|9`yG(t1N3FQ`v%M@eX z4eGj%3@9cBRqe>UMYkP7)9Tt(EA1B>SDqHVjGoteu^cs-fe63PP7Ti)|E2XBFeA5$S7!KD_}ObQt<^O6 zU2)?q2L#cw?UH{XB7OKx0j%yQ%`H?z^GuXOV=~Ts`0)Vvdv>(R4QfyhU7RAH@Q6#` zj^LBTFy1HB^i1q=yM1%}r$qF@aRjw%Q_OkbzNtw38F-C0##%c01tz1bvi+MzedJv7 zSWx<~^hKAn!dA9es?r%un-Z6$J-FL5CQr24ji2bkBZalXYvOnb^Lw z^s|>r<;ml}gPP+WnGK?OYM!&D{S4-1ho3^A zH5S!iauw;b6muT&3*0jT-=lqI7PhV7^m(i>hKz=ZP0mV~M?+UX-`$?db4FU+!YnsO z^%)UP&GvtfIAy8K#3}498=t-xcCk;)B5TzmGsnHjgICpaxCQkiYU%CJ;D5tq5|@JrEOr|+%Tqn+_vDxrKgpo=_E`dMnFoPW(m z*3@Sjs~0W)S|M3bBthLee&eE0{uXfKjErmNS#a7{J$`A6x@5Eh_jkl(q&gXAy{VCr z@@k?sXVlbE6V4=?e~cr(jg@1t);%%`PyN~=of@p%C5x@A=|(do|8_Q~YP48(;cD?X z8|IJd1tLvCo)=vN_vO_$8sbKR(tE}CTcl-Xy0k1T>-lVEnCBJb@dokz3CkibWn~6= z#Up{mkc;~;);e4VSb`;H;n_mc26G8I6SsR2%AdLEI1|lB(&?aYq;t%qZC&gp%m<*z z5GsgB>G=%+i&K;f$W=1)%+*;^Ti4dDl-G2nCz1|SCr3;c{ z^*5Z?If?ltOsCD^L4%Sr6=G3z;Q2Z~{V4zOa$e4j_i?}dnBwrfas9HOEgU7{UZkBi zUY+Ei>{l_?R^F>TSnZ8_*3_`{xr0cnHB?mIC-MlXqFaec4S5|=qcNsa@Ubd6IHd#h zsoN#uQyZ8XF;ZQ|C#zT?ya9oeMG%Q@k`RgRA{QmtKo&tH;`!$e+r^6e2Tkbp!}CTQ z!t@b{ z`?hx2MjFN~*rhEZ%H?xe>_`^I1)r^GgPa;ycIYgQ_bL`&#CzkGSDnuIRzKN553f+f z4oFRgMa<13Xy+Ut-gL7zCSF=}^#m0-y!1`nC`n=+lA)&|XAmPRoQkNi?Eq*hCu0av zv+81;1G~P>Nd=LdMP^e0k*(0}*oLOmf;+U)4$bvIoH*!3T^_F6c*(VyU8hfVwA4;$ z7Y`y{8o$TRL*am1aV{3^l3m)({+Q+njiVju|mzdC0{cNnUv?w%8Q=YIPkf6)gUlb-YW8kT9G ztiG2Im{1lZBO9pMUiT!G+d_gv3v8nX?6dcL}k>uw#m`y#`RXedb&>X zh8y3s?m&X)tFg&W_rof(GU<7<_v7>WH|8&6K&IA5`<_kQ zV>Yg}$Sc{i{^gWD+^;ELx8!GUhv(rXuXmi{sS9f$AGkEO&r{wm+8g%@h|F&FTRzpBfLC9pttFmfD4|_ zv*j};T6-_l>^^V)t_ZKMZG#nw5Pq<$j?|)zD{|^hUn`WrhvzPz?r7GQD(f3C*X6n&Cb z&F~JzPPviQm+h;)!*~zLwwIjoJLrz>YzJp!t3xjnhfA>msUp@MX%xN{I?A2uoZmeG z<4w1!V|3(c3O7nT7giBa1hPuKhb>!}9&;aUHwm(G5x38{1*l;0P<+=#?t6VcU+*b5 zIkJs4kp)>k-G44bDG=mmZCn>RaA)6FG(DCJa%v(=nkd7X`Fk8GSLnE6<_$^S+SS$nGZ`!}Hy8O(vU zoqCR#FD1z~jGcp56n_MejFgq<1Fn^W$|PoEU6*-J(edzP$+vTQJP2zZHnFYMv-6H; zAG@F)&Sm>(ynAC4CVf6U>I~nEB}}kI4`vf}+gZ+?dG48(R@z{foKtMGx3>wuckLY` zB`vuQ$8nYy+hAwq7rzY6j%c4@4I8g-u|>yIew(^+rr2OJ@g#ZeU7vcemDJU~3x~z1 zb(586t{xf}Rm(@2CU``%io*N}bf%ZJ4`Dy68s^Y%0EUiZl%ai4?p>zLnOEj>`cyJ$ zEhbBt=TA8d!aXE)CuDitVD^4Z#wfRWVN_7KlVZ$RXHEKE#tu?He!P{n5{gpQ zsig5y+966Nv*k()xkPIuD~H*1kX6)bf$}lqatPEM=di4~b@G_UAf?E1r1a*8IJioj z!OEOBM;g9s&D1_R(#U4dRFo|a%w{{xcegM<-Y>4lG=eP8tL-dyv(kJPT{9+~(>~J~ zs%H4*RoDFP-W;R0H3GwQVg({`0;-7V;cwms)0$K@EpIJy6udd*vjQ>&?luvdg8KGlEsEJ3^TD;Y zH&j8ll&mB6g)olRp(!P;nZnuObxh@vXxwq&8c8z_a?a#!;G-L_GDRMyO9hl=XpZ$& zEWufzIY{LTgScRklm~#A5`N5D*7rnd!N-`dkTVbv^O;1{ObHS=5 z(8%9-L{nqbe*GRQacU+bY1lK3+LRTxr0fPrGw5gUSlAP^Pa2kx?IxanaXFdjTHvM4 zlekk}Ob%GU3a_b=H)#sBF5^@ZSuFB9^>?G7ILVG=OE`$42*62DWu|G0m{iV)=zP_; zdVxj%Y}xV(2rt|<=a^K=B8Mpq*Ka2rJg&qJIpi;=>5vj06+pXyLDDIoHO&aIUdux^ z>?y%=rh{p*V~-yA!_>@@5(lUye0c3zHYU1H#!H9Nnu$3~p+x$LTR>BeyF>kRXzh0R zSO1s38-D(;+->5ffv)H-uax38IEn=?DTB?D>v>rU;5o3Kj<%T60FRvXb{AXs8b#qJ zLX;3V%6;5I&r3R`UTtaNjX|Z~S&|2v>Pm}QVNb>K25gBM9YnU??z3#xT=&W`pzTSf zrJAWCeNZu?Qs54ILRS_@ms`He+?L60SQE0BS|jKU3pl!mMBdbnnz>!k>U$~yPt}Hx z?I;s=Eu9=Ox1`>Dj#L?Fu7~X`(%hQM#I;e<_Umhfb=p##>tF}q3BP6N#m|wEbW1RN zxcZ-0@vc9y??O6Oxb2ox!7iO0)_F{;+v2_@a{T>}m&rt%k8_VS56T*|9lGtZxOm-~ zGP4-@ennbhdUN1@Oq$GnNgn30|Rtzg9#9%vQh5DUF#u_anM{^x;1K>cF zl`ch8)9#G}t$vk*Y-`kz$=*C8I$>r1TrFhuHSawDaWy1yV=MTmO9taydCZ(nQO3jX zcHKc~1-E2(#m(q~wA?gB9)%0an>NyXB`)^I^9PNxe`14IY2t;Xu$2#`p%8fvj$qq4 z{g|F;tjpEFNHoK#k1Iam3f-kd$zMiBN6TduNr%67;cozCloO1=YsQzLq8L(?-ktVnNCDw zh=I4vz&8`~uF-`4(7n!6oXC(Bp=8BsIR2EF|1~Ovb-)CfV#q9yI4cK{+Z~G=pV}^F zZce6N)`nc-u8?Cc&Q(spb8LYj7G=oZl!CCJ4XTLu5)CS*iV27%B4L0@=VV4{Nb5a4 zc$dZ)LprXKPTVu6#vwqo4+#@5`g{q~9n+69n4=l`2NW^oOaj@FrwG&@ij%Oc4m
Tj6K3qQI*73$efbIK!*flwvM-p6p=183{p29CM}&qaEpJUmGzT zT7tipX!pLeLZF9)H?HsFpLoAvar11#QP*bTBa-;&6iHSwyE^-jHH#Tf zE)%6)3boo%4wj`$L#_Eq9C0X1EaXu}mfKlb=B3NNmvNol(TOwDkE1rE@Q#*VAzPN= zTC1XWQ8}~c#kgdwvR2B<6F7~W7)!{<-Z{hW+GO^DPl07HCuQ_;wr`fbqrtX+mZ80i zY>K+2CGk$$J;>vi31y1m?d-erl`JB>r)>@Txl@@eMm#&<0Gf@YISEezh?i8@N@xcl zowc7Ilb+XT7Q{rK&uXuf+sr(9ivluCLEZ0^jT!q(34Y(cK07VyewA6%YNvnhtOC9h2?FQR^iXaK2CB`p$G=N~#a zu>@FD&|4Rh+Dft{uUEuv2*dorEysJ3=W+8r{T-mpgk@YD1qrK?V=tN%v|hS#+<|}o9G_8&xWS(kFjYRI4c5#o+-Nmj zq@+q)?M}1?d#GPq(3ywR_b|p*ZH9 z1WY=oE})myGvTw=PGUAUWHm2qe2(C~!a`1oxFxQ3ZurL%9t5+?dX8S)k?H0?+@dbW zG##-%)!B};SMuH*X?XK1Zq2m)rUL@B7YAQR_q%DQdkk85XDB~yZ_i7a1>#A`K084!>L<@OAtbquEKwq7awSz{orWH}NE3bGp(>3v zAu?n`xyL4|`CN$}h`9L-zjZI5nYof2bY_p0_qi^_<>wRN=dGI1Zh=780dnZAvhjAt z%C|I~%DYHjpW}8|2O(?7}VCKZKayP zaB1LxL~feyvUKjCn}E&j(D6-wY+XIB%?OEZb2}m4r#?m7&~n5@gx~<<0OB||&ik;I z5aV9RNkh66UTMMmunCkNpWt!9z5mqBZdcUvDRn!GW`h)?%Ek$@gZW~EMP#bEu?F2X zVKjd^B(5;G;RC6cnC7w6xP)n393}-?vv2KK+!*c7jeaC`Y921_*o1au%>iAxY5d*I zXmKvxFnGzdegT==Wt-b(+kjBNH8s@0LGHs`aq**JVT<+dB4g_;9M02%LP%LUlqph9mhna;hRW)~Cu@3$OX zgTBfuNZAbt_-fd%xAVohmt7qblb?vx;&EG+v66-d1OEOoWVL$OandAhWJVIc`;U3 zFkCNr5cqaBPew>&f&v9ezrWhEYV`;PZ7V6Q@c=x3LU(e6lXo~S1=D8Pu+kkp8?lhJ z9G;nIfo)r$yPnnD7%~o6pQv=w%viJrTkuG$y5w)b`ES2PRN_&xLRtk8oT65_E$qJDTs}|Tz7bd_ zF#t9xM5`QSo6yMtwNau_qPnvp>vd^nEdkURbbZL2|65_~cp|s~;mw|Fy#JnmKl*j1 z;W1N#=U`9~swxPiB`HfAl_LxQA~tzZuaShHMD23+%9MflHg~aNmmwmE-d6fJoRX@s z0!x}8iV<}Z&@gq(O9gdPA5w(>uu&h^Xde+wQzGyJFn2?Dq0kg16uUNWIVH)pw(@oR z(2f&NX=-HQ93zUB4QqFftaKj^mtctM_Vz0JMH3%(%iJ5a^8($-$p@h}zP1}z?XC04 zlt=FztnVgHg0rWFMy_Q)SP{=xIP29L1B*8~sj$VTZD;Ape5P=ge93bq=TynUFJ4$y z2jt5AR*lf@26jY_IZ1Qql}Y&8oU7-$Q&`pogqIT)YF#|Lhh@v&Ttt9``fA`uB@`=` z-fZ u@!(^D#PQ3-53n+;VGA(T5)fn83lz>C?U^*kBo)m8iZHRXZQ%RHtvxz?L^_ z_uC>*moIN0nhR{%%;kRGlMfFD)i9mfK-9JETfbp^`LT9C^Zju7oq7c;PMwv0wG=6| z^PnsWD2cfMS-=$Qw?nP9`?i59vTSCUpZ?LUna7tbBUIbxyN9@UNjTeW9<3lNj`E2j zxw4Aj)fA02;4Os~B|qGZ)j__&e27)4z%#?KFF8{((*Od!M?#-sR1QV;gP2r#F>9w3 zOHf8g&y|oP&z4mdHUlNbesD9@td#ikVXrIpm7Db4t$@*}CYY720dPc^(9M+a*(iv+ zc1VnQDCtkQ0C-%ybTD{&J|#X*I=iEUX2oONwn2i?WddUixbMvct`^cqc4j9X5lJA32+qZ)n= z-lrn2(I?3RCEA_vZJMl60zm`w0IN(jcX8vi}R$WDWV^1tOnm(p%8k4eiT)Ui;xlFpxiP65M zC#Lc!inRuYzm*&;e!qT;M-G5Vi;N#cc1HZR*RunR%H&JM_XRwy5V&RdER;)be(>HG zrTrYLP;2or-~IG4Ovio>u^LBaDU^a#v7NIVC{V`tE*{DwX&>b6iv2TFz!$}*@j_PO zGnRK~P_l%5S53DG1@TB6#&vTxj~Sjk#l5IcmACOlyJCRgaD|7)fE8HD!Q0`$w@dFa z<0+Z^Q(Aflb;pj`tS0@xZg7k>z?uO8C+?YVZE)>rD?qT+Iun2qONRi~GFp`)!6VT* zFVm*e!RP}_Yv~bZ{)!w7Fyj;2w`(a&x#4vQ^$})H=zO~1L`Oxz!3P;3LNV^;SIAzX zC@n642Wui+g(pjFvgpE`lB0~2O+Xn_228F>Np}VgN0zlPF6<>B_Y2+mpe;OZ5-zH{ zei06OQ$nuWS0CS8*9CuBptPe~ZhxX*&OtPy7#k&m!=vd&ODYUG|3bFGn)ykd(AT{K znL9F9zw08ZrP40sC~irM=5?64m{p?`56!;x__hGCyD?gYYNm(0$)4pDkibBV!f3lO zjgxI-91QKrTxr4XTLI2v66Vv4C75@G1=3aWQh~o~#+(axq zf{Gn(d64lho%AYU@nRDg6rQ8hSKRG-`!XZ5@YYDxeLeKTh7gzwuGbtx-#RGe8%!WC z$xf+^cGn3zWV3X5F8HZ7(C4^=-aeqPVy#FZOHqGm3hOdC{d}OObT9x2H@-)&m{_-UIlzxQ%_O+sI6g{=XWf?TW!BV z-+7YY)nlwe(g8~eIUxtP%9rfY6?sHLuiC2^k2gu6l_+n-`m(Y2NgLQnrD}HNjgZ0t zaq6<15*JEKc|dy-Sv5e^Rt!~F0;%*$dAu%4QHR6h>ExbGl9-KC9jxuZI!IsSu7f>C z{LHnX=4s|p_}LUCz0j!%TQk<@`w<=83eUZSr5KmY@1y1ba_E3Bj|6b+T&Wfg9`gEJ z6sUAr2HRusrY6(NOyM(UQQI#ng6VOePu4ew&B<-BaH3>Q7WW~qr@}IYI2Wey#+Tfk z@I9}?QjVP9HY`{Vqhh!;)vQM@v=T)O8T=c_@>&eVO}516%ggjzGvzfy0%eYn5KfJ`^Prb1M`~v z`|pJam1I7p%J$*wXmt;4u~ZD~e8-XCk{iDadX96VhpxP`L_Qb)f;O{`KN(Q(60y`e z4bmNk9Z1Tu7-8*<h2E#qdL`GELy*N4s((I(D4)-dQ6JA!0T6=4kl9byAR;wK7&t`qaX) zP&3z9+6r!DQ*~VvZ3=JIfKqwv{Ol(e<~64zsP@dA1Dl6Y_6&vB6|KDb8|COJC>i zCx};Psb1xqpjI*Hcd!@se*Qe(To});%+{aFozAWn-`5`X{Rul`SrY_yp-wq#SmM;= z+Pj*pzUx8V8TnOY3Ug;<+NEfxbMx@FZb7RHIIXqv2rI3Wf056W6Bv+A9m(>D;sg@s z_>5WG)Ny4#$c(^R3a!(t43ZggAw08- z)DBD@*HloF1`@GVoHc3;%3Je6`J^-hVjdc`i-aMlU=3K$80t)Q2*jxyY=D3nKHCrR}Ov= zI{svHq^K&|Og_Yc;*ELZJL)}{bcm&}3!?)CBX5(SO`4C1f!8&Y*~w!M2CvUmD&lHd zv2c1q=?YHLx>moIMWxcY!yz;}gNJ@9D4Gz>jf*g^3pdzn=}?&Vs5bc>VoxNQG7_8F zuhG>H@Ln5ZqL`^Ke8?&}@qEjmR5f7dtnW6UVI8qu*O?6kTJ+%Eo-SZ8w2G~pK`GP0 zo>P|yjB>dY9T4Q;)sZy5ewCOpTuoB)0nK8)Oh@W$guEK|kdJr7QR3r63%kd_mSk}< z+J~n@JmH6)e90uMnzHQ`yuniMfI;E{DHWNE6`W?%PwSo#tA=A-AsAiLT zb33;cDnL~wH4YBnwb5}w!g^ATW?|jJKp#A`q&zsc>@p8}A4kouQc+}9g-j_K_}+8i zP2*O*sze0ZvuG`xerk!T7BebFy92fzS7pK=*uv&LhxulceK`N)pEqI9t0XrP;UQU0 zjfBMf*G(8(I77$L*#3pFqvKD03_|%4hk^O)EztDqMM)wN^CG{eSs&Hi1BvXa`QvjY zAE495Y%(OHF&|GTfijAUErFESorY(5&rS-XTik8G1<%DY&)uohY+5uL%C}HK4@c7h z@;Izqe*OA5y?>1GA|%R8oct_aSt+(}9c>EDT3pd0gL=?MVIx+GW9?)(6DZ##p>07~ zbw+u0{^5FM0ZQ?G?F4V>0(p%Ds-cz5TeUfda~JYNCOI+t8uUU7$Fw2n96yzxWz^LA zC@33f=1o8AakLh#=XJf+;FaLr_)6fGzd&95U!IP>N`R9!`K~t1x}@~OF%?{;RI?Y)wo;oR?Rmq9Ex`R z`&>KYba5)+V6I%KG`+0&h6@OnwcebzOF@EQRkxs4VY0e9OE6@z@Jp;P>j3GdAM)UfsG3=Mqp`3SaA9*Ll=ay#+Y9OeeY35J49KaFF%X zO449CY7yv%Y}T-I_DXP~e6wa{_KW2PDm@d7m)|WVDh-!v@z`K|OMj38b)5FaL7NI~ z(LmBuPwyHabvSKE1P4Tg1nAKT#6J{^Y4~933R+Qm4oXp4$+fklSVLNb7_Lp0OWfvK z9yfo5s|dAB_CI!cRYR6fikeL*Z4e*o!xY;5@tfI}b$>1aaF*-YlvrmY5r`GVTh~Pe zk}ldBiwWwN7xWUh*6XnEw)|?ht?B7neAdLiz$Lu5;+wmP>C2v1CM-`hE2aN`o1J%$>(tSTU12~$$dkzy**6c-?A4JM1(Dt;OL z00~p&tk72KNqMn2@xhr2Q|qEnE~l;fQ^Gu24b=lI;38`UWZw@}lnl4gw}oJxyj0bM z33jMti1C=u$*p9+Z>R4R$?+t-zf)&mfqo- z6I8=QN`30X!pPF`2c5h}HnSVOo8RfTuE5`~VyF{g2jBeC2^3y})b9;YR9!X}51tQ2 zZSNkmEj{K}UpW`jSx(BT?N!O6VeL2rba?JATT3Tg&d@3A+_<}&?-D_RxPc+xfR4<>5ZXQpy`3J6BiGGa{XQ`4&EH|Mz!!0rrTwGFWD{6zpue?Sc>1H=P-d?<)i%&62(@EY?e4b7xc+p486ZdbwP7 zuJv%iSxH;%!sE62u7AAt;82~#eKem>B=)P>-_eSc3-I&tT{ds;jaN>X*xVbjXt|+9 z@!*)ZF)~;Q?~3lPX;-i%YZSfSF6?_+t8y%nfWdF2k=oRzE{kmgU`Wk6GJE#MBN%6& zPkhcD$2)T=PIQxdnDCM?f01S$(~F(7Tx0p&sfh#HdhxK7nW13z_Ved{St$i;-dM;= zk)rB-au|kop`mO9O`xvkd^wepFTy8eKU!CjL>r}HKAP7BGCjR7y>uwQw)wd0=JII(gq5bwVeV4lIZ3B@)LQ_#9F=a5y8DFx_= zH5hE9wGCT`^tUCIo!yWY{UF!-f?qMiARJOOVb>K9#u{Zuv zX+YNhV-evkhZGR2VmbMcC~y}03Qu}BiXpkU#8!JGLgWE{ey8*-&-w^)93wre9BkKl zyX|#17HTuZVQ1AL+UCv8$hZ|AEyb={04Ld(PpoB;mg-9~Fvx5yJJWhq)y(HGD%#kK z^Yg;zP-T%%e5cgnT=?7!^(?B*bY-kZena`XnQ?Z$xWNnIc&Q4f6q*zAM=~`}u{)Xu zaASwL%cm3`mYpRqF_{xJ1(DQa@&@#i*aU;3|E4kOl7L``(lB`OU z7Ph>?P57vBgWEHy3}1OEd0RJ$Mi#Af+|gkLym_A>%LK}&sR52pd|WH}%=lr&>fvT; zd$;W+$7*p_r90#Wve7}Nu0%ZT7e#I|7zy2$K5H)K$9PYvl z)4y#*EH#lyHuAu1=vcs(%NqLwqnJTtj-Kdv8m03+Czf2oBUxb)5tRjx+2LX-nkrrp zSNeNQiEOJ<#kY*kll^(=cS&w5;8ycO7%_0Z)O*}06+_>w$r-)^w*;^kgiOW4GVWUe zz8XxlDd>Bm5|uSA)v#2x$QMyl^0bkfpMw|E29_Y{4W=zdue56p)rO`DmGtUnskMpN z+XEe{)t=ftbIneu{Y=tUdW>cHIZuw@yS4HYH${xMSR&A{NIwd7um*`T2GQm15X*qR zDqb_195eIrEV@n50C2FTGTM* zMwARanN~f;aIQfDwx0gC9GtLo+inK3z6pG#aBp_hFDmHRgKGHaHA5;O?}p?l*~wLL z39r(w$Aja}z64i~26<__1gPISN|U+g?bw8j%IJ31t`=mSmNJ7WVqjoQiLnB(862-0 z$TdH2!f9eId=(W1nd@w3_Wre&A)`Ei(=Gp<%l_Zq{_pc&DDBGfe>eC$Ci=g^AI}Q- zkop4}jVSy(bN5eS8XPP5zY};7eGs{;znvD~=y?PRE20W@bHMbSc(A`%gPOPAr9;eR^kKb85-M?iEzJm&k`MUCgD3*w<)L<7XP zB)<(bfIkg>b<&^RgXn^o)c$taRr%?HkkWD@lz*nUh^C0!$={~kYClc?wz))9|9xZj wTZ@F$q>hC2k8K*F{O_yZpK^%iAM*dKh05~i@R9jroy12Hh9~!lIzLMP1AgaVGynhq literal 0 HcmV?d00001