From 1dc3ca885e3ebcdae14c7676c9d73e556d6a59c7 Mon Sep 17 00:00:00 2001 From: felix xia <125861688@qq.com> Date: Wed, 16 Sep 2020 16:00:20 +0800 Subject: [PATCH] refactory 3d-rotation css file read way --- .../fr/plugin/easyslides/CssFileLoader.java | 5 +- .../slidestyles/Rotation3DStyle.java | 306 ++---------------- .../fr-plugin-widget-easyslides-1.0.zip | Bin 114231 -> 112905 bytes 3 files changed, 32 insertions(+), 279 deletions(-) diff --git a/src/main/java/com/fr/plugin/easyslides/CssFileLoader.java b/src/main/java/com/fr/plugin/easyslides/CssFileLoader.java index 370bd2b..36c4f61 100644 --- a/src/main/java/com/fr/plugin/easyslides/CssFileLoader.java +++ b/src/main/java/com/fr/plugin/easyslides/CssFileLoader.java @@ -5,6 +5,9 @@ import com.fr.stable.fun.impl.AbstractCssFileHandler; public class CssFileLoader extends AbstractCssFileHandler { @Override public String[] pathsForFiles() { - return new String[]{"/com/fr/plugin/resources/web/impress-default.css"}; + return new String[]{ + "/com/fr/plugin/resources/web/impress-default.css", + "/com/fr/plugin/resources/web/3D-rotations.css" + }; } } diff --git a/src/main/java/com/fr/plugin/easyslides/slidestyles/Rotation3DStyle.java b/src/main/java/com/fr/plugin/easyslides/slidestyles/Rotation3DStyle.java index 095f1ea..fe1cbd8 100644 --- a/src/main/java/com/fr/plugin/easyslides/slidestyles/Rotation3DStyle.java +++ b/src/main/java/com/fr/plugin/easyslides/slidestyles/Rotation3DStyle.java @@ -1,5 +1,11 @@ package com.fr.plugin.easyslides.slidestyles; +import com.fr.log.FineLoggerFactory; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; import java.util.List; /** @@ -36,286 +42,30 @@ public class Rotation3DStyle extends SlideStyle { r.append("\n"); } r.append(""); return r.toString(); } - private static final String css = - "/* Fallback message */\n" + - "\n" + - ".fallback-message {\n" + - " font-family: sans-serif;\n" + - " line-height: 1.3;\n" + - "\n" + - " width: 780px;\n" + - " padding: 10px 10px 0;\n" + - " margin: 20px auto;\n" + - "\n" + - " border: 1px solid #E4C652;\n" + - " border-radius: 10px;\n" + - " background: #EEDC94;\n" + - "}\n" + - "\n" + - ".fallback-message p {\n" + - " margin-bottom: 10px;\n" + - "}\n" + - "\n" + - ".impress-supported .fallback-message {\n" + - " display: none;\n" + - "}\n" + - "\n" + - "\n" + - "/* Body & steps */\n" + - "body {\n" + - " font-family: 'PT Sans', sans-serif;\n" + - " min-height: 740px;\n" + - "\n" + - " background: #00000f;\n" + - " color: rgb(102, 102, 102);\n" + - "}\n" + - "\n" + - ".step {\n" + - " position: relative;\n" + - " width: 700px;\n" + - " height: 700px;\n" + - " padding: 40px 60px;\n" + - " margin: 20px auto;\n" + - "\n" + - " box-sizing: border-box;\n" + - "\n" + - " line-height: 1.5;\n" + - "\n" + - " background-color: white;\n" + - " border-radius: 10px;\n" + - " box-shadow: 0 2px 6px rgba(0, 0, 0, .1);\n" + - "\n" + - " text-shadow: 0 2px 2px rgba(0, 0, 0, .1);\n" + - "\n" + - " font-family: 'Open Sans', Arial, sans-serif;\n" + - " font-size: 40pt;\n" + - " letter-spacing: -1px;\n" + - "\n" + - "}\n" + - "\n" + - ".notes {\n" + - " display: none;\n" + - "}\n" + - "\n" + - "/* Overview step has no background or border */\n" + - "\n" + - ".overview {\n" + - " background-color: transparent;\n" + - " border: none;\n" + - " box-shadow: none;\n" + - " pointer-events: none;\n" + - " display: none;\n" + - "}\n" + - ".overview.active {\n" + - " display: block;\n" + - " pointer-events: auto;\n" + - "}\n" + - "\n" + - "/*\n" + - " Make inactive steps a little bit transparent.\n" + - "*/\n" + - ".impress-enabled .step {\n" + - " margin: 0;\n" + - " opacity: 0.1;\n" + - " transition: opacity 1s;\n" + - "}\n" + - "\n" + - ".impress-enabled .step.active { opacity: 1 }\n" + - "\n" + - "\n" + - "/* Content */\n" + - "\n" + - "h1, \n" + - "h2, \n" + - "h3 {\n" + - " margin-bottom: 0.5em;\n" + - " margin-top: 0.5em;\n" + - " text-align: center;\n" + - "}\n" + - "\n" + - "p {\n" + - " margin: 0.7em;\n" + - "}\n" + - "\n" + - "li {\n" + - " margin: 0.2em; \n" + - "}\n" + - "\n" + - "/* Highlight.js used for coloring pre > code blocks. */\n" + - "pre > code {\n" + - " font-size: 14px;\n" + - " text-shadow: 0 0 0 rgba(0, 0, 0, 0);\n" + - "}\n" + - "\n" + - "/* Inline code, no Highlight.js */\n" + - "code {\n" + - " font-family: \"Cutive mono\",\"Courier New\", monospace;\n" + - "}\n" + - "\n" + - "\n" + - "a {\n" + - " color: inherit;\n" + - " text-decoration: none;\n" + - " padding: 0 0.1em;\n" + - " background: rgba(200,200,200,0.2);\n" + - " text-shadow: -1px 1px 2px rgba(100,100,100,0.9);\n" + - " border-radius: 0.2em;\n" + - " border-bottom: 1px solid rgba(100,100,100,0.2);\n" + - " border-left: 1px solid rgba(100,100,100,0.2);\n" + - "\n" + - " transition: 0.5s;\n" + - "}\n" + - "a:hover,\n" + - "a:focus {\n" + - " background: rgba(200,200,200,1);\n" + - " text-shadow: -1px 1px 2px rgba(100,100,100,0.5);\n" + - "}\n" + - "\n" + - "blockquote {\n" + - " font-family: 'PT Serif';\n" + - " font-style: italic;\n" + - " font-weight: 400; \n" + - "}\n" + - "\n" + - "em {\n" + - " text-shadow: 0 2px 2px rgba(0, 0, 0, .3); \n" + - "}\n" + - "\n" + - "strong {\n" + - " text-shadow: -1px 1px 2px rgba(100,100,100,0.5);\n" + - "}\n" + - "\n" + - "q {\n" + - " font-family: 'PT Serif';\n" + - " font-style: italic;\n" + - " font-weight: 400; \n" + - " text-shadow: 0 2px 2px rgba(0, 0, 0, .3);\n" + - "}\n" + - "\n" + - "strike {\n" + - " opacity: 0.7;\n" + - "}\n" + - "\n" + - "small {\n" + - " font-size: 0.4em;\n" + - "}\n" + - "\n" + - "\n" + - "/*\n" + - " This version of impress.js supports plugins, and in particular, a UI toolbar\n" + - " plugin that allows easy navigation between steps and autoplay.\n" + - "*/\n" + - ".impress-enabled div#impress-toolbar {\n" + - " position: fixed;\n" + - " right: 1px;\n" + - " bottom: 1px;\n" + - " opacity: 0.6;\n" + - " z-index: 10;\n" + - "}\n" + - ".impress-enabled div#impress-toolbar > span {\n" + - " margin-right: 10px;\n" + - "}\n" + - "\n" + - "/*\n" + - " With help from the mouse-timeout plugin, we can hide the toolbar and\n" + - " have it show only when you move/click/touch the mouse.\n" + - "*/\n" + - "body.impress-mouse-timeout div#impress-toolbar {\n" + - " display: none;\n" + - "}\n" + - "\n" + - "/*\n" + - " In fact, we can hide the mouse cursor itself too, when mouse isn't used.\n" + - "*/\n" + - "body.impress-mouse-timeout {\n" + - " cursor: none;\n" + - "}\n" + - "\n" + - "\n" + - "\n" + - "/* Progress bar */\n" + - ".impress-progressbar {\n" + - " position: absolute;\n" + - " right: 118px;\n" + - " bottom: 1px;\n" + - " left: 118px;\n" + - " border-radius: 7px;\n" + - " border: 2px solid rgba(100, 100, 100, 0.2);\n" + - "}\n" + - ".impress-progressbar DIV {\n" + - " width: 0;\n" + - " height: 2px;\n" + - " border-radius: 5px;\n" + - " background: rgba(75, 75, 75, 0.4);\n" + - " transition: width 1s linear;\n" + - "}\n" + - ".impress-progress {\n" + - " position: absolute;\n" + - " left: 59px;\n" + - " bottom: 1px;\n" + - " text-align: left;\n" + - " font-size: 10pt;\n" + - " opacity: 0.6;\n" + - "}\n" + - "\n" + - "/* Help popup plugin */\n" + - ".impress-enabled #impress-help {\n" + - " background: none repeat scroll 0 0 rgba(0, 0, 0, 0.5);\n" + - " color: #EEEEEE;\n" + - " font-size: 80%;\n" + - " position: fixed;\n" + - " left: 2em;\n" + - " bottom: 2em;\n" + - " width: 24em;\n" + - " border-radius: 1em;\n" + - " padding: 1em;\n" + - " text-align: center;\n" + - " z-index: 100;\n" + - " font-family: Verdana, Arial, Sans;\n" + - "}\n" + - ".impress-enabled #impress-help td {\n" + - " padding-left: 1em;\n" + - " padding-right: 1em;\n" + - "}\n" + - "\n" + - "\n" + - "/* Styles specific to each step */\n" + - "\n" + - "#overview2 {\n" + - " font-size: 20pt;\n" + - " padding-left: 200px;\n" + - " text-align: right;\n" + - "}\n" + - "\n" + - "\n" + - "/*\n" + - " And as the last thing there is a workaround for quite strange bug.\n" + - " It happens a lot in Chrome. I don't remember if I've seen it in Firefox.\n" + - "\n" + - " Sometimes the element positioned in 3D (especially when it's moved back\n" + - " along Z axis) is not clickable, because it falls 'behind' the
\n" + - " element.\n" + - "\n" + - " To prevent this, I decided to make non clickable by setting\n" + - " pointer-events property to `none` value.\n" + - " Value if this property is inherited, so to make everything else clickable\n" + - " I bring it back on the #impress element.\n" + - "\n" + - " If you want to know more about `pointer-events` here are some docs:\n" + - " https://developer.mozilla.org/en/CSS/pointer-events\n" + - "\n" + - " There is one very important thing to notice about this workaround - it makes\n" + - " everything 'unclickable' except what's in #impress element.\n" + - "\n" + - " So use it wisely ... or don't use at all.\n" + - "*/\n" + - ".impress-enabled { pointer-events: none }\n" + - ".impress-enabled #impress { pointer-events: auto }\n" + - ".impress-enabled #impress-toolbar { pointer-events: auto }\n" + - ".impress-enabled #impress-console-button { pointer-events: auto }\n"; + private String getCss() { + StringBuilder sb = new StringBuilder(); + InputStream is = Rotation3DStyle.class.getResourceAsStream("/com/fr/plugin/resources/web/3D-rotations.css"); + try { + BufferedReader bf = new BufferedReader(new InputStreamReader(is)); + String s = ""; + while ((s = bf.readLine()) != null) { + sb.append(s); + } + } catch (Exception e) { + FineLoggerFactory.getLogger().error(e.getMessage()); + } finally { + try { + is.close(); + } catch (IOException e) { + FineLoggerFactory.getLogger().error(e.getMessage()); + } finally { + return sb.toString(); + } + } + } } diff --git a/超酷幻灯片/fr-plugin-widget-easyslides-1.0.zip b/超酷幻灯片/fr-plugin-widget-easyslides-1.0.zip index 3fcb8606eead459e3a73c2dbe49f1f48bae0493b..f063f6dddf413cbf32f3267ea40fb4635d3e4bda 100644 GIT binary patch delta 82689 zcmV(%K;pl*{052g1`SY40|W{H00;m8NPjSq4LcJ^e=t$G%q~*=v;hDp%mDyH02GlO zA(4D1e<;iW000000Q|H8000000F-+Jlw@0$cG|WpZQHhO+cql|Y1?+CZQHh0mA0xf z^RJ%nnd$dt`c40_)`_^W*0*=u*!$c2-0z%w6=gudV1R(2fPf?e7?ptj=>-i01|%n@ zDnutGFV65W0R*J@4=5Cn#BXRaq@9TFZY$17gCfAU)Xe9H__osg(mlVD1-)E@f3&ziYpJDs zhMS?%j8!>O4H!538(y@jGaTCN^TEs6)f(hJR;rL=0?x)_;>sI0v8?xmN1QX5X4`OrOxoHehl z5C}CGP-7$4FwF $&JVEeVEH%tUvgDhet%u4wYA-OFVcawI9 z;6>n(xQr5h;RePTiBC3y@rT#@`1%Q5Fu^pCRkTrblbE`6qJT`~33`f$71L5c(adga z2X{mwMTh+HbO9#LpE)fiU{Z&Y8_tPtM|`GAd@ps0W)3w24Is6lf57F~z}oRDNoW<= zF(doz-b&bOXd;2iG144ui={c@$u%ro>{r{P_#;=bAp9pde|IpT-+X2KE3Ud(F$lT2 zIw;y2d5M`?{q9}=*m#MbmLFt<8@;?LGPwxu- Z60(R19XpgrLtRVZAO+d;%_D$6-J| z%S8Ya_LwBWcBDz=ofvbN&GSpptVnU%2PrTMp(~l3KLj{%MYX}KFItoM@=Vh-55Qo@ zjs#$b@FVM+e~Ud0Y~mJc;|}t*$S6A$r75^*0(G+_l=a1Le{`Ejq=YRo4$A5-pbs_5 zFm0SV6B~LSRemOuZGc0MYF9l^9u2xQ6})Cvas*7PkCbk;MyXN|H>-V2U;jG$wDn4d z)2qVL4HjXU)&OO6NPQyr0_A3klivX{fCcI&Tc =eM$s7{4oow^t#{CA%K945P*PK|Bo#E`L0wosejy;s{ZPNCWiI_ zAeFUX326(IL_$(^OadYa3x` wSM#5?c6=T3i#;!Me#MJf32{HCggHWCBkkEcYxpZ+> hdtf|GJAfrxf2zX;$rOQ8lS2h(F!;Nlp0CvLC?58)ITc`FX7 z0A<*@fAhDrgD!BhEM0v!#Dg+$3}H7g`pdVOv8!%f1qBP3MgC=E7a@R=nl>I&1aEWU z;_6}(a+Xvpski*%tnT?-kQS}MUv{Y`ug}(+U#RNfJ9grwcp jHF*93otF0vQ#9WzY@>WFF4IgQ}OALz`wI} zO~DVa9OmwUF>gM3_}EK(eypKUK*PC3kBCiBFf4HIEX~DZCN;1~O)`Ni#Ff}Z6=&eH zf5uc;(W5|INkj#<-n7Jez;#7EvwovRw$|y8FuFPb9Y~ceV`I%&T=pcsH1FcHst0%` z0zy*c*L`jMCZx_hcl#h;=K3UF*7_(oP4-l>3v`>62t&&bSwQm+Vc`?b<(is;inpSE z!etMq;ZPgfkCYX@PxP(6jP$j>#183Ae@aF*kkJ*3deDq@RAAxTNx`{L(4%noaNL0U zv(}+1!DpSslUK$dqu+sU%|L+)>|5aXV!fcB7E_$E(bBB!&iE0iJmIu`-DS1SW@|(% z!&^jCs0o7C9U_CLo$*U>?PdbiidLDX>`50OpKJ*^)BM`?l&OtgH^&4ESx%9df1Blm zVpl`wp^iSOk-Q?cmu&NzkKi t|zrTPA7Md~ofG zFEHEgj4=ZgavOc^u40r%pCNT{a_(Bb>}J=WBb5eoP}IN#Xx|o*NCu!cR!so6=#_C( zu~T&khhi+9@n_6WSg9L)t0)t!f0FjHPxPj&R-cSY*cRfZ$(IqY1X^Y?+Vjv|sWYpA z+ 9 z62>`v)7;gd)?qyvM4TA)&bja-9Bo%-F;p5aVrjAcr|jT?B$HkR$&mbNqr6hEW9Kk= z>v!?TAM`PzWPZr=h>8Q>URbU5ejp{F@(TH_BV}|HmK|U+dhhl*Nq=p~Ph`E2xlO_* zN+C$qSq3&=ZbXOl5clC`e_e8wD;uN9UJI5GwlgIcZ)akuY~cEVRzm#4`S4D;LtE8? z7ia?2Rote{DRmV(gKJS~B9~SoYf`^5=joeb)^tfTW`8k_8gm(L%hmSeaXm7f)x*|C zT_)-2Oj1_~56Ljbl#;s|_2D&!$=TD=T!5Pe>@t&tp3I%Cl>wiRe>QJi+;NsAe~Lwv zosDJe111e^{j#DlV%2xK?i_-9oRe`#xakQic?G7o)`dz8vj<>rlf@0EDIP>hN!*S5 zuPRNM5++@@#1kJQ`y ~jD-%-RiEpf zXuCpiHmZrv;1j7&fA{Oa<_ v9MU?{LPFu@wj??n=0?Jcp(wK4dj$vd13pql1kdoZL*%s)ssQ zO&qLf8ng> ?MqQkiP0HKc;;eeFC!YpG6vZV D0#+8B#QWxX3R!T@)=Hde6Zb4 DK7X{g_Y^}&b(L?@h79aXu z-`$M+ADdxuKqv7W^I=S&hvdW?c`S}QqIf3Ix^o|e?5G>EnPbFdlcjL7S&~NNf$OBk zZKhvYic?__uWB(SZAzS*H4P;(Ifh~T_4b#&q?+++e{(G)`E~WUC=Dl {otr{;)!&L5-4v>+#yN64+ 6L`MH zyk{4dfA&yO?5?X-ms96^qhJSXH`-h>!;64y4jY2>1a4zg7CPBhIGr6@)n>le5sKSp zwU1%X5{<9kM9Lw$sn!d y~rVz2jxt 7~3f4TRI@%LE*y5h(W`t6PfQ<*m3bro*_ zxf0!5bHkQ89O|c7WMAO`IXr0C lXSzJH-4}m@eGal!8i1y zf0x3}HGXU;*Dd~{&o|BlUsFL}eC_-??>W9w{`%l03&}b8Tj-cZI>byJL%Jx4ML+`< z6c^C=1N4Ar*p46h3-BMQ%IlLlE&2PpR1oC<*ctjys=A08xf-eb$HQlTCoCz`Kdy_E z gKh;6y06qJwK~jo6a!Kt#1H$w?8Pz9 z(ChOVCbca7$jW%;et-LT0h{aB2S-@pO-Ax8H{KowMA2cg0myiiOXtlwufoPdc1wQo z=OUz>D5q1PR!QRUtNF(3U=BnIG0TapM 6p@U|E^w@DM>e|qW% zCaxsE7er${Wxdy@M@ZNcBojDuC2icj+A%cV&si&kIT=Gal3h|p=-U1)HyjO%YKYVG zB(-(Yjv*;@sc4q%tY;L*0T7Z5no!TyI*c+m!9DiAJf_qq24QnYt(sG^vsmRqiCC4h zU9z7o^`LyO?++qO64#@f`_@Ntf6c7L#%)1R>-GY(;w`d|y-tX)`8sU7kZUwijalb` zb{Y<%Zsqn}2P{M|cYfUA2K0~lQJ_3hsQjH9VDSG# ;CFlyq6GxbB-VlovQSI1TlJC#UF`1PmNH zPNZ@pbuAkezj|HG9(3^2h*OAx^$j5su*kw;tf3}#mi=P+D}W57^9pOAL1dNV$*YLW zoy0%RQ3oz~v&AHg0So2re~!OBO*d+bMWV|{hZijYG`PdZ7>1!qk3#V#nFv3ekzMZW zSj2xQ2EyZPq%&B=2%y8PT#Dj+f3I`ZeF_ObP;!n*kNS4^$qz>oLfITNXXnmhntlfS z>SUR`ReH)jkf4~7RSFfPTd!%lHs>?!9izToYV75RqxeD0sNJFzf6=zedxYM4oaOYI zTm*oZwMidf9W)Q<%-nLf=68TOTx+4MZVLz`8tiJopL9R#CS9%l^t4yw&swaDuz+i? z@ <24+&}s zG^*!Gp%8bJH82Y&$;2)Cf+kl{6VT E4LR<-k5@rW1+l4kcPgooe XASjMadY+gc7`1V}6dkTi8D@6z>-5kYz@i{`x2W z|Lv(*UmBu9e-8p6AU8rFAg=%KhjmS@TpWK3X?jO{i)t?qMb+7sD*}iJk;Htk2pCF2 zuG44~aMDpCI4%n?2vQ5x1~8#SFd;)QacAXm6!UmIQb`Of@daN0vYnrYT^+6V%hiol z9qNzTKXsP7-LIG5tL5hwl_*Gz2!VmVUPJ&Q`GLNEe+|Gv?vJUvsc`K=eqj`|69cl8 zB f&nQ0`F&9^gZC(!LmH&Kv;*d*_OzCn`9PfaMuqLRvGvg 2ve|)68`0#@K{N(cD xlc2({hxe>H{TzR-~}(ge02bl zg|R+A?>oIdgyZDy a+1@Hzt@UHqiF^ Ecq! b&|9^L@2hsU9AE|tL&%0d*zByFoB*Eb zQ*|hs>rPE!2FA6B2&pi!S#*i 4QJHp?`246gS-;<~%)tyH?TgGv5f7 z$Z?WMjvT%;le|t`!>}9^N!BNQKla{zU;1@is5k{m?o~g;=H@1JTL>^*<`6+_oAK)r zQ`;4g#)+6wlPn`nKp`hqB#%7b-te>bIr;i9aY=#NdKZlze%6*c*?Uj4HMz}&e_32o z)s4~NdhFBA#zgu37ZWC^4eRmrOerz*f<+4TV)WouDk__#cRj2I-#ya%%G>y&kbA-z zONbi@x3Rr~@3iKXv`ZE6U2ID!%tNXA^u`5`tLkSZ2fZ6M_N~N+rAJ~f8RsDMXU@)Q ztGC7vz8r5nvp2Ig(v1?yx))~Ye=E+pb5+)4g%0HqTk*WXW#l&BmX>ih&it$n<_`on z)(>VoH;z>g0s9fMA fau!ldO;*XhKZ$!Gb)~+i3=`VO&w_MRNAt;49ueUa|B3WESGxr|}?8e?Ns12=End zOAPzqZ>Ar>>*B|1^2I;(^EdAB_oeX>JX9Vhu3h8WxY#_Y7hQ9JVsRJ4&f34YIJn#A zbvq0rS`)|QU;|fDS=Gy7C+8?>$zb4MX~d SO2n6)*Q7z z>ShtrP~W{`bRc^A?gkr+f8-I?`+gJ5t|e26r?Y!aO+oM3vK*yj(Uy=V6c9@dHdF$t z(UuaDGo=X>c}Zgnx;nojHY#)Lm`4?blb0#A`XN8cIb%stw_N}DEIznw9C3Voxo*=V z#;G57PIvk4tz%RsI#;kG*hAq``|@aIaSby;T?f>&sX^8AT#q3Ne}%^ *_CpL3LRUkCH^aJXVrrcn_6nEIM* TB<~Klc`oGQlA`7X>=x8|JSR3eBd@)= z9?TC;3i%d`!H+Rm%9~OIjb58|#V?icPiHZaLYS*0)PjQunOr1IK{)_9O0}P)MQ2-ccm7Uhe|~ynoMk+kdV%Xp4%>H0 zQZtlYxJZoO%?9yFY~=B4KknoS@{dj|3SeB~r!i~a7w`~qo1cT6$+4ki5KdunBC)`} zB%|wWFAuos%N(A-f{L9I$y*8<1EnF4F5o(~Bkv>fRN5&wwDDk*053q$ztcieF%0Lv zWUWeUDNw1l|8$HU(tlyOe7?{l<4Bk&%{=9LC wG z;|*lF*_x+ycw}R0e93pogaO@z6T{e=dG|T5Zh8UWcwC}EJlUYREYo#<9p-oF?aUjP zx3Ej_lii9}WPf0Nl1jT6hE@1@XJB)gVZhe5dZJ0eIlwgn1-TR3fwRB1LNpI7lf|+c zPYxk5-WgTlp%(FATk4)E-PF )o8hlg+kb5x4Mp~&+1EW!WWLKR@>AJo z>v%7w(JspI06o2pnB< z!{bWAA||!y9lJSBdp1W@m^5t(`6 ulZWyUQQ@-fCvvg4ntG!EC-r=prqnfm5Iew#jWvk_74h}mXPvV%8+YAI5 z27eXSFZQLr(%k8ZiH8m$=Vuh@I{xe}sDdL>m&UUnVMv~pC!Sd-A=RUd-OUnQ;`7Lc zMfq>qCwg-P%ntRl()$Nrma8!WMu39%Gx{WW4Ff8-=7{U$kt1u9j_=DTgwmjNe*2$B zK63-EUz-M;e$!I#Oz_2s^p02UzS$nk$A9=AW6BlG6h--LizushcTeMT_Ik=3Oa-S0 z95K#;eI&)sDRt~w3V`~Tii*Fj?Y}7dZ!u+=VpR$W@<`l;{6*_Uvs5XGNm~+kp=ofg zU%yX0U01i?6PoCCHCPy$*=_PR_hG$Bp|zk*F|k07?7OBWTDmpyf@AnQoS}C!FMrs* ze;(l?vaC~hlAI4+!M(Z8OD0WcY>fD3*8}1m!oqh7*%K}#&werdtdfPmG?~1(x4zK5 z+h^qn(`N=(#L&d2xl2c}rqAheQS5Ww99uS?A9263;Qw}XaPCu??-rVgNAT|ZaGiy$ z4~n?k;d9y#UMeq<98N)r54>k^A+`&K=Hm%q(KTRUB zb4>(rEcZ;imBF3mMj$~UGd%k&vi=pfC{}@DF{^O}`z&j=roIqsK=qz}5iKM5Y*Psb zHU#U|Oaq-?<>=6oER@Y*sdrAu8USGchVHE!611tDdRm(yX-)oXWq&fA;a(@1WX#)J zTSb=CC#Hq*8Ly1?<~0ebfAE_S>hTC8Id{gZlh WPB=nz?4Ab+`mEi-VBSSDSBA$#3!|{CN=nQQPPxp zAe}IJ@s6@tAP2OHbAJK~RDn=8GjD8eBID)hlRum0RK}Omop>o(`z)FG!KGP}!5iQH zF1}6?4G~E7vUdd*E`a2NH;)!K8Bi^ngzv%#ajH}@r>ru9q(}mzy}tpZ5L27ux0Bwc z_;WNJqJ2oMbD&3kdf3*}d+0+ArMb<*B*c2EihJJRqfz%$Af3f{qdH;`XyD 0hA1lvxEr4PIBxrqxAWXvRg2Dg zWDuB(%Nm1sw|~gZgu#vrOxrNVNDgi}P^{nELw4x0oxTi;A)9*sv<=#Om{BBTrPm`z z@{C*GMkBAg*Oa1_G>OjP4&Q6={xdfjYQK*ztlmxfSMb@C7gPH$>5=t~qs3;geuP+Q z#J7)I FeAX;Hj3%oki}LF#xfL-yZkWk4z6RO9^@5 z;jx8%B7d}Jdq}2_bZ !3{bk{0Djn=GJ B{_1C@ozQMGkcNNUY555wXZ3GuLEL0Pu zn0)N?XP-6}JM7Bb#*?Fw+@?(wvPv#}133B($$zL!h{M|9xf_8Bc&vT9j3MG34p#EQ zz?Q@7lVi@K;2i?Lt}Dj|vG}apiB&{l yEAp_p)k zYiw+;9GA0 qh1G~p z7OsgsTo87MC{4yiaCiXb bKJ*3xdIkL(9=MrcY25o-N^I+00ab zQ;xN$=$WmTGjpttk3e+F$X<+Tp}1tZGLvoA y@Bsheq>t7u<-XKG&VPZ- zv>}iZT4p43OFTaRmd|QNag`CaO!lL=la_OFWo8Wi5oI;IWNc71J8b+`>CHdHKNO+n zjcK=D>{KR2m04&-cO{D2WtZXcB-YW+gX#~PQ`ek`WoFQNC&@uMXd5-{_en&r`foiU zM;)UUT=$ScvI|mVm)xvRY?NmiRew<6jGW1@aa=^V<=<}MX8BIL4fGKGgWID_W~&O; zRBUnSYBB=dIp0EFx~^ MF%bf^-uy1N4KPJ{HByXQA=$3aev|lKL7kS z2*XeTC!4zFZsiY6&-JIYDyOUAR-yG=(ed*1lD=4}VF&G_?~YlFd37uN_PJ>+I7*o; zY4>S2i^i^ituo^0jnKElm!Su2ZyNvR%D~{wz}czdlZoEmk?H!tIc?ARU{=o1y<8vB zmYl&_y-4m!GS#l&M&RuPRDZ$GQ$78S+p!tJe8xGg%u2-fG1}<*yPy6D+C{_?hh8Nm zFWi@J)wRD(TKc`IDfcu|a0B|kGXj#xcU8G${t~v2xnBjGw9V6leA~^)?r1iF;SW2= zv1;MQMrwuUs1xv?2Albs9Aj3hNJ~Hv^8;CjKJ;FbBi@Q!)DK5P@PCgJLG^XCL7wNV z`&Mj~jy{I+`5}I$!lhrL4k{RfLKI9ZVyYhpY3=Dwl^D`zq6pcf+ne?DG*aT4Zkzhh zN+woP{07A_WF}n{J9V*!g^AwB3ReAtSfBxRmN~$1(NeS@BFiEhc^>CZL9j@0s!rzm zW;7KlEnE|^_tsuYdt9f~B8Ie4}s)LBM0J3cydPRy$RH5yqMDEhnHG2ifo>Il)cP+Vs}Y*=P- zJxuV!Cp?$}g~Cc-NFHL%es6=VHMz^!1{_P>BQrYlR*kw#?tOE_z7QM14&SBn5fb;Q zW@r4;Nd6=00DqSfw)dxOG2%@j4zxPP6t|8aUSm#8Reza_U(tm#>pQ>5nH_YN_wLwD zQkuw@ET}{Meg-y5U7}B`T>x4WyPY)u$fj(S{c{fwgcyDqIh0l;AS3+qb_GL^e7rv6 zQ;&qo+EAa2H2Z-gYLBr}BGdmz *S@+}sHV#|&c*Ku_uJgr%`NiL=!z5ntwq}A@1lv|(}fVqKI}{ z%k`-E&{;~H)8j*P<@d#K0DHh@pGENFZbl_=xp?#0`ObbX;9WV|ZYdWL=OxzAyt=Qt zq-weSPJg1(FRaiw<5jCXnhBu2_r!2*Qp|<+>QN`fy)D#zGy?bEg(Dbv&B}IYrl04< zhbMC;VYV|&lU=v{p9T2weVu7qW#0f=aZPDOCoP6IA##vJC^T?+h$r99c8;GnMyBsp z@BO)!W6%`X_Cc_a?SN?X(W1Q*0hokM>or{!_ l(PYnZ1FL7DHNr?TBM!N;4Jn^ zXoOw}wKziBh&~dzZe@{@=Dy@K=0uq|BU#7da<{dvyb5sLv?L S!_$ zRDWYK3VLqTlyN7~yg|xlr3)u3N>sUPd%wyA?PgkOQ{nZ<%=G{1xovq#j~Dl3N@U zRl9L;sRd!Gk@NLQo=aUJG|&|FjV(zIf`4%t)(JXnRrYNcmH)?xs(sDia_b+*m;7w~ zO1S_<+XH0OaD+heyph-Sm3{N&6m{S{e}7u%k2(Bwl Vn$>!qcDW7j% zx1gOz6~Eks>RZ12auiW}dHUz3>&blF&uk~$f%10QQDFjXBGym9v9v>uqdYvv2Z83I z1&`jcrGznjzIEaTsy;bij?z)Y@~u~J@UEZaS0?kC6on!;ax0k6%F2z$^g?5H@P8F! z&H>p2RJ@#pecH^IMEBJTp6s26n{zQ*`3G}|{zKp$lB)}-p%Ka^I8640U&-?~SBc`; zkGw}t$d?#yLzd%Y1p{g6K+tTR5LbHK IrH?$P^8A^l3rX-6zFlPMH!I$$#ez_Au(ovwmjY(IY $J7a cf@mE2b^IWIo2OiyXC%LJ-?@#6nI{qvrk_rQb6|MR zZL=zYp)Q5h8v7Jvy*=;x!PS;OGsOLc0{IApi3$34rG%}YI~V2MXBmVH9D4p`FVF^n zY?u0Q)cYRoRX^|f{4>t+e1C%R!385{U@3Cr)YJ*IL>j)IUJ)ljeT8CJi-O%3qd(MA zZ*?fbCFC(Pnzzwa3kJ6@YEbK30W#GWOU3Ga Hb^U{&_>#$At y*whJ0@tg?ytc7es^}a?Y@s z+k_~`EAdz j23cxj$+D&4XC3E%v`}G& zuHf>BS$XK*QZZ{h^ZjctE}1`3n5ivs?R>#{Y;ixpd9Cr7>V&)YgEAzCVnOrIlAR8X zL6Ufihjx^h7BSZ<8EeCPkZ~w6CXoH6JXg{{WI=>EQGXFGp>dimbh>W22y=SZD3qR> zUY})PrviYAi^YDnbZ|$hbQd_dxG`m*T}F*N$$QKGFjtUu=s2n_c}b|qYEBi?s7X$F zBuj1&ouQ{oHS(d#ZO6X?55a$-$kB3gWA|Y{q&6Fr$+Bzhe* s1oHe3s#`hO(yTP)^yR9wM z$s*@{ba2|axmUZ<55B+Sl7spQajwRQO83Ttihykg17qlJx-CU5fiNg4^thAYQ&JwY z)rvI^Y4t zse^1QJ$2*q)IE>AID~{YA15lny$^9TyD_U5-Rg6bZ&=tyw@-cXZcO_dMMhU&H$O`C z`}s?$CV!r)pW^D-B7|EVWNE7=NI-G7CR@u1a3oDym-aPodCW+5Ye%UFWvZ0{EYvZ@ zU4L_gsd}ktCdTV<2h0qHbk)M8fN97url^FpY2nH6Wy!HIS$<+z{7>XP;f^nrmRCQu z;q}w#_Zv}CU8zdZAMeN60_mM~O_);Xj|CUmz$lStA0yaEVh(j$AJV**NUW2(!+V0v z_V8xyAZ63S&dSUtT9=2TN~mW)b5NSBkAIatrhbIvsi~|brSb}egZ@Zs@kU0nz5)bi z244gJd<@?0B$Vl;0wY6~jT@PI60;0QQ4d+( z0NY8;ys~~Bzp9C2L|)~hfCsLAK2z{NnQK -P2sT;ZxnpIpeqO?46HSllGI6K?WXE2)L>*i+ zP(w6?#+jEs3%*E0yllV1EeJ9l ?@dir?Zp9LqmQ2{g-EZNT5X^g6RP; zk`ul^IS@sfi`d>+7#QrYjz5w{ppWPgfm>OatJ#Te5J!|mo PrVfIA2XX4#d~BrvE(Qje}K2LA!M zvz-@y$(G@Ng(Rd6Br8-M6sY2i7?>EEmsnUASQ)|pt(>9xUo*#6SI5M#)+)-0D Iy?Nzjuxh$RKY#rtzkBtq+u`W(j`0GTO9W0()9Ld~Xvkjci1~St8)fs$=8R244j~W=c)zOY7Mt%|B|c%&1(#gw)~=c z-wxv25Tl bm$@wh@6zmwb1=K9{m)W2c+mL?kvJY@s{*3C z3$!`JuCCUQQvFWN9A*&-lX}x0sK)g4i!ptv)lyx2jM*yr-Kntp61qy!@Vb5j_kHZ1 zq`TiPTKN8cw13%IqeHJCv1*}bFuwJqLK!9Rnj)Vn)ls-}+*VBa8hgv;>c{u0jQE=9 z2!YKvKD@X*Yn-Jlfc#%rPSR1)vG^amOa5cI;Qww>^#3cQiO$~9&i;R7>zFvj#1B{w zF~Ef0h4cvN>W8s*UC!6iUYm*=j1d{qGQZHor$k?0tbYZUVrC^>7sFqCH5eaVO@@pC zkG9^=DsuO6Y9$P=d#GpdEv~X+NH#L?OKuh!4zwhL5SI>{z0z>e(5Kkr(nPPzDJJxO z&%Vt3g~s7Dv+c`HNLiU2HG}}37AJiXtY@a>li Y86cib_Y2oAwC>Xvt8Dwj)J0 zEcxDNdw;$qcDZy_ALNYq= vT|@-iIb0khek~B12GD9>t%y+V=te zKO-jo{~j?t6I(qMrT-t{c53N^&j<(rU;_OA4L477Jt5iu8*V9yGnT;&C?Rhl9?5~3 ze D3{a=b{t_C<&UtmQYWxJrVNe Lx@0jSG?s_D47nb`8K__n>zxcP#sIMJe}F)dr$6JaNdK`BV8 z{zR7iF%*veuSt5zUEQ!z@J=}W&@}^cM?UT&l{hK9ZRc}Te-KT+yNdd(p-6aaB@pHN zf`5DPNd`|d$F&XO79{*B!9EH!R~SLlcJm(Ia$a9dLo9}j6sYXE>YaJpH4dA#N_lnt z3f211SwVBVa+4*GEdgZ$i%a>@sT^)i?* nKbWo)7|GCeDkGgdq3|pMT7nBH@=qOXUCau~4BGm==Ho0MwuX0C4^9 zePzHbOzZf6)*W%8GjeijQMa+%8b|!K?f)}~&sV__M=4o%AVLSMoyEO`zro#S0ligH zJ(k?gJZ9>Wnv%5t>tX&PQ!Gs0#+?)n?xz1A0gH3YMHf>3dFmQ;8m|DTYne41-GAA+ zc{zEc)O@^ 7dhzYHTD?WUNGN zBS5u##WP8ITlL)NFIZ~_>0Twim4=qIm!Q)Y@hzgF98wjIwf69`<{FVWxqt2+U!Rt~ zOF4NIsZpw23kF~@8q^!BA3$&4?|;9qH>9)Qtk%}Z(=M6Psf!pIA|AGB mKsk4``^}|NWXMXwBM-B2QjU^dW-$>O=5lC{$9@S=HBOTP%bdG zeZ9_-aOpXV$gjqY$>$O+y1nToPmIB9A}sOAP?ao-(8MIVk%y$rhY5Snc7Lop9h{bl zaNDdF;B{`uWw)Oeg(K)))ZD+m4pekoQ5{u)OXRz&GK4UHuEp~mpi?KNfRxh`I^X$u z>ru`yw|-1r;b$1X#;>f?a<=DsS97p+LnFWWAk^TuYq$J*_E&t!jWO6kWaptKs}e~W zeeP~PEiBr3(frYUdH5ZkD1Y8Y#0XHO4gzCN1SxOI0AQG`-aMx!Me;wPl)712zN?>2 zZ#mnTw#DTWWWV8EE_Rmvf#uSJOi&ZRMrkF}c(LKH4X3yVtKUgH_6RL$r-_LM!I(;p z>QGB9v>bfIX~G!$|Flv;fOeW87jWZc7IiR}X=F@&$0MIRQ1SX;On*NCY&^$=yW9fJ z>Vea=V6c~$^>i4qfqTzhe=Z>gOD0h3JS#XD8!zIv{LM<#i$*cY%fM*iZ)9t4Sh=(! zhb}l|m&WOc{sJ ~_qegQ1SU7( zQ0oas$P>z;r~Q^zIL|Var$HszOn@3oQIsDNJNxZuv&$~nz31=Hh2RK58n&?jtwXDZ z$YpkQw_ys)y2f^ui>Jqzfgex39wmF3l0o-&ow?l@6n$3fMSlbU7)$M_Gg>|on!vo7 zzl3r-A`Og+9-X50y|PCkH^q3Y*|v~?RWPKhs<|2-hFvpCceoE!5Pp5GpDqi#w6IAT zQ$k6+`*QOB_)dT5vRq%o!_IHvMs>$fQB_TW$K%P;xV)jb?+XyH80=X_QO8l;&r7o3 zT5>~6tq}*FF@G=;i_00IQxG+@m_mf^@3 `5)QtIM4U1X={g )w zD{!yT7z^(ArWV!N6h2uREwTXEgW3^?)=Rel2!9pN^^?}@g{gBWBicFSNjZqlQE1kc zmYmk>yCwb{ouJaPwK`vdo~CSv_wK(P`$ofOw6fQK%I!NfcY<1*t6cLN `VhLJR?_icrD&>srwt^AN8>yDL> zCVRcMCHl{lk4SAt=*WZ7+k(F@dAj#kgMY+3azTSJEu?@uV%*82Q q0Ff-la3zT zi%?%OZMjaiZ^hMZ7u=2J*MxGYCzD~-)^Q8t<&tai_7hTQ-)4Ws_a>s8Pi+}}-+y>O z=f)tq6hM eTXEJN)>C$dGPe~^yR&lh>V3n zkWvsol?M+s#;h=glIk>#2WqaW<$svx#`hfK-PF0B6)R|op~v|1nRGK^=tdhtAKjK4 z-IBgDY(f-&(UM3A^3}E9mr<(W;ZeWG^6G*6{R>cHf5Bxc|K+A6UKQ{Y6(zGW7U$Jy zh4_4-#QghT!nJioni1sj0RYGi004OZ_cXtSjs1TEPPE1*rUow7&i_OCpMP*~I39I2 z+*M5SF>s_TPB)NhWVKBwKHA2SdRcq;V8sUuZ;}u?B+%qd_U+w*^~)sI6wlUVP3B-t zp+%G|c(GxX|9y_}Vcg%TVmKvW &B0MMFggQo>4#1nrH75K z8=+0p9UCPK`%Sue@8^
W)^+F<#!bKs< zvoQf7V)L2_L>~=xrZbuvXbS=W*Kdo*hTsbFN^Hk(g>uaOQ&P&s{(rWau2G*I4CK%s ztQUmS2PMYg1217jG4L(KBob#mb!1U*#Ktm2!$2gjKmLTC;t~fa%Jv#%I1VO1w-cI^ zCm{x3i?|1d8uX_CffeN@GyWth6fgs*#GwYCW=Bz4qnlYNDL^m_Jr115Af2zAKVLP- zHJh%V7>D(T^{x4PfPeS<7Wz?>QBVgp^f(=b(>EpoiQlQh2+vTDVF8GzLKKLA0FlNI zt2KFk$ALH>esJ&8eS4US&ibbx&l$G%q7Fe{simM?)^Irr1l XAWZNz@ z1D(CauN)TUy#z1_P{9U^oB*v?2-3czqTUD^7awO60K$rc_J0|CoWOOG0GQYxkCs5Z zrm+NJZ@3qP7{as1V(r#xA#8+Zjb+UZmOPkz3VlCA27tnpXD9eIT6(~8PzK6p^M27k z_gcyrD!^^fBa4IxT+YvEKCMr%1aq(iCBpD_0KX-wDQM)@Y@trq+7cWSV*}^EE|i`v zB(xUxW(z>8Cx7F$ln$VOpZ8&8j`_ha^^O*nPjub}k?)e6{tg&F4DgT~GLMo=!T=`? z^gZ(s5!2M~g)NGD?*_z|3r!zN_jV0|4%-e2!EH(;jEDcwANs~P4_;tmgo2zdOhk(Z zRSd}h8iaU+@E44K4e0Jldp$&?FLsS3jY%_f%IMSsfq!o4m{p2LDz5*Y0~a?0)DIRb z)h9;4)$W-GUSI4FSi?^rgPhJSE$vSNB&o1Q@!*3ti)e}-4tB}t4N8Eth3bzEAcD~+ zQ5wKT0Q)t%%J$&{^9-00&%+=B(PXw4MigF^@HP7uGrGE}=P36UpxIw)Tb(PzQJd?b za@s+hK7R<}a@GMDw)U5tXqFA@nTEUH3DJDhjRh4a `M9f2#Vpl@`p%I?rf-iAeNy;4; zLkyt(r=lN3bq+>t66bgNVuqj0PDQz_!5jwO4+DS{H{L%C=PfEZ5LgL*0+iX8pR4c( zbdc2Wpf>!rmm-sJxqd2?>dx4JdC}Ytdc+NtaWmMcPo+3P)})&-9H29GJ(w* VF;>Ej2#I?Hcj=STaGIDtv6BEZ_#a! hrw0@K}9|ZQ~?!Z3zrJ!%Ql{ARo2Vu`;|5>*V^Vwl%1)M z1v}sMWo*qZDyC9DP KES9;VBJ2GemO{J!oo>TS 1uS}S)G(Z|9hEGROmPI)t@GUe7Gtz%S3e<* 613+@Lib5EuK1?PDPr|8j#r zVVt+s(n~Mu6mufkpZUKzi{FnWXn+3fAP26b+YDC4pGa(V-sm;nq^dm{kLl *W}WV}B#@=$nC6 zfio#i;7R?=$V2MiM(OSt(wb-hM} PQ260a_csF^ zVIx*|vW4_9T2@$lDlvB^rGGX9xv04Bn$#(Y8CGL(>+L(!FOsC4fOE%Ta6!)7%fn$b z5hA8&D*eIHn2-$Jqx54pLpQQc9p$Wz7mtSbQx6Xd2fA8LcZY^!BM@-WUO3QvxN@(G z- n@`}95>Q~pA^;o!Ezq1Ca5=2?wCwdZ$tWfJ6(LS!>8H+2KsANvgg zQl>^lOK1!j-@=wn%YXe$llMVt>Yiy0b4E#6?SV}RZ%DrM?N3J;>(d~s1w@TuI4R~U zDwDH3{1d3}9dn5%BVYm&EV;#?mo*7&cLgg#MU6^$v=@m!iv!-@e 0uKOB4vx`UKNuge;ONz=71#j%l#0wuqJ(+SZ9T(|?M}jmgNsxmc8yu^|~B z*-tMiS} T^4J z7Pqu$$2GS$oi!&Vo M &vtYNF=4iqxA!n!1Msu>$l|MTJ!(JeZeSYs}d%`^JHs7M$X*d`vuri1*e}kzc z8m`MX J9q%XYXgU{TrwbI4@(6>Bzj0k{t&M zQfg!d_kX$ELXb(E79c^7{8X3_pIaToB`5efS_}ydokE-&f9Y^?DtrCk%O|`1hF}R7 z)6WIVkF6JE5CRk+=vD3_u8xKBbKJ3dRpBy!{xvg9`pvqYjZJbVL+==;F9k&*Q%&X0 z%0Yd4L)>BA){K+JB_tiPl0w1-h0*ZeTm&Azq<>T&75lJHoR39Lf7Rif-aOypCuvhu z9!u1!1?j5!vqKbjX7(r&$-mb}sGp+{*HtZZvzq@p4fC_55Z6?i=FluG0ypmoPpuj0 zGmC~k(4d&^h-w o5Tt&&blL+Ub-PR!K)8RB68~c;<0xC2}fg);nN}& z49x|K&+eG_<_WPoHAe51Qxe>L=Gw!r6Pdy}&2TxaYTqtpGOBYfOQOTQc3LiIn2x8J z`TBu7kw&_bQmiXr!$laq{yklhaeq?S!nnOCc)dE$H;x0|vaK@XuV_nrB%1_NgllY6 z1`LFl_}JRwUvO-L$sB1YkWq0U8&qcC(Ba9?+WNmgZF4oPMM^VAH&=ApEB-W4^EQg( zSkk7L$X&W{VI)liRc*35s;0oLcta()(LEa8SQXMjNiA;3EZS7ka({oC!fEhT zUxU}7V?1HAGt~JT)Uc3rm--H!0xE`jR~pmNof(q`IGHg$vN%Ji3V9ZH_7NT!*1 {i7DK<%Hm1
%n=_Pc*++WPY2OwxH@=jU~Xvlp{phyBg&%X$5}|8{VF+kd~;54JP*do#1@ z!4|!_`U?O4%k#^~-oX*EKUeW#@8#i!u8a4V&i$`&r>iV#_qdSp20m6y?Y6_`_xHFv zJ8xT$bK&Tzm93M9H?B6ztqVQY#rQa3{p$0E$JcS`=Fi <^Czh4V+XPOZVzntA!xm;kHhC`w~sH!ee2=qz}(qX_w{FYr^DrR8Z54^F2~@i z*N=HUX9w1G&we9}FWAND-rkXE$c|jgtu9C4?S0%Xmv`XpYJX^}D=X-$3BA>*jjp XDn%U zs3)9$4_>tC=~lq)b(xEY6Q-5y4Oz+hE~e;e;^+Oqrs%)i0m!t3$Vb$_1y%1gCx wLiI=G}cbUXHB2>TWpT_}S;^tj=@2Em~D+i%!d0z4=PPZ(M?ly7}0> z{`l(ZV1LB@*Gm2bX_xEXprO5I@-~C7y-oJBD&%IyMbe!O2XveFiVc6LzJOrB<<5K4 zvjge3yX)SyxwF+}r{^k`GuCg3w(7lU!|IAphCOo^GgUP4Y;kwPvEg%f2R8?Qv)hWv z=i+4K3h#M0)KnAmaG?_hyXV2|dt5r#HT3ls^M7zV5Ld0^X8KwSznjN49K_cR(UZTh zZIQ!Xce=rK<^>ObYF*Y`d*|DAqTY(?ho6z_GV@JM?g4|>Q#NbVY$FPPleF{^H^fb| zFzs`x@%`~-zKM)ITZ^Bo19z>DegD|#;OI>R_K?xDm8H{z%V%Ph%eSKr-ZPu?#O`qR zD}QuVYI5UZmmOC1nexYk*}DzAW)K!Vmj{ IwP@n!EqgV!voXzr3Stg zM{m~SOZ zDhIl$O(M26 |CJ1onT4jZ^I-{teSfVF;YxS4~Cu74SATSn|e$9Z_&;bUVH9eKBxL+w}O z)cFrH8*L5RGxMdkx<5+O!S8k7u6wULj_bx3jJ&zWo>T5;YW3C1$UY-m_KqAoX@B2q zuKNar%i$3ARb4sXuI(fHeJ| p~nrU9rov z*~NxLTdbv*@?gG8^4y$i$yxyAl7E3BH(0?Hqw_R0Z #7a`DUXZR%0*noE$@-NM4xuoJRSlC-NKB!iek?OYsv))V;wWGTX7x zgKAJM>a^^XI=A7IGyQ;LePpnV4!7Tasn;f06a=;gC-9CG56^9gK=AB &LNvsLmfNR)Qa|o&u@sljY>Yh7IgBeFWKC-)$RUa zv2{&r<5d%SOV> !dR9-$jdRp+~`vq-RZnx$iIc!nd|0%YT{L>&NQ0-%;mM z^<^NX)L#0Pf_INgUCX7*>i0!tnhk}%C9-z_`;<8tnCd?n9bTy L}-#LbhyAT6c(a))9U2xfb1px)e-19gm7Ryr04X4bAloJV?O3J4rU_ zwoib48r%M%(nj|Qd4JIKlLU0BVhE2$bGb3XN_i?Z^1M2)$+S6WPDa%erRNvuy42;; z(*ESh!&KY-)G$@hJkUX2fY2WCm9kU$tVA*%4*ruxY52&qX=1A9RPY^T$(OR)17v}J zPWYq|mK|=Cvd|;Z8V-4y0olfSa-XzfVjKDNrj@~1QB@b#nSYgJX;lPf%c>&X%`h4n zvoPROdn<_70EKA^p3_+pycFnPXxsY<0$cDO9CGM`R8(OwXWMjat;sV-%q5*v#g@ zfN`wE02o+IC9Ech`B&5!Y$glrD$!L=M+!88j=g||!Gp|F;c98bb3i*8ZqTsn;Y+5v zVAleg@3S{79e*+hmj^erqNObCSx{@EPLs# 38;6;~GfU?C}F>pt4RxshTMs|qAEC_evO)N_{>&IgMdWg*$x^^>g`;nLit;ne~| z`#-gC5E{f4s%v5a8DP|ScxpKVV#&uUj&s4P^pBtjF@LU{5d}W?{Y$Zxm eu<0mIg%QQtUh&gZ8q z^<(|b@P8DQPoVCzMU>Gx3Y8&Ug0Zu~kE<#{P^Or0wx6YqRAMqhND*=v*-r~}f%{h! zvI-XhVWeWh(h%J9cSv|2CSf#DOT^5*OY7p*Cq0Brsqy4hc8MYw4FuU48x|QHFXSVS z0;y7qO1le|%{1X*>!Up|tZW4~Qqt7oQ&ZcF&VPw1KmY=#x-s#{<<9{IPH^gw(+@q2 z_el|#esyQhtDu~KkX#t~OYSzuMe|#xpWH%>&rrv4t`5tuJ)uEgbO4;gllV=kmwoYV zwoEh!jvrvi7epBOR48F&Kapv7<%G{LzCk(2B8V7!CUqEVydCrp?MOg~_=MmhYlpMr zv41_^RbiaIWvFRad_)JcE|23+VF@&Q%}KHXm{^-}DVGvJQ7(OY*9iw?ap^oT_@x~v z(qjFLRAqKI6qTT|_FHuXyQdKqVX0_H?(iwObhHLDgONw_I97-0Aen*%%M`6KWu3pG z)jR28CC!~Uh-q^rXG{9hNBX3n6s(XMd4K71*p7Va&Z8K>T2EL|fF (h
$;Lzt(* zX5&H*Xki)u&}wjBB+K_;tCOp9>oWMqra1dGTdZV^HO{rQ2M;>P4yMOp-NTBg7k_c~ zQ0LnV#pDuC PhU>K2v1`SYHE`T5UXC*KK*{m`?bqL{?cBl-ybfYsipwEHsi(V|TE~ zTLLZ`G#gnQ8c>v&r(9wj9iV7jrcj+84hEvo_;1JH*wX9l@~^jkrnwXvdmDA>|gJ2hK34d+1fsNr&K(KK3h>{TY2XMw)bzG$wPXnchP754L@ zY7A*jaG04>POXAMpmyc|?Up!bxlGgB4MjfufWI_}Z;0>xl+HNM^8E@*LkH-N1hY@q zdXqlMbObXI0L^^`n}|!UvVXWuGcKjAc9(xMVW$2Hc-FyEwOh0A_@-3a07XE$zf`A4 zdTUY_yf(`U-dMy0Z!VcZwlohorif(?LBpwK&c;WABLZJe#UQ(=;C_-^a<*Etn?_RV zQT;M`rbZUW&`5KFlPjR!Vgg2WO04NvL7n2{`cEsj?rGWcHqROwd$t6Ik|KY7S!`&Q zlKhdb01v!M-Yos<>(y`%BB3tp_Pn&tdkMg|sM*e@e9=)9y*}=ADfXS@piQC`lT$Ib zH7+x|kuFOI*HNv7NK?S)h_F9GXeSHj*##gdU=jJmppa1#>_1VS#_OthW)TZ#DNkV* zh!IoPQbRn#{n74L?SE ?`#4{PC@(#3(sCpM6=x>_xP)UWNA|HgsT6&x_jPtabH7?^HlHHK zRk-?Uu(lEyQf=oj(JwrD#raJM$7fkduLjwg9<*|wm+6n^(4FGZu!4UIi>W_?VL1zB zOcxy;`YCk!UQEt~p>$Z$N7YW`ALmrBziVjE%elZXDp!bTsecHqEco`=3Q57ED*}4} z3yoM3;jDPbht0R^;?yLUCD25<$tfN{@WVc&K}94~P=fnE#Dd6_7%IKi9(E$iSZ?Dq zQc1)YRu)EOm^B(>q~CuFf$U7;(05oNl5x%>1d&K&^s6PeJ*aBD@1-(|b{aH1i+e-O zMfRp2>Z#nsoMV#-FsP|>rL9P)f5+5{Q?iZT=jN-^>?cM`2kel{PNpYTS8}`JZiiT6 ziv?;G1=>nlijbP|u|bpwKoRLkE!dT^(J}Zi!r+;#Oe&}rnE!uqDwQR0b3|1KZ!r6S zSKzR!;g*cIrOT+HUm0F%>qer3S>P^_^-9(SP}-`M1G#1lk$uIo3s4qq>1s!REWS`; z=|fM~>J#C41pp|(<8_C3RO^7VKd9 icVgZ6ER-eLmhk zcl%k h|?P=S_d~Msd zZQHhO+qUhVwr%ad@lLzPcdA20-7>N=qbkz&4W5edTr* =5#6QA{PEgJ3gjidWZpCVk^gzqPDUF<5quX!c1B@wm6|{Q&2}diGM<8 ztl`^+*yi3QC7l8E__ldTn>)TvNL{h@%|ADFsK?=i?gJzl#fFrqN|MaBFeo(Qf|a3^ zQaX g~kU?=AuF5Bh{Tdua$2XVUtf4{qqRIVG4p$Y?w{G9tg$ zE1P<0Zyl_-o*m2vohajS$bTGGH$H)C-g(K`e_Ma!gTOi>)1(|dQy5^@)uWRdR3)Wc zq$bbE;$cI;5 1mnb7|W?XA!?q$=S z#9R&5$J+dom-P;8O?-%__z-O{>Ytb~x-(5ma%l_MX0>TtA|;_^vFDX-PHthDY*CXG z$+&;G7d3d!SI31zG>dUk{$Mo1(x$r2_f>KKXBdtQJm%X_K!3aVk1T^3u*Ut2;9z-~ z4(=;6fNsI_5S|78-&;N9BpZc0B@hs2(*Hz1{x5Fz|96Dm(rL!WCTWX3@$R)|^Vi?} z){uJDd~~A8OY2bDvFXK_rOo%xRL6GiluCc0=- 7dy< 0 zJ4R{3+)C5^8?Fkvg6iy}Avj-CdLPAllks|n<}u^7v`mz@) zYY;K}J1qNq)rW$am}60GlNbVg>Jwc611RiUjjW6EA!ga({<^Gi4)2{vj{RkthePdG z2f~hr!;n@#eEzjIA9ha6>|2{mg0S4%IQtq8+hi1Y8}*|M)6(e$l_KW|f0=)%M%hK) zySP|LsLx7!4x=1V#Wk~6EHavphG0Jh6!=felxupjtw}A;<|s{ts1}$@GBTE1pRQ!42%+QPwb3Y zjWmfGD_)ZVJL2HeHXmrGaeIFT5CXbA?oQ9D-*-z@X1BF^eK ^k zx^Gq*z|`Vm(ZO)aX>~3N*UA_JktE!Z3c!A9o%KWs&agT*k#Mn+&*h?;Ih1aKJdIwA zBdh^VIhdBM)G+Gl1zzTHQ2jytjd#1qy@oMO+81Z+z&HB@F=@`uiJyOi);F$Q_%+jU z&0}n)`W+X-T;t@*4^B&^)vo=C^t782O~Rm*osw+6msPsm8a1wbY*-3Y20OR{jhiSy zPrj>5xax~jU%EZ2_HVxp)v6YD%C$>i2mQYgF}r_yKw2Su{NA6Ib1+Gl3!t|nGZCgK zGln)RcQipOn9E @k6}HgK;%oBDf;HkfJX4SLP$|Iz$f zz?0p 1$#0s5YWIfO67Kuy0darRv3Gq!nyG@qOwW0j z3OaM(&k3~n{VWdyE+L7D{n%%L*amzQgM4F*MbUHAIYH}SkA5%_@K4^R P`z4xWZQOq%iy8CKIpy9T$WPMA59^Xm zK=nW!Tz>~5WGP8q=o(>5Z(t?yipDvjO8#zX&YzI|(DgflMnbsRz{)7{JHula6DLlU z^B33i- pHl#glzp%4T0-m6 z`H l;yNLa^Joawhw*;R9rKlbz^8|kF zkB)!`_grCQZJPmq3dJsBRpBhg1=)T}eky*n+}VFD5(d{`;FYx-I$L8WQO1CRZJ&x) zaiml(G-69*7O3!xCq#9k1Lh6tZ7whj3L=qzpL@P9d8q>4_Mb8ZB&tVRj{Yi%hLi>n zp2z)0m&0F3^Cwy6@?+={S>+B2>^ZI}n?+ed3-J1G6M&W>Fqctc2{ZT04*zORYR3JA z3J!m=0r?HeGwQ(tYcCTCXOxaFlw@4h2`s!tPa-C1osB$AiP^ovlsA#s?0S<90A zm3CcBH{+P%&>)Y_9nF$B;{_V5ZpAqv6IaRDwqn-3Lxf%UOQQ|)s5f>a$J}tz=+S7; z CjTmV|#B^lsC{9{gng! z)boC*P2f=pr_dv)Bj&dKFvS4A=~g2_SIIWSj^mmGZ`Vy`75!>+xiD~FY_R4o>|C-m zTGVJJpv(6ehV%P$GIQB>d!dteazD$4d*5Z09F-ujTfN4`Gz9A=eN<}*mNw;`1cHC< zD8k&`=P?^rDNLxiQ!&Tf0vXn=9aIV;0r#ve5$OAFViYe$bT>f@PVq%TT?LK&1tw=w zaj e6 uj1)(cj9mN`KW|?KsVQp#w5)S! z(IYGY#w3V+LpD`~x>a(5GW+uVJ#v59r_+m7HKjJU@>oSk@8@|x>k<*KhVo jh(4h za;rfU_qU*~sn|2g7K4$K*YEeB;?-IE{23Nr$%eJT3H!7jQk(&47s7P{!dMOdZ|)M< zMGRT4b8T+6&-X9h>@e+(_VzC;l+em<0nLp_n?(U 6LrPtHb)q_wi<7 zTSU&sQ|WBryd9Fdhns&g#tWO*CF#BE0Bzf(mK$GfV2G}~(upU$H?^VkOSD62V$72` zJwKIHki6E2(DP(>zK@|LVTt?LyJS)7@?a(>U?J+8C<$6?7@{~IyD+YSTgqbRM>KwC z9(jc4E6o!3aZHwBS!8tg!u{nS?%3sugn!#?($9E^0`b<_N%Mc{0cRTdaU^PUdVS93 zaQ(nH^|!Df*=LRXE(AZ`bimd*D!x^p&zigmSGe*qwF-DV-#9+qYyyxqL*a&T$SFj% zc=)0CA9tuO=I<*DsFc$%{s2ypI7R@%#RenHIq>B0=Ezlm7X@)lBJJuAw;2~p^D6Te z7F82Oi&B}c;1GYSiMbJzp9rWf2KXJae{fQZr6drj4k|?iouT}(6>6HZ*?=(Lw%^sJ zawE}@PKMuSe`~G^THqVTTz*@{fy#nLkDxF MD(PNF6B>VshcdF?THffc8? zb)Jy~8Y;NOgo~Oy0`t8kh_P~h+B-Yy!c_nbFz9@1T#QvrIOvUVY8#-JT7zXo-X}F# z3Lh~(xQjBSu+iOIu_9NEwGnbG1N@FOnQS|Nli{50Sbw<~gD;F&-Yk^9A0VhgIYNby zt?TVgE;oPF%rU{jyRC-NkRD3}D@Z8Y166b+h>JZB8XO6HF5I?QE)L=Gmedgz$C 0K?TiY(gzM6+if)!x!Fz%K-U5qr+`~3~0R&>h@i&%=TNVssh9a+~~M1 z>u7(}P8P56TrZ;+P45~Gu*Vn`ZJq)-iFgqroNtRg-NI#|eN>5`bf}auUqQwE(nwDN zPs4OC%9J=iPZX7U#dWorbFq?InpTO(KxrJ9KsMJ==^}J>$$wq!niKP8d{SkjOlZs? zScVerW23yYuVO2=vpM+FdN!&`I!_yY-fMpuVg7kKZeu&Uv9CM$w<|>3w@Q$_u4{fb zARVuMJ~zxAp8^7I4cp&+3%QQHw;|$8$xZ?>{XwG<;E1Az6R~-<9*c(uxz)+>nC0-* zUMj4Txa0G08C!9K^_?eWN{k^(FD!Xl`(fX}_9uz4+GxI_8>pT#t|oc0cSfReSqy*g z0_vX=4RXj}px^SaJbhc$v>9r_!h?nwIaRu> |q+0gQvIGPA-M@VRGhvCBJhgZpC<8lVO#^Y#hA4gg3Yl2U{9= otk8QHz_4cxi7-8!`!j*yhEcr f!!^W+ws4IjEy2hEKT9uJre<=vR2dRzF2=^)$(c}P?EG?@Ve_@qr|geIn}Hc z=$y(ZN|C4MPXX(FsD(Cj7y*A{k6R1 #Hi|Jwf(|^B3_#W{YlC73^35rSYbq?~xt1RJ6_*es;0rBKS6!6v& z@LNRieu#}6s9773GQ!JjoIk`+b+H#$LFSrVjF)GQP?a$-*C8}D+U0-jp?D8oT}&lD z{yCut)~9Q>6ZaVx;rQIevFq4)Me(f8^{urBpSPP82rj-N;qTwtqE-pmWFDSZX_xOC zE+ 7_YcgLE17fi)=u(EN z?=rNcOny+P$Ia|c+WvpId|W)AYr5(U!gC(-EzFe3JdkI!eJdlpGi~$68N&^;ftG-D z)EF)$=5aHE%B3ENE}nr^m0k)+Q8O!8jOF|$#RHk-Br=`}jvbxY<^I9;krafTXZDE! z3v@xSYDn>KC#=u*`I|C=s0IK7{VC@&!oEMt55n1OVTUI^q5^*}T|z{62u$B`!JS-o zGF8iAt8G2UM-fYz+GY5+j+!HYrXrJx@T>j9s_!vgoZYT~zqb5W3M(jWuRn?~0otbT zuut&Mk9GJc=NG2+MN>YLRX6aR#VZ!hWriYV(Dw+^=v ;>^5n1XPhJX7OnNhy&OwomVxTP5xAeP{b?5vV>{74_NsRR1-{W7gqM75EErY%Qc zSUXod7P5|@+TaF?KJGbtss{FD>7WEw*L!~vJb_T8)USUR9OX9`@yLtmi8BD5g`;5r z(&azbQDW8A2BEoh*8O=PU4)E4o0UoqzZidm7nC-dt`W}8Z=Lvs?dY3Mfwg!FJ~W7< zyNe<78w_AZa~9e{6k#VC8b5&zc^-egxizvdB)ToOlR%3i5d=2E{%=KnSPbsMhklfo z^M?}NgXMqcVXns!R|fcnQ#6<-phDw5&gg(PXUy@jB7;y)ni1s}fso09@^7`F;%e+$ z|0Ceu^%6 4a54;}$7 zOJxLUvjJ5)m4FOzD$C-bW!6{jXP6xqU)qoUHv@krYY1~i!*1)bZdBFBf+LSGE-I`+ zb_Ctd=%-%`OI#xK#ug5HYG=MvNb>bJGvO8tI-G$c>$)ELOEoWl2y9toZz_09@UW#k zlV3bL2AXrGO|+F8!{PR=QxkNUr~c%fz@rB|`!vuiSzj1*e3>k2Tq$%&@dA;W{tX=s zng4(Fih785W|gS>9uDmm<$C=#@b4|+#o1OlozH7Id9-~afF5oR!>aVqb_Uczpf$m; zH!~~EWUy=y!u(V}N&aCz`%Bp(aVPvpI1P3Fo^|ZAf1&z7B?(y?gJpMxa@h&4od(5# zw~1toH1MXwykLf$3V{L_*gb2$S+oDMSs{PebF!7a6t0BJT-K8;DO5vH@t#dmeHMa6 z5QcBBcvTiycQMl!$Uua@-=de=?Mh#|=yS)P-cv%XS4g!eV{2U4*rZXh^Myifyr0=T zMt`WuB=e5WY??gB19}cW36##1@^wiDE`B~dso3irD=_Z@#^VD+9rHNYl f#HSDpaj!YxuNHcZ`TMf} z`W)mmwsOnGIk*Z+WLq^;LoTf&Jn;8ysJI<3i9(tmjC={@n`Oz6jC2rFzv<0_5aiom zdH@mMnKBIy4gM6DzG*5%h-+kUz)ydHkw+i(RMyP-)!$o^Nnvp+hLupZc3+%SvZ15= zw%dgrPXA@F@K^pc)ES1A()%jGj( D+DGWxe_6(`QU~++9@Oib zqJB+OovcZHD~Lr|S!RY(vI?)&Ho|kkc?~-6okyo|aKm{UdeoRc21c>>WSxJ1cN|if z8MQFjMqcBFWSU<5k$o1Kf)W^*=lYJu6*f)wi9~kLyqvr~zI+=63JEc?4 $ACUO;kcrecvnvs(+xR;!!CP)It_5(;U)vm;J8sRW zZ82NPzA$*j^shU+v{+sATTge37p0JDY8*WRwxj<-JPT!Wu-=K?&=SWLgF?xmO%TGs z#7_9<)UpR+ExDjhhG1~@_9o}=v9TF(nYsc_C2_J@;NG|Af-Ex>P_ln5 U%{Nr@%I2C3!nQ`H7QR!q|wz z4EuRdJ%KMGCoPBG((}rlj%$ZrEiVddaE758YF0 {Lu_6pJKDX`P`K z2_q^z%`^vBAjzGyG8BK=tb=f_7|%pG!B_E?6m!b8Fg=#>fCf7mfIa|$V^JZ64G#th zTiA}JqE%`X2b^4=sNKjDv-YAM#yR2zsS!t8tWu60lFriIDG<^XlHr2Q-)ltHCZTP< zK5fbO)7KZP)eE_2zD=*8uj@OYJ_$|js9^}Bu7S8-G~u6cxYK{d)g2m~jKreWo{t;2 z_I0$|6W~39Y2DU4_`@Zr7tv}cAa^Sk;nsj?T07AMSij+2c!pBD7cHQ>X2Bjih6~0{ zbm2fcy6BHYRVsZXd@fsDI-5(ayhdhn0u2=J#rrW1MOAQmG7MSSDQtpnarY5-RT4M@ zm8!*lrdgcqn9qNO<}fP#ht-mOu1qhO7?pRSuKbe^gwcgeCCBZ2Tv_>)2^v6A;GKG1 z7J|B9nAnf@T(888r%b;HEk4#&6c_)R+QkH_7b0GM%^42ZlgtT^o$p!o$hz|%fBJbO zo)a)I>2RaMSb8@P`Q?R6cjL{V<4?xf%56eS-`L==B@BO|m!9!Br^@wVpiJV>R;v5K z933G(-829e8p4!b7@A}eaL$*A#Xn=BA9^Uxpb-|7SP7t2Xf*cF5Szpec!zO7Sy} zE2P0~uBK335^^+k7bo9m+d=H@_+0-roBK%b{d`h)8dUD8;JBm4QPe+8m#P{!mF{;#A;rmB_4^>l-BtP`4YKm{}3>ER^?=v z#ws_78AK&ODyq){;T%utO3YF%g?dBrQp^H{a@>CcAyAb5A-z;Wq$8^Rnx7XI>w8Gf z*7dc@0gB2RfOckIINDl6KB0xy!HKR2zz+C<4t_YHVtY &Oc~PWR|;=^yx-Ld+EcuXpuUZ6VjC3R6nF5aF6z$-6VeLF+ttlj7cm z6!Cw_!89`MlYM5&&3sU=>XWhtR|;979RVY9J%&)6L|nzNq0$R#IUxTFeEI@^=(TCa zU6^?Q@NvvD!ma&bvyV^*$C^*Z-cn9Wf#x3O0>_)qVRmds-5Y46$Z9P3Na&5=FcLex zHeNPVkbq<3ohv^2w7jk=7td`rk?Fzw)--=#`LfW56M_ks;egGB8p-&hRGoUi9T>yQ zAY+Q0QA*ofyQ27y0WXtj8Y$>BFkbVM5ZOZ!juo(k;jYZVwn~}-Gy{n2FQ)G`k5nJH zU{~yz84zDY%ko!0+bF$qKuC%ef{k&penF0o2p^ 7;+7 z!})YeUJWP=BV${yQEz}Q%946nUT#r%Ys@MonE{Ap$#UHr_p^%Iz&DQD0L>{I^5TAb zJh4?SKf_ N zKxnY>&!%YYjqDt)im2(Kk2H;FW*vW{SD5{A0C(cXiTLB(1bk;#SCrILfM~W@Jl9y| zvM;ij-53BTn5Y!0`y=kt)sit}5Z#)AmezjFlV3u!Xj24ZYj!kgF?TNC+FyN&fSb zqn;xBgqV`oVxjV+L>f0)ssWrYc&s7BZ$c^mYk)7omcgnUII$};Xf8cQvEqOB;#UVh zh@6E>W-wF4@ptofD}Ss8K2i2*uI-0ny{0g1Ry7BI6ZdNWHpZ9-zk|c5x^5_%f9wgi zLo`@+$`4ZfO-8{JfSX=lp!AYFz^SRdyueNTH7JY56-DYQrZ7QTk#&~NP+LrjJFF^~ z@S#4w$zIO5Zz&t$Pc5E5syTlp&7~Tl^lIQ?Af 49;$Vi|#;u3LAfyY%J*iJ%Y{B zW?SL4oRm#4O}@24-HlN9AW5TFvmj BsI8lod^RTmc-qH+;nyhM*67l>oYiEmri>v1WHj4QId3pEeZH5W%{q( zeRn{qsm#6qe$_A`AG{;2bap~3^H@ux3|&&)p&{ej;<8#wljDE3o-yyoHDmhAiM*ps zK*tGRL!Vet2Qdsse#4G?tVEZb@}-t;QoJ|U|CK<-vbtuUsy@d3NYQRiPvG i+iWrHDR z$@t`ZV?t8bFjRkoubR@mMmo_aK VBu5cHr%sqA@3@5oe $$L|c;;d|&3|hH& zE n~wJAtrw%`Q`|q6+lxNWIB}b6$?#W&Mmx> z?47WdBa$D3ddfcb^Jy 3X{2k Y>T5Mf(KK5E-V@HG345$L*GkiwgSB*Op14T(1vnJjnG?=!bX@al6qceJL z;Q KsQ?ZF`q=R1EWe;A @p%$rfc`^~ID+DytTtzttY%p)VV*(b#|C zmS{;|OErGbm4~dlm}i#n#snP1H+~ebC{2nNS2)WBPLXBxxa>ti4jop>n|HYpTpzOC zFDm!jS|e{Fj{034Xy2X0?!UoA%$wT#Kcx5tM -^ca5$fZ;rt`Yx5a6o$N2{e+SHD~;F1o<(v%Kd+e= zkkQ~lwm}-e!|<2;K#Mud)0NInPH!|yUJ8gw#E9oN?#{?^@`wHHJoD AD77 zKXD2qLv68_VbBidA11)yl~t2A6CId|=xu3lPUZ)M!XX;NqxUZxIa9Tq85I9UwQN%3 z_Sr*n5B47A{fJ)g&*hp~A8LP9ymlySUPGSg#Mb4_Q=aU(Wv0{%;0rg~kN}4w&WJgM zkVt93s;pHoDb2r419{;9C+c`qNZ;qdaPAp{;p{&tL#_K+@NbSvh|7lnxHF6idh4%? ztuk5K2KC%>1^JvB&-A6wc*$}ti;~Dy E6DZ24nmcf5tgss2ar;fBgL7m}VpYS(rr`cpn@~v+>Vo!31$bD^4zdY6r z$d&)jh<1dsUr*`?{R#iPwp55;f5$bX!P)B83b(@c%BsL2I4OWRI|x+{xPQM?MXg#v z?O<#3`^j#(eP4X!cshKywWZnB#f(NYs_HTh-+B&s5_mVwFWP@=Ov@V7l<5r+WRVPM zlLydB5&dY%iY27ig;-O-6jKC!2^w8}RJ=a3p#$*c4KHpKh -iAO>pX2ScBe9r zePr-7IP4^urL~gZH8S)22PRVJ9=C)CqtTn@+tkwL^mJoXy)PpbpPE}ZF6h6f-Z1tq z!j_^iQ0i*0F#&&XbEm?4A`i@&WzT o$4$`aoVStOAu$_4mpGJSB7xaG=e&n$u^GCFQUTfTL zvRb)yT_6vgXw^Y>PN}|p+~E6KFEKgN35H#*)Od8O7R+DfeHaC`zX;tSyWjV ESoxc&MV3Bndpi>iO(Iep=uj~I}Hr`X4AmW4Tv7u8CeL)!r zzLo)3W&(eixRVc4mR_Vx#1<}t9h52*Rpai#HTK`7Y~dmmAJdDt@J(@;bmCG0G%`WZ ze9?(d7|oJ1 c?bj$l6Tjmywy3wO~+{M-Zl8US+U zb=Kac_Z_ *QC@ugSN0JaUG_N&RiRb3D%mFr z9e*G^(2nI5v+cL% V=q4t2gZ);Lg~ z_|?YtYW|44VI?}Yn2=$Q52tDhlVKULPVdX;3;btNE>*#GXk}KKZ+LjyAZV=aoglNh z{JW{uSyo3>;Y-mOcsH=mH`oHoeW|)IFkZ3ItP`L}P_?Q&5eZRcMHfPM&YaEJdL(~S zs@xALOMuZ@>W-??d=zDkykjmRfz;_peTZekHGBO3XYUxKw1aNj00Hga00Z&;@BaDz zr|Cp*>2%#=<+U~1@*lnh pG1>qqOQqgq_k|0rBHG{UNmQAyL4`0NCZ)kq3eOD zB3!@PcI9r{9>;cFvIeI0ff5_DO<#Y5ZH!UUHJtR?G|~ ZL~yyn7K!9dJ$!uq6h_<}j2ip%PiC9_|^#6L|^JG yI_AQuWmp~-z z7O7@~%p~eoit-7kCmp$P5Xt~tS~&=#8;0q$sUF&B7kdM8V)jns^|rn*gadyw`(2Cz z@MR8+vnNjGG!u*ZDin{!+J{y&!aaGEWgh8upl4353Sd+3mYKz3@}@#qVnV!em=2nQ z>xyp<2zmv=3jgNwr)hPSsHx!gg2otf;epKYsv|keFh&h<_N~Dv7w2w%fN=1n$AXv< z9;v$ic70N+`{4 9WcP147rv(6+$@5==a^nh-Ljd!}{P#RnF#uw|=BMc0TiHvpnTMQA zS#GpF!p__wwdzcTT-m`JZF;q$CJ6}o!18Gs05HXzJ7& dxhV~G9^>a(zNcHz l1ntjgy&e= ;YTNFqoQGTi|AGq}m`aC4l|J3D;2g^(KcLQC zr>E7!E JD4NAlHAC2)TZsTAvZoR(NNN z%O+7ysW5pBF4+f4Kv*7Fs3;Z5jbpiuzD*N!DQsx^sdTh >x3YbnqvU+g#0VN8J;!K1jIv4#qzUYcw#A@!xa=B7B$ zg;t+>1+X#$$6A*c;k+SctqMeDW7nr`c-YjnypL))wC#>fL!}Y6Gj_!QdGicabQHki zw#|?V$x;p=8%5utg*V=zLQfN1Z4-fCVV7-KaxWRj0SJGXp_(`+K=ZY6<}_l;H!2nS z93jqXv6kKPFA~^RGP74HR)%XEhbjkW?`9&DXPkSKq3w;4(`3{&T#NX!A_MdKcQfZ| z+`fr=qsOWeJBU{J{#oP__ 5A?0hndqrPm;D(Tec%yZc+y#F%XSeg w)~?@(93ov-k*pp7rds+_CFT3FCXa{x@#Jm93R z^Dxi8#2$-Dfamcfj$vf{bG9)8=W6m_^~lfQBUmBqh{s3atmM0IE?|5a|2Rfd#xgAK zdk25`|1rbcm+rU)e08`?c~7U;(rC?aHlEf$gJl7K0tY|Rg5SeZT}ZZHO5xx$77ypD zk#LLXJJ{qO`KBk9rGkZYFFEr%9@8XY2~iUCxIdF|dip+T3V7JSfGAe*;JbO;eSU_I zVDHc{?V}B^vx*&HaaZ0op<&Y26!>KwE1Q3HOr~idH=Px*0r8=6#;XY~B!$u%jyYx= zAHxXNB-o-IcxX?&;; {`w2=)mBGe*(@Dgi_1(6+lBVpmOH%jkmrOSUD zz;Xhg!#c-f#+WXx5KbR$=L>$EY2hZ5 z!^-`{e99ACBZoGD%Y{v#`*_?vqB0an65=r8_WN|d#ZV4l@tzGdPN1#n_N93MU`3AO zfipkcOMb&y6lFd*7{Lh`RUR3%r%a@M1nB9;<-DTO{(l2GSRLb%$QbOEmJWYl6s+`t zC{M5*CU}E|!{PRcKG66I^|<{b>gMYC{K_<%RlVv)ukjNi?Yn8@rJ~dkFxa$Hnxfg< z*Kw-_utdTlgJSXi@mtsWHjqf84S|uEF4nAW=7S=fS*P|3;Xf8g$?#F=!(d*+1%|ml zRk*qDKfdKvk+rRB2K>Od-u-_=16SfgD*Q)#Ui~O!Z@IvFVI&_D*Iwd~no2xw(a!Nz zwDanu@T{Q*1|5IgP>JwI;p9&m>IV=HYU|>dU=9#SZNPKQTX2~v;@Z^@3H=Zec*kMB zQ|>S(RL!H{eKy~4WH|y2z)<)cE)9N_wr@PCaacurNwqf59?aSxO9OvToPRnHoQG|- zdUO?~`&xYie7W!+|90V;A5*`<5^`ne4Wy +6fkogcW~`3L@*2%xh}igSJ( 4j(42zWwWThR8ZA!h{U zSsU2+>sDJTC+kGFn?O`?r<330)e~ZXzXW3H+#qw#AtaG@yOe~$G@~j88nal~>Q+f( z2z;t@9AN8Tyx4yQWOLB~&7#%Xoimn%BWurNJX->JKzb^WptE