diff --git a/rhodecode/controllers/admin/repos.py b/rhodecode/controllers/admin/repos.py --- a/rhodecode/controllers/admin/repos.py +++ b/rhodecode/controllers/admin/repos.py @@ -70,6 +70,7 @@ class ReposController(BaseController): repo_model = RepoModel() c.users_array = repo_model.get_users_js() c.users_groups_array = repo_model.get_users_groups_js() + c.landing_revs = ScmModel().get_repo_landing_revs() def __load_data(self, repo_name=None): """ @@ -91,6 +92,7 @@ class ReposController(BaseController): return redirect(url('repos')) + c.landing_revs = ScmModel().get_repo_landing_revs(c.repo_info) c.default_user_id = User.get_by_username('default').user_id c.in_public_journal = UserFollowing.query()\ .filter(UserFollowing.user_id == c.default_user_id)\ @@ -116,6 +118,7 @@ class ReposController(BaseController): c.repos_list = [('', _('--REMOVE FORK--'))] c.repos_list += [(x.repo_id, x.repo_name) for x in Repository.query().order_by(Repository.repo_name).all()] + return defaults @HasPermissionAllDecorator('hg.admin') diff --git a/rhodecode/controllers/admin/settings.py b/rhodecode/controllers/admin/settings.py --- a/rhodecode/controllers/admin/settings.py +++ b/rhodecode/controllers/admin/settings.py @@ -397,6 +397,7 @@ class SettingsController(BaseController) c.repo_groups = RepoGroup.groups_choices() c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups) + c.landing_revs = ScmModel().get_repo_landing_revs() new_repo = request.GET.get('repo', '') c.new_repo = repo_name_slug(new_repo) diff --git a/rhodecode/lib/utils.py b/rhodecode/lib/utils.py --- a/rhodecode/lib/utils.py +++ b/rhodecode/lib/utils.py @@ -448,7 +448,8 @@ def repo2db_mapper(initial_repo_list, re 'description': repo.description \ if repo.description != 'unknown' else '%s repository' % name, 'private': False, - 'group_id': getattr(group, 'group_id', None) + 'group_id': getattr(group, 'group_id', None), + 'landing_rev': repo.DEFAULT_BRANCH_NAME } rm.create(form_data, user, just_db=True) sa.commit() @@ -558,7 +559,7 @@ def create_test_env(repos_test_path, con install test repository into tmp dir """ from rhodecode.lib.db_manage import DbManage - from rhodecode.tests import HG_REPO, TESTS_TMP_PATH + from rhodecode.tests import HG_REPO, GIT_REPO, TESTS_TMP_PATH # PART ONE create db dbconf = config['sqlalchemy.db1.url'] @@ -593,12 +594,17 @@ def create_test_env(repos_test_path, con log.debug('remove %s' % data_path) shutil.rmtree(data_path) - #CREATE DEFAULT HG REPOSITORY + #CREATE DEFAULT TEST REPOS cur_dir = dn(dn(abspath(__file__))) tar = tarfile.open(jn(cur_dir, 'tests', "vcs_test_hg.tar.gz")) tar.extractall(jn(TESTS_TMP_PATH, HG_REPO)) tar.close() + cur_dir = dn(dn(abspath(__file__))) + tar = tarfile.open(jn(cur_dir, 'tests', "vcs_test_git.tar.gz")) + tar.extractall(jn(TESTS_TMP_PATH, GIT_REPO)) + tar.close() + #LOAD VCS test stuff from rhodecode.tests.vcs import setup_package setup_package() diff --git a/rhodecode/model/db.py b/rhodecode/model/db.py --- a/rhodecode/model/db.py +++ b/rhodecode/model/db.py @@ -295,7 +295,7 @@ class User(Base, BaseModel): password = Column("password", String(length=255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) active = Column("active", Boolean(), nullable=True, unique=None, default=None) admin = Column("admin", Boolean(), nullable=True, unique=None, default=False) - name = Column("name", String(length=255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) + name = Column("firstname", String(length=255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) lastname = Column("lastname", String(length=255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) _email = Column("email", String(length=255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) last_login = Column("last_login", DateTime(timezone=False), nullable=True, unique=None, default=None) @@ -500,13 +500,14 @@ class Repository(Base, BaseModel): repo_id = Column("repo_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) repo_name = Column("repo_name", String(length=255, convert_unicode=False, assert_unicode=None), nullable=False, unique=True, default=None) clone_uri = Column("clone_uri", String(length=255, convert_unicode=False, assert_unicode=None), nullable=True, unique=False, default=None) - repo_type = Column("repo_type", String(length=255, convert_unicode=False, assert_unicode=None), nullable=False, unique=False, default='hg') + repo_type = Column("repo_type", String(length=255, convert_unicode=False, assert_unicode=None), nullable=False, unique=False, default=None) user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=False, default=None) private = Column("private", Boolean(), nullable=True, unique=None, default=None) enable_statistics = Column("statistics", Boolean(), nullable=True, unique=None, default=True) enable_downloads = Column("downloads", Boolean(), nullable=True, unique=None, default=True) description = Column("description", String(length=10000, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) created_on = Column('created_on', DateTime(timezone=False), nullable=True, unique=None, default=datetime.datetime.now) + landing_rev = Column("landing_revision", String(length=255, convert_unicode=False, assert_unicode=None), nullable=False, unique=False, default=None) fork_id = Column("fork_id", Integer(), ForeignKey('repositories.repo_id'), nullable=True, unique=False, default=None) group_id = Column("group_id", Integer(), ForeignKey('groups.group_id'), nullable=True, unique=False, default=None) @@ -523,7 +524,7 @@ class Repository(Base, BaseModel): logs = relationship('UserLog') def __unicode__(self): - return u"<%s('%s:%s')>" % (self.__class__.__name__,self.repo_id, + return u"<%s('%s:%s')>" % (self.__class__.__name__, self.repo_id, self.repo_name) @classmethod diff --git a/rhodecode/model/forms.py b/rhodecode/model/forms.py --- a/rhodecode/model/forms.py +++ b/rhodecode/model/forms.py @@ -662,10 +662,11 @@ def RepoForm(edit=False, old_data={}, su clone_uri = All(UnicodeString(strip=True, min=1, not_empty=False)) repo_group = OneOf(repo_groups, hideList=True) repo_type = OneOf(supported_backends) - description = UnicodeString(strip=True, min=1, not_empty=True) + description = UnicodeString(strip=True, min=1, not_empty=False) private = StringBoolean(if_missing=False) enable_statistics = StringBoolean(if_missing=False) enable_downloads = StringBoolean(if_missing=False) + landing_rev = UnicodeString(strip=True, min=1, not_empty=True) if edit: #this is repo owner @@ -677,8 +678,8 @@ def RepoForm(edit=False, old_data={}, su return _RepoForm -def RepoForkForm(edit=False, old_data={}, supported_backends=BACKENDS.keys(), - repo_groups=[]): +def RepoForkForm(edit=False, old_data={}, + supported_backends=BACKENDS.keys(), repo_groups=[]): class _RepoForkForm(formencode.Schema): allow_extra_fields = True filter_extra_fields = False @@ -696,8 +697,8 @@ def RepoForkForm(edit=False, old_data={} return _RepoForkForm -def RepoSettingsForm(edit=False, old_data={}, supported_backends=BACKENDS.keys(), - repo_groups=[]): +def RepoSettingsForm(edit=False, old_data={}, + supported_backends=BACKENDS.keys(), repo_groups=[]): class _RepoForm(formencode.Schema): allow_extra_fields = True filter_extra_fields = False @@ -706,7 +707,7 @@ def RepoSettingsForm(edit=False, old_dat description = UnicodeString(strip=True, min=1, not_empty=True) repo_group = OneOf(repo_groups, hideList=True) private = StringBoolean(if_missing=False) - + landing_rev = UnicodeString(strip=True, min=1, not_empty=True) chained_validators = [ValidRepoName(edit, old_data), ValidPerms(), ValidSettings] return _RepoForm diff --git a/rhodecode/model/scm.py b/rhodecode/model/scm.py --- a/rhodecode/model/scm.py +++ b/rhodecode/model/scm.py @@ -29,6 +29,7 @@ import logging import cStringIO from sqlalchemy import func +from pylons.i18n.translation import _ from rhodecode.lib.vcs import get_backend from rhodecode.lib.vcs.exceptions import RepositoryError @@ -472,3 +473,33 @@ class ScmModel(BaseModel): def get_unread_journal(self): return self.sa.query(UserLog).count() + + def get_repo_landing_revs(self, repo=None): + """ + Generates select option with tags branches and bookmarks (for hg only) + grouped by type + + :param repo: + :type repo: + """ + hist_l = [] + repo = self.__get_repo(repo) + hist_l.append(['tip', _('latest tip')]) + if not repo: + return hist_l + + repo = repo.scm_instance + branches_group = ([(k, k) for k, v in + repo.branches.iteritems()], _("Branches")) + hist_l.append(branches_group) + + if repo.alias == 'hg': + bookmarks_group = ([(k, k) for k, v in + repo.bookmarks.iteritems()], _("Bookmarks")) + hist_l.append(bookmarks_group) + + tags_group = ([(k, k) for k, v in + repo.tags.iteritems()], _("Tags")) + hist_l.append(tags_group) + + return hist_l diff --git a/rhodecode/templates/admin/repos/repo_add_base.html b/rhodecode/templates/admin/repos/repo_add_base.html --- a/rhodecode/templates/admin/repos/repo_add_base.html +++ b/rhodecode/templates/admin/repos/repo_add_base.html @@ -42,6 +42,15 @@ ${_('Type of repository to create.')} +
*HG0mG!G|SK$%DKNsQ%_5?1A-t1gG?ME#w0k<@E*) z!_CD>&^6tQwM>`q2~H~>yjCU+*5W`rV3&HYElO9*izqUESe>E`-hItTlq$6#QKwE+ zjpb#}U2+5s@ie=snuY{{gPq`|?-}@Bj6b>!@l(%O8M)Qj2oU$3QT%1h%+93_36$j2 zNCxeMN-ZabDPsX8Wp6hQ4bJqVcK`_N>zgbbcSxORgqZCPBP=?H)Tf$3yoo?bazL+C zuB-MK{0phD{p@4XNH+h*3KW4mwNI-YI^`uAt&c+PI*32^wKy*Q1(V8&( zVp)F>g_MqL7XAnhK(Kuv;@_4%@T5zOuV#(l=iajpQWn9IIV#X)Q9Bg GYyu$KxK*PZt7`gAe`=t3P)Fw~VADi9qx_ ` 3rq*6%zxChPVk=yV@`L}A(0mk979i4b`bgXv;=%8T^%6xL*;-E zDYVfLMy~X3 ERIZZa2b&;3GmZmt_ zf`6ox2@T{AJMf&RWc8>H0-N3UDLpZ?52HyBM529kM^cG}kCdNh2S9lw0YViIQ&I12 zX(zH0Nu&gRqYuA-G9LgBWwBX&5YT)u=dHX=|EdAwdJ#MiaUzFhyKjczfSeI0;-2sGiPtu1H7v z{IJVt;m-XfHRWdyy6oE*>>agqUoRq0n8F)2{Om+_M $#_PmWe{UVdM_KL< z;J`O1zWFuqEZ5)uq&P~uLLd1L;X;N8 v*w@;aiwcKht*OTxN&EEF6lxbjQ z`!r-U0Z$56fdUv1+BczRn+Y3LTa`LvQ0Tt)0#Qm3-pooPBf@V~lrfNLW;~pW2YLt) z{(aq>6N;v)Pr(q@AhBQeKnh+F28iX3w0|u8M_e4}1t*(9`<<5&2tsB-bEqG}X=L-G zf2jAT#-IlgI@AXJFlX)O4HDf1(!?AkCLB5ujV9mVfd!=ltj0`MSPt6Mcmf;|lBH+T zc1ELY 4JOD^0-iLnb`vp4oJ>y!XvH@Ar-X`G%Q#(Yh&jU4=!!W?4{Hec+o}2 zIq*F-^kzB|BzO0f&yh3QMSS}ZB!NL$(*fWTLyt8(5<+HuPCpSf?SnDLl9MG8SI(yc zl!bGVb3{H!x3FwbS=B-kST3jLoFD41`=W3f@C58X6OlC%W|D~g6Ro-`n|;-|aLgnB ztCG?ZXGl@7U_kTOm~WA-Bl9-vxWbSUd k!d3rMK;ZGup1e#0|j}z{!1?!lC z ?6B1m{6#v%9&D8k4Bq2Zc`Tqol|vyD z2fFD*2xPtY$7NX_UeY~{NS^!?3kZzW9m!uXfn2R1fLx;dLeLl!8oqYW2xk5W>-1sT zahF>&z9~u*90JYwM}=Q@H<6?yx-*)EtSrA1DN%tiEnL|va~}wV&meMB2K>4cKk4X* zD5XL8!yfd1(A{_5F~)2YO8k0|I#M6Q_@iyw&=ZWTKIOv`V_lwSEm^@1-+O$jq5RuG zkjf$xXoZyn)Xy_WYAUf4I)t#c;K9oiYgiF?WkWz7Mt;D&(WnLb#TOnEch3pdd4>=k zswc#PoJcN{Qfo^Seu?{;BE`CCZeP{Obiw&&k;CK@f9i?z1f(M&)C7nL9^&mmnl^?L zu}cyX#%m32)N%b1@erUF)kstmwaVU3 N&NI?b@_d@>vG{f1qPD3RINmR=%074oR5)~Ij z%g=Hjn((&k8|n$qs?+ThC*@ZR3d<_fB1NRDVACunbwIxqDT$ }_ zcksFtF;bMhjRum@@T 7ZG_PfU@HGZZ(0AO-~gRT4AZ)K+3IwK@vcy2Q`9E(5SH# zwmvKyY+oc5Wg2b8B(z{v1xT3`z6k|7<{mzm38)IYkb=O54y*eV#Wc$JERI;{ZUj3F zLT0e+)SDv|*)*GphSBZ&(GDSq`8lKY82`K!<>>{idrX(hE(U@`R8Yjr%AyAq8T@cq zp#BUqZNH7p$BWUjKW5k!Cax)~{5VdNdk34L?MLI5;;b1JE}vo9T=8v5QH04~rDF`# z7|PfcZsLB=90B?15YS(jm|C}Hzc7^*fRKGKMv~n}GR{jEvpfS-STC0qfz9Aum!p%) zlJfbEvzv@>&0h5tiT>C@&7SiyRrpp1CxDv6t)j>kjwH$?T1ty)b !!~&ptnibJb?t{f90PuXcqK9(l2FeT%7v60fg-(uvy2j- zGshav0ikXc-NR}Vta<7D#57PKf^)uL3hb;F2{WV9tt2E44)3A)4=o}pZ!X9d6<(FS zo#XagK=g3$7K$n;kL2MNC-Yz82I1oTSc4qr5F_!;q^aK)DmH@*Bh2x?7;_bW(8$o= z$H*5JH7Wus6!>koP6m`526t{VD_5u%I|s^hWxdd351$Rt;d_Qa9zZ%4Tna3oZc2Uf zTQR4>$N?KVbVPy{U;?hKF6n;AU7VPiV2xcdR9?6iXBw-Y4j&rlxefae2Xx&a>||LM zYi_8W V_ZibtKxJ(qPq1e2Gn z`Bio_VA2>Citl+}A_^0b95o*@VMeVSbH&jXmpreOz95;Ot%OcHE$hj^A%-0mxQ|mu z{$Bj~z>Q=zmo3QG-vc}r*P}xlj>Meb&`OBOh7Kkgq~2T>>X09s=fXt`_EEM?Lg)NJ zl|E(`?70xk?0cDYSuI1zPV)}|WosT5`=PFrG}oJE*RSm?E&KW^uF0nYPDC5Isf0M^o~OpLy8giE0gtY4hZMb`gx;xSBiocTy$u7V~{_Y2__;; z`C{>G#(8}gWv4)5l{1=ow*jX6=Bwvx6Una^acqtB3h?b-4Zlz YQT-l20! zsHvb3wz+2`PUsvMwA?LDLL}TgXYJKQ6BkkX?q+Kkz~Z}OIA;Atm#LWAxNvr_b~RrZ z^JRYsAj1R#L@)u_*18Ss)8X3~_rX!0@(CPYB9
YAcBnhU-*fV{1ZUa8b4y~CPG1V 49JH|L0v}h?7b@) iP7}&yF+|B3 z<(>;GT;Z>=9n6-GE?^i+=r*Dn02GiOlO|maA&Cu)_wg>NG`T7o32Au+`rVJi($Tb( zLSSHVue4Yi4adhE{TVY^_Xy$xT=f?n08G{z54xrJJnHN;(eZzg0gaczS#Mn$5akyA zV&&dwQO{jwG77C5tz=0W8}Im3nOB+-8U@$M+DJH?MShJMDsa?>m^K^Lk5ex wjSLUJ=RgZd~!^<7YO_s z+!$J6-&T97HtqLt+1@3du4`r+4{1+sL`}jfeh_mi7oi?N)59?vAl)u(Jve6xSq%uB z&!#C0&NkV zusOdQz8#DF!Pwujq6Z%%8CA8^v;OKE#JZUIRv>n#)3JI2M=EXk{)l%Q)N!|F@Cr7* zj0TF%sD%)ReKwvO<((jIiY>S0G&|MbDE(eL eYx1Exv;nV!wa1Il3tsw_n{G z@t=EvEgKNke1CiptW?VsqD*!h@&JqlSsC-(dN8UomsZcz8NdM?4@ZdIM5vBsEPvZk zSG7B|33m(}FYU~pz6cT9Ov54t{~~x)kP;0XKnbwiaO)=*b$H0?@2tdlQ0P${WSQAB zW$9aDaYDXXUJme4lBDAtYc_YYexPK_OHpx6k93&%KT9hdZp~ivZ(K`r8A{O<7e5v_ zhCyi@eC rGQ{%x2}7* z@%VT@-i_%)^J&u@sw*JVwu%Uygg%kJhsPAySa^0E!~jHOYqvOX2#wr`R6JOt$_PFj z W%3w5C0{hk@I^!9sf+|5O$Cy6dY&4evD;w!yi6MgnCW5dxP>7eW8@e!bXc zWrV5+j9GmhK@%K ggWn|P1kU;y*#C^g@)WRlK2fq6qZ<*nq^HKv$p2$TFyMTK7 zM&@`Ob7b4$Rtg~aL2zoT(R1;FYA)>^dEV&QH>H7>x#iTtqG_@s@2pH6moMZLW3w`r zn)(d42W4#(d*zEArMT`ZM^FF3;{Eng%P)4t&2H%(v{?8%GURSgsEINNLG@@mP>Qr2 z%40G)$^QFQjqN~vuMZh1kwB&$`^mV)Iz`QtK*a40@%IZgoZTlL8$)~dv%9PbOH`vu zct{SPuF|d^ES0|K*zRam$aDX|lrz{vQ>}I$JQ$uT#OaL%`t6vND*uz5*CAFOMvG%| zi5PSLUJChFoqAsyoqz%!c)7K%edYX`S9}qy`-9Ub@8=61e|x$hy~gHgDwAtBxe~=< zHV^?GfW^@g{e^Udy4Bv)bP*oi7mM>AgENnN8Pn)}4=R2)W)bo$ATaSBhmQ+SQK7{+ z{tnG6zsydvB&E0>wwmRE%|Ctngq_Q+SYQn+1_rwxxUOTF&7T!%-Ht>2H!{k%^<04- zxb}1fG3U*VLrhA%HDP=bj8^U*#%SEJAvCx?Q@CJZ--x^k&=HIt#`7G{KN2;r ?0iBH=vas%|l>F3VJGUqKVJ(n89XBdBYDL_17KXaIFRBF(R2pzj=b|inM?p{F_O^ zDo_3TzAZpvWKk&~G4akG{zP5DpaAd|o9>L~5Vxcyj;K^0FjIxJGs@J+lsiVTy#(*> zK!N@rMuWLG-brB;%Se6a;C!Oah4-8vNrWW>Li?=PEy2WKB6#j(!!r{fPrRkaBuNv0 zaqvl%jA2{~$C4`_T4efRwB_bucNyiayJv`ga@&y~aOTsm8no=b5MflDuKn6hv-+YR ze(TJ>Q}|1)e2vbacMr9ut*_P}v#0T%CW)7j7QPJC6I8npZTey##|FyaSg&e8TCJ6- z&?(!Rb%^XA$k)Z&OEwpGtzPEDErspViRHW>(b$+HliV2ZzbciXF}LmLcR}zU;GKF5 zo2hrS+e9c8t@I>?%Rx{d;cKkov@|pe0z64k>}OW>8Okaj^yJbjfrcg}296%oiT0~# z`R5oP`R>f6h}0XINCTu!%7#!{Z9!@vAmm>)_SUwxM3ndwN^qD>=d NPInL+^Yb#nit^A`EHgpN#0_XJg*}<>#Ux$y8xS zm9cD}A2LvWaUg= Sv*fbyfp0-<(0wBg8Ku0Ty)WH1h+s z2-?}JMVy#xG5!o8B4^4Yl$Zy&*q^A%NmwV``m?biBGLpFOeU%;yDGnpTjGkJlZBBX zEV7zvUx%P K^*rOkVX0-Hnk9 |vE68!7vpAqPmODzp#q37CO?svl?~JhD07)Y3f-p*=s8 zF9lu#Q H^I|YmikU -pwb1qABZsEd~c7@mM?9j5mey;uRw-8>lZ&9^+Ob^6;4W z2xyxh!OuMJ-2yEc+8|XT^p;B^dX$ms<%b{?NEh(y`@wS~Bpi&EzzZ|=3<{G4Zj;aV z6~iSXCo}tINtv>nEv%i+mNn|n%mVQvC;jS$q3!TGkLOYIBfiR<$H0msQ}V=VrsMVK zPAP-g6asiEC< {`k7M7F-b{XY}VT3AEpY Gk}PkbL>eEUW(v%=pp JC5i7!{_wCtn4f_^aegfZLw zfdwEWkc{fnUt))$IYWI&$1^`(d@f=nl40O;x?;*Vq(^$d9W8uSkK*|xsh%UV(8lr5 zM$fmCcFOW!f&^$JtHgV|-tgx^ncBZ)zH%LaxuirSu#`|nT8#)yWT%^?lOg()g% q}PUEw~*1$-+n|S^r#A10j{cMHS{RA zv6~ET{khF03(Di?p$17;b(}cn<#i-DDQ4s)9)=P|HJVrKh<830lfDuWn`#FoJs^Ob zj>vt%_L)210ns!UaUc>URu;*mPCT?-W`Y|Z>?w0SeI~gjTkh37SU&V|{f@Z%lOmv| z07C91YPZwP^P+CKNu t)7cTr+MZ-vY={!(&@LfUY#R zS{ysa+!iAy77K@kbTXAi=8&YuV7I=W|FMiFAd>C`iO;j9zP!aY_ObVXf8aSLFmoi7 zo3t+@Cgdk2o{mc*#3~;qIg>bgilHtaSO+l2+`so0SOStJQWc?Kw@9pH6x*5(A$qt0 z&@FZ*R@uw@T6xB9)Z2e}zTvPpL0La0Xa_}Cq|i>b$(x!HJ>*}!b+6$jgFYUhFrg@` z+nB5Dv(aTA!S1vsgmxF5)YIN98ukavkD(0^l_rfQigO+~OL6i{iKQBy`b>t-C@-fb zk@=oTSk|8BWx?&ksisX2%66$HlQ|6(AmzUFhxlz0qI40ax)hrx LpZ>9bIBZ3=gvK8yKr}+y@t?0UAtLjqL9_I2=@{xKM>rV4G47%n zyAc@i9MbTn qNkww@tj`Qn64AYelq)#)_5&CvPx$IekWO*cko AIt6h%-KS2mfuh(lxp^Q3X-*;*{Vu_ z7f%
H04n|FlnK?fvrftUHOvQG8ZX=m;xjPg|yjEi;w%aEkp^>?`RiqFRhdB~o z4nxT&!LTb)s?8O-u{!eqrQgkC$?kb4)QLhQ4_lGn+IOtYEUL*z2+Vya>$SNv)GS;- z@ W_a!vFBgN}r@0s>P&jxRPR`#L3^YiJm^kJs;l69+HkVo6;n z2dF2Ab~-*b9v2F6@uxU{J* =iYgn5Tr8}GQ(1)n>+a#2MnN8T9`EmI66MlvSo zBG(2GR((Y%UTNZpxEt+wN>%-+1Fuy38$c5%W3dJj`4lU1Ha2)p{@WU@Mx=!(hU{+4 z?O=7 {#Tjb;{8nVj-pMNQ& TxV%20ae6r zbJo_fPQHwwY?`XHoCIeo2(c)_2HQx&@VNI4@L=ZK3gq}I6Y+)QQeT}*S%@c*qSKeT z4PD$SEAN^kw88--->1s92XZm{B}-W u#?+QAQIX_9Zc7U) zcGYJ;tPuh_Y- tE>yIAsfOe&T{rgqyZ*FJG(Sh^s~7iz^1->Sxz@0WQh^n~eNx7nIWyJdl>hw7Gq z5eo||3Efb!u_`nw7Ys(+InQt2PLe(=6db27S!Q9A2^@lGWKaIT)#NWL9G3DIj2m>% zaZVBS#Xl$)sDDN)Ij_ZF;Fi(3Q?Q6d>nza5MO$<$PDB2s(Kkt#ojYpFpH&%~N|0hJ zPcLGF&VLK{t%jT@Tl}eZE9Q_ZXGf1|-56=p+=%XU44OhG;oFTXZ~ct33i+dazS2vX zV}%;9jW>8Jh8Ajo!h53&nPkKl$`oNsZf|ibiGg_69`hs>b&&P6Vx{k}?U3gyj8R)f zgDgKMqxeE6V5+p_?BZ=Jjt4O+E{W+YkV0y?e>9&<&MG=9l|T*z&4P)o&NKz~%(~+P z)u_uWoL?aVslsNCbwH}|Zh@{m?+QaJoPL#6>gpt+j#(@e8a>XZEGs=Lp;k9s&lSD$ zAjOUy*6t6bS$`-ivZUnV__*MO;y_Uk8I9J&0;6!X+C$)l-^FA#0TS&ncvm^g? FRWx@I!l7jX7h!6rIbIz9|_}0`ck54Hm zN=)wv5O*n<>11a%Y(2d!oW LolJg4qW6sV2>}oy`xt-Q zc1lkyzQj*67Lmmi?#iEau^3q49+YD&!{twxU%8h26I+A(7EZh?jE>qY#E2#bVG>o{ z1G%#>bv-pUG^7kH$MNI)j|VQK?oll$?_%2-^hN6|(&7l7iFjp!p2!LuID=FG>}GH* z=sjt#kYfEM4p8+qzrpi0SZhWs=;~?4hn-OU3QQ+OZ{I19Grw^y1Il#@L_`m@>Wg&| zcG2^1j*mty5GcS@W?Pmoqtgei{E|K0Qh+!u6K9LBG-oQ_61oi ?ydt;zqxZ8dNMfc=WjWByAu5|xk{2~LiaMn&QZ-KOZE?7IH=j&F`eQnk zA(UM$R}}^V_e(#oPrgO~S#o)tj854tanFQ==4uD9cw%_mA|!mBSuUzAfywk!mZOJ} zcnkm3#XTVhKApKOgAg_r16A0TOS%0nSO m8s~8$VezIr1O5Z9} zOyf|5w0A)*zy;XEq&p6Ufc~3*Lm#7qd1^l`>3}~vOy{FYsRMw{FhEc{H4!o`?k>7>)^&;M-h?))nT_t$ zRHGOz_*VAgKg!bAZuN2BW~yh*dMNBJ4G;Gvn+Op0NZn2tY^P>B0oU*@83EKB!?B+b zeP98XhE&rKEghaNWQXo^2N2~iIbl&$>N)B~00Th$zhRGdE_SwC$q;VTX4fCG&*u;| zF0K1XE{g~*wG}*yvYC}wf#heS>Hng~F02k8W*H1cAjbJ-Q9wh!0ZtKPF0T;r_o%T8 z6aJG#@^Sf2WHZsQF4AckHtO-w=EhL=Xo3uU%c6*iF5t8QzGOj4FL~0QB8&kQ!$B?2MDJbvUkU6 ^mhx5U*$MrFie{chm`Bcv#&Ogimvq4s{6$HFmN-~8N4@#Q}(PAP{M1e zkQMqRFmiKaUSe-O6!pnQ$LBU)<~6t^Fn)PD@JAhbwdURxkCR?ZDMOU=Fpk|&jzsJ~ zG**!~#VxdQEu;LPFqOasbsVSYS9lW4py?ygL^FN(Fqi|1*GN{^{Fd-waCkM9iR3gN zFrHWXPLu#T3$Ye|q7}5zInIsiFri|$rO4y+d5=xR8Az}OmiX<%Fv4XM{~oyI&JG-F zM}FnpP~!7TFv{pIlhnbS69Dudo2Fwe15D#aFxmrJDmBC0p+IDJj+YpVZA|6XFz=Ez zl9K-1DAq#slMH+PPl9(rF($kwPd&n7I&)mvUiJ>%HHS1tF)J?;%x4wCz9X4byq@e} z-&AA_F+jV+K(gTH%h6~Bl U?I*%8_WzK2< zbIkykG2hd6(Kh$4lnhU5{vVq@DzC&|G9f-vA25PB460B9nOI#GoVF`jGAVWk(6X?@ zt_7vI-9XR2W&y|ZGB$nPRTa1moKHHCA(hhM^SE$6GC>O10Vs{Mv|tUAz_e~m@VPz_ zGJ%-;gLbNCWj$v@vOB+DobZ{BGP=cxhc(X(ZzA%UD{OFoq0K}!GQEbVg1d5{{sFZg zs_MK~KkmO1GQU|rNB0ne247stl!#=Dqdh%KGW075Kwv()XQ+8&%wF58*OhdUGWHg< zN%Wp=)*JU0W)WeD(MwMXGWv-5r23I7y3mL4`KGJWRyiGY?*wWu0>Gx3$5+2MT08 zJ1ic~GZs>s$?&Y(F?@!?`she0mLXb}GZ%GK9m}C8W?^5;D@s#aan^1bGbRa2 oy?`KGYGokjz$PLDm2^Xy7Z9mv^k8jI? zGrX=BSR(@4q&)#5I#pcB@0gg0GrZP@vz0GVC{GN e*Vj3fj7=~1%Y^_HFvGwq;{ zebtSFZz>xK^*)hCk PG;9on09RLD zk`5+}K8@(8OtyuiG;AK|R0C@rZZnYV&~`J*{Zl3qG;u(R8lc!>)=5{$Mk*>)>oWkQ zG WJ%KG}Th~^Ws(Z6tTz?B$=O$;uN8|G}iS4XtEtRKPBFb|8Vc@ z12X6iG~W`vLoyHtP^LMytyt84(z0~ q$U}i!wzPu3_}dH7V*ju@7}DrjH@< z-_t?uw|XPOH7-QvgHC?nz`l$K(N|0 0w=!Vh}(lA1#JHBADp%$HFt%F zRMU9;Op@s}h<+g>ZCkP%HJOrxmpdx ?DLZ9(s6 zu~N4WHOGcCU!X;LDuXz1R0udwH6*%7HRYn+_?NR?73j|JlQP{cSmAgrHS=Z&8-$ye z9w5s(=K&J7 Kz_qqd?qpjl31rsc}HWsmFBmEo3xzLxT6P$%U_W{%G zHXQ6_Hl71vZu^@aD`LJo=c!fjHZ+~W9`!Kzs6s4KUlg2)-64q|Hb_U9Ze3fmY6(){ zrrOReOGr-5Hc2`cg=bDO0xqsEp*+r=iM1OkHcersS11H3b(GtNY;tk*^`!6&HdXF{ zuO1~)mn}FrN2GThyW-wFHdx9aL_@^0mnmYg*I1CwM&DX{HfbeKIWqD$5Ft&p7Yy#| zhB$ThHfe2ZrcFJ0)1Y+t7DnKei-VTaHgJ+nmKtEy6kU64eSAk!jw<`QHhhj|St{H$ zs!!f@WEAo(j6=F7HiLxnumQT|-M68EDyg+$(;U$aHk71Zi%b1mavs>A(OAmd_vMx^ zHmsX-{Hz!2sua|q*G0At!_73xHms~pK4>(cALHjS=dviI%H>HnXj0SZymg5Ij9* zu(>AUw^tH6HnsA6LD4^F 1@q<9J8xnxpxHpBM8oxQw4lX`u1{7_iC$)KIzHpi1V z!67PVzEFXnegwo4J&3IYHpn9zk6mj1szT5(Thm1GsjC53Hs`J~YJd9NUT>PIp*JNn z4BD}dHy5b3MN&PDP`{&$7BX%ozN??0H!P`ttYcU>eeY9e$SmgtuX6(QH$~3aZWd0a zhpT;`8QLb;F?S|qH&9*BM1o$EwR#g0<38(gkR=2)H&Hh)L6U>NCR Ht5ehH;Y$9@%W*Ch-&a&`}S)o9BuAhH>$*+L8(0nX+=L5 zX^KZ`zu_%kH>*w0aVhcoLajWwV=ler!t_-VH^S*mn!1%QF@}phV{LPTig gjF1IB>&<#^UX&8guW9Sm^C%gq4p*IDGp&`}W8P zZ+eyKo!LuMu4cCQIFjH_uulE*Y~S}H4%@4OMpWn {}fCE_(_ZIUs*k^BS;|w$zk%n4PzlKi@PKIX2P&NKyp; zAS8E&zDf*{E&!)*IdqxO9-nO717>wTCqAch`*xS>Id SM zXV%dXv)k)7Ikd#t4&xOq-7{}WW*(g*8CG3-Il~Vqy}{ Ju*q~;+e~6Q-H!BuIp;dToZ$}Sq>^H0Ei#sS zY5rx(Iq8w(x+^-b?n2Xs>iV;C<8ys`Ir$dXs791o?k>lw#%{WhF=t@>Ir$##I#aH% z)Ev0PtZ7tG!<$^DIs0>;WcXF9DlSWH4{#&hxUo?oIsKAvd!GIDsRA0^+S8u!t==%r zIsgO}iCGJW0R6ey+4k%M>yf9VIuA4XxJqJs+X*S)GHV@EaJfbGIv1^YHhVWcL op|uD`y% z6LDtvI(bl(6kO+)V1W@KDzScI=3+)dI)@*t;1NmcHsLWxij(R69nwwbI+ff6eB_Mb zShJpNSvky$i#NyXI-Fi?_X&KEcTIntM>83^@JXJFI;IkHT#Ew)S^I%1M~Q4`U$G%J zI DWF` unS;v}GTH z?53sdJ18zfONcDP*oF*IPPSsd` zJSv1vq;CAad$$IVg@0<~J&f-WJTQ)& ;dsfV-aJYYRObN?>(Hitid{G1oTKg752JZ wtLBGuN{KxSpwgb#(+F)TXJtY<0A^SA`Y+V2;2U>i|e8iK9>A!JdKZ^J>C^2 z-#q%yKP6bSD2^C@0u_8dJ@rc8@{kTFW9RPRYH}^``hJS?J_0JOP^1^XKNY)a1AGD_ z*H6KmJ}TF+{d%_>P1}slzfKr3@1$qqJ~KwGty6aLXYc8hN|c)5(Mn`|J~%l}*AHa( zbO`{L(Y=`?V=RQpK3#Kd<|+PH%F_ XwTLiR$;&(1J2U? zZ%__CKIel^x~ALfu|_ #`d{U3be7A+wabOip;3KL536#A9{3 zUU_6IcUgI0&lDhfKM|d0 Mo0;2}jKGhyt|*66j|nKX Bt7*NZ>fb?Skh|pTkNJ!+^KfDZGe?4|AR@%ygxTtDhA_yHaKg2_+ zA^Y(Ik4)BXt5aIpki_3|Kgv=oIMsHWONZO0`^K?Xr%TofKjRik(6!h8$ k2H8GPnq^IDEKlkLrO`BDb?3Y*Z4)eKi{pnfLKny+8q+&Ch z^0wi!Y=4W#@QKI4KpLD9y|_j6D2cWVo-S3w*H;;xKpP?t$JM@P_dInrPdUxKmGT#m zKupqjwk~dTi7NH_^2frx!=QtQKz8utcF81yOnxo$Ky%4+9NJh}K!{GRb*~M5gtm3s zYx!Qy)b91EK%&*x8+DF;ugFR=PSsID%c3trK(?SXj8FUuC2TJgm-K2ZVMt1>K*S!K zRp9fiCq%cg={6wm{Aa>fK*k#e(Qt9H#cHk;j03G4Z!lG5K-GM{5Dft)^GY?2&_8*? z$k5ZnK?zHE#pNHm90KB!EAo7$V7G;vK@T2M3z7ZL$$u70%3$%e& `Uz$x&1L2!^c zQldsIKxiy_J$GO6SS8H=L2}$7Myn^?5H-3Ij_f7CqDV1|L3thHDfwts3x2t5c$(hb zyBdzIL4I9qN#P$k3T|8?+gc#X61na#L4h>{d~y`WVp$HdJJUwT)2wi9L5@Lb(<#YH zmd`?F@@u>bEU-3oL7FC@fa4~X5b7DTh`C^Ub(ngPL7Z0kY)SePP==t;cD%oF`BZon zL7a_5;m2JU1Zq`cwgnyTYDY0!L7~;PH%Jax)0ubW6yGiy8ufFJL8sL&0|=R3@oytr zmxQGrdOR!5LA2s!R~vx7n-s{Q;=Q$zn(Y6`LAm`bqLAdVATYiCBQTfj2uw&{LA|>2 zfIHWw2tURpD_ANZWXbL5LB5q225qMJzJ9Np7Ucl)@+Sp>LC3p*n`Q>PNNA|G3m1b$ zCrSiiLDH&e+*UYpuHX2E!E@Dr6gzRRLHO&|w8mkiXx3un>fS)4-jZA$LIVVZ8h)ZH z0?uewX_+w7f*&5aLIk1=f~?<1*;ikr4lWsn_Q*&TLKY}9Mh61q?Ou&PsV{RCU>m*c zLQ1J7%C<&Pr`n{Yqsa@tZ)2YRLR70God@8TRQPfBc)s%muF^9yLT9C0UWVC5aT>+c zSigOiBQYUyLTEz;qLfSj;aZq+kN0iKqqCjLLXT==kaAsd2Mo8NeQE%U`+fWFLXUyF zWh=|5)-k;4Cg_7t^qbtqLX;yItr|MkG#>gZZR?p+aQQ%xLYcJjcYleSYaJ2lG`7i% zR*eo>LYmfjS=c_=ViobPpAvm226Aa!LY`)1w7r9mBq^k~hdq}?YJJPWLcuJXk~F!E zgH5EG!&oA?+fVnpLc)cg5`f4(Z3BjA(>>=y|Jv2|LhkPK^#4C$NaK&4V+cm^!K~@G zLi>1K-at8H6Q#Ci)T%G*a+=2TLlahQE =f|QSqoqTpvFg0LQLmj_aDnC`6BExIG zSFaL1?~N*PLn9$BS;hw<6%SZi2W6us=p` +Ug_^TFqQcK=5?L%HgiEM< yrQMYnQU_DcDrL+9d3B=PL`Yd^ec15vBI`qL;U|!=@t?T}L{HU~ zWNn9R)&T7159C^vd1Fh#L|dwuD oOW1D?ud)L~1Xqo;9oe^v42~EAR(l zhBu)=M1kLbrLU#{?9!vp7;Pp<8=JsoM3Hpy`$8hIRDd}ok)zPFKN!x6M3d^#n1Te# z-csGHDVHONxG(7 H4ol!+5WCm71EetaBY#M5$T=a!p^ZF6rgi zSq}@`W)?|_M94)m8btO=abv&;j>pqeJV&)6MAbi&J4Uv{t(hP~0IymKt7?8?MBF*3 z76RaJvJ_v2XqWfo+jMSIMD{ysBY@od?JZB5V5b%nj_Y=*MF%{loZ9<2pf%WTP1loG z&C-&8MIt|s5lm#iO>c!hJT;?frZ80?MMQ7Pa_9uQ)bHB@CqcZ3mwketMNLfsTPw5y z`bt_-xn(WH5mOrbMT#^jZ@LR`C5 @Kby(eTMi6gw;%W*^n%0K@vqZmUYi&4HMiu8c z2vFShY8V`a{hPu>U0M&*Mj42G+gJ{4M`kd;7Hulf1sla3Mk2w?*`prNW9x&3IFb@Q zx~ngmMld;o$!Tci>jv2H^Mw8h ~euv4ve J{J`v^j`C1!Cz3BM<(1sEMsvZ-S}0-eLP&y!>Zi`RawA*k zMxu+M$yKI7C)rVASr02sIS1BTM%SHYF1%oj|9D9XwD$F-2d+soM&Ly-Hlc(87LMjs zFR6@&pBZmuM*ry8_oNi#QNELMHx@(3r4OVuM+2dh;1wdcN u_XM@_{xPG_orgdf;2^}axcnBACmM}&v0e=%}? zlP|B#A`{GZ%yM2oN0}QU*j0!a!aUrGtzwpfr5P&7N2-6SY56Av9H7&;5DPep;&~vx zN3Spk 7H< zLY7qgNG@T=dplGFr_{g6FLK9}y;I)3NI^lHnoyllzi0O8-(e@$8ALv;NM&OsjJE;1 zUrMOhFymYo9&A|+NO85e2+b(+Aspq@O5?4m=E*6fNO?mBM -7F1!s$U4nNe{Vb zNSKgBNz@;8pJU)xyAXJ kJ!zHNWY(=UE60^?Gp1$qx1+S1%uHJNYic!=8j~OGl}7tr7y2IH1BFeNZ3oY z_i#784364`@Z;kUyXMa3NasKVV{i+0iN)=G+oXh-i~C#8NavdH@urWEzZ{1GbXI)= zJC#zFNbmca59_+N_MG8NJ}ODJWHy7FNd17E(P(?yGB%6Gs2WyC6RkxzNeYU=pk3EV zHD&G~pD$oX#7h@{Nf77;CCG|dmoTKn?Re(arIE0DNhw_O`AAVX_o-!x0S8_wbf{z$ zNi%z$NWRTZ(1}ua<0svwiCPNJNn9EwBPsCz0X__E#8(|_W NwXjOsIg6?uh`$0AqrGn z{jEftNwZ9hHBQ&KVaTjC8~@-KB>R`GNz?rmYj1tDV-xzrRotPVxk>;RN)0Bj)?lPR z%xr;?KG^_ATL40 <0ZkppE6`0 O3c>ziLp1T#e3!vE41Z+mrtbeal z4Hm-0O5gZ_;xa+E{KSin2W17;U2t*^O7$!Uf81b)a^j_2Nqa+UP@!n;O8;L29GwY< zP3k%=H+#IK^z#-mO9kvAu|5~I7z051U2jO^#4*b4O9m^Wl$U9T;poI1IbF~>If+!A zOBI2c_~#pBKr$pYfPabSgB5T8OBmAQaZ;a$A!ZwGj^`Vh_s%8#OBvQ0y+5IB21uQJ zo5t41OmD>rOCcI~6Y138*y@dVwgt;tw=0PVOC&-Ch$Ok|zaJv#37AakC5koDOC>)L ztiFc X+kdsj^fejLTNOKLlUz@)?;mT&gzL>dC`QT!eROL;rhx{8o|{CC-S+-v+B$@{Y+ zOP#dQ**(At;+#_XpH}*TZM$P1OQa5Ip%8D*c`w0>W6?jFQ`h66OQgF{%Cvy1p?}wB zR!z}o8l>7SOSGvJP|w&ZUAgLKA=vWuvn&0tOTuUUoHo~TEr~slL@h=~uW)OuOZk5e zn`2r#523%zV9qE$8&+IzOZy{h-~tlN7YFqz^1kTi1l2xxOb6>`J+VBr9P-B1v4n~t z!D#yYObGrevcIP?1z&Z}_v!Ndaz`fnOfJ3#c*emea=t|}<$%}B|7~OlOh35wmzv`5 zZo+38jv=9Pel!9|Oh&0cF=V^AGvsK<%5R)Qw>Nl`OiK)aR_vo3VFp?s2enRMLcbTU zOjK7WU+MAf$VKe(+ve?yBRi2YOnBylg>n=!+PRD$>*A~q?(|UsOnXmoYd7o!S3B6b z9YNiKe^DEPOoi9BVnd4+Une!p6Wn^uNdMgKOps%YUh4 n1O!{zHX#6UKj7?7v7u%SjvWUFqtn3_KWErj0Q_IkDq zO*dr-V$C6il4QWg3PjApUd>z0O+t94ISxYf{C9rO8=GQ|ciN63O=WyMeWitd=hQHu zVl@^TfColqO=rjPs}PQUKYlwYQ)(XI79(42O>gDC*;31`>%mS914+?(#B%&nO?ba^ zwZbfdwvUi66OVX-wEy}nO@~(l1?piTrBtz0NjCGUVq-}pO`D#3Ba=?7ydRd?{CdJN zo~~1~O~WK<^XiZc-ZdW_*g|z6$n*C{P0SUOeAKifw}Q_cYzTszzF^~#PAf%@Cr+`x z&rZO%KxxZ7z{J^?PC{a%0rE3e5-FRK?!Z^*3Bm`tPDr1-ZS=?mAxv|wPt+Z-;WkY3 zPDu)+`RzHr3}}=BCIazsUO)C5PG589AH;aI qPX>z`?Yf-VaOQOLkLd%H01L>dPYAC1CkFrZ=2ZGhS-I_b z$q3G&PZzlvN9&`c0J3Xk4HMoF3-0NFPb2HuW W;PeE4lgK_%=^!e0b_I~!+&a3U< zPlKKjlyd7>PPYTRTlB$1OmH?8Pl>`h_bBCK+H8 qxhd}6(O7mpP!7h7uiFJ8@_Bq-jT-_= z1^C{`P$%OG#W?PHQLa?N>Yzf-d5I=lP$ vP)5!yRRzgZkE;w2=BDY!=uUSkP)tp {>IXUvmpXBd+_1P<51a z+a TLUZVZ)gP}Wz9t!1$g zfZc|36bBxQEgN9bP}&mFE~W&fAw95{I*y3KK^>P9P~ePEVRYDJT1&MT-4ZIvMxgV* zQ0|pN!S5q<{VS@CRlWWA=HA9wQ1;4<)c-8q(>em}E2sE9V*4r#Q1_ePR)8n@Xyz4E z>7*{x<+nk&Q7f>3T`tqZmj0WZh`vwfCzy^XQ9Y3b({5K@g$l0Z|0Ala+l6%BQEaw# z4)j0~j7FFU1BO|1k&Rn+QKrPkU*Tj(6W5f1-PJ6Vml>zvQLo~i$pb_CjAS9v_Ji(3 z%97voQOwJ6Cs4PyeJR|?bvpJAcqbrKQPNcK?DgL) z*N1+QG7r z6Nk-O_~%g*QjRC)=Sb%!b1 Br$#6KRvx|AT&U_Jw2nQrcso zI-f83BTBi~Uc#bykpes{QsetZlvmUaX-v#hZk4NHY{KezQ#?-kW{4EreoI!A+YOFG zh_r8iQ%ekv{?U~0kV%nvRc@>!F55LRQ(jaYtx62o)F@!INe4mVdw~x;Q(vE^M|{y$ z%Xoi%xYJ@Fny$EGQ)JK?3k_sos%pT)X )*@p$8v@$TA6=`|w{uQ>Uy6 z6XZKF4O-XFj)pQS(xlGvQ?i^=R(PGhMXp5G4QiG|p&QmSQ^$XKT{J)D?lT3|)0N!N zWOD@@Q`EpOaTB=MyXmwPXoy~wmw7hhQ|x*rzm9!aY6sBvzPTzW54N6MQ~(1-(&vi< zshw66nds$6-aj$}Q~-9y;Phk@+QtU+l6ApKDG8{oR1nK`#S7iuxCQj`pprUwuA}^s zR2pf|Nz}rR&ItKyy s>CQ}|{qUJSpUu9^$ zeE&RyRF^4eERlv3fk+&I>unE;I#Y(sRIx}dcjj19EmWrwjZ_dhaexhNRJx_&08W%m z_}(b%x;vx#4`fZ^RNOd@h?D?wf!3PJ3Whee2_CJnRN(O>%5y1gi|~t;Lb(_KvvzaK zRO=miX>2wJO=(3tsSN;=e!0v{RPy!CIn&^7q7tpf3kIa=aNZk3RP^xV^I3?qX~FT4 z#zup*w7#_nRap1+KzS7o%#ZS4|hFDRjRbxhKi-UKw(jZ+?7V0&%DAsWxRcS`W zqs;g&PfM1+3irOx76KcpRfH5%pE`_b=9*^J6Ae{3-lob|RgxHAxT0@n`EPO^Y!s=S zlJZ6*Ri9)Iz>6vr#Hp-?J&dArR9lFJRl$u3V=_ *{d4u0>3KdL`=jV}Rop>Q*iRITsc%I4&L({0l^W^~ zRpwsp2eso}ie|(yn($zc6`{CQRrFaWSp>bed=-hLB>A+~S_j6|RrcWcm8ohPdl3mV z ^< zKKI0aUii{ymWV#Hwe@|nRzC3cg>zQfEZpKpgXU%wlX!FjRzgcIF{j|~UdLv%jMw^7 zaWCqfR!5;Mf0M?yYIM>h8X4(MOAs8JR!J8H0r;~~1Ga|F+x_1vE`(kfR$5CD-UMr{ z3dyT?LjwPM; Qz6ZrJ%1AN1%l zXOl84w|lrER?KrRupdx|H -&<`fS9>+A;>ZgZnQ7r{oiP@wCSnXkSAwBD 8Q$skLZ;}Yd_hTckVSIUVSj3!-5A@y0%7xS2a?$cG#SL{d{XD^w5w #s8PUaasQ$4mCwEIASSpLjZj3b3iz-=5yp3SR}L1a+GSpjRop!wnDiQe?8v@0Ea zg;l&dSp;-Y|8Y6K9h}pAUl8@cq*4{USqo1SY&I25;-i4UIbL2K;NO3bSr)@Ce5k?E z!W%QxD pZ6Na9WKX|7OsJYSvbiE&-AnU%WKkul#c}s;!J2U zSxHyq@%*e_G2Af}50@w8VVGe
n |=QOK&QS e9!>{Bz(qCobT72FST*JX7 z*3{F`V_PWFmN7v{T8R-IVQc!mNO~&iF^f>zOBTNOTC>s&uht(;!3T}=T8b!7uj0}i zTDm_z%+&Ewk5S7fAu7V#*g3eKTE-MCAoRyf748sJc-CzF`HTQoTLY_tg{GKuw1ZFc z_u;>czJ#+>TOK5RCkB^R>BcutoXJ-gK5aA2TRVeC{6>V)M8a>eAS$ZTeESz#TSDzw zhG~E9OLV3u5t&R|U;;E|TSjfACa$D=wZZ}w0~u@Gp&ijATU_wXw>7u7$^?_j|219G z%Pxa|TWKA{{v5UI0M}J%J#nfY)mdUITXn^7b^*>tV^RARub-4r4^ZHwTYs3UO*;@I z*WyRj(W~I#j>=uTl5^}wrVbh-H<}mwLmoN>YPP^Tl6-EyxddY*?)t)HJsMG zR26tOTlZYa0xq?fOUq;P8R|B(RS1Tn%8}bPe8Fkv)Ez)QZdLaYtt0TocyeO*daw zh@6E%P!iYGh%t(UTpCgB5Qc8U_C!3c`XOFPgVV`3Tqsr(P@@6Sm9;Ha8UR4YI7;wz zTr>|wJj#}n=T=?3nLv|%kSE2`Ts|OwZ4n?HV5IZDt-K2F>8uH0Tv}*TtJrSA`{a(p ztaAif4VCF!Ty?3T33Z^!=oIiF)8d)lDTrU%T%Yvz*HDeH=PMm4k;7Ne*x-8dT%aR| z Hg#>sT>6W#-^&=geET*Q9eZxi5YiB<7{>J2WqjPHCfT*wQA^^!Eg z*$R2)>kQ(H?!CvJT-6)#1&V(yX>Yq2KoNk{8-<_}T-?MOW3W1e&@w?sd0v$KPaeUD zT;%a;b`_oSq8Bg}KggaQJr(_cT;&y5Czpxml9H=^KPd3tY)B#>T gT|NOZ4d5WfJjaDaq$H|$koT>$0o#$1;Q+$iAWFkSJ;1 @pRCfY@RVXw2yMIcBy6mNU1=|$$Jx7EmD-k@0#&}LETJaP zU3}6gsj!05Kr{*v=xYs@O_y^FU509QY!q)r28M|E_a%ZTTI=(RU6rp>0pXqncsqn; z0x^B>8f&X9U8U7pafLz~T`Smb195k4un1WWU9dDKfl2dKIz({Q08Pc~C-HeLU9~QS z2SO_~^j*e!C5yZwr3xa7UAb)Tw*FZb5yKKh!u`#rbXjOiUHYhYYS__Y(8+mmVq6sY z6x>vUUH%JZ1F;C_w6wD6+^f!u6Xs5EUI;36p|M0KSg3yAvz~6dkmFL`UJkUxe^ypQ zmG@&a^BK}?dE)yCUJ&RtySGruA9l7NBy|yH^j=?CUNo_h4zTA@B7L9QGh PB- t z |CA8do^%ds3IUpsUrAQY(H zEyvp45mMft(8%xaUq8j{nk4CvtLF^>RDP#@qlo1+Ut(@2VMRpXKJ>80DwCF7wgEpf zUvxvhWY5vXC!4{?mJ--c5mj1+UwX!JxIp{q&J<>vRg1-K)9eO0Ux6aPS(4hOk`aNd zw3n_)+8_(DUy|ZTB~rV2#8=3s6R&?G_Yi*5U!4v9oKkhQcKnDIlr*K;uq1v5U$7wb zPgf6K3}kzelvWWwMhA?CU=34|`f;}g^ir#gU4~DD#N72oU>g(&sJ-k;>YM)YTTb_D zAV~HpU?d2;wCxfAa*j?{byVTd1#H oa?7@!ggUfQ<41#>p!3#KUU^m6g*Y$z( zS+~gR{-I$7xVw0CU_J0-3g8XG+w%recxg}cw<)HAU_N!<$B#*_1(k2@D=VBKOU)5= zU_xR_RI8{nE%y$tqapTSxbw9`U_y05HayR6-74=avGQ?8< spMYDQ zPJa7tVG=eEz^(3$qJ4dmEY29p)d1V? zVHr&au;(U;EkPVvEj;nOsVpC-VM-hYOrC$;*-7ZreC^1AXh4WOVNmjp;^u}=+n-hc zEN7>)zz#8;VQF#4r>P3B8G*qrqgbaAkU#@9VQ&T_YB0SxXgp vqGMAVei1P8UGe0nrErFR;g6Qbw^C4Vf-S#F>BUpS2h}s zN%(YxWJIj*VgHFl#@c 3k`U$Vlf0G=CK~_*{`kgmjU(P z%9rMYVmDU<%g=YYGJMq`ox}>r<6=fhVpMRYK;=GzWn1h@Ajo0=B5VOeVsZml)|z>I zp6iKObt nh(#3)e>pAi1^$1G`rzVxF5o3)1^f4sNl8oh)zB ax< z+GB ETj1sugCZoonq#Uii7oEE z{qGn>{!-#WirxcNdt_k qZy(qp%1>R|K&wOEcUGiP#~{-HUN zCu7aQ_XE2!KQjiEv2fw}7)|bOEo0K+Xx*K9#YjO_=AX;>Z4J|i!(;evxqvD8Lhj8c z?yW7M%=9K~;baRhAJN_ztG!Y$WF;JF1Htq8CS)Vi4r5B{xcxblD0ON#pEf5k#bhZT zk=0wq6m3uDYEdm11J~TSrIOy_ASY(;A&vp!*22==yA|VzX0Z+G} zb7Z2`en-)@{w?eF8J8HL;L-G^4`j}svO^zqd?3|uWp7Kn!79R(dSwGpZoEcuM8&H1 zDE(?kEFbm}<7Ek*1d#QAJI0DDnUvYe1{h*DFJ%j$#xsBAAAC8|q**Dv-XG&(j%6!$ z5{qgVPc#Rm5C4ZXiEl^PV`VMg56#(?iX~cT1nYCo42Wj+U}aDc+f}EesSwhjA~~fE z>i;@eKV??^yvwWCF)l+$B2>}W)f#W00cC^$_@T(?n%?)*ULokAV*yPQ6J@amR+@d* zqZas=;RfL#P(B)rwq>zBPf{m!A5x!&V!H#-e$|yTe`Uu`H(zqTXEi%M6jJC0$IU=u zdS%F}qB@MiZ3>4W6=~n0LSxgK*JaHeQO`@G t;VvmlS;G zl`QQi`CFp<7~UGQE@n{?DA~iHUeFUj0KRM~4@HzX$7W*z7s2)@hqdNX`58QVTsi>< zn`Uex9I~v~!dhWupJpXnuCP{}Rc3AE?qvr|)8l@i9(DFx)8xZ8yJm;p2iikryvIs} zV7kO+wJ|KX*Jh5B6`rS|ONpVoR{9wWu-qSa_hy?`Ga&Mk6AUl{&0M7H@&BTB)MlPG z@A)ht=h4fbY2STUvay$6^=8;pr} |? xQYC7-*7EKe+Ox zQqJ}C)XXf~(K_MHFKCpleS#yg=7m0=+M>gaKMe04IB1vTG+2p+2+xct{)V%}Bu?y< zh-jn5=LU$}tt;0F8xlsl{;5Vnv}mTWj4)}HPco VGcLHq@xR8TWW(+{xRWN7H@MG`?fG594PY8u3_ zn=Bwnt7!vic=NZUt`*pweWUiX0!tA#?r92Vu-Oj~@?))mvm8L>ju)LsI%ys9NBEu5 zDzbG?qzehVa6q_RdTAnFEowN5zxXu{_f*Ytej#kPd}$;IE)iG8nv@S_$q XN*R z8LhHd=kt36s*~N1Pif~D`vGS&-ZcFGpQuD-z`Ko^!)fbDu=i|=x7=Av6_k4^88{{g z%xU*jVkSmXSZVE3sbNs`ZV-07L~0C>G-N5F^DX@D7yMTJp5igfh-wjDm%Y0+)D0J} zLo}O<{x_bZuWCX25OMF6LTKL(hU-q _n>q7sC1Kd-)Hizp(Y5>J!-yYDx K)r>J6iRR z!znZONFr6&k7~swBhdFz#pkkVKc78qkyhEL>1x&w_yfm!S71~@redT`1yLKtp=#Vy z;lLs>FYku=F}%f?sYf;y25RJ9pa1j`7R4Q*&muFzsW!*j=W6#-c=y|J7W7O6POJAm zdbQkG6l)Y;5fra4Q$Ctbl(1EApyF`g-fI@|c^(cOT{^*;0?(y{Ip6?es%sZ9Qzs5b zi5KE4OZ(XI2CR1W-D@E$K0`rY!@mgL$9 KB )Q_A8SF8R51NT;;l)^%ZIXMCi>haiEBgncrwRj^+$!X z)_E}hh&_4JrfW`N*|Ge(-X#AuP`u2%ckjTo#A|qhS9Y%s|2Db`r6R~FYcW$&3u}>$ z `svB$8nfC0Ju~bsC~MM9J5?0`{%Qw3!w5Oq zV1pF&r)$>lxgT7J#_4#zpzb+5HC#N3-)q;O;y#$5t5BkfbR$l*D%Y~tk!#)-c+C1& ziLH?{2$7O=df{eO-D~@QcY$6r_r== zmuw8>D &||yRJH&-v5JE6_H0Y& z3|WSu?lcj$q5f1kI6!dck!)0vOhjoBVS2HT?+l1+bgUQM*=$~SIL9H&^@zJ4!9q5m zvbQX^#cZX5%b*yn$8CsC@YUmfMjMzt5^TA4QPZYW7^iTI5eG2`r0?4Kk!-*PZS#e% z7!hAJ>0)}fk9%OfLv0ai`XUeh9E#bFyu5qnInbdQ(QPMGqXGo1Gb>jy#X_*zSdb8SSmjCAZ({;sEhFX6K21k(E2Qf*eCuzOip>P`n8n^)xwxUcA+7HwHK zIelP0YH!= CXVm2GC1jKki=xyu%`Djr2Hz4(zEdTnigsP?=)yOdark==z|I>r56F>RP(9c;qI ztaTRLmh&6%L&JJG0d1PS{5Ex=vnZV^UFjBfm0oPpyltX&ed>{_D2UK+$ML#y_qN}? z@NJ`I;fs{*nIGE*sWjT(;Rvt3m2JK2vhC_;8rNuaY=caW+b(uvscqRsDFvo@_RkVS z^|;`U>_UqFMs3@c@$rj3M;DvtD4x0Z_%&$uK5g V-#*)iNgIw15b#3f48{Ic^7x z-7kEa>_613TW6^G6mA<#ZEgyPUet<#XF>UU1T-tnIW3C%mu?bXe2D{jL~fXv4UX0i zx`)vA(QY3DPnA^@nx92>4k(bw2X3DC#cm~Yy8WQb1`4}49f&jybjSC 7;a*$LdE!_d_FE1kmyRQ2vKHvQf_HNU}f(Mb1V1e z`)pe}ZLdYP@NRS8JW+#rk`jI3Jbv6}?4<)0UT&Kyhk9cV>Uz%yIFC6jcJCxuFK(YT zX{+aAB9^q_aSQ7!FUa)53T~h?w{!pPMdNQ*wq#7IhPTY`?QX}!E%KcJN{L=;>xGI% z4IoEjyKdDQB?wDSv4M1LW9x;@U`T?wyl&c;-vaf}8~F%@SF@_(*XE*j2X6e_VFHYf z-5hv(G&%a`8+V~|S8oyP!K54VQPSmR#~iZbEG@SI-)}Khp@FJ&_B|LA$hoU#2G5MA zHg7<{kV3w(p~;K;0COI9&()S%$ZtT{=m$D1wUdb;f{H8Lei~(=;%`_=_^l{yM^|df zP0!%D^fjl9oNsFAG(TP}JqA#+-(YV3n(%@F7;l)clgy-3Nu34CnKl~EdGQnK{BOx8 z2X(6TR7@S~0Z&ccV98SayKl`L+J~94+}K)OFW_Hrm^^y4RBzKNUz6iw%neTFU(mcW z2j1$(7jN*2wP^%D3RO#b**uIu%Fsy)_HXpF)wf^GPm=j7m2-_vhbDfZWpDJ`ucFTU zqDr-so6i{xa`qKfJ8$&*@Y$jSR>&!~O(#fS^Qp3A8gKW?DU<}hEI4)%X-sSf+xIh* zs&EU;aGj95{Dj0=f8oKn)}|R&_HYq!znmC|AQsuOXJ2Lhmf#iLdT>WGFh`ZulbW5G zylQnb-|Lp!Y;baITQ~`9X0k=w4~ ?fQWRwRd7;vFZdv3v|$mdsQPlUYmENK=W&2X~|qxaM_n$GZy5Ns(G z2u%2AFL1UR^1<&fmkY4tNPE!OPnj@69&op6R3n+6F;1`{qyA40_J2;TCUD0?E;@4m z4ayEh0X2Af+AfTV_HfPmnSb%usI?4<0XZB@$V&4;0dV?*Sa;S`6!uq>L4d+xLU8+q zIB^g*&J#li)n5%TrEWZNsAia0%5fY36@co0LZ`c=^0G+qNM#-4b{w))Mz?Vw`&tW@ zlh?S}gS39gY&DI}5%O_AR6UZsmhy*Wv38?Ayg;%qb-i(D2NUB;?2lyqsq(j$nbCg@ z6`FB@>0HK-$!&f2_tf(P2B6$w6EJb6MWZT1#TRDY(HNh%0`TFS&O33jo{Y7^8v?1e zmz!h@Ye;r+=c946oTyAetKeoJw)tbp;cBHj8ohDRHqrT=)?>23%i!h0i1YfLYh!Wg zSZHj@N_WISs|b{lIiUcT7AA4@^{(7wX0FA;9E}p(G-D313~+Jx5|+BTrU&)ED}G&t zR57f3WD9Z?!XW9+D4^jHcUx5zXri{vRFHBUjTkL;bTckVkG`ALebQ1m_)>B>M|*0n zaqubb)UtK)f6iOUJ`Hk7U1KAUv}r$u%dtTAHdNr*Y%+3VGT0Mww#B&gi=C?SnQF~j z*cNhT-T_p!+I&K~J$Q(A1#Q0(Yg%$<@zGq7vF$aN(yo6)qHGsvhf8v3(o;yjW50ki z(W5S0H9J)8(x`HHLV^7|&t;C_@WDB%3>wu;<`Qy|q;=1hPsO_!)C3C~^g0`@;O%m& zI6GA|bG?wBh `}q}LJIwg z37@Bx+$?h$=Khx|SA`5sjTxQ=AE1?DC*gBD;9qC-5zJJyQhGdag)uTGV=!}bXvOG_ z2%r=`_MOJDIgC+{+n95BCaqA}65=|U3z0{hQ3P-|rP6bF+8gJj c17(m zC>V5KBsHW@QAW%|75a`pJ@GbS-6eE#>A$bc>cP~`$61({Tyw+}XQ*^_Suy7eFA9>^ z;=2*s*1nx1bc1w^RiIplH3u2^$9B>5n>zr{SpjsIS`A7V;R&z2G0VP}?Rz^2cg%FO ztf8wh;ktFon8`baNxv^sHq3Oi?iA7JvV1A1w`U-#?-60pmIQRXiPHLBe$$;*?J=@0 z)t}7CKRa~7GIZUQL?kgZe !Dt5)t1=V+Eoh;SK_KSp&- z_FE5}Y?X~t$4%vtyV5Yn4~lhHB7FY|#J1)Lh&wXx+Do3L*F<$%aJZdXq0EdF@`rX~ zL*LVWi}!VSCHvoVnivN>s@CapmGiEyB|mkME{i+?aCv@@Z^opCha041RY-N2YAe9x zNF&6aXrt~7a)A&2K2vqcIbs?rA&r|hoK%mfIld`X&?I%^6Z;eFH^Q@M90^b^>;b!& ze{FUFhmoRVh`8+rLyNE30>Fy$`@D7rL!1%`j8u zeTGCEQoecpKf^d0C+t1u&ILs<5=DoWBPVg*g4+6b_s?qK}w#$>$@4aguZrh zc;>KPF651j{inzOz~{!mS?G3sEs*dfSXoYkcX;V<`Cql@<%f2N9{ngyfiucq$_7*K zscl+(&vAB&&WC33u*^EZxNgA9Q@dr|NIrI%(ke=Aa*V(=Ljs@VD0RIL+y!==9ogH} zK7jy@F)=Fhp{Q6KiG_BdfG1LQCa~ha>!Q8Eiinvc1l4x#AZXawQG+nTqR1|V!1%Kr zCWm(XHWWm29o{=Jz#-7~dEE--ydZZB^An`y{Uq3Vjy0)66iCD=Z!~uoCC)>H@HlfP zq!I#AbBPizj74`DOC)BR=o1*e#MUekEAw-P16g+}Lwb;{ CksY;s>*y81DjKo6Xr$ zOGxOCXC!w|k|dd5()38~kw`H*GDR6><5zc3;ZaXaGAID$vVo *t<$)t zA4$K7SiC;@3AmCjX@+-H w7ftP}XZdThxt~jH6 z7{E41Q#*J&O3)VTZH? 4=6DD??iA^T#GL39-&y;wKg5eAu1eT?P*RN*M@BVs^ z$IW=CaaGJ#8cI|xWm+%{+)7!+r8s!36kCmU&y`S=%o@>sSU^XY!|8agNnm{gfx%E# zK;DiS-x7I8{e*bK@WMNO={4*pYRij)5=2Zh! #UIlNI<$FU%99BwI*HMs z;U&OwICx6yl%{!a7!;GqeL{kXGxONd;0wg_Cf0d;4}?Xie`jW}y{JBrp-#@ y4JpDKBeFoU(#DlJRA6?o 299J2~@?B)UT<4W0B1-8#2(-tc-qo1}UXo|oV8Js}RS>IUE0 zGo5-(QE#|rn+^@cQ|n`>KqJ1lC?|SrWbH KCDnR<%tz^nkHs6O zTafprl bS?o=k9~UhVl&0Ugz=C^9X)|Y zz-iv)qhEUg*UwS=0YCjEjumB(RF`W@#u0liam^lA2yRi73Wl;2@2X#JIX8PZZNav3 zkg)70-nJeABPtrzK?{3OGx8wrmR0^{f(^pxzc=qN_qTglCvfVVF3Ky6Q9Vm+)s0!z zh2(o->^jfq97MzQ1`z%NED1dCg}8fgmxa{P8q*bIVuN+nKi#qi419ZdE%%+C+#DCy zo)qn@K~oav%^`b;El)p!?r&F;^YMMN2gHYHgc*CFi-FA*fcfTbUDeV4 #F4y;h0R z(Up0Mdj5OV_qwa?ztJiGol$~T1(y2^Nd9}*$cZ@P;c#Dvd_{?+VftTVl8k%XkvkvY zNqMZppvV`#beymN$2)uB1f(P2n2ncxepAktEuABdze0QS!)k&hZb~^**N9;j^wK4D zm9cyETBqRViXJMm>sJ5vSmGefW~qED6U{&&yQ71jWy7IlXo>?)?+|=4!+cU-bwx zel4Ezt*?`yOr?B2O&iU$+ap!{4S3h!hCr4WOkjL#%Q-h8DKGpXmr_o^(jr65>im3& z(KbQBS;#eN3#%Q?FQuOQ(c*lM<3&R?f#TC&G`^AYTG{ad=@)#n{TpqJAi9a-CQlrT zuDps;({6m;4yU2rtVsT*p*Tt$hyc`toymOOU^_k~tBT43&RUEPVOnsyBoln)*5xSk z&h))|;Qs391KKvgZEJk~)-_Vr$EqGk>L|Wv3aZysHpG1gZe>Vpa`Xsv9Afk%$vMh+ zyET0gdUVeqmGjj%vUtBW=pJvLtHpg2MxK%KGtQqLhLf`C!b5_7XRUn|0Z{TC(*{{x zB~nn8RQi?SP&j=<^p(>W29B5{00`;YT{A{KtI~Z*lQjRZl)!{;?n?jL ?~YTj0L$>;CgXCnsV$Iul9X&QBadi*JN751sMaa z*-|+JB&B_H%!gNzAdiRX=V^5ZyCZ_<+*5smFD;+f!q$XZE}ZS _^8z8+u6H$GZ4N|)LVE|S9hiyIPo;7*d zNMU{Ain!6Q?HQ-`v9lAShJ+&64HSMW<@jLKmS~BP_5TyL zkqb?C{R(?#8~c7ZV|a19w#wTtqt+X`Xn{YXi3NT pdU=xX*rjrspYHK@q$#u$usNbsMtv=c0ane#KXH zK(f5~w+da5c&kpSKAL`lv=glqXD*9tdOg(>nM#UKVOoBMf8Ps_wJfT}yzw&nBw%&C z8ESrsW_LX-iiYaJeGuNuG1dcflHz`tiwLlWwa1)tuyXV$4KzK@&eeXeaNc|saG!Fn z94o<;v|gmzFz|lTQxOoG_5YNAN!11UdVr5Lg`s}c&EhFC@ZTWoc%rG$I`EVEerA5x zYoW<(b$n@2qx+LMwO8-4pfG;id|4l8@ny6OgZFfBa`A|g+V+0xK11A>mUphT) k>|csJT`ZRWJk-f!3YVROT2$J479CHmDpUVQ>!H^+<@Av zws(JE d|{NF^6GzlbL(D-BROibYZ)7B`-ZByTHb$t zs`UG)wzRyNAh8oQ#T|sR$)10IN(d(EoSP-!2QklGn@uEtTcdx6erf`+4oD?%UjPSk z-DRd5X)k|{A`2rFNp_=wSCMxl@3LaY9$tTyu#tW-u*~7DmY_4Ss1(E?&EtQetqhMC z2W8Oe+On@GHV+$4k3)aEAuI+KDq1l>Y~n-|;8bpY16hB)>JG1-eD(NSME5a$FAGOX zjw65JdaMZ%`v8mZ9^GyGX7~noND_bHqM;kBdL63=9r=XhYgZ~FM{9r`y&L-@@Ipj` zC-lb^XQUlIWkrB0QTFX#UcD)Mp&bOg7k>FpVi$lg+j^<~ !E;2v{8MVagonF!mW8mIxo|s$qRr=h6yA^1#1k((gnrH z!wsXlqso9|?N`<58yBC#P< zvzCCnci_ZHP%{o?Qho>PQ1j6Q$jE@kHoxsKVQcaYP1HZ=%ArFjf@grttln OFOXuW6SwuaknPIErh0)mR+0u6 zGe03j291k;7_;4RnmK_%KO%$N>+i0eNnRrbTEaPUf0= y7;JCXiJ>Z{A z8}Q~yaCRly 3>jSxFX2V&lNq>SBMa)>? z%i7d`dD92@+i?$Ao-2YfWpifw19rLp?Ba_RGH`)>wA6w*`y0%u^r7}inn9$#K^(8M zjIn|{cw)<9M!3~*0co}b54vzr{*HofR<{m!ef8+W0-546+y)%X!vBJJtDKJ r*Jgs4qSqZ!&uXNT7))25c{ELC#KlSOlyLdvDL!OV$-0;eUJj|7GZ_)hiQVH zV(u*VzR#Au0y?vPUwT 5s&InF9x*lws~RNP(q*m>&5ls?c|wBM4dd$d zcx1lFgINaW9M5+wU_gT9Xds1REh?~mZz)b)18=#jT&;rc^bfpj0tTYamEnNzi&j5b zGRT7PL%?afm>W_KaADWhj3C?CfwhAW+*U%7?>B`AhV4325`VRGk3@qUQxhZ|wi|w+ zK?W!DvJzH9ndE~zmjCNeucC6gS+gV<#t&92YuJN48D(Z|?ZwR}szP51Ck9*^9La-T z!Ec5VDY=Z7vRGPmZ58%|pag@2mYGk_Zo8zJZ>$~veffwv+Yf_~zV+_I6%a@kpDwW6 z@iN6b=MjUR#EKeH9`tSjJQrF~6@-#Zl9Yp^V^#I4^PM+_d_OC)PK5ljoLYmsNbj2e zjxK-oNBJAQ5UTrHy|;tEg=pME3fw64x;EzCfnN*<*ENI=<@iu{eAa%RvUhJw7tuR9 z)~19Rd*bgC2HQ=qc4VW;C~amM3O0l(h^GXYO;AyasHw-mObo8TwfKZBvbviMo*7(x zS}!I2#cQqS`r3prrHHgUU2UUfKmixXlmIerd6I-Of ^wG^@Nv!k%9;7y|tRk`FVtXnai?c znOg(m{LN12B@Im Un0!S?!hfu`g4LXoK^^hRI z1$KnW9AqG0V6RZdbeT6z2-$EV6H$cQ;v*lUY7@GN>qy60om-j`fk=ejz?L$kMUQ#) z4comHRR+XhwE2YKeGl7zwdNeMsuQiB8e0uj$ {fTjbF5nhEpy6*6BEQ?2lC}+&d z@NsKNdijN380p@5 m;(KTxJ 6xE(O)(*si@C|+6B{7D=Ttq TK*(H_&3!cWsI>pA{J<|yBW)_C@*?NJd1l6WKDxFooDZxoW zR(FR5H0p8baFw3-|8fM5(dm*^N^yq}%(^S}em*Xem}`tF?@|)VFj >fHSt|o_Nv9R>=nyiFf#>*5A*TAQt#Pf$}y|#e$V<@j2SU@vC zBLd$*c-e=e;j`8BK)1=gL*j-jQuojLcVCC8g!wCDC1(zu@Evx+%96$~pQeYm@?+b^ zbq{JcbOkJZ#Wq;tkQs-%wd+GpsfkA?B}tG(xm*vP*W`!Jj44^}LgU6pb=fU3s(@de zSQdyWGC(8WRNAqSs!OP$p)vlqhyREwA1jj%J@%CYS9YA10Lh9D4oHYRTaMF(gfL4# zfNzD@Ox~#;B87-PcV3C=&Jve)whUt=p4f8B2M35mH*b_ruKF&ngMk;dojiTb@HvQI z{V5nze`vs{m(9~$6>K>Yh!2R9ZZ)$FwG(={2kWGh%!ZT_pmm6!5z@22sb6uBW=(N? zw4?>R%PWYi($Fp1qgFYy&0nJ~DJ}{~$ 6&wYiA+VEK%1bw)sb-b-5w3&RsD zIs%CWilF_>cMt}3u&~O=L}7 wGy!CDMUaaDRywqP9%|r+~Oq zx~dDlOBQ-FT&0N@?Emsxs6UHXXnWI|D9r=`fZ~ZGHSx4l!d&w3D?!}DLkU`ZWub{A zEP)oH#iptSc3~SelzcU&d+v!P5L%8i@tT(Nc+D~v>lGi0Ew_m!^kS@srptr37B^q0 ztsK$M+$@Pf;v9~Am)a!?CO(p%|5G$ZYqE(>dMeim1b)M4ht36xAgXBpc1ww2&>rSo zVh&>a=$c(!pNs3)2bhUsm?1Y*4xof>NKHeYe!x^2j1Gx&;1mZzGRct_DEEX#rc6<~ zz6XhhvELArVpMVMG_8NIh~x@U+!u+e3@0`94%kSXXNiK_WG?||Z&8XR)$q}0nb7jZ zXKAX2SP?nkT_uWhY(<=74n2~ r;Mr2}uD^=>9&bbbdiecb4|)ynNEbBib76}K$CAJP zP?SQ*%~>(hB}nL3iC~Kxa82D3BD34)l~}k`yO3-y+P;e_GuvKAheQ+}bDxsHALFUo zYL1IEEVGohsxKsV1N*UZ&n+DdmD-CnoKfmF9cLfu<`Sv@JAsDZTmp+oF&W{Fu_62V zC?URogLnD_Wz>sL$iugS09*+#eOlt&E)Y@})fJ0XBLS_j9fVO(2EYNAF2jXq4-$)5 z=%~RIYux!9tv;_i>??}J5o(Ki0f6%O5A&uPKu#Yz*ev|Pn8%BPxfPeE!~$0g{hx`@ zirq6Zm@ c9r| zfjo=4DL9M7Zk`!nfQKPpDD@VvV491+Iz<#&kw5oZYj3Lbl8Jho$ViLeAz!zTy9Q4U zQSKIy$HIQAn;(nlyct~=5Hy7;&pQCbbLz)8xfqN1(7C213q!NZDAw}hHRgu;HqML| zSC2ljXb9z^V+Fsn|Bmr%(Y=f|cLIai2rL)V$}sl-v41$=&oGQTGVCy1Zw UgO-W@8MR!sZfA)-p&JN2ew0BQcYW<+(QC<#k-yV#((sl{J1L3x!f`o%=k8+`Y z$QO*^@QWrlc`(ex7bAB7&Y+Sty(WzH+eDStox8UNqgz 46#`>7;4N?j< z9pxz_pY^z6`r?fZZ*RpR<}`zK@Uw*A?io#R&VP*@+6V8N%P+j7b)Gj`W*V_JfOL&I zJ>!{?kE1`mZN}5oN@J+m3tWvn@fFrB{tjB%0tsZingl^{o#%}|dBZxwAO8(nO*?Ci zF*|fK`CW~7Q1bF6H;D|1thgnnd4ecF;!cf!A|N0k8%0p5EzMK!$q%-=3S^CkDVu=C z408YWL$#yqBXb0nu$_&Tvi);`$g`d8mjkG({kW|3&YO*^6$-d2mN^Y!NDOncOi?m2 zpEHfd3g{cti5IFBzGL6HtHrmXEO(8~O0*lt%iPJo1#uJud`6t`s2GjuU8J$Gpi5^M z2m2dvsyTl6^goUTwQCUZPv>2r)cP);#hJakig=C(m;!k2PXL;?b|t7GY2y$Ea&wLj zl9+K_md3Ja)}#Su1Ar)fwylm6Vh+p2YcyoUjcm}H@iTrLGp3FtTA|(&a6kB!i7DRB zH!hKSwULe`J5@Rw`NnGfOBjNS&rb&k%AbxeF2w${_mx&+Lo}onl^RUu(n^jt;jNKj zm3P}Y1$z=;=rl6U!vv0GR^NBaR*RxN!SXQ57Zb__l !G{t&AXj62g&q|KbL6l{>dR`Q+Q(w s8Ax_*x0 z*o-|f;nqiH;$|Gv8ZEB+2PTg4)gOS1|A7i*olYq-jLz=mxHyjrn5z6z+G?0!F7pKD zIB13=tTc}i8nqQGpVLoLu=^;E5*D@6^ m$C;1H092;NpVUZY z5{|YBxSns|Uqg@ASMLBE+L1WIygqB%_U8 !CMq}plIVOMl^c^bn%c%#P>N! z5y{|$Tgq)u0-1`6zUz=$ S2N3yS?IpJy4jkPys>g% zhSiXBkEzcxS~X&>ii4reHj%7nFD;OO4mv1n_Bar3Q;s?22|q7?j!BS(^3$epPO&}K z#W|l{O9|ZO$6b)85Ex5m^N%{AATR(nw5j%d)oPHZ+>nP5(<<=F#Wksm5aY-L(i4!h zJ^h!Q3|6&tv77JC?5XnX=QxnJFiGxxqg!F0HT|6p6B%Wg@llY&yPY9i_Gxl#IZHhA zu?J=>ql}Q^5t 8*IR|zM#~Yw3{~- zzrm3 Ie0Qkls*0VXcu(reZ52a=?h7Xi+kkKWMC_Wk!*Tc=gJhr0Ci~ z+J?!moVp}}=*^L#5@@pz9k!hp1M>`- rK?EfS zCLWSQUfVMUDjd<1iHBo(|Cn=qmMW5Z@G5S^k$>4Bqe*Q04h61ZePWV*CLGdJk;DpQ zJA*^Tjd8CcfYp+MGKIYbGK3-itpJdITIW+-p+}OW3Wj`j=66YpzhHA%`p*T-u@REC zwt!(=DIBoK^{^v!?Pg!m(?pWNk=O}k-hWR#0+{$~0<1Oqa7vQMsc#&v`G@0_-qzg( zECS@F>F$#69JTd0zEgtrvc_3D;bsmFiY$`w{g5?#k^~z%{nG@gMWdESRg9AHhuTd| z9QBQx{^?A2BAML1Jn@qLuDrFp?&c8eI#6nUyMjR({eF`Fai*^*!xmH}=g~G{K q|h>$H%yaPT>wj1IR!mJWaX_ZN?8&QjHQ!b&sDJsR(m;_ ztYTf%;^ycC`>K;7_j&*FumW)v#5=wLVw(gU7 z7h#_`X#a(Qt(ozzJ{YVN7*vyg0)fvlpH4{RK4u)G!XWF%DHfBCoAAs?d-X#cP)Pj1 zt~*E|0!ovYeRT2BeD)5);|p3>&n24XreBlJ% Xn#x;}cO$I?h z9M-XVU|O8c^LM#6B8rp)B@0yWT2XOJ$Bre<8TWCKx;2y$Tj&G!QO|!kS6N9f$Jm|O zO}La5n_#M2ei%e_3BO?oJR9_~AGeep^b 5^_#- z^T4ZlGVY|uRPmHBOt7@K^8_0-0W+Qw*kUt@sO*$Pnu7Cgtf<{j1|kYl1HtV5C7+a6 zV6kW&q5p_%)Ccif=|t&|x oZuO~ko7za z`%skxSWMWZk&4c|n(huxq0iU$()yJR9g+ZX5CR*Snd_tVG6w>w>3fw8D`aOUs+s{p z79-BU_6tuC>dlo7SqRYj8LUWDi?*VD-jSwblBSgr*ZlEca7tNDoY6AF)QbCaG;Nhg zduQ!rnQfK1lb9|#+pve*9A%YI!K)hQ^@tF=ueCsEVw_rVuG5urY(1$}2^S^Xs(U)d zFmZ(;Xl<2(IjRaN24DriKZ|w?4SWZ5SOArc#X^42zv$L1MfLZ$JF7kbN5qxA@qWxI zZp4z~ONxOG@9^Mas?(Ljd$!Iw+l|k#dxdXGtT;YU$f1?diddLT-(u@}y!KH%ov_RP z(VdmwtiYBGBByccgf_OQe}8cr-ei^GzsV9lzH>ZO<&QQYq@0S%=@gaj9D)c4@CYbB zpp%y8fah_hkBF7|sU3G)0EDtOisyHpM3WqZoDP-#&^-I1P S zBqgXAqqME`K5ro8gBn$-OdpmRQingoc%te=H)n_#ca(}BG1QhG0#yRZiu;Z-pk?25 zzqG0`Lyneb>Xyj*-(qS%vIceG+V(4Ls56#mm@O~iThRja^Oel=e38p4nHQFKBnBqv zGVLk)%Qa9ojmgLN`NEckJZzT{VC&qKHkMXi8M|O#@CKHg`OnG#Vu5V{qJ84VQ@IAI zvH+I8+)CqStI)xUfxTtwHO*!<$eotM_1(86@tY@7IItNfoImI=m{XR;O|Jd^E8Bqc zu#O=moYlHU-ME(A49sX+_E^ya;?Mphk 9N@i zwM)f1U jfVtHV MDU^wK GRLOm#vz&<{3r6N2e0 zFO|d*o2Hl^PiCm$Bf6*hR==V7J2dIXyd0P*bf21>R jx51d3XD$%fD=ay)<-(qHXVN(~=!BTGjx3w%77e*Gf`t+$NdAeBqp+CB zb%41+ =n_T(v8R#0;3qL?*A#P)2nnDk)wS#;Y3z0=Ago=1#<#DMh_mmX;{K zhIixzN|KogRtC||Ty!1O3;(^WeWFIdE$o>V+U##*@+`|40n-V_H;HD&$S|2FG5)YB zeQB}JfKzQ<<4)IYN4l9WI3atNoeK$v(7NNyCfdkdn;DrkN$(|jU7^m(qS17r?z+I9 zhG>~Y8|Ejl%3Woy_Ma<0aARJaJg1pzA@dIWZ;kmi1l-84{^dF0feo2#ErM#)StNj1 z`38wCDjXG^vR0XO6hoBfH45wZK?V`73m#?MIP;l&eJo|fKb)g9Mu6tr@`)Na$po2z z3}N8W{m9{3Gn8(I_sL0qmbsaR( ~>fP(3k>R@3Bs{fga%T)Bk@1N(|>Zt?F zc@RjvDKwdm)CtFx{=xw(91NgT*_ep3Ads1-wtr|iTubJ@AO`B6|7?aHeh!(f$V}M_ zotTqm01H6$zn$?pxR=p~$z^((^WWazk**ULjK)tF`PS2kRLotO{MsRarw&UrAAnm^ zZFWxC(uMY#3pnV4h#0-w1r*zp+>5+4h>L%kE+>>&`~5F4lc$Q|{!+M?ZHR!HGe7?G z?WO|iIdQxFc9(|lrk^mHHdSV=j1 wvC1vTFIbft`bH^Fmk||(f4piSk z?b~0PM!|SooDVzcUGoEWAssKEEFD*xTT94{AfDqgM!}fWUx6h909m}6UnS$P0OBZ& zpqbBtUV6yB<}CS|U(8ABuM4q=cdDQkGvKA#-qY5absdD*=|GNiV<~oXhx8jZlTlNe zenN(fDp%vWa(=0!9&F&!+od#`gRt|O CP9%*p^pn=Gm!ppC- zrxt`;etNJgA9Qv$IX+;T;uYB%!P}T<4wlB1j{@nyij47^@@eqmNM8%>Ssrp#(U1!n z!>UG_|KEf>MmC5L`THVk?1X5|`{I0?3y3ED$9xNjP0A^wlf8PmB;LoH63iB4 zm#s-Iqf=pn0zwU&6JipBJ$qrPmo(k@W4&B&aE+ClAWmJ;`Vxd3xp#h?g}1(0>LTl# zBirq2GD7Kyi-FgoM|N3_U+|)vBncfTo