get_pip.py
#!/usr/bin/env python # # Hi There! # You may be wondering what this giant blob of binary data here is, you might # even be worried that we're up to something nefarious (good for you for being # paranoid!). This is a base85 encoding of a zip file, this zip file contains # an entire copy of pip (version 19.0.1). # # Pip is a thing that installs packages, pip itself is a package that someone # might want to install, especially if they're looking to run this get-pip.py # script. Pip has a lot of code to deal with the security of installing # packages, various edge cases on various platforms, and other such sort of # "tribal knowledge" that has been encoded in its code base. Because of this # we basically include an entire copy of pip inside this blob. We do this # because the alternatives are attempt to implement a "minipip" that probably # doesn't do things correctly and has weird edge cases, or compress pip itself # down into a single file. # # If you're wondering how this is created, it is using an invoke task located # in tasks/generate.py called "installer". It can be invoked by using # ``invoke generate.installer``. import os.path import pkgutil import shutil import sys import struct import tempfile # Useful for very coarse version differentiation. PY2 = sys.version_info[0] == 2 PY3 = sys.version_info[0] == 3 if PY3: iterbytes = iter else: def iterbytes(buf): return (ord(byte) for byte in buf) try: from base64 import b85decode except ImportError: _b85alphabet = (b"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" b"abcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~") def b85decode(b): _b85dec = [None] * 256 for i, c in enumerate(iterbytes(_b85alphabet)): _b85dec[c] = i padding = (-len(b)) % 5 b = b + b'~' * padding out = [] packI = struct.Struct('!I').pack for i in range(0, len(b), 5): chunk = b[i:i + 5] acc = 0 try: for c in iterbytes(chunk): acc = acc * 85 + _b85dec[c] except TypeError: for j, c in enumerate(iterbytes(chunk)): if _b85dec[c] is None: raise ValueError( 'bad base85 character at position %d' % (i + j) ) raise try: out.append(packI(acc)) except struct.error: raise ValueError('base85 overflow in hunk starting at byte %d' % i) result = b''.join(out) if padding: result = result[:-padding] return result def bootstrap(tmpdir=None): # Import pip so we can use it to install pip and maybe setuptools too import pip._internal from pip._internal.commands.install import InstallCommand from pip._internal.req.constructors import install_req_from_line # Wrapper to provide default certificate with the lowest priority class CertInstallCommand(InstallCommand): def parse_args(self, args): # If cert isn't specified in config or environment, we provide our # own certificate through defaults. # This allows user to specify custom cert anywhere one likes: # config, environment variable or argv. if not self.parser.get_default_values().cert: self.parser.defaults["cert"] = cert_path # calculated below return super(CertInstallCommand, self).parse_args(args) pip._internal.commands_dict["install"] = CertInstallCommand implicit_pip = True implicit_setuptools = True implicit_wheel = True # Check if the user has requested us not to install setuptools if "--no-setuptools" in sys.argv or os.environ.get("PIP_NO_SETUPTOOLS"): args = [x for x in sys.argv[1:] if x != "--no-setuptools"] implicit_setuptools = False else: args = sys.argv[1:] # Check if the user has requested us not to install wheel if "--no-wheel" in args or os.environ.get("PIP_NO_WHEEL"): args = [x for x in args if x != "--no-wheel"] implicit_wheel = False # We only want to implicitly install setuptools and wheel if they don't # already exist on the target platform. if implicit_setuptools: try: import setuptools # noqa implicit_setuptools = False except ImportError: pass if implicit_wheel: try: import wheel # noqa implicit_wheel = False except ImportError: pass # We want to support people passing things like 'pip<8' to get-pip.py which # will let them install a specific version. However because of the dreaded # DoubleRequirement error if any of the args look like they might be a # specific for one of our packages, then we'll turn off the implicit # install of them. for arg in args: try: req = install_req_from_line(arg) except Exception: continue if implicit_pip and req.name == "pip": implicit_pip = False elif implicit_setuptools and req.name == "setuptools": implicit_setuptools = False elif implicit_wheel and req.name == "wheel": implicit_wheel = False # Add any implicit installations to the end of our args if implicit_pip: args += ["pip"] if implicit_setuptools: args += ["setuptools"] if implicit_wheel: args += ["wheel"] # Add our default arguments args = ["install", "--upgrade", "--force-reinstall"] + args delete_tmpdir = False try: # Create a temporary directory to act as a working directory if we were # not given one. if tmpdir is None: tmpdir = tempfile.mkdtemp() delete_tmpdir = True # We need to extract the SSL certificates from requests so that they # can be passed to --cert cert_path = os.path.join(tmpdir, "cacert.pem") with open(cert_path, "wb") as cert: cert.write(pkgutil.get_data("pip._vendor.certifi", "cacert.pem")) # Execute the included pip and use it to install the latest pip and # setuptools from PyPI sys.exit(pip._internal.main(args)) finally: # Remove our temporary directory if delete_tmpdir and tmpdir: shutil.rmtree(tmpdir, ignore_errors=True) def main(): tmpdir = None try: # Create a temporary working directory tmpdir = tempfile.mkdtemp() # Unpack the zipfile into the temporary directory pip_zip = os.path.join(tmpdir, "pip.zip") with open(pip_zip, "wb") as fp: fp.write(b85decode(DATA.replace(b"\n", b""))) # Add the zipfile to sys.path so that we can import it sys.path.insert(0, pip_zip) # Run the bootstrap bootstrap(tmpdir=tmpdir) finally: # Clean up our temporary working directory if tmpdir: shutil.rmtree(tmpdir, ignore_errors=True) DATA = b""" P)h>@6aWAK2mn%VH%@K3tj!q!000*N000jF003}la4%n9X>MtBUtcb8d5e!POD!tS%+HIDSFlx3GPKk )&@)ux0sv4;0|XQR000O8mVrr4X8%v)M*#o;Zvp@S4*&oFaA|NaUteuuX>MO%E^v8WQ88}AFbv%F3IZ AI6sglWK!%Q8i|&GIOEFPdQbihWeqTzlk+hyf`tC^Hxg00Z+RZ#?t2N-1VrDR(6#dLr-)g1Sex&V1S5 j&RZw?j)Cxb!jE?rlw!%PeV=3piZeHlWWF%d)u%_E^X0NFl< ;SMMWk!@D3cT2P9VnVsFOfP3uVG+CAfK1lAmGoL2GW=)`P%O6gCTxMol!~u^&yqvMb?e^k|9W#^zpt! Kw-X<2=Jw@Kh4xC-v_!nq7}yHgZxhSiU MtBUtcb8d6iaeZ`(Ey{; pqfb5KME9M$fIZU|;zTbrQ)(j wH4V2}o^PR=A1i5LA^&pncsLo><_gU7TD^m%Dhh5W1-K4E?X|)qp(+4-`xjn7V;Kg+I @?!e(V)iR6g|+)XYFtX83uBv0=&Vw5`7_Ll*)JgK8f!4EmqrT(u4@C%%2;rw`s^lzw(LB}6-d1`pGi2 E1r~h(SdS+l$q}g(Nas2Pk-P$L!1)@jW$l1QVAAPxihC=h5=%uuVDU?b&O7LIWppj0D{9}HaLM6w7eR oeyp>A=+nBmjI04!=4ccIIEnV_}z~8NL@MmdJkoxPZ`-|Ve2b1{{E73Uwvm!W8!oA0)^KIwHAaqSG!> 7)9XqAwfPPExG9Idsn8_HVeM8lC>Lv1*^ozR})45znuS~%Dv1+EQQu~1`+x<*~?L#|udP8f{<2!-{7w o+zy5j^6|>EPgz`xC;Bu5sNgIu|4k(YN)IB$aZo!I+sf`QZ&071>#&|70J7UZU5E-6^(}D )>mj1|(SDZLS*)b;Xwx n QU_~wU&I;{fOF2Mci9WPwjdPM%#(DB0z3D(uVo*DRui17umwp 0kv%@VFafbwEG}%h-)h4F7uT>=+M#DQiCotRTz(k{ABdWVapce}&sj0OH?T+%WSllq@yfI)@Z&}wA#k -ruc2>N|yxm`BK)=-WPGzwma2-yrtTi@@w8FUzmBY9_gI8;0J~Hc)u~{)KX6)2kb}AyTc$O4Ic~6oXn 9pHU3%iqg6r3iL#ohhYEvc9PUOg (wPU&wIjq-2sIsLv%t-ig7;6i >8Jb}AKSd5>V3ON|`hFqlI|11=dW2MyIl)Y2=I6LYE`hu2bR8c8eh|ZhJY+8lf4#QwSoZ|O1H#AP lR#-<=>ea%oB*hIS`J`U_G<03sm$j_?DTQwv^ !(FjKOL>$+(OB x1)F0ec6S{!D3SozK{(*^dtz%^#;sue$O2*eArEH$=#iBuf6VCFo)M7*T>zK#J8(GJ}b{Z%$us8oB!| F5~napZj0arB_wsG@Yny)<*sh#+U+nP@g{0pb^&}+2ZewbZ;%u=Hoy^;;tq07h~7h|~gc{I=*cgVwMZ B5s#Atoo%{YZyM?L6HlWv^RCIp%e65>`BK~n>wU+5>~y}PuLn_9%o0bnTQrf@?&)X<7neOTkNbP i=(TDhr5SMc;-g%jAh5)mo=`SX^9Tor$YEBeLfqf?A;>r%ZA5Xd`vM*+A#TPoYU|(HKif{ThKTdb0T- fe(rT?dY@>EA}NKIFKeV7ew(S@nnNE~d4F*8s{HfjW&-EuPm 1F&oI(KVBqxsSo#GkPkmQL`P-rxA^~j?u@yv{dRRbLK;0!^d3G`< 42lp68>Bi?kVW1`|)l5sC(EXLZ5}vo9Y+vi|^3O9KQH000080Q7M*PTjSDbUz6I01q7i02%-Q0B~t=F JEbHbY*gGVQepAb!lv5UuAA~E^v9B8C`GNIP%@Uf|oo B`G_;BLDqnNKqmsIqjZbY*F*Y`JVB`#l {BeG;tkq5+ p$Hm3P#bUws4Ht@3e7D21?vYFTOP>0liax8O$eYDh@I5JbRnY>;OVR<{ijoRizGa0nFvzb}tdc2^DR{ kQI}5v`Dr-*ak=I$p9t`+AP_7>3!T>a^NwWj3OD@vpX_pBqc`FLqOYn*Q(K10%4>9>S6%xd|0+JPo6q EmO@dTIrOw~ZoVrJQvRW!>;F7Y_4c%gOYFlM!)qRy+-Txri_VX=$6sxsL=G=hUP@;s8F`z9-yu!#5Y{ 1zlG6c?vg&`u2+utWOo>)qGv>izZAzp_tXZf-u@{CXa H^-8$Rl @Fw5$E55|fXi$zi8Qj+XW&@FpjE;QegZo#0eW-7} xMl9eu7#B1a!}3idP`3l{un7iUbXp>^W=nRf5< $jH(bG;kv=H456-{|JjGFRq8_P(1_3H^and{_k(}I}?oN 1D=1)EUG%XYqSWAsv|w9Sth5$mVlKVXW*SHU &LF0RzD*b{MgYb-6qV(aiO`RZ5Mv^?!5l)6pf%IqIjh 4F9}@uxA4QQz1WTWeEmo5-sJYnZRRF=l4^&k7DHx!miIiRZYLjjTePMcAL#Eh_z+De`6&z(U8bGN81y P_%hZO*ZzJAg}UbR$)aH|=Y>jg~n2GV&M8Z?`Cq8SV;V+z&V!LY}U3NFc2D;3|f|575EqTp?=>m=Zb6 5O1m4J1aamf)xG2r 1(xU+Q&^Cr?NlVOd6U7EWFgfcx%~+c;)}7`A>XN(zCxxz~6ujyDBr$ #h30LPwU6s-aCKn94h8)_mlgzqW4nOtf*UQZW{;B52+LUaBq$-RiFglEp6!_dX*J=MEUX~MR{NUR(FH 8JJ`xuKmyjITdDZ`G3E7dHUNsRba@Z24GeN^ZeV}(UCTAI?F)AM?kvwrEapP IaU7vhy2Zi?)yeVlmHQAAE9%NGG`6amMucMHKkY=i#FHN=KpZAHAM5uL&E7RX*!y?Q0d_5~75ux O@84s&zx#Us{`ThP_RHt%PoF>BUk_&*!p+@7zuBb;uhhE9f>&kc0ofa@4c`G0y|x4P?bzjXU5hP5Dw~ Qao0=tU+|I;QBpX?N#@-BIj S2O>M|!jYU~Vn=!1tZI&W&|kxxzc#<%1yp8uyV29X1{|CmhK^4# 42zol4QrG1^^uUGTfJa9bj4aCG~rtkcGC=n{CdnGRg{qymMG*dN96WQ%Cn>p%@wTwZL!8h-4$;9jv0F XeU4ayhaFNlN_&%>1QblSKPH49B~J7C9atY_x`lZwbhcR#T`)0(Kr4#Qd++GVnD#Zw1Q242Hfp>f!zS +xRYzHxD(+1}s4HS8*FSC2T)J)t!^^a}p8Ysf-fY}KP8hdx*v9r&gTHsq<9oapFM}9cy<>_8=l6C`4& Q;41MCILkeT%;mBHoVSc}*rz`@{vQ1^k;@Y3$h25NJ`nWpJ933Nl`YBW`^$D#~Ey8VI~{q+87M6q9L; g~a?M7((O3~S6Z@B%|l+CS`0=rc?e%4`j7GY3I~`7w02tvGFTRvnj{Bw;%oG?PAMU`0=onkOyX&^*}H nZ1>6x5sn<;|RGqF&nbP@^%=$I?IDn%xV&wlI!gjm*5Bb5eD80vi3iQedXKhU%ve6>kAcRNB1B(I9&) P4AXLD;PguH%I+_)5y{0#uQ2NBWFJT6&EQJ2D$5nbmGSu0CmN5KL{ss)-UQ@J0`k`pd@3l6#RUz6Olv %NEz*NH=*CRF8Vs$BaMf?Yvc?n^yhLu;gKj&q^`1CuMI~o6*on9f5(ZLCFd!psrs)`vM4ol~=XwU~&2 lqMej|Q~rjlr^1h9hGrR#8=wg I7ep=aS1^wX lACM?=VoJh2FnRkV;^PZRYF-k;#u4W@QLL7||(=YjdOrMF5 ^e&IFgJGQ0MAuMtxDgKf1VGkW5g46O^2ri&|`yWtC0|XQR000O8^l> y!qi76(DhU7p1RekY761SMaA|NaUukZ1WpZv|Y%gPBV`ybAaCya8TaVke5`OouAe@Jl4jd&7a`Iqc3$ *E`4NkH>NKypFVj<8HZ7Y#Um6X cYqjYfw$g3OV%0sCX0s{urh7DQHd|Y>6ID?q>7CNKu}LMf_mXZUO }-7Qd@h %bf~I3tcO#Wtrq=uS+BIj;fONHmyzC*z(l%oyk?{lCse6JBk m#`NnibPef|9U$5WL1tx{!2@?77+SNU5ydsdW+T(% JWh)}Ihuw2dre$00){pYGK3 4OmWgf_p)rFi!E;Wq>ISgS(k>O;rsnXx-rKQ+3xrk v2vC_9uDmtC498&$vHvnb_|r)fN!&9YKDCpZTqvw8 -+*IYhy(&Yw7i-G(bi&FZwMjY30t7Q3#jf4d|^g$lSH4@jt&xrUYv?GR?e|OSnpSJ&A1W0k30iAbVHT JtO+93N2a5m7-W!g{=0$IV)I}rP-@I^$NJ9*l&w$+v?*;`Wl(w1`fh)O;hH=!5;xT`b8J4z~Mq5#l?j )jm;DutYUJb%R?tmAk!M<;w}i@gSlFZ6lqY@X&O0It`~zR7ZV>XrmD9QrQbcuMzs_X!nzo{j}!6+=eM !A|E;(-TJ>bEsgO6EB@02~ 8CwKa -ew_PY%ok$rV>JJxzm0TKsIyZ-l18J9qcOi&TwYE@1mQygrrvM{Qe;`}+E`MtoQe|RCr5)|f@9O)L 2CS{2$QW(M*0WI1U%g}u121tAtWRyd1nfZyxJG_c5r;iXBG&4tHfUFnyP4{w6d~R$XNl%rz3 Y^kr^L0h~At^?uGr8Hk&Te;zmIPjzL>BVJ KKXPRnGTgYJ=Af4MFCu(H&P`xIN*=)FwBtKC6Di5JsKYWiioyX+YtBp-+P@CpEJsD&3r%EIq5Vel%Q- tgx*0QH4BT$xc%(G>`BKd9wS+y(IE>Mi&d_Q(3b??r;o!QheDvrs#p9wZg?D-3LVrV~Z~(_r+JK)^S! 0X(K;Vu#uL&m+Y-0ECCkwHHf0@4|gtO>Gcw5U73e*+eMet9Uy4%JH0HgDKRh)>QP&s!*#vNn5R#xc@L VOr^@;!WvK1GloFdA-hYaw&Vj7;JWawP~ic@i0Z*-c1^_e9isG*RrZD2|h@`j8hJ1Ltll2-eTSbS~ <_uB-FDnZ>G-oWe5s5R+?aNdFw-T4i5&fR@rNs3KZyQa{BTCn-MmNEagazE5y&eqhbJ|;cvwU>BXsy3 _w0t}~JYGH-9-b_3ZwG6wsvE04t0Q#Md4U$LLR?x1KScUL@f=Dm`oU&sAq-j=ZH797fE2~!VGwpiqXM F`n)DE3k8Xt8oO(|>_lI#<;v?zf+HIY36Zom0k-enL XLrkpFo|GFC%VF{oUFgPVzG}`MVlHi-_Gopgv@(!rc4%%372$5C}`nm<24tS ;ET>f&WMTFS)w@`Re-3LiA5>et7=sk1^@kqS2`=oEj4R*sd>Zy-4S gT(v JQqWF@kh+C$&U;eVwsbfMPziHV{&y| qpm2107#dmLpPn}x)*c)CXOf%V;chrNaW;q2kC2q4MZs>&|Hpx4S*fIMDz@g7^2hTwd9+{7UKivwUN- %n#(#q~t)0ctO?YYbo7lR6a%lS6p;coC{_Fe1m#q)ymWHYJNBhGB{LU^lACKqr_#Y|nz{%Wedh+kvL9 6C&Ps8cU@Up~`PvfM^dFRJ8&@R)Vv;k*L8&+^bIqC(Ep?J^&E^$rSPWywNdwN$I^PWbNW*A63n{9#iF zEWW-8zvUiWdhE5oST`u+SE~m>>LrUX?JeSd~g(lyiWWo|kTRD;y!R#_Kdp=m?(NA#Ak@*zz#hN^I}j A#JF)VY&LPQHi)pHi<|cw4fKR3%U7SX u$9YBZK8RYJWP^=Ucy9ZOIK>X+{Re ?!0{|S47V8S;aE(e po7Y(@5J5h>UipH%^auK}Edg #( NREv|F7Xd8VIsKdA~=<8 Mb`?V%6UiJ`y;i^L9W ~9?XqfGzM+7Tv_ ~LD5h^rl0I9Qi8Ql3FP)h>@6aWAK2mthPG)@)G cZpRG006r)0015U003}la4%nJZggdGZeeUMV{dL|X=inEVRUJ4ZZ2?n&02ep+cpya-=Bh~AXpjaRhnL LxEk2QrRgSJWV2ahleC4;P`MUuvymkoDX-TT i9sqW!g60ZI3>)T0s3V3n+r^iC96shEAI <$dp60uPf-c_*|RWjLz1(n9&PWC5Zsc%F#+g{Y9-W=afuWh_wFxl*N?gwLLV{GXQFJi99E@5E)vGm%Y 3 Zp>77*d7UWgjO^Ae+weZL52?I&o1tf-f+SW4H$wu mhV@ecyt3;Yf*r_PCo5Qo}eT90r^IraZ{d4;Chx4Z|(${aVt}d>ggL0PxkEg^kQ4J}?j6GmQ`5!)I&% XKUF%84dlVU$%-^)ckVHdyvzeRyuN)5lS#O}?$f}gKQc|4!6H`^)~G 0qh nqF9v*txc^Iym!gGqL&IKto2gy~wr0%)m3)0%9u67?lLi_;XHCrx40=mEQW_2zuaUh@5|U|Vhcq$H;A 8Lw;bp=}LMOAvtC@Lc{^pyMC~@a{}3S=ziHx-ogCk>vvvq?m%&0#EGppU4}%01tb~-wW&gxNi+&L$py ~bSeW&(X3oDU2fGvuo!Gcs~fqaQRRFg;*<1b!cI<4%nVRHjnXw&wMK -APfp?Gv{9=^YxebYj@u}Ue9tN+mLSr+1j_&kX_}w_9aUjKY-Hq-New6`Hee1Zi0Y_7&{}5jW8Ni}=q i_W93`O9$3|0cKr`<_$0V5m$~0;XFpevcjLeWT@)6_6Z*R_DpGBZt1;p&<0eg!^byJCjT*?KFdw%)qy C;`t(JC)*d2Ysn(d|Jq8}_5jjP<@dzj}8Tp&R?u-Wktl=bokl;xsFmgwx2|t}m|Br?0M_T|7^pU0j~K ;pw|4uW1UPG;wZ+`%An-_y &pMc`5!W{D0+lIU65EaNpd`v+pktOj_J3ow3%3G{`$5rTuP(-abid^v&9WsVY>f E)8HMZZ3~DhuJcf8(RKWeKp2s7kJi! QTLH!dmIlZRON^6dMGN!zNkKz0OPe*pJ!j;n3Hs*5xOHOu &;3F_o6xHBh7N#NOQR@j6j+ybyAy&GE&fdq?l$=l*WYtu9 Zd~2YswXUPZwszY`0Np?`;=T~w@AeDNODYcgkeyaLl`9FKD3a7~l4;8GugJ=*Mi%4TyiCi@%Bc1T9e+ >fnpFux+bnAB=UX%vRcNjHI-&*vSsY$ !&?qOL1~AWxLZh9iFjI LR#F3XR-QEXI;hFl1c&cs%>6-Lxqf*#*S ?|6X^F9G!YWr9A2a`v4?lK>=ayakS(t3imU+E$4P`b8raWMFx41=1-=(6%hH80 14s12Q<~p@YyB^j!WDGxcFwe5y;L*T1&}SU%$7!>h6BsUMA#}~j_CN%#L+8)faP>X~o?ZNk1BG}twJi p$>X?IdE$J;1`11@2)PQbbljURL_#?gT|IdV93v4`+aFKB n5p=>6zv&Zv kky{)8glF37h bU9f$E8jxUau4QPEBP)wL_M2`LYs)Gn{A_jZt&UgOL@_seszJmAfgI4d Dm2Nqep29Y~j{a$94uZ(p`erD55AzGmfepp59d*O3?ml?Bxjwys$CMTH3}*z}KDC$dV*1Q<1FP3Acc- IeM+ospp^AL^zQMxLTche<2`e^m;Et}No&mbc4ij|(BJm3`xV!de=Ks)NtT3fzIl_l}yx+7?WYa Q<3k=i3?K8`|R7j VEVEyn|7k6QLHYYjgG5lNb}tyCI&FiXZ{WY0HNCF+?5pWxNK(((3@{-Rcf~f(=Yx1;OuOg#(an2V(Qz Ki=0KyKWn1!|KH5iKm*PZs&nm!&kYdYPNMPL6Fz9U1L?)JvrV(M};HuehzYTEXa2hw1!CWlOsSuu?JC JY&i5WM{{iSj3Ura-s{C P7M?uRCoFDye Gm26MW=~(YoPz>=TZ0ptpFNr2lAs%eotFL2I5w=10m7K^@R|`aMN*Zb8?NRu~~0U&~I&kA>kE-!7T1% P~$Ez5MQQB>u@&!5T?E9%C=5t@<3d9=Aj-cU;>c^A`RrTjrZZ>sJDJYuOm)88m`rL;fkiXD@=3-my&} ?H A4R1Q(HKMdH6t|vID>&IyVR38CG4oEj) ?VQNu5D4mxTq ;?&CQOiEKX`V-vf$D80ATLvaQ(ye%GQo=QE_5&d7ep_Y*|Zb(yyZc8NFi`_e>qSX7dsFSj|?g+-gYm@ `g(=loeu+T#df%_CRXK5HXRNQ~^>{RrcdN|SrWT`A*du<&ZC8=l1-YsHT(v)&eRQD)+Mf&UM*?+mLqL a=pRS9<#B(F&5T?QOCsH;<})#UE9&dL*^p3jOGtZ~y+cXXZutx&Byg|G;w(ZS;}Y-s*rUD=AK7Bf 0e~Pr>*L3H_%Rov@H&aP51}9-Dqzc?r goh)ZCMuVc}^=1KNR(G6G5+oo`)LJ2M; 1XQD9uTMYRnA9lY?$4=RRQCh5vW(t xhYc8txh7$*OgbAGxa@Q~n4 f}~d)ghYeLR+_7IDupL^j=F43Z>(&|9!4c-92czp^Na;Qzt9UBSF|O|P5Wb%J(~X9YcL`Qq~@JnS1hf 8uN<3T$}6#?38L$U!{uffR5>^A2H5-cw@l3loLr&PPyY5Iih};iTN$jYw}rx|br)NC$ls1&aR7vxrt5 Gk2x0Gj#UNbndRRg&pkfA^(x81GDiiZ+)bs7u_{!^R_j@e){RBsj+?d2XS< z($KiUS@0jEuI83Usi+ h#3iA39WKA3kBQ*3jNPnR(N^ KKJtfG(*sVFDEX2+qbWlO&w$bb}?s*4FT*?CQbkEw$-aQXgV7d@k H&oo3Hi5tALzl+8nCdfYu0zeb*T?6bh|)V+I|@8UZr=FSio5j%p U*#=I;jlFo`8Y{{%J=3B3>&zZ3o2}^=lif3^97gx4jzqs{kcaYf%Cn!H_3Z9ZMtPykS6Qd>Er oti8sBIB(IKcx*>-$%8usyDL36ia)yN#gQ5MvSrurfKRgKC$In)V$GHAZkMwx-KTt~p1QY-O00;o|aW qc#dKvH}CIA44hX4Q>0001RX>c!JX>N37a&BR4FJy0bZftL1WG--d?LBLA+qRb9{VQ;l$%txY#!1`ht UK;buIn`3o5Y#e>0@0lO^J}iS|U|~w5_Ju-@fMofB+w|-Q2yqbLVO@F(1Ie!NI}7c>$ai`AS65tSYNQ Mv+KY>%1sMJW=_wDrLm?J3IRMbe@_^xr) 6CG*@bYt=YSc+S!>Q`s;KZM%OY+@ aPbxPg(HXL%t-xsX&FtCfq?pwh+|_zfs_UH9{LwJg@tXv$c LM+9bH!`)IpWTrJ>)^VXE;?0jEy1##QO-KiTe$ob^Ckv6>R6jnA-u`^@_UO&&=_@M?ppsKN&43BBcp1 vusa%&SFodc7GFFS%sanP5bTJk%=w-ZwSq?>-%x{6fOo=@hH$@8K2slx~pH*C3$s)q3)K!@|HcYcb-k SPvH*b%-$`WIRGMnZJ$R{iRsxpVh;9+M2TnU>8DOAdpsfIG)3Wla!MEOl7JA1};=Ro4AsfO1;{Vm0{_ %s!;XIUA+)BY-}RM`fC9pvce?+#xc|8Nu?{RA`k^!Vh>=@|Gy<124dl9!WsdR48XBn9a*g<*
GbK*+55L=Cnv8?qtlniuloVO08)od#WT47E-mD=%!|#IYMZ q)B(Hyd`!fi|qr<;N@7}+8bNuG}{+d;4YJCT6vdrV;ZIRDGHY)ggohIF!a6Pq?0WM({&N>?1C*o3VAH M)aPnQ1{?~4~-?mgYnQcj%ERE?KoaaOH?(gFoBOwtp0K*R7pgZET?RKxC^Z_6~hvMU>2w_EHb$pS=#^ aKXn-K)Ms7F@`VvsvD#xKkDzri)P>)Y25$VQD3f=?#e^E{bIi#G5>mJ3B9*pGIe|PT@Yl$9iSKcOwBh hc6tX2xm !E_QZyP%Oy;x~k<<2pxV!&w?n*;uUC=BPf>0nWz*9?061D2u4 id!C*jt-@*JXG7$^V5s+aExrV6#1@Q*gU92joYUou=;xdM|KUky(M&=ZQeeq#{2*AYv_+>B_11*N&2{ DinOHuT(?)G54DHmKutDzx3F{Oi%QyAE3DOZ3OEmhd2OFv-{XoB*qxezrbA9t8rXVk^>W;++>4EaJF9 EjoJTY@^=w@~^j83I7P{_YVJxx8Q7u&8dFhM^LyhX8WDvD8grK7tyzl%Vb{<+WT=#aRkd*QtrWRy9Dg 6Wsa!7Z 8=!nyMu}R5&?p$owu~wV jAfCbZT0eZJcvsMe|gXy~Rf!LB3h*oo&HS;yt=xQ0c ^A_$yt?@)Z9KAzhg26b-xGoQ+JIw*;sVzGgS toO_Xi_*3=%53k{fk!R#Z~YRMe TK%UCJ#8dxIzE?>oIW?eObapAxivmONMRRjbEdnyWGm7R?RSZu2`Do_m8mDcQj2qr+Dk=Xr~Rb2BLYl pTnvWvNH6anOJ@*+VA`r%^@7L5m76USB;zi@FRgVNww$ln~q$e)n_IM=^{z6iPqpfKKOX62roqNzw4; y&A@6T#Y1sU>0kpyuj3d*na?G@Lusf4x!I>BJX?+d%Wt16D4LgVUCFd*zk(Ip LhS07Y)l#@fNe%ozZS?MzUV2|^!d2s5JbN4j<38Nl`&)q&fk!N4IB-H(u_9wR<4OIYc^yj6jxSR)viLW41PpX*0Z-)ToLEl|CdcXdH4@zi=OKKtzICNAd6lgdA$XL$)y B8IVuCnz*L1jjh5fleTlX~cn9Z{m!E&99Y1HS}I1MS!M7Ud kLY~z7I{Ke-UDBQVbK;N2+#@hylC rh#!{|1A%W_F5!ztGs(*^46*9$pXz9LTfruZPKk#_aZbar Y!gLy+9VLVLRiNv*3=5Aq_Nqv4MQGC4(y2yq9cAioiLRbUrAPIi{mLRK1zqCR9YbS57Rv~JXYSj0C*T Sgz8H7vP-=SgCk?We4>w7XK`Psk<2hXIWqB5y!gWD(fLzQEDq)S%zQ5S~Q{2+%at(G&+`BTG<9I+CbW Ed+^--tRD8uerEdx22saU5h*i*SlpN7UoGvstFK!g8~E{;HV-@^8$VFor+VJ d)-7ts{K+Ye7X~ijNpn$XA@$|nm+c}T1>hA_-{Lh~ &8??O#CY%fiWoRy1;pmK!bLXp)4 J;3omP8T7ix28thj5PmF?wA0_k8byBm~C1o`7+lW`lMI7BWsS1>m47Y94%OvFhNEQP@3$wg&qiMs3En rC-TxUM`@#?J9-y+7({Ks@#38DF)>Y@%*A68ycW97U)y3Gyq$;m<&ekveRX*q>*4K%IQIe(&dUEDnpa Yn*~bQIeHq;q)pNY>{TNy@mx@*2I#72M_~b*BLGX#Oqx|!Uds&LNY-sika7}zjyilOR`G_wp@^BFDu$ 8N6xAgdbqs2w>Qu)y`V9KdP l{19b$!)M!;1W+*_xS &A!Rrg0~b1TJ*oadX<2)JD=n4j*S0gCtcrMy?A5?OGxNDhsg2fCj0Tn7T==)HYKBXgovPiP6^esy*}0 ynz|QLWO*kf-G&3r`gv*8ya;)4-ZG#w1vjKTY%7=NFaqKK@y6$tj%@6at2Bkt5hk<-avrVZ}yVJ4uZr 29f16yAOlfVNj?^vyu#_kh7Ud(DzW=g%$D&y9JHmBPiX&rhizICZ`b6589^34{MFs3&T(c}e>*m4jIV GaqqpR)IZW&c{N{Kb;u@7P^J6_OYLQpVgv1F9@ov8MxUPXur&EF@=a%(Zi`Ff|1^d;KE2g?$yaSuyHZ }`6rWVk}sOg6Qb26oMi1HD@WK_^(HkIrikX)JlG}9RA#Im%eO9P&n#88-QWTCErpQhyYp0k?Ic`csz4 p=^&H6WQfH?hKYWyX`iE5$2}8FckeI_T <#iI6G+)@TI`50BoRMQ={t91R rWk#{H63Q?3>*4de<8u9rD jaN?>iWhjiBf!&O$bJNCRdEU8S(;Da@>V1!kcGYyod6h(nHbJ+xs52Y5{djag?xYGq!=OOaKp32Tj}I %$tF>bXFYY8e-H4#SLZz(T3&&sTzapka-h>fdwm)!r8@b2uu5>B5vjIVI7wl5wVL)93}*zwmVTTX8}z &8GaQ-JA2gBq>)E)mkT^t9*sdd(eN~R^bIOgDm1@0~pA{8V^js#r#lAVFx)5NKsZfgHSn)!Vt!5o{Jd y4uxI=TET-{h8+ahBkdY&DdafW0uLBIU&X&er%u0U*M7E#hR9dXz81T8f;n8~Rq_Hxu%Sq^Cuf!yQ@I 55?cf}68Y7Ly2p|9Z`l3B_3DQEXVr0}+4n`p|4W==}U$~Iv4Vo~s7*?0WI>tq7(DEYT$+a%fq{o$cwU UKNLWJpholYA}g{?p%(JaR0_h2u4_LY-s(} 1uV8;m}jz_;x+|#n5z)0C%FTTm dJ^m#udkcc!9i*muW&YcOWA*U_~@Sv4-w|<95chNLtN=%`9M6Z3UqQV!}Lms`AXYgB@^4WKc F89 Ngy0e1{<2^N&sk<-g?Xk%RRko#wAFc>zy#<1#4~5Y1_&K=)iaOOj)S`s$s%+g!^&a#0&Sgif S j hHI=zEf`+om={;P!G?CYV5^uqO>^G`2F*Fcp0x uR*>KAD`HiC#*8+B@n8F8b7TOu4K8$6Rp^8vxc6Nb^(?pcUtI7 IIEE6lpEgAcC^0dCeG>dCTyl}J&J#qsx@vx@}uI-*q&nywbew^$*tYfIq%K%|9}clL8K~5Gtv %HPXUn@u_}i%SBr@i#d0ak(b*5}&X`o;Vmqz!=sB0z* >-pM)l3Ux~o%(i$7cBY3N$38=VKS&DI)kjG#jGvHQ8v3<*RD4Hooh1vtW3Eh%4rJw?9TEHD@TBJk)Rt {;Y!31OF)zw7hmX3{53pLRBoak*gVNF4QYXMo-%A_CqCUp^~Fk3OQLUygc@C;gGJ`&^%1=fCQuua63+ )!*7xTQke_r*}RH>^FPnssU097x1S!P>QwAOV5xaT7>jQ-=UuD&<54s4PaG@Od~d@@gGC9fdH}P!72Z ZeYq%Uj9-JNe!rJ-_j!SSHE`icZbL&!%@T3XM(l1{k2!@;X7wEIsEb%6N6@;@WSXRWIuRPZ`KsZfXiV E&|?wQ2+|z&6Q7$sZfqck$%sO3q`bgjxIY|=r=# 4~T{JGM>s{_{%T2Pv*(c4` 2er|#KeXa=0eDhoAmF1B|6?2Ce%4I(Ta}lx8xIEQj5GAF7cF>cuvlX1`#NZmgC oUQWQz{ Gjb*XfH@SGMgG|1pai)T2CKxOSe+$bN~_95Uq=d4UM2##s(8ZlGAjBVOe&MxK1+)N >B`wN)C(3aD*z)% y^m@BV%<`sEK>jTcPb5EoE jys;3{HbiG_qXiF>n2p>vi&6>dJn}51Okv`~GS9C-QlwY7#DN5HWIRroj4X62>N%~DA}`{lPE)h;6w5 Wl!rp}^R*eF|H30NEi$&lQq8MJ7y?Zlwj+wpJQx(!?TdJhYo;fFB19`fw8xR%XueW%?0(>oT6LY ON>ijBGIZ2}(Z!Kl^#K$EB 5ahDkKGIoP~s7#>6&* ?Uagy51u ^jFWl+wtaaKTr@3d`q@$tXGfS4H^r@wQyT`Rt92nkjO8{}E1;8cNyF@J^_WWjOzzW>}Q8YAkfUz )p0pOC`g|*Y0-2fPip);(toxUYM5EZwNEKl_0_P6Z@_}^F n dXojXP1}Q$mOM2VKfXy GE2~GBXWYJhi?K#wgwuCL-YZ;w9vc$(*pBpJh6e$qgrO#rOFT_(%WA^3y 8Fj6 XM2NH}8I&HFmIZoX`uqtRvMFXD8EcQaqYGkEswKQVzsB^+d52V{=O%}a&ZDT`AD^&!OeYpN&-n-g7O$ o!lenl0puBG~Kp2Mpo-9x6q!325q$E8cIShQ@W(S@RHHy1jWO(6en86S6vXVL``!~7KSJsXl^)|G}!% n`_#AFr2go;a0Cz+H3+BIcjbtLAjxYRjKP~m7c!?4J;e1#jq!7~2V9vpD|=EaF)y)N<_%K*?=t%uQ8W e1ac*YW!Ftq8u{6Q7BvdwYAMeh^lC69k+ U-C@rq&S|4%0;ia|JUq-63nn ^l^KfoTiv;AM3pVCi>=;!xsb*rMOMB sQwz)aG~rUZ2pzyNpk0I@*_jNkwtn(PaS1__NsO1go_XFU)s26ch~@&X6z*{_DVZ>n1L05I Kki(0i!?;bSR$hNOV_X9N*(E2d&1A}uF&vkwxDdhQdS{2&t=>fp~7jcrHMr3k+kIczOEJd_$r3XYp`Z mR?Fy>oR6;mZpLeA281xi-iH^B9G#VK0xTt_kbK+1ILq@D8lXq0#n_ka %|rjW)mU@>M0i5?83g7|DLXUVer7;v!4_h)E%`u(l9QM t#|kdO(TR}8DAMUGf`=%EDb2l^v*dTjB8R)TxfS5gWSTWiqi*rYj#s*Ywvqt{dHrb6}*L(76vWu$knr oOC7Mk=|gCduPFiwOUo+FFlY-a190=ok#Gu67)(fjhn--$By5LcZj;Jo!g9Ozx3O06yyU|vq;vF9jpS (wl#PpohHRHyDEZ`9Si^mEKxDv(;;Pqfo7Wa6hrhXowQAVJX(-YyNJ#!|?WJ8dF~c5c6VYSE?YiM7Z~ 5c5ojyEL`$9T|j)C}ix7u!NuV}xupW4G0XxTUJi37?%37g&vRuHUiK*Q*17>)+frGMAwZ@8MszFx99> W{B1_9*CC+3MIT+u6mw1I+?g3EsN5YRhjG-yXOcnCH{)R?YCI6;M2aBp4V3arQn|B6zGu10BV4j<5^7 X0}E8w*Y6j&JjDEdaDQEJq3z1$(s<|rti`0j#Dm?lWHCe-GZbSaX@7_7VJdeX`>4PraU2FSR2!53lI1 @W39Ee&kb$lT(k?=*GvFwP_V64(}M3q-f2M#f+`KBt {t%IMAEsq6V3&7 f*rnKW{BX5}xB{bk|XH8)~pD}2`^D-@U#?L|XSjR@V;LIo|kM%|w6^bAo(TSvE5!{T@HU6E9=qyOMib wGzFUp~K>;ZC5fb75wDh^Zha^K*86Z|h8`hmC_ Z0YCIvC{H;DO$$Kc6MhB;_Y3Ns!L$9o!ng+(-^|O9KkenuA ^&dof}=B7#nVRYIZbgf_HN`fY7XvawRH6Zo!>|8C*w5|Oi#Xa}ix%n}}<<}iWJ`28> qya@<6q9uCXRpExF($ v**tVRTX*J^_yQYX5lvu7vS2@pxKt9-a=x>3t1+hBHn?BSJ%Gk2N~G959Ka&}ukp%qL0k`Aw9z%#BGJ UOq>i9a%D)rj9}59F-e5 om%bKDj`C4LV-uJ`>4RQfutJ`Q5}>o7(p R54up5QKYh-UH-yoLq`9Yh0$5)wybk^E@Feh;5{=VpI?oc43_hlRL6~BfswW6l+X_FW+aYdL@Rc8;jj =G?dhe`>>FgqvkTh~%>Ri9o9-=bcSrvk`2+|l%9U$u+fVyqlKN#MNY}PG@W;ox2W@@JQP8-A>5e<8)M kaxRpTIytxKe*$Wa`WqWsP#N}GJ{0&%j?+&z&*t=(O%ckG&@$QAA%8H-E4r$hpoQrwh0#bfJjd_?0kb k4WKDwsJdUb9xi%=nEyfxs#_Wv=UUCSNZaK&2Z#YfAyq6dhAC*`WVb*T=Hxz_Pd!Kyq?Y%F`~NVnKQ2 BBv?Bk92*Q3*Uew;GIgDEO%926;s_28>w&_2p?pNTb?yi!&3dhsu#&insk&X&zjdgw60!u`p0Qoe-BN |)3WZPVcl1|@^vG(mK`@81%9ylrAPZyR(yAz*Wf;Bwg2-g{nk~!xn4VlLKhR>e|dkv((d@H@MvT{&eY 4WXeAlJYIBHsiF;Bt%{oO>-d4Osie8$^mu7Lyu5+X|4Hg|DV)v<(xzLB{wwIq!9EJ06-#N@LUE9)O=h OdwlE~{P^RxsRxz5!SJ~MomPYm3}^M0?=vQAOa O>*GON(#!TGQo4-bOwztIvER6Q0rM(ceLNLoa47y0J 1ysAel$)p0g%QeJ7BQb!snln;tpRqa{ik1$;586?*LOfj+3VKAhku`bgFpZWYE2i-Gsitk6EM1(uF0! F;{svdeT*m%9}HX9vV}8e`GgSH^U6gPGe--=Z%`MHD15#yRgHjZ2C9%vzDx9{j@wTo;CWxB<3CdAhx4 n_7$-8yX{ u}kO pkyiFoePG^)p?enIa9<4Rq&*m*;YZ(!siP+zeL`4j^v*px?A`1B1JpQ;(t-YK4}5H&A80VSYsU(qsp$ _`>#GJR-iyEoy8`7R13YkAxoI8bVh;(y?YI30FlyN`EmF#N=s2$o>+6mGkCjdonCs*T3{|#jKpUY&%{ kkVW3*oJ2Gx*QzC)tV7h# qkIlpW8ss|0QC9}Z9H& S4BxH{8CDVNmsF>o85GsR8RRESeE;29-{_){CF#moa5 4V)Ww 8$HGC@3tAjkB&~V(pB$H)n>DJZa#I!E76!vF@#>+EO1VH{sbsQdEERJMT-Tr;C^1w8tXJ267nfvUtU^ of_7ejwNDk`p}UdX_$K%)h$_RD`P2tPU~h9-KsiCk1Aw?{CJ)|_iklZ;w#7w?hk#R12yuCz>9YxBG9u 3goiSq$Su*~wN3 GTXlpX9(kbb>_5P<3{!%|UbXpgWH8iN!U@8wtD2+E tdw}Qw+g9pw>SiuC&qaD@# -<2s|b)#| -6jJq?5+py});s^DnnIlYJFyPb5cmplKvy;PqefUQ?ESmjU !{#H#mmt`no(VSl0dF#Yoo4gvDZ-OXtB+%(K4G2z6e@f663wLV<9-2Kv^ -%HrZ2+>4xS1JlK3)p<% kZfqU=5DWiZJ xQBJR!FO6q5zY?)O7x6@&9M8f>xlXO>FS<;igK#sqpQJQ+CQglQ=sM+wP6ApBh_eTaf(4}Dqvv5dPqo d>@Pm%ZHAU?jdU=@_mzUl9r2O-uGBKbPVt}!*$~_Fq?s>9AC9Ir7p=#nYzT9{7cu3zhHg}pCy}i*kPt }|)qEiXrT}=?K(+m;8Q~Z1Z=&mm7c#&TZiihv#_#KC`(V`8)( v-8!_q$c6M4dT^pB4 fgNjYm~`8=O9T{D{k;Lt3xG2gPhCv&N-e$gI=vnN+05rz5CKaZiXht$w`iqimRI!MA-xw^@$m-aOK?3 KzDK8P7~Ao+`=@6+$38Hnj%OWF!7;DYh$KbY$s(__2|d?5os@;!>^ia#Ig8b6+vVnFke-B9(`Aak{^) %VaGqMUOu1f&HsrgKnejJ#Yk6R|$peoSe~ln!XGkd8hdvRAcXHQ>6^A{a@$q`oD$(AOROdczp#%Oj*L lgF`dPb8xA6Y}P)h>@6aWAK2mthPG*0ap`TF+@006lo000{R003}la4%nJZggdGZeeUMWq4y{aCB*JZ gVbhdDU56Z`-&Meb28TTokqeNBg}GzQ{wGI!& |`*LSi1{hk?8vLxF{7We5I XlhyH%y2k!<_tL)3}# iiNJ@Yb|t)FN61u&XTsPoaw;x={Pw%u=&lWg`a=KkgD Yj4) !GutAA)&EdpQWfmJ*5tO(4@UnlVk>h@@JsE=LN6-%{l=D;wlc|RZwWgUw^CDVZ`R5P DU#M~5ldriDHcjBNs1_~a1h~^TZ}Aro7h(0+FN(2Q}tFBPWk0M*@#uWY8oVL99M-y#ubiM-qGyD5;{b xjf&b g%-{H`4`xv* I#&0}isbx~F_Rpwq`$r8cHvq%eV0sFrj=KTIx-1JsdcymqgCx=GeVVb@JO x_A>I# LbZp84j8Ag9vZALt%<2+-{e^g=j9T?^=Q1097>`bPYM`!Y+wu13~NIn#i{QtRFN}Yn55PSp4G^2NoVs a%ZNX4D88*{p{HW6!xR?ZtajqfE8n09q4&Z$h6!ug=(ajn9{b|GLETV(ihsbi$W7LeImRBWMtD@Li^r ~+lhOW}~2KrCY~h*lvItDG64@>oI?5DZn4%0`r25C^La2#P^gg~d1zLJ$Je;9oE)q@Z(^qS(@RN_@O{ *T_f|g^)6_rq}RIqEK=+x?D%%JcTuP5a0r0`c&n}l`RQiI~lUol{)rLidtTyz=YGVi!nQho@vDth$yp pDz~(ddypB6P%SlfaVvnz+eU-h5m3~gat#o_( r*3#IAhG~koSl>xd0q0S)`g=(+Nu$4s5w0ECdC_JY ;>%F+c4u#$yn<5VMBET?%n__tJ-|lFuM1T!lhcP#}s-b$pMC8de&1CRj)x_7B8M1Tm4 n+mK(lZ6Ck=f(Bm>2fm-gP!{!m-)`tK8-lfI!UwQg?v7wY+D> RTisu1=TDH%*Fh5>AYEjSKXX8bA2qafeyjYLRZBcuA9@y7?ueV*?k9|;sr){p c+lkb|affyE9M25ORM`R~@j TRF{W};KM0i~mxh&L5U$Z|*kJv~*b&^fILfGj{~g$$dqCa*`Y2 j-f@Lq6O9uLS3My8Dhn%`Cl07?JNaAfRry;K^pUN8r2qpkV1ffR2edXGEaioNT3O~5Ow`c~VA5!z%cA ky~7m}oes^bd_OMxq$>Js@HQySfaPHYc?DH~)iz?#=u^YXATMro%(EdlA%!MN2D1;+WINdIp<`Q1P9B oW~0H{TrgD28nN-pnnPa;kd4H$9h;TVA7f!oWvdWR%)DsGWjv0e2k>N0_&_zVAEh8(#S($)X7hV$0(6 G(4S#HD@+a>|Vbt8b9nTZJ2qp{jr3zSvSriaaFfNNL?@=PHgM;#B^LK84oD$eZlay;HxIGvN5TZ (+C4L976s`^~MRS3P;uT`|hZEa&nPiP80v1YkcC?ikSzQSsgLU*B 2Muw@gPqeD2xbr@I#88112p=g?)!7IZRlf98u2d4-igM;@sXZpB38Bp;hEF8F1q*YVr!tUj~sOYib qIxrx(nb&|y-yIj(mAdDpS*&k8%e+o*#&8ID^T5tgl|hZ)B+@zN&nN309*Uhp!1;1%sUp=0NCVOzoh+ 2#4iH@DaCXY;G`cUQY=QoGv|rgqCx*N|@4@(e_ReH7DK8T|F(_Sb!s0`0B25RC-}tTdhQVQ^2HBj%t@ zsiQwmqId2N9_0!wY5~jCw)nt<%7QGNZ}YW7Ajy6HZr!kuDj%ex}uJ_om-m18r7>{4%GHg_f1Dm-*fC WLJscKfp3nVN``BSB1l@J5h|-(C&wjW5&L{@$VVdJ0u`ZdbZj NZd%dC;-YhE%#zo?i58MjHC2K?X5Q4LnD(d0hv7i$|4BFvVM!bsJ $GX4Hlyfkn*CW>Z^ka9Q-e1k$&BWXDi(k%P&EAQZZ^X@;_u}>W`->}qcY@**zhB J*%UuTgBwUalr%IVBE>3FB!&xt^@K;Ym9^@Z)IK_uP~CT_6s37jD_Y7*KKi9vEC#b7YY3dQ wbeQ7lSWpW!rjjMefPLP&G4-{F%tldzvj@)w(m)S6s4l5EJGbNJg3V2zrGmaJnGVw)btCne#^MiO^$L zKG3Lz_nAqT3td#a9*e!Vi@@Te7?iSs4ZS_PKm+j&>HoVb8FUgCq*2&KOLHB>oY`rX4dzl*xlZl8OgX MP+q{Y+Z=JhmB}rkyq27P FBlY>iHd# g;%Me9{`oXs1C}}D`P6fxm -p9 i_rs#9voWE{QdG@4<6F&cJE}uv3Z0flJ4a!n~h0r68JAPj8O{7l~WS}%5wG0N0yzDW|8jp|1((bswHv W*(aE~zTOl^e^9bZB7aWxHOw7eYw13d(edKNZrsrO+IO!n>>_Aj&EZqcuraJ%``ORbzIH76!Aj!|3#) &_R!PQB#1MzI*MUWrmCJNIFoJ9fIQyRcQ7+}QGk`jz{u(f%#`&aB^dmy*=IhbyhknlEy#KO>jj+jxff h8i5Jcm+zcHD`mEtP$bn+BbZIiCEI!oDp*l*HQeveN$GUx{e-Qn?JoAM~(7uoz{s6ZwfZrf9bwtOYn~ W@4oVE=*%1V=pk#}-FSiFs+d;QO~yd3<|qOsWDh7S{`xx_M92}4y3tO?ZWYvjbfwVk4(7MaY$<$DU-a 4h_4jAf)#ooF!qB}|W^l2${V@5jzq>NLb0-~z @6aWAK2mthPG)@u2UmScY007XF000&M00 3}la4%nJZggdGZeeUMX>Md?crI{xy?t$W+s2jfcl`>Ku1c_mAj#csyXq=kucI_RbsQhdNw!DP!XP;$Q IP zPdWYUUt*@=15HOZU(o0nNq)pPMt$kAwY v}l`6QWT3_w`)aFB-Liyv|Un8WwYLOqTs)ej@0wnveI9xPPARqtfhXiZkEfcUg|$L)kbvttuVhg=G(T B)yHkwt@MLd=x=f_c}}xty%w{sYHFz`RhJtv?{?d@IN~ -DcHo*1um@(+pt#V<%)Mvjh g~wa@33?4VsfYc? PcO|Y*H *4RM=-T~N+cs^MTwlMUZ+!rOt$fpb5HjDjYrs%%0{pn3zaQUS& C3Cxp16Bi)j(8rxz6X!eZ6kVx$gbt^XuZ>t7{-#SwQzJLFy^GhW~(n@H 4ZL`);zM!Ws_~C)x!~k?B Ju7Ib*T{e}R`5XWI?Tas8etT71{m;9r*Viw (?(||0UM*9tl%-Au0vNzKC?bpmh<10O7CTPthjH6Trkj %8TTSe>*$3jr~cbk!JXLhb%lxzNRx-!ufq(?=zq+*=2By;8~Wuz_T#LR@b7#e}GlgGj-JP^AeWC4Zhl S_~ol|i(^xRiJj4-cx& lq?Rt`Gc&9+Cujw8Iw}f46R0Pb$<5efa^ox+zoC5 C7=*|tsBfNGH?t44Ojy%SP!_~&=!ov0b%FIMoc7|Uc0beS}ZL=qNZrHDqEq}M`RfV$CbFHTRV RhO^#r|17@_t$@Y!Q_{Y@JBhylF@JZpGl^Epug7*C;~W(*pKJW{*a&H|4#oH`}yMH{Pg@;_|pOek{<4 LQw#OOlSIlD2+pKj- U|d)@$gX=p(j 8(gaz_{e#JE7W*rEvZ;nccLiU*{b?*5cN|~<24=_mkEdp I^+t`u-VNWo`pM50qaD;43MYvAs`LZ6KKF(KQtJdmh(b T>Nl@})1D(Mwchn8yo!eF;wpr%5U@q(vv@( yRl;LytCL8yfWPO~nNaUw4Cxh*RR=lQ)x(R+15^%7|&$hqnUzQfL+;=FyT3y`D7%Xu~uxl=lF=ZTDN# 2ALr5V8v*c1TBN=#fJJEl%FjRk)jK8fp)6u!UF6d=k*(yEi?0L@hG5SsG$W7LR0UA34yOqYU(R?i!9# QYK$sJ^$PoWUycAkY~h(e%|K2dt){a*@fD(@ NT;>e7ayhIcF2C) hVxp &}Ry5L$Yxh|@fh*fXHEY5@~rqK+^y8O^o^F-^)X qc4Ax@=)pC|Yt2i3mAD#~u}e!H$$M6(BG`GuTu$Itdg7_lUUaG}-cj!4}W* zlaX41g5-WIVR6e{Cpu>H^Y*xt^ZJr|MEvqNg(3hcB6~L;pUmw ~2$!yX3 yCi7`&sU{k<;G2Me!IV(xI1e2yjmKO9sm7poE#c2j~GAnoJF53ayZ)LI+HQ1}T_2T0e-I}n 1^|F?? -2tz9O#`)rh7nmr)CQj4Ji3Rv<*@dO$R7E0H85Oi?8=C!qDcr7ax>TIR%U?DzvNu2s??xZOV@)Kn0g) v;f#r XWI)Efi<_oi?}P45Jrl @k61&}b&;)GhWYe^0!LUb>XbWf F#_fmsX)q-g^*jSEbW4@%9T;n*i=8<3FFrf!3pmOfqsW=ry=A;i*f>QX^y9cK*S6}qAAmV8sMQ 8?bCh><%HYEi(Z5#n9}!KvLFsd0yURj$-db=8LTA!5v^d6+pX>7{@`6X PMqi$xD`=6VI{I|ZbaNG|3Va^A6L$*8q#%Hskr$p$x#jlHjZeK&c Yv*Y6S_9)a};5T2J1-v0pL>WG_GKijDdXmLV0WE>udQSVj5Mch3Dsn6@;J@S~k#`k25y3>@HS-GlDi< Os d;SJM-Wpw0IrDmpW8D*_JVkF(|3C&4oWQA<#7)mNRnL<6B0#)Xmb>{ICkjv+jo3mSeY+slo>w0PEY|R_OwPwY59Curc0o{u!u};O2t cwT+jJu6AZtP==7GI5c!KV%fL*@%x%exHoww-y4t)=aGQ4~8WVObO^$q}h=#zFp}>UeQ_iXhb*w@t;` 0&Dn9TPd-s2P(8#Qt C%-)3K|$MX- SrV6Aa%(LbIHY&UO-Haqnufcdvns!O0rcJ1CdP^?xyU`<)A75lJuZY)3~XLvL~jUEQZ*NVev71t<=)q t#GWnIaUu@7vjq$QkcP}EQy K9)uRqIKa~As2*p4;C{_7}#@E@e|K|5}&<^Y $MW%{q@!n7h+~y51fsL{~|Ctklq8rvIA&q^p2FpduUK%00KlErZ?1J(Qa5#0aZ(`lbL9{3RKOq1LTcD IB;-4u%>4Chvun;Gf7^xzo_KJQ3^X(bGF5&V`MZlofCn*aqCCPaSv5yw0EEZHM{PS;89-!&bRB7*G{a ZD-oG*YY|FHj;1E|!{v06>6@|*wKD4Z&DkyIg_6={`gd5D;$mP4lam8D;2g6ssG)S-AMpQ;P?jT!umt vCUnmP~4B|q}R&@nPAYqB;9rs_`ks4%%ry0``^r@4?1Dxhbxdl4fwiPB2AeN*x*85Iv&qr*}7Otb9&Y o^3I~#z(4>4f0`wur`FBb;sK$f(E3oO>Ga5$|V2b{bND1gacdt4vbmW61GDah}3&l?ljmso(Kr+O<= djT}sp&{fQ8g(G>a{&Uq+yrR9NS^y?DhZ!59i#(GOLDH7>fnhG;*~-rhEY_u*|lips X7_zUYo-v7wnLBw<7vx~-dt 8)fl&3&(?e)HgM|~m?k0z#0_>>l*nvbe^voaSrHh?s2zEQs2YuA>Sa)ibYg Nr;M&kS|xO^LMZ+CEH|WGiq& EGX9$BuG{bm|4bb$dl^^O$3wa;-2kRq#KAHVomkuOoJ!zMXwuBknDy6VlH3ov#-sC5Dk95N=+e&Fe x(A2BtijLC)eZk}`v{4Vo!)gXYKP$VB2oLy$Fi|G|1lH|I|J))GlVZYD4^Lo_ibA=6wS#+~P5=$$9dL rB<9~)`AAV|aPyJz3KZ7pyt#AjhHgy@vsfG{%jvozNwes2oE6+iD0xMOG?BmC3I{?i7apY~IK;JfS@@ Ye-m(fYQcvZqKmYhopTL^-OH19dN_*TvRg+ChqX!b*j4o;HUl55f3pa ; )M|a=M)t>IZ7v7=?|wZp`yoGM&6G&0{(=AmU>Dd IeNVZsQUxmS^y7ZE4gc>6)N?d)YXLaRn&}5w8r{pe_2tj7FHL19uP^QGxF}m7{n{_2o;gjhERw@Zf}B IAwWt!PAJP3)g$t{Z5uRnD&%Y!Ku9>n)1()J>9E8t?);$$QbCX|1Hs{KjnQKD7vG>aDzX0J|BU)9{O3 PJA$aLaLf78!?HKE=Nwc1F%!{U;X)SL~iUc~x;pA&&5Fh&M^^{*&viG+;CJ2^$9R#Gq{O;9tB5E{1V9 *ZF!FSK!zDB|Xt_#baVQ6&>%s`oE4lJOHN>Bh7fLK1Pd}S)5{i1giG|x5l75QuhTbKs?DGS+JgfWssZ 9eF39Av%RFSi~@mC884dfB<4I7VMr(4P^7BPF{&mOE4tNKT<(=2$oJA*DY=lm!C_@OFBA{mKt0q6=ly %y(-_$9qHR(>k_u0G3Hn$>WXs2*S@4Sp1!}webis7e-cP7DRg%GpWd)0%>a b!xwE&Tc6nV^T=QeU^yJ)%0lsI{M@LE {cNR>4MPY}y ny>y6)fD__S%f;Aw)Sksn>a&jupk50mhJ|7;TD20-{2 lLSWhLp2d1Mxma_Gb#Dh4Ph#)8NQ9mVrev*L!4q KQQd?fz<>BwwR%5W~lm*Mdsh3~Zj(twL}=KZ6B623s*q<;hFJltEP8)F;IGPz#77Y@}HjsPA`3SE`hE rq(lvJclbP#el_OVtoXp0T}a(b%8sv*OdkOhnVD#mVlD%kCahGh3^+CI}nXca-nnDp$ZZaEu&Y?ni*8 Q<+!}j%3P9LUnQmSD#7O3iHyr@Fj (e< }|MsFkf<|l0{8QaR7pjJ#7Zo_?Qj2r-Ul9l`&yfxU&RRwp>RkRpYweZ7{<~9Kbb373di>BzkpyWV&L| wkDJpyaA|3L$5Q}xG+aB*ZLGlfr2)~=Soi~vcjJ5SlPGNnB6XyOi5{E3|-9B(>(FK+`IHA<~>~W*(Fa atT`WGo5#}RI6BcMo-(W67;;c99Ac;gd=u6+Cf76*ZH_^Hp8Fz(6#Vqo+xN%xR~OsFbFUTH0`Tl4y?^ A%?M;I_TG~ W4z`!@+zkF3Ra^+K&G>{eJ#*lIFji{Cb>)(E4hE`Keg8&2EeK5SJhFpXq@f&@_dkor WO57MWx{z&GcPbCg6aWyN|fF&BZ(LF`$*X>T7K36>iUV5X2E)QKYpX#+?My6#~m3t8f4#;l2n#8;{fa x}kEk(+(4YcV(_xT3oySo)Q^V7F__TJnt~0#mXpY4h10aFAibjhUWBPopcTQ_oSBX}_6MTFeh{^hxN= )uqVDHkET26RuTmv-y?lS*06D`kdU8vu0O!N=oB}Dya5xtqNZf(s31z1qE`XcA#(~yW9a~Lx<6_>Yj2 fFa?5fMpPS|gJP14JYyXYHoaQxdrsviwzfd2P!?NeC6@|uK)89Ua!H?ZF6qg+@2hvW6-1)OI2i$69X9 F$Ix(hO!3kKdu!93@Rkrh4gVF4GA$P{vs34RvKdUA+SEtznGmtLEtmBg6>{XC2#0m!-6T4ZI=Is(c1v !H9^rx{HO2G8dE2|Ott4kjydL`I37(9fAqu)lnwiqd@>Yeb7{4U0dsVJrvta8j7UiDlcMw2 BA|A4MIAZgBg2e&)B?4$_F4Wh@AbkPK`<7luLjAhZK1x##hqII`EB%9%&Z->qAIC(Ff~x<`k)*g KI9adBtg|rbZ8w_{{)XRMYarpoKc*PcHQESqkfP66I~=0ph`WCuh}P oiGp}ys))kwl+Dn hN~($nruz;JDlZc4gPM_jB6TJuT?ar#YYBy8LbcVwZa8>=WGi>rwtN8TDyi{Xw2dfBV&L#N!K7(JVR? ?@sZC1AaOX#Av#>ZR0*m8_y6&-(nguFmY;LrW{X>LQZ*g7*`9$u=B1aWM_qmPp+aXB3t!8dC;Ab%`$w P6}RX|u}9uuGvnV^G1SDxyNh5EoaB8BD6Dj=ouX%wI+GKndvN@3ORfn^1zg{s{2MLyrMMdCi>{d)JF- S+q6+3=3`8uA`IzP+OsM>cL~breO#!lY%>b->~=|JhjcmT;A7<0iocfP7hx+Y91FuE^vJuYJ%T_xaKA oH`}TsCvV3H5gR`PpulC2X=tz;>V< f9#r0q`i9=Q*Q$T ?|`a`Ek9P9-G)79T{W%1UQu-AX7y+8eHnBCp%04cQ;~NCl~;L^JYR#>iv~-_iGj#)6z9RNy^%rVe UZYi#pAje>ZP}mS8$P-F7Qz{W{UjWHZzL7fN5HlK-DB5%G3Yj^62}1yCDnJfbP3sFu<<){cJX8&4w;B I^>Xn7zN1ZJAv3J^TBJ^`0*WlJ3ObYp9-j>af`Z-6^Rwu-K_I^YjZ9_U2mPtl?aq74;3%hK-T!T+j(-mP^fH BA9>H0u;E5uw#18r|$%709>$6qmb4?azO&qSOI}>D#lKli@;P2f}T6T5)wHlCp3=}gas2nIYCsM1Y}7 g>jX@gBnFv~bD`6P^Ou>1u=11`h|=*rCD4LX+hdUDXPi=a>rgsfj~5Lf-zBL?pgG>lQcut&?hYSvlo} VQm#F8s%KSpuW2<_ma$>blnwdGb%>oPF#{)5Q48?euodm4WPfanZZdLmm5{h$op1 FQQgVME68_z+i?tidp^?W0v xeo}x<-L>w(#q^rz-crU)>%d_K6cUcK}JP%uV`dsB8)#ys7Iv5oO3>lf0z(_NzjL^ZbLL3f~;ZpryRv p+9C-_;aoNrMR#xN<5#9iMyU>wI&NwRB*t3#O%#i6dR8PHI+$yOH04~5UHgmcb-A4c?A4Jry56Ql?nG Jg (GdorA{J@YF8&`Del;n9>< bkqqBT()lQ{ ;0C(tLuivM>Kg@T^ BUCid=;H7$#+l5W{#GI>^DjKcoqu+4WYalk<)(kSn8oWG^h_EI*S}Kw Mv0zp@|T%=7W&As;HWT%>ksfiqfI!ctPYsqZcFM88 WJx}uja*@}Q;$(*Z-4%szZRlP)px;u3gP9G|a5cap4&v=y+g- oJBtU;aDek-@zHK<8=Y`mlE3yUYobBtZkjk_NNmo75qDB37Wm29YJ8;Q#6KO4dxEzQR>UftF|%Q2-I{ rj=$`$Bh$_m@~nh4~yG(`dip>{Ro)6Z=b64f?5rK|06bN!aU))Jljk!J;LQ^}LwwhZ9{Y&5kv4C~w|* *GL+|GRQqJ!x+@wB>Rn2{FF{zu*hh^veIg1AlOkmk0>_I#a}Ef^-yH{>SalDC8rjP$1=EfhoGgTm)er {V>yW^Nhoa(Xio7n94W(dKR-T>fBZB|bx3U9#y%!Xxc?+55#WrpnDmcq#_PuFDeeUW%3FnN!ZhDwQep -MC9*J-17yWMc>QyftdN}g(}@#UEYR<_G_R5P&&&Q;lgLSRXY0qO^aWb1e{qR<>`)9G-9-R@Fu!_0?W aw-3i4)c6?>8bebe =#56>Qvr%z|@ W{pDCr)Y)A*OeW9gTRHJe+uXZIh=>dLPlED%L_U`j=0!DqlXDqQK6!LjYrq@ZLCTAAwfOc@>k5C G&eoQ?8omFd*boo6zB(Tc=7AP( H@pxcGM)B!-nZejLg)vwGTevQG%x4#G~#u|54qSbdsm#Q#_mOk_NIcKGn<`(G5yS&m-ovaH-&ntd+ )b xI0y2QHLRCP&wcfKPN!o8Z?odbZ9I7)$E$Q_%xF4<3_ Hx(HfzSl*kIK}DAlGM;W0(3VFOtjE1Vu&Y6;ZpodS$Zu7tLzje;@uTb(%5=RBRRw}?2z}b$_sDF^GV0 )M4 3X!M{7Z0K% ^zMysyEaSpDzfjL$iz;lefc&A6c!CgCt0ubiDQ-W|T|D=Ld-hI$+_a1cTOgM{-;@MrP!uH@wnVNiuaG Y3N#-U#4G#Kw!SC6?YCNR_kq#iiW_zPY!s_%?;Tlx(@cBaio`&0jvYlxZKg-QqD@3cpmxZm(Yj8ze>h lIw6A9Ge5U9#L~J+4L_42N@4Bo=#n X<6M 6bR9O8NLqlU$Vm24cB|2(Y3|054=OgaRI2=AQ~_y>6fl`Q_dRs@%(J0MITjyyNev>KUCYu#SVvwNW;a VkxwV1$KW k5VFE_-GN?VUrG!9h2A6$0DaC9}Hf)qi(AtWe7^n?9eS4Rusyk{Z>)9#ZdJm? QoE4gnQyl Rj`X5Pj! M>^;#+O>g{KOY&7Cfgrqs4f1+Mf9HlF?A?9970YsB%IhuGAw9ym&m#iV6VCQkIJ-05+?8C;G+U!bKK9 2Z&;7Aj{xwURMB6q856{zNQ%rLOnX$3stT5D|}9x~{5KIT5bemov1q7hu4vda&CNqSUvW3$CuEfL%KA ONs1Aeid$d-ZyA%Q)EATnVSKAcl$4qekv^Mcn+(2*0h-U^GGSu6AQYe7f-l)jWlLb#a=JX!XkL+gmYL {*f-thN^D%~CkHfXeMKz#tX8E;!(d^d(hlT_T0Q88un4?0{y?nElWVLr56^rU4^h8+r0JoRQTeW2o!Y dJzv9c2XwU<<+l !8;NYjz;T)?s%+-d^lAhuS8rl-Z$^uvzxtUCdq6j#VmkGA*Sp=ry|vKbmn!6;LVB@AW+1C mT%Eo3hV*xuo}J>Fb>R>&z6$%w$o#_m^NnJz@g<1_FJ}3*8VTD088rQd~+uuu9aN)fkgdTMK-_BdFTy N@>2eLtp6uCu`YJF*rWbi^6v$ 9O;Z%pvOPJ^&&H-jFR>Hboj^0 & !}( =lRp%GA=@~0{%(+y#2UnZbW=c9Yr8jkYhbC)6bd^}f@m^8yHgvg fos>- 1XoWbcKVW0IYwaYNO;TU*-u?_Otxl?G~VqUv$?$sQSVNC0dYB45p`I-PCmRum56BPyCyMLy1b4pM0j0 r|O=S1I5ju?6A6&p&D-*7v`;IQDrm)r>~sS_5@RbdFg6_?3#*x=FM!!iIOIgV_wu^FOWcd(kqX2bKqw P!g+iAJHA2*U%td|DSrR{Ke5SY@82hMHB8-ylB-*uBuxOrqpMc%n=H$Y(-|-&4_2&LfgY1zDL7l9h`{ TY6>twOy`w%+dtWzvM+eR%#p6$0CajTQy$a`G$Dd?o-poAE!6o&3viOn|e{w#p>p5K@*Y{SB)t|g}&g Nx$4k~#4GBfqwQ=MN!K5Rh6`}Y`Z`u)0^=6vPK 7ALOlvx6y2cT{;?xK}Au=Ki!N~^YN{ VNA-%P;>D}0=dX)bFJJ$)czYFw25 o2S|7#h)(!{9pN# Ijz0bF%+hua(BlI%Sj1mZwG5k-intO?k4|VYlm(`-~Oof{ueW rLA?%PV2q#r*!OHvLBBBkNY<|kOgs$ >yT=4z1Ip~KB7S7o~G+^Go6>pcuvO0$H&h;j tSg6b#36Y$wa>^PrVY$yjd%J8`fLR1SF|3991t-N~wa3j+jmSrBv!ZME#yFs#(!*ZVql6FdJj<2Fa4I c4Q=dRZ_6#MhpAfelUoPa{VsvOFg9jv$+b_f2_~VrJkC*5ExCZW73mmgSTSq(VWnbQ&V#Ay6}OZBcNC 1HBjxf4oB-(6T5*O!@glXKG*HLhV;&OznH7E3>UjRz|&k51}VdIO$n$u0*UKNh11pB!c0Tw3P2_EQKL Di30U;%t|ZY}-VRBFGQ5+d(jwXw27Pajk{bP{y_Ra~KHKTP@lr1+BhZn%eYbmkIledS7}McTw84L}9d hcr-FLN+vvMm^^KilrFWqD~{hKp3Y^j+>dX@w}hf50^xXHCHti#Qp^G%Lpeu#NU+ArYPy~?u-E5Wyom D>*aFWz5TO4cP tdZovsR^veg_{fAs$WP)h>@6aWAK2mthPG)_9;<(_s5001Bx000^Q003}la4%n JZggdGZeeUMY;R*>bZKvHb1rasy;y5=+qf0|u3v%5A1I{~)%3BQQOE6g5@+k##LmRYWOrN-haw>fYl` 3kpk+0a{p~&X0(|+k?aog1!6rfA;@*S%I2Ysb_^r-Tr*vt>ek+X>dnpR7Z^T*~k?C@+Hg+adXc@dSW;zX5Bnldfo fevX^<;vJ6=h3Dxy_x>`?ELk`=Sv`ZS3#B9O7rwmXrjtZv-I5$?|(?3>Z|XP51-D@&(6OE(CbHrmm`5 6OC3r$DGxL8sl?gO#A}tgnRp9qX5ykEe@F|mzSKXZOY!E jgG`gRTawn3zis}Ic=1*qfeKoACg xm*f)87_CXvsIK*U8lBL;JCU~EWVb^#HQLj(mo_;({-kp5-4lCcCUS6Jjdx~{Y6#Z-TajUFYt3nF=hj U~y7wns>0|6tPhC}A0hZJrrh1Ipm;JG;Vs&=E^)Oa+yC^MQxlG5xZ-LOzwXPLBiT^Gfnac*qF(}J{2= Mbsj7b`i+Wg#6VOzN`0I&sjoFmk7FgJ@EA8jqm;=>6IIWN6)+v$v<`C-2xi=rs4j=Cp902M`ajyK@nM $>mz?4FVwX(~@0kZh#@}FllE`{h>DAIkC=6#r*H$T$hr+P a> vM?c_d0jL%BzVqo0|iQH9+kER9`Kwd`hogkAOL%|7B(TSajH)&y|(16tJm6h DCJU^@ir7yTzdIHi={h;%Rcd9BGoJNkJ|T0|8(@tCT%9FJsgq5iS84I NMJtWL4GI&kqRxG>=uFfS}G_1vpGr(NdlE{GlWQ=Uej lAX>e;q;sqZ)LiZlja>&ivCY%dYo{4CCSt~Yzqw!-}n6f1~}nol!~T}Q#|da3|}K(S&sAJ{?EFNl@Go )=l$%qew8&@aH crA9>*@CwwM)X=dO(8G h`%%Ri#X+7|QK!EJYv{i&HzsqFh#Kq+)Ia4R;NSr|x1Pi-YRvRNrC-&OhkSn!Gi=q^XU6ufi+yX~nLV C lWpz^^W<7F3@;`hBE= ;wj}WMz;-4eFJV;8(ZM^GJA@t=>sQ7IrVxjT8$)Z{hT!I=HPa7b{gR;uy2fwL^H >DE2(v}g s)1*3n1 rKb#^0Ntjz{+RtNt_SzAlH_~T#x@Xex?G56tT=c>%KAwQdwvKI2l_8s^mwkDp-{3)jRY?yECkBS&`A$ Rato-&!nh2BepByoH!# sOX4P O|vaf_#8dM3(g80 XZXshwV9cJyfd+PZQ{X+CV;q%*IL&LuYocRBRPAJgYWK5nkxuRIq)+~ro6;uv5A))Ch^VH;_`m7CPP@ Qc0AsZx}6qd>ui~4!-R;{R%FW%~nU9cPy&kUam?kioQILR3OAFsJp5(%tvc|Mqs@~)QOTvJ+$pu?WRg m_SQa#zcj;rrr}iDkQU^hkI_L;IpoMS2KRmb~JH1E75~at}$5A=$ OT9( BV%SAcOFH8w0!5V`hwt2CpoMpjwHRstZl}3 F_#-o|>zT*LdbKf-34`)vpJzU%rkScWjL597^ 6flO_yPYBuCEU&fYGJim{Z;%YpfgYgr5^K88tUw?gsh(996Pa6zHbP~~0w5Rg5V>5IgbH$MH1&x2C>l vmu*VjX7ab4vwWO8rckjQdu)(2$Lo8V9EjBdA(EoQvC-J*sw#Q{qsIH{z2D%pJQ7|=I=^?SfujU7hZq !E99@e#d3vkC8kI!^a8J5U;8$`SQ%i2t;y{>($8SN?`B@&`sdhgnUyxJ&fv$4L|%BtjH`(>i%f%~6jR o|Fe(o?09k9HgPs?Nv#mpOuaoJeLT>K1Bt$34Fz*aygglHCP=HN!}{-rhX#AF-Y?%5tN^r5K1CJ!*I) **9-#81zY;JOf>V>4lHbh$%h%;MdTb`kd-$6n-#FblQ2?^+U`!X&~67y$w)3hoLK`upNTO?{+F*!=zj S+jy);m$xTRy&NU7NvjN2qGyz1 h&*jdz~iZc!epbF6|wQLV*s)ltgI6@Hqs}QFDAmqJ^zwrq+t$qa=r^!3Wl8leW4p@-|n!khjttx FdVf3gK%ux|y7)SjI%DU3w##XJ;~(6b<^8+(x71g#Lz3E(oBqiIHh6xQ&|ufxcpJ>KAFTPY?D5=_S&& lZ`_@MCxyJ%dboHlKT{`8C0XK4PADzirfZB(H`{?I~xdgp)%#T1^o%(Pl*9`Y+3n@CbwRJ& 9j2&zjVRUbGc|MQ%tha^^ Z *dSkU^y8;w}`n>w|&ZD;U qlk_rRDA?o0#S_zzG^0|XQR000O8^l>y!o-(91C lCMtRx NAkDbu7dJYD9I$VK#0h7CWN%= |zmrN|Q=`--zgEN7vjGW0kkAPmukC `ucg4cA<4T6NPzzTp?kQR3V&% v2{;)GH+NkBn{nX &5;fm&!+}{lk(d*tO0~f)&t3R4R^soX?BayEz{r?QzN@9VCeCn3nQu;N3~~WRnKYK-4^XDT;w}_f$u2 I>^E}NNFBq%>%Uu*jCD`tC|JhMZ)R>u%Kitu8Uq?RLDlc6z_SoAhDdkH1tOkv{th`ARVM)nnvmAFw>~ ;@9f>o*hL*hGWtqDmy~mtvlWl@qk&~6mWS% oM)G)va27GmgmsGn;P)dLGgyhPz1i(&^k 4NC)_CI?G*3}$43n50o!j>ZP=BrThXU_%}ClKg;fBc8R2 63Z`wl{kliDp^$sCKDEkFeebv8I?=HRx(Ky(mg 7k6C-a4gF*D^B +I7GP@C44uXv7%$%gXSyeGKNfoj&z~RI6T!@3$KHX1V`&m^;ESQXcQ>EgmF#-|#;XUJ4_R$@xA-gmIR (YkK*|LOD;_%;kr@w8Zkv2QtO4Y+e{*`%)qKep4{ibaTWPu=wV|s=wU$d+up$$ooXfDYMf}!m%_X=#% lUN_>~%J#?c3)u@Cn<=V{?d3Gai2NKzpz OX0 ? l?Gu+Z)n&+T|k;iHVEp;2n+?Ep}`A%!~wPKsxZjk-J-S{5_+weW(1z-+>D22EHOpWmvF&C>U#+;R&6C w9Z%YJ|;Ty4g+E{YU*>TAQHxz4!u{d$OH&9;+QR4_-TvET`R!vN)xKl@4#+M##F@2W(GX(a5J8Ij+wF IVl$s(mS~jpJNxf|uvte|Y8eeHWPtU(F)O2HQ-)^fE1ZoQrvwLXP5$hiB8qa}^3I@{Y%CGbF~NExi4F @&3o)>eEjzUcbIPdw@ZEkw3}|!M55C)Q2}0XO}O}gLfDIJb!>4^skMoaKZh%>HZu(!}Ds7b@W)~(Kfd 4!JdO>-!k{mV}}s-*)P3$XlGkzv_T?csv3~gE&zvN{&Uz9Mx1uNw#OomtvptZt*oxLfBMx*48x4J-o! R^y&B5@jhT``4e2^C41-vka(AMdkqby9L*Y6;ZnVG|H+Lrb&OkU-6e#D$%iQG9QoE@@7C~Mm=<$QYgB kEN=&b7SVTEU~ltTWS%;aEt^z7*Q;qlQk%lnzU_pvEyTIF@wOQ}3_)-pLfK;dGURCmGM^W)(7$gy&&U Va_%9457rs&>8Yw^`EysXQPTu>fz|xLmvm?!6KgxfE*C7iX96K7tFndVTrnr}H=OgZD4qzB+%8Q`Sov E=}xNLqa#JWDL SvXR1lL>9l*V9cjsWF!xtA2%VF4BRH0W#J#83e!eA76xQI5Mn |sw}1Pp{&!4LR*S4M$ogt}Q)8wD-(?>^egt}}^j0)R136J9l1L=sMsI+kim{r%*Q_4BTLBV75k#}i{1 L$Hvcm%g_l&t^dAi8?in)3Q+9PMjM>OU&(jK2+M}`&4w2C9D6f9yg0Y?_cv@TFE#C6XiVs($Fz>p7C3 eV7jEL~`9v>@^r^>6zPH9|WH5N*Yi4UL@!p>D3l;sF=5%Pz6PA$dGvmMR`VZ33e1F Ny&@vGLd oNOk0_Dg|A)%;X1DYq`wRYO!Qx%9f(a!F-{}2}zuph|_h`b>KzO7MI$Abxq68z#Cn@V^7gR75d?U|I} }FD7JMK{UyH@mP7&Fbs<%KIvy~LgZ=6L|7~NdZFJ!IUowy5ws}ks{;YjW59|_JMSAM5io(^+32HMmj= f_m)b61#(>=wG@K6E9Sxl`I$S|r5K?L`wRzfOaTt(oom>l7VYSF?a^?GE^->y&jpjVpc0$ M*{)I0%@>C48qZ^#D>9aQ@6B4;;-cwnTbepKg}0=c(r%=F8H|nkD6SG3k#kXcG?BmA-0uc#4iRm3r6+ |yBnKxmax{O>At_uChQ_9bJ%$yfC$Nhk;HEgJn9WRJ_4{Hg;9<~IRrD=W6N|cZYf(6YOqC4fBMs~J#q H>g1nL<3z;8!o*89(stfb#!^HrtMioVe^QXZ1ImYHlvpuvhZ0j&Zeu4UZ#Eya3%RJ4BmcqLN!oX+S1` cZC6>SL08P4t$TBYK93W7OR+`;_6@&CI15WsKYH7GkVeA d83|DglSx@lGgSk-iX3go`M}00HT=>#Ri6?3-sp_Y_~_xs3+t(v01?t-a^gfRj8N|Wr6<6Mh|Qlt+z) Hc~NywW|&ch7B~;%z8bW!u?2oh_r*h}T>zK{w(aP~?Auf3PWLHw*g^*C#m5jjy`K=efk)B#PSZIWrlT v^-$QADBTzVno}x_$_uryD;2JM)+QT%ZdjrU#6F~;p#n$va*^pWvf|hmU>|WOs+|it4o7GiCqNmEbvD K1;Cy*V)G^R<$XmooR5Ta-HFjZRi#vL9Ek?SmeV;xf<*Xs1wIta!CBOQq!!m*u*;70{>9|K$xx$O#cK !L4>xJe%x_0s4YRVn^neYQDKBX)NBPn;@|80vX!S_GzxM8oWUcN_<_pgH>iUWx!P!^2|NZqs!$v(9nc KyFqi8 D05v?cdgt|kKg|Obdaw!Mn`pO~z?Sy_57@f?uP%&T^j2Zj SXNV8?XtQKG0CMW=IBi@DC_aa0~Jeoe=g<_+#stm(V(e`x(AxAQ;O4V?<(~CiaCjUyldU5_b$w(zxwZ D?3kUa{Asg08>eeVzySQNY3L(OBXIY;qPX5a*}p-maM4gX#DySt)D!2Fmg0+I6wC%+AhSE2*y^X-t+N &%2s_=VhHLpeid-|n^tU~BfQK!X>^?0DBbB#BpWxDb^wG^I |YbT_hPq56JP X0@p(W@RS`DYh-ca5rkT$^Vaa*eP5uf?&D(eI7U{ehX)x;^ a`rN<$ #m1L5*dfRJpV|j!xIWnqD;&d;<8R0|Yd#v?y6?u8v2Aa;V@%JET 1Pbp0V4~M@pFW#H4CkdN9^^ $R^=cd2s~iQBzQWCear_JNVTU3@uY&G V?3g!Ze#6BKpQa5Pct3}oX*8J-3B6i kZ~YD#MC}cE3C#Xf(P7C(?gK)rqyzbZV&0U3 ikm(tb^c<+a-Gh*3?^B)-oF7y1gq%Y@Yt3JL!LgGC|IKgwL#U9v`KJbODZv1LYSwrDQB*yCpX=FMC;& @xHN56OxaB_cIY2;4aB1Rn{znDbJN3p=W8E`SuXgOK72K{hmiA=Z&_vK2GbA|zs=f%f#D(ehgC2_6^w c+*be`X_>zE3crFFhA5jWQK-NqiYhGi!y69NWJ=_f#Mz+z0VVQ)o3YFKiIm3P>;kU<>JDOGaZxDX1Bx Jy3&Fu=|WM|8=_u8Xb*@4~c=oq()Z(}aNGFp2GArk2S!#pjDi7|}ESoK_&Z1yuI?({w`)!w~Aas2za9 cFkKs|Efm5*gY%1r;Ve+n_}P6(asylUgB`XLyAEye;_Ytt08}t>0}G_lRlU{4qp!=pT?+Hh^`3UD&8H ;XhDI0|XQR000O8^l>y!gPdf(K?nc IWn*+MaCy~OZI9z N4*s5BA$UJb0wl)v(8Co2q=&vtuY=p}E!sUCiow88963?Pkz7em)>!O+Ka!GcDKFc8ZLq*jVv-^sk`F 02Mju#JHNESNs46B8oi>i~jn!@MMCHHFX5n|K<6qj&W(_KLvMZ~jP+M)Hb~iYEXqU{&52=t;P8h}8Qh caI=cHCPYCJ0Ic-wOP@xd5vuBr7-wzhObC)F-0{`Bj+U#staeE9C))zANZ`}Xnezrfe#%Fp*R1|PDTT lhu|OZL9+TCrsRA+I>N{zh8I*ej;=@BE(q@a5|-X0zE=G^~=gYT;p}o60&f*PGuK-u5drEbiGHEH2pU Yqrt4r6)!Jx{A%|3x1@P7_h1Z>Mt1@TrjS-qXd94Po$(12g0+2Gr{=^kFpEaAn5RnNyX3;(q9BuTg|s sH*`k-CTdq YpZ{R!QECb?WUkp(A6z(Qah9C7855x-Z8A4LA-9ICP`399jMO2i YQ{{-^SOVsk&pzqJ#v7#v6Kyb|M#pGm(PO?U}qMVV`J8r-MC?0!1;yQ)SR_sS^$prjp(BWQKC${X}!# jooV7C?)lCb+Hd#jZgjbxvL;3_e*=T_Z0CO&kntfgxQW;;>KMv84Y8pweKPu}R7YM<%G2jw5%*=ymAW +MEbH9$fo2xY2cdRFW`h|`}z6@idO9E5W0B<_qzfM9c|xNA5FY+6vomIAqj&%n=A_zC<7BZK}t31;`Y Z?^~ Qe#tcaY)%rMbLOxtMl18ogT!C!8$8EsnMub;W0E(#egX1Y-ZnY;TJJ^u!Z;u zJzqhw@CFJDLB_Bzkm)-LZqrLp7wRaDR%mq;T*P{&|DkxMhGlCY*%GlRrN!jU^RiitDwN_&@mL-q832 1`f6B^9x;;>PsXL+O=S?pZ <2s#yoc_s>)x=_UMM=mD@ltTc$8a^ K1vQQ1`|m^fvAyu(?V? 0f9W^{0L$om8f+08xtzvDzKo0~fz^hIp>CYEoQXwGV3=ZBML g(gsm1f#Bf9kiaeUDOeLNKwPx>4FG3|lyjcNbl%eJW_Y{b5D)ZL^E6z9zKzXtYu_4ud{B%tft19E^qJ +*oaChk >JS 8U3+rmy#FrHdc_{3PjQmOOZ;g_D$UYymDsQ #2u-#`{>==5%Go{wCVY;8o1rqKO3WmMgH*pt2T3CK=;s4m)3Bbf$+#Lu<+1rfTl&=y)0~)q9QFsldl9 ucm;iQMhp4K<8iZvbTKa{vBdpV4EHMO!CkAL(+P=d@FnkL(C;!g|`p2wUi*Twf?%7i@S^j$c#R5{Er)aDSnO5tS k3!4VN=uN17EO% u#U5?s-d`H}8Y8y$KGD8*HfhSnKS9 !f8VQaK=SR2Q0q|%!MPU0uvpKBmt?PxW4$ GskYz8h5l+)EQp;4Wq;YeQ|EY1D!xP70z-1k;Y)j_jT3?yvG7gWsG_1R`xUN j&Oumdk-9hWidXI4*p#8biX22K`7&3Xb3{8V}M4Q5-NeXC qe6HV?DE&8*qe^YlVxd{HuvzF_pq)O$>rW GlD0ws`g!QtklynI^@+P8{wUekDjuT^}MP`xX}{y4is74aj&-0XsyiQq^q_x0-Y+#Q}3RR(u`eTxoI3 q{fXdYU3wVVrD+ptr7ybHt=pxS%eyvCcEjE>=&KS$OC`D)n5@e>wtLRM7X@=?+G})DG?TLV;ZJ%Vkgc K2q?Z1NbYXwV1JLy5C6cf!=qbGWrGXp >nOv=>1@vtb??M@tMW^c5)c#)5et`H11Dkj!V-!`ur 5Z >8uw*sP!5XlB{_;>aV*sn*HPV)lPfO9KQH000080Q7M*PHprzlu8i*0D3zB02lxO0B~t=FJEbHbY*gG VQepQWpi(Ac4aPbd7WErkK?ux{_bDF`jFa2ZKVNH6j)$eTraui&~$UiU77@!gF;KRt*k8SL}~YoqW`@ !LsEPZwYwK1xU3~|IGopKhV*i|{7ST v4zfFol5x cjvaaR5x>_vY8S7=ctHqtDVdjUS>cm+zJ-lS_;Te-neSv=jQ>`c%$C*F{=&`nwzloyX!n`Bz%33JJA5<7`>VVP6Y>$t4pX3(;!E73(;RENSjOV=xuCxD#DhmB7ld-vv8%d }p+$U_d35-OTb(b*cve3{AOZ_f?~oY<&-G30wgfE@5A=_`Vao>`#n_Zx+kta 3J1`z O>1Lo)SY#-AAYx goGz&Sr&v6?4fvi~Jgk*rfT4hFhjs_^G&*AC(lyjwuQMj;Ic%KgnS? vcjZvF`da!5SZeneD53g3~Uc?}BG7V}kwzVt0Hw PkNa&)75Yo)7$rz5MdeUpOiuZ>79%YROAW^>x+00Y5|^deVGUF6zxF(~>df^}Tbfr;$T_ejIrrv5S}Z u=_N26ztzn@pyQ$R3wBaPJWcNooG3@xAmt40sNp7J>P@%a`NV_zwB#GqNBl^xit$8R%Ms@@gzk3f}Vu yEzki#8rL?CWJl3|OV8GM-te=?^UY$hC~6MTl%hNYy|vt9q}^y^f@ox3D0Y9UiWAcY4qqDqvALIQFRX it^7Ek?|HgMF6|i537=}Ic0f;d0dK4VQMsSCrr$~5 8=QR~>f9u_*CLFLw&oR)@ O&{Sgs@3IB5?_VjNT*8;NnvOJa`