From 32863bf1f8eb09758ebdb43f5afbcc18f20ae66e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Sat, 15 Apr 2017 19:11:24 +0200 Subject: [PATCH] New project emerged: - this project has emerged from jshop-core as these events, classes, interfaces and exceptions are generic enough to be moved out - no need for commons-codec JAR MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- build.xml | 6 +- lib/commons-codec-1.10.jar | Bin 284184 -> 0 bytes nbproject/build-impl.xml | 10 +- nbproject/project.properties | 8 +- nbproject/project.xml | 2 +- .../events/category/AddedCategoryEvent.java | 4 +- .../events/category/CategoryAddedEvent.java} | 4 +- .../events/product/AddedProductEvent.java | 4 +- .../events/product/ProductAddedEvent.java} | 8 +- .../CannotAddCategoryException.java | 2 +- .../exceptions/CannotAddProductException.java | 2 +- .../CategoryTitleAlreadyUsedException.java | 4 +- .../ProductTitleAlreadyUsedException.java | 4 +- .../model/category/Category.java | 2 +- .../model/category/ProductCategory.java | 2 +- .../model/payment/PaymentType.java | 2 +- .../model/product/GenericProduct.java | 6 +- .../model/product/Product.java | 4 +- .../BasketItemAlreadyAddedException.java | 45 ----- .../model/basket/AddableBasketItem.java | 97 ---------- .../jshopcore/model/basket/BaseBasket.java | 141 -------------- .../jshopcore/model/basket/Basket.java | 97 ---------- .../jshopcore/model/basket/ShopBasket.java | 38 ---- .../model/basket/items/BaseItem.java | 69 ------- .../model/basket/items/BasketItem.java | 166 ----------------- .../model/customer/CustomerUtils.java | 148 --------------- .../jshopcore/model/order/Orderable.java | 108 ----------- .../jshopcore/model/order/ShopOrder.java | 175 ------------------ .../model/order/items/OrderItem.java | 163 ---------------- .../jshopcore/wrapper/CheckoutWrapper.java | 73 -------- .../jshopcore/wrapper/WrapableCheckout.java | 58 ------ 31 files changed, 36 insertions(+), 1416 deletions(-) delete mode 100644 lib/commons-codec-1.10.jar rename src/org/mxchange/{jshopcore => jproduct}/events/category/AddedCategoryEvent.java (90%) rename src/org/mxchange/{jshopcore/events/category/ShopCategoryAddedEvent.java => jproduct/events/category/CategoryAddedEvent.java} (95%) rename src/org/mxchange/{jshopcore => jproduct}/events/product/AddedProductEvent.java (91%) rename src/org/mxchange/{jshopcore/events/product/ShopProductAddedEvent.java => jproduct/events/product/ProductAddedEvent.java} (91%) rename src/org/mxchange/{jshopcore => jproduct}/exceptions/CannotAddCategoryException.java (96%) rename src/org/mxchange/{jshopcore => jproduct}/exceptions/CannotAddProductException.java (96%) rename src/org/mxchange/{jshopcore => jproduct}/exceptions/CategoryTitleAlreadyUsedException.java (93%) rename src/org/mxchange/{jshopcore => jproduct}/exceptions/ProductTitleAlreadyUsedException.java (93%) rename src/org/mxchange/{jshopcore => jproduct}/model/category/Category.java (97%) rename src/org/mxchange/{jshopcore => jproduct}/model/category/ProductCategory.java (98%) rename src/org/mxchange/{jshopcore => jproduct}/model/payment/PaymentType.java (95%) rename src/org/mxchange/{jshopcore => jproduct}/model/product/GenericProduct.java (96%) rename src/org/mxchange/{jshopcore => jproduct}/model/product/Product.java (95%) delete mode 100644 src/org/mxchange/jshopcore/exceptions/BasketItemAlreadyAddedException.java delete mode 100644 src/org/mxchange/jshopcore/model/basket/AddableBasketItem.java delete mode 100644 src/org/mxchange/jshopcore/model/basket/BaseBasket.java delete mode 100644 src/org/mxchange/jshopcore/model/basket/Basket.java delete mode 100644 src/org/mxchange/jshopcore/model/basket/ShopBasket.java delete mode 100644 src/org/mxchange/jshopcore/model/basket/items/BaseItem.java delete mode 100644 src/org/mxchange/jshopcore/model/basket/items/BasketItem.java delete mode 100644 src/org/mxchange/jshopcore/model/customer/CustomerUtils.java delete mode 100644 src/org/mxchange/jshopcore/model/order/Orderable.java delete mode 100644 src/org/mxchange/jshopcore/model/order/ShopOrder.java delete mode 100644 src/org/mxchange/jshopcore/model/order/items/OrderItem.java delete mode 100644 src/org/mxchange/jshopcore/wrapper/CheckoutWrapper.java delete mode 100644 src/org/mxchange/jshopcore/wrapper/WrapableCheckout.java diff --git a/build.xml b/build.xml index c213c8a..610bf0e 100644 --- a/build.xml +++ b/build.xml @@ -7,8 +7,8 @@ - - Builds, tests, and runs the project jshop-core. + + Builds, tests, and runs the project jproduct-core. 5;N*- ze1=&td=ncYP@Zo#j?w6}_46sjj>|zL%@z1|9Q#H~ddrisC2OYaammZ~I5a=o8#+q5 zAvcsOHa}|;WdYTFgU1&;lw0FxIL(N#el!Qzt>rW?kCD>PdpY+RypbBBG7Fq%4>%=d z5Ih=tz-ZFM41?UPs~ z1+1J0d4pP{g{Ys(GClA#?fmCX|0fZZq|AHf7P0Sy{DZ-2`Z6B;KqKBJwU~J;K^)KJM#* zO^1bKz~hSR;i~)nDwF|_^F*CJD!L-WVm>&QA_?}D!Gr;?&Ecf49W>Lz!^c{*(O^4x zA{Z1CL6^hbfVt63OtuT=-nQ3dAU2^g1 zM&0#7aLfG|TF{NxdcmJZoprAKxqAMEtOkGW=Hsbfi|E(VwLKdln|B*xEac%q=@O~D zdSDmQdmmWo(!BILp?G5SR^`;!+iG1_YH85P``7Nixm4M@LtkyxnES^hid<_mO|zx} zdAd80BW&N(9rMEkF-);1?ThB>E|iJkHc=k0>2j;L>}JCCA8y|o?c7r_<_@y+i>v?oxbmh^JjIaP;RUNPckIGKB z0H9GaWMI<&!`V57R~BH~I_I=ym zdfscUImeviA3_Q7aWu^P;R2Fdv8evOb_ojVOl(F0(5X--Oew2ZRrZbQYGZM4QLyf5 z)B$g4)btHSJopJ3qqIz5+Rh9+Yn%^I2tb&J`4UG;oI3$9F(VNNHKpOrEz`MiAHG<(M9*5ELh|*u60D!I<+h~VQj4D=e z4wh_~@zFJr8(~LpblF5Wb#prG{b*D=?u`OFM=;`#biCZy)^RiHM&$_|*1vy`{$|Lg zl{@`a=dPYvrv`Vh!s>kO4sWvk7#sb@R+B@z{MMXJ8E1fwRxYXp4K9C7SK5IKEuIPD z@qcNH5FhUUo4*`~1SS;}3d1;n0HXtkLPo+cWFZoo04@imQyh5n(wk>)ZlJyuL!ORJO$&4e*-3(0Aoy)dsHmC zZMY;DfR{l`)IBhMP>iP9WZ}0l5nXgYw#{u1!)_(lHKv#(9nMnzh}Djs85Y*%VT!fs z0M~sQTn7#2bNd#0H)jU$vVW&u%JLXFp?26(l97escwsjuc4C?%M)Z-I3whezmCCk< z$16+cPya5HQwOS%wY^qF7aF!Gl8xwR8ZjgMM|c+W%nQ!^5IAx+w(^DQ__Lwzm(>R& z%@P%r0iHv`=|Q#&a&<}+2iTP;VaRMHU${y`d}wj0G7?e=myq0Pc8IheBZUcE4isUY z>lwMy1nMo3t8tq+&ufwd8F*5;X@yCA8PFr0z-~QkXPs}+lBM#p3ms30Umkt-leckv z!hKx=_qohL(q9>hfnD@dKOeh=6uX2ld|q1~1P%1<$7|tcq+ZvsbGv@Df_ptFiu7p9 zuBD&s5Ht{b)zXBWbfk-}d4=&@r8zUoB0#?C8N90*GRuxacN%+Zj6dv~3-CZslm|Y< zg;IIhs-D{-4dA zKq>GOyQdHD4m*Ae|3sVXA$lb$ARu~WEXXB%jkVNT{!5AM9(w#Y+}Cj4W2mw{H|HfI z-X@WgwKm<`lfHMIjDv^A9M+L8S)Sp!Q1uH(R7UtTjEkBvalj1lEF%}l`6pR7LWDWl zC2u`!{YCDzM9bU>sjP38s=cmD0QdRgtmS7X=`MnMVn1{Ds1}$n2=ML@M@z5_84M{j z$?4mwSGHnnLSsAnSO<_QUL?aCLIU%(3IQW{hjO@1e@R}Khjs~b7p6nwYEr2e5g~Dr zAp4hg0A3%4_;n%4v-aRQ4oeA-iF5=QFb(nX9zCX`hoPFfcAM)ej-+K)gHk!q8%&JX zXy1`kJbj5B{C(?)-|^2YvQ_|DKKAzh~qB=zjITjD1f3<@H== zfbD*x49{94jts+VNn9o`o9hQQaubdDB|Fh?BUyOR=J6IU_ZusX{@XY5MzRnFhQIS? z(E^kW5pNKl=&s^O|74AWQfQ@Zj*SZ2e3$NfB<&R^bwKY!f{js7uren}U%-5+=^+f9 z59Y{=HUw25p1vOH9w%s-&A`uR+?^jhPmIV08kz=6!~FtT&K*0Z3(TZZI*!_glp&KF-;|YZ-I=aBzdIhTj1JkiMzntJG^tLW64QS7XlVwH_X&vX0f zMtxdm$SpJ~HXKBgWN+b?)Mi;L+VSg}NH1qzFoMaQEn9>$^JNQqq^MS+L|*(MMae2< zk7^O@za9~qZ;wcbs+y2q&5oDa(V>>W*4?Scms+2fD~E|_vc2@T z66dJTbEw))|J)c<#nCUV$5Z`JB@RLUdoacxL&@}LZP9I)jFXLby4J{CTC|xuRkQ@V z@FmgIM2%%hBXokJsY6QJf+e4ZLHm3n6R}MA=_O~iRhOeIJ$t$pOlJvYyGfQo^c`lx zgCr-(uB9i1@3FV3BO0TBC_{30%kR#2_wS3Ng+|di#P2ESjPyVJKLK29Or8Gg9y(c5 z-kzidt>;V`F{t3iEZb$y7%Hi@l1E%_>CjIuHg7Q_zg9CP@e$WX1bR zQC!obGPjjrkx&#!l&ApW!@I zC>Fq@l3SGZ1<6Z5ZBT0^h)5_Mz($z0prlAKpq*}sDKpi{o!|_T!@X0Svq?lsgU(0{e4`9w>yXR?1Bo<$7DubV=g&)i`)6ozJvAr z+)l~@-avkj9Tk0|HIDanTu!^cYs>kZ+# zVw+Kp% zK2W3qga9YREO>R>ki|F7?fzD;9on6>ris4>N2{{0nE2=gH`I7L%}2FAm2X?=h8Agi z{)Uz@cc!EjG12j!>qH~TUsC34(_Uu29%A-QR>B(xDDvdyNOlBF9*+pIs02KtW2Lxs za=&|M5eh4ZK!23p6vPYmWR;2{=L(O_u@Fh;B=}{2pC-d(>g`+pin-@po^J zWY!G*KZbbYh~T-{?nQ87S-;Nk2?hDbwYFDET3C(l297R{vYEbFVYak^Omxt;<$s>y zu&z2Q`h)`pu+a#MfEjyJ*HWL7HNu21m$ro|XYKtrhn!v~^y|7%wmBf&8lb%T6{W=MwH8roj_7q)+ ze3L;?Gu`{3)XOBlaBZ9@j=j*LzWWZ5MQvj(3Wv|kM1Ptf(Dtw-5v@X$sfx-%UlKru zmBb#+ZBM{V8C2t|3NVnYig%V@%p!b_2(vpdbPT2AnW*0l)idx6I1bTd<5+_?nZ_fu z*(P{>F~i|x$9Ayj3F|Rjy$Znf=#4>#G0^b8LbWl!SkEdU)(2I0X{QghW_3*yn>_)CwU;T8y9;%%@FuW!WC}+-PNWCc$!&$wX;A-y$+uyr9JPr*F>* z?bF^wwtF|mjN9%IY=@m03U9wsftpC*8}jCeW3E*r$eQ;oj`-l|D1=4VPFa+b1cq0| zensP-`V@vT`&HE(A@}m|+?Z8W<*GK*O^NkB?kaoEqeCxuMd+aJY_8LnUc7{OQMHzZ zHf4EU0%G6GyHqw?BI};*_g0UF7mqu;yT{A*j$E108_)LEjF!yMkw5btCS(q~xByX6 z#f;$S#s=-|0*i JiTc_d8>l(pWkxHal{Z==e>~eIZk;#MntTD-k;5 z1**%(SJ?vQj((|sJmt}p1-V|3M-MmcecC6_~N9#hV<*O^(skUO{ zEZ72CuyG2ls+j(09I6@{t3<1oU{^L*)H7BLQ#IcTLiiWeiH&br*_>C@Lw7Ohb`(aG zIhaBmF!GVQ#DO3{MUN^dPDjHWH1)^1g}MxJYrS`-I$?LDC92TdBX9naTt{-p5UbHi zea(?5z+rS=1)F3iHnJF6nDQ+7+^gTtOY1H-=iaxqll{55nc^E0v(`b2I^d-7w&rp} zq(wD*4CK_F%`^V4%mjQ^`)3)Qg9~Y>h|jpllHBg)mz3CISLzsUh@bDLkpnsvwe;n| z9eRFkI*3j}U3(k0ZB2{s=9Y9q6@z~Dq-530T46WeWb3QQ1CqRkeB^wSJc-Sj(XYZF z<`H%`0jj5jaW9EC@RZ1p_Q!;%bX3*P*Degm#o}$+#VJ}^tAI$30E>dM$QbS@AkwFu z$aanAbtcipRJL|Xp+71Fe}?4pdIj4=^>Th6pWiH|F{ER4(CIUSmJ4MnR!J40~!gil_RGo;d z{M07A!n50vZKa}?U_1}eRAH;Jt1bs)1hk;p7d$uVHagL4X@s$}9>nEy9&%wNo}C?d zc(Cvj_ZL1zzn%dONP(<9-utBEh!>dI2vlzRnmQZ#-nNvIe@Q0gkW zw>IcKFF$Pr^W!&Pp)LFxSX>A%5Vtk=T8%Gf9)x>tIbh>Ru}8yOifacf?_4 zVGfS2TBFH6j1lscq3dh(b&v+zeP2?^PPkL2dblrInm?38XIjcuZx)Z>}2qEz@JxJzC9Rw@2zy$z@MT- zp?sHpcK@iWZY?r5ee;)1w_k^ULr*$=Pj#Ok8#m2ACU(Q`XL52L2@vS2ZLjYIZ<}m& zD{)Nz>OLexW->Gtl{4e!26^) zTbpWATaYy;bA0tW!PB~BW(l1&Q7|`DPi``vN?w9rQfXGOE;r|}HWho=-=cT!e%D+JS zPwKGYe4_!>Xg)T%Ng`q)5Xc5pa9LqM)|R5Q!j75%tW{uwJuX@LHX^@0J(UTUy-$!A z@ode6j>EMH9(3)4gRJhJp`6ECx&OR2PFJ5$QP(F$}xk9ca}60 z%6@*crPZviY%t0VW3pd!;If0L|FNA9Z~F544P4S?bi}%9>vGv4a8BA4q+TV?d?Ws7 zL^)=%ZM{?yIM`RMEY`^ z<+us&5r0QV{B!57-R74krZ~@pgVy$6;vp=8Y#`~nDoXBtBa-F#RtaN_rp-!7x_7kW61{s5cWY^ z+3`0C_q2E@+#`W{VN0k@?V^7>Abj z2+e`R1o-wXWx^7!ohg~ttV6-4CCHJb^X~;s+20C8y0YB_MFY zxv1%_?#!QC3_Omoq+L8K58FE{wp40yGow_jzsa(PBLLkl2jKxSdEK|>>f~y@_JljO z-ehRpY)yW^r&8{?{#+LK;4vkAhRq_VkLA`q0 zdtnE(`KfY$mt|)RD{uJOw4-!`uQ%dC%kee^uZag^Hb8aH(kP;NO$_^l?ysHeU5Q*C z+i!=T2Z<_LY^}UCjlzH&Qi@u3FW6SwwNr5Yn6JZkt|0jC&M8k8gq}+S z8k#R(u@K)UdPl(M&m(0VjCbPlY{j3RS_0&u^j1+wpXYkX`s5*o!7g4T1HUlSW@+>> z(~xa^iBIh#Z^j@$4f2RB{PqEX^l(`y?{mGzAI8?kO-u6VZ^3?S8Uy+?RTn+jLb=;Z zofYibVjWr;op-~b?Q(BgVXX)MZbKpLB+`5NUPWg7r>n?+6^H-fD9BdRw_j&N^jj_^ z3B28!+5>!C^V7MY!0JikomfddHRac z><(XnaV0@fKvz0qaRRSXrA6j3%5GD`G+1s|EO$_%X44*8b_zv=U4TwwtD1+9kS<7O zzMbVLO70RP2Y@OB03LtUWA;{VUp{6oTc?a6Yf#zxK~=ZRqZN&!&Hq-*{E?DR667z4DT_^)N5<-MV z-BVdu)w}xxXn96FEJ3UHCpGu}g;ZAhd<-i(dBrYcz*>IgvASxiQW+R|JUC8T?3-W& zA4kA#zj(hh8=7(du4wz&7xdp#{gjDj+uC5a7pY8dj|c~kAdk)Av(&D2=d*08KCQ{6 zR59$yo83u~Xgjh!|LK&1V(3?@m(xO=>OSX6@4j;dUnOSRg|w!~Sj;ySpgVHZ{mL|3 zqiJ95p-gu{sY|xEmJT;B*OvA!UE8Njmr2)_^9Q>(vxe>S=J1+TE3cW)6`O4uOoQoJ zc%G$DVgYutLlh^wE3`2NvwpBL`N2$znSq4s+Yp zvq?-*3WT2-`o)7EAen<*Gxl2>5Q_R@Sg3@xj~QZ-4F$gj~G`>&qfE3yBefW_DN!xqOO5!I5jQ}kmB%!iOQQMyj z&J{$uyI=~JD<~b3oZ#(LRXnht-Th@~i zh(G9iAp9VpeNuk)b!+MFgW`=16zA)Y?Y8T7;nj>WLaw(Uw7Bmfsi7#sn&%>&j37D) z_C3!-n4U$yN<(83jlV0qIKJYsCBVdVuN~F}w;@Mf4*$)=3@^@yfH4Z8bvfv5!5+qj zj5=6|4v`6*<4NMxhh9Wr0SYyW(u|+=C0pgsEZfCEw(|&N7>KBvEfvaQ6qRZUi5dI{ z^>?9uG!cpMut|@8ZxawS=gj^U8I^+p$hMn93x0}ngm8nv)jVz>nD0`M)ntRW9U=kL zFZECJerC?yee(r#A+E<;vNvU%voHFaT4K7tuz8KJ>CLmU>3cy!``vwym`(+meCk?x z(w>V|UP0otjG&&lX?i>h8G|FcnXD^DsgjHXV%;`J!BvINFS%<7*wm%D;@ljj&d>q! zV#9j#+sHRFNcK56>3ErT4xD|<1Rs-9JV8|_Z%@do#*6G}IzL!_01!QA!w<%IC8@)H zejOe?nwui;h#Wt%&RFtL710&gx-B;Nlac&hEmDD#!z=vXyWu3}CFR20H+h(@7Vh{rWT zbEwAOVs-%O=Av;(Vy18}6}C)}=Wx^4A;6(e+JG84Wd39YVTGOqjuSD?1T3_zYhAGl zF)Z0Pp<6;U)JJsCfK=wEs))-%VZ5S^AO^H7`h@eirP@Y>->Sn{MW?Ci>7CqP7o4sb zYa+Ux&|8P(?UEiq1>+mXLpk#cXbfr>hPc9-P>vxzD<628*0&q=(ULd>x^7uhJLtZ( zGVwSX?SOtjBCJ1s zrHc+fM3jH$V5SV%x|ZknX7+PPGsbCSDOgjDiv}Z}fMO3tCKRkrME%V`>Wf<-1<>2J zDXgA#x6azIWK8u=?cq_~&;%hPoBFlop})sBMB+JAT#W&9k&^!;VFk=znw&+sdy@Qp z*SDU?LK0uJ7-2Xj_743s!#ckIvi@@R^5%nw?ra!L{HMR3OVp~rnJy`ak6VR%y#Dv6 z5`@su&+)Jt)G-}%X2U3s7(AlHqT3yd8->R*i$OnQq6YV!^(S14(y%dU^S_Rx0dPTj z_&wy$cdx3N^@g!2fv}^^(ciAH=7+MF9BU>6;-{b3$u(9w{TtdSBeVASPl);Kb z$AdiSgx7{CkB^K(DCNmX5}$&)X{Y~?T+(q9<~&X`n`yzVw4Rc7Y3R(>pA(7@BTmWm zi^WCFmTHGR9bU+edXPM*CByhFtuAXH{p4->LvAG3fy>W2J8q5BkD$L+__=su^m-e3 z@$Z**){}^h!HDLvGvMYI!l#V+vzhq-_~pT1PS&WhS2?-4_F1Q1!;if+Z42mK&Iz;W zWCCtHZItfDIf`sggo?TT)3uJ9jmkBVz=z`XMhoGeHi|2b`SyBD%T%0?1oWQap7Kg} zQb{e{U6}Vnx+wP^_N8lZHCFQl!L!|>UP7C1MefaAswLvTMJb6Eh?VvIN`0tpBW>JL zPklHW!|BhQB9ASf|IO@+l!Mhy`Q2shL;rsjh5t5G`KV6V?X#h7o>9{U)13=iVdyqf zPemSY^*5SF^R4X3GG6g_Miv^%X->b_sWUdb+ubp%h* zD4guD59!rl2mR`xX0vfN7xe5U@0J`J7p|aY%J>q=aO==v%PY&0Jg?nynN@a?Xv^3g z4~vLciN$2;B(b@g37^~pNX72~X1c_%_ncpa4YJ+VJU_;aa z4)|SL)YyF(0DwJ5SJvL#0b_GRByrUpb>JRiOP1nlq~XRn@EEyZjQ5=@r?UqrhIfGD zy-npim4>n`m#1mK)~#Ij8w^oL=Ru54+&BNrW`GGkeFLC6Tactv9a7R}CBs0*PF;^a zOqb-Vivf-e(dPgeKTY7#2Txp&s2o#@LPG@KAG8vTxD-403@<=>C$W?;Pf|=4q;N)h zb<6?VPx_Q@UchlFFYX)W=S>X@bxvzNJPQw%d)w5&WlxsPR>%Qw%tha0sV_DT%0fGWq+L#MQYc2bw`+xT_hC?=Hw;p6n zZ@WupkEv($h{&Jkv@Wa>5TZS4typT;k{Y>ToKf%3c3jWA!la&XUSO^!!fJ=O^Gu;UsrH^% z8+t>~=nfLDKfyXs7L6yQ=*Gh8OqUD$!tNhyDR%)l>|!}e)+)-Khk7ih08eJ@FQ$OA zIUBb2xwQA5?1}!Ax0Z>NYd=3%4XyKgcC{}8dm6+Q4%DCRpBGe~+!;;mnQv4gX-A#H zPHtqO58&ypKa1^LEP_XMm0?6Q!+x9Lol&@TS#mXv z87a5paf@I)EWqSe2#;q6dO8Waea(9~O*lxi`)fywHZ`eBj_lY*ZYR?Ha$SJ8Ts=dm zzKg#7cO=Gy;z3KXCI++naxk#DwLmVP20BHq?N1>_NRJ0 z&kzhl=QuM1RM1O8*^6EzCt)IsjdVTYp~#K5jwcU$J#eQ*7e|@y%~dJ#hGp3e&_OAi zUuCOk@t=J)Q}EQ1Hx#)ZFz{YGIF|JqeM;#v3m#2}qx&p*v!SDz@u&RJG}I==G;D^Y z)(o18t==@m${jbDY=hEkb4@a=wd8CSNglVHd)pYH^biFxJ?fA|3>V4c4LRHww+VU~ zR@PxWgB-X6Kk;oIy|i};&!6Jj5%1v*Db8)10`?~v5cnxsT>MR;GbrRM4(aSH6+v{N z>nYu7hKYxlOt?%b!&G?pwdV6tb^i9x>cOF>#mSHZ3@d|}{vq}FRvx|~rj0SCo~sO2 zr?|Pex|{^4^Y7;Gp2-e`FyrF7t4>ygq(mIuRr*bPi}=!GhaQwYX1?XLA#@zPZ0v?# zZy0Kw(5UMCPL+_i+UK>Oezwy!_Kb{+G+Wg()oA9zRZAg5=?1tVgE8kxMbz!ZeYof86i5Xlt`Jo%p8xWTDKeP%=$C=9GR8W8TM(_#6@Sf-Y zoE4tSjC)$c8Y?j=5`YCAj(s(Io+9vgHv*zJpfaL^lkcUfqlWkGGkT9$oL7@^;!rP^ zNkfzBk08iK0FJj-NC=v*Q_N6K(U7bhDrj_1X~7C8&bWh1U5ffS2gwp&MPRd-s+Z%m$OS2&K)1dIrqw^sKFO4)J4>--O)etqbL>^3k;nm^&L zijUkF>1nh?^)rbvWQIG{(>p-l9J}NT&{OhrSd;y=9!+~`zLVkZG&Qw5@nb71uNXC{-w3_2Y zsx3OwT1kOt(F`o=K@ccXiILHDQ$p#bE_0&$eFi+ktnKdXP#^Mrnn4zv86g@%EZ37= zKlI*Mw|YC+;rWS%@zzFh1fH+4`DQYg z;nCL3QEiEpd};_5d#YImw1*Z*rnyOI)^7|G`d_{ylA529gPu5Gos^Fr3DggiLymLbn|B4kJqx% zYChOapA2*_ms*mX{@}k0@_$4SK*V-Eb97|LIC`9h*>PZM`nilkeL4Mv?BP}k=Ev0| z;qyHq(yH|1qLcjIY48_)E{&9uXD^iVBM4oWUeUj^Cvw*8#qWj`g424noQ2Ym#-Oa> ziK7%17m~sKQIrax4y*jYZ{7wf_d>H^vKF^4+E9#XbZpE&;ZBe^ElUn51UWhSS?XF8 z-@g1px|U9q-lY5I=P`OZh%pZ;THp*mt`O1PSyH zs1ug2IB?PT*GnAn|LY6(-!9M)wLZYNOxblt&5(tE9%b$F9W($SX3gSK8cs@#VB!@( zCha4Jf&ik898f0D_7hXjebt1uxx{^uRpADx2(o4BZHs9+i7cxGbKv0#%GQz8KEOXs40aWl!c zvr%IhP)!FViOGC1l4$wvEuqF^YBH8g8+gK9!@eS6-%89))M5f&eGC|LWRZoM0UoVF z99vSM^XLw38`8Ud5JRb-NLRtp(=p1VtRcn1Yy7#sEED3=jZ&;FR%c{B2<`#u<1jvx z%5PZ7d>}%Hll>+2sE|F!I~GD-Y$Ry?SZ5FdQJzOltt58`4x_d-3BwqZq;-Y^g);@o;O`69{hk6{)dVMT4nZ|~nk!u0ntrw!mkM^FQ$ z<9?V(H?)N{ILG-@fE%mUf$QIZ)6nXtI!}#iZ7`?r3sR;{w)Xp|5;{cKD&;uZ!Y6U* zVZfh0d4BL=l})7_HtxZo1Rk&tWLolkMn{F#?m2#+j-Lc~Vw29;*Ag9zT1k^2_dS5V zSJ1{9TzSqBi@1Q68e#01m$#O>P^r0SHQa9~HQSD(Q)=hgSU0;Qv4KLxjbvfPxse|* z1g7`6hGWIMnF+iy0KNUa0FHAhT=4t6goR9Ua|$?+8xJH(UD{Cc8eGef8Fm05*Zp48 z#^*}EhD0(Oc)A+`bkQblsm5-9_OfvqHiiC0|IM*}Bl>4C$8zYhO^(o>FTSuHSNtZb zVxo-3c!|LzjOa=RI$FL4sp^Fq7Oj+;b3LOHTgH zQ`OqVG)7*y0SX%G6nXoLhvlbE`Y0hSQwLF4qx50gxbA7K9oc|XO49;eNb;oW=ZGdI zuTw;#Nrzzjk&)nS+TS;wyBa-TE!a(0t? zNO#Z${?%Gc4flfTg!BD|W=#x@_(=9{g(=7D#kpGP1w;#)&ZMQ0VON;w&k|R?%313= zt<7Y31Oq+oLV_MJgJ`yWUC;S}RaM=-!_EpJ1ap?&4*coffpJfbCZ4Q-u;hn2u3HBP zd^H+t3R{qhv`Vg%T^kkkLiCX(q4GpZA)>s2z5u@lWHnVT9)Azrp{aE5cULXYN^`M+ zFGqnS<#mSL3`VeS{0Z?4zl53Ad>1f)^c{^bG>6L{8o`Vf|3`C~45Hswu_+EyI%Wju z*IEDsFC^re^oihiEjEopF_0#tq|nSnX!o;>Ki)RIr~~q{X~NHa_8aK-^l!Bvb+$Jy z&t|u-?%Ayv<++MW{X8CP6zV47O*3Q@Aoze=|Dcx*8W25Px2-PjjWHjLoz9745bteM zXCU@5%Ax|12sg78#^D!~P6~!@zd*OB)j|}BlvaVe3cI}G5N9AunCwm`aYJ-Cmqd#b z#&?2vAP1Twd(dC)tKBHuO-5cD7Ny~?zmAnfHSV@D4Bvq){9t)aUx1DBlS$w4-Au;O zr1;~xah4vZXt4XAW&|V&_|0DSDa!GC2%joVdtBW>V+QC?mTUFlYeE;ySZa_$r!p;K z^x@twDIrsR{krH{LlLVpEWqd5BbE?f=%vgvUxDp8?7d;*Td;iA*pRknEKzp5a#@kK zVmwfGr;Z8mKne;XpuHs;J*E7dKTt^e!^Ezx>-x!r59G0N8;`pqE{WEf3V!elzD&8o z+{<@ToqqgVWkQGs<)Iwjr;;X8k#vjx zgJhu^RF{&)l{%7fy{a|Q!nb0Gt=mQITTM;1{Z>=g1*3LwUK~;o_MdEAhRp*Xtr_0I ze*Bsq0#0&O&^p)L=Ns-TmWJN6O7AbLq^@j#oKiSPiIaZ~s4^S5Ne8My_L@{9R95F){qr`QG2UCxR!1a@d z2j_Zdb0nJDU8A;ESoK|iAWPWE9(;FbfyOnwGL9rBbj;PoAQ;A~Z`|W2d?_IJr&Ym`?kv&}xg1W5JjKA`dts%Zv{L5GEL- z=a4979ATHk5wVB!T-+a965c%TqU9QjxdsFSrrmbMl3(4=2p!~-Yj-l2hm39JGxz)x z2RX&l%(g=HFlh45fj5H3xAk*!O4UXr4UbRe%PFRxyPU-5^H~?M>qMn{CNrkBw`!h+ zDtaE4$v$qw&GUWIzZJ1xo@#UCrl4Zw1D|J}YUp^N@e_V_fZu#AmBAdeHkGm}?osaI z=9r1#$YTRhBLrT>o1Jlcf$4>czLX7=`d3x=H`<`|;lp{%AGDZ#U^bAp90Q*-#rr`3oaw zD6%qVY(Lo3NE7vHnL&c%853qwh|J#iI}&U(SM~r{OwZr#(E1-KJ;qN40fJc)U6hnW zIAq)iJi$cN+Fj}cZO48rL1n!Y z9g>g$gfa(ikRic8Usk=bHr_0xQ3BammIdQJM26&`Bk-o?BFw!S!6`de71FUO!kGx+ z+vB1{IMx-=1-BX}EgDh6b1}zm@no-xCY5SPv)GyrwA4+%`=Q$cz0jt;cBGbLEN7Dx z{VU&iCE=6(KWg^(I8;Qh{?dc30-|y>mbcC1<^D?fHNqJRlS_kI>0`hj?$x5tQU=!} zR%GG!w(P;+VB;DOEhxkv9Qe6%rQB6g-TRs>c4{2H!QInBU*@{aQJzLnV@}6QErDjU z`>GKR(5BTl(7$A_B`@>V$eP|1hAD$w8;;QrA0DN#yfW8nSXukmY=0c%n2lxz|Aged zetj}7p_e%}GH-1%lS*4TWim_C9+sdc#yA*IOSrT(2;BW&R(#$4sdB#l!~53_ zegrZ>UaQFtd_mQ)KXOJhfu6&0rQvpJ>Ui3a*k(}XFl%nu z_q@q^#}c0fn7A8;*8pSIDS8j3a$mOB-k@TajX3`YWx>eb< zR#wJrBdFrGF;;X;UbvL72>M1c9JJ%Lx0<}ZO;Z@>3>B`ox(g%(JdfNY&qr{bE-+!l zRa?CnVyID&uH>6q=5bIbw0;&e}nf%0642m&DAj>U^#BA9p`BE_5Zkebn=PZ5P!) zq;h0>=a8X&2n;RAmnLNvf67!vr1uuKQ_y957LzujEIfs8Cx&k) zTZm)nh^y{ZemkYAPD--ECnC7APE!_Ir$Ax_oE=xm+VM@*3vd)4!(&90rS7x<4@$#S z9YKXYHO_-6F)P0btYae0TPTmv=J?4o{MUL)uz{x@9%B?pLb4xk@w~hZ!}{NvTw2=B zRVvcy(|l{^Jr5i4s1_CFz8TWzhhC3v_n8+9kB>hWH83b=CjDe#Bo4nu5u1&S3PKs` zx2Ry5?!!!~2tfo9Ip(dh3-f#djb1ptTCGh^S?VFyN?Vv1SYNfv{hk-C7SwSwrxdpU zB%U9M;+A&NagL_5(6hsN(WNj;1O&57dDZ4MqP5**>yhSvxsWj;ZDK3As=Yv;3}j%X zfbd|sfQ%p*SE++I@)q+@70eWl($@zPF(5ZQAfN;;3}}Jy;JC)m7V{d|pZ|?u_Upyt zdf;0k!un66rv6n#{|CmwMOD`RdvDuyrw)tGD-l42#>;jb@V&S#`{&{o-cuui8bAw3 z-O`mx>Ell{M&Lzl18+NwbqP&MQOSk|i)zV=ecGCwkNoF~CLP*T6hbbD8Z4Mq{zks4 z<+3;0pL(+_in|<5rvKRr8Zrd98q5MTnJuuQNQ;vsad=mARUIq`hlnaaD;soB$oWwH zO!nRmN?Q|pwCEzS?oF^g5V}oBi^HNJh&E+Ulf0ajUXY6C8zd}tuwkNfxYELhosI#2 zF9>A}qd8MP8JaYxZcf)+yY3>I{nXAmhDphX#TcYrC9Lb4^CePDjyfP`zj{xL%h<8^ zy}K1O9x7{emlM5+qq?m)RRSdcif7se{b=P!n~T`T{0B+6WuIXO9)+^y4Q={Q4-I{|6L*2=CJNmF9Pa(0}+|koR7~Dn(JNvE`3azom zc5lbSsZV3X619jrV$J1lti^*b1PJc{-(DMA5s;PT$bK!bY!S#<9FXPBiAG@-8gl8M|!;VSWVEP@>g;lYV zDINSXCus+;>di@Z@Y;pclRFVIZyMgd9ASp6L{4b_U*P9+4en-;xx5>iY|zvb0k*3- zt)KjVu;4p+VtAle`Y={v$7YMCZ5W)_5TX-YV_oYH{z(2Ah?VTxPC!VkPz|atO%?rkR#x~}}hwp5P zY@o;9NPf2*tI|x~cu}0ilfkG~o7c4TPT78oeLFS;FAQ~+uldFU!|3-J@UcFqUJC?2 zAe0Zk-cASDkPMb?Y+YTOkz7XAZrN?Zx}8;Dd_C|wF)V9GA0Il<&+8|Y@1p|B`<~$d z9nEQm((;t7Gfv2|dBl5x=8C`3p=00v${OZ{hJ zdf#f)|8sbukg27KDL~d9;AARlXKerdo6gwA(8;MubyFEd9rbGyu|ZM;k^sC)MK*rk z8?_*>prBa_v>1-yRy8j-(-h8n%+Acs@%+9Ef$weS`6$Rfo6@&0YTDv$G5u2!Z>CE# z1(8jzUxom1wdwTe=KDA6jeFJa%j*H6m!Uhh0A-oX8@~^u6{$})N*t*-70H>9+EA$9 z1XEuWX;>vmM&GGaqkC66hJL|2eRrZNm=mgnbdoukr7#Z%dmtps5{*epQjxte$_hQQ z#BiazraWDC=%)=OIBg=m*%6zJu#+<@wSh6}PKDj^v`c7-2q2w^Lk=-iBc_vCd#KZl zmg+_JxATFF>Z*pC_Hcv&ETFutR3Llume zIkTs*d|KnSE&{Q+&9t1DjKF>(u&}I0hMJ6h$l@`lA{jSZsbWvVfoAh3?v8`(4`Hw2 zqrjudpQ5%m%gEq-sS-=-kNAVp3_VS&7QwubqL62gt(IlKNa$>$iHxkLbI8&(_T4a* zHqFI8%{rJ)c140X@7xUs2F$VPS8Hh6^n7cL`s_WPxn8KTm!#eo#(DGK3e4`vWpDDP zhNMU`iHm6V>JM43k2Dr}D*3$Y7pH*H`h zuu^V#^B67w;ZL*a=5@tU-Ix<(syp4_# z4+5a>uO2>8h&(O{B`aC>N~WBCWuruc@|DEOQDE}r>HAA3bZaScC9YV0#O3^koP#=+ zya+7TBdL3Zm7PI^z1&-o4$euS_D2Ch&tnZEwEI4Q1z?57IwZJ?DRIl%U&rz1OLlq@ zf3O#cTX;lYTZx-s%(ax?>&LmycFJy%BQ+(v8bBe-%5kfS99%N3MNi5*QU&MB=V@?H z&k{+5*5zHeSz=iJ?bUcCz%^bk$ABz$BUE?#5SS$>KhC9YHNsbqYUNw~3yrr^APDGS zli{Z4pVV}n{e96?z9HLHAZl1E$`bVXykymR7+HGrFf#I4*8g=B`2`z9=NpYZ4ReLU zeu=(&G_Sq2?mBl#;=g@Db*bK1Gh?kw5E_T%kv+tzpVK(8L;j(c^JDO?4q}Eu3~a_j z$6cTI#M2!gWhN1u2ZNEyoo*L^=i{{M`Qh{y~aT1S_du7`s&|!PrnlRPWQf* zh>7oMi~awVuVHR#r*HVLG!H{NkAGO8lhqXeaV_inRLcSB;{Z*D|JZ5=nxthJZR(1= z3dKYMYLS_uIZ+^{_QS0|e$u?E*)Iny`XmDmwzk!jcgcQb0> zHs=9dww*Li8rx_Z+qP{q>VI`+ z_Paate&2QNnfGk=oFwaHo!#rF=SKBg2O8Q)2Q-I}-K5V60daQqNNIbeu^WE6$kj-F z&=UCbBBAb?GL;ZEU-VqrU8RS+f+vD~5s2}vJyU$N2YJ-HKG+#^Sf+l7#XbeO1I9?& z^uG{zjG2$kPo+vLpdjq{EQ|C?`wXnZ*F)`^-~0aYI`l*@WVj&5V#5xhg(ni_lj=-z z!PcRtlX2==G~SovVj+$0O!N;r9uxR0ZM|a%>%#nv>iI#Rzd=9slta?>Tnb^p>pinQ zXFlrBhBa~}E)JC$Vp&Y>Sd;EiAC1+55!y+*Gqq^1`@@+m@Y@iUqO7TpzIoN_c-D=^ zFjI@;!QVxfv=n!bdhF)B?xjZF#Ku823%SjQaQIN&Ja~GDIi@iP=c>bZ*Wr0}V9sQ4 zDZZtdv|%75(MQHf5-|QQgQg>KrHE_LGbiR_V%I(w_fco!2i>cv##FbB#7+QPDMk7) zs~lxU^U-nd(>sUf#cF))=KCT$q{e65^BPB)WDAr-a_Hf(T_qD55i?!L6QLogr_=EG z>U-1=4Z)gdi-R#nU@qrfxV_qV3*%ws+soO+^JvG;A6NjHa;ho|H_BBU^aVD%;>!_~ zii^nBwuLR*n86X0g}e1thsDumr(xI?^~W0QAJp?yE8fc|3%)9ODEEBMbZFTm3{vb1 z9PzhhNSpX}m_6#{&&j$Ogsr!>2}bSP>GYv7s#9KpeClD>ueQycPBDzv#VT^$&(VV3 zWcm{Pta8$5j@6>VS{maZ~K&De77+NM8McLt-2{CNN*0!{%>bFVt#DtB*joQ}o zQ>S7VUtiwOhFKFq$JT|zUOXjl8$@OE2++Qe`w4>X63F$P%czk=2XDbQo6xLxjT?Du zpah>6%27bnBKw!;grNntKV{%bz4*<-2_X!pXJv%N!R66Jw(0H6sp*9nIMQ<%CFDX` zM&>E@wdsvWZto<-vPaCl#Y>gQC9-`>9ur@;S~BWkLAX-k-aUVgAk^`+um_h5ld$=n zcg0O47K^gkt7upp*H(i8!4=NrL+`|@%ICGDc4}13R%w}1J4ai+Gm8B!xEEfy&cjs(C6N9V)ykKi&R40-Az*DOC5M;X04HoG&v91qe z{8I$15^vpju3sX1g28yYYDeTbX}T;fPz4QzWj>bhJ!z{2w4W&vw#`5%$+zeL;ZFLg zKrRV>re%_-NNl{CaVup-AqtryYA9}7ev=}fx+RfL;i9V&w=(Qr$iR)puq+4mQFJ}fRn8RUvx|B zQVQn}C)@0R9-3_SYz*^3-tJpAHLpMz>BcQ!36BGuv7AfZ_uJxBhvw46fkSqCC-@M% z04Ljnc=Q>1QSzMeYc|9za5v{?rL}Z=y@mT1(TF(qrKHVKy$7jgvct1&lJp{NW&bgG zjZSVe%I#^e07CUXw;Gm`Ub@F8gm$lSME zEPzlatRf3=xA5BY;Ca}!+~j16!7VN5V02e5l4Xu?1gOkAMAG*UNaV|`1V*Af57so? z1gUY?U-dtnozkw7Tu5%#GN%mJjtr(zamy1WJR)fHBJ}216>PV2A*(S+5o;dyL+rlZ z_X=<7Bk_d2@jGl?f!9ZUGrQA929Z&^+O`DeUN#qfZ%!M86|8~a#6I)cNA%1^pI>l_ zr5~M{g38WFloOc_m>Kuo#P~||if#}J>+>H(e~<7!b1i@|<;~l_hPQuP4A!gts`;B& zgNeA*-v2=7u0wPdbu+m9*Kmj3Op7a<4ia@GdqA3S;utax(V}0=r2vkG{qFV>U^AIpa#M`%0@; zGA5Z`IkZsXIvXP7D$5bIyPubhqqO|ZmHM;G1=bm*d*NC40_@dWmz+!Mi0cT2f;Qu8 zHEQO*%po?Mndo8E5L~0MXJvV)h0j{-a+qK(3tOqii_gkMwQ4j`O0ie5(z#(RrKjh5)lP4%S|kLKn-kk4#S@)mOzu&NMCu&KbX`}fkI*2h+NN^kBdSRW_1Wh4*`WPCoZ$EEgmg%QSDI>GbF{kP-Rgg-diX>=g!^mj; zX@oKLaAwp(0!ju)s?3Co8cpf3iSGT3Sv?o7E3tbny{u;Wc^zi|w*a|G&u(tku?{(I z6p#BrV-I8LO)oZ_j4YwyR^>jBbA-q5ENLGLqwmVoXc5}NN|e$CPyL>@q;dD5F+ z23?i6U1&Lcuqjs5o5&jrq#aNAM7@Ct)^lV>aQ^l1Lh#Xxv&qqSZN^S!IA*JIH`6Bn zZZ&8{Xxs^$=hSx{odI$~nEyfr9(*ezXw@g-^x|sk%e&Yj2;B{c5S{Mku#(0loMez| ztd>wFc8nf7&M<^epEHR@W0Dr^2owGC3XDKHj=jU+t8u2NB#PLg$?M+NT-NQzPAX@N zNS&C!t`)rMCLzq>xLO=*WTzRmOog}0=dwXNXC+yL-5(mVG>2JlrKXabrL6LKI+|wd zUoVOv$9advyN1PkhE1Q#+O>H4O*amGZuG3(=&O36HHBSXPXK(dG6#HUDy&LE4|i-W z7gOs)sH^u$YLX46i&EnA*IB{X)?Yy*3v=QM#P^LdSaPNQW@K(6wod72+HAwaRWW5h ztXpjYkE2-qq=iQpX@v%M$@Kcsbk(?k`EWJxWN3QpgFD!%fKCT@QGEM7S^lU;0}}kk zZYAQ)*TnNgWMG7A{@#ry6pcE}Q2^0Xhd%-nkb&Vfc?HVnmKk<;hdT!_Q`G$7TmU*~*5VM%lefIy&*_+xwtKm@@3oCy4UA;F0-LW)5K zF~!FC?ZM;bePJ;NVt)L&U=)MO$BZ%NPXjt^u_OVBg%xH(RL>sG>!+1g4po}xi>HkT zA={V2o1?v@3LO{o6y0J*&W?R>B1wu>6V=BI^@11g5(5@RW{BJ1BpDEki6tQJ-j9J4 zCBg{RCE4O6;Upf!6dx12`YuzmR-v3rNQ}jlyXg?hLOc~A#!U2*(I75Lgc)i`QX^Pn z()g}=ByHe0GJ8#E!t#>~ddu4u?ls1y#w`1b@%7%2wPLzaVG>eb4_0R;va?bp(OHe> zK8#LAQPw_PgNOz6X+%1xs!- z5|U-Sj(A>A@=?!9FyaN~w^ml_ZXm zG`{S~0}xv<7LJD%`u&xq{)_#;+2;!}WuoBp%(%0S3gl9; z@4&yGKqMg`P}YC5wf>JukUvczKkLAa;$&?A8SlO4uWyO()y6#29x>LHo@BXX9=uarhVe5v&ffe6m!AY(ZGy_|x-TugeJ z>mz>$T1@3&x9*871!h5*pJAQ356eeWazZp}BbX`F@l)%h(j|XP77bNJbVxE3@9 zt}i#|H_T`;6aIvm&3FT}cW0mS!9NkOvobybFhigd4@fD_mSakwf<`u8@L_4KAZ+E!MH`veb2uRYNG`ovlsAQd2kTAu2bM;3?q9 z0NJf5U)tV6yoS$C&IuB)6ibkOiHl=M?PpiiMPa1~&0%>fktf7SVa9q&J>1bI1R87p z6&T?D>w{4ps8hi1H_%d@-Vn^%(?;eX@8|erHkzTJUU`Bj?lz}+qPD0Z?D4HS$~vqz zyuDr6b*yt4f@X0&wQ12O$uwveTYSIS!|3GgZb8SG^m$#B%*X&uld#K5E$zZLvdGyc zZ&@mC`9?YFnlY6NhsBh>pP9my2yG$QzB5nJ-O{zE8fbtpdY#?H0?R@Nz3_6vU+c@l z|F&^`zgYxHOrm@mQ$E=8$(Zrh7sX*{0&eo%6!GJ}pXzhonkR;NE8;ie1xuH)kqqMb z)(&?;_1dvQA;Yeb1wA4Qx{6Rj3#{6PLTS8U4qLN1eKw22)8?M5XC6n~`$5K0XmxXx z<^Ff?oP~_nc4l@oWn7r{Jq4T4m4WbAupRF2bRS$his`h_B2B5@i?-XAj!_;Mk=3W( zFx5J#&}S$gw>dhVptoV}xtJ$FldkxS_oaX9&W#khf83Ya_o+oQ;*_yU@s?3mNvMv(#0Zy_qfk=1iggv2 z6C&&I*Q>>yL&IWX@R@DaJhmV7z!5IKf>BD6a==xPiE+{F#2?pUPas-4RZ2LPp^n6R zw!Yzv11g8C^HssVq6t(PyC`w-V=5mz+@>4j9xV(x=IVH`G8&@*$s~r3Xvnnpb;mmANPUi3}{xRI>IqGIy5K(YUXI zO17?xpFT&10{mGeA4qw;hmvPaWLfW7CvR=)9>CELtuKKkxDRNhix2B_#zK`QXPx2l zs7$v`yn=S@+Tsr4g-ZH2KyTbMzz^~#?}Lh*E1t0WdlkQ+;rbSsbVS*BUN@|~wC){4O5 zu&F}gaHe?t&c(C#BxSGS@Vrm55H8|Q?!}$O*f~$`E}Dkt4hdI{?3V=Na5qiT%9Huy zQb#_`kGVn+#d~Eb1?{e#O-cK8QodSpQ$36XswpZ*qY4y!kCT7Rbu`py@U8@C8T=G?P7SiK?(6lY;5*1y_S547 z+)dNFKky29USvie0QHy`pqlzCC(D1UmaP<*qX4<}UI0kRidc47j>|-A_G7bk0|8NKVV`!meD-=E^33Arv_v<%s2<^041=B2;y1ttNgsM zf*Mp0b8hMe1AP1}=!G~bq>O+VMPPo?Eg69 z<^VJ_rlK^Wab+r>I+2$?v^n9ptuR%b(MTZ~7(*2QB4jKJIg~21@6Y+E5}XJ;-fG4y$xKKOO5+>NATN(z zQx-cvC-vbguK!4_KjYS2hYTi=B9H)nz$24qswWwrynCNvy~*k64n4nYn#%tSig4+U zWR>R{S&15OjQboh7fva6g1Ps}Cb14RN6Pp~oSA*aI++W~S@A?u`KBxC#HZkLB_>0V z?p0y%G*?L}Noui~>TQa8nqQ(+YoNmSc_Wn3_j&S&V2B&{Ag^i@JUWm@n@nMfdTg!p zeQS$l-|oNN9(gzL6Y6M&F>>p$?TecnhKxfNi+#q!qAr{jv8uBl>wtpuVmfYVt`dJk z+)A8BAm!1sB}muT7f;B*B9tYR(*z^}(s%fVBB;xiBBN?qctjiv7_1e}MVALO4SRw` zm+Ot-6DHV=xnV_Mp6;T|r7N9;ws=8hk0q_fD$wh-k$^Bp(TOuNmyCr4ES`Db=_3-C zy4^U9-|@9fyonh=A2}SaARDl6J{>w-aS9Bd8$2i?wL}-NM%7>&yjo&9qH2-%6+#}a z{cu1_I9yHK2O{|{ReFNQN-wJHKZSV_bEcG1CtbcntvId-O zIsoErcky2n5dS}}Hr`KTZ>(d(VkYRA*VmnKX^_{Au({^_RR=Gv-I zOwEgQc)A_A%AFfikG{dKE0jJ+<&Ol!#%$0d8S^i@Hm=`MD^^xZs7<%^Y@7W0Bz@aW z011f4nhGsliM5?L8U1EJj3$*$+R`#zO2Iqk1kahD*h`HOaDQCW^CW-fmcubsh1xk_s};o>gSw?Kpn-Oyw2DLoY5`QlAw zsqksFpDsZiWN0GkOF&5v1@4zY*p@f}OgNWNj#UucN#9AxJ^>pXCJ8e~+aoT}7C@L? zOr+3>JOn-vHJ%(o%Ywcn1z|1rn$ zr``K^5_uzqf9`yL(>veV^BrVf`=D!6t<18pWAb^=B z_|M2KeuB-v_55B6TG4>r(sR60O~lIwC9pL56vYLU^$2Px@ED4a3RC|}*jE{=eS6i* z?ba~}&?p}w!f{s<6BnK)hYff##pSbsb8 zg8@{rZUHK>{4EtD;z0SPF<3pj5=a__4Dt^cs}PVJ^gHC!&EGe=(G1`Tk7`0%_D!8t z22SLJ=w|U6NP52@T3MihKm*53g=`@y5{8957M?@rWdfzbRNTN%cO<4Ri~HG~iX^v) zsHQm()|yB3eVrw8zesnqOs;&PS1C0(Z$dqG?(E@KCO^RqV2LqXi`lcm&cdpZ=!jzx zC1Y!2T&#vTHINS-sMmAMMveDbVXFjURx-5+Umr`kS=No&cgsdidQuSacmL8&eCmYk znk~89aHRhAgT>O^IxOm`>kB*$sU~&PJjewI`dP3q{!Q6H_`C0nURgcE7l&pXsZZK(rpaAXWJF(AvSkiff;J6- z-n|SKLu5FMdOc{Co`4#nobtJ;1!#5_Ectm+-jykKbkka!vLG4JY#|P+Rs?uaP^vgGB2u& zz1fH;-LF?Szjv!69qzD3~|e;M#)THm#)JL?+Pc)%lhlm{b?LRvxzZJUZ{ zU5*$wi(4t=;u%q9h2n6 zd6NhJS(sWMtQCZnMw248CtC5Jm^5d#quGYsj0+T#GP@>y7lA0InB|fPdal#efYh&-|Wa4DxVD!(f`Cqkbn(C@f|LdLiuMh-&C$v`>{TE5`(8wiG zaMr*hw>31Zg-AiyC2@Ml7f2Lrxn5d)t%EtHPHflDa@_MH^JNb--bSj#3?4NkxL|mU zn(`GryAwvD&_b$!Dpky+ZSqblfF8gFpa*aqL<$K|M#4wQ2yL`li-OK_e8qFRK;n<$ z=r(yG@>&s;#uXItw${Ik6{P0>M2e7S_wJK1g|afqOex5e=j1qGTNqN#$KI<)e=m*Q z6@is$GbjqI7!vR4GQDN85}N3RH)>m7ZR-j5+oqW(3+zPBdVGBR_)7husZ|wyf~;%9 z4k&UT*-96%X*T|dzW%bP13$Ly3dUHJ^UJ0=Gt4CC3)nOtmk>{qIq>=!72>PgC_fP}9Z3Y3gO7U^uGh^XzkQSfJ{XW&|# z>CPEzK=gHukAouCoH)E$N01HRgp3X3CK-PIlnlHU*F!iM=9u2|`X>76gpzj3tFH)` zWD&_be{mW-hS>m*N0S_0jZ8dCO}eN36mUVd49jTmjWefOOtS``C1BZO=b{bQpS;~M zs>lLU0iKqZ)zhH(-bqgwrurEnf7rSh1L~GLcz@*EYFd=%(;v=S<~lGF<$yDB=3jia z`zbHoNkQHQ(93_M8RznLeI2OlKc%G35&6u|Qioc~HAq615x0`|0I??j}etXtitM5J_9dSO#OxgeszX=YWXRN#+|m~=i^d^Y;JWYD_E{G zaK=E0scPkp5kAe5>e0)VV)k#~lP0Ucs-lqfV%_eDw{q$J#p|EYjxA zp;1R&KLV@7m8YBzT8^2w3N(^7dez8NV>OBu<+R>vrf#OuDIW7Goc93ErYIX=NCB}B z>;4oGg(^FYE3aznHk*u1tuQLfwn*KN@YZvm-J0O$sat3X)lN4|n$l!_r$>t6Khh?i z`dH>>lFP2xKQ+#1R?+vaISm@{=t`A`*69Q6Jm$G{@VyLWjmsJPe&BU6GZ;yeW;-P2*HLE~heXWxLUxXwHU$AUcs5+g~bayH-_LGj#=>Ks#{3g`!2K zZNgR60!$5|U_KeCucKjOpw6PE#+>z5i$t8+O8d1=Z!*VL?-c6%R>-SaWNO z*3M;*?zLz2*3or;;w@cywP*v~7@{+a!ueMOb?p#^!-2Mp`}N)kJYZP|vg#$+hB--w z!wDe6@beQTy&Lr36CTikH8U;%3$!6%sQoK@&`$zlBfz2MUst+nV)P#maN?GztiXdY z!h9kY7`jRe1+9`*1$>?+-F3wxVy4Nd=Qd<**BkIz#r$Sfpr51yD#_e79;8B?) zNiaE})J7X(Ll|N+F;KmLPz50yiAQPF@yF4(sE71v9K;!pw!J7TuByr930q+ufk4D_ zlP~H`>Kp$ko>?=1Q;WSPj6MW?#I_nAL^jS$-|RzU=j$Eyhvrrk)tI3#y0%~d<*CQ8 zg1YK_BZ;9ewaG^gj_7GP;mq<4cScSi;EHEYNA>1nm)k5D~!I3SGT@Cg+?y?PH{ zo5>bmw`rE0c!$v z%)>?RI_Nf50zlsl5sY~@MFV`5IAi8Hz9;eRUtr-z%g6OU!A=qL6TYn{6GQW!gAC^4N{9-6>)SMQa{J6OlzYkZeGTHHH~YTMx#s${&TIQO zxZeZm=ke{Y0LjtG-onh`AHLOp7vGAn*ZU~~(1eEoJ~01rF6)nd+Q?PU!0}%>nnr;B z3wZkf(SOU#&8g7}d99Z~tOkQr1W@CYChH&|;H#k7YNgFyU&cU93kfA3#$49D?pMJY z@m9X%4aj5B0DLT21s5(eyi=)8yI8+y+}3QUP(aP=HFN+m{aSoJ1B%ZFfQ@B!eJp%*93oxm`WiDa`iw(b+eVqvr z7Ig&-A$93;W?iv4jCoA4G;K?w|6+?w&Fx5UhFyQ@%)Y>_A~rg%tl&cxIgaY?^-;Wk zi!-C8yAiw2rtl)|JAj?5yFdEGLz00>DAlETtEg@2wup%&+|)LMZ*ku4+wp!G{={Ux zE?Ux-mCMiNryZc(46xLE3fh!fU=G3E#D{5yll{zA$@TGYSVHD6hk;~~(c~MrlSAKP z2iQDqQE-Y_01or8X*)@Y2*y~Q{>?bkt>(<{k6xI39Ji6xQUo#>n_y}=u5kw(+FoMM z8ZL0G+4O26^I)goR*D9N+9Ia|%2)#ifxP<${Sm~{yCX)p^JVH_4c*WD4V41 z8V(uI3kFJ9)oysR4pTOqF!$-wIAqmVap zoK9(d-h8b0E#~3tg*3Yziv(IhWaV?xB zZ5K(3Q?I;(yz~@~QI>9n*F$Zczpsk;yRJACfYy2lNVezyGw)!(;rmzZ?Y~7WMvBWa z%lwGH62#sJDBQ+MB*K!+m>(%Ef`XzZvRy8z>sPL>N=rRFj=6e;hY&3~aPN=wZc8H2 z>5;JuVj}s|c3FdglCE#~qlT6@p)t_jQSGUqL63p3wZCBr3=)K*VA%;o3#g$?n6+%I+&{46F|@Z>mw9vW6P4F7Pd#;1)v+>#rs;&+=6| z7|2AVRj4p1QP`o4)+p435h(~@(^QXwG#1aSGW*=iv66=RA%^zro_B}Ne@=$cwO5(<(6_{;nH#enz%@Hl!T^#n$?RFFpfgDncU=%p$5U zPv9{A^(=ChUoTNe(q=%nCy>ka0pEw9Yshj+&`IWJ*t{odL=NU1r1OG8c)7xSx3DH{ zYY)kC(3ZC~(v)mWvDlW<1s++@V&VQ1VekcSxsrqK%;j{Y7*am{3Y`V@??56bc1^b$=CpX1rknZoAXLM)Y9W9yC8;_6Ne!>W~P=(?V-<`~mQ`f(& z!Ev!T_$B@+Ciri^!k;vZk~Y7* zC01hCN#xSj{g4lwlolgVmy74}y6e69tlQc^x%hD%6OUE_3ArZqn>O=c4?Nz6dSWrJ z3L@f+U!AEbbW@(8-FL1J%Xq&R@@ErT;tcgtHRrFqGQ*^bx&6f=b zJQ~~7lYSCBPNKzqnX*K3h2v>h!0iJXq61vq(e4hYR68vQW^t@XQ4w6Xw|JZ#jsd55 zRHQ}RtlpJW^WN5lUec%*eT&dJWx0;OeZu7}_*7h(g0{FN`TML5mIAX!5(CG#jn;P? z$(PI{&QjkMG+E>Bt$=pPScOY`q=YYMQBxO~2Q*bY-?hKJNXi;F(>8V$CVu#$G{01c;`*G zQJ`s6@{G^McZKP3&3h}E)775W(_D|A)VMGKljQjWE835 zlzA*$(%n!NlItfV>V&xnAPoKY_~hXSdeEBkL_1$@L}uDio%cgdWH3w6yj-QO27YRg3E3hig zDAC7PPS3sas~i#UG9DY(H^pXA-}xz_Vfm}hxDHe`kR&=PJ5e@`TnsIC;wAK(6UdkB z2JB~|$Sqr7*h&UgGT2lSC)d`PKGpgxW_g-gG3NmL}B*8&H(5M@}Tz zxr1uQmqiqjH0+e8>#`SEKa%9lzHOut)eXAjPCI7QQsA~AIiG(s6e)Qj1depQ`F?8y5VicNHS5<>_Kz6q?=6PHt)#j?Z!n3N z`uK<1_A_oc{`??n@IP9pe-w0oI|beUFKB)yVf_Wr{3M3@hk``_!fJp1Tu-=AX~z>~ zKw>f&YbV{t6`?~pFNO1twx;=5+U0<^;MPJeim5|}fOe2-H}R{p{SMTaVp@?bljwW9 z9LX>bYc6e#Ct{Z{Z;;%Ue!)_=D-t`z{ z@fL`rnK*I@#A$7ij%LC8Bw$`{1UsGh7*dU)0M6ydbmhpdiVr8WNu?^J>eHhH*a3ad zqD5}))+ZR=grq)Ri4D6iiCZ9fws9zrT%`B$K`U8KZ zkb_t6=QL|a%XDcc8RdYmOPoI_6V~bE7N0+rb5OSdN)h)|CQa3mX>>g?ITyPpG**EqtVMgo$t9z@N;rTG|m^8LpKQwZE zkWID3j41zF+{x1>sej{xYs56oA|(gT=4A{Ysk*(`x4K{s-tK4;ucbG?Xt?J>|E1x! zX?2VzNGCE`*Ox&bT1=zl)*?!{W9K3cpUSlu82-QuLjzh^81$t{?)9UN;M;N){DB=O zRR-iVm$oCGHVfuI50xzIE$7)tpMDh>2nw?O5T{&K`9ruWqnbyvf`WV!5-Tq| zAeKTQJ4B2!o~ef&GHsIVy~H~Rfd`0F;K8?JIdUt245AH8Uuw!HQHxk@k_ydlDlFz9>j)E;Ok!PLVi7gOrU{=5p zcjlVX9c&OO;P!>2ad1l7hoyJvaUweh?tJrIHsZZ z=3*!8H@hRNF-ui~qwWP>eSgx=HEayOg3R5Wo&1Br`p@;`FU%?b=urMEbSOWgCtFvXg&c^0$SFCZB}z4q!kr|7&~Czhx%>BIP|%ih4-= zDxHn{VR%L@g!Qc{h%o}X)zO9Wa@hquLQ**(z&Q2Wt8rd1Do+;-swqzrB254m;hAH1 z_DEJw4(^w+yTTdYGT&B?r@2$6K;nTmmdthxno!I+xTqeps&J|B%kI;e#E?xX;{HwtNRh&$7M+i-4Q( z_`tvI;j8t7(0qzDRoE3+iw&_4uv}eGoLH%RPp&&Y%r@Z*VdU(2gxE4J&jQ;c8Xd}0sqca2vyf@5|vk4UiMAwKa0KmLD}|mh4~A! z?H^?n{}h?OZISsIDSzQD@ejI*e?-=Q*9*Vrd+YrSm z2J$`gk%Su)*4fsxE5e6duso!Qz%{kE2~(yvhfMB#04=^;q{xZ92RiUh2(xDz>fknz zIY5hVFNsnsyQ2woMa!8I@dC#xR8mUxNd-4%&)*wKzgoV5XqDmIwtl7#ZzO-RB`HWw z7uqfkUzOGxuqiM8v?+(%1?);bsOOyR$k;w%uYB~UcDX--UUJ32wa&RL|Jq%vG&hUz zLtWFi$PH*l9lj~ys-8NdGF>yv7CAhCBiwV{8iG!qX{uET&t^X?HI))Nng+#qDch_m9y17s@R@&b44Wq6+=`BN|kwh(atfc}UF%@Mp#% z+%BxDel_2m<@tp_Q$wlH3M5%tVrbEVsq8xGvw1iPVV4DQ-z!o<$iT7*!iUPHmnn=gz%ZVq6c=)=;UA%3z8gU!`rc&K4>FfAgqO+$#0SvQ)@|viw~hOM;yp7-LMC!dsFC6cpKC&=SXp8K%h!QFZ))Y5cD6V~G{k z;L|JcF4@}$d2qYE9^zd_Xv};QSF!khfT$s$6h(LtENgq` z^35-Y75E_B7^y)weO3gQD*Y6h zyQxtaqwfH(_)q)a?)e^uH6OCR-zj@Nto@1XMUi(jA(+xz;ZM|Ma##hTEUwo3)TjrYJ(aa zNp%h?&!$NxB1WdkFLETQik}ioWF?@GdILDLUYf*!ag>NoKO+5%36C6WN3=?cl;;#H zHME4JiF+@%%o-E*IAicxE=ck66B7DG1Q*#*<*H7E((*z~57ps^9{BcoM+ial0aS{m~xR(eT~l~8bzJA?&+h2lEVqD zOyM5=&>jd2^YRQ$b!OO=C2EWXRhsMeS$fg?+&Pqms8gI|t-09D-S!f@H;j?eL8oY! zV8uNTkrCX5Ef)QN+@kq6PoiKk-fwz*x}@J>fTN4<7;!Y?%aUJAeRMyHChHM+vrXQF z8_kD6-g5~#iF@;&`GE-Z_MS$STaGRKBmMt&_a_H^?V}?*e{iag1Gag zrd)KgL>%ODvb64xf(Ok33D?;fC4@#)J4uo>?iGfk$s#%)cfiI}Pl5 zTQG~ddq~97qt?<~Yi!YDU$1Qgf7IQOG!RFJBYjbKvnp5hgTiEgDl~JfA>Ug|J(ziJ86>E zCyh10wtnP4WKGP{@4TZQJXwRVF%eIM#3vcEF*Y$aF)@DEbR*F&s!h1x)aw_rNPt&25dvH)X?vbz^92!m0X3=!NbAB;TZ{;>QfC`Mtry z@>8e7->J69h<{4W;AQ^Kb=YH@eJ4(!A17Rvn|`WMhVEaxk-C1(0Y{^f`N0fK-=1)u zXo)cpNJ%;jd(A>p(kzWmVfQWu1^1jz{a2bH?I! zXJK}dM`zj5ApIwN2^*GSc5%Ao>3W7vEEB`)s4`+Wi4TkWY1TH;M(Avjj~KQ>aM8e- zjNEB%+(^(lfYGfA`nUO_m90hgW)eyY+{?8!HHd5~$|^E!vIa|3(Yy2aLzSqKZjs5d zMpy-k3y=j$DLn_?w@GMBaf_Kn_cEsVNts;})M{5+g?@i|1lRN3z8oO6OJN8d)%)7W zFtvI4Mh`6y>M($&YDJX76N{g3k7khZ)8YpWLeQ04kILA+75Ml>ifIsJEvPdYa&Z*; zIg(>mJwezKkN|_Pm!PiX@pZ=n#n9RD0Sn?EBzjw`ZWxM~fJ`kFHS4(+*1)=i$!B7U_QnoYKp*vZp23oX?w#*2 z5sZGQ>bsf%pflTWY+b`wo$v(0L>7~BhSynCQc+rQ|dJSNJBC*c=A`_HPgLV8VxN*R9kNyk$OG|>w>!* zYf=EKbi(4`;n*e}eVGU&z?%SVmyk$7#D#!@wUX<8FlK;ahZ6w@?a(XkNi`YIMMLk6 z$m3{=c&a7)DhS#~ccTl3nIFN;RVR=t#-@dfv)0pP0L$~fD+t}Ph2gt&s+?X12UI)+ zL}aq1imM3lu3OGkp&lH@^C-6fvCJ21qh>7%DHb6Rpf`=3HE@YFAqGz5`6bFK#)}p! zBtChm&q>Xttr)17TyfM&0#9ETl29>Icp0j@o2m_V8Wd#5zm>DlJW~#rA)kJLZZTVD z*|@14!RWydFuFyzFuOU-k8Wr-1fj}5xb5X2HsFUll(e!g<;89;KX$dcHu63Tqq_#NyqiCqG)J&G zeBr-inrQ~a(pg9e*S4^sxw)FKq>8J1*g}nOZ$O6~^c%b2tg%-6W1Fs+h`?`v8*)9q zDGKixhQ&WZb+c83aT;VRVt;-v5;=pxY5sDBH`Kp5FZ%Q~KBaGMJ2ySLj(~ezDr?)@ zDf~;j&4coyot)kYrkDN0Ns-8L^Wn?)@~2HjFKL9%nfd?6**OJPwqRSkQn8&>Tov24 z?Nn^rwr$(lv2Ckj+qTU=r@Qa{Z=bjBx3%B*oNKN*#{9uqiSf&? z$E^*@O%jV8`DUI$o6vl@a$G_2hbYlh5osJQ_D-*Q@4NNs_+5!1JX~$AkE5p*&La*t z!E$~^Yqz0A*rOv3# z&t7=boA@ted7t^SpB;Wjn`@D+m(IC+w2MuPxQHOSofRjLiXr9!UdL{eKBH!<>w8Wd9Y1e#iG{}mu=mp zD#PbCd)}wd5fA>0OvndA-lyMD7ygTNNT=^nddLSy-ly+TG@>Wgv@?Py{B*XGDMrq# z=oU~OkHDQkW+lk`U4QUYj3om!Pr%9R30uQ%(%~B=Dm%_cby%stVx1K2l#OO#fMfSsFEGvBeZ zF$8EA%ja+*q@^nWL5_(@*2Yc$cU49$)P?!%Ut$TelL|biv`~+GZ~gJ;ICC;Gf+x=P zi(-TxX!dw!3Qek2sxuj@^A&&4(W5r;Zx#6%lC9TQL|c2BJpyR?u_2a3-K@^Sx8VTa32(=)po@7#VB_`&WKOn7N^E-@E zd9w`1;{8p8hy&yD`T2E9)%3Ll`j76q{~Dtlb&U<}|HXa%hiUIiyka}AoRPg>$~v;j z%c~5juh!f*(V5r~;JyBY9=tw$*QmT>LLaB;=(>oa<)FcZZGqmyoF6N zi)^ud$y>$1ezEMB4n+L)u$aqGLz9<1PH{A>|G{qOU(Ru28C$G|KpPyMzJDaIq<=Zb zslS}#zEWzuN)}t@Y6b&Id>geltJe(yO?Uf5!TA*!n0DK5gnMC`Z1tCS92a|`b)HF;!7KraZ&~{YmL^Pq=cwBrmatkkMGKyN z0vh$NyueU|8I6Fu+L?x8)9IJ2&$q!=~Nk#~7mSiCIa!%`CoZSUet{9&DmE`uTYwuPaNp>9;_ zwF1pOoGT=V6VappCSf0Wf<0UZ!u!o3qslL$F1}t=m=6~K$#L{V;`{@~b#Nx2j#2-X zad+4-h1eBM6P2w!990A@0OQa;Yj1~IpZhTG{digEvUzk+ZfuzpDGZ{ZD$m0&;zo>c ziG1A10;b$=nv{Qf5uAMGz>sl2`&cG!%>x|H= z<1nl6-IYaNk3-^?1#TJr8W7bB;6e$$kyQ(nDn4p`TTls+{-|!UZenhDb1H^97lfR8 zc}_gFxmNT_<_-ZZ3Lw?$F|<{?by=4+&g@>3Jp9C$_tY2JT%9_XjuVp{Md%%slM@rm z*UQIk9pM|xWD(LThj(%BdCo5vh`TxrF@06&7!%*-BBruD2s2mv<@3J_Lq!eveWA7( z14@W=5d$&;kK>FX!AAUyZ$)#oK}lKpnQa-P?J#8ZoV7@c*Ujh_tQb&Tjb*)V@^(>ql|++Y{r)}%z+x6nU1diDQKIoa0xEv-*hg9L|*sT9~7!`rpl|z84o=f zpta*-rT~O?{s&z|aQ29)=`gG=uT>+ULQgyx<$eO@Lte@+#-R0dO5}q@uo1!)Db<1u zQEahs)HGVPVe3v!ZvDN$%%i26p}i2a$#*-gxJ~}a%_RZWC|ZRZrLy(TMXvL#$Ea&W z<>mN`XQ9hGT#n<9TIUsx^V)ERhtVkSwaf|G9+2DP9vpa5t>Bz6@V+>B5*dmOPG1!;KVxPrY$b*fqe3!c zW`Id*D6#5pqCgztChjC?{!>d4)V zbUWkrBJeSxKUJup5DQva84&iiSV?isy-49;vF?(iFl~x}16QD^G08rHSYb;#6tr)_X?Ly(N#u zMw}{OeYK^oIO;Z^QM=m4AHTt;Y~GSFFC+4W&`bDHWgg4t8&D&T_qqWP-enDBtx*?P^6>%Nrbp*9zuKiwGO%84*z1E0F*$CM z-AdY|EU7rS0=}j~gYS}D+dix@A!ez@*xC_r!c5K{_f`V2OOF}6VgLaP>MeYoLr5T6 z7-9mc^^UGgEew4Kf-luI>KxR(H4_gNP5O^h!=Ltog9JacW3LkzOH0s@Yr%+{zw7kG zIWJ26#J(XcXIK=h^lW*9G~$d64IVTbm4M)P$workdMRnI3C!TYY^@wX0~a}HH3tX5;-MY|HSMBIl;L#2ba(5aOA z!xB|!MG?R3(~L_prb?EY>%*G`zY-T?*=Pzot$ec-QA3RcdQ6J>ED3SQSObNN|Jk!Yb{OC@ zX^meTOXl3!m#N;2;%FRJ0$`kX1#ieH2IZrod`^)$)slRG^J1LB;NR;tl`oUy!Q2yK zR%rKtwdw`Zh8yD*bS!OBPPhKEgvdv928BQ_CI|2)_#H?&Wp|JTLfTc+sjq@(onili!mDB{*&J_FXsRN(1T!M<0$>bjW zdF=jFbAC%aN)Isg$a|6Di~sRQ*N;90eAoPWVv)@J)(>JVNy@E&^7R8M>h3O%5ja?%u4Af!>0i*|ZU9RfQFH0he z6pu)E>5X{i8;m~_!=X&J={l2Ww{mdHC05~Qk#(BY6a}Vb8&wmm*B|H8W|1t{@>RSn zaK|#fY_++olJ79G;A^4YPZ_MoSIrDm9ZLMWa`}T=?nH!E=s=J-98I~3`Lo45&c}n56 zvEZWEaG5MgiWw$sG1-|7bZeGP%g*Hwuh&GV`C?3|3h7B%CYv@y z3*9VdhF&$p^J<{Qs&ox4DJLGyGpb(-lY;7kYE{KMvxWCzqNk|$=?o@Kz#IFVRhLtoWA%LR7INhNP7R^8_a{9K^5mD{TL`5SvQ`I0VC7YHsGc#p7rje zYES8l<3797I2>Getx$1JQCf`A2wLrcd5nh7!{%P~+MTQ&0lh2v904BL-$h%Tw2<2| z1iahudxV>=qD;*JXxpYF5?gZov5tJ}1R7v#OPfd|DheW$sFvs7;NS7g*f0g`xsbRI zLF5K9i(}#doe)1i>2HRa(uYN)O8<_iPN`52)Xrdr zE`Q#DMQm>FY%ByyuaeL1*b$X>?d4r*4IR;d_2U!^IRB!L_MPwc2|JqMB+DZ#;-QOV zQ>=OV$wyh?FrIt;{i<|zo-5#1RsI%u9M?hmlIvpal>SrqvDtZs!)WM{<1lkK{GtV( zGL!jdraEde$~&X2m9vMi5^p9|+A4O+wgWGpq7UbV<%ggy?MEHMM*<-jNoL0rlNjqB zHoL6oI5h8Dh49#XZULt`Soctnz(suAaJ++PM>4$_wCQSt=j0U&X$exTD)qj>eEFper z6D}OD1KK`U-oowpm1@FvBgk(mHx52@qQ(cWK(89Z ziQ}ZHBR{psj->i*d<6DeCeFsJV)k*zz1?N#%5P%SiYV56G9pZM&YRFzS$>KQ2@haV zj2?6`#vK(zeD|clZWP}0UCv`t$K5i4A>(}MxfgM=IUReau;%$jp;t#7Ov4@Y&forS zlV!m((*J00ETYhBP|4NkLpG|jPRk6zo4 zCBWi+76-&Iv*Z#zG*?3%F^1Y$Lkahir(_}+Q2o4ck4$5_&4B#$NwAe@@2XoS1kwA# z;U*=`qq^&SqWp?`p8B$Jd-v=^G70*TUH5Hrtu}2tQ8`ZgZkz+2X0D-KFd9k59nEV} z$ACMK>Iy%5fMGU&Z1(UmYwY5JyI?;RUZ3p&&+TqW;c;p15?N3aLweK<0A1r0N`AOV zNGyn&^ni-sHYt5j@F1BI=i1*Z|8cxeDYe6t4mr=qcq(;S&)K3+fW_bHn$JN)SKS4= zm#1mHCmyeUzi{gP@1zphKzrrjuk}yPmzwq;9nSpgbNqjyOO^?vQLD@-L65g6;QZ4Q z1yP#D%as`h#B`WT-NUA|br8Jj3H>U0C~;APz%+I;Q$pJLLKlw)H-z_%GI0X(NT?-) zKY($)K3it}?Ky1VDr-RZ^^>lHZtld z=ZKOaMr7Ei@ZA>tU4FjC(Py6Kx!E9vbw|ghPUJ~Kxvw#lQXI3!Y&_^VYGIfwz_k}b zdrH{Q5$0@2?wBy0!jF?Kkr$1b?k7~BnmKok{BxB*pB##(p8UlZbnrJST&1oy$;XFl zdZUu&A!H&_o1^;x$b(BKSe(8ZH2shPviuQb8d>VGK4xII(`_+$Eq0gFEOz{&U^24ThH}@%cQ8*911Xs45d&e0+h zjtcu!^k*A!m#O)N1Ea0T-9l&pVn>BgZN`02E7*r@pBLm%)W?$3d(CdEj9=Kt+{H|hbTa1M;e(s!MY*#6p!Q1S^Ngva zKesu}ysCT2#D{gs@JiyxJQ;relNtp+7Ht^T+e6l_z_>D)XQPM8VN=KD7Qpv%@oJ{G zNlc{&e&x!ax!vJP0GtHOOQkO~5Lv#XStl zNd?dk0sC)>x%Z_M?+U?}mCVj#(PD;_mVknvLX+Gf*`we!@3&oT-b{BE_M<169gNA; z3-daie_QbG55EkLepUC|S9SkK-r;{%_y6S(IsRU?S{43_X$TX*E$T~w>S>WZCukLj ziKIggyB7SN!c?e|KlaQHV;Kl_KUFVK(Slc(aL$$vgI+t)dzdYdV5z+ZvUerjV0}@E|RDy4QQObsm zANoZZaff^hRg4YUqmH*nY<977pbk7GgIEMgt|7^z{v%n8bXYt>MD1{2qH<`Ol3=KU znjFa*a48!s{oMYFA=dDxNKs8alV%$`U-=B%PnHkKULq}f+@*k4am*a`*$M4> z_nnnWsJBG#XwrcQf!cya2MU->>5~(XN8{FU@3wBpzHddkuBE7Z`Qw${4lEnZRAKJD z`_MLG{e=z@$(@r698Fh^fqB5dv#}8JgzWgM%FRR1;noB~Mz7-|xQJ&P$VJN6ow_?~ zzNvYF2T4PBo^S{p#t7oVkZeX=%53p{?iKK)!GOa>$ZTD>I9Rh{M2Un%;Zy!`6-0rH6} z@s)d0{FWZ1=@j2JlC4@er3|o)*EGhfmHOycS;f_^Y?kB_u8P`s9u;v`TMOitH@P5{C3JbxSV;jOzRT6O*VB(G)iY&1uQd<({QZlN86PheKI$# z&z&B5ZK#y(%!2*YXC9D&I?x=i_sn|9rG6=-s|wQ9pZ50?_6p}>OakD(JTS+1tv&Kv z@m#EwS}89yP=bC88RQiYt4GZ5A;-SOMv-c^mPoM@;ToVQtIaY^Dt57PLtp`i8>MSwp(MF0%`F zPnPkHInVO#m>e>R#b;+&yc0*-Q^6|%SY;5N1zGEMRnqs&r=lQ4!3aNof9#k48)`6HQ+QeDRU`E`~i z%aU8hN83>UkH4|Sr-E|ZkH179j4$}@E;QhW>NJWj80}+|!ID7_VAA@zD zV{di-0`PF#8vPoWSw4z7=-7UK15fBBEfpyTwDJJSlrO*@A3~&?&oC3|A3oFJ#DfAP z3e$#^L^OTXdVv=mrJAbtVUT#bOUVPX9K1z! zM5a2JTU9Q|VpkT}lmUN-#t*7;sw{XgMa6s7bvx~2hw5}2o2bsH{O$NcOLj*x1}m6W zM+K-z+{uM*C<_WB1`B3=RLklO`3_Hu{27xb$>?s2MH%{ariRLMxBlfe$Rn)yE$}bq zKKu|Lim(Ww9jf#sak4@)6g9QqH6yk#ZHrI*pC`tQpm@3&2)}Elc9@|ek?v`R^1e$b zDP)~=zqdWHjQrwWkScZYkRC&toK3@z=gVL z5ZmJ>&J4;U4>nY6fA44IWCT}WtO0E{!EU>Zjn0U%1gzzF~zF12Ew>?0FW?;r@R#-{emFp9olO)iS? zu`%zVoE#g~A@ajJydK(Il0M2rWpyHIPD_CPV_}*~em+LrsF)?Q8e##k`%^!m9{_1+=RCR5qC%v>KJ@}heUZb zY!Kq1RVOFDg2q0FxQ$)4S0 z$+4Tcm&!cwc4E`{6=ys%Ak$&ddatV3t9G`qD2#b_eF4)htctOjyA;;M*kdKWekUhv zUcFx049pRcZPH5@so7>Gc&YpSA(BGJ7D{Yn%QJ)c7$=sKC_Vag63ZnF4{vv#Shb+q zD**m<-m_M0fkF@-p{nspq_(vS*q5u1edjlpoew?Hy~5tQO;wvi;@4|*X#qdpJvEm} zk+B^?_DES5g-V=iOinGWOvsmQ`u7c~W|QoLi1u$2T%lVwQ^`e&xeVd46=2{69x?$B z=(?FcpT9tk0xgo{=lMbGYxmO9#Wtru1SB#8g2h5tP zanYx+CAo=B&+hd#r@r&Urc3M3_V>}iIasmu=5UIl&-54I;D(QGJvwpsixBqsI|s|x zS}!%q8pC!(?k@M}6e~Xn(7hD;XNOpYFea%V=7pY@{V8NYqA^V!7VsV6uY-m}7G%D+ zHEP~M=6KTr1_hQcA=o4oa3*!Jx~T`ep6Gm%*wk-@jjV#h^!4eFmc)6tOoW3eFm`^7 z*|S5%Wuq?fJiop8?wan78m^jbvNj^W)fYHY6`Lc*riY}urO z`5tBdv@@_LC(HCX3}(d!Ca2FNilFA@i--u05CoEDz)`o0Fjc(37F`cd4Y|}MQ>$!- zfJ)4`v{Z46YD;kx)+a05d0>Vw+uA*e3T|?~4Cej))`d6;O@Z+%KW5-Rb*2CF4flW8 zXPHXle-&xxD;XHSuM4oT=AA6c`5&?N(CG@C@(d8Mm~Zuram`7hfdxvZyj4nfu`f`W zxdw9SLexwk3b%dHw=~q*6I)~&qacX`C>dbNKg-Qxr;tv^8hU?f918<_#VT|Xu# zME`O8B5Ud&5ofX=!O0lqVi*m9&k}-4ZcGEDCkWrQe$GO(5c3D=S7PI)U{TWyD$E{~ zY3}?11O{IyW1>erDIdAs?~Y$!_PX*VcI-{u7^&!R4rNnI{0qr2b;dF~Wpz}IL-$2- z*?0~N&2-l;5dGgb5aF_KM)xOSn2a+`VuaDXyF;D6l)JAgrIgOO=I&XEEiq75OqMSO zA<2p~mgVGz`T4R1atwV5d1O%v);le{aq1mte}6e@xZ0T9o9N; zVX<+qlxRXFbZSljJMd)lT`pcVlr^RXV8Z6lEy4Y2AZ$*$My~CHGc!p$%NSUkX-T+Q z1ckzq`%`V8I+VbrGmPchk8i{Jp~~6%@yg55zHa4$<@ARW%avY}XUnp+lX_mIPQ&{* zZ>vTcbRQH3cJNE{KHQkpxZThanTwXB31S-nt);o70Wq?j)PCeJqMc{3ux;*~3Arg- zRT7LOMqxstLubyJe%DjZzD1)(Z`r+*XI<;VrGa((YTWxZ<;!Ds7eUAbJfw5~avtTV z>fK&&9Qm(FY)O(g-TEK}BbNCHDYplDfmdPntkB;ny zp{DybAb4;O)Zw>5q&9qeTw|I^nRLzbb6-3p(fgAB-VxfJ@-!Y3TGyxswlo|YU2J;B zoB5;q;SY;m2SHq5R~ZAG;RsQVNTao70)nOPU7w~vxGeO@Ll9vsIg21zo=kh~se+x0 zkpl4+rYkL3GJ7ECG!!MS>sx*wB-E%j9#2G4$J^&me;DEpqxdLt+Jqqv@~qU~k-<8a zLL0@LQ@55yc2Rs>%iLALobyg2^DA$USpvXgx}+Ij6kCZo_NF7 zv6pSmZI7qsCoKvwYr?*7d-?m&gLQ_o@q*!CL%{E^lrzW+87??<)G9ys0=!p$ad|#t z;LhTx{3<~nIOeGEy6oG#hIBb)S!9eYw#U!NL1wf}d+<)rt2bz=iJhVteuFHGAm2R@Z;ZKmcEUByUBNi`}bX=@1Tt8z+4P%v1ym z)0BKeH_%K&ZuE$dV#w%-kFF8ID;aaI^1p9A?wIl0sT6o~sPZl&S}qk3x<5%>D91gq z-H;7)C(zUlVspq63AJ+RJehqw0+*s&h>paGpl2u2PanE@ww#46BDzy8AgGO7kXwAJ z&r;OTN8xk_^ETCguNd}@H)S;r0e~KNqgnj&oN$3C_mt46dPt`#uiR|c;?lkx+Bx-g zBndLhedhfLtt|kc1-X6DlH>Lk97dgw1EL9@GosEIF%_gH-G&K-D6mphQ&wX?e@56x z;JW2+rr5bLm)l^$Jq_o(>J3toiY#F|3c8@J7a^k<0?WO)+p< zor$VuNfQiYM}UJeZY{zJU0b27U4uZISvosYGX!wxKB*6gd&upCLuty7#90w0U50ot z{E4XCLe-QBQ0trq)C=(df!m+c9!_{NhWFz57ViFS-$)59;u-mMA+!SZU+o+JKTt4I zaoh@v<*&eKm=N5(?uIbj)p(21C^ZrBc5#>?Ss=4yH956dtT=O3U);hYfY?Tkafga= z(yMt34;ZL<(B_!OZLGk(Hs}?Ul>uP_Djh4V6`4-VHNXYP;mjHyDnHjVm0|^Pf$5iE5le`1Ycx zu9mgG?NCFNj2&U;b~`2W4xUFzuz~n8in;fWLOEx#HnvC0XJPM^|s@Tsq zb1HXjo;r%8nH)=ggAZoHtJ{a06eT-Y&#Xj=lq|2)|-;z$je zX!huMz;{IrCKvsbWhf`eq8GsVDJA9>*37zgLam5$RQP2PMf?*OQO%UN$B7toB%+I= znIM@GS?^GZ2055OoQQQC25lJqn#ceC^XPHgjTLtT&MNG3m?a}3*84~G9GwoES7)CL zjpHja7(@$d*kK8@N`RH3W!30<$uxPdq=m0mms_~qB|d7n&%lPdpduTMy+DTQjr@qY z1+$JS1*LhIVUbPEUOJ@?n6qFYEzwR!dJ77%&P8CUb#-Z<%iNG{AdaV%FQxDI0(13= zC3n>YC!@xb=nxeHJ&xZaKNh2G0khmyqIwWSR7zfEqg|Cw;KIjmWLLTH8rYq*j6pqPuotG_vDro4;F3fw6&94LBFkyL3;^S#KKuUnx~ zNfSzzRcQrrKgumfJ^Z~Y{zPCp48Psu!|`8m2B*UJspqA&0Ukoxbw3UgOnN;DZR0f< zZz@%<2V04A!--9ZP%9qpvb-yxtv`jvouxDgWZ&#WB}pwBc?oUkDdXpeF)@n+r$x z`X>l(=K`;<8E&WJIF07*V<9;G=TXYbm9phwIbtcj`r5tO=dgryvVtWi5be<*T52)h zvX!@x^i%19`bPPK;JzwYwehmNBMWu(mXG_M#AyR(yR;Sha$zIt5Mf7j#wKMvFLtH*uqTsu$6zy#st zx738bZmVsNQi^#S^050LG<1k6h7*aX>)H}1{b^!Jj&gzAE{KZO0y>qAlXxWlM8RMl zcre_K(+u^oaJc{z&>f~8K+_^gj`U0}V}JJBnL0_@HYW)+>Ie_Rym)zVeM4#ao@yHd z#Vl{DmpVE|N=E^scN&JMlE=DvHFhN7lVUG{7g@Be_)VhbpcH@H(I*a2P2f{W4Kh9@s9~7N8KTjWnJ>9{MHaI}DiT>t#OH z7LOkN)?nHB&ixZ!==u4EB=00XQrWztr>a`y5_VO97#1bXx%hcD;}A??pq=?yt=eLO zBe8+58t;)QGy@~(VNB_}-7*uf(NwI*xr~|Q$EZ#7>N$0))U$l4!P0M5Y+dbq)~6cr z^meN{rbW!Q`w|2wcg|JdQMwAYblqC>#(c;XvgNN`D@Wk@L>%bq@plguI!Ra;|%qW6{%AV+p?Iv0` zXCUk^Ips;AviQ5Cf-KK-FI>|yfEaWICC+i;P><|DMJ)-1ayw?2N*RMnd}3bMB&}=^ z1YNKW4NLco|2WxEE=RYD1-tk4Clv8^qUVsuu5G~c5LfiB&OPUSci$oS+rGN4Ue)0r zg}`!DgR9n|lDunH!_sYqTg(Nj5O|>5`fyIwbp80ON6IiX+SV%wU7P?_K_>(;E75iS z=#@b`Ur`SSGo-S`XpJ*GN=VxyZ0*l-`#)rCUwTjlskP~gt=5Uh*1Q)D@9A1j;hfPF zZI<8jjPG;p*eF0~7A{R`iDWT-hzcMn;O!K7xf+|~6lD;7V!v|kdU(!e?25E}AxXyZ zKfe#-yOoX|HWe)=n=QL87g!tA_2e6!2Ejmk*YZ+?3*Xs2*gUvA^fiY49?Gr7N<#RXlOqq1+8_7vhsnRM&jeLNy{yf3jlumo2kU7JtV{$x(gOjpxh3*rpU=j|sC zRBEPtux5a7M9!f}q(l`7bLq-lCFX+bNs1J5B2m`ot%*kp%k?v0fU{zvi_+-hZ;eRn zJ2D~}rHKjZFQsf*95r{QEzg@X!559Xs#fO%CWxHHPgQx5dFv(}W~0$GJ)i&HbD*iH zNKC(aj?vdQ?tig{`d^@GqLP&LSIg;mRsI^Q%6Y%Ws`dD^rIIOLVJd(xV!=0}%HqU7 zL=u&f97_T-OJZwP+A}mmwm5Clo=2H)5}B%DYl&ygmA?eimQz`*H^$`6)>ZvDu6*EA zMN`4)zq1)lMXmqpyw8grTMOuMV?@oOa3$1fSy#9ImPY9-N*jU%ksp9KLW@Md?O!6O zEsO7WN)iz$IqU$MGn5i^X?4fpyr|O;42CN+N?4v{%SQZ@?SRZct`?Rcz>X_g!Ib42 z^%P=~Akslw=ulv^<8DX5t3IS0u}WN&Ydb%!=Se}6maUkCh9>IkT3BHnb9t08KjXG} ze=d1;r3b(4D9Y}bbmpLOb?|a-8#sO(tyC)LxKl7?($}07XxptxXYh|XOWzy}3AP~o zy7B@fFBS)^vR`my-dmq+cV3BNv=&uaK`RugOVM%3&8OAL-5f8up6oOiLM1IvZByFS z4-@{OJ2G}*3g_o?_qd6lo4DJHD1n5m)i%qo%*bq=GdhfU@~EXY9G}*f?-@?;>|Eg7 z){pER#J-#-cU?;^OTi-N zw)|hCmb4qa41CiHAndy()UxSVkVk*;QrcBfSx=tchyhimmLml_p;Gx`1BV8j}BPIyt+U({Sh&UzSXbj2_2dI?Nxe1 zkf>d{BZ~?S`^t-@mq!d+G@-_s&H4#jtn0Bq*|#;i=!t!J`1G7UqUip?({l@t+>U7D zyY-CfXN-E~u>rGc(s^b-U`$HFa*(0ICMl&NAalU^IXm|yZVYtpU)LWB1-=UJ50QJ9 z-9RUHDG%85dzb1`->`sjV;B1tI>>P{u){|j607o4REifg*oh!z8&@tdpu_EMpuZOS z9nNK?2R37<7b5nBa}bSwY^$NGle3QSuGOz z&w~*yoh_~6pOr1a-2Rv`%%v-&`;B!;S&2XFznP4A4H|G)jrX_GKjp3Mw7Jffr%>YM zDHl3whO3RfK2^x@h4azQ9?xh|DnBf4!cl}6^ScmMpG z2vv{hxm*6#zP7*G*MEdV`{#=8-%-DwN)pz)e{Jc$q-xwaAxv~GD_M{Ws~Jq#1go=i ze5`_RhSQ8xp>y&HI9M+XTn|$U)gkCLh9&yfV3T@cKHT!1TV;`QYr=gl9UWm3Pu<+dNvBo0oV1O~g5DaoR zgAQyY7wfRTIkNJ0@6x_*HJJ+itbs*mg&1W`TeW?5a>{No<5nfFg_2Ss17J+qH36p_ zsz#&i)lp~!K(&&$oap~h_dizJfe9;oGZ>^%$ZlX3?!SQ6*+}uzq4z(g^tmLdJ3fnu z@JN~PZujH~hL3M+6JyQR8sB<=+gJ;-F1kIo44Gq+>~()K#q8t)j$#wwc_U*9_|}(@ zAcNbs)7UW=#GA?Q5PKV_F#^i3kZ0iMKZRw5!X!Q+MGReP?h7<%K%AIbUzr;wps{Dd zi3wT`^RxSq;>~z8$C#7QRX4e8DA^;AMbusRg+hhgZb(R5VxonWD|&Ytc!kTms0iLP zS|Y3E<%tNZK4g}cC5E6k5R9fbbFI=MJf$n5%1vN*oUV>|Ip$Y@I5PaA?@a!x ztRMOt1Js%VFKO)BH7=*bAM$fHP(?+}lV6G-YL z53du%*sfc5HAfSLk*`o|{S|{k(z&g!hcX^0E)5Nh+${p<-CFXN=h>dFX^KuLgM`Rs z`P%b$a9k1))$;dTZR`p-uqu%NJ8Dm194NPSoY*y-WKJUo7Lz%->LciffW<#C5$^QD z>5Mzj>a~mm@0z?i*O<=tiAW`sN`ed$YNuMK`4VI8jF4hmr;LN+F^@*3mrGfM_XeAf zQ(2Yn>>CO@;b6*yJCYdujU=S1bIN4lrNxymkrBv%Zmi8o$Uf_wt-B{!E-U64Mok>Uk)O9 zv*M_cVlsB|U-z3`TKhH{>|yNJ@y2shIB!>p{E^>hHB)l1kUXH$ep&a@68Urg(9Kn| z6WCiI@r0M@IK@9wnvON%BY2Md#rRtk zg7EN0C^{R+on9{AdGgqk`rHoQl_e}=MdQVCmXtd(@myZEY?&rbN$ucN$J&}z6Tn{j z*mkym*Mc9@5-MFXs7yC0tv(#zgx*`&+;D=V{gRSGDlI`mK;q98El|NqJ~24)K0#Ay zRXw6ew7wEPbtOZPB(n(;jkG*q1Y4_FXZLp-eQ06)-I$O(sNNF*t-iRyV4jcsvHlNT z@+3k(@j93Q!M*~dJl7Eie1kB@+f=mUB_DF4#Q~K)9P!yA>Ads6q`VRHGQI3zGj{9z zg=-H4OV)1A-}};sXaKcec-9|PO>Xc;Ke%)mVn({_w;JZ&RLAW7<>eL$C%=^VD#rt} zEl#*YvAHSQJL5)V+5A>4T7O>@a~^&Do3>8vB*S3UKR5sd@9EsGaQky%bryn?bI9c!AShrS93H}~r4Q>&o&>P4ZIpd5Dy4qfLuSZw1U z$EP|C1#nV@DNa|t0w1IRhv;UILu`5LC zgRE4Er7$BhOJ3GYOUg|iCTNz7#fON&7ZrKxpcfFAfa3m12Qu8X?eTW#kI8etMJ6dY z0@%j*N`3tEi&QmCJ5+5c%@hv3G!CPVUyKzpE?j|k4>MsehtVS8Ac076#*D6tawUwK zpjyMeb9*KYk+;`1ojYqH?-l_qZz~3J7F73MZHb7eRzf#N$qg1-a-ddH)>O$S#$?HX zpK&sEB4Dh>s%0KuTTQlMZ-r8bEsv4mgs_Fxgidp#@oQ0BQR?}X&im-k>fe+ST>8fL z;xC^W6W!%~lKlaz9S=e4rit1=N!cUue!)IIxHnHoLEjUgk;Jx7V z-Hgrw*oZDhZ?y~1u&=#qtGP(9AdX9x84ZsUMZ&ts3YqO#OLh`T*-Xb;0iQUQwDOhDtG3&0=mlof>uu*Lf2OR<)a!pV{3yWLZ5 zTkE63A)Eprq{kKM{gStkIzSy|+dB#Rss?$x4#a;X^a`6o)gU%wM>hF8Gc^VfI#SO zqIu4)-r3Y)tf4sWd0X8?SLDPEWuUJ-P4Iy_@RDaXxRfQElOxT{eDMib9@c5Me zn5B~Q82RhP!uNvr!1Z(=dpgfc>j;HcZ#m8{j!H+Rcza~ZQHhO+jdg1ZM))%ZQD*NuH-v! z_rJgH{#|wV#W`c&?lIwUW8+cc%g!!oaRcm4RaSbZI+)H@Y^Yehd$xdS6xD~*DgS@zSgMj$iw-#` zW5geopEp_BtMS-Q&-Os?qokhxP(o(|X#^1afziBRF`I9HLGVAjc>>y?Mv10w_q_SL zq0t9?!!1F+u8{n}nzMl&pI|@k+JzUvC{+^kdFwKKd}Sn{pOm4pgC&f~h;ik}$z(W5 zttVScB9t9-e~9?7Q8Jb>{~QaeB}nDUkHL=f=5t8#-eWtR4w;Y4a!Qiyk!Ie%p>N_F z?2D+e&9oR*dlS}hW?20YWzWb(rAjQtJsOE9d5tPc0i6_^%vCA5^TMKdF71@D&Xtm` zhQ9JpJR<8;taZL)(vr^HS51`U&X)v zMei*Ium7A4s2vdz|4;Sfe;U$!KdCW~m6X*j^e5*LNB^XD{4 z)ET@6Lt6)gZ{EdGYp1eRa18W~)2JHBvGLle*EVH?+`BOgbR?RMEC<0oVf>uOr<3^& z%UI6D8F4cKWRMjzXF*58DawrnY~2P8!Xc`2X=qgC0JS%bjd>u!tsV-~D(dS}O=zT= zB#EjB(MnbTPHl|A``^F*0a9^CGDNF?4`Dty_AWWGzAVj5ma}=yq=R$_r0E9^--6~q zOzF;Whs#_Ocr4w=ulUE-WEyx33=ogo2sT4EkMww~Lt7)j?&3~Ju}MkgiJjRb4~{^x zdt%BNC>+X;w)dXh8S_SmLS^m8|CoOA=8dK>iIOm5{-XFba(Idn8f3v3v5kSO0mRJp zKAvvwl3;O839JA!T4ng7@8E}~b|3wDR#Iz+3G?p|WyYUQVINh3d&rw5yoVdOlz%++ zI4gE9|9l*cIP&(y)lc6RyjD z{!Oyhq2B_fwB2912KlN*ePfv$t(Ln&%h#T&m)#^X0Z-YTb&Xp(EeLYNWC3xM3(Xa4 zcv6mMEPj-WmBdtd6y$hYm#{OX$#ATctzGrhn;C1UQmTLa!qCdn zbdW?e6D}a1A^lRX@Tt%H^%>HA9=e)sOKa@Fb{0cT#itCd`;a@R=S?*J!WnmjrHa0| zDOPJJ5ifiz3-!I{swADil!xkCB{z1&XMVB5vT(4F$UMn0HHt&dm*CGFo%hCKwRSbl zB^BJKEal!(P6hb)*J)#)qZ)BY%b4vp)3q{JnRCW_wa$1$ve|Wuj1iej+P4#|xF8Of zRn0QcrJisLYawX{<&Y?J)B>4s4k&(c;%&YN=A4VGDwP8l_YRx_4!l2&XWNQ4nm2s9 zPmc{3_YJHD-O#*)MZ32tN7wa~I$iU;jYTWB9UEuuo{>Dtk4rvUVW!qctuX$OX=@#B z-as!qIsaGWz}D6d?(6-ls=7TVeYL^}7VJGe1dBZ*Grk&a{F(lt32#ll2S*5eby^z= zJCLf(YVPxWTU8Abipa1L#Y;mZYG5LGc-Wk@hMI+a;HgV$c6&Zw9=gC~78k280!T2d zN??>cERnrSlXJ<(_Lo>3Z3*0V)>-C~Kot$~KGycW=LnfB;3n&Yw7V(Y6GZeoZD#}@ zVC1}?lcAs5?3%@*Aj^?bLvT{yz5`imzPA0SLke=4BCi7uEAYEiAJu;ucfB1bZo@gE zKDwT+C$%$m%KVhY!Zkl|n`rllC=fU^XO(z%y??iLxJ1zRdu7anzZOoO0dbC66&Hy* z>9CwLjlQAuP%!#?2ESmk7>vcCM#-=k48ygwB*GKg6{awpQBD;laE7Pj_wOP>1C=la zEKyCEMacKqjm#CQ2=aip==4t?{M74Z0!qct1Ic%OgKF&WRpGcmW9RbXg0=Aphzh^^ z%c8gtk)ZW;Csh@}F!tAay?)#47gqo7vZ>?a`!QfC*iQWLKybS!>g3hzmP1CU<7pF% zt!WQSxW&2%P4tpnTjc2bf@^c>SDbC|8nBX zeU?{90*F&`z^wWIK%D;f9En`D0eb*(+WSERF^HcdW{trI@Dn13D>!hqxnxE1_%?RtHuf{{kK9) z98ieG`@3`H=j90z|5J$lA&b?A?j|MfMung*)kq{n0~BI~fI_T@s2*jW*NhvTd8A`R zJjT^ZNG;i>8FeJm@V(pQbCLqz*ltp`-h>>N)y4N@3hq!RsPOJzsJDb%dD@g9cVT{2zulvx^ z*6|g<*HB|Kraw+vIPa)+^bP8o8EkgAXgOcu`RQb$SR0{ix#ZahtZt}{q+{5GRb3HM zCsX&4DPF2%{}VsNYD0nbFS}b+E0^)LALLS;6cjm;>=2MV`93QzdGgER+vcQ)i>E+m zSJu?YVlyIr{oa%FvpILZ{tRO7kf}SIfV_o6d{D7DW`qEG7Ii->`1!cW>ee$|E7hC~ zku3~Bx$q_x9jqjbcOllny8=Jjm9ZaO2)=m!HYxx8a*?8fv zg_v{SX9DTQ@0w?W*RR8`#gm)e*v%7&+}~E|GQI9c9Nl+gYThEfeDk(6%(1PtdIrn% zWp2*a!jcK)PIi0_7)~3^_I!sf?Stag!*4`Zmv1@lh$W>MzsD0HSkd@+RAzeYuOYQ} z3_B6N4K>;F5F%i!!;KJACp;`V)OlKIlwSIMR;SM5>a<>PnV*vIQePr7;)tK?T20da ztrV03f@Kal)?|SmOUOYUfQ^xxdL?eZe ztoIyd#DxOu=VRM|QclTF+LlH)Konn%$f3DThg{4LT#sz}W^d`o#!&Eb@2$}k2n~Qy zna9)u`oQ(@Pj<%`69T99z16A%tet_dXdPYVA?C*8``p=s9h%RF3if@ci1g_U_3Js>`uzK;EqTwtj}uCB9a?A?vgL%H{P7%?97CWt zHz#L${=6VQOd`f!t_ukttWkogC~wr4f--wpC%L~Kyj}3KX5V7{e0$07b{R z+?C;$OM)}@m;E!+AAR{|K^O-rOPW8PmwqL^VjeQw6#*7C5^aDqh#8xNmB=dmDldX= z*}+^L6w~deX!r11jy;EemBa9a&sxp_NX=tFVfueqLj3OmCIj-Df{4ARG~)b7qA7r6 z3R6O;YRXDSN|0eA6NMbI=el*hL$Ko&g!96eFVW5K3&3iT9FCUr&f`orhl9H>Z=gv> zGBkAz6+rG6hL}!Vs8N$qhYqnXtU-+?Zw)SC+u=p+z=7fz?@o>*Q4p zMa&WjPHiCp#AHk&kUL%63{7hmpD4YFuJoeah4!N}twqtMIh;%iAimzxJ|aXz60;dL zB$uUD6Ze~}OPCkw_JK>e`b-FXw*)F4*_A0Obi`g6XB9zmwv9M21AbzWL z5jhL?Q9p2pVq4jTsH33zEw&b0!n;6<*F60*XqVe6;4`lYwC&%8Jt_Uy~9}w2m2t;mf53V2iA42_E0-`3rbLjuL7RvxqZrkum-N1-&!wB%?W- zYb$(pb>9_V&Nx$VXx-Kuf4X=*bq+jqk>?dxZdL(^isd3Cd*KeuRK+ zk1EzKDoS@ER9r=ij5$>HSAmkRk~C{rOOJ*Ogi89j8Ihh#;nlZ`Q}MkaA}OZe96$YN zAk=vj3C3h@OvF^3_66`UN$(0@be1kQ1cvv(oX(>TRx@PmpPR}@bdjhw-B}Jm|IvjFUMf!g@L?rtd9qvwUk*ohMZ&Xl zuQtkn;zKH=NZ_3Rlbr|HXDA#j4o-ZKL|VYN5-yb>`~BvS6?7k4c)LQf6LzUCQn4v2 zb~aLsA?$|G+Lc|GvaPbYv!Q*m%u+wF_b;y2#p&}QI)JYV=zmpQzKW?`g;Zv+4%7%uctOEFo5QH$6M#DY0*<839Z^T{vA%29em_ z7=sZQk7>wJbwbh$+F^TA>+UF$ar}y~LL`31ur2GtVEW7-!V#KcNe&2_J0@bWP}5Mk zj%IX<(^sMfjbfQVlDBk$Mq)NU?As!3eKhPthp=g+p@<7O^|A?jPom|Rwne~6&;QBF zo?`{3PvlgMGNmnB&x*l3EE5|&tcCDGrd83&+rj!7R!Qn@>#USk7Z>f;H_<~sRM}xa zOvhUsAN8=gT`z8JYb)6+WB(Nh(u>dnM8tL!&9!jlH=-O@X{;Z?y02Q3siK7g`f;xv zGgew=sbEJ&$no#?`Kw=ct?~i+vhwANc&${sShzSy4o#P>sn*M>W&5Kx)yO#bFEd&AFvd<@|yA8xb+W+>om-25KR>*pjV0)bcFfe`(%S*Id+P6L|3ETQGc~O0YPQvowNcaJu~5Tj-0) z5PzM>ropcti4Z96bb$5dUq$aGkh=1xoQH$$doVlL#r&BU$0D*435RtLOu}o{cS*d5 z9K}!nF1lNECiBD>O;bc+v|tILw86BsJ_d^W>m(X@*SNpE<5^6ooQ_AU=_1%3)}}j) z*&)gdy9v{o-g^cur0;XEvwCETubn9xUr86qFQe=^`s`iPr01{Gy+H~w&EJcZJy|rd zwyxcui`f^3Qx+psN)ycO=>qLJLf^^o#-dps7v^?5f|=g0rC<*4f0|$B4Kfp?EJCap zbXrKSW8!Cb&gykK$ko!94@ov!EJZdpW0x{?JZ5ckRYoWTH}yDz%w2AWhucfVpo>Ie z;3Gw2z>4blkd-!yQ0F(z@U(ugEa)o_Z>e}5wn~y**oWcHH;PG!Qa~1-`Cy1}Eoxw_ zZx>rIzZ3j-+V|nqK8hc3WXVJSpJ?Cz5+mdX5T5h}?6wrp7=Iu+nX)>gpjCD~0x+?@mg&%HZ{UFnG{12e6X2!r9? zny5?4n@}pvXzxB{*3?*lAbn&`(u_1;Lz%L7P%^UAqoz9bD2^eAog14i47(2lXgw5) z38Jh8*=yF#EFAVDcX<54O6gF=T`NXZNSR{*Q%iaoGL57&(-UJuK6`9rJni`Bo(Zt0 zE*prgB9b@t{J7Tj*~9yNN6dTa2g%d%*VKK_csD(;MFQ*fqd!WegP1idCPXeZPM%(d# zx-6fp(iE^P)IoBTB;83U6&0xg6yT_x7~S~-Q{r7I5kCM8OrE8BQ&I~t@yWpe^KX+H z|DW__8DBksc|=i5q*IQt9S5SRu2gf-KqwB4%Eb$oF9M1^7j*?LJa8-zLlhBRupa^fx%dIH}BB)mOHHa!$Mt=dDh2 z2&VbEgdg6Qh5Fw&I6kk#?e%TR>?+x*_jYu&eb>-2?0D6CX=!}soaI)_IsyuJ=tm3q9T>YL>6j=mM2KG?NL!fJ6#{sAU*xfpD3eZ1Fv>dp_hAb1^s<;eHqV(4k&TL zT{O?y_*392qlRbyF53cseGd72`*u|^m?o_8B#T7MY@)BW z8aw%DB1Y-k+eEC`)oU(ea^$_*I;uQZ&E*N&T6ys5DR1UQy632zn4{$5ZHvNFiQ1V| z_WTsVD*BCYaibVN#%YSE6+!EwGXG?GJBL;zVu8vX(U2#S(8{r7Xftut343AM9^Pbk zvrn`)2l{vRV8Ov*HHfzQ$4jT47ror{pq$%-aO28rUJV3j0*Jb&~RXs8Zd@lED-22aKga|x1W!*0yIT2 zNV@&46N)@j12}hNgDpu|ex&AyJXT02Wy_sU6PBFWGW( z^Q6Ke+C_}dS01m^PzF>_sAaIRhK;m@J3%F=9b6QQ>lwFeYSSUuI9gl$t`Zd*EXX%bcJjp z()lSnZcE0qWB9Ao|HHJn8MU2$bPpcTaqMTwSK{$4Tn&MyW-k$zK@Ud-zATc;kJ38h z)brB{)bF`_yRhih9B6?|;&kZJ*Bz+!=ps%Vb!iU$_H<%{D4D82;Ac;#Ak2<_9PTl= zxu?gYyOT3=hcmY>X2zDosHH`OX%?$~D`K^@IrglNhdrTHsnmY^0z~AU9*ECdlI8^f zVusokh9y7W@HGWdo$Tva@zSIbj@+wdFAZ(DYdEte&WuUF@}e~l-#q#iVt;|ubq>u2 zTD+Fz&3y1L1PKoCWSti&*MTXGqtXcBn^7jJ=0iwFH3`0H41R`+VnRi+2eFHa6$Dqn zsv=hkMxW6mdUPPTDyV`JmlwgSqMQq6je#+X$`yp485N8h%?&D{WqngPb0D+xwz;l> zJBxm`@E5Tw%Cx|>kX=AL38(x{fqYqb)bsS0Fx~~3Z=V;d@1+RwSr=3R;NAk|| z2fhtJF~}Snf!$Z|pe(zWe?37ojZleUkx&j&x|hS-y~aZ=>+QNIpY%{hacrbdU9#~z z#<$3Z6B#|+s-D!cW7C|}j%zS_8QrTZ(nAx*y019*(zm``K}$`3nJ?e# zHdsM5|4JGc4aEB_qxs|F%>{y@^H$-LBMdiP&=(0|@rjaj~WAMnYq{BK-L{_Va0 z`BMgXi~sxU=c?)`peP}J$uj`ffGWqtRC~adb__Rzi_np3vocYM)RiI`Hjmfnt=iqX z*W&MIiD&I9WbiZq?#mr-dpp zrVz&?ZpJr2gF3pzNsh`&_g$_^EBPzVpmuKFpvdubQDvWP+s*(gKT^^r41Vz1HNtTr zGnwq(SH+RNb!S^>pTX8!h=W#%^+&tbp6z@qF?ctePudJnu1FLg81gtC7)m8xNz5fTJBixYZ!UD3))o4uYbiCtw& zbQ^snGjv(7d$Zc+20(CHtJb~d*P2@T?U(X%iWKD+?B934alKidmz;0fmo2Y@siEJ% zs?l-onT}&o-Hz?S^)#>HpypeL{kyG{F>P2cgsx74qBpearXa0!!NAMBs~;S@)AQjp~P zLXdfb2zIYYa02Q1ytR82F#Z?)EU!O7%{*6t5&Un4T|D(+?t()eew_)XpuUs!&@Ow4 zvHwcMspobi(NCFXu=CuGH`s?8f0TpV8LTHu*yX&}`IKjOkm>uCF->6lC_(WRDlmD% z@bLI+<85U3h)H2`ei!XiWIzDVvi}#ZX1s^(YkP2t^DBW@Kb2R%71aP1^tG0lU|@i? z31dZs4X8G0kp!5noOS~s^tIrJ=24=INw&LXH>&~d1;T4q>&*zrvwDDqV$A4Z$;Qu4 zoo!SYkM|b)TEFfa8w5AEuwbNTJnwD>L3gHFl^46~hgM6y_pILS_k;N)87Xvzso`Mq51JLi*4fsQO?!=V+)i>iCZ!$hB#g8pW(yTsqW1b5}1?D{Yw41lXzB|0g4V$ zZgzl`u9n(`qq;K1ZgkD^u)ogy4VFLPbBOmQm1sfGp{(%!>?^KX^C3rvl{yp6I))ru zC*l6FyNzaF*nM+2Ul~-wZZcG1uUG17wNyob1mCh!hr7&u$KS0QPInC#BxbD9_UYci zBRh=yWUaYQ_k3sxoR52fynGh@V;HfcBm?}15PDl`zhs_7N|IDJl*^Eoy$uGH9R4N3 zH*VlYGxgwHI|G$rp>Eu=^wsL1l^ng(Ak~Ur+ps_MtyZblk78&slSY`5IH6Moi5y%= zEECPBkbC*7K%h&tV1;FA(uIANdk}H^hC=d~OUwFpu6ULyYesDEb0!l%igXps-1L62 z$yVPa{=&y{t4B~2NgdcCS*&_y85fmNluGWyyK%rlHe5HTTr4Ubb~3-!y$r@oj~KFrerBgKpKfI-n4nT<+zZ`daTg!sUIBSRO9mmT zIUVlFx(oYpPUaLapJvrwL16K6L2(SG{nEIKl!M)*rKBaJW-PVfowIM`wr#l|d0 z%}p9Stq}<)L8L0`hY?J%ShW#OCVj(+f`z!Cz@18P%qpc``-CalFGQC4tX3hc7P5Io zsZ3~+1{sS0vnhfVo>*`ypXG|sZ2WcN^5$Zn64t>HTsGR6IYXP(B@NnCFz~8OLKrnA z(r7D_`h;^~v{Psf3jTU(a&mEgHCf~oHK)D~K{OT7Mr!F{)eTFR5?!>#;V_WJ@N-R+ zo7nN#%rf(P#Y+S1M@a4x!NaW9{x-#qnD>b(ZDtj;Qsb_EFBX~4f#i~4Dq3mt1vW_* z5mcI{mq_O5&Q9G?E6%d&K^o4wsqJ}|J?%QNwnZy6CK)s|{f#A3Nm-e4h2u3WqFJnG6GZgad3=1HI9j713fv(r7VaY%WdI>5-*X zn&k9GU=>B;$OhEbYEC~LtBd59s*8kZEdncgR_QfHVAffq%+*@<%++d!r?Eg*!AMz|aG!w7g(8--f#%P@PT zPMB%TcTmO)CVN;|z$81;`meT_&61l3Os1b5Ej&ieYvecCZk(qA|uod@Ya75v=h0D=Sm|Ax7og0+d-9HZ2;E0CECa1~Bkw&?! zk7XP;Fqbjn(4lm#ru+%H8lJhvE70W!Mm07( zK%7Hn94vX??7!LUya{zgOL?8NwlWrIf#!vcBT<1k=pSr)oV!T1uB@vSBi;q-ukC8i zzM^%hQoXV*2ZuRaTqOsgT(QK1E!`Dx4;4n2R*K_+)4tc;Fbf!{dJ$O#jUlEc&vY_j zg@VjI+|oezk+dlZO1D05N@;@x;UfN=K7nYK8Q0{{D9uV++iK;!ve$-?VVS% z)XK`r)<&<;>$&JoR%}^8)sn5?MVGAJQ?_X8CYMH0cHDKJ*JKoyHJvXlC5E+WWtPW` z82|LAVBQSEkeZ50Pdjz&ku<`WPmH+K<#Y;3lW_vl!Ti`N^b#mrdc5prYYldB4S%IL zOF$C^swZaCj`gfdxZ5>k1|Y@J4KklawEs3St81&-O8%S=Q4nb@E2U%0phTG74WHEZ z7&qX9axN{WeOb^flp)n0{iUSZ6Eq-(|2H;M|Rr%W+^oq1j75#{EsNwOM+`s%i9Fy~U+8gyu&F z`PwN#&>g;rK0bcfd4o_@b1QbXk*!HJIn;dA_0@F~uQcO04-B{okkSf*iw*GqCkr`Yp>$0h;RACten5}3V zUED*TIfWt-&WTQ%_+b3CX=i`PQki6B}DI{GL8aGt?az&GCiA2$u-CxkPDMevw%x zI3ynYtsJe>)VE=`jQh2FHr0s*XiXFJthCg?zp%-~ZHCw=4Wsm9FD)N0m4XzE;rYYD zI)En~Nvxev(ht#V%zOKQ^NYnCO0~Ql$?S*duYRj>1}5ygE8~%ls_ryVlf+9ru4u}2dO(mu;E0|?`Ze@K+J8DM(o@gQ17Krh}^%xR@*H;GH zC(WmFO@hKR#mW;+)weA5O&}Rf60S5T6h+c32{GhYHHDu z39u-%T#T9U8@5Io*#P-AL1tSSDIy4SO6ELiZBcpNlTRYQzzn6a!$mOM*ue`IgJU+@ zL>~e7>VzP8q;=0x8W9p&sG^qjv;b&?3OM?lk{L~t>Hx083y2-ftDI42fR1fAwA=TL z3?3csb4NPb?^vRNFM|KipdAwbTb;t+(N_8-u84wuWwQYi3-ZEpdhNb((+RhUN- zOKTRj;rXqN2y~E^CWPwveHfG#gKP@;TtD+UxENE)`GE(nY~f=DBZJw!UGskPlMPkh zFc*|sfdr~O!c~d_WCJtGW?5swoe8Buiiac*@#t?hqMe|G7!OQ;FN&3hd`a}`Qk%Hu zfgyi74f|o8j&a-Xf1%*^b^Y9?fq{Tn0Ge>R|7l}k`%hy5Nar15dpVCleGxciI!?r+-8pG7*0EF49^POBZ_kelwdwk9cn|c9u6W?na1LbnY-`GTrx3E=t_wT2N-HN zF#lNW-7_$YJ2d)gYxoJJlbx_LomO_EM`T*FscI}`5?=CNOhATdO;RPvI@7ZQ+gcma zTiMc9Mg-Ln#z7ocgUuZRzQ^`Y&F_)%(Wm4Qe1GP|@;78ZcukK!%XZ$|n_mNIn?7FP zrFgOE9BZ#i2YZ^dG?x+aCDcwfHw-^4ob?r-Mx^W$2Vl>a1|C& z#|e2B%Azzf?theLM-7#Wd7t^H;b~76{>2`5T*;sr3u;Y!7>wrOdQ%Fw3S%>*O4(mh zYliH;66#-{xis*sR+Kl?>A#l(?-muLcE9680*EzJ+gm(m41RdZ$d{ASEQACC#)n?d zspwXD_vcVj?%@Ph&n=KgXPHm}5QlsXiVuy(Yzkg_)oP);SOIOI>8dK@H>xZX5QX!< z<|%(MgJ$K`5Hy%Ysr8>%P++)EemT%7j;ODXGk}`?A4d-U z({TP<+~9wZRHZ614gjy&FLwDuRyb7Q$q%D~xsrqq)&3xLNj0=8X(C)@>H%=OZ98Mr zTlHrMC4Ur1PBjqd8{MQ1$Nj;u9~d){jfdf5R$@WJ$YQrW}VAe$>py5Olv(o2eoFj~Cbk}Dcx{RiG zS9ltA4{)4@$h~+A(@ZJBh)X0T>ZzQs$yQOb_SN1RqTly^q!kBZg{Rub1RC8(vi3n0 zO&qsgpogMzs8Ki$gK~6DAMzQpQRBG@$#LhwP(2jR*|l03mqqf1W7TxD;az*Xi?H#? zcb`BTNb32VN7`MBkMuN89hbDVg}QH`XYj1(N3W08qD>Sp^@4$Bf1D$AZb(#~&M7QxFAi97cF(Kq(kk*UuAhdk`l zDeyt212^B@EYXB}`u>psSH0f5ISQnhHI@8rnPNav5>_{^xNe`jR!eq{SGriVO?Ls0 zT#Lap;=h_n{sUm-HnMj;0Dv3+ZvY15x&Fhlma6C}pa`MzEz)h5qRzt{KweZ)(h=wd zk3tfW!&MHKJe9728B8_6UT1A%HSw?=I6MgDOR~;;d?!QS-?&>zhe0)sPv!Q$PSAy4b#0)*qPQtUi*u|Y z?W6DBkE_(sWPH%!d*Az9OkKodFa;LgX-gy3eegzud8uDe+w%D4cjN7MP(!80j@`hl z-gnx1cmUu|dz!}2kjx%WPDrk+FPhRtDObLSL z+)l%%Z&7i&ZnN@@7*TnZzsuOb$B8As&V{S|ny+v>e)>4bPq(NSqpF`=jG{MbE-lk9 zD!g)I&0nLQoqb1@!y0xHBbO{3<9nAfd}5^ELe}QTA=`0 z(V7OgDWkX#z0;R?(6cZD@L@;vtGAvA6Sx3Hb`;b4tjJg~m{&1|T+;nHH+c$zyi(2Y zdsy+{u>cA4ZcAL^k4I7r7Ko~`m+H*X=~N@8v_z)xD#H~Z=0%AeZb;`()g!wpSQ>*@ z=1|(a!cY1eGK1~_`1tbx$F;vVbfqw{2V;!mQ-NS4WK4I2jbRTVj~}Z zD=6{)yFf#%md?aOZzKj`l*oCjZ^;q{5Qss;_GI_^=MFoWExHuTKI$I=M%$9`|i@pMK;4K zJBKV90%rf+)6p+hYlL)~hbm2MHtC-d$@C;|C6sU%Ftu38u)-6tQ42(C81IopGB!=s zzOZrXwWoo&FrijCfFQK-J&0}d1$LeHaLgfzl3&DM&>IMp_0m^}QM0D15K#HBh%*PY zWl-f2tSq6YXKF~30vb+vsm$eEVf!HT$T&k}x;Mmesu-sqo^U^$IcTLzGB3CPKsQ5Q|-gw?_A>j{x8~+e}MZr$NAI=04)_95RmZy9=IwFc4q$pUYGv|T@4)# z6b;lbc}eC@*ht_)OFHfO6A-YW^r}(uXWVWbZvO&~;!pwo&u5-Mqb=wHGy;eQ ztO!ua{mA^bbHexoOoDhwrU(=e`G;vL{+#DS*qMiY65!;(Hz4LQh&hOLbUevEzmNtn3Ua7pl*@#t}6C*=Lm6CCYRjawQ z1T(G0g;GC)p3g997ud(m>D*bp^K4vc9w6~55IQyVV8*JJftuE{j%be_okN(E#lX8l z4t+pJad~(_EMmd=(BzYJgNIvFFU5s#<8!$Fi#Mr2wJe$}*S0mZ(?+N?xu`q1#)jHL zCxiLaqBL1dxPVqelB1YlUb5u`q>zO+Ohcwu#E-NI-Ao#uet1v$J(5LY3tEp}rc0e1 zNuyLyB_*|f5DYfjP&%_s2YRkzShR^)19970!MRpgHj$^*71Wm94ZN2y`rbV_lg45zTd zUZxPyo;VLt-4P0qx~PtLXrz4O;0iq%G-cuXId(d=2hrTXSyA73hK_oJ=-24%zgax5 zaQ1i24p?0{y_*_pFj`-8z&PBr2juq99dyRnL$I`i4IkeYz-W@&pekG(r}#s2)&|p* z;@)p?G?pmZg@hKaVuyZadTMmmTE{u_#jxEvS=hEJ5*0S$kf#_>)3)N#*OnT3i;k!X zI%y2&ao1ym1)I@Lq&WN(m=GEmv~0~s1I;Xl9NwLOtarTUes$!bk}cTHux zuBK$Cl6q=CV~r{Nnm9r{5)tdgv)boo!fK)BB++C{2y$~u*2P?GT(Rmbub8y`!#;@c zS`2yO>{vtmK{}jZiQ`Qmue)Tydx9tpYh*#0v}0JaDRk^o{;2 zq`2#F+(kS*=?QoAY?hhZ{T4_&g~_4jO+u#O`kxGl#{D^i(M)~;J7 z6tMIV0a3^8z_#0K0q4%k=p?R)!UnyzU5eqVVp>yELgMdjyTMdrSr|i~}G8_YTLa zo!tOona4f8^Wuz+BFQJ@X#mK#YA(*utj z^6lcH52Z)=nJL1)+ac?-@)-TXR*cicFLcoEbXx9bqrs$b<3lQo#xsk^~8e1^gm5 zoI)r&rS`XrV0z=EwgzbXhKPI}7MY}y$?-x|f3tCq(sH*c*)5$(Zn~D>oH3SKySnyI zpRbuN-fvaxSanY!tE)fri>+=kcZt;V3L_wVBe5?~w?u_Yc(yj$`a7Ch)}PDpjGZFT zu1O`I_H4Pae{ z*34Odu=pAqJWJhSAO<(%b=ok~SL|Axs^p3gn?(;i@<_I^ysr+lpx)T2b=7p{hpJHB~-NE=v2m%-D%yBkNwS%vD3EG{1I zRmREHQI$BAfVEk2x5~s{@Kbv)sn#xs>ImqTOVGbHCXD;fP$nMnki2X)y9&4-ru zI9Rkwi%W)Bft=l++qaDGClF~8O07u1CSguDl*3*YL1mFSrS7C#(203SBF>#86$S?_ z)Q@B`$LH*lYGgAb5=9PDY|d@-Um zrb1&2xP=eq`BWx521(G5P1c^^N$jREDbyckchOuo{M>!NED}sRiuS3|**>wk%4)(j zl8RS9f#FsibBhBFh8!IAh8*s(Q*?%I@4CWwWgfo@_TfI2sNYii>1-afE#6J<^PaVv zd%AJbr}=o@HlP+g0+Q!;hjp;|qc#5U4Omox_P#`KJs3wt%sR*Rx2V+4kphIl8O6R z`I4t`YETB4ZRbRYmMq|vvI!8ZHc_i<8iQ)i`BB?f(v+?hMV7$!My-BxB8{!}^w}4!NzJl4 zb9P?9WD~cpm!$UCVY@g2j=^Qsm_c5WAXfVmCr6qnZ8knt&G4bYS^OvvM#5}VR-ryo z7lxc{dtZ~-juw1CK4>58Qd<+9`E6+;^M2U%DHX7LtZSpQT&3O$8oqfxLBsU?)>U=OAP*s7r~uwxLv`60cl%KLx$9Vr)^3bI zu-Wc(A}GK*93-sDsp7;XTL*D9Yq--fM2{J9~Y9dJB`=3yZFWo>Kly{ zw`OZ5rtM6Ry?M(QzWCGH3lQKPQldPrsUMYjNRTktYJstzH8sGu0%d`YAAmklnCoCT zN!*hXQ?Z}Ep_m;u3P%^yg}b6>F#JBA3y0%efxzw2?cHRVIRqtTf-d*>#(WhQTW1?? zTB~JhKq21C)v=E$24Sjjla}V=erpiEk%1dnmxCc|jAn_%^xP``L*^`6mZ8+?K5nftuM&-IXRElwmhJ3C7pY1k-FD#FPR zp%O!3&%}KRJL(Kdn0*v0_K}u?9A;+L1#SOWJQYNa1LF&zb)FkLHbyvoc zP}RGO<%@^G=rdqhVFP<5Nw{TztgTSIWiw0rVQY>Fe683wS{_v)iAH3k1kQz3?&U<` zha{&>R+@%gvT}mGTQU|keIVfTTu&m9(p0#JrT&is}Q+9 z9J^1jZLb_J;9hXv-spQef~#ocxbb{@h>y2_ZIHI7c5*Z3nj`h&K{6U_)=%WXKq1QE z74DPyd0=)K*-OgXcC&Af?IU%l+OOiqJ%pd`sXhA171QyGjAuH=QeM7DQj1LV0uX^mDMs!(xH$qD51CEpqAnuC$7EC4L!JC!!vcI-rzZN{!aq3K@Kayjx?&hTEk3R59pB zRig=RYNs-*2F!|!+K3~GuDdo9@MPDOo7Q3P&*-1;;T}skBsUc()WvxEtd`lJ=bx+A5IuUYbOI>0A4rvcv;rO<@ z2rP(L>Y8iadBcWw6HS`@9!H%?e-oCBiLLD~VWo3PXOEz>@pG;Z70i#k`E&9Dh*)W0 zmN9B0Gn`+xk!1sv2t&+~g1t`R#iR9P%YL^gc}Ri0^2ERVr@?2U6hDZqfuAJ7?>4&i zLep$wW$^2RXM=(>9Lr0LN(Lxo1?I=_mk~(kmEzJcctwa4J^_ip& zH6GFHh#v3cP@24Phuzrl%>uZv!~YbrZSv>T5jn%NIv2tQM-qXDm?)Tg9*9H7!XgcF zN>T;^eloU>SUvxbR@q(fJp`AJS5M z!g;*i7(|nq^j)w%)NAK#ljrQTwY4@p-X0tvwSc4%<;jcDZ=tp+|J((pHMzYa4GByO zQz~?f)JYRog!eaD)19Yz_6qB!6Fz>>p~qiI=(%&9M!CwSE=w5f>hy^e52N1jn zxmxcI%VNwYo%0A5%OD1)6=RJ)kKT-$#<+0ZPqGO1b$Q{oh3Bv--op$CJjCMJNgCCy z=P@FFz^J-wbB6by(hoEuIoyRqN-;S?26rMw6B4j$p%_?~;DItY2jM)DpOr(3fUNr6 z_UB3{e<_ewl&K)H~`?O5mKpwX-RtRI5;e zOD{oOkUov>YEa+sS}tW&D^an~TXX`tCP@$|C|JpyqUq4~5LffCZn@eL>5|J&TQUn) z&nvYSC%8vXCH2T&=8Al%2Ur*L@Gy^B7GzpbJ7|_ zk;)4drjDaofNPLpiNb*VP9fI7kik<%Rf#3R0`?1nMOlg_J znYkb-qkCJY8`eis*P-_3hYHUxBO;(!Stx7Fnp22TfxMV85HHA(5~P{(_u{;up!A`j zT!4bj%snej-@UHk?dsmLw&L@+Foqr(wWIl%?Z zM#@t>kF9*nU+Gc6irLBa<-sTGsfCLIx+?MDB?QMz%poaomF-ga@zG{AJx1!ltF3ZY za+eN8H0uq&J9TK|ui6w+PthJb0T_9V$?;v)QFHGYnFskhUQ|0@oK77p+R>Dd%)4{N zO&Qj!_{|h%hi0TFQJPb5^CX7dkf*yBVAXdew0XLdn%pSfHuANuFdMS@fmAOQ=j)L^ zb@m?Ay%mv*QZUIxtZXy!nvj)Q5wmDg43sOKFZbGaX*6Hq!n~_PjECe@Le?h`aR8L00FfR&r z>NA>>Nm`bI+UZt9AJWwM1XwWy=}sIuQc=`y!cbftXq(aO)ZEaVtK@@*vhWg zz_v(VQfi)DTw13Wz_1d!X?X}9>U=sXokmP-Y`jAb2F`EjPCT1nDcf}e0Dqi3)RW#Y z@CsupP?f0j-nN|y?_YZ|iFga_9*S-3sa^k-RjD)ts#UWK;wSy(Nkru;|LbE%2TXlH zQbCJmXaZ2On9k4ydoH2HJcwyd$qoZ^3<0HPR~e;d51iFMeB~}UoYhWA7;HP9AiC^y z#16!!!WHbM+!gMo;+0RssuuzUZ=VPS@4yI!>`t70KlbrFh%O?!k3S^=Pwpt54xa&}Uq%ISir6&aydXYzx>7VTy# zpymk=lsU&{Cw&P$tCEpJ`GNebPO)@S@(We-EF>LZR-M~%_Qf##_yt!%WFU7e%IcSo zR`zkZ5ItnZ5smDwAx%ok*QAj(raRQI_tqZl45x1Y_m28b4&nsX3{tq{GZPWjWu`Gg zA`AAz$Bg!*dN()Is41RQ;~Zs0v~mzdvQyuIB_rj_G`o(~TeQe5PSM`!WVmT3A2rczO+qTS4i3fFHXIcDL7=bBWqD6+VTCf0JWdV`hqD_gl zkf7D!9rlf^TbLsFR?ro|X;Y$V1HiOXcZoDpw48a$Lt=A1NQ{>0unu3@UtkB%4(UJ( z`oWa+g0%QnNoQixm4Nb`qByO6S<6t1qZ%vYZc+k9FKzmWXyDj_Kwwb7-J;sM787i! zu+dpxX61?V$Txiwn-jM$d-j_*i3?I668h_7VN3K+kei_ynTRVY5?T=%bzvZmcG$ru ztbxdmUjj_PEDi*jsX~FIpQSs@ zYb2u8VTeyr2mPf2^wGbY`IzXUBccx|#iL4pmJ0zPnVLd1%jk#ohQlFPMS)62T$Ic7 z@&@m&zQv48<54a(DDlC*a-ZAxUi?@bO9B&VmBH}WkAqR~PZC7*kmth%qktPYRxS)B zS{;EJ^+xsZZHWkA3lfA)^$6tysF)R`3wYcS^Nr95YUWz7L(XWy2y()Ls6{2ip( z%C9iVb?^<*w8ky#E`ar$e(RLRr&7+4Q2!3_Q5!X3LvImR1oRgj7uv1IWRIntO$LCw zC1@dQ+xlusbtRS2neRHM=Zk|fp6zenV^>(aiBU?g$JK!<)T38Ajm~?x3}TbUM9tE0>R(yOEUvKM>8Aif4r=! z8xBZD$X{MrLhJs(6}wT=?Zi-H)?&_eq2a89V7l1Z zw|KilV3~PC{wo-wCZ2cRdYN+=UbjB87`HE00vm;TpimrX+&fpEC(oQGm&X$mXgq+m zur{D`eh46(8MRd4aJW{(G^;e?67k&eT%=>A#4#baz|X<8aI%!Hl!2&RIQ@*SD)AqX zjrgbpI6|NX_QjI+_@Q+5kkBAtApT&`iW4`^_wMSy_GbC7LQ!2TiSY22!@B^dD2Ob~ zn-%9lo>#J;m6P43CWjTB$LJcm8qk9y>$g}9lj`lNN{#H@xeQPslhu#eicK~(qraW) zX98N3H&-XJy*8=BBdDjTBp&!BNeaL9L|GX*)KQTglFQH@tD@uZ79=5I?QB%1vVGH; zq`R16SH_LbR+=vu2b1)%()bxIQr%UnF^ctG zppc22@;Z|RSqJJ388|3+v38lm2-rn31vGwM&CR=AH^Qi6(D0TgLAO;~|Gv!RKhV@Z zY(b82BPv)6Hi9HRHd5%q4z@6>+AbKXXxCI|PG%o0ZM9%UdVqwaP0SJbyr6!^iyb{@ zSs26$i>KYs=ix?*JDnOE_0_|zgQYLrIH9Nmu#}K*u<9}#A525?;83+E4&M4AJO{)r zko+}9y&J!nyO#WzS5$5z#@gT<{iIaRRItpEIoAFboNE%G#MgpckXf2Yji5jGJ!3_2 z{1ig)cT+11pGBbnio6;il}SGR{^3Ih^+4fPzyU^=T3P03b|!B2S&3d%q7!7hSqPNO z8f-=~j?9H#f@)E3ez**^q8-+?k{y*w`Dwp4rHZ&cD`6!VN=Vi#~2 z-v#^ZmvZ#c1%PuGup!|mc2a#%lsbbVC_ndF!&C0k!&mGC`mik1Scx*g_oXJCi{Z{O ze%Cz>GvO#UP{%%;se)1q+7!jXQ_Wf zKN?0&>ge0i+z=+A&f!H9lVCkG`N#x9hEaE}Z`&z0!lGmIGyZIz`J(*KkJ(i2$;0hY zF5y-f*AFfQsb2$~O!_pu101hssC*ffrr^{k;{hmI4b@xh5t}&b``8ouFCN>!_T%LF%?PR+#RoQ&_%Zvad%hwrvij`Zue#bAa z10lHc%BG~;BPek6;#M~c{S@mC04)cEPTsytud#5mx^sg&8ogP{T(OL19V1!d7hTs< z>o*Q2^FX}Udsht?_n-qQ_xnpU;W>$6lQ6HG_TGeW!7HOl};zfCo!9TqyfTj?Q z3m!Fj`=ki$jLbaGBcK`J&M{~-frJ7UQIXZl>op^0GehChZX8=VGpJ;J|+(W z(Zu}1L43s>cm<&NGg|YW^BVq|cH=9_7OcBEc07BAM1!#wVI*aO(;2~$;c_G2rs21-%8iCf68flf@*&wnF!Vnr|_Si~Pc zwy6G#!K(k7F#Uta)ge3+mzutEetydi86Obh{c;2H<$;Vz{KK8qETJI^1AQSP08q%r zOc?0W!WwE@7pt0@mNc4F>~!JJHH5@N<;`f!l{YUwe{1OKdfk-GtgNq_AQYZ#rcK5} zdjZ^i#BY9l`{f)yUp9Zv_`Izq{3xE^;P~7J+^ezn4DM;W>v`1*@3~kd8PFB0+X#ZH z8ws*GsFCpu>*DCc-^ZBOqNA7zgBl|Z(uNF)aAYVvO6)I6*uY;1vP(QEmQSo%FeQsF z1VkHF%!5)KJrDulLpO5n9v;DCL6mYT$|L-Ni4=cAX7hetZN5y82YZ$0j`dc?lU(X??Ni ziodES3|^3Ke!NnpwyLGNW9zOBrRR7c@n!Dg#Dxm3GV}5xMaHHHm_^`2javtPwbsCh zIS@B(?i16~HBoL2=i(9~C|}K4`Fx(syNL1PqOoMPwIuy%Z86u5YvB&+6oHZvcRD_P zo~%X;f1b$`;R9}9va+;7ZLQU)?>%)!g*vT0tHi3SWbmM`L=zGECRj)E`D=6hAQxS- z76M9OXtdGnkOhifK)eck>AekxG`iO4C8CvGymv7A**0`0fVDAl_xia;IvXM<)yjyi zx8#s&icVT^GW>PJKVW%+Np7ycm}A$qjEAHr(@HKXz|zg932G_pqbNmhXsKo^r4EkG50_7bG4W zf-0HIqEX5B;!HbfKt3DbqRTe9!{UUOHKHlHOyquf&%{m)JIM_1VR2Kea(bLLecPZJ zP?kxFf2r1l3D%o>0s3tnW_!unOWh&S!_8h|$nPeit@w{Ppd~RW!WBo_n^K)zGJ=jKgfkd;n>_@6?ee#L9 zb@yR!tO_AM@^2f(@FE(F;5Bfe<@G^mSrXLj27MOofg`OgmyRRU<=^E-iX!qK%7`u| zR&Fcl5HZDr!rpPVqYY6y29 zWH#?&3$u3`2~2|C$nnvaE@slX0XcNO+^oqRmQiL(hevZAEov~7XIt4iMTwfdW901E z7KXQHj>J36Ojg`VjE?RiRG!)Pmlo@KzlSp9Tx!xAO@sY<* zK%g^;Z!!;eOP@z~B@;oIJhW;!4|gUZzfYOqEu?z!Xu#9=A)=5_oo6B49__6^|MaMs zWleV`;@Pjd+SeK{-1S7dCB&NH7?C+w<(MJfvVf!C$0^+om6PhoYDIU3yKXv9`a4bh zW!@`Lv4=w<-H}(D29oR7e86LDSeENnVa|f_lN@~VyoXu|4Jo%kOnPIIyYzX173ot$ z!>oa4EfZhN!^gH=rMPTpGSDOOLF6y#vRjY1thUPX#113U?tq*0#w-^5`q(GT19j(A z-PxaRcNlY!3EBC&XN?1eC1)7Ve;(J<#Rhw1YWoXK&Q?gdLu8Tp;3a*sS#0}rbTqMy zQ>;`;i_uI=#DC7q^v4Zor6)Y3Chb{d59NgpsU$gOX3?0xg-dJ2OqbKb*uOwpg{V3 zNSE=n?#W}7a#wsc^&WPc+9#|TsF5(+Xf<^A2vN?g3{ZG5RB8n+1efHk{GG{+=ktR$ zIp`Tryu8WddZHY)srG3 zrqgcw@ql>$lM?A9*PN&s`~G!WpTZ#y*6FbJL-7Oqnc8=-DmjzNh*?FB!>+EM#$bXU z!JzC`qWFy*o#9ETobw59JvqCVQBPr_u6pZyWg+Gt0FaoUOvfkA>!Bej_rcFre+DF8 zm`iw`YqK-++BXLB(7y-MJXAUf;{SqYNG=NzaB+Q_4N--a65rFz`|ViE1b>0)DA3>b zg$K)Zh$NEj{+X32c!gj+SU0Xwavd5xPf%*hC(0p=!P~=VEnI+sUq^RBbDQ)_kg$m$ zY?v~v?aShm#|2)e6XT1l_3&cZS+~VH7#0M>%+FINS=QW1+5rIx@4`SFtee@r z$_EZk*bF(e5p&;eZRW3AyEtDiohsC|e7}do4U-n1q@?LihCJm@{^I_1^#ukO9c{&_ z`e2{_j1`olbiISf=#cgS96yJ}FFNE?WH^wly|S=|BI~`)^y9UCq=c8Bz;?*AgDn83 z=s$n5!_%H*2jAFzy|?m!1Tj%&j8tjsW57hRzys1v=+b4H)+AP=T+o(1XBBHE&sHE8 zLO7SZKWw<-l|303gPWk)9imoJ8v)`REa$6C1ZKrK^fexKcq#R3B(+p-)%W4!5FiHc zyPj%Qh*sMDX{7z)2@FgQd){2ROb!$c@#bNA%u9$1#}pWFq(+^?j?UE=6Ysm_n}9DO z$Z)-u((5aX;Z{QhU85!jPkN8f_u*CKdlWUR!StH+&7GsoD8l)=+4DAt znUy8h6;#PDFZbk^W%*n+$CAAStC zSoi69v2})J84B=5@3!PjSxB}|d(10XI~2}bH@)P$VnyGx7dkoeM(;JbZ!;B)-kx`n zw?R38($zK1S9stEi@X((pAQu3U|%@6XLXTh9mkhXo{-yb1=8z;sQ%QK*jVc#zYz|a zRF+|6x!O8+DnzF56j6u+nU|p4ue|4YmoK`rZ8MiyUTmGHAVz-4Uq7k7Z|}PH#!d+- z%7~qrFw8r@^0Hmn{{H)-BqDuEzu&f=9Iz_(rT)itvm%FzNU(VzmKDZ{v-&)BBx-z; zb(tD-!V|U#S$-2|Qd+`Pwlr^cXimF2^|wE&1|=IIZ{*vX5z7s8BPbvDf5;K+_r$=S$M6DNh@!U0=C&Ynu zldA>G!POm2%OkDM3!I=fLKG?Y7OC<6Z|SUZYe$zTjtmPpB5cQ>#^`Z=Sqj1z+zkxsZEehD+$ff zWjw3}Fe7jJ(uD8AHQ82)Bp=@rCR0?o^O3X7wUhL*Gv0~Id^Qqwlqy=;5-sCsf%*;TUk`(9^ZFqB*hSX?3+V=(QV!6rcr z6;ygE+l!n!1IrN&tg4WYm~IQ1!qbpJ%}4&t$|yPoqiF!mv;Lsv{;$5Sa)|9 z>9$&qu3Sp;M|Cr5kZa6{mIfA3 zYb1MTf=+Lb{X{Us z6~v!tP3Puot5@!AlMk7K3yjH~km{-tPmtYUKnrnVL@wt-*GsXx)wun;5abx%+isBY zlfDNM7U=#P#tx80RxiH@=WnU*!rjfE4lGc(>;AB9gGq=Wq~~0^xXvqqHCndk(aVO$ zh#QQ4ytiqI-lj+5!7IQOvqtk`O(FIw7DUz#uX@TaK?F6ju;Yk|wN0w^t=u%_=)QCOfP~Zj+DekT@I`ver7RR zlAn+m;QKZhnp_Snmp65XOVXVBLQ#x=(?oXkWzVRk~Zl zL$YE+k;OwkqbF7u!*aN+SNVGd>%Yk7$bA)7I3Z)pjl`p$u?lMU5eQz7J73+VgW}{w zVlb4mCP624UrEqtpwF)a?TxPbnLwIQdvXr*8j@zN0SI>7yrH7W_GgM)yGMY$<#Qz& z@3SE$9}fG&8SM&pQ=~KlxeMwg%5igcSAUAyq4IVFIw_&kezFGU{qE@Sqfap&jor^A zc+Y*2*#OqyGS*-d2v>nKoXt%Du?mrcd_}J%ddP}sYT)HAxxB~xFRM@22 zA0D_l_2G5;ZQ5XZ1&yWI#jH%neBz zbiU^VC?!^518MWhK^MaZwpc(E1o{`bmIcj6@)2aUuC%if_rpI7FYB>`*!JD_N_Y!F>#9mEEjOlW<@3PqjGOl zVFWu5gu0_tMxc{vup^`?&h3l+Pk=?DI2at;vjR=NObpN=U+Bqst)^a_=#u;gOvyiI zyAJfoy{2NdQ=f|7*!cZv#dKv)q-G01MjJ-!#Tf&zJN>%`_o&CDpuO=$>**xMLJ;SIJ1o=jt@g`(byPgzXv7-uaGpQ#f>NCnK<0p(yzizb(-;{!O?*B+?~r;~ zbkJw*cq5>34dX@xjd&DFM%0nz7Uk#Vm*w?lL%5)Y@iCS$MgOE~%AdNc;Jfc9EMbQ@ zV?-KU9~qDh%%h*!tu?Ic?T+ID%>UFr3$8&=hB_G-0s^hNb^#gCA4t;Y#dH+9&356+ zJM|3l0OPVv;GiV+E6cz&TeTC(43=LN@F|PUYEWu znv5em-8J|GI%#5ZDmFvruG)bZJKgeqAG+!|jhtb@;I97-+Qy`87qP-Zx+sO3{H=0w zj?^lsH2BWQW}2Eqcaie}-ikgXAc-Y!IJ9)~qwR{~0< z40uMMR5_whL6U4-JynUA&u2)Pu+&wmnL%VWUD*Pr^>9^*n173Y^M>6s&Sp`M2*yh( z134$ZLHSR?Qy9zQDBl0a@qZ!kCwRjR&9~4G>)XHb-!aEOoa0@}7P1S!kiEC9Dz{4M z$k0lBOGib(kmdP>ZyESYe8Iu*3@Bh09jz9ufDQg2eIiO@i%9<|Pjy}CG2klEOa!Lu z2NP$TaiDeEdD&ck;nnQ|pbH&BPq)h+0zpMnkF0G)7KIW?i>hm--jl$l*GjUBq9;4x zIB1Q87{+3-9v_`(9a^`7NI)zG&JPMnNH%~B?c`f^hVeT*1oDzzvD{LhJC^7^s*D65 zTz2f3C=I5Zq)_^)UQL8wcYa0!z;1iEiY~{SJ13cJkTgsz1+_R+*&eM*zN=94VqqQRHFOTEpKDzvHd!nakv!{jW7ES0dx)%Y`8Xb8X;a@CtbXm%-FB zjp;}CBYSUop!l>Y+m^6_(;2uqpSYE@5XGz>w5T+n>&HX~Pd4jqQjt(kP!2eMv!_bX zU!yl`7Vc6sG@jFbs~a#tMD5i0v7*UMP3HRc(IaFwm1oDdk)y#IukA^|rWHWmNI@J@ zO8`6!6_-TSJ46pwH^dv*(~X@7fPIQnbu?+7?d<4?Z@hy*ac6j*34jAgrv`KnMdAxu!bVwr)wk6vrRZAn07cjf4%2^ zV3agVecoJeUR$3VF@BH&BF1xx55{vz@e%epp#9R6wyDt*g^8gj6#B|K%^%_tzJxf3 zC*!JNSy9GcRBH5(O^>Gpub^o24^0nOmMby#cvpx+3oSo)2!$jbmIJwO*d4TvhXG$` z?h)4L3?OBRBi&Hv$eI=brG&4g?&1foOi?5Mf|Az%C5c}YE13^UR?+oZZ<=rOOnblPC&yPhoLR!m>dIB zyTrtYCsXX1Do-fI!X>HyNC=lQOE$4KQduMb^k?=m!_^?y1hLV!V*(TOYifiTC?Q4^ zVpbfE1j3+J2s@k+9Xbe@8?~y-I&}89`(|jUo>76vpwBHJsv}|c^U;fzIl)Gi4K$-f zjKe_fBQLyQmrX0%_1#_Jhz9SNA^|TYmeN&(jTOz*D}MyrSR$;)ywKR}fCJvo+j&up z>=0ERmAc_tw-9mk<6d0`1}Dvy>JskgnhKt+O@p06CgTpL z5ZyNK9G3Rm8|?&V{W3u$l=Za%RBS}_4}`KRp^#=V`Jhf;>M~%)8reRX@C$Q*+W9uV zD94<9ikR(nOi-$`5K&Lp1>!FcAZ}%! z+3rID`2iuopv;}2B#UDf3eyzfl)&194faon{|buGU_tlMZ&2v}*PvkfCn&xr27iZg z!PXsH_2yOi_}f*pl8!KYFn2|BrV5F20|7P*XW}lS&c)Y3x{^`2Cx_&k znr1V7#JQr|i(j(m7f4B^e|c);W9Qc$$kZ$2V`O@1^A!ZnSObhZfD9GcZ-tl7{djJ&E)(3xpJvta>D3}44kXCtGcwMaBFQ0zv z5_R=rM;|!ANz$}Hp;(to)iX}mD-p{A&A1{>aJ@qcbzP^ALbdmj@kJFyM6$fy5I4!Z zPzjxIqVmjG3UseU=wYOwhrl+h7-|;sfOv5Xg0J9$Z#eieC zN0Th4s2yC|=%?wzQMCqf6o5{2rWqxA&9T7Mys=nZF|Z{~8v|{|po- ztQY=Dz}W0AF~tO-XpW?Pxqx9oR6tk|zzZ95L7n=n8QQ|N*$;ljyenJA^5LWY6(zPJ zDWCwvtp{RBFzH>gkUWf1@Q_a36$M`@_rYM|T>C7H)`0iMaO7M88YS7|2~WR;6*volGwJsd0CI84UyC^?Oq$a#yI8e|D7Z&bqzyOq0ZX zCe;=JQV|gvE6}C@k#B_g54aYf%|30vX$pI^QXG?ecUQjfh7At(zHKZsXd{hWcW6zr z=aXsam`^y*#cgI@h-jtG=huZn{|nR{oMeHV?q{GP&R z1G>N!jQ&s$y*&`r8bg>Dl9hGOXm!&i1G49c=8@;r4#vsK$7{V&;V)4CN*ZnN^YF9( zD|E2@f6xI=5fq#(O3>&Ajtw$c+)E1Rmx#KUOWU3yRjsc&&GuBFI|K>=tltNAD<8^9 zpo{=troHNL%rosZ9h0-u4Ro5n*W2G7LCB)DXge`%h2>(oiK506C$BxkL6ild^e%cY z^gC|Rz$ca@5BCNtXYA zv+b;G<>D*q5zv7xYKEJdX_B^8fkI-zy=4KxwbPb1;v@+6#yqa209d{(mE{5Q=iN!K z(HTPlnI|h^%hD(G+;9J)7)Gp^ugjs@V97}CfVB&T>i$bj6e@?{69>?et>3_RC_!*O z2$qxJ)iXd}q;#j4D(bqwqUw75n0aWt6ks&VKPWg{w>f*38mK%`A#zl zzthbBF3@28Cp>n(-xT=IXZOc-d%htx`SMcatET=WJPGJwQ_L`FJ{V@M+vY86_mGt? zcivYI*M}iAq_F(}A77tDyXIs*LgL$6PR0(#9nS{F_xG6@-5)Bo*&#vi?jCY{unz~N zzxZw7pi&2jpp>DagD?ZUdIKa%Fv^9>1NGc3a`0?fcgs(j6Gm0LV1g;GkUaD-9b4Q8 zxj>soV!f`Zc-{Ks%0KZMPc9i!r)sGvJSSA|t=4ZwPl0ZL6-*#N;GEqKEj%1eNwe`7 zec754Jm_*-g9 ztsB0JrlE%Nz6WLve>Z`Gbd;srhYN75ZFF{JZ)msUK% z`;~hW-zt5&Qco^gB3qC<n5|P{Vz}w{MVpl`~QKmsxDtizH;3nsABggAbq+B z5kzTTa7edROUCw|Q_VKqC-ye+nWSnt%}r{6ePxowX7uw(7u&9jMDnzN(SJe)gsThuTIXS_Qh51s#zdOEQv0W#pMmx1*rPBHD{RT zlCDAO98VouF~3a&S--(AobSnIHGd8%1lyi@OAjvTQmbmoAiB?}-Z*d^jUJ<2fXW&I z{lPf7?wh!In2=^-F!(ZAzClU#cTh4${-(vV{|l4>{NJGDrV#lCWs0@Su62oDB@aP+ zGG2_?G>*ygz3XB!oh$7cW1{ReAdCjSGVh&; zH)1r(qtou6nqFPn@(Gq7kS@lQD#0N{PY^4YE_=#JrOi2ICPuV30Y#iYTB| zXgv8cA0P`uSUSC3uzEv`oL^}-k;||A- z`q}Wh{M=HdtLA={TSR~Q`0_a5MY#c>@A$j0qcy9_WA6lg$MbGTDF1aA?p73IrjjHU z9D-{yb0TxX3@VPWs%>bZT`kV2P>r}4F8HnL_+x1lE+ z{~la(c;PskG{?COQ#g$XiEH^Vx^gdO_BW!WtD+()aPB=&i#OII`WH;*b5qnOQrt+k zaN4%a^DV1@S09ZKr817hHF4uQ9fl}T5~$)({+d)BNHovpnF`g*Pq4l7PJk0dm&~Gz z3iLd)$SY-}HPi^)9eC{;Bkay z)-7!c@UQtbAj_^JaYCXYIX3+)#`lFCShy~otXZcM>@1E+*`Cab3$wE9O%TjRzH;w< zBj*cZNO$dm_Nm|P3&q*C1culv$(l65Yu}i3cAm`-BA@j|(Nm)Q#-zMCEKL-@38ImE z6?}_;eY9!Y+$NaCF@0Pfm za7?O=ClHpn@y(CFm{L~a0Ezm6adH!lVFpL?j!RPh1I;*5z(LhEY1z%W*5;;v9N)m1Q3NM#JKzQ-=6Ql;``L*Z%|f!J2}|@t19t7Jdyvb@@FYY z|23x6D`V9T3tK}%G8cYaG*>)*S-dA#Lb*&xxLiz9I2TYT?yqt&oAVJ{C|+;QE;t%( zn=M5s(Eg@wuMIzVsuPSrW0EOs2V?e{oA*QKK^I;Q4^Zl`0Jc{vZb0O$h;B zNU%7JA|^BpNbqX@k=iGsAXCDYq1?E&HXXDQwP>Y_2J_z533CRaAj-<&GwBQU8#X9P zk69B&V^r})C@RRK@(6;?+VNF$E-?BrW%UZ(D=ce9Ki!tfgwwj=ML(0}H4{fCL8Qh+ z>q?z4N1!;GWT3c-ORH$A%JD0F5w1ji1@vSgN!1X%T?8~E_m8o8vtXg6lj8^GZlrML z>@v#-G_F#{>*eO4vlLhn;)u}+f8;-WGRC2bK1=3on>S*1&C&grugO-4Krn4L?h)LN zbwWQQRkxx|!Z(sHb9IYLh`F|6QAQfKnva;419u!RIQH4{3PR0b7&(mTOAK&XnKli{ zao@K%g6Rd$Uu<2_LBEm$^ zz8nh0=5nI~<6Mm!#FZC~Qk`s_+pFE*b3|z`@ii zrCr=ldn4B+Bz8#J%{R5ME?ntRs+95!_vxk#h(?ckh?Iy`011*3FizEqxyn=>rwoW8 zJBOK{8V&)CC{ELR`VR81sSaGa#qPy7J2%4q_`&+WxeR~j=`K|ZMXYaUFf1|gS|v>s z2~*Xw2E1Tvpjr)xe0pLT2<0(smb&u7eNTsHQ~$)PH<`j z4O2Y(2+L%DRJ#27@q93c470D5!ldg2HrWu;{EAa~0nK_KH=RjpFyl-uf=wO1_TnY> zPKBM~NyCf)UH9~^WCGp5TBP26l7?HvhMQG|5NBLukwuZy6wBcH#v{9M0HR}6NGXHX z=`m0M!VN$j7|Naq|g!q{~`EC7}bPMO9jy+hmlVm&@j? zuT)D>0yR|tl+deRbX1^I+FPh3=9)^F8m`Z9%|G^jCXH&ov5Knkuo39OrAnDMxJozNH?L-IX; zwIJpT9ta{`X8z=dUli#c289}l1CAD7RS@+ueuQ4QvD9?2*>OAxcRf!0v-k?|+P7r! zN)fz=paoZ=IIv=EUnPs;oPG)C^8c{+j?tB{+16;qHY&DVF)Oxh+qP}nw(X>1+qUhb zl2pFb`}R5gcHcYhINjs^`cD7aW9*-M&u2Yr%{iYni#O24e8y6XkZe&=6_ET$Z`A!o zVuiO5XPo1RPQ#c*dhd;S`lGB!H}Aj1+rd0TOm78X#H4SDqb;CZ>y*52TgI_hy^;D| zjB-23IGG<}ueyJ|a;))b^nY8P@jFW?YymfvYVRGHN8n4(YlF=tG63xblOe^Z2SWeW zT@nJ+!Bc8R`m>Z+uT-dCE+yX7RlDkt>jbU<0avf*PG^KcPX%qKR=f!)fc<-h3CJdL#^JFzcGiE-5JB-iXd_(y=DUbe$qyXI0*{DWw2LTP`wI69 z%{PT*Wmckl>?P?tdYc}Uoo5S1%{1lwP6#P!vnY}$PLhK9K&T=s0!nCbGX}n45`3GE zhoUmIAAQ+AXQt?x%#`{^6_%>Vh9yK@HJVRMgSC@T@9Qq#H)4iZ>Ka)n(@kEyb`0fL zlcv;LdJ%Ta%=b6eC`S9b=eLiRhdf4_NHi>9NFsi5#lwSRHwbC=!nWl(3p&PxJuRx@ zx+4b15fA6s5OATx#@%E7<0ZtJEWUa9`2)s$UPS-ak0@bk|F`wUnST@T&oneRtT5!j zWiDm#AP~z5@Nv`>`4oM{P!*6BJFLb>S4NYEzXE$J3PAaRefNpx8(+05FXEi$beTGL zIm}31+4y6Ey#@xtgjsKp8KO>4S|hnkYcbYK)wQCJB19ie$lbdPjrKcAg={IGwMgt) zmGvU3DVV0Exg1>M+{^}gNBP|Fux0?<}<@A$w2PVHt2dMHcS9tl#%vF|Ev0>9dK zrPC)IOxHDC6$I7L1mRoV@5r+f+zL{8ohsaa`ka$Gyh%HtlpSxJJE0baW8Ap`?s` zN3fS<=e_9RpBj6PEX#@?pJx&N6H2WAQZFMXqwC;cX!p0r*pX4SR-YM}0>+=4WQSsB z=j677;!Vh7V+cTq{i3Ycl$v5agE%;FlL>HRqWNk!S|(5#Tj?Uw&x-9Ihcs6J~Z(0sVvdVdFaQ7 zGdn6SEINB3Fsz%gA$e9gbl0Ii7zZ1Mu&OnH%iCGXNKk)>Svh z_6>FU0QLQ#&ErJ*RDgme;Qa~$YJmHFLi+Xr{Nq#U!hO_~HB2_t)R{~)W5m>D5ttx^ zY?sUyl+-O7FV!m5DjR7M30|gJuOf(eEc|=!dkHRTEKuwV~m7tZg8_20u zu&adAJrrF?;gvlUj?&Q&kmzEHVd9b+mV7scTk_10QY~{M9Px8VVmOgPtFRXaQtQHp zZMkfl8Ejk-_s$-MyGrqfltQa`_aR~%6vcYqwmppHriFhXyUc|_f30+P%H@p>=_eG5 zwXE$|@e?H!Yxx_eUk#sG_hcbs)-#E#;!rXlE3)|Mm9dW@XV_J zOw66NJroc5OKhMR%LcZ}kl!VZ<$FAA<+C}6_nr^b%ds(v$0UIIO|u1VxBRs$bL>|v zqRFkhJ-Cx+f+o7#WQ8|<3{Uq|7S8-#N>~pRZTV|QkS!jWueA3<`EINsISZivZY}KF zkplPNd_Q{~b8|K;mR<;DLAK7lWa~?bBXUwGfqBqW6qTFHbVqhqf9_!@QD;sfu)6Iz1>)ANx84_;Z*QTONTb0H#N^ zdDFd2*^0_KB{pO-B@l`bddsTvJh9 zTeI1Lnc6Zud2xXe&j5W{Pu4rfqpLYkrjY4*3AA%YMMb#b{*ArT+F{8({ed`L{k~Kf zctWE%;CsNuFAE*Z2Y;VZ21M^+R6wGQk}h(wRm)KIz*)qlyL~Sch7kocTUK9{hnev+ zxHw-FWMW&n&PhzGX_o%`9O-N|%?_*{HOUfH+g~|axaL}w!O1SlU=GX?F;keVo0yMx zs~(|VKb6IQJ|YnCeSfxTF%9QlMkJK0NjopaKYhsLlZ)JY40NVZ z5yQlPotEz9j=SZZeN_u1+%yRhG~4R~uZRYqU}7t(8Zj0X-sI7#@N}S42wGg!~1uGw?yca9oWw^{%8JWSZIReI{_PY>_JJ%fI?Y{XxvEr=SY< z%e~}%%AL8FZL6#koxO2P|Tnw%hEsA zLjVc|cu^)?N?Z8;EzM7wgoz_nA>TFaDI0%@s=CtQ%L2TTHLFA`i?LwY?hMAX|NYEt zU6fs+qhpCF1K&ifIX*s}nD#Y@AOEdM(Qa5CGKiu!)xs&~} zB_#wWiT8bKM5c9#sl`ZRB4k1&v2vK;$L5{BW!I}J^*9lW7PlwVvfd%>GMM6tfd}SM zi*_?R8zwP2FvGl|{pC9u^AGwykcfi=j&Qs-;uqn8eGU=6Lnm;P(IDUpzPYQYh{cjQdd+jm^wII5xhU|{$TFy-)(LVaQqDVg1?{+*UKgA z#_@bk$|;6Z1&^qaxC48iK?kQM-~M@jIQ-V}>_Xpp%Zw2f{M$Qwsd0>6+E-E&91C_s#hMWh(#EQfF>_zF%QAY2VRo*Tqy>wcW|?6d z7tilpi0Euq=PHmh>HGQ`PiHr8>|H58pd8a^bxvpG`tz`zOcYE);sQy6fuU^(B^krM za1B1zKjH!FE8n*RH4ozj#C8FZI=&yha9*ctYbA^x(9}`xoz^!vyy+Kz8Ntv_BieZ1p`M3_hHk%f>3+UZs$^i#xFh zLn&1+dCJ0Y|FDDk@WVB$fx8q&o8y*OxF&@82*ag(W`W`E=_Z8!cw$4)m9ZX~40{2R zbW`cm%ZS=m!`M$+!-i=E!ncm+u-ME~Y-4&u=AOH@Cuu_~)k3oo5z43QbQsB~Bk$P3 zP1t)SBSDP;z53Cf5Y%p~6xg>pQDFwt-Tw~xOTG{28KrR<1E-%x(ue1?!c8rZB%tO# z$D)d*PHJ<~;OS5uK}m8sATtCdj6@-}sHgs#Ly{HEoxN6+s8e|I49044`{)`<(uBa@ zPZ>^JkhSgmev&fzB~z|SO=yCGzT==aH!M}hLBviZQ3+6B2c6- z26&Q(bPWE!fnLXuRgtzd*099b=mX?xt~au$>wFC)kT)spo&}={QR7x6eh~7v*pwz7fXXpqI9pmvciA{3zaY zKS(n1_o<FF}o(Bzru@1iW3c^yV-A?)W z1w8|In>L>O&&F4@+k~zw9N|F7I;9&j7^}bwjP;)AHC>j6EYY7Z%qQun{drJ}~ z5mtup6v`_1#K_fxrrP*>D1bnTvR_d38D(h(DfF=1kMt7|5K(bpZBK@TCU>57%XVQJ z!qBQiA@m4D%cg`0BCfn!J&ATES}2D_Z|p(&4q~_5Wsh8sFE|7J=M`B(Dd1@v!^6x~ z?d}`HFz@qLcg;@gOKMoW{A=x}_ZHt%kTYd(D+6Tv3#{tu;)b`g^CB^2*edh${GdRT zqm_tHkbIAd-gxBpANwkV%Lr`AQE|H-&K_P7Y>zBWbBTloSBkx6s3M;U@G$7L5FAT+ zN?)##3pp7dj9yFM)>u9URTI|ll!M8}U&o~kb;_Ou!n)NrxP0Qh3S<{u2_Nc22|e$w zYIs|ZS8&rX3`!Z96hQzh66PD|!p^l4(VuoV!Hum0WCeqpBlgo@`*x3-TqIcqRx`Ff zlMS`5y(+g-XWwH%5#4yA>(0*&colmlh>{x5`MIoM7nN{Vn4udBWlzqowKgh`A4TNH?)Us^_i$Ia&DPyH~%>({)W zeqC+e&ExEtlIsTw{*n$RCs&vjK6`jGKTNKG3TC#OBb6Q#uXSymr%<(X<|98g9P9k$ z9h6z5)uki*hHyt?qXTzgr;&UVNlS70ktwp}8)v24@%|1|*qs~fJ-e;m`J6^kh6At~ zB7)AP)nBh!9V1esTB~DUGSV&d3zf$F+Y^4!mN`t{wwcTqJQxj)__=WqmL6E1XYvV< zb!g$9$%2QIhF_|)Zupg@bA=DocAZce8uhd5BbK39rFMyX*d$(H+KKS}nhosXI#i6X z^%At#=OC1`S)9^6S~U>E-2fJgn(Dxp=WauF;moSrR&IyBky*I@px*wx*AVz`XhFTk z(?Zr84Z=U*O@d)DAgIp+-M{QtAYB&nU*)#~QGxO3Y#mOLPnxa3=pi zsp}+8jTnxRo0u2}UgvkP2IgThbN_L%^0A++SQ`+kk(n_Y%dkKhlgz`p(rlJ=HQ07n zR{n1Vp7t#N=;$Ok+Y} zZE`{R>41uKoZ?){i95ff(uvNB9{{)zb>^jSl0&#<2N_GatwF4d=}U$-(Dh9^`ApP} zrKqJBC8xxr^H=%i7QH7z$M!vR*oGgk>Yc2vJR~))!ABcS_4vjFw$gn85jgclsW+9TfRU&?aSw^xCt={wih3ddx4oc+j%jjv$*d z+Y|3}>k-t}qOKj5qxrG>eRktd2@bs>LiGKyk*H2HvKMr1K#&|cCCSyhwW5Ow**VoHlDo}s;{tL)9Ynf_E@y@#t~@a6E{@SMi(N zKHVueFSY0Z%B~rEt2%EDZ{|8#Lu|P)Bv$^=BfUgL^ZFy!{$Vd!9%m!{V+Q6(m8Ys} zhLhx$HW9gJV&t(1@}%VZRyHcTy&8~5JJN7JOKU%$M_;csAwUW!@2}?kogAp z-%5HSr+w0q5bTj7eBp@mkwpA)M~+qaV~+%%%aJE2^mK#g*B}yt*h4B?&>}RmQwAm6 zxOl)Mi7r22voY2QkIYoO5|jP{3mt)E7?$#qX26UHXiVVJ#!HO|L_ywk8jkR6 zC0}k~jnw>L?90bI2hmIzyPzNK#?J;L+d;U^2V-S3V1L$Iyv98HA_f5z5^c<(OEXgE z)MXe{=r{0^skGia;K!IggkL|KWo{XWmAs)k^I%v2{^r>8C_*zabN?2U|9^z;O z4JKEHxclLVT=FWwQ2N?)r#-s0Vk9=UO|O;-vO>0}zz`Mb*f!83`BGni!8s+-a2GS{ zOe?+Zv?v#xU1`z{c1;=mM4{S2|BjrcUEHPI1?P!RJY^$3ib2k%kaF7Cj+nD)D?0ID z1GbW~Q5*dgVD`W$!3c$;VXCaDieVGwt1TL`wDQXRNMh&LG^(2M#EVhJaU0SEg(644 zEIc=u8Rh^{skjizO6qh{5a_0BtZ77eeBe3*>VzNT_Qg6+ez0q7D#;4wSSTW|JO{ZN?6yrd>@N zkWCouWq|5ku4~XusH;8CYnFB4V(tJO4>ZzkLRJ{uf!1fV$-W`kA?|HZ4}_`yuN)A^c#Y?T$cpKbx2v=@l?b;#W1*&AR zSR;=S8O4WM6Yjnjsj2n3+Hk53htiW-Nb^%Fx}_pd4d!J&8pf_g#XxYRyI@8_+F{>( z?+|TV__~h=b=|I@>ll*{+q3p9^9(O;l3Ky`B4*%6eTr`?)}3h*aXA%Ab`JabSB-we zU?79{I9?BqZ$lF2t_qTv#a&_}>&qW$sVg*~7kCCT1UzMvVFg3qQyqPf8MeP*3E#cT zID9dpV6B1DqvPq(Xbp72R1f{-I~ehyhf@iLJ_$#}2s10k_k|18nHPUK?mItcBjFQX z^Ny?#D{6a4xWg{X)}Ds27RSWiy*ygV<%l)NKpRp;lAqFa1YQRca zw@!L$RmtkG+zlmKnHnRZ+w+0p6&{~D2Ho!03ewDh^E20ftPzDObYZ%gd>K@HHg zNI(ad_lva1M)V8Mhg`A4z|5~#b10dCpe;9L}=o7kUNqJb!__wH;13m zQU0lZ`H0vO><1e_$k|W^&J)}gY5i5C==4DOT$6K=4X3*NnWV``tp!a)6q&ABT9LWa z_>vX)w{LVR6~VE2s&NJAXtg3{x8GH}L#XV$sfu*WGRBxFmeT4+Vy3PW)?vO!ry7cV za-4f3_wCMosW-Ie(l=G=UTkA~b(=88Td~Jv21i6qK8hLA37TIB`vd7TH3U{H%;na& zFvX`y1R2$}f^#x9%of?}cVJERIrqd7s3#`)og zbX*~Iw5_)-$$f|9rku&HS2}&I#UMDp6R#LQfNmxtx&ST=fnFOMY1@ePG-^O)&mD6% zV^6kcr{c|}$kOc_z_t)?IBChnm~TL-Q|VZ+d8ePBp6tgxGru^}YT)7hx)?_k=Y3kU z!bR&-<#C7;y9$)B<=zhk!_(#j&L1F@Aw2W zcq4*K+9gV5xYNb|>>-w00_u#sKxq1XUsfojq@Ep!dunW#xrl)q%8S3~)^ajUE&Iw# zeAMrK^Pt!%m53C+|2j3_52MMF2Y#jve(SQJGhYo- z6Z7GZr`4TTXFgRh4bG{0YYdR8w~LxBdAhF6XAcO^s)Ef+xvKdm#bs&@@1xb`K7ShZ zD*7%trtsHMMm}3~l&UD^77yCDFTQ3=4tLD^z*!?}F|mml3l(aq;*O@+*ZlSp$&HLl z1su68^n|U5oqmMAtz#AZ3bB4sv4X`bv zDps;&&yzV?T@mh!&*D+Tqu4|h_S@_&2oCi%n$SQeFW{+T^$9Ln#W=4ZqoTCEd@iA* zJ;|jAo`HB;gefc#r;aV5koiM9)GmmdMH}9ELibY%ZdwKBHvoq{cL~JY2^8%K3ARWN z4v>>R(7kkE#&N=?22JJr*wXB}ALuyZGYpZN7DE&nf{auJAp%46D*UNw8N@FOVa_O%i!>_u3Y@SYw6y z?_Ow)xB|LgA-0klvcEwmpwig*de8)zn{YLwlS-q1t}ZBHWoPGn z&BuBQ8kRW`zq5I|+}Nl$mcD#{KYFG8B0emPr}rHa1`06_5j9_?wm%t+^HyfCCgOn1 z64&;lHlihh)ZSZN_B8@D5#bIuc0fM_B>`|le#JyIE1+z9dLdZpF>Y8R>=-~u1cjdwW2{13 z`n8=@vj=Doa`mwGh+4CHqeirS6{1Olf;C&)&FntX;|J7)y$(qJn-B>KC)mUIBXE@t zA}z9nu4E6)I?;nl{?2^#%Zw&SA6o935f;OSBK#9pFhx2f;(DkftdQ(R+1gUUN(B~1 zo47oc_CkYBt&x4<8q={rVVgiRcPdRa^=!V}iD%HF5SyZp#dWQ1#}*C2eOE_?^r*ss9skeAbC z8U>n+#jK&Cl))~Mc(Fwh^Ry)z(Y#(|?{@%5UpzJ*h z^KRWYhW)see@}A;NURuMil$JZGj!-1kDL^IC{-!)^~=;wmvQ}H z4aj-zhJuqAJZo#8a`5-hcV7Qvdz-zXjkd0hjh(fNwyu>cjf0DWp`3VhIvsr19i>o) zlQOviR}*PkFsh?qS;_^4Fc^srip3JM;oTJnP=O!?A0IQrmN|)M*fxZgLg1=COb?F< z0zD<=PjGvfdczQWr>#GM}O1CKjug3`+nK1oSq`n_iq z?Xi;B#bux^6*vcs5DRHxx|00>P55 z;X-Zi7>@?YgpENleop$@4ufYX#QAK6&4HI1cGvHQap{?SiRdE#d`_)&T1HV$-hyL<~{eNm9_zPb2f7d9h-;jw^(zM!RhWA<`2Q`!J4`-zL*}{w4U^|PJ zzRG*NVOeJaB$h{QL@Y;Kx-7bokHRHaJ&it6SITIvUW0FQm~Q>61V7js&;>}D9$_>L zIRi8qB19}}JN%?o-HvdZPnqIC$_zvpp&jiDO&~xeunABgv!4oLWk#&+flN|!#E-8+ zA$(-U(qB^GVcrecF|#xKG!6mfOw|eRyAo&!36e#j#4WpiV3oS0iP=rq$3TJzVum0< zS;>{69yfc?+r_d?ixWpo7`XB=GK>ajI@B&FHQ$7}Zl0QD1|{FL!4F*{xDJm+lXAl^ zAn5isGGk@*BB_0SgGg|aQQeUZS0oS%&ehWpOck#}+%asr@qK8~j6Yts?Y|>InzqLU zUC+f|VU|ABcyVIYph+g}fOru|AE+6#aS3$Hthu{ds~I`<9}R3&spO_Gtr@&Qx<>31 zbBX9V^bp0iXq$Jy?Nh;^YF5MY*KE!K+ zr76WdzAf)yk0fcdXAe5}d5cR4?X9@5_bh-2#H+h-XGKKu>P$>Wt0V@||DYpYkS~z5 zZ||HBgy^yp)^AT!}sPL z#KfG6>E8B0x#rVueiNa!%houYVw&RMkFCdU%YtNbJgXRL9=O9vro9SXD+unRy8ufX zoy=RPRdy^mp*)ouf3?%HZoM}zqq|Ub;G5~Q68%}b${u+xM6TUD!-W~eoT&Mvai=7a zCaiVm7SIXVcwJDJcvESCEVmN`zv}c(y@MfyEHo+VWdKIKYoQ;YA{Q(gGFLPz|KmdA zhSS>*jdZ>H<4w|CpmBN1_64&G647u?=CmTKS&AwXiidsO0JZq-3*y_Y{)}fMD>M#q z@Q#@awDC{hAx0gQk;De{H{dJBpgj4OeQg8ZGblH(9kV@3bGd+-=bwneL;J>{GZSnA zOG_+s+C$v}^>^j!IU|q5_V-Z>uGi_TyN&y3CrdcJukYBpkuwI}vFDg0TsGd_k!6Fz zja#A%&2bAfoaio?`e3!J@WpWbieS4gjyfJ-yZ5@R4(C&tKiSi!`nDA$WX`P7Mx5F1 zo5R*2?q55*=e+U_8yOOVFH)9qPw`_%fo$FU*HCoQN4>BB;cmsVzi+}WJNPw&fO>!L zbG8ZoxW7cE>RQp}X`XweOLCz_W*scB>m@?Z`sG)}%FBYyoz8c_IGJS|R;O&R_|>JQ zD zK<2kBnCkLFpPSVMh4xmi9YM@9<7=IqvzQ=-7y(Q|#3f`j8bOPG#H%Wr5x?t=AmSpz zyFH_qWt@w2pV14U=)Ud0tRVSa!o(?nCVxL|ruw|{{+$wLWM^olZ}R7@H({0WdFx%t zM?5A7sF%1|NHeY|$`HgX7R=yu()lRXXs#t(KW6$C3Q~MEa6f!a55;x5{!(2ga8c{0 zgVz8ann?T}P})a^-8%x^7RQSY;~dJm0far{I|Dw*YmG%OX6j&b$`0IihAI#f$$u^j zh6@1RkN$lu{Qd^K@f4ooAelrDSJ4EWtYNgzWL>%hLQE-9&uqna)?tR04~uzLQH-VE zoU}NN*$178eTxF~n?#RPzv;s6*Y(sy53O;V`dV8LsNFBz;K8b00@>)NQRa`$OYiS2 zDJAX6NG3=+*Dbz-(TJ9Kr3K~9nQ?9Xk@ekJ2}1{=D}JOA=Vz)OD?AlFr9mg%9R3QS@C>c+?{l2Z{YocKZ;M@@d7= z^g_b6XNO;YF?$8AM4f1xl?&Z=QRl1|1bGtRp}0S1g(zU5?Q>CQ-8BPl#^14xgx!e(4O{|6@j zm%{`q$540UZw>VS*qZy7hRD=G*TPiykB-PtZX)V;6MaN3bYke7$hV;Hp4T24)I)zQveqamy4l4*)F5);XEEjB&2ZBPiL;$5HjhII4$2oEqoR0A%i@TZ$iJM* zt4t9yW0Sn!?!HaPPKVLMdK}5mOCAXuCB?tpei;T{W*fqFx=rYVW$QQfDEPA_FpWJR z?5#0$MHsU3OJEXb#Nc~CTCRd(tV}tq$eo}!%5IHp6~P8wbtkLY>KCKWpdfK(#1y`a z{dU#x?p>*h^E;EE^vJ+Hb$Cn{LoD4FEKkG|j#AYvt)(aJo!*VkHlN>JG?WQvvI&s5 zp=RfW$O+=t$zOIhI765rY#;*tvmCOF=r_{Wq*pv1vrYgG@K)bY6!V z^&YP`6zXkS4#AuDYTclA88;_@qjeQ>nJN~=LaEz~g{D8L^c}F8t(dp1_r9har2Hym zHaEB$1DupJRUu_7c){o*c1^Pe-lwMSy3&Sp5r+*XqMWsaeFfsYtS@d5c|y;2iZKv= zjy00TM@P9!H-Ld;zS^z2*@V$^tcXBW1s&9&deXc zft<$?{{)Udyt?8wErTLj0{?QlR`PG)d^LXkZ{S3H0w)4CYSMGN-H8uak)t2h@mk#n z+BQHM&h@s%KTItk?rpyR94Ju8hmRizbkB=#K&FgJv_uiA;3Y3TfVCo#QgmtDygKTX z#0Q;`eJf@IQi4XR?p-oG+eTRF(Utz)LVw2vRu8B;f{-e^IUD#?%53rO?B_2^jn;N~ zhUXtLC;>a+4 zHH!KBm9~x!_Gn!8Ri;g^tRqQPUpMleG8U_|u#7#r{OYL6WsFhR%6LgwrA#xvkD*}= zRi42-yS@R|W6gEXTVbrc*7?}WV=UT&iZ%sV+a?)c0=SCbUIiy(ZSL-Ule#lV?%4s4 z4!$QJiRT|J=ITFz@FF^y1C3$O$LUZZg;gOD%~FZ#>%5qi{1Z5S6co#8Rql#}^M3=5 z;~&6D0-Tc**46kEI7*+u32&lB{}VU|opvSRMh|~k;rGwT`FHA#y^XGwsr`SoFaLqf z{}R}wC!J^g-q`Z(v*0lQD+R~UMOWY9?=;VUH@vLGGpJ=aYe2o_At zp=P|tKWHBDx76Ir7LvC2$jk1Y#5OQj5KF)a9G2;4*<2W+Lu+0K zD0jHHGG{x+VFAOCI8k5Zm5c5|?2#kf#;QnLB zTR8Pg?cLO2@bD=VX=UUDD*tiGDq)_q8(g-|EMc!w;y<2(BG!A5KvVUF zcqxYntT0zDjYF)gV1a;5r6Dm3yka^-SwoEhG$*6^*`+bc$bMLG1RrUTL-$^2ITL6l zlWv-4sw`F`J+ov8w%#dmS}-~MW}TU0 z@udJZH-dK{7h&nz2kYy>+;cv^W*Y}lMqD}Vb=W3~J4h)N7Bp_oi}vW_#)H63Q5-rhi@ko8C12^-!iwJ z8#0%KlGf4A7rXtZm-qHjR3c3asd@~=7h52jxGOiDJkDLl9dsXG63&hV>hMb*)zH*t&UhM=s4|^q%4vl|R#{374ZS02bXKy@l+y zn{O{OMD%H!T~PdB3_K&9THSGKpD)~I9x#=^Q`jdMm^HA~0SV^AZcVb1HLIf3UDtpi zNnw*9r_fysq`x||^CiijG4Pu?&0K48U?kuG1m1#rGKIrcT7KYY@s-5#swHX*s}*1; z2<`sGv88U7byH13s=qPE7synw5s7i5BKRyFh%bXzy6{x z{l2$jBbNKzKM$AUCwclmUaIi-!}XU__4$DBlXUPrq7<^ijWelN@U+MtHbj{RFK~$` z3tb&fQLO=FZj@Y}=oWl0_{BFw)vj6!4ly{M!FDtbpDkbmxFnY6q~gc2Z5~j76o<23 z@rFm$+k4-Jtc4CE455t$6ll_80<53QgbEbKxT>yrpEa3AO%O6l&{Wcy4rJ4h@O>=# z+AAQXAEIF?pZSc>ti!Zbs7gfubz)VCb#rZ58CME# zzGLI*A%GEj!u3E@_}Xrirs$FX2`M^Q7%8EVjWBEO*wRb#7e{2f<@-cz?_e0kW<8+K z$9LE`JbP+-N1+rqX6-@{)HggUU0^RabiOIQP@`Y-5$VeN7~!)Z`7c}+Hl4S2UC@GB z(a5JFD|a({pVK@ho)1ovoJ!gjVAzGN-Y*l0qr+iBqD(|(;a7y9b^Z1d22YS8d*U|Q z(tOhgadlva?srzB2u-;q@U{X#lWauT{ObdXJy3Zr=MEIT+5=wq4@pLnPKblwKqv3c z2{embg=PTb&H=m%RtBJBIP<@^Tw2KRFe+XnjoG%eYp%+Irz7eu6h%$>J*< zqEy0$&*oYtLfJbC)IifknkC|X9euB+WDLtcj-RbN5$_$mL|@|jXS_^`R8+7HwOWe^9BbxO;CEKIops0mbY0vu2w}{8wiL9VEycfq z=zpZq*65%==iZQvRf76p?B@6-l9HKT00L*hsIZCUehbm~{Z`l4Sf@Jl6xtx7+gHN5 zU=+?Dl!_*Ri}2L_sQC76yV-R|tY*#8;#3nT-fjJ?@dqxVqyv+@qzxYz*PKgZsv zKgQm{_AY zHfghro=M-_qShEO!Iy5J#_c3N4YRRU97~|6 zGfd=s@@T(=tPNzberEZNGu8Z1(_ud)mx4n1^+YUiVwPAmeyFA?|IZW4U-{O511JCC z(f&iX{?-itznjm0q|yGv%KvX*<+=X#8Rh@MoBanV{~M6?rhjkb;{gqxm}}L35Lw-04w=QA{2qZohaw% zsoO@<$rnbne3Bk3j47EwsU^Ikz=inA7}(+^1q*tbYQ1$q2rhXD_6ds;UjX~lylOQj zs;lr((fNoZkOWpJb>)Q(Lu^`;`%y z#fRzbnkZGp={U{nVQjKfF1(bCHhq#FmV`9hSuPq$+N9mAWei7stLjd_Fwe=^kKAKM z`AltiBHQ7i#N|YlwG8~m;K33d*-CJusYBJ&rG9l(0V{Ai09lbw4=i$*HV%MoRhOCd znvWnAB7LajdW(B%0xw-*tk9g+k58kWE^ZZ0&+k3pxbW8Tb&=GfSFZz~kuS`Vq9+zP zjqL+UaCiy-L3-p1m3bcXc@9xT-2=gUh`8OZnyvzjBiG>mRu=5OUYHNuOg_mB5=4NCpGXoP zM+zRgn)gY2K+d<)SycrA3q_G2wbnfFrQ)91g?dc66B?u>BG~HR1aRQ2lA7fzwUegV zR23Z6nuDIZ{CF}&T5p?V9Hj#ZItO|nT5G=qRVlEt<`1hYf@;@uL_^tO4%3p;SbTi~ zW19c5v=u*_W-ZmgkAe3l1lHTW~&pfz6#(r`! z_`=oS?L5`F1+T~$EA`FQgQMZNY3er1%GRQ(pBu)?y}sS4xV-`A!AeV08N>zFkW6}Ua_%6-HCh-*A<4cy)q49DV zb-&s{j=0+-c@>iqPCNFa9hMx&$MMF)Xv?}w9@3);OQCG3GKcKyMcvpY&B#$h&{kYppG?5bH;J+?<1W19h0X!tfVXX_3 zlC>a{T+nO&e8Ooz4{0W<(w=H8|1hFU(5$~>@z2ENhuQUUczc`ciT`VQ{cr9CE=Ciu z=JSjnL;MT-sDE=WzlqM@0-L9jr1hE*d?(bjH`;RooT7z?g>)HpA0JF9T_WiBsuF}& z*v7F-8vZkF#&;SuWKlInQyu4@nf!;2lbc8OJuN9Vkfv$ zLliKBPcF&00O}9n_2x{CiVCWUVe8dcWe=HEo;BnhF`VTqoX}T^NlKY2l%}zZ2@5f_ z9MGW{*CXf@D78Wg4sWKsURYlH*h)WIVoa zIbSa<@iL;JXLjP*lsmo(Dk?q*)@&@1L^3N18P9Lna(Wck;_Tv-VO16udCH0LcV<=c zAn#KnFxX{;kK!7#R?>kQ6w=Q-CO-aPwug6EJ#yUWh?G6$aR+LYCSyhGrwfDI_UGjc zbLTynF>zyeWepVezq{*kVaFJxV++n7d3IsMmK+R_(xL0}ffL@_!@+BeLflc*^?)%@ z_}R4E@%>;z#Zuxq^=270WjIixggr5dKv3iXiE%Vq!qJacSpF`|88$a)*ttt+%)TKRQ#26FrhV@8HNBNe>;$wCM^UE-rbvVo{e32 z#6-zRZsDaJ8=062x{L_OSPXI&x>yWw+;NKOubxqbz$Rhl@V9fB&c`;rGn6~%6uIVnt6in>%BNs; zmhqMjL*6h+`zGkiZ*I}#=s=ay_Ey0U8Z)iLsdNOn`SlOCKb;Rf-t!bUt9l;p9ucA3 zo3;`kqFHRJ)8+Ss1;o3%1b;Pe^l5!KwvTVI7`*FqI7vKhHSfO#AG}>Xc2-(t?~dyT zc5it=s=l{x-W`(nWq*5P>(i!tBkt4w_Quq=MfXPCxApCftB;%REn?>gx?AU&G|1aZ ze=8^1qK`7jTle{aW)uCkPraJKKRM<4%mS08V9gQ4*deg=EV%C@dI}%OVT!%&G{A9Z zAb0aYKsn{rq_(ymzV!jbR0@xjh*T+qjIFlx=H}6J7dJs6*~g zhx0K!VmXBuN)bf7-KWF(R1Jh4<1%j72F~M8hqJ#e*>8vQj4Sk8<)`#z_J{O^&Ewnh z!`LZimWy8$6VE)~`%8Q#53^Xbhn7%Y!W+%tz)f9_%Jy)}GN&ABu%vVU)H{QzaKhBE{G zEqy8fA$?ILI>I!O7XIOI?s3hi!aKx5o+=-JNHO99rMS*Jr;+~Z_l_|%$9OSM;A*Ua zxrH@YonfwY&aG)MwwQi7<1Tf!Bof8&eJY1)tZY7Y;L$7&G&w2hQFU;i)oR14NBit+ zilgM8B-I(fr#EAn2&7;Dw2M?w%>v}p?3I1jjJO%U_ibdaX0*};d1 zqencA%MyT%;jjnptRG;EXawo3aD7d)P4qLL*Vwu?FNmV4Xic^eyzgzo?qpeLf7a|1Z@vQ+dN`jTyOXNglqRZdno)uKm1fosl;Z#0jC58iNqX zBsB?rtbjt!$>Lad@j=hh7k0T#%VIfG+afqYKrSp^m*H0b7R&31gPT40lnZj2(4mK5 zlsFTgI7UroURo6RgYTO%W}K`8joo*`Fo-Dj_v?;u9Z?1%RzU)O%2?S*M2ISS<_VN@ zVqyXUTcMLMJ7Q^gNOGp@z8M!Ax1d9+T$4cqSMUn!6g3mPMjb>;fhGZaAA)-Hxgt?N zwBSfZQKJ0+L)trqXTmmH!X4YTZQEwYwrzLNNuJmp+qRPqx|1iiZQJIbcfLK>e0%>V zd(Rx+=T)m})vCJ|%dkcCpb^))1-$_^IcJuIOV11%0^33k;E)4Ldk432>(Dkq)4_{S zGmu-72}DZw`C?BOVSbvo?bpu5qZM4Krdd>*5_Rfaa7inQ0)`TVK_$B}Kx*!GY~`m{ zXN_>58p;&a02=v0H!dkG;z{E{qY|y(+NnKfCYlL#ZaDqLJmCW)aSib5Eb~{3;C&F4 znr!$&W|lef?lEQpx|M_(tQlIvG!DBq>oOE>CVcPst|@utoh`PI0;3Iw)YZD?&o-1; zCn51*)pZPzXXGnv=jmR;K)5lg%Zp?(yp>@1c@7uO_K%=KS zY~^sArTkXw5`k|S@`H&J@-C-36*Nb()3)g|;p5uiHP_r!EE4rvv(cxbGS)37Du?Qz zJ?Wt`OOZ6HN;frzD@shzJ_6`D0s#wue0jP3q9K8^)BCs6<^k|`xl!`_&WeG5QE;gX zW)U`flbk5AvI|u~e*ip!}A0bfprO>lHO2d+;-d##z`hbBd(rcX|E~xUiDpFFZ1YjX@aS4sg{>Nu#6l)kO zSFH1()FMRLaGA9trtz(I;;W&ZU`0^;QYmS1f70JS8cg@TGa#{;3Z`U ztRjeVy8tBXAe)W?-Vq*cX^owBVY^47hs#HzODo2G{a;cFDxZug(5F{AO=FTTX zH%%lhPw0ghAsgQqa;aw@Wr|$dEXdVp(!djj(6G~(pWH2YQL^j7ElPeyfT-3~%6*G| zJ3^(7Ie%ZxIv0v~w}g%LT{GBhT~1)U>HzEJur0r_!=$3isUCmU-xe}ZAMn@!BZZ?t zT9m;6rO5wnH1*iKk$miWrEdt*dxw2)WTM?R?1s50X~`G1O!+OXF}tVph5d%I)c=>@?^@(QzoB=755RU{Mx(V~ts@iB>O;1t!~H#|vu~xmlBqHcV4myNJ<& zyOL!!-ck2@`g4Z+eQ7StY^(^FLGbUJUe|B*Q?u><)V#Ah=8cb40^7g6X6(3-Yf=j}EwS<= zXeinh>X_>RsIYZIry9~}d7&387Bq%O^aN971zDotHH@tUKRKB3UP0xCN4o5B%!2W45gS?E>=z3`pBuc?a99Y3(0#xT+20S9^ zmK-b@R=Yise|Bq@5H&}AcrlB=!+AA&yKvSxX!XJUc&1*Z@)qD>ud8ldvPR{JXwja21&s#shR|&!~}@qtCc|J zV(yY^z^Fhs1w`*+AI97JvR8xuv@W$m0A1kX6Wa7;>lo!i`{zTCaIz`1MsN(unmqX3 z4qpb~4#0;%3OIYMh4Op2F2% z=6!a%x_)-aBa5alil}uZaUO_srtl=K@c+$GiC|9B(;+9uz?sPi?~zVZst7-^kRmHw z3Sz{_;7?f&nzd^~`)t_%wdh@0F?X2Fn8682z$H4i9eU%GoQoyoTtV~7JzmcCiV=&R z9Z5!QpFiXrkDCiNMz2g^V4WhJ4~p-$Fi$LSkwNZb3Gp0Nfj0G;j|VLmh_CzJzhLo) zKGj^CQCz}1U!lp4PtPEshVFA`FoRR7OB3dRr~F<^S`7CxmYB5wBb*>XL3|jkszgm8 z*D5J=Ph%SY#^No@g1f|^Ifd+A(2aN<06KWzb4&0velHL(A>+_BetG(c*XCYZyFNeA zab@g>;J8@nxiO$y3#}j2@jF>B|pN>V}ww{}2-Cneh9+xIY6%iawHA0zC$jW6TeL(Ki_x97LxxBYGy zxEE&8gp)0`Y*G$WU7`^YB79=qz~=if+BzMImRNn7Un{Nv`Cl(TgZuJr{!`J%RdbVvjJinQ84^!9kb*~Ey zc2Cu4_H}nFDe5z&B~>en#>=Vh0Jw@T+5!EtlVdghlPILePo6gkS(Yye^&}U+e;415 zq05_K1Uelt{UDZa{nnDt>=kadYDhKgNz(redHvJzKQDk)uU&FheC?<-{!ffQ{+W~f z3k&{DsZCn_G73fh+WbN%tHk;_({^tDBNt9Sc}SDb!&myL8y5Xd%53U2J^I=+L9vGAI@#*h51+G?JA zBj0HkDKDcNRqZkBv(0YD<&FbNpmK1+zo(yr&lO!jju{d6uPn}`y>(xvnlBq`xJVuM z8G0OD?&!U4Kb*^QN}P`-VL>RK9?M&0U3($YOKGFv6)q(uH;HsmboeDH+u*m#uPD(k ze78Qa)lsl7NBL39x3!iAUW+G+>~mFz2Wg!7D>`Vqu;&B$>-%b#Ljbm281qu_xJUpU zHe|4%3exX)u_c%nUHdI=wkqIv7X^Ymd6C<_di{%=loZq>mGG!6DHBpsI|WL%uPvB4 zwi*fo*$H<_*cIDAP*d5&NO|lZO8w*AW$~Lf&w?7GrEd1hmHYbH2Kqi*>Ty?7SNA2` zy*P-7{CKlXdB<-jxoiXplTjHYf(?SD6LoTgmWYFZLqs&ZKanjxOxLrCBTkFD%z~{o zECPG}%Be?z%~dbBG1O-J#@ETfLqIKoAf@lFleCw&pX}n5J=@E=?EA#8%EPp)E@0AC zFfjVc6itXH36Pul)NgE@x|sFM6^7P(sqnV#lz3%{7QoZQ@a9nl^T~etQ5^#paO~#p zHu}^m)!Nnhx9a}CObR3;81t#ViXr!xJN5raGx}Eo{F?~vr`qGNB8=R1i$Rtvn)LOR z!_@^(U_E! z5h1RJwvGnsj}eN0h>bN}2~V^-jj2V*FQ@IWT|weK+@!rc_B~lwlZd1y9eUZQ`Y{$z zIrc-I)CKr&q7$|+$99Bku|_nki1o~jFqN9UCF1|m0ubbiOq}V<*hht>;rA5(ci=O4 z=#ZB~sLRwS&_;qxkCi7n`OcZ(JL+S+`fBXw$0!a$k=1Nr-6$nH2G@$ai#T=ys~7)- z5?CDCL8)j{BU~!o+V{alsVM)W1q_FK^4i+u5lup&HrK&#HvUFa8ogjM!bGEK{U}<% z+zbO&R6tgx@GJ4+5c1(GPAyt*jEgj##aP_>#|yB#7@4a#4?i3Xt1LspND z(()w)P~f9BZ|lqypz9s>PU#`QMo0XI5OCXFHdVKHyHF05!>5ZBDn>gXL3&L)Ebi)= zaE|gI5G{-4ZLXK>=tlAA()_)seEJbNV7A|~lqJ=NkTuq@ z4fMPg=|tZxYFFEvaREWq&hw#$FZShyecw&z(tP)ArSOmHB%L~6bj%7}hSKuX+zr=~ z`Q+>Cq37){)y+=?;#2RUMKKPv07Chm+_%n0M@d(zAdXt>6hn5aX&rBD;k7($luPI% z?@>sGRf=-Yp7St1Yg-1wK&yG)tA;qkhsuxg%2PB5?O;}M?_d}41`$-{(<)Il_A=o+ ze@^Ii@jGMPHI{I@U^_lSeu@HxV9xLgMA8ihqSclXo{lwl`e)zAXTL&;R9b zgW=0Oo#@woBm(TWZ~r54|6l3%pT+%b^`3wJmv_C=LG}`6N!Vb0-6WvOG>U;#MDgyB z4nohPkhP#sfR)j%-;O)x3^T!6n)P6kaQvvBP(r2PqETXJM*g#XH9m$n;q~V8t#(^f zTo0EpSluWUpAsVK%CHPomt}lgFPYUsgBk`XcjQ@~J( z6Ih&anC)){G~{h%yz)*M<}=AgM*0 z<~QfXWbJS3myB|=7E%9Y+lbyDZgrq0MVq<`XaoVY2t}0o(BN=Y`gyT&;;#uez zVIwUl;);v^{td4)yAeU!JfFQ&YMhA7KuaFub|gxk8Ry!-ToCfac|E=?#QbPdk0S3^ zHy(2o)^W|Nu8yv+5TT|zhY90;!pw17wUck)?}^?<$CIYx1-^7=Q>E%K6{|U~dJqjG z9TZ)o2As;W;2OD_*EGpuWruXaVC$9d?C+fJ70o;*=YCLgF*4AUB=W#-ij>>z{FJ{Q zXP;L`Jzc$o+J9$^9n3Z&GuCe1xjb0#<{C^OX9LYV5QG#h9b*FvEwICcFf+c^k|Ble`VEAaIc& zdu(uol>!LCu;Xa3vC8qml|4}*ga2Y9A@r1e_>cDM+pc_WETz%vn%dfKHR@ucbT+qh z>76Uafy&2~VEm4XOKxbqP${ z(XmE1SL++jGnTl!*oaEUl{(uCIAS@kusR6ry0-R8R`xxUSf4&;c_0@RV+{_+L$YHC z@TpF8I-Eo4Y#6m8eHv+T%S9Oo*+h{bAbqIZIEE3`tn?awX+EsHz=NEA*b0G!-uzZ8IP-R(ja~oY11*H# zTWUbs)g+apC+@V0bYJ8GhRzQMx1d5%!1s;NE8E*`YehfC{}ke4pFZ3`oh|P*{H?T;FP% zQaOScM=areq%Os|l*CuQ+-Lt$aFr62@;$EAfNw?Dtu-q6<*?7ktRrUjsPn-prtBm? z_U%5upE>;wG`;XgOWeObw9+F#&Q_a!3!U-Sn5wol@xF6a1#Ox>rN z@Zkk@ST*{0OIe-E;2gM1!g~tw;55QAO?_IV7zsCIQ*p~VD}+8)Kju~KzjdE_0Kc9R|A3Kqq%H=Sezu5Bh+8=x{QRSZ+ zpl%@PjNtVEon=wT;{L`t7SK3264v~xbkHZ!xx3MMA7_6MymZ*`B4N-1`)mFthuP;8LZb#-*uvQs|!tX zJb&BG9GS17n}Bi+i79ty`pc=2H5iXG;N|w9bg}t^7c(SD-j(%}ptno>ul{&go!Te8 znWc`<6CvWO&HZ6u3Ff9ccGZF_4P2G86L?NxRXh|m=l+iqqxIt7uhgc7M(yhSAhS)mRxkD^6&^F;?T-j` z4tgM&uXR^Aow=`Y0ixusQTIrdakg#QhK7@=r~M&FmA2f53_|n^QS+$N6l1BLSGy+9 z#-LvZQk?rpn5e;$Xv%X)D>8p%6eogbp!ZT@<*yAPtExH=n}XDDM2Jr3?G+3a<#*$v zW1}e0vRR)7vKk&p1X|>9Wj>RBw^|Yfty41Ak>vg!*aGv!qd7y)%zHR6l7uT5TDzU4 z8;fcKH8y3)z+$>-S{uM@bb(hcD-e@DI9D&A`W=3#@YvqlBHx)&%jQb00?L_CCd5}3HE4>au>%64yNJ-Dl1|DIR$1_OSmA;dp>?Wc=h|Co*N`aKnq_tvw`b z%aH*cJisxZ{7DmzqvwyV7V6tvVbHeCYqJzz=X0YJj}z(i>1qGCiU0lwk&pQ5EUx=0 zbOJW?W|P&dd-gnoM@O$8w_2K(Q2%*e?YgdF$6=76WM-!Xtn#9Bh5SYVzVdVdXo7Wu zh?%aLHXm_K-oKyf`RAgUBL$1x*cY4c|6=p3|E*O?F=G#N7bh!62lM|hmsML;L{moB zFJ&OW)@4*zI6!}kfnry#qSToSw+3Z8aN|zu@hF*)kNAk(+zO_IjUYELc&FYK zWE0c1@y?T(w7=|HF!+(n7VzQ!36d91fg!VpF;)>y{N>IA>rzaYrphc7UH}WRsLuN* zpENcT)`6z2dJ8d_lpeT&j2LXtlASS;xweG*+n5WtW&dQx;>g`$UZ<1t&b*r}>mbEG zVuw`BceqLZQc%o|Qq?$|A(0Izz1-Ayt5Haswb-dsny9wS>DARspn3rWrnQ>?h7U2V zM=iH$@`P7q+qdrq`f2*jyUJI#q&=){yKlSp2;maTw>j=2$;grErJlGin=>t0omTT%+;I;*7F2l&*DW1E8SrJsfbpN# zd{|1-BO_P}il(?Fn|1^A2-Np5KUbK0TZpO2FBYv4YNecCGdD&sHYkpnfSO9Pj1itX zkTVBOgHIU$GH%iY6FZQuQ*pvs#W3}{`Nh{s!oO|hP`O-{X(D!OS1nco(KRctNyd@U zRqjocA(~hPF{}fvRUF#^lhtDe3YW*ZA6Ix3ADuVrrX4E|O)Uq-WZSvPP(5TzrF;3n zjjz|?u2%q+2@Yg_S8XV|TY|DuAjrQaKPM!Wr88phfJ#}HGP6gTb`1B+Z-iEy=9VY? z8H>#dU=DL$p$Nj3-(nw^$E4`%kWxm;2x~Az89g`Ia>b**fMR(1h8Cy_O{{61MZs5? zl1r5d@Db~qq04@ad6FW3%&#hjd}O|3%X|%aVpNMDIG4Sl@hi$nXiH{{b;~4+foqe7 z&mig_DB~qozk|57Mnb0t!0s&TNl#~g=wP{ZA`lGjGrxbCckU!bh*NT$?V8=PpY8OO z5_T#OeTU;;^#ZmX><-VPSCg9MK9E_K!QG@Hpt$@M`ai||pWM(Lkey!o$_vpiror|< z%ng?RNRDI}H&qGr&`+7Xb_NkAaVN2U2)HHyW)dxQifn$ohFxAUI%sWet;`BL3=;?4&94%v8)N420$hFs@LZQHl>s*%W=krE3pJxi!<9_+(qQJL2 z?A2T3L1%AnLMmj%v3?nDZGkLN?qsKo-dPw+5;>q)d_I3aB7^tuC1VYrYT$k)WRMB37w;I=h-?E%Sv zRTxiX4HONu1>_6zHHo&&DH$!fwlF6qV*+D=ZNc7m02DM5Dj_MqyceJ@@QQkyrB||d z7eEF59W{rPU%@N%ihi4?_ZEN!oe9l^YCzg4za;M!az(q%(R&JD0B}J&qHd6ODtLum zF>VX=z5=QNNYF$tSIUGLbITmtrWCnlvoCXDlfF-Sd7fn^4{xL(ICh*X(ZXxe;-Dmh zu@t1c;4di@Xx4+$+#HhprZ9WaaTF#K;2@44b+~~B=EIT?4{!sh8tNs@Jq?z)2+nd8 zav74H19he+?W4=15d$-zfkrd2;L%COlGQ)c?d>OsvVGtEm2h5_n* zl|%KYC4AFUZvl)hTHjA6WT@C$hRHf7NW)rDT;LmvXQbQduD9U=JLB<`303J%H|@I< zXtRlE==ZpVy8ASz6Ke)dprK%QkDW22{kwR;S7)Y2pq=7NJ&mX?(dPaUKwgNkS$3W z;@&fzr1fbrn^YmE2y`i9S0dpm8`Fm03!k&&V#U`>Bsd70mA}{HR%yf&_8^-$p^vG} z(xmlF6&U@_&=qOt1&2t6hk;OsKc_XV{^im9s?+@H!4cECF#li`Hd=ykz6l4BLRSGlHRps`-(3Gq{|woKz_0K3@<2^4gr46w!~zuo{V z4p(6Br~5j@z}pXBYq6DjgxP0X{LSq@wPCetYqH{5WxCZE%i+;zQBZ3)dm`P#>Z(B) z`Q-sA0j&m%g@TH#X?Cq=tYqueFTV%xwEVnVk|Xg-)Nv0J>5lU)K5a4Z%9E0}Dz%<+ zPr6Sbu7q8FEwf?AZc!7x#>L zjE{8Bq9UA5tF>aH2zHg-HMo&#Xm6<>9gE-6cC#Bis`!OnSCKtOLQG*5P7#^b!42GS z;Dv3kap8tFDE>8*7ssH?Pq79WK>?z7JE%IN(>k%17{iq8nt(fF(AEc$Y3@Q-0pacb zCU`;4FGVA749NRNYrn;52HU4G@Ry-CO3-kV2{{EL9ryJO(CUBDb&`B!>mVjo{rGCCPv+XA@8Rw>cgZ**ENn}iboMD zP(%FHg9E6Aw4(ad*FMrJgs~mh5%*Zxi8v3I)F& z#_8Qxp>Y4dC={&!Q7BSi+|VVELqBs6mSvZyTfFiL^1?w-F;Uf$MzMK7WyDdzwzbma zDKjZD*UddRNvLzY@^<`os>{5|IA%G}oEHp+EJ=wNsC!THCUX|WtKqa&$S`CSwTwAP@z&2!W%vb%$gyuqXAfcyP zlWmJ};@d{-%?5Npd!lI|YoKbNT#&5EwZ%;-YALkkUVSr0*cRy(1BAiY!kj|KArn&Y zOL}Epfp5$7`h0l^mBLIS=TPuVdF5PzewkCs0a9V`plgv0C^{vVq`k7QAh#8IbpZ;1 zR+vlV4T?@FuiPt;ZLwY{KpadivLM1vqaJ(N3dfc!MYq!Y3u}07(34J{?)}opvKWNf zvtDCA{NT7ayWT!;y|^1d*ua`K!DAetYdXNzBK$ClXM&}a1~$a1WV zfRRJjj%q$len}!rq9wboQ~3S%Gkfo6&CP@&6)a8=b(Pn^%FHx_>8**>lQv}#}cv=XY1q?ADw_f6J z-D^Fk2?g7o!RRhHikg8sOtYRt=ahDO11znpg&sQiSvuMnL7F-g-A(Z9z-=sXa&1o@)Iv zUrBTryGtuBJM59*P&pg0QtCeODpEr(mT{Fd0YUO#L{B$fsW%ISBbR-O_|V34$nE~8RmA!z21fRQ@qgLiJG)g-M^a}G5L6=?Yr zBxPZ8{bkFtjrE4x>$rs5d-)`mcNL)T7ij!xZ>W;$K``s`$us!q{p$M!+kY-TXMe}r zI@UVWR`0cBt1gI+uglZjS!L6^nH!|ov8J-VZsy%E?;$(xR;qYrH)~FH!0SQlpyMHv z6~)mR^|3x3%c)Ak*P~hM6xIzw!1NR8SLU7V6x$!UMV{m6ihRq4AO70fSdvFklppUP z;18l~sQgsk=EQ%+%Hkm8!Z?g`o=tx`fN6?V-O10;Hwu^=wkZ+8PJY8_@ zBl;Y7NgdWp`WN}e-BI8IJ zDP)hnXTzr&v`r%(WtUG%WKSA}MM%D}LP*?a!7Ul0MVP z!(_AoF7zT0jOJ0c&g?0stQtGmRXynZv9$bgHg~<2>%*^_3gYeU6 zY!Z%RsP8B!#$%X37OAAa=xEAR6-E*1Wmuec3Btiv5^7lh$$D%SXOe?Rx@qzh62=Sh zMk^`NDlrxQn53nj-X>`H*DNzTcx@(dtR{E|cp^` z4mfIz@q-}bA%!U7!FIpzK{$7w?1mTsbFTi)clVznk|>K%#q-6)eZIzr68}B6;b`Y* z>0ti9EU?|IP07Xn^%ixvurU7*H|$~+U0XB}^bZS9S6wd7@_HTBW}CTjPLD2rYBls2 z=)gSDB4P;hhHQrxJC9KdvLnYEksd9jV2IYqGlMpA=4+imSIlFJG~(*+br)0wiMdTEFYV<+*@(Ke^#KnMV#7{=DM}{-Akd9l*5KFSuEZ0y)0ROhnu` zg!j>(K|0OnM9Gu+U{yjjeRqeme zDxv#dEZA4kF&l}QqbV!5-mn@ZgBL`Q^--d+P)BUTrCv0|xG@~_CVlonDG0}~ynXvj z$jCeNFyFd^>tpYF%yOOdo^Z|C@aKDX0X2ezb9N&sC5`QDa%+z+Z;Gx=`&-lm%OXF> z3`D-KXdXC12igrg(?N6(j#p5pDRx~fA*_t{(rc~NuzO3ON5<}}+0|>f+ilN}NzfWr zEOT7407Wlg?=$<~AcIwk=tDPD#xX0$Us{|DukE8q-zf(779c%sXOMy-$>l9UQj9M- zx=P2h3AS0SLha#Nt*#}-lqN>@X<|MQ0Eb4;q=CDP`>er1DRp#&6oYoxEy<~6(2nYzw~^|KcffZ3+`l?lPMY!dNABi2lxwc9PQ+fHiKn8f*FIPyQe)IrysWBlE$J#(P zHX#fBCsGJ@jvmede0~S;`-sTfN$-mY5Y0W5+f(14Si)k;wfKvsuXgm_Va5ai;GaWE zn8p#w?&A86Elq}t&=aeu)6|j{2yb#oIkO?wgR-v&$C{1YWg4&%=?a`>KBhx zdIyuVsbUGP7+MTm3&0Y9MmClHi2o1?w#;&OjG*OJ+PFuJ$k5gt;wiGT5v14mXFT`e z8qBmS2q}s%^O|j<7h&0|6u5~TL&PY#^Ff{Ifxr0DHy`bjpawq>BLHqw62f-3;o~>3 zrpLtj5SoCvS;0zx|G(Ys`3Jl6cKZhZ!EU=R?3Vj~$&c^uZvVdo8FiQyMi)rrc1F|7 zXo0B(s1OV9#Q**qB!MCgNG&dd08K{5qnw!Y*k4L84er$p6o(KEN7@qm2BY=uM;}2c zI=cI8WXNIngn;YC{1dRY^%6v{&jnFCYfP-4<~Tb=iX)DVyRx99U?M&S-&0H9qHPXQ zbae~Nfv2}F$Y1Cx%HAxhD9HDhg5sbNq4HGeqgFrTIIdsjuN7l{+*|qQir*-N8 zOQ*x)DMRu7pf^XtB*CCt_7j{AeUElnE_nEB-%i;rY=>Q2!O<@8IA+AQ$Ur5lmpvOQ zaYf4PDuP!~6&}9;cbg@chxqzHxd>k@!p3yr#~hV1#XH8#9nF5&3mNN3A_H~eouTxE zX2H_~lAm>0Hvq^j+5{WBv&1PtB?7y=Jkl{%(OIx2uem`y>&qhYo^2!)eqt$F9hd1* zW~p3atG%QC3kUr~AT~t&Jpy2xU_)t zf}tw9mkjHf z^~%#s?zHq@#seFTmXjAb>jFQzUGFe#YsSNlb*`u9fU~V2!Yx1R;c}`x;Vu zw&iU>iAsj7(d^ZTE_Cb4U!YtVkUYY)8xEzF@e{8FixQ&Vh>;*gZAt<7D|V!4{i}9Z zuu@14`*v9cw|f)4Mj}cn3UaxxqoH%%jcIZcyZmYQyd#dKN&G{x06&!9y2;m+F+ebO zX$>@-qwBuvMG2Iuj;;-P>E#dscb+-)MT?s3D0pJMoyI7ttU`88mIF=s6Hoq-URtv% zUgoNYyF>vX$WJ7Q0so9@>9NV}@<7J+2hwcbRPR9cd45gK#*o1R{A1MiM2++hr0@2A z3i4PUkDQ*59uS$pZCzg64(-nG__Vrc<$&&((q!A^Vu3WmDd_%uaoN)`gv&)%zxsEX z6nfa=-TJ)?ElLtsRjb7?)U2@qC0;fyEWC*Ru%_Q$K3?3}BRAZ6{ina`=ZqLR%jVOq z-I0n_GjhVYoJ#8DDLuH;6p!o0BfF@RUxRv@QQK4ILYtEmi4mtJz65(|8ydp0m{~by zQ&W~%u@&P7^aayvF@ky&wyK?{wQ=Z5Ix#5I*8XUxlU^Un1YA3!Y(GU9Y9`CGXnxURudU%~SJoU%w{aFw&A7}+ zMA$WMcRw%a(aUJDO&*WA8m!?W@`T1YYL^$p1Ait9o>AB{mxudInx|%TSSKl^q{)_)i?kF_49aA;U!mEr!cP_zn9*k4gRsZ|N-@{n_Re0N>bQgeS zE)f}Au7$sL1HkcQ&7XhlgC5}Snv6sXzp-p)jx^tp&KX8@_=#K}j#vSYSDO^U=yZePnlR=KyIk_>>l@k6NmLNXHrcI8TweJ96pXP%f9xyv5>WOb(AtK zh4__9&xt*VvJKDHqxFEg*QI8;(ZEex{G!#9OV&(0CnBhejsApYTP_^LvXHs!e$dvB zk2mIA$z$LcyE>L|2@|LIFnTn^KGYb)j~W+SVLi1vhMpHu9wl`p(6pOtWigShDGH|( zqaI2<+vB{T=B1}Tzb(`;j#>BP9AmJq@3Pqumb)|7eAj8|d-SsPPVZq0T9qZ+8Dpuu{gnIr)5Mr6UI4hzaIXSZ)bq1oUojE>}3v2bi)d+g!lvsV|bmBye9F zONpv%@$~MDKN6J?*Dy3H>|>YumNw_NGc_8PVgripvvxOG?YzK5u)dvM&V9pyvGJ@j zu*ngBLx%ot#XF3wvpaC{dY?S9T7WBZZ;hNk#Vk=;(0sRRx6S95A0Pa#igwvGptR1a zDxUI+*A{TwaTnL9-IXQ)Y~143x!q>W6)&%E-seo!lv8k#^lpWt+HUS;!~Ahm(Lq_i z6gjL_W_j4vFmI8reoar_Xlve*Wl8XC#Vdi0oPXjDsm7H0O#NoiUn$$AHu>9GkK#I= zt-SuETqsubk7jl+YKybi{7+Wr?q#8nN<|%euh>g;E55Ti=#Y%95={C+4K)?MRz>L3 z@XRQmX<=h_74Y+>Od*;F6Q*;qEQdak-!PuD<6iL&JwS9IS`$&N55$H`p;tTl!{{AW1W#Hj}aBR{jx+!>z{~?4+QjG zQ5QuW*3lRFQpW~9kr#!B$NspM!E?I2an)hHgdSLg)n9uE{vp*s< z*!5lj(h+t0I<}D7E&`wKWCO-Q+!LJ*As6#afqj3l^e?j-IHP86lL4}XO1^1on+E-2 zq_-O&nA_|H=9-cdX8cOE|IzIpeIcuDY_l>{$k1T+rWIKRnCk=_lMydphPH;08m|u4 zx+kYCt>Ywb+b~|$*cSQ$&+rkc5HxU~Shixq)S8RHZ3iMKRJ)6IX$7x~e;{&;`{K;Oyw9twP=e5hVRn)4~H(8O&*BR8&mb1}= z=!0d?9)dji!`q%|99!nzCI0^H>U`%=zF)R#_ZKs(F+xR*cj;t_eYe8H|(Tod8BTH##Pi4(Ziv*#RK2ZoP#fCj0dkdw%D@q zS?q`vf$@Yg;4EeYZH|6I*~xLFcy^97`H3?B^bk!Oh8P=thRF1p<#uo9Ga*V#c%AN; z=dG->L6^G5ig|HZNKPj+x0KcnO(!-`F`*?YF&;xK4n>Sfbv`_7lY^7aT`yWnl%|6n z1E`SN77?EL5arM}mx)yPojp@r6%aL#v=z4kUrX`ST*V>TtK32J6a`I6@01oK6poN^D1y8(;7c1*|d4d2`)djlhy1=Z<+ zO5=Dj9Q4@*n;4KX1jZ=;)kEOCYD*YYcnJFZw=Zb_P%PIHNk^D3iZ%U3v4s9x6ieLL z+RfBT!O_;y&C$X_)zRI-%-oCoKZN<>L^($^7UaRt3ENfk!cY~1ZS}kS8^0b8*F9*)fo$ev?oz z-YKuNTf>CkO&fE$;dmnl;f=0*R3e))udcP?OXoGMk8Z^X#e0$Ftcv#1?v%j&d(G3X zm7XTOs)DVg{FHRgFE11#A7b?ttuvs1e9Gcqj!hW5OHPO8gvCTT~c-m{W zYgqs2u02w+Pvy5JHt0L}RGUQbHx<56%dKp!X>&?3v0rq$OnB zK?NqJ8{&zX|2BuGJG_tHzK&Kelcc`Wt!b7vHyl!u@>ug(Dl(>@zT;*u^F}>^J=bgS zonhCa=IjpgBOwceYf7oQ1t+ZDu>Lku_BWc?-Q?HXuL6XLb#BQT8P+#`i6?WI%2H*t zpn46b<(!T-QH`3Lq%uvaIZbr?oza*Bq&+U_SmiXx+&3`BPl!}!gvE1j9Q6hl>aEc6 z&InzN%>jZLh!OA<>6Bs3rgpeKonpWHf3sZpC(1~-bngYfBJA$#qoer$LzIcS82@Ac zV`^vY>RPO}sfwqL{^8(%&S^&?2_0nAtbq_g(PTrXAmKkp3#$fVe5Q5U&`zFj%te`r zi1Yyx8ym~^qI5UzdC*{hdS{osTx4~ku{3OGo51X z!_Zyc%1SszAmdPss=sh;Sq8g)I~a31A+OKak}NUCPYR*rjm@IU z3Iu{?kJecAQj6gT8}$_kke)shi@Irj%hK)jJqts2gho(gY&oKgRyOZsWh+y0;s5|K zsI!CC;C_Qi<)`o;WA&ebgHu#fukp%USJb}|?nuq^plA?W=`XFsjIS=bjke%xth`qL z((s#Z5tt>LZwO0T!)dW!F{bcq2KH?PB4Z1%bAcWrd24Llfsi!?AbJ=^^lcd8mqa#2 zF+zC~3)}}txhv}VwO8@~KonJX)sDwFZs-a=K0Xc`?1kR^OP)K%Owl33P~>x5-L+An zx{K}P_S&vnM0JS$p8g7LPDuQ=;U|7Ul7aGwtSY+tFd?XzE}G;*i1JVsMb)v~B1mui zQv(O2wETLZq8zqv0jvrw{R}BwvZdjV@F(Q-RZ8#Z2mE^Q`O*#a3WIfW z12lrUn+XC;=rRO9$~W3`ZGNdd_Iqg23`M^(i9L58IHZhy4r6kY&97D}B7riN>4)0J z$Km8TW|Lv5+yO4&_wWekO4?c=!rwNuli%P*mR-MxgCAer=o#-*OXV zeFpPT-`Pff7$&I6wM5h?Sb@EfwxYnqAvo-a>aqZ3Co4*tqc;mzE15C1GNhkEEE>*^ z9m=WF!LMKvUy@{eLsPGKD6b%-j^*fg={n3$1brOlvSGXAO>S)GJSZg6dX<5{o+wEWi189z7p_ z{+B_#x)jqo-4{Mtf8mqp{{ud$e4QToFX+@TOnD4S6Cx~A{zv#GnA5s{K}XoC4i|4l z*2YH1ka3j44$mWfJ!U8RGk8*P`>tQP9E?rW_Wgbu}@8 z#N!t*H9nu_QvCtpj_Yv7A1ns>sFAKDuZFPh!UL*f zTvA*Kj@-NjM#2XF?$Os=q7)0*C;Uvp%2=~Quc)z4iy3vZj*6jN?ElTY?%jIgvTDxl z+?r`y0lbgYYPM5u6hs>bV#Apvw`KrPvN`2}+2(C2&rD0V>t?p_vcozk@O~IT^hMp% z(cbR<)J#zg%i~V%-4>F`p5mPv97KCL2Je}X5}GrWM84R()#XTYE?D2-Q`>?(-P6;Q zq;=9mu-CQDcB|1yu}-1vlm_fKN1*{mbgJ7V1{IwZ2T%?+I0FS?DSBb2 zSEM>C4^evQa;x+~EciBu*hL(7Gv`vx@ZKJ<$JARaf<4K#In5- zQ`_~62zR)Y_>SzE5G}ri+RmK_vdvg<1}bI1ba&H<3C(kt{sff6P4>eg`6Z_qGsErH z*OSF>N_Xlo;je=XIfLH);8qXhd0FPUaQTISf5ro+Z$wAVt*99)+{j1s73uFJ7}u;f zS+!o9`nIwl-_Z@#d#qu}+1c4M=@8@s-YoAB1^Qmd)T~Ry8{su!Qg`zD!j2>qr6 zKEjTNX6bK@Yw>#D!PbpU#T&nsgE^nPfbc!GXz;r(K}Y4Xo_j`O?hfBUbMc3erysr@ zAE$hPIEPCd%01Ze{C#gxcMC;#O8QI39P+UM-tm~AJCv~xu!9#Yu8*LfemCW=mAV(G zo-ZwOd#*AH%fFk=%f}giKPp~=?H!%{hLrlC3R}bVjx>G@9Yn@NVp9<NKi zWP9E#`fwV#zn5D}=b!R10iLD;N|B-?M2y9Q30%O$9r`BNL!!3d(De#=1?@*1W4w6o z8UD`~Wj8B4Z}oq#$>|jTTOZ#4^+Nt%D)d_e+9&xa{AY=%?#8<9%2kDG*M^(B z_SRKHi>`LLXw&ye)|jLM#^;l`NAF*s?UNV&5$+w&iz@LSw5g!@Izj3!uM8Yt8^I+n zEjYb%H}+dEIey>bSv%Gbne6@!2XSwo`nGx;w-liM&-p*Zw>V38dMzHpaQs~l+TC^@ z2?^{wm}*&bsv&jhD%T8;W3TA2o_OOdHVryNOis8BMb=v5?!uB*`WM!8(eT+uC0rFdP^ z+NPe~%GgdXFJWKh6v3WYH7&;HLuNgdn&NBHpLCdpichDd*lC(d)M%eu05of4maOe# zV4MPptbapE2NPj0qtMuLfsx z>q3rgF`YI~inSsxHCo#$)MbjFI1=p3L1B%AD9n<55pfeCft-&qN3 zsSyP``0&M`2|3m|FmPGSR9kY0bIP1bX6!iDziu}Xq#HuqsA!@wKnKcJuH@)*PVNkx zs7skRMygS1G48HmInFVY%n#W$J}kZHT!qYyeGw_MKp@VR9MK6Hf z-8QXp#Z0HS?xB@ZHA&T2G&L-_L4bE?;WQqJfG{ok8QhQ>8Mk*z$y-%_Laqxd@`;*w zJNK5rSYiQw$N8`^J?_gi!Yc?F$(AnD&&tk$AIV6Zrm@ zq}>u_!IPbF!JS~~$^j2$lOA(pd*Yhi41KRc4bvpSooVCfnu(%23or2SlGKNiu0qnr zN0m^ej}$v)DKSoT=pk=!Fn0K@SOsRTw9hM7m{AFxcSZJTi|(?th=vk3s1J%;%?+Fw zR|Ta~%wr2s`S=3~9vjgJ$HdwlM^Dmhdw&Xj)G(9`Oem>bWd9?b^hI zFlFw>ijkbN^02YS7PVi%(zX;?Y%`v_QPs0O+SdDI4R=w*sAk1P&U6VhUPWUPkTr>uhk6r)GDVh&#}3KPDZJ)~gbXvofpbd@ zXLW3etwBw{S>ZM9M1 zkHicEG>RFANt@Y}bZL!~;zSu!0e>ly9SEJw_H zuXq6TNzW6wVWUe@!9Rn+9uoEWRH!5$T_kvcHf#Wcp|sX~Jc*~l!ZQKZTsbhAv-k*h zZp)ScRd6uS5H9tOWl4m){8>Efomf3p!mMKDKm}$%1ce8<`yg@PZM~($QgXSD-8emv z=^}leF1g>&u`-CuJGs4Zk2HJ#<}SeC)tjjTCW)~`yq1v+NTCT80}0pkbvjsS!tByA zotX%rpZe8DTQh!wnI*FoFT>d7R)wz$0wVi25ZomQJeAMWn<0i*{Hj+Q{wV_ZkMLQl zL#3YK)S_cN-qJWSh_7Qi?#kRh?U9^y5AvFyc_~aAL|!PM;HCt=q)kP{6}FcOU%ZA# zG$&Bm7T#G3UVbi#hB<1IEWm1t#o53TZ#D!_fIz1Pg=K-$@L+NTLri~x=&{{bY*}w^ z@QS^Obg70f>BJ1wAna*FDqhi@AvD>i*0CLhFWrpbmRY0WV4}@%YI-}MbE=|h8$(y- ziw>80h3ZI*8^0>`k>Rr&r#MV1-6Xmy-K>}@bCE9da@eDs8K)DD+s#%!T#lE|y2pC0 z&Ogtga&ggSax{FaY$nQMDUrY4pDE)2qXx-{_Js5KiWimn;06BJZn zo3TnzoQ!FzFn-w&8jV?os*p#Fd89YfI^O|>6`{A>Rap@+ih>rTC=v`@)^gc;3oGB{2cTCB;?ErRiwqmBYA^m$2 z)NJl^g`#lnB{wys86Pq86&`KjzkZQhIB7^^{{FZ!wYrcZuU&jGYPigrbm$(OTCoY2|mZC6=p^7g}oxs^O~LB4hF%WcN5Giw>% zm{U!(s5@7#XN~|xI!!`q!Ur7Y6g^}1H%_HFYYYArIkhjU*oTpq;xFbgKva0O9mzr} zgxxo%Zj7cDyG;QQHhLp7BMFMPZY9kYz*jtk?k; zz43| zfZMdfdC4|?4^of%x}_IhZw}k}QJcT#{A?JxL)nPgQqJIRXus_!+(As9TrId4YXU;6g9@Mq^Tu7FKG+|kGTAg-@$l4)Pg3@ ze6hY|K~!`!_}l4h5>QI|d&`xfQVZ%Vm@k4q&4M!i^LfVlxQ{Q+xKY7+z2O*~&jXL% zElr3e#ucyfVuj;31sY_KOanJlZU}p<+^vrX>L&KbjNZdw&vO20mw1EKaN+BBZ_e3j zBabKT)pFN{V6AVwesw#KCkRGvj5B%eNY2SgnIBU6Jwwx2>^z|zeLwyCnkc!VJxvV! z>Is|98Aj_b7;aDS`hR9I>tQ|Oik(4KnI4XwD9BBSzdm?FDBhWTYm3GSyySnj`e3{| z?27FlRB4Ppb0WWxH!y|hfWU+pirP>jLz)3mO!tLaJQ`GFvKd}AXuvHJg=~-s=u<3L zsTPn^uq4K0E)y0UizfSxnIXdu;d(}o_aK=G{8OFA(xj*oLz#suO=D?^DWqR)er4U{ zV)x+9By2S%r})N~yfbqVPL$|RCxx4a;wGdVdbaqetBpA;(bP?7aZ$ssN>BU45g-_{ z*cG;U+>)~Inmu+KI;6h;!I2sGbQx@>N&O$6UQYd6!;_!Sapk)ouo_ys-YBm$m(b%OgU=aD8Uxo5(HD z3!5p3q)A zZBV0S4v*(M%FvcpCGO6cT}|Vk&V7Y0Q>H`}FP7N^G+PTeYeaS~nFL0LOgNi? zG;`*RE1;b+(@{KpmrBmA+{M zY)OTi5#z-#@^6oia^s1mkf@5sXEP{hPuFya=PiR_C;md?wD1hbTDwCkik)I!#N`b4 z2-xMa2|Tfe=&9XRgk$gntu-zt<`n8}y~nU`(zc?j@W7V7`3Y*}U_I9;NbBF&y-!7p z_s6p+(KOl#5v~Ix)M*E^C^_0eRS1oD3g@~>j;Z*wC=_3Cw$lx>#dgj5fhLzs37@{M z9?>Y&_inHYpXdjE2@47D)kwZa8chC>rxnyt=mIoKp z*)wTlnEhhzRdv$VI0 zn|UllG6>^XLdSUCOXIn?^F}blt1^;%%XaT`cpT^>-NBrEI>C3`L}cJFCAYr+h!vhJ zfjWMFXbP!Y$Q5l*RTZ$SpVjv$E*;fl8R8gHclojL8QMb?6+G0_&FAq64r*~7zMzlv z_?ivA^}ct91%BsCc}Uqq;EC(V?7gPaJEMPTyw&){T64$ar(YVe${iZe(d&O2oK3G5 z#vbn(F4d4w#g~@nsvT8y(1;yIp#H5b%vUtru|oD~zg3f^4X!^jpTF;{f!Vf`gJxFy z+}N+s3u^JuS?4Mp>e3ajJeQRyQBxH}&|T{c`A@PSGn~(H%y1 z4_Wx+T5UGo9boD3`vaWFGZ^H&E@FP;dDW(U!)ye@7QtujcyNFnbY^w)A8V)Yg1zo= z&B-*iM!?Eev~gOE_QIBLZT!_u8+citL(Xl>QnKOJsbdK{8q>Pw)N}>cF~u%#m$q^! zr(JQ`lrjdQ-N9p96>q;reI(vW?b)YRqc@Of0WpzF_yxT~G}97t>5g?%CWXJemv@FS z#2F?xkp!b@byd$(A;DT)K_T0BAv3vixc2iS`VrzT8;voyulH7jKGz)o4gc(@0qO<5 zXNGxbP?mPaB`@vQngzH?Ft%nOfrcMWqEwa3n4zRv1VQ6T!HB!2-f3dlS%Q~#ERTS` zI<=i^gQ33JO@>Y1J-~0!+qQYgSq-X9xzoP>(kqvp#&py>@b52E0`Q{ZLs6&1f;%O0{86n*7kESZXc>XgMGOXWKp$Kxds7YYYg3Ee-im47ez$By zaT;5+DrpmXggNJHlKmRQ@Rn>EKB2&U(|YDIC481+QtjG1Ob$I$75bQOap zx`9cisf0UdN-Habi`$P7cyuJ2qDi2ykl}jg;JifS5`iXD^9Og&lpC?I$^SG|Tr9gg z%mKnr4(S6jXJ0*Jl!o=Q$|w8-TN?V>>jNGBg;#oL<>mMjbf;GQ3~8i#u{q@D)BHX^ zNjBalQ%vnGtd$uoXn4@7m=)fOyAp(DP1Cu3LqPc&r?b=d=-Bt<^6XGO!H5uOZ*!zY zY6Cy-Fqk=sz1Hq;p^-(YA;EQwI}>QD*O)t;hWT6^!=4ns>+#qB=4by8ifcf;2HD-e zW}QRdCFG=s%?kz&|POUEsC4xf&2K!37jhM9qFkq$jgxs90c1y8Z-R97+_?IG_bp zButRkQS=#AA&w-%rXP`lQwDWXaVSw%v`fe(!I8N!IF8AsB=5pJZ>TO!patWd8iL>v z6kVRYs>v$0o|3bY(dSs!4`-sES;K^}%%ArWxv3 z@EvdfDKZd1KraJfaU-iK^{-$$`ZRN9#kOT~@|LbNbVfIQKsIYz*x1SLl)J#kz*@mh zdaee*IByYv(#*A`Kg}IP$JkI+Xe~mVj!PIWN9{qJS`x(P4tf2S+MZOL{Id@xLqL;1 zcP`kq5&&7F*VQJdmD?J(eagodR8})EpmtLJdnfps=+c!NaYOvd4zdK)!Zmhp%I#zi z!a)WPd*8gIktx5Zzchs+iF#(;>Nw;Ii{>J6#E8%+x)xK-X4H^UzJuCkB3b81Xyd1~ z3lkA<#%O54_Pn2kNo7Z8W9PiheptP%L|jZFRiiQ=Fz8yI5C7!?#Wu%!rVbnsJc+3lj>5g%& zIKMrj?tTIaeesd=Dqyrbjk!NC?L(MAkEF)uNU@r(pM^;3_T;)(Pt7Md|0 z^L%AZ({|Xqe>oh_ab{Yc%1$psJnkJmp~G)){KK(%ZDy2Tp`50XL#vV4%P*z4`)58v zFe^J%T)Sp2g5(&An{Vbo%dC?A3HxBJL~!`E+u7S1 z``O}pS;IDr$cV~n)^9r{hBqpVr-4(pe)GP%g0ZrVFP+RmqxeO8wI<{9gkq03zJPYC z4>_R`K5Afj@dHb$i=gVxn9Z+R11Im^^|c|)`aFddRpqLy&nyib&pg#*gKU_dsY~!$ z4!CL`DbVuC>=o_K>Ab>y?KPr%Xr6}1hxx^hbtzzP3Xt`m7{8uwU&_Ha#XUh)reK*SEfPyB^<4-wgqME?U5ErMSZaA)4H59Lqx5p(O_&tC|0 zN4A$2;xB%{^@Z|;{M|B>cBAQEyA5O>JYi3*>Mg{+D;fIl0#g(z~pbYXL zfD<{U4~VbwOdMOpPcpHOyxK-iLF@629Gf7)#;iVEmaKUT4n$!y|I}KdPEC0V`;$8< z>MBVlJw8d1W>aNx9Jdlxl5IEz>r#60*{IdU4Ro?|gL!JF+I#~DLOd9xbRV6{=DQ;`YI2Mv!jo8u#PV0`}ZzK}HW z^9z*>`q3=1)Ui@ekFEM4vJtF5LrN_rHAVHX1?Q1PKX4Si+*zzfuMzyQ*%Di=ve=3( zcz*t`ywxU3MqFj3>cAv&s79oxyN*)HFD3xhy)hL9y47L!nhII7N!6uwRONZ&jcqso z@;nJ(gM5>RB(yCY{MnP#+x|wSL#HyI_FRzBepOcJvq6%r9xZtz$77VuD3*-1+Loues?LG3G4Os2P;E%V2~0 z2y2#eHgh0ZEE#9&tV1pd!7rS9{z1UU3Xj+iwC9B)9%J7c3Fmf4 zVC2`&4Pq^x&e&;0%PhpWL_7gV!X5E6AIO1wUD89y^rRKW{q6@Q9%Nid+_Db20BJ$RP}=+-~p>3Q9;2pwVhI`*Jfc0q2&1V&)P`APJrn&Sy{v*nPd;$Uw~ zf!i(u;@D@l`N)vTzXk8pox8_gRns1j*vRVzRhMU9(OvWud3{5z$6B@W3dOhk^Sig) z0t(D(i2nXio~CD#xNbJ5y3#LUol$ZxUo=-afB4q2`U$j^lCdQmEH$@Y=*chL`qw$C zqX@uK3mCJN;>=&b&(}vjT>*QWij|sVO-Xl5Sv~wHh?2K5!uOQ z1DM{LlD;e^vyrhXFLG&4{0xiyo)Yo-Y%ut|z%LuTnoWYl-i6k)tU~g~@wH1?!2Ylu z{FGq8x%ar?8*%0{?f}~TJFMp8XSz)B9ZLIfdp{0Fizi)Rv0EBvWB@;jr$o+%L_@nqm3P(xG`W)YQF7?C8skY7ouA;joYyZHsv_ zCkD)F-=S^Dd2b@iC20sw;3jjEygXi_1I(nXk~F9r+-p0Dp!%M8G#? zLi1bLAO~3w*_}M#oA%BYcq8!?IM4MygQF7fYlWRipY* z4NE5Mp=IbXZPSnwny9(iZ_Ogt#rz#=wYk2ITp96hb9*FuA=cHs%Z-fHu($8V=xZvi zWzsiSGU)%uCkY{Hnz@=FG|R~9S=*j5H9Zl zG2A>67tT~zP}*s1ENLz2F6lJYoXAWaPCczu5XB_o$F+s7vw}`*3$fPfm!(U%PnD3B zHZheZ-2}uohg=}fTWMiysWpqx{hWdt%W1$v+p@jO^uYKj7I8#&rF-RT3MDod%?3rk zZ8G>=`!ZgWgR{>I&jiROJGYB*tp+|dKWu8bJlWb&G@Pus{I$u%+W=T^;pT0vZ>>o> zDea)!tM=Q(*hbFa7YHQM*4VxP`kM<;*cgpjOWNBqu(SDKgdWND2uk8{rfZ}A^b5&~IU(=_S5Ymw$~YT^i(;Nh_ZWC+ zH&&|S_~dR|VNC}$z5|1;siPuWIMevo+FmqV-9>CYC3QLNBA7ed+(9X~9ooitMHkkn zDM@}jQUlIceLNwB{;+Ks3Ciq4?^bwzVzp?7DTw;6XrikJK3T@Pws?06oJwt-&;_lh zy`?WudFO0n>V(bFDscm}<6kZLcn)(40rH#F5$h^@32{BuspvZ_l{~%A9ist&Ta( zTUe#7Z(mFFZ*&)a^KSR)srSJay0UnZ?zOoOcD+&Zc~c($zKivskcFmR zUSJ9RwO%aOEWg+FL$8R_`YK|ilUP@~^|_+Bz)Sw(SVO-2#-y>48)?V4!3|-0f6joo z=+F->Y!DM11#ii^@suc*{mIrWlJ_ckZrzwwXMWv~?C#Lw?{e<)OQYNLG#1IGF*?Cs zFvqSe!3VP5-#-0aU4rT0-Zuwqxxa=;Wh5$}Y2CBoc8{}$MuqYwKpO)3LMnPBE^;k#D#Xrkp@28ks>&J(|Zf*<5vfsIP%+d5xYju%mGN4;VX4%Dg`bxAEi>+7by2mFh_tHMQkX z;WfEI+SL*F9pFAU>f!x-v?jLlX0f7lNmV9NF7Xxy?9@2z6^{jZOL`$J>HShc8e=M@ zbF`E7Y?B8tJQB?I$pr2sv?7^=d9I0*G!(& z#&VO4L#u`W5lQ+ZG~~W1n}{FAoYx)c>Y@^(Ybg!ib`gE}#C$nJMNk$*1I&`oLzFaY ztc3U!2QS1(rDSkqH#>`}s)R%oM9u`%T{)E|bag#K&#fjkWm%evWspppI?7F5XX)9Q z={1?8HJJvfE0ksNUB&ta=$IXTpa&%VcA-Je))%qMb!AepRDkj3Men$%)pS;JMrFW`h? zg3NU~r%lQLb$2c2Q!#u-Cbm&oX&|b~vg%MxU!qOx3SyU-%I)+LA{CI2fJlI_ChH$2 zF(__wY(exJId&4YvO1rP#e!a1tj`ge^ur@)>1^GkFpDs<3zAV>Lg0I$>pn&yOCBGT zNjO1k@-b>nKR|IF;>k;AKz9(JC&gB+{#30bvTBe1Qp5{-wSnd%nfyYgKPe644gI$d zjj|c3EUx{tNyAIXnyiZYZ;DMOvyI3oLX^J{MdyrEb;;WPs=2t^okckBNxNz^X}Txu z@ifqB@9Wwg$BepSZn6AxT4XD-TH)o$C{%f^a~t!X{A*W6rqq|j+*R;9iji)0$@dEH z!y?kzaeM}fq64N=si;|ajicwqr+kUwfEW=2uc1VKd1Yz&@Ih#V;oQm2Z zY2v(BV`r*2&c>^h+niUK?P(3^rp=R?k=I^|DjTvKncCg;Dp^VF*@d1g?W4+|7v2mA z#pJ1d=5`H^R}GGxk0L2EwZgGQT$CAQK-wOffCm~+JbZ7E{=y5#55isOOl873&a5KE zr{10Tk%_4(u5nF1^#nj-a{KWj9UotFt z(D3#H+>0bT+2|!hV07hw(II1q7_XO2cwkDz3gS2fXo^JwueN3vk2kK1urcUz2~RAry7o zgJtG*8-X;8=HWIWrvK3vm)kvyM!9=$!A0@(>c};_d-TaNV4wLVKf9iZ0 zGUMc_R#*Y)fvq4TKYA6;ba|5mA?TDh5^LztZrJE_DF#!}f?6hv+F%|;u&j7(5x9m_ zv<2V(W4!@xdKk&YfX&5-#$`{86N9?|vQ2>DxnHgON9&$wJ!oCP!>tu3L0zb>2jb=M z`<{>wZcl)GKgOMBJEs57wB5R0=@;#G)SZBdkbsF$oLZzahZ0Ok^(dQmvB}W7Nbpsm=syHlZ*Go>wARh}y;DQy{3|Gq`W^TOpT1?AFh)i`73e&HS6fu)KQ z5KQX5Wt1t!^ufIkH;81fNQuZRvGIf(?th4t$*f_qWcT@*HxErfNs9}cH}^*r7W`a; zTbhBGRqPQJvW6sE@(m5rGLHPJA*uP*U(_6H&aBkLu|8z}b5WRt@^=B{Q5IunqKM&n zt{6m22=Qs7MJ-t-{rN&vFi59hq;$J4QfW-_XKtacO~2LpS*Ba3XqNkT?PcUgb&Fg^ zO)bt3_q$I*vBa-I$FYtpX@uXDbcf6}J=uoprp$GPI4|jQs-tNPO9da%trj&Tm}>G? z*Lo5#rQwv)hn>p=*mkZm;25QX%vh`ivnsM2s$5i+$lSH{SMqRoC|f*II-<40>-|LY zmxk%vh?Zp3Q&&ubgxi2s*w8+K&XFg|Lk_I3!qZ?z;Xo1Fc-UZ&wia!hYb7BXBBj1Y z!Oi$pS|*ONd8w=wt*kL?Z$sJyX?+;-93XA+ds0}}s3^6pn710#MZ>%{^m&O-epc(fV4kD zs)pHZ{YHLC4rHzQks$~x@< z@Nf02j)%1-%@tnZBcNd@b^fd-N?GpvRUIDFo=HC@)`^*Q%4|cvRO?)vxAhC)zG0Q0 zPy&HXwipkWd!WFj*twNBDBm(vCcrkdgVqiW69mF-Rf&RM-5poVUmV0Sk4Qzn<7N3; zPgcl6VzFAOWjImy3`rDxc(O-Z12a4~pC*WXw+L~-gpgEDN;xQtH0YKdWj-Lp136wU zQa(suUdmhmF%#NU56NywU}?^6dBPKJ=4Lr{IiI;!!qzlVfCZf^)a$R*nDv-gy0z~s z&9DK;$RAEVTAafxQM0z`u-zRZ^Q(NQR3V)rr=4Ir$23oYu&*~>H;>C9;)t^Y%@-Pt z!x+Hb1TFD^rtOn1$hP{n`haOx2t*yB*~6tyoF1~yN9;YG?PsqEwbg>%Xhv`4YTgA| zNn{GW#5qg8NI{4uoe#{K|7-H>sLG>;xSH`dx>0a%;X>u8)rs{GBMa-Eaq;g!yUdE- zxc*mp-k=sQR8%%o^Kf*5k8Gi3o|wh0IGT_WG-4%G)cgluN(Jqun6mc)mZ1&Mzor+6 zq++%s*d_@~I@JhuXJDm?Zn&JCxUx0~O*%f2jh#ms1+C|^DBh@em0{ob#r~wJ_Tk*z zMOzf+@z=#!xCAV&Wv(CR;)yJo6ED}<%nWwNt@yVY{hgMGQFm7#YA1um>O@WVrdhx8 z>>7sFrcTCgvfV+10Ikz@K-S~2QwvuZ1ho`eo^p#=B?Mtistq=ulPb-v_%^bN;{FpO zvVA~>2MO1utU~B}`Fw9izYD)kK%3%{ANOWRumd-KfUpPT7QFl1)~&4vcyBPW&ySfu zL^gv19%y{gGyBLs$OHo%caA<7d4CY^-e0iz$b4Qv6T;-9fF3G`yDWu2;;2sa4LWPC zK3E&G^Tbjg7DiqC@ExD7{$XzLKTyo49KB0rrN;OX%v0$TI`saEAi(y@Wdy6SB}rA- zDK+GLj~)F*=(_tB%N?zBrdbk&0G!J@3GkvgY>fj~w#>Zy&DgEDyoI_fN5%uR13lyr zl#p&W$K5;B-;2PFFn+qsdy%8euPmK|XyjW+iCa3bFW5w~dw!gVWOaWbTwzS09;}hx zdB_qq&JY0yK*uYt!F@o6_oCuM83gga;K&bVsC<9JmF-tKV1EJnAI-Wz^@DGAZ}#YX z@V;X0^97$}`}qqHcic7~J6DSnd>6{jv-p-0`sWSccxSglLqRyU9uHnK3CbQ`TMhx) z$S06*eK)LHy`}?C&&f6#w%X<*pDekbFyDeJ^Y02F-yxbW$hxuw+<^n z%~u4wEraL@GklgypD2FD2fAaj>pi)Jo($B7WvMjFB!@pTs(MGdukVC^^mDr3#Xz1i zerg)(*7Rp)zZe$A`}a#$z@aE%JPr*ku_h(iCQO5?T$3u9ZUq1}YLL<(Cm9Tuje4|n z${V+S&(_3d)H;4WTuA89cnH5{yPe6**iKopuqlUniLLn|fLtBe7S7Y$4QYsmy zNdz-Qxp)Y?>^U+awL%#P98x$zEY-EP9a-8>ENrKmpTJ?0 zIf-Ex%Sg^7>bZYS9!7WgwOW=wcWu;&n^vHgn*D%L*>b66mYqU+EKgP_y7-ZzW*t_h zs)`YL7Ec^$(47wANerbtBm)(>#wa}*2yT=+059EwlWN65yJV;F>tlO{#k&74^Q5bK zy=>m|rYu8Jz)?e~knfTzO6#>W&9;4QoCD;m`>5gGeM>3P2m=XvAa!EFl%e zN{(8<%T~9VreQlt$$XH4JQ*}zPIi(z{~)OwdW)Mx3W8q;pIEi+Ftcu|>*xEFdTd=| zTT?Uh&pPupNq!?*t&LW?aT$063Acdm`KWx$bNA(cdB%zs+n) z>lu!}7){A~bseoy!0Y3P?f`~hSXW};I>xHjyDcA(9yuz7fpJ;XZFoN8D2m)ouXIAt zNM@f`F6EwP@SgQZ4jmMOr2@hi=gLuql|Jf{jC>7{HB0G@AdVYS1D(*zdP&lsX6an> zjPZ2$$1O@aBW5Cd-hSoAq3mxJoZEf@!p#nprb(aJ{TuoHo0$gXbV!L2o=QZML5oEo z9x((4P)$nHv0cd~gs1@vANlIm*AW31CFfRoE|jVek!47Y7Hy+m%VwmU6R{2Wa3|D& z!+?yj58{|Wl7hEbahWe?3h7GCU9P+)7=9od65Tx}y>(rPTIapq9^}O86nrgd7H@j? zvwV3RQQXy4_;ru^KKSX{h2~!^Aj~Vz#tn^4FHL)9JM%i}r+S7|W>Nl@+mY-a{f1um zm%3;DqVex%0KSUjkF9|^R5p3pT@#CTm0MZKdK+NxVF`s#zOO-K(l=)4{S8RyPTKv6^NaY(>pP45Bja4q z47oEE+IIqs4(k(`z_kyYv**`T<(%2uqkZ?Yz(gj(lPUYu7ab**AY0mj@N?vrAtg>4 z1c^-K9)*J>BE1f2=L8Ghw`@Rb{wopNIxv)qw=G$I_p9d6>mC1tiR;+O{HeUzhU75|iX|*9?XaGxM{?2zEA_$B+T)TCtSclFT4T88~@ednEt8xzCDRisnA&X}z~EZJk$<@=xB z8UFm-sag~m8rA-&kuh}nc)DCtZ648#bIWoJal;%=h?;#*3k?3Cfqiffm2N2c$h2M6 zJLi`i53Fs}y8gVOI$U;7@r^?~+a&j9*=@(wL2>pBA-0b}aN|-3yp$^I#1*<=8^lXl zA8hh7cI)4Chbz%|=p0SOZRzJ!E@qFP-HuhdW|ehLavZ94`BmR3S#rc;0v{kc`*HEK zdf_g2Gm8WsN7B4v4uB!g?9p^gQ56}k!U#OKRtEoWp2DAOdDsJ4_+__JptIuV zfD=xs=d|^fAq3l}LmfwZ$}OYIh$+~RZVK|`1YaBuc{(SOe%88xYXZM*naJUPAYY!J zt^r1Z_92FCf_WBi8Xbx|fH*YFNy)^#>q3Gu9s^z9pI)wO0G@2Xhpy2dTbev*PhLUD z!gH2EAPixKRpz{FbMHOhtda}M>)5gzCV3c~pY)ZQiAD2SaGljEbXy2a2GQ_I| zFE~ICchiDuiR%>OU|$qq!T=V>lwpzylQPVzVJt)8Jmc^Ivsg`LwG3e6CM|@lH9zA7 zm^7jv@=C{p7VR*o=iEYDr&$tA4BQy6zH633PF}g%%o}n{qF*FIcLnH5Bis!eih0MY zA~OqicX$^F?CroJR-~{h<>knTW$J(Om`}P!_zOh+NBkk`soY~|vEdS}+69*e=XQRj zM8spu@O;uD=9}#1>+kkc@A8Z%LczLJgy1rQNx)#mYIQXLRx&oB>PqK9TMb9dU=0H( zna4-tts733E zlX}8Ab8EkO;*H5wjq$f5 z6h6lL7{QA(dK@{}Cz6=<}s%9O(=!>G>_6bv(#3`waf|~ zQhLT&ZrdozWZ}=Z_fJAy=`;M*gWGECQ^E^`Z(A2X;7#lJnDj|=l8LC;-@ zc>~-ydMo)4Lq6CSc(|T3n{@}LzV;M&f6`C-FKg$EOZE%Mhv>};!ZB+}RnzX(tBQB+LHYwB6$;a)VubR0sT=t4esoXS{P_asQ2h^?&31nEW92v1X z{4t5Bm^)wt?dZeUJB9Dn1n8LF1(WUgLc{RMf8Px|nDRwdC8B8wM~tm068w`Xt-TGH zWz?6S0WDPH>i{PMcE8x&)$0~1l`nm|+{!PAK=G*LSstxwpW%R`ag0eL!qFaq$p#Wi z`TW2mq`;YoN^Sce-((|z&y^5@N-dCGvWu)|mTZKgY}ve{Nq@Xvp*Yc-V2Xt#*#L3~ z&TtTH%v~dh)ybK~dkf{xk#F1 z2I|W+)aMygx4ix@u9mUnt?S@pm$TjcV9R8t7&@7vKueu!3mY|7dZK8%FKa{@ABRHD z@v@V1O_LPu{Nx}LDu*)_h+dT=)I?FeF#R82|HD*EQhIEL|F1l+4D)~M@0T_F2f0x) zbg{HE7j$rNvNtrg5VbS5H~Iew(CV-r$ww)Ey^~inlksr;GK{2w(-m-P~ zzOiH2xYj~Dd-wgGWHeYEInm5@_;Q|h_wM~SOlPcY^LpV5M5P}LA9-}*>JPEltumeU zBg4;FdB_bY!jG`>)a`+DIc>(^cbD&xVdyR2vT;xwNG+`#?Lx!Xjowr#J#Zv`)R5Lm z-n%>P;?Vmn#H@K}CHAHr5^TPRe+3gYB=;G9_zJ!LG0L)XZw&Dm|^=68em}ikQ%6C`w$!Ow|ZfK z?_Ij(hVNaug@pgE*^9&eD&F&F{iqA$VEfP<(5COc>gT4RO__rbC;86HP_|CwGnT7ak6J)r&-j*vp2sF`u)(LA}v5o2kCG zw@Vv_9ppW88~!t~O}fWi;S4XE;A)Ljvy7+5yPlgEJZ-bb{Hha#%HrqrwSwWOu%&^q z`{?=~n%y&4*GG|7SCK9+FEAY(VqV?fRlw1!Z4#aYq6xs*#f%jr zN*^UQrpme;iF3c7GRBZn!aVSF%dZ7_CI^JLu5f6C?s>AF3Zbj3E)M6Q0}P&6fywA_ znUr~LGf^Qrq=>til`)fvbkn4IwCf07NX&{mO?4@%A+eRH`K+|)6J-wvB>B0 z(Lt2hdadPs9r*uH_D)TjMcuY;veGu*w4GIH+qP{Rm8!ID+qP}nw(+K2r&jD0C)Rg! z_Bt0cV*Y|Y`e>uI_Gl!OGNcXUC~J893Y5#~;P`91&z_Sb0W_--abx--CZ*oXonY5F zm%(k%611O^#^rVbKmQ&Yqq;RJqN4y5v@j;d;H_7Iz40*vGf4U`sdaQ8i2z;2w6zxX z=qm;+K*Pek)>lg@!ilHFRUEwm<+x7e!MFL8Z=Et1l?kh*nX!vHzHElA(Q_PQI-l%$ zlvuoSd|R4>PkEviAPc#@%z5;F^f|nGs%a~nO7AIGHd=TQ#x=<>8MT6`Z3h=`KT*;- zd3HqkcK3pWXTB-p3W3<>3se>xN`?gPhUXKzI$25heSJ9 z>hxlf`@)%fH2OD;M?6H=7}%6HOehv%f3x2HkS>c~w|ZO9$uNhihfabxdAsHe6_%a9 z=ILFwx<}9|ZAmz6YS|+!q20s5VZv76tdqVbG&Wm7>R)z`VV8WbVR&X`usbi&-s!jr%gxRdD<--pDL z!jtTi!;|h4^=aOddbC8!n6%b3q|Dr3xy-k0xh(GKP*dDfwQ0G`xlFgeD5s&OPUU&5 zdn|UW_>6YU2zVS`f0cJ?sF})b!ZxYi=^~5So;RZMQ@eWtA zRDC(8VGOc-WJwMg)bO~+r}!#;`GsA1)aV5GI=5tm2DW6|Er|w8v~gr<`*kz3oaevt z$DE{HaGu`ZobF9V`&G?o?II1D%VIrD>h31CWt1H?8VFKiZ+E=yk3TdMJB-#7aFw~t zCxlLCdcR`Gl;Or#jv0zfK^VVHVWx0HA8)$375XIFp6k>kLXg*$ zFG5h%RsS#FMvwIyRUTjoKwR!7X(pHX*}& zRH``IAo3fb*vvQBCL1qSfTz5K!t|pm=?Obgww@J~x`_BM^Q3m9D5M{|#gYviPjG|e z+Q0@}9n!jsxXV}#ccC!iHU_}yLd#{WI8~ff*7n)z1E>~Sy?pNe4){>iwSD2%-q7i{ zO1;SmqU@TaM$CEFG6uheIxI}MEh#{r{JaC>rn6I&ELLMhb@4DBp zJz$nW1~8RlAAlAZQ1xDVo^5anx$k$W$#CkFfcCGx}+W0Q^$iR z!D{p5+@UD)cVpAv;Uj@}zZQG2lQcvjDPf*^oqI-@Sf3sgI| zrO0G{VVfZV1Z5Y=tST+3Xf6>`^D?TlT2eo*LZOg^PivYzAg~Vegj`_6U5t8yIc)IL zC65e^_RB?+=slAVcTUwp1k(p5%lx3QCN0d-62zy*)OIXe>1!Q%;bpabkt3~}e9Fpz zlIx;xpSZcjcMAJO1L}tlH^C=FmvxM_yedOIVPXEKZKuo|&z?QiSWIxE;rF5}d*lV4 z=__BjDF>GpgOwM2Pb+VtSJ#gL-mj)vz;F^bcKq8q&8o-t(#iaMaS#=vC-_z3@8Wj5zXJg#%yA*etB}JlWgB zfD>c;>|JBp;g8l&1Lsd117oM5GnzaH{UD>wm7MnU<)6EXlZzfj?cWVtu_X&>L(1Jz(V&Spi ziFXWFWZ{jKy6YPm=2b}T_$_eR-hfqsuzI6&L zK|-{-Tja3%`3`egF9E#lku#ZU@D|zA-k&k!XE1Jt6DWQGD8YOf4#^+f`Ji?q6b5uG zV}FgPKN>`A|G%JTMBo#Vtl*%t8C+S`|>_2I<=(ui8m`~(RjA#1a?>V=`n+QHZb1BWu zBkyUw1&4JI4t-i_%$$LwTeT58!QNP2W0q4JwTGZi$IyG)9&uTCwR_-EJ526gfx|#z zCp`=r>3tqig`EVj)>JX!3^Z{9Tx zf4nb!y|#Uuetb?{!)XJ47w$5L|G9#hKomf_fJaA^DX=^gYzuU%vpi(r-u~87PzxxS z)e6Ho_!oPCmt&5CHJr02EyE~GqeQhpRW}ZA`;lz~&%5*zVV%6ain7VG^PAr~bn0(& z72$%LYL(?n#VVb4Q~=`-4b6dyshWQM#(}YwI&giZTffrZ9*C!%WiI=ZLRltJVf=${ zDHV>fn3X$>oa$^0l@|V@`=xXEmRvhlt(um0{J1!$^tLkwthYWuyVuHWw$9%QODg}$ zg*mz=`!D^tJ=9Dw+2=dh3+1)~-i)v^hO0HCJRzNZ^I@z?R(lH$@?#X8!m<)Gq*b|1 zjKMUjHi)^sUEYHt$P4Ipd{pbD7>q;UPHANkY)aeuG&dl|5iR;Nt=PCkur6N_WIA7EM(8nVG`b}BBJjnm_KM+L! zWg>pWZcvwk0|9}<00CkCUxgh0-+06Su@5J!!#Sud<9yF_pWf_j+vvebHxLuU7)Uh4 zVMi%?O6mxO1(BHw|JftWoMxq?=rnW(2PLEe8y0U4Q-!G}Qe6R4^0w8wHgFx`I^>vf z$%;ATaJ4FSvl$)L*o+a%{yyEw?99YIOLCa`n)Ul0b^m_I{hQ@;*_k>ErV++WX@%@+ z02-22Hl&8Z40Rw8)?atlvR=OpgF#xbN!*cL&?)Ppon7SKnRkP{lpU}^Ue>9yMW5te z*(M(K5@uI>_FVp&|F0bRM%6Jl;zN}u?;kCIKm`~VK?ny2CGt`i5qR(s#`J*3P0)PE zj1kMN7%V(6Qw9jVek}*^8`rru*V)hm^aDYKMUP*wlvtNH@WbOF@^9pAD0+c_!0w=3`MPk~sOf$U zLgtQec<~lAYTE)yQ-MEbcfPZGu7msjeDq>&o)Y@ZyE|CBl9*I<>;584E|(d5aXnJp z8PxRHSNk67E}dd4QawnXTRPGh#C5~21no%T?@cHnSq@#KCAM(lp@+U;6HJ$=n4bd> zaPfov1_5AFK-Z8%+YO0T*VmhwzVd>mU6(N+_F`qr8j(Oa`9GN8+%atq=<*#7@ci!k)I8G)4)I}d*PvK2q|_beID^6gjT@Vp}3qnObZe4!FH!3%d(v17a?nb%M~Ydr(RJ(=K|R&f1Hx8|Z#{g^lSR z{;FgE3(M6Hu?y~LJqNBY7FyRDr~N39d;A>A>5-BYx1a4WjBR%$dIf#*A+rju^ADRv zl!8+md?CqzevLT9I!xL~BqRicpyr+ik)|nFlk|9Y(|r$3vJ9%o9i@~t=AvYnQq}>> z=zSFk+T($rI+J@J{1c-PpJKj>5qe91_NR0p$)Emc3c`~PhTjQP>#dE|beC7RH;Y27 z$?QjIO6^yPxNOhGVLm_|;)IeYn@u!`S{>-Hju`a=NT4c3bQ>VYm4Yf%ERQMp0j<(W zrKkyQOI?8tI_`0Eu{HWdZS*ETMJ5tE4<@8D>Ml(yzA%M*hU+->td>Pwc%)0z<=O{u zl9j6s>dS}@G#33|WK;z^D1oE$?pPD&GnJsrY!2xAPD?1=adr+csq?Q9Q9u^lRr4rw zrNTk!rbrK$l=9vXG3hY*P@I_y<~pkn>A0N5V=Tp7@bq`L`(-ew?5^PwHp#>trT3rl z#UbRZAi=K+&*RcQy@8Xd0bP#kR5o_LB|(IuDYu?f)N3@XETckGuG4uc=DBFi5&T>29U_ z+xfx+1LB1+<3C*UOQ?fLEc4?Sn%rRXF@4OI718ChfHY1!@8~*`Q_`8#B~M3?E5$gP zhefGi@!JNecq)v;q@7&BS;kwpioDOp-r?%NGU_8X4xSjEzbI2>nDDX2@SdT2YlRJD z<^-cKyfXLfW>FpG(F&XL*DSWP+ansdr0)ptF-4;bmnW+>Tz~CNXg9GZgO^rtyx%mf zdJCTY-@djAVy)4?PW%%iq%q|=3X0grig<@7yTKntvWh#^9)X#X1*L#mfU z=GJ9=5$ItWdE7P=smOYMh77o#GhDqI5nLjI8FHIyu(Z5X zsHt_u3*`n!R4wsBnds3H>8UYHxu_z%h)wJ`!Qj3odZ81Y?4$Cp}RK{Zw=K)R3W zuafi(KCRvoTtKFtPGZcY>)qT-&8!!l!k%q8Vqib&sP+-_!hMQxS*jfmLpdo`SLW-< zV5xKQ6)piYSdJ>)yWfC_AILg-WA4xO5=(+q9A2kf6MT$TS+o~pP*r3Xq7opKnnxn+ z?#HbQwi*Sw89=@nR*PCd>NUn5SzME2HG!x#qTCs}_JDIg(7hTEC-eO0*TA{y_q;M> zyE5ino4t1=r0x5vLPx4w_lQ$H1gRVxtRjf5Gvk@yy5qPUByNEWUFYN(=No2zW{r_% z;2}Le2vYfzsDvUX?aM=1Jp`u&!YGw_m*9dnQk4DL+=Ry{?FGa;hn|s=?4rr;vsNk9 zOWhg4Tk!Hwe*d*o@cz{Dh_jQw@#NJGc00lP8mJTca`fPY z!03ePmn^@p{KoRl&>J{=`~ocgMCnPG-M4;&`&9mh{d+>wv#-f93+L!RYY6+oj8|(& z(;L9~>U45csmX>^r?WGB?-?e0h;p*OsR6p%-}PyyHuO?wx+v`rudh_NiZ`7QcQhg{WONW$+Y{%1Y(D&N_kGqG4&aN^@<~-jKsevprS& z*nkl+qLnml)0|*XJprhaZI5ieeAz>8I15Rs&vH{W19*d8U%9%tFIL;^tOeX(-hxT4 z2Vz(hbUDz%2!r#PqNy#=PtNDL7+`FFz~UxT=*TBUF9Tg&9@zS3F5a}7P>YQa(zn8f zvEn8f1dM8K=ZwWO0oRYamqoo!<~d*d4on$63E87DTO_5mc}6$hr4Lr-j;fw~m2PHO zm>iMWkaFh1i7ZaxY1eL2yG9)%duRRje5!Ute+~qHPWz!d7@@L&rP}grl0!= zf_$_{!Z|pkrL>~24m?-+GbhdU8&c`p2{!Z<#ppMeKm@GM=>$U8D@+plqA|q>HcyXH zcULk#>o%JMl6<`D@*cYaONZi&-JIbPUJD(zGd;GmEOx*}K{VxBRUAb)Zf7nPRz?sC6ot>71w?~SR z=r&LX{fgBit3AN+Ot$5mS&@faEMJ-GnkeWpQgQPNBlq5ti2zfLzhza4A^E^iv2|G- z+x~`$_4X zP-9W~oX$`b#R`~WvTc;vJPScq4GFs+k?GP%Fxh7`$TVy zy>v|a7xF*5R>$rJ4+{S!k1+3V|l&nl0CW<~ZU7a*{IczUZD zE>=zzt}PAH5Bn9G149Vm9QewR=oy&gn13M zDsFa6uUoW6;Ko&?X9${KnjW=+1G1%CVP1a#E;ly_0T(eNY)|tsX9+fhUng+w zCItdBi0_got)?~2%3wS165u#H5@th~8VlJnoAtnYL+({`gwin>H*-`qtIT9+sSVQz z2%k|nwSx-+TJBPfG0k)D0JD}2W3`{zGO<6+pHRN7I`BBq2?Y?KIt!O?TJV8kScdevD@7m1Gl`n82EezG||VjB5-0UDHAt zfzZN9Q2CGF@A{T{wz+slc(SwdeS(Nhi&4J<|<*dEd2VlOkl6u5tb#ZsZ3F| zLx=esEMAY+JbE2JyW`V?EmLZP)HPTp8_hUd`GU*nTqd8vSyk7N#ClaSc6!0M@lY}3 z!3XVd?80Mw2q}&gDBNXJfTqjkYjQC93e&iZ7Jl|x9-b@tR(y6)5;iPjBbFL&C+g;s zb{3x&dT2*Np~!4t6e+X;DaR?PXad2{4utz$7^3x99;&^|2&XkX_t+k)1>&Lg4&Tar z68JI2iwlkt%6`K5u>r9@le2lpij58sx+GTvom`XPo$Rp#pSrUXy8#GF!q@PHe7M}%bw!fzln35$cH%#qqi zaWrbh&ybZA?%hvt2wPVqMv_>pc1UtrWsQ;oJB44bjGqyPr$;~d@y8)b$jpu{b(yha zp60|;CcJ7$BjIi3;yea}dO8;AR2OcN+@2Ya%Q{Du*6ey5>zss_O&?I9lG~~ zUy=i*KE|%?V|-}LBYWxvzrf8@RFt#Glj`6($$RjMqCPOmzvm!J#1(zN(Z{C63+q^9 zhDrV+x#V0#;gD|hJN#N9O{_}Xkk2Tyw7!WAS-HvghzkDxV6m(ULBzsIG*4MlYW!N2 z0e?e2L&H^q^L`Z-Um*Pj$F>jcqSWStB_O71Or@^muLQ6skR$k%V8;~<)H`d5QXvpe zYl1TsG@X8EG(I7isD33v*r)ZU1~}S15ky&d?{5iQ9e_9+0{3hii`;-<3#$g4Wux)>&T3(i1yD;JU^G*~DqJiomy>R}7GE*6z2U zrq+!`X9^ibXS6+1jaWp(q^i9~l3LlhrwYEn+oHx#WO)3+1#`U29N}U3fCn6R?=CPv ztr4}J_8zIqBgz2w!Xr~r52|#!9uw8Kii%z1jp|CLI*^sEok0qd1(*pZ^ASFJLMCcov-pe>vsy21{s)J1am!vhRsxwnBfFg!vx}YI*pN<=(I=os( z)Z6ne2`6jA2YopLno}g2#0p>(Od{tTmK;&$9Htt+kMrtz@-hALvf9yBHn_XWQhHZl`Tx3;zza+#@Rn^~}QyB~uf? ztgC7djSpt@Wwh0xaK{D*UnB*!gGz}(O?=X0yEXK-Qf=iE72MG5D1U=p*dV zh^muoxMI|0!~#7a%kYEh8`!?33UJWhQU#rSdUG6R)=@|KmxX36>&)KOM_rfJ1BCZ7 z?gMkAvzY_Kt#b7=`!+AW*dzi9gZP`d6Nf4GOf*w}0hj7&pzX)Kb;3`Oi-o>$`4E>3O3^$B5 z!g)x`G2a4H(Xk~g5f{CB023>$$^xx(_{Xx=YJEGwu`-dmKN6$U@|bF$z9k2sv)uuH zYuKwPQC{VK6UHdRrn~)y;>6|UDe9C_qq9E1 znqkyFbO~McbwXZYy!0@Ui?8_bpT`e*YNp%}h)5%<(G|VYn%^DhJe1K|{|Klm($YAM zU}+=SUKZikV>OhoAjgA#;YW-;DFELQfU?{VBN0ImUt*@b=Pr;H=|;pQy;#&q(n?qX zC}x$NI4eeYSVU;z^4Mcu5{Rqbc|%qPR>Q79Fe*5R-VMUm!0VOmRqXwSob`~AZMI2{ z_J-<9?TF&;31NKFq?4u9KVy3FVb?#QeWi)L7tJ~P=uE8z+ImO7Fjphpk@JmhduZ5> z;w@vgpZEUfy0s3v$_p@*ZPtGlx|6{mxNtFgUT52we^tD)pcZwcsEtX<(_ZL^ z#Yr8ru>LB}2;tyPwX>e5lDKP{Aq#5k>KdnA>iDH-xG#_Q@X%3i&ib3M+DK)Xe*6e7 z+vuF6?~Yz}R{MuCsr$j2ORNe>^fdi>hHHiGDMsSdG`(%D(3`5kfKoG_%F6h)L^FCt z@~mo|Op2LcYgR)NnM*6hhQ?3H!&v!sYJj`ed=VJtEy8zNPA8K}migh803i)-dXwGH zFz!N3x|YoC)>ZOXIcuC!2Vcy^rAOxwgYCNRJ^+|v|E7m{|0Oi72e={511x4;Szlj5 z6dr60F=_ty@*e7j+jXg-wnw85JWT3{sewr$lj|kYc~Acg0?i zLwhg=3_Wn>rpH5Fo@Zxq+waq(tMMg>W7O-g8};C?yA^s@cxwxcnia|ORE+|8LX6Gk zupYI>dqa@cGRraseJbUyM6$1(TDw$4dPSpCxacxI`c1+0#!za(VQ->SLwZvbJS4z+ z`|Gkk+B+Ggny(2#yEP!ULX*TfS5e|Tr5gjyY5IgeefH8!h`!FBS4&KNU4ADjN4F01 z`WCgnD??%)RZfywO)n-RM^>6cB+f4#FE@Gf>g20hbtDyheuy6y25MjI7vetCOD&MF z=tp$d>68N@y78cSBNb0>bJMh%Gr^@|dwiJfXq^bj=6bfMSi;-oZP={A>YY zpan(>xmVM=1sLstf$X3#zgR1>i3-tR>W4iY zD94@=7P;p*;^Iw^m-3pLwftYYqMb#8>C4w>^$=~&G08H3==)8z1dO|NDm3ZBB3wz@wGa#X*2b?Y3u71|s8!Vp0G!hY8px;4OeMDV&ry6y93{(&o`9g$l&(?A6rLwiC;lDenow5uK+a14>;wB)ptPYZ7}y6MAxfZXVci{zjA>JV;UpI zH%PF1wqYMVrGpCOOeUA$MkO48+(1;!V~a@03!O|M|FMqeF~0sh;UPa#7v)@_4ouL) zP)Du3u=*xxi%nvq8>Wd0>#TGQT0nm zUB0&>K8?fH7f!&BG#6I7=bh8tkH6oWFSoMauf4lApxAw}g%W*s0#KO8aq)vn=!hwW zVFu(8s%;cC86FG)Hs}arqMjs->~K!1NrPB2Nis==79jwC%F_t^oYX-$MHWL@Fx^Bg z{UliZgi1#7I}9|&3H#$dX^I}J18cDA#$RxU=9DEA<}-9MrL(!YJlyq6&gUeQ{%cFB zAD*3z)~D+4W?c!H`kcgb9BN~!yxh0b>+2DN!d{>dLh2(B1)JPp<>f+_#j^|>>8hoS z%45f21D@mKRG$&u2anU}G;ieQ(PFqx&l^dJ`am_vA+mfq&f$c_dS3Hz2K}ldUiQGnOftBudf~O(PWGu5KTT*_6>W+V&t87IFWKo{aZkCM7 z@S*PtgY!?_lXR0pZ7VaV^6xA3u&gN)a4^wxQR>4iH`C{;zGA&}a5$f{*171S;Ml@N zAx17)@9hD0hku{r%up*GPdFZ!Y^O8D+*e-=j`}g9DmAggMVD@abIfTH>akRPnrn7( zkh%oK44L;osJc@?cLEh1WtX)mC9&+YRAP6J3w^1f7$HqtHyu*cx#Id>*w|^nr*ZtE^kAVSqU;}=S`TobN z;NA#QF&_UwQ?N32Y6G!<%XcBT{9S9WpMimcMOdZb+cy6k|DE95hR>je2fQw~(~Ud$ z_+J5d{sN*0?n~F|D^AY)b%x|C>vSPthCqXyvD^v@HSWy=Y{IE!Im6sX{$SeE7M*>d zvo2DPw!4S!X+pW*HFkrFoA{-mzRfK* zYXZnz`q@z73}o)ng@K;o(gHFO?7u7W)etuo%06SSRyTA=jf@Iaq*p5iA) zkG03|UMa+gzp?f=1~@xAfsJPV5c9l(XIT@3GAfKJ^do8)&>wPW5A?qNV3kG7zl^ z!3j}#j)8n;xR2t&sH|^AER;iE?-Pq*yJvl^r}2$?jivge1j5`%emVxdfv1hD%mUI{ zEAm35`duND?qXH^W$@JnoLmDck>#AK6&Lz;OPNsrFe=D*%%%LsidUa+3lDkIZ~_0g zAy>X7YCybXb03`8@ijf96#1kE_b8_L(^9d`=8Y=9D5PZ>exhq89+(9{axxoJp+;*a z?p6f1Rmn$)DvuMocY}5KmL#P(T{o%l0Yu}i@h{YTfuR9pzu4pDnysai5Upj+4>n{) zG8smjSNjS(P%p>Zj&GAT&ClkL<+CU{U2j?xehQw(DsYV_lMUFgmaP*}wZA7_WK;1?=fY^E zaPs`Q^EyL0;N_ti@_`V({K@+a@x@J80 zvM>0^8H1{Ks*jBK2NHX6YL3-koGQ2HLI3L9!!e4C6ZUzYUVn|Ne`!X5p13!F9?#<} zhi8GWE!(13{#y#p@9_QB1xU#HNKjQ`8>h=IILVd$yqKbG;(K!w@GPnsH`v^_ZL$2j7TrtDZIn}H4xiZ5~mmPa6b(pJq z?SE6-C?o-q)?}5-XzVq3BsJ3`&GGCve|^#7-*OP}ckEUacao3|ErbGz;jhprl+pT$ zQOI-Y;KRi5v7q8GW!w7re8h(8s1OT?5DjIU_C)8kiXVP;eV&3{?37WQi3w~I==7Vm zgjMxhdW$Kx#y;>YmM*4hdZ*9|tDae&i5>b>q*2tQz2eu8b2?q{G4|l5-lIY6b`9J*r^BSi2X4ugW4gxa! z0|bQS|IcBq>SAg0-`ab!s;u*(8anT6LiLauDr!dDN?O9g55J%^?2H7iASL5~$iz9W zahb_Fg(Gpgi!lOCv$Guj`5J7tZ4<#x=<`vRl1#S}zk}c<(rw5$Cc`83SQ&o6kAqy`dP&n-qIWPteCzx ztI5q7ZQDt^v99fnb<1|ZjjQEpW=iLFbBk%u%0-9ko57%aMs|U~lAY8fMw*=Zt>#NL z5rh5%@8~vznVuUAbf|hT6L(MP+#}3<#)4`(UW&Lv{3f~UU_(!z!gT8uqk5GaNLB*2 z1kBLo%y#EOVvQ_=^|^W@v~-fL>nVnQ&2}hwKJHH*qPvZ9n9g6NDPZ%-gli4g+)=Co z427WwNc5P=%7oX|%tP6w7RT>vy#3y*vBaDyHbh2s~T5Zpv0-2yEA?q%4iF zNhxabZ4S6n5Vn{U`ze3eWt15W57DeZ#B^)u0{#ip%4oTU10tB5;H+quYshI|e$EfM zSJv7uMbj&0dg+Cf7yeQB&v711S4(6iV#hSjXXjEOu!Q_mdIxBe&#DhUvgB0X{mViwn$KoeB z12V~zcqqp0V4WY)>jXYv`NLM3W{JDek=rEVB)cNfqExPK_hh?@B-;&RZ#%fLv*lh`J5bp`(7$#ZENc912XI`Qo@fLKpA*cA7E zffQv27bqRH5c;^NDQpgx zLS0z8fS_qMT%LT~1YIr-9qk_kx zCl2E{M`>T|1FVXU!J#Mt1JFS;q=YC8?x)cwAT?fLE?imfjAxcs!bngMR=uljB88=p zuAz26c)UI`i;wis6h{+>6UP(A$y;#p#6`jiECqV?U*hzE~X^s=k&83`Zay^PyrL3el=`-faVhar)!4F9-7R+y{XzgTA zpJ{@e=gI>iIXhx zMcxE^(rP?VFVqg7vy8CBdfMMz&lUqJUV<@-`Ea=9Dn}_3Uo17_u1DMzv(~|nQei)B zF&i9xc!paKTBWTRjmN0U+Cm60y4Oa9HHHt*;vIE|QBx$-%c9g(w)zY)YVRG;IFET!4|;!45ZSsPp@=T{22)m9(s3M*5|qq?)>kj;ux)=m$JB` z=_A;7f(MXmtAr~8Zp?Cn80OerO*d&|<(rsp&yCD2`mIO-gAiLzl$Z>w@9A1wKlIe(EuyiZzq z34jv7!XbNQN>XmI?3DB&S)P(^yrr%A7%{^pHb>J@A~(0Wa&L72?6!xl|Ljo|4*y~> zE{fSL+hdm|qB9f^)^7`XM&-INeTy>Ur~Ij}GQP84bc0-u7r}f&)+x#M7!c7V&HZ8#s-x&;M@iIVAf$_!Uqd5Q)u+)6CMfOiC>UXS zvS+C1ylXgEsxauYYa|SV7wN71GS8_#QnGh~Nyym<+F zi#z)kIPxXioK>wr;3f+VKUxeRbG&O>9dDrs*^H>tM+?b^9lU;m_amOt58t;Rx^r*% z0`lWDggnlQbZv%NP~F_6IxM#)@mFd^Y+9zxa&B7)KzMPs1&v-D{qF#)G@y0PG(34Wq(3Y2oN#xpeCdT?GuCktDXh- zPXO`E6CmD_u}knbp_q};vXIVIv2ISOs9un=?8i*T1gA$s$EuzrtSPo`cR6SLIyQcL zFYc|8hsBw-a@TO#Qt^)O1n>$@IW>!}=GI(d#q zr*6N7;O)8`M*ZRbX+xG^CY9&3s(2_!iXS;LD1~L$Y?>&ro>K$J=GE4AYkq0A+uc~E zSFp>BEiEA3PqC=j{OR0swXxyZ`^N%>$})O1ftoaB!#pY~6VV9+`R>`RrPayJ4*Bb+-x!og*&C_6ckk5nFUkU7S&;Cn$7EP1M-z^wpv_{fzltTn2`i zfLZJrC%nvCU5cI+-!$t&7dWJ_hW(3V(2N6>5I~+*w?%~-12pk6oq|SDUzYQ;X>Zr} zq3p_caHm0uM$ml6nP^+YW^FV%!ksr6lWCqD1gaXi+3FIL-U@uSL{~l=NN)=|Q5Jk| z3i5r(7s=$5NYFHclA6Y?-Xx)Lt{6sXLb(~2ViZkJL7;rGu%d>WqLZ3M6;MqK$KwLf zr~qsU-Swcq;-iMp%o3UfZl4cPoar#gg@X)Ag$<PDb~hqb^;?})aUbzdD$jS17pOh78PTEu=f-n(&>@*dbw5!tVKI> z>5bxX%@}9Kz`a)KKpU=iD=;dsU#m6(DH~e2dZO82PGtco@Mo|8>IdlYd$f@&o16on zU+l%~choHdA(TvRmMn%0xqi-)>2^iXeEivwM6v)sbQ5tkP zu#cIb9~AHqBZ*PyYj|~YXKgmQ29Ys*?dCP1x~lFT-uhzC$F0&hCPJeaGSGD0p=Pe^ z5k;!2Ei0a}Vutcx2PQ)N@1_QJzGeFv5Zs^pDA+1O^2lFvE!l*t12 zLF(SNw$7{r$#-0op)6u8UI-ev~XSy|(h4-6wzQFXdYiW)sBB1ra;`6RuP10v~skvVBA$s`T~Y%#zk5__{=Bg3^=B5OTL5 zz+SaKGBE$r;a~G%AH^f=GqeP-;g z3p?|@g7KEJaDBDxb9JE+x0@jKB#MH#c_O5G+_|SUPHK$h=tRTNnSUVM`;hM#PwN@m zmZaB965Mk=??J7_;$7WarnQ9^zV?xr$F1v+nOvJicfRTfPiAjbqD$AM23b};h@KrJ zCOXp4aZ~bM(s8lg)WdG4KuM0H;;9e)W(p$M!OUF4pmOsW;MK8vlyW;Jj5N6kb?}YC zxxdE5gjTZqTCJOCs9s6?~ z7pyKsqgC}zS8o@AFbldrar2KN<|%OfM(5gKa(a4IF7L7_GJ#96@0E+lfT}s* z$Cdz#3i;_D<9C$GulyG)9PLfSDXRgMEhya)e2v;tKiS~hRp0DxgV8NHYp=j;W2n=-MLjs z%kl&E&dh^Gq@i$%@Ul!_1rQy3=c1Zy+~g6FB$c4%AgU)I3Ghv)KMmA}Q6MikFN&NS z5ojKbRkHjE;C=o?u$;(@$!zy+eI=%;>!q6!ENaAwVdPF=IY}DNlY!luuQ%*7kZp+u z;Sntjmmy0#Ygo?&*o64|LMCAAn0hvCqYVtBCG=V%GmI1IWW?6RL$9Lj|0dZI2$KCv zDKt*(*IqG#ug1GQu68wbd12%wr|xbRnwk!Pu1sze=PIqI+x4^W-)A5D;dpwovFSMj z1#8C_Rpzu)6p~5%4>tMBz9Ag+-u8s)aN_5o5x=(iQ+Z*!q}~#lb*`SaUEc4%GX3A0 z4-7n6N<9L&lf^n!N2uhfH0?6uR^--6IyENM39eENC`2<6;%?qA>RPApZW zcrs7X~Bvh#w^g(*V9po!#BSq12yguN zc*~RhqvH&|;Rmw_=ld|vgeW%hq+tZp56{4mAu~1Q5}fQ2I_nP5-Z35+-pa&Q3q+k( zhm69CPs{+$fMDk-nx6Q-VE?(AAsPF{(*L`5qvQWy2p9i#^;UGXcQG|laI&;>G5km2 z`JaoL`hO8FFureX?0I}4~Pm+s-C2uOD$pd!+p64D^uARyh{ zjS>=)0!m9LEg=n3(j_3064Idvf{3L0&3W(jUXO&H`(NujE*G+vXaAnrd(WOdd*+!D zmGa{frfL+jR{0Rp!IFThWy3LaNxkX`NCEZA&xr}z9xOR*xgO;{c#ew0@ z@VF(nmDQ^H-EYhF@m(ykhWkEU^~-PF`tI}z>@c{c@_(CAg4=pfcCKm$S1=_&+eb5G zLRxByspW#;!T0sHLpNP@Z@Pj6dmz@MTX2~{#eqQS4DemDCA|7^=mcjd9h#kMN(saVI*kLMTM#Cvz{?t>FkLQ1Yb zn3W{CT`)_Fetlp=1^xQqh7$r~C1Vmf3mXdOqlqW+lBBVls!!@i$4q;}@c7{qo%to0 zDsE<2_l`%Zt!ioUO;nW^n%|trQZ(o?W#1Gtvf>{!>6W$pXlZrRXjAc-T1GkJL$Xe> z*hKUJu@U=E>Ph%1VmPH@O;Z)wS%tRY_6T!^ozf7fjt zhDr1Cqiogz$&;@GV_Z*ITy>?JJbHPH)bgEr8OGjZbZD?%j~qf<8B?{-(*w1SndV}=~?dL zpNYsM($lYOPRzhSy&G4)-bKXt&e^&Dy><5W)k?4P~DKXcB`@Xtb?Zwolaa2jN6ZhumB~Oz_vSUj|q-W6Dy9|{l4+!pkiTS34 zsYYlrVf`tO$Ee`C_!G78>H%j@>YTgL3kxCr#?kuC1AAzZhJ8DCt$pZvzMuPEL)=%Z zx}|erj-1@q#mJa z?cLqy%5R)sYLassWoVA~W5c004s2>O43}WUcRthYs42A;ei}6WZdV|6WD|-1$!yfM zZ+FdH_=B&nvb>^i(Y;`!+1|`*tGYVoml@fpA0K(f*ja~ZNN>eK1bJf?J zbqUKXEhhiMy}JX1a^(?~)pasOqykyJqcQ6}>nt&e{Mjn3Z=6fNe$C_fYC6AE(ofb^ z$zSBkm%0^j=jG)$_Y1zSZ?DGL-F%VFrhaB_FrWKj<^GqH5_*@-*Nbl-Mw)%-Yts-~ z%q`y#d!zVHk$E$|?O;xI5yQoKsO&(#J9A`bhxA?LiZAUHb#k9zNl=<2r-WdlPp<9c zhIW6#qEZF95?j@c%$JDd=&8>Mok zp&@!XnLD<0W2Gyzg57a)Gc9Dv(;EUxb@QaeFK40x0__d337!zkDEgyV zD0#DKNX5_TT$bxhnJ6JcS&nwqM;N`}vAR{$KxsGCwcTB}O;@C`TsUg)b8%#8Q!86s<#uGFO-hDzOx|OwIQtt>Za~ZIkov9f^w73{zbZ#O1 z5~T*t0v&ET{8^F`{U%tQcj!$gI35 zKXpc;$5lt-!8P4G{tseDK3y=L7`EaYrN~R1*72g3?%uwdgSreCuY9Nz0z*5 zcDi?~h=Nx83B}j38>)ocA@~@GbY984Qa8t}_T#(P_ zJ0I_)n$@x3F37AzXU#dnoATU=Htkv6;1t*U$8|Im?U|xAJ*DZ9X?U|7y zS{PqeM^c!iN|L>@ZvVojTjShh_Mx%mE!Qga%UtIs&qNj8PwT5C^;2=UEIB10r{%kK zhGEVb=aa>mt%E6=GPQ+gHVY949OIw216INroYiV0xoQ?KU#ED{Y)O8*L5SM}{;f9a zJ#4ZKTboZo@VdAKn0dUp7?H-WxJClvaX_xT8*U=XZ}ruJ^Jsm6|#)#Ym>M7Hu)=*U2@Uidsm3N zlVqnR>~Q(DR&G>74-`l|2G2_u#xv>}&HZT)V4_hWK^k3r_PaPP#FzPvQ*Y zYL?Z)ZZa1cM-2=yL~5{7-YRcI_=ttf89cT2C>tYaL24$Z^sENWQ&080u-;6kBw|N+ zOa5_(2UhO!%2%=cvuCGB-an{mqWD}I)_m(~a7=}>NHn-n3w^k_$p?)cFZLr*-%_J? zpj4WEy+cGP`&MMjRn+Zk*|cik==h5_Hikcib<=I+huKD7dd_Wan)v9}qrRna7Nb%= z9lkqVs&}>?nInI6${pYP_L^^&H^gL;qTK>4Mrug8QO&$|MVizu=5EQi%~(C3&!r}t z=ZZf2IXGuu=HrWnyxY?kHj>m*9DzHKv$pg$S%p2zLefmvNGij>y<9dXB<_JeRhLU1 zlq$UQh3)e`mg)qyQoKRrxF7XHu`p?aENP>N_Z?cg?OB#^6KVvs-NwVV?5gT4L`f_N zA2|au0uk1HOj!!9Y~TK(M@SlqFC~BNHA{=+`yt(}n5Ii<&qzabY&f+CR%xQGc-x8Q zi@}Xt4T#t6+CR86m8xx~UBAB8T|HD3eyvB7>hMan0%O#Bc#lP;ei!AbNVY52?brIe zF*KU5a27wuT8iT*a>Ho1X-Tnu%gHqpGoVgEeonieI52l7Vqod|1FJ26&p3;v3NB0L zolHKtdt;kwwKr06(EKdQf?0gZM`Q`Owpo}DuywyY@rbaImLJB`eyI4#vWt_e|AyIf z5{lIOU-UD+P^cWJ41F6!HlNnYox0o=wJQ77Xx~{PLm}EK!iAtzRGT@Rbrq)RVJWkh3bvEzgyMsenS+@ETppK7`!hl ztFO^ya?Nz9K6bK(0*}IMy5#Qin`T{X^42<$y&!%MJ9)t#_6hG0Dif6(YMyE?lkv{C}Yax1`l9E6=BV$Ul>=@r6j{Z%A_i7D%R_n~=;>9NeATHNK$-ZSo~^*u1NpH+E#2UOQ~)+3WkZ{r;UD zT;+TQAt`n|>x?-5961^GRyt8otNl~to=+mpO(U(;i<2e^ zPn0-ws5{&_ER4(U1~1_$NVwRFAMhDYxY|xLF=c}NJb|AVn@Q~)YsaUL0 ze&SWslGk-P16}xCrHoxB20@&tq?C7X1D%tS(fm9r$5FJX+vIR!Q7&tuaD$PR~@v9Vmot9bl%^@e16gNiX9rZKM9^@09Ye_ zf@0{z^3?QoP~u{qex8I%Q)Y&?PSssfZhY?mJACh8ZPicm?-z9t8I4j_g{PkRTRch6 z!SjxqKvUd+U&rchQw>xW?1j_hM-rMtxxjTwUfV#R`q#lPybGUnYgvLvT{n5;4bW|Gz@wCI&GGvBaN9Km$r_mT+SGE=+GZO`!yQQ;b z{bmd(YJerXa_6+2HJ+BqvY2D1H ze}13{C8FF;q`FkYywPJs*I$;sLin+m1%6iI^D{bfvHFc;m$WUMCt9hk16J@V;d}z? zWXh=a$!;Jo-g)Ov*t@xrW?yo(Uy+ml-uu)LJ-TL2yf->`y=dmF7)8iKIq+vo^0ItX z5~^iFH@IY?eK`WNxcZC7RIqze#~N%ZuHVKZnRqvY;lF(`?g=jE?s+SRkOraWomI9m z?}Sl3H_vQGl9N>$e54VkZy|Vk%ayG4y}$=*!noMsodMb9@^k{PXYqaJCH*G0AIf}8 z%qs-m>V4VeVQu4%C|+RoU=3UpFG%pKom`5Fj+3zOu%T&+kw*wEKHC-yU!I@jRgiqX z(EKtkD;dLum*27<1-mm#BL$0x_(Y}O74K9RY%ew2z&w~vXw9E)5g)2nW-RhC(6bW7 zuBgo<$@`X5+G?r&I3s9iHR;xw`0I+TNs=Z@T1^GfnYfYp+huA~m(tF-VWUTt2tVuT z+G)H&jOQHxosonlcFQKtM)u+u12@9Lr4i1a{%5y&D3Nqx-My&ekcS4`!9mLk!Zkv* zVGlmZs4m3QT58ZRYtZ_P(nxXVp0_m&c`NoXwUxuRDc!BecOugxm}>p?NAlZk@ceC} zhklaoksZ58*T?tXF$Y%0q!BJ2a>O|EJ-mg#mYrLD?ffXlp{)3raKdwkG!$A{6Ib-h zst*jBcgdcDSFc}R!6hyX_@G;}fIq_8uKQTGJtHW7?1svf-rMCjVs=~84P#r85Fcsf z@jw3Do3Z=u&RD~fuRq_d{Su5TSGM&Zw1Gue53uM;|GP~!YRa-djVW0g2O6rQ_}?&I zzP!*bL-gVdxZQs93_FeBB_;1nG<_;;R!S^RY-V=Cx@#|IUS4REB&S|d+v2b&v>Dg3 z;kdE&BEc8EkosKOaDOV&64UWu1Kd&U7%hv!2R4*x|BNq%=6g|69LZ}0H{vyB4( zWjy|m?NtIaFIe9#BkF`a z^?~|y{8I{=m6$D3l-ny!{A8~4l8)a>&UthPq|KC*nq@BJyzaS}caTkLb|q94rSHZo zyRKOqgpV}4iT-Z*bvZLW2o&deCf<`KQ{Z6rp4~&=)OGrx$)#`{%D7xg93eQ&7jElZyUUUHC*2x+$A^c9>l-QxvudB%7`bjeun@Bn33^kM z%;8eVY8X@_Pgzx(ukvC5D{AE|0%=4-1MTqildF~HcP~cF8!(RNT|wKkM!m4a6i`iI z8-8`)viuBVolG%u$HBq9I43d8(N^cOpk$e1gY~7SbO^~<-JyZKQbBm{Emh3nejDCetp8eAA!3~|~BMRkvYuN;E2Opzr&az=9w6=CDvT5FW$i)^t zM}gqahtS?;USks}{#kh6b`8Bvr34(&%2I&Y$-YS5tl!6uRLX|T+KWi|uJD|?eDegA ztbE+9nj5iAObOw;T|ld^~n6>ie1g&FQ5b>=_q0RdgqtMk1lym5V(X}GI(a|VS8Ze7 zkn!uzBd-)1mg~tJxVGHNGZnKmCdgbM~viJ`t{`SX-L$1Fr=P zT(#GnxLq&EMkT1KQR%*gqn_Q$87eIbWBR?~dgcH3UKO+595udr|MPcoD+^u`Nx8Haa(l_^p zh`b}vWxL59%i_-+IADZrOF!XW$LiC_C^d4mCFr6+S(<{Uq|*+8K;qE;!dik~Oa*<` z)B<<1%;f-9)A`4=F8a0C)N|%-LM(5bWo#&-&=R4;lf{bGPqKc!fA5t|``|a@@1t@r zXOViR?DY{W9Wd1$IpLowBKZv;s&+P!fSp`5&j~+GSM4s(O?dV#p3k`W^i8MP7x^Mo z8l&rrV=r^?y|41n`(0x7PuYt5^p#8?#gAo5d;?CyQVX4Qp!w$WG2>cI1-ZOcN$sIwS6|eg2q9_jq zQJ~f8`3G?`+2Zk*7iucx(*~D$B6csOIe8TJEa$6vcatWlcQO;0m=)q|(6-p8iRCG5 z?kfmyB3eDPr0wAg#vgvWr?ZQ!!O-guvv3&9?D;-3iu@U#E@;C7s1)^f+bBO24sNVAi9rBa6vRb!< zjopiXM#wyme0xtYKx6Z)P2{{wSf;M$co<*a1R^)5YPr)x$vc=vsO&-+JC9aokZTig zkp}KDU83s{Jx@E;fpop20ub3gejCI zy0I>$jk-pOK&-a);%A>_Jn3RJ2yGV5O!Wxpl*^qffG@=~HCiA4^df6;jDSY3p{SXZ zAAxgaTibh7!+kkT#Ae1kl1A?~_FhF~Nf!Hx6HS2Na^HNM<&8&1cnI2IbtaM6c)A$s zQtM8gU*Dv+)eE6}yfM5o`c?fbfg``1m|4g>x$b_pW~W2(4T3{=QZ@Hrf{!r~JDTtx z2fy$aUZ*q@4PQRHpF1685VnJET#1n->)mCD>k*~N;OdyQrAqdB-0+bQ6SCLcN*DEO zR~bxAnk5-b1KX^L@kU2GFK5h=n1)QDxGw4i&eL5W@m@<$VvxLzG*(gGUUY@KOu!vm zT=b2!TzWYxdcO4 z%@|lzMK#!G@g`JaQ^$Dc`JJ@)dtc!<1Dkn;WRogd>Nl$lL~X8H;|6a~HC&h3tdkFi>b1*uwQpwL zAZ^60DSGUW+;L6qbJ^8&Jr1gO4aoa##Gg5F2dZ$snm)dBe`O-1;n7MJme2C{P+iA< zJxo{Byb_W#56@CGv1V)pa;-DDnST7_!_ik?@9>?fo%^<1b;;`xa=5D)g z%X+xKsWzUD=QcB~pspP^PG?3yF88xaN$MM^7t z6=M~MvBSrY^S+LS+C(p$s8Y*dsBG^(pHIJQa}y<+#NDFhF~6&8muU|N&IBxlrrxg* z=q`J|NDaRlGj!t|@}u~P7(P3_joHU_-#!d&1}Q7@UMp{LSa9zb|8UQ0J!J!#`&l?W z2^}K2esad42AzUH;6QN_+A7`j7mrtE6Kpub#exKafh_#Ch`8&hqx_yzZ1ui4UA1r`Sg=VBY9zNV%rChk%z zSS(dd?nXb0Xp0kYm@@39iH0zKwJVPDO$hJwJ~H$c0zE9k2PMFz7|wvdr@5AjGuSy` zCT3#v?>#Df+jgUZh=_=n5d~clnOqTVT@lG85Gx-HEgU{jl|bY~Pb+9G75kdfTIc+A zCg$TOqZ(c8>r87@7`sh0F;}AFBI5 zHJ$$dN7EqzMMYtLw-^MJR`A}&si$fDW%a+CE^23EZ{TR)Z0Gp*3mgyD6b2RX+S4ZR zQ6}yadN`o?=RPA$x890~U|>BTZEW6bzhChHF;u(O`O!dQC-ZIA0ir|w!w(b-lG`=6 z5-BeyPK>{GTCZu`N^!E=nI9dsgL9;jVD-%sHrI?aKzJTBOr&bexxlf&IXP&rr=R=I ztJ10ZUBbHGA~ID^ky|b)dJBK4^I+lVt(?3bUX|jM2nLkT#S@Wh@#ijesj3N0rR(We zTl0;SsryWS`V#(?M8L>ol*3Z3r7Y{hHMQ@ZwkQjpvQ@Jqq(Nr8MY3c*hMfF89Nw!! zlqD06-nF)BYuR$2j5-{ATB^FR6BsB+?a=B?d4l)BU}o&eq@tdkDD0ZAE1P;zaQb?s zY@_=?>^Om9(wnWl78IHi8Z)Q5n^dMuggDY;-d0-ZH}C5#o0?o_Hh#cP)h?2;_6Tc2 zxvA!DqgBe6>l13@o^E!}RT)?%=U(4TeG+PyQ0x{i@#4CG{t#YaHDiByrFEjqevI6$ z=oy|lqR`8s2|-8>{H>S$Hf@RLHARIfhn<$ssej)|Kn_2gSXAL;oGyB2cA3yKU@M}; zA6vtjS2E9b;u_KVN-90efXx7x?It<}oTx`c*ZSsKl>JN7Pac6I*YL)LIKCoWViXkJ zlags-`KUnzzjA1#dF5glw$`RAheQ{Ak;v_KkL|(hO*zI2pP1fgFVI|Y%|`W#_;B`3 zo3Fr|NQ^g*RQOxZ3{gf!mK54QZzV=Oc%7DRERUtMalumf;gWL42btV^4Y;3aY3hU3 z6)$HcVv5m7870DTVzKrw!SQ`wXR|PBR%ZO{a(4Qmsi#`Y;~=U# z1-hcr>o>2h+*-o?5%}QXMnD$;vF@J_Cis_}xT-MY4S5M>8v|Dp+kft$I{Ke49R1Hm zb~ZM4woZ(Y*l2XhS0R<0UpUZTh5qfw1D}Tzsx=Xhmwj&U29_CaGQz>J!6wMw&W6d| z#=4Ef%4ve@Q?1z{g?(xtN0(;i8vjyKe*T5)S~(?)(F-z8+}syJbd;Xm@I~^Cc_{zw zfKllFoQ!cMQ-AE?i7p2e@-XerPO^S>ykjT3~M@qHz~hjt${q#4MAq>XQT-m6-PMPjJ$Yy1x!!P)rgS z=F=*xJcY+*SH5^z)y~ew4tvY2$Ypj`rEZaEAjwk z^NjB%vX9kr=tWfUuBNNtv1QB5v#t`Z+TiKa4z%)*U+J##@_PC{t|ANNjp97rnekA^ zQYQ}T<@pPrmdw2c-%h>tyd${h;Vy9TW0b^`Cp}$z?-I}?7u?-F90hqPbms<%d7mE& z-R5oNe{;pxRfNetUiz{?XlFS3MKLo12bE{s4hE@eC})yO;2zE?NnECkezChm&7gcA zS*1M+B@nf$$}o<_CP1=+Q-r!+HxbSFk`$eILdJKhOcBe9RqtDH45+l>({6?Q_L54v z?s72*SL>g0s$s#CNU}z#GYa%S+6iUd^b-LR;NM32sK-z4WSm zk}~T)k!-aU)3s11ct7fdMV+tD=KZNNP-ljp)sX1!GS>;b{Fd@*`;p<53gnVSCmFYA zRaGCqdv4l>qvDPm=~&>t;-jW^=&~}I{V1kyvyX7tNsWTK!l-*#xigXKmec&mZ+1X| z6|07Pf%jEZX6NfIdtcPhiUbp6&$5q%Jd)A_8|)D8 zK`c*h76^P645~BLd`}an5HiotKu5Rkb>M}5g;!30=KZt-6UH~Ywh|hd*6KW~>LqwZ z-WSz8D+ewKS5So!Vs56hGbI*0wX$*Zf2JK^ghce+l}UTwHoj&lvdd%_u!v0iY~ z?}8QU4l%v~Q8mTdgWL67_6;oMWc9v=Q#LrRn)_*YT3^T3NZG5`o+IdU7+K5rnKH3+ zYO``I=3jo4u2&OF<0XnPg0<<+RMHbNlp+>9?HXsUu}CClAL5j7-k*UpXGmS^Vj-Rb zZ|_6jCbISYhOfh|RI@$kM05eXmCZtCI3!eiMtLdIBkSaW%r7$n=2=@*sTsA#U9DKo zI!SS(lLjO3i+wRB;m=mJGvIVAz zQL)<@tY!&~s4hLvJsv9$7*KC^QkOAv4C>9=7jy{8V|8%tUMrRf))a3-WxQpE{C38i z!0+{_JBPPyVw7REXqZfXDbECDMfKEmcllgu6*B*aou3cSELx?=;b!+%Op~_v@?*8C zE?za`j}XlN%ADJNc^5}vQ>hkXp_y8$8Erhb?6K2D^81!nYVv*kee#ky@f|tttsQ;= z?>r2Px7(NAk}_Hjk@_Vrh#+|m`CnxTXJIXgwq|1Bj$3I^p9TvEWUNTipD4VDKGyHA zH%4g@8Av}geGtq2*$Az0;1#|^f;E}d)33on`sj1*d`^-{ z(=_=torX>x@n@^-s0d8`LzG5{x|3g#g^94{PU7*5Su);mF!G9Z$WGqr$#lK9Dy2o( zW9;*BzjT8K+A#{Ecm4|jmG4+cU{6Fs(K%OTB)u(Q#D$} zGdMOXyuRQ4c9<0{2ET^9ehcNJMh(*9$dmc6DAVa(r7sdtEZEU@ z4sXm^h%4yFY%n0`Ky!YO{+Q%rfXvyb~CrKQvdLO^v4i2JO6|86- zLNUb17m`}G%I6Q8+;?TQAb4{UKOK(sz6 ziAE0Oj_MV%W9Brq*~$|dp4M08j}~T&(9pAf6aOf#{_5i}jf7RN3XCD4t{2?JGG9d~ zr&FRo#<+jQC}(TE-Q{_AvbG`AoCjq&-pyaqYz&pjUXfUg46{>iCP3whZt?!N=V_mN zY`bau> zMs^OTJ${Y;2r~|{q!ZcbN~DT0ZW0WvvV{9lg@u1_1ABJ>#P3$K)zx5 z_csje!M(^Pr+yJ^KKSX2vCv=qd#(y408(4}@fFBV;(vaDkXw%z@MG5eZv%c6LkT73 z;50FY7PbbC9;ZGOv@~9z9f$(|R>zN4{q<1B7G@?+&ZkPd1odogr%AImur+frFoV|l zuWh{oC9mp_D}-GB@!A?cz||aPEd~c z$LnQph>FXrh%-66JO3)dofKa*1QeLpK*{l6pMrFNIntjb$SbG<8NUjElxnT`4>Ll* z`H-m;e^se}v?tRq88q%h^Zo4%A_h(->}-G4EPsA9i0TcZ{DRuSqh)}l749Em!Ou)T z8&D4aGs!n>?OmKfrPRd0=6FbAz~o{lfII~d9w-l;RrZ&K>fk5~Fd@}t^q+y{P zFP(HaXw(X9I_3u5kMAGZ5TCVIgGKspO=5?2pE3cAH)3G$;)eop=)eLx-7Ju9SbJY8 z`U+@LIcO3q6p7m44@mzD`v0@bQH?>wx5X+BHUq1hg2q7i@+7n0ix)LFa8xmIa51qp zGWqEoyPrb|#OTtI?!n>b;o#1JK1d7Ih7!x)L!?aHkAL>>qN1xwz*{9i{DW4_U64cl zu3!AMfOE=IU!uaNEdWo82D%=Ic>jDr0Q5LTyvYAl4z(Qkt3J*ZmQ@uVE7{2Nx00b& z+kTa7$G=Tz4xU#Qn3VpXCx&zYEw57~L+toJxnLplsIDO<)IV&ri2*_{0)0brvmc*K zKUAOJ2zD}Y{`-8xU!Rt6ixnviNZJK|seecWKf&mC=MNX&0%RUWgfD4Q$kVBJy zd@}voe19)f+}+5;-r2&=_NW#hy(JviqXZ&&AM}=A9NGUA;eRJfA}5U^36bVO$w0ZT zK)KLXV+#7cSW!n0`(vUlqw^xAhc96n>Y~!C#re8`}tOH3|MI{B7y) zg{#?GxSt>#q9lv~M6KidKh@AF!cUEWJ${`!KpEUr4y~C()Q@|qELEwbW zm0A}61INSB!rI!x=r~e@b86iJFwX#J6?FQyzYIIc#MaE(!pZzNkSC29i8%mu9`OV2 zRoFqMjwZH7$8y4uOPF^6habdnXcO(M!Ok%=akMe8J+3`6bnt!sz(fqdM9>_GP1rf+ zCWekCZpU%p3)NC40Y?yUprfMA)_>r**qRwQS{&abrB`KH*Z@-w0z7n+GPhwz+1s7u z3M;D2^APWbGzr?f(f45IINAXVozNojeY>el;0&=xyj$$xKagCUoK67!Y$fP!B>W9_ zkdr-V(ed5LqG3EZ3Fs{yxHn|8)sIi6pDWy%lN0!V!s*{(&cq#r)RUrIU^Bcv5nyzJ z97X5{0Q}7KGd>49b504Q;}75}&Vi7V1EvAc9B)b(IDfgC-pO$% z-s~wCCJ3ZsAZ3KExQtQ3z=4E^%rPx;iD?CG5CqjhXg_|>12ejbCJ!9207}aR*$s4f{vZcC=Ctrkd|UENCTNT#)~^jJR)U#ya(Ir( zbGh3A^!DXQ0-CP@Gv>7LY@vgVw+8$m9291t!&$c$?4XmwbLgJOMhmbI@sT+KrasJ^ z6T&m3&SBlXGE@dQy1=iYr#*DWf5;Iru`o7ql(TbmGC8sQ0h!c?#tOcl1NP|ws)MfQ z^MJbWA0=#NCbqw+97N;g%n|`dmxqs;AD)h7wi~g7w6+K zC)ZnId|=0%GXBtnj@&;01}Zw@aQ(ipgH9fR_`k~cLJHafN9rw?0$}HyJOZ6;AIG5o zz;QG&u{ti-$r)UXhNSIsKy9FY`_CuSFB@z+fHfGHK`_<^&K5A1kd{MXXPrE%-rwt% zc>8x>g^r~d5&wa6+OYaF3ObFGjDj6y;cQ@iLcyh<1Gfbp*eLkOICMK2cF@TK_|I+! z?GJAr{1=X+vx}LFiId53zGtqlG590WLB~{_c-UE|Web*isILk^r+suJExD2SA4n&s z3xsF2Q#OF>83R*6`-4IX?4T3!1;`-&vz?$p38}DyoLwBPPAI?$w%tAm2de7^$rkj4 zt1le}(5VGDibZ!a8lbUvM+$I7Phe;Kt^g-oPj~SZun`L&LJzPUIk3}C%uJ$W9S`Jy z;>3aCpfTEcFk?I*vIn11sbCQs^Y@a584;-you2;g0IXNZyxi!$X zp{#)&b5cg4yBdlH>7J~>p`k}_@!J1J`J;pc+C294Fr!Y+M}F2D^f(vS2s`GqbmV6e zv|l$i!Av?O8_^b&R$BlzvOE$(ms()voScmO+#G0ExCnMs{&8~p*VtokcUms;GYUG4 z%7D$MFrrRNMNY0OJ9WbjIyn<5*zLM73QQyfOa$!;882bxoRWzAtT<@St3H@Hr{p2E z3{8qyU?{zCq>i}*qQxH@=(qK2j-rmHU65oCkpEi0)*FU_b5i{}22sG55@ZEcz%0<| zR5qBh{BbjWtezcPzYau%kXFix#sD+W4g1cNrDA1U|dZNSbrF^O92 z-0$oGm_vYp?v}xyVaA+RCVv%_QTGnmg&3ru&|}-vUD!b z+QlDR|1Zm&nB7pv5vXv0nNHi0t`hMbX38nq4FjsAPXy?a<40=o#0Y0$ZOzHq&4{(J z;{|{zK7#p*3^V5B>;{#Q@u~&Dm;$Xq+r|L{cFalHO*yvDd;y@$0t)ny#)A9bC?{q& zTCDjlkV$VPa0Te>h8t97VRW{Wvl}rT&1N0o(|SkNF!)Ge$DEek%r}i1FaeU%kBX^jSD+OGE`bf#&g62P9PRnlig8I#00asW& zQvX0>gc)^OcJm}|AV3?mY3@kq;begwbaHm{Y1#IkAmGS@@`(@SKgZ~dXvS7uWiuLGbQHXdoHuLjNcTvX3oH6=ued7O9vV^Wp%6cKC|ta}6NT zqQk+7K+(iBV5X_q*_iww9<$FM!b5+iJrx2Xe+r1o&~Fml0*ZyrN=ID`LQvrWH&g@t z*??Ao)cK!JrXRP-9}?sZY)n)=>`&+*7nI5!NC2P!_%L)f%K)|t|4|bZAv?mIEsVr% z%`9w9j`KE1f5#5FJn{+j^*!)5mDE4&fOtZh<$nYHk85Kh;$mS97MYLg4?fu$G>v z2qF;VFj43-4rk~eVw6ps>|7j;!2OZ7PR<6lC%yC}Q5=bD0Z4ZN33?CJbl9JgfaZ?# z4v3%Y!asPz21NUV0Tgl=+K*4BUwi~i;#rO=3L>BReA!1v;Nqm9w?aQY@qJk2pAhC; z_fTCy`3H^WO#&fKH0D<8Jq@(=^5a4H~A4A2Vn`f(1{!%-eMUxervb}GQc)}z2pZ>3}d+PcU$P zy8?%K|JK=OfU^Q>d(b&%y+iF-^LS3zrdj@0(6P+-QK(l7P)hv`K?z(hY%bmzi=nR9x-Y)yHHdlR6Z z9jQ?d;=qhLpLc1%hGB1IJ+JJ?ir}K9S|AceeNdpl1+U?Q7tgc^|Y(`UemE%=F8r{XZc8ck0w>-1Pa@4oFk2 zK~rU*xZU8*{r}w5zYd`~4cuysq-_lh7zEz?gPuBAgUkVD@bMEMr)&v3u;vRl09tn) zs&$ND@7wPoVg?rAJq0;CD?4X9Q&SZ?7h7W!_v7Z-5U;s3qrDATWBLpNtQZt5mjA!Q zL>vtuCpjD`Jwb?SlFU=|fM@}TB2Ywj;r~vA6kLwyxmsTE(g5~Kxccj2bc6VR<{d>r zMqS_gnpZYK(=tHO0($wz{^p;cjBWlmQ2n}%95UtB9>JX91fqvQoRx#pT7mALh!(SR zF|;<3GjTSshZNVTe)%2LY+bBRs3~{}n({kdfP+f}Qx|Bbmo@qi=%cEGc*W)HB~x;s zwj82gy#m+oPatvzz~_}AFJ+j4Qo5rZIJxx1_roCi{7h7;Ar01VQNdwB(D_$%)F1JF zX!7{xbZ)fFJprb|$Nu$5CA#E45ijrIWMOg48WBWQuUoHn27!os2LvMMyo)&NPh=~b zn1WRm&AbEsdrS}8?UR3-uyDS$;9TBzPqR(T2ma<-|+DTf5k3=4Uw0;?*4Z~`qhw(d7#l}-_h zX>=!w5j-g#*{>apsr`3iUF@7qj1|GfTh0ccf1dz>SoGI>=znM>)9=~fZy-l+rT=+3 z0bgDL^)nIGo-ybZv@82y~;r~6y z_s9K5{~pKu>(SR>wD{@E@khV>S0(1(`;bl+1(rL167~9bqD~Tg{@5Fmeu&QWBmHos zfzYC$fBXBsq<w+plUe-AQOltBQY5)N)1{4v!5y94$>^o09=0L_lo diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml index 25a9570..1297ab8 100644 --- a/nbproject/build-impl.xml +++ b/nbproject/build-impl.xml @@ -19,7 +19,7 @@ is divided into following sections: - cleanup --> - + @@ -468,7 +468,7 @@ is divided into following sections: - + @@ -619,7 +619,7 @@ is divided into following sections: - + @@ -911,7 +911,7 @@ is divided into following sections: - + @@ -1396,7 +1396,7 @@ is divided into following sections: - + diff --git a/nbproject/project.properties b/nbproject/project.properties index 35e8bbe..ca363db 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -3,7 +3,7 @@ annotation.processing.enabled.in.editor=true annotation.processing.processors.list= annotation.processing.run.all.processors=true annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output -application.title=jshop-core +application.title=jproduct-core application.vendor=Roland H\u00e4der auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml build.classes.dir=${build.dir}/classes @@ -26,11 +26,10 @@ debug.test.classpath=\ dist.archive.excludes= # This directory is removed when the project is cleaned: dist.dir=dist -dist.jar=${dist.dir}/jshop-core.jar +dist.jar=${dist.dir}/jproduct-core.jar dist.javadoc.dir=${dist.dir}/javadoc endorsed.classpath= excludes= -file.reference.commons-codec-1.10.jar=lib/commons-codec-1.10.jar file.reference.jcontacts-core.jar=lib/jcontacts-core.jar file.reference.jcore.jar=lib/jcore.jar file.reference.jcoreee.jar=lib/jcoreee.jar @@ -44,7 +43,6 @@ javac.classpath=\ ${file.reference.jcoreee.jar}:\ ${file.reference.jcontacts-core.jar}:\ ${file.reference.jcustomer-core.jar}:\ - ${file.reference.commons-codec-1.10.jar}:\ ${libs.javaee-api-7.0.classpath} # Space-separated list of extra javac options javac.compilerargs=-Xlint:unchecked -Xlint:deprecation @@ -69,7 +67,7 @@ javadoc.private=true javadoc.splitindex=true javadoc.use=true javadoc.version=true -javadoc.windowtitle=Java Shop Core +javadoc.windowtitle=JProduct Core jnlp.codebase.type=no.codebase jnlp.descriptor=application jnlp.enabled=false diff --git a/nbproject/project.xml b/nbproject/project.xml index 5c51ec6..f9786af 100644 --- a/nbproject/project.xml +++ b/nbproject/project.xml @@ -3,7 +3,7 @@ org.netbeans.modules.java.j2seproject - jshop-core + jproduct-core diff --git a/src/org/mxchange/jshopcore/events/category/AddedCategoryEvent.java b/src/org/mxchange/jproduct/events/category/AddedCategoryEvent.java similarity index 90% rename from src/org/mxchange/jshopcore/events/category/AddedCategoryEvent.java rename to src/org/mxchange/jproduct/events/category/AddedCategoryEvent.java index d553cef..7441fa1 100644 --- a/src/org/mxchange/jshopcore/events/category/AddedCategoryEvent.java +++ b/src/org/mxchange/jproduct/events/category/AddedCategoryEvent.java @@ -14,10 +14,10 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package org.mxchange.jshopcore.events.category; +package org.mxchange.jproduct.events.category; import java.io.Serializable; -import org.mxchange.jshopcore.model.category.Category; +import org.mxchange.jproduct.model.category.Category; /** * An interface for added category events diff --git a/src/org/mxchange/jshopcore/events/category/ShopCategoryAddedEvent.java b/src/org/mxchange/jproduct/events/category/CategoryAddedEvent.java similarity index 95% rename from src/org/mxchange/jshopcore/events/category/ShopCategoryAddedEvent.java rename to src/org/mxchange/jproduct/events/category/CategoryAddedEvent.java index 3f5ba06..da077d3 100644 --- a/src/org/mxchange/jshopcore/events/category/ShopCategoryAddedEvent.java +++ b/src/org/mxchange/jproduct/events/category/CategoryAddedEvent.java @@ -14,10 +14,10 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package org.mxchange.jshopcore.events.category; +package org.mxchange.jproduct.events.category; import java.text.MessageFormat; -import org.mxchange.jshopcore.model.category.Category; +import org.mxchange.jproduct.model.category.Category; /** * An event fired when a new shop category has been added. diff --git a/src/org/mxchange/jshopcore/events/product/AddedProductEvent.java b/src/org/mxchange/jproduct/events/product/AddedProductEvent.java similarity index 91% rename from src/org/mxchange/jshopcore/events/product/AddedProductEvent.java rename to src/org/mxchange/jproduct/events/product/AddedProductEvent.java index eb9b51f..c2ce703 100644 --- a/src/org/mxchange/jshopcore/events/product/AddedProductEvent.java +++ b/src/org/mxchange/jproduct/events/product/AddedProductEvent.java @@ -14,10 +14,10 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package org.mxchange.jshopcore.events.product; +package org.mxchange.jproduct.events.product; import java.io.Serializable; -import org.mxchange.jshopcore.model.product.Product; +import org.mxchange.jproduct.model.product.Product; /** * An interface for added product events diff --git a/src/org/mxchange/jshopcore/events/product/ShopProductAddedEvent.java b/src/org/mxchange/jproduct/events/product/ProductAddedEvent.java similarity index 91% rename from src/org/mxchange/jshopcore/events/product/ShopProductAddedEvent.java rename to src/org/mxchange/jproduct/events/product/ProductAddedEvent.java index 68f80e0..ddc5f32 100644 --- a/src/org/mxchange/jshopcore/events/product/ShopProductAddedEvent.java +++ b/src/org/mxchange/jproduct/events/product/ProductAddedEvent.java @@ -14,17 +14,17 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package org.mxchange.jshopcore.events.product; +package org.mxchange.jproduct.events.product; import java.text.MessageFormat; -import org.mxchange.jshopcore.model.product.Product; +import org.mxchange.jproduct.model.product.Product; /** * An event fired when a new shop category has been added. *

* @author Roland Häder */ -public class ShopProductAddedEvent implements AddedProductEvent { +public class ProductAddedEvent implements AddedProductEvent { /** * Serial number @@ -41,7 +41,7 @@ public class ShopProductAddedEvent implements AddedProductEvent { *

* @param addedProduct Added product */ - public ShopProductAddedEvent (final Product addedProduct) { + public ProductAddedEvent (final Product addedProduct) { // The category should be valid if (null == addedProduct) { // Is NULL, throw NPE diff --git a/src/org/mxchange/jshopcore/exceptions/CannotAddCategoryException.java b/src/org/mxchange/jproduct/exceptions/CannotAddCategoryException.java similarity index 96% rename from src/org/mxchange/jshopcore/exceptions/CannotAddCategoryException.java rename to src/org/mxchange/jproduct/exceptions/CannotAddCategoryException.java index f1b89d7..fbd7ca7 100644 --- a/src/org/mxchange/jshopcore/exceptions/CannotAddCategoryException.java +++ b/src/org/mxchange/jproduct/exceptions/CannotAddCategoryException.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.mxchange.jshopcore.exceptions; +package org.mxchange.jproduct.exceptions; /** * An exception thrown when the category cannot be added for a "low level" diff --git a/src/org/mxchange/jshopcore/exceptions/CannotAddProductException.java b/src/org/mxchange/jproduct/exceptions/CannotAddProductException.java similarity index 96% rename from src/org/mxchange/jshopcore/exceptions/CannotAddProductException.java rename to src/org/mxchange/jproduct/exceptions/CannotAddProductException.java index 2bcb67b..5be8645 100644 --- a/src/org/mxchange/jshopcore/exceptions/CannotAddProductException.java +++ b/src/org/mxchange/jproduct/exceptions/CannotAddProductException.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.mxchange.jshopcore.exceptions; +package org.mxchange.jproduct.exceptions; /** * An exception thrown when the product cannot be added for a "low level" diff --git a/src/org/mxchange/jshopcore/exceptions/CategoryTitleAlreadyUsedException.java b/src/org/mxchange/jproduct/exceptions/CategoryTitleAlreadyUsedException.java similarity index 93% rename from src/org/mxchange/jshopcore/exceptions/CategoryTitleAlreadyUsedException.java rename to src/org/mxchange/jproduct/exceptions/CategoryTitleAlreadyUsedException.java index 54bb530..087bed9 100644 --- a/src/org/mxchange/jshopcore/exceptions/CategoryTitleAlreadyUsedException.java +++ b/src/org/mxchange/jproduct/exceptions/CategoryTitleAlreadyUsedException.java @@ -14,10 +14,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.mxchange.jshopcore.exceptions; +package org.mxchange.jproduct.exceptions; import java.text.MessageFormat; -import org.mxchange.jshopcore.model.category.Category; +import org.mxchange.jproduct.model.category.Category; /** * An exception thrown when the given title is already used diff --git a/src/org/mxchange/jshopcore/exceptions/ProductTitleAlreadyUsedException.java b/src/org/mxchange/jproduct/exceptions/ProductTitleAlreadyUsedException.java similarity index 93% rename from src/org/mxchange/jshopcore/exceptions/ProductTitleAlreadyUsedException.java rename to src/org/mxchange/jproduct/exceptions/ProductTitleAlreadyUsedException.java index 1c0bef3..ca1bf24 100644 --- a/src/org/mxchange/jshopcore/exceptions/ProductTitleAlreadyUsedException.java +++ b/src/org/mxchange/jproduct/exceptions/ProductTitleAlreadyUsedException.java @@ -14,10 +14,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.mxchange.jshopcore.exceptions; +package org.mxchange.jproduct.exceptions; import java.text.MessageFormat; -import org.mxchange.jshopcore.model.product.Product; +import org.mxchange.jproduct.model.product.Product; /** * An exception thrown when the given title is already used diff --git a/src/org/mxchange/jshopcore/model/category/Category.java b/src/org/mxchange/jproduct/model/category/Category.java similarity index 97% rename from src/org/mxchange/jshopcore/model/category/Category.java rename to src/org/mxchange/jproduct/model/category/Category.java index 65136b7..7606fc6 100644 --- a/src/org/mxchange/jshopcore/model/category/Category.java +++ b/src/org/mxchange/jproduct/model/category/Category.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.mxchange.jshopcore.model.category; +package org.mxchange.jproduct.model.category; import java.io.Serializable; diff --git a/src/org/mxchange/jshopcore/model/category/ProductCategory.java b/src/org/mxchange/jproduct/model/category/ProductCategory.java similarity index 98% rename from src/org/mxchange/jshopcore/model/category/ProductCategory.java rename to src/org/mxchange/jproduct/model/category/ProductCategory.java index 3549757..90f17d0 100644 --- a/src/org/mxchange/jshopcore/model/category/ProductCategory.java +++ b/src/org/mxchange/jproduct/model/category/ProductCategory.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.mxchange.jshopcore.model.category; +package org.mxchange.jproduct.model.category; import java.util.Objects; import javax.persistence.Basic; diff --git a/src/org/mxchange/jshopcore/model/payment/PaymentType.java b/src/org/mxchange/jproduct/model/payment/PaymentType.java similarity index 95% rename from src/org/mxchange/jshopcore/model/payment/PaymentType.java rename to src/org/mxchange/jproduct/model/payment/PaymentType.java index 55c46bd..f8b0d76 100644 --- a/src/org/mxchange/jshopcore/model/payment/PaymentType.java +++ b/src/org/mxchange/jproduct/model/payment/PaymentType.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.mxchange.jshopcore.model.payment; +package org.mxchange.jproduct.model.payment; /** * Payment types diff --git a/src/org/mxchange/jshopcore/model/product/GenericProduct.java b/src/org/mxchange/jproduct/model/product/GenericProduct.java similarity index 96% rename from src/org/mxchange/jshopcore/model/product/GenericProduct.java rename to src/org/mxchange/jproduct/model/product/GenericProduct.java index febde61..4dc700d 100644 --- a/src/org/mxchange/jshopcore/model/product/GenericProduct.java +++ b/src/org/mxchange/jproduct/model/product/GenericProduct.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.mxchange.jshopcore.model.product; +package org.mxchange.jproduct.model.product; import java.util.Objects; import javax.persistence.Basic; @@ -28,8 +28,8 @@ import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.Table; import javax.persistence.Transient; -import org.mxchange.jshopcore.model.category.Category; -import org.mxchange.jshopcore.model.category.ProductCategory; +import org.mxchange.jproduct.model.category.Category; +import org.mxchange.jproduct.model.category.ProductCategory; /** * Generic product class diff --git a/src/org/mxchange/jshopcore/model/product/Product.java b/src/org/mxchange/jproduct/model/product/Product.java similarity index 95% rename from src/org/mxchange/jshopcore/model/product/Product.java rename to src/org/mxchange/jproduct/model/product/Product.java index 0347f33..e300703 100644 --- a/src/org/mxchange/jshopcore/model/product/Product.java +++ b/src/org/mxchange/jproduct/model/product/Product.java @@ -14,10 +14,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.mxchange.jshopcore.model.product; +package org.mxchange.jproduct.model.product; import java.io.Serializable; -import org.mxchange.jshopcore.model.category.Category; +import org.mxchange.jproduct.model.category.Category; /** * An interface for in database storable products diff --git a/src/org/mxchange/jshopcore/exceptions/BasketItemAlreadyAddedException.java b/src/org/mxchange/jshopcore/exceptions/BasketItemAlreadyAddedException.java deleted file mode 100644 index d5e8512..0000000 --- a/src/org/mxchange/jshopcore/exceptions/BasketItemAlreadyAddedException.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (C) 2016 Roland Häder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.mxchange.jshopcore.exceptions; - -import java.text.MessageFormat; -import org.mxchange.jshopcore.model.basket.AddableBasketItem; - -/** - * An exception thrown when the given item is already added to the - * basketController. - *

- * @author Roland Häder - */ -public class BasketItemAlreadyAddedException extends Exception { - - /** - * Serial number - */ - private static final long serialVersionUID = 64_828_391_485_785_167L; - - /** - * Constructor with item instance T - *

- * @param Any item that is or extends the interface - * @param item An instance of a T item - */ - public BasketItemAlreadyAddedException (final T item) { - // Create message and pass it along - super(MessageFormat.format("Item {0} has already been added. Did you miss to call isAdded()?", item)); - } -} diff --git a/src/org/mxchange/jshopcore/model/basket/AddableBasketItem.java b/src/org/mxchange/jshopcore/model/basket/AddableBasketItem.java deleted file mode 100644 index c7f0556..0000000 --- a/src/org/mxchange/jshopcore/model/basket/AddableBasketItem.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (C) 2016 Roland Häder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.mxchange.jshopcore.model.basket; - -import java.io.Serializable; -import org.mxchange.jshopcore.model.product.Product; - -/** - * An interface for addable basket items - *

- * @author Roland Häder - */ -public interface AddableBasketItem extends Serializable { - - /** - * Getter for item amount - *

- * @return the amount - */ - Long getOrderedAmount (); - - /** - * Setter for item amount - *

- * @param amount the amount to set - */ - void setOrderedAmount (final Long amount); - - /** - * Getter for entry id (from database backend) - *

- * @return the id - */ - Long getItemId (); - - /** - * Setter for entry id (from database backend) - *

- * @param id the id to set - */ - void setItemId (final Long id); - - /** - * Getter for item type - *

- * @return the type - */ - String getItemType (); - - /** - * Setter for item type - *

- * @param type the type to set - */ - void setItemType (final String type); - - /** - * Getter for product instance - *

- * @return the product - */ - Product getItemProduct (); - - /** - * Setter for product instance - *

- * @param product the product to set - */ - void setItemProduct (final Product product); - - /** - * Determines whether the item has a Product instance set - *

- * @return Whether a Product instance is set - */ - boolean isProductType (); - - @Override - boolean equals (final Object object); - - @Override - int hashCode (); -} diff --git a/src/org/mxchange/jshopcore/model/basket/BaseBasket.java b/src/org/mxchange/jshopcore/model/basket/BaseBasket.java deleted file mode 100644 index 3e7f278..0000000 --- a/src/org/mxchange/jshopcore/model/basket/BaseBasket.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright (C) 2016 Roland Häder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.mxchange.jshopcore.model.basket; - -import java.util.Deque; -import java.util.LinkedList; -import java.util.List; -import org.mxchange.jshopcore.exceptions.BasketItemAlreadyAddedException; - -/** - * A general basket class. This class does not store any properties, it only - * contains logic for handling the items (T). - *

- * @author Roland Häder - * @param Any instance that implements AddableBasketItem - */ -public abstract class BaseBasket implements Basket { - - /** - * Serial number - */ - private static final long serialVersionUID = 782_396_762_230_845_717L; - - /** - * Ordered item list - */ - private final Deque deque; - - /** - * Protected constructor with session instance - */ - protected BaseBasket () { - // Init queue - this.deque = new LinkedList<>(); - } - - @Override - public void addItem (final T item) throws BasketItemAlreadyAddedException { - // item must not be null - if (null == item) { - // Then abort here - throw new NullPointerException("item is null"); //NOI18N - } else if (this.isAdded(item)) { - // Already been added - throw new BasketItemAlreadyAddedException(item); //NOI18N - } - - // Add it here - this.deque.add(item); - } - - @Override - public void clear () { - // Deligate to deque - this.deque.clear(); - } - - @Override - public List getAll () { - // Init map - List list = new LinkedList<>(); - - // Iterate over full item list - for (final T item : this.deque) { - // item should not be null - if (null == item) { - // Abort here - throw new NullPointerException("item is null"); //NOI18N - } - - // Add to map, use the item's id as key - list.add(item); - } - - // Return it - return list; - } - - @Override - public T getLast () { - // Deligate to list - return this.deque.getLast(); - } - - @Override - public boolean isAdded (final T item) { - // item must not be null - if (null == item) { - // Then abort here - throw new NullPointerException("item is null"); //NOI18N - } - - // Get all items - List list = this.getAll(); - - // Default is not found - boolean isAdded = false; - - // Loop through list - for (final T i : list) { - // Compare id - if (i.equals(item)) { - // Okay, found it - isAdded = true; - break; - } - } - // Return it - return isAdded; - } - - @Override - public boolean isEmpty () { - // Deligate call to frontend - return this.deque.isEmpty(); - } - - @Override - public int size () { - // Is the list empty? - assert this.isEmpty() : "deque is empty"; //NOI18N - - // It is size-1 - return this.deque.size(); - } - -} diff --git a/src/org/mxchange/jshopcore/model/basket/Basket.java b/src/org/mxchange/jshopcore/model/basket/Basket.java deleted file mode 100644 index 9b70fc3..0000000 --- a/src/org/mxchange/jshopcore/model/basket/Basket.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (C) 2016 Roland Häder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.mxchange.jshopcore.model.basket; - -import java.io.Serializable; -import java.util.List; -import org.mxchange.jshopcore.exceptions.BasketItemAlreadyAddedException; - -/** - * An interface for baskets - *

- * @author Roland Häder - * @param Any addable basket items - */ -public interface Basket extends Serializable { - - /** - * Adds given item instance to this basket - *

- * @param item Item instance to add - *

- * @throws org.mxchange.jshopcore.exceptions.BasketItemAlreadyAddedException - * If - * the - * item - * instance - * has - * already - * been - * added - */ - void addItem (final T item) throws BasketItemAlreadyAddedException; - - /** - * Clears the basket instance - */ - void clear (); - - /** - * Some "getter" for all entries in this basket - *

- * @return Map on all basket items - */ - List getAll (); - - /** - * Getter for last entry - *

- * @return Last added item in basket - */ - T getLast (); - - /** - * Getter for basket size - *

- * @return Basket size - */ - int size (); - - /** - * Checks whether the given item has already been added by checking the - * item's id. - *

- * @param item Item instance to check - *

- * @return Whether the given item has been found - */ - boolean isAdded (final T item); - - /** - * Checks if the basket is empty - *

- * @return Whether the basket is empty - */ - boolean isEmpty (); - - @Override - boolean equals (final Object object); - - @Override - int hashCode (); - -} diff --git a/src/org/mxchange/jshopcore/model/basket/ShopBasket.java b/src/org/mxchange/jshopcore/model/basket/ShopBasket.java deleted file mode 100644 index 572d7e7..0000000 --- a/src/org/mxchange/jshopcore/model/basket/ShopBasket.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (C) 2016 Roland Häder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.mxchange.jshopcore.model.basket; - -/** - * A basket for orderable items - *

- * @author Roland Häder - */ -public class ShopBasket extends BaseBasket implements Basket { - - /** - * Serial number - */ - private static final long serialVersionUID = 4_384_123_923_163_957L; - - /** - * Default constructor to be able to throw exceptions from super constructor - */ - public ShopBasket () { - // Call super constructor - super(); - } -} diff --git a/src/org/mxchange/jshopcore/model/basket/items/BaseItem.java b/src/org/mxchange/jshopcore/model/basket/items/BaseItem.java deleted file mode 100644 index 734fd85..0000000 --- a/src/org/mxchange/jshopcore/model/basket/items/BaseItem.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (C) 2016 KLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.mxchange.jshopcore.model.basket.items; - -import java.util.Objects; -import org.mxchange.jshopcore.model.basket.AddableBasketItem; -import org.mxchange.jshopcore.model.product.Product; - -/** - * An item (addable to a basket) could represent a product or a discount coupon. - * This depends on the type of the item. - *

- * @author Roland Häder - */ -public abstract class BaseItem implements AddableBasketItem { - - /** - * Serial number - */ - private static final long serialVersionUID = 24_348_671_457_829_156L; - - @Override - public boolean equals (final Object object) { - // Is it same type? - if (!(object instanceof BaseItem)) { - // Not equal types - return false; - } else if (!(object instanceof AddableBasketItem)) { - // Not correct interface - return false; - } - - // Securely cast to wanted interface - AddableBasketItem item = (AddableBasketItem) object; - - // Item id and type must be the same - return ((Objects.equals(item.getItemProduct().getProductId(), this.getItemProduct().getProductId())) && - (Objects.equals(item.getItemType(), this.getItemType()))); - } - - @Override - public int hashCode () { - int hash = 5; - hash = 29 * hash + Objects.hashCode(this.getItemProduct().getProductId()); - hash = 29 * hash + Objects.hashCode(this.getItemType()); - return hash; - } - - @Override - public boolean isProductType () { - // Is the instance set? - return (this.getItemProduct() instanceof Product); - } - -} diff --git a/src/org/mxchange/jshopcore/model/basket/items/BasketItem.java b/src/org/mxchange/jshopcore/model/basket/items/BasketItem.java deleted file mode 100644 index 6915615..0000000 --- a/src/org/mxchange/jshopcore/model/basket/items/BasketItem.java +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Copyright (C) 2016 Roland Häder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.mxchange.jshopcore.model.basket.items; - -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.persistence.Transient; -import org.mxchange.jshopcore.model.basket.AddableBasketItem; -import org.mxchange.jshopcore.model.product.GenericProduct; -import org.mxchange.jshopcore.model.product.Product; - -/** - * A general basket item - *

- * @author Roland Häder - */ -@Entity (name = "basket_items") -@Table (name = "basket_items") -@SuppressWarnings ("PersistenceUnitPresent") -public class BasketItem extends BaseItem implements AddableBasketItem { - - /** - * Serial number - */ - @Transient - private static final long serialVersionUID = 52_749_158_492_581_578L; - - /** - * Entry itemId (from database backend) - */ - @Id - @GeneratedValue (strategy = GenerationType.IDENTITY) - @Column (name = "item_id", nullable = false, updatable = false) - private Long itemId; - - /** - * Product instance - */ - @JoinColumn (name = "product_id", updatable = false) - @OneToOne (targetEntity = GenericProduct.class, cascade = CascadeType.REFRESH) - private Product itemProduct; - - /** - * Item type - */ - @Basic (optional = false) - @Column (name = "item_type", nullable = false, length = 20) - private String itemType; - - /** - * Item orderedAmount - */ - @Basic (optional = false) - @Column (name = "ordered_amount", nullable = false, length = 20) - private Long orderedAmount; - - /** - * Default constructor - */ - public BasketItem () { - } - - /** - * Constructor for an item from given Product instance - *

- * @param product Product instance - */ - public BasketItem (final Product product) { - // Call default constructor - this(); - - // itemProduct must not be null - if (null == product) { - // Abort here - throw new NullPointerException("product is null"); //NOI18N - } - - // Copy all neccessary values - this.itemType = "product"; //NOI18N - - // Copy instance - this.itemProduct = product; - } - - /** - * Constructor for an item from given Product instance and orderedAmount. - *

- * @param product Product instance - * @param amount Ordered orderedAmount - */ - public BasketItem (final Product product, final Long amount) { - // Other constructor - this(product); - - // orderedAmount must not be null - if (null == amount) { - // Abort here - throw new NullPointerException("amount is null"); //NOI18N - } - - // Set orderedAmount - this.orderedAmount = amount; - } - - @Override - public Long getItemId () { - return this.itemId; - } - - @Override - public void setItemId (final Long itemId) { - this.itemId = itemId; - } - - @Override - public Product getItemProduct () { - return this.itemProduct; - } - - @Override - public void setItemProduct (final Product itemProduct) { - this.itemProduct = itemProduct; - } - - @Override - public String getItemType () { - return this.itemType; - } - - @Override - public void setItemType (final String itemType) { - this.itemType = itemType; - } - - @Override - public Long getOrderedAmount () { - return this.orderedAmount; - } - - @Override - public void setOrderedAmount (final Long orderedAmount) { - this.orderedAmount = orderedAmount; - } -} diff --git a/src/org/mxchange/jshopcore/model/customer/CustomerUtils.java b/src/org/mxchange/jshopcore/model/customer/CustomerUtils.java deleted file mode 100644 index c68aa71..0000000 --- a/src/org/mxchange/jshopcore/model/customer/CustomerUtils.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright (C) 2016 Roland Häder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.mxchange.jshopcore.model.customer; - -import java.sql.SQLException; -import javax.persistence.EntityManager; -import javax.persistence.EntityNotFoundException; -import org.apache.commons.codec.binary.Base64; -import org.apache.commons.codec.digest.Sha2Crypt; -import org.mxchange.jcore.BaseFrameworkSystem; -import org.mxchange.jcustomercore.model.customer.Customer; -import org.mxchange.jshopcore.model.order.Orderable; -import org.mxchange.jshopcore.model.order.ShopOrder; - -/** - * An utilities class for customers - *

- * @author Roland Häder - */ -public class CustomerUtils extends BaseFrameworkSystem { - - /** - * Generates an unique access key. - *

- * @param em Entity manager instance - * @param customer Customer instance - *

- * @return An unique access key - */ - public static String generateAccessKey (final EntityManager em, final Customer customer) { - // Trace message - // TODO: utils.getLogger().logTrace(MessageFormat.format("generateAccessKey: connection={0} - CALLED!", connection)); - - // em cannot be null - if (null == em) { - // Abort here - throw new NullPointerException("em is null"); //NOI18N - } else if (!em.isOpen()) { - // Not open - throw new IllegalStateException("Entity manager is closed."); - } - - // Generate fake order instance - Orderable orderable = null; - - // Generate access keyy - String accessKey = null; - - // Default is found - boolean isFound = true; - - // Is the number used? - while (isFound) { - // Both number parts - String randString = String.format("%s:%s:%s", Long.toHexString(Math.round(Math.random() * 1_000_000)), em, customer.getCustomerNumber()); - - // Generate access key, use SHA512 hashing and BASE64-encoding for strong key generation - accessKey = Base64.encodeBase64String(Sha2Crypt.sha512Crypt(randString.getBytes()).getBytes()).substring(0, 100); - - // Try this - try { - // Get reference - orderable = em.getReference(ShopOrder.class, accessKey); - } catch (final EntityNotFoundException ex) { - // Not found, so abort loop here - isFound = false; - } - } - - // Trace message - // TODO: utils.getLogger().logTrace(MessageFormat.format("generateAccessKey: accessKey={0} - EXIT!", accessKey)); - // Found one - return accessKey; - } - - /** - * Generates an unique customer number by checking is existence - *

- * @param em Entity manager instance - *

- * @return Generated customer number (not used before) - *

- * @throws java.sql.SQLException If any SQL error occured - */ - public static String generateCustomerNumber (final EntityManager em) throws SQLException { - // Trace message - // TODO: utils.getLogger().logTrace(MessageFormat.format("generateCustomerNumber: connection={0} - CALLED!", connection)); - - // em cannot be null - if (null == em) { - // Abort here - throw new NullPointerException("em is null"); //NOI18N - } else if (!em.isOpen()) { - // Not open - throw new IllegalStateException("Entity manager is closed."); - } - - // Generate number - String customerNumber = null; - - // Default is found - boolean isFound = true; - - // Is the number used? - while (isFound) { - // Both number parts - long part1 = Math.round(Math.random() * 100_000); - long part2 = Math.round(Math.random() * 1_000); - - // Generate new number - customerNumber = String.format("%s-%s", part1, part2); //NOI18N - - // Try it - try { - // Get instance - Customer customer = em.getReference(Customer.class, customerNumber); - } catch (final EntityNotFoundException ex) { - // Not found - isFound = false; - } - } - - // Trace message - // TODO: utils.getLogger().logTrace(MessageFormat.format("generateCustomerNumber: customerNumber={0} - EXIT!", customerNumber)); - // Found one - return customerNumber; - } - - /** - * No instance from this class - */ - private CustomerUtils () { - } -} diff --git a/src/org/mxchange/jshopcore/model/order/Orderable.java b/src/org/mxchange/jshopcore/model/order/Orderable.java deleted file mode 100644 index 172642d..0000000 --- a/src/org/mxchange/jshopcore/model/order/Orderable.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (C) 2016 Roland Häder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.mxchange.jshopcore.model.order; - -import java.io.Serializable; -import java.util.Calendar; -import java.util.List; -import org.mxchange.jcustomercore.model.customer.Customer; -import org.mxchange.jshopcore.model.basket.AddableBasketItem; - -/** - * An interface for customer orders - *

- * @author Roland Häder - */ -public interface Orderable extends Serializable { - - /** - * Getter for access key - *

- * @return Access key - */ - String getAccessKey (); - - /** - * Setter for access key - *

- * @param accessKey Access key - */ - void setAccessKey (final String accessKey); - - /** - * Getter for created timestamp - *

- * @return Created timestamp - */ - Calendar getOrderCreated (); - - /** - * Setter for created timestamp - *

- * @param created Created timestamp - */ - void setOrderCreated (final Calendar created); - - /** - * Getter for customer instance - *

- * @return Customer instance - */ - Customer getCustomer (); - - /** - * Setter for customer instance - *

- * @param customer Customer instance - */ - void setCustomer (final Customer customer); - - /** - * Getter for order id - *

- * @return Order id - */ - Long getOrderId (); - - /** - * Setter for order id - *

- * @param id Order id - */ - void setOrderId (final Long id); - - /** - * Getter for list of ordered basket items - *

- * @return List of items - */ - List getOrderedItems (); - - /** - * Setter for list of ordered basket items - *

- * @param orderedItems List of ordered items - */ - void setOrderedItems (final List orderedItems); - - @Override - boolean equals (final Object object); - - @Override - int hashCode (); - -} diff --git a/src/org/mxchange/jshopcore/model/order/ShopOrder.java b/src/org/mxchange/jshopcore/model/order/ShopOrder.java deleted file mode 100644 index a11b733..0000000 --- a/src/org/mxchange/jshopcore/model/order/ShopOrder.java +++ /dev/null @@ -1,175 +0,0 @@ -/* - * Copyright (C) 2016 Roland Häder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.mxchange.jshopcore.model.order; - -import java.util.Calendar; -import java.util.List; -import java.util.Objects; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.persistence.Transient; -import org.mxchange.jcustomercore.model.customer.Customer; -import org.mxchange.jshopcore.model.basket.AddableBasketItem; - -/** - * An entity class for shop orders - *

- * @author Roland Häder - */ -@Entity (name = "orders") -@Table (name = "orders") -@SuppressWarnings ("PersistenceUnitPresent") -public class ShopOrder implements Orderable { - - /** - * Serial number - */ - @Transient - private static final long serialVersionUID = 19_728_938_459_834L; - - /** - * Access key - */ - @Basic (optional = false) - @Column (name = "access_key", length = 100, nullable = false, unique = true) - private String accessKey; - - /** - * Customer instance - */ - @JoinColumn (name = "customer_id", nullable = false, updatable = false) - @OneToOne (targetEntity = Customer.class, cascade = CascadeType.REFRESH, optional = false) - private Customer customer; - - /** - * Created timestamp - */ - @Basic (optional = false) - @Temporal (TemporalType.TIMESTAMP) - @Column (name = "order_created", nullable = false) - private Calendar orderCreated; - - /** - * Order orderId - */ - @Id - @GeneratedValue (strategy = GenerationType.IDENTITY) - @Column (name = "order_id", length = 20) - private Long orderId; - - /** - * Item list, don't save this - */ - @Transient - private List orderedItems; - - @Override - public boolean equals (final Object object) { - if (this == object) { - return true; - } else if (null == object) { - return false; - } else if (this.getClass() != object.getClass()) { - return false; - } - - final Orderable other = (Orderable) object; - - if (!Objects.equals(this.getAccessKey(), other.getAccessKey())) { - return false; - } else if (!Objects.equals(this.getCustomer(), other.getCustomer())) { - return false; - } else if (!Objects.equals(this.getOrderId(), other.getOrderId())) { - return false; - } else if (!Objects.equals(this.getOrderedItems(), other.getOrderedItems())) { - return false; - } - - return true; - } - - @Override - public int hashCode () { - int hash = 7; - hash = 61 * hash + Objects.hashCode(this.getAccessKey()); - hash = 61 * hash + Objects.hashCode(this.getCustomer()); - hash = 61 * hash + Objects.hashCode(this.getOrderId()); - hash = 61 * hash + Objects.hashCode(this.getOrderedItems()); - return hash; - } - - @Override - public String getAccessKey () { - return this.accessKey; - } - - @Override - public void setAccessKey (final String accessKey) { - this.accessKey = accessKey; - } - - @Override - public Customer getCustomer () { - return this.customer; - } - - @Override - public void setCustomer (final Customer customer) { - this.customer = customer; - } - - @Override - public Calendar getOrderCreated () { - return this.orderCreated; - } - - @Override - public void setOrderCreated (final Calendar orderCreated) { - this.orderCreated = orderCreated; - } - - @Override - public Long getOrderId () { - return this.orderId; - } - - @Override - public void setOrderId (final Long orderId) { - this.orderId = orderId; - } - - @Override - public List getOrderedItems () { - return this.orderedItems; - } - - @Override - public void setOrderedItems (final List orderedItems) { - this.orderedItems = orderedItems; - } - -} diff --git a/src/org/mxchange/jshopcore/model/order/items/OrderItem.java b/src/org/mxchange/jshopcore/model/order/items/OrderItem.java deleted file mode 100644 index 4e79768..0000000 --- a/src/org/mxchange/jshopcore/model/order/items/OrderItem.java +++ /dev/null @@ -1,163 +0,0 @@ -/* - * Copyright (C) 2016 Roland Häder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.mxchange.jshopcore.model.order.items; - -import java.util.Objects; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Index; -import javax.persistence.JoinColumn; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.persistence.Transient; -import org.mxchange.jshopcore.model.basket.AddableBasketItem; -import org.mxchange.jshopcore.model.basket.items.BaseItem; -import org.mxchange.jshopcore.model.product.GenericProduct; -import org.mxchange.jshopcore.model.product.Product; - -/** - * A general basket item - *

- * @author Roland Häder - */ -@Entity (name = "ordered_item") -@Table ( - name = "ordered_items", - indexes = { - @Index (name = "product", columnList = "order_product_id") - } -) -@SuppressWarnings ("PersistenceUnitPresent") -public class OrderItem extends BaseItem implements AddableBasketItem { - - /** - * Serial number - */ - @Transient - private static final long serialVersionUID = 44_189_562_738_723_581L; - - /** - * Entry id (from database backend) - */ - @Id - @GeneratedValue (strategy = GenerationType.IDENTITY) - @Column (name = "order_id", nullable = false, length = 20) - private Long itemId; - - /** - * Item type - */ - @Basic (optional = false) - @Column (name = "order_item_type", length = 20) - private String itemType; - - /** - * Item amount - */ - @Basic (optional = false) - @Column (name = "order_amount", nullable = false) - private Long orderedAmount; - - /** - * Product instance - */ - @JoinColumn (name = "order_product_id", updatable = false) - @OneToOne (targetEntity = GenericProduct.class, cascade = CascadeType.REFRESH) - private Product product; - - /** - * Default constructor - */ - public OrderItem () { - } - - @Override - public boolean equals (final Object object) { - if (this == object) { - return true; - } else if (null == object) { - return false; - } else if (this.getClass() != object.getClass()) { - return false; - } - - final AddableBasketItem item = (AddableBasketItem) object; - - if (!Objects.equals(this.itemType, item.getItemType())) { - return false; - } else if (!Objects.equals(this.orderedAmount, item.getOrderedAmount())) { - return false; - } - - return Objects.equals(this.product, item.getItemProduct()); - } - - @Override - public int hashCode () { - int hash = 3; - hash = 53 * hash + Objects.hashCode(this.getItemType()); - hash = 53 * hash + Objects.hashCode(this.getOrderedAmount()); - hash = 53 * hash + Objects.hashCode(this.getItemProduct()); - return hash; - } - - @Override - public Long getItemId () { - return this.itemId; - } - - @Override - public void setItemId (final Long itemId) { - this.itemId = itemId; - } - - @Override - public Product getItemProduct () { - return this.product; - } - - @Override - public void setItemProduct (final Product product) { - this.product = product; - } - - @Override - public String getItemType () { - return this.itemType; - } - - @Override - public void setItemType (final String itemType) { - this.itemType = itemType; - } - - @Override - public Long getOrderedAmount () { - return this.orderedAmount; - } - - @Override - public void setOrderedAmount (final Long orderedAmount) { - this.orderedAmount = orderedAmount; - } - -} diff --git a/src/org/mxchange/jshopcore/wrapper/CheckoutWrapper.java b/src/org/mxchange/jshopcore/wrapper/CheckoutWrapper.java deleted file mode 100644 index 8dd12b4..0000000 --- a/src/org/mxchange/jshopcore/wrapper/CheckoutWrapper.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (C) 2016 Roland Häder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.mxchange.jshopcore.wrapper; - -import java.util.List; -import org.mxchange.jcustomercore.model.customer.Customer; -import org.mxchange.jshopcore.model.basket.AddableBasketItem; - -/** - * A wrapper for checkouts (customer, ordered items) - *

- * @author Roland Häder - */ -public class CheckoutWrapper implements WrapableCheckout { - - /** - * Serial number - */ - private static final long serialVersionUID = 94_358_758_475_481_781L; - - /** - * Customer instance - */ - private Customer customer; - - /** - * List instance - */ - private List list; - - /** - * Default constructor - */ - public CheckoutWrapper () { - } - - @Override - public Customer getCustomer () { - return this.customer; - } - - @Override - public void setCustomer (final Customer customer) { - this.customer = customer; - } - - @Override - @SuppressWarnings ("ReturnOfCollectionOrArrayField") - public List getList () { - return this.list; - } - - @Override - @SuppressWarnings ("AssignmentToCollectionOrArrayFieldFromParameter") - public void setList (final List list) { - this.list = list; - } - -} diff --git a/src/org/mxchange/jshopcore/wrapper/WrapableCheckout.java b/src/org/mxchange/jshopcore/wrapper/WrapableCheckout.java deleted file mode 100644 index cd69138..0000000 --- a/src/org/mxchange/jshopcore/wrapper/WrapableCheckout.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (C) 2016 Roland Häder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.mxchange.jshopcore.wrapper; - -import java.io.Serializable; -import java.util.List; -import org.mxchange.jcustomercore.model.customer.Customer; -import org.mxchange.jshopcore.model.basket.AddableBasketItem; - -/** - * An interface for checkout wrapper - *

- * @author Roland Häder - */ -public interface WrapableCheckout extends Serializable { - - /** - * Getter for customer instance - *

- * @return Customer indstance - */ - Customer getCustomer (); - - /** - * Setter for customer instance - *

- * @param customer Customer instance - */ - void setCustomer (final Customer customer); - - /** - * Getter for a List of AddableBasktem instances - *

- * @return List with AddableBasketItem instances - */ - List getList (); - - /** - * Setter for a List of AddableBasktem instances - *

- * @param list List with AddableBasketItem instances - */ - void setList (final List list); -} -- 2.39.5