From 1ec9917d399c989fb060a25ac1880f8c741683ff Mon Sep 17 00:00:00 2001 From: zy7y <13271962515@163.com> Date: Wed, 3 Apr 2024 00:11:15 +0800 Subject: [PATCH] =?UTF-8?q?ref=20#21=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build.py | 17 + .github/workflows/release.yml | 6 +- .github/workflows/update_readme.py | 50 +- README.md | 7 +- build.py | 28 - client.py | 35 - entity.py | 107 -- generate/__init__.py | 0 generate/main.py | 100 -- generate/model.py | 274 ---- image/conf.png | Bin 287817 -> 0 bytes image/db_code.png | Bin 286953 -> 0 bytes image/home.png | Bin 254043 -> 0 bytes image/main_code.png | Bin 391625 -> 0 bytes image/model_code.png | Bin 462588 -> 0 bytes image/router_code.png | Bin 480131 -> 0 bytes main.py | 357 +++- main.sqlite | Bin 0 -> 8192 bytes requirements.txt | 2 + templates/db.j2 | 5 + templates/main.j2 | 12 + templates/model.j2 | 96 ++ templates/router.j2 | 37 + web/.gitignore | 24 + web/index.html | 13 + web/package-lock.json | 2433 ++++++++++++++++++++++++++++ web/package.json | 23 + web/public/logo.icon | Bin 0 -> 19073 bytes web/public/vite.svg | 1 + web/src/App.css | 26 + web/src/App.jsx | 27 + web/src/assets/logo.icon | Bin 0 -> 19073 bytes {image => web/src/assets}/logo.png | Bin web/src/assets/react.svg | 1 + web/src/compoents/codegen.jsx | 65 + web/src/compoents/content.jsx | 187 +++ web/src/compoents/index.css | 18 + web/src/compoents/python.jsx | 41 + web/src/conf.js | 5 + web/src/hooks/useWindowSize.jsx | 23 + web/src/main.jsx | 5 + web/vite.config.js | 8 + 42 files changed, 3449 insertions(+), 584 deletions(-) create mode 100644 .github/workflows/build.py delete mode 100644 build.py delete mode 100644 client.py delete mode 100644 entity.py delete mode 100644 generate/__init__.py delete mode 100644 generate/main.py delete mode 100644 generate/model.py delete mode 100644 image/conf.png delete mode 100644 image/db_code.png delete mode 100644 image/home.png delete mode 100644 image/main_code.png delete mode 100644 image/model_code.png delete mode 100644 image/router_code.png create mode 100644 main.sqlite create mode 100644 templates/db.j2 create mode 100644 templates/main.j2 create mode 100644 templates/model.j2 create mode 100644 templates/router.j2 create mode 100644 web/.gitignore create mode 100644 web/index.html create mode 100644 web/package-lock.json create mode 100644 web/package.json create mode 100644 web/public/logo.icon create mode 100644 web/public/vite.svg create mode 100644 web/src/App.css create mode 100644 web/src/App.jsx create mode 100644 web/src/assets/logo.icon rename {image => web/src/assets}/logo.png (100%) create mode 100644 web/src/assets/react.svg create mode 100644 web/src/compoents/codegen.jsx create mode 100644 web/src/compoents/content.jsx create mode 100644 web/src/compoents/index.css create mode 100644 web/src/compoents/python.jsx create mode 100644 web/src/conf.js create mode 100644 web/src/hooks/useWindowSize.jsx create mode 100644 web/src/main.jsx create mode 100644 web/vite.config.js diff --git a/.github/workflows/build.py b/.github/workflows/build.py new file mode 100644 index 0000000..c3a9b19 --- /dev/null +++ b/.github/workflows/build.py @@ -0,0 +1,17 @@ +import yapf_third_party + +params = [ + "--windowed", + "--onefile", + "--add-data", + "static:static", + "--add-data", + f'{yapf_third_party.__file__.replace("__init__.py", "")}:yapf_third_party', + "--clean", + "--noconfirm", + "client.py", +] + +from PyInstaller import __main__ as pyi + +pyi.run(params) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fa641ba..70f38c8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -41,13 +41,12 @@ jobs: - name: Install dependencies run: | pip install -r requirements.txt - pip install pywebview pip install pyinstaller pip install pillow - name: Build executable run: | - python build.py + python .github/workflows/build.py - name: Upload executables uses: actions/upload-release-asset@v1 @@ -77,13 +76,12 @@ jobs: - name: Install dependencies run: | pip install -r requirements.txt - pip install pywebview pip install pyinstaller pip install pillow - name: Build executable run: | - pyinstaller -w -F --add-data static:static client.py + python .github/workflows/build.py if [[ "${{ matrix.os }}" == "macos-latest" ]]; then zip -r -X client-macos.zip ./dist/client.app fi diff --git a/.github/workflows/update_readme.py b/.github/workflows/update_readme.py index f3de8aa..2941530 100644 --- a/.github/workflows/update_readme.py +++ b/.github/workflows/update_readme.py @@ -7,50 +7,56 @@ def update_readme(): # 获取环境变量 - repo = os.environ.get('REPO_NAME') - readme_path = os.environ.get('README_PATH') + repo = os.environ.get("REPO_NAME") + readme_path = os.environ.get("README_PATH") # 获取贡献者信息和头像 URL - response = requests.get(f'https://api.github.com/repos/{repo}/contributors') + response = requests.get(f"https://api.github.com/repos/{repo}/contributors") contributors_data = response.json() - contributors_md = '' + contributors_md = "" for contributor in contributors_data: - if contributor['type'] != "User": + if contributor["type"] != "User": continue - login = contributor['login'] - avatar_url = contributor['avatar_url'] - html_url = contributor['html_url'] - contributions = contributor['contributions'] - contributor_md = f'
' + login = contributor["login"] + avatar_url = contributor["avatar_url"] + html_url = contributor["html_url"] + contributions = contributor["contributions"] + contributor_md = ( + f'" + ) contributors_md += contributor_md # 更新 README 文件 - with open(readme_path, 'r') as f: + with open(readme_path, "r") as f: readme_content = f.read() # 定义要进行匹配和替换的正则表达式模式,使用括号分组 - pattern = re.compile(r'.*', re.DOTALL) + pattern = re.compile( + r".*", re.DOTALL + ) # 定义要替换的字符串 - replacement = f'' \ - f'#`<3#Q3pcigp*mC&*9&f%xk?l#df0K74a^1;=6BLykIFFiK!>}Q3 zWJ^qJCaet|JSg99--EnXy=evW2}lYsRrgV+uFW!iF|HgrM}dGE4O%B^Fl#?@mT{Xn z$arXGZ02%&xly>j-!I)a-NQ#d33Kc(BukU|$yuzuLqVDB^!+}q&BP&=MWIC~WN2U% z0PD0Z k}tcV~zpGB3m!a1(LvSU6OAsFeC79)EoZJVagYj_?N z%B;@ZI3Z|aJYkV$&EeU7I>Dju=raCmY&`R2l{>|q`tXgF&)BCIBoW*Zjr*PQv=Cqr zZD4*i9^3)TM&E-Tj#f|WqS TtkXGRv3~8G zy$HLgTM1RN)Y$FTy90m0cFm@ Q>^ zG5am}NopP;ANLnm$0_Q?>C)HE6Qv|o<$0Uk_0f`P3wP(mtXrOx2Z)REO8b)K7Fl22 zW1lMBj*ou-C{Q*8Q9LV-K5nI((z{A*gjvLtIimVm3r|3hGwxmS-I*9sOdZSPHymDo zmy>C}yJ0_LyWwbzVhla|#-`HT+$xRvId8o8j{Rs~ax3{@R+|gexzg(K(CpzvP!@-K zvU9_6#%A-t4ew#BmYz;g>ydkP!+ieTr7d13uFZ{AY5SgY@q5j~e#rgw* o`8;WDu|@a3>rr6;;=c3Z z o~)MT _xHvsQ{r-vt &e5wu zE;->X1fRAKSOd4XN*T#IvQPiR%2-XpL|Ph%>az|71O|)+1pZkA{=9gBvHx8c1*QN3 z{d51*X9+b20{d4Rna}dCPu%DASD(L2kQ|VITEIBufc{elulcKKHT2-aX8~;|uI>l~ zghu+;1uUUJatQ>)4 F`&ML!JHEQ1j;tc8s(iIZm^K8|sY@3m?6-e6x zB0NxGD3n`&_Zu)C-6arIaRv}X5Rtfr0-?CjWvh`&kn7GIJ2erFf|VM51&`P6VU-V! zXo^T6QO^bOWG8(ILgf8^`;^;B|Ln5`HT6LL@szWP{_I_F1^SM5^bkLg&EoU>5Z2>8 z?@)|@e^&?#f94hX9mdQj{9x1UJ?;SU_$e$a_UM0nK@k&q@H*^09d(7*x*F_MY{oP@ zz1<%dotRc`NPLrmK*Sd?MY@{7W_W@t!MO-1>P nc=G6~0n662o5oZYYsgnmZeLQuZJRg8~-xLn8S9DeyGGy6TsI&9LBT0VqGj z6a|Qt7M1k&m03~<=EPCGsf>_;8(w=Xkewf8S&p0&^!)v4Ut%iO-JMpq9ZjaSFAj>C zTbTR0i+8h#L$nIf%T(lJ{p{q|ZjE%?5v~BIF rKS?ObNGWy5e|VKBCuOa3 z!=N*2iqwjH|E4}R#)}&SM92??1oB@L{QkmSIp}L}dGhoa@GaPlwja$_H#KKsB<+n8 z>#+6*AX3QWghARhOfDIu=9@DO_~fhOIkO^{rv?EWq~A!@RSE0fhZ@_Yk|iXoNz&s= z+WC6~WWM}2Z}9gkyC8Sb?c<4d_iDS|Jx9y>Wcr@Y;0CtFP8@ZoIuDo3Vk6blNua$+ z>9g)ZIg1t%UwK+NTxb5+%b`2NZs(J{zKxVZlQwxVhd*tQ6#W0y*?+W~!%qOTux5me zl33ock)^%LA}-V9yQf5Q-E|W8iYu{I&B}S*73tyK>A)KQj_X;O4rUq9k4mgQ(thty zzd=7hqLw%={zX Fb6j;kLTz%I0$5pkidJae z(TAvjE@oNP_i282{XYCv$D5 *PcAJevqzF(XO<^?jPc2W^}>om&3!=XFg{R20!zNCb)J4?Q1(Pk7g{nw@oEW%$n z`{XA6@nZhk-rCsK)&>U=c)rn|y6Sqq*5O^a3R~GXpc$q}pVOGU_FvCnh!;eql$BTF zXyGO)H8r)BV9wA04iXXXyM%;$iy?ZpUjn5`gyJOckdgoYA42>`2{}N-ezbG#AQ34D zbe%4DF!|F(ptBXT$E|k&+Zv=o9ls0eW|{wP9Rm@@2| y3cNMWaZ5?!`X=)W}6{_gfa0mm;9stHp#U!Y5>^2;5kfRn{3 ztpo^#?Wu A5sfU(i+t!~*0xo?icmHb6={y!4xGDZSQ zLO{uMb4qC@+=KcwjXiRZ*U`96^eaPIo<@W6zRJTx+S~@{zwp_P77W850fxtU0pX)+ zU#&QUQ?dq!6OqGN#p|-u(mA;8-!uQ$05Dh}dQ&{>BC>4qDPO*`4!H&5(NC`r`BiE3 z_n}fUswec0W(J8CE;gFY`&^u#LEy}vupm2oK;QEG4}_KLLI%p6kjMwwKy=9d%L4qh zgn>2_-H@BJB9Ri!|6mXd5J;3n3d0H6&Axg>kp9T4ue`9r5X%ow;3M{C@qYyTFTidB z1L2gvydPU%VvxJrz$4NbGQh~DP|qal9XD}|_K?2aniJ}!!idHT3wDKm9fJN3%Gsd- zgBd_T9%q(I-~E}Q+bI%(!&`Oh{+#}wR(PM0F|7p9iC`;;v;v6Ys@ESZwf8{U&nf@M za))q$g^ON14ALwPesbjb4}ZomH)W0DPt@5cT3S6rLz38jP-2VP1JpxfE&jdDR0IQo z7q>3F5!il?owG&I#q1>~^BCYbIHdSz@S1QSvS}v=FZXX}1;uoeWBQ_TF1oUyu$ljU z!oTp+1^M!BWSzjdH9DZ@;RYq1=-o#!InCLs1VK_;m81x48sO4RO85^<$jKoQ$h7CI zQC=s0&O+-8FvH0sk+byX5cS`J@y`(U>;HYIqt|T3oxXj+v8-7m@_!{x1Om+a)KyH) zPhf?MKv9T*#xMr?tAZL!Nue-5s2U+a)Z!l~_ZubT&uAH4M{x-I91Vs5q^}IUD_xZC z&sG;F0> W`vSh4{x>$0yZAhrO~WoLFy%@&983 ze@F@t6v2aMha=!sv 7`hpnCCWM=FY$ZlmBhUNWRhb86#RQSaw)6^Q;vmk7jua?YX767hdq zGXX5r6uK2!7m@NG>1g2qe-lfN -IxFv zoJXL{$YdcbhDTWMON 2#Ht&snckzOEBhl%aLUayThCFQWE ztMzj8S?6d9v7zDlHu&P}E9fPaB3YUK?7|&3i?gF+<5ddSzZBR2MWC?8YI2^6oqBHv zZ)#;v1pSY;{)OXlqfmOPcUm@tng`oDS_TKO4tJdGZqE_JR>LZWN@+-TAi!nw1CIN_ zZszJ`dI>2u*v^7ty2WjcF}e;tWXgY_cI!$YM-sDlcUB!h`RDQOvHXHHsLsT)_=)H1 z?L05B!|7}lAhlTnzUyl|8jZ(GFTVudf&DRyrb+)u4$m6QV5gkTV5!k5u5)9Pt9=SZ z#-tSrg>FA8Qcuw4e**_M9Tb6wK*~ndIygg>2Dn%NH5{h^w=+k-f%7pd2%R5!b6hXf z7HC9g_7J=Im34R2qf;%x*5oh&KqOa6KR2LJe9QxZSmxl K{Gqv4hw^RL518GEci+NKqbqH}U5$HFO4&?%R7L z4}voZ0y> ;IosWd~-N*m*8;A5CyS+!+%HXu3 z2(G)=vS)U5j|n8>oY|n@B>smc{8_bba7YYjL2ac79F!59&?MxzLHs&|aU;cpYKOYX z2?=19c{vXY!Qp~Q1;T9Yu@gr1eWbL!<{X}@1+&$ucWdn5Ds*m-J>Txnm*Qx56Tpad zW3e6H03xj}9dAxYDTa{R%}yKV$|!%9{#G88ctTLK1dUZ*y)>Oi=n(CvF${5mUF*Tm z?n|MIwk;oy9e ix`1@Y&u;t2okqdk1bkB=EDaeNB64rZ5%oNp zU@5yb`)-86DfIR^@bLyTC7ptJ1O!u_Cu29c+GQmbS_$ow>UdMjtSbEmpU?e Of^T_joN~;Xlsguam-q4%RL51_@F4j*3pb3~zg=&yo z?{yNaYIGxdGK#7srQ9G=PtHJZjX1dW4_O<6@I5)GZ*{d9= ocNo
3xdS zMWHhE%lUb^cg7fZRHw1%+y7F=CsRcR@yHyNW?F5b=1POsu2{rIa?1`+C_i3H6gQ1g zdnjYOSVubAK0iO#cVd?OHCk0jn7EANO?TW=-CBBZbkexMW<{P{nU!d>#zV8AX4>9D zH>G=dY3E37f(q{shc1;z`DC_p2I@*|8cwc>FiDJSFkp&rhXxXOeT#Cn wD{*xp5w+KU_*wD3otl_VTKD3K|P`5rXlnXqM;c;QPKm*MF2V z4U(dH=elnn%&U!gWFdN>(P^>UtTj<7m*nKQ@DdU2lvZ}Ew7S}Qd3japw0FE-OWi3` z{b4+ERY>CBzhkf+zy~W E`R?_&CpOi+hgW{4W)_^I1LynVYLS*$ >3ZZ1t32WL9V zK7La=+~5F0CVsi10;-MRm{Mo@w 1X#yLRYJBC{22@1{)of zfrLH1j@BG8S35!Vt(rqqO?vm1$?e_MeYIMm?0JVhAnt1T(3v)SJpP41M~6swoF0I_ z`xQW3J+@0kJh%K2pf}e{7}u?NiC9O{XB)xWpo_jHM0JzlMcZo2RYAMq;NCGzPe=gP zmp(!D@YOm{=-biyT9l2>hE6j7NqCd>;UtcgMvdlf!lY^A@M~%INbzQ}Np{1}@;p6c zI9>yez^U2{gsYRL!BcId7A2R(OzCjD8zbnQ^|c0_#@qWO`Yi(+rjvatW!sOjNX)L? z{j>az2+C&1!dQFgoxu4NJC8$`+lCL7rFIy?SOYQrA+BB0QW0%cN->eF_ovlq&dm2w ziJMtX1p>frM8|KtZ#zR5e7+^fD?FL(tn;$1s?AddjD`ou# $#hR%q zW?(=RcC*@OTZ-N0us?D$$%n{+j F*F%#pqbehSHeREwRf3f ztuc4-%J|gt#2itkn1ZfR=hI^Q!4`|N@-iBmt=s8=nbOAH9vG3rfVEzs)%=6tB3GwQ zEu65Iw@9%Ox#E1aHhLC7A(p{ib99l`{@n2!V{8!QUT~zzxp28yksP7g%Tlxvj@_9h zGvfzTeP0lJJ+@ln^R8 H%Fz!bJ7}=IW|EZ4 zzKSn&=ULj>693l|Gy?Ts+k2?lR#_>DVTWEB0s>4}Y~wg+fVz8{sI#ut7?>QRkcznS z0SogHr(Mw{78k3VEjt(%{Jw*_q)s&GVDU{LWYqa^5>+Y^;%Q=#;^g9CuZuIg1V$&- z=(5arAFyFo$^M!~pTof8-7dtfm?tBPLUSc3t{WOvSXp;9lWm!A0+vh**xk0QhSH;5 zCVNm5?kW{WgI(a(Q}!>qxq4vsEO>Q%FC?)PJegUxX7i49xPmbqmtFs1l4+E|se*LW z7IZC|tNKexCev5VesKD2Vt?HUeGFL?vAtDoC6KnXO9Ao#$Mm3fo6MnevuS{g!gkZh zej`kg!`_G {50Ovy#BOFQ+l-%btVs=JSg@N34m;Bk;-`k&SI<2{5IUg4gAy38nQ1D|H=!7Q$C zAFDOii(1-&3DwxK8}rs5 9f4J+uf{1u`?#=vA&LV}u4tTvif6AtGJ)FqQP|W6bzfP3p4bS*i5mN&DvRG{> z=J(W(uG{u#&@d=Zw ~T#Yg@tTHc6Qp zt%!#bTPr4ep-9 CewM^Kj8-yrgRvq7TRXHxmP>cc!)Ri_eo0ST&g>&2$$wd zY<$Mbp@bg;k|4vdz8wYjg3xEA(*fFpt@_G{WxTED>UwfX`O7rM%ak|x7Bod^nUm9! zE^U(d2 zpPJv&=n|dwqA!)u2~e;;9xpZea`9e@<+o~H9(uo81X*;}+%y=H%Vh8e&X*{kOyv?( z>J4d56|o9#$qNEya8fwlLTwIb`@T1?R|o)GGzDGkZL~WQDOawWI0&-49-xv$%V{R0 z-2aB@dJI{PlIi{(np|2`Ven0Ju23R89QNZUqaG4=z`;c>W*F6k-_pDHOd)%Jsyebs zvES9VTk7D&5e3=`uVau=c)xhHz~9!N84${!B=ys~j*Lxw>I+!WPoZjU@}vv?%JIiF z{}=uLt7t+6A)s?sNt2ln`^-5JqrpZ`qE!Bjd~YG`stb@3+iA%ROyngodJo`nVKm41 zGA0d#xwHc-mtmu6PF6L4B}cg0K(?Ig*@^=a78 4L@&a)eeT*K zP>PCjuIZd`PaoHy0ntSz%KLTvQZ5mm5J#j2FGxyXZ41vM)kt4SfE2I!*ezvF$IY)= zABWetYIq3fsqI9_;1cjX1NkkUTYO|xkA$Lvxhk^@UV`lmi%vNpTia4=xb}vjbg|%x zR0(A%t?2?+DmSmkV58A$v{uyNYP(sa(<(pAq`%fnR?b {-8Wd;_*X#DOP?~_?j02ZVCOvT|2p7z9HQx9Mb zT+h^8Gy)LLO{Hi#phVJADOD_2pGXm`jH;SA4u%~+?Jm;Ko-kkkxCX~OrnGYhWRAdj zX%c@1G3+1Cd_k;}2!UyU2G4&DihUjnY%HIpziYFb)>sdImBCFpn0#JV>AoY)5a8qU z>7X0xT$n*DeSK{4l>hj_RsGxZ3W7cs(Alo+yug(}k%jjb%G&?KGaQKqP0GoMWrLYN zDzrqkEHy-7=4i9s6CHYwRghffVzV tef@}(0Iu^>syB6>&=HSKNLUx4eBVtsb^YPr2AHmm+__vG-klw+DjLH4R!qMxds zb^a !Wx HXog0R%Nhr+WJKz=CE~bz6DU z<>Cfond>J(FcU#s;)^Qi50S`G8#E}m(p4c>l^Nl y4**yK4lM6L$Igy7{V~az76lT|%!1cO4y|9ilsK z4FKf$OrKAJN|(z5IC%EhW1Hxt*9`?|;9J8t1eNi(f3281bQ-D$S_?5z1x#4DY&Hup z6k?zxf}+W`FWxCj4I?p}xRfqoO^f$f&JDsUa_2+vg-YqQYStTqp9cEaK(GGboXr>8 zWaDo4dWOSUF4108Fdn6R*7kr4 rqNZEs^< zcC8XfY)I; f^_|;@S;WUNusmbEFteuO^K@e*bs$VL}dh@9tP>;RBiZE^r z` ij1GXPVRO!My_gQiMJlJk; WQPZu+M zu{cY^w%MVD=qeC;wr>4fhRR#bo9+ypsm{0BxV04rbJ(n&lJK4ag3z6uDwOYQ^HcKc zPNIQ740 Nf@VGULzC$J!wc2P)v#sxNyE6EZ%iwmo HD;wvf5z1%bA;- zo5|^n#pzU(uDRf_7)X%K<$C^GI{p4^6>{_|m6F><`$JDpPm8N5rp;oxCOQVjkY*oO z>V-ri*;SKT#y8uIHjzlQc8|O3>uUuky|b5#&QD+Yxi9<+vKH* 9HIX|}ftW0+vRXtaWY!W2u-!^iu}1+(b{DxH?w z$NQTWWTCF_TYUlpzP8y)-Er$h$4Phr{q=N%wWd>IrTpVoAR^iKR3OIFAN0Ce)a*0# z6%rRg{CLD&j-5AroD3&sf6EuSkk{w+k=un{YW!@qb=~M&aVdeLXFK`N64IC-mh @ftN;OJVc~Ka*;I+QZsLsh!k}0&N=^4kqd{I2E&+Pb?nVdd$b4d44 zephV?2Zs}9N1dkcPVc7@6@hO(mJ8M^^@pVx?3C~v3SD6yyFdE}5ibsS`U#$vvp}VO zz@)MJfR)6)UAvxQ|5^gRX?J>8Dq!77NH7*Goj02*d2__WL-ZAEI$SdQEt)y-@ye5g zc$gE5ycG$$(cL6pJpk)Q(!By+0g*GJTB4HgVz|at|C0%0pb51&i(yZQtuwPN^+c=L z4S^b*UY9$Tk%Z((Fqn$fqvJN&A#fn(D6qcv6)-}|yjZ5!yW6<=Q85=t+8^_nb00ba zjtZQDM}7lMiZ0f`&wjjvk>L3cJpWBuVj)4c=5)^%U+xHdFGq3)70Eur7UwV>PZk ?M1a(n( zyxI$3Pn=0P#ov{2Z4xPU+I(Lx$D@6^{h4$Tu(Z!v(Y_ohc*d%1#jm*z)YRI!+dUyw z&m$%jR!-&?!QVwX)10K&yVUL(#ZVBJ;AA|9m(E -eR-ZAd{x8J892Mu ze;7(!(&7DO75szhj@@{|hL>RmTcO9IDVsaasJbQX9CGYqv)!grQ! zmY+Q4+>-P{Fq&l@VP-yOQlPXq?5E R{IH*r%}v)(^xs*_;t#9v(902 z0{+66x1TSkDla6ecqn~DmQe!6x9jcW^~~%$4sj!2%3yzg*Kp7y`!6&Y$3oe)PR~Rl ze~{l*m0H}f=B`kR35vT#-^spTFzfhE)LqEp83qyYRdMQ1uYCw$et!jB-o3N+U=A^7 zzdJbdy!Ecl*$JSx%%m&Y{nEIIN3q HNk`i#H z(ucS?!rj7C$O+4d dVT_l z)QIqQnaZXy?Qg3ZXyE{|_ sWrsIA0K)D|* zE8Bk;X}1obfl6odX4YOr-~_W;F0{QrpIAU!?XWu?P2u~#ZeLu)N~u=r?5o+cZm^Pm zsSkWpU=uJFB%ntYk5yN71U#xd?ZBSlak?KD5L=(E4@1xb@*kuE8KRV=a3~Eq^s?V= zWga8s*GH;dAJE9n?)v(I;6gaP9+ke;5o!3ZoS&Vr)^Ucg#Tka7sPJZnqDt)K0*r;I zC?Y|sf7pG7jmHD*PN(Ri(vs+Msw_{iFlZEcwYKL7_pnPtmCH)tVg*7!ZpS?>CO=^Z z5&@gCcy3|mVzA^>u8fRXCw>s0k-P`SrXEUsWBt9r`0Z+;R=&p_wvGb@Yua`ux##0j zc|a~J#6Yd@2Z9uadn7>5gJJeEk=|+_f)Q$vdgt+7|H2oNttrma=l!<296Q+&u^9(j zJo@9(xol0@@lvlZDTW{Z*=?-*WTSl*&`sW%ZmBw^DDGkN<-*g|DwWGH&mjVm;Ur zIr2~z{zEUXF&3W$s!!E3VWl3D3yb|Iumze5T? xZ66m>;2}O_`p6 ze1V(G2DyPBau<)i?+(w;T)j1L*Pez;7mB%-eE^(m{PejN`s;q8;=AvDiYY>PJSme` zT<&4zR8!$Prm^H1>_`t*zQcM(5BT&Fl7KZSbl1%nFX0*j%&xM@bgzft?ghwhB%DH; z_KS^ i_8PqjqpAe!taF`1;OudFf3iVTg;p8*A9BGxTMfnLGG+z{=biOZs4{iZ zp?EoX@i2HPysy^}&eVsMI^Q6p4!YYlPrg|#*NoSO32fgpdk>O ^rYRHkSZ&{+jA#6Ls9a?v1CL;>S zeyK8jftV jM-E)QN-<1JS0w6~;Svv{B5 zyD223fXTf9EUWb+ushqmYU{eef9ZoF|9SV)m^#>IM+d?j`?YkAMw#>WGZ0NLmiZ=v zu;pX8_c+tNe-&D( z-DV0p9+8WUbU74gFi0&Jc&Qk+fThVrAU5a^6Iy zMyH4WPxeKnZc-8%v+4Wgyne|nF6Yx&O5Ff;-PRrYzNS{s0?}5B67K85pO`|gN`#=m zi27oi_7^Y=g)s<2u$d#ik3DI!2cps%DlT%NnwE%4nM`xUbr=V`_IKB}^^~eMp|V&s z26u2TX=Bx(;j`VqjvDAnm_0S!qJin6evh9K?D_H6`&HX5Z)A;jqhXYwT;dj7)g U{gEUF6l7%op3e|?<+mgOOv3fg*xhb48>j2JR*jJa(l*oq z1YvnGxXxaA<3@n@Q0L2etI7CJ!iU~ZzKO($Sc1)1qxU$cOg93_f*cvE<`TEr8;TeT z!g+m|?dvf93Dy3EVq$_qLW9xRs)aI{pUCXbrCVo)3>Oj zn+7y0gELDpyz26-aZ?Zh_7Z0M;%M=c_qvbqa0X8@ROG?TnB9yQy3=^7y!`s4KSBIi zggN>PPp&lyY#{jNi-&Xm^ZTRdb79-lIU*->A`TYK#QOu|S+DLrg&3C ?Q;5 zvCuHdBF WQ1-D@hH>#^R=Ac^YMo`#NR3OoPu2U#n;u|1R&f XLlr4WzN!MKZ;RpSP)@@fcMTJ8nTpP z`q1Fa5J1R?hx4=kyo^20e)}PtZ(qnV3O;UttV;Z9mK=djlO5N4QAyab)8_;DaE=kD z|6Km}k3F8%MZ-Oa5^PJNq+Hg@Ff}i*$Op_v-uthDm5fCphDVPrUwvKA7h+Ec5N8W) zHv)~zCixvQVUjG@qdKCDfRG384JAmEGZt*;G|nKf1gl qa}YMnjrxlXnxM8nnZ zfR&FZj-Z;3*we<3_V$WcRc#dg?U+ KD96*%gC3X*S#0JALu7V%}Hm(Gz<^q^hi` z6KDPVkG9FI?}B7rj%^>Ox(2#92KH3vm{$8&y`HFW476bx+v4Dpfwrhmol>TODq@l@ zr>O{p2dO`%gfe=DKEuaxYMSB06-xCklN~~^Ul9~&^c-MNxt4C-nSI!O57>$LE_=Mt zYNQv;r)KD;OXtRG1JctW$zVVu!Rm$QI=u7*zX-E`{*h8Pba`xtbhIQ>pl}0+qa&3@ zxK2{Mnd-stA|MpPzEpTGa9H$fAK_IR*Y|Rj3YCZYMqUW&)8qZ}hUD6PTn7j@hJCMN zp>>Gz&ukNetIH1SJ8VAlRkQ`jwx{z&?sU=?4zr~~{OD6yR+=QB@)$%sLEp9gCjlsV zIWdrB4M*XCbUe8tsNdnsF{#)7>hj;S@}SC4bs7X_8+_h_eO`_Yzv~)MHE7T#R|u=O z_=l@bWD|}b > z-zIsoP+qE1zLF~hIq^pA()ImD{A$zp1J`|}8Al4N>n(6H>znlo*F{^t3ku9uLz33H zcB_jB*wfx{Vs!|Ab-2?Nl#o~*kJ{_jmfp}bi<>J;^rd$h#^ djcc@8{5t&W{pVA@0y6j>e9tI_ zsS_JUG{7F$tJe&Tb3EHCgbz7~Gm8Ig;EtMGHfcr4!`R4a@Tay`znuo=BH@>>A+o!J z2s>+?3g~b9@jE$_Nq1mN15k*#=?k>oQ&_ORtfQElc+CE>W82&z7Har@9oc-ITGh?= zcSL$nQz0EM($y%&1P}McOqb)aJ{Wu;$gg42i&Fq`F+Pj6Nx+r6m)7?;QLCk>dAK#f zv^W?y+?7`N2ezF)0h!X9)u0dt-oDu&tg*7^9Cq1YkZ3>Hn8ba|WSYQ;c81dh4o?6@ z$|(2?r>ye=om7pbB(2kgL_PT584>>@4LTMYMA3B2vtGCIHq{xv5Mf^{79rQy#%# zWZr~{flj-5%fty(as1I@0C%*E6^6zqJ<~tTc+VApxm!z^ r>iq-e?UI(gRwn>rhx zW{gIGxB+sn4r%;CBdJT*1x%7<+HTx^8+9F;8b1T#qQ)jXXxgkDiaW;GpSDUnOc@YX z79*Ogfvm4*7{tM}dm6*Ewj91aWn(wDQ1Dkubc8G#N QTkg!P!LSgI&knUw}U#_OT&+L`Zpa_e^CA;U| z?RF%OJSc(fD9^&l9d|{B#NcC+R4R=!RFfacuRPArd-N>y7?7LL;79;DQH|@)kBr;t zF!W`3XMa#Qx+A+_#Y4RLveh8;t@44v0ov??j25DccY-Tclar=6+nks)jCsn1?uk4? z;a-Zb*05b*{wfXh-|1JVEJ?2HtG#$pd3I8e?s0K6pp8558$|I7kA5>bM=I)m2tp+b z0?R)(jBt=rYSpoSC*>JpFYyaeS91QMT(bDd_Mo#zMg6n${LbdDfDcAQB9h%24oiW) z@yOsRPI}#AI*tQgf2o~ZuECnm2s;M8YInzFt5j%&qE|usYn(CC7!FjKuaryR!^_|{ zD(Ezktu1?S?~6ul%&xa9#ZxD$@RtnkFt^LFXzs>{R+GwecxQ0CqmUsRSJ(mCz^9h( z0KX(Q(gjA<%s^n}fSO}&4 eagMywI{u_0c5I7$cQQj5w_sFW?` z2n5cd{D^nKyI5-YbRnAsvw4d*9X<)&jM8-64m@_vS7!FO%`Eg79DO4=G%!2S4A^da z!XR8@q>YHuR}_b#QVwUR>I<%xC?RX$>(B7z4sQ67dq3Pp=8-DI!VwB#Tq%^F`o(Hv zWlK0nUvckQYHP9YOB*bK*Sz !~ksB_0eY| zj9xWp2q>0mfhHswQ8fqv0+Q)&^eu$Wf@4IMMMC>MY)oi`)TYg(oeZOtx`&zRDH^#x z0r<#Z&s }k9fDE9^Jn8~b1u%>WA5bc@j>YeK-0$;4KqCp< z{W}fUX%*g!NGWa@@sJeRohzn(3%Tkvp*o9dgRgH-(nlcmiu|x$cWVj);o1}m2)fBY zKK%KJYyO5BNhan%Hhuw>{87T;eB@^)mU5+_>4#$ubm=pDFbyO)9 e 18ZcacP_?FSqUP!stmPFkpVWtA!NrlCArGpexZBs-ZycZskFi5FBfb5alPs4S0 z8M*^6#j5Kt-rLr%bf(POgiz0mdg+_QD( Mf4B`&Y z!-}`%S&$K>r`Q(D$$gF9#`?TXz+aED$-@@mxfii)ioXMMpX_GTz~ZlK%Jfy%oy#vz z&A9;z3u*8W8W0*JFy!SrLEN0Sbht%EO}?)m }*#hM?f=>w1Vw~R0Bha95rVxMEprrHfj5I=A2 zV+1py1esIUgHd0L@#9BpmxMc~S!OFcV3_0jChN8VGpTx$K1f?r1q`9P38k>U5vP4o zRkKXe6()*}Q?lJn{ywbJ8;5vlkUq2ncN61elb^rNIDk;L%psFRH0(kSQ`%Cc{1Zv= z8+J<+X`#ob)8LvETEr@O6yaysmN7OVpW% l|uEh9-JB=bRJqlqIjK1pPzRf0| r~03M7UXJEFUNf8KAo3`_P0> z&KDN!G=h?_M2R4(y#St>= #HuM;fhD@PT1&uGH2840)@ z3ao*j^GPRpwlZcJ >J3Coz3(+0$ E%yD u4nsg&{#GH~r9Rc-sEP!}KZ@--M9SB)cVcXo=NQI?jFUN2 33eoxz`PG3uf*x!K^qdps8-1rGv_6tee~x$UZ-OgEQGW61LP8?EWK3_57fHQ zz;Eje#AZ|l&FXC}%yel=pjt(uZdKRE^1Oc^8gkoBhl@`6eI>Nr2KqEP|8=y#n^?>o zPKogax^vXKTKk}t(U~_K%X0@IBrHh*FLvs(o8c3n+s}!kcLubGIYK`pbO SV`^LP?D0AxNDYYr0q{MN?*Xo(43)l&{bRe@m zThMQ03^~q~hS_xFI>^u7c|3n%gLU`Ps~v0no^Yz9^T$$Km~dp!*4E5>WfxAAQF3s; zUMy8{;~-Ts!Nn&q{EOzk)RD^BMm^F$Zm(f|qnA^LaS_zlmvY1FW9#BUQhvl(_4UDV zI&$$Dhi@gk^H%BG9Qz`pyzFixx5pKo&}Plfn;&fFb7`P7MI&8tmJ9IvKFs$su?KiC zoZ-#Z#)d$*$gCorG(}kxQa{f(rJkSaia^_vX7}xG7c&lp5i+BREbwX74iap-A0 J@^=>y{XUk>W{+V=iDL@Of1hKV)hSG{RCv5DE(H z;tszIhkOdMDUnzU3~X+`uMz0 ax)qx5gcO@KS`DamB-YZL=<{Ebs zQe{~aTx)1;Gm%AA3H$YfZ7LmETU1w4>nF0LEc)YIb@$ CYv8Lc3&w97ojO~K>}AC7tCMp7 z1Eqe(MWmOkE T~v=GRZ7Q^YMWa7jizdV04;T!O!90R&b`m$E7nRrVYY z=?uPOH0<7f?pd#s88bFc^_qUaz@g ~hJ?JA!a0wX!Hd1?AXHs(kxyD- iR?L6+Zt-xp5Sus@Qs lIt*ro5*ZO8kS z{D=(60`DRKwoJtgsN`de8qTi8lpcgYdpkaBBHUV~#&>b{WDQ?Ysnz%5sx{GPwsNgq zpOqsrM3ck9P8DF`bGJ$de0|PI*oEVDtnf@ss8n$qsKB`ig#r(UT#-_v!BHjq^z VdaLG9trkMs z*;W@D!*TagKby)TO{90{7&K> tC%0n? zzf+J(mQgITRD*QX^z>jGA?yt%p0E(VYDhEx=P&kQkFnsrOo!sy0ABb2UP&y3kSmc( z+V|8ZJtZFsZMU<<#H$^&D9OkGXbXDb)}RH ZgYrT(OsAVVaP9@G}VlXP5H2*qV= zjHh?HP369WzU-xa!a7x!t|(pTHC(vtJFL|mweYPF7@!#%&sm)U)b_XA3S)E2H HUB9*A|{sR!x^WpVpt}QO$HF=#^W4X*{hAs(mTc-Zb??r{~ z+DTXf;r8*u sj=cs!u_BcT(76CHamsvlm4X+;i$(KE2Cj(>X600|N`c zu7N?|H90+KA5c@i7AT9i`)<{~oOZU-36g;y%i_t?A8nx?vALKz*W_fFr_zgd7EdF^ zkMeb|L{*$!)xrC;{W3v)fHUF&BY<6M2@xr-Z-_&2{!m_sP?WR3NNp4=Q~0UENKpDF zcBtmXm)Y3t3`&Ce*P`gaNU~`~r{YRaL;^l85|TXKE^k9F5o*=xB2_r$@7wW9-}g#u&o zi32{A2LZQNks*$4L!RaSQsY 8{9E(*lnvgLS}0o>aF&A z(b!c`4X9~8ZO^8)N63RJm<-_rxYv))-HSARtZdnC@0nlQ5R;=9&$8l|ehgIJxtiQg zIwoL ~AZ!XlRS3WI}ZwxP7EA$Z=Vs;BeRwh re;IgWlXg|L;Hh}WUcpix-^h^s?Nu|R2vIhg9P6RmSShQRIxi?|z%@i) zIhG_H?TcrnPEn$IEZUd#jPvM`Y6rOdM*AVM2-76W8|H2Lmx38O_A@@uXP>u>Uh5sN zle6yBTAL6)za4xNyKn2Zrk*j>GIV~{`-B;ft_WD0S;P>>eR;p9P5$!UKY&vFmB1nE zA=meeUYes}uAKPtk=_gS{D^Z?ixKrqJxNKrL;Mrh@Y}*rJ13??WvTG>$w(^FCNF=x zS0i`O2zw6By6VX<`^#O9(5`!~?FnV2J)ex<@61ff@2O3?6eup#!=FF4ZjnLQ`>fkJ zRzN#=-_ZHkpxrOGJ%@nj+C`{Z!;7vI_P0h%3Kq*ceOCt(JxJft (Ohu9q zFbbJ(ce}G>!geYvEajl}tBy)4w5DEd72-)Zde3^soT~vK#B{$^U>djSza3H@K#)X@ z{&>1pXXxcF#zYAlrR4?Oe<*#Zk7z&U5z$X#%<#kBA;D}A@e@s)xmF9w8FVawm~gh$ zL{Nksg|v^leRm16F3$2rQ)TYjf9I%&?^bcR&&Y1~nJ&)%iRlU7GcYFt2zSGEu3;=P zbn)rVXV>yb$R82jGwV%qcle9h7akn67Aect;OwUdwyUrBqLtJ$<-MOA&u`x~V`3@f zL_D&nGTg?Gr&uQJ&oDskk75d}dDu;>;JabQpk8eAQygj7Q4>EIF&%ceU6>f*uQl6~ zQaL|-q#^KE+%- bkILptbDLD(MXeeDyfxw{nbvuusU(&lit; z6QsS2Io#gO4+Goga;l;$LU9Ym7VCcsgj>Iybr2r{qf`Rl%t7YJH$2^5?CPTqJl-FD z;0kz=)*RLe-lLn*XrNhT6w(o`NyU9sh*0!H9Yh06ZO#bZAJuhwDZ0R>f$@YX%!UpH zEi0_(Ivr8{H#PY%NsNzDq$59^F1y0P2~i+^ISb>tQ&vm2&LH!9t-=kW0iJqc1im2P817EC1 vTYG;VO_Ct;wYp;n`4x878^(X7PzC@?7HRda=W} zUM+EV|AvEJ%L9etRGbs%;+Bd!FKeQk3zWrbXvQ&ih>#{XEJ`~Mm-SrE3YB4Ps#m`k zD}2i2;rF%?8leG;4qRH;?Yb2kHKEMNWK+!-^mMN?7frR}Jifqs{)nOMHMPI3B|SoV zet~bsoU~}r!5ElWid1t*SUTd4a~{cYmpxBnqCG_!Ce9$$Ro)~7H59jMNQYgmv2{G# zQ&@~O(Et-zG`3REFn=H#7wmEbI#pBP1_nb>Se*;wMO2_(cs(;@zPwe;bhn=xRH1Bl z@6cYJBM@lL*Zxv_0MaYgXgqFpU(ATK#QOf~oc)09)^g{=0t9Zn0g-^d=ix`=lJ7 Kgb}1;4h?_LkovLVlv`ne5HJ6{cS0cYQ;rDK_PA|lN%Xj zJe$9#ZrZRG6L*Am2n@rXwd54Zlb3#v8zHvE2O%I~*XlV*c<*czm=;HiiKe=6fR3)# zZ-78oA+$9e*HvVvxR-CBsOb7FQNJWS)fn}{RUZ?UB~1k88mj4izI1UTYyqe0AbU@F ze$1P?PT=TRg(Zcow!Y t~K>gxzqc1$*%4Q~{;yn-WK&i%{5B0Xg Yd99h4b6zyThv7F5uzZY1gv=6&0*8>NhZ|LljcmapG0yxanBN zVvFN0IJXi7j|;USMiT%0glYz)ilV+f>x?QFwdd^A<@5Z6K`HxAd>xwV;Df*|z!EAa zw0y?GOMED#>=}$inY ;t{hA29}I3$Ob?o*%f#11*D6M zudJ-ZOh19KB2m%NO%);O2%|pFkJyJOs0Cx@Wh;Bh*3)FffDADre%VZ1KwXqSdR g5n_&6!{#;d1&|H7mY8Tu8zuI}?e z!vS@16!rvLqf)Rye|_pnRsgZe@!hBp0iz}pzH-c~fz{sW#tQ3nmG6Gy(76ZgSp9sj zDg1JE>pTg_BCQS9VzcqSODa$Ec?PLgMSBY7%rZapU!aS<^F6uw)&a&;Rs$*cLxYR2 z``N92gyTEwcpMrM ?_X E?ZlZk9Eaf!EF$=?e_sry!)x2Dh8n6z797qTPnGo7Rz7WE~%ULzRlPzngZu5 z5vC0wAAhQ#R;}TA#{bfZlBTjZlZa-wZ(qxoyfL)Lyapc_Ux`d|EB?0<6=ydj5GMS( zJSZyI%gO=OqfKZXudymY^E}iBO~u)SU@WoVrbepNcU+7f?o{`r7MpE!HFNo7Pe!cS zpa~lFkBm8Kl{fM4ub(f@u4AczsqbJcg9 ;yl-ve)YOLSA8WiQ_+pc`NWqJMyY zQm$LFskWWf5M9n_?waN8PJY=zip|&>(g$!T;R!Lm)j2z T^}rC`2WaZ_eGv j2GDwuw6%SzYTN Vx&MYOML?TaTuO!yEq{i)oci zArL7h-wp}d!nghH$V^g3v8)#7TPXPDZ7x?pl~INtUWK9Ca7Ft3&gczfyt)}w4cDlq zi-5Niqcc{p2T}Do)WvG!TNG)7jf))n-cUum5xqmS{>VYsqo*-y=LKQf`AV&7OH_NQ z6s~*aEC=ORs1Z*?Ig>-?1G_p|tj8WBdop-}P>)dN1Nrs26Z^N`VH&cSzD&}&xo2-K zkC&_#>haBhH;zXWHb&Uhp!h7*>9#$567Ozl$B@qK?;qTU!aR2psuF5jQSmhPXPX52 z0U(W=?}zz558v?@#9euGhO~W=O-c^gt@;v|`BuH2D`irqKYvVi)i+46Wefv_oNVOE zThvM7)O~%s_Gocce>$GQ=YQa7ft%INXZB &u@A-x`;GlX1$PFr(CMA~iKXnDw>WJ3ibWIfcRLF{KU`RNK?GsGup)~2 zHd!Qtdvu9x@T7e!MDNXMo&2&}8jJ^-Kz-P?Cbs2ExnJ2+{m3vaDneult5mKQt17qa zt(p#ARcsDKtLi#5)CL!urWa?aHySbE9Zs}(NVG`$jHkNao3NREzqCx|pZ(TCxeP=` zq_dbm*5u6RtkjI+0`4u- ^yO=8d4 Y}z36&Z`4FM7BrHSjQ!dDemhWK5l=XXAVYfrqM zdSJg0Z%+WJy@0pS;vUUeCq!Myd9P^|9tC+udD`L69wI^3zi)@QJhQ*T%Jhkm_>=cw z$apMCh;9AnNWRGeB$h2hz4FQ^W!PRZpX*uifE>d%*!9J%Dg)TEIhTTn)nsU7{QKo- zLc@d-oJzyMMccC!>1?8EXUEl{+h+Uck?fDjEDR0WSP(upwT3s(hk+>eVWTN$?eSiO zc>C1*&9G3>3tWq$a^#%<_XTPnTD2NIbW&u7byS9JaHW2_W-)RSM EZNm8T#{)R?rA>!%TZUzrInrN_ zu~ND&)Js=7I%vK_Ucs$_G?* R-++nvn$hFJ*>v>3wIzS&e{IHI=DL+S+sK&)?J| z<9Q=?(ac>d?kj34`QADFvP^TIx=6te83NX%LqmO4^SCctMO{IGOgqo+CeQcgl5?3q zLR~!gh93q>aZVFiE3P_x?Xt}v`lGv43LgdxEsDW{WA(Mf1d?SAz3?cF3C4yYcyk|f zo0@N=p>Q3mnK|obWj{X*>Jv*C7H#3kioQXmXu2tLcF;pS=t hjfFPbf-(;IS# z`o{IM8#qNx`3qSztVv+Xx*~)D@FChKo2&M^t07#U5cz@oGJQMTM6Z$_gve}*TxTfR zM&)#R0SzU?QK=rW&pK8;S2kb193CKu_Z3$aZT(YXqG0RT>Ro0iSG&QabWl_upE)?k zxw*8&Ksvxc5^d&mbdQ!P96Q3d%%|r044hPFAHaQy%!#TBumop^&N|7M=NY(Kuc$Zs znc1?N9eFSwgG+8ldQO~;|I7{Yb=afnkkw?ol>YL%suRBI;Q_&~-)5=R@HT9AQP+9t zh38gG>}IUXE8KC?h)_ &s;*<%HeP8o>-PO}qj0pxd63V|D3D}28jqG-* zemaBH;x#h_G?q>0@^0WBfz!kY)!zHMx;WK&-hLO_1Ovy~D_hM2`^M8bQP}vnT U`QC<1?Q^>0m-U#z_{Gn9|8Eg9Ks$b_&l$K&K0+{wPO)#==5&CZ qgA-((S?`vPaJtqn-v#U# z3Z&*d?FhSc-X5(UFRMY}w!wTf%51fm_g$K;$23SysE~_Y&_SXl93$=P;kWc3bgKYo z3p?nvNL@pQWg@~$EccoN3xuI`E9dw;Xn^Y#WZ&g04K5E3ZGCub``?ixp{NjEop9n= zVkP#p zzI#Wm(xP0%=e#lTGaA<< $s%Az)Y+kAE0 z5UakN0`KB{!R1pfgt?TeXYcA(VO~k4J0duY=3t{EqOIL;C7TQS^w;$mmWODr q;-)5j;xtvA^hf>?0$;95-TjSx;a*2L7U8Qc)E)vQV61Oi`(FWk4p zIoG1v&!t;(Bc-_3DyNZ6yGTq9x|i^}$R3*&Oy>Lw+vM`=PezL`7e-V&w;f3H&JHz( z{ixoXVvz;N2}pQWh3nL+;UGc?1|wVHhDPFM?| zWZ1t5bxbT}LtQ3n>9G-c2A5Rm^5pC{*JWDn )5|ew6*X z^wrxK{s*9!pop2nFJD4a^nd`u; MnpOSm}{OO@vkms-f zH2#z4*pVrh2?+^clX?jaO~CK|Dx3-Y{`<^HS66ppm#Z(E37%**ox?gTvkR>lnK#EA z4I3HyO`8kp1Agw5`dPmi<`dB|-=5u#p5vrE w`z6iFN5QB$x18Y4GwD-s4r|Dm z50S|;gH|)D7Q1J!20)Vq7rvW@m>9A_NC`yCqunpl;(5!WC*Ixh5!vN4#R)|jum1}h zh7%&IjXHfx?ty#bWx#t_KPbQMFH%;v$tzqtBM-o*l{NiEGbY(PYheY4sXesExUDWp z*n!CB7Fq2^$lyCJ9|nV)7^kMxz2)aoa5=ovOUJ5+z9Pc*RfGhK>AB3TQ+BF*Bz@Cs zINj=12I$UP`PsA&B}fLkc4TUwSVqA$#MJ3klMPQ+L&G}|WLM|AVl=V}SvVGZsOG1K zVZyQNl+cD2q%%*2b@G(#^uDoiOH~g~O?4F;kll_lh95 +uvs9=uWqgaL8VyH_X!i5GnL%eS_ zS`>%Xh5eAdLb1yY8ixgpaCbMJxL1R$)|+FLk1g&F*FTk})M(Ot*?&BA41b=x^=-_# zibh2G+qp7qSiw40HTZK7#H3}s;;kRKwc1(O6ARNDj=L~DsiC3fYIG?gHV?PKiN_L@ zzAQ;`sKr^->(LP+$4f^qAPDdQ+yc-cR$@gi0JZ?*U_47PA-Mbq>&DZs9pS6fJ>`xv zT7BeaRYY0bo5(5zT8wI%RufS-qIj^L;}mj474}Bcun+IfIvm9&^1&4xh)(d#x6l~J zLfy*AAQGeW+!sE#Lbhe_Fq|W;W?IhM(0h&=oI188 aeUX? uJYQW@SlaJ0*Fvu)Wp3aQIp^V2c8#VLeXM3^l;d7$?UIBiIHDJ5Vvv; z_=~c9PVaL(bP5VD2sQgs4c!(J_zf0PyxYAft>7$$H0NF63z(R_6ul1TOOk9r@K%dX zKw86`P1aossfurF_N>_@)J(&J18{$;(6;N5!?r^t2p)EAH@*BV)QQ{E!>uw%Wt4HP zMEfTIP8{ICsDYm;B7Ih(U$xTafs2s-)y>Cqv*?4#(sU($R`n8@6}TGJ=O)1?d8$L^ zxm1o~c_HbmJnk+MTCVXXr7HPD?EC16J)`{}ONj^zF;p81kP*G|HRIhsbDEVjyFbe0 z2RjFEfl&}d*)4Z*pv0! RLVQLz&>tdv=A k9GI_8bL&`v|xhSx~ zU@u`Bt>#j}dAck&xVkz${Wf}a4ow2)JLZf}7+f8VOT0{LEB$5UQs{OAZ OD#5V(q>9uT%3`tq-+ZYX~@qijmvP5>~*tpOGB|W!6++g9(z0P znN{F#5XAb6bxcBttr_&lhMOoF)UuCh)JYsJi7p4-&P!@G nxan|>*kE3Det8}JpQc=ESDby3!a`!0JxN9*&zvR>2nP8!h-^RfkTf75vZOg z$- pGtJfXh61-|bU=zQ%4o ziRlHiEQS 3k@g;6x~S#QRYnb}1i8C?D_S7DY!bW!CMzpm%3O >JL+D~(0dt?8vO6vy%JU?b&oW!sF`?kd6Cfl9pyy^A zs`5y%j4)?_K;@%a+SUVjEIA)cZ6NTawuhf`&9%0NdaMDYu+Togki>Y!MVI3Tu81be z7Gs+e-u~fK#jcAHqqq#0&QrY?H}CTJ3qO%vy@xtZ5wcRp?^^x%bZ3c-Rm47m=W6y6 zE(YS)A#_hRQ6p!+ NRL>qQD&`S zT{<;ORH&%h;1N`Kst4@ul Me?I1 zzQT4 64OqI*Gb??4= Z?K#vdBZ2NqN=2X_?ih~^1C7@o(BaaI+LKE((nP1 zFV~sR{bAs7qGkk}j+-gNMi{Q+JDztcr;BwPjcuk*HeWspeDk8n+PuE)ygT9_TwV}v zH|@)^_9-s2xS#7=8xOK|sS4vK{b*oOQnlLZ#xM8dU|P_gmsJe|`B9UzVy)gDiSBd? zbKZ2^|5Lc|s33EeU;)$Zw(6-4XB!aS0n}Rz98T#m`)JOh*KX{^#MRf<|RW9pq;6 z%-&on53&uT1T9w#)n4j!eNnnp(SF4-L; v3&vtOJg zlN{d|2LV@*31NI$PrB<%CIrPTNrY6(GdMRp$9HiPaN2cWR)8n3a((M*D9a-; j* PlS>v(S9FqTS`V@pn0jd)lg{l;+EMdQo>rc-NXhSi>)i{h8=ft66m z1nw0UrY^^M5sb;heafcnM^g@D@;Ju)SqmVSc8T55dH(bH-Y~YVGd}y}hz?hjEEJiZ z36!wRsuHbB*rJg)tFFM3*q=0!O=Q6eReq!}+j+6mH#?)>HEN-lWP4_S>r6lv;|=x6 z)NAt1ap?8s&8g2rX6pyRe(w*@!1WODm=?u-zaA{QjG8fnsd7e_h;C|)l>yF1iMbdy z+3-iCvVdPLLnlwq))dr@==%e}9CC>74vQR(#jYqT^l4d8W5@smT3t{b7O_xdU^@Qf z;2#H35C9cGkh`wPCA8cscH;u@i(U>^o=w<3>@Zo@;ICXQ|Hal8Y2R9R23@bQOt1hl z0aJ{iVn=7Z@SlCvCJO<*^eh`rNT&(|8s7T70g|MdFu#oui%&tr#6bA-X+LGx0662Z zG7sMCYASX VCaNXm2Nz{?m;>z-^I0hRmty zG4Bp>AWFSc956-zK$U%TF>(9rMSp7x@sj2+x*N;Qs<6- z)GzvK8*<9Z4HP=*?C<|z=|37o9 +3Ox#gUej-nf79Fy)8Ed4qS zYZ{+PTQn9Gup|5FG5ki*sp$L1Z3zBnn)^gT>iqZ#+`q}VAQA#=bZT8ViddtOC%N&~ zk?3z!5AykC0#jAza!Y$7l4|8p0Rr7bXY_sjcfVVC3^9~3eo3h*EPpULB>JE-l+v8z z<&fi7@ZZM?LKoh<)ZaD5n{bu}Ix=+_WPj7s-$$IIjqY2J*<*J0x)n2xhaqrnS5bL( ziGdN0QuHt8`kUTclXYLGF2Tl({uFPwC&1~PcfZxW`t3~{S%=}pdA{iH#Qe`lCQP7U zyLF~>3W-w^CKV8ag*D&YYhUG*ltl`!lOzA;x_)-E1$YhlbqhOW2du;Of>1wHY<=bv zSV?|z3>6mIGqAbR>`d2o*nj{^_#oWxCNF1<_pjvp0yKnjCM#O_HH5R`vKp|tO6NH( z{IG((*Z4_g5Eh`^VIF3EIA0b0KHBaKz#g;t*r5mrd}4_olFyqK^y1h%EraN%8g3Cl zis~v%vjYb=CgwG(d5RbdL!Z+*6?Q*qoU96DfIZG1+A5R|CzSv3)b(wA(yr2XyfbK9 z$7p?gJ;onm(a>;fYdeMb0N 5* zRj$yr8NWHAoJfF^s8 )KyWgDZ>IJS@ii`n@r{k=D2xbdAfPt00p?kiBPM_E9$mVKI{CU z?j)!=Aa?-O$WMm*IiYpGbsbglX%*Y#`kyRu$bI{Gy=ttkpALIw+jBJCL35Yj3LwZ} z_x{Tjf*a~@A<&x#D9hRNJ(0ke#%EI`**B8EU%~wzqHTCWnV+(Xk5UFaDPTdlA{U$H zGuBC`IRC+xe>7ghQDI>c9QNZC{ozPP#B%b&XRRnE34YqeAUl-nD@FD3hVZf5zj=^9 z INRX5hf&GMhm~ViZ=5bslSQkkI`6D=9Dhzb{wx(!~F6penx0QG2ePRtRfz>=(3K2 zfA$?G>x*(wKx!QP$Bln$=vhFe^_f`Qo8kRFo-K698cW8Pms+hm8MI(^#=`I&ziUhr zG6oWb?+Q)-A-g}6?SBn);+(x&o{m`z;Xa<<9}uGfwep_7!E=%KXV(S35Kx~s!#CXF zCu*gB5&Y93{CO~;K`P598Xxj`M=pcX_sS+-{q~<<28j^LB{+dSgAPm&_$$ix_;vXg z?!29!Gv53X!XGN~(*noPtIN`mhFbfw>i}H#zxOXe3yHJd(OpPH|6$q!0P}NNfkc;p zglw+JSN+x=_0CJtQK=f5vp1j+g0qe6FI4?Wp&uK%+$;8{uLq)TlJcDg_3Gs+eMK6t z+#8F};q9sZ9LLW){EkSfrF6#`K<4!SMkClQVfp!*oWsz0ckNuMTfBh+M%HMPu2)nZ zZlTerD@*MfG!)1Maq^=4z1x4K>(@y$LI9CJNF{u=tQju}`F2jITS1v{K?lQkj=)<; zA$q+6ITPQ4$CECn{Nm3+{kr)-&-gh@3k8k4#V*wdt*T&@lp&aPIZMq$rH!5rj2*OH zI 7{wkb5+TB&K-N)^g;_PdsRx96vpIiBq@Hh@_f`P#@`^$-G zty{f-e`nl3+{(|NLda-TLyC9KH9W`A;!dLSg=5Ia9jdAD#{9uCc4dFl_rEx}e>ty5 zv|dfiFXeKYdUD~WjHy|wNq4iSY*JWcqt{3F|4$ABy06n$(9D~eDSB9lDhn*Hu1i@_ zi>v_egBI7fc4PnY;Qt_t81Ov<-pI-5?u9pI8PBJ#WURy8e~D`TVT*tLDU?$$(NH=u zom)biRErGz@&n!f|I@)&jsldpN?hb#_(1@G6^4-7vu>vU!v8;n`i}-!#zNA;&6QZq zRtEW(x|rVs|J@<}mEb?x4(Sk|e|Q#KIC8TgK=u68*g+g90iW(FA9Fw7j{pM5w2zDr z!vX) ;_pG)PZsDwLCJaung1|jXoIuLg#(|WrdU6} z>$v%@e+@&kM{P2C@?XAgNgCp=b+u^eSS5IMX=iK!@=wjE&+=V1mFE+P?24}^Al8iY z-G}SuTs^*WYlpncPk+*w6#5T)_Jakie>tfJ$reXG9ir_q{SgikT>_wBpHD7s(PSwv z4ebFxXLJl-LwCh^?CgDll+B;3gnvDR;9 O#kNQGW!-F_r))TcDQ@Q1nYfs$(bF#275onFnuMP6qOSaeD*s8dbnv zrTqP`*?NNKXWWa=*+>G3fo5j*gQKM-wKcR7R_14<@^6O(D`fI?QuaW_+_ZFN@9%O2 zySD0mg2Nvw 9L6{uLv(2>o15YZ;H#c%j>QcwQoX z1?)m!I{`j@QuV*=1$_(B^_+C$&p`b9YW*+K*2vo&qO}vJdT+E5K8#%QKO|g4BBZ{m zlpN3>Ba{a~&Fv_f%hWq2>nvPWc)kJ98~rzl5?Fp4B$UpA(kiz9i;e#0Yru5!*uFp? zl!Tg?$t@pX$M+H3+Fg#nR|WK2o1IaxxNBXg{Y6{ 3S_z; zl)uO=LnNGRZ 9LPFp^Jws59o;33C$Qtq{{Wn112qpbW_nGbn=V5)ivo99 zDWM?&eogX<(U2jcEpH(htMqGkP@tw~wj#actyI{7_od=^Z+dSZZ32s;)rO@1%Nq#m z?Z**r=J~$iH9)%&4LV5v*77`IG0vr&rkMoaqB#x=P0%-r z;vf44bRTrz$hwEUx)10*xPo?!L3LKEP)VhB_*^=^8}OPq+(<+t8m~UFcwf3eLUG^~ z(QN*OdYwt3BM&!w(gHuf(GVJ|C_XHt$7zR)gja^x2x3*z4?MF217mO=_RGeC>+B!M zq_v~3Iu`1}%`A>6(4 |JpuZv&T z7jZ 43Oo)8UYsdan^ViHvsA|%^ac}VC^OPmz zy+?i4F6U=lIm@RHEa@S=gi&~So-kmH%#2>Ljh4E#9Y45vY=1wP;$I2Up7BK?Pb05w z@D2w`HLRI5Sd}8<@iDzP1%GJ*oG-)4#s>Ht;ZNggZG8-`>ut@Ejyf;TW;7V{c)g}u zwnI{5_w7?(I5t8bK6lIlFYo|BXj3}<*50K>D;Uo~f;Iog6DhWYBD0kw?}wnC#i?R@ zeL?&5ARq0|cP?vQE_a2H`xO)zXx77e6kNlkjW{{My@;LROgF8EmEqRb;gYNlwt;FX zS~A*B$gu>gCPB4Pr&@R>%>z`R;FVOq$hQ#Vr1CGCY+Yv;3cp>lW|4Mc7UFD}TQ1?N ztk`6;u^W(#8%sSz10Doio*%FCvqQQTWHPwWL^oJB)cU0n!*X%cH&RTkKC%6WZxiD3 zE0n@|>pOnMb@u%w)QE8ed3-Gotl|67r0f&?xx=nI=?nK+UtQI~+#&>&QxhMXN5BSm z?Zu1` uJ5)+MJc z&dW3C@qc-j;qN&4cxA=Ww5+YFN=fEevKjOBdciO{E)G4nGhY@6WM{FbdFSN06ae$e zeGvuy1q`xuQs$Qf%C7QzUyLyZs^d;@+8EM>pn1v4t0~9*bu@kyuCf9Hq1m);!Lii+ zKFwFh8)x_F0d#tsQ1%yTb{b!1WtfFSUdnxt;hK&}0aO5l3O3?Hkm$=YB!Vj{<9~R( zz&CNehxqLMAuqcXjjmO6mm(UPF^F%)aD!ubeHk}3c{Z6&-Crt1bs++~7QbM5x_xU} zai!|}L15Qw63aA|)TDk=;x5d{R1(5$oQFol8u2Xm_8M A9h$nLY{B+%g@qthNrfTyd-L_Mh zdd7*kzE`=Uyd2TGLx)k)o-1=~ER#1mIeA!iB*wSM`ysOq?^aaVG6`wTXX?z6lHS8M zX=Y5`eS*Bn8HexFw4A1Hi~ahbJ^!`f#v^XOX gn0?pW~J&j5Y)_gCkN z5>8UPu;qIOymu5xA3ydlK8obOS`@jnZ)*HV+G=!wT2WMx>N`I>USI=X!MVA)<5h-U zZtQHBpa|dIv!hMve)6!M$=r%`2*iqr?a}aLiN`k^l$(1tVb~++%F5-skb9lXmY%}? z?6|sAkBEra#`1VvKQDT(lPfJk%)%f$zCcG8v!T}k1%un$+wD6 =l^s`;=$E8?T(kJztp%KC68swab1W9ZFLxgptl(H)nq5Liziie zNroDhOO2rO{TBGI@$$bfU|yHQrQ(WkZF55yarQ+cLREff2v3+uMY^lxhk>7nbC-dN zhuWPW84rRe;wcWqm(F*yRvK)TnPtD~fqd^U(H8Vdk(UIuA!967UzdZ^J zS}{p|p!I3JXW7Yfy&qm=D18tV;L5}-&@I7LRX9=FnqRsFDc%(dQ;friB(VB~`7#ZT zZws*AgUj9Fgt)_Pv1c$?_+vm5d+57V7!JX% 1_;4*5b8GJ-RSaN{Uzi+C81 zMnV_A(FT{Ec)F2QuB8E+`%Dzk0~rU;)Kg`9@h}_**JP3jTom)29*;KOk|2*BW14YC z6k-8L?Ta@#bN@~`o0=AQYlzX+T*tr(Bk$&M-qz#H?x^y(?nb8|70t3{qZ>zq5C@r} z7)q)cYm>d&9?wc9v7oo9;pOZmPR0xlpRgB|^ukX+9X^-Wj!E#4_lIs;62t7}>iXAn z^-TdBErxaHXRv+yr^%9{m{g~$x^uyG*lN^MUAjgkv`-Vk@%dKhl;nf+Z>}rs{R~vX zx!?F)BAY*l8FZbbdvoLE<#GHl*Zf|uLmxejCwDdEq1z8c4YKJnKcH<~Kl&xdMV^wX z%PRF+6 CWck5PrRebyetUv Ubyl{7TDCanP2@ws48FI(fI7>c9Q-~8Y%9x@D>muAf z&)~S6LQ0+o<<0JwKA-u)s`IbYcY?+ehA9-)Pai*9o`11uDvG{E!L?iUJlWG(VM#{5 zc0fx*)WO$1XL!2*anT)2;xiX>%f0&PEshjbEb)z8c*=y#)|cOoEOnDr in-fSrU~u^Mtm1s ztSk=$C(+rduC!k2d=)m?wH$=k*h^=F6LKW3=yqkgO#cdv=WI`*V MTn`c;) zixDoI#(ni!#!-ODt}7Egt@xJ$qA@oiLlhcXVI&H+=n^-u@Va9AAxNcq?PmBEGy;WQ zDS_HAe;Sw~D#04;e8v`yDSdYgU;~wfyX7(YgSF4G6{FAbq>P#HW!$+HHqiMs6!VB) zDK+ih{?%RJuEm<+<*bZD!ZYaVu|Bb~-4^m1BlwUMpSw^LF%dNfzcPB(ay5sON%o66 z8Kl{6GsUB!@3p!fdQz|Cer2BJ3w^#@!y5P7KjDKxS@{o_$a(_42lDB^63GMeXOl 3lx2znd7Wurz}Ddr4cpEg61WIhe`OtA0sV;2d)iJyEr zWLa VMA0s6b~)Ci07LEZb2HWgJO7YGX +U{dOhs9S zHi49Ds`hQ4Eg%I2rYZWaJQAa@ExQ+kIMEu m+Mmj}zlW?>F?mdF^NNP5jLX1F)xaivNoux5x12)rpu%ZzM-#+{5Fp z8)a=($s0}8KHUbX$bp!(h;uKx76(&b_GOFv;*hS5{@q*^*h~`T#u?zy8fp}ABkUD6 z26%PWTHBx|UR+ PQ53;Ix( h{Gc38_1)7dBGY`bOt^{;C51L4uzT8S~!Ob3JUUTRm){nrKZIHlCUxVU)M9 zqfVd9wc;Zg>e3a<+fO_Qh`2XYJ5g4j`1%ZPx)TX-+@GRSjINnKx-<@~?##7KQWema zewLK%$yV&hoz#0>(NTIwxU)@09;chslEGfoL*hO4=>)Gw&wGhSIf`35UYu!_-yZrE z{Ux4vuRwJ5l*c82)9aVZHupD+eXbo7YF@I{R#iXbdNYLWe5of3Aejjhp2d5`3n7|4 z;?{`b)LbQ?uUo9|#;9WY{ivWPpd>aA?fTNeg*;&`fn+O=-6~hsIa-lMuxZ%P5Ggw1 z8OgugM!wvj@pOoVJ+xKe!xcIjd-D#O>~TNZhv#o!o%)$x8iY@-&DvbEeQtZ!AoKb^ zZWyw?!*d_5_9%dtQj=2jCfFYW)(;IlmDe9p2L9$L5k?Sa-zQuR0x1ayqbqmf6NiVr z `_;I_uEv2&SqP;CVFC S)h eR~JWM zVu?BxR!>Hfb@bJdsxFV<(|1&?Y|Zh2iCBJ6aVQOSSsuMn$KB~F*{HN4T8y3Ad^kME zvZ2>aPvBDt?X6H?C#BzhdC!Z}*?=lXG9gt &MsLAzTGL-C zImxUX$LycQ{zOS5<>lx=mu)^x8vAb{9b9id{AR^6);RpUojFDf|30@wP7ClwAU1yO z>!ZuLe@$$UW~Ay2(WoiFI3)gK^o9HN`Y#>lja}26k~2Q uA&=rgg1 zq~}1xQ9t#0 qlqhyCX|=04?yj$R(qnCI%m``h9 DE$s;K+A8?iuMrV=r#7{>n}Ma!;Y`co530e9;gXZz?Xv#6kjYi zZ!H3@1gf@hTj{+to-(Pe&LFIWw3flHY(e9JSp1rna{5T$`xhbVco-CdoySG_qjxXd z)3Ffr>Fk{Z*6Vd5c1!`N B!-4Wyvh*=G=$u?c=OE9`z*7`84Uu5MOh z98owWxXo^^48sEa(_=!N*n<|n+t=5JB6#51n!uDXlMqKp#=4U84Iz? ?s}R7%hX+I z?s3MqHtP`#OG7YgDX6@8kI!jm(88#y8H1;QhuRZIHZ+}y=jQyNWAj&PBJ0~IU;VFI z^#Y&l?;B>{YCDP#wC_IWfG7o^_Z4dCDdo`9>5wx?$Fq6kjjT4LJJz!M%dof&3@vau zE%T8=uC)R&R?unvemHT^o;z-5ArFeTq9tT&ZAj2mWQT-QQlfvn)CT&}6^-Y2o#!Mg zb}z3W(D3ROwN{5YKf}euR3OQpVkw~Y5jRlK=?`eYQM0j>LN3bGg=@|<#lYnSk!V{3 zGMdi&cQPg-H1zT18Ts*9w76r_z6z#|Dt%i6zn{YX?$)4_DN(SlC${i zD;Wbv$o2Q@xQwaGXesTcBL*P`Crc^-Pj6X!s`DrAf!FP>r}&QVo6x4377L1$tYW14 z_EM{XKjNM{TpqF&E&0X_sZ99qGt;}*-#2z1KN(U&Y%tiNTI!B*-Fb)fAjiy*fw znluDRR~vWJGPm0hSM00r59sS#yEJl >NSbyCBfKhUUgw z3|q;&sfPOsbw6KZYb_0pyVG0mCOmD@G$>galn0a4=(YrnW psAGj6`i-UOGGcxXWJP)^7oLUx3lU_DYQnn3*(|%z_%0+o>AvW4T z-9~S{*1S0+qh79Tobk_}pXZ1*N>y#_+p4lcar?9GmMoSxuN}`< Mo{gOOTg4>{ z$+UF2&x}iDsKrze6q(+S=_$iKJ{?B-(TB*{P4|u)-e*yK>(KkzCGE4M;X L zk$bvc+%4n=K|kZ=c0Nip(|KIY!$V!zNr-@GTO9DDLmZ@{9v1+RKD<&N7gx~xGtO=b z0P^kt@Gsivw9*P9)aB6>dgEd+6a`#y+`)?^%e =p}|SuT*&5#j9jskqFA0 zux9`{bltE^vZ+Ms0=Mr+NU*7^@7A95{kBJIvVFadnWkV&-(9Wkam)ufq_x*v=Qt6! zur`UYT*`L*hi7D|H|_hCWmE>*GP|b0!_yajoDP7WOhnxUz9-PcWv3IUKLkm%&oV1F zmX}lrD~u&SIGve^G5P%;*}wncGIFxPZT4gS($;45ZrWwSi_eza>O@xJCXoV|h22k+ zVPbub5}@IBOcgFj6J(8O1HUu!n^GbSgZJ^|wOM$X@HwsTIOr~zMH&!SLoZfGgm}c1 zsjhX&+&yj!WFlXSkDdsvg8Zhhx2>{!Dhc)s_nmyAj)cP^!;^)q;U6mbqXIrR0>P5i zRY8C`*wadQ0UhJfV3)Ze_3blDX<1oNkLTBpu5>tNZ)%)lKqaoMtSP{<+KIw3hS9tC zdPnRlrJz}NXF`kW=;K3nr-;w2xxMexaofO={$V}JtKEt`;8H-M%NTg0VNdKgvm=8( z)H1JON9y|6cdvcBR!+G;@=;we?ip7mKoiS86_j4ew=3X1J1hPfz~L+=u2I)gh#BIs zZl$I)Iyhh6LMeo`VupyAY#aw`8!5JhwIyf~l|l!yABk8oqKPXbV-{#*e>KR5uWL4j zWl$4h_D+Yy>5^fhFb|IBn3LNcGqa?Tg~Wxcz7yk2q54@YzoRx7sbwCOFg$l03x{vV zot3em*5-ECekboOuXa6P^VxA9t}U$n^6s@oB&Ilfe~5C)twY$n>)1=bag!mo?-DeB zs#CWmWK&bwaYeWrE@F}NsrgqXz5Pwb>`dQklJroEH&og?bZ?F?EY*zchMMT(RAh=y z9;IW5!{WykB@rWKj2pm>F&V88#%C#lQb|a!h|lR_kyK{e-724}sYP|1@CsPYGq4hJ z;IKPnAl0bXDvi^PJ5GKn9GJU}UfQhsx=C^I*lj`2*w|QKKa2llwG}(q)x>DvE}h}^Ce7OZc%d3W`d;TCvvK{m$dQ)v z$u(E&osf*8>8^UhdV!oq0;lg=6lc3X{Q(OGC|4m H`V{=g4!PAj|U3eB5y `K)7rI_}0cUefg8q=J19 z1-^QN+hL;~Xm9)FG+!f|p1)Pkc;?J& zu%m-!SklWX_w?l7sz03TrswBzMGBk|HEYEW>vju=8iAXuF478p3ZXi~XXyM%{X*-d z+O?e}1cy0WYGnltOHO|g8_>sGp=V_41^6P7v$+rHA~Te}y;lnu8g%BV7`h_VhO( i_WgW_I^=zM$XSo=PJL+~Wc%SP$aVfwr z{@BXC>o1qP-C&7}<38HEAdmqJXRHoxD=5Z-(Pl~%3HlCr*Zy#&6*kCv7j2(*CoG d#~`(Y7vB<>rp1jG!W48b itISgm6Q8I6D$(9pnFV<_3BjeDeT+PWNlHgs*VnsjykBK0@v2-HXLm4 z*{C-p^0px?dMbGu1`cXxzIS@_?Id1HzU9=Opvd`P~0CYW#%H+ z=Wd6TT1%`v=A`5iP#;OQ{Cwxidibr`1zqt7@ n3Rm`2%|92b~+e=0uP5Gt;Jahn@^JQRK=|kyh4tq zKO-Mk7+Y<`0SZaatRrVl?wS^M=VxISG;oROXn1Gs(PDCXLB-1P?zVj0XZ_<7NkPfd zJ7+GbRrbC)RV-Fvqu=Zm`vQMLw0Ujr+B&Kncj-av>w=) JENRVB>3dD|hWB{K$5TJL1&y|*`8c{};sIKL8w1 b;<;bhu9xK5nmK3^$x>IL5|S6m(#bW5X-ISq z&xFX0H>s#&Qz}|P7~i6yl2|4f+u-F<8uJwDNPX9FskPVdRlmooU$$9xQ(wF3-DyL{ z>~J2b=S>Hod5VFn2%%&1Z41vWD=%Aq+0b)8$|RT5=os~&^+Vj&8E#{2(t52(bcd%1 zAsn}~ro|5h<=dtqNnT}P){stgEy2Ec)is~xqVE!>dMmMkneP1k8^nzg(G9FtOaTiW zM*ZruA^H?vQZu*#TRE*VNwYDj#Wup2hXM^;)V~s4BJVO8^nUz0I05mk V$npQde7kNj?EDi;X4vrN39IDv1~m?~PvV9dc-H5E?%ubG?i;zl1WOEZf=8 z1oXOdz*X*#)_B_5?vE8%VEO1dPno6&wO1?Uw>sOpdV|VrD@jzuvm|mlcK6774=s!0 zVlZ_ZjQ+ocxBoex!>&Ilz8O21_ v7IkQTgR4KMO-rb*Z(aFp+FtT_D6uk~&vxD9>~6> z@JXsK#^F%=*jiQOp|aT{Uds7}Y?JUeeu6))cKC`h?DMHJrcq~ZV1~x47vp5%Pem3* z;9J;~#wnAGD|%yVSMVN#xvGo~?C+jeU9j~K5LXZ4*s~h%^luO(TF3RS3wln2hbW$M z$h; v{E589p94amCIXcuC(U88}}Q(9C#557o%NR9zrLKXB9KgzckIIKGm8 zb$z}G>Y$Mj{CvoSaJf$5Ytl>oZsc|ErDHv&!$FG4YRjH1CzJN7kPIYp@Mm3@$MGjr zRfgV30S>s(SB;)cN2?V=9Hh`E;Y5?QwHm%`*Q_jiwy+5B3zjMG|F=9BCpBF0-oy;G zgrq^rkl=A}I7O~}-Zz^r_A9qcvlnbb!=K7p1J3agCDJCbD#Z2~_JTY&;q ox7dF;G zoE_fQFFSmzW4Zp6X#x`H?)77tzZ{DM=4?@fp-q0{zU}yN^=CXYt5S_J-U=P?QnhR zUt&%@8|QtNaLsA)zFcL|cB#1@AK{?fuZp_q8M7r{Yz}4>tk+&5;lJVbN~hM8xuRhB z+m=z&7;oE`V4tOV3PZ=zX>AiKrmI%sowMyAzW=m&pc3xWKT)RX>1U%eb}-$!?w zab0=NLZ1~k*`fgL>s*N4n|#Fn8&@$c!^fSUzLR0M-tN=gw~w9*J+2)m^Sh-qx N+H3f@)+D+cVryls8Ip3#1d^X?~;f1N}l-{f1^ zh+#cwNvVddVO-@?0g|%K<$^-&*dVm3>dAy3exoSQQKuTq-CHcTh1p &N*< z*8u>N+fA8f1gm}ToS%}@X(gF*zh_=|rkLNGKzBBQ;w8*lw8;=!<7OZx@2 z3~mEynrdm0(?PUS!f*ScRE`_4=3S2)*cG{NBFJ_b8og4j?&fE^8lh#7A;g$^zq6^Q zsL-^ueu#bu;W*HEQFEJvt^fUWId4Isy1=%H^=D+$A-&U5(&3=EhgiW8*VEL7&xvh_ zA@4dG7u61C8@-FNjE<&tuo>+`B`dEQl{ZjQ<($0G4_9o8zFTB)Tm!__YC^hHp2bJw zzd!X`nWbyrE+y_W7u!eUPpN6dvc5|v>;k?WZxezSDmQNLYNBRFa1l1cE^=Wcc_=ON6lm8x>@hl@UKs?13??AQuP%NN0MI`XVdP{RCGjLFoarbNTP6a_@g> z=z x=>=& 1Lz4zW=qKFD7d4@tC)uN$lq7W245ha@k^)W995m%_`ue>JTtU zFb3%a>~(kQpcM8emRj0ue=M{5XApc*H`a0KT7eu ~}9# `ynicR_eR_srYa~1b`=G)NKrO>GhRKfu%DH4@mI;wEBr`n}r{JUFmx{ zTCi;!-oQQBX*Dlo5O)88#$07R$WC=b+LzOk4_a_5xG#&gki{oU{dkyQLpM-aDrV z3IN~z(!g19)|4!t7C>P%i77y2DzZ3}x6El}@>YEONxfp~5~imW>k#^6--MZao;B+c zK|c7(R`4|^*QIMVa8>or(My+<2UVTtvg`y~K>Fq4OD0yh3RByp3jjk~Ly#>k$Sp)@ zLEmT2BzVb1KvyA)K5kqu$pAxnmFQd?^%LT8ZS0Vv<@bpumnj4B6^*ZKj#O-l)AmT8 zg7dQqsm`f~9*eSl(@uswqu4bEk*>_ V*&*IKlw$_QcQ zk<5J{8fPrLhbNU_lxC{yY$gwz=+il=uuGbq)TyhE$2K-fqOV5r-PbU1IaHEM`7^!_ zaO>VlFY5RCj6$&y2fY$E?9tlBTUFCr68_%V3F>%3D~k7hx>=Uoi$Vz0MSXR$VPqF+ zmV^vWPt~x~u>Eq^qQgt)J>sfyxISFgpi{Yv$S#CM;dHODXNA50z-)Mc!$ubjHYi6x zt+-0vAs|0 yER}mjcbaNo0e(MaV7s?MQ6I8@M7S5an-_%norE_isUz}@&fjnl@ zOc!i@o}o(W#wph@$$)>o35J8H9~POp8g9WBdN#Um(m>|+I`-QsMqUqI7EE$SIhoj) zw)F0;hRH^D)dD`4^-YP+Ahl;#75$RZjJb*}Bd z zWl)jfi!J0d&1BFuHoyV^?Dw1ov_pl_PlbKt 8^J$*R@boQqQ$h0@r?gA(KGNXgZ5{_&o8lJ==+Je8L+jH^2L?oK_VZN(OqXY zz50VKq5h@}kMpmTUL%x#ZW{+-`t4U`XF#U~K&jQqTr;%Q^eRy9`cWxyLCFAv)TdlN z`S;H0+pZ+!fRx`q)V0QGU &p{^Vg_+Nzb71NWOvi3q5QSoPxZh%eS5I)R3rM0gS-rd$4K4sSvTm|(aZ0! zPfOw<%i%AfdkC-Hb37XDE%56gM9x>2oV_fH%ErQJ&>joZlGryg+YqO8-{*?wSgXTM zZ(P4k0>Y}F-?18K{Q8Vd5HaHe8*>y6)*W7wAKeBW+Pv;?YaSu9ECuE5^ZHLHT0V z&3xqBtm
4^O3t!-Ft~glFQf{+yIIo_4^5Dn z>f8|46j}WkTqj`a@*C6ic_77{-R~~s5?AKfr5|CZ6S-~wC7UW>`(DVP7-Zub+Euck z1c*HxSQlW?v|DU3>FPE={gtyJZH5H&v+1qx%*3{LS)~SKhs1*M(W0(wlEc Br8GIrOSP~T>?_Xyg_fr&r3 z`BDYd2+lYk0@+Z=h#quC$usE+ven7rOG5h_@g;2hjcBA2!yTlQW%0A zm7^=qw-IY()o#ZA`lYpdJUwR5v9=t*v>{7KNtA}K*Te540Pj=Y4~hfLmCZf$*LJJz zNG9&e+edHSGPZk!*d-RE814SRjX2(L(!(bonqE0F(WCyRgOkfhla#_(x$n@_0A!=+ zu#yYU!?@Y~tVDr+MH6~_TWXvh62R)?7SrM 2-`thg0dja{sQiG;cEinYZ=u)$8_Zv#0IyGK%Kv zPmnLZK55ofx}NAdsO{ECmWifpm^u_2NR|Kbu;@ea6HMolJ;r@9;Pk5;JX>l0roI59 zpGiNSH0r0Meh3J^pb_zQ|G|^7g sd)l@GIGe_k?W67+_} zm>kgV?v~HMjUU-s$A%|U|7C+PKpq#TdcE%erClhxt-<$1= z5Ssg4GL}K-CA{jCc@;w>1nj|`$WgPC87-IQbJMdawUY(Z_MpcUOvT`Z9757Cc)a(4 zE|O)eBN_nSsGh }~4ADho67h^ZTaHC1KLytmrKDzvABh{N0UaZ7_D HfSEB^eJ{MU1#6|TF zC(hn`yUp-vVJ#Y*EGqbHNh_(<7ZguyIcw>9z>?S=P!A5N2jzh>yW@&Vh#SwfE11lv zv=|ka&_Hu(iZ*n>Rjzd?@=;|d0FOW!L!vO=Hy4+;;b)s^-^!@{j_9-TXZS8kQb=s3 zP^`egy)icVO}72o@k)-|XXT<3wPkbY6Q#M5fZdqP`0HsrzP<2kB}-9uoBb>N>GLqY zyE1)4Ar^f#G7k_2oI~+PMVwa31qc+Bn`aiXv)4HqV+eD_#Px-{1$tLSs)!2Gs#qBp z5^^Aa0(vhz)9>M8z^}8S(q;(7#zS%?dJj$~W(vx&Jl2XQ!klRow@LA<)uKMU`mV3q zgD;rVIyaxP4zV{ X6p^+6JXalNY*K=&K)!8Kj9R)TDZ!ERDUtsh1kzt2XI@XQIY+ZAiM@|oziGDLM zV2HvA*a&zkikenc6oCyxz2@1z(3M&xni#C2RW3ln?f=8JUSbK*^M#mGTYzy&6?jzh zrm)wYsf*=OuK#qkG}$?ujE6t}^UJruOENu3?2?2ryWkEo;y*ku