From 811b2b6188bbbd73c624e73f27c0ba704a5a54cf Mon Sep 17 00:00:00 2001 From: Kacks <314758043+kacksdev@users.noreply.github.com> Date: Fri, 11 Sep 2026 11:37:09 -0300 Subject: [PATCH] =?UTF-8?q?Refino=20do=20reposit=C3=B3rio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Kacks <314758043+kacksdev@users.noreply.github.com> --- .gitattributes | 20 +- .github/workflows/public-source.yml | 36 + .gitignore | 19 +- README.md | 28 +- assets/screenshots/01-dialogo-ptbr.png | Bin 141211 -> 0 bytes assets/screenshots/01-lobby-ptbr.webp | Bin 0 -> 2160330 bytes assets/screenshots/02-dialogo-ptbr.png | Bin 149204 -> 0 bytes .../02-perfil-personagem-ptbr.webp | Bin 0 -> 618170 bytes .../03-dialogo-narrativo-ptbr.webp | Bin 0 -> 1029218 bytes assets/screenshots/04-cena-historia-ptbr.webp | Bin 0 -> 1008480 bytes .../screenshots/05-escolhas-dialogo-ptbr.webp | Bin 0 -> 485598 bytes .../06-campanha-formacao-ptbr.webp | Bin 0 -> 1433350 bytes .../07-progressao-recompensas-ptbr.webp | Bin 0 -> 243046 bytes .../screenshots/08-inventario-item-ptbr.webp | Bin 0 -> 195940 bytes docs/AUTORIA-E-PROCESSO.md | 2 +- docs/COMPILACAO.md | 32 + docs/FERRAMENTAS.md | 6 + docs/ROADMAP.md | 12 +- docs/STATUS.md | 11 +- installer/NIKKEPTBR.Installer/App.xaml | 56 ++ installer/NIKKEPTBR.Installer/App.xaml.cs | 110 +++ .../Assets/THIRD-PARTY-NOTICES.txt | 51 ++ .../Assets/installer-background.png | Bin 0 -> 2506943 bytes .../Assets/kacks-installer.ico | Bin 0 -> 73662 bytes .../NIKKEPTBR.Installer/BootstrapMetadata.cs | 12 + installer/NIKKEPTBR.Installer/CoreBridge.cs | 264 ++++++ installer/NIKKEPTBR.Installer/GameDetector.cs | 183 ++++ installer/NIKKEPTBR.Installer/MainWindow.xaml | 187 ++++ .../NIKKEPTBR.Installer/MainWindow.xaml.cs | 463 ++++++++++ installer/NIKKEPTBR.Installer/Models.cs | 127 +++ .../NIKKEPTBR.Installer.csproj | 43 + .../NIKKEPTBR.Installer/PackageBootstrap.cs | 300 +++++++ installer/NIKKEPTBR.Installer/app.manifest | 24 + installer/core/runtime_installer_cli.py | 304 +++++++ tests/__init__.py | 1 + tests/test_runtime_installer_cli.py | 64 ++ tests/test_runtime_installer_core.py | 324 +++++++ tests/test_runtime_release_package.py | 196 ++++ tools/Test-PublicSource.ps1 | 42 + tools/audit_public_repository.py | 122 +++ tools/build_installer_bootstrap.py | 200 +++++ tools/runtime_installer_core.py | 835 ++++++++++++++++++ tools/runtime_release_package.py | 506 +++++++++++ 43 files changed, 4558 insertions(+), 22 deletions(-) create mode 100644 .github/workflows/public-source.yml delete mode 100644 assets/screenshots/01-dialogo-ptbr.png create mode 100644 assets/screenshots/01-lobby-ptbr.webp delete mode 100644 assets/screenshots/02-dialogo-ptbr.png create mode 100644 assets/screenshots/02-perfil-personagem-ptbr.webp create mode 100644 assets/screenshots/03-dialogo-narrativo-ptbr.webp create mode 100644 assets/screenshots/04-cena-historia-ptbr.webp create mode 100644 assets/screenshots/05-escolhas-dialogo-ptbr.webp create mode 100644 assets/screenshots/06-campanha-formacao-ptbr.webp create mode 100644 assets/screenshots/07-progressao-recompensas-ptbr.webp create mode 100644 assets/screenshots/08-inventario-item-ptbr.webp create mode 100644 docs/COMPILACAO.md create mode 100644 installer/NIKKEPTBR.Installer/App.xaml create mode 100644 installer/NIKKEPTBR.Installer/App.xaml.cs create mode 100644 installer/NIKKEPTBR.Installer/Assets/THIRD-PARTY-NOTICES.txt create mode 100644 installer/NIKKEPTBR.Installer/Assets/installer-background.png create mode 100644 installer/NIKKEPTBR.Installer/Assets/kacks-installer.ico create mode 100644 installer/NIKKEPTBR.Installer/BootstrapMetadata.cs create mode 100644 installer/NIKKEPTBR.Installer/CoreBridge.cs create mode 100644 installer/NIKKEPTBR.Installer/GameDetector.cs create mode 100644 installer/NIKKEPTBR.Installer/MainWindow.xaml create mode 100644 installer/NIKKEPTBR.Installer/MainWindow.xaml.cs create mode 100644 installer/NIKKEPTBR.Installer/Models.cs create mode 100644 installer/NIKKEPTBR.Installer/NIKKEPTBR.Installer.csproj create mode 100644 installer/NIKKEPTBR.Installer/PackageBootstrap.cs create mode 100644 installer/NIKKEPTBR.Installer/app.manifest create mode 100644 installer/core/runtime_installer_cli.py create mode 100644 tests/__init__.py create mode 100644 tests/test_runtime_installer_cli.py create mode 100644 tests/test_runtime_installer_core.py create mode 100644 tests/test_runtime_release_package.py create mode 100644 tools/Test-PublicSource.ps1 create mode 100644 tools/audit_public_repository.py create mode 100644 tools/build_installer_bootstrap.py create mode 100644 tools/runtime_installer_core.py create mode 100644 tools/runtime_release_package.py diff --git a/.gitattributes b/.gitattributes index 46526f6..9b6b61b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,21 @@ * text=auto eol=lf -*.png binary +*.cs text eol=lf +*.csproj text eol=lf +*.json text eol=lf +*.md text eol=lf +*.py text eol=lf +*.xaml text eol=lf +*.xml text eol=lf +*.yml text eol=lf +*.yaml text eol=lf +*.ps1 text eol=crlf +*.cmd text eol=crlf +*.7z binary +*.dll binary +*.exe binary +*.ico binary *.jpg binary +*.png binary +*.pdb binary +*.webp binary +*.zip binary diff --git a/.github/workflows/public-source.yml b/.github/workflows/public-source.yml new file mode 100644 index 0000000..bfbc968 --- /dev/null +++ b/.github/workflows/public-source.yml @@ -0,0 +1,36 @@ +name: Validação pública + +on: + push: + branches: + - main + pull_request: + branches: + - main + +permissions: + contents: read + +jobs: + validate: + name: Código e repositório + runs-on: windows-latest + timeout-minutes: 15 + + steps: + - name: Obter o repositório + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + + - name: Configurar Python + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + with: + python-version: '3.10' + + - name: Configurar .NET + uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0 + with: + dotnet-version: '8.0.x' + + - name: Validar conteúdo, testes e interface + shell: pwsh + run: .\tools\Test-PublicSource.ps1 diff --git a/.gitignore b/.gitignore index b9f8c62..ae35b8e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,27 @@ -# Pacotes e binários de distribuição permanecem fora do repositório. +# Compilação, caches e ambientes locais. +**/bin/ +**/obj/ +**/__pycache__/ +*.pyc +.tools/ +.vs/ +.idea/ + +# Pacotes, binários e artefatos de distribuição. *.7z *.dll *.exe *.pdb *.zip +dist/ +installer/NIKKEPTBR.Installer/Payload/ -# Artefatos locais e privados. +# Evidências e dados privados do workspace. private/ work/ -# Arquivos gerados pelo sistema operacional. +# Temporários e arquivos do sistema operacional. +*.log +*.tmp .DS_Store Thumbs.db diff --git a/README.md b/README.md index 4c412ca..a5118bf 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,10 @@
TRADUÇÃO COMUNITÁRIA / BETA / WINDOWS X64
@@ -53,7 +57,8 @@ O projeto é criado, dirigido, mantido e validado por **Kacks**. Não possui afi | Apontamentos editoriais preservados | **1.689** | | Pacote transacional | **18/18 verificações** | | Executável final | **11/11 verificações** | -| Suíte atual do projeto | **116/116 testes** | +| Suíte da versão publicada | **116/116 testes** | +| Testes públicos do instalador | **23/23 aprovados** | Esses números descrevem cobertura e integridade técnica. Eles não significam que 429.498 frases receberam revisão humana individual. Os apontamentos editoriais permanecem registrados para uma etapa futura, sem invalidar o funcionamento da primeira versão. @@ -113,22 +118,31 @@ Nenhum mod pode prometer compatibilidade absoluta com versões futuras ainda des ## 07 / TRADUÇÃO EM JOGO -As imagens abaixo são capturas reais do cliente com a integração PT-BR ativa. +As imagens abaixo são capturas reais do cliente com a integração PT-BR ativa. Elas demonstram lobby, personagem, narrativa, escolhas, campanha, progressão e inventário. + +| Lobby e personagem | Diálogo e cena de história | +| --- | --- | +|  |  | +|  |  | -| Identificação de personagem | Diálogo narrativo | +| Escolhas e campanha | Progressão e inventário | | --- | --- | -|  |  | +|  |  | +|  |  | -## 08 / CONTEÚDO PÚBLICO E VERIFICAÇÃO +## 08 / CÓDIGO PÚBLICO E VERIFICAÇÃO -| Área | Conteúdo | +| Área | Conteúdo público | | --- | --- | +| [`installer`](./installer) | Interface WPF e núcleo transacional usados pelo instalador gráfico. | +| [`tools`](./tools) | Contrato do pacote, bootstrap determinístico e auditoria do repositório. | +| [`tests`](./tests) | Testes automatizados do pacote, das transações e da interface com o núcleo. | | [`docs`](./docs) | Arquitetura, compatibilidade, instalação, status, autoria e roadmap. | | [`assets`](./assets) | Identidade visual e capturas aprovadas para a página do projeto. | | [`release`](./release) | Manifesto público sem textos nem arquivos proprietários do jogo. | | [`CHANGELOG.md`](./CHANGELOG.md) | Histórico das versões distribuídas. | -Cada Release inclui o instalador, manifesto JSON e arquivo SHA-256. O repositório não publica bancos extraídos, textos integrais, chaves, executáveis ou outros arquivos proprietários do cliente. +Cada Release inclui o instalador, manifesto JSON e arquivo SHA-256. O repositório publica o código autoral necessário para auditar a interface e a segurança transacional, mas não distribui o catálogo, a carga útil, bancos extraídos, textos integrais, chaves, executáveis ou arquivos proprietários do cliente. Consulte [Compilação e limites do código público](./docs/COMPILACAO.md). ## 09 / AUTORIA E TRANSPARÊNCIA diff --git a/assets/screenshots/01-dialogo-ptbr.png b/assets/screenshots/01-dialogo-ptbr.png deleted file mode 100644 index e37b44cbb2cec4464ee2a4cfa8c58aea51a5865e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141211 zcmeFZ1yqz>+c0_~jfA8$NFx#=h~&`SDXDacbVv=24&4e!r!a(ccZ%c?0@977#DFlI z!RO8Ad(Z#v+45s{T!}Z11s!CC z9^BmGEc(fhDXWN7N#$fH+J{wv0am5}OCvAF&WY}^f#t7^w!5{%{Gj&~ m+MWN{lEj-T{V5h=gQ!!SCh4ic+5qw$j4L)HLzN3L7Idk=xra^ME&k60f0g)s-- z$}hhQPjFZ 2ko9y^U+j`RENLtVN_;tHHUp0sSS@& zmnoV{4_7Wu^D9PmoxoQ?SoFb$pu>tQ(i=c3JREdrjd=r*D)eq7?livM`ss|U0%%nK zin!+8m@H-aB|SjXl*z|3jngnN&_Pb8cuH|%32R1W38xaxG1?9rP%1FEH}-1XYk*?A zPj%7|K}HwUw&irViNIY#)) 83_LAt=5{u{CF$l98+pdXv<-u zE4)r-+O&zM Ak^vj4+873QrVeRtttDmt>-gkIk!riGo$OvgvdM3j%?d@&dsUMh7 zWO3;_$IFSCYK8~pC&rUcm0vvqp@T=4mq)HBI&Od-jT_)DLC1@eXI`#10EQFzNGE$( zJF_E&_r;fzzE3g)Z*j*)NasDmzeqlaW;eGP`e2iHe5~ihxc;Dy-mYc&npkg~p95Kd zd9ISD<}Nz@4bi?U^ntonWbs)ska@A$f3= ( zKS3!WjUZ-6=81rp57G##-vCG2C=(h+BUg|9?aQ~e@_!Nx^*_!=fJ9~P@2K3)hT73~ z@)Z8(MF}vFZ2IruMvstQ;$8cZb@;#yP>~3_(h)`ww_$-tC$qpyy>y6&0YX9?>Bs`> z&rZ4%ej7UY e|G%?Zhk9VNk)sT2jW+5}Azps}jCVJ?#yV3%H=Vg&7Bp`?nkPdV7+wu)?MgE7B zlw@4NhZ%5@8(?VqZ Mh0N~)L(PGSaO=VhZQ|%`VVA5lSI=UDx6t&sq4XkPYziOZXE+*Z~1}X%I Mt;f008Lelldk zun&Q!6?Wtp9zL!4TLpZ@5ACT5$lzX?62J9U9aH7Ea(PK1!l0;sm+Z+=TPXEa2J7hD zc9Asr%nsPHDW!ueH$O(Qf)-g`4;%v@X@fg0k@bG^lNVR`$XAdoyd4gdX4_>;w7Pe0 z;+U@BTQ;a?(s?~|M{c;j>+bB|OwG?}$V5v2-vo=?VWGiGBbQXoqDVHgA=wOUZ ~Ab$^?xlcVX7^kosP ztV*%e5Z2#Pg!~~zWcB912r=eggjfMy=0(Q!xZd0dOyuhxEvi0RVkC=YLkL>4Z%G!X z!6O|8cX}? !TbVh6j35}a_4*&UBR9#v>VJTc z9mfYGX9AZNFR6V0&KV?uUOetc|FG8LH2kDP1aHM~Sy6iyXh;6G^Z&zCA7hZ#AmRE2 zgpce7@Ki^# 8ipeA+*Q{Uc%d*V+C8`>ogiWba=L`HLa{ z*nt1sGE^HB$+jjG<{A%hrFso90q+<^UqYcTO!56?L)rd1vjD}pSj{kUC*N+-|9v`y z?YPuL@rpaa(6!j^{<^`&QF!u&RwCic4Q8pq02czmM+(A?{56vqAJAK_w_EEYNd-8` zWn(S&9$`{dM#crGs$w`H _`Q$@@EeG #zXzaSNhFkI>j5~q*mKfFw@{ps51arCyR#C+i3AvBcUJA; zn#FiRvQ&Loy;O}A 7PSu{wMC%dA z0Pxk6c{b~Ro}HIG8u ket4`SRIaghmT^o}79>WGo<~Y}G(;}{iatfF zJ)pP YH{gvue7qVLU1K$^!SSo9rhmJMZb =&AF$E1l>@^?=nM|{jVWG}RKI+bIo!bU zg`IQl;f@5UogPMHRpZkW&~Rz@7gp4;ll)n%*)E2xc$Ua8nkQX2IZ9!V8TOn{M0+$d zFhj$ lR-dVKE#!1yj!qJRD9HJ# zxF)_T7kZjh?=^+t0W!pU^a5%IqjfHkSfv+?Y);-D{G8Qu@(KiBW-isAR8DYBx#KK? zFQ(oqu5;?=I!W+P+Sc7!;h{Q+naVY7k$dAmsd?6|m>2jHEHram^cWCaQtystSYf2P zC!^y|C2tz*qo-Fg+sCjjzqq&1@FB<246EQ{?^uj0O6X@nsnJUxZ5xja|81x(BYysK z3(BEXM&hK`A7h{zjFs}+_0H$vy9(GHSl%ARwWH{~!qGVeQZ1hNEq(by7J>^Px}zdl zbBC_Dd3E$TeFH%h(y5ub9=?YckFd%Foy0A-y!9lqOfFOjNBS2FTclGo V342%LAEWzdghs7U3)9$GF|GcBOo@GS#jHre zj?xQ~+*o@}ao4Z9^%34{e#@7WSS7?S_eAkTL&d#{gI^n+A1F&};-8YLPTs|(1QexY zFan4mY*}~yZE%d2`_t<0wBhYF>o57tMJbe;-Ywt$iT?A4MF)!x>Vc$_(;Ir+c&BAR zWC}7jCc?TR>OHw%EsClKgT@UxaDGfrV5kR@n6)F9f@7TZ@8A34AQEdNeWXG~; 6{Lx6{AA2DYE`q3A+t> xGi@agU)8#96!j`D`L MrP6G!8=!S)DUIindlev~-csFA(THqLd;=|GeCAak8QrG-h6DwjL__@d zAhp?^&Q-m?F}(IX<+x|yUGwL~@82V>XLGA-GmbZeedL)lR-{58Opk{A0P0jA3^EN9 zc~Wj$3w15pO3lx2jK!^*RiMN@8DJzybqqWGsyVkuX%$s$Vz?IbbYV*2K4YyoLjbQ$ z@qq)^tJfB_Ep@50D^J297Hm6y9c$VofQHQN5aN4d@q9)14RxrFM!donkcBa3cz@yk z5qfCJ_ZK$a(3;OK<6mtV7_Jq_Ke4K{P 2?v^utVbjezp-p hLR>@ zw+MGNoPegTs*lxh7`oF_Sl75|WTeMI2LDj}#*sVVFXvatDu7j)>c2c>;rr;_0I|@6 zYftbs)}&%x3AkVP9MJ?qgxKW+BpNdRd&Z8UhWK4Y^xFso;ABJdV{g|k65N)zu!qEQ zf(8rUzIWRe{~=SG;-HLK)FW(7g8ugDSZ(R6g2b#x6154Wj}26+QOF)oK-B$g;du-J zD5@kwT7jo|s6EecY&r^Y04I_|_7Y7TK&9HD@GSpM00W2YY?=d`A`o&1&p7C4;*LZM z*dW*v`C=+CC*6PVGq}-(xvv4@kKouEiC1?WNZ!Wl;7)5BM)`F+@T*% zX37LPYHomL4u)OD)I}z)wNo0 03?jxK0=MTAX{w~^u0({paZE*DWeeS06D zj>HGF5p&LlmEL}WK?lK`CiMr%X!Vo-3(8E@iMMzbhoaT_Bb**4 zFC(AJZ;^JXTQ+tt-gm(GA#=->h=aSRT)q=_oPm&kHgk1A2_fX2T*U<6DJS0YQ0$$7 z?Rgzx;RXjf8okDhq$yj2y!)SsB+1nL!# vgx>_BWms3NO2m77M0d40$`&L!IzM_0W*?XxZ$n(Zz z$Np1AQ`o*}zpR|PH>AH|f(1tYg<4o)ll~=Te?wiv=fsjQT`e`aiqw6N5hfhLI556F zoepGShqqPhiO1^@EfJ8jqf4i7j;_&BLa5#Da%BiXJo8nR7R-=V&AmVcdtQ5Q7^RQY zn6Xz1H~KyQ4*@d55ehkR?Nf{f8tX1KY+KH0H$VCPhp=CefgesOPnjjWKI_%*vpaC( zdMSL?s@&&r&az2EGb>uy&QUi3NPm@^BS^EKG6TF}niTR&XZ)FOOedG gf*>JoJ3lJHn9dD-iTOg<1N3cwytUXiEtT z^b^O5kSm59LuCyVoolrD<)hZtHiI39tA $_uo{3OqFpw{uBHS5e z$zLA&*rM%yTFHC1J`uY81WZvde*J9+QEB$cwp$)|c zbJvQu>!1f)3z^q;+mF7*Nnmc-r!?03Sa-RE=Xy^?#}#26;cl*NmHGJ4*(npw*dBj% zTF_76-0>P&H?V)H#?_r^*HL2@o#!Mc$pM{UHB7{DVxo~NuP?IeaT_hX{z&IOGWFR# zibOti$%uzW)V}gqw3u>^F(1!eQmtW4OVZqh{3WD>Pl;jgwJ1TpCxU787%IX(a)ffV z8 +Wq{zm{KGNtDi9y!>W5h%d~aXKgplL{H2UeGDB2N15FH6$?EDt^$mgu zoCJ6vsM?6Kf~0;DG-a+E9^lK}X}%nk4HIvVmGK~>OzN3+kU?9GFG)BpO|3Lcwg{iC z;up5CF&t`tp*34WJAAD1v*87t43wmsqO@attY(CxS8vdF_su;yde{AjX*j#?4xG{! zz1R#5?{a5VY(91mH5Jv?E{~pG!f-q?Hw`oc+KadBg=E;eX>*F=zH0Ck7Wa2tu|vfP zDHUC{Y=9gH+rN$S@-~a|(5mgH&hSOO)D5bL8AW{q#?S15ZR>eie%CYT+J^w%07u;# z gVb#~STxy=wH)+6geaL{x93`eyF3og3g@>)nB~ z@A$LpdslMH!+I}uL9Nm>jPzu>sB4>1t!Au6y9>03FZvEp z0+Aqc+k`8@>6$i5Ut$>F+%CE7cd$f|Oa_Mu6%qN^=TBJXfkE$I`Gy7s__nQlM4pay zA|AAjxxZ~L*=1MOWLu+M4&2YXC$W!JZg-tfdIMDJ^_`ixsrwbm*!X@^B@&$r+Yk*H zR`D`{7Jc8j{5X|eta^UGPLpp!@!EK1E%l(4z-w3e&^RVyd6K?4sV0i^N7mE+Qqmb7 z^mCr}&04h@z~_F*Z7hKW>NtQ%A&Btq>;JM!&pgJ<96GLj)CQgquD_(*Y(} h`MaWged@0kZpF3GS(=BO*hw+H@=4mdAqWr9cK?fB!v z9rHRI{p-Z2Vq4~f=oK*5Kur(cf!t2-1c-j=c|qu_WBN 7 z9_LTe?*oFn+6Yn^CJ?1RFH4%pQ{s^KUBUs3p dRr;Is9 aM+?K*nR+Nn~!(fey)HJa8T{H<4QYNVMDSeVUwLc6Kyx zEYGOVWl1QV@uM&6T1_0Ao_4WsHoUVWlc3rkb6iBuw)71|I%PkMGqd|yT(q}G`BPa7 zcQ>=L!UusJm{S3wo82ayM{4c$tcOqE;fJE{^jkT2%%b^36g@wPl!wNaHKpHMTGsbi zGF_BXn_hu$E^!mh!ZSJtMC`M+7hhLQazgv#H^{?G1bQ))sLda^KGnhKdVghXz6^?r zo%KpkITDLmUZkM%%9-T5) uY?;68D182|c;STnve{R>x z1Vim9(tln)%Spr#!URDcISfU05vCJ2`({fy0!KtR>Gvc~_{XjU4tKrk`n+kwvXYt` zrBi66r8Z&_SmX%OKzC>U@33hBR|V1TVT)w_=T%L_@k44%@h%GGl5m<;W4d-)rnYH* zd&4g!-Jj#B&;kjQtX}yJ>xW^WP+NzIsAD!EM&sI|{Hfr{788~=37rP@(Q|H(G8}4q zqQ1HC=sBCm_1@D<^NK(yBX h)b~nwQ!luS}I4xJO~CSHw?$si_IH zkb8wU|EhoXx%)1pcq#L(2}Z)QWm`})IDc19B7)8%M5m_1CN(0+z5Kfr>uHe8BAm zk*`{*m)vqnM~hZh9n{jl(Q?R49mxxhM-=2Q<+cslX#5%BRmyPi;pq=|&v!N7iHBhF zVNcG&Y;xvR_11^ae%0@qm>*U3U1CP?E#9?hC9G(z9y_6W^Wa^%;zdl;%U)CgKvr-> zPz0y&NUzV^I>MJ@N%VXKr#xXRmMw@$X8(?xTvwiV`l~u_g1tUP9@{QoL;s@}E z!|Cn}^uw~a)oZ$L0>7*|s^^(%7RTS5as{~xV ZPbrMFNjWDfmhO~T8M@>CX_2G zqkGXC`rdcwN3WpJ`~7eieX +&5udKdp5IUqj^VQ{@>1%2;ngGdM#`CDQ zHIrXd1sp%|Tbqsu_Dl=)clA7Gxx*}A)$mLUfq0Ya^dU@L!V6_>>t_SQJo1 GEntb7RW zeu3(Bf2EXiI^-nE)>oJ%each)J1 JKfct!s$T!+aRgV9%QEEz^ry-_b z`O0r|8 dYWJ5-kikc|pjPUpmtgXTPDwDaC=iCMfcnweVRVDG7+spAw$X z-by+y0?vg89#m7A+f!}-$S~w0v1W!H6MFSgk79uKq%VK83QaH_sb-p57JcO6@$Yl8 z($`j?$5)-~U}YrVLibwt2K718&iG0kx#uIItetHO^`G~d- 3!YOjmPDPy-swUIY9}mv{w?Ot7OTgIv^5Wq+yo2t|9j zW5abpjZfQK-PH8t2}8Kakm5kzTs?scLi%l(?c@H19eGr{0Q@OSv;b$&eFP3Xe0eCw zLt;`y?9QrYm}vH0YKJ&pMd~Hg_(G0h)v>5Ukp6@S=*Y0Ev7m{er_gY?SAoJ4jhR9x zroyaHv@%r A4VZl869W)HjNKbimITYV0eXOh>X~aR04{@M;V$vgq^3+f9pM zz>zp!_9^#}4sSi@NH+ghU* M|aZhn!$&fS$gnp_BCNj8k5NTVut z?%Z+p*+UHDhHb;M8-T)Blx`2xeYLh~vh6c-71=Hp1O)O-ERJtFTYU(I1c+Ka^MCN% zi*bcIlhpmLV72FXp&>sDEp ggU*M~&wA{hc?I3I+mkA9ZHZEhZIz zACGX99 WwNt3KJXfQe9Mwk%AD3q+={X!9t`e9Uf0W1pYItol{J{1f@Sh*}}- zb1a-*kBpGX0XM4mqjib$)K|^ZGPy>wV{9*ZpRLs9H$d1FP?@yn{nU7p=WIKuVR$HX z9(AW8BEvHjOc@-HVOlbL>VnifdF`SP=Zg4^S7?fub9k#etADn5AG6ID&h3i7JyKyP zU`Um@!@!URNrWh?qxqjK&E(I?&H~;Qq7P;GUyz)-2>q15%aDOCMHM{yb6bl&%e*~* zTb{i$fW#~j`VbP!WpjtVhCVt^hm>AJaY-^TF8IO2u54=EnvBwc&_ vd$q?&(h0 zpmCznBlp@Uym7}mcjrYKIhamT@NE4|WNbezi-q%OaYtFO$`O_k^VORhpdc<9Oo*UM z(&_ApXu+q7RV+_NWI2IxHV;k=(?pV$3$3VQ5H;R-AHsGXFjv2ONW0_hC+FA;z3bG4 zi$WXrK8B;ZzW#HH8<+YyO$>Zm#S}Vc%m%qevp9<9Ekxe^);#RKPhZo@kWlvcIP Gx&tRciv#cT2O&-Y`T)1zpn7bciRI* z^cvTjs0J-KSi@K)BR_u^r(#h$?(68IkJ!iywQbir!ni+An_SZ9a7DLEURq!54U@Y@ zPCJx(J@MkT{hBasx(oN7X5_D#%6zO(IF`7yrs3aiJi$NL!mGxDcp}0YL}29SGp*)e zS-5-eL-mIwiygDqJbsU78=jY~)T?prq0m-On2J^hZK{0uEJ&qF4vu1(7#B}4$o1YB zG_)0IShaZlZOcErMQ-hv&e!`rqw{Q^k4PA4&^o;7oac5pTy`Z{m>VW6?myk $0-@Kv#d13wfwgwJ;X)i{V zI>9S_w`WHv2C6ewV_TY!PDPuA>{%0%Ep{lT*OXMc9{0ZHxc?PZ#+I5ku2|`1ryz ;|_0%D+~Q-8)V z#dkMKNR5}rg!=$xVpq=%bWgPDk-!Iw?WX#&T-nJzcj q%4f+hPi&A&Z=gKWulJ4 zi9U%0I&f$7>v(*VJ{hYcW696bgM(c`4?Svd1xYt%bqn2d=l2BX(s>1>Op u#K&5a8R?V{=GBwrS`lcrA--ll`Z_DkEQD`tYsEo$ PgQ(mo!Ea`H`vu?MK{%Q=RnPii9Ry&P) C#Pz7W5RpE+k_+Gui&$g`coQCNjB zwo`c^tNFLK%ad;F&k7D)1eldSWDJ5FuF7$Rb&54CR6gT_lB`wkieI25jSO~Ooo3-D z$W52M!iT-;^)5yvE!g^d6yF(4Q8X9z$dEW;XimkJI-DVxTWAE~@A7Wfp~N0~S&EYT zOlgH{+urvZku}D7GE_DUepp-#H<;SN(4d|EaV-zs!_=&sbO`PickX(yQ+Or1`{KvN zo<3B1PED)5<|~n(kV||vZHOC4ao};dakN;* i4lZ}d>ZNb{`6g7qe;jVk%LQ2iuMp`2p7Lkxndbd{&Y8S_FUvCdZ|yc^&5776-A z$=iF(qrah4?fhb8-DdcQawHm@8B8v8B!pE1`b0r (9+!@4zVIjO+Z zmfaWG5xgXvgdXh-Li)k$qs!?Wucl6@1@75$D)IEBijzyP##{bsi#(;M$d1^KlrYk4 zRBSEAqNNzc=oQYT#+Y Qo~h!#dPjkEYFFE%CGb=WeGRa6j~yLh=e} z(z73O*(Z6o3{a|ZYpl~J&ZbL}aVEfobR2HvuE`Tg{i@yFJ1}-DqTv;W4A}hWW1gh` zJ}-!7R=@YUZ_s5>OzToF+qh>M(g}km%YS?BWLFE5|5>buHmMXc-$3W3+nS9MW~DV- zWkC+T_u=D0VtVAnrqNS5DGjUlA$AVWCR70Czn>NT>!+I-+L3?x5}0sq*8sgQ$@Tu= zQLVCT_AYfqT!Y#M7TP^=#*CbRr_Gk1W_B}JVf>;T@)5FCjR`|a SG{PHNh~nf&WO8+ypoS>r^)mIw>Li^^3w zrI#|axtHP!v Yg~-} zJ`>-|3rqEz!q|iBZ^Jx`+|-xTFflI5vV7O&ri=ZW`qG@EkI8!=qYC-;cS8XL4BE>% z6!e5mjG)JTB7M=hhvQzXtM*>rewr#0H5^*S(Algg=3k~OoXttYh~|?l0^Edd?|J)1 zH5{9_4XB)1-I%PXaQ4se1l>U8x>n**#88{B*xR@=A(z3dn0ClH-7L5-^IK|bZmz9A z)6~i&WAc>jMDtt!UI-}@Zh4*mkC4|buCon}QDOo|GzXn@fSmiMuMGAco&-gAN)WM{ z+H7jn=5r({YYV&+uZTtzrmCN(E_7)tfX4JA{4$=;V2by}Hy5M*4BKe%-aWkmE?8O# zk^D@%0XFem{t%R2mc1vL|J_DJ*F<%c*e|U>;=Q_*sg+gUB(yx6#fP6ZDS8!1H&1sA zHX$`Jm{$%{r`!bJ@7nj(+uVJhtQJ?hW*SHn3b?AQDos*25O)Rd<|6xlx<`HOy|FN5 z4wqQ75WRKC&P)66h$qNe!RA@mgc#lYF!QKcQ|(8GZbcmKcv`J`yuS5C*h=GK xQ{)F<^AX?;(77Sq>AWa! z79pHa-K$TfLP?a>U@XVphem_xYsq8Bs;^YQ7WuJW5~Ij+L;0sxz8&!F4S >WPgq k&W!zQ3Rr4t_ zfDYAh6`~(rXlu#=D18PqN75$ThqVa>cHZZqA_Dg2#cV$MpsLcvAu1_1qqq(l@p924 zf~)XT?#qi5WUng!ZT*!d?>bG4{7Kalzk(}^^bA%fHq=O%`NWmNvi-HyaOa}(Bwt^| zp89N1g&IjzwNNpuIYv9Zlc!aE 9!{hLA$xSqDE8L4hAQcOdsaseXe?oM^R)*)c= V5SQ?AjLh1D {->wc_z26H4Al@W$?OQBi3gh;YeGT>{EzX?^PR(~*)*CVKJn0>|WEH7=LX_m*3 zKmxS0@B9!&RL{FAqN6@y3ize{X;NJa7B_mdExvE8rNybKfO+J6^=Xj*K{8pM!8;ZC z>Y(l{t )VJ1lbrwlfxYHuHoSF4WlcmScuwzX1?zcE9uydn7W{tCVbey~S z1BI2Be!s2>q)euPXs_hwObTYNqeFN=Z}S=|AsdV|-AW9!Lr>J4L_FoE%iYHB38dj1 znk9(%5oj2@LpS19o^?Md((iAVTSj*Gv$kEV f5u2q6J$i_SFZUHobY!o*rq(y ztag=Niq0y-x&n3PciW~mZU(W2@HM{qsqUgp@ZO(p+2|90Ph#40-nf~QvOdWpmGxv; z1IrG ;W8+1gj}{w^F2_nX?obkMRxj*O$fe7gM>~8XFROj=giC-&n0kMMHZ_ zmcRLa7c)D%`0`+#00uS~pT45-D|nqu`a~S`?oHqHcqOMJON}2i9sd)Idq1@4<3_@Y z3RSo81DN*n#khd(<>$WyPC!sYST#o)kA=pj1Wd>^a355zxRhV_xlOWPn%Fc9T}6;&y}*_wV)@e?+q7Dz1{ AO zc9G4rfzQf{NTCG7ap4gntTNF^#hjV(Lq>;@TdAm=4AC8rpEJ=pO)(6qQyt+9`6@XL zuiwagO+O1sMo;+F`GGoMI^V?h;nK2w!la0ZPK5YVfx^SgL+G-;=+L@aWeOF3Z`rJ| z2tH2yV|~^5xq;7a4;N0&So=v^Bm1 {>WnYcX`(HDKEyj+>~MmJv;q(%TH-a^dyh$#Y^zB zpiJgbtI2f8vUOPYgnN;Avg{M{ji?IHwOP&)YXFLDrXt<*cL=#l@Z~4LgmWw7jIF^b z`r4yAnAHIveB{FgX_s_SCQk7vmz7H6VqKv9BjaT@o&vLYyIkaK&*E9P{BtYIl_tvE z4(@%sc=gFBvRVb^6LVDPNg!dcNt3k$_2h|AueZP?H=j5 xy;%n%$?w9X@xypq3QxgGNZr4Ef{a8A2|*htJ04hU#>WrR8HSXt5ZfrY5#M zDDg8yEfe*Z-qWpKZ5<3=3qB-W$BHP^+X&M2`)5S6{W_z?nAxPIR(bfM8iR&L&Yw-> zto9#%DM!19li5v~dim9gdEzej8Wqw w!yx1fA_PCNPY2l1=+S4r104z}mVv-0sW4>SdJwIIVztwm!Bq7)}D0| zJH(u?{bE`i;EskJhK5rY-b~?jm1PAR!yIXzVaur9U2)fPEr4?>MtKDky6PMLc1;wS zL{FO+&Wq-E_D6+bLY;&b61Y;FtJnAD_7$RA`xdHC@XS#-U(ZFy^@HPX07}YwR`c&} z99uPaowNg154iK~uQO+xQ{-X!6^;6Y6%tpwQ@)^LiBAUMlBhAwEwCFPyv4Q6dAIVl zz~nvS?Ez QU+U+%)X5k54BZhZ5n_Qyv=-O8rMjjP+kd9HX zl)X!I$d0jhdbK(4Vru@AK+SubkW2=*{y~@o%`VRI^p|1G{j|c$lVU!@zM4csRoA<8 zaWP1 rQR^j7`Yd^+K1qJFr$!%@mCFGy#wamoRzQflQFQ=$cZ z6U$tdM76?}C6k{a6$#=f9Iq*^Wdb-njDpn0>+zm$4uaW7_Gb?L@Ejz#Q|Lu`?3k&N z$UKhoVI@DW+LA23&oo&N#ipO_8Z=tv)afn>Uay> X{yCm4w$3-zNAYR9WW9DM znT8{wAu{)#eOp`V<5*+Y?bOwp7wqZP)+Z$q%(-L|u@aw3d7Sl_cXj4n4em+W7UbDQ z|A$t{KetBy^BI3yB|+_oHMEq^zD4qPh?Vdo!I WFJu&!ecoz+@|?B>;rO<;!1UGWTuPPVCX>Lhlf1pw-m)^F3I4 zg*2`_CJl+J5kCnE% +09jL=@Rb}0gI@)b<0=QXlukKelmdf(xk|15laxHFQS=` z|04UC_F(T!|64WJo$FDL0A4`sRILlTvWRc%SZIS_KZKE~dE#9}?mTtzN3iJ1p?{V@ zzh8(+E=an5qK;YXmDcm(-jz=7*F3L?z6@$VE*FvY`?WS$XoQ*Uo^i4G7_QqUo~xXS z9Y0P!63Zr)J#wo~5KzwdALEO>Td&n`LW27<6q)h-vn`^;TjiwDs>B-X7$Y=g@$t!o zONHqrq*w; mkUV(%Bf~MSrquj2W?irMB|* zuH4wEpJOMT>3E96=dNPI2dFkC@~^$_G$%uVJ$?$l8vxJC;0BPbf^nXTYH4}3PV*OY zq7ll@1##RHsC-2vhx(c$;$JQ{a1 wPa@0r>%0H*0CY~?0Ban`E5OE!$p81p zuL<2*JSJ_q0m?>@H!>)T|LFMqdsgzl>XR)mp9CmKubxmP0glvY)TUCamu~~_Bs|ry zEQ2^(JhD~0M1dAvDb3zI={LuVF0Y6-`uGyqnkFwlLYvX$N%UE?WKAG z72cp)VIeZG%DR(|Y;tVRLzOQ|*Iv_BX1hbI@{&NKM_z^xf+jv1v%HelD81WXLh_RG zrSxYG_Y40TmRWmg=-x?zgBN1E{{-25sLp}UnCe8Wr7JTs%;Wb-9fbmuaW;Sgf_&9E zz7jx=E~xOL(Rptcd66Rv+q}LH|M9^rG sarg{N&10wfX>&S z@#^6ZUJN7TEe1%k0T(wZLnMsNRhPJc-RP10yTuxL5>2*MNRn<+pJ}$7o&RhyU-2Cr zE;6PGevYraj=Y1OZ!@x7pr PeOQM2B`cqw1HH^A zQ87XKbLTdb%3vdprDHZVWza9h+SZ6KjiDAM-O D_(1lVDoW9oPhOPdcJ$iT%FYtUU#$ad_C(CFN>fT|;Fi z5l0V`^#N`PJHo6r^q1h{(ukT|( az8vRg?Bb@!lG7% zBOEGsIL?Zk&wEh=uVS`Op~A=$`3$zV-?#Pd; > zZEP3eFwaZKI{h!*Oc&;Nc|jISLPP|}tCWGI^A1I0WG%}yYSO}aF<*nLD~}7WR (V&C{iOOyaX(6h#F=Ob^bl!uIhruY{F!S7?w#;{idyoCjs%VH z5AHOw6lQ%VZ3vSeyaC9N!5e35HXh83Mv|wi%3H&KHmh={OL5}#i-h0u-21#3>Rtl> z`pqP 2zH13$7;l~t5vw3JEC$e&bqNLw$2%Tb)CP?bCJxDKVi(pIpM~?l9=ER zG2|vO?6Y?sRg^e>f9;LDr7KvvuA=ljv0!S$Hat2B?F^fKi=!5H#dnmIsbcQ>x{DtF zIe|t@vsgx3)XNKF7miego^NR^dDYK88cHbSK8PhW(#_2^(ih}epO`=%=uw`f1n{is z%I4-XWnI;{?LLF3D<892(GXyiF-~pNE&r%=H!i `|7; _<0iJ}Z-9*IJ=Pa(<647&i2e prVGE4vM=r>{a}{vE-UKSaqzt2TN`BWYLOQuI4BR;{^2~bYjoDI zy!-vZuudx1INRzCP-%%^BTt?j6s1sd6Mb4P8hq~YY2>=;5 z2G^uXC%v4^r5O40m=*O~`03TP{p22folRgUBaW=UI**+(tcEmE -+XGAs<)P zabBc_H)ONyfj-7J2{boTnBI){X1D{tp={U&{f@VH@D83AcZ>*%dv5=DcY&e#xD1VG zOuju% qtvVLjV@??u@`(W<|*eO&Z z8qBunXUxUVy}DFK|M+yR`^zI`CxVrNmbCWPXZmO!jk%FdC4zg1b2!4kW~n}TN+bTs z|3TbaMYY*>>%vedP>K{S9;~Ghpv9e(;_gnNxI=L#xD^Oaad&qwPLSg6?(P&q`sdqg ztbf029qgkeM;T9^LC8ol?s?65$y|tz1iDFe3}KVo#`x@vgOrbeeBDyb!%G~;7~ z5C`8@H$zn7#2X1j_v7K_=WR0gMZkLCqxFOv+p~~l)9!(f@7m+AJHC2LsBzS=TO{78 zmXOdQc7KJDhvtuV3fp_V#T+&l(<9CGLp|dKiMy#@C$e_iZjEyTk=3t@gw(><2c_~J z>tUR@{9Do|EM`{_<~CmRWy;b`l_j?37U04K?wbSrL)(4P6y}8u9v9IG0ziFZGqH zjurM(e2)w`aN)`8uIh7hExA5p9yUP$!jeMUe%uGAh?g~XupyHr7V`W#o^yA@HDNLv z-E%etEG8qJ5VYe1%xGp=r;4@eJ?ZW@IbDGeT}9cZ?e`^q?X? tMxcdB> zuBeOMq+A)j0%(X3Z67=LXqVL19`NtY!0}Cn-M(xyz6gy5g=e51cUxXZP@97O>Mz7E zQS@Bn<_9!x?!y_o)(6b}&YJuw3(NZPY;P7Hr>)nj49j0!o%PH97(>AD=E^8RzSoq~ z()5v@nJHCR7nv;%dF%N#<|rYmlc5D(wvfo1MO$OncuT|k@6rH0P3GJ!SX4vYz0|D% zhUL6Q6?qrV=6(2%R|MjueCw{UE!l3d=tR0p;cTeC?X^w*;R>0VZAKG&s|sJ&N=Z ^5p>1g9GL!m%$VQ;nJhvj@a8V+|huNjIa+|(vBJpk2S&_%cc@;Bk z(j ^Tg+CDb6cLXkNZEEn*J|x|Bq&;|AOaRA*g?mM$Z4uK%(E8g_7>m zL=9+}hrj$x!ruf7wg(^AA%s*CrRp93RA2mG82X=;y8o5e1(cSEK`CQVgke#{XI{0y zlE>+nf-WE(G^yMIop394&JdXf+8Jw=3K|Fzb#Yfwgec4Mo1<@zNXCf_54td1nec=% zqHm%o0l3D>5v^S-U1rKDbVyP{n%VX{xSQuP+dzLsWvK?*?T$|*;$pJ`&bP%RPEr^@ zRhhmp=KFFEkv}L$xPItIAs{r$h*0`~9P+6*RyoZTovjgD_q76)Fh~WTpF*ZHN+z=E zUQsyX$W=*_8c%&~RdIDIqo?m@9ubZy LEB7H@x|iGLp*VC{yJOR{It9 zs~Gs+y@<0Cw9nOG%`b&EhrU$jChxujv6qxNEuQIXn+Cw@}un(340~POeycN9+NiIcd64O$g-UqcA!|&~( z5YKDivH|l2@3Go H>lTT;MM1w-QqH8min{E(q4)WAS_UFLL1B((mh#3Xja- zEn8U$%%s}TrZG8u??K AzG67Mon_ zFZ8wI-!+|YQk+FP3YWo&!i&BlpbYuxt~*I=T+uGrh#vq=eMB)-9qc!<&Lo+>RdY1H zVlcd)!12xN;34ehh@JK}EILwV$qKiPRc^j^J%b1rwfaZ`WJ TdulaMkxZdrWbhD~uf7_5NtO+q-g+#`uU)#wn_3GD5l-)~#_;55)!X1oP7t?8h% zk|IIQx-)qE1UpW= bWvJ`VtCoRTgVBLd%ZHUan;%nOuKE0F`21ihIg7FQ>VhOy;}tPAr(n9E^ij z$GZ42I%9&5FIKV+{C48{3^-|fS`Q*#OdH2u?WqG3f}BwfMrOgxVE+9Q(Q<5K&HU&W zN2By4z`2%F&E8|CjA9JB9HQ0r1wF0toz #X)AGrz(mVJ3O}1c0~lrQTb;jGv{P^DoyvCNASD_xC?4I%mA0 zt!J%&sLVBqB}xpzprf82 n`2Yeoreu2Q_{?9*;Yp=$^r!9R#3avj)) zk4eE=Z;vA ({_0&K7XB>eaWje} zKf@>JF`^~LlwuX#G~c*chjT4h!^vAG&rO@!g7Xq_FhJugntWbnwQ;^X>uV>zo!f9p z9m}%3R|rX7)Eg$_L=n+(gBifF8mp~IBaoJjF)K-=TlK()N!P=yDQz%?r0U*B2>PeH zqS$!&2AAAnaN}8=4Qt}|>sj?!Hv^pb006`G VC-~8pEVJ-s9Wi1hrU)c*$8|s+Q^VlQ=K>&-{4x zXo!FQ7wOpts3D~sf&<*I!gg=mmQOK>79n^3=4)z*@KUR-<1sio@pZ%BWcxNFU_N|I zR#f)=xl`U{Xb5$4)R}FfhFy7H9{BcnxN1{sr2qX?Ifkj-_B2sR*+WO=FO_lH=(L4K z5dY4(eWn`&FHt#R(pFmdsFg6eRORnEq;~rB0jZb1L9wx#^_xy6ztrOBM55n1yz@=> zO*E1)@| i zRhHxI%_vodwNx!k-N*)(lPZ`bk@}ADY +JGQL&pS zhLU0`<>Sv H z3v8a{|DTBk5l5(2Uvgf`ab8NHR|xuS-*WaBZS15w#D5;rKv1|=;+!FJ4NNmY1e%JA za4(+AC(UQuP`is4sz0Xv7Tb*;(-kdpM;GBo=1%C>;DSk4)*~Gt(!w$0S#l59@S6Fi zmbCNfQwy?g47hczb1J4pgT^0~;*DnnnuH_~0cJ{bA=$St;xu|QK`KTuVU1Z8BqeMT zjDB5=T`F6MloCEPagZ&o^IpLV|5)~EjFNPtJX*x;%ebdv8GT0WXST{~B3KLEQz+e3 zq6zBe0JiqAh&Z^NLt(3igp?E&PeD0e$~J88{r*(m+GV;-zSow&R!y`eg^I*xE0yJr zL#mCj8d(k1E>hqqo2I`ia=$FuN1Y>fsNaIaIUEFUU9Rg0F+#E}_XPS133+OA=0(J+ z`T6jZjrMb>1MNI YyClhF|UAOzTuDB{!a^{Bj==TPLDE! jCpkEggF z_8*el(xtm<(_nwk>0_3>w_ko=ufIKsd$hz;cWbfv&_yZ~THwfz+}h-_oH5nJHO86U zfM+U=k1X?2jJ^ms7Z#Y0=z@N52@%*h$nGye{uuK7&i10pyQq>yJRj+tVQeDLuy8g` zCAWj5_{1{tjDy?Y9^ 9jlxpLI~>OJ3*5K(K@bnK~q-sU;6rOt+0Q`%6gknP?dUC>Ep)PvIrP@I0y zGH=9X9LtKI1Hk{09cPSB_2KT3tYb5a?3fINS?RYOi)KZ|fWjnv=m>o};*Li=R-0aF zSOT+pkPG?{+Lh#XG^K@S&+|3(%zU{OPMA)xVD)u~uKgkzG9lvjX8P8318ArXsX0LC zzTZ-o`Co#2 fmiJyCH05lRVaBb^<~HlD @;O@0Pebd|j+g1TRh*ZKLAM~R(LMf}CWcq+j-i*g z+d18L`M)+MGt2@n1*OUg-S-Ch_g@^U7PTnD=C3MSZPCb!iLbx3$hK*cDp62zEVcsR zO-}mMtqE>y9y&o^KJ)W@Ve-LMof8yrw(}PHevZuNPQIt{SanMRl6i+QE}bn8-4s&$ zGPp}GA*mWr{z-CEA!*W7j)>@O2+SkTJ;S(ucK(Dc8MAE}86rrBNRBI-kG!o6IhM&> z-ZxnP!nc-JG~;?WU!-6iUGYkF)+#DTSyr-TpKL!gPA@@EGu_(vt;K38@@}V|aiIPs zvtgaqV^TtV$sY+z)zU3hh|_+PcE!6zej-rLqxzHXoSv<5znd@h#Zhg{WI#iY!6Ct7 zi-m|YWgFzO@<3gM4KagMM+hj0Ru8A?V-zl1Z>Z->9?S<&zPbde%uuZ^Y 0fF^s%CJ}NXXmyFqC_P>N^@OnaxaE1b2TO`#9)34i!J>YW%(o z{^o0v=mvyb@kc0Pz!X}i47KdQQ!HIw8iG}b2ozOs!%JEgyWic tIz$o8Os1_JZ4?8_v#jy=?NUS{=ss=x`hf47){B)>AEQy0+-h3! zr=eSb{%x0Ng}g0q-0G^ff?5c5$t|i;vg+mgf|B (ecqzkB`ru&(=-99?CW!HizY|Gk=P81McU5JJ%dZD_ZeqmRp-o zHD&HDJ{Wi5XAtAd^=QrxSM(rlJCrjSU96%jc*D*;BOxRPm+DsUH?)Jt<9&S)AyF(x zS}dbf7V^ZK4x!RMQ#t@`@Lwcnqf)ef^5>&LmgMn@kDeuas<3kvMy$qKqNl?AxAMoS zW0s*6Jmb6@6KEx^NRBubZ$(072HE3bYQ5Z`2>EJ*@9mZF*I%<+Dz7wx7oozj0{b z51&aavFxHh7c9dLxsx_>7l8^Lb;>Ew0=ZWCWvm2s;Ye^#Aw(nt@_V1k--=SIvY^z_ z2Wvn52{S-?#>MJj HHrhAl`fGdFh}R&fs6Uy zJ1-zi(c O`|Hfl{?$EZ!w|67Km-{k8D(ydmn4Az6QwGzP77!H_uPJZs^=RXCc2wQ>E zSG>r`cl1sK(G6b=b?05H`{TyI#6 (ORr;~DY>YH%DbG8ZKMs~1pX9Z0_mQJis$*^s@)83c0b^fd! z$zz2#9N;qG$EQ$+tK&ztND&pxND~UGyqcnt>{psxwqcnp56@dzJk2NIqTO?Kg3Lst zw`|RZOa8IdT;!Nd>@R8Jg>@0q)}~E3kv5bQnM#PUfhIp&lubg2aUs`_jB&%vUlD~9 zsT7eFzZFEpJ;n!!danW$5))TA9_lWJbbKNe=Z%n4K|)D&jJ8B7suV|(s{e%gZ6iWG zCzL{oJ-zYBLm&H-G&9(1kLuR&3R}W5-bkvF&Iaogbm|N{nztG?LA}`vThsF0ru>y5 zxhqA$6(6et##RcrCD{_GevFoU_>08 1Mexd?rAIDsf!g zf2~rIo5H9ruEoJs=%d`cNiCnIVI!J+5ID@);#__;NML}EYzfb8j-rohEyIe~go#|hUq?+_+V4s)@d)}LpWX;+e%xFSx~>- zi1mf6Uyg6;XXHEt%Fk`1E4FCFlUf+;#`>16AF&G^i_;I)Nk$y;o5EwAiT4 }jNpg?>6edTM65 zLpC?x6-} <=M%f>3 zNTl0x`>XNSeEL2wP0b=&_D;Dn^SRfkqgAKW;SG}y-~pZcAXvQzsQ#wlAbOo0_fEGI z&PO!8_JE?$5q3mHmcdE`P8%{uztDh34MJ6{(~?Fj-dULW=f=8!I1&N)m+IKa)(HVc z=ITGb?K6-|KDo~}-EdjjhNDbCTyFQ$e9XDZY%>K>CPSHgLt&{`x>0OmBMydiIx9IV z gVjiAuUu<@}!x2lu1*a-HdfG$M;<61+#PpG@Nf ziHHV|miU{Eh&x!yPi}SbJaY7)PAE?G!VXXcPk^!B>1m6~2rZGr%%|>3Z3(rt!ppcM zDCFponpt7B;(1eVb+mo1B9v7BH@{}J6|vREjwVCNVe@J*iBOr2OX_4$c1nLg56Ku% zQ-1nm0|TSE-BtDD2iO?;vHHjQfiH4&=ubsOo6-f=Z$0IQ>urWLo4x=`6rM<$b)DL$ ze!aEU?BU6jwYFIB?oO|(+CWCXF1IIff2)2mO=_Z8zi J; zk7ay;gyq8+7T-cn el|EY~p~2-Prl3@JMR13a~^b zJw<6KB62LR40A28S0HT7)ZqY8e+!y|^Yp7f!Z6JL% v z$7DG`_Voj;H+PYcvXK`w68I^sms3Z#G{tmsR<5OP(&kB*N=|fPOe<7W8RO%O(A)}7 zJx@97S#bsCEeMIScDr1PRe&ITy{9JKBh&a<7cgAEaj{xYZ-&u*PYQRLC+XV2VQfPl zg3{Kxm^>zx6if^>P3MJwk0A6!j;KwtkZ^cZpAs-m^>z@TFpdaW)L^Qpw?bY5G1Xz$ z67*m_1HX(&{%T*n^RnE1b>Ch*vVB$Y^by0FLkvQk^`7L)#Po}BX&+!JG5=1)y<%~^ z+s^NWnh%r8j~V2M(~4hIM=zmEb`?fpk-IzsxLtlAo%T%B=?w|~kkW EO z<(qf&0Y@Hllc^Y$YoZs&vf=R6@?|}CDkry=zewjlFSCYASG*M;+zJV8g=ba=JIK}s zfw&I@r(C%`BV{yOd6N_k1@-sQBbKO5SRESltdbi*o$+3>)v33k^65z5#j?e~47Bme z4}YvGn&c)J(p@e0F~HR1f9CnTF6;W6#FNGqYZ_E1e*Ub6Y1cez{CG`OKDuRcCz&m> z!J^$rsz1dA@?w?6?ZN_#71_VYH+e2oLiMEga(IXXC%Si>L%bb)^YyG9#eT(}LT*K} z=IT~&DfMt0k2HCh`NO|v{Ymv5NcSW-Ws)s9evHoAwB>7Dw{r0KF{Ev$uDJ8bI)296 za3hU|x`}O+_A=N%JuAl$GS}R@3A xhL*pW%YWDp_CW;HI37uBvXC zr56(q4D9&Bm^D5L|9syfF9~(4OX7a?b|^V)PeKg#pea2jOu=_3L|@FA6($s?8s*0N zlGmtb_s2}6y5UC kvl&k1ukU1bjlr`4d;TN^vy*Xf{ zf=#P85uLu~eOa}Vwb@rD@$nQU+ T)EG~$YXnwJy3^rCX-8ZdT9oSS2{Jl_ly z{}1{Q{*7Kk@|^Da1EF@b{GkBy_*ED)L`ZQV0<-#7E`V~wSB%j3i!$f4e;SOsJg%QQ z1 4~rtv@3Lk^raP>tp%aKOrp$Pfnv1sDLI~HvAJxEN!&^ zfR+3t+b$Ugd}t5`d6+R0gMXl7IO=_zZj$hXLhf~8PEsaAROh#LRj28I!M{jyQyGH` z-$ZfxzD*PMfI~!Xzkv(1qQ%vq>AT?8$q+zE{tIzx>VbXCRotB0Vgsgr-2en#R e~e zNsOI72cn!Y=Kc)zS5TJINwGja;8)LBe~(L>9ckjPDHyz%=_FknD XR`JRLN&T+io48D=B|U|6wy9*XmXiimw&CZn zLu}qDGE`1K%Qx-ztqe?SP{J)n>`$z^N6gIxh39w4fpD}2mcr<5D%lYGvm5)7&dt;= z65*RRCOsLsL+`0}Jmn!)gb5^2y*bKN?`1Otp6b|punHE0Sb>)|5@3 d49t%llY#Gi3Jj!{8k>xQr_Pe7_O{JADO1D)!>6Y zQ&@!#s`VDMeU2>b$aplPQYaPF6E+aa5R-S%4h001L%PYrfr)q4E)y3QKH{Ve^_3yO z=-ch_4p05is>7uf-J9dYSicdmb>{F}18DK!eN}p#+ cPvwP{&pZBH`=^ zEBRM_k3jWl<_0P6wgqC5#a8xbY>)jgVJdk%%bOIevUziaGZzJRR22G)?yIg%sE()` z#`f4})V$-xPSGRlY0fAks7Bz}^qFx6`Woi<5%^W6 iwOvMHecns!evrQrC5^hhkB` v+=b?HT#Kcg0tIXoPIA z;N9nul~2W-8TOhNqutz7c%(M%^4AjkE1sA0f&Fg8spp~XIuWUH*dSFpDzl9o$kQsW z9eHNg6iPrtG(wZv`lKJ|d?CFic(Dc*1PrtZ(Lq~%ONqz(8n?zyymP-{eDUqjyxd;P zo)={EDL9MOJmt>I;%1uw*YiVm2lrai+O+KAZ3c1pskRR+u8giFEz1tE3H4pdeuR;j zu-`&&skWMrAD~ Jqgk^3M*7~TUE zd=rC;8OpKqv@7TxlVeK8iN=q(hc^OR5IMgtj}?)PCvI2>_kSRqXl#{c2rWmS_4i`^ z?Bs7z+m>Hu#xuqR1_1-CuRi;>Pm*myDiyCQ1T4alw(1j7(pB)+W|97=;bvC=b*UHr zc$C<(G?P-y^_QcQprj6{a!ZBG^^2fT%sm%G%H%O|+>~+aux5`C6hsY4e s(`j1im0^%WPg#A zqR0iyrL?8)%z&^`$(jq>z|&u|6|jB^DAyLsA1tzh(BdJNjc8&T|LN4maF}EcQK!Q; z0O` S(Ai>j; z!i)V-=ZdVQ$0@P3xKRq4PPCzC>z V0xAKm6>Y%P^fvO#OrLV#-0fKRCchnlC ziChz*DtSj<4Feq)+wzHXvd!i(xEt4I=m%=HrH 8hZmS`8M*jLLZ8`x_TQjUHXFdBvW#RK$-ByJx z?Y?d+6L>#87%URe(>_tj;F@~2wdDrCrpTJ-I-&wxgod%^gcnU?mo^`Blx`ojtbmvf zb06HCX!>VY>#dJT%t5g)>h#XDpJ%)uoZCKsQV*wGEUlBo!jg<90iEsr3QFGOhO`vS za0&SF#}g0w!FtuDz1c2C bo%AD|`FNK{} zo-^Pr=qftV9K;NK?WECP1Vq5eEDkysTb(%s!7jPgBm2+yNbvem$!)Hz 9aIfR>{E{Rm~5cCgm9Z6mt|%5^%`Ap{y-x-D1WrOGqTK26l|Lx3_{XHFPUDQ(W2O zcIJsz ?H(ZWSiirBX!ZQdWVZ(>f!d?Mv^1S>0Z$ z`BM#rM(Iu)**yGROR@mVq|o9BA{=7Ps!7G1wG4hVO&_r*dX)o`DPzrWhQ1@gb%>~t zHkD0FF%Z~wdf2Kfpw3kAZ76!5!SsBBTT&XgWP8+894|CjoLV9MMyGNE(}?!JQgQVE zdacU5ZqU`!UnHczNQ-63|GX+j;phinaUKJ1{~)#iSu_1FYTGjzLoz=g=3{WWTh7^n ze}i%eboMWL&o9wRypTnzC106#dM>qrb_)4OaW0cz6{!dlO~`Vy!_sdWIv0cKQ$jS% zYdE9ifKXW$`f_4rEXJd83#&S-4x%>~o{Qecqt7aUWTdnx26kTB?bn=G@n}RXQWz#| zM0}R(ycyO5h$3QH3OpF(?9ICm V|=L*t9K+DsjfiJi0|omdJh#bt3#%1V8i#2 z@{}h5oT9<~rh|WNp*o7~Kc99!5;Nf`5F(qOyhTYD^GPzX-?5Uae=6LywZpi@s{ss` z;_#DYvP*h$k(ySR1>y3O5 GT&Lq`mXvoRdR rxC*6;clZFdo@()a+AB#( Jj3SOFoPJ<%Hk*WbZ1^>I&A z)#Mi|UbFSdbQMmQikh^|_xTfNw!qmoV9O~hzO}YKqvlz=Z2$;Qt7c5d>bH~EOeDg! z?=7CnQe(~L@voCO7m4?=O7u}P@6fZLu)uzQVMS8VXE;-HA#f08y-%`B
)(RX8(ymd-i?2eI{chk&>U_l zC69pipC2N~ZTP29mQUYAg4boAC3mb_8-E4dttgsvI`x2~a3m)l0mh>`mJxG;fg+c# z6`NZ%94Qt4Ta3~`$ep77b-zosp1V_j;4@`NT1gYEjv8ry;XC<7_gw|<8+S*jisrWf zQiz6fFCqdZvuU%egDoY|O-vwK^ZN8*($LPCY#`L9AkK~s`>hDGch&ZaFK?yQlS0V; zK2m;%XjN6m*GX^N;zRJkd`m|ion^Ffvhp+{x;R>Lsxe4Mq3N|^?kcm&t+k~)5D|P7 zE7RNQlu$ogd2)tbaK@U8iL-qlknVqr2z|}~^^w^)e7Wwu+Ah5-=K8^R>cUOXH}rGj zg(n5^7_M(_BUg6@>+y51x}9ymmk^HUd~f4U2#*SX=9-c|m_w%o4N^esQ~Uk(b*Pav zMRWv5MCOVS7uBq2pOPe3f9_y*z#9N!(SmH8P{f|ksFt_(=JG4Yq+>pmfX2;G1Q}1{ zy1Zp9R+*|0#ke|#+yzp~t^HQt_=8Fhk5wR;$ksttyjq}Rgk}4ja0T~9UU+Q*S8X4W z`^ly8)op<1+n?03&$uSvvK}$YH14KXKIyu@ON4w5)5;odWQH+RuEx<#GswC9#0cH% zQ+Ac^Th+4C+`*Pq%> r}C7&!p6P)1qyHGTYhHp})L2R>Oprsta^l)mP~QuTw+j z8n!Md3-S$b a!0U4BQw7&75%MmA66+_$-Bg6Hr|HfA%>Jo|iR@`7njQy} zRLQkZ36pB`C0#2=@3vJfjlg4(EJFLixSU!6ho0t33AeAU^x#f_W9gz+%E?_apOrG# z8Vr3i iM=puFXqqsjMp|o?L$GI!Ci!S zk8>}f{aJ5>H?cfzTM-F}1Z;qC8{Y(8M$D7LkG>>UWRa2{4Gl5QAK!y--dJ;bQztQ# zk2>-~eUf%V_p~%=d@fP?+(d$wR*s4ujMO2wO4v^GsqIaH&)jEw`|viIaoDJuN*MRz zQEwOg)ik|oxpghU^FT`!#{+WKT)CvzMV;(>-U{L?v3)1{Iy8{#6~cpeY1$FwK=>`| zGvkN{@P%=3_{{()Lmd`;E%XaFLYQjW-}Y_KvMGvHbu_OCKsjFB4$fiCj-_Mi%Dp|i znh%<4j{r4|p~s@&gF`zHQ>Pj)?!)ZDuFCh39tS?d#u%Tva~Aczl`qwM3GNP9=BG$L z!#&Cc#>tN7seeQ{-ufTm%XdEFFxvW3S IPS8?8Xc3cz)aAMdZJO@ZUr|0^Lcn|C z6cuN0CGp%!$fNBl-=|UTI4;1B()4pHjlOI@$7b#7cNkyv%7mdMZJ7z(F%^O{Y?mI$ zMFP=JLR19W;-4)YsrLlmp7MNzu&$1QF*9Fd>l|#ocJoFMu=rqV;6a)#fouab*3c%% z4KEVzV)nJf4>3-~^e)yk_gi}4=yNl;I;BN<-d%(ZR*(pjS=DYR3R) 27b)q;?ModwDAc)F__Uef zIal87tF}%bZn8c8Gogk?(Y9=gF8AH{0U=66|G})u G1H6 zK?9;F(TFgArYfwiynVg+>YBBX?+7IZM5E1twG$tYQ0L@%IANgvDfSKJigj|rJCOBx zDf&)5t~e(3n Xn 1(H+)e-C+jjHA`dvg&9M0qhVP>xlzFcag>9F|47w?o~-J&3s85u8C`4 zC!2jDRB?fz&${Q^B79IIj36|?3^*7V9C=|SUSd++5_wJVX^cJnFA`IbS BVdyJQfYSTQ8b*hk*95Ux_*y ;N7lxV=Mr=&N& zl6#;YKRlsQi|51KS8R#M^OZ{bm%>?5%)SGDA3q}t&cqj^L{t#G5h;?V!#h_ss#I-0 zRwpZ$a!U2@)TtMxrA@W^!dUn-#5h$?WjhtA8?mxNDmRtMoi5J&H9kkpN#6S(QHZKS zx6)ohcUkm N3d<(bjFI+oNk+v8M=1|?zKg&-oA=2w)(lEl>~ zbZhfjkx~br41 _`%3=fSk^9{;sV_&~XCgpjym8_YTk6NC{F{g+AVx7~1aw6>1~`mcX1nwYKp?u%29 z=K4)pzMJ)|gZ*2`r;}{bhLPT!G#A|N3h>R!kVG7pQTzw5GBOZNbsSSXGvWj(v#BaV zMBt_T_|jagrF@sjfX^s;#P9nRoPiq9qJnWtI7lZv!yK9AJYgB)PrTK-zqh@jK6r+X zN)foCA;i=o+TAZ7>XaS5y;jlhfS5xypVi!VvLO)Pfe5NfjdTX5s&R+RyK(wCR5$JO zK#knyQ6SD<&(OK%&8XS2T-In^rc~CfqCxSQaKm{1b`Ebzkl%g5Hz7^2hhVHH!#Uck zh0FauUYI5f#B`J&M_%TVx+Jyd-;F$RhQ54!s*hHov!qeuRXFr(YBNvhauB3E0q2rl zV0K;F53xN{&&1o6o=5twcvDGyuh2HVyB $8V##lXDKB)37 zWoc4TZa)nR2A=fuG~&YycH(iZTN)Ha7Y$$+fE>%ej2@emwMA09$2(+KB(UOnNsnOC z_^G@2_Ng-)_SxIZU({E2Ilrt^ziSb~-4*Y;mAFI?vHh7K=4!Cn7p-_j7z%x~ZACUO z67bynu>I`8wR=#D7p$5k(?FaB<`!)8!0|ezS2m Vf<@1xkSn%vNBE zmlRz=?a@eH;v^)nYrWN`U@osnvyaSFCtVt|$-Pf0QXH#avd)q~o8o?X9^2S YF6tgdxHY?fInFQ#B+F(C*rQt#$9E}4t9`I Syz*XsvFU3K9Im0+HCQ^WYf|@#FakO zzRpCk-Bf(DhF3ea!FU_#|0i9eqpDZlPC4bSKkIxDRA{}NsU9UO)&2R*oha6A%N8Hi zJXxa}nZI-e$n$)K1D5eb-oIPNG_mn1e0+x}&K%%in?)GYG#&N012F4O?c>Aja#h$G zY10pHw_3d>*mVf{Dq^bg5>R2P@2xv+3|(+OUW9`Al0NRX{s=p$5C$B4`qt1k3|@B9 zX cM4lH9^Lf^994{w*O&?9C)n(yOL*G^G`BW=}P z@9~+x`+3U{XXODM_PY7SFljqkn5JI0 K(VBIC3lN%3O@IIP^Yu?dI>7zf z(q+Ap*US$xXWo*10OQeH0Ktj+rDf4qnU2Wln!iXav(j+-BX$#AEu8^eMYfbdSdAW* zGM3*<`$HX%gvfVtrJO1OJjwmSbnRbW{#L?SQ 8HaHoohSjY*5WNalvAV zqIN*A`RiY#RTV2A$ 1uDo_G5t1t{YLORwg%zh>^4$3j$2q{|nxrN)UCj$O^L zyDEW*?2?MPU|>{kdrToa|D4NEH{Yp-X%^)%|JgT>GBNh@Q|)`~xuQ&&9Kj50F;ONx zDyxJF4F;Q8Mr;+Dm|?5B)KpdVg;|WKQVvBc!%}+Ne^)g9cR&6^B=w&ZQ@$Te!30(( zLF^4XeQz8w)~s3o_Xa{0OPTd^MJ&|xIxSdXybS0JRdXd3vQ7K;_mJysi`h`r7Z|ja zeGQ?+yL_ZDY`u^pHRx!%tD%Yt&!&E&rRw`yTbEB5*GAj3^47ZRI>T)3G=Gt-5qSdd z132ai +WlcmihQDg%oXcdB(nt=o5c8v!M%MO z<~+RB ?@bzI5oVPKizE&%mw$10W_$*w8=pC5c-ZGAu zB{l9(bfYehL<=87jzB%d@`bBk6pYM}wi&O@AK?jSK=uq)M%NfAy4ZzjziiPB!$9(^ z)lLKBg=rmbNv2*@mm;Rwm`odEkPrIvP3N=y?oGBU@I#3@lf~w^RSji}P)QVREklKr z+D+Nyk}yYOXpsMKtcrSMld62bo_p(znV=GosH@0daXEShiR1GN{CvFFi01e@a5*OY zgb(&O12+5l!5GV5QNonk*N0Jq7&XM?i;ylKqVzjSnGTAv%zJ|$5Hf7QzAQ^!;`5|- z=W)sq;-)7&5!H)rr15N16EY5(O0qOIXd~yT>jY#I(Q)h{OmNg!On6B)A69(O-&aVx zKV#-7Pw=ina`@=3i}RcDBL#*77n?r7a35yha16yWIG#eyX}}qr+1u>dw-oWPn#U=U z@I7u##5s5Uhe~l%IlY8Q1d#?D@l7@?)XhHoHJsB zgh!?Z5@)4kj&VdKHZR#Xxx##neoeGY^0k-|OX_otjr0-{t|Y3=TB8&hN!vWDQ)F}p zqKe{&;DSIq`0Rf5O5(Xf+(GrzY+6VY*Inw{k5zJU`10y4$wnA$kQDf@tk8!Ujh!v& z^)vBtp@kd3`~{Z`AJy5nq`XmAkUK@R4^;J3hqQ%2U U`Lj*+5jwp_y!N6FbsSvP zxmO@wfDU~cB?)$9ZSba_AZ#Oo7yaTCS>?P$Foym)6koB$4@uEyfg&%wjY^x~ zsj7iam8NiSkCIE8t3vmek~*L!+N~F(<*ClshspBv6H&k8@TM=2s%CZ^9- uRJcI6 #WpeR}8&Bp5eaR9{ z2PltnF1_m)isnvWL#N)DNp=V`UCNJL7LuHYA>f2~L>)tpkwBdAJ(nFY{dw*&;&(QM zO7%2%+{S)t9nmCupq4ZTP7#;k`y0-3_0fm3R m zsR(T%)VL@M`inZnwcxiB c90C`L-xwkO|x0MYns3k;mqM{oUnEilB9 zoVX+@q&-AGBZhS?y@xepx6O(C35CKaE*sw{W6%6pPCS_N*3K$BKGlFbW|Yt&B7wKO zKZ{b4u+#Fsr25P%T!N1i+OqVyyw~Z#ilOCD9D$YVJ9?w7Cj{RW_q>CQs?*U?-*D}G z(le|}J#rR!j%=S(r_0GFy^Z!SUDVTMNP6KgU0rf(D=`IhTMgYVa4!l)WVaK(0_jZ8 z-mdhB_^vfz)-?n(@vrQ)yLk~PBK{yU9eJs}O{ryshpTg|LYZ{MBak7pq3i2 Uhb zy+*=B;fYS__Ihd_=O2pH!uz!FKU(VM8DoykH+xMr@g~=@sRhg#Ry-aU`+!6ZpMAdf zCA7N4nx(bPw*@YOSBi5vCS9dcKVsV;I>D*=ro{`YZ+a|4GA%=X2K~PXm;cIp|D zT9cGMK>Ge%dqkI5_9t`(A>fs>@YJq(3f8^s7u0QqWRT#h@Rn6G$V@b R$O9 zpT?a_cZF!~3hu2LpKw&*<5t;-F{kMLL~9@-|9@&SG85a8osARc*MSH^xYb5 t(z?;wZf?tz6;A&xyI99^xsc{e# z3LY*OuUHko`du@0MC#gf2q!ETNW-Rl!BjxpVE2GOa7nd)j{FRkX?Z!@zHn72!O-{} z%v#?-GGt5l(@0G7F>;pFS&KYjmGq7eP+=#La*9|l%?dS6iWkrDh)Pnl3&|y(*8TOB z5;OK+hyqwGRqd&^_8GCsQIAkTN8nrkS2UtFPk_vk_s7k$D6>a$S>E1J#-;2SkgAHf z=_@{qWWJ%UBcEsM>WhScflVsPJai!_C=^h@$f4DDa0 fW8B9{#*3@+Y}+*yvaUm!-xk{-Rwo<}_|hIJt*#FK1~@Q)J|RB8 zw90^pq;_chiY}9joli2|^4*p8hmFA7MZ%@;u%n4jP=^4lqZzVQ+dWmVW`jc=^k4DejOknz5fAat@_^R*Q%* zC+X&*<0wRRg_X7l-x|5zaA`+-&c^hO6J84V*Jlh1@KCFPW$Y|o_+0X=eJPq%yx}Y( zz7EU4tr1W>h90XQjJ|juOCKIE92s jchan1qDv>srD(i{fL6s29&Lxc9cO+2rX+!qdd1=sW$Y0 2!VMCl-6d2T~3; zKKTsoFtKD5&T_3_%4jB^xCI^w9aq;iBg}0f^0l_S`wyYUa8EM1G7_G-_(O+t|ERl^ zOyw&og7Z~H#UmkC&etidf&HYGNuRVr{vv4wUTlUoBlyeLc!8GeWdRp83y{df@rx|w z!#^$qR@TI?i=>iug2IDhU;rPTLv)B~q2(8pl6QS9JOIgEo z%7KJ9e8ZM2r{Vlg=f{lRNH71 9v}0b=$)ltvi+8FeT3U<(zoVvtM58iRQ@Pl>wabY9qV-e)g4P@kfDSs zWt&!(HaKB~SmZ$3U=Q>N&vvei*y@t?pim()f<|MEZ;wBy+Zs!Y*!d0@WMVPb2*1X< z!liJUr-Kx6PSYwMIsM$&jzO3iNlHW5qY~%=! B(UW%4&bn`JP63 zP(5mryjG+w!9T~Ys8SBUDMxEgz*GcL9`lTkdy4XO0FjIK_u|KI%X_&6rseyIU#G5p zzb)j1-zJ$0*Ux1M9WJoybG&iqEcE4{Gi*jOsRl%GRVGTZhzIOtr3zU_eH60hs!SFd zpUSh&%X~|BEFN$$#lBtfAuVF$Ni@F4U*gZJ;|N!xQ4XG*d>)c>?e+hUxwi~z>wnk1 zgA^!53lt|UQk)i-0>KIH0fH1Q?oy YV>`USwviyvQV(S>Ic(>;BwLVgt+x3Y)?|I$nLx7%m%{OmdtO8qguS8PCUm_9VtH z&vSrpE_TFbL7t5MC)N`aTnQfGtRV?tA$+O^GAZmg>=Pjm^OBqH^M+3@Rh4NHIXQ~! zveWx~v)5$ugI~x($J%AIe2_S+Ra(I7j!VxrDjTL`2o;z4lYuywQbJj?bn^iD_LH zbxzXM)QhpLcTTCQ^;2!uVNNg` A{sI*c*A!<$?9MqU~|xTW-HGfCg% H_n=wEx7o6yc zY_9W-2lPA<3^~w!Ngkz<`fUbb41o_cl%*0s#5(TOck6pWkcwyW)uuB)xJBH1bANMb z{Z9S$Y^xD5FH~@tOXmsX5$vP6WBVJxf9yaFR&P|>cx@++Ae NEz5ED 3hgH>w3se3`;Ifp{h=`E~rzwW}c_5$pOi)LP zGczVl2@lF+pZ!>yZYR{t467DMkms%kc;+_~ay6-trq7=Sb<-Z2(V3%Q#v0%JgA 9OSFJDdl(*un7Th6lXGRShaB{5LppO#nrzFxo!~^7H#`<)6Qx*S2h` zXL^ra$nVYo9}(b~+8qnXxUE255iwl9%fL!$&%yk`jXWPgtS&CAO46^%?FLS5g22DW zF^R`ej)!m<`X5dIJ8QpH)3h<<=qJbDyi~u$P&^Qgzo5y2&m#@tXr@cwZ~*+77mdsH zS v2_iSBJ1tKF*#V$6}2EN*4*0t`BMe0=JrOD zUw^g8OQD} 9oc?5uCMX(JPU2B$C NW!b z6V)Xp>O&FZBjFStO6*5dEn@er#EY~*WBF_zqBy|`U-=`OvSr$g%`LJj_J&Bl?)k-% zDWGb1|9mrr5>Cc0Z}}2X8W^3XHCyBN1^r87VLZ#9gsS31l*1gdKZ|L2ld{L O_>4Xq+_ zhJt@0auD(A71p6%Ek;q!N8pCLBVC9`b(q+%c}C@Xu7!-wXKpKmh}0iDcd70nN#O^Op*Kor!T(u$01SJxUPQkh|`%$ zP}5k}Z{=H`IK63bZww+E=ZWq~W&4Fe?UU!i3cS7It%{j+)gs1isDx4T- =c0;U1?}4DRrcQQ zQlb8p;%|DW`Qu%&tW&Z&KXpWn^|}eg9`o%yM5J8oyUaA3vz(l7SfhDnzw319WAUG* zM%I@#E)LE+-v$@{ocEMAv+w9uS_zpkRLg0Ng-uw3R%B=V (F*lZ>v~93B4B^1^YWLeay_qnV82C 07vic3aF1==;0?1QPZ^z7_zEa16BxCPoriu! z_-B$H@Ayj@W4D{^ w(mpCv6FWBn@$8B~a0gDWzr)44!t`oy@eO ze67HKHo(m*c0*OnWXqq3&4YGcaA+NP$bH9Fq7spBn^j%PM_g+E5HDw;k&J5%<7F%u zwHht`B{IP(9>~|nCX|{(-_9u&tHwC@IYN8fx}uifl&`&E>2% 9GIg>yH7q+j^ zs!n6%S)YiS7uBo@0ld9PYXh%R`J|u(s~W_??`%Zc)mSk7O=*Wl9Yrk_vmvLI+K=dD zP9IEO`25Q)<}i(iz8^|LvsZ{>JE~(psIzE`15>cSmUh-yimz^de~#ShM|}0~a@Y_~ z`vQ_)@7O _bp1 zc}nT}P=xy>5%>cXl5uZW_g#VE%C_{vJb24CE_7YkzzKJ*{N>EbjH4F}!3nfCKba!n z!y-BpU%(EPG5muVA|G l)?60rV=jK$UW4=y`@ zBPeV=_f&+W9USQsG2FrP7nB7z_~jPk>0tg(Yl7r@lK&yl^7Tu>)VUixC 0H&YCG z+p%rajny7!T*=^!LKwG2x$UGI4KJTXGHCZ+&h{6@y2@|^G_^pIY^XWH>L5WaW9T#w zKdZcEYx)^2&My=PdkW3hiFe`Hx$yp|hl@GT-X3Uc)%ot`q52)CjRCr~e=+3{U=p3m zHmT>FsQ8K|;s2wOxlH;}QZ1v{qqRB>+>GNg(#?H!mdl6MtsRVA$A`DRQTElZ8~=Qz zKmo7({>*f7+Mj=-&narcC|x|x5GMR#Sj9=jk|ef)J58g#AZFVf(GoW#CQhJIhg> zZ}wJdOLJn{8-?*~&TWBPvfKdrQFAO{<0C_s@XdHT%SkApL!A(kUPWg|Ye;bPpl6>D zX6t_vA97-MxZg|f1}t5;0MYo)$DdRB326z%vrfd$u)|vfqB~=d?cJAg an}ziUzqg| zrPH9}u&QuUW nI&NaWpQw(f(YDpp6h( zLK;KxNOpCK@h4HgV_BcD?5C6lPPmQ4T?jqD(bXu}p1hoKjL%;}doLLKTw@WmhFI-5 zIV(=C=3XD(FzBzBX1s%D;)~k-;|C@wzuX>6ogi&UJV>3{dYpM6!F){lP(5YW@~pb* zwK1I1G}O{;K|6$<*prfR^8gSW*Q)iFs_W?9t+`?_hNW9U7L320_pGb(YGPAUBqp3N zWEwm@u3!GR^k5{OVrQpZ+2Gal?R_47DmOJ>_%#L~6w#OeGUzvVVqJ<-6oBA8kY(FB z6wOG}_Ip>%n!gEnjQ+p~-c(g9XZKSLls^(Jc25)#r>_aq7RF)? * zTiltT0u^wEP)W~9PHDQ~c5lKncG9#3En~`TBL$3LRq=Qy*!V`B1Z@<%K+3>%!upfT z(4>7>k#|LLQXlq7es)}JUtS#L ZME02SMPS-RCm=w_6gUl$$`>)=Lxqk8FO5dOImjVTGG_E z7TYjAQ>fde{JQ2Nkb6G*%GU^W?t+$y=Zd7-1y~a4SOrU3ZTVz!dqgffP@p6k|0H)1 z=v1NrJZX|<#H#x+fpi8(9AN7`czirPM{WW*ysVL1k6ug{5T(Ym0aI}ELWLaOOXkOr zRp@Vng7ixq>=RN$Plia}XX<`}xHX(>I&-~Ch`PmPjnJHK(LdbVb))&KjQ2JKox2#s zUnOsV1~63$rzGWqcyK}1G2yix1#mLs#=mmtp|ie2<3lqscutdQD^rVXhLL|Uz^Q1x zErjhmRKIC&=z+G@ztvkdzx$Lf(}(w*Fiz`_y1NA1L|Vw5l4qCc2y+DT`s#l8ZWg^b zH?T>GJ*ZBJn*ZT05l7-KDQz@<_; o(Vl|AGEB?QJZ6}R5;(gXsk&QXA5!fU^2UD=oMOJ8&^6K}GHc7n9Q11eIZ zS1 (XXC44P#oUMzFp)0G}4 FA;w>3YxfI=_~n@Zt`Pj5l!m#D5FBlr?pT?wx9on zz~x7X|Kcqp|MTWQ9H?pk>w4> 4LyPzO|IryBQ`VhACh$e zP)hZnXuetE{Ulbo`$h{TWa#F0fHZc?5pX{A^5JP)S?Rh`tU(Q3Ol41#a0=lPAmt z*P`^01;S+2&k8-EPp`?@w?!q9_ve#8&R0hu9e_x{GsRAcSqcB@kQ?*zT#mjZ()0L} zLE6i$_otb72=S_X7gLsj!6b9YLQNcUq*Bp=FTZtshY-WZuv31gzUbw)!a}h?i|!q; zk(uX8Z=z|8(P7kP0Qg3WRZ01Gkv20sXu=g!xt}kTdTR-PzpFHmYA|h>*gr_Djb$;v z_PA%uniPDt>Cnm3J%9Ovj5u2=CvNj<@#sBRbaD%L#{F#MWCY+b1Q#cfi IVC!gckZA#?VyxT_u}p;?d~-d-LoS9XK4$qLnl;) z uQ^VW^c1TBG{@Xqw9Kc<@5MALSVIZK-b}(XVU!ssy(t57~-n7^EFAj z $=iw!>vpRgKA* z4Kj#>zLT^mvWjq;0$eg6Q+H>}KYx)E#pS>e6;SC|wE;Rd4q>XGS@ZW$U1`^&!5vZ7 z6;0DBbMz{rG)dr@eZuAQ(Pye?M+9o(58o)|^H+UVtei+PSYpq)F*L)m^x^VJ*@InJ zf8Ei3+~;d2QS76y2 wbjym}4Uxk%5G7lfP zwA2xgJQ>dc$;mU!lv`9V9K=B2Uzj=>lcoV|0;wLCeU HGIRYc_oTAwJfOG9Oro@jB`#j%s#PgXP z`SiM4Gi6WSM$xSP^=A`UgR|{<`IoYVFtt*j_gvg^he7`2wlnwXb=6g#ACG93FwTbH z?Z+XXOU|fQoqREVE`2EIsI@&O#Ju|H_jIwh_FFs+N#*<8Z09thJDHi9oYOZ>?{*aW z@>LJI>Sl*e8^iswCMZdYZHBm3d~^i2;S^OyM}rwIIdfGtiC7EPz$kQ#`KPG*3x>&N z #G4dKo^vz>&LSq39<2vK;`FH~AEOji}K$pqui2Uh(H-JAA|B zYo|^H8i2Ht95P`i(LY`c{!mv!-x#Bx!9@20Gbuq}c}l3;hd2gH8}FlvtzCmXIjnpZ znvSKMh`|W%00aReZ%F8!z@%U?ZPgb_LPl1zjx8wN#DFTdZwiT;yHVpr6RQVbi^J>y zc5=OJ?N`3S-UWii_>VnP85iHB#zn TM+&pL?w)*MO#S{u itVt? zqB~x1=N}G&>I!K#HZPzSFg2Ant5$HlJ01DRc}TOv#YJrf6pQ~|XeRA+g7o#f8W%;u z`k42gi0EDN2Fs|*9L~vP(^Q^Y3mM8@VE4(Y@NH%)w_#25QQOXqSL*!G480~TW#tBu zxUSaDD$vlaQYa~SLk;El@vP=#c9466VBjjMdS>SLfF;RqZdQ$kIwJ+yc`5~VF!_*; zSktJ1YLF2{K8Le*;P8#^+Z=;PWjNeMgF>aq%%Jg@;b;2(AllHcbmE}}GcO9V_bbko zmB$gatT^$h%UKDaR(6XBi}%cc?+H`NF6A|x@q39?gV|oD)%Q~X{UzuOnFA~C$CZ-y zW k{9}2m&zmraaI|Fuos!dcKbdcHsn_t`}M!A`O4dwzEBsW zFP~O@6VFiF>T^j*D2WwG$}!f(I9WDu5u(+=r$tS}jZw*Rui|ADe*PxXsdK6!a_zB` z3;QFl;Wbu`Dz~{Mv@}~5qk-_JF%@#pUfV3Ws9LUR{X903XXz^R93eN=Sv9P--~MVD zY$Is)qr`3-?tjF?W~8Qu6M|mtzQll@=1pyw68%xFz73 {zmTs>7eMl> zNr s=i=Y%i%e&h=9i^Oap(z*YFa>DOWD00b! z4({AxooEd>GFm*K$UGaJI*OHb%|#&$BsrNytGj#8S|FTjzJa_y+_J$-6oQF;>;s@! z*$-LYs|H@FH(@jp@gm3gji!kD(+ gt>F$7f{ z<%YeoI9Wd0KXZuKSpE=yw}^3Gcyxu)l_OE9_XnQ;AndsM9I?ouwykdHm8K5_C4GeO z(5;S?gWQG2H?DW)2OEh^ Q5rJW8!!=ekzBA-;0Rj%}N9e|vno3Ju8%n}XcF zE-~q6uyQNELCG<@Y=nz1d2lY5V#%bdl Y85v2l>UP$y#&RVD<&XljSFJG=E^#!PD&hTcH~l!&;~A6qK;8Nu$8aW32qwbe3m5 z%(vb7)#u~Ucc;B`m*(21KkscM@26H(+Y~DR1q?YptS|%*B}7jY9mbeGVH4O^9O%uP zuS=I^gs>J=P^C(r)J_)EXQ1Kbq6%3zilE*F6?C?t?0v%%Hfr#cA*@2Bg`_WZ8Mg5S z&kE25a;SW@@VW8-Puivazdj4FQZXWHR_~GjzFhhL!5-zVvaQcBW;i@yI6*>UNA0wz zt0Y_nT=zEr;a!$>B