From 8c4c754a72c54d7feff390fd0c4a813f9babb59f Mon Sep 17 00:00:00 2001 From: tqchen Date: Sun, 23 Aug 2015 22:00:41 -0700 Subject: [PATCH] update --- doc/README | 6 +- doc/dev-guide/contribute.md | 2 +- doc/img/split_find.png | Bin 0 -> 45878 bytes doc/img/step_fit.png | Bin 0 -> 63274 bytes doc/img/struct_score.png | Bin 0 -> 74656 bytes doc/index.md | 7 +- doc/model.md | 263 +++++++++++++++++++++--------------- doc/python-requirements.txt | 2 - doc/sphinx_util.py | 10 +- 9 files changed, 167 insertions(+), 123 deletions(-) create mode 100644 doc/img/split_find.png create mode 100644 doc/img/step_fit.png create mode 100644 doc/img/struct_score.png delete mode 100644 doc/python-requirements.txt diff --git a/doc/README b/doc/README index a14ad800b..ca391b77c 100644 --- a/doc/README +++ b/doc/README @@ -1,5 +1,7 @@ The document of xgboost is generated with recommonmark and sphinx. You can build it locally by typing "make html" in this folder. -- You will need to rerun the recommonmark script for readthedocs in sphinx_util. -- This was a hack to get the customized parser into readthedocs, hopefully to be removed in future. +- clone https://github.com/tqchen/recommonmark to root +- type make html + +Checkout https://recommonmark.readthedocs.org for guide on how to write markdown with extensions used in this doc, such as math formulas and table of content. \ No newline at end of file diff --git a/doc/dev-guide/contribute.md b/doc/dev-guide/contribute.md index 5d8f7c26c..03060ab59 100644 --- a/doc/dev-guide/contribute.md +++ b/doc/dev-guide/contribute.md @@ -5,7 +5,7 @@ Everyone is more than welcomed to is a great way to make the project better. The project is maintained by a committee of [committers](../../CONTRIBUTORS.md#comitters) who will review and merge pull requests from contributors. Contributing Code -================= +----------------- * The C++ code follows Google C++ style * We follow numpy style to document our python module * Tools to precheck codestyle diff --git a/doc/img/split_find.png b/doc/img/split_find.png new file mode 100644 index 0000000000000000000000000000000000000000..f6116073f6d1c138cb7ed73c02f96a13ccda2aa7 GIT binary patch literal 45878 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�X0+@W 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 WdlVew?cgimPfA=~tW-qb=YIhQdby?m literal 0 HcmV?d00001 diff --git a/doc/img/step_fit.png b/doc/img/step_fit.png new file mode 100644 index 0000000000000000000000000000000000000000..b94b5e1962961d2c3a268935f0d1109febde94d3 GIT binary patch literal 63274 zcmeFY^;cY5vjy6O1cEjaAcWxV4k6IEYXZRo1P|`kSa1js+$}f+cZcBa?(Pna+uJ$k zeCNCOj`7BLf57{pSC8)9d$U%pT2(dYEP_7BOQ0dYK?Z?9Xi}1*iXhOl7T|^Z@)_{W z=vUh`;0?}BQ9>A0JoI)K`0(6VNKOa@Dhoro*L?weMzWSvw*!H&?Ek#rmW+sYP zDN&(M&e{hLFVtS?JPAB5KP_KjU%7i8Io-)O>{vdR!W6|uxwY9gT&P$M|(>VD}ZzoPkz{pzTkK4Hp7*wyw#a~m0x+B&xwD@w9r5#dc zzrP-`j|n1+PW>k4M$t=F^s>jI;U03go_BZs?F>3g34a?Ka`}`Uu!%j zFEtJ*Hm^j^Us6uluFRkFjEksp2@nSNR_Il}W8UaO+S7k;Au0{FV?T64v&@}9&lDre zzvRwcvN@UT)}#qs*^SZv| zS&7SgEcl&Eo!&i(;523Zc;2FKz5SC%E^sHYp$cGkG_fUx#RVeQ4Hbu<%I9x_6;taW zFl5OCZF7r`=*?_Hl}d-n%?5~D^yQv|rb%>Nro!=kfrIikl+V!}HqcO;j#vbppZLA+ zo43>Dv4IqSwlR~eS~Ro!Na3ka(|z>9VbQl6#*M3K@-}y&*T~?Bq5`)lneb5dm)SjDATf$+5W(*=PNhi|0_$@xqS9;bZ#9FNM!^Q8GDbwkU%t97axLKg(Wa!>p9 z4S0hIS2~S1Bz1X?H>ZXme$(|ac+33cL9pYiEraEjwBP_&Vsgk`r>kz1@8F?*$vm1N zdbPXT-Q}sB?U6uM^apvh*c@~FA4-RDANbtky;9|#gzitiEdPG3n+Zu-GhzHaSAGaIT;Y9EbLHgkxZGIXaI;l)z(R1*zkjcaOFA4M$8@3M-N_KOIIOOy`T^qT= z_6^lmOJe;)#@I?;d<8`$utE&(Bfq-KWBv6{?B{P=TZ|3A4L(|!k9{|G!A}sSw5l8) z(3MCU7)sgtvc0yt(B0o^vy$cUk>F8sdmyl7(a)X1-0f|$+uH+K^S0uMm>yTLd9C!t za+hvLwp94?{0q^gFt`=7fX?D-nehy8F5-eToF*;-BctO-wfn@pT2|(;=2ahidqy_i z1H(-Ux0A^D_%h#X!%=LmQA1ySwATt+{UV4Z^aTk>hun=@(L5aQ_&B6{a4TMrwo;3s zf(h#!uLCi`VXL9JE;~^3p!|CCOLsgX;MF-S2PA)`*@rD@Z|O`u6d6w5Y!fQFGux>P|!fA0L8v@ho!aMM0r67f_AB@R|Vyb8BW>>ATz8kfe+e=9ZB;1e_Hjj#&#Rlo&0J zE4@G@p@avebM=|q-KwmW-+O`J=+SlV>xMaLVQ>YD_SK+-C3ok$kB`GniqlQq5phX^ zmvmH3mZ{lzpN3323~y$=x(JNHCv`QUSgN=S?LK-MXlq?VEdsv7+bdI}9UZ#GA z4BGEp#=RRt`mLIsmzPmrkIz`Rgg7oj5GmfJ@d|8OkeH3VckZ@ug_M}hy{hQ(V;aR$ zJ1S7m&8!3V^Xjkxks^67z($>9V#0A4oiVOsy5}&T(u_#fYEsHl4!&F1&4g<=V!m0V zx>G9{OcHN8fcM^DBO;)mY^lcTIE&91?}NWtU_4Qy(<5C|t;iw`6E$b|i*gh#g~Q(^ zwf-6x*{Ini;*M+6=qZygjL~G%7ZfF>TL#8yRDUKv zRt}NWF#qz_WwX0Vm8DMKC~qcgb=xA2sH<7%%ElT}aB3Ie&|n++aRx@d_zv#+j+Mh6 zddi3JXA{SKO0k(BAuX|ZV;IwCI%?-%a&xF{%u>1I3}Ftb(U^2L2>S-U_Q%;PZKB~3 zJO$T2TTVZi^q_QMcKOm;NLIT-UTd>!Y5yE4< zw0ot%otIfqi47w~)o82meT`1&3bAk8+75%;LJ{K4%M@m@cbu|~Bg28aMXK*I%076J!S8&dYGjxX~%sl+!H`KpzZRLcRpQ{N9(vU3RH?rtNDS zDfwLQ8>?Ev9vm0Dxpj^OuESRIVJT2$+YuDO)9xvEfmd*DobP0dS%}g#~v0Scq#mmmCoKkw4 zxlDHge+HIX0j9V?|24}1!>5DV$0U5@K=f2AojK=w zL+jM_BEB(PFx~wZjA2{8=Y8$%Hb--7i3@bU(ywynnmPEpHcqQTfEd#eMbxxQ$owL> z(VVI91cqiAQ#xS&D-Msjfet=t2)`3iK^R%%b~)&^Rc^rcwA}T?1K!Y7-j6d~ertN{ zG@`u>>s?Z~G$OWzH1-cB$iev7MhFSc>d_`QRxP4>g2VKf@{5R=q1Slv1o`yQbGg+D zJzs5xzns<|Z};=R_lDmHgpr&ng+UX1$ynD{E8LLP_4}IUknfOu?+$m>{I04wR$Lsw!Lb zbf%O<+Kb#)Q_cu&l2PxU{N|f$iDYE_cxMijV4u|-LTb1XT*W?5vFRIrFxqOsQCi~W z{*c>~o$bcUz`?;z@m#>qNTTCa3@5ol8v@C$&|~l2P$7|dF^V&$=}%~Igi4Ue3|+SA z4Ii@t_>BjO1+sF)QvVoy`XTAmpkKoI*7#3zdm~}C_BK1L3NwV4tQI9&A`Pe8Jc-e|8i?Ks#$QduZh*t49k66a(%LrM5+nvbi17M)3)%D%h)+LYe zFae7@JG+k`F*T~BD-O5o)M70CGQ=i+da-OL1gG|Z9Wyf5ZhX4Y&NYv{V%?-}ix5kk z2L>JU%Gq`xLn6n{{T%#|1rKfrDkm<)2DGC8M_F=;& zIOthjs0{eU(sb_*<-UrB*@WK=qa0Z2Fkx*2)d?GS9*kGnENg2UDj4SRg>`Ut*o51n zW%UPd;W~8p`Fgr0ePs^lgxkpYxW+8(En|wbs3;XMWM+(4E(PJDwv9R?13W4IFHOT=!-*M=|;b)ZzQ4d2??0kI1h*0I*&83f{G|? zjRuVw1L_n=<+J959fh|yl-te;M~nTp?Za_*{lCJoT`U30KQWQ~_PVU*^^}|4sU>hzpgHt)gdtqhw>|%&+ zyj|v)7q!9f>|{SKsCr?2f){y-E_@xmZQ%DAkW znz17B@+-V?=ShKir4^yehuD3huf{))4z^*u2`?d~3ruNQIE`gp{)C`r!|`!;7?NPpJ#`Pf+2JkFiXx*u=J;G+Qu(dVe*(?TL5`wUHcuDz&$8%E1w2P$WN zuo?Z_21(6&%3G6o<^Y^@v(&i>HCoz&6SmLQo;uL@qhIgZa!B0SBTA_f_KG8U@?2VR zoGzyn3uM8eHgE%O;Z+17uq?HzfsmNxZ%-ew zoGkX5i%#?12tDR*9BtYU4WM!+FXTG!nWC;98r|;Uh*okQt*VGlk`l=x%D!x(iW_7E z5nn{WK4`1Ri%8XNh6#Ay?Zzo}E0E|uYtoOQTIOR3*VEsO2!BUqqb4i-DL%?)dE+Bi zJqka!>YK}NNvZzZzjbZO$Pw#!e6vFfZmrW@jcRwRGhUOEPk*#2%ajnE*@>?zyqB;> znW*$@gWG!$r>{EKXM-@#eEs^|x3ja8;yKT3XUw1uwtV4dy`LR%KFP?QU0a1!FX8VJ zl29aw?T+^k=2}y{jx8W+IIh0B)c8rI7A(asKiQ__!h=#(KfnU>YH5h^=u18g(0}gB zyJVlgBal;DT+8untWcBij`IsW27D?r09-y|^Vu^txYRU3Zresjg8RJV*)))x^2I3$flf?owe#DjQ;Z}Ym}9#n@+8&J-HdO zxo%#Zl|6uBevGR}-X7$8-npR|C|hn65!5_W{Drhx#_ixS&_vAgNLtFgr+~az%v4`BS7BV`8&&E-7h=tA!w{W+N$?u=gd@{ybLBvHeZh z@w1aqTSxT83f0sg^{5CbpYIwx5OUgDgjb3)M4rSXmSbU5k6Cj ziZV7nB8~|ahRJ*S&P#uF$D9-n`zD*@ald<0vAshG0-d-F49FJb&qqekV~xS{ zWM}wgQ$vYC-#FZ8ARL^WqlzD`9?qGCp@Mq8Kwo@-+iC?oPq#~24rj_^!il(^9ucu2?h@T+1s?%M5A)`RQc;nXmCXcW z3?7R-UY!FOpgv6}PB%+80!g|lKsNCG${#^PtQ>qq{SWmcG+SyiV zT+&!!$8!4;pe3EHpgTJ|Ukvq@&brf3cHt5{ZjW3=Anq_s5J=Gc@Nf~)7d7AHQ)~_* zo#`gKVvUheY?|;3&nX_k25wH z`(hxR32&PeD<6|0(ok-z>kJS2jo@kp{h+M)c=dFDTq5ugVi34E??f`X8Yb8Bc-9^! zaKG$HMou<@2nPb4ekrr7ufM9ch|9@P$w*f=G#YJ7E6W!Z%C2?T$ET)#=L`qRSL1=m z%E~5BkKy9*+uwFbt-=fQR+}%@IS?rFIo$j92(5O95v7O0gFtHuiHSB>fz6%*zb83G z6_z8s6@%>3el+Kx_ukC5MDUqB>00A%s=^Yev$P*UiggLQv4RXkY+^lSzU>;cUPFQhfgZKlK0A zrYGvCXlUs*OI)0soGdKgaHkN1J1=3dpMEu@PN5+oKVO_U05+d8b#`W8VzRQeMP_6k zo#zct)8Xe07V6(;;p9w-P=EivzHPX?#EOM7+ZqZ*VDuaZ_HC`de{l1QuAHo-X#cs9 zkrBtlM3|JMth{`N^8UAbl7yYzG(HdS*tk-*8VnqM(Zcv=T+g!*OI3gb*>KgP%?jn< zy_>oukir>bb3%W)dv#UPs9Hf48fqas@aq;qetdlVE6&o+PJH=yPQ(Bs85wGg3pv0u z0!yl@E=J(efvN+-$ca{znAHA-1#c+rspaV*x4%80Kek@M#~0o~dGhK0Tql)?2zUwv zF~IZT>gjWxy^Fp5tD|t-MMlQPi;Ma-<}vk-he)`=Tr|OIOxLxrJ1?8XhE~BySsZvTR`rP(`V6^4oG>FJCIT6L3nVIS1 z$??7}E~H3kw5cd?epF}x1DB)G$G`9;l4lLQlKI;g0ve~{7G=%awgnuf74vxeB5 zhGv7bjG1=RFHIXd`ht>TOSa~%db6w9q@3a5w3Zg*k_GtgZ*y~7<>i~;#|9DWk39+>k=|2Z{Rn*rHe1Z}_Q3hT_!FzmIerhnA zzdSfFuiRsIwtjjHd%8-K6L{P>+znFkDtVg~Fsy6vd^$4hc_0inwzg)f!WB9m$?XbN znQW>3^$Tg%Tt;U3=+J%t^x~rE{uy+Pt){CxXoTQ4({kD6$G{UltrD7?CZ|J^6ZN4T zI`a1|dzh*0Kq3rvPclT1j(pEFz)r%%6e0HTEp5cF5)y>Xc>xc;x z+V^jqI5{cx_h)3I4wCYdeD^cwW25~I>8d#!Oh|^oe)T?95IQ4C+S>Z`c>HuTEbxRw zh~uYHgnnixS{+>rI(?2uf`EV!zEf&9Uk&3>l&Y1q9~rMZ@q9WTHde54Ck*F#1);g0 zwra`6bVWa2Zn!FWdQ98DZbnyQP|*~@zTt2B`C@G!ad-7xN}g$^O4G4lC4XfljF?U< zCoeBCR7*yC$<5xrFgsgG6vl={oS3MgJM#LZ>Km|!8{4YZ zwyPS192^HOZtnuHu+F2RP$C+_Tl#Yr7T9EDz{t{_6~=>ML=8iA$H^sD zZbn=EhG5P3m&|}BqobzA!!F|cA}yRqT1It-$ieBVw=eOSGEPAnx-U}K&}}gb?ds{V z==92(Lca0%^r^6y_LZKV?Fb#8&hm4LDE!y&fDDbI0PT0lPhLsdXavakRLz%1N@5kmkqLVfr_|9 zqPXAH2zGgijP#Od1us56Ua(*)y}aCZev45&uH@&Y%Q!nbopc{iSoX}PE3eQ$-(9uq z8D=)tRTglV%PO(@;^rnS)e8mBo>^GP%Tt!a<)ka;{QTtXBuhRZkX2oc%lNGXI}0(R zzn50us8uYW*pfqy+_e|^y9$sf;!?X3qLivE8bYFB7OFKL@TM{F;%ah?hsi@r>c+UYXO0q3&dK45ub5gd}ErXcpjQ2u?56UNIJFA^I`f zT7Qj+E8&8Wh)XOtEGu+$^#lc7U4jV-?i%htlS14~AP|TiSwPK0m7zNLoA32C5NzFm zz&qse)K~C;_pmtOm;SDC3#;-CKzhnw?%g0+*rejnmH&SUw@gAsKYTbW8!1lXv>&!b~6L<7bxKl z7U~%}DPPbI4e7xgE&zmdcLDDHq@)y#f&oJv9IRCiN*(h1lV(nz5%yw!V@4Q*w~>>T z1z=irWg$zSh1K!T0Eq*Dx=#BM8!b90MoY{XhhdG>6a zNFZos$nP;XS}i7d0#Lemm|&=HZ%)e+)C!?x$z1{$u491tbY$J(c< zN%>R#B3Nl@kr;=QT0>_G9nP*#Pfst3E&BVkE$;S9p02_?XBL}+Rp3qxg`fbolmVlm zS#(W**3?w}+7uW(++cDGbI%mJxB?>+a$Fx?jki2H+KyXMhqoNdOFmo@mIFx`z|cSy z&B|&Pp+v(}hj(=a2r8uG#GX=$A8B!LRnkk)xn5=klnetd~(H@wdI6 zeVsb{1h*@qGl=WW<+0UQHID^g6G3C`;y1q|f)&_#cyMr1_IG18)|1NDHujUS-bR{O ztcwWcJBzldDV;N6k$jpo_wiv5Z-|A=%=7Y)kXXd5>w6C)j=?*lL<+!|K3`wtrae5| z)6vuKntYAl*(D%I0zmn-A`m%VW#k4-z9uB(C3nyi{LoTg?_z7KxZMU(;TkL~jA7n^ zmxKc_LLdeq*8^-^SO<|p@PpC^mQi*F-cams!)SjddA6HgR`w9yV>sl#-PbpQNntbH zI90tY!-R)(fnO2^KLtMqF9`T!^7z=}W_Q|xPNQJK$*+Qfd|H~_Jd?eB62WiGh`@tL zvk*~&FVIOVq{+$kbLAJmY>zOxx_%BA9kr2TY*=(PWMkLKQ2rJz2nFShj(%iB8~g*T zHz~DaW9j<(rzeZ}O8G!(@L2(&Y-vP+Q#ObvjanV-rkDeg9}E_ zutY@2<>g!D8d{j`kC z^PV1@*RLlvHG=G#{Ojwv-a|P7Dx;i@4Av4GQFVP7ri6~(`W4?C;~(U#doea9jsKc6 zKAzKLcVbFlbhKccJ+GqNq^7#)3T6cyxMhlef2yeX-6pPKNHrAYH9#Vj|LF-Vk15ak ztwmw+;zpN(S08U7$?sh5mX`^=JpLS_zmdKggaSgc91}5$OfBo~y|xCmMSj6_gko{H zlU+Jx^5u)D)acCITt%)iMv(?0FRv5MW|E(uHPR#6fB1z$B2vib<^%uOX=78X~^$e}(ex-i@;Q(0juR*7m?&~PNV~Kiy+R0&u*U!Yqs&;AY!|L z{(YjT0=QabYh9l{1m&jp;CRWxoMLDaioLe(*3>lmZ06lRBuD!mCLj-i!*-L|<)xV7 zlas{@rgF2hlhU3V`I+!SSs`ndlE27ZVBxfDxN7jXFw~W zE9*)u%s0u-Qk<>ZKj@DW{p#_K(PcXz?T5OiNO$jlt)s1?f{!^a0wkFu$Qe+!vuM1! z2K~D@Z=dmM^B4_Qh`oJdYw_u=lO%KoU^)GiQO4l^{7iIwaj_^pCp9AVM{L|nbYzw2 zsN>^(k$%v(FfUlCv?MJKRZIH_& z2WXi~5?sImf#@4jq2KJ~{s^|Qx^50$7uv_#a~+u3>do4M3!yZHXzO<3;J zrwQVgM=CpU)31T?xdLz}gFdiQ=+nJX6n0YP~$J16#oBCXwVi=a%d+i_}3jZ<4{ld+s^DwD-` zwWtP_E$nsjuU@Z@W*03isoHc=MD>IlTbMtSnXLnS0zZYIWFT>RW(L)AlZ2R*iF5qB z8^UibIDqv6vH~o44J;R&_cn1Pgz{?vP)=BZr#6tQlkL5uFV`kHxlAMpPV);38*X{p zP6PN~T1v_nMbAKmFR}tA+e5EPwYIhfw}pggH(nt(IQGviX-zNjjE=XvBQ{j4kl8~8 zDX1x*zqrnLQECIAY#mwIfgeTl8wQ49Z*eozv*_ZF;o(4PkiTYvh)hSx@8J%GDx;tb zON5a-9!FG_3*QO4c{fbqDn*I%F1=@EHMGBxH!#?nnV|s8sGTabWdwfDn~r^p-~$sh zC}U;yyuU3Nz|RL#?b4FA5Wh$HqHFjuMiT+3^nEyy3V7K}(J$olYR;|_YI9Onu*}RQ z;h2g_+F0B2$OtK&?b6J(ji-Q3J^#d1wc>c*5oHv0AAXW?)_}*7{o2tY=pPUH{{8#y zdChVbr~P_^vYS#?*$CqiCBoL7uMH9Im_R~G;l0m^bV zb~|DM&3U}|1odXaB!);a?Hc<`<$Wd9X>plcaj9(4=+TTULk5qBhpZ+@$W>`8U@|$N z?W%fEb13;eC)=6Im*btCmCdDLL7C~<*&u*Sk;m8!2i`ZG+e<7OB(?W(8UERFORhvPYm+J2Fx-%%xuyb@vBVD zTttN4D3n?U$SVbK|M0VgM585NFtqkWEQW5)w8AfcNQX)Ht}Y)5$wy=!c#?+iq{S8)2Iv`R`po$U_bJ z`inqJ+(=%Q;j;B}F5=a}-2C*^!J~O)y*7eRt6IEzTy!*PNr+03h^X_#y2LOQb?)f@nf5E(DS&uGdikc>2?kJ}<1;g@ zeL1~DHpS(UFA1q*qAeVcB5iDfMEk$^{F|&L7GU8iT6K1DZy`P!GW3AE4d`qOdr3~$ zv2^QflVLFWpgsF{4L0NO|Loyk#P^@GveN$_Zd@g-V_d|-f*z-8?+9Yctb?`MQ%7n1yGoHyeU}z8-A%57 z{{LNIW%Xt9`+Q@oV{Q%(f0ZIIF0Zk^p^~z4sF-DurmTHPHwsuUMGl$&Kg@k8)WjrP zR2KY_mmqkTc1;xV8Sgw0=`OzNy05LTxivQauZ_&k#pZ$hmYiJ4B!LvlX=rGC`t(Y} zS=0X0Cw+Juf4vtV;5_Y(u3MX#83eex*gb4)WYyJmcLoo+_P%1$A=QAE*4pLP1iaIt zLV9~V@8pP;J`PXDNy*AFL(KRs6nRcn&jBn}UvCeYj^w9}wRiadeR{XqO^gP+kdTlV zr33xG1(wp)NohZAi7!L1AiUh3pKqeIi0FEm8X7v-+h4L!t>v#K!9+)wSXaxjfy1!e zh%XAH{`z{qWMTXptJqkqbcf50{Q0M=Cg1FAW(@>_=VR@O05`GntRqJ!^E7}ZRlu`) zw>u5>;=tRB?AurjhIL~gxB%S9s!^WWn9650^!EmzY{^wjrFIo zFq=C1a&T~C<@0>Ys9NIyHVRu#P7Vp_<^4MG(>ps2EFeo@0QSWh92k1b>+ujk9QG@J zK0`U2=(jk)?gTaRL1?ccSx4D{KHrYcuJkGph|CLiQVf^{Uc{Kou?VI9Dj|Nd$f6PH zf>u-x%)=7{U>$Z=GYopjC)Jwp2zsj}I%P#+Us7WE~Nr?+LLCqjRnv+GyPsRGNe zaRpT-ElV>qrFZmK-8nkTPH(6|E91a67}?rN>nxjG5zU5&b7Wm(EC)qmkd&AAOV%Bx z*EmUP-1b$OS*D~se4Tu+rp5;$ci?2Nc>C9>)Exwn#0+d*0Rakqje0bZ9}$76PMg0> zDhLw%6iyT?-2B`fJ{N!uK0Zn#boVC7yiPK_JONobxW_ZJGKDY}R#u0bwb015z6AUX zhizNvm*vGtf7~f*Mow0S*Gv&rr@%QFT$c#*cw9wv*J|2LFsVdF!x(G1zgCi!Mb&r# zQX`fG%PcmZ>vhZLlicIu%8W@tpK1F8jc4Z;PrMDXofa^>ksOh$;a zt1xuN`QI=NKuSRT6DuUgdr2U3K8m@9iX&#dyi{CO1vJPi*y_3c6hOuKvjjlS8=a0M znwzUnNrpcpynh+hZk%|unrj$y?bP`6d-)_|d`QbU$YDdz+D{;s?JnI@o8 zgu{O38^)zP(9!R2#--WX_Q|KRJ(!&*Xx2bRTr|>>lj-iA!T+N+hT&u*zR@s52@XBz z&do5r+P9((tl~x2m-C(k5D=hS>U@O$%vNf4zk8vv^isO7y5+$mQY|j!{_U<;tb8b- z!P4vsX>{FBFDuN=BmS97;nhNZ3aA3T@hw?SzX=v2Hr16p4Q~Ri9O`shttNe@;9G3I_*I^RTT5=^1C#U=13ef>flgABanSb1S{l9@J;g%53rDzP|^w9v)Qq$tE=Fkz=N53 zMtZZ&h-sDR$mEdcf%;eyNQ@Y9%-Xk`0mQ@tWJ5^uAW#Omp9gqx@qt>N6i%2h=w*qH z(@Ub?VgRD4DV{!A^#HfGlm9a1dKHaKOWT=}(j-9<0#L%?xj&t-!^YhkexR>?mVBn` zaVKvDj_6MGjri5Vsv}p@`}6njB2UYy4@$gtdmOXHkc5PU9l`?t=Yd+9HT}J*ob_%l z=f|FW9P}MCByS>*ZH)?p})kBj>R%2uMa7zayCumqwXC-yVLt(0O_Q`eUi6DKnMLqT|C)x^v`ug5U8w ze*+3(Ni0&x%a__6dZUSxCuiRq>~B_Ku(S1jef{RthOsayCA1SZ@ft|}`S}S1 z(*sdac2v{?W4-R2_YcB{NBjr-K1)Xg2NhX}6sya14*NiFlk1<_!Y^P#r`i6d!Si8$ zn!ri!mQ%?4Bw;+)>3F8jZvGNwdpIntq>dFEiHTcI*3ojY+Twhxf{hLS+?@nCKrf}h z^G-ds$J1y?Qb2JK6x92;E%&o)FiPDwEFRs=$+tode}Wp|+JyT5aA=@gc9Rtt}ZDna9JfF(*z8 z=Zio98Eq_bKU_!UHb`ig?p+RQh7m)M;hupa{jvfUU9HzCqm+8cy}ra?6E@M|gq~dz zvPFOTjv8WG38U-Lkv0{}@=p{`h?VypKw_5wYifBa3%&vGyss>g-HaUq1mA6&1i=_R!+2tp~j&fuVhN zJdCY(3VTN|5fXC7sA+f=+1p~d3s5h{x{ZkM^v^ZV@b4fi@zsz?9+Cb(f30rE0hrnyKFg@uijLW77H zG+Xi-B**~pC}m2H#Bo0g%w~e|SclUjJnfC{Bvol6oWr~Z_Q&Vk-h{}dj#Zvi9ybWH$`ylqfpMZlKoJS3> zh+I6pg7x)xq;ye$Jlq-fx&jd5@~9?4euVtW(}+@{p`gGx7d@@8jRkb)g#q(Hi+Xx* zppr9nThfkVXJ_v*O44JV?OpG7vRXbxDndWBun6!)w_GmgWM40`jD&lHll=A}I!e=q zBtJXcH@&3b>KrV14rutJS`;8>K+?D&BtQ#*b8YS8X_#kTe%?=I zvyYmZuCi-i74@(*wA=c}l{C&|t*n?eJi=C2b#W*SsU;*T8$|(S<}_0R0Ek>hD4=g@ zFL%9kep}nal!j)K6B798jUUH{yElds-P`hUfq-&F{5&?M$Xc#vx}@RrqHut}_)8!g z6f$aNFUf&{ZeJ!QT^=68uP#B4k3zh>EnPWbA@(&;pzw{mav6um4Q{e@vl#x7(!<0* zd$f4O%s;_+Id(`u)rxQ7J-xHuo?)`2N*q@?4}9n?5I-Yrtx4o1+EP=6C_81E zo00VOJ8neV+x0aPxfd3M5fDZYk}jNg4vKQkKB`Mqjw`k1-hAHGH8Sd&+1Ud>T@l9x zfbmRGVKC2|(_FmaR7_J4XvH1KGO$ZDldp56qonVRPR~Bof?9v-eOcjnC+S->&4!H~ z#cj3lmWXPoH#7~X=jYl6%9~TaBI+J%Xv)fAon!MX)f^v~i=pgCB}Tq}vk?a1{Tqf| zxZutuj=G!0mdC@j5OKt3s0f)QxmW9+&F9*8&S22DmKX&YaBM7*>t&y~1anKdp@s%4 zV@gJW8I1;2>g+83Id6?Xy4edGOs7hkj4)0la%E3fei^8sVp|2Z!sp}^faVAETPkkL zj;^i@Ll8) zsm&k36wW+(c>Wk@1>_%uLghT9d|@o?6|K9i5qYY;^=1~VJVKS3d}<6+U41#_NE)G~kBQj+U$ipN#$?Gvad)nQ>pN*8+k zl#@%jyEHjJ-B(q`PT%*bztuvP23UY}I9H#)`s*@EC?N($u{PFuueI%ylJ6O|?F+l` z^Ldw_tYK4(YcPc0DP?sJ3_$g`kGuA^F|WuXJLBVGlj`H93>j>nkKFKboVnY=0{&mN zXU9wm3lr{sL` zokoIb!1FIYPVjF&4rms<)ff|zl-$~4RHWC|KM&?{xV`jj7BDs4^NO9OW{b9`+NA2eC8wzgCNx(VWo?2OF|6Vtu- zWFD(iMR=n4YHz$+zc36G%1HMa83$P>8vchH;=X>R4*H9?0c<}q&ztAEYN~v(A4=%; zd)G_Ln0mC!wX~uvK9y`sa`MvYn2QT*6-zzP_xhdA>!SGQf3ZV<%pKkafHy2+Gc566 zkC*>`3veU_rz@%M5)vqYU=h9H8!jmDuV4YJ9v*?+%%u6$0t`M{w6LNc5@W#pOKoWX zs=FvIK@GE)Yii642}=7UTWjgFAtwQ%s&enGfPaJq zzycU=6001NCg9Th37m%jRw^Ux6QfK=#4p{-JS(ifRFOZ^_Gk=Xcf0pz(U`asgkDqq z<8*n4a9xS_EdNV(dKF{t@o<>s_hNLc{cowFLmE6e$++>VPqSJ&E_MoFQmxM>4xjGi zz14_u-Tv+h{eu^O|AsAl#BD4%>Dt@3kF~4w^rw09SQ?2ZvqqO!&;#)+GgH;fgc6Vj zj*h&dsG0WmmaNS7#R{fYx8%5yklH&s^!}%%L^S4PaB;KG-~YhIR{A=LH$5_<`_m~i zFYhg53HZ!!U#m7Y;Uga>r;kce(z^RyG1FS|hr~ZY=-^Kf`kQprk%9gWyRs%=G*7-m z?|6IM+BN289{n!Y4C}XA)E~+n5SRW;eRtQSVjgHf4y;akH2IQcdgAwwg=ipduH?#^ zNl9p6w4X2ZNRA{YTUiu2k^VuSGSK*>_N6K=5i85L#u5!fLykariHaImWloBYo5tGo zo(mir;( ztx7_I+niq^rTHT5m_k+#GIDmivGM6>j78G8_nerBewRrC^oIapPfBWe z_lRmpDrtQ^DvoIh9Z8O?@5>V4CpEIiRhao&&;N&?-QIH1(l&*M4Ryae>S_0r;rgTySSnP z4Zt3qDZEXPj)l5_GO89+2;>3#7&QQ}>9>-$gZ_h=O4SbhqT_-S;7%*sLMcU}{P(P+ zOUu)UjNgXM8=nSI`Vr5%;2_5#Mt|7kG42Cn8;|WREhF8Iy1+HnRUp;^Ri06e)!>lj zj4q0I0~c3`4)*p4sBNfA4{D0ah~YC1e|N;R#u4i4E6QgNZSUxYX1#i5)vZ}l0cK-0t{vBDB zv4{`o9saW!aW!*|7a^JYuQd?Tl!OAWmWqr!>>mK`=&xpFKR^GeDU4i;OTvd+>UU2U z5Axjx8Ju!a%|L{tpu!y;>7%Ea18SoTWu4^Hs@&*k3zFZx3XYyATc*>0CNkb{6eX z0h5vK92`(ASHvZHE6S@}&PL@3kNoW>Wes+wF;>gMTIO}v$ANymSa{Q;iS0_qt5h(F6ooXWkpXf8X@ z@(4Qz8138h>E#}$5Fze-NWsA32%)B@NYJEM~Cx|*QW|q z^B%_>WF9^*cZCE`$TX;wZEXBJE%@yOch~@i>X+$dk_W`{|KaYdzoK~Gzg0v81O%kJ zMM^psq@_i=ySrg25s>cArIGF~=~_U#L2_BTm*$!G=lfqgKh4=Vd+wRpbI*0X>iUm+ zokv+500dD0GuWN0TyO0wAb1~p`9-F1Wo9M}APO?uXN%Sqg?$JElAo_XBr$*dm;^Lm zhUj@)BX$Xfwl&Q~}y+b+4PqILPObp~HMyWbl>XLA>X zBqw(%`#ZdtGd1;0%}O%^Fb2xyn=G9syL+1phZ|baPKy(&+(7kRe3`JYUK+?>^B-QW zlILB|XI(lx4y$#(_qz%rj~5ir@h$tey#H&N9f6iPW(bJPpk5qaSs_`RJBCfhM6Oid z3i)l)pX*scysOKfrs*wUjt^2_N9Wnh7WE)JE#9<$Ie*h+G%+X{C$CYO^ptu%^kL}eoNRAzc6S@OwrDp@ zHtsJERLV}x?^!0c1Uc;OiE#0t+mY&;EF;yjHJFUfZQ)3p6&4u%L@n|to@P*tKUoW8 zrvD1oOpPV1xti#T?T4jM_^klGl%GBifSx_(ZOreo3K9wfGaI4C{2FQ&eu=vmTQOaS zpQ{lvN(xoBhhirWMO3*)%kD&`4b3LShu2vgw1QM+R;IokH5W3H6_HTDoU>Vbr<4)< zSwgxBAQ~H8<`>O8e3$BN5L(;FaaQy8Ex^kj35EQh_thWzZmSLMgC6!{+3>@_L6_B^ z**R>cCd*Wm%MR&Oa`L|8fNWilS33U1&IANB^oN%6)vx!qp%{x~lRLY(Jl_Hk4Ny(r zL!Q^45zkL&SgD3T;j3`}r>^HF--~3x^a41^(Q$ET{GQDKLDNB(|I@MeCucMl&N_gv zb$zLmgx#BP|8(^@9s-vj!3@3ZAHbt5lRSO|uiU%I_=%Z2o4^u2BS~bUk+o;l6m|k;+7irM2}`o8v}a zKsOzdIIuLUei><AbFWCAd8VQXjOpMOtYg0ySk^9Fu5aklgJfN_V{A(fV%zOtrf!_I#cc$VFK zd}pq%-<=77#F+l-qX4l7W!@iDN?mEWpr&hRZu9OSU;?U$Kd{-=*?tM>XNdpP0m6Vs z`H(K*J#H85A7CSI+ke8K_|Fhi9S?v<3B~rd%dBHPrF1klyL*I*8Eus+EXn`(6Kit= zqa6lPvP;90HLb1bLo`@ofTpPYH7c6=T(;skm6_Sq^mHGQi8&)sllbTZ4I{8?S_bR^ zGQ5J}?CgR0#|VpRyP)XwIo|xf@Y2-e(z#AlW4&sVqLx}W$2*ni2LHG2c{QcJi3?SC zS3QQGH4iNwFmR>K1-a$%)pK*p}>YLU%mEhy&Bt- zK}R;mDSNTk{Gv4FZ3S}gEWg;hV#^ycU~@JbJI<3(Jjb=&R1ypY?@Xp^`k%8fV3xhX zwRkIEjYgN-S>HA><*e6fP4uwB&}L&>vk1uGUKCWVUv590Jl#GXcg!3{9{#$fBJtt2 z{LBmUy5Dv1FIh*Y>Io(hp3FdFe93RkdQWVudu>`&^34bG?m{$0-MC;nH=N7w4dby1 z+ubDErllfk?mCm3JSQp6CBd{xwo9Ux)u4ULSQpuS+Jn!xTVoQySo7j5#kJY*x)(dq zfbe|%`DReWa$+SYc^QL?ll`u>rGM>oDfwuhp4BT#K@ZexaI>Gj(7o2VUp}+t6V7$d zycNEjq2oPhA>6|DqUc${LF;?w+hWqXAHLd>u!F{@VWo-U)V0d&pTEE9OD*~uV_h5w z=m@+in(t~Dgt|6#$y~cy(1x3RsJi9$PYYvjP3iLmp%D%u858)+`Q=nQ3El089jGl4@HI|Ef+l$?n&TU|_L6%>&Bgy@=lKZDGum4L`?M@7CyX=H_4(cX)k8#Q~?SI78 zAL7f|j&}FO+k#Y9x`qLED?vS9-sf^QALQ<|?VQhcYUuiy+;18qtYMjK8ORz4-}6Oq zf^xQKx~#cwd8vG+1{WJ2$+83&mOlWbVE7!C(fdba$ppJ~)ihSt4L>$lUd0H1Uc6s; z3XZ>YlLF(}Q%$3{Dkdv&iujVhWdE<<`@wy|-F3AL*~jYPJs#;r;^z42th$1UA;E7u zrB5AjfcPhy$W*N`V~+M&_DJMdG?JAlLV%-}=vtO+J{k}ji2v6j{AfrA`(5l(WXzt} zZ}StdO}rgaaar}96;E_wb?!$DbD;Cj<8JxmNcli?{10FB$yqPDn*M~9d7xAgT zO@lM|E5gU`wAy#)PKjMJ7;jo!)U*IvBe$X}pxfTcphmvKTj8#*E|1mGQ26T;?=9lM z@f1#>0Z!Eh{a8C=r%=SA6K2zVEkC6*-=1W^4!Z1=-!M}%-JIFkm^3k&O`dtDd16M_ zz5jnFrJYS)o$uR?MZu{uT#Y7(ZPq*x0|qoG>Sh#c#dde?o}NC=mkMRU`*>9S1X;Lc z0-Q#{m!GE{N?g^>Wi9XjZQp!DAR*xz;Z?28+MS8SlE1MzkFFh!LrsUdRo?y{2#4qP z&0j=rnurA=0j4^?UVwaIC$s_8%-AZcsZ}kyl#^!Xz!o1$&SW> zO8l5^z%6p-CUE_XQT*>P2)|bA+lZAatyZUdTL7RO(<DIv(S z!!z$Vr-l}{EF5EK8+d%*6RgHyki`9NY>^2Z8RG^-bb zBZFmpZ>klfx4v4W6#Z_#gSo|bZFeByLCxHP7IexkdqL`PBFXf&sNH^X$RNt53d+xF zl6-xqGKKW0569KUj+n?iYAbOHgXe_xq}d3yzX^%a0W;XGENu950#NkjJbjj7E}mLz zoZgy1Ag6Xb;m5id_w|ypF`A(D%fBpMtmJmQ4|dj~ZwR_|@-7PmRtkt%csO~?auwd)t)eWc2cGjyjfV?Q^m=d-%#AV- zooQ*IgmKp^I#^cXU2aK9*cshCT+zjMM9e8!`489Ue7uUg)Qx>xQG6|_m&-pJCx?g6 z&SZ2)*wE46^KblM{=&&kWE^h}w{h^c9F8=lP1zOPQ5OMp4#L8LX}y?S*#uoVW=SiY z!XQr0tb-jY*O{Vb6ympCK@(}@=H69u=M>-FGX%#MEP8|P zQnz#`eSn_u@Y7hoiwJt|?u-FVgSgq+>0AG3Qj)M$Kk?RH@+M~Dm^Rpm#+ARapfzi} zo>0W#l6r#@Bw2*WK@n!ZLY9%GK6G6{^V^WoquJAqa-WrYgZw&#jtjx&gSv26`}1dO zWp{Mx7lY@+^V>5=bCios8lT5k7oV0ViDx{Gw9BiS9BcuT=bouMEyHfj``*gHefr5T zIwlGwq60+?tZR(7jFtX@bCd>~hB~rRyBYA7jpW+uFOblJo*e^neGRvou+3b(nGlLQ zi8+tlvi-E~0 zc}$R`*?f*hAcMt4nuiY0-BFYJVrYwApZKJgB#pwJAajzdZUJk}G0%|FRP8bae@T|U zN9S#{Pck>0G{@z+V$y_8)jb~J6C7tYDe3f9xzxgvM|N12P1Cd*7W<+3OavrcQg?6k zc|BlKL1fr1*sAC5Ha*^kArQQ%(QHX!HxsRDSjK?LVB;ySzxwkMC8P7C@Vj)1&Y+1@@;CZ#oNFBK zJGG4rSRT8*1XxRCb;}8BR0#@j`AXZL9qex}V#L}|UW<#21Zi8QWjFPFToap7REt*&uGCH2nc=o-gU^gAc`q`juqvwQuS168NF)&H5>9xc};y7@Mh?7Gc6AR;U+DmptWJ5J@> zCq9DJ7fP-@CGDE+!{+Sh;3;#=6URjAH7GaT}&=w$%+-*|^Kvi_Z9O6Lgv7RR!H$A}r0D zC`rCWu46=XbUnA2EVC*;)h)6Nnd4@_Z5W`#-2**+<0B(uE)SB?6`AK08Vh^y{%~y07g&hQmib(Vi^vcY?k8)&Eq}*c?&_L2 zBcDz`0bXD9PE*2aW)b)9Jm~~^E5iAkumE>>TRM>(#yfRBuPCK|Q~U?2J;G1|1+1aQ zbA`ICv3nfq6i*50qw}OPHOj$gB=;EWs#4avsAffX<5HW(VLz7MHf~cG>j5N#+`;~s z$Uygf5%a9W$Mm9#X13GHwE<^N-;Ca#Uq2bhKh$H~WTe|I7J{YLw6zCx&jCFOrd>cn z;}fzC*&@#JImi0f-iO%O+}|r(wQFf%x!v=6a@R`5+DVeEt7p{ZgMVOGMAPEk2_!;L z=LV)I$2Eg((a}#I)Pq-eoiwr#A|i3C;JBZMyh?~UeSz_AW}}&iG?J?5-9=Gz;>fNC z=nRRs8@nQv-b1hB&uOK%+ zXup)z{p%z7k_*5ct_i~Hvu{S2@5$xHPWo0-AY;w42p z^3<3Wa%VK2^C93UUk7 zZlihNiO$UkYCY<2+=(e%sal~|lh3<*A>pCe<_n*1d)L}> ztIT2Mzoh7EXvTgSXBrdFMIkl2$%tonz2)4(Sbw$c4h4;Ywg)3(`+kr-i`;(Z%(`3k z+`eA1tl$tS%yi*6zFwBf;Ow*VkkNIt9VCm(VtiL!xZHjaZo%q2|JCjF#F{~B@WjsS zCeC-ec&0If47S@3n-E0u9!k0?GqJ)=a$vy7*R`y+ZF|qFO+WH2nTg7yyND&KJRC+> zGcV_dQ-3a>Pw=FyuV-pOWUD-%${clf%Oa|GcKPEYydjK;h{0!S5yER61Y23S%gR|V z8%&QQxq{9K9-t!BVp3VmoEQ_Xy`%m|R>bbK={k72w{1jaGjV*Wnc=+=j6_hgiqg;$ zmuFof+{=X0#B~*^Nwb2;y@-niQDZaH8?rGzzTwVGaf+rt(+~=^(REl7L+25aQ`5q530~qcrktApV+YQgC`adnl33+hqSnP zO-ydKouqRZsD*1M*MTsUML*sdBsPBi8{v(2MWe$kh=FPp#Sk?3@2VvHc-nPD6h98d z0*gGhK|A%}dM3o%(B(r#eq=iW;)jTMEN*lsFyjQMxlb6ax7!+c5l6aMH8 z?C$lE@jK|xfRZ}M+xk+vlBNpRsN!ZBb7PNV#hn0!b80GAqB^L-3@NtSAyKhvHmN?Gb&~4)1zi;L!|zE*>wcScF_3pLJY~CC^q@Vk}89 z!toOqGyhLFgSZs&UCi^ibyFdWCzq<#_#zq<7NfZY^&u0Id`Echi(CG8NuhBGdXD;g z|M)lD=KH3&{m!mV!RSJSw{)2xi0ru|qzN^U2j#T#RTn{Krn=fF=A0knDjO%(_tEf= zA{c0+*9f_*Gnw=2Q7b=K^?fS4t z1!*oEV(}Av(SdYpboD{5=IoTnQ~sp2JxHI0S6{hVaGclJ4>Xc;3yX{jv5V8g+>_s zeDOTK-nrF!`mW_9ZiC33YAd)<@TjDFj?5eRHU6${Y?AY`fuN#B^q2yd1tYoXTB{wy zpkEjXPt1k2Q`-$64fjoB2yK1y+Y3zuWyfVjAxb@({z?Ijpe_dwuMSC1&!5dyp>=+n zB0U)4XdFp^rBm4N`{qWJ2iC#n!akq`yOx`ebHZwHXaCeh*_C`*{F4hMei?tBf!$-G zuG-pdY^)=?Gom0QFPC55mvEIwyX{|0z58|2o7(B)rMrV7if7Za;pg~A?rx2I0e(ff z(fh0T%tvIS*mlQOAa(yZcVso8d#)E+~)(x-827dy3lBGNIIc+mwyM+7YJb%EY;C z-VMa21(7zOQO#^!b|r2VaH5J;r5I%6*?AwF%e;)P5P2Bz-<7?3(a3hf&cc1vl7Y~r zXnjx5%gc)uQ+;%a^2XVuq;e!*5{cX-apg9`8FD0;&(fuR*zO9eMFn$9L6 zu(U5{8W=u>#rTthEav&SHSoYLyxjNP8U4I&F5cT)B+KlPStKQ~A96ID6r~~UE4JDN z6Gx*_;Wmiv^T3$V>0T9G!yb}0IyUf^spG86zh1#H*|5a9c((4V;RFJw z+p8h#q1kWo3VTaEVOvfJHIL7v)y}RusTa~Q= z0=#`Mhx*&#Msr6iFX@pl3ZvR2$(vF?_JvEI!2{xUL`NQ+^5BiY`O~Redjq?p)Jf=x z2zcBHe!|?XW`UKDc5VkayF-t^f$ul7P%-apXa)re|`K z?F?gkn&KmFc}UdbB(=V80UgU=$zIT@$-QSb!N0a!V`=#ba=zbT%fo(yp-G83v74*G z6=RlOl$_ihzCGvq30qfTAs$EEF%{yYF1{%@dvvVA1JE(!jWVy>>eE8Y`ujj#duTVZuXfDgy4VvU?0A*t)*+oZ-@o6f07xzdmGqQ zqz*pAoOB+f{5LD9t8&IoR>pSB^&H{do>ZX3H>t;kB6=NSn3;_7Z{Lndl9&%juivaE zuGQ;(E;MtuFA@!l5nD3@RLVv?Xo6`wDf;SsGqQ1+G96^|uW=*gu!eywus8(QkS5pJ zBl+iSfjm`|3AQ8u9V1FHubH=~A3^X5K99PaM7BoPX5z2a+0|b<1ByQCf!H|$5l?aii7-?m&eSTIeGZ|zOO-z1gE^*9n|Z?q)q_zvkL;i3$ZK)nVh5c zOH8cTzBhIR#szh2`r?_HTc+B$xgfg*?WFq@mUbh$8-V-$5jY?k9@v_d+LEi`HzQ)- zvL9`a%wSE;?>?#hno2O##C(wdcW^`LUmC}{lH*+*3s&_@qupu;08U%zP6^i)LP18p zCTp1y?gDwjeQhSp)9+FDj(5L^w~n9=-*4;;9ql_tbZpxyah^IEx&P}d+UxSm^}A85 zlCkwq`!F3X-a7Htm-!PeZfO39 z$m*C5JFbmEUeXgPF`ncP_F)6|)TAl#fRHnY$Rv1&%6pWrA&$pX(5vS(>tl+x9yqme zRsiZggKr?BL2O!cp(HS6k zF}uSml9rx<(c-(CvPzv+u_wZJ);VCGoIux++L9(kC(Oa0f*0NIiho!4RHJ|}dbLq@ zz!U?LXpx(vCS{CPe_g==l31T#>Hn?BCqI>X=Qu&J-PG}S%wH~>Vz3f)XW#7iZdHpM zy8cXA4*$yMu%+Pio{fJe>JQGgyB=-jI?{1H`(bR-p`Ww`g$gz6T!&QyeFr8AJT-uBiXP|Q8i3p;?nBnI(^JJwL(2r_!_MwZu?^NGw0Q{CRw z2D@OQI1JSuZ{jP*C&niw3bFQ${c-2253N=v#HydnTOD=0tWS(gtfwToP`1lpeQ@{4 zVUy1#i|y%ji24NZRvl>?e(x$0`bR$T0Czko^L|JSL3&^Ig#vB z%u1{@m1JaPAaOXR7C7;(YhU<0{LS~^vvpkchsD4rka!_Fzf*+WhdK7qdk|$zgj6x;eDIGf>XHbu$|yK$J9-!@Y8%zwdW*qbOnZ(zlDRbar@)Tn^7t*< znYy;?Hd=FM)?>?||1rDkIQ3thtsdX>N+hG-Ivs0q$}Cqn6ozZ!rA?fS zYf(^8Sb$m0iTagz{+h;sc0ga;lr7_U%H-ZmdHmkW>b0bjEF@XLD>Nos63UB?u%GVO zY2CcH)Ou}7J28|c(9=`BJ|&1E;z5JBqUAX;{5J1mt0O%1q`EnsLCW>ccrX@`v~84w zm)v$m{EUo|1U^}-Sr)MGEVO8qjPoae^}R)2p{0C!2U5M0~}*pV!k8kX3BcX^4rel;-GgxwaFLHG7HsDRZ<# zp(`N;N)T*g3*nF69e$2pa-$ifOVR)XRL&0k=pGt;_@8W6EPX5SvA;YraC(fR+NDK@%JwzDO z7sSF@wTWKb1i5ZYj*as&yGL#@xjEm+^qJQRQ$1f*KJDbnw!MCDZ6I0dNcqPIreD9_ z@V4hWuaS?t74eNDmb@NOj#2gW8e%8}%w{SVLgXb7N4`Jv41lf=pr?Zi46CQ2xL6ozLsV9p59sLr&I^O z^n(&v4<|PV(Lo_e^Cr;H?D#k7^+^Ul#|=@r$Ob$?K9Q_5G4 zK3g0)knH&t{BLP=KZarx6=0)k0Fr3EHrbP5-{87A1!rf*8F=#};Jek~S<$`gxwYEK zD3tC1-YX~gPsa!xG5$NskPs4%k2A_C`G;k2%<-5}`cKONVJ^+pq%RCX|MSFY`}y(H zBoN~@aDW1d$vXD;8G5#wPGX(BgW43CU;GIDzb}c3BI7mW9qDzox7R|UQ^AaYCv9r8 zO~w7Xth!p2-rNlq(#&-5>P6_DjV#vHnUW&@(`v z>9L@nBBNcblak*?a?VxOcY5EXkK*Pz|HUSG`J(Jc0g5vkV8EiTZ^!rbMOs-AP#iyr zOu>4g38`WPUGgTr1`qf-BW@2vmb_n2s8_k}cFjvVX{V6{<<{L3ql12KqSD~uEJx-? zzn;e~yEOt5S1CdYPyhjO=#XxG zR2N+6k-4~-mbY1&tnLb(#+&Yi8fxTt-}n}XhOlDWD{TsO;E=aSQa5Fhzitcu(7`En zyZ%+luEoKXeM4*ouVk@PwCeBb@3gS%$^b0835|-13PHL;fUW4tGrkRuK=tv#wO{uW zV6X9ccM}&k+1i?%O}_G_eixrST9HZj$viDA8{c8RZ~u7q7+vw&{g-!f`@W`;OA6j}}R=x`3jkXhqA>PS& z(;O3lLc8oZ@)8!0b0Yx(MVHZ0Qx!5~VL-`Zew{EPg-SOTl>GFofWR4tpiF9axB5ux z)4uzJ%J+vONw0;)1th48<-xu`JzjtQY-*{99BZU*S%}uT9E@iz zmss}uOsDAQIM1CN-)3bzFEw~GTnP6+M7Kn*5E!FLH4L>u>sMz$HrScjhgROH8EJAi zkxJUVGoDpd4OG17pqNx^)5*pJJA|YGl0E&L$$+77_e8ltA z5oG>Ou*z`pJAs&H>Sr>tta~9L0>E$xzPrRAC(puVP^hh4YpwnQWSh_=XgfQzYiAP> zCW80=76$gb5g<4ogF@TEYJh+Xn=C7E?U9^Dp^(6oOyvM|Y=naM^pp4xdAJ`jSf;1& zZsda1a&^M`@ifK+sw-&$kvd(c_4gaN{HsPx|D{7mw|8cJLgddntd{v1vfSLOzscIc zwUp`-*qde|xSh+?@{-dVE9@%8L2x zkPmY2aKTyD(lMm=Fl4(AXjAI7SxR|It#0TaCZ?9>LYWXkDD4qvm7%qDq+OXZp0n1C z?dN^aDY=Gp*}}KByyXDQ)Y+Vfzu}G85 z@#_CFtcqpRJ)#*Pawj!Q(&Je;oqQzkL6cwpLSWsFnRFsb zp@!$e-7{HxzM-7ayOvLQY;Nj4+s0V|Hi9B_e_(^uUJItDm&H}FJHB}{ps{6P$;|(G zsb@-rxy%Xv#vGi(G$OJzH8sCP#oU>LY$uULCUdFC{QKm@p~Tzx#NvoBOT=HMaeM?v z15wT^S6Q!my`VrV!`oXT ziADFdhZXp@>;(F|Dgc#bKt>Kbvpmac?0}^&2Kq-GFO3Xd`|aYt?3S55>4b+vS%d%) zKjX*W5~H4gKn;kI3#Vw|5sX;QkdkYKa>uMDp`$9;&QaBUI^5ggE0}Mf5~jZ}sj2BW(Q_Z*4aVL0h=rF4J?h{3i2#Xxgho zc>f+&K)t?jZnep!^RgVI5FDc^jeU-r!*0Z-kAQuPn(sRBD)a=A2rdn{X@8o(1TPZ`_+m4mxFw9WGgPUtE_si!)-HrAe^At zmf+a-N>lBzGILu^>J8cQdsBtb>C7xzfL^H2Y-n%4(i*lYKZI5CnQzrXUE9bZjW=4$ zF4`Vycoi`b`|K_xUPT*oL94-Mwja_bE_T^+W8fVhD}5in&s;8Fuuo~{GPx*R-q`W; zm#N_Vy2sL?SKGRt5v-$L^s3)(I35{JA05>q{U^v~^L`;r={+#JY98+bX;5DtssLW% zcdq_jhpwwUkF}rKtv)DCj@RKSJD{z&_C58ay+H8`Y(ZM*JA1h7oOFy{MmqSwTWY1_ zV055zb?z6*xZL_5nbRNLfOOa-cDbd+j5Jew7ytO`ie+od;mR;pqxxIc`hm{m7q3qz z`m29Znj5@+#Z>+NE6Iq=|`&G!Jy>oihP)qwmJAsI3T4NF47Qhx~In3S@(l?;fTo~G=TE_@Oq z@m*P2QFR%i;`x*S;539b!?Ot=%ySCzO#UU#cijG6ij9uzWi-=T?zLHbBrWCbby6De zcG8Ou8>~k6_s(fKE!suB>u3W!rlTWlMq6nD!3MwQGRe);6D0`?>^4tlht?#{sI-%9 zE?CgEFovbCziamKP%81N;N2g@fJm8{521T~-OxPKb4#y#3ZM+1I|jjxDytk$w;2;U zOwoWqV<40mcy{ZC z9Gs!^n$HYE!|m5AGLv^kUFEEq=iRm72a`xQ7&gDJR`oI__CZ74C#{NYgt{i6yJnQd zQp1oeR_)T&NPW-F2@FoDm!sAzQu|{Ky|9v7==A<+)Wwz^*ce7z|H=sgy*A*_XYfWJ zlMy$A|6Bnpal(50+CSRJ5o6!0_cYox?}Sfbq&yMjH+umT zk+tC%=M#XwO~~{8(0K0Z;$mR8A#L>9-xf!#4y3A_>TnkbJ}6LtDdSh-1grXaW)cpCH%~6+0Z}f~ zWamEG1iEOGK*#KDG#T@{1F>lsUy7N=!lKAiZ;sVh^?N8!~XgWul~bWXx(H>OKHvy{AE*X z|8?5XUUuWa#IP-7SZ4Kckc`uyAzC3{a8~nD+$Xf50gEn4%w_sqe6ZGHEc&aixcwyp z>-=<|Uqp9>LE`cnlbEQDqt5a*N-;iuUIjOLe7r1S+Duv5qik4RPmCSz+s~}I! z`!NL~k#*zB?(AE^$E?BGy#DuYA!^R(IP9v;sRfZgCk1zRaSplt?xG(=du+C^rKge3 z*GX8fwsx>l8Fhx<+QpN4M;i=AsbrY4NK@ra)%KkDT*uLiM1<3Ah_o-97;(d?i0Ad= zkMiWCy!l8lg!q!I&PrMuPTFUi)0RY!IV09lU;N7#jwRRD7QjL?prz3$DEQ9NatlcC z{6;^Y;7;{Anq72$dwzQs zpySTEz`Ah4>goPPs6&?ME8!Wn82ugfNshdkWp3|^^X`0(=w`6pEU#@?7KV?TgoE1@ z5dKt`Qy?p5a8#K|m`y_;HWop_KYEq>XV}|rp=Bu+Mj?ac;)2ma0e6B4f#WMx7uqH6N&zs2#DjT4%lo^jMN$7J)-v_aS$FJ3sTbEYHwe zA$qTLVN;lo3e-nKk{3sest+RZ*M;c*oJ@bGk11YdyNzr?>KY}1k^k1aI`kDpT0W1b z3QPqm$KbimeVVg_Vm`^xNg|7~s!O*J`aeHAlT z))bA1Vg%9td0as;okbC;hnqdGJWx#hFiR;q^J_1AB=1KkZ5lxg;f^A(T~1Oc+C090 z=tQOLwDbPv6HJBWj#^%|9nHupn66(^Nq+X@?;9jJC&Y(V68n4@B9!TvTyu|B;s?fO zP>V~Ks+c}r{3KKFSffjJHyLAwRielj-w~fqbPNADO5{g87_*pFyRfq9eWhSrGoR4( zy=+pfdS6Y#A)jWtUg{EM})4zz>9f2C_2 z_n7IG+IdjyW_p#81OJHv1rj;`Z62U@9Rw9n7FR!w z4Vg|x5Il&PH(y~1gEC#lX@roq6p#%XbiZN^5fACFew}1>DBypl6sZm90~txW_3sGB zJSNexseEH(N*{~XX>N}KP_!q_&n`4E=y>sZAl z^(<^sW4OCi`ququfyGmHaAHt0GGbAfh}Wk_)nH2xL{tiD`)#?9#JXgPw?jyZJ=qi^ zdR!XeF3?wbiGvumS0liis?ikU?j4j5M4Y;b8Iywbd|>U&B>ih3L90GRo15YskmsQH z$feS`!|m{#(pVb&QsYf<8<3BtM2$}1_eIVvNn+Gd*}fR>EsOub z3vwWH0jTYPxh#Xx2FvY|vZ|M|c6Jw!C;>ng0+o!I(nL)o{^F+`l8na2N^Xi4!rv)4 ze`i`Wek5b-v0>F(EeACMgAU8ktV{WsuNTt~$^`mLy##ZJS;ln~z?OjMu@N85(Rw{X z$94k2-H?Ma{-GbDP>TeT=8hJ1xT|wj$<)Vs};zk6HPc##YqX z9i2kwi;=~=wXMX2?A{UCzm3_e)4m3A=Dq#>o!vRFo9m58zd2Y{@a^F$ZBQ%Jn;iJ zl=QNCkQF~53YSM3m;>K!BJ`&?H#&B1vVm6vo*+uFJE9kf(5cxP0V0KCH?~~tM zBd#(2`S%RfNrk+TcJvriRHAG$cd7~|A|oayGtm9VFc=qJQ}~>>@wAqm?J;1Rp1pSf zC(F{zjd*2lT;EjeU`!mCmQ6@XEV*vx>1evqy|B2^oqHy884}PhAM*}VQNF7opHm>T z-DkZI#s3p0F3ph1z`7qbaEp_RLV$Ru#Kb&7kCjFK@yCYS$kSXoz~yx#ZA8%;^i7$G z#_LrJ`l3#U)0UH$m$y zwo)%|n~y-|zn6#q(bwg;InAFdqLj&CU41R-+Wi3e)oS8LoIrdKj`{P+XMU{hAt ztt0r)CGTDqyP@%9$2Fk`@q^&!VMWX~_`9DGXUjcl*h;vgkH(l|2`;^6B@dSzC_CAz zUELjaUb-K#?t@WKn>)?e*5TY?N?3tK&IGjbXZOl=zVp#GF4@jDd;K7f@-js|d5tIY z^Qo#6JxykOEfSh(VB*!i7wbE$EzCVjNE@5?^>_wv2LMw7(|HmS67oW#6dXVdLcx>_ z#XzJUm9XE2oTr?oCl3nDYa4EPOLhS_A{AWAr7v*)GF@fzy2+fvk~L|q%I@a3qt@=N zB{;Mjkv2DDy~pLo z!Q&D72*@#;dMG(Cltpb-Vd5~hvWrju&d9IJh$?`kyZC zp!GzL1GYO&fX$AB+eQtZSz$n$SAQ=0tQ`B?qoqbtqQV=5MSONfl-|6Hvs*rNK$X-? zXH+iZK!cu}uN0?1eJ*>Zw7U0O4HM#2LfnHnhhIw8HRSQ{oGPv?kD7pv8fBcqPviO58+cR-v>MPnoKEnhL6f)!lt2Kf?`oa-ZFH}~4dvW2hN zEiLsCfyEZURE#(0{t}}OZPthM)ZiT?Jsy;i>6_uJR|cEf&gm}S3;Qo`Fo{tkh$G$_ zs5XE2`!F8si&VvdJe)*PF!3y214_A3D?I*}F5c>5eA~<#v^B9H!J!&jL4y_Zlp81| zt)!#dYC6&HGA82xViDA!+VQ8Ng>TMu9DQ*0-XZBrm5gyZne4R}rCV%-GlCqGTp3sT znUxRgKeMKpG;3^yoYX*BP+wkH7+$5p4^<$;V4!asn>FBU(hm#CZcKTS&3kvS#lX0+ z@usj!+W6ZF&|_>784}Ct-+Ix#kxX{)viKbs7d;o0n%8*Cbcflv54@Iu!xD1lR;#Br3pTI^Q%HK8e-z5+PV}9OL|~bEHL*DJ`go% z=|!g!=n$VThyQCheg7mBUFqUfR%YBm|4cB0_)sQn+<;Ke+TOmFtA(=d)%?Kc#pSe2 z&6Q{$A82(|R*JW+*W;*$a5keCH&US4uuw?lAUEYik1GBL2E0a=hX`|eo@#jz0)1{@KWS^(l_7MVx{~={`&NEVI0wcL598;Lz1;&P-4{UCx&nmGQ z%=Hh#fCiAy-^329ZmS>er97M@4yiB6K0J|CV6!2i?awk}#x%~htrrx)_P<~^p{us)~ zWRN}|nLKY(y6_;jcSVq3dA5}fQh2;{!1A?a;l6Gy_(bPz{D#F(krU))<;KrVSpW7< zy6^bq-`jo4jG_{0Zh&kv21h*AyO6{+jv`egft?Wv)>4z_gYs7%{n9X=Yv1joviw)K z&6PW@{sF=02Nw4IOlP()SYEvl)>}N9Mkr-d_;}xDTg&^%E2NNX1Otm{q?uy*I%-51 zkt|~Uo1;yD&SIaYECIfPKA3HzUG@LSd&{7@nyzi|U;%OA{ z8xqf(H@6xRFhy4G=HlCNppE_5)~Kq*|Jbv|Hb#vCtkM!~zqln~weBp#{VdLH7+P^< zJtTDs=U3MaeRI^K6vcAqzR3EOUvTDW6Nua0Cku{1B4k0!1$TUF{~GP9?~jR5Y?BY( zwTo+4Okc*YyLv^BGWp6Qqee?3gX{iK{5ol3mK0uuf_w;&Rc(Bi5S}wVwGu8{z7%rp zxi&aZX!VfYP@B(Fndw(y5PDnFwCqV_E07^OH#g2)^)dq8_CVi#O}?vSv0)Z9n{wTF z;@ro{$^BXWxJQYglh!ppD$JvSyq=g-JybF*T`q zR@y2@U~y`Sxs-HM$u$WR>p^Jd3A}@>kncBrn-vFo7Cx=#O=jd3_*w*rTtHe$XzT$L z(Kf!GVq{sEmebEWxAzz^XR3siSPR`luYjw(=mQB-oiLm1)^Sl!z1c5lIU0*d`(_t` zouWEdCDRsu4aZCS;LKm&9xpF#N}J_aLc?|utot=nb`Ji8lG!!Q%3r&nuf84$?c|s? zJWQGQ=2yV;J#`Y@Yiv*)vTV&=BCJ+j5B-Wqx!!hcu!5}?SBmqQ9S^rF7Ymca$NKO@ z7t_K6De;|QiR-;kbxGKhy+78{j)R7I1w42s1%}l=lRNxVQc3r;;TwtzquY(Qv$31NKYR*w^4bt)G`M+h zF}iq~D-%MM(j8jU%j2**wo#xz9rC`>ed)y`P2KIITe3 zS!l2q!UvjCI=x|SD>8OP=DrblOb&%-P(VX$ms;CyO+; zhOa7G3Nj`A)R#i5nNIlyX#=yK{2gso1cEjqoiN)~wQOy1z>Oxs77?#`^)$(}(>O`2Mh2_z%O)ipP38!ovpjm48JwXTR43 zhG6n7!Je|oj5-*LR(?-KDHTl-UU>gLy~+4`eaffY52ihK>;fBR&B~&ons<4{(eY*( z>0I2MmDe6Rk)r~h%^vk6>2Ls!4(^-Cja2?ZRSU}dtz3s}Cn83}oClH7_iFo6iUGV? zi)hzW_^tXu`F&hBj}fEn!ov<^uIQo$EzNYZ{4Hl9GK9CkS4gyXc(qj0M^CA)LrI2D{lC^~Kp4Hp*etS+o!Yl{(mI?$jrdh9XEU(Bm7?*wNpOjW@ zG_M@V;oe}iiWTRxE#8}?F6iFf-L)+1+_iC0$3DTxr*7S56{s-(Rd<_4T zE)St!zo$z`Z8Y;W!%pA^TAZEAp}8kb$x0>r+?Jm_?Y~=gU+4#1#^(lLt0?JzNb~-D zmEQPW7DdZ*YKgt!o(kz|eX}Vk;Pgw<{(3K!^&$%oN?KCj4?9h?UMLjTNK{nJ-fkPt zB8U-a{VBEYso6sny*hk8*0`y78HdDCS+l)+}fk-?t54 z17j#YL(fL4{dRkb+CW;eK}}79M5CVF+@;CsK8rvs3rBp<-}qYC#Y+}tFFwZ^b9~L` zRLjAUUyL++^Am>#g`f!F)`&e;{HKADxJG&5=IY{lMjD=^vpflrgRoeKZ}OT*t) zpG65h3-q$fpC?9OyB^0TSc)&-Yd1er=|ii9a%tml&+e=>+Dr7nrHO>05Vl@Z!K?kP zWDs)_*=k9kgAEaDPC3DyN3b;~EvFzd(>so0zZuQ)&fD)4oxW@EJadl-Zq##f;`^y_ z&pR|FoH_)BBPOjIRg7>+N}^YixgAzQqrTY%-5C1uoEtiDMa9(J0*A*(1%r^7X3 zAAFnC!r6h75=a;|6XiX|u#or!Yr}%ZvEe<2QpIS0ZpISczYh>!rmKa07?I&oDV#n) zFeT!MP06zK6`Z%Z2OtFh5BsW;9Ib> z=7mXQBzK36$=v+R(hX=48|rpUc4y; zbrUydZC44~<}s4>P;)vLaZSbF9eg>zC|G$Bm5kv((1Z&ZS%XKxid@^IjT(MSpLl&%{_* z`fM{&f#=p)_DhQvU+QqxRV3C+v|PKMtH2KaqQcrxUn*Yh26cY5pM75_3 z&iThJlUcIER~)+2zwpf%ik*#4Nu^G0rOGkY?!%OTN-&34=U3J*PrS^wFyCmlD=N^D zA3eq!s`Jl@zc9Ls`?z>aQ##j%rEi3{hOx(`qcDH z;I=;B>%I~Yl2BHHt;!q)LJn66yQv@B4m7H)W!uXln_{Og(2`Y>2!fwmog1aJ*Hs{o z8_$=nxW;U)HC%n_E>yD4rzMn4Lp^DMV>C{CK^ZZvX+9V>l3-&+Im<=3{Lkb+?!3u~ z!`Bd1f|-k!FFO5Fj4A5xbKO@~)F9VRi*t_RNTIfQgYg-W3Gr~g%qQoZ|5Rd~rPkKhv+&r{k*}cCCsHv-UPk$Qv0s=yI`WTQiZpqjOZpF{dj-lohM$ zbrxL%lpvplyNxFwo-e_vn|Yq2HTL%|LmJe|Nd(NXe|Q}5&ku)w8pJ`#PA8<5QnG11 zqO>n`Idx4_@Lef1pgs5~r~I03HtCEKpEt!bsLo)kxH^)?9y| zQXy?aSw%I%rPV_1-0R`@WzfDn=|VJLIKFcruD{r2j;qQJ%P)Qd8Jq5lYC1JT=I$%N zQKWui3`x^Ix|O>+!k&G>{pE==^7VszC>JtuInHY6$Os}IYs1$Ohv%=Vrn>Ur*aUvY zkmMC#9s^x)AmYlH?dLKZKHg#7kgg}y!oNtz8&P8^DbY4E8;}`)bK-3f>)O96hzQFq zd?Bu{tEgD&TtiN&P!goI+(tDz?HC3V#I25VUyT050KItHE)#Ic9oc6WG|0-zXT*oj zluaJ#q(^P}K4;Ij$shaOANyg$+$3nKa(wr_fOq?>K(D67!^&7Ag^O^pcp3BYOV1B- z`zF{Z?gH)k-^)3R87J8DTB>rG7yTZDrS<1i)CLL~JEvW>bDG|8=XJ=CHzrg^N?P$!<*M$>+jAW}&{-SHcsA+UJT|rH@I=d%5ie5JPFPaF8 z3ypaoeeTHkYuTqNI1%!ump2pC`Br=_Mac zMnCobF(1;}G??ANV4h@0C_fQf%_?Yn8ihg7I=8Z6zO>`PiyI4IHa5i~vLCiY#&LX>xLSuwF^VXfuH4 z2&tq4CwR68Wpon{1TGW(h2a>ethgP4hZOtycLq{ z_u=6C%n`_=ZzJ}Zg(auIpsR(2J8@svV6<08X*F^C7dez>JQW}}*nc=nnB`yEL#l=$1q%b#sUb!Fi2OY-9)!o+G z*~oPr;@7?VVVp5#Z=`rDH~SQ6cfZ|gnsk@S=PzyU4y-I}JfE4HZnE4#9rtpsSXfvX zpICFVltd??n4_X-wc5|IS^=h!&-c5R_G7C?)SkCg_|>P;;Tn2!(LE1?M^rzA& zq@+2NvPp9C#dNu_20~rGN=q3Z;D9Q|MZss|ZhzgwySjYK_J|t z*8Qx^%;0#LxSt=`nKrsaL`&Vp2JI~@&U1k?D@5^kxGKj^R%(IB4M9-{1b;>$Z+G`d zL7?1qz=i4Tj7WuaDx+ZjkPT%EwTdKkygjt-D+>kc;0n9G=H({4^LC9uBb}bSS`(^gXuOycz!hk@8%IJjV z_2$)3_cv~_&3OC$gv?VMpXEsEf$lgO8Sj;8dbaX{I^L;s@=8fd$F-G=jrAd+?(Zgi z6DZeNjJ+tPO%Pad^z8QXO01HaKO2hS}B`^5gDf^>8mUtXpP zvwu&ryu6HrFa+5=#4?0j>(lkVq1jVww$XkpN!QJ2#cpSqF4N|Xp=Nz66v_IJ*6q$) zA9~;VF#gtu@qhY|{MHAYfBIktoDLG$d^;j!@+MPjg7nD<7Ya6Av7a5U&?`my7k5zP=na`;62ur!WCLH;U~(%axB0$y-WN)gX%XuttOUI9xmF(GPQ_w|s*>h+G1 zpWMYln{a`PYvG6D9uf7!PQ+{Ql*j9(2UPzzItj_=W9`??QmVz(X}`Mg@SECNm#=9q zmt(JJH)jk#@0za!fjasy7Z-!g&6Mq{Xj}`;A;DO>zU(|a7W!xnrq!&lyVL#Wp!1j3 z#iHq56oMv|?^QbGpYIe%aGN0!s0G}~>w*4R8b$AHH)9ZHh+0Bi!A*8|;q0B1Jw3pb zN~vVT@XpPKDDPqC=PavyeR;0(x}zQE7!7v2tqbA{Ia(N^AS(#J*q@dpv3u2kl_MJ zcX#o_wj>)D_Bf>k3Ig1`ez@zkl-1OMy)kT!=?@!&hR@t~d(Rqo>$){T>DNw<_cQ~o z+Am|7DP~GQoDi1WUipQ4>*YABQ_w!#k7;~r)9bkCCfMs7@MiKGz1H zoe3N_dPc-cSG%yVBblJZsBNSCoIlV3ieC!syrM0}db+;FHcfI03j=TUo|>5F@EnNE ztnzyc(6V-nG6bew(tISUtM1R>dakLl|Cs}&W@7TO-FqQCZ4fW@o8CrpP!Q)Hv_L&@ z10s?rRUCZN&c4ESQwRTIw1scM$RF}k7ZHG~2T#l(?QpAw)s>-mxqHFYgK|o!bllvath87b>N>ya6cA4>j4$E{&-o!z*#nA> zjDWbDgXqn1)wZ$K?-WE76#YuyZ-WnB&mQW6^7ZwYzN4(oa}83T&r?=bVsl^~ADF%k zHc9L!b*Ir`o9@@AB$Zj{#yi-)7fiwE%;~GcW&dimK$lZ~>clPV1KtLg zsgxKtFnW)w8o#8sBn1Hqs-MLjHkzOBu+535rM$ES5sahq3B#;fvVn>ft8~h{Xp4-c z>{v`=X5r-Hfu*IG2Bx~CT2dTQ{rb+dGD!=5ZLP`SDWHK_J~1=nB6_oY@CB2Vb)>8i zn_k-nIS5%((~j!_3nRU&MG1rY<>lN2?c=N4W7#T`(8mG8efHzyTzyYCgCs(N-iXkr zWM(F&-^GUmoi0iuR}}0KMUfS*&d%@u@F09&S|)Y5D}#T(ytb<%Ot3vwAQFs?Q9;yy zO0TLIN$^{M3>B`s`&U#HHUhJ-i+gI^nvB5^&dXkU7+ePYVtgt}x&$|bEGLU7_R*oR zW37YA>%O~zwz=tmh?|W_A}3+N#7$Vz2?JVKdmSt0PBY%T@nGe&@{jS@G|oMLGi`H( zKRo=}O}Gah+j-KeNfsja!yNVZ#niWK?DE6a0)AIN!#!GnU8I|FYI-`yS;=@ae+ZXN zt1aJXE?{4ra##?sNwg^>ABmox&?0Hxv3QFFY}1Yo4wyUHXHGywrTze_fFE~@6Ff)T zo{d8}h8Op<2WYQxF=pUg{EG6T-cgIJ(l2<=9q^I=)q&6R3)@XGPs=Qok?L=f%H2^U z2bQZ5m=GWyi~h|A>R9Cd2g+$$Bi{V3%|T!-Y6NzlGU?8>(UC^UUBi+rp3nmI?o)mP z{`_u(%90*z2>g)IA~lNcz>w+Spus@jw&PKU$Ywb`8%axlOwF26^~X6u*RB#NB4-UAIhw&8;ReQbqWLN>YSfzY~eQHD_5J-D(`;{jV!&M=nf5254J(p>tZ!&*j zUTVR)Psqln?oT@`*A|@MFc;KXp1GzdNr`g9b^BI)#a=@8+-yTW=_7)-r9H@>RfNS{ zDyr4onLn-XBy&#%+**G4HD-IH{dFohB1RxaU!9ou38%Fc3tg!jy?B(CdY_ugq+HAG zJm25ci=QjdHe64S85-J(C`HzQyR^t`ZbHzd3XmEYHKM@gdpVq$>9jogyvhjZkd)}FBOZeZat@YSk{!D>6Iy**cH za6#FUmrk|mrJ;Ofit>!0!eW@TyNk0@q={ckeBm*_c4{h#u&}}eJ0?&kA4ReMbuFvj zGO4vepsrfDEakFhFdI-uMP}FQYWUhZE7hxRz8)Bzg+ojY?o*$Hped*x8A(Zg0rv@bvyd@^8LRgiea z0&`Cl^5o&gk$;^4sN5o4-Q18)tdF(J3=JLXJUno7HyawPFlgHtwL$2?1vK05Pd^|f zM1j`VKLpju`~y zTHM=PvDw$u!^7@iu&-A9kGsEQzsD1nJ{Uhx8HDe1B>+RlOXOBu7I2$= zy>G@c33h_VskRusz7JHSZKqIwf5f`j`Tf&V5KlKAIy5Y?lU{=F*wnT0*44Tsz_j(Udg#@TqFafJ11YU=##3dZ@uUGaN;=#HBPdg%E=Hq4$5j&%LU6kWKJ)I};W*nZg2gQ9#o8XloeBrESIJ zaL?pV0yKiwq-iR3-HaVil@<<~VP~HyV1YbeVqfx=7{qUCm0tduWs$72eAJT|>+Hk; z( z@>l<+^Esx0+qAUhi3w~8SDh6a@ef2haRjKoz766L;6BKn>im4iT$mu_VrA_)uQf}x z`G^d35CRNfP>m!}pdpEOp3S?DQ*2xLGo?2pLArG@U)C0sg87r=)ud|Xk(G16xR+1Q z4{lAqtX3wBuLYOut;gv64nLa@{uEA4-^9`~V@RwiFE7U3{}1}S6WT2rL3&qLQH4WFYJ?SDRTUBYC?Klm?{AGl zIA5Y}M=-!Xrp;lwWRIN`#kc%Qfh30vgX9*aQVm@U5!Dq8!cYYaAkI<$GI@W=xUgWfM**QD zFX)=twUGxaBJ8Lvc!s!{_SoDM4K969S0Cr9U7#7nzd4y)t>`jY^slk3&c9o?_7mvN? zMdU|EYzsAR2UPM*=|}>sdG{$Of{57(8|_wqR;jA0s&t7Ces_~zUqxY8#R09HDmp!MyWSQc?vjO)LC?MjMg8)3i zZ~x!>j4?buUQw*!tUQC*E{cttqI-GWn@?REMcg(*tpp?@f6kB)-axT;;0t5mV z%)TzenX~&D{>bd>Lxe1Q`3Eua5Z|X-mFIQOqYhLI-20=6MgG@54S7d{e8Tp3YrBH3 zs(^AwW_tQ;(KM!`&qEwseuyX$k+=zn{|@~yOq7Jh;Fuj(mA2bF zzn&J~h;&bX?{nZQuU`LCkWkq)cci-s<0xj$K`xB~^aZy(8I;yFG)zygs zZ)k^plA%m@Zz~UGA7UKP9S!L1sZ-L6ai5g*64YJwA_3LQy+ zf%gF(H6_X5=D4}pyq!^TeGhM$P(;*$_=W2aLM?9ndX&yUGO{8zx7PXmp(*x2x1?%Gz}-xR`2 z|UaE};PXq&t?YXd! z|5+|3a3NvN7jnke8J5Q3;yg{pEnweLs`ja@R<7a~{1OMKMe!zNXix~?1^Nt((60`Z zwzzz=Cz_hN6@vWrdvE08f~&@~5MZX>hVTa}+^@Y^#+B!1FEF`?`q0pz5I^zfuIHYt zd>{9OP1x1vb8P@oosmj#sV5zM;s=C;j>3Ah-9sp-Gel+z6<& zsh>6|I)%feycLz&hK35igv4RsQ2{&da{pIdgP0fO`nI`PkHV;ayX3I_fSn|-sQ8$Y zP*vq$RAdw^mKz)US4oMT^!0nq>w*tYMsRTNU{QY5hr2K@0ongD$4q9np6_67;^MAN z44XDKXs$5mv9Yjv^a27!NYr7y2?SgdizrVj!18b0aH#b=$gpxbQ?%N%CK|& zADDx$Tby^EFTCEZ&R}(J!ahEF#BE3It>w`1kFzwI01`<+Z=t>{Ep;W;Yevo49iF3c zV<@}Gf4&YyOb$VYlR)v70Wit<;!-Fy-14*+%<2rHqRO<|Gv-I42krtSf54W-1B#n8 zF0P{06*Lxe&T3LWNEyrVz0-+SaoL{a>TX{V0peu8HwMX>6EAu*lMKT}ng3 zmkJGya;yskdP0;yQP6dBbyq5D1Bgd$a!$H;zNS{UEdn?q*tX*4X5Rk}Mt}>0wOkDhqzl)Pc zHZQEvl#pNkJ~VR;gaM+?fYoP00XD}CC44^5>6)5>J%OF0k9CH{p^bio>ad_EpzCNj zmzTpXoc#S-C#UI-{-RdqA&W`+GkTE6N^x5l|9P~G{GFTm(FzG^dMv!$Qop*atmOgD z$wh905WiaZOiEy_nDq~(HIV&P)I_?r&NDkJelsip^Yr>O8+1%}K~HbpOY!!-|848a zFkpZU36|#HB@aakL<;`zKimAfm>}P#3lRBYWvfF*%xstBR#H)sb+}GV|L)--X=ewk zo|Ii*4-_avE@jG2PR3xl6rd~!{0V`#01e{3s|CV_&JB$CU$0wy$c zWZAW*O$UdtpF?c7@19W7fw7Cuy1tTAl_RIi_B>6$9zSDRV9l?`B&94TrE#o25>I(; zYT6+cKh5BLEXjju&3})L!R>rl$4U5FyS3$B0}m3wmDpcD^}3VL7C4kVEN%><#*|EN zM^PtK`9xsWJMwb>j9bIk{6pI+2A{4l{KmxNhn-E-Gel5@_^mM_27h7ys<`nqA<&V@ zOrRrLT25fjgAx(iwX;$C%0#ZRMMNR&kYsq zxEntNbT2nsHJXjwYc_wWu9h4K1A%Y=Kfcvr2rPOB8MhVRa7U|ExwXw?q-8bGhi$Fo zn9VEjb@W^0qVwT9yRze#_snR=EEvt2LcNP@iFVcZ1Cp{}r#VW?7Khe(WQ+`2%z`>b ziE|E{ev`v@Z=1<@XH@sx`coKmAf-ek<;^V$74<&pgy4CRmeXx27ie*zX=`h> zln5qJ1;{xey^C_YEmbb%Yj-+5&dxTo2clpj0+YU-J70i(d|ze5ja7rq&%@$qh>T^ zw6EVs7#BC4jfSOSWHdjZFouqP-Q2`vf(E+s<~iw9*&$KSNO?#-I_bq$RsePihj}#< zLq2BSrD3Nk5{Rx;bGM>aqy;X*TGK+uX1^#mCc{-6tKR{24B@?3tQkYQ`ssXRp`n0r zqDvP2io&rpj^sePQ>p?9xiOJ%<1a?2T+aD=5Qp|tKp@}h>(zIs`Kcos@qUdXyY^T*_A=JP1l&@HztM# zpGcKzT##MeJ`WB)6f0*WB+PO;oooZHMmnDzR=Ouf?=A8A<_lD@!(m=Hft$VB1ClKi zJnAQ7T_%Emwo%30fVP=<&~)*_(962}k&Xtst6WuU_R{{iR+^F*^pf1Mxj8BOsJx8< z$47iAwWKG-Pa_R=DOI1*pJt#8sndWb3ESrRv z$Qlaj=d4mBXx;Wn$Jj&D7#udW-nu~hivQcjqoSQK&D1hDhXkNi4oWrR^}s(%j3+hI z5EEyTD=ZjN?YvE>>1}w(3afX@RgdfYk(C^5qd5r^I^!L%PeP`lAOQTE_XqzAHctF- zr%POh_Ax+DIbygBwASz7;wL9BY@^%1JUoW_WLwIjxSqAu)nUV<4#j79oQ*qX+puYB zw$`7jmT1}OMr@V(Kwbr$EiN{f^|xtO9xUA>Fw)TC_J@T6(d?|v>peNCxpa0up9Dw{VL-zqAL~qO*YgZaA_AC8+Rm0~u4*RH(C$Q>aU%k` zg>B1#8*eVBdFM3o)`~*rOZi>2&QEB#{My2sy1RS(v{9fiOGPXOKudLzexKtkxBLgu znzQ&VI;Mhuym z86BD|PpTgj5iiJ*Mx>;nxs2eKt*oN%YJe5c{w;$NxSmDqHC>!rP0L<((VoxxD`hqR z6Tc6No4dBtaTOWB9hv?p%4t3Ej}v59^lCVkt*RQ=YNp#crVWPBLWe)k=T_q%92%w_ zAC?a8u6grLSQDQ&Sq?YY{!euK^so~2y(N(ycG?Ut-B%>cN+JeGb` zl5#t}2iw&AO+UvNFG&dpb87W|vpcQ9Q|hZhPrsDLc~i;oiN9-2Ri+sl+S7L4rWT){ z9Ye=Q)uk&Py^U7goWD^yC?zG3&d%k)Ft|Tl!K49M71fzsyftwN-1sZS%{QmA^_K6< zwPw}s1BT9p!Exw&2A~c|wH}~>gH}r@(?kPL2-689BuSx3D1;OtIaFvkP{*xY0>J|9 zU|PfxE-po(KW+!IZspI}xK+l-fT1AaVT4FD-GH`6s!WQ^6HUgXysKWwig`WHmTeF|L(kGkeDY5%C z0J6qzS&)lp3{k0wgFr>}Gf^Q~S?dq}7&XkAHa6ES3|G*?}Bo|Ps9=5g}edg z-`utnYAUmsqRRNh|=ry+L;|K=u2L1yTGD zl>a|{#z2p|-_gr~u;#euZ@!0tgK~9` zpDDXIsg>}12mnsqa%pILJoLgN7X`f6f4o&DxG3%~$|{{NEDQHd^o26(;dYC5n}{+)&YSO*KyyEpp)O~lK@{2%x5 zH%KJ}^3C!3AEA3l=3kM^NE^tW6kpQuj0r8PM9q_;6VJSC)K zwEA6S*}J(uSZg0Pt{nY(7oRSz_+_C3a4F;Hb9Ok&x zmznMma(Q2M^lxm~vRSmy5jjJZ-3qM2;maCYy*8?ka#Xzo>)Hd85_!5^22d-zP#>*Z zVb3nD^VV-lhL9XH%FQ!4Lxq6%r?PVXa7KFrvjKTuw{qQDctjd(V%Qm0vl7)<8~pVT zPZP#}8Uj?#(O+#>+Hohlt+LBoJu>StOX+GlyL7n2Yx4sP4uI&W|C)M?WPV=W=27D= z4b1}~pGZR7^anTux31?7g+I--Ns31?nDm+BSZ}YVx%7+WlPBevhrGV zuqG8!27bd#GC`D8+BRk~F)+IlD3bXA;#HJFbE&TfCjfL{b5X9bA%0?p_RsF;E!WgY z4D9E-sO!qsgT;BJyfQU@w~ZrorNOg+TH-fuyZe-4x>MQe*>D#z|W+G0cv(K-sQAg? zv;WI`2?~D2#x?|aueo_Yl9bP$KXC#2;!{i}okdXa=v=KvNSd%IWj#&f(Oh9yXW=jq z#7g>VL|K0UU@`3$>)@~v3rkCJ%u-Hb5jPj@XxCQpBQD&8gY{}FLk80n_x^kQN#C16 zejXVD%V7y$=Dz6Pk1}4H-}-p7uLr&Yw_!2}a=GmKWytaopU$x=I)ro95s2UG?_B#2 zAA);e+_!QS@Q-n;tF12=+&X6{`Q#s+cQU8L!8?$US}F{WG%Hl}xjf7ln^%!(nvD+4 zJg^0mb;lRO8irZp^7Er4W3|FCUp+PI2jr!EswxZ*9XZJuq(oqYeR|*w&gUDxx^5R; zy4^0jmLF?rvXpOn^G0l)mg#-3lra&)#adPo#&5l*9p*?3OPm!>(idbS%MF9=Qx0~d z3RRbyPo!&@r^xQEVV=R&?P-y58p(K&GH>0^v*U9PM;v4RrAu*FMCDcnEP2BeCKCid z&THO^3ThJbUVQGa%?iMXOIft8RckykC!yzKkTnrELVUHdI0_CxUiEqcM0o-dgMmoCbI7%0Fv6}r+r0AbMp98>pZ!}S@DtLoE;>oA zNn>NCCkkQf9YS#zhS5AecbrU`Ct%Xdg@hc%VQckO#23b|&K6TEgN_f5ic0p%3jHBr z1}(@t<*YXP{eVeRP^Q=f<093URDVD_i%XEHthS`4!OOncU4RV{8ov^_#!dlw6CND@ z0fNfXCq_C8B&1Z%&rf~{`T2bN`+u;c__@%gJ==kt%eyQ@cH_x&gqacl6qS?;uubGA zgvpll!^_Ir62!DkN`Q6Ip$3w?0)xy?<_g`9lYf?KT6=ol3u#>d;VIA>?ttSAz_D@S zFW_E3*~p(2wAJ~w5Fq9TtYSlWF6j;EFhS|+ekISVb$;s7qBH~ID`%t?6|epWc6Q&g zNno3(%6lq^hupgU4lcDWIdQfWf-ccss>F#_cK=vjS zp6XtwMN*7NhQ9L0+BK=Q+1}>PPcnhZbRq@c8l09al~{aIil_rIvzrQ78#H{SB| zHoWsTeTU$C>{PH&MD&yMro8VlGs-!8wq2~asHTc&an8kjlM7cvt> zSU~o41AjK!k@Diy{){Jp3sS}M{X>krl!D0VEVPn@`2g!wqu}`m*y%FiSf0^ox3!vM zfjrFHcf9FlETwUJ3nb68?ct|WXFsK3hz^IW>y{qsLt3^;5bGh@zqpJ4T;*eUMk+>} zdA)bNKcITGu4m zUgZF%f9}r6YhQbd7}}8~55npx+5gEDXnN`+icd!XOtkULl^g-O^H#R5D{bf;theBB zG=ViI*C4^|ur3p{Di6@wSm-`P!qIVaf~46cgl~(?-8}-(PW?W_szSz#`n>gXyXMJa z*L{l4IRI^WMEH5ZWV}4p`0Wj_A2x5aUVp_Fjw0wsRll1*9=`>Fd`%*%$?{;;^p8{> z8mL(mUw%jQRx{P=Gu+Yvknj)G{!a)PoWoL8^4lIZl+sODmY6ED2QiJdcW~){2Q1z) zp?&wB^o$!l8goKB$5qi+l{D|a7&_b62%HAz#8U&Fqx0LMD?dTTRnd&(Fh5$uK74Jo z*NZg}-4X}#c|lBo1w!Q>{UYWbeLi!;Dfq!-6PBrJRf5wj3E;p(02dbu$AZR-=+@hG zx$*TW!k34c0ILQYc%KoCb14-xM%)(%>tCPSwJPz;EQwHJ$%KHbkS3w@yY#s}=6rv8 zY8RtaifLy3066_RA`LrRdmEtBjWcLO{}y|I>jz+Hw-ta}LG7>r+cyE^YJ|lGxY**m zLe08?yeB@eWMovfT0#TPJTN`&Q45U31xgn0xqtvo$6TP_4i2By4;^_}pqt&Nza)Cl z;H=NpL0AMI)FyS+fRsC+UEpWuE$jUM>0j^8Fhr#FhsTNcARS^lS66^QCm`#TSCa6O zAnW=f3%ZkDXG*-dYna@lGW%x1dQtBJ@e;%qzZ{0N#|sI<=*ljDWwBdDqa;k@x!&t} z8ro-(Wv!Ls;%b_Bgakbq0q!CFy%Sb7bCRtk%XXsO`jS!Sh*9T|ZVfnRu`vdJT4`?? z0)){IG~?jFf}!kJ{O#ShL9t8vY`yxP9xFEX`m9?R(A@~pey2O7`S2q<(!3f#W!ce% zan7R$Y5$PLpU|kMQ{Lru)dqR{RqyQ!N{^@>Ow!gc%QiKw_z2Cat1nD&f!5er;tA$1 zp4=xMmO>FxV1K9}e{VOUZ$SG>U_uMhSqC1x!E<@*$q%!;yW7M=N<(9}qk~92X?d|e zU8u`!Y7*)L?mGU)2elyOK2~%C?1Ov58NG2XA6AWu!vf|7!q1m7Soh!9tbTZCW0xrX z{hNlr9kSFthm~QbhdRr6v>in?Ez05`buL`ESYf+Y?2xO#)$AvQ zg_C?6F++UI#xvDAf&6p^=ZMNL^<3`8wzFLq81vEp3&}!9#$Xj@1r1oqoK{g3u0qt&Mq>uK24uKJA(rV z06xCHzkg3R`#81`B9qkUD#b}T^H9^+G-bSBq0-in2e}iKO7d1HDxLnY@E(%!6Cy1q zLe#LaxC{F;g>1NG*w!GM47g8qpAp?`qEpXK^;LLyi14h41wL}`XOVJKyyV3%3KHWA z67+Q!kV+kC;5?3-BINRR&0NPyIZV|oQ})PdMxRCr7i#aY6G6pn9ure)s7Wu(XY&54 zQzXpDAu-~H-dv)b?L|8yCCyvU0#K3uO8bjmt_ltY^RGO2Vl@KG8`ztg`1s6gn-Lfn zm=!HQ&y{7QYw#b@x@f)Wp#K$lCx+NR-hxmKll#f*$npIA4z&J_wxWWPkWWM3oXAs~ zo@%>CtRx~Ft&hXBx957fC7Kx2CMOXIgou~Vyk##BVZXm-qIJI@J>=w+Z`^cQNm&p1 zwxLa9Iy-x`wLPSy-uU>&5(uP8Go^>oJTF(_y{}SR(QHe^G(1*&rL3x_pzPW{zNu}` zj+5lQ7gY4)t>7<*txDM={KzMb@@pDqrpJ58Zi!bC-Kk-GqPHU&(du`^#AN;R-^Uyr zL(%#;3k!c?QT3*#X&)JpNYK^u6coCC{P^Q@=btw>lV0q5ZTCZm@AdXBz3p z8dXyJX5pK14hd=+q~ta!yeuDmXkK!!Qy)2P+Q4lP-w5H zFyrCKbaO%L;|f0oS_tfLId;hH)Y00Ebfg6dAGYFxn6||l64#sRY0a@SJ);$^f5Tr% z&WL?$Z|k%fkTB$YcwfZh`)GY!Ygwtw@qxC zES=m!Qk#-$@9?FquPe;i_pXMOky}zr|CIi>!LDF8-UtXL z3HJ)Peaq_pOYhIQr!w6S>`4nrCSp-aJGs zjg7r@P-CaiJ@tp~snydSg@9@GGzrY8=_*f2dUDI^wLw@#=d=|Qrn$z&&{adr#?PvMD|+N&uq(vf|JE(52d{m<6rdkE1tdN2oi;0MXbp7upn1#I!ZWRB{Ogt< zA7|u|F>&Ogv%1vst;4OyZgB-or*8wYYI@K= z0KeM2(nErwp5gXQHK{4&Dza-hTYBhDakk;%j}Od5>txub@N@iD7oYb}>-QqydV6sF zGavpMnq?AkWN@&j4_U4{!_BOO50=+|lOC$#T={suCL$?^fa~cQq3oL=8N&1-4?Q$A zxtGCQk(M&T&;a>qP$CQ=4>~;jP1h!InDmH) zKR)g-(%(DSgPFKzB7Ou{pYlpTdqa@(4!(%Uv z^yzf>&hR3M!-GA&c;YCwAkcwVATw*`bb{&Vu$2(;Qx> zf{gpQlOsc<*M%SdlPq^vBog(uwvemz=oh4izP^ET=bo=wdr?Ev6#2N2mgc7RGiQ+K zaEX&k3E4?)Y3ck<-^1ug`-9WBG;K1-wXe?BCvFGeM+aVBdZzt>9Ak%VuD`f^|I^q* z_C34yh*R{QqO!h%iiur#^(eO6^8Pzfi3iuTEVb12#D%Y4(}~55eV}Rfjw0;WWL1sS zZ(3+-8150gdQ{1y2}^n=L!C7b?u#CL6IMhz6Lo5Os0i~G61$() zNhpqtI=}DcPQkm%x15qIr=XQ$L%aPuintVe$(ovhQS_QrNheZ%~)b@ zMXr|o;~l(eC#20>LS`M5KqhtR^{(BwC=O4!x`rd4U~MhsHeN;5Kv~%UtxR$MzSY^Y z&(X>hk$O79XH1$2qlCWZ_bM+Ao_vG6oEu7S_<7aed@T58g*TeyYRe<0d0F)RbB^RJP?H#SVz>Hf8AA;%3wfDW$97#8+^1KKd^~OWr}k(Z zKK(*L)dcx;E*;h6-t#J~7y<-Mn0tCC3=Yy~-jMEOkJi7J9tIMX4mw^l{Py5jN1{*k zd(%z~`Yr1&h>KLeU?ae3D;Sma!P25a`is5 z+k%JJ=ib{C{d=~%k5$Z&9zJ^r^M#t)$7x-*;^uTbc_lM0e_~_YogW)>N8VnX*P4&Z z?)cd+9#Pn_JD8Rp@I7T-Cf?@`+VF8&2?}_rJuWXGA4wd}daLfEWlGKa0W*&R+uWklvpYyg`Ry#uctMefc1;ORK0(6Ke&42Ih)({%4R z@8+@O6Yx^GTa-cC(-xZ67Iwj$5zUL$@c5u1LYL(?p9((Of3l5SwWXZ$jp?ojZ=ADC(Sk^4* zp{=A?cjKx=eQmTp1_=jlXO0D4yNcGwb=20FaBizg_>9)a^|rKF2=S!b+n{wi^lL^< zhJ`0@VZOq`st^;Kj>nHEtLU#?C&kWj)x&+-p6JZ!VU+mc-Mf8izGL4{tdZ*LCwAG$ ztx!XQa}R?_OTu8i;^})YJ;+^x{d(#THwe5)Zbp}pG%rUE&f7kj=+`1Y%uj$*%{q?M zNs#x!lVh#iJ=+ZOtRH8?BA^ z=U~+eD?`WceX_8VzZXQ>3JugM997-E`)xwSScl$F`->}g4=Q@}5JpF8QYX?wb#&mt zBQL%-k=9(1Rz||d9KP+KBy?0L3n_B!*UP9I>%ACkdT>tjn5I86C!woKey_^uhoR(E zAECGY!9~rza-Q9!YWuxo4<4A4B3E{R=Vm7P`}P^+RcC3)2R1eh&s5SA=*@@}k+>K6 zqazo+y_h|ccVw=-MeE}f74=S@dQ47!WPQB@pW}1(?9ozIF-%D*?(Cd)EGa4~V<)#t zWhLd{i8yo9Lvl9A`(798&Bk^owwC-%i9SZwS09Ib+u@VsZo74h!efU_@&o61yRh+S z`4*673^FkkQ}7_Y>BFsBr*59R{fYdRwihHFgN;*7nVD@rImiV^*esYf4iuE;n0xAa-VX9u$xB$wTY2=*Fc(n{x0`RPvoabI0{oBgS)I~s?IulXjkU7k z*%4~u-jtc1Z};4Whsi|pY*oWI>7gd^10RzS_pWHGkBylbIVKurT*9fJ%aBR^1tAW6 z+dn+9sL#k~%FfKvRWW4dN{%H3dNe&$AZwW6d|gFD?tSTjF-=*SjftOp4{@2Dxz$Bl zD-bfC%jhw)dp~$r{xzi`-uHtztL>FHn6bsE@sqwe2g@e|*QTtD9D^H1+jx^>Nvq1X z1P5DTp)gZ-q`mr+ovVaUkjW=>r8xz0pgKZY!s4)Oer!rp*4Hn0&l&UV&Ch5eV!K)r zK6nZXgqV6Z=T}jT_RjV5F=c12%bMQPgM7GEl@>hgU(HRB+hq}9x?9#&eN7}!A}fuK zL^jDb5+ccV){S}7KCj9z@kSim>Qa)?`nZk+drKD9U?Vr=U2V=z{(9$(0qgF90@9f1 zVzZn2o40vrJSmDxX-WwVJj!EsRHLJh^o8lm4RRFX@P2C1n3-PcW#lBzX2iQYH)rPb zQ1~f8pJ{D=5GnLb=&G(V=GdCy>WtRMbXHX+=<6WQGuzF%r66zWx)I@jRW?9HfqpNC z_-oPw@+LlhY`1>HrNc)a-n?nDjYW=)UBP{NbU@6K9!5)oeGf}$7a~hgPwC}z&)m~U z-;DZ%(33}utMH>k6=`RWJo^7R z(myoiLHepL?N!$r+jx^zNBHndJWgmKjy7gcq=%$t(jNvG=?fjPLH55X5ZcS+g|FRn zpB!&k80^L+^ronPwC-~t&yG7`m6Nf*Ix0|@_g;84vgYcXNDmo4u3Q37QpWFkq#;X^ z_ohWyEpoddK3I77UH{@Aj73OE$=|kJ*4$#+5enoZK6>==lc$q=eu&JhQgQK{oLtJ{ zyEKm-e~_I$ZKYpOSjEYy;OiTQ*2j_41M-e^WJmL{UcL4pIeq=pwo!+&v4~^haOb>vr32e8DAVKa(;PI$HT{dZ5P)v8)Q8>4skHo z&06$q)!4aUQ#Ja%H{lU4EE!)#5W8b!_BbjTl3pIZ%72$=LiDtcfUF`e#(;T!QCJ9C zAJ>pe%6vJV?#S&FOEW8Bp6=#pJ(oW6GRE6C*@+3*N{E(3P8*8Y*U@e*#GUKuhStY* z=YKAWnv5y9iV!?)+?K#=ftJw7SEm-9K+D^e-;tBn^=PLg=9SXpvlCl_p$2uyn|H>KdW^w4ym%vi#toT0 z-_2#$o>%GPV=o7)vd{BhH$yf;n956sZandy{H|b%k`78}SSEe*-6CS6T;2DJDsN{~ zK6vuYOY_M5hOu4c-inL+?;H3`-a}7*oQT8&ec6*uZn5e#837QG^IsJ z@;pv#7|QZ-?N6+t>y zH^=ng>zlB0)!EqCX$LrKYnyoaRNUOBeU5lM;nSxtoLov786`tQ$cHe#svLv-2_K)b zmGvjIK8~Co#(IkeLLFT8iXiW&%HcEb-dIH!HO=tcNTVi?8JCZDO7s*Y?B0FLVeB*( za(X}>xHQ0fkI1vsw#hd%+RSRtA;TJ^fs`IJOg>ek6GnTV%0IlI8AAD$1-}ACdKkfC z<8|K~Y+9|qVP(3DBho^^6N2w*yEnbf===J>W87tB-nVRBd(gZ*q-7KhlFE& zNJD(c+QZGPcO5RTqdcD&R~hTZFPM@%+40sC@YX^|x?%iuvfA*Esit}{&+q$OI%K+y zIo#tb(uk&qa&##e=_t>0F#D?aChWGViv*joq-;GYP7u=`O4(g_F|nw$N10ggo~mve zCANNb73PR=o!qz*@wlP>!I8$V?gIS&58tL+nWb5prCFJ!>fW)~!jeEas1u*@^2JlMGR;6mpi7F8PW02;AI?Y^Gw~-!ka}*4jMOX- z+~^!%urXO4Ry+3<6!eV}TRvSB^*5gUto!o<97K?ONqKCV?1R){(JgU(nDu?w7mP{(rgY}g3P@fzo z#{D?Cc_cT$Wv7UC;n;x+vaam-y`ndrbCCCzB0ap#=|I2AxY~^Qria&W+_-jJEi0XN zl0sfy*>;vIo?euP_Y4g`2#Z|r>zj!6laLR6-~KxWhJI*$963ESj_2k4#=pF4 zD9EKCdeS7TnQ}csKIdX0Hhq&GJdrP7*(V=y;U{03#=k71qfw@oyQicFMn*<_mE`o+Eps}uZxD+`Ch4wQ=5hYyx2ONjmL3T0=^h7nCw!XRG~zm%+6oKW zONtu8&8@gZGmxboU;IIcFWP77p2px;t&=WFcDUghzoXnC?o(GI!znk;xLh~xYtHsO zA@VhDa(mF5>gIU(Xj#n+>A^#2ch;1>+m0A(TfXzPT|`1}S)}}7OEGbe)5n8f=oN-| zeiY{oafwIf8Si@_z0$^TODA!Dhr|24q!qrn_+%QZTON?AC9OS>^l-^u>g~j0+!kSE z!FQ&nW0X)I=Pbw`^>Nz%F=Dtp+);oFd7d9Ho<@t*S)Z#ad1(|UBH@zmoOYBop88^% zd|sFxIMsl}t-<2i(gPyZ+QN*Ry|ZTW4*NPfY{Ug)UXw;XAy4|Fyo~3WW8_H_8q!mZ zIk#7Qnfc^Q*Q5LWZ>XY`af3C#ENlJK}Ivf7psyM*fQE>Oy5YlIjqz9{mS`$4+ zeHm_6JNFkBVMd8{0T+ZqJxOPCkPTJGdK}u7kv2nm=xJ%T6%+8grZl;p9TRV;XC=gg z?V5Jk7~DX=t)$quXJL?KfAlh8XYQ)}!5}l5^~=&jb90-#f;RJ3ITlv=t=r^ORSmG% z=_75vlOB+*f{wBBW0&X3uitnVqfJQqb9Pa^ZKZkXon`36mSB2%7#%cMyDu!`Hf2-R zdH1B+xp$-`Gsks?^k5R-f~*1VU%Gwq(PT0$3-M;-Qn&l&$VEkb*B@tNl5m$R_SdU{bFhEP^9l9ik6WS(kp5PRsz{aMn3Z6{&0A};LKyWokj5}5qY zf*e=h2TXJlpnjAdJdky5e@T+0h`Q}qA4W*jwH^)=Cyo!N|? zIqcDW`#qwDTh^7wP3$mCntjydV3OJ~r)!2Ye8jDv9Rzo$la~6%fIU0>&8PO3_r@sf za)11hKR3zx?Atp-9pp3{*#?g|+zM@^8=Btcr6N5SrTe zQ2+6n#V!?O+g9zMWg>98ykdMsGF0|Kge$~_v;`%nhq7t{vVHU4&-3At!^9E2rVo!z zcb~08`yMXYUwlKE9@@yuS;5nSmPDJx?Dc-=2`| z?qV&(jp>+S6M%3%vOhrm8d^aOXFoY>c1*dkb^O&g$2sr_ehnq<`;Das&93o12sAwu zVvuiHsFawG&g6lWfr20hA>qvN;c-({CdBKkU!LPmd0J__p{})<0JeMDuQGMjR3qQs z{GdRzK3%r=2V+*I&I)?H(#)?(59Jm0Qc|y0t+{aF;wuYFKW-k?O`E0FZyGl=Ov`%T zNe{J&;RknJ6OniuGv0}Z=qgIOuv?kup!S!^enL`uI6avjMoZ&9@v|#GwoU896Yv8a zZtwKi_#cLjT^}jS#YKGgwDfS6@48V8Y4I)!_7N7iWglHlAP^c0GOixKv1*5wV;bdm zt0O;NghlR#abnLfG9xy@&6!v9{-;vx=t#rW<7!L-58UEwM(~8X?Bo->)NUFkBU^P` zRf>erWO_Jo7)=kM=EmF-Mim1i(>wb~qb5~Fm9`5#^-ZbA;|Y~%pN|S$yYD#G6^U(q zdRa^0lvze~5AyI8>0eHXC|!9OGxlDz-8(v&9(aVNr3XnqG(EJZMhJ*#xTSXxiKK@m z5(vmcOn>~*&dy$L9+kWItkL?o`ub)*epPq(X)E!ruAbeywe<8qqV?&To7<7k*Tj_a z3{NCI9F!%Ed+5rI;oB;A%PIx=u#itH+TM;&{82<1W!DIj9(Ep?mL7KPnoJL(3Lazm zW5D{(ORfbXo3=DEmu#v0k@o;2L1by$)2v_r@E5{Z069!uXjbk%Rl zvWrjj@i~3y)-DOH-4a@RPrPv)zwULqy*)4gqvTffkNeBhkFqK1Mvyxp2@!UVdv~h~ ziE16a@czXMtNjP=I*x7frz0eLdmok55Es`Hm$-f4*mL8Ld8E}Erdsak?elU*S7l%9 z7QHF5OH1u_NZZ)zVW8rxAlGfrWYPs{D#LxnB_4ihBrQKp*@>qGl{kd&J0~`g<{L-o zC|8xdc|p}gMe2#Ln5L-MEe+kM?(x@)sV#YS?UlrCEfLXMdv@PeeiBeWFt%DHw%(M~ z(lR8SY@On1&%*UAvwb{0RHq8FshWh4dK8I0b$4a&GH+46XG9tz8t}|uuaxcdGe$?_ zsK4uiStIF_#V2@p9^Rv|OI&l8#GL~tUYh$Ce!H3YY-6}>k50*WA4PXw z93P*W^%v5T@2{uLE#-{vD)l$Kx$#O&0C)zlr|C zo_iN>9ajy6^gs({Ob>`G4>!Xt>r7cUTZ{0u&9Zj>PI^EzgjzU>3wo&D$^7V78XQ#k z(J@5%td)RZ&}+x;u?xNQm&SVS;dYX{n;#rh;%Vl#o6AvEr*~`vgRS`T@c@s5j3zRv z_@kBQ?i~(tFUQVz7{wHZxQOiV)OuYK9FU@W+g5P9k;u`C8T%f%m@FiZM;h3c1P8^c zpEeUaRXTQ|s~W2Xv#S5=QCnGSVY>B9!4L8fj2fC#p zK}k>L%=r)GWs|xbI#WFCcd&YDzCoT$iLaga0bZL+4>~3;oH7B|7=Qh^nZ$`?5C76& z?{LL~W@4vHOGy2l#O}P0{M<1?x#StAs!mCY*Vp-MpligkIm3apX)o~i)!)1(^5rw6 zy)-%sX~}kRwBX|+U*?O9Ffw8*E*SRs0a~A~v%b!Pmov}X3$3Gw)$Wf>I0d4u+)IN4 zzP`QVdPLG}>(+2r(y1H;x=Njg6_Py6VX2oZ=>I zPwwYK!VjXqIhIM*(^MZHnGqSCSKT(gZ_-yKwO8wvTTy>oV@yO^azW$7CJ>M9PD?Ir z9$QMW9j)mZ<=tbKc|pFYO=V@_5m}|p)8aqroC}c~+M!jw&21i`uKnYizo*x#L znN>XXIwV6SnWd$*q|Ingb7N9+W#9OPVhGrtw4~y?b~JVOw>HIvr>7T^{UL0r}S1tMrKGzXqA`GJS-?Y zJdJ}xF)wd&KnYoAZB0gA9d7(H>uRX`9GM;!lV968^C6Y4hT5+g)e~3v8Nqa=rWV(C zlh)U*HPtEkq`?mTReASr+eGEHl&0s!d?8(hG*HiQuarBf!vfcrkz7>MI=Q_*(m1QLSyJ+zb!ZrG&~T=EQzUd7)w_Cip?^NmbeSii?1)^fmE1EMg}v8T8b! zp}a2N{Epuv2jniW1%ckGD%G{51!1VQB;k>~y%?YKnM;Y@aorUu!Iv&)C6S(gzTq98 zTUHZa=*~nJ&vWYa;{%2|(!;`3&)5nJdMey5$(cNK(v=q*ttsueo6q6M@klezuCXQP zTSRPozQa4uqoQ_VdjcQn)l{NSo7h(#C4DI^o^o+Uq&nK!i3_+K*zLT3SBA3#(ozuU z=WGH};>D|OtqWTMhyiO^Wm!g|?Y;AVJ19>}9 zL7#iNCE;EHQqqM*l>3JxxIwSW7i>iNY<3A*iwRnb30Mg1bh~h77>Da`Z8726p6*N< z$vffG4V6z?>NEbD3DV@JAoKBx)Qm@U>B5qxhoPZiclSt5Ei+S7-=-$YPNCM;4lC=x zJ9jPKym76sCr$m%k&C4@3MXzOZvBmX}ZN zJ@oWo>g!u5&T^iBd=riweYi9W55BwNqVN@Qd5^}iL|2v^dr<89vkx=>&<3C#v!w?_ zMOWFPWZX#Kn9{rX#;>)Z|>yOnMl_ zHdnsac)v&Nrl6p@#J;<-8ZKGnt-vFPw=IqxfAsB%Hj9dg?aoOpO!!h%(J*l)2cT)>^pNBI0jTA+mJG5p^6`q4pAzNoUwo^lsnLRu zE7{r-t=yw^qJXO_Y!q~B3cxzfii1t1^n(b8;^Z?G~41PM`KAg0u14ZkDK@^ODg9}V<4*Tm;RPi;8e^;Jf|Vk$H? zk!Mu5VD$IFgMygS@*;)@z5)e?p8uIqjH3f=a!w&LfV+C(_jX7#G<&v6M!QdrM8{^< zhF}x3tO3!-!*hzttUwqslVksImK?)7;$NF7u(!GO!nz_?Y^S$Lb?=3>=dB0M1=fvo zrPF5W9&e7ea_y6kJ5x>PZ!FOA(zn+Z!*Ow;1pNdT#`riNPiRZ@)WV;UdpQP+S>>N0 zg^bzwurGk{t(wWr=ZCAnHocf9Eroq{p?dzQ_%OjzxGneO+P#<#I#` z@&f($VXLW2PXP$>WBUtEKaIG{=QKf1?X2&27N}%}@YPPbE{TG+8}9J6%dCdn5AKl` zJmI`m)igrW)L?cT{}X2wg|LFZ(M_n^vgK~;6Jt96vYLg?b7uPkf!llB{ELf-m%ixp zx5}BjL-_QX9#oYTo)#ZLJtjt7a)^O*$Pk(joi)K4z>)gKUh`7r?;6*nrnlC5_8zq^ zttP8;u`VF~WnHs61h7pa4cruLz9dke32uuzxVN9u^5 zHi6sljv6vL)axK7<)@*(=k4mPh~JmZwD9@1Ia*U2j<+$BlA*#du7>~BWh9-rg}acs zh!Om%ww!a_&2z`L!8Z?HnsxWuOFbT;KD#jvP~g*M|MO`mUix)v3cvo;32V1AOF&z{ zoKK6iv^?FtG$5_JJAM^e*mCf5-?%1tb$6@v6Q)7@Cn6%1nHgVy-?h6FylQONy@miT zR7nA3gLCDb^Zv%!V(qy%U>xrkVh;vbx!vCXnwbDJMX8kuRs^oMwcDoUbsvF)D|*8N z3dEneH}njR@B+~D&BEG9B#3`+5h5Y`>MCExhJ();kjtH71GR#$6QvU59*b4GO^RI4 zixd8k;$M^hjsh5^$27KDey28BWPfvC`tZD9_4fP-8p->G)n^N}-E4H* z7&vDoz4>2cvkb>E86E5LX29uBj6h6L+eHl)b#B3S-TBA~PU^A-Sb3504((1ox@%2) z`}~(>-yJGoy!qL!Bg%JgMi9frChWF0o-05PGKU4#$Im}4p3OB4D<_=U^PlEU zj|nxef3r}(oIimC^Jd<)Gw1Ht|FWXpE#BzzbHT;QZVkMG*RyvG8)YEEi+K4Hf0Xb) zx3nY;hBVHA<%&#?-|jtmBqjqw&Xh#X^ng%>&o!yZOiKo%yZst}E$u{r?mLSPW*X%X zdh&N&M$S>U``V1k6%r|xrBNBgx*9iOZ)qmNamHykpLfzELTXOgUnYf%l+fj5lS{J3aoA`>tlaZ6ywBJ?0uUnA`$cjdklY4NP$$rf?g9=gf9i ztMV%dxhsxnPhfSTsiD-Tw|z+%CEWcv>(8IOzyG}+HnrlsPiLIspetYJ<>hbh`nR^r zRn!NX{c6xQv+F8I2M+Tbi}jpvBvTv!PnTe&9>9Jn${AxYkBYm?6JXn-=MK;>8GVPc8WGH zVSoBMHlQShz`~k|u|gL)#yo^}urZQiJ>QSaMFo@V?4fSZzWdXZW>5iZc*9MYP5X~W z3Y$vPE}kwWzQqRRa2b@8V_$$)wU+A+npHhWMw%^BO^R2#TgULes?XHzus}_g}lU5An9Ug1u*Rlg- zR(NlF*N~xMIYUs;z{Ovzs_E)aLFB0Lr9>D4N8mwu8=g|%e^4!JzLwo=?tfbuD#+-vc4q`YcVWjAM zS|!1KbKNZVT)vw!5N>-mzVsaxBwWQGW70-COXp@KQH>h0{f;Euv(N|0&I((IEM`;} z!AjR{iSa5DGn*1|{%j#`P=#0xe;q>8Tvd!XZtSSO)=#O)L@7g#@nY6B(>Q$4h4-;2LM3I)r z6KFFkrS5B&g?~06)&uj}N{HsipH^NnJ0gT5GYL+`L_dP8Ue#LF*g}Qf;|e z4!_`J*!&UcpStN#Z=vJkMqVLh?;nCLubDHk3$uMt&ImnM>fLDHy4MSfzouWQ{ZY08 zf9}n;1Vxa%N&_)<3YzTm6aq5NA4)~&=u5!`JuOgLR995*F>ETok&?@L-GHvLY@zWC zeu1jihB5YwHQYo|a$`#f<*5$@v_ICrRQB&UyQHfVn3vS{y=IF|>)LlK zr&rK7dE`u&sl6fQ!0&p!bN4wzI07JkBHEC*WwN}cMa^2Ma zMBP_Mb)WB13k0*}>#c5bMdeaAa3^jNFCVLQ5JiK>x8!lUbuoj-u6Ob`B+IB>T=Qm& z^64^uh=wYGb*v5LKzBOANTb72j76*PiA1ZC9G&@f+lK^;8;kXq@P_(c?-J&WJTH+H z{qELL)^j=IYa?Z({hgPe1qXW4hkY0`&KDKv#^YfTQNqLXyMg;zmr#%At(RLOu2!+v z?iORF&m#S;(@t<~#rzs~QzpXYhF{tUjE7VF`I~sobM$0&s@zYza~Q!;*Ig4lj`2HY z>o$zP*9*s;RPt882wn)!E$!ny^*P~Oq`M=1$k|g4$-TZ2)}Gex?yJ9x>z?HseZt&y z($Dp)#YF+$L^Dc++IC~@BVN==RSGfBnv82gf@mIJQ4asEO+&a3-eMyHvm#Y*prfEo z4a~>gp+YceD$Gl@Vlh>O%DHsF&Cpmw*We{S>uOQ@b*r6>4}UL>TXFwSz(_@qM>?Vg z0v8^_OP4+q*eAD>NC^WunO##(!-_82>N1we{LVGB6lEvlVWn666A_)a(@vky;p3~5 zY<&O}z1tKb9G!BB^0((o#=!&t-i!L#(?iyf9ssvK9#{CoLuJ+qu{IG#j|a4^xvwAv3HR@R?f7({EsmzHkPT^V^rI5n$BSNJs-cA4({*g4 ztF}EKyzFp1Ndw>$8hXvA7K);p2W9~e70erkutNp^Nw=M>ncKtYx-X;Os!8?5pnV}7 zC*FgA9m93IPQ{S+uRCxZ|DmyVY({^u6-Ya^+V+z`Lj1{313&-vvi{N))-ZT5|r>)mqq+`Wu5NQW@l57}uULw4^@ft3&ujrvd)LUT59cHMR5{=3@Nb2Ll?s zoxQ=;w)`1zY?G=;*8hqFFwijRdpNjFc0?ErnRNh3Ulm4VLXI<6zPJ>1Z4dxxEAc75DC()`u1Y)3?3eg;^esyYk>sg>Y6|5)q;5@mZ+8!LRX#=5zUqd1}ZIp zR)0!O9O{G?0w}*q13QQnrW^YA1-lQEQbuv#eZ6&@MqmR7dphrR)TAouaacNitlc+} zETuEM1Uca-s@uc1xVwChjrDw9LTX}y52O5U27FHZ4rJR4?&(CJpHZd-kG&2*D$yNW zSoW9uBGd-3h3K&RWuTyQ)`aV;K%UWQ6rI`Xv7pab_#+9FqFT~0xg=i1&&w2}-PECB z8r(wd`GmgOF$r;4_9pit9F(8bqOz>g*NIg=W23QGzycn0A+N5qOMrj4lv{-Cw{3S1 zl%8N5;}&el!;SSkL{8Sl{_@} zT>r@1s1%JYL{Gw4^jlT#qxfPD5Gf$vxBvj}t__(qdqXSKuUS$frGsn$*2j$EdJnnI}?}BtuDd^#j>6v22@Q?7@wnUT z%TvLWZq9JLYj-7?IwqxL42sV1pFt;*q-y%~&-ox()Ym5}^CSHKDJ_@hdFOb~0pr=K zV#bo%{<(o!^4Ghc#~n|nZHpsjW%H>EZ$+ZV$UxB3|3xozz=88-i8z<@F9pxa{u=sz ztA;YJOcEVar%Bhh7@IEK-v#CqX`F@&8~Vc-nk#>Qw^jSi4R|Ma2ONc=uwpSunmt4g zc0-NIN3vJy4TcUENW^q^^r4W2Nf!xictL%%7r673l=zE*n)<;ZZx?Cf!@^BmX}@G) zK(HgTTD^E5*Nog=GNn)V;_aumIbCiln8@48IdeFy5k=}Cp)E>#iljnC04GW%@PB|{SQG^xE6{k~3OJu;`Ho7%X zKtV&y3uM(|g@z={D2FJAL+aH3nh#y@8HZ!L@#{vHB;_9?+)nR>7#mTrrwlfzQY>JL zovGmHGpX&A25&hl#KCXqfO9BgRd4x3aSw2F3AvA>iTg76-uCpZas2j^lPWFi!Q3^T znUDMV>~l~G9P+?O51r~&4gFB8B+K75WaRC2sS7y<%}fVSza=k_54Eu zqXHk64?QJ_tdjoW{bRHH3lBgVbTfx1_5$+GPYM>pouRI!sh6Xz7QaknGvh?68&vfi z&cQXs$Cj!mND_2R9!hepPnh7JjNPLYMC1#kcE(bu(%Izf=i<2YNNkjKj{c-W1l17Q z_X?!W#aOdO+SJQ(@d~-8kFW>xxh`7iD8aK_|QD;|X5^atH)W(^~!wg!|KZlmTE-mrg14azAo70*Y!pNg-!TVQEHr6`boytNehYnNPlsxW%c7c{Wpuhp}xw)67K*oLj~> zy<=EG>8vPrbC`BBpSUatU6*9Xg5&6&mt?zo`Hy0=c1*zsnVve#ddH6>nhqp5j)oVK zD1hAAA}=i1@;CB!NSO3cH};3yZyVNn{SOa(VJ=+CM+pMjdD;R*r}fLM{@1SsToF8~ zEl+2B8s`=Zp6?H{{oIh8lwLJ$4;QdsOwC2eW|YM+Aw$feg-Yl$<4{AU_2%>)5equ_J$7J*?#jua+2HnN}5kg*rzrr^n6i7q^=edO~U(kC1`@ImB&a`Nf+U_Dj z-Y62;d(U1PVwjf-JR8?|A|Q{6Ie*E(1=^}kKa5J*_ zJukY2lTcCshJXv#=MW|IwYrva+IFn}h>;#iH!2~qlNLS7Z#(ff&8B5I4ec;SP*p^wjz=3zk zw4`TjpEq_iocdQ*i-K$NyEqgkPS8xkB<00DAz(v?U=Pp6c_qexIMg#N0`74ULxNHMwU~g_!^f$owz+0CzC8#iWBdv? z8Y-|Sr9Tu~nToPbV?C^GTflaYl7QMOUqY=okVu`y;3*=vETC^Sh@HTRdMg;&k--*A zpG4)dqOcQ@@mbB`f2oeT5q7`4<|N*)6Q({v@Ce)&mWu;(z9$$Zkrer;1pRz?+*p31K zX$c-}5y@X0cmLUXD2T{xrjIL;x*2OYbuQUSSo9>>xOO9+Rtp{`6;ly`)@^tQ#@!0CLuxF1i=cgHIP`YNNu!(NI_4--~ZCnY0TJ z@R=us-q9yj7yZkiUSDx!zP8e%p7lQ>Ywp%QT9swBmPw*%0e1#|IFn>Au5vTQ90gpI zaTwrtAslAmjR-f2Izs{~Lt~N_V-27ZhN7>u3=fs@4WU^l*cO9!(_hC;C7OWtTTFWgM#?6&q_Iy8?-2f}djG~y`uIolfdto~1ShW8!Y>(X)_7Y+ zhEb=vW}&@L*`iy@uhyE8ea&qMXq|@N>St z)>QW5iDI%WSrLb_Bzd-r05geG$dD5mP_+6is)};P2u(GwnFMY=M?uksbxIYsGt;q4wVlk~@1R^>^3TMxr_Fh#tLC1E z4WY?x1@h@PEOckr1iEiHJP(OgN0jbGp-Uo z?}9gnbFP=akxTCkWZsr~zmobLbgjkfr;vDc#w8&?OU@JHIRk~`;Y7&=I$$W|LY%r@ z>{;~*5;~@|6s)e!DhDdqfk;e@q6gz$u*q-IHq<<48JVIw@(xV6zMDcK;z`u=hZ!9cf24JO+*{bFZQc{A%@T;LKiJzNk6# z?5kNVrXM^P5O;9&tfR&RJr<= zN^Ktf!C*S03LEy~_*I5~Z8U;9I;<{Z<DgG0 z!oIZUTqrWEK5D@Bm>Nw@%oV7Bb#ov1Qs{Xs%U&83jE3kqx5_z*6YR;fr;_aDbZ$!1 z57gWTr>A?g?DM`L?uI8(;YK{Ha|)GB#a4((S=#6gr(^+=f;$Q9+QJEXl;w;a|@$OP{Z@gZTSGnDxGm}V9qp}sz>Fd?}9sF=0CDIf} zNmSQ}jlez(Gzbo>GRvydOoa+bY#oUbx$Xy7o2%M0;RU!*_;YqYEuPaJ{%iQ=(4D#M ztsYZ99|*X}LYqevc`PXGq-Cyr>JK0-7*w=^C7z;7waZ-O$?fx`rB!sOxaKr}2}ZA@ z=5nUUC8nc3>TcU>!C%USqWApii|}xLJt;ahyZJ6!&Zs>7g^OnOesjO10O1K{(L_9r zO`d~E>Z*%*P{IX>riN*VhG`>;@e*OL8d5~$3l+Qs{h9A?eIP(`dX%axE3`A9U{5qK zz7KAO2NipZr-L}tw=$nxBwAt3^19gC{9B{vkH1w z+x$JwU2*swazl3y-Ty1p~|R#uSl`7q&yrg0dBv{ikHkRTLh!jClgi-36U;STFjsR(%-`#n)O% znKHsdrm4ttySY9m6MAZr*%~|hamfs~CBfI&#*k3|rt3eH(%1HLra>~81lXI8C`BX2 zj2}IPNPLOFV44d>Lbnt)S37g$2AXe6>udeBIS*PQ!zu<OYhyeI`(TttR<48$7*os5o@}5hoe#L#n}|HRrSqO1FM50)L-4A+ft zrkw~eOF?%dG#0LO@gJERIS09_x!+(Z#d7z)D+GV46VK4sS*Hws4~jKngqPo1=hf0L zuCr+BbRY=}Q@={dr!b#aT4R)Qm^Mg4OqMreCdDiYlEj{V?>VbGWXLE|dW0#fZX*s9 zIkW8^s;1K`q1Ut{2yio8 zUgA(Ssb{|aC8!ty<0(^^*0aShcuvOb&|79&MYK1DNopAQLUBYZu?WI#eUlz`KeUJ) zQsQ20F;b+WQITR8F*zI(uJDl1EL6RLBwa^5Z8KfIHB9Mx=A3% z-=4NYfD;%v2A^SEujG)Mlc2hB7hur<{-lie#_eS0pdwFq# z71NZ~KS$=AdB?Q_^#w9w$KUIDGy(u5;^XHhNM29@;3qk`>A5xwLv*Y!l3f@=nUjJ| zFtP^A;!<)LU4`5Y7Nh30dDVV|ewtTD(c9+eRbMki#cVjkP=tGhCxYbA1PyqIQlnA3 zDF#~{hKx2cT3Kn+)j}f-_sE!FI}E*RL?&PphojYq;cdIHJKUMN4*iQrlcM0m>V*BE zUDw-!V)rM+DeFu(f2-*#$|Gs(t_AzUq-gOv=Zd?lL>W=r8C)vW|97gpHr)B^&NuLIS8-I>J4CBX1v|zop zRT>O;rz|A)B5P11r)auVWKbJ}Eiv(;rV!x5N%QUXzLun+69l03C|secjAq;xL`DWI z4AjzFMQ$Nb@rHy)fDps`1Q^%#%ELwh_C`YeNBqyP4q-+KrfpuAFoK1O_Q;8|-Oxy4 zZWgX!kw4_Vc^qua;r zk+z?cP(;T;iHDE;CisK&_Y7x@dM#27TU;m2jRZL5W1|S3ZNlqUoKx^rX+7yR+fVGK z7uee;@uOB-8ZVJJ^*(f@5tXhzwCWGy7pJt*9|2*`kgN5f9i$KKxKn=0ip5*3Tay&Z zry#|m92KPS@Bdq#kwvMK`~pe&Bg;rsAxMr{k2wy-d#8^Pe#+sk24QAYOuYIVQBYC_ z7zRT%$s&)Q8u4%kxPO@8mR?d11t*cup9nBw+}F*znZivHSNKz{M>hH7(E+J^lx#I( z351GHZ?MJ93Vf-wZ!`CI&bbiK-!U+Ecs!F^p2HNtCWu2#PaGRx_UiD+s#livD#kqB zDXIYomQ!0hHcFcW)$ZxQ&%Q~oFm^15Cpm){<4K^gVYvA6Xsxrq^fY~8w` zBL<^mv_Z>g#y1E3w1yGV11JKwT3ek1!7bv&QvSPYQN2V*H#T6oy$(P)hw9DOYq9fz)WYP>3~V z#7PpDuzyH|@Gm>>ho+PDd=lDdymv?ekNXjr!e3XKuy?bE>`}XG^4BQ=0B_~y>&t5m z0D(E=4RtRk1`nxE1Sb{&g}l&Z4%EjiWsfv{=9bskxIG9+k1kD*emJZ1Bv`0)>&k39 z-cN}Z7q4AGgQG(ll*-!78N}ALm*fKip`COMzRsAO*e-41PVfvhA07?mCoq5RzN>f4}kj!F!RquLR8n^?R zNOg0D9hDC*Q0RxB;1t7`gie`-G9HjFns%OB+*_z|FPlGdUn|*-l0vBn5dFXB0kT1zVx~{O1BGIq?ip0j|H>xJpb?mH z3*Qa}3nBJm%NpQ*Om7a`KrC$SB%soJZ1ROe)4`3YXisfpy6oA22<>^nPQ?De^lAX*sy^ zNnBbvXsWFkNj1skW;u-sjPJo})-v1b1{ZYC=!I%ZFcK!JbFTftU6!Ay)xQp>LE~Hj z@qEM|1r)V>GS=S!NbDUosRbmI!^6AM4Su@=R}bo0CGZ=dIB==z0O&oQ=(W|aD}PTZxeZ7~sXa1wI(4oO+h$`+L# zBPbmzaCMn+zRDbl!4`?x=sCIRyZ=gc|u-2E!2Q9hwu_ zbp*%Dw$oBz2ubV@JMwv@UTL@=`RsZ2nL$29ly+EGc2JTtP9SHZ2ob@f?uo~ZNd;e> zzIt?+5@4$38hbkssW#uShtm>i15puNDzQxGl(JGY@5S0xOK_hfz880Cks1yQ)NM!=~C zimt|2k!jdZ4gZYv9zK1Mtgd;^Epx}6#jAxE0N`#t)>Pa_xODyy60r^)-H_vUCwi%A z1$FK@H}IaX)e5of8#bj_PF_Eu-}gBzjR#eA<*#WdzB}G8v8mSWFd3pcI_u9n9^^Zx z+b0eDB66Q;>AjQjWcoxWYeop8dAjfa)3SFiZA86;_N542L#%73f$f9?=u5@@4&<*qjZO*y@f1 z`{E1823s+Vl(SPwb}48pALaH%UX0&X!F18)R*lF&6NQ$`PY^+O zua}rKY4Ni2cyIg*%~$*PBU6Y^iErSeU6wEw23aP@=D0i<^?5+xg54(2I_sK|(z1p-S7 z{=z-^CZ-v@ZWI@5Wh+15Lt-m#IplsfP9i>D&ZPDn-3&zUM6$0JoS&sS^0b*9p)E$C zk|VGs7C9c3ch*Ea;b#~(JHzAREH82W-nm7X;JyaL_k^~ksYcc6)E=_mv2%~$vMVKB@DjZr66*Z%G*~R<|#OS5(SfT&67=g-0b3RL13N zx9)+b;2)G*G+0=F2ZxM5f6lUreH@5jkjQjHi6RMr{MLmCj0Jo8ryXk(o8|^Jw$?Vg z+QfxcKlisuE8av*-?_El?3&HSmH74l;jR4DxV!FY#mMl|-(}tDa|n+q#n)uG_8f>= z)75Trh%HvSUUZB~wiUxXLtWD@+Gl-UJ2~D~*zC!^^?tb5{oF7E0g*K^V2vdV13`Qc z8$Y+&irf6rE_N=}dd4|`iTqp&0Wl>4ToDK`6u~Ep>CBB+K{KFFZ#7B1BwoeL2zcm) ze>6a}9VXb*cnCCpnfRMEW%a`H-pZk>bXq!1nVXMOL@PXGEe4LC^$Fz%tGtfW?o83A zVoqD*GpQS?hih8t0k(bQb8}sSmy3Cu&sN!J_)f54*k+CTc#Yi6Su~i-3_yF>o@~)y zI5lW=03k%i9H%WyR|b6Ty6047U8%d{p#2nDThsjtLu&^et*Zu-`GX(eD4NqvR}*RE zEwUT~zy<7yPdJCWz9~YY;)P4vu{Xgu8yR4$o{{Qi1atNk;M0P9qO}_ z-);jj>vR7v*B!F{L@;ym?mG}n;Urxq-?X>_hD;8*5wWl%ANa;&L9K#(-D*UiKa)G< zA$#IczmQq_8IKs;V-?}iy(-z0i-%AbiKpPo%w}X$(UCF83P@~TEK*v2ias06rl0cX ziGF(Me?27NVJ7rQ)Vb`3Z78nvT&qbm6?112 zNT*B@7tR2#zn_$aJ9uOxFf^S})6!|UPSi>1y4CD=CmmdY%LkJzKCcnY=|MvbU!S-M!rMw> zevq2OI!7B!5CAu##jP@J-#Ly1RR87_Gc``_ku8%QVjL18`lrRQuvDe8TBkNuC$T~1 z!eo4d$O;v@W%TG={Ny-}VS--ZYIfd(>q|gd3-xvy`-@UbUx}>0uR}JDg1nwjq`KR0 zxi4wbeN-SoTbs(6G!NLN02pXX#bq66a)#e|K0lCBB?p4>oxfwzu-kmQfLCV#*!H!> z07G1$E-k%vha)>4Je2?-v)3AfIh+x$;+WK~qEl3-fi&J6iSK7IDoEkCVqS)vzO$an zWW+|bUH;>i;ZE7#21xcxn_Jkw@14ecRzzK_l{Mf&X-!;Bj@Z5$0G%-^xq#M$!_R$y{u|e zRR)5v?Y^p%$KJzWc!VCG$8iu6=C#Y5m>_pSoUaJ16}`SzKRs=_J{uyw`5m9*@piE3 z1$kCis`OD*Ff)vcy>e9q9I1(&@^Rjd8gH^~#;l1HuDGz8Cl3nGhl&YX3aKgE$o+EX zc^O0iJA4Cih8)_(#c|lK!;FZ$gjgE;^}GcA+WQXh*IV}HnZUkqEd_e#)ywEyq>`pL zY@KbQqkT?^g5@Hzw*t%z889<$e~u)(eY)gIw~|uNhxav+yUU2z^}s}LUb$**n=T_e z^f^n#yFb_`-ne%-d;@F_K{_`L^GW)vOaZOp2j^+u2I%cNa5X*0dp3DDyI;EkoB|`< z;=Vl@{@E${85&sO{~Mv_?sVP_m3@HPq;?;3b>B)fc}%0pgi>BjQRhzu&1l~*z|xxV z{=b$$R~N56DV7OPu{5~^p879(~|>yM&bN?ft=I63l??u(^M~DKE54{ za1-~1%jQX1BBz-?uA*JG?M3nSs8d?!!+Sl@y(U)_jC9a zqGMf31)3F4Z2PO?<{ot&^&5_gd#oi-Oxv^S-kIGkt`&2|qsi;@($-5DsKW1F6^rDz zbL!cYw&eG=^!szvI*w3D`&-IJCl|v{zS7*0 zmeElf5G(qd^@KuuN)+=OT4wrlQYpK=K|5?TDrvzH((Jbvp=I-+tiw!L)Za7c)Z&NM zC_wGv>NP(6!B=D;Xa17WyzJssqpt1xOJ!b%U_%*n*YMFg4 zad4zx%5bdaIXp2qJh6Rw;YgTv7(ds^>y(B>5yLE~uD=6TNY(@YdI>K&wWHVSR=TKr zr9cB~ECB6Z>KVVG&H5fW!cQhZfUq6%BaYS~37Ek6{`ux?IgJe?D1cHKJK_?_0LdzBX*pET9Fs{0E|LK5q32lU8w5=UPe53L)pRgc=9nO1 z`)8nU1u*nV{?}z9m>tZ2X{a8Q0F#zGrk}H+HDDXr{+1o>VR6k@#TeL(>K5%JjFkR& zBkYA3Sdaih?=}V=w4)3_QFM-l5t$Fm=XC8|1;1nV;^zb=sUKfWJwUi?&DO)oV^`yX zJCGyrtx5C?AS;ue3b3?v#|uDiJh*=runz72mn9)@d-i`8_Hyku@wJ8zlW@O8W$u4) zIvZ1r&YvCx68!l&G5-0|sbIJ8uzjaLzRPCplq$#wKpr1+-I(34Sl|MXwLQeYkEs#s z*yMoHKi}-#W&=a10hnoU(O??2(r!e`ogYGmp%V^RZwntbinRUrpZ;k#c-zCJ zmRCuSuWaOK(TXg8zmsEle!(cX-h1&Nc^9zWlLENM{pA3ZeN_8L!D9UiirV2+@G$Hn za}n86#KV^17V?Rw)jn&T8vq>)h*A@dkmj-I2J#9DeC|)NX=!13&Ae4rRT+GqW5dJU zQ>!rlUdE+$`lT(fGFXKz0H^KSlg!GXekG_ZJ{NLATS-aWSB>dDzG=y9C~Qj^Kfb5& zXjQ^&t56=sOtolk4;uxk3nVLd{f>e*h!}F2^um%7dezE}oxvFXx5}0Bh`)dThJ}T- zwY7PB3phEk$1l?Y+|*%RpnF2qwSn*LANdgu*1g z=H^utqYm7{!mOE>RIr0#5NI7X6HGlWG@+p)XTzTsVLoRBS30FO*ks~bg`L0M0YUDQ zyZ*}El|V#kv+ezvmV|@^HFb%Cd50OZn)=d#he&2+T^;)8&rQ~wVDWpRQc{S)->GP5 zdZze5)1>>iFWJA87Z<|~|KdVKL|iE8i%m#iQ-YCo782^_dw;o}E|5`Go`()OsR$4^ z%Zx{jTJqu4luxbbZw;kGQf@ADD79N`J{_|;Mt;{O_i)xph!L-#ETrsbGI?3gM1lF< z@z1Kr&vE`?i^!9VlScQbRj;K~JiWQ)8D0(!lV|GtKHR!Q+k2Faa;W^Sm1p7mxX3@G z&R``#TalXok_g6K-|Jvaf5^qfMZ4L-VzyX`9}yHDgQmgl@v2PYua|@_Da4D(8ze#u&I992};mhk*DB6lmr)8b7~b?T@8tw7T3Pu_h-cOT^Qd>VRJW zf1aJ0IXOLDZ*fM&z`*$O#qE5pwb5?BT&)J`1d_T(*wT`YU6O=^gl6>?sJ#P&cd^TqRIIpt+ zj`1D}`6=T$@!bIQ3#tXf!qdR2b|@Uh-(p*qpIm!Y>fJL=7JXH^8XO85Us3-=#o}l;Fb5CAg3(Eq}mj{MIC}iM9zkY_Lp2T8I z;&!_Dsivm(?-@&o`rOwVjjC!dKw2lkRffZt%!u_lbY`#Uf0ra3&5<2(kyDSL<5h6x zW`w8iT$>rA*g^^x8Qt;#u}doilYlp?T5lJ(W1GPTEle|JyyATno_Lv1V{WdG!;K4p znY`M~wAQBF!htdrl8yBM7kuR?GjO(bu}UBMqBu_?LC+MFjFz^{zqnkx6^DW({-G~h zIJAQbP>#hB^ug{f%g+uk{r+&!f}U!Wovq%`p9-kt(&lENx4<>^_V&ib#(JfP1O<&G zGHg%gh%PXC%*@VuM~8%js5Tvg3*RNkM`zT?O2`%KRNQjflJA+MrskP5X{`+@J|#AG z1s_t8OU6kjQe`BU)ve3+3fk88CF;tIEiwMEUKj#KH^&#eR8Y6*0H>OpibQO3hPS08e7+9VB~%vcf_Nni6z&c6Ki%5M5neRScgN=WD3Z zk%57ZYW2X9l9IAAS|>S8%@K>f(GPZ)N3reH{VR`*JAZ~d8IEW{2_8!v$FHxt`dX@G>tfI@iKz=W9c2Xa$p+t$^? zBCy2=EYE!d&esTDC-XM$S|??&_-crYYb-&$Jk(#mKumpbO?UzD@*Qu&E;(4!e>*g@ z@FTk3pCRth5P9FfiGcuTn?(BT)#`e$r)F+zXZL(}3V)Ts>mFiQ2WHLcwLYH8QBz(0 zc~~$K8X4c~^yYZJqAVgxtHtSZAc{ma8y#q-*AlEl&!a=#sPU)`*+gZH+OtrT9B%Ky z)nkOz?+x8yP$BJ6-I2lF_1WI#!#OZ1MyQ&6Ni8X1x8GRroBnYLyJM>-RJXx<2Dq#Sb4?pEoqRAB6(t)wd-BdWLT6vhKS*8V5^@2362L1Vw77P1m6;QIf2tqHu zzda)lBqb(d#r^25hDgNt9{-&<43`awrq%PEH@=sQkBwR^U)!B>m zF3pSLc5)w4+-zv9j!U}oP?#mTMqtG<8;tn!c6du-q=nzw2DVHA@P^>rtYXnu1R8J_ z$?rDMkVg;no0~D1p;iUAe?Q*SZER0#l?cxP0C=CFVqk{(q_T(W!Q{2u*oV-xH1fmu(gMHP^ z#BQ}vf;i%$H0e4GsMh zJ?a&7SrySS4f-a`u9$pYZ^-_{CsGmh?hbBoH(z+l;J;gB$-j zfBySYX=qD=5rU{nc(pG$2@3z+f4*4aIQ)y#r~_Y4YDXdE_k-2<0t#Ss59+p?MQ~?U z4XphDaM$?-N<;=mq8<55XzS%tNp-x&R5R^?iL(3CP3PtVUo}EYS!O1PM6FK>o0YT) z$&VjDI5^7E;IQ0RhQ`K_B;JEgPEOj~pOLV>5wftL5C0MNF&hgSlWpg~!w2ayNgEo9WiGveHMn}hMz0vXXB;r`61u%-!AY%qi3TezKI_LND z(Z2d?@>E+CUu4*Qhkhkt(I(I@S5eFRyeIHBZ zcDF!B3ez2zvvwJr2Js-)$478l_i=S)<*s_M-eUP=u?A4g|6%N{qJrw$a8bHby1Ps1 z?r!PsZfTHC>2B%nZX_k7OBz8C5Co)4Vo$z*pE1rD=jM2i=vs5V@zjiCxx*A)UX%Po zmJG+v?|0{-y1t|$Xk}w_H%b=h_jre?@B-6+EfYt`<$1hEUf2DuFAg;3|K5I*a}I9NN52MJ^^)cW|w83nN!A z_StLQGTQi-k|kw{T-8wEGv?P=T5=_QgaSLaVMF=9khymNmWm1OraR~|{&4%74;NXd z(G1q5aw><%{LuL`zlXfKddj7PuxyA~yVIt4N*_LB8j|N1ht;MeDj8Cd0OAg|wrv?= zVLyD0ZfH8+>x&C0BI36uqFP$G>DO4qLcZ7zjsqdEI$emO8|5nbtc;9Zpota~kTbX2 zgPn4rf~}HbMBwihE0;rJ_}5QUU9L+DT*p>6q&%<@j2}a2nwoBCn`GklxGNLd@s~g5 z-34hf7Nh4(kmaxjF3Jx6&={Fh{4pSV(~)(djAe<{_@HH~Cak=>12PXu@@Pin zh5AjD&Jqt46cjND$)BU6S?aU5s;=LXX>6KctE#GYc6Ng7+w!ii+zI0%YPTp0@Mncp zO&gHXzoYbH(kW%9W@SZ{uA;3ypdmtR$LqH{DJd#`op-=Ti6|uCBM}!}R{SZ4zI(-RM?f>(^;RvFt$Cfx zq|Vxs>fjIA!6nuCY03SLET}}2KdagLaX4HN*IPHs?q-1g%3V-R6{EZT6bVP3=pkC6B z?7v&OT*C~E@<{?+hM~TjKHbh_+Ho0PR#ax!CKc5d#)c-fd}&Pml9U=+8T%#tu`$c8 zTM2uL?y5PH(;}&8jMnh`p*eiLI%XrcW+Rt6uM@M|hR*ni?EJLG^t8@HW?@TQ*3Qqv zs%{p}MQN0cE*C2wE9~YFS-N&dH7h_xA(UWz0%J=@-01z`tEIM~Su7(KT?{z?ys>XK z7Vrw?zO7uJ`Y;=IVSie@IazOX#}b#2n8_0o0L7nyf#FS5*j^igODi}}N8BN`8%Qp^ z#1(GHPxAi${`c|h$Qv2m%?`GxLZsmKUSEH`FYsk)!`vMQpt$%bgjs6IQVfc2 zYhUCX@A{P<ebgm_4j<=NSlR(rhk=Mhka`t^XW$y+czoE!|t&{ZwB;`kdUwgnnwo^G0CUI;gwfae?9%xO%i$0DWddzWcvag5$(BO zbtB!RJkrEE;;I}mA3rjWMmv8~#y&cQY#;Mo8~C+CGBy6}E8h z5Wrv?yKaR)K@84*+{^2Nun!}F@d^{y(5~RcWt)fr&<~!6PDsnt-p&pzZ@!>HgK?8w zEhror?HZfXjZX&|AeM^IHwUq7eb<4Il*WA*sh!KCrnd?&P{gI6n_rRn10!X`jk z8ZLbuKe4{PKJaLfVOr1#wEB~+zP^Trw+Ro<8y%RN8ptW~y!`yrSsalIyWEV7b~|6A z3ecud3y{I!{bn`FRKcVCcLIS4pTg6ptoaXaH2PS4A0_0-o0O&5(cskRV)qhq=-2cs zR;TmqD1;|9l&Ke=23*Z+167FcFMe%xRSGf!&T2$)c+nwge zS~=wto>9T1z@4h4c^@g$#cg{8{qt_)siVAJblPowYUpB9hKS9$_ZexBiN3^Ic>23= zZ@?3h#fPODU7hTyE{{K=`>#98m2=Tv9jxQtMyK1hNuwmktW665iMH!C7;z?c;8h=q zc$`e4_9@;(nW&3=hK2$j9o>tjC@Xo_1)34w$$ZyEjnj(8Sduek2{{?8Rdw9xn~3=~ z+UQY5O=cxc^sGvT8{8%Xc6f$iLt)QZ4W%fp&p3Bi#zK|nrfe?)&od#F5)Z3W%Wdz} zg`BAWny@{7_Y<9(?h!{Bir?)zYFJ`Ty~y!&+

pRLz?Oyt2HQgW`$frPz^*nj?;t591)BH5!%tZLC^T$cxX?zo zgX#UeTRSGO!TkLBQ)j0f1UlKKXMU1B3uri-=fRSp7Drr6)=_ z@!6FtlbH@2GV3;zqFC>eYD`|5TF&;Q)o)n!gES5z?|U=ZZT%kLXXtM~b`?iDex`J@ z=<3=;nJSic9aY+MP_oqBoo*6Gdi=O3yEd~elJARaI#(>x*#K5ajog$%iPGn+9xKqa%(o9X%0Hoz}jCt4D=;js+EiW|85{T z6qJ-;^R!h}UGC0)g2m=Xw--9o`9E1@WjM-zU`R4K%-h~sY#B?ymN9TpXL>~RAv5d3 zl;eBxrThMPY!1J#*>+|i975wE#rQ7+(MOT; zEbyAryNzr7FfyLkQi0N`sZIJ^+d2N;&7)dZ-FhN+35Vq6v`;~n0Fq&{MNeo;QLYD# zEK=jZKOn$9dZhy)K}Oa?+4OgJR`i8c5f%E>JU_eJ(R;VnUD{~RktQ^0HRTAiaug|I zRH@@Qnq%wAx;gAQe6G9Q>VGX&euSTiA)yX|(soTUB-XE;&?%sf(YWD4T{*B*Pa11cSYLBHihdaJ9A zelH9h94(#KB*viVIW!bhgQUzEcq)ikwDgRO+&pDs+Ax43R5egNYY#p(lJJ1%K>a9G zki$-gVo9Qe?GU$DgJPL5GcU+#=-)edSGgs|XySuELe|2=}*=cv@3 zd;^Fh0a~szuH^jq)E#l-AMY|bt;#07C;0f6_EQ`cHRFkxR*2*T2%-dtl%amwPzOxv z><2|P&CdoWu;!I$?|s+AHfsez9)=i-352$)&5nWeqRl~zfE(Mqx%m0MvFskVF+}xW`cK5b!hufq#mbJnkR_!H8#Qp*ij7h-nn4RYcd3?1 zqnlox?v!n*lZ!burfij*oH(e6t_>eIH-uX$uQxN>lqH;X9h6bHh{!=eXWpnTZHDG+ z29Q0OsqdT-C>_2IY^^Xd)!{0D#WN%Xw$b1b?g+)g?aPbM9jtt~o`YQL!h6vZ+_2hm zwpn4oLyEd|kH?}!LJ0@2K{3E{!T;R8AtaVX7BcV|ybc%O)y_BH<&fob^mT~wH+1KA zb~39~wdh8+VCUoEX)n%OdIN(5W*4L`YdlH%CJ_LD6lm_hjZtSMTPvXv+&;Uil!?_i zR!SwA)J({tU(c-8&0(s4kGDW@)92$_gz40tm>kXq0O3+Klf zmzsG0Ed~EEJug>uU|5yC2>;$z)^tQ-bSOmzku4psF^lVD3jjnux4?lYK zFq#kl8yU~?BEkHO)6iCG54N;Wet!RJ$0$nbYWj%NqGp~WTD;JV90P=0KV*g>3 zX}^JUaRpn|NxZNJQ`VzYRJ-Yh4j1rq6^hX0-$pldu&-T?Mj9Om!?{F7MOKoBv);Fc zBNmlf;%b&_e5; z=bq4+n{39EEf$}i8J>aXUu7_<7%hWR!%-dKYr&mleL7Qyv`OS@}P3D`vGcs2NTc9O?64v+RCsc+4k)V9H3f%Wq{Q-_pQxh*CR>^ZF|+* zlig|odqu8Eny}lMMPdG}?cWBusOmIjF$mQtznceLs$Nj(sCjT1=#0a5Z-I3 z5yxS~rIvmFIds_h!9({as%{dB88Zu0NH&fb-PdFeD*O^&B#P|!iLt-vWQ02TjMd-w z2L6>w8Ah945af40qM#bym1Z1`Fv=kn9|@=GM3nttW!lib+ZLEAgO*Ih=aSYoNfE;^%2GzcGuM<~*C!_7 z)Z`NArldJK)P3oKIQhVC$K`hfroeGvk`1Adl-k>?AP4Mm5SuHM^OQP|XP<>s&r@L|c6ha%OZlCHnXCaTa#&YfXi)x4z^h=@uc zFNdF7?Nu0#9GUh55QG0k>uPC1tFf`Z{WiEmF{5W<|NN}`{d?|@l7|$|H@Z&#|9kCSabspI`1o5Qru@jX zxowW;J-Q2JspV3XR~K$Fo>lQACte43Bk+HH#hKO8rY4n2FpDd{{?-$BN2SP4&i{;s zvl5hGwf~jl)BBbhRYHm;G%_)&;p7iLV~=HhwRoWsSXpBsYj}h*rDIDhN9ScfXfh1M zeui=NG(dfa#GpcDEkk`TE;SF{G$&s_SgNXA3(7l_$UjJ7oFw=3nLDDX4oL+c(T5s5ABN5 zhD*Hh+$bo3Lz?t-1KYBS2eb(n6Nk8zF#(=u^PTJp@s|KTTn-D`SkMG_*H(89K{#4Dwh+UtB8;Aq zA~`<6WM>FdoHqqyVBSC+B@16>Mg;`rI!^grehNBB9i(UTLWPqKuesh&nX6x z0SkrHgS*0_^>6@;`7rv>;*-r(iO?7K+^5g1*`JPi(w@SFa=Ix|;EF3MD(cXbE6@&Q zyMo7x2q*q>lyZnDg%}BGkg*Y;Uc)d@P=@RNCHpb|221YW_SB?G`LzR{KB@j$eh+VecB2jd)3N*6v zIHt$%_Zx{5WlUF1#T5UNp8rH4tIW&wge)E_^{G3efi&(&#nYlCR7QB%<;(1K~?41iOLlXs6 zW_o^R4t@y(lh7kNg}TS;_!Ygh5fUo8BzLlWtY!NcR1&In6J>~8wCVoH_mXgSg(mhv zsKsF^TC~&RVtReKPZro;Q$7rE`n^?%N1Wpnf1@Vr=QnK{{k!8U`sw5jwY078Bpq9+ z+-{$@@Q~dq?A`OvnWEOI-+p~E-Zopn=qR?G5e-1L&C!G~V5ZG!izqr>37)ERgk41S zZqD5-e>JRYqfm>{>MWM!p^(77pp#$OAK)4B4wU!w_^r1&N<^aNa@j8d#1o*M)m2sU z3JP1j{(vq93)BfXAwRx+H12SL)Q5z!71+EstzY^ytum*Y+G+dkcn|mCR}o4{T~Kz4 zpTpA*7p*!G!a24XsB}~0QtIcRrBO`oEFO2vJTT6iKOkmRd|Q08Q@Ps6X#kUpKXs_r z@04oU$&7=CmaJh02Fpp+Kqa~NjTHW;XCPagzO>A9^2xcjg7St3Yc{B}>0$}t29GCnYv zUoZBYl$DLY^vnl*9HK)9-;9&fw}NTW`c5X0+j8l4ARZK>4q_l|=oU8MF>VH+rPAZt z+ixr07mp;6y_}Nd|8Qz;ZRO|ZhlWRkp<`xZLY@d0T~p@4(QSEG2R<46Rv%#%=WlVi zZEH>Z+_PT-0dZq^7j&_{C-;Qbz^oP9W_IRr#2BvjiwjH4@r(lj z)M1{6wt7gY9FMc~xufT1>jWNiboBT?OV+!TlJblnUx<*arrelc&F1iwsw8$FX}$jb zfX(j!Bq)pGpTCEPh~og#eut03Ts_+Cyd@kM7|2Yq@>$sb0kEMuJMHrKQfl6WjEil4{+hY51=3>jxe&tNusSL0DfnI;S)j)lo z0^dv?m4&sQNFY8S)ew>JMBBuiK_eYfF@pk2sX+U6E~YupP)JBqZ)fvqLRL%vi2}A!CVG>7xl1VjuMl&05R80;F+dS4OJ0Cp^{ieN$28*Oly=v4~@Dy8!mq zx0Mt;ZNb<|6w=(=gSI6$(r69eZ3y3G$Ho-=44#lyL&VhZ;~lG1LNB%$D1c9@;z}=P1CD4N+`Bz{YqC)?0_?txF(7 z1mBO(*UiD5!Zc0th8tynY1EM9)YQdxXXCT1$HN6W=4zj>U%%!F`h?JsBT%xj1zzqe zfdev`#UUf=B;J)VRut#dH?CFDiqoAwtxfjscfWy9PG4+|wavPYVp}HpW5V>W`7tlq z53~e$nh6PzP@d_wuhMI&K>JZ6P_scY zDAtZj@nGx{HeqFk6QGz;qLRssj4r(?I%+PqfkpHn5c{LpS{8@zZBlmgO%qQ3=HZ79L+?-0VG_i1TGa||~( zl0TYMQ}Y82n08(xUOyk?0n(k5SL^-Obc^jmzxB!E{bi&3<>J!P__uFA&%K#hRse*! zy}b<}Xy#2m_tY_3YHA=sD=jL*3UofCPnw#XgwdRuatzEEI|UgcHHXWU^6$9=degfq zuc)igGxSrsqn))Y zd^R1vIB>5np=*T`A|DE?(qC0n^yKgqzh*l493y_+cgDgJeZLDKnD@5@8I%*;U$%H% zl%%AjH8Xk?g=c3j;G_hN!NI|qAr9`g>OL@X^W0mcwWf#RZ~AkpBThjG1#McA79 z+W_sz?fk><;@3A+B5nv77&fPkj$oEk-T)(u;K7i%8iUUHZ{KVIuauXU=XJW#*xYQ+ zzP=>Xl=H~}%k}{$bsrP=P?0+$&)cG|t~4v6wK2K25kUK`sDwo$=5T#3f}c_?*e})W z*PiErim67laqA z*WZyrv{sRC0IVG-XK83`>jL){^bqj6=h%FSZ~`s7KM3-3+X^Vxs3iQ@#QQ*@IQJRt z7oF77<|c{8G59f?rjini@l*!#axT+^9W)oyLFrf|vm z@>J3bZe})N4G}FfEywhF0gv6I%W)bdWzi~Y-CrN~EF*(PwS|Sh+)RG=oW|C?ekYON zooDikX3;8a-fia($B^AZui6==tSKWE&(A4TYv{%g3OIE9lZ!3fi2`qx%$7M1`F4h` zherc^&dI)@sL(B&UH|*iaFTSJ-N1%JR_t&YC%b^k)qKe9OaO(6&F?3ygTRB0MDn>G zGk9rZ3fK~I!S7M{ce8MX@Xw%p=(lA-~X;aN$<@^4{8!-jn8G(#2o1&c7<({ zx(-LbO>b3n)Xo}Z#VA8DM*2ZO5rw-Nh&Lf*m>Q2l>Tv1~TyP+f$U3jW8db(5aHi(4 znh-Sa`UX9QN^E89Fg*GmaMQFdGGds6&N6!3yNL_M2 z;ZVRMXf}@z?)#m033tNMS#zK)iA1#&uKHA)VU1RlLpP|9kK93gPfhnG6dMTpEy#xP zsj1jEGIg_nEo!Xc2ITtBogLS+?EyeDIj^-KR;bC!BD5WQ0o)YNg%`kvI@wCPx~oBu z&_HuJM?HJ{s?7Y+<1-wM1L^{h96e{T!UH8HINZZ;91H8}oB(V0@^9-UIwq!(nH&5T z_{e^O%4JYS!PF`fPrTag#l~9)nEk^069@+a9pQ8vDp6ChT1qOaMoyx|&bhhKpkbiy z^18p++kSEZbQut}0KwiyuRjsXH;HAuRb0Wg6jY#G7Og_0i6Zlwo?m**pCugrsU@w} zHo^`R3*7rv=^U-Nj8P1zr+wCQS0M-@CG?OCu~JP#L`~whol#t0VM=(R85AqOA*djE zXW?(-?p{)#>@p#}gJX~{#@sz(AGG5bs<@*sA&0D#ort*-YVxhyX?SkNrXv9vQA-9> z1EM#nNj1eu8_%}M3VS2;=!6Z9=bwEWl*&v{priDtXK+l6nVr_Z8Z=L#mWkl5-hh0a z`_ji7@EQa`>LWPo+tFuNB1XL%s0Q)dCTiLQcDKuyHz)c_<#mY|TXaSEC~%2%CUig| z+i#A7g3{8`5_BU3pl%k?;yHJBciuiO=;wz&^`>7%FaGhh#t^Mwtw$oeJe6f=WpI#l1k zw^iO%4LS+d3tosRT?Ks-jTE?|#i5=WpFtbg<~nF(RCSyV=7a|&so4ruD{3T&B?12( zlmaK5H(i^s2pBbCZkVX3LQDG!f&5&Vq(cRwK6s3gfg#w8es?6!&BLRV=kihI)@S7p zo<#Z5vNq0KwTos)LnkBq{w^Hx+eFXII`>J@`5!tXYpNr@5&K4$-$qg*;xXT3ms0-A ze+o{%LzhKGW00lB+9mu1V4E;P0~9I|SO!@sB(+RFMCS0R_~JLaM;{tvA2mv_6ErYl zlEqK?NpyLY0y+{CH@1b>t&fO5zdNajiVh9lKs5Y7XTFNHpqVg}+a{?gZ~N6`20mke z2%>t&xhzV~j9|;HA@*j&>CBEvWm@HRLN}0y^#;WYeVZHFAihi+35=yH3|Wytb9L5< zY*5mf)#d8y>cVT_>dKBmuIjqlWJy3k@csLWzn+v7>=-sKE}V4CK9Ivg{UYXfM^Jh; z3p#rmpcN1xnlN*_J2O>fDrnwrO-M+{%+#^5p$92NYHCpFRh5;kvvXL#*=D`S%akBT z+JF>>c`g$OiXHp|@QH{*pDqL!VHx4r`EKC=MGW~ZCiqFo@ z`t4@%w{vZnY}NH{?tscZ#O|zR9~T=tC9A3O%6;mpGi1xB&K=V#W7jqBM z+}f_vut_Kr>zb57Rz^Nb_B}3+q!FPITX=TL*GUDdeVWF{R&rDZx_O1OyUYS)G?@cJ zMfDtBF{j_6>ad480TuCCP%s%sy51C1^X_e8}#3aKMfosPK(6z8L^7;As%J@`J zTMuYKK(GfP_jEZUqM)EV16x!z#laR-Qt}Iw#UNU z?QdG)<>L!hbZM|*XJI)370ts#M})xTOaD9&xV6_rO*NVfgn)h3B&sb4ZFc|kG`@5d z!VoSC3|cl#y}fzej=h$z?;s*u&Cbxs@WZ}%vF(UjF|)Nw>pSgsF103}q~_MdcFyG0 zN~+=w{olVv_MQ`*rt_+NU*>JQhd!2%E2t!;Z17q?K-1-Pc-14RQ%!JC{z3eJ$`_Sp zTc~MUSo*CHF}VITw{^Y6`x#q`4~OBK`A07p!N9YOx}^ysZ7P2w1ypK*_{sY+avJr9)Qe<{61$1>LIULfW(EIX;3#*{qnP58&E-w1qw|QUJNIhUrIpafiKvcLK+S(#Zg=Ag7D1Ptb z<5Mghr`P7Nik@!@PYS1@CM_-9#p1BmQfV3d@&1CQg02E0-3t0Kt@~%9aydL4oGbdW zo~GvadSej=hDzLQKK%m!Vq9Q)3C%?#U=Lg9i8HgXfI$nE+!5*DSZlQh^)4|fDY$f9 zwp)e;VidtHEjc-)boF?x71_d-vy!1^cVFLvzOrNg9 z5A6>KR7kh}j`@+;1DzZ#W7|HX7A|8tZWYG}dM1B~aq6PGEfzw@TGFTuZBcmKUrU|% z8GG_i<=DF2IXS6+K={?3^n+tRG~6X6LmQQqf6EqcIv4pcxcFW;@R|5G!hsllFSA|? zLTVPD8*RE1%B+@&E9ehIA_0%%X-th9TVi^8gcWou-P=IyBU+Z5OOoys5)*?=-){@! z$ONvpF!=?l9r&)mhyaWypuGd5M#B{kxHK!Cn9t0~N!asP2P!yduPxUzhWP<*n=}nd zma$_a6drwlg)vTgVQC3yl10HEKR-biT};fReK@)ZkZOeQZs+&`x0v?tswTYd&)$jh zF=9@&%}RvtoyqJcG&%x^eK~$<-dw%ukX%#xBR^*g{iOi+S~tR za@aqo4Dsdfr>vd#>i41iJC`F@-w)YZJgeTY{v!E8ThGtdS_m_0bbdSNg!dYCqG0

D>*+xvZZsFcl#s6ak86p22EX_1rT&qGNG#Vq8ukCN^ra6&3` z^KkvgWLdO#&H^abva<=tAlqSV&?15QssUT}ClF9`a&hT%c)%L3u`~e&7y{?=>`XL8 zlJdhyEO1{w#_U7%KcUb^(5y^?@#^a*kX4Ae@fz)=$Y0xqA;U7Hj-+0@#G*k$;lOV; zTORnx^>?hE#wMRH1Vzpu$=_I%SYhqc3twH((w zM2ZaZet~LPSsKJj7Rj+v<1cwp38Wv!Z+Pi-wGD?$)QL|Vt+KPI!vcTw1^BE~N9sbd zSx3j~(DP3^MRc_`&Knu79u~thtEV!kAeCt)S6wd9Tb}fd9*N$)3~te~g`YGgvJL{M z(5Bgb<}*6(poE6T50Gy33W=$$LklDVO*N9=3KJ94%fG*UqHxuF43mYV3@ByH-K^wIB=kf;T4GxM!Lx%#0)u7A$us<03U?v~vD2})KL}u9T zUZs2ebAhgCwcrdx@G_|eYHKe8o8YTH`?H59>-pdL4O8T{{goM8psxZQjIf(RFM)xH+!u%g2CnR;q~P ztLu%2Qs2;LUaP`@uR7lY@}89q_ZXfYI*xUenCRw%C-%9Hd@qPhy=d;x91KAIRbn0l zTBN{-ov*P394)P_02c`wTw7anjo4#kWd%c~sIePFmP)?x9w}U!ba5Op-y1)#v)H(Y znER{46d+^^76mx<@6GOZAhc}@LI%jBlF}4Vd=-2P34vm46>4?>h|E(gQh8Y!)OQJZ zX6WnV@6~uNAKWqdpCM+(Yyj{8Ti)*f@w3p!n^&EyVPX%|li9jy-N=i!B8FYrw1cU&fQ{?$h0t}W4&E;XRX&I@hKmo2A z+OxTX&^l#mXV>*%SDN|U?Nf9#@QVa3M8e$tX)qo7Iy~I@F|EL#j+f+32MC1;_^sh; z=%efrfK;3;igKe(vgrKXqSGU`Mz?AGS3N7JPoJY)Ez z#e5~I1#KMKDL;mul9t)mA^i+b2Lmtf1Kj$Igv)c=8ow~P(&WSA#;XdA@qMK~JkLYE zE*DFP_A||%lZ#^!eg{&rUIk0t`X0W$ho$m|5odar5VNxwD213!Jz>UDB~wU zN5JYZ@$K8d{8krk4KNTYynstqL*n9;fb2Wnio^MbpekA3hwdO)G!p)+#Y*+%I>YXM zE1;PK%jYO=dlHb;<(b+CB4jDTm7{r+-kzb^{3}gK!AiFxn@gmS@ZRqOO6Ozn;jb^Z zk~1^MTDR1bLD?ZFFGpd~&E8X~78MtZX=>N#1edNlthb%K8k0iedU|?51-^|Yehpzy zUAtK8u_&R%!`rFn^PT1QzwUH3n^?5G_#rH#M(GMA=&XOrC?5k!+3g(>m3uA5SPItz z*PexdBMChSlTl)O%K#S##f&=v-%h*E?QGN;bghl~@K8A_XYYHAXQeha+&WQq{o>Z$ zyYIPM8L=CoOv24Md4eWhCmNt`O!;~{h3FcpOKLG_GQxf<3kw{)ym!w}|Jd2t6*5@& z)+t(>-*Ixncn)vEW1ke;+S`NeuE1@DyL7LzmOp(WgDq4jo`3^RfeJzOCzyvprHnh^ z>jXN~di{2^&pIxVXQ!LpQZcx}9Fqj+M|cpNBtjyeX>Zon^nl156BCm(3l4Uv&JfsC z5vuSoFd7_I*$oXh_kA+PVDxr2_~NUnr}vN_`26!< zkVur|!{5G_X<${qIo5S?KlwAZ?j(vjp!@WvzONs-AG|Ekt^s~}7w?XY@*C)P3#x*6 zoPU^f0&CtnBxfof`5xb)@e`i1Ce{g!yXg>;v^WCIk%IrP@{5MscE=lMeG_3#<*#-x z-29yp-wJ};(f%;7vWH94P$}|YEL~Wg@oj7iT-vLt`SfY8EA6jS z=R8*E(a>WS1Ey_#{%<8>H;09_j$7xVN2B>@c6?NqPx9bUVHyB*p}f4D$N#}yK%g6Z zM$GNsA-Fm{{@|+O($JKCuhs@N#{`+21oe&*?iQv0KIqJ_*Kc)U;j*0*r9Bz24M4~m zQk5s*g||_;{Q)MEKtLLA& zvQ`d;ccW`(=s1}9PP!-ex4-75CJyvZw&qmzAvdsP8RJF@<_MTS!j6xdsM@r^A*GF& z%;TeM*D+^UHb~+=k~zF=>9>!f5&62Dh@dO$q(?r??FcVP1=1q~@TjX_hvec6*3?ZZ z)UnY~Op+-Ef)9v%GZegEa94z$u5PXwv=KCzVbwIKJJ1mY{q9s{Wo^J{tb;Y2Fg7uv zV1~Lj2A{~r%nX=DeO1*UOEGdG5G_O^D&b?~Z$vw0oN^@j2*l?3Ppdb;gv@@21T?p_K1|V8k>b>ix)Mt)3miSmNm2&mo%0% znv1HcimIA=%Bq^ms*391O2!$-qpO(|{@9J%Gbs?+RsVhRQdf`?7GlMw$jII3+}};f zDU~z5mos&XyKbw~HPV)*{Ao4@uEm3)>`zTggN28W3=3=Vfb&!p2J*!kCUPnaMC{+i z+#3m<2+ZHVe+QJern>sjyvX2>AEd;DGmjM;VUdxcP~DyN z9;e<0{SlDbjCwXzId)ZtV+ss0O4)@1Q{o@1&R(7qF-b($2fuD;ICq5yS0?p#CI$1| zEhj#)Jq*s8bR`96L3&TgEAw!-yk-CFXve9ki(6AyUfATGo>f-!i<8E-n1PUXffoH} z*=w{5=i0LKJ`2%fPskou5}~A8lrl-H-l(>)@B{F#fj2X|GIZ2Rs`?Ci2XIEiptZRC z6h9q^BL8@E49UKHS{NTd1I$^_a44!;S|jr;P}Hr!Grm0wR^SjzF364bASfj|@^DdK zLf~Z#s)90L5UyhsVL9Gp%6Ss_jQ&^1$7Uufv^$simUO-Ea;2Aq`=2N8I%%U&)3WOp z_r#OFm$UIln-}g0e*v_UHO~$?;_nG zlw>qCG$m`qHyCH$k9X(0r6nb=uzk(G?LGY`$sKBLm=MuPF%|?HJ3FW>fxu_MbX*f) z#`5s+0Q)`Yzz~s3;xWvxK`F1VvA;mQ@)sOoIEqoDK<{(njZoU~FC=W*!IFgvY{pW^ zNA!tM(JnS8CnwPE^*dZB?vUWYaPR=|9bmV(8x9?7A$8yRoIoaGc4$RUPY*HPY(NJHdMiQ?%C5fyf zV3Zip=Dj_RftmnNsF)_Oxi`3*12T07(1)f&aKOc=>Hz!-DPV(@;`U_TPE|AmD!5j^3t4&EoGyCv>z}lB3Y!;US3WINI#?0+>Sj z_e|hx0pk<%98#W0AS)#$dm#&WZ0!L?lr8$Q$h(7Got?TmIwnzCuLc=fdJ`+Fh*FBg zy#G>k=F@mT-Z0-i1FthMz`w>sLJ66R(&WTXAji5alqrFL6ZAwub@hdI=Pfhj02q7u z;kMcFN>m7tBmsyDP!{b@b5-^9!2CSEneh-wiOlPHj8E_Ox;C&tfGQ*e9^wYh-M@bT zS$cSQc)c>{%a#dy*0yU9{DJ04~ZKL z2HQ^%M?KD4y{|a}ogqq+l3zjmh-fb0NH!n(v;eXS&Q#r3kpIx1;ic{48VH_kK^yqA zKWkQN1*rfR!=i7A{H>Djo3{!;dS(tnY(g-D^XY2i79o4iDt!cozM(V{qVg zLX_+!akuyOXqcD;d@d}Ah;sG`%L8d(piIH&4CWbW_|)Ia^;;lxLv%V4ovdHY)#(j zF6*o1DrBk$fWR^BbcB433OZz8TwYE91Ek-N`-cZJT@e{GGs>l(jo&RSEKHc%Lt5>Z zL)M@mhv%ne<&%_TWg&*S9ae%$KQeL>DgpDt=V(w8O>`Z=IR%avFfIWcl%9zxG`X|0 zQ|Dp%4I!cL)5EoHvlXPdeO>F}R^SWlU>Hp=WGswE_g+*tJ@z=5op5k)0KE*>%>}Sg zIs`*NToEqjk52OyIDP~A7#+Q!ERjIr3Ojdq&h%5H8l6U{#d|RL>2xs_6ci3?w+N>BDef%JBnJ<>}!9SXbfML3UACX-;8T8Qcb)WJ@?;;MlWb zYhS2v*^E%CF!Av}m3Bfb0~@>__@ZB23d_sk#}(w{3gvp6O$y?}xjm7vflKqt3a1w` zJT~s)#?lh50x~10n?n((L?8x+jcBJ9SUiD!-lR{b>m+DB=fmzuF#5NnBRl5m6v$Rs z52v5-kz{HH1}MUGG}P3YiqmiJ9U=br?mqLm!TG(MJB~r-2T4+%gY*@V&sst7HACjr z16ua5;JCoGI!+~6g8yv){pEp}oQ#YN^Cs2n6v&GRoPC1EAIa~JS2^+`=v}nLev%2N zUEiIXyJWCev4G99t+$YshX?OdZg4PU`aUH{*I2v<=|9UMb~9NV@Jifi$#-|&st~-a z>A2KDIskb@OG`WARrbaO4~Y{Qd%OA?N(zkL6$c@($PMlXDVdoFH<=k3k)`Ws58bG@ zp`p2`zR;_^BO0mTrG&6NHc%dpFdx#>za7Yv9Gf|E8k1wX(VyN+)%R zQPb5$^lQA<(9~@0g{&+rgj~^|7;^rwdwh&y*Xwqm%)A)}kc}XykX7_IxgYC0_2t>v z*c#l&5-CI;OLyAcPB-{eHC;f)kU%~N{sETe{6iYorw0#JYi(_9=FNMM;AuJ(@ie)( zx=ls0xC#^k3hkKxwF-MxeSHDnE1NT)gM))eOMhr)aRDM`od!{0t(!8gegBqRYe3$RG*@E`B9(sSyN`4e3h+Qrn%lyb@{Ds;58B1!|vYV(V5 zhv()niOrGyEnq#xVL*J)haE}P_E$@tZk$+tKL;o0*LkQ(aKywk`Bdgw58<r!dTGJE(wS{ zV`F2#J_xo!sdiLUAn4!AbaZwGBeh$>H7&&)1C&!t4m>pGO>>A_M$q1&--x*FE4skV zE_i_RiMv0n11L1`)xnmm)~8YG8yflpt{CVefqnZ8@$U9OsH3CffGM~CG9nOeMMQ)| zUxWR%Gani3TVjwzL`2Li6@bi!EKf~Mg~5Y0fO1i9bX;!(hdVMn+?0ktI3HV=Fpe8I zt-xobsig&MuQ(eV4xp`_Zgd*=`VGjtLjjIs`|>eCO!UBl4)qfPY~Hzz0f zR)S}yw4jjM5AXMYPAG`~rNOo^4QRL(YK{9y6(sK7>*{veF3_F^#PuTtc5}D3+7F;( z>Lf`8#>0F00}k9u39!?U3Xv!T^MijG9e2PxrgXFb;TIdbdYq%L^n~VU9MR|#J{G^r z`1POVMt7OZ6v`N3cs|!(vQCatWH0=$DEg^QfSSdCKVd~4D8aYy|AFQ{2|B9TA#N}w z(^!k=8a_e^UC{H&+QqKABhKn{SsKU3!s0D9qaJ((9_YJd=;7@!1QrMS`ACbMO8fdZjuc)Bg+aRpJ#9WnU8g;lWv!aRa9IQM{g&xB!Xj_8vl zC5EKSNj#az>EU72-t#9AOLO2z{q}7Gm(cQDr?$7<#m+Et;%du3wmSoU(9{5Pn46os zyR*}<(FR1)LD+2{?`naoE%fMhP*G_1x!gw`gK2luc_7+e1X)X%pIyKjl~3T_28`?m zSDv?$%X4$!JfN!_M1rmz%zydmcr=0R>FFsZCg#xH*WX|0?hhOu)J6(`YglG6tt2F* z-pf05%v4+Rup09Ib$!?YKkeXn>umIKZr~#309yPQK1?kNbC9(L9SvM)_CO0oegKduzdjpqxeZF96lh{g z-6ij^XchbAABFn`2>kS`D=SS8^J&3kLac{8MEHmsWLIz?NKcP2VTZD2w0`B4_KHjy zbiVndpriADnEL9VuD&l?Ksp5J?v!rnZs`(9X`~xzDe3NR>Fx$e=?;-j>27$3?{D6l zH{*XepL_1PC-z=@t+kVZo;*LF@;2@z;wg;)A3q>45QKTvm)t-Z3Gr{7-G%u!?Qfk0 z#)K3qD(Wee&R!u!=_v^Q?g7=pV2Iy0>h)}TRh`N?o`KzQ`gUM$7jB{zY||)U3MJ?B z3*5CcDZA_#Gv7e|FDNLu768g)xC<8`^VYU0f=znkMyWx-Wb?O$6A*_^nG<)Q;%&cq zYS|HY?WeMtASOP;^3ss+#&E{JmfSx=6j{GKKY?ZJ#}y$KbHtAu*n6qNpJnQc)@hcQ zmNYt%!KP)E9um5ze_uj?GqTX)HrFq~t~u8D>1#zf1-o}i`0Yk>ZAFGNIi(b6nN#Ns zUymUV(`T8_AHRWiTxkzO z#g-uqw_hO#pgLaj6UeutV9J)3@V9gTjXczf53q-3H(7<(g z@qLAdsiXe~(uJ@Bm^Y`#F!lKCrXRujN$i6;t$Ifx=?m3mTUBNY@f4esG=L5d1&xIH z5aAytAt7=0q^+u?w3cEC(ewcH+tttnYJ?y_jwrZ;e7**Mr{RK3ZviKrf9>~zX3(~E z?HwQS#P|;YI(`9_clk$9d2gnPp?m)ximE%~O`;?k92{Kq#nuo8@caP46!4ZQe0Z~_rbLU$5Qfqu0P%APNDO9XFg>jt zT08*|f}AX|xX;bpGQyHvR#5gqOy6?81?zid7M4k0r@Ng|X7#a}MN9Q%DI*v_-^j6 z&JYjVDcH%fxF3UsqLGuO|yn`--34OA=)G8y6=-xa7f#;hS!~K2(ORhJ( zTGb#cN;LI%NweU^;YQQy$SMH2OlC{!KdnMoa*Tna)rK>nd3GG4vcyr2cwE*`>c;UU z3(&(6a$@Zy8XLLMU(r>PLoxFwYByurpxqU$#9S~Lg(4HQl7Y51dLz6ifEhIV8cWUn zAa9!6TO{({5Tm@&w(WSsY4NVN2BtQ@k6M@4Nb2WPZt(>vTK8^c=d+5EQWrWD1W1Ir z7Z(?SJq{-q*Gj!*QdAUb;-9Y|S0*AP1i?2yAZxrPAI(r=_V%pNYNyx&tNDD?q2NCK z^n3o)oCE*HvvZH71yq*?rbZp_&P~|a+4CBzd|sYOA`QR0M9V8G4oq21+~)}>i3CoP z+=CcCzo4MG(iBu>Xy-bL^SjMp(6sERtDUrk`3BD~CnO>s!S;Dm*{$rzO9Nt0yQ}~Z zcijA&Mf${?XoF0(5QBe~?+LBS`onRLpHJVC(Y?hX$jm_d(&;)Jydrw=oJ#y~jHePCskXMyb9RNd z4jN&h;K=-vVgqf>JaGeY6(}S?%O=_spm{@%z#Sivll;v_*DRyR%=fQ^?qBKPgJ5%9 z79qGNWFrxHEG(%w?aNLMq~I~Qev7(un3$LxA0L}*GM*y1?Tp|>AGWQVejW$;8OlHZ zfz9g6@fd(EG|bKMxRLq6#tn@O4{tsfHzq)Q1I51mqTMGxLZ>xjVMj$i$QM{S?L8qx z9qe>$RMaS$IBH0-J_l_O;nDo~GYHr+c;She1%*nqT_e;A>4Un+$#G3hw;%?X^o9Xx z_a^dFe=Vm|&+Mx&;eLZ}!{B+auBEU~BngiL<@op+NcsV8D8X09?{OWz%UTZ-LI8Ex zm2@N6jv`ZdTHF-DWNT#G06gGRDhkW1@tnUAq!e^)woRp8yC@DQ4vhf*^UBJ~(vmv} z@y5o+%)^*Li(~5dv`VHMdq^}#b_lFPUqq_2R*r7XihCBmBv~=i-O))~P;>G{hKCiR z8~XN4*~feorSwPZ?vnELu@FaFM>gbOq!0bgB-SUzy_QFp@0K4MPjF*0AQXm06WMy~ z#?SaDC%UkE*)##e{!x=5Sy^@I8IKb=(g_ zOf!DecZ~$6e-Rp7?k_DEP`<;X?}_Ib8X6Y)oeCGIOn#RFhEr8#)H^D17J1+h3H_`DB0qWmPws5oBfQ+1Iia|ht z#KzOu0nleTX=!2oH(l2LfFQz~=z`=p_!R9DW@TVNT12b}r{xqLNFf#JJKv=$vdv?* z2@-3t9bs-9);OaL0R5*9%I`GO?FbD+Zdq*za5kaeKn;6%crkSI_D#IcLw9VUKuFomYzOZ1D%kJ%Us_#o;1 zzM17>Z|;f$4zO=1rjZ(yHwXdS4e%;KC@?&YP*%=@i_Fc< zU6t|5&hjuPhR?q!s;rdqi3C9mFSy`XVqbBy0)S$DU57&iAq6~k6}>@w7t!RSJ~FT0 zA)r)L0sd;sgxL#;fcuP2D;rBWz~BMrz-XUq$|k1$+XZ#e%Bv2AgTN`V9$;zT=fU=o zhqDyZ=J@XDA4LZ+#F=-0WLqWXz-6p9UV8>%w)ZIj7=5f=CD3c8r>9SNLX2ml0761G z<$*mb!<#7)HvzBg0#cHV8)|x9!_^i}{0)rG4tHPR)a-zcf2!=H!hwgQ&?lk9-h&rl ze(EEWh=F82%FS(y# zZ0JlppXKLOC@E{0c)*+qn{%WBuhN{H^%C{cu3ZQ1tTD*#@hqX2n^m8*v^3WhmP0h@ zR>&R5El|H60)z)*HsisCY9o1hd60;I0K}C9G3=SdI+?}YLh+1>$cwT?>x^xTR}Zpb#h7PsLC2|x0I&)E*V-n zj9h3cH6^2rsq;aAFE)iJ0xh@bRyqJJ3~e*!@I%0*KvBy22w`?Pf*MpQOGz!m8*1@s znX?f;wS$Nk-1oA59X_>2cRg6_$p4Vo-`x)4K$9FWYuZE8RtX5uxdTHQymUD!_fVp{dr1Zt^R~LH=BOC~b?P|OK zu2O(VJKgTM&^|lLp!1cvy=1=&(eTDbdFhN&7_dQCyPJj8!6vxBzp?}of!k3st5H*{ zq;DgN+Ybiq2IN<)-gu%|JrKS;NJlT3_{_QE`!O4mBO{&6!Kh^nI=O&QplERRnqP5% z5@_@(5?V424@>?hn)u@=;!hKCrKz65{q=P7LHIlj@&h(M%PIf8=1F8jH?RIAcTZY& zZrCyj3Q0DHjjt-d5(zAsr?SfEX`BsLuklsL+v9zs+71CO*ek2wC&>iT4LT;LcB^vB$g-w4s3H=kaP@e{I=8aZ^V{WvWuY z6NLSaQACrnzDj^fQ1`c;?(@(qT@c(kPw>o5s}NG%__9#LzK?`6HR-O$sAm5x4UI3Xn~kA{ek4)?4uNqwatoZ%pzAZn}a-d z@Q+Lb&yJg^`F8OSwG5i3gwK{&5`Y|2T7-d-j}Vt70(UYR?_+-;YfWBEZ1`G|D<#}> z4x4v!W?Oiq-(hzIU~+c<#ckUDdT{~;Ea*Xl9VSmNFOUN#B_;+HbP5!_R+tzVyC(K8 z!PxFbkFP>6i6=XEmP00e)7{RW6J zh$8m!lV_qx5ZsNIj{z5^E(-w4`~dB$SoSbs%h%5`v^S;R>NmTs$7yRSYLmnh^9(+W zN#r9djz|79ld5gOfPkcuR66Z87G+@m8FZuhz$Ip&-%Z_saC`u6whd_6_$V)bsz z>@oe1#->BPr^`BZF-cl~ObIw_IRh9p!?|17TWM1l29;Esdi&;vvZjZl(u!-Bxb3a* zy28SNAo6&`GSmOw-U;UU=|+EzYE7SnBnyC6ph#Q!sXBLiQ62{RlCBgiUSFSPdso*1 zS$JX&{L!&78<5Qb(h!{MJ8+%HQOm#jjB4`=YHDg5o0}qn zn2T8j9q)xMpAL%g@mm|L<-?+=sRxcfH5=!|Xjr>Isl>}t^iG7ty!KBdi}gb)KoiB| zi9zYLV-qAS?xk@4CXEv8siB5rsH`0fn)aatO54Ncu>^wqs!Ec*ODB=B<{gJ8rAi|9 z^G-}+Zvf3a6Sir-l+SY+IYqnaqW*TE9W4`Z7s|6R_Z>%e5&(EP3KkkR}3MH$5AejiggTW6pejj-qn zqzIJZjylpU60&Yzth?Hoo=cJcWAHmvp46hOeZ_5Ql~;9)XyG$zI=HYiiNvU?U|H9K z8Hm~jLke-I%Tp|?zh0L$jgtfqg;b11o}+K(iru;1fOfsnHXi|L1cY!C>qH z>5iqSG6F6Ohy?d6!P{p5W`y@12V2IHFN${U2 zU<`3w{tFwEqM?7^|HD%z>a9TCw<~?grI|+#M7r;y;lP6gZ;@5_OL5sV#3Y9ye{9?c zC6&_IfKv(Y-}#K(=`xV)sq$jCKwD@bR-u3X#kqvH(tqpCVbQcCZJ_XQ zG_vq|Qai#hWsFe9`cenNQn6%d`jl#n_F;;ftMvob2yHJEZlC}9F*Y~n=0)OJjC8qxhc-C=hG3o4x1{8~omaQ|4sl>6vlFk^ z)?f@M^#d98{~fOy4r%=z2|o!QoyR@M z&qgnM)}%Z+l+W}O+#SR?lH-xN=oEtiN~HCe{KH;ax&|_n^%mXIFzdgA`H+(%>&RVg+Lo#-fHWFikVxxEFAb|=u$Lj&;l#M4lN$kKYiuO zii&~@(m;0v89BLu-d+QX?^0a@=K;ddD6fnhFS^OE!$Po#8|+jC>iMAd_f_v`^_Y zMokBo{Rbx&qe|-b!&=K_(K@*pT(YIbRxb>h$?ehz8X{|a43Q{R5Qi}|tF--FZH=NR zBCC?zDzn*K1|`_<<2GU~G++h$LD?9AVmQnSLKLw;PfhC2va-X|^Q`hh8@bLAWQ9P0SE&GU+#V4`y6f026k}`XT zMKb0-f@B@Ts1SASoy+5W_!1C+ePA(XEI#32g!^q$T7*Ld*MDnZLgvsAIQV!&Wy~%@ zl*Qs5y~vs#?%DgpF|cu0P*Zb9$KrmoN72$Rz8yDS#`)}xoPgOnqBLxC@UJn-W}p7| zNb-CAc)XyA&T&4P1>=@~zRVQJMDrgR9^k6x??v{nt?|ewUY9@ODgUVgE~}w9=ueV3 zdv$hkLBL|*TTnp7axyigVhOA0Hu!zeM%H=yJtt=-n+c-=(7 zhbNdxx#{5+vNd`)Oyt{I;g7~i0+u+IrKHVgA61a!z|xdZI*Z|$(}A6omZ3hbt-R^n zC8)uO?QqX(Snjww;qlSld$g`-x5()`JF<+l)@uGzvFMB^og@BAczK4ktWM|CJ&E?i3uf! zMhV|2z#YZXN#%Nnj_y~!%D*-RJ};mJ1WD$7(SnDv`6c{T>B|^@`m*m=pI6PUFsVS= zF=Stj>Ne4;g?c~v2=J}MwUOYF@+}*&H5TSvkU)5 zP~U$CH_rr|H@@Z$>Pc8CX?UO0 zup_<3nwnP~$ac3beR0AMamzTiw>0vuQe&M9v~JhjE4g}TErnb*kfaAhuBF^z+cDDv z-stC;2XnnU-x(!nD?zB+21K1RK%N5Bk!)^|lDIfJiuD0aej7{>2##C<8v!6*jt&mF zljg6v8a%XU+PAY^;Vj5HUfQ&cZONRRoT8dh5{9M4#T*&)Q#U-{=Wd)-@#!_JY$ zQ(V?>MaGkCSYycSNqU4NrNp7{2E)dVmAmM`iVj-`8{ z&V9Pnk2?(8<&=zT=O~|p&L^9gu^VLfVjCWW0dyjwqqQ|(oQ~bytNbzjt^L^1DqeEPT?}?_Bq}c>@bn3#LFvOiX+$1fi^~ z3_3r^H?ka0O7yr8*_WZTi_2-bPfm`Zg*jzrUb%jj(q^mx?w>)X=goF z&nqG^eRP+{)6hL#+OFP95BW1XH*nvC)BiB7VNs!(P%MWs;IN5Le4Ox3FM}{VfszWQ zT^S8~LceBkw?Ilq+*~?4t1~Mqs!`M2E_=6hcY3j3?qW3J(i`J&_i5$8OUX|7lbx`R zc=Yh*A9BJt962N$&(ofB!xTEQOX!#TI+ijH#`D0xe$9j{k*HPohW$U0fAZnL6e^xN zv`y3dF&qqw)0boHHU<$DPEvmonOkVOgKEh$n~;0Dm1zP_)*w7pDV_nUc2HnjukTba zQ|R%!J%x-&k<80!E6vXCDuJf$%q_p%&GMn9^xUNja@+xIJ#Ax=IvHh?>4o3C@5Z{j zzbE-rfO-oDal8p|ggz~i1c0d6)gB+Ro=w0~a%yVsI9KW=XX=}Y@vCCe2PFTnqloGA z+>7m7Q%3YO8a~&h!*zeXmG)pP>d9KcnS6;EGq2lp+#)La_w?_v4>vL1p>G@hJt=2=F1Or!YuwITrt$pP7j*ZT>o`%a;ke~E#$e# zU4HX%db%OwkA3<5*WEO^c@Nn38Pv=GF(B&!EDl06G!`%m0JPhv@06xd?8)(=VA5>~ zSh90)0GD#@dl3nVKG51`GU(qeIl!pIF;O%G{hv48DWMWp=N90~aLD&|7nACx04LPrj#C}<47-~dM?BNW=X8^2Y=0|c}UW6Y&gnSuP zJJ>!DibX#WBwCHm+_(*@j72E-Z+)R?^{ynsQlq2MW*h(s%B`7*HY)c-RJ&ylxX#}` z9@#lLiObQThqyIQ0!ETj0iYA<*<1qJk)xyIWe}$Ud<{g^<&YebyM!HCnZAbu!Mlfa zt*oR^Xq%Pq2Q4~=NVypJC+3B^=Euk9nLm6W zn|G!lHsbECTPwC%If=`lZS&mUKDB;>H0S+rY-9O%(zW&2csx7lzB|rN-kEOjIw;N# z9(oZQNYh{eRTX&7_w=}&Ot87y{JQ7@`Ak&OpP%{p0S%sjDXI6|3^M(R4-w(vrw$Yv zDpFd6%toJVY$`G{^(-vt+)1EBuzjiTO{0%cy0`a_=npBLU0S>ljN&`oo#bPUmOLJ$ z_E|~D-#iIP2J}k>iT}9&+v4;p*MTH4>vAM0`+z_%;|?zNLjBiARN8b%emzz#Dei$1NX^Y{lt{zT-DiuxlQ*r$ zI^)?lukWZ2-tqZ7&W-`iSliLwUL-9nD@zD;tEs#v2UTRR&lB8;Gi#tq)Mxpp8WhsV z#Dc^nB{#P9yC){lBEDm(u(PoN8kS@PejqFf0m1NB-{>J@06fikfN#t(tLcAOiOPf( zh*!#q`4fc%{b}rOir7)GAqI7f=-c&e#l_#Wc|{^N-SS4!Z|iMC6jz+s-j`Qhf(2?c zFcYf&Rm-T)4cvA4;(Z@X_n5Vh1(`?UOuZ(nb;W>v*&+iQpDV_VF(D{yL*qaO-@Y7y|Ds5^X&V2%8g0i8*3F zas|9WFR*wmKvEDbPyw{{O5N5Vd#cxAr8pce1N;OWm_LG)`XGia{7Weou{gBl+GF{uArDu5;B)zlp zLizI|B7(g?BGXh!I@s`I$T*k3(PS9g+WH94 zJ^?Lac5JL7E^6e1=WSJC;m-VzBEa!~S(56;!o;j%f>cyckj#Pxek&RRpQSEC00*85 zJ;XFZNmvR+=~UumJ@FUBWgvS^JA2bi;`XGRico=gnQjT)hi`{@aUMb)E{Hc(SI#X2 z7yTU!tnl==!B}3#JL0pHa5II_Z0w@@bl({gCBDoR?Dg zAoL4Y;?p-Td;4&fPuU`v1Z z3R1!Ht#VJQr2ur~%Bz*tU02>z)?1c?elQnP`-%?9%i4^wp4*~Df60?nw6^Y#Vbqgw zv;^-zyvI53ElR>EIX?zD51RGQzNCNJ85kKSUCDru7BSGTLxOZKYyvP%Pltq*4Gh)* z;TW`8I&+`^MCZ#d(x3u9Tn^gWWy1op!mnY7OIxoU{KXYqoqv{=UoYZT{;Vct4pDb; zIZctgiQiRNu`D7v*bm3*=M0$f3o;vLt06y75yMMSzQl|-7yDYAjOw`V6Nx{%fes=O_@0czB5)W;1n>VEAWl6c1!Z$JC)3c0M^}GpP{j zqmG(Nz>448oKa6|cC=8;k8(7fNekUFFqPy;OdA`KH{AN+HHIAd*8AwC$6lyUO;zJ- zb@l{0*>m$RSZlRy*H+0{H2g*tjS>!~W_|(xMUP*Wo6QTRbn(tE4PiXk-kC5he}F<9 zAke2hm8T>MJ>Y22*3%A@HK^5-I0^(8=&DaAvPDF}X@@`jGGHt7wrme*q{bKp{ z+~u9cbnA+lJ;`PJ=1 z_;8ron|(C(^-K$T_#4v-MTjvQJ>&|Sp9N*9HFu5IkPZ@-T9)#{Iy?L?sq{?%6007yW%+svU2?=E+hK2QZ1)erQ9LN8^ zXiO=wyu7@R1_FW?&d(~Uh>6}b-dM835!-~MWA!7$!ng7p)r90E0_J12?KF;!shG`= z?j|;p4m#pRe=^c~R2Q21BR25P8b?M#HlOj^Y?@7*Uee%&vPu;1B(&Bo)hUx?K>h0+LA%uw}U24Af^FCKx5Fwnmg8u3>A9V+11VL%CS~-@=mE3sXtAhn(VK5~%n) zo|!=EroVF+u3AS<^0QZoEsbIKd>%(II=@gqbG0H+L9Dq#(yT*3WVeC`<6SxPRDVbG zJJgQYx#hKlDtF9gvYppz zDunCr{(=kaF&sNDJ4O93-_IXqn2#%w?6fwm8=cyJ*NH)kka$=N(LDX_hYHINI5h$9 z3h4K8V1dD6IJP^g#~W>J%DwMU`0VZSISRFyd56eu_m+@^21V#*_T?}JCympydD&_A z4?Y?5<+2T9VjBC-Blh+L&b{r?T)A>qH|ISw;}9NrCW4dJ*?o?cZ(L&Lt+C_LH$kp@ zNQF|uN^^_g@nKoTZd~Wi?kB|8r$e|yKra$^8M6(SHrVL3$~tdo^AY*%Qay9gTfMbp z#v!yjS>X3EyK-$PS-Eysm`@aHZT&rMAM-P>X46?>_FG=Xk;-L*=C#w5U0aSz^x%=V zV{=q{Vp2wUmOtolo~xc~#itnxw_tVZT{AeK;9CAK{wl1Xx<)+wjy_BB&FctGOToND zBAaT-`h^CczEu?wYBV{?`VISs*~490Rq;0J;fI7D;nj+e+Es%xvfbw`lhW%Ig|m!| zmT6~BiLn^XMrLG}$@7||bC-A|r@8Ce`SWVsJrjy8Gv*!JTJwn8{3lE7TOq9@BMO|Y z8uP4__!=}t`%vzn_3=&E*8%Klk`7)6qh?03EypntMPE7V-d?l%1eD%S|2iLrd2aGh z;_tPue^FJ>8Xy-`3~WE5TouH+ah-H(D=hqA)?0ssB$knMzYya7C-j?;@|k!3&Xe@m zK}bVbn2+hx~>A1^(&}2S`P1SpF$Q&wQ*? z@!6Z=^sETas=qY}J#nZNVrQDe^O8NQdS^$!P+A;R-=uUL8n-BDRTiu5#fm>Xf}59~ej=KVs}5L8CafhWDuA+M1N?97xN} z)Z)`)Q(7nV8vV?-G)BHP*)lO;DN2kBE3|<2Xs#YTdalIR9{n>7xpx7zTm#&zTwZ?}%3cVck`wMIe+Gr{X9vV}nCIQlQ_qO^8{+q`&`_^ENl55YZlvmS=JY%Qy# zk4M3L%eT+(mvaF1-ucJR6kUbC_%x&p9#x)0mJFw7cB8iOScSh`o9lk3bML{p3Ru(_ z$*R)vl~;6H#!s;)z+BLfQ$QoU61p2Q;$lkf&~X2azh8Wi@N*1baKfp8I*$QGpX+rX z!ah)7Wz2dr718~+^R#oWOxX9P|K&fIhHA?yU~J*;Nxy%qu|ZZU|6_!kBo~h;$6C<1 zV?X<@@TqRpWANau3d&oRxf3oe=V)`gE~{DZ+Jpy$y-pO{w`iKgqz6Rgm4c$2{NgKa z$%b~pb*9W;W?fW|GJ0o^qnKtB3wsLw_esFYxQ0b8yT;H^?knid%GGW zQxI_?#Qr{%Ue2NFo{huEOX6MJP?rZ3gl|U$@UQ^z3Glh_0$db89|2*|q=#Bue0)G5 z8!j@CZ>Tu|v`!UB1YR}vp@21LHo8)p{f-!j8-b{h5*_eY5i4OJobW+b-*u8-RaGSs z{Ox=Tp+rVrUPATY-~bT4l~GE}0)eX+0mtn4coe6{323nvHn$;7ff%Ur`E#fu#A;l6 zx|O+klVM*d;4TAe2Lo{X1HxcY|G)s8yaWMY54i(w7bqS`s=lM5qT;v$HR7^Gj|8BQ z$m_1{AHo-c$ObMmP!QfUAcUih2Z_n6l0kUjRi1jVzn_!(ityCe)Wk~W0e-$W=!jQl zmt9d2S-8?XeQ?~QqpbY>`~dKCCQ0E?@PXut#uI9<4$!9Z%3TlU7~7T!Q$9+n;xK*= zNb;x#xCfxRceJ$NGrxi0Me$>RSZm|}f^tk%U{w&DlqRNyEw5Yu6-)29T!~3)b7p3y zcQ|`m(DT-p>s5pWSg2+M6fzqloLPHC^3-jCWJH2v49v!c$%F+kW)V({1Vkl;pPTCP*{J=1upWXB z0+Mz0_E{igo%k?G0|^G&0`)r38%IE*b2{AJ+%#%%9*zW#P#jmU6J>i^vho!eAa+VD z{0jsOvWdb!RbSrd*&Ks*i{}48vD)Kh^#J5DlS%-pJY$2%rvGoYg@EQ_Z^72eDm*Ez z6%^-Fe|L9-!A5Cb$pWo~m6a9vKvK4+?)vdWPG(22<6Il3}V*Po< z;4zO&O2S!k@`pu{19!W1^}!WD0MFd#DZ-5*Lbra1z4$Jz(Zqx z1=NZtMc5-g&s&xyC%{|-Ik0niwkj>Tf;p_qq5hbh4SsML5da9OyuiTb_itIxAd)Tv77ajk z>@i8Q`rCq))hV`DiiH3EGt%W`UulPD55ON^znT}CF(gDM9@s)o$ypp0DrsbVR3O%2?VESC6ZH9Q{aR3AZ0UxUogkW zk#7Xq{c;1~t8jod*>{V4^Z~eEnGxUg8MC#ww`aL1+u5;z9|6GP;=+Pt6mbUdDAVL* zTn~Y*1fY_Wc9?C#MeD;PWXF0MTFDBYi+nP%dlsLTFMa5StQlS$)#d!qc;X@%jS* zc4R$>Y@h!P3{)_nh#p>UH=|w)7bQFZbDvoQmSS#qNHfpiAjCv8x!jusN0!@Br6Z8O zag2ey7}PFk!%#s#D`n+(%-q1QKqTVka1kg+{51$OA%VFSSKWT0LdMdLdOjdZ(!%7z z67eT}prV5D3KX^mE9A69e;w>*5hHW^&A{+*^+>z=~i) zobpvSG)NA3ySQ9)RT2Vi)Z^;Q^AG%25K3LY&Ew{6!Jn?KF7WOZTD7p1PtHIcJNY3m zHx~eKKy;w??eW&WZJCyt8EBgwX}hP*>pKDsqGgET9z7;Ne7 z?QJ)8N80DqloWw)=g^!0uKZ=`15<}+j?7pQX!4i8;)<2|GBd8mm_k?5y{t)6;T%(AU&FDaG|lidmE;dnrD%sZkFgm;x+BV`M6 zi-EtKTQj3BVht?^T8KD*rc-2U>XK_^8_*p|Y+Bg|zL71W&9!%MsIdvr*V9|sI9~+H z`IoZ+k|+K_!2ZItZh3nw+l}Z49CG@GM*)d9R5T}>8m@OaIa|u|MjIQn7PR%3x`dsPl<6JYYvudb-d{_y)+-_n;6MdfdYKuDli=Vr zTHVbg1OVg$lL)Ghqb!Y#{8xZtuu`jb=YWa>P&|ZHwN57CaKXI?fZJA8FL@sK^}x5^ zI^7wCqEx>=8u%S9tHPo;(*5S*t0T6WZmXBrT&XZYbuDX>oLOl9WR*_x*FYQoVlPf3A+FuWsR-8bIhjstOZ=kq;MU@|sNX2V1Q=^ruRZ95T~%>YJK zTwIKT&p``zbi1pA!&0>oTvwRr$(hn#|CRn~2e|^sF?`Sdu(#$j;rvs?z#Ae=s5uf1>5*(5zW)={4C!{Hg2S zSoFCcu}#MZ^;0or9Ohoo?9B}cgTFTt(O*suj)^ZFqxyF&xZywno>vTx{eQQvPo4a) z-xA!i&VUrasL+H64`1cot*WkG@bhO);P6J^&+3geAEgI4aqEWPZyG4I5e(k343r3MxvJXp*sNX5B zcbGDQ#brPnLG}n~>27_K?PJc~3n&n|Ku#);f`lZd3XZ->O6cu3z#~d+^XO@RbTYE|}g~VP;ebJkQflRjfgpmV<%oE9NSMsx#Pp3kw)a&B! z9O|Q;t2Npi?7v?ocOS%K$D0MP;>}*(w`kmOLuA{2W$y)62vwpV0X2}mH``q!_%+_= zEXw5cKzdyy^YcQ$kh2^~&xV|gY#kK5j&vcBldvCy0W~Hs3hjQYN(aa~VHQDa^SqmO z&$!&8P$*u@1qN{I0ly2eth-8OVqb40zr%4A?euqNvf6%*Fslnv8vm~6-n*z-NTt@* z2F5c=ER5-l%&9ETsT|_T-%`a4By{b|ZoAa4)zQ=l<&AooFl`u+KYo3Ptu4hFdsy|I z{_|0ATRdrpy1P>!;t@{ur-JpF>e*@^2y&I918F>*kwC_SX}sF@%|FQp@I?LWEFfRc z4xiYiSi+x{G&@m*4&BmACat+dA*(6BcSScHIdSajG40uKYRSTuVkOeyFIJTTGgWu_ zVs@K8kDLiJBMxZeuR8ig^J$GOy3>ioD0*HS?@DP3?)GbX1(A3|PMCmf0$5D(=-rlA z9Y-&%cs+~IfTf~btfs6y+4=IUEh_3KnFmS?o73*?Am#^_0`I(nq{4BlU5=JOblX(` zlbz*H`Vfa%NQqw}$C$zW98zC{^6lA?o){JX2cL6fD@rulzalM zsX+37!t3_c={Hux{H|;Ra_IBys)DG$q2L@NJT!*4O`~*Llt_6FlVK}vut z2>}5?OG^v55AO*a7#^(l0I@CzgQkJ48ynliPi|^z*k=y7dmi{2Avku{F6~sWjYyNn zidLLO73g&Hi{(c654Kpf)rlR737t0Nu79P^ASH&K(;|t~XIFH(yB)eI$fJl-4g#s7 z2x2aHQdT1vY!p?i{uH-L>4*C~lBUT?;Y!HNQtjWOLqHITo>75S20}F;d}Cxp34~BP zynTjk7YCwGe8x~_u(xSF`uh8G5BuEDF#zo62w*=QuUWIQlEH!Fj;;JNnz`SC^-9(C z(e}$NYuGaBRd(qkGw%#l2LOAJqL)k7>D&#)rNR1lTVn{mi#DhAsEH0kpRW1E-(t^W zHAtG8Yys=<5%o)XRn}$JvyFdW94A6hSKA)bbl$QrYiMJ%ud0 zq&|nTmvQl()9^;S+&3)K@X44Rp;p({&Ab6-BHc_r-d3S+4s)rwTt9S8e(z!2t1$hk zBOEn3lJ=|E@f)kVi&TU3NF7v-O|Gq<(w!1rXMOo&ZQMmGotOs!zMW4Wba6Z4J=ngN zgATx{QcOr;m9@BD4f`OqCxdXjU?n{}gGR*fOUlw0Qh08a7JGq>AZ6*z7xpa@n}3|) zP5^$nvMBauv>tP}YRLYh4C-YUuE|Gtq7Lc*p8X8@`fR4r@{zECuQdwM8bviP)(m|) zqk>kP1KFH}6dEIVMl3$D#akSfSYz#SjIWC>+kjj zvIq3`Rq_jmVLu!`b=}62MHQ?Qe3>krep~7fCVlykOR7OfDyBZ7G0xR0cG)tE%Ho8@ zqGKG&W|qyWr7%+VPkYl?+V7a>aqG-mmC(whyS0`Qxg?sPjx}-b`YTq&K+T zS3P~sMIFIew4Jr9({QLxbgn^j%tdIP3Rs>DV>pyVw=)iY=8}fBqlFxe1nkc3F|D_8j9T?seyEPu#JJ`ccDI{#>Ry)}-1znMKvUL%N~0_-&;$?IsVPvF)VlgD?AhLdRt@v#&uZH zrCQCIQ`3$T-aR>NNrfuont{ihl$_fr0DWHk=P=yx=2LYI@}VPFJ7sAJZC(jSX$$T# zC(`RG6@>S*QZz6KZ^328(Zzd)nU*5fqc~fTU9@=U8BkN+J*rXAP*EJc&9ER>pdC~R zz*n&{igu<5YgM64mw{rcyQ{$VQ{aF!LsB-Av(T;yAX4w2{oFVE**R(XV*;6f@MD}c zLMSuCmX5S2Q{u)=h^S%%W1C5Fk$|n=+QJtNIjq&yb{({T{@Vp#OzuX;7iR-yZkt}$ zFvL9?e2qYM%ZIJIH}Yf(eRz2l=m|uwObv~()tp(ja_jaDm`d6bLz{KHi@0;51FKF_e52Rba?fQRX z`x}{pc4-)h+{w0kOAih6!y3OqjZP|FigC9!^`c4pv~_Z)HTo`dG64MhTTI)B*rEch zTjV#UCV~^%#g0UV>gcVB$o#v;X6GWK*fTQz?ya$i8Ti(z;TZDWzubq^1wtnsFiY;m#e`$$j%*OUS#`P;cSVD}4%OH^Wo#p(mrb7l2 z1Drha8wzD9G1H~sH0)H`zNN|h;x6Oe?>@o8Zzi*ah(WpMV(tm+t>%@>>{!VV9nCQr*DNw-U zvw!*>Zp*Ami?;dm;D;&k%;;N^ zaN-9zm5D!6XDDAGlrpy0C9&Bqbp3*jb@_w6sFKfLMwyv{)TFxGs(ia#{CJG%jf!|* z>B}c^+T0vXpE4fNfAUd`E^$7lf77`8KoY~5BD6V9TsOq80@GX5K`h;wJ?ms<;^Rc0 z&hny8|M!-zSrwCcsJFTe-APU`{AFrKLmQOe-=*CJRb&Y%d;fF$9%58rs<0@wLb!K_ zZZx+h2K_q5J#A18cmwONrmz`MkzUkj)8mw&*qp# zT<_`pBI>v5SjK_(Yws5AzmI)S2w(HpcPLvE$7~8I&V`^Hi{N3G2uYq#j>-(lLbD{A z9kDq68?~$V8A$8m5jT(dinW2CTCahwTT@;Znm} zC4Swhx#DNFHv1xJEhM}@5{+@n32s&rSL$*uK;WGYI0}J^IOa${z1rui^Q% z|G|`Lr zp6te1_UKI&njPr{Uz*$pm4fsU6I9wr-g3?%>#+Pc>RmC^hvrP%U(4M^6h9r0LoUSy ztuE#785fvKVN`MB@a78s`&WWToTxG;{*Jq5i#_$yk)DU!QAVnyie0^H(eI@g=I4`3 z&JW{vwRd7p)R8)zmMy=Hx%w6{G-w%aZ>IV-+SJNAQni3e2=#TK+2f#sCBT1lJUoV5 zt*yP>{~4oC6;)0|lWmvXQ4sZgC%x9-sOWN^%Jq(9b6*}@@>x`U-un-qg9W+LcCFe^ ziIt5gPB_YoH!pdD^gh!Y+ICD>mrl(_^rUXWS;gR4E22C9ly0lm08K}D^G2V7Nl%QK zc4e{MECk2<(&vMy59@UMbX*D#_sEP<7M~;!tSU3)UT{OB5dIsSBFHN8l0Q=4kN-7- z6PJ8GdH*HmNrTfPHMo^3D{pbcY^QCU7K&I+S*qr=R`;v+*6tZ9Znl8Q<>;s^F(0N* zqwI$hrGmlHS%WN_Mjs^QM5CmB%%r2RBl9q6m1zlB6qY#LBlF@lQ>FvshP6kP4k`>- z5}o&J=H=@O7~Yb}`y%f^{L*?d$)>rbks-kPuP@_1b|&_)_wg{kpX`6{ebq3W%p zx_qKFUIb|Y>5@>or5hxrQ@ZO*gLH!;-Hmj2r+{>KHwe<5(s_s9Ip?l>`OoEI@xC+f z%4!M z94{8EE=#PM++;hlZo=BvWTkOzn6)c|=~DH!ssLe8k%G^ep`KYyi;7M0yO-g*WdYO@ z?+47!X_UL#Y+AG&$36snspju(E&s({z2z9Nmm#$XLJY@u|GH6K>{_8im|%7)$6u`> zVt=kD#Y*{^d&LkUs$2U3A@cVA#$97hhu{he9X{sU!K}ZFBr@9qyiWD&`@iM34 zciF!%_|aV;*HE7(I(GN=Y*N+iJjl)HiHhB*`Fn3C^)GmJA!yY&T^thN7R&B4Ja6q;{S2`p79*k59}R@# z+f>YFPW`9(=%tG~2N*qle@S-pwOR2dBRG`#O3|&O#{+e9cUkAddSHrxN}yj_c6EB# zxu`ILA~-&uf>4ZkV%O@WQ2%YROc(PhCC~G zC$7<#86U>d68gTtm+%;B9QSg8bP3NWZ!GQLNg5ds2s6eO)KylV%4*LFQL1yChswCpV+ljh=KVIPQuyPzTNY@|Fxq@J-WeMTLN2C}E35ET zu6cQj-Jv_Ps7H5mD>QAgq0G4n=_&hIVcZbJWP;M}L8QvD1vQs(*C$T(v^3d3kLEnM z=Q@Uzl|S5Rgood;DGdE-E{3}oH`PfBetREZpBt_i!Jetles;I|m_VSBfv*{hDKm!L zSDjN;`}6K%x40I;9fEa5(J_T0+WyglBhJ#i$kIRtvVdyB7IV@Y&+!&L+$*dn3JP>4Z}~B8 zDirWO-}K7m;T9+d^5BKv#43(a54j(le@gZlttq&!JQs#|pQn-i-r|Cgw|d@jpUcW# z@Y3^Q427B)e^xW`rj`$dZ0B$L-=!}|df8u6=X@*|;17$&2&NGGC;&H|2g`yad{F(P zc*846GK;-vZHuPk(!68%Lcv{A-5PQ@b+98xG@pb|s2+{25&N#aA0ey2|6>eURnhhKeC|0?AdsGK!IMpI(r-)WxFG(!6yt_shULyo1Qjx@(!X67dC zqJwma{`ZwkR1dAgpLA_K>fy)HGj!F|9(pM+r|073)FPqs>&ogk^p7H5Qm#4{#R2j-$oKU?0>}erHFET}%1{82kZbsb@~by5ld&qPhg@B{dCpLGp%BF| z7II;yN6mG;vS6gHfr?ZOOVXSeH1?-S4xUcbjy0c>yPAVNo01#omZFj{g~o35TQofu zD+TBKBHV9pcoGN$^ZZx{3SiX=;Ab*VlL;i`FDj(b%0>|ka^VbjjcHzWX>xmW z%nfOrWmQZ!8QX?fHgr$bcXco<7GHEMUXwBSrEf=?+_18c1r5zmKC$aB&MOi}+Oqsx z-$Q&-w|JYdua}0UkOpK%#F~klV=`#PQpn{}Xa*2C=Gccy-`CemYUA`~*jLs$aam?5 zxV;jHnN**r^Lo|tMJJ?V_>OED{z6>Z+%V{*O|d9uO?&W|lr`T|X(puvO&pxQdS(gN zBBAmc%_)1hb%J*?koWpCvU+DrHv5$Lf3Ku0RL}gkwgA)gw5k6&FBI?I*qnHjx6cK( zQIJRY58va-E7ZABeSh=1y@^Y6^vj}GVPBZ&yHb(}z3*>Eqha8N@mP5V5AbWKiv+kU z1qLFc*Y#2ev}4f~W6|a0k&ETeN~DmB2i_Rv!!lz$R>qL)-QTlPRcB2+JGjex2^o7q z^u2sZ5^%HRHNRi zrer82;j6~(_eoqD=esc@eZYjtkhC9LkyKaCAXJVeUOcTSyU1)JU%i_q6^EEvYj#z% z?oUBmj{C57?H007APhx3rM@jJsgLp+taPccnTr=!F@c?-glECXsm$dnCFMSk=f9qh z{x{!CU}0H45v4=jPSr24wV%ZhCeMvh5bi_asph$~t9K>Oi?(lR~li8Hb~tfuk9Vp_Gm_On>(i zW0QEpRxfp3BaKiykw`NUV^Aj4AisNDxpRPS+O0Q|8)AOB+>u2pD9FTF(NGvPkhwv2 z@2{>{)8lNrjH}mWIz*{6uUx93CAQ9lEjZ2!#vU{ufxJUr#oSKVuL+?I>VCT6IznBS zji0VrfUcR6qL7ilmXZN$C|HQO76=jda6I{0pq%}R`#Ozm)sL3XHW4o1{YyL zO>u7_qk;Q}h1Fp}@&n&59?VKVMkEn@!99`wtiui#Bi4QD-RAUF5)Axl1kv@{jKdqF zb)#L1#pT2BSD5lCva2@kB}dRM|7Z6>1b2lUnR5mddy!+rx*v_2|K>917oUrP zb9X&A;lOF{>#|4#kLX~`(zIu_SY5L6a1ThrZ|v9A^fBm zT_*D;e}~d@G^l7G2$DUVjHi%-^(Et7*j69ULyf$a%-_pD$m(JoWW2;f(#G4AMs76f zZqDMnma*8yXro7Ea*>&)z0-N(6R{sE8}#XE;*zlZuzS2Neko$4W_1fZOkBkinlxOJ z`_a}+oe5oFlyWV67~sg)0&Pg(XO|JoC^FgZLRycnaytxo4XCj?qOH%*9c> zo`*v_t$M~C3OC9Xou&ww#O$oh{YX!SK^Gk9?WQGdTt9q)t~R`R=t7@Ygk&+iHTZ}Z z9GU&A{om%V%^M2+`V@-a2a~?De<%M7cq4sDm#m3(R;c)F{w7_<*ep5e&?gd2VMG%N zx~3ItH@}oX!qbUVlEzPOeuR)`6kmKQrEcQ7I{Kr`nd6DyKziF(I0Hyyl4 zYsi$L-HBwl7c3NZLn?0nnx6uLPR0<&)A9Mba`Mm)xgfmRxOlx*WXijwsjjL012L8{ z*{RS4@lh(lk!O^(V5)G`e|2pbP;1#93_kMAd1??=|7(_aETQOKZ{6d6DTQ1Rsk*-A z*x=dxK>&eHrv2Qoc=AW_Bup_YbdtYfm~W8p&+GTZk$-G6TtFaoTNe6?7%eo`t8)G4 zUEC*kL#PCTh^=m;o+SThZ>l2k)Mvs%Zp%adMX7=#cMdkOMC<)oi+?i>+$=diz=Se} zqhrjC!l1YMf(9dS2s8SEq!thc4~mD9E=|ywPB7E>Zo1(V?-?xWUoV)dYI4pMm8bE_ znymXZ`k=ipq6y$@)xjhQ@RI66GO~2&q@8-8n}peS=&J0*E9Ht#A__F=;YbY{K`I$T z>N(G;Y(`V}HZ(7+=&BNd>&&({>a&zH*5bG9^xD84ouwm58Tf5ASF5n4yqy}4gYOra z&w23Cx_+RmL3-rBG_eh&iHa&2p|sNf@Me07qQ}(wzg8qBT^)Xl2yMKJMG5gs+CV87 zX)dvKw1{r)Z7>fZ>$TO$Huz<$CRE7DPZyGe9iWn@pCQO{{-Mej4+1pZiQnRL4I7!& zbsbeK6k-ZCMy$X1HkYpVBOX8yR>zrt*LiLfD{jon;N7-=ty+q}mM>%Hlp0oNWIJ)t zJgo4B7Df&?6-vodm|a+4+*ap`erZSlb|n;b#1Xbm9$Gily#QKwv$vYWuA|tl2RnRL zqV%4eM^<+3?$a%_NU(H@IlnthR3gF&LoYeutj^0hwmEmN-n#o%co}|^HjMH}O*D#n zwEnGpe^ok>Z8pf1%qwj^t^NbQdB)sd?TNG4ROOk(6d|P?mhjn+Yb3DAG2qk5BJP)O<>u#Nf zcJT&r)7p^Z&)mDek{rtU7+H17F>qy%LU0$z~ z$%)@;5dy7VqelZ}o1ZFncI24|_^-+XzMmB92n_!2jFb0}dWWXcwx8#|e>4fhl%Pcz zX+RZhSDu(u#^E9kF-8#h?*j1K(`#R=M0URJ5^QlVYd46!j=8Fi_oQ2L@c3V$KngZ5 zRpK)hE&>V<8sYN{goTQRG^5s#&%T>-uW8ayl>~`$-3O(Q zL8q0X{D_Fn;_rcXEHOU`bGUxw?_Q`KhWIlrnhk%L^Y41 z0wZ>jOL|hpWsEl*=9N^RFqZrsEycEzf#CQL5l zXM((oxu0Spy(JIa?ze^JOAVVuiRyQyTW4Q4-d)z)L>qEeu;#qO%raMH6KWz*f7>Yn2olzB+pgjxYfjmv?}e2gcH;+yl)v@xTKE3oHbr+enuTuT4i_6 zD(L+Vwbg|_SkQ@^j-<%9N9EJ~c`c}79Z|3+7M(!N7yAiOg&Vi>)GX*Bn7Zd*7E6Kf zraUZl+UX3}mGi_}ixKV-e$JWZMq%P2&8k>|F4L+dkBWqvXfBIj=z#J1kN>7{mlHHD zaY0NB?A^TiT0RtzGdst|@i|45wynJPY1C1)|13zIj;tVXRBwE8>=x=QqwHQ(cT#rV z`e|#U16lqx%{w$zKJ;8iTJ_t~io+tPg@0K{i6Ze&h~oGzYkP0~S-&I8-_ej;k$D+KCH~IA0_sJ+B(-rw~RUlO`A=?6s4jlap9LbvM8JxXP!&?%wXEaU$yAg zUSFR7VRCdnPNr}3$nFfy^H`-9xKZ86oSXDY+*D;sWnnn==glcEB;{?Qzcz9b5=k(* zY7Ha<*Cz5m+GJmiqk%3>uohGlrNrzoRF$#LJDtuB8>!+i9y#72YCDs9?geM&6||_P zc{QHRGYZs|vEsJsdi87Vn2n!rydR2yH77>Wu;yLg4}`u2eMO2?Vnb)?Eig@Z;u{qb<` z$NpfdyqF}mTQD~FfC{&yQ_sT9Jg8EVP}9@%0W${B&JXN3j4dpZ0pd^|tQ#i~ZVKs` zL)>)va`@(Mk5$gjtRN4_jQwS;^tIrBZxh@&+cz4sq3H*V!5_cE|`95k%{ zIGv%)iOp$aYB=dw&9GOgaOS>Y46SG-Z@mf$>QGs8QWKli!_je3G&~YiDj6HvO;6PG z*7Z)B_^AQ9UhDJ1JHjM(`OL z>VgooF9LkG3m}x(R@c;kK1*OWq<#UH@dj#l3Vg{QDQoDds_5wwG~!KN?tM=;?T|3@ z%aR6bybqUWM7DQPHf9M1TC6aB-T9eY80GKDZ0U^l=JfTJ2okq!mlFt@vJ>{v)-SkY zn(oOZ*BE{%ICf=hIdgF88_{9*F28cMv99NqUVvDHr!?E|hxL$&GZAyBx=h!qWqS{n`#P*Cq>GT5c1r7@`}vQ%JYScV&K&o9jTr#>6hM?#aVUN&Fbwoe5LIdgokmxr-VhvW0wzn<>B z4h|p7>03cN_HTB_-`XKO+PUwTPo zSf)R%va#_Z*ZDw4chD1x%gD$GNFEOl_&!K7-ri5Z`SGU=5NnzWy?UxVzPND2GPbs| zQWt~zvJ^u?J(d+UG|acR>jTGS3=9lcl^pPE zzy$*jAAijR2<4zaPde163S|uq&`re+I@W*zSaWgk^78U47&t%*foI~>h3K1`@2#zU zUjcTEf`DSJg7)9|gROek2_R$@zsO2Sfi`Z?TfYMuWJ|9*Iy!*t0k|#H)YY{BJqJ(# z0Vr{I^6UTi*K`2gIYj9YXxGo|>3|CZ@I3_GXS-gYc^Y7F07#S*fGOUG0|CW1S`CI* zP+o*U2Lc7vA_08Xb0uRHh=GYqcZsIKM?7F2P)@S~SpJ4E0TS6STfj_k(6+Y$hK?C8cxF!HVV31%5g^$5X(ZcoINm zw*8lbc;Uwm7(1d`1plph3)v1}&iHJ~fB> z_Js8EH!g%6d2|#NqXFO)Xf^=)CVdeRfK5T4`yqfUnGXN_4%yt^PKb@QbcdPC*Z^&) z)CI@$RWMAPpsDd1AaJr(x`sxwxV(XdGav~ygXMbgKO!D5y`XWsy0(`5Edt>21M50m zCf$dNJxqbdV4#`+&`QuPw_@!#cLgIuIR!}06vCT8G7nJC<*PsHfh(;CPz(X=NnbL$ z5bHYs6FoIg4mlu_MkJ=Z&@ys(fEk&t4eAITDQSCC3O%@``9^yGZ^me*hrI{CwL<&w z_|ao)IJ%?&b+yHF@$xJ@7lEYo18&K1AKvL#F{ni+(A@w2eHNH>ZfHGqpH3 zm(8H_^_L%7*JaiH`zOmm$T8mbili=yJ8^9hirhVMrmmHj04$VxOm5 zDhr<%&Ds91_{2m`;8|452-azL2~YTdF}pl)r&KJ&BK6Ee_eeGe>Un#ZvL$@r6GOLjIi*itrlO$M=QYk-BJFG#d_ zUJG5B7Cxp%#zRD1Td;OghBz#K9#@NPf0-)NV(7<;;SQIgj433qhK+ABDxnBBZup|( zeM17HT1bPP-(!UBe^G4Tj0<&FwYj+oy4WL#`FVitSA_-g_fMbR1N%*#Q7~ z#UvyUm>gjb)=@xvZ1b`NXpmO{#Qt@#gTBaoBa^GM?~-j-i?xbqBqNk?wo*Wx6*2)w zha6Ir6pR?HZzaygPL}dh0fCYY`n&K)G7JRq-!AH9Ga7vM?NG{TV#5!{VW^RXuO4-* ztr>~uvyolgI(yfxcv0;@=+)K zCWPf0^lqPZj#UGxA}lh_U;lD-(5t*i19UZjTLh>_Pyf=PGf6-Zil0{6{(x4BK<;sR zE;|RVH#Y}2R<|#6E=#Jk{CqLGrKUHGynJ>^oTcs~YZkg}DK&X=Qc)v*N3tk0CxvEI zzn0mT>H!EcYnRS;KHV3bufWb{_R3r2gk>_KnuKfo+}AK(@yoacYLFzL?h0BSTaVE`($zgrn5 zzD;WVCsBNHeb&uM9M6Se_WCKppN;bER55JeZjcZrfw$xQZ%97XP;K!h zJyWTu5D0`$&WZ(ITYsvxivo75YbsvSj*b`L`}BE|pL%kLvOWT9$P8XKm8FT^j~yu_hO$uwZGsrprIaL%Ef1mA8j|z#j1ThDJ@mmn^h}Vru7*C`Yd#j=^RIP!P+JsJd%hwL!?`|0HST`FW#iw6szmCN1q|*%XE5~>QY(uZr z4Sg9nxV)N>xr_sBj>@t*4Wao4gCp8Mmv=n9a3x`vP6(Ec!?P6$KgV)P81IV;ht!&1 zoq8+))y%=Tu8NAkS{>TfmuXj^*wXVk?$ZC*(9odJx&W+7fto~t9vHO}11{$QFCK^h z2*v!sss*QMmYjmLr!a}HA&+JqnE$PvoedQ)gvGWO#~EZnMHkow;CuK&ec1yJV0|U6 z`j47tbfED*U(jr5WJK)Muf51#s9nLA<=DL|@uV?Dbn?fHe#S`My6a%*NPpvpNG@07 zmg_A!7dPyJY5%FcrBpC|G?oSsiB{qU`eh=@>7 zLqJ9bif5vXXSGjDv6nD8ayDbDzIAn%AVAo21Y4Sm2b$Ebq9C3z@I;yT#SVP(z%B}U z_P=yfc~$|Z9Y7@}0-j@HWU~dh3|JXq2D`}W2fWlUl8eiIzHh)xpex0krs7bn?Fd_=lM>my(!L^vZzxMSZO9P zQ&ddo+e_BX-oF+gma&(VmX4~0^j~nWe+oKfV{!IHmnH0=p72(C3`PG@{mp;?|4T9Q zuy+2pe=g}@K}r3ovH>cn&D>=Jc@WT@Wp`Zx;lWw)ReW4rB_j+wCud*D$3pPw>z8zE&Cn4l3ZhN!!onIQe$ZNxiN_3G_7~WM zofWUX3l}GQivSkai@SpEr9+nd9MFoN3D0HOiW-C~;ECyd1jcm9E5pcMW$T-pR(5cY zfU*e08W0`*sFW1oE&-yBq2$+}d|&`1lX>5=7%667YVyZQ(;)}vVs42+z1))PWem|~ zI3?Vol?Z(J?ScGL($pNoOt#IUnK{HlmSRHUb#-tSMTaqAhhtIco3Wd!$(jY4618K} zWOekg`e;Ng$$Tx@@L|BOnW;V7o#>ZwGjr(*`H7#Db-{we%rd>nRmmmIR4 zfLvw7xlavJwX2|hnyGO-num#@sUH~?rO8?dJ6 z#RAmDnVA-^dz_5%WgsjrEiD}shTKr-{z_}|8$y&;lPr+{hSw2xHR zK2jH7S|YW?XcCJ}%~MQE0wf`ykO8q5OW8=-hzyez+8rGsU#pBB%Ouy>-!BIG@#0Hd ze2*wSh$gTcWC@R{Ee#+LYeOsR1_QK#d5fCX*K?amMo+B{Ygnqvnrg{9@rhsb6#XJW zT6zG^ozkd@4&^lU*7V}h} zxpsIM=8R&$GfLE4%mBo6SV&s{)9^KiaeNFEe-y(_jW_7*1tDH<9^$ZnsBFP{Gz}n) zt|fDfTKzc22|=GRgXt+;N>WE@jfgdS{WD8#Xq+*#i>{g#fdvC@+6x*IWf zgpl6cIL3cCV{B~GY)-f^pIj;D^}RnXx~n{u%TEP+1}k3```Nc31Liaq zyznCksCP4uSNC0(87jTIfEnudL_**IfT{wD4J1sQ!bx~4FA8S>kEpO%2YH(rSWywt5Nm?5LQnjujK~grh3y}7=?H@WZeb3HKO?{`k%XSfN z2^`6RG8#Bxbd?Zf$%b5^Ry!T2f?;vw0r#pPF7><)0XriHSUzC`#?y1to}*(C$XSWo z#(n<962Yg{^7#bi^|@?(HKE2HA=4ne78;t(ik3tyNeUI!mPe*AO^z#WAG@85rCm)-$Ek@#HHZrRkQikZnnDu1*=Rwq=@D3%B zD&K|@__Bg<0t2D>PaN#z><=Hp49%<{;w+rZB3TJmhT|xHc^|Cg$`U7bsCbUjnRyYhx&=;+Pm3`r`6*^AHl? z;|C}D4ErEgn=wg9NYrwPL_$9TT*ml(IUr!F)xl8M1LqwMPgu{SpW8C^yKY(UX6pn3*GxUD|p591ENC2I%+lBw`-QoH=*zjL` zv;YAd-FBkY&+m0ZITRGQXS~i-i$5eU+ezh%fYf#@5BnKg$dJWSzs6MV8cAR)4z6OJ z2$OiPTx6V0(PMQSM$<%VFIFXhhg5C;-AVG*B|b@Ic3e(^AAXLwx|ME?zbI)6K~ge7 ztOU8TFTTG;#5#RPTu?DhK4kkfCXJA;+r+JgWYx|3t6g{&7M2$yB)5MM9UUD9hkw8o zHJjdF{y+g#Bf&AI2oV2Boh6G^`W?XawDq3q&no(Xor$b%;*#4J+Pb}rL&fqxpdJKR z8o=)v!kdDjsvCf4prS1(eJ9`~ixQTIbf44{~K@LsQ zsIUfNO0)TZ0E%jFH7F=DKS@!cF9E=Gju-g)QrW)o1bfiz(%Wy|KyY^5FBzfL-d888 zyEr%<1hEiiC&Q4HAuOlLjFJ?E?wIxyCRZAfVF;pR>4g4}%1XAvV+c!fpya!2E)+I= zdbg=iO3F-gQ}za}AiMCdY7AnyzF#(7^3weLbT`(PI#RGG1$rUdhn^VW#Y!d9yM{IA z$dk2Dc&LX;P|gKVgA#dN(iFgqU|IM1Ek6Zn{s63!@)TkN49iM+Pd(h-vu%F6hg`oP zg39x88EZg7mU&0wwxXWsd-y_*T^~*74^8xeS|kOoe6DMz8dZj{QY~P2^?n21&Gq7B zt1-6MO1sJtH(Z>9B|lloOw@su6(dQMG8tV0LcK_EQUw|Uq{E5$Zq9nh!hCP;hWi)e z{w~I4Cg*-j&TU_u{s=K&tn1>XdVJi0w3sXviXwIVw1R~ARsxbF&3ChqCT20W1SvM= zD$0~IhtXP6j9sVaGuy9F-+;q2K{&X9VV;dV*0?@-P>JL|;syZ;D5(BNVmb~1a|^t( z|FrplQ~Qa1d2uoM(i<4vnuUT>zA7ZG+kH0K*B3g(Q1viT3x zcPX~KWDIJEC`+)uI0yTpiR83OETN!TJ9;ur4QVSQ6#<2sySuTMrmIsk2`g_kBYQ3j zO)e$Vin=M{SnU8?7YZ+ZVR+(vauh)|eMkkwIEG>(Oo}q9K6z>yXAp5LjCB!MoMa`_NoV@1&jx93Jei&ZJc^XL^RP0PFM-I+g~2JY%P^4+S>0f z!*F>32^Y8q#D<5DfGBROvI5)^OjHA?@yy*UCOxPaHv?lJU9&!r_V7HDBVQcB!fIT+ za=kjl*S);|)QB&3ntu=bqUpEd?3a>^!~Cm~@ODY)y~bOFFRU?D=viwVuviXQpNd3l z7>s=*iVx>s!8oT_myShtAz|(Vp6bHH@Szz!p#KK7SAQVXZLCtavv(iY!q=7it}*p1 zT82J2pIn(NCW$8a6KVE4X*Q~#F~O9g(kv!9tt*EEM#nl&Cq4l%nHffp;U0kN3W^`p zvE~*Q^@-Wudccnx$ncLI;xobQ0>TDZ;h;DqObD+5I9>u}+|%};B#(sz%jAN30KI@s zr}}q`2{2gLfI%|2XaI+Gu&Bk^Yxp>gyyO(XP6D?Hr=7TF4`msiiV6yqU@rmOS*)}d zxYFWkAHY{=@>QVz&rl$sq5e%15YiGe;Ek7IVabl^hrEud3dZjUGnUKIR1OZo_(1lI z_w}cRb_Q-=fAHPA%X<3W-yfI@KTg(sc%RGH`-@|x;=^nKTkpMc7*hh_^UBjzZrjt_ z6kb!RaD7=83Vi&@pw}Nd-uN5)A|_dh=VJ_;Q3g1e%KQ;$fy~COZGfWo1fY=so2Po< zUaVGe_m_n8zl#*IK?`uV1D)31)58u9{@$BASr0UBBOTI%^>yDw-W`xso0Wr2VPlKw zg{SlgSYsgS=!NDLKo_E zaP={I{0=PJMzC>b2B7ZDF3Xsr%1TN^vW~z( z42&GDqd#laR8^Uug{{vjJiJs-=HOF+cYWrT^Lf4wxGe&EJ119bSE>uol4@r_nJ8KD z86`o7Yab4Qzgg}FCU(0UJp$xzFKyy+2cxQo$hrZcR(Zxh-1=u1-4Rq&E(@vLr>EVz zziaM^pLm15km+Bv*D{z*jFo$(&)NkbV`3x7xaUY}xseQ!-=;63Pe9d0)zNf*4k8RWRi z(;0S1`HAanS3$I%E*S3YadVa@JN%ET=xJ=9ML>UnSzR(Ya^nxhXd3587&Qsy}y6k?`DWXeijOV2$~%k015XuH~m&#!^7v4-u|g+BZAk^)6=WP0!-iL z2Ur5AV!$xx1(%}_s^GHNB_q`SDh4HSFa%K+KZnO>v|P4CqA3{}*7b%m9DVDjVd*dW zn=Q;zQkNTi z(;8P-Nz#`E!jMZ-xaDwUsBu=jH@%=*p#JLsxYKYW`RMBEmP)RI?cDR~PyNCnas~c#&s3mn*;n=ni{f2rSBh%VqQm`XHcG<8=$uG+1;Hh z0Tc7k{^Tf!?oxyK;*hKKV;u|s?CPJVP3IC6O^aj`M^i(Is+#Y)y`PU9k+t& zBWBL7%7igSc&KkS(La9{W@c7`{S=gvT=uS@1q<`@!R0nHF)^`gqu0~ZlYBZ~2Qs)h z&O(D*=ysTd(PVylYWtq1qWsfOWjm={yVX3HmW=lm-3XG47d`)vaFjEW6QwwS%?0i>ace^nDvE zPO#oKX|U^~iIEK0YfY_v&~&n0NEnarPKpsnuY8^f{`cKZ;1^zA3(9>O1Ohk=nqRcE zO2F)aOVT-Ls80@FO#R-1>knMw8lwSu`^GRt?%pi?R9QUiQhJh4q;{=LBvnK!QPt*Ua<_{f8}QT^Dcmk#Vwk~VpYw>SEbC_~vyfYs^vvA!FtaDTp*_g8ySY}cW!=l zTf6m~>izS)BXLR>sD@U7C{N__ys2ACj#AQ(?jjoQZK*rdi$qAiKBC`N?hUymh`PBt`t6v2+OH{BY4AfG!)m3Puiq-9Zr+_j? z9TZA~fE?m5x~@-HBcxnK&R8k1Lza*dg?+JT5uPxdO0$D%qgPJ8bzlWq#m_jpQu3OjXO@VTr zDNLEX?k~vicH5i^*o6~FL3&h18u~@=!qzct>%a!%aZP8))IO_W68D*tdGs@JZ8D$X z{JZ+90p>LnSwa%^w_7I^13liogEw23WQ?ZuEzQkikL$WSq3~Z`?_gXw5hSxOqb6wR zX=PQ^sVfFC%`Oqq$#qr>Op^y1xRGq|r{!`NSPn_-mh>}4Cu(F>pFZ`(<`t1tE)E8` zc_6>&moD_KM&^=9<~7Rh48>+a;Q0^}`CqrBcXca{amr4Tc&WnFRHF1`iN!z6t60ua zd|vwP7G%{Zr6e5xt!@L8J&r{AQ@OO$<&OL+BFx8(uA`E7MuAK?YuYp;ElP&7Qi@mc z>+j&sp;L1LZN_K2ErtlR3{Auut9|)Cmkp>}3t8Js=xB1~tff~^K-{HOsU=j5J==@_ z?V+??40aD9|C})yzFWCaui)VH*f=()^5ob*95t-7B#=pQdK?1l7W~`<->pQpERN$@ zx^r}TGWHKgqREAxPO3ytDaOzQA$B7vTTEutDs@&3YHwgCJLJp%bK6tZjd~pYqo}{l z7V}hH8}*AOJ%UCzf+ig`NuWIGz3m}m#@jU3f6L$hh;f_mAy(l~5}Mp_2{zk7wtMF& z139!q6k+CPt4+XNkPp4l+)e zUmmo5?6pw6$H!eK_V_Jo1@T+H*zGi<{I+Z!G8{UoBAGWPn-qDltvW>?s5%97f-@35 z_Q_fKkBUnpQ3R3cqzwv9?$XLUCm)hP80B9XC>vXP(; zsT$hY4~!%$cGrhObA5BmCpvP--b2H|6>`B~&?_IhQ$GKaf4ukkTpIKS%V)?T=?zb> zRf9rSqQ&w)gM(4c<3BRqk`2-&vSXQZb1It@Mk@X*`V@y0AQ>w7ec)M17htQM0wr6>tQBWYgFi6*6qmWsj>CYp|J?vBELEqzz2Cw!hC zSFUhWGa|QoCs=bVSOxUOXjIGLiL(j-*xyIy_`a1FjXI(p=G$)6?OZMJ1ZwEeICMT6498U{e~v zp6$kCZ#kW0i2ODOfwuU)WG^S`(I}F4Aa((}HhrjjzuYj=8MhS0=~!}=y0%P`Ui%l* z+ky*McS%(fU8OE3*tWp@@6|If=md_nHQuECAKDI$UdHEJMvmUY{6T@xZ8eKvRyh|x z6^FL0jB8!CRNQ?@V4s{N5<-Yfl5uX4mCKoN_E=5vu$j2Q2i2r-gC3NM{dcAHP$i7* z79k~5M%A63Er%p0tn3)uf1{GS>W2LAHV^M0r;QRurb?HnyPIefRA(5B20@OIz8&rOrJ^F*TxW z2JH}kXkpFnwDaT<>piiq!1=`;Vj!XEyJvo{=jkWu`(HMH3JbdXI(SX0-&`+uVIfDR zTyLzxin`u(w;&4G)H$3-web`G>D|rX;Ud#gP7P_h@6ptY8|2|#>UoD;p!BkDj-!Is z8^kSXh+9PBfpSNZGFpn(=ax69&KGEQ=fPhuL+pJBuh&O@!(Xe?G5+K~tk|-Tq3vv5 zPn{xfEC?P=qU1JBhGyEqpi!LKD*i_mp1)UtOy_i1OHXMjEfn`>jj%$>Y?|gnv6q3n19b%hS{md z8L7wLlTJ@CjUTJ{4ILQEuhRW?kr+vOx|_HRN&T5ynTXhNOww``)0w{G=^7cI-`wn@ zV?TQMyHBpWz9168#Szuj9sb*+6m=~I`MPydF# ztZmZ1JVO&Ecm|w{MU5b@eFKM*1{WbA)Ta*A_d-|SJ5aq1Mg@dWE6A2t{C@N6y(c5% zGFl{D@=!ORRZS09*)fP;2zz+_%R`MjUuLneocQ)orE;SLf%D|;=M03zOnr~%_JURe zMsK^5M_I?qT4RdyDa_NY|IV%#51ro&MSryXAR})a-Ej7gvGq@g^bZL4-{Bn-;2ED_ zn?3V%-yQ|-=-M9hX;)--@EZ8mH_UJ8ECB;9ckAZ}ign>;Oe#Fa8E=wDJn*j&^KcFk%HwF}CcZ=tf*(&=|B`Pz9 zD>tybEoikqgva|k*B9Yqv1;!lbcL=?gi{H0tH!)Uh;&!DT?1;3Os{>s?z^Zvk>ebS4CkEmWH=|ASjH+O zXF4iR8BGa+%L{JZl~;CXc3d3I z+*;P4CVju<)VYPlh1sN#cr%atK_2j24_=d+m#gLlX~z$Fta?r%bV-ON4_DBW7wnLdb!Z~duxm`xIgco(cbC2PTm+O)>I4J%&(#5;3W zorYu8{dCg4eFa!Jr*7qhTo;xM+XgP#X8-y0Qe({pz4udk!;6;BS83(xI?2Um+B`Eg zJSdfi&<@-fGyU&L&-nR>IJ-^P?G}^7OV`DDAgOCjeSc{_0#&-wG#QZZ?sO|J^EF-b z;h{n}FLE=+dhOj#jld>9fZglTCSW4b#2qWmwymN=?E>4bRj*HI*)eAOa7a64ep71m5U&+hlh=@(|UNN9#(D;rqsht8_X>7H4S8VAFJ=) z?>P$|+*cHv=7G?)T)nDo)qUf-$5el+72t~jdEJ;bAuW87l3aeOp=!Y?Kk3x<%7iMy z#oMZ-Qtrmrw;%m@=9yF)v$%NRu%ySfy9d_Zvsc2mm27XA)ryWc7+;2W^I?)f+h(w7 zGsL>t&RVkH^j{6TsTcg0<&tHsZ!**L6)tsgt~HxnYc^}Z8h;2VMD~|!0H02C8_?-m zESx313`ppUEPET(=fM3>qoPGo3_|fqQ`NKbWwZoQ_kbE+YaGtS=v)iu&eDbi9q>tM z_9f3UTB3i$QUCfE0kW2cxg$hgK(^1^D~AD{vXyIt(#7R;sshd}Tl5N~J-t_y;D?$fKI{FZ5yrDUhf%_PU^?;M#j9^G}0 zbdFWV*|~-lNDF*Im{1Z><9l62Bs3p1NOlBanL1^`v#xVv$+4wIy$?B{$@+T_Y6qQ| zYiu6%Q0pbFfCU|86;2+0{wI+rZ{$f_T50Ld1&P~tF8ke1;P>wlK1^Yd+ zCj9v|7!nPTc+PLq`1^QaqN^|{cJzSFDff%mNyZnD=(!oWas2!?N9f=)efB(llm#5? zfH}Xu2*jDPNWSh636>O&uN7RW3U!E-qb{W*y^mjD%(@7pKb?KC{pEIzd^+I`vsc&F zaEC1$GJtn-ff$LXmvbL$ylh$MMiRCv=iHRNzS$%osSA%QXPhe+hYzB6H zN!GGY55)Kcykh0SH;$EvVb9{(5l3(kz(=p(8yK6g8t1!M{buDsr(d+o$V**b>8t47 zHq6*wY$wvENI}Wa){q>2(>)^X=#P_>#PBn!iuvav!bCx?%>2cYz&xxgC}k*z06}GFw+Ig_DClQk%00Y=zPUhB=_RMzvsbar!zwC~xQCXJ7x^8TQ) zl$g~0e4Qf}GIChf0os(m3M$j4VyHQ}{5=WT;;3i_@AK3ZKYGC|ROXUo^FTF_R!4zq zcg?CpOStAVPEBdVcHd(}USN(fh!99MmF>dTF|109s_$1swhcwsZ)}X|J0C{`e9hZQ z9DBB-9hf|o`%T2v9zRM7$^L{lpG%)B;Ab+R8bZ;?qUbUuphEhYd&<>B(F@Kgsg3s%;{u3ZfU_7dob!}m}mt`j|yvpoHt6L5v5C!8kiU~derBkSS zK?whqtBkuV>!jkS8)P_A^`byW=QTqdWiNFuf`!BD^D>{*}dBk!hi zPpS5ByTjxVy!|!rJVo=2;lWt}3^W{TgV7XiVZ?M}!L`;${LxI7n^n$O`NtWCL8BvO z0PIWt<(1Lsiaq5Z5nLPU3ZNY!qJ-2bZ}C|D;1d+M*2_7sMO>ZPSH+z!g^U5UJ2!4< z@D?T>Kf_isyKQ(xG+HwY%CNON&#}kFJR7qr$oL!Rh=m2Qz3-;w?wZEN(hPA{UZOLk zN6?*-7b<>8zX60X^Kh!_A20(IdD|Uo=K=YbAyrwSXIwp&>o>bpX}gPh5IDID3!LRB z?ZTW_(6N)F>_Vt_6?@Vds?4R=F#kbQ@b6Q66 zm;RZkHiCFoi{3VVI)SyWF(R|o+Ft>aB(mW}MCM;G{uyPm>`P?!R2I+hP{xN~{!wiO z<$v-uMbf2I4GB4yZ&STuUlT321ee%(t8nSQUZqp0c~QLsZxxA)2o(0!&i{Okc{1Z|Kin+Eug(r*MVX@+B5dh1I>U}i5h1Objde}~ErZ5Z=b zRZeXab)Mt#W%a7mx-dc~F)FnRKj&2mvJWJ@J+>y{BD1Tt4{b;Fa?hx|C`q|4d?pk& zRetS6dh)boZGVLpzuy;!B#EEq#Pi1Sx@?*s{unccJT>uD{1yn>%YPAik!Wv8@YqTP zTeGDrdx-M~HxW_I&9Wk2R6=6tEnV0Qs5n*v$P_r1-x{||$ur3LzmmV>qq&RNsQNJt z87`uZp9wOoTI}XXj!(w+s2|onEd*2W@Q}8&tM|Xi0Zm4OB%V7rZdm56K?YQNM{W;w z@7zH9dR>J_GyLPuX4dqVdlsOS4$y3I{ZRfqV(Xgt4R{v8i1pGUK&_ZPU#hbJeYZBP wDGh;VIb+=@;9ASRTDJ$panb*uF*B_tM<>_f&1#I@x=!59+2i<=qvx*u7dr6S)&Kwi literal 0 HcmV?d00001 diff --git a/doc/index.md b/doc/index.md index 7c41d15e2..4c9abe9b9 100644 --- a/doc/index.md +++ b/doc/index.md @@ -19,7 +19,7 @@ The best way to get started to learn xgboost is by the examples. There are three After you gets familiar with the interface, checkout the following additional resources * [Frequently Asked Questions](faq.md) -* [Learning what is in Behind: Introduction to Boosted Trees](http://homes.cs.washington.edu/~tqchen/pdf/BoostedTree.pdf) +* [Learning what is in Behind: Introduction to Boosted Trees](model.md) * [User Guide](#user-guide) contains comprehensive list of documents of xgboost. * [Developer Guide](dev-guide/contribute.md) @@ -38,6 +38,7 @@ are great resources to learn xgboost by real examples. If you think you have som * [Understanding XGBoost Model on Otto Dataset](../demo/kaggle-otto/understandingXGBoostModel.Rmd) (R package) - This tutorial teaches you how to use xgboost to compete kaggle otto challenge. + Highlight Solutions ------------------- This section is about blogposts, presentation and videos discussing how to use xgboost to solve your interesting problem. If you think something belongs to here, send a pull request. @@ -51,7 +52,7 @@ This section is about blogposts, presentation and videos discussing how to use x User Guide ---------- * [Frequently Asked Questions](faq.md) -* [Introduction to Boosted Trees](http://homes.cs.washington.edu/~tqchen/pdf/BoostedTree.pdf) +* [Introduction to the model behind XGBoost](model.md) * [Using XGBoost in Python](python/python_intro.md) * [Using XGBoost in R](../R-package/vignettes/xgboostPresentation.Rmd) * [Learning to use XGBoost by Example](../demo) @@ -61,7 +62,6 @@ User Guide * [Parameters](parameter.md) * [Notes on Parameter Tunning](param_tuning.md) - Developer Guide --------------- * [Developer Guide](dev-guide/contribute.md) @@ -69,4 +69,3 @@ Developer Guide API Reference ------------- * [Python API Reference](python/python_api.rst) - diff --git a/doc/model.md b/doc/model.md index aa42f7272..589b8c5af 100644 --- a/doc/model.md +++ b/doc/model.md @@ -1,188 +1,233 @@ -Introduction to the Model of XGBoost -========================= +Introduction to Boosted Trees +============================= +XGBoost is short for "Extreme Gradient Boosting", where the term "Gradient Boosting" is proposed in the paper _Greedy Function Approximation: A Gradient Boosting Machine_, Friedman. Based on this original model. This is a tutorial on boosted trees, most of content are based on this [slide](http://homes.cs.washington.edu/~tqchen/pdf/BoostedTree.pdf) by the author of xgboost. -## The Origin +The GBM(boosted trees) has been around for really a while, and there are a lot of materials on the topic. This tutorial tries to explain boosted trees in a self-contained and principled way of supervised learning. We think this explaination is cleaner, more formal, and motivates the variant used in xgboost. -XGBoost is short for "Extreme Gradient Boosting", where the term "Gradient Boosting" is proposed in the paper _Greedy Function Approximation: A Gradient Boosting Machine_, Friedman. Based on this original model, we incoporated several modifications to make it faster and more robust. +Elements of Supervised Learning +------------------------------- +XGBoost is used for supervised learning problems, where we use the training data ``$ x_i $`` to predict a target variable ``$ y_i $``. +Before we get dived into trees, let us start from reviwing the basic elements in supervised learning. -## The General Problem +### Model and Parameters +The ***model*** in supervised learning usually refers to the mathematical structure on how to given the prediction ``$ y_i $`` given ``$ x_i $``. +For example, a common model is *linear model*, where the prediction is given by ``$ \hat{y}_i = \sum_j w_j x_{ij} $``, a linear combination of weighted input features. +The prediction value can have different interpretations, depending on the task. +For example, it can be logistic transformed to get the probability of postitive class in logistic regression, it can also be used as ranking score when we want to rank the outputs. -### Supervised Model +The ***parameters*** are the undermined part that we need to learn from data. In linear regression problem, the parameters are the co-efficients ``$ w $``. +Usually we will use ``$ \Theta $`` to denote the parameters. -XGBoost is used for supervised learning problems, where we use the training data ``$ x_i $`` to predict a target variable ``$ y_i $``. Our model is a mathematical structure that captures the pattern from the training data. Given the structure, we need to learn the best parameters ``$ \Theta $`` in the model. +### Object Function : Training Loss + Regularization -### Loss Function +Based on different understanding or assumption of ``$ y_i $``, we can have different problems as regression, classification, ordering, etc. +We need to find a way to find the best parameters given the training data. In order to do so, we need to define a so called ***objective function***, +to measure the performance of the model under certain set of parameters. -Based on different understanding or assumption of ``$ y_i $``, we can have different problems as regression, classification, ordering, etc. To model different problems, we use a so-called `loss function` to describe how good is our model's performance. The function usually takes two parameters: the true value ``$ y_i $`` and the prediction ``$ \hat{y}_i $``. For example, we can use Rooted Mean Squared Error (RMSE) +A very important about objective functions, is they ***must always*** contains two parts: training loss and regularization. -`` `math -l(y_i, \hat{y}_i) = (y_i-\hat{y}_i)^2 -`` ` - -for a regression problem, and logistic loss function - -`` `math -l(y_i, \hat{y}_i) = y_i\ln (1+e^{-\hat{y}_i}) + (1-y_i)\ln (1+e^{\hat{y}_i}) -`` ` - -for a classification problem. - -### Regularization - -Besides we need to control the complexity of our model. A model achieving a perfect loss function score on the training dataset is overfitting it, which means it not only captures the useful pattern, but also the outliers, noise and the specific pattern in the training data. Controlling the complexity can make the model focus on more important and general pattern rather than the unnecessary details. - -### Optimize the Objective - -Combining the loss function and the regularization, we have our objective for the supervised learning model as - -`` `math +```math Obj(\Theta) = L(\Theta) + \Omega(\Theta) -`` ` +``` -where ``$ L $`` is the loss function, and ``$ \Omega $`` is the regularization term. The first one is making our model being accurate, while the second one is preventing our model being overfitting. We want to have a balance between these two parts when optimizing the objective. The optimization algorithm depends on the structure of our model. The following content will introduce the details. +where ``$ L $`` is the training loss function, and ``$ \Omega $`` is the regularization term. The training loss measures how *predictive* our model is on training data. +For example, a commonly used training loss is mean squared error. -## Boosting Trees Model +```math +L(\Theta) = \sum_i (y_i-\hat{y}_i)^2 +``` +Another commonly used loss function is logistic loss for logistic regression -### Classification and Regression Tree +```math +L(\theta) = \sum_i[ y_i\ln (1+e^{-\hat{y}_i}) + (1-y_i)\ln (1+e^{\hat{y}_i})] +``` -The boosting trees model is a set of classification and regression trees. Here's a simple example of such a model: +The ***regularization term*** is usually people forget to add. The regularization term controls the complexity of the model, this helps us to avoid overfitting. +This sounds a bit abstract, let us consider the following problem in the following picture. You are asked to *fit* visually a step function given the input data points +on the upper left corner of the image, which solution among the tree you think is the best fit? + +![Step function](img/step_fit.png) + +The answer is already marked as red. Please think if it is reasonable to you visually. The general principle is we want a ***simple*** and ***predictive*** model. +The tradeoff between the two is also referred as bias-variance tradeoff in machine learning. + + +### Why introduce the general principle +The elements introduced in above forms the basic elements of supervised learning, and they are naturally the building blocks of machine learning toolkits. +For example, you should be able to answer what is the difference and common parts between boosted trees and random forest. +Understanding the process in a formalized way also helps us to understand the objective what we are learning and getting the reason behind the heurestics such as +pruning and smoothing. + +Tree Ensemble +------------- +Now we have introduce the elements of supervised learning, let us getting started with real trees. +To begin with, let us first learn what is the ***model*** of xgboost: tree ensembles. +The tree ensemble model is a set of classification and regression trees (CART). Here's a simple example of a CART +that classifies is someone will like computer games. ![CART](img/cart.png) We classify the members in thie family into different leaves, and assign them the score on corresponding leaf. +A CART is a bit different from decision trees, where the leaf only contain decision values. In CART, a real score +is associated with each of the leaves, this allows gives us richer interpretations that go beyond classification. +This also makes the unified optimization step easier, as we will see in later part of this tutorial. -### Tree Ensemble - -However a single CART model is not so strong in practice. How about predict with more trees? +Usually, a single tree is not so strong enough to be used in practice. What is actually used is the so called +tree ensemble model, that sumes the prediction of multiple trees together. ![TwoCART](img/twocart.png) -Now we are predicting with two trees, by predict on each tree individually and then sum the scores up. Mathematically, we can write our model into the form +Here is an example of tree ensemble of two trees. The prediction scores of each individual tree are summed up to get the final score. +If you look at the example, an important fact is that the two trees tries to *complement* each other. +Mathematically, we can write our model into the form -`` `math +```math \hat{y}_i = \sum_{k=1}^K f_k(x_i), f_k \in F -`` ` +``` where ``$ f $`` is a function in the functional space ``$ F $``, and ``$ F $`` is the set of all possible CARTs. Therefore our objective to optimize can be written as -`` `math +```math obj(\Theta) = \sum_i^n l(y_i, \hat{y}_i) + \sum_{k=1}^K \Omega(f_k) -`` ` +``` + +Now here comes the question, what is the *model* of random forest? It is exactly tree ensembles! So random forest and boosted trees are not different in terms of model, +the difference is how we train them. This means if you write a predictive service of tree ensembles, you only need to write one of them and they should directly work +for both random forest and boosted trees. One example of elements of supervised learning rocks. + +Tree Boosting +------------- +After introducing the model, let us begin with the real training part. How should we learn the trees? +The answer is, as is always for all supervised learning models: *define an objective function, and optimize it*! + +Assume we have the following objective function (remember it always need to contain training loss, and regularization) +```math +Obj = \sum_{i=1}^n l(y_i, \hat{y}_i^{(t)}) + \sum_{i=1}^t\Omega(f_i) \\ +``` ### Additive Training -It is not easy to train all the trees at once. Instead, we use the strategy to train them in a sequence so that everytime we train one CART and add it to the model. We note the prediction value at step `t` by ``$ \hat{y}_i^{(t)}$``, so we have +First thing we want to ask is what are ***parameters*** of trees. You can find what we need to learn are those functions ``$f_i$``, with each contains the structure +of the tree, and the leaf score. This is much harder than traditional optimization problem where you can take the gradient and go. +It is not easy to train all the trees at once. +Instead, we use an additive strategy: fix what we have learned, add a new tree at a time. +We note the prediction value at step `t` by ``$ \hat{y}_i^{(t)}$``, so we have -`` `math +```math \hat{y}_i^{(0)} = 0\\ \hat{y}_i^{(1)} = f_1(x_i) = \hat{y}_i^{(0)} + f_1(x_i)\\ \hat{y}_i^{(2)} = f_1(x_i) + f_2(x_i)= \hat{y}_i^{(1)} + f_2(x_i)\\ \dots\\ \hat{y}_i^{(t)} = \sum_{k=1}^t f_k(x_i)= \hat{y}_i^{(t-1)} + f_t(x_i) -`` ` +``` -Which CART do we want at each step? Of course we want to add the one that minimize our objective. +It remains to ask Which tree do we want at each step? A natural thing is to add the one that optimizes our objective. -`` `math +```math Obj^{(t)} & = \sum_{i=1}^n l(y_i, \hat{y}_i^{(t)}) + \sum_{i=1}^t\Omega(f_i) \\ & = \sum_{i=1}^n l(y_i, \hat{y}_i^{(t-1)} + f_t(x_i)) + \Omega(f_t) + constant -`` ` +``` -Let's consider using RMSE as our loss function +If we consider using MSE as our loss function, it becomes the following form. -`` `math +```math Obj^{(t)} & = \sum_{i=1}^n (y_i - (\hat{y}_i^{(t-1)} + f_t(x_i)))^2 + \sum_{i=1}^t\Omega(f_i) \\ & = \sum_{i=1}^n [2(\hat{y}_i^{(t-1)} - y_i)f_t(x_i) + f_t(x_i)^2] + \Omega(f_t) + constant -`` ` +``` -The form of RMSE is friendly. But other loss functions could be tricky to expand. For convenience we calculate the Taylor expansion of the loss function up to the second order +The form of MSE is friendly, with a first order term (usually called residual) and a quadratic term. +For other loss of interest (for example, logistic loss), it is not so easy to get such a nice form. +So in general case, we take the Taylor expansion of the loss function up to the second order -`` `math +```math Obj^{(t)} = \sum_{i=1}^n [l(y_i, \hat{y}_i^{(t-1)}) + g_i f_t(x_i) + \frac{1}{2} h_i f_t^2(x_i)] + \Omega(f_t) + constant -`` ` +``` +where the ``$g_i$`` and ``$h_i$`` are defined as -where - -`` `math +```math g_i &= \partial_{\hat{y}_i^{(t)}} l(y_i, \hat{y}_i^{(t-1)})\\ h_i &= \partial_{\hat{y}_i^{(t)}}^2 l(y_i, \hat{y}_i^{(t-1)}) -`` ` +``` -So we can remove all the constant at the t-th step and the specific objective is - -`` `math +After we remove all the constants, the specific objective at t step becomes +```math \sum_{i=1}^n [g_i f_t(x_i) + \frac{1}{2} h_i f_t^2(x_i)] + \Omega(f_t) -`` ` +``` -One of the benifit of this definition is as long as the loss function has the first and second order derivative, we can optimized every loss function within the same framework. +This becomes our optimization goal for the new tree. One important advantage of this definition, is that +it only depends on ``$g_i$`` and ``$h_i$``, this is how xgboost allows support of customization of loss functions. +We can optimized every loss function, including logistic regression, weighted logistic regression, using the exactly +the same solver that takes ``$g_i$`` and ``$h_i$`` as input! ### Model Complexity +We have introduced the training step, but wait, there is one important thing, the ***regularization***! +We need to define the complexity of the tree ``$\Omega(f)$``. In order to do so, let us first refine the definition of the tree a tree ``$ f(x) $`` as -We have introduced the details in the loss function, next we talk about the regularization term. We want to control the complexity of a tree, thus we need to define it first. We define a tree ``$ f(x) $`` as +```math +f_t(x) = w_{q(x)}, w \in R^T, q:R^d\rightarrow \{1,2,\cdots,T\} . +``` -`` `math -f_t(x) = w_{q(x)}, w\inR^T, q:R^d\rightarrow \{1,2,\cdots,T\} -`` ` +Here ``$ w $`` is the vector of scores on leaves, ``$ q $`` is a function assigning each data point to the corresponding leaf and``$ T $`` is the number of leaves. +In XGBoost, we define the complexity as -where ``$ w $`` is the vector of scores on leaves, ``$ q $`` is a function assigning each data point to the corresponding leaf and ``$ T $`` is the number of leaves. In XGBoost, we define the complexity as - -`` `math +```math \Omega(f) = \gamma T + \frac{1}{2}\lambda \sum_{j=1}^T w_j^2 -`` ` +``` +Of course there is more than one way to define the complexity, but this specific one works well in practice. The regularization is one part most tree packages takes +less carefully, or simply ignore. This was due to the traditional treatment tree learning only emphasize improving impurity, while the complexity control part +are more lies as part of heuristics. By defining it formally, we can get a better idea of what we are learning, and yes it works well in practice. -It is possible to define other form of regularization terms, but this one works well in practice. -### Get the best score on leaf +### The Structure Score -Now we have the objective value with the ``$ t $``-th tree added: +Here is the magical part of the derivation. After reformalizing the tree model, we can write the objective value with the ``$ t $``-th tree as: -`` `math +```math Obj^{(t)} &\approx \sum_{i=1}^n [g_i w_q(x_i) + \frac{1}{2} h_i w_{q(x_i)}^2] + \gamma T + \frac{1}{2}\lambda \sum_{j=1}^T w_j^2\\ &= \sum^T_{j=1} [(\sum_{i\in I_j} g_i) w_j + \frac{1}{2} (\sum_{i\in I_j} h_i + \lambda) w_j^2 ] + \gamma T -`` ` +``` where ``$ I_j = \{i|q(x_i)=j\} $`` is the set of indices of data points assigned to the ``$ j $``-th leaf. Notice that in the second line we have change the index of the summation because all the data points on the same leaf get the same score. We could further compress the expression by defining ``$ G_j = \sum_{i\in I_j} g_i $`` and ``$ H_j = \sum_{i\in I_j} h_i $``: -`` `math +```math Obj^{(t)} = \sum^T_{j=1} [G_jw_j + \frac{1}{2} (H_j+\lambda) w_j^2] +\gamma T -`` ` +``` -In this equation ``$ w_j $`` are independent to each other, the form ``$ G_jw_j+\frac{1}{2}(H_j+\lambda)w_j^2 $`` is quadratic and the best ``$ w_j $`` to minimize it can be solved deterministically: +In this equation ``$ w_j $`` are independent to each other, the form ``$ G_jw_j+\frac{1}{2}(H_j+\lambda)w_j^2 $`` is quadratic and the best ``$ w_j $`` for a given structure ``$q(x)$`` and the best objective reduction we can get: -`` `math +```math w_j^\ast = -\frac{G_j}{H_j+\lambda}\\ -Obj = -\frac{1}{2} \sum_{j=1}^T \frac{G_j^2}{H_j+\lambda} + \gamma T -`` ` +Obj^\ast = -\frac{1}{2} \sum_{j=1}^T \frac{G_j^2}{H_j+\lambda} + \gamma T +``` +The last equation measures ***how good*** a tree structure ``$q(x)$`` is. -**Therefore, given the parameters, the gradients and the structure of the tree, we know how to set the score on each leaf.** +![Structure Score](img/struct_score.png) + +If all these sounds a bit complicated. Let us take a look the the picture, and see how the scores can be calculated. +Basically, for a given tree structure, we push the statistics ``$g_i$`` and ``$h_i$`` to the leaves they belong to, +sum the statistics together, and use the formula to calulate how good the tree is. +This score is like impurity measure in decision tree, except that it also takes the model complexity into account. ### Learn the tree structure +Now we have a way to measure how good a tree is ideally we can enumerate all possible trees and pick the best one. +In practice it is impossible, so we will try to one level of the tree at a time. +Specifically we try to split a leaf into two leaves, and the score it gains is -Our algorithm aims at optimizing the objective, so it also guides us to a good tree structure. We score the structure by ``$ Obj^{(t)} $`` which is mentioned just above. Since we can evaluate the tree, ideally we can enumerate all possible trees and pick the best one. In practice it is impossible, so we enumerate all the trees no deeper than a certain depth greedily. - -Specifically we try to split a leaf into two leaves, and the score it gains is - -`` `math -Gain = \frac{1}{2} [\frac{G_L^2}{H_L+\lambda}+\frac{G_R^2}{H_R+\lambda}-\frac{(G_L+G_R)^2}{H_L+H_R+\lambda}] - \gamma -`` ` - +```math +Gain = \frac{1}{2} \left[\frac{G_L^2}{H_L+\lambda}+\frac{G_R^2}{H_R+\lambda}-\frac{(G_L+G_R)^2}{H_L+H_R+\lambda}\right] - \gamma +``` This formula can be decomposited as 1) the score on the new left leaf 2) the score on the new right leaf 3) The score on the original leaf 4) regularization on the additional leaf. +We can find an important fact here: if the gain is smaller than ``$gamma$``, we would better not to add that branch. This is exactly the ***prunning*** techniques in tree based +models! By using the principles of supervised learning, we can naturally comes up with the reason these techniques :) -The regularization in the end can be seen as the minimum increment from this split. In the end, we will prune out the split with a negative gain. - - - - - - - - - - - - - - - - +For real valued data, we usually want to search for an optimal split. To efficiently doing so, we place all the instances in a sorted way, like the following picture. +![Best split](img/split_find.png) +Then a left to right scan is sufficient to calculate the structure score of all possible split solutions, and we can find the best split efficiently. +Final words on XGBoost +---------------------- +Now you have understand what is a boosted tree, you may ask, where is the introduction on [XGBoost](https://github.com/dmlc/xgboost)? +XGBoost is exactly a tool motivated by the formal principle introduced in this tutorial! +More importantly, it is developed with both deep consideration in terms of ***systems optimization*** and ***principles in machine learning***. +The goal of this library is to push the extreme of the computation limits of machines to provide a ***scalable***, ***portable*** and ***accurate*** library. +Make sure you [try it out](https://github.com/dmlc/xgboost), and most importantly, contribute your piece of wisdom (code, examples, tutorials) to the community! diff --git a/doc/python-requirements.txt b/doc/python-requirements.txt deleted file mode 100644 index 1a041d154..000000000 --- a/doc/python-requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -commonmark - diff --git a/doc/sphinx_util.py b/doc/sphinx_util.py index 0b5178630..a09f1e08b 100644 --- a/doc/sphinx_util.py +++ b/doc/sphinx_util.py @@ -6,12 +6,12 @@ import docutils import subprocess if os.environ.get('READTHEDOCS', None) == 'True': - subprocess.call('cd ..; rm -rf recommonmark recom;' + - 'git clone https://github.com/tqchen/recommonmark;' + - 'mv recommonmark/recommonmark recom', shell=True) + subprocess.call('cd ..; rm -rf recommonmark;' + + 'git clone https://github.com/tqchen/recommonmark', shell=True) -sys.path.insert(0, os.path.abspath('..')) -from recom import parser, transform +sys.path.insert(0, os.path.abspath('../recommonmark/')) + +from recommonmark import parser, transform MarkdownParser = parser.CommonMarkParser AutoStructify = transform.AutoStructify