From 20c0ac1637acb8069b656452ff39eb0dbf9baef1 Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Thu, 11 Nov 2021 23:24:08 +0000 Subject: [PATCH] [bug-65678] add XSLFGraphicFrame hasDiagram git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1894962 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/xslf/usermodel/XSLFGraphicFrame.java | 15 ++++++-- .../xslf/usermodel/TestXSLFGraphicFrame.java | 36 ++++++++++++++++++ .../devtools/forbidden-signatures-prod.txt | 6 +-- test-data/slideshow/SmartArt.pptx | Bin 0 -> 41382 bytes 4 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 poi-ooxml/src/test/java/org/apache/poi/xslf/usermodel/TestXSLFGraphicFrame.java create mode 100644 test-data/slideshow/SmartArt.pptx diff --git a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java index e85e9608ec..d853d0bb2c 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java +++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java @@ -51,6 +51,7 @@ import org.openxmlformats.schemas.presentationml.x2006.main.CTGroupShape; @Beta public class XSLFGraphicFrame extends XSLFShape implements GraphicalFrame { private static final String DRAWINGML_CHART_URI = "http://schemas.openxmlformats.org/drawingml/2006/chart"; + private static final String DRAWINGML_DIAGRAM_URI = "http://schemas.openxmlformats.org/drawingml/2006/diagram"; private static final Logger LOG = LogManager.getLogger(XSLFGraphicFrame.class); /*package*/ XSLFGraphicFrame(CTGraphicalObjectFrame shape, XSLFSheet sheet){ @@ -169,6 +170,14 @@ public class XSLFGraphicFrame extends XSLFShape implements GraphicalFrameET75Kwsg2T7pHmtmg}Bvqa{qUm@b| zfl24oP5RX&*22HKh$LY*7T}7S<*h;DvOJICuqF1NcNIpB{HLG_m{=u4sRgn#1&zAVn$|&77tNCEI5(0 z#BB?OzZ=)`UKZ`NC9Mf-XQ*429>#?wt|hTnFyD}TR}ww1=AjrZ7L7m{zd7b z#b9TmY{}}LUsUrFaOqo*aVI+8r>D4+#!zWIj}fOOq2fDS#^@05px0czTS5L4es^7d zzkUHoa5yJnvXG(Y2rDh75u%Tk&wRH(n(rBr@4TPcT>9Z%RSFJ7(RVod+M;`p2MTBF zex)k6FpKi8=VOusH|*j}uFtpTH8!%z9{QsYI`Hjq8gdw;uRG2|r;4ijbp&j&YV)JE z-(&sj3m8EDzX*oevr``Mw_xmk>jBiaVCXp*TRGCv{`LF+h2np(I{c?suS{5%1ZIE_ zxdPoLnDAy>rzD)SvK2ng9(e`$$=Hsyi7j3{*VUP~V_-lN&^a-|hqq0vVf$!?g3nmM#ttS237cdvudQ2|YbH!9%@tGW8Xo#GpcmEmh5-=8CJRv-ZNZc zIY%AE;kG5{8biXrkz-Gk*qpp&3D%h0g%0lv45D&H9d4O2;r{WPQJlX|r1<_`qM!i) zkiT2l**VeKIT$;B&$9+j=C(F}&9djIn=$$H$ir7`>8@rTT=ww7{6w<#?F_2}GEtmx zGyVk$6v2&)i|(&HRVXu)q;~)tvpHWcuMdSi=MUNr4nSoQl7$Pt7>YoI6}N)tO0Ug2 z(1?;rCWNLPh;egJnim| zn5hm|2MHg&*CbB?f9P)|RUuB_57gc(HmgT=Op|e>q-?>_f@ zzPw-q`2&NdfqcqLqh`ha``g7;R9Q%)l_ACqvIJr3>2ImLKro6o$DGvWE`z75;NW_Q3#}m?g`&V$<7wA99 zF%~TgIP|w1&j14e-~m7Y{x!7zCCUHq0Q=t(4fxG+-w*uHJ}MIhWc&YO8S#zY3?6&M zUxKBwY!GEo#2|kFNYjZ?W31h!30j6N@`zPXoZ}C^9^c(F>eSAzWE*Ha6qg`I5|Gg| z=2XX+fwm%sE4cKL3(E?d!9efDYp3YwROw2M!$cM+#i)zX5obbnE;&l-2W1rvaWdQ# zwYEp$i)>pH4??Zt=;oY8Kj?vP6-d{Wf!>STz*O&Hr$?Ket0cW@4@^Tzv&?$4#XKHa zS$_uK!+-&TQ-z!N$O%y&2H{sxzJsrf>ak@8jF^PFB_Pk><(*H?MoUy4WT^{uS$e^A z4)sQW9U_lhRN~jU)D~uMWG42vrY9OyT%R2`;a2iN@VQcZcXyhMH}&e7i?@5jwW{H#AgfTf)1TEoXLUUo=Xu+d%bIpX;c6nW zwdF<}k7g&lbSFBxE+3Aga4SnO_b0|YDOau-?i+3mYYnl3)gFzS&nocQSq1CCp$brM zd4={Rp-9jh&b9mM2Q<7Jyrr{Z!$J8?*Gjw+{D3AW<>Ybe{sZi2Ut&x&>2ms^Hx&uA z2o2};C6DBHS^8py?l;nBnr?){r|HdTy9~{Tac7UUvgX#D4};ir>u#nVF8l3?IMTPK za9j#4Qjw$D@NRt!ZWRkG}m2iPF_?}4UK&#-N@`QYvd9@Sqayd{30ld7$e%prRC!Q7QHQ2>CUTgU9Cz$|o#R(jg4- z24t{>vY&*!@@ri1iKfHBNnhtN)Q3Widx)(UMG}U+<45(6$TJyFo=IDmZ;oBx7t0Zc zp>|~iOK9hvk`mM`md=SBcB^Xm83>D;F-^x;cE#umh;crg=H`ZbC}yAPcAg-zT&XoR zUMPipK|GJj#fn>~M7Ng54_)Zj*4)^d(=WAV*y$U)E#&NV;;igZJjCD?JTa#kGYGgB zGDFz^utNyNr;z{{>ltRB&S!p7YXIAx*fNDcD1ZlBA!B%Lhd**{vKWLLt8qPqQ63c~ zb@;jKQCm_#C&ui0@C5!(S_z=n7c%}G_8QXx0HFTI&^9tRFm*7ncBC^ha5DINY%ge9 z+F}i(eCYoA^51!4IQq@>QyBIz98(;V$o{s7JOV{xRrp2TrEI_^{%eZ~nIgV?A__Of zxTn@dY}fAc_fgK<%E#e4T;$76i}~`j>Ubi7r$A`ni9<)mM9P(H2w(T)05teVn~v<- zivpTNS9{puC=TauMeH>Ege|Y z1E(4?vi>j5?5t}}qyrIBM&^K(4fOChZn<(gC5N3IZbGH5AdErE;`L= z(;ge2Yun!AdUPgxzE5YdcPFK}G*d@Ps*kHSp1&Efqps?1+*tISKT2_8OU7B=(CFH& zS~ja;z>ltu5-*L!LkpygUhmj89}(SJ=;YKAV>6Q<4?6U|8aa%AbI^Usq$aXiFMmE4 zV@<3JR$T_XKRd2kG`>X6x@1mH->tu=0!2$p3Kia^h~tpkGxjEqGAB3?5u^BGvs*jv zw2<}tc4Yggf8C7%JO)FD`AfxP1|yNl8Kq>T74q0~66ay&s6eQJaND-G=(L~z34TpmKArKx14K)8}7jn-E+yF|3z_5aWtky&u3#c>Lx5-Z$~M<*jO&{Y)UIER}| zPX0K*KWkLA~8im;{lX;KdM6Fw0@VU}2JA2|>al7h^6H&aw+J)66oZ zev-x|APUTo%p;%8ia?A{Qa3@lp@tIZM3$~N;uqcKXAB}s9~8IKm#8dCvBS$pqSTOo zfWYWRq$)y;va}A@2fRIYCM=eSm5EhppG4XqW*?0(p41lg zX%-t95zwPdAXZrIJ3tR(piBgaW}%=8C4Pe57(lR)z>vXK(?>D|6z)@j6j(h^Z}>$2 z>tB)$Mvoyr*us#reiJNdNOrK&l2N76U%FEfmH)uu*g$p)G&9WLr(ymRpujF4dVb7c zth~e!Z{Ul7xndix@?&910n`SOMVAklP2^A2Em*)3^GE{*NuBW+Qi$+bR)gk&=1D>cc~d(PVWm+Mz3zD{ z2#lH%-bQ8)>>{X%QJ%XzQp6`id9nh!^3%OC6vRK96p2l3A~TWwQ612ul^l@N3t}kt z)C`MuvY=vOit<=@(f}FuN{Kb(lbXp#7JO39W=!$mk)W!t)b^I^y3%RzUOn5%VJ@nN zX{E5{`y6yKes8);zg@9@oYGk@>s8B`a5-I%ulg4ITBatxG~&H4P05AK!(F&_)_pd| z+M?NC0vGZ{%j`8djP`m)%Zx;C`2&U^{3*@jWPqt&HdIyTUa#1FG3Uyq&>A)r;Gs6O~!ipPrejC0} zIvq?W7g1*s$oKTp7%JbG7KWn4)|%pT7-^85Lt%qU^gu=zMzjYAk!(qkeORs|^@ ziy+M&O3Sz5`<5gBe7#*_Vo2Y9g8|}j#0jQYH)-04PW!o=y=9b(r<;~{!_O^UZJu=g zlQ!SZP$L}%uH*I_og544;t!KFJt*4due?kvcq+V2?bK7#b%Tu}w$=DE*yPU?=g^)7 zn7vCFX=9W+;1C?ZVuxlA2x%4BE)?`Xd2y0?0g8YrLlEYLy+k~eq^%~bVf`Dg{i`g} z$zH98ayq}R^z+&D`&#&p3D&9r7I>Ii*_bHb!sXICrlZEh_(La3%cpEXMU@u)Y}1Kt z?7aXbQ#j-Ck+9?x97tSOR4$kb=FX|oD79M2jKMIWati}VR{>n0z{3SINWuxXyyC)# z`zzbv_>DK~O7K-!rssk1s~AzM#c6k>C7FLAI1-Z)DB!rUTV18^!2nQ_+++Yc%WNhB z0q{Ul{tAMnM)m$#B)2qU*c;e*EbvTfxdGdwlbr9+cUK5tW*X=ukirf10)ZM`KpP8_ zk)`e=UhHn0<(&xVT(yJ(kZiq`2qgcsvH$5Tgd@zA_!56E|AKyw&$aO2(t@U}!u0M5 ztVEH^r9V&?P<|Od0Z8vGGjlZ-0hp5!=d?N17YjunpCUC%gr*!aS+6z#W5YAnYP>eCBVb~u! zVOP8_KS0!G3r&GH7TA6;ovC=MK~FC$;?smiJk?vm5tb5}h=?5q6G>qNdde%7!sb?plUy z@-S8umGB!+kgVb@pdA*Qvf^&dKdmt3T-nXodj~+Z6AAG;W$yE05$k08-M7v=ykTPn zZdNV}`TV+BvgQ8z?!^Dz#YAb3hUnjfX~p_iZslJ_&)>Z&W8mmy?C>8U)V~UU!{)i> zmra2<;^$YPH~7G(J7IBNCf*V|Rp8{7`0A=zf;#~8MH&=XwYh1cMl|!ZgRT7&`yH{` zrp!8fIM1k#!>zDt;S92ff{vcIip-vC_Xe%hUPyg&X+?avtkwK471bjVXBI|29a2?& zOd7cgZkn@*mqcal5>l=hI_c$PHONNYtKMqO=S~TKF_g_2QOVCCq>f=lB!n5KC^U(>uw!nnTjeF zxw<9#wEztFrxd9Y`tI}mi9vgpqEFvK$AS@C0?FoRej*&nac0_d`@|F?N0;D<-jjBL zl8xwrNo&VZa+HG8L$xJs<|Ap|KmC&&z?u4U%;io$ZcxDXgJorMRM{NpTV3Chaf|!c zIkX~(f`$R$00+5leDRI$Q?SwzO|Zbtr)z8J%8cRAM+?rNOC;camM6K8TU$A zWTl#mqB*AvRhN$V%bC(FZ&j%?Fn&oRk`c~>X#I$ywh~*3C}wX&9EK^5$sLF}^G0wb zvQ1;46!6SF+ZWmb?nxCHI&IFmORUs&NiRTxuN7^T;`?)x>$2Z|jlG@GhGg_7EvgDX zCj4MEk@&hZ$Zh0n4iwmHNsJ>>fbEGE0yC+ZqoUz#snh~MM!%9?+mc*=uucR0z1rW+ z9-&57PA4f)W&kgk%MMsvC%oVcVL#4#Cte2rCMbX(`8O;>j z*$|2R3Cx6inFY#8;%yNdJ8>RGZAvYl-YZGUqs=g1#fhFgMwFr` z)uj?B6jUF~R1p{J>$P9*z0uWSqccKPz*K$Bg6f)iDn2>&_j_yTS{itK&VW`%>`v%L zMvspDI*vj+^CcmUzZTL+k(ROAV?+XG8tC_9Sx7-N^6;el=`+|_>-2Ilfvo<-i64Ij z6Oh}5wd4}6kU&KA{!!Xrtuzyc-5&8Qx_+TXKu9DuZ&A-rv-_ezEd7xC{YyjVKvcrk z>;)up>WM~|7V^<4upa)BEp35n2u-dzELXoSjnCq`$P#9$$t2rPl5s)~l_Y=55wY?qi)`)PsE1^4s{BO={hQQpcIZLV}p^b`@*IAWx6SSvn( z`H|R<6EvkG5cx1PsSIQ_Dp6lO3UXEuHDQ)Dl31w>)icC#xp?n@ned-nW^i*2zL&Ec@zluhP(aXJd95G4H|57i4 z7F>?ktxCuh@~~?6*A_cB)h}hx)td#>w~MoGpU=mKZMqq~1A(ih zlgiYBn05tZ4_Ro(FnHNtGQnLevfPFw1B2`_0ruyzpsrX!cn)Yma(gyPUjiCRXb!PR zt2o{y!T^=g8$EFSF=P=1Shk=yZJpzlM%_ix4DEuo*n1GWo=^qvn4%3-Vk6iDjzQ3( z<|(rgfud|Ph+x)_WfuVzJfbbjNn6r9~V8Dp#$ zoIN@jv#b?FdbVx3I!VYaf5lWU&nLg(cshOLR7-dAvv&yKR+g977tY;RMyxb#*rVyelwTs#(){A*Z|Bxi!9ZIsIylWA zRSq1VYN!?sc`O!vL?Ns@>aJ>|Ejp`cSPX4bY?zernoJGD67i z=QJ|+xzS8++-g2_N)gITBeIZuy?sAW{`h?40C%uZne_lFhry#%)`b$&O zj$QmlwJcwE`^-OiVFrV37Nda>v?jB$T#LO4hbtf$Jfz?gxR@1m8dai=TC#2hK%iM% zL+YhXZ&H;(ywJ_a=j~OF9?&tgwOs&P*GvcDj%a^6NE_^;hX9S;HEs`gAE3r7n^W+UdSo_Mei?KMXTNZH z%z9S}JvOeJXXLN4E}TQab!@#Cm*A)L-#2{VZfDfC@CbZ8X$6-ogg?yGP^W-l>6Z9@?_&msO_}uxnPuz_H1bougMleP_`frNnK);PXut z+za3ldTurrC?~}5^SN7vi}#J8H}p)kt2{Eh|NSTWFC1H|`e;1h#dfAT%H4bs3#Z6CcgF*z6yDK3*}d>rzLwOU*CN8-?3tGHsPk@8zM-LBvt#ggjcR^Ye7{=_3(Az6=4;Zt*2DVPT zpMSibIU5kT=l$`i-QX)z;HGGZ))Atqia(O6pMAx$Q9Znf3SxSXI=my%pNal>;V`Rh zHlQ8jW*0A_z-@`{5W`ip0?kY?4nLYIfi@TPJE=?!VG_qv@vMBU^xm4Ei)nDwLYz!1 zu(gZm<7a5KV+d?7H|gz*SkUgQ1}BlJWbojE(h~lGt8cUNI3i%V^}_k)<99OSzxRS4 zRu*XMH+J`_$QYG~yc4+a;U$VIT z@yF^F#1_aGD>RVzP0hn6iBW}x?=AKrMk6A&(h;28zT2)b5}oetRaBP!!fLlBCjG#} z&FYDF`Bt2+ zMrr!6$`;bpbUZ21=NnA!+Re}|!s)rTY-NK~P&NB&=X0Rxz!>gUtR{>cOy36CCyUpM zN*_uY4XjO@fvie=$vmR1i;|xrUmh&FIDPn8^@`xc5YKMC;g-a*w<7z#kf+10}f!CvQs4-3xQ;iZ$F(OajPlgP%}h1ZTHXMAVPU7uUE# z`sIZyhBRmt<_h5jl5ZL7_F30}S?xF1`q-)?aj$<`rxWcp$AP*3nrh;Zec%u3fOThB z5}j2sOKmb=o(T23BF)|GA=X}q9KT#TmCCYbH6L6JH=%rjPcuQQlDz1F_KX-QrLN{w z!+aL-(EyXCl0ud--n&(ibZMu5H7;)HnS+xBlRABDf~tW9_Ma@eqLv z@IF{eyC49AuqMA+`xWTS-SuY1mCDs*kLsPVk`7C936mn1Da7igq0w|(yQ;LTkCkz+ z!xpmYAZz8CP{CX4(7X!8quMb~b=+-JTtz3#tEU-tDjcQPW!s~#^70l{)fs&+vx_3Q zunmwupB%7X_#Pl)y!$RFJ9PXT-%^voM&c=E@63nB3Ln%PC=?eu6xS$myUOAxRh0$0 zyK?rbp{*^D?y|keX>IOXd%R6y&)~BJo+T#Ni+94)N{8gI#M=_C8ohs3kk{;7Bv=HxI9OI zKmKQ}*BRDhp+`qpm@lFn%bUBTdjV==?4jSLm;_J&NCj08-V1(200_MJMjG*mfWrH2 zl$PYI(q)Y^sq(4l5|4wn7vxzE+NoWThe9%F!&c4N9hYB$nx|b@TsajqqOa^iFuo{$ zu`Gl(J6u19y?9zrDtJc)WO4&IgYQ21O)jTQ1VXPP8<0SdiXMr49rq3PP9XzyKD_|* zfLeC(d>rdoyEoQEOO5Z>n^(>tpdZqOi7PiKKuj)Bmm3; zPt1UuY=^RAN${ulW$EBY>-?=0sitm*t-=h(al`1swr444P-KUla9PPnQv>ExFsxp5 zvRi7?Fjjy38uqU+4GR`J&sj?ZoY&`zi)+1aY5(uCCrMTY4*s3{^+x>nviEmPIiY@G zlf{nw(LL7%Z0O4s$md@wF?eKA)ELcq0Std_B>$p$EuE;E{Hoa=J5RQ137jsG=#ofU zb!%!B-;;yDT z)aK%SeXciL+LcBmp4V@ZL(ymaq35b!mUIq{9E__m&V~WECc|oNv3TQDvRloii{SNy zTXAl}k0C;JR%Lx`?CKtWb!nn>#AtabPKm}8@X#=Z+{IfmW}7hE)R}41g$4Mjss|^b z;}TazsX}5sE`8QQ?|1QYgj-KFc+rRjx?`59(pUv`ZUeK8tuv`@+3M@O-Pm<46NRp& zq*DbI(?HXlt{7{c*>TlM#`I?K_U?Bkj&9|vW{W(;+3pBf7wyB9VC*QA@xh*c7uMu* zjZJ!HO`?_w-60IBXXa_;(2h;9(4o_i;PGo3yDS)sSmVh!(c90Agg7z^A&Pr=N5PQ3 zpcitI1*x!1(Vz%94;Iu=cRCmnUzCQ%+ExKmokMS~Mk?pHmWRSf4c#7M6Qo4Wu~?g3 z#=}|&giElnI(7kp9`7VK0dXC^U(Ce0#X$TMj+XW6(l4^%)56f35}DmtmBpa>%r!)| zYD}Vx&g)fV90%oW#u>#iPco)z$66XgS@gpgFa2r!Wyj7#-V;MVG9*e%sj{%VVpcZu z+91|<6>E3{QQamoyf*vhU0DrP12xOXB{M#o`?7Nsv)M>}`fUl+Y7Fe2?Tny0&st}h zUC*x!oL+~G7W?xl=cfpGV0F+^b^%fgfx4VRNP^0lx>TzDmMX#XB1j62Ss)>BH zxL79cz_x>Uaw7dOSAk_>pn>Yglsw3)Ay$2Gcgcgv(4?r&4Ek zYlX`)9e~WLEA#?EF7%q-3WnVv5{H!_hao%Ez_RDZ`ewfi#s>mr&CkCI>jsuPc)Pcl z&0txzA3RpQ(R+N*TEM&so^TE6pI*SG4gSOF2}|b52M(L6pdbRdrSaf^5(z6LVR6hL zL?y_e46gB4Hv=~~&~nAkFQU5S>t_1dDix~}VhmpMlamM!?J1VDQAVnE!mO(f@pJG~ zdSRUA0q93S?&g?8!;TxsWO-P>uh%jHfnZfM#v8e}?{61HF(6&Xu#yd7nj$FES=352 zoTIXVqu|1Xu4S#^`}fYGr#+{-|J!1|hBc#LU-R%PJ!ZZkZPvabs5d2>2 zg<5u|!!h}b!WzG=9djae`s@AX;I2D%hqgGK4{1V$ty6-_;1~)~0G7anqV}krTpU!4 zq9jTr4^5bPcI|||y$lDvBh#hrvGcsWnK@UXmTA;9Qw85E)iZ!ShpUcR(g>~c(7S9t zwE0xeXtSbfR@{2)Galo#k#@MOor3e>rD68Q_a9ZXtIXC!^BW$+zE?f`7iaDt;F0k! zc$`pMx7lNb_okcig*ag_5Y7MTOrlU^R+7*R`P#-^;Moy4m&t{qhD}N4HkIC57e_6F=4Cyx>ALL32!s08 zT$-gLx)Ic~cTjWFwI27{vPTR0%immE`&00+I3z!ZHR#A9S@Sd2^?uwSW+8!uodSX& zfh1rL`nmZec@jwQ@U<>hZ0f5*nCQP$WgQ=YP2*da3ts2c>`U}!#$zE3B4^NI&Mv6> zJP3yMu@BGq2Qa={z@*EX-JZSq5!S`EH+ZyV@f%2T zk8{U`jKQyL-G)a|@)SMVp` z&O`O6+BD#H2j-e;gQijrk;%!8yfeCt2I(Ivl2kNny}dF8!A%FCDEIT(jCFvy)kA(x zLsO&VruqHdiG8`^3??DY3iAO~?mCo29c+>aYITHn-e~+`^!x;n0zvQ~5Nb{Ke|&wd=EpM_o#53O>krK9L>+u}jwhgKCy!@XYk2#KUJYZ? zEhn>U=Y9PQ4zdl>#;ZiY`BkUcS$e&~5n7xzUTPGJIOSXLBNc2Q+CdtCSO8335)t0i z9O50Hlz4zV3c~9nLtD~$^hL>C@GO~Cn(U7qGA;>}+G&@5#~|QMBE8zBKmu@(JpiE~ zBLERPBAZ+v^Mq|lyI2{0l1jh0a|6P;SHTr390n`>;3-!6QdF}m2d$ir+in{f?)`>m zGX+-6G#mF#v|V+@pwLhr+ZcPoeq@*%ypcUFaFQ`pTo63a@vcZz{X%5J^#evrg5j?X zJS;Q~dxB4KY$9c(LyyvsJ#tZ8^>F1;+- z=hC2*Es8lO#|7?nh1+>Mf64uGY`-Gf2f_c1ce>w;t^S=bG5sw}|23*57KvAuFRA@( z1~kW7xBxCi#DQAeCSQ|LMLxE){^mOj35n+U;_P-7|G$FTqhqe4H*uVo(fQ0ahi1V? zed)ti)zE1n%r0{+|1Zc*Fa($8x0-w>dvUq+xYnnc%GG}^S~zHa4Z@yJ6+P? zawi?%aEYx%7`a!khLj&oeRTQ8JeZeT2vX<)1_Av80twL%*^|4MI=WVj58YOH+L3~q zt{W|}3;rWuzHP#Iy@kp-rR9McYPbq#2vj5@8@48>y6f=#=5*+-SG zRKrVxOSlaJFyOXt4a9A z(?!Ki)xN0~6ifmX!v{sIC*LWZk3tDbE?_1;yYq?Ihs3qAu?c@d%xe!0ZXq3EmGo|B z<+HGS<*9~BH9^j1&ewri0qGup5G)bqK^0P_Kz#^Oww;4B1Yy&=%-i}hAFcW=+4|xD zHI(f*2Mh#`P)^57#R<%NTI z=pr%P7YcixCH%~A$mUE;ee|Qs6vTTpvFK!-e!!aaz=6O*V&Ax2FQ=ZXFFy|^kQPpM zYSt)fxt_EeD63cKhrD~jGBoAZzSx^6CfnR(bBTBo51+0r>s7Fu{D}uu-OJwh@Ms4t zEIk<$5cy2h$AT`_Y6OSo4y_T66TGa>i>eFkFmQ&qvxv2>d~tt`8AqhsHXO;&LKiyU zZ^<9ywhE{#+ELK5Ua-r8FV^7|yX?o~)6GNr*Hc*7J4L))lOHDhTiZ?O_iOsgq`tmr zKex=9!%wc97`}>>2$V_?O(i!@lsk|vl)1$fQHOrulOOnjAb@ZiBZDx*FceNio)F!y z20K(0FKIMoaHa?l>sf1@FE6vbL3$dn)X(Ahv1;WO>y99Tai^UodFP&5&7alEjL>Tme3uAMW;f zxxcx>vuj&1cm=mAZ_AEe`_b>WD}Dq|m;i(b4o$6i8o2NT5iZyj)-hmKBD61caXh%! zINx*?biOwCDHFCsj<-&)&vy+BBWuUCs)}VInF#)p?E1nYs}@|{&hxYd%DRg2e&(JF{=St zVCA~kIofe{x_Qzlb66j?o?V_&^lGijBC=6dGr7uaz3UjPv#(^d?xZ=O!GW>Fwq99d z(m)+=kW3A!;ld+Mbl0kM({fj7Bi87F)z}ta6~ItY6S|n}$~MVQMq4dEr8V!;7a9-m+M<#h$**34U)AXlZL8bLm3IlaCZl_Tw4 zc~nq*j|+46iZ`j>G>%1a7&Fe!w!x9aFI=4nV-5792^=*q5F&3%hSu}gqow`2;$D%C zPerVt$&JmneeaSn^-!vcPZ~WspFOq-V+7HQ`?6;30^B{ttG;b4!F);MYPUHt+L%$v zCQts}`3;7dyk0tXm-N#PbcwnrG*-x~>4y#U*noTYMi$lYll$0P_V_zWITeuOV9IIK zEcZ0W9nfarT1z1k&TYW>tJ{%iv;ENhm*kSwB|!7e_b32@1Ng^VO$zywScWMNK!^QS zcgbTV^st;@S&o5MwOVVP%!-)-OZGVa^i`vXVCt?g zDTt3sN#>P49jZt}*$*NMK^0mr{hOL<)eL8k8CrZp@i)gK0xB+)vzEo@9r8-31mT3| zjynk>U};E&qA@T)1n56X;jI00=95^C?$~o-Qa08Ph-fenGFQ$;mFy-HaK;!E8hoqC z+)NfXJ0ezl-fA4E6U(Kmv}ujIK=W4*-Vo#tH5zz!?65lEMUQFxuLAN8Cy+j_n<2cqXbu3yW_`hMfUjI>HG<6D?AO#?CQ4&MRKTDB~SzP*y!f?%sp_c`xGKV#vq!M+dLI#`a4u@B}{%gz%Us z%IgO~nU-_QEU}nob@&WyVUKml2%Gow9046T;Ozk%=z+n(T8W1X9~Y!V?{>&gRnja! zZe~fl+W!2!cx&;^>Cu@mct3L7aAv}6+4y(HtF8D){w)bYlp(b9XG2{7Xb~oqYWP2;GHfB6> zaUkSGnI=?2Zd*paBi_7~bedA3E29XZ?INi5{=4PXBb>RJDWdewECjsN2|Xch`@ zqOQWIqM?Fjt&FVU^@wZNz;8<0vu%Na-D+JN?MrbM64zk0`{7yj&=HDELQhX{VBc)M ztrs`L3c{)^(^@-(SW7jEsHt8|&UJMelGj%W+%)eyFGm!4BL{x?Je<*8y$;H!9=)$z zB!e=n8T6(;%9i>3VHc`Hg29_=(`~%AULOsia!Y2DrFc;b+gyl=wBKRwu(%l2;~nl^ zx2X^`(y6l*t{B2sT+jymG*El!$FA~~ZPbkb>_fl$5>y<gh{vu8&IpWW4{zc^*r+?s1=aJ;}Z68#{`s@&!OrvGsIbX_Lbyp0x10 z#J5TAgUIzNt9yv1TANf>d6xw_v6^r#W0XBZdrcY_G`SVj_V*u_rdxkm4O12%PwY6Z zvZj@Rw6VSRyrmekx~fudSU+uckD>^{n1t;G6%yvr8I~g**o?}~K)-EbkVrwu{xQ6R zN?Js2!^SemRhUiHY!n?PiJz+IaT3SE#iB2hM1WFes6-jB82JcO3Ilc_9nfMvs2(<_ zWUfkp0C(IO)L9hU6gTN%d3;w9bb*U5{7Hw-`xje=#7eOrmwEZ5?KcJKS>@bi{F|gY z?hBb-A+yxCB0QzhoJ)Nj_pb)};`sT8uRRf{I<}$?iH}}q24cp4I#wk3?DbIok#{$2qkCkAay!Rw90!ej#_(@l_^>a*-|F!2)=>YyA_a75%JBYt`+~8tTkx@j-;Kq7vw9f0QC0|EK}?*F?Sy@E zfJQZ#Gv4(S7bI|c{Ws{i)Xd^~&ZPi9fm#gO;74!YR%BJ3vK5XY zmqYM|%&rSqkG&13ZdR>kZX1ybRWpBQ?bV(I2^}2cJu&m-#JY}#l=et5uW_B5u$G^& zc0L@+c^MI&5W`G%OVSQ!^#&x{4>E(nMHz)soOnePHgu=SAK8krL7*`3!8nlGi1>;i z6!|&1$hy*w)3G+n%rPlNI~l2bR0VX{JUfk5QnRris#G-#VN9(kZubDg2JpoxVRSN7(jve8k$@c8FQgg*B&it7~ZiN3- z4G&akhHh4tN%mnqz{J&>R6qjbUJv-$FJ*E8nfQ+oom3=p-b1Qd8;zSJVYyqhc3~_S zL(MIi^@qI@(;Du#H}VUhi<0L#MQ;p5Q_zZM4G%^mcz|M$wH-8eZ9)0erDg~MDhGBM zAcpb0UjI0?G2XIU+O&|!F>v+2>2u_%Tw`H@v6$&_T_iy|@9(5m3Ivay_j8Dv`_!}T zn#H>C{6YDqV!vfu-pV}5m_hObGLkuHo!w_H%lHFghC`}fFk01qt*`@`%_~& zId-q~JkwZ*%g&xciUe{wMmiCL40!ZvcK(w!*LW>>?BW~Fe0v8jb5Rj<@I@Zyp7-~g zr?XtXPxp|Me6+iGR-NT`4X&WV_*7u90APLF>>=_3g)p;YZ~@r_>L;k8Y(Q|hCg7nG zbJOE)2ZsBmPw(DK>Rez;RhNWvj%<%V6LZAz?S?20E9z@g zIxcS8II((>JdJKBs~S4mIIz514gF#&Wr=eXMPVG%~%CHjEiWn=hiriEBjrpC8k1 z9;{MIxXb57MyX~K8#}~%kKQXE8o#|}odyoZK1!4d^&%*B?~no}yuG``lE=8mhUdA6ykRmr9i7QfJ= zL-D}UJ~e5a>9;U^e)jDF^+tnd`uUG4LiP2y%;;tGJN`iqH! z)Doq_3nSryYz6&E3u1=7J~9B_&zMv(Wx&0~L1YtjniR?YoYhdF307=-Y^y@(Ogmkh z0N4A`BnDjlr2w9(vqi<=>?K&X1lum0@ld@IbA`Vjrz?EC`slZkQg3P_J4jjDpvCg4 zsaq5zkvwJj0;2nrB|=ub+q}c6i)yDXKV*7E()uPf)oh>#tlYs;tAOXBO$Ck;PD#-L zgjf85y~|B~dk-hIfI979&?&*$t0i?6UCEIkjPQtPhN^3vDv?==a&L42)bT}6oj?1M z-r-aZhqc5I!V-IJ9AD_Ai*j;Jl-+lZzO&(Z2M6FEI9;U0YWNj?43eumoVdhc$rV57~$RZXgc#*X1XH72Jv%9OlFSYVRw<;#!t=2X}XO z34{Q_CBYqnySs(p?!hfckR*`c5Foe)cXxLSF2NmU?vQ=XNj5v@-2L63-?@uf^E}K< zzpJWNS5>d>s_N4x5zaSP!0R;G%svs<+~=np2ClgK6CvjBk1L9v7A(u?5x0b*vgr++ zoVy8cvQQM@74qv7_k~6q^qYGkq}KMXo|OvrROuRh#M3hR$U+Mpg6fCgGZP!-hlT;m zc|yl}Tq?2UYbUHwX_H0v#a*d?d{iyqjMURauu3La>nw^bK!n1H<{A#ESe14^=(*g6 zDlJg~;@Rg8?JGRt=-GUtowVbDT7CtT+>hTbzmI?WIQ#7I3Y~G>-plp6^MyCrWtxZ+ zVHd{pacE=;F_p743H0wy;r{3pJCCNR;9Y0KD5y1D$H5<-ruZwAk}&s*MD?J1JaNyW z2WekiH_q;Sm?flny_8pY88oSe?T*o2inJAo;YV;Rh%SsLS{fki?qtexp4wDpwyI|u z)NsA@xbRxwDgZ{ocZBpkj%I4%E-M{5E5w@tBR}0KsQ6O&>2cbpV}60uz?XU)CQ2f) zNh#}G5s6LO@JuV6THbh7wMv07^7)le9Xu8C$UO^?YhXR)V&zl=48;zKnVq&~(^-<2MFB*pl())=XOirE)*eAXu*ub_L{ zQIE$_SCrYpC$#KIAI}4g&gMsz>W6Tm)2svcjV0~va9DyXVd#OU#3KJ7pWIz+wcN*D zyzXJry>eMZXLixX=(|ek1~JYE)mnMg>tn47+qjJdCC{w!{b%FVgzJ5zwf>*S2arxq zd?9`}aC3)5?Fs}NeY(G4^m+a;`r6=u8}=QU!8y4_Bf$wxEaC@j4^&vmxil%fG--#& zD#fuDQ|~hbt2xS3icBQKk29sTxSS(yHL$(iotTG4DDupQrkqU+!|y|J`o+PE$ly86hN;?axpQu8ilvqk+yQ&rh**9m)q=U>0@*X27DNLkO=YnmC& z;7#5rJ^sS7j~(}hpmw*BUZp_uZpKx8!L&G}QAhV&?L8wsl;Kc68LjLRC*#69Z`NBg ztDM|jcm0Bb6bx%`Gnv&_69=+qIM#-y#^zP~1GvTC!v=7Vo{f}mLzI6E$rf=4h?Dq%{$p1Mc}`@ax4W6IBqlMpy|56awqL8?Yw{dYNtP8>GpW$98^tK`@0OEz zACjAnrHs29+N^cWz+pL#_HmV!7~NTHQjao%l@iwBP!-$hTbf&Z=u=6tmL=#RsU4uO zJ?Rngfflra8~nP?IBd$rkGv?2ww}!HEf{bVQcEB49#@6o_oz(0GIXLDCw^aZB)>2{ zc-(;PxXL=n;W}=p^yS6`E80MIT9VR%f*qqy=M1K0D2FZp{P@0gbaWLBD?g+T9RdIKC*a;4}xA3tCUl1W8M?pohcX@+Ljl^ zho%W;9T|lV@1cD%j!lmhpMOJckE!+ZfQDoa^=?kvgu}lU-8es4XS7jVFJBZVdtwA< z|2i`K*&w~kx#}Kea6&~z_#^Xn5-L>1BazX{orXD~YoEv@F@)!9V@JP-%Goz2x%#SDOac=75u0HIuP=WRwq z{hDKM24g5OVMDor#fOtR^Y&`&WuUam9ja4x6on;=sQz_LJ@wrh1O$zKfWH*-=WjKB zbW+gd;PPnp&BC+=ALHVP!^@t;9gBY=(PIkAv12T>$Ega|3RI2dB!UTdgqBC=Z9&g0 z%rHUi((hZ4vXz=+U^-wJbk7J!f=a15CWj)%mh4y|hlGe;k1ImuB<@RqDN8M``ML#u z?rxCvCU7(>nPfGS)cVplVqJb zBU7AK@j?3cop_e6VVlr=@9So7;P2OaUPIS1xq{<>8o_Zul;EfH`+7OQ#Et(WL+_8E zAXb(iHeCJJC~|R3u{#21L`BRH2urN-!S9-3Z-RDgvG-@0ApaRePEBVyIzd8A&P6Lm z=EJ|~wZxO5*RVK|P--*#>8A#!=Ef^a_txA;SWY5Xu;vwI= zbycq2g4NgG=b~7s#m9!W=5>%p1|Am-O?}C^)0`_62Uc6T%LRF@ajCUzON8mF<5t)# z=j;mI0O4NG$0{^Py-BRJk zZXeyt6X)~5N)8f(1wIuq4(8pK-fC|$vnsH6#DeQKkIq$-RF&MNhUt7K=E7k-!b$DSh~gY)4DI9f$SXT3Q8Cr+ zGFTmESceXGrGzUukqTHwX~X*T27~$G&A!=0dWL2S*{IeJtKkmU-vOOm%L`}kVqV-_$Y#cSh}(9aUd=Au)jX_Ftb|9r=BahLEaTG4f`o9(4%brWEhB z^df7ph4<=W+Q8!J^~;@>FZ&pLy-rUCeh*>O}YEDu5%^!&%909b)666lf%81!f%6jQw)WW zCWg)!uk`tl|z)9HpKpr92k+xGC4pZGB@qGj0E0$PR z12_!7QF;LD(KA7QymaUg`&Bb(zK;Q<))G%hb3Yc{b-PU^UW<&EN?g6n^J)m`PW*_y z?HQ2$EV(m47?;6=N9`76|4FqLWo4rPjYpnx8L{kvtjgM$>%~>mZ>J39^%IBkz-B8I z{co79e?)=*YPLF8qp9zcUj&F@v*Z-$>eOj?ar2uLD|WxY4^PdK=E^^fi%V&j!h(|w zo_~k!>~{I_#5*MG_WNBGLm>*D?#MVB5h+hq$L^P&h-(Kk{S-Dqn}WBNA9GEWPu_cX z@ZH=U6*tve=jy&s%~BuG((091kQ@7F_Dj{O>MRKdQ}INdDOJ8ozJxtbkJz>9RZ%a3 z1F@}AwwMjtNe9JA@_Jdf+q}tc_*9uIrQ3VypeAh`8!iuPw4+JH#YbFb=em-|`KlxN z?cFEBiC%h}o7!_v&y6w{1#dL6$+hFZs^%sTUMj!G)zs4JTvQ?`AG}f{EH8S7m$IwZ zaHU%jaW4CAhK$R+mBC@(=Fmt!7%$+x`xmYpwwYuf9+$Cgmq!c>`Fk33?+YdCN1L#o zKpX4{>(CT7ql2|-M5>=?nq=NH28uhHE}X(5h;U7nc;8hb-bgkp|dj|DbJsC;Ru!6A)ZmALZs=@^KARFIPUZ+4n%%3Eel(ID(UA#yb3} zI20s8Vb8vOXusgdd+VTMa-jiP+XVos`(lX?WCel~lX)2y(<5I8T6`7>x1Tq3IXquFdE~C`E zxTEbu?T|NwRspXKAR(vdnnm8VQwVqfeQ&N!hbRd3y0;gN4z%J13+o-?bNv z?1ahHszd$6b_OHtp@pScL#5E!#KXAchj+1x8Yxri8pC`+r%g zqh*FZ1rB%$q6=Kd>`w`w|EweNOTms`s!9BiLi>cA6}Yq^%(8d7D@%Da4PV&X`0klN z;k1G{QbCPxWL7fbO48mp;fcb?h87fQQO$8@8{cdy1iVnakNqc|#gV#|P!V=|!SxU! z7YBzTn5YM33QcU;5#J5Bq)`L{aUaOeoP&kHzyN#QI}4o<|VpS*^Dx?5p}^a=NZKq;k##3O7Vl?{@ium>r(t zkr`#%3?oU7?cUAE&#^}WT(qkqA89L<$;r+H$C+L|vwS|^L9pYwX+A*TrAq*^p{FAX ze?-N{Xw-{XR$h}GTUcm3I%#6fZ)KfQR%kS;7XK1Yx#}jNbmm0c=eP4X|MO1v!=?T& z>tz3PDg1~({;!w9kKE$_dMW$}hWxLW!jIsc|9UC>Sm6Axm%@)3|Nq5OVEWy3*)Ic; zUnkA}zZm}aj2IBX_x=8$0DP85!43d#6mx%qm%sofw#Et$wswxpP8QBKMz0JlUp}$2 zGc^ZIgO&m4(&AF$00;;OfC2aq0Gb1c0H7ct?_b~p8vKHRhk=2HhCzgb11H%aA|oRq zA|aumVxpsN~ zP%{7n9uNZofP$a|Kw>~ZVL*V|!L`!?5HMhB?+O0L0Rai75f%;}0TBuOgGzJ&Bm@)` zBsA1L)!<)ygTDtrW58fiunNIqDH_62+G9WUk4=ZC5-x4QQ5rd?dEd0A%nU zB#;XAgo|VUBYDQs zpn0q5GJixlC1KR$tC+=1otU9-tNTjoHGW0vEouY^5S|Id8bSsEhC8xAfMqBBTU7y5 z@R#lvAPY*EW=d)g_ zQ=2185WuBc<$(YQo58+YMx(xmyv#s`pcgi}Vj=8mQNO#OzzYB2&>gatJP=L{1n5vc zR~1OOYu$`?bO~<-0Rm6j1Ws8k1ujYOKmZ(xhtxhxkYD$;bL{&1R}mGWuxXD~X1R_P z@7qqYg;;AQ3TB=2Np;Y@uvfQ?l4cg|t56g(Q&1Gc2K<{7;&^KR0tBGs3KrO-1Ocw; zr`kErFaGk;^#Ljf(A`K{eDa)#0|f9$>N`fH&uDyi3>i+J2H6;L7X$*VmFxOWQ~KT! z;CLPBivYol9cvaf?O_N2Bg5+>m+o4tGxDd?5#=SKZ~K=|iVhEMBUW}m0JfEK{fj)WCi0AM#_ecw`iyV@h3ii2rv?>K7?~Bum{GX`LGLY!2$ucx(m7oK!ABh54Jie;EDWr<&8TC(4#j3 z0_?${0poSl2PRIV_cy^UJS9MY5^RBMMSFcNl{FCHJGM7mGzj3H`dLv7XD~elr5jr{vPX-@4VciP?I%Xk-a1zM5_DyQS7f7Z;X!~@ zUq}#OsZal?nD4F;eCx#zyY2$@K>#tr%izY{N4+$Wt(|3s^o!Tb`pO$eHS5CV0Xgrl z!F?ZosX6-U;*k07wh{y&6j&j;!~g-F17Sdbro^Ui`pFgQrNCl&;A_)6uR*eXNf2Nt z-Y3?#mFtiS=zWU>0{Aldc1B-{1EGC~n*4na){8HvHukZ73&uczwD-RHEWq*T+bfA} zyjvEX3ju>Xs77l55c9#pPojv+2+IJ81uFX(j2>T zves|DS_RGwIQl-6QgV~6z!l@Hz@1+@2rwEEepQQMs-yyoPw{U_R`H*LZM#tt zI9Vsl(tki@(bNhsb@}7-$s;d3(g>0|-sIFhwa}tHlDgaSDS}=7guiHC_ke@DAxqqs z-Cnh-Xq&qid$>I6MQM528$VR8l}z$pXaC*lRe9qLHY!mo(Kql-z;KQu6z_(IpZL_Z zH61gD6xhJPFZEG@hsH=5>{4nJPe}#tHhj{-mZQw>htcpZ zxB>Wfm#-dN-v)pHf>xLLjT3i%0&AK_u6I5{;O@uawS*4lr#83mM4~VO1Za@hydqNv zYwQ)oh0wjq{+ko7PrrKUHgpjmOgq@`ZDs1CPwl#f@-t?*mBFV?o_Y&t2GcGPdj#db z_&nVyXlG}?SONm9$X!AK18q^jzA}Sm9>YrlbbcPcP0^q^{^O}IlyB0^3aT`$x>}JPFc;<>^$(4W6 zsO_f95`i;0uv8Plj&!Max@a+*>vtMa7R+XEY;TGjBn4fxPX3MDevk1j5jfR~ z)CmWHj>g#Qx!&iAC<#Riue!h5%xlYHx8&un@M6pZtqCuLFS^u5G@pPQy{;q@$?3iZ5d07g>&gsGy6^ybDs&b<=-lN;?eAm%0C zY7cF+$cPu(mmYW&2Fvp*$9TAO1HWZ&>oOh5jA8~%$rjTmFM2ZsShtENm@k!mzB*uJqJ4+#=96y2_#ntAGIm!YXJi)Eb; z>ZTdm<4=TT`D-7etibM>{u=#Hu*3r zI1qqB02&0CB5JxrWVj-2GU@hR)0P2ysBE_7a^{P#w@uVw<@Vfscdz0&XRi0InTiYS zng`MDPzu%wuj_ue=47yI-h=}NPb_aX9X}}mJEU#XrUM0FE!(~peMS@E^UHe&`ghOE zvA)tBN9J;Z@9N| z`+4IpUuR}q%8MM%$Ms}w&H5xB`;~Dde6dS{N}~}RuvS!NsHFa~HhV@Gs9Xy+X=-9Y zzZp`IfoA@^XQBAQ%Gn$^;RYWAe1ac>?t^~*weic#A2l@pv1UHtFvp4B=$doT+|rQq zSjH+pEG6Qbr8%Z&jtdz8QV4?yo&{jh<9_|*NF)YVC+ttm(AA2!h_v8K)b0i>(VoB1^<$*og|aZ0 zsGgngBCh205pB%W2oT6k`q$k=XM%E*D)kBEy}5T41USixlwF@$b%i) zwIDokjtBw?36s9Oa4*i7>`N~b2~1UnKMA#S$4uW%qY5ktWf2HFltDDaz$kh_sWYgA z-UnamhOlD6*S+hq>3@;1#;$?9Wj$r=V13fRUA^fc%tLngjh#v79E1XXqZ?i=ydpM_ zu{&GJKB>9G>J^jzD*H(Nt#tfeofM7q`9jv9+>f`5g^Ee%kWa(4UFhG(naSrDEEW=% zLJO%pYIDy}pPNHYkwDyu96T2=oXEtJb$1ivxRLe^@()nnC)M$2Za)=5S&*d3M%{8f zblfP_pC zYw`TdgiIq|=X+*U+)X@2Y^x|$4X&Wdww8lLgx3L1nL+4?J@>FW>m)r6^^uh>@* zs7qF+)YiH%0F8E&m>H{|ar7+O z6gXsjf=OKUQUkVx&nu*ikSqn;z>~Nx{EKH)bwu-=l0!{8*)(V3qbd#zT40o$==$RK ztxAi|{#yavdPBXfn`?SQwH3BR9TI{I&`=GK=y!qKntfRxFu?`^MG*iXerOQvoh^;6 zm7UyQn*J~fd&vtgz9v?}|#&Mfa{ z;v(EdVXte%s^=h0A(Ktdav(4uB2ikdEGW?x$$n6#ti)qh+ANAKVaYIOKu%SPHki!H zyW%GCVAB<;=haPD_s5rfG_-3azU<5mm@{$taWP&W+k=doa#?nmQ^yu%jjPX$>nzZ*7+CLb7Z64t-puw^l(vDQtun5WVR?R9+De#Bj68r#gN;X#I#C(^KBa=S+9-gD!>yFP#W-Iom z0He_Tl&zP2BdzZz;w@JCt)wgL%s6ngNGfwtmbvJ%&M`U0OR@9PKV?gz zI5R!7Vlhuz6lNNk$#U-EN{3?YlrAo#Y%q+o@NFVu$0#)P24;>Dh zc##we_Bat|!sNol@Ef3sKwk>3x(f8Nkr1-$!)q(OsMf27g|X;UQ>*LN{+1!x^f z7$dsiyi=jNtP7N$0);8|ht`yV=_IS@g_h24aA zEr9Ikddu-G8l7(1m@nCcOS3FFp187#KU0J4X~8Z(vVbp6s_`d6O^(_ zwZ8G(wbQWr`X+{+fT|Z0Tr^#yCh3U}a0bRnPn^3GwVQ60f2SrkzWijp48Mg1b8{M* z?(k)+TO_rUy9TMF6QqZ+R*@=0ltZNCDlbB~(0)`;U}TBoXO&t!^B@F1)N`*}ufmi$B!0OCt?O)x#A!s?4QMa@= zRRH@ux2ZAc;Cg4M*;--twCb?UFlL4YPC6NgyLeFP>8;!Zn?2Bp+o-vH-jL%zl@=Oj zQX5os8Rb!;wNLoe(5Va2_GYm}Q@fQ-g$GYJ&xeTK#m+Mi1V0gFW^Pc=A!*Q-E4zPdtU#68ksbbDCxCCa1cZ}9D(z9qR}uyA&a z!5jMY%=hy2s%Q;V){kJFXq^?-$#&h#6;DE6cg7#;ndB~J6hv##b9k5rSWh9;%D@QUJxx%yV)k=t` zAaKSGlB}Mhmws4_Ato4!N7#?Szbz}lfc7P-nyK4A#jnge_-2fS;0dLeEG>(|rYG(g zX2fWWJ;v{V*V8S2Y|tVR+!6#WAM)<0IZLPTw8^W(AfXGwEP}eZi!DmdSe>{$l&=x^ z;3~2&2}S8YY4W_K?lmqBeH2LVaQ?m`&R_#o(fbfe8gaop*`RHqcxkSh9AySd^x1pI zxy0uF`Di3wq3N9ZK4Yp57oJja30qRa^o9slF*=LLQpeqJlp(X=0k%l z?nu=M`4T@ZDI6}`E=le0X6r%>EGM%MMCBjb|Ufdz8b zboL_co!5w!-zB=?87J`0-E{5Rd~M6R1UJ6(buU*Z`nLl+t9V4m-;pD|6MTPID`=K0+o==;;Kq$`fpXMtQv0gOLdI zsi!5X)lZr>j!21eGbeU-T(F>H`a9EawW35yX~#yy+3GsA3#J+r^s9^D>1V1bVw3x+ z6{}+`ieU9cgp2o7G%A=LYe{=kAl;RpA`-tqRl@t$nDq3uT|f*eqd@jC9x3_K4eVoQPL8T(zF*&E zD)4MK$S+JG*-#I>h7$ew;r#Y!1@(%!;PC;`m(lTt_q($NI_gf+^&tP4%tSde1+W5* zhY!9{ehlw0Rwz=w70JCnX251O0a2RI=xn=t#>rQU6uT5+<@_RBlDYf4&=tuSJ=vW1 zg3(1~eb2W0dA4gV7=5OYtb7#mD{h5)3Oo~(`VJ;#beD?N;e0Ab4<<qTGOQ)M_MrXD@p31g& z`{2=6G${52uXv@$L71`6TPe@PuoY$V@nU$Z`Ob#!$`GC#$kvbodBu~&`q(ET-PjBu zgncxzF@yAz42IF9nHN2;Y1jf8)VuqrIYdKf6<#eDYti4ecDDt(6Dt{aib=w%o`ybk z>C3vxPs02NEg2W-$63k3kcO_TttUfL_~vk`!l{E^e+*0exU7WXV+=i|MiPzc+}Uk9 za4^H9KD2@U`g*p^PLJzW4!PN)zli|1?TO|WkDWIXi%h&?Bhjx~Y7emP0IXE?kHYH_ zH4+6iy?F6e5GzgW$t#Za<(ak*YR1;^pYtK}1Y?CzgddDu@m`^$Oh3*t%6l1WUKmyngdeJ3E; zamPNbaDP_T0b^%W`#XPI5KDm4EX@QW@)K7j1G^bN$bddrY5UfY;gUz$^0v4KfQVW%O!bvK)9Z zlu{wr!@D@Knz1*lsXiqahW0A!?PVU;DUyA~=k$$i>4*zgWMihWJG{xI^C?-hKHD2> zGxmvA=rnpO2n9p3jn?#(PK(ls(#sq~mal^OiW`(zKqET@4jk~;3&}Tk6?_O=ejbeTH24@&w zvLo(--x+HeU$PfiWXo4H{w~VLqq75VzA_jam$ogNWu1Rk-#%RxjltoAYgV2b3WXIp zQjlY7h4u5+D?%%1IS!IMtC;_}*-;a_FhH({moa8L8+O0p#N~N!+5G z&6<>3?H|Y?jOL))Q(nnJ#iFFVRbs)J9a17EBW;9s4ZBn$`b@K*X9H~pYq{*zS#^uj z2(OA$Wc_(uA){0vo|+V4vU`4+kWh~E^Ok|XUvl&Und0w(;;Fq+`4Ob6laT8$lj0~^r=F{=u14O3@6|9MY^Y>uwU9)yqGjbHexzK+HX&_oB*Y88JfX< z&posCj6`b*=y$lvZ4cFemtO6ir?B6*t7IYhwp^SD=c#Uz@`SN%YEe$5TmB|YW}l*Q z!wu{>`#dwRge;?GERkd+d5_6U^93(B0EHa@$Ke`@t;hBIh`xZzt%4a7=!#Z-Ew6Yb zut5}Zq|B}%+c?O5Mce0lo!SOm*!ryA+9i-d4|k;Qt=|E4*ya@$f-E&lY_ljN76Lz= zzkWTXz64}Te&}1(vWj}s6wOBccD1-J7HH~B(>-eYHLtB?KPrzVS$>wI=5{D7 zwE7mND_({}Hd|A^SaTS?+KOAs-a_`!XN+h_eCOYqodXUe!fE^J;04U9wP{22eCh`JSTem|+PVd3 zAB!>IL*EH$p#&dHCjCBvAk&1(Itm=a^Azly!PC7z=6dZMOdWp&D&6OEei>D?og+sF zEMG|7py3`svv9sC2JfK23NJaAx8qCZILffVp7-J0iQK8n)h;=i z?imf*sJrO~VGIszSc)gx=PQMPo4RK@0qtKd8;=l6!`9X zfTnbKk5Mte7`{rl`$8fwNS}al(~XlbS1eT9RWJZ6`Uvt_I<|3eg#ug6T3z&7vb{>f zT8_XrJU5=bgBCUL^B3PjGXbUj+Gy7-o0m$@gNmQ)sP**Z5%Rmj%sHD*3I=bZno-Lb zYP&F*qzpqEzfP`jyGoENvr=fpdv%%7A>FugjCV;&HY&PdYOGhv4U zEkj_|ax7%Q!A5%q7z<9?FW6gF7?dC)xmPV^^V`e2I~HK8?+)i!B-_DeIywr6+DN3= zJbS0PwSQ)&IB)Y6IZOM}b1Z?{f0HC^^)2jp*ryh*{MY0e70tPQ>!FsCP&yv$o%Sk| z6JPW07#{lwmI?fpIh8S|^AK>yWcsCJx>%aJ{;Oj~D#^*Wu^=~49g$_sr<)QI6->&J zL*t=J63u6}@4ud<4lf_spZb=wfVbD2S9*7Q`)PN(K98{qB6{{i%F;qkihrz{rSitD z@s-0#GXbn&{O2$JDYg(-UM}7o&NJd|7j@>M1}s=S`a#QO)IwihYb_T#8+=yN(2o#I zXU1CZ;KG=^WfyLmgo7!9Kk8M z{5(NV3M0CE?AXJz*Sz#1I;0u7gB=v}^pFWx63-{BCosE=^k-s3A2Gza;hjvwmgjYs z814_rb*1E;6NM;wcv5^MzSc2ocv5L7Hz@H9!h8;weM{(W7+0-GYL_Uu(Jp2-_9GE1 zC*Vms0^Q;Z9gxyI0-v&{tghMz@sFO2aNlcI1u|u3S6dOJBzmYhqPO9tK4{A;~kKA?VWp;Gg_=AMtTQ)@|hAY4QN? zkmYBroV)lGr6p0H)Zo7u8*`0Jso`>bwwbjRc$;I{=Rx2$a&giHdd6htsVc!&@`6y8 zGA@fAav&_|_Cyv*jR=K?*H47a!&m)~cC%C1R1RuV#!ivNGU+5ol;|Lt z*tm-;?VSu{x`@5$7o+Dd_X)WoK_wi^QXifh!F)p4Aow0=&qg?shV7-osjYnh*}^)W zCg>R=C4Bh)%pjr8J-t{bM*3O=ifcsKKI`Je8-uwjspK<@Zu!Hh)%^xrj>Otz95_*= z7Dr}pl!~WJ)4h`WnZ2)(!rr5`Jvo$gdR*OHU+T2me4aff#I^N-rwQJ+EROsW8q~=} zy$I8u$wgxPX?qP*a0_t*dB(7U&r6WXRllBIlA|cyc3?a87bmH*6#jLzv4bb06L;kb zC=fv76f?Zew|?hg#R52Y;4(9Rooh{?EJFd_cQx?0=)d+xLp!_w-x+@@V3vxU?Ht&Y zqD_OJ32gWFsPG}h#9}GC(>0;mEr;^O=2}g9VrsrD6sJD!Dk_JDsl7Utd@e95A3t;E zSl9!RqCWX}%PCF?lD1muy@Sxj%+3xG4QWuUur?IZHRLC~lW4N($r)H;hC^ye{H8P< zBQ|-=RCNU;0R&Slh9Kw4X7t*prDEw0HI-LGgvhk1qfUv(T@lwUnJ`R!*#k-5cTEp3{MwmK(E3Ktg_X7}fjntV+;2^)SPRl&x@)AGJv;C-_2oPSexeS2d7)i~Q%0WAg<`u)t#^XFri18SomglEYDr}r zW`8N+C>`tE%S0`X(qWORzMx=JyFff)Pxw)h*M&kAxeYkIFdGn?aNQ%ks}l!yi)_-L z0z)RdV4lI}1`5rN)RG%5xH);5qIi^DkZV4rrXqIi((qnMrK0fT3j3&rn+RA;f94(H zQW0%}$Z-j>#R%9kZq7w@W%?drx8c@uSZv((4f*530ymeCesmYnu#&~u+PF4{LvAl3 z^V2s(K4yo0dakLFQ&;_Yz+}*MFQ2K;rT5zzZU15B70bANh84l!2>!?0F$TK^A!AIw znh46T_jopg&QS%N1lXT{lp8&4-<{o@y_p7CUV@(#|DiJwkW2t<04xB!6*o9+-QRG( z<`S$mbKtP``(eeO4{Z_KS5Bs{ob*-P?MxkY@6|{_=Fb2Ymrm*6cw@jS*a;y0sWmJ3 z3H6T@h#wgb4;w0toxXhpZWIZw1C0HrhNj@m&igQg`=KfL;)YI^wy%D7X`&|_aLC|G z4}(Vy_x$}ln!(jW?-BmE{6n1Il9Oa~u<;p8P62qi2E5(KF9!ygzBFr2pOhwQ|APEaOY;lzFZSlQ zHtgTie5UgY@;{aD7vw)a`uEoH-y`4X{vG6>Dc=vJ@$Zo#^#2a>&ot`4j|^w1BJ?N7y3-%@{c9NW@@IVLLzIVMWIs{P-5#Jk z2r7Gs^e~9#Cz7z&A4m^FY91myT#)>Uz#Z^_mS2`9AEG>5b@_?%KKKF3uWK+5VIEGx z{)8C`{{!YvQ?d`6Kb!~r**q%pAJX{qtl&d{hjVQ|0j#3_0Ql3)+r#F6p7i