cpython: 1da623513b26 (original) (raw)

Mercurial > cpython

changeset 76478:1da623513b26

Issue #14605: Expose importlib.abc.FileLoader and importlib.machinery.(FileFinder, SourceFileLoader, _SourcelessFileLoader, ExtensionFileLoader). This exposes all of importlib's mechanisms that will become public on the sys module. [#14605]

Brett Cannon brett@python.org
date Sun, 22 Apr 2012 19:58:33 -0400
parents 0a79a2add552
children b1bd900cc723
files Doc/library/importlib.rst Lib/imp.py Lib/importlib/_bootstrap.py Lib/importlib/abc.py Lib/importlib/machinery.py Lib/importlib/test/extension/test_case_sensitivity.py Lib/importlib/test/extension/test_finder.py Lib/importlib/test/extension/test_loader.py Lib/importlib/test/extension/test_path_hook.py Lib/importlib/test/source/test_case_sensitivity.py Lib/importlib/test/source/test_file_loader.py Lib/importlib/test/source/test_finder.py Lib/importlib/test/source/test_path_hook.py Lib/importlib/test/source/test_source_encoding.py Lib/importlib/test/test_abc.py Misc/NEWS Python/importlib.h
diffstat 17 files changed, 328 insertions(+), 91 deletions(-)[+] [-] Doc/library/importlib.rst 185 Lib/imp.py 6 Lib/importlib/_bootstrap.py 101 Lib/importlib/abc.py 33 Lib/importlib/machinery.py 4 Lib/importlib/test/extension/test_case_sensitivity.py 7 Lib/importlib/test/extension/test_finder.py 7 Lib/importlib/test/extension/test_loader.py 4 Lib/importlib/test/extension/test_path_hook.py 3 Lib/importlib/test/source/test_case_sensitivity.py 11 Lib/importlib/test/source/test_file_loader.py 18 Lib/importlib/test/source/test_finder.py 15 Lib/importlib/test/source/test_path_hook.py 9 Lib/importlib/test/source/test_source_encoding.py 4 Lib/importlib/test/test_abc.py 9 Misc/NEWS 3 Python/importlib.h 0

line wrap: on

line diff

--- a/Doc/library/importlib.rst +++ b/Doc/library/importlib.rst @@ -237,6 +237,34 @@ are also provided to help in implementin module. +.. class:: FileLoader(fullname, path) +

+

+

+

+ + .. class:: SourceLoader An abstract base class for implementing source (and optionally bytecode) @@ -498,6 +526,163 @@ find and load modules. module. If no finder is ever found then None is returned. +.. class:: FileFinder(path, *loader_details) +

+

+

+

+

+ + +.. class:: SourceFileLoader(fullname, path) +

+

+

+

+

+

+ + +.. class:: _SourcelessFileLoader(fullname, path) +

+

+

+

+

+

+ + +.. class:: ExtensionFileLoader(fullname, path) +

+

+

+

+

+

+ + :mod:importlib.util -- Utility code for importers ---------------------------------------------------

--- a/Lib/imp.py +++ b/Lib/imp.py @@ -71,7 +71,7 @@ class HackedGetData: def get_data(self, path): """Gross hack to contort loader to deal w/ load*()'s bad API."""

@@ -83,7 +83,7 @@ class _HackedGetData: return super().get_data(path) -class _LoadSourceCompatibility(_HackedGetData, _bootstrap._SourceFileLoader): +class _LoadSourceCompatibility(_HackedGetData, _bootstrap.SourceFileLoader): """Compatibility support for implementing load_source().""" @@ -115,7 +115,7 @@ def load_package(name, path): break else: raise ValueError('{!r} is not a package'.format(path))

XXX deprecate

--- a/Lib/importlib/_bootstrap.py +++ b/Lib/importlib/_bootstrap.py @@ -13,6 +13,9 @@ work. One should use importlib as the pu

reference any injected objects! This includes not only global code but also

anything specified at the class level.

+# XXX Make sure all public names have no single leading underscore and all +# others do. +

Bootstrap-related code ######################################################

@@ -283,7 +286,7 @@ def _check_name(method): """ def _check_name_wrapper(self, name, *args, **kwargs):

def is_package(self, fullname): """Concrete implementation of InspectLoader.is_package by checking if @@ -608,7 +611,7 @@ class SourceLoader(_LoaderBasics): return self._load_module(fullname) -class _FileLoader: +class FileLoader: """Base file loader class which implements the loader protocol methods that require file system usage.""" @@ -616,13 +619,13 @@ class _FileLoader: def init(self, fullname, path): """Cache the module name and the path to the file found by the finder."""

@_check_name def get_filename(self, fullname): """Return the path to the source file as found by the finder."""

def get_data(self, path): """Return the data from path as raw bytes.""" @@ -630,7 +633,7 @@ class _FileLoader: return file.read() -class _SourceFileLoader(_FileLoader, SourceLoader): +class SourceFileLoader(FileLoader, SourceLoader): """Concrete implementation of SourceLoader using the file system.""" @@ -668,7 +671,7 @@ class _SourceFileLoader(_FileLoader, Sou pass -class _SourcelessFileLoader(_FileLoader, _LoaderBasics): +class _SourcelessFileLoader(FileLoader, _LoaderBasics): """Loader which handles sourceless file imports.""" @@ -692,7 +695,7 @@ class _SourcelessFileLoader(_FileLoader, return None -class _ExtensionFileLoader: +class ExtensionFileLoader: """Loader for extension modules. @@ -701,8 +704,8 @@ class _ExtensionFileLoader: """ def init(self, name, path):

@_check_name @set_package @@ -711,8 +714,8 @@ class _ExtensionFileLoader: """Load an extension module.""" is_reload = fullname in sys.modules try:

@@ -805,24 +808,25 @@ class PathFinder: return None -class _FileFinder: +class FileFinder: """File-based finder.

""" def init(self, path, *details):

@@ -898,46 +902,29 @@ class _FileFinder: if sys.platform.startswith(CASE_INSENSITIVE_PLATFORMS): self._relaxed_path_cache = set(fn.lower() for fn in contents) - -class _SourceFinderDetails:

-

- -class _SourcelessFinderDetails:

-

-

-class _ExtensionFinderDetails:

-

Import itself ###############################################################

-def _file_path_hook(path):

- - -_DEFAULT_PATH_HOOK = _file_path_hook +_DEFAULT_PATH_HOOK = None # Set in _setup() class _DefaultPathFinder(PathFinder): @@ -1209,6 +1196,12 @@ def _setup(sys_module, _imp_module): if builtin_os == 'nt': SOURCE_SUFFIXES.append('.pyw')

+ def _install(sys_module, _imp_module): """Install importlib as the implementation of import.

--- a/Lib/importlib/abc.py +++ b/Lib/importlib/abc.py @@ -1,6 +1,12 @@ """Abstract base classes related to import.""" from . import _bootstrap from . import machinery +try:

+except ImportError as exc:

import abc import imp import marshal @@ -9,6 +15,14 @@ import tokenize import warnings +def _register(abstract_cls, *classes):

+ + class Loader(metaclass=abc.ABCMeta): """Abstract base class for import loaders.""" @@ -32,9 +46,8 @@ class Finder(metaclass=abc.ABCMeta): """ raise NotImplementedError -Finder.register(machinery.BuiltinImporter) -Finder.register(machinery.FrozenImporter) -Finder.register(machinery.PathFinder) +_register(Finder, machinery.BuiltinImporter, machinery.FrozenImporter,

class ResourceLoader(Loader): @@ -80,8 +93,8 @@ class InspectLoader(Loader): module. The fullname is a str. Returns a str.""" raise NotImplementedError -InspectLoader.register(machinery.BuiltinImporter) -InspectLoader.register(machinery.FrozenImporter) +_register(InspectLoader, machinery.BuiltinImporter, machinery.FrozenImporter,

class ExecutionLoader(InspectLoader): @@ -100,6 +113,15 @@ class ExecutionLoader(InspectLoader): raise NotImplementedError +class FileLoader(_bootstrap.FileLoader, ResourceLoader, ExecutionLoader): +

+ +_register(FileLoader, machinery.SourceFileLoader,

+ + class SourceLoader(_bootstrap.SourceLoader, ResourceLoader, ExecutionLoader): """Abstract base class for loading source code (and optionally any @@ -146,6 +168,7 @@ class SourceLoader(_bootstrap.SourceLoad """ raise NotImplementedError +_register(SourceLoader, machinery.SourceFileLoader) class PyLoader(SourceLoader):

--- a/Lib/importlib/machinery.py +++ b/Lib/importlib/machinery.py @@ -3,3 +3,7 @@ from ._bootstrap import BuiltinImporter from ._bootstrap import FrozenImporter from ._bootstrap import PathFinder +from ._bootstrap import FileFinder +from ._bootstrap import SourceFileLoader +from ._bootstrap import _SourcelessFileLoader +from ._bootstrap import ExtensionFileLoader

--- a/Lib/importlib/test/extension/test_case_sensitivity.py +++ b/Lib/importlib/test/extension/test_case_sensitivity.py @@ -1,3 +1,4 @@ +import imp import sys from test import support import unittest @@ -13,8 +14,10 @@ class ExtensionModuleCaseSensitivityTest good_name = ext_util.NAME bad_name = good_name.upper() assert good_name != bad_name

def test_case_sensitive(self):

--- a/Lib/importlib/test/extension/test_finder.py +++ b/Lib/importlib/test/extension/test_finder.py @@ -2,6 +2,7 @@ from importlib import _bootstrap from .. import abc from . import util +import imp import unittest class FinderTests(abc.FinderTests): @@ -9,8 +10,10 @@ class FinderTests(abc.FinderTests): """Test the finder for extension modules.""" def find_module(self, fullname):

def test_module(self):

--- a/Lib/importlib/test/extension/test_loader.py +++ b/Lib/importlib/test/extension/test_loader.py @@ -12,7 +12,7 @@ class LoaderTests(abc.LoaderTests): """Test load_module() for extension modules.""" def load_module(self, fullname):

@@ -25,7 +25,7 @@ class LoaderTests(abc.LoaderTests): self.assertEqual(getattr(module, attr), value) self.assertTrue(ext_util.NAME in sys.modules) self.assertTrue(isinstance(module.loader,

def test_package(self): # Extensions are not found in packages.

--- a/Lib/importlib/test/extension/test_path_hook.py +++ b/Lib/importlib/test/extension/test_path_hook.py @@ -14,7 +14,8 @@ class PathHookTests(unittest.TestCase): # XXX Should it only work for directories containing an extension module? def hook(self, entry):

def test_success(self): # Path hook should handle a directory where a known extension module

--- a/Lib/importlib/test/source/test_case_sensitivity.py +++ b/Lib/importlib/test/source/test_case_sensitivity.py @@ -2,6 +2,7 @@ from importlib import _bootstrap from .. import util from . import util as source_util +import imp import os import sys from test import support as test_support @@ -19,9 +20,13 @@ class CaseSensitivityTest(unittest.TestC assert name != name.lower() def find(self, path):

def sensitivity_test(self):

--- a/Lib/importlib/test/source/test_file_loader.py +++ b/Lib/importlib/test/source/test_file_loader.py @@ -27,7 +27,7 @@ class SimpleTest(unittest.TestCase): # [basic] def test_module(self): with source_util.create_modules('_temp') as mapping:

@@ -37,7 +37,7 @@ class SimpleTest(unittest.TestCase): def test_package(self): with source_util.create_modules('_pkg.init') as mapping:

@@ -50,7 +50,7 @@ class SimpleTest(unittest.TestCase): def test_lacking_parent(self): with source_util.create_modules('_pkg.init', '_pkg.mod')as mapping:

@@ -65,7 +65,7 @@ class SimpleTest(unittest.TestCase): def test_module_reuse(self): with source_util.create_modules('_temp') as mapping:

@@ -90,7 +90,7 @@ class SimpleTest(unittest.TestCase): setattr(orig_module, attr, value) with open(mapping[name], 'w') as file: file.write('+++ bad syntax +++')

@@ -101,7 +101,7 @@ class SimpleTest(unittest.TestCase): with source_util.create_modules('_temp') as mapping: with open(mapping['_temp'], 'w') as file: file.write('=')

@@ -114,7 +114,7 @@ class SimpleTest(unittest.TestCase): file.write("# test file for importlib") try: with util.uncache('_temp'):

@@ -140,7 +140,7 @@ class SimpleTest(unittest.TestCase): if e.errno != getattr(errno, 'EOVERFLOW', None): raise self.skipTest("cannot set modification time to large integer ({})".format(e))

@@ -255,7 +255,7 @@ class BadBytecodeTest(unittest.TestCase) class SourceLoaderBadBytecodeTest(BadBytecodeTest):

@source_util.writes_bytecode_files def test_empty_file(self):

--- a/Lib/importlib/test/source/test_finder.py +++ b/Lib/importlib/test/source/test_finder.py @@ -3,6 +3,7 @@ from . import util as source_util from importlib import bootstrap import errno +import imp import os import py_compile from test.support import make_legacy_pyc @@ -35,9 +36,11 @@ class FinderTests(abc.FinderTests): """ def import(self, root, module):

def run_test(self, test, create=None, *, compile_=None, unlink=None): @@ -135,7 +138,8 @@ class FinderTests(abc.FinderTests): def test_empty_string_for_dir(self): # The empty string from sys.path means to search in the cwd.

@@ -146,7 +150,8 @@ class FinderTests(abc.FinderTests): def test_invalidate_caches(self): # invalidate_caches() should reset the mtime.

--- a/Lib/importlib/test/source/test_path_hook.py +++ b/Lib/importlib/test/source/test_path_hook.py @@ -1,6 +1,7 @@ from . import util as source_util from importlib import _bootstrap +import imp import unittest @@ -8,14 +9,18 @@ class PathHookTest(unittest.TestCase): """Test the path hook for source."""

+ def test_success(self): with source_util.create_modules('dummy') as mapping:

def test_empty_string(self): # The empty string represents the cwd.

def test_main():

--- a/Lib/importlib/test/source/test_source_encoding.py +++ b/Lib/importlib/test/source/test_source_encoding.py @@ -35,7 +35,7 @@ class EncodingTest(unittest.TestCase): with source_util.create_modules(self.module_name) as mapping: with open(mapping[self.module_name], 'wb') as file: file.write(source)

@@ -97,7 +97,7 @@ class LineEndingTest(unittest.TestCase): with source_util.create_modules(module_name) as mapping: with open(mapping[module_name], 'wb') as file: file.write(source)

--- a/Lib/importlib/test/test_abc.py +++ b/Lib/importlib/test/test_abc.py @@ -50,7 +50,7 @@ class InspectLoader(InheritanceTests, un superclasses = [abc.Loader] subclasses = [abc.PyLoader, machinery.BuiltinImporter,

class ExecutionLoader(InheritanceTests, unittest.TestCase): @@ -59,9 +59,16 @@ class ExecutionLoader(InheritanceTests, subclasses = [abc.PyLoader] +class FileLoader(InheritanceTests, unittest.TestCase): +

+ + class SourceLoader(InheritanceTests, unittest.TestCase): superclasses = [abc.ResourceLoader, abc.ExecutionLoader]

class PyLoader(InheritanceTests, unittest.TestCase):

--- a/Misc/NEWS +++ b/Misc/NEWS @@ -61,6 +61,9 @@ Core and Builtins Library ------- +- Issue #14605: Add importlib.abc.FileLoader, importlib.machinery.(FileFinder,

index 4b1001d92beda7856a0d2afd30bbc602a5b4f83f..bc4c0d9638e4f8f252a80b871ad40a9fa85bf97e GIT binary patch literal 174135 zc%1FM^UJ{k|n0+{)&8VxKvKxU4kC;0RzmtAT+8+rI~_ex(B81hmxRwSCFjn9)f0 z8?{AFtFkg9;$C;|wjEpeo4^0%fBDycRD)sKmP8Ye)osp{>$(F_h0_;kH7r;KmN;q zsaW8&HwR--I0Y{@p+P{=fX!fBwV2{O8Q<Nxqq|M<(|K{)h^HK)-~Y#dg-y| z{HNdk;g^5-_ka9{fA<gi(Es|s{qjHm^8ftZFJJ$=?`iJ*bCmy<r@sE!=+l(;Db3Sb z|CsBC_pHz6&(fUgr->fg=;xk)t#0ZURdb6gMOa&nUy}icqsXg+djk1CmvKvG8}zs z=P$X(v<AcBVInP4f^EI4;)c)!@l?`Q;9Vbkmm$4}3|%kYrj5k9=>PrT5}hJ#w% z&}HTe&vH3~Q6mUg$KXf(Xi?YC0e2UOa0?Ym=W(6Q6?<hqdy2RySK&tnyJkptN%3 z(>kt|Ta{H?H#|?g7VA!rEi}BkYF~p~Rv!A-!#uFWXD!t??y{PEu%xR45Bkcx&LiS= zU1cVa@0+IjL*=<&2DZb7IWM;-nY%|@&1JZ8)sW?Yka#^c-0U|6e=E02D2>rn( zYUXBlH~N(i(7xcXb~pO63umfN3X9nNiIh+Cfufx$d&{qyE!mL};RAj3sITf9Jlp;D zuip06@=Dor>iXa(kK|shAIu5f$qlVEh6~yd2FS}Jdjg;8@NamP7p-!x-H(CkvL3?x z%SDX|o4Dx^a*KRG4!?{CkTAA*N{h9z1dW+PeE8Kp-0E&}Sm^zepFI8Q(g*cb<acD z_GuibM>#TdcL%4OXxR|5I1Is>-5Wf@-lC{RVy5q?SO_v#)Dfc^O3{-b|$VTRx$u z7kp-gFK+E}^tdsbxC}jBjvk4gQ>Cu*%YmnuxW~%#+nHZnwD~))n8J9j+f{56Vr z(+rH~d+~f}MTAS-{9@gFH{YE_{mlcqb*g&s_d1Qc7cDYZevGvOXqw7c-p6#5AVG2 z75RAQeYp7+-EQ@;VL(aJzj!(qz=F{PEXrZu$56P!?!s{w$S0zNj}P=6PQdux##9 zCY|Q{>%08>RfTx|JO50%jUx{+|0sY6Gax}zjKGarTlU3<m<I9znTAk<xV#q^j;Ln z^4?9&)DiP2xXJp|7Xf@7{fl1b*S;PrgRA2#<2g!WU%%ea%uG#5?<p^6oz&N3OS=>> zfx09rZH>&Vj<k&Nn;#cIcBAPx?-zHSgU2S_jQ7FZKJc+2>)++e9;x)(;aEq?j? z>sgw;nQs2A3_sCw?DUgnU10$8W@fo5F6FK&{Th6m#JUZWjJfA6PAUIg>&Xlac zRu<vd*&=aED08BNv0?u!9kpG)7)+(?R6Pe@ZA<@yVV99C{6?KcZHyZj9DFYbg*Y# z?4$e(B)r$n=4I4b(6CoH$#M{ZhG?(L;@$A*NsD{la!z?#Lc!%>9yN7!(lZbAbSV?~ z8vpPprP^#c-IrOxtuE?)$U7%P5G5eCd-ruTcs1={o+m^xl-k3Y?S41R^hfVjIYlR zaF+rNl5tdb0iGvko6Ist~bsT{bXie6~I#lvsam4|2U|JgY5AG4DU=Iq<WMuzxo&L zU5rW*=B%+SBrEeISj39aIC=e@pI$16Pz4nO3MU<h0TQw36iI0jBtrh+;U<7BbjEd^ zYsV-b_tiAL(fXhE5EC=vKlyOg4V!P3D(3W@!h0=$W)@G(;e^+T*l(tYa^!Y6FS~TD z=lVdI%Ivm^wT<{cPx&eu)z>u7LfloDU0FH!;-g=y^QDo0ef*x@9t}bTctkek*5A z26icDC8DbosZsniwTm_$VAzpOL1P#R^x;VU#nnWUn0NYZdN&Bo|2}RvKbP#Fs^ z;;YI0=u$q_U6TD<kp32#S8ZU{UXk_g}I)#PdfUVQCXTgC3>LzwP$m(PS|pU-nJX zF>GlLxDGFcp}Y;BW9sV?n9vsO(T4;Ev_<WL|{N$%xXR(Fr+OSfDqVO&TzsxGiRH1 z-Dz5e<M0j)BmfX59k1vr4_et=s<{vhYII1S7gYFIkhm=!d<h1PpfzH;Guur4Vo zBWgBu7GXSXCxw(XLe?R#v~T2o^S28Nr=r_oeE8F-T&K<(IEdG6P++Ra>9Aieb+X zO#ZSM>R-0@d9qao6Q(6aZaOA=b7<%_$2LbN1*B8RHlI!k=zAgC<dY&AkFYlC89tl zJao7FzSBXdj40FKRJhMq$1C>>yyQ)sz*dPVVY+1k5RDrtQtitx5|H^@<G~;XjY5E z7ry?kpEFmSKu6=3iLoA=wxiAW-pFG<R(ZLeOl)EF@+vN$HSXTOY-c-H&93$LgkZN zqOU8hF#D{ul5lqk#ZWavPj59NzW%$XjAL!gm{=J(&@fWFew9Wnd|<2;Hoe3O04YJ> z0-0-qcCe^fi)hQ%^hNAzw>dlM992%>}Wkc)<0nk%B3ltyQI0j#%b3N#H_F1&3 zZB|f_9oALFEO)8Iu+8<A@3qtao%?7x$R|_J)M=FORvVsSe|9su+1PER7}98Fj@h| zmcur9gR%)}xWom}M$)CM%eW-fVuTN!%EK3K5$3^=1{^!+peRhC*#Aj7FEh2f%E^0g zkB<||d-eFyz%x%yNvdNE6<<imiW(i-LOj0<Hg1tF}(PY!{r!g9mj6CZp1e8M<pJ z6lCz$R^L)@()8vn5n9yY?p@r#S4!wtG;iTVnw1CR*JIbYRh}+|ofcBc|toSN%{ z%b4XluHhIZGm&R**<qB3v<<ms%qVH*LvG3Q4Vfe;PF+r^OwuTLrH>BJT;TWm@ByE! z_$2UBW6?PyE#hRA2KVUDcxL$XbyLG~HsR8K({~r-0-TNag)~t8PuRK=4zwPa*+!@d zAePK1bVGsdDU)DdDDCwZ1H4!A8816vabMpr)Mj<_XAr!LnyI@F0I!UNhRCL?a;U zONzA>pH|+v)wNq^g&H6zhB6-d<vJ$|C(Z;_N`s0yR)^fmES%s+)GCEWvMwQrMkQF9 zfS8!tsDm&VWK>N!dNMy?%z?4oS3M@-xy=Bq_q_f9@r1at1%2i}Mn_3ID~<NTAg} z08SmKL&}R8)mBy8jQeJ%O5$%UI&c7OqOl$|L~m+qEeO+yE;a;JG;Ieq_SV4f5Dd& z{hq1oyYosNkP)xunMiSi@qMVc=?>*NaLM&Y<lysaDuu@w8%ztwifImGhC|vwlcdr zSfk61<U-=hJSE#Ji;8N;LT8-4(&R}56$SxbC(>|gOBBt>NtKs?ioUSi{%676yz; z1BV)JMa=UuoRWU2BdRl9;9*tplv9B>q>k@iCg#rkbEBU-y(3sd{-cI6)Ch<cOj;LQ z$7@kCd&9=Mj3t<vodjOs+P#We&uP74JlJ#A1kPnsR<${0QC^0)5AiR6@1f&GDGc zlfOj)K=*S(WrHr2MiplC=A*$qjSvC|*)S9^c)2kpJsd!Ft&<jP*%us^_v}j*>Cdz? zW?w1;V&u?Z%x33xe(liZ(KpOLrJ;FNUvI?7jd>i-qNY8M$El}PKkq=WhTmu^<Zr z;l9Cs(Jzvg$p+Y>XQgMJQ1i>!wUcJ%@BH1i0B#P4)!?>ywU!p3nOEjlTK|1S zB_-v##z{Cnt9RT%w!kKl_BnJJ6wnOhT$=sDWZsc?dQEeZ9Psf%<(GXkUs+k0}@ zi35B{*FTw$EKav!!AIhU;H>H(4q?+33-8}?H1;rw>4&Dri>9XSXA_jd+PSraPZ*B zl>TmTIKfIPw?+EofgR?o7y7&db5%H$euNYE|n%3NuknpK&6EgFI55->RrN9r;4YG z33PG;EQt{_l@JhyP}E(T)nPg={GCSLARKOkabV{aA*nkMy}<mliGyOPj}VQ-+wj{5 zArG|$vYB#FK9cV|U<#HW7!AM66bwHAboGfTFh6M6KEc9%hJLF;14Ok4wU}%(fxTm< zcJHEmv+WvyKD;Sa@R2$-Q_m|ijUD<OXqDPwP$PCa$O%HF#<JIbx+E-xx<=oZ&n z<wdC(OFRsbRL^5^K1QpI(aPQte3(j5B>W_^AZ6Q>$$(hKD^^n6tL}G3-IY+-tjx zZX34h@Y!w4!9D$gM7H;hUvUpa%msT_E*CAM{3JVJzBmXZ2G;3NW7Sxi5MHs#6UQ zSQpH=Aehh{VMxFXIW;yU^t&hU^>GXfC$|7aAr7?1yh8`RUr!=ZCA%tz3LOP@Ec>u zf;E>-NrF-=BMht(-ik#Q5aM!r9^CA*gTgu+44lYl5<IW$(3HIBeh3ZdHH$#QgN^ z2KP<z+M+?qEZL8169(CF3bjC7fzW=|GDJ9zY$*iAWh_V1dlQn2U;(Z3<)Y^MGZs z?rRWxM$D|y3SqcQ_!f&;!RoUSijaRgOeC?@wbxmof3;don1FGV{%!Cu^#LA)kUSI zTV3a3%$9-bs9OmtZdp>RXF1D0(*XF(d#yXrt_8@0wY0LJvYgr!nw!fkE`E)0SIS8 zG4=^;k6or<ATfvlZIRdP$ev+ky4&j>X9SZiY%*rVHSD#Lk$Wy$aJavIhbb3Iy# zAX89JJVWD&m8=UK5TS;9ovilDXN@+Wlpb5OmS7J;vhr#7u?Hz#ty_H@1H;2=3o0 zAgUM0s3LwT)3AETPzBMZK@X{a2hd2QIvs6oj@+=ThjnV^$jHm@WM);IAoBUs7 z>-n8?h51}HXKkP0aL1aJj#04*+JadC3PmnF1BO(&l#@X?kM7cTEgR=IjWlv00>i zJ2U6?j$qvR2jvR%D(ZunlZkuPXC-oErsSmn$ZA5|PX)3Mrrb)sLI^J9tAkvAI~qFh zCAQdG<F!Te4fOa&ZP0P(9}om5>mRZtJaU){0284<JqyURie|P7+UPJe6&q4h_Q3R zj>He5?sls_if(AQzvYLQ3PaYmqOj)FVxnklB@V;jEHj2O(J_jjYvB_3u-HY1`RJgJ zW-#SA=U$zviIS+ZpNL+(kPWkniNzJtwowE^2y4Cxva@OwF-3NKoyz5l?sc5F{c?P z?NQKT1k{5&Lmo12Pu#);aDsSK;B4isCkpRjbqI$_Zsw4U#V3M%0CXACWBc%<!N6N z2L%Oz+=tCnBw8U_<k-Slr2vF5x)?lQN6fK(3}QZ<&4hSS7TA{Hz9y!+ZRJ2fD$_ z3|PR9nOBf;XJh*g>0Y2rb%>krK&8-3VpwVC6S64ELNTgkiEk2pl8Fjcihdh0Vdb zZ&}fsQ>-=_plSi?M6k=uNbw+sQ3U#W}d?!PgRv+zSdTfo$DgUs@M^s_H(rTRmD zEsbXVWin8VB1d;-zVP6r#RL6rZUC9tVu$)ZHC<FttAw)s@zvqU<5ZTMAEJ5O|Q z(9r0SGb?Cc57x9LG=%B{7ZJ-<B9pTl_NZiU2Pt$25jCX|dopt_)oqs@4iJ!af&tHl zTAUJDoTgLI&)F+({&TOwK74+ww{7I)GafM$K`DjI|&(D&=tEVOZ>8vuDzq&rRO z2jXhx9JdUa?Q0C-QNEfsw6Vpq6y&Q&;q@wd)Jn+(w}hvyES9X2C3svgG>1r}sXH{I zSHZe-qkM4ND7M>Rb6gCD5iLxlS4K5eep-^MDuz_GkX<w=qnmlGZea>yhqlQ%GkOVN zc5N$sl3CN53TRgwrC+jc0k)}t{$i*?B(SMDpeHBPY|!mT&V=C)WfR66yyMLN>Pjt zJ#e5L_rSg&)Spi~IeClJxcRJuJm1CK<a2SiSh^U4aQ1h@b@>xx73yQO$?oBr1}TtO z@UAeE(+#c)ll!I*sxXsCAzpsX@RwpYC}xSho|XlXMwgEGS#FU7P5aMY?U?7?=z+RG zcxdXn3eC6&)qRfmE7hal-hyo)W5b@=i2)=i!5s9aOXL0Dzm#*LVd0?l?i<gB&z& zxEF$X)n?h*X3Zls4YqBuHQI9znpC?uGFk96;$YUSX>qkE{^|sO3Gdu(aGYSdK4-X zTe^fCr!Z|(gUY`ubLEhJAdOju>8%Bm3aM<6GUu_9#tC(=MZ^HFZa%;GC%hK?Xa zhbp^Ml}o3jOaz0{|p^+fxI81LqsnqIk&lm<(8bIxo)|ReNB;q^*KxrLH%E}=zv z`Kx(^)Q4}GJD$&5MxU+TSTBMwS?cusgk!+<g83aMGC!@No%GQ?SRz$?d5Epn@Mj z|6Hxr={*{U&w5X-V92VCglEu)1~f{lrYJXI2gxF+mXFr20s4o^O^iEm5&sAMJn3h( zt|rv~4ti*lpN#Kl0Zsw1s$PgC23XCzCXZhw#jm*V<~m{IuMzsNJO_MBfXcQGPZ(P zn+buF23vtcW7IITZ0JphOB5WU=^9`Zr7>=?rscHP3)Z9ab|k2QL{u$rC4rPXlV z*x(hF%>#dr9lgW_I@nMr>EHB7t<-EpwDCMb4p(m%JC<**XV23a2l4=9<SdjHyo zS6i?yfVqiUKaquIhMSEa$${{CUdLk{lTb(OO^h+0UmIU=p^RHQuODUDPXkBw$# z*9v+vP<yynHEB@di)N5t1-&{+LBX7_TE2)C6xnq?&4S*7T%2d2WjF{PcmOC-mb^cw z62L05+%Hcq%*n;1qWQqkF;SkV1Y(c7D%sg2_NM+Maeh#-3KtKR-ODe8l9}7@^J?B zU~WcAfe|N;fk*&W-GQz^(3cOaupllPt&hiLp40?SIVD?Ji2Nt!N<2;jE|=LIFY8 zS5}-fBKl#(VjM3L9&i;*^vG3=&!RLP2i48XpR+Y_(}Q=3Vam@I#4}fhqCR*8Tx#zs zk@#(Uy{2kE+TJ*d48oBtmX$C%+@+9@WXx+W|-Mvdu-lHs5$A#SS9vk?Y6S7h zuomOWi&GG4-h88@3<7$RQC0igV8jTjQERbrkP$akabloZoI6HSI1%CG&dQ17O}jP zq-$(uq(cRP1wP-9k>m@?ihwcSwTq6f)DJXj8lXTSl9&7W-+Gld-+-Jv52Tu;$yQ zn@YIRCSHfz8Za<tGMP(p_GUye=cW`PrwSy+Y!0JhypVxm1FdJQ&deL=y%$i2-(q z31tdQ2zWcskUlL@N4s8Wfze0gQ&WOW+V|#KXS=F2h&Y<S;V@vmXQcd-+~bNT>z<vp zdb*6|nw9d=wqkVRH0-56v0cc7&Q+PExsxRYW&AV^`LGU2)c2ZLm}ryowK5Tw7}= z?+O)mG#KitKs1yr(7GGG+atjh=Hqo+WF(2eJ|)mxGeD0qlFIOII`sH_!#hE7)Y5 zi?e{TlZ$<28hnFHD8ql=<ay!knb3KQ9#b7_|CI&h$|kJ$Q>JEzJmv7KOiZh3+t z$DzarFV?RBjnifBZX?5I-tvKkSQ1Kb6SulZPSGiTKQbO=vctG{th&Jo7U9UIh&2> zUafm(<)V^{35?h1c@O|n2_yMb0Qwv6Q%Ul55aTI%rOth$=48^+?5CNsSP7IN5)78 zi$LUCd_W;CAJ$s}(%dis?};SPZDe{(@x})mNsYKscs6CNU|Yu6T$6so8im5R(BIn z&v}z3K{jI)-Q8}hx#q>Xf_Kv-cFyHICXnAO*tOad^eU=jaYEKsB@lXp0AW+p^=z$ z(TPE;GjNqQagpdMW%gAq9N=ac<58_F{$S|iOh$2db<`W!{KT4LDV&pc;VQ0gMAA0B zHRqaSW8wP9@LPeCp@ekD&w+eN5Lji1a5k<VP48GVNrD218}ZVSEXF1FU^hgP1(f=s z-C)wGi4UQBrMKhWiz*&6Cilfyi(ovEH?^p-i|}CmES<Ve#=RB5bY3FYBx=r zZzl<_Z@qfx_DzB9!@CCblt>bgso)xKzFpF+ywh#^(WJu{WNdkSC9l>-7dMCQZi> ze9?KX=>$#33P;Q_9j$sN6X!v(!To)qnq%&qu8+Y94R(N_+OgL0XR94(PB1zph&2 zjeS!*B2;Un63AGqVU=K8#GhCpW4E~Gf*8;&HrYdLdYwQ=na#(%&cFj$J>bdNbywZp zFMeYM;e^Lh{Tp3jo}5unK6|evo>-^jsjxwTHcx%(U<ZT)q%J27D)bE^42(uhB#fw z*VRf4X>K5Gm(>l*0M-kwB_8p6G#VXCR$1RM~1r%7e)#FM7&ngOQ>c?FlGW&T zPP5#F6)|9q4hUYt(FnSMYb*!<B+sKZ+H37bscUP%OJN{7zx74Sx%)gbXPEA_H za>B-7?p?^^ku3QAk6zaGF3R#a?v;strdbP96u%GE<IR*=3Uj;{$$$}|=kCXQ<D zL@#K9fF4?L)pkr8jt;=E;c&Zb@ZA(g2uh2yUlkEPHlX3T967_nm7CRxvcpJLD^yKf zkQo4UExfHBs22j>qUO(R$NV5NC%w6#xkz46@DonHm|=NG>hl}XRsB1kna4+~Y zc-pM1hflTK8OQ;e{rFArDn!9a5QQLu$@(7`iAlj&A|tj}cjm?S(1y%D>97**QGG6W zUngFsY9N%s2#)XNQ?E<6HHsSv4BSAXedd-m1aFxVH|I}@0q(Hy+qlFY;h&A1-h zD348i!}b72)At9r;WI7wy)jX6HWAVR<M3e|PaBUBF)*j9<Wk-S=tF!_Ytn6?LyWL zcn{?ELp%Uo^7>#0KV;w*ZLq5gyeFZ9-h|j8_y1@c!Tlxl@A(%OZMI|>Xt9Bm@Bt8 zN5l)_-A-mUg2R|XxL)-%^g}X(aAZZ^P%X9aKVTyxuei?vm$2Xs62}3}=aelIGndK z_Gc^d{?K$C7mO#tO9xumDSO=+1PRP?;{;%%ep}Rcpyf$cGMY%y<I$(IJdP;oh-}t zAoP?sK2JVzqmz!*yD(58eThw)Yo1Y``95<vC61OUN?dwC*Jv2b3q05UKUIMR;f zchLdU=$;3NL6z(AO`LlShBw^h9vZ+Q&44igKZw!eLwVGg=HTs38TwClW+(UcFbiF z7&{&QJg($2QG#xs*PH2Kuq;YhHO^m2%GZDVe(%K{=U4M2FzfDyFB|7^mM-JEa*oi z=qGT9L6Bd-AqIN0D8%E|E5Sd_C7y<!*P$EYd7wW4ygNH<WlYG|Yqf06Epv*b<dc0B z;7&Xgrm(@cPnwfT=zYUTFd|Jj^28FAmI@9n1n!IttA2FpFUGd{P!6^)Ak0c$GKn zAr_Vm%EefHza(#x8+xfbBc3Hi%K%S11AeA*+#m5+XqGCv-M5UtS<@vvjjP_r zj)@B)BK2e71#RshNy*KG1c!^R3kwHdy>oAkLEu=aIZ8soZeohK-+)>q!gdb{>- zjX<|%+#cNYD`H^b^pYz@ycb8mD<V~_jLL@LlQAoD^(vYQh}PnS+x7W-6wXK38l za}^!hz{)WZzs!@2k+X{eXUag#&UreYlom;{sZ18(V$}1OMOmA%V2A@s<yJ8UVi#n6 zyknJEa9LAv&T8q@Sv*rQWH|_S)W?tCa6Yhw_v1IE=Fn2#*XNp7YHcO^UrWB152a zvNYpxLm0(=T6-Wg8H$o(Tn)~IV5^FYcFsSyQVpgGK_GsOYY<JZK_Lg4X+Ba@Plu_F z$67)!+Pl1a13qtRtsl|*r?(!S)VV7u2<#n>#)oovqOE_15A=+*Mz@#xn~_U^}#* zplPROb<H=tqyTkdkSeYuB=UOLAXzIZUj9DmOs*#11&k!mdT&^CX9L3fRs03%t_^2 z9PJ}PF{&(EOFrWJ}ApQ=-u&O)oHs>i}SN^SPUy5R5h{gMvV(HtL_aKkpxW-Hw-L zo0YZLr(W#3aT#F<(EZVh>}6%0bl&UNNwL2$nbC<EkY=Bcc?<hn*MIX!EhK=|Kh ze}z@<r0$k^iP}k%Gq<Y&Eg*<l-dT9>f+6ux0<5tyx4q2Yr=IFz&OPWKsCrmtseDbQ zN%YdyggPq91Jnr%*ytNWED^&GJX2pR^-EQ62W&omWXJnSiJa|#(O_(|C7jDfbW~w zryT%A3S_qd@)25sQjS0Vk|uJYIGd^kXRVZxuE*+Ey6g(_G?d0Hy8Cmap2L#oh z?OM^RpX|GwFT)VV0awYC6ZqDVQ}vAZst*zxUUK!Dkq%AY7fh0o$wowkab_9_DFro z2qOe7^qUx=QD9!HJ)rT>5OxM%B5utJk7M>7g#YRMuxN(JQ}S<g1ANsPXKs6&}=e zNdFxvJgDo);921jiL44wtLu2QgMxNOl5n6}3&X|azyxIL4CtmT2G>Ns<a;AtwNp ze5AgJ-S=L70iWMz>Pyd)9jh;@5B}|=VHe!Rm%2f3sAEZub!=Ub(f?|B$q3{8{aTt z=h?wYoqhY?5VQ|vPW+a7a)x-c3GRWRZa@WF0A(d47%Wo7DS<yE0w5jl7D0c zV4?QZ;4mPwoW9cOSGdk6Cyn(K2M$On2J;gTOIiOBJX0Ce1j>q+spNae+6La5WaO zL&&W`2TZukY)0vIiQEu(WSXS@7wQr&V!W)MK2w8U>pE5(KqA5kQh9Qk>^ucFFN=< zo|E6QcNzy;q%3Jyih)Y+>FSh_HY-sDyWUdw?d&-8(D+=oaa#7FdeqUSeGc3;bL zHg8L;9lX~7$R2(*6D*X@-yKDVX@ZtIo96G0O>bVh_jViH+W!#9KoUe)8o_CI-b)tM z2V%X#<O^|E#<CiW@a6{NWpaITWY2?e?2lFfu{z0)ss)N7@bpu&rOlOG{V9NWZpsiR z{lmVjM*HJgiLMpyw%chE#rS?-ou@bGzDOy2}RwPHLLfhDir)w*w3{2Pu@^4~_7 z9wxzl*Bck=@j9wHuI@G!Wo2NqG4XD58$*)&_7XpYcQzz)WZ2I*Wu~Qi7uo{wZum@ zz|m&p9(HPQp1>TXpJX%I5A#H3Aw3QOTD6I0r4~M!<w^TjE;9H#E{6&N3Pf4R)?1 zGaAr}>yy+THn;91DKCvmLjW6f9PR>Y<kvPE2Fx)@dSg^mY<MIF#MBl*W$esRhebc< zCk!<@3}Iek$cGM1y)Fr~m<0UK#I|q<1sBvxfG+?}<f~-WWxwwiLt&7KXJ6hY-c{Bq z&Zj5UO~EA#VEGuYy22utI3R?^Y04Q#sbB31;70J!B{qi-DF0*fA|+JM+=q^_Iiva z$K=!k-&-{i_zSw-6STHYqC(y%PC}Rtl%UKHF2qW^|pC+GydHjL)4a&+S4qjSCb z<PMGOS|NIisPXmySUGbhhFwl8OZA6~l1<oPYyfa1TqP(>YLkJ87~@d6#EK5v9~<_p zARUE-DQzbu+wp>}3l#wY5)Z}4u<&!sGaDgkN|LBW3KB9Z6FKQL#es5>RXKMRyK< z1s7xoGG)WS$w-HNF0%zHz-=_^iU-$i(FDE1?)c>vNZDMKfSI7LF1WdppXf+v{Zm z%tbS(uc;>DF@^b*s}w4mOW@*BoIb+m@!I80{3!&^OW<Ld^l9EU5!!wr^0XT%?MQ8+ zp9}?gP!1q5X0mYND&1U?^(c&?6Ttv9EBv>nUG;($XhKQIwHN&FGp-)Fin$Ll@lSWN z(QED^oqfh#R5%ece4p&ZT-I=%nBffJ@plf+SZKkgd6Dhd)SOyV=xIU}clJ9qu;c zl8mHr1?vZl=v-m_MrAR@a9Mde8^%}5g)>f9fgitirl4Wxk8pKol#qGQkK=L1Y)` z;SX^qy$#xMi!$}YTF6EdK=S@I=Hn#Q5>Rqnytl|lW0$K!^J!JL84hf*gZ}xR zB!5}Qh*;LA6eh$4Gkc;iod^KB$&#rcu^kZytxY{s~swCnla4@JFB-1DUz8JjD(I zi5NAir4u9(fW>y!QUW?@NdzJDCprm8B-BRwbkdTDh3t2F3N-tOfmQ{QyHk*v(1 z9U}4c;rLsRNDO_zPW%LnQHVCeadoNHIG{xfsD%i{#FxLL7EdTN(}-F+XFvptqnv<h z%qEPfrfyStc;^;gQ4JkSUGUGSrW5KB!9-#!YAleVV!CUlBqWQF#%p8p_CEu30*0| z7R1MfqXM}Bl{f-XU&pugw7M3b-&$b~mC-yq1veS|0TnHzk$^k^@p=W2ZigQcpSX5d zq%fc@VRCy1<$VmJxG|tqoe9u?FG5QGv#ndOV{JtC)magTU0)mfuBm?9n*$C&p z!5u}PyO%j$iCI|p<dk(DycuWImG}MvQI!rDAE}G_Y9Vfmh$jBDis0y%%q(GYVaI zXFGPNis}1!8-u#PzRj@2;j!GTC6C%U=V{o<D(H!t6RnQ<Ma<M-9ozixQjSjf zE#LJnPtsqB$2uIQm9Vyuvg>QIwb>tBpw9slx+Nw^#pY$<QAuouLM+4v&35cAM zwGH$~)}rq>H^Q5QcC0nZ2gfuoX{!RHXgfa!PiG({oBj{>Z_Aqy)0@M|vUUO$Hv zNk^=sWCNq!q&l+qMasK<hve87HV$9c_De5oh$OC7m|HCtt;}C7gF?{))o263+X_1 z<BELch2-%EuE-Z&NCgNQSL7Qnqyln1pRn^n$^qpMLoejwPV!TfJTD{PFFaS8crb6| z!o_o*P|q>GFMlc#RU0@FtLC}-E<cDxe~MxrTlV!-K=(t-Uik13{tBF3pgy%8ub-tN zd|S0G0t?RG;OMyDN4eLhcV{0FCAPWTSl<B2bO7&vegl3UACTGmoqbqJxW%2Yb1m z99#@mtCwqjaBvA`)g6d+aCtY_$JPEi4ld)MP%qabR{)0K82T&M7C<wfy0*lU7_b(w zXUyp$5w&-x)cCch4vo&5J>1_zm|}}&&Eq^X3cBAR?4+q-1d(hTUBl?C69|8TaNhz zeCKcA)C$Eq1k6FmWKXQyVw@^M?#JSlC8R8i8AyzkldyP{BY1_3&eTwGO_U-xZK; z?Nph71qepzFiB3bn_b^0rmX0VK700O-P+Yn1XVD&+EK7cl;abv={0PVVPudWE{9o zFeXN$ebc0R;}0b<VnmV8Vvo$D&vfwXXoc0k$us38-LhK8VFFb_nt6o;C$){Ye28D zC(QV%UU<Tsx8jv2?1yG}Jfn{ak?rTm6K1bk9MZ^uJR(|s@4#+Rayxp5g|!V9Q7m- z>$5)iVBj9JW@2U6LDc4B;NLJ&UA<%K{xU_w00MpzJWfYAv8t+SXr1vgPaYxA-O{&z zLV(oIwm7X<XSiL^jp)W&Pge!h#YX1KoG|S-sje5{b;KFCQ>r6?oRI^>$XG;jg zXL8g()YAet*jxA6=VTdPI%=$yVZmCv+Y+?v-NvIo0!o0;5$nb$2V<b*ID_cJP59{ zKZ83XOyh$C0p2+!rqdPdGwmypmH}}vo>juUJ-=2mxp)LpL5b{Q+(pEJxwUh*<a z3H2bM(5MP#?}@M>FYFEG>n(?I5b&(2TPk|IlqsObrP9W%}=Z?VUjU3j!Fn^^r2@ zarf>kW37VCI5G|N2CdkXnur&zkKZS#}=0{J$hbwfx7#r0+JPiIXeB9tZV?e4Qtw z=<9!mCg$luqOfe93pvyW7Q3#gonN<4Iqt`wC9^*<8_1%yshyE^mF=ca}!# zo<g?BOKj70>fFH_2ZsqxT;?F;88dfd5PZ_zo30qdbmA__v9+$s<N=U?4LZCZjOV zD-wp`sZSPH4vhVfN<s?^%1Q{{q)Hf??#8dmmd^N9-Gx=}vtd{a@-ZkL<)}N9M|;Z_ zG-8@%Zv7tR?loD>r{7cH$5ZW5Hk=n)v=2UuyDT_K4{q$E#T5lu<<b^*6kUJWD<btN zqR9>#NIp2dzhz|9e^wjPyJ9nO7iRk|YNU4aVMuUb%hG3vs5(pwRkcgx4e0#4 z8f1bTu_cD#^Af={gqf=nQw!>><tOod(#7oaR+DL;Kiu=I0d1Y<PkNrq-OVH?_#%Kx z#8od61<1)Tex1e7vMa5N=kn_zR)DbNj3g+lUzjEa!|9b5q{>2cM_e92)P|G_Ju zL+V8}e2x32JkZEjSrQtc~{IgzOZqrZiE9qCqGtMQ62EI@Ygj?$&S_Nl+l3gSY-=( z1Lm>LIA4h|qqUR-^s6M9=6mK?w>gypHjPc2>5#!V%V@CuA|DUQyQz{UqVCCws56 zH(3;llikUgf6F1j4csP;q{c<fFHIWiHBbL7gadnf?p5L^=c3560Cfx*Ks%32l3 z{Cl2FuJ@DwPP&}5lCszBaxMq1XF(b+Nw#$hdin+BQ=ny0^e7#kNLc^!zJQgX=QbZ zR_RQSDRku%Cazu@Fd0x4}VQ`!l81wXE_kiWkf6Mx|35f?+0?wRl4Y42GfJyP>7 ztcIH3v>I$@=tY2myN^BX|eK+AmikuG*nQb>C{MQgD38u^lXCLg<+a+9QptZ;R4 zlIht2fc9PIxb%x7SaT8Y35s1DJ5EX{OSV!x0c|#pjbFq9CHtfXM{GoNm(}<RLObT= z#H;G2KFb}n%e?y5c0H$+6&<RPH=CQe=uol2);P5X!Z5w>!hy4npn@df^V!Q-6+N) ztm^m1D5&J#4F0nt?8dB@Q6MyCSEfD3CIkptDqdk({5u#D>9uMz4OxXfm^>jh5WtaT zqb*=OXtpS$p}Cw{;oi-^U~43+5a$&_EbGhx!e?pZC|8Pn9mT7BUe(r8!S||mLa%5q zZ*K$KkFQh`BZnY(S2bOYsnW2B6@sn)$?6gggHFBcM&jU@l9aoo#Cg>pgJB7Ic{1v zmAE}E1b1?hoyiz(ryEz09e{LQmcaVO-E>!k4it+7^JRw5{a_o|^EqtF&h}-ID!+ zqXp(Jz58E)o!&kNjoZ}PzC{G6dU)h4Yo{0WCw5-W7NAAlzo7g2e<#GhgP$n4zvi* zV|QI{cvoCTEi(eNx_Ms)>n731B;;iOfT#?;er1oeHmoj?X7*<d(Ex{-Wg_e+}T<0 z@e8_)my_#@X3Fcu*5XWZ}zh~rkxuoo}8Hj7WZ0dn4V|dk6-8K>l5aAGREo2B~j${ z3Q-IeWP$VAM_RfIOmD;Xzgl2+3>t{&g&)9YaVxa>l67HksV%5}Fe`hB5wKOnn^> zSVU^%)Q8!;G||;d_;Bs%-tB!$3r+a&1}hJX8vN9TB?W-F?#zF*!1?k4is2a5OyK z)}|vfbmeez5gE}~y$3}2ukHG#;V-*u=fKqz2i?+X9g9xUg#4WhH<{bz3@$ihzubxE zP#u5<v}vnfUy|ar=ov*Hh-l7MUwakpEYw&nsavg7)_#-qAJDR3?Ci?pV$o)@vii}1 zpev1@^fZaai#1!;_Y7Xd%@e#^FBLHQpQ13vt0131D-*K#88iL3v!?>ww+eB65+ zZ$fwQ>04lHNLBL@B(tg--GB{P$=X%ZG@U&k+=FhUE{fhpE9nHEJOU<?Nc5|>4x!7v z8G4ia;OfeTZzT1X}z1HP!-6o5X(Y(Q=2?9j#;H$9yAy%+%y375rxQlEnwj-CWk zbZZ|bHDfC=B?DdX@(+#oWHNtzICkwO45v4T^JPJ(zvi7+Sn+y>SD&}mgN9-(U!Q$ zSm$jNz@w^VOV#4YQNilk_4Rr2j@bMCdph;!v4%nc4OegqXa6D!A137jPo(zaXrq< z3adT)FTxpHilO+rrKBiaBCy!WqBCy3o?7TQ)Q|hKexQA|QL7QrL_{Ny3E&A&U?I zd!x5nVjkl|-=2<;zxXo!cCYPu^Ra$mn4dXj9~hSgWBrbCDJqX+2#+CMY#6pgmrQ94 zWy1%XXGf*~qL^;#Dwnpl+Aua=n$_5M5MbU95GGj$8DeVZ5GdU313F2Q%E5WIC| z%QJ1g3idPkAig$C4N1reYQM=wsGQElGqV$#O&ivVyH!aC|;;GXicP4d{lxgKysMb zO|sz!W;eylzs|-QiY|9a)vH4E&!kB9wJF{3xM%r!??lULE6?JKuV5O?9fuCN33#Y z1(gQ}><zkBJZmj?k&xj7Abrs>(EPEc7g|9N70WTAZB%UBmas-A8|d1}M4GuEGn1EM zyRQmL^$qp>eVrPH;yeVY<@VQTar#n^ls{A=VvbevNcgbnl27#jDlue#7>KxPL;h zQ){6FDC@G_lM8oh(ovYR6YEeqeF~wa_&qxc5PEhfopfUvTNwK)+KrMRNCU;mT-;4z zK-BWSg*Osx#Myucf!@_)L?I7Sj$_tN!w{?84uO=~80$2rzRwRCdu+@)tULTe79o@z zK_nL2(b!Vgdt@|Mj%e6M3OGm8>owCf75H~xQ*nAHbxoBh>1)K2w!+O;4noJhX8wKi zfY~oN<IV^j=a2wo=fWzR{b2QzH+$p#)b)DhGS;Blwr0^WM8n4NWVHeM^E-Lyu!>43 zAH5wcA_vR2<r}@TIY?I#Ax<TCa3N1rOfxPB0Cua?oUlFShF!MolzF+=;zd;wk4) z5zHggS%$U#1et>a#p)HrGUjRf!#!_ydr$1s8pPPsoQ5+e0RQ4OuR2S&y_DH)L zzfmCtXR6U}T@G5I}jQ6cpF4pfNNfxYY?c)bQeJPuU|IBMTgArwSyhH^)@A>n36 z8iYetUYRPYZS5bMDj-(n!wuk&Y(AcnwX-MBdL7BXokus0|vGkCya2qFl{4L`K#%& zVq}?@*&JD*Qa^G(*ky;lYYaJUjCcRK&^sV!PoaWmIptTEx(*lzLn+xCH^smKPQh zE-Ov<jfG^dZ88jUY$18dw2lQloIn4vB#n?^obgV78RTF67d4d?kc3Pm=vWrOKyL z#6<D~puT&6j0OpWY;HG5e1m|^7rm_6f65dG=?m38pC+lxs6w(ET2SK<Ff_m15?uGN zVs0dbN+f-O+v-2eI~jp90G%0KA{I=ad#j=ZX>6m9Q3!WrMTP0Xrw@Qn1^PlKno1# zG17>cDs?><b^G&65)-lc4@AMiAOcq{wu&d?z93590id%;SEg=E!X(SUdvu* zAjk44y^>yklj83({pyZg<te?}a1blNro<r<rOb+=YAe5vBN%36oF|T%fH9Zu=lI{2 zgnz<58Mn2HP?>XkicRvW?3ig0RUT8bDbW+WU{u08#Kk8$QWg=4;Qtlpqo>;+eou zQ1POVqi5rHRmGntJiO|UHX_eRV-@2V*(lkdu$g#+l+&T={BV7ApfjB43p%VVYeAQl zNzl9+(b!irCvVW*w0Zy(+Ju7)!+T|>QXOp5HKy+mx73m6Z<{p|v||maQI}qqnrng& z-kkT5x%DOtb>JDbLkAA3M@zLVI$sdbJ$HAINNKc-KR=39Eyee>#g-XWC!H5X6==|C zi3GhlO0@iv1w6#4R?89&%ZIww2O_6eflQ9pDx9OKLAJ__A7E)w4i-N6^pFW9WTi__ z&!kF~C|lxAglx(~!ZMA<#zR_z-egGmOxx_g;<%bxWsL<@G=DKjDj={U@z-ArO? z@;B>rf^n7?4xB8!bu{A?;dlDMrb1TjK+79fWd_UTdN)C&q=WCX|O7*d>f7G)KO{l zZCyeRq)p5nmu8r^I+}Znnv61UGC*NR*E-$A+NALmMlzu0alaqi4&hK2g-}py1Oo zQf^+<+7n-7ZI;Kg=y-VitBilvIARTMy(X#p&TGpHsMj?}g6yF=u0Gax$MNF(OyRQ zjEl+#!sNgE{A0B?4p!apZ5_0LJ!Or3K!(+i;~8+&Ep)g>9Avig7PBdIJ;RBSs;Q zL4LIuj{dRS7l&CdXfSncorP#g}>pbT>5jx&I<7@XKk|ws&cWPP}PP$U(?G>8qYD zs*8)4Urb%zU_*JFEFPTn_IY`(u!^;=Z@_3pd0aBLFg&5Wa$OUqE+@5u+dQjuvsAM- zqE%4UQ2f9RGZQoif?Vis*|+{$^pkKx>Up1^-WZg;(PidxcJoKKdiDu6I?{$dYc z)fmJ!&Oi04zF&PcgXR3oOHUQz4%G;EZgFK+Cwz*H2+;VH8QycT_E-<mN^mNlXW zrxE&#z-@xARtRb1d{vqP&q<V8yUCE;s_DQTk5?L&C)a39*X{x#8^*%h8hRj_>s-1E z?oZc65JwGAKo<k{apfcfW}TmbCuSMBoEav?4f}%wYaLX#E)(!5whADzJ175Eq<cp0 zhe$~abvz;^$v^>7(!#q`2-y?2x>5B}X9&JvDcGeX5i3&FmN3>OY%8e_|J_cy-T39 zufERjGme+fQoRjW_w#$1vlFZyB%H;k%w93<7CVZOt_P(7r!poK#W^J{Yj<haac zKY=juc+Jhh?J&HXh_|f!f>Rw|YI5Lrh*B>z$o_Y<dLYjnB>JCr3e+c42zH@k4?r| zz12S9tuI220SlysY31*vuk1q{NsEi>Ty_%n4{P3VdVr@G{G!rD!ZaY$dhv=0JQF( zueD;?i0&hwSvcOrz2&Glpw9a5L>V$z{IJ>py`nD958z9+-=xJ5attIV8Prp}djUx; zPS<{ocVd)_o^Zyi&FhC<px8u{G!K;n-E6Ji53{AZm=zK=n4_MnBoE<kl<hq{Si z)T0WetzMyXx9hvU;xkV;X?1nkAkrJOHK_p+F5$=uHm*pJJTJC}l9_<MOMe|7V7 zr(~GzoHv&L%^zoI<KX8i;(M8=rN??(l8mwf$@$xokhaJW%4AM6P63knI6Ps<!cAVA zq(1YX|LNRb0eb=#NFO;C%%r&g8u^3UbX-4n)cRSicR}&bOXj3J}2|FaWaurFGbbj zas<OWc6$D&X(4ZJs9@KepGfUS7ug63Hooyu|DkITh|R>@U(EB*w*|$^x5y83hQP z?t1J1IjGnK>zBSlFi4VmrTr8y=@3Gluwy}(ClhM)YVKADJ<sZ)6xyOD=7&!mS>- zbLs{3b#WHMZyp23!gx}rAh+y3<Mb8C-bLzd42rXi=1jTIKOkD7<zagMXAvaKIB-p z4Gc3JzgkXI5-wGRVa@5=XfBXx$?}H!N+N1g+Mes!h%YjFX^EPbL%EcF`n3zvwXz z%kCp}gZD61)?p&!ct0!dK5}*&Q{eq|Cl+^jpYtAuiu%p#Cp4G0UR+s%t-7XWwrq| z4{q6yu|2FpLqF%yOMlB^(V?nd|@W@{^IOr6djEnf_Qggw$qP(+P|kxI9D8;vq){ zqc9(@BH{SJdek4UBH_#FNnNkcL|2l)g(BgVB&Tf{h5^jR?mgxaPqC(dM}3OwIYyH z#k*v=D9=gMfS_betD|sh>-csO)(cD|{tIP^2LEaLjFOY_{0N75yx$(WGknh73Gdug zs3?z?&|pGOdOOPz#@gbqg)KNcSJDSY)(w)F;WruaJyQO?}WpZ+#o<CIH(PKVGN z&9;;E4a|0}5u_l$#A#pecxQ0MV-LS8TDN3-JnBm_&5zF!OTc1~c2upo^*+Rd;B$ zKjEaEGMkMM-h38LN0GETr0|(XyzN(eU42+&iT7dJt2R3f>v2645;cR2t!>w%2mbu z=wCTB=$NgxC@)(@8LuHyGFB|C$7O;v_Qqq67T7n&9_A5IU@41&_E5y?FI|3Pkr5# zXKqo(?-t(QGz!PqGV$%-uo?CzDa&8HF}P#1T+^tztclnw68M^gQ^EKBq@;wHa7P> z>+#ULYX$AYI}I2LEMjq6IqD89P|SGYK(5QT7r#8OSZVkw0pRNJ@%@MYNP)JG9zH zg9QHBkf@0eNrky9hfkvVksMqMFzcG&6TGpo77s0<bcEVy!Jc8q34i z@0?g2gj3ja_VcOt6W{@v})q{^D)f(+ZAyi!}GT5dNNFH&KM{O5ew?hKKvu9#Wj&B zUG2g+!^Gq<nCpB7tI#lLUSsa^!&IX&!riOdX6DxiIjkmVaJe3}ctTM{;3c&<LJ{k* zBkOoP9i|HE?&t-)=;8E5LD0*%C(Kp3)wO?9?XZABi%l+afYhDf+K5C*^z!oCL zIkHMLOkR>OlTmTB9>eh<#bN51{T1)E{J63k81S9Md!sr>WddSkfG;vNRA#jvDCT5D z<&GJgsaSC!y68P_VsYIx0Y(YEvZQRX1>S6B}JeNDpynl!Tws)#N?z0@Bz!56M302 zCARMS&WNs^Z_0|okRvPZLHpk;BbE0CBvTZ=ylZ9dgdxS|duDaF{cAz8&31cUq3j z{wRp$=a(ON@M5TF1TV%C=}je>PO7q$+3^N+0Bp<L9(+(wA*Uke0t?Nf>FgS2)OCi zVYGvz{CknBA6NQWB>;r8apGEb{_iF|E~lz-7tCCQ^p&~T2WM;nBQJunaAwOc%m^$o zbA{kk3{}n$TMD0;bs>F9S$^lZrhBb7Z%bbZOCvxkn#n-Hf(@GRl@1wZm{!O6D3uH3 z4(fSt6Y9zZO{xAPk$$Dv!(Cc{mxC)9HI=TmKx{kPsPKBpZsFhM!rfE@yUQ_@BLnh4 za%+H5OrTsqKn>*Jlyp5>CK$HNJ;>HuR$W-l%%PcFIH|}WRYD~R17QN4m<Wh|=*ELI zg?{Aiiu78?ttu)ILxEtkyEM(;E05Mh1ZN4$V3mhe;&-n~L^4}4q<Hb0r@qO-#u!wH z_aN2p*gD~8>85V99gnUU1n28ZXjBX2%k?-d0{RR816VT1v1GJAh&&rF87mxF>)n zK^T)}*=qtMDNC7$}FLhbj2Z8=E{uV#<O=3@0HU%mmpAO!HD|-#uB>z)v}Q8PM(5 znA>kMM*?9_?{4OxZ7S>|AIk=u-)T6pasxo|U(<!}ikR%G95-0din#6S?j%_FDuRWg zKCc?nxzvEqI=h_%KF=EKxlHuSS|dLtZMWMH)Fy=FMpyjNX49Bp2Af;gFivh4+PY zu%Hg<ha-S2pxKHfIh{*6Z?tYMe?Y&2+FVpt%e6AtR3xF!XrVdly-{v8(LA#bZ8Cq zXhqlYTaLl{dLNYNA3+h92uhF&R997w+EJpb$t{vYU8V;p1bT(}4a&w_)JSw9reoqr zCh)~p*&NpNr$5E7!-~}qHKMkmhWLH5;E!py70$TlYn_J2D&Vu&J6eo76>ff(>MG@ zPRb_ALLcU7B3cy83%ESf6E>n1EWFmpnEY39dVMh7UICeY)WO>f_Adb#>EU)mhq19 zaiHRGtbT)JVKsQhPFLaYJ9Xl=+>jF13v-EOBm~o)aM@|3<yR-weu4$I*|<t?Rvl zX8Y$R)C~o~yCBM2s75h|2-jnlaI2jgNxLMFD{BVw&#8K9=>1-1;RgJHvwZs)$ z%Fo0_Ee@!n=u0j#ev=LZsEFQhPGGW=R$d>MTTz+;nadJOS)+9l*kFe6G-EyS9f8V z0!+qWFZ%FeDhZQdWd%mT{{kWG-3R^C<%aMzmG6-d};CD^B;0do33EgC>CzKIYM z(iWR5^em2@iolk;d2rtETr$al$nH@(IWF=Yrxylc-A@;7<NaA;)9oUeP1ZIOii;-Y zoJL4LDsg#k7tZiA7^dD92a>dPB8;hIdDxG2{(fcbWDe_2!#y^GrsH*yA64=0fQ z0!?N!0%q-3PIpN=g9fDc08(4K-$m0oa{LrLdp2JL2gT}joBoDR<^d;G}4vQN2NS zY8E3D@-O83gJa|=3shtf{$pb))orYY6c3TDMQ>N<FY!AO5#AYGs5dJz6xT8F*ICN ze1$k4A}ZT#zs|i+9sc;~r3)<r_n_<kXfk<|ZKSW#>Am8z<h8}s2OWJx0xwMdAku0u z*m@Wcz_lS)a!5ZxzQQENH^>)Q6dxg9x0bW;p;RB{>b>KQ#;g8eMp}uWGC24P+)Olw zSGd{VHlW^?#rg}J@N~5CR;-a#Jgq=!D<_n-2#{LL9|@j6A;V1aUJz(YCeud6&R;&o zED>y$Bu}hG;CM+pg&gJ1%k&J>!8><57%jSa$L}Q2xRZpEiRU<_;5A;GB>0oYQJcE% z$x;lt_Cy6_DW_h!4=~@%)g-vR2MdCvl+Vi7595IBsL<8GG1z6LFy|<jNpg3>F>m8; zh_K59D4+-j2T&s_iafxXYD&(PTl$2MTN=xrSB<>7Cv{+!j{HiqMKw=O;4vR|6Medg z$d&vcfo(7!n*uk=eiMbtLJVN(kFUTSW>ldeCD~l9?$!k#zu(PB&inxXj0+HtL#yu% z7v9EbB}v>xGhts<YPtv1TM<fLxNYYthv-=i_R%Ej<snRbqe#FvR)9;@Au{rfHKZ zzVx)g()<-Nj0c+dC5c!9l?Gu+^O69QHQ7bfyzQvp(i63V31CDTl59sbJBvE<6H1cQ z#!)w}$_b)UjSH#=YLs-dfRD!-<o>*l7Fl3r&CX$8jgaAW1GNphk_wWo1MY@L}^5v zVqwhw;;hU8jA*B73%+QrFpHp-UzeEjK~-n8J~*T0c|29*LB&mqE2u0n(_uZ$xM z!r-OfPu4Qf*(1W1q&f;sMs2twvC7+VsiuI?B_H34-7gvRE!LV=+!<+fJ#Yhs=Z{k zaDFtgIMK!^8gM$SlkUY1lx(FH6c8uaxmeS!G6s*~Iks5iFyU>@N_kxe4fKK&*Gn z5G=7L#&zG=riJg7Tvsex%^{fOH_o6^YOSPt<mvcKXy)^CV}S!G_J+cZmhu)4quqGn z(-LL0^u9kQLqm->-^YygFbI%X`{9or!rD(x=nLbkV!uy{mk^Z<67v(<L3TnP zlrt+$#pEQKMqBdYkQ8GjC*{8lDjWjBmX=;|pD``I&jQML~XZG2<rmSm?=EjG?cR z*0i{N4!A}$M3G~_8D#N0z}XPoYrxrb^8@a3dWStOsgZ0=QaxBRe+hB*s???noCrje z*@3Z$BF=2DntF1wSaOnnK8IL3XfZWKd{UKcBB;PMqbz9XpRukPm~x+7lu|^RKa-22 z6m_ILYlVMXm^qol^$vSqmZspYr<+I^4Xv$L!iY7Ecf+I;&}e2av*GQ^w62+fS4Q3o zT{8o(OweJafG^#qpCm2h8O8K&W1Ntzjd|8ii%Zl!jSPR+S&(ilM+;D_QopJSX+6P z6V5&H&X4J%?0TvGjgLx^goII^ifsG^|EVqEWtKQdZc4IEW1473eR#>cKm8VVGmG zwlt>I&x2K6X!r=aB8i^0csyoCg6hszE_Nms|rt?-qB8uBvLr_+a0jr;1v2?ke$A zCGj>1{t>yaoVSTRRsyh=g7OSnixwdiD0b9;-T-w(|?#(MpO&pAbRW>uTF$ZG+I z80>@dRLVrV6&xap=?8w0HlrP(xLWE8S)jmQ<#Mt%p^ihmQsF<ftu1T;(7IO0)1lkR zepjAW+4+{HxK5!B>Iz*oN!gkYcIEraYoh2zSK=ijZG#n-}K2%&AGJDENFC1^W8Rl zLDF}9o-ZDoN;50x?G^y3u1a&edQjxGcqsPU7x3v+m-WH<@b{s5@2<fscpenY)EZ* zN4qXuJ>V{?u1<nZIGN3$wM6%iae+$$Wku($XKG>9*&nlxPxQ9wv*Xjx;QD$uWOR?} zcguVAX1qGc^^V7RJ8!6r8ib)t8AG~eTlGWi1lk>;*mq?4?y|k2wkt~)y?XhU}Mbs zp0fNs|Mi!my<I^>vgxMEtfK5{9P9I)#AKXm4#dJ(h;rTX4sec%43se8sf7ZJy8{ zAUOV9ujZl1s)2ShllJ1Qr+CJ@hN6yW~>NU+&+s?o$ZwRxeziS!><x6&rC{!)We zneFD4kUBF@LLAMycFdjOikx!zU-Tmb7;uR-PUbZ)hVeLRS23t8)7a%C|(72jt- z<$dZc&?M)m1Vi!D0zot-7cT3_ok<!A$u=Sh5?R)#@f_l*-A)pP^qQ!TUgRga9Cm3w zQC;Cr9F(r=2BK3R1uwbeDIJSP^Ez1Y3u2#Ew;o-q7)Hf=KGErXt-8niF;uhy zyrOZ=!4yQsI;a|aNKvV+g}8^>5aA5p($VNppt<l-LBRuOQPN@7-;LrVPwXez0VW zkJRg0PATQM#9$|^ShEJ2CF5kU+Zz8XmB4UCj=jz7bsp-<WM?lRPI6E~(CYG9XG z2Gx!T*%T{-x*fHDi1UIci+(?=yGp8R?Wc1?r7&6nqH#D=Ys<y;4{dbO6g-B8!MO= z4%Z>fco#9QKOY{-fO)u!Sg`n=6ptJK1B-#@JvnsYP}dsxKHhQw$wE)U+7s<WU%o z5xi;KUh^fV0m@uCR&EozK2D7MObF!UW<!K$BI@@4vq@)$>@m!9a4@>ZBieyLi)3 z!4zzX-5ag|O+S1{6U_h2LJCpTljgUiZp|GZ)cz7NdG_A4rU4^X-ahD>2JY6?zw6V z78IVwcW%rDXDPsJ{&x2(;>E-7&?x9RJ{iS9w3}!J;}V&R(Xdd&C>FL!kONmrDA)fK ztK;zDLuyzEjrRkahqDuX@6EX<sTNuvawZ1Whe8KZyHl+XR=KNM-9l}1h_c-#<6NOO zsi-F?8^du%6E|u)sPCKFESic^7iaS}O9lESfZXVLS1yh-;xnsc3xM<H%Nu*gmf+8K zHbK&cla|DHg7pl(r#^7?=S-1L{1!eow=^9|o_=sBO5LuZfSS1q5QW+dkFF@$eWBo& zaRC^n9kEsYj>TFn^BDyjO-PZ3&x8sYJ%DFLsmCStHc!FUSKUNGxPEeNj0OF#}(; zTQ(Eu;e_ERia|A(ILRTz)r7Cm{*dJ1+qu2e?0a+M!O&U!DRy(yJu|V!R`?!Cdpy zPzw7EfVi9g5(w^KSz5&=<;*%z&ajuh?DTsDV^@9(6Bu68D4bysbRiEv_4FncR;;EE zQ(@V^7R6Ci8e%@2b|4XRce!rvfOS!tgL>b5ij$LS06dB%(TzFI!8cBq2)lmkOvhF zQEqM=@?Ze{pH<vCgttRmU|BJpJqaf@mFo&QUsKQ<+tUSIB;J2EYH5e)t^EX!uuNQ z4*87QZ-yw?XoR{jtIMeEmaS8bu#*pK%GQbKvH7nMupm{GWZ>PjSIMxQCE-;dGn4ho zs~hK7h9{xCcP{aZ+fF3gt5o(&N$-f(fj=ovX@WJ|dZ3UMz2S==q&`+J}yO>cs zjnD@BRjizx+&w_q0YRb+tcx9IMnzD!6&|P-U4atF@Z-L6mQX-&5tb@cwMUA<(n z7;2Z6n5$O)K?5G%tQI=OJhT^-HEE@6MEB|T%Qgq4+hKbu$zcYG0KZ;76kYk&}4@X zh1FduMnD%8!<0(gODVN%(Q<h-i7p|FHdFAukg0mgdprHq3thpktYp2bAOk)nOrX{{ z+l1xi$GgY$@-TNhSKcscclQL4V?0Foo9o{Skw-ou;bKlz#Y^Qe1z7xD|JOD9>L% zZlhKS*<4UOP}U(R#VJ=$G8O7@K-URn#j?8rhKg-V#L|2F|Gx3vvPyBlb*+2SQqOJ z6Ckjz+9MW&IDs%N8p!uWe$=7o}+UxvcXE@gH*IZ#v$<?dO2+(Mv9k$^&w0}TA@ z|9g=Y>Yu|LSklNVpvHA2oR0>!WuFqvAa}Ivb3?jKPLjpq~L4G0N0WA)XV^o|&de zt0L^6@$Jm}4TRBOJ=rbP``DFtqKWIRz?h9BvLFS+q#{2|cb=I}TmmDcsLjOCd$l z>UTRvaxWH?WTJ$77ST7KR=DbvuZXwVoJ;=W+7o?%Vqmba_PEOjv#ntE?_3QjXq zOi|sRH)z4nGa}3gR_T?UfAomIY@fV1VDH>8$4B&DRA#Zpb_g69~SZIbdClvGz44 z2J1RgfYH07DuaDGs<>@0jw-lsUK~~HP#PUoc=G*G6^j9ydN{5%8b1~997})-$1iK zLX6O?&QVpyZa4c#ouew4D>yRCkSE!N{O7Xkzm=iwyVnnNA-VgkE=eYFLg6k7zo0{ z_Oil4RPN;=4o_gM&W&dV$2MUINIYS?F^qFJ@3G}mHI;={aqf(^6LJ20VTr20&yLr5 z0#ZW&H73NS^Mpz7yX{T+s=xqJkT?kXqLst6q>OfHf=envC0{HJ9a0&sNmr+S=% z^!V$a*tC0=KX|wM`aH$+9mk&MmXt3UGaJ@rXR!@>lkaP4!<=bPCFS3nq@oJuG+n zAPVELNqN|n}7Iklcj4@E41p2R@tWY0a=BGa!eqDA$b9FE@S)500qVXgE5}OhaEu^ z!L^6PqRj#Xe41D^9$Pv#Zy2HJaJHTGxJy3azTW9e(fL;-h@>nCoj}7qj5+x(>kOM z<+7*?xUfOEJn4b*u^pEBtDeW!OIFuXLvTwfJXcn3Pm^K<9PhxS(d3{py-;v9SK?Z@ z5?7F$q;b?H%t5kzcEzXlsyq&Ns1P)UJ5=J=L?gzhIn=v}dN2XgJd}gl<vSenvfIJx z<$H{wnAV7_su5ts5nUO;Z{^0f<QkXEJB8l#I@vlL2mfw0)At6Z6%Bv(fVV%y$yli z;kB9(Dr>IGBPNY)o6ip}#3I`70umX?&?Y@Gt9n}?6@x^ju4_trAR)%pd@C@^p zbX&m92XB!vz^rdKY&u5AB&!Gx2^jby$ANz)d|vMCB+*eW-Yl<B&<mrYb#HQis)FZv z^J*j}g>;2W$O~-dQM#jjV?r+nKRD;bPgz&^yy6uW{R@wYtZ;is-!i?rh8&aOEjR| z-1AmgZcV7CDQ9|g8a43K|^!LR)f97V4BP&YBmJ|G73JkpY$LMB5YW*hkUYYzKNB zf_bZOX3ZdQ3OK)kT56o-^#U&YaUAT3s<vz0_bSLA$DZ*u;fFtu*Hx;ns&b5D|50 zVZUVJ9Kf4!sHNR_{5*L2%Iiv0$P{4)WZtk+@BVdoupKHinT^M)!dDa;-eBZ<1 zUhL3tWx0OdH*+Qn!c$N#;+O-s!N1L7$BUEbpq>eFEd_zZjd&LSelzX&xe<=Q>du z>l+lIACQd^7t#9Cp|=|8Gibr5U&%;beT}j-^-)G0Sr<b^qCmSWZ^Jb+^MsUXDL1Q zeclJ9dEYV?8IuYFaX!FxjM#bWnK-1Jflk%nsl-53Ax6fwN#M}>_a25VU68TJ}O zBy6GtW3);x%{^x4F*+Ugj7wOYzHuVjp4okZp{Jd!5%Me(zWF<+>XUlaJ}9%?e7H zjnoD47T}%yY1_?V7H<)M&_34rUhvt%gu>Ok|olXPMEYB=_juQ{uuhiSFB37=^0u zX{$?3U05nIl{LWnn7~%$iK?Q{1Wt(e|FJAQ;DBHbIfMMk?s0Ye1%yrLoyAB~3%q zr~PevJA^+pDG6=3{xX5#z=08ZK^{#KU&{U@W4~$$2sRx=5KyieyaiTkH3UjL7Z@gx zBf*vcTXj50j*F1zB{Gb{PfXYe8#7?_Nqor4fn>Z6Y$NG)4l1Kbl(RH8+GYMrcC5 zgcy{>tEHB!2_v9%*CniI8>7J+QY3AgUee<%feEFqw=D_KAAG@LKE%+p)49S$VR4# z7eW8SVJs>URMB$Hqs?@cO;+OCi9d9sSy%nJ4GcM9oBtXE^TaeAUW(U>zzpkUK z0d!dHfD%%ARnM-MU0azls{&yqr+bo_cNt^@(czmFO)5Io?JN^1_C5v2t2vedUQhs z+L?ABPT!^gfftbpYRlI6ou6L}WDsFMOFd8Ew#v%{Sbrdn2}X}lwaysAx+gR*Rwy zRLzi(gXd@iIs>j2%+LopvY}ON=YUJL!<7Ps^m}PYXd#jLsO0KQ4ag%Uykn^s<e1 zd*MIEDZcU_n;NAr5ec-Zz*%AptC1CK&;qIS!zwos7+f5D>;yTms(%)&v3^#6TFGA z%707B)z>puxq#we^s(Uj8M|0=4YY|ZuO0SC81Mx%Hdh{d3uxZ(F$hElRjaVFdw zbvDi#NrN@N_X#Z_OSyuQMEzhFcF1x>lAP_qJvt^jk9t1xQwhd;Alu}%#7}-O*{G( zT@wBY8!dRT^6|^criD$Ol?<FIwwjYBZ#(0;9|zGckU+TWlhx%n!&Z-|3l`U>{ z!DHZ5)L{u;kfU0C!JzxZ+>gzvGp2pdw&gRGbQ~j#0fTbmU|x*-5_Otgxqheane z8{yEUR>W#o&|lIy0bkQ33swY0%SZ}|f{35>AWrvZBS+>8C25F?w%Um+)kM1x?gV zl38x(bh!dIU=?h$2h-odVuBfIgviZ+fB4vuwM+a2jH1v9%!6+uJk#B<Qi3KdL1K zS_!OGrii+iGIO887LlEMNOkJRqX0&3?H<4NDy#3(8twVRH+F?@fd0^}JLa`Dv+v zuUV^seu{K7fqO)o%<34KA)W;|%Boo*0@cj&b7|fZl#Cu?Q+qv(J<gHf3FC9xyS+B% zy+MHvih4&L5?H!{B!wf1;*^xhTbZcJd$D#jD$&0yWZwcP*JBBjzs1lNz0kujx+Pg z58?%91@%TAI%l-Lhz^Y$IPI(N=>^Pev3@!hmLIIO%wq1!+1PC?D44xr9nhazY^Sq0 zfoLUXfia!#_9ET7^m$-b)^{2vLJ+Qm%F-(1!k1>LvJb72!F5APS)FFG#!=qGIN ztLH(ulKxTl5El{uu%Hp^&u5|Yh=K^o#|^1W@c*g7Q!jTvoRbFs06d{S-QLrOpOx zos&p0CpDQXO-tdUDiWkdOl6VZq!KlL>@WzfLZ0>CM$L>jUBnp?jvO%gJh+{CK}cH zv0LvMO|kDt9)+3khK!45v<9Je8d!tlgBu>3@y#OEaCuQ?!rv-Zx(^o{0zUg#R6LN zgU8n=I6dS{bt_;W8Yq!tX(b{!k1{KBwVuveXkj_JT|SAIUK*y?=g~ECTB-0*WrGTA z2%=WM^A~}*BzFsLumf_n2E$FxId%y|4Yi&;454*5i_p8(FkrPqX&gAh!DeGqVDWuz zzru|ZxCdgV?S;^{tl5_ujCC3Wz}Cf1@|N1QQdOiQ56M;qy(gSFt3q@I9Gv^mOYS zbcUu+ya}lC=G0DC&Oyju?K%1dT?(fuXEsi{mQ!Qu*kPi10NQ?&124KKpbWdmC!|5 zk}EwDh5B+aar8(F#$ziaz8Q;D$nDxvHOM8XgJ|5dV2IDHy<VNf56Qx)!J<h=9=X z72qt17_wi&UITK}9<iqjDnw98jae)vr}s;M0sC3hVt2CU)pu5??bh;^?D#3*?6qe% z&$W@ur@WIt{yJNQT)zJMb*A(G(R(qA#?rk!(5E!$}-i(ov*^69>wGQ{$g^JyLtq z9vbf={EkgC-y9DW-N8avKf~cYIC)(VJ2!S5s5Cf^xYls8xw=Ra1(6|6R1chP^hlx& zgc+0FE3z>;S7tBTq<UxZ?pO4VPrtX$Hmo|nmzZ4V=P<NiNE)r;}FPW5ao!AWc zVGVyhIV?K?w?+5D2>CV4Jc9RuaXeN&MNvUGz2gy{<ti@%9q3&RQ($9*A$fzw1XhiC zt7EIxSZ3bpWM{zpUZ9B1;6c3M1<x|H@<WWA=dByJlMK(aLC^dK4%Eu?+#Nq?7r zZJPAU5a3ctzTy#N-+Nr7zrcw-T)(jJ%0p@+!j{ee_WR4-hB@%rM1k^@?_r+y11 zu|b}n&e9y;H4M>5kRZaE$}%mG;T}r$lae1n-Tx+aWGhb4_IxQOvXUl0|e$HvNm) z+D|Zt1Po%7&Tg3QpNMmcbiJv&(%aZ?7VKq6vYtZij69E^M$ZAfcH43CLoFn(nts! z#H#fkrg#w!X=o%ytulpJlL*sQn8^9+eQ|wdZBgaf2G-{F0oje@GyAeU&#5s;8Pb zTggQrY=bYl+<{;_N@Ps4c8bFO#FTCGre2tN#OvJXi0@n95G||aU%lWyUJ_t?Gp-Ks zFcHfi=I8(q1LNW~4>OUU%*Wl~O{{k13!5=|*sydbz1rg{Xehi3+lGGN{4oAUoEL$ zhgBd%vAU-mWZH{U9{Jo3?(te+xEA;^@46*opQ2=l+;Tft3>I#+JY?(N(_gPak&92 z2ya;zS^b-p6sAql#dxRoN3sh*N+3Iowsq?jcsGddwxB1I1sEqr%A9T@g@vX@Hc+MR z&g1H&D(r!*CL1r<_K>6!bDq!z2_b<x)Z+^fBk*0m080C7zQ7BIN-a~R@$IF1Haua* zMIoL5Dsu-xI}bfuAMykql8{&Zss%Rx+b}Cgs%x%P_rzHrhlIXU1-RtKIYXUWmD> zmpz){qvOmPiEk!sC_cM;W><tATV#x{jMd})uG;hbwS3O=buIeH{Jvf?1a%IlLpFz ztmMbORp9aIZcS4QZ1&<WGk|phM$M(|H(8i}F-%zjJyaYxxAf&X6NG+ZaX3c?5w@ zWudU5b#DDSC$I}<y!72w%Lbg2zk>T{jXT84_HxEZW+i}BG<FrFnize%JWMtKn)@KO zq;xbe3096%0$E;vyG^7Vk4hsbAfT9_$MP*68dsmw%vsWSIA+l(&>G12a@GTga@8vK zOM)@aIQ#t4w%g_64kXUJSDa!tg$ZWEbm0<q%7fhQj^)t6K1GvlLnY+8D)nwOv! zfZ?py;q{7o{MtB7)9;{&MdyC_APL8oLhYCIunAn?>C$C4Iv=isI@^@>nyL-4%n;G z0dzY6wLS_olf%h^LojT$2_qKJ(J0cr$8M)mNr14GnsBpA{eeNZfE1d(y;{-nVU2e zAd&o$vxbOkQ<5;0aVrI_l;2YsFe4}I4dhzA%LpM5F5F%{)DuXiJHG8wDi@|997q zb4kCGo<6ZOU5O)!UZB=W;jn}A&}-eb(hd=JODrs=xs!QmL-mlmm$oboUd3J@0( zhINV|=4w9llU3E$aS2TK8DPidP=fB6lP|fZZppFyrzv{)eOx1{h1NKuiuZ|JC0O= z{zhq##(xytx8+Olh!$fb06Ut#SzcI}O?Bki&aMs4QAlux49qS6X@>1t1D^kgYjwk z@%Cpj1XMQW^%+^_4gKNO{STbCy7>7bu39HXc<Ypz*uwYep+)y;jH%JjneW1$4vN+ zAtT;hF4|hIMMPIFMPoXeyHw#HO3=Li(=#uh-G{^VFJhTmD87uP}5WTLmz&NV)b z3n6tTn-^DQk&IzC$Mts(4Z*zwfL%)5%l=1l{HPGm9N3FV%z5ap#D%3F=Rvt{c}I zmwMsx-7+ZT%6Y1zIj$%FSvt;|F{%D0EhI#ABiGDNOXkW9$<l-fjVRg%eSDY8tn zuv7pH@Risg;tqPLDYWWj*+}eKt1JkjtI0WndCUk|Kw(o#FZy6HvxXmn1A)TSO+y zSdJ#ew0d`aCKxkAwa}%t4cL@VbzU03_{1A!Od)Dpp4*NEbQvJavoxNc?riF$ev89 zdd<=;uCQjB5c}fHofZgxGB_L2B-#o-r}s}2am=O7G|(?Wt^UMHSsbVQ|P>juV{ z%BH|mvRcEn84Nox8ikSEJsvRv^$574$mo+G+_j+Mf1l3xq$^N)$!0z%^+yM908H zoW0n33xvo6lh~+g-FqBdO_RVH{x#R@GnOYXZgrbWX8s74)vQ0kC+>b)FHQ2?km? zvKrauJ;eCk^j*4fxSJG>Qj9qw&c2YJ3dD#oqQITXi$)E5r-bd!PQK`#u<=OKG zK}9}+-ik^&&89X5oT0;}c}sbFQzu_-Y}Qip2*vVcU63olS3QO%%{tJ|#p@8*#oBT> z15itSqg);D()#fJDK)mq9_Mcr6{h|T;F6?1i#@6T<5<4yLrb~ntP=VQ{!Km)k*WB z>;qN+ORuYFiL$D*TNSN>Z*@eYptZ_(5=HH*fd?dz@*7u8%j1Q;@ny(nP<3Al6mBy7 zn<jhFE-dSU+rUb+QG{Kg0jpehMqjF=ojB*-c{pVx#pc2a`cf3pmpULuHL?(2EvRJ zUTe%$GV8Wr|iAHVS1&Li>W_6sQwfdhSPN~bjVef^x)R0EMz!=WZW0*+u-Nx&J#Po zXiZPErVN}lhhZ*T_(e!N+z<g3DzQBOO<@u=BG_pj(S;+*!#NKbj*JAy^~A_v9@;yx z)JoTN29~aAahdC7u1)_CiPe{Yy3E8W<lV?*x$L$|83VVdD@NibjK153G!1o~xVSzj zEHos3V879Z@iFki;6$Zn(_jGfKj}wc6Ako_Ry<}aa1X?0Zf3E4g081#QqMvXXsGpa zw>8>0BA~7ddiVxNVsh)hY0Hdq?eLRLC|7E*r~8i7UeVoOOsu?XyetQ+cxnXR)-gCT z7ci)_)XKXSf^>6@y}B}oS(v_EA=?Qq@5V>dad<Gn<2pg2I%ljNm(8y{j0n0iHKi zrzKEHX+-r>Age_1DMzBktdajoPC}hlHXtMLZ!oPln0rfu$G?06F8%$UUfI3YD) zF@sv|225gPLb0KB{9v%VMzc4jDcENoJC~#C0CfA@04Dg+!Jo-&M+|X;jBDK^3o}%R zg2DUBiXL#2kyj_VSL}V^96QG26_a22*-~MBQTuRV3$g^7)rW6M_+QCztgU5Czo-@~ zzggN42~{7v*s?T{!gdXWCPoXP7~))U|Hc*suMyML;e7B}bJEaA2mBX<4Aeok0!VEH z(3st%s&i#1L@uyu8rAj$yXNxeOz}pi=cw3iRhpVfpFFr5Q&wE{Zqm4{S6CzZRYgsU zxu2f3@dHN>)#zD4HTBt9{au@v)P50pGQ)s0cfIUYrL}7c)y$11&uV6E_Nti|M!OcZ zp2x9hSF{3GQBRHGRn=1TIPNoPiKG05Ry!3A$%1)f?xL6<1}1j_U>m|=ax0VNSn3#X zVq-Iz4Fau=6x3Fo_Qj(am}ivL)=Xf4PT_FW$br2}1_p8BuWy@+=V>qoXJQMW^%Y3t zyz;Cw8pnG*9ARa_4E6fL@WzimOMN=fL(Qh+@2r6Y1uXm_SmiYl)C#}y0&=<FnNf5& z1@ok{<408OND%NS=LyF;{1F!N<2RkRtp$lXXnc-8O4(k>f0TqWk3fftRWeMS_ElS zltZFI0jY~Jd!bsYKPG%Y5Qn(4I}Fdv}vx{IWGip>gJjMl2h>D{;)CeuO7ldPa>% z6r@M{63z%3z?s|G&Zps%BQ)}6)1gIT2UF3Qzit2Wmxiw$X~IjGaB>LUQ#a76&H z-$tXUW!yL7<1l352p=WD{rSw@fidpASPJ1jo1D(t1Xq<cIpuC$BC@5il;PE}-q@&& zDye{uoFP}TdhSV-%zf%g_z&ZdhR!YZYoS8gac)I+kIEu2u*}BC_VKSE5UDA;8g7yA zb>T9Da=InbBIB{?V6&uF>72<@QB$UTnV-7(p^L2+F=XDIo{)=%!AZ36hMJ87_iT%b zz{T5=}N@P$vzNskreCE;v_nPMlqHMych6v!ZyJiP|Y3^986G+dKl;lngQP)t+B70 zecVFFGmYg%IW>iVs7JUMsfNt%c)>JvkSYzJeaAkV-3?S1)Vrr-^z0Q&V(n4l3GIoR zHN{g2W=(yG=1{BZiXx++&E3Uw%GLwSCk*Nzp_}^^8<hsdGw*)77IOq(Y?i-}bf zrcGL|{9tGkNzs?SCO!->F}({uWdyNCTUqFyS+_>VkZDtsJ&b3Xeej|(pe<KkJtw0% zT8%D9GJ)zK4?#c_bJSDoqE)Gi@450O8ixf0jYVnLE)fJw3%RT0)D!9liaRzmDRc_f z0Ay{SOiKxXGg|jU2_BIE5nUe-+suBd8$PSfHIf_&K}=!<un#a*SIR{eE6+B@ZgI8 z?ASQ6>Z>-r(cA5}RP}K($==gNAMTo~^fe(-M;35_d~wr-xhY3}8qs37KKL#%r1SgN zky+NqtgC_Xn@h<+7t%|~G+8e$!}5ef|Io~u!Odmvs;?^8P@(b{m#rp(^WJsM=Lxgp zSxpDh*37M4iRZbdd1ur>y&F&TO_Eu85B)995fmJr#$@s{vHlcfumaMkuC9j&EIXN8 z9aDL^A!JL#*cPx-IyKf%>$;-U^lhstjjKjl1ECE8d~Lhf8<ii9%LfiHiwP|Liow*3 zl^-4WDtp9CD&#k;q<e?V(pOf}p?j&q;9CT^n>2|+?dnp>&1H^Wq5~88aq2kfTHu8& zspS@j(!yRI<Fx)3m!Ku7Bkjs7S0cnDc${*wAXW%ug_=-k%%~kRW89SbOHLbpWTFDq zZ{(dJm>#!5H)0I2&0&lnGHRrCA)%F8acLfH6{h;Utji%a67E}0HvrC{?drioL*NnV zRE#OM1a1w&X>@)QY4X^Sjlu!M=ukxcM3Vp^wNTTookLVRacP4$!HZ&6kZSDs8_w6^ z$+q9~!q>Tz79>tmPbP9TG#(C6%5@(bcai5}kPuM5Zz{6*wP&(6MYdBtM@0CI>dXP zw;kn$d8<?EqgA8vRJ*tymJJ#YCf!uMGb%Q$stHH;13T))If<U2CM$Rb*=MCzh0|VL zME|Pl(}n6&AB&VlP;3w+;|yK>m{@sKhHl_t_a1U4KSPR3TS2o;D(kqDU1ZoSpyAFU z4MxDY-s3Qu5%8OOzUnGP)!7k!Cs7Qkgv_YSa2^?%KjPjvL_za<06wll)jdb$Vk zsT2$%B@P@A#WRpLv;n{%dh0d)+6RSKOAye{*O<6vAGCLJ+eCccUhAX!12N0d}j zJ)pIeUjvK%tyBY#QsaUzP;_2bfYS>GNgN-8jC0ZqAr3WmdDzx=&|j!^aGq)yhA z)esKx$M{PD9=SQlPbUBAPpthQ*?&Y>X)>kV%;$j)?TJPgy6n{{W5^l@Hg=8?D>gR zm}oC&(n>4<^!JV;pwiw6L+3CwaH@m9VrEER$$2C_BC-u$kH}7aF<t+1-T6MgIL#Y zzt)^RZ988qwmMOJ*XL!c#%wn<^@Sx13kFvh(fs7z%<t#JXET@^X6k5B>?LfpmR zjzj?1<LHQuM{1&=0XQ(clL9aaHND$tV>nadZEwPj)ZFwo?gybfJ?mEJX7kWOFmwm z4@34xvo{Yg_y`SrfN1fw_B>?s)Tq9MghCkQW!3GdChQGFe@j$vVaw&y(<DK_ik z$u5dbvKG#eHwBxrb3@=VQECji$cK=7=cu?-B9PizfI+(brTSi0e@L2%xnp0OXIc$B zR!qKf1bOL)M}%pw`gJnGGLm*aF2|P(t9A#Xl^rLvqOm>JZ8cbB(W1+~)L8F}Tqu zK_$11edfi7io<ku?5uh;vJ}8h9IZHuomQWC|V#dbxFr;r3v2$18|i3Z1ozYYc<}Q z(lWO<@62uVPXn!CC&qMqA9fP#;LAvtQ#+hh$sw4Q!IkCLbb(&qCoV=qedM(lcG7= ziHu9OIv27!uM&u|lI6KkSjxs2=bCNNjcdJrJ{(u8teSA<K!@;6vpXMXf_VtY{40 zCmAK2rOLL2EGQjOEnK#8@H>~a;lLHO2AepSyBlu1-%20(^6HpOT{FBb@sajGd zO<M9p*&|tMY>|m$ylrPb<u#08Eaau=Bx(CmjL^OBZeGc#ComKoO#h2HBN6fWOa& zHW}M&@o^S2=f18v)l3Sj@q|xiOv)k_L8dSIdAo-f+E}}5^TX4SGrUL^#6dfdF1FGS z*@1M(U3vE+$>1mb<TPvUE}10YRE>2##k8@$B9q9bW#=<VIRvwq+J5Fb^E|W=F{&F z1xH}jeW(dB?e3m>9!u93VEzk%7pc}kkB$QEGx-zLzvl2yQ7fNEks(r_UAe!H-}r( zjBrW7S#i@bra4eNR6QeQ8pM;qCzDX6u1@iewj;KQ8>^#Mb61DQMMHYx32l=BgRV zY$R)hX(f2!!WZu6=QTYgkCG{r)45aFfV407bqG?&jKhvpIG{u0FU^+W9K(s;BWU zOby^ZJE{Z4g(Kb1q$3@Th57$63JTU6SS<&zR4*nZwNHV{6&i)m<0EG0?v}3U+_g z47?Eh;yU{mH=Me5JAN_SBQmZ5xt|gFg~}y<(mhG)NJ%3X+*HbBgc!6{pi0Us+$$ zYRc9@Ay()J=z$QbiUKU@(Tww;mH4rUrzkL>4sQxQqdbCbpTO801+lN_$eFoa9YMt zOxPI=%;iE6q}JH0VwFeu-oW=llQ(+5HLEydHS&xd;8|0{3ZOByzG0F+-su^sVzEO z-8#}6hi%=u{49#J-v6Z9i$MShb>LKJ{RFhyZ@qEZ%5Vn~mC3_w>$tS_gCMfF2B3 zd4>ZPu{a)LdJ;&8HIvxFRq9HD_jzQRW;>1<YzzXko(8kFro7m}Y;3oe)#POn+PPe zrM4)w)S+&rsTL=YrXh9!yv|^!RMMryU@-|U@dNEWq|Syld-}pH#h;saxCK=k7I5 z{wC0r@H)xWq9SY-t+gI;6CP=@j6sf|X4Zs7idN@tPoDQCMAD!T=&x4LBrKjxA81gd zNlPFY^XDg%v=?Cv10U0NyP!vzA4fh)iJBYe6ND;{@_XTo1{^+GWDx2n=IS7q@Uk;y zYyCLQAt?JMufGf}HBfaB7;e00EgN><|x^j8hs4=IIhu_Tfy_D3}tyyaxR!zn4i9 z0FAW1GAUL%P(!8CNnVC-rjSemRggWU;3iKtA2S<T^EcVy?3hCO$A=6E}(Q*7I&$} zPhQ*=_R*ZoGMX3nbXOg*xlmT_lC3NQ-Mj{84Ml^O3ZNAXMMESN^xd&&0I66s+@J@ zX1(^vEwkk<{;r5FZtdfM;S5nSBA>$J2q%>1GAbD$uH&K9RwJd6+8<%;!#Xr3?$?0H zMtivTZeMjgeqo6@x=3oHak$Kc(xz1EX4ra%#j^f@%4}QDEFb;ez+|9K(qNPB0F5 zc2RP6GL1km{sp?mlK7$OsCHx7-C=BR0b+jmCS4dU+KpiN<SC7<M6Z|arl3yI_ zDAx+yC7L8Nlafl7FC8dM=E4F#tR|kcbSmHFtcXHzo0xY?LMZ?wpRC#Q>5!*MDnq? zHH(3AJjo6s@x-(hMU+GFIdrfv!#{M5Kz@>lsbuuoc=?oH+oWuuwz+^<DvN9qP^CXK zY)Y*2sDGpS8=m7|L-viv8ok$e>s0u<JLNa;QE;)3%6c7V0n<U*i*<SPk;07lQSz| zePVoF<pe$OzGNcMJ0h-d-G=$<0me&x2CqLA+JY5^)#VdNlwX@RB01G!|-dXe*tyu zSq}tBiYGBVMShR!yVj%+$xA)0a2{H8%cR|4PS){KTrH};^pJSFHx1r2tpwgSS)!Y zE<93lCbHw^n5fQIN$|+lg}|VAv&UXtm-N|^jmoWfHyFFG<-ux9?ar@dza70^N>H== zfz$3ep@e;-2mfagPg5CJEnT)q<Zc=8#okm#hih{Gi#56L$<Q<Zv$&cMX^m4=uts2 z_GC`zUtw>SIzstzdg#_l)#8|{AH!u&^Atb>SFbVNKs#3ABN#g1v@>6?1089^JJ z1X^t&2v<sz<VDA$=||LrNzX2$SOHLgqGs*{C%iUtMK4?fn=wxd|Bbv zq;L}a{;&;q_6{A!w3K{S3tBog+;of}5Lw!>-U;nFDjst8FDg7u7E4*y+km%DBS zpxkDKNqbt1mIh1_&$c@zU1Jg^i98&_M)8gVTVW=I*7H(Aa%~+Y><7xO(9s+Abxx zSY+Xaw#IT6G|bo9+W1{Rt)~c=AAKjTzY^CT1jB;!MYjq>URD&HRVv<-iZh=LHE23Y zVlp!9hPOdb-gWnj#dzy7_~(k&#9)m!m9K_wN>6vMVAf;4m=w~Z0Bv8Qt=gpdPP~i$ ztiROj@J^c1b+GYTqIn4Tnv03MP<drA?ZD5$2K8$*-5g(-SHZ?qiBw3;)hwVcI*%fY z=%laJ_>5%s&VrkZ)x1Hi2FH{zv*r0!#;i?nA#tbc#enyam+*QY6W)lUwnjU!pivFR zA91C@>ocBkGMCTct8&=UuPhM3VOES6c?(-q-&esNZw~Y%TQqUM)HVRL)ak7}lODXG zngMHJ0u-5SGoFfaFGN%QwupeU=;Gb%Cy}#tC_e7G-!Xuflakg5kgTtA^wf0|3&}TU zE)~*?(60)7F|_!AehF4{T=L3sl;_K&^6&L#&eHo=4;7)8W~;LR+BWh%k7y<cUz(DB zqV{}K-ir%pfEfBKsuqB2^Rf+w@4I<eZ{kKQ;dO}c|Hj)idk4ygSpX&jR;e?_f_$D z>U?d_oB^?gNHxN_eRJ--X@T?xQ%g@+zNsoJaN0yWHRf_i_8A3G6T>LVKoh-Q&%7W zYxu=3N>Gd#iG=mSZscP0M?fxb7UR*20#>F&ycg7Aka6$)H)<!2{5MiZbM6ni<5@86 zcy1nJ$j71n0b;j1t_dwQLB}4Y?!wY(#%+3yW?TKK)9F)Vh8zO?djNeaZuNS^)*7(x zh>tuGjeE{;0lx3C>I4p0|FZ$|Z@j-O0(;)ypdIaJCf(!|WQE^{WG;O1tU^0%Ns z!PcPmG^ow1=tB3(_J)Ie=fV?LUs%;#UXZHKSPqQ!h0Qs<`I_&SH+<U-HP}PvCK+Yn zpA^ysN5O}MbmL$XWf>1uf#mc(B{ZSPa%Jj2OlnKO07pqR4vjIm$sL7+#Lze5qP_h zkN6x&q;td4GsU=6|)#$2ut;rpX0c=a0D?Gem!YmmD-}j59D*ssZ{m9hj{Af1N{H2 z|1HlI4sp9TmfZ$vieY4sP2)Qu3ym<ii<8?x#@WsLupL{CJXndF8kEHUD=jT;l88 zEOhwp{2OPStXHY_u$3oEUq^YjL@Z>NN*(V_T~{_!q|5W&+2(Os)J>#qb^@9a&u_ ztTWB8e338FG5bXzx&PK|MKsC_lN)RuYdUcZ~yZz|M>fV`t2Y7{)F!?HTn-Hi# N{N=y<<?ny<{{a<dc(MQh