From 381748909794764acda982211e3e2d7ef07321d4 Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Fri, 22 Nov 2024 02:09:26 -0500 Subject: [PATCH] chore: remove old wix building and build on ci with cpack --- .github/workflows/continuous-integration.yml | 17 +- cmake/Packaging.cmake | 42 ----- deploy/CMakeLists.txt | 9 -- deploy/dist/wix/AppBrowseDlg.wxs | 33 ---- deploy/dist/wix/AppDlgSequence.wxs | 72 --------- deploy/dist/wix/AppInstallDirDlg.wxs | 24 --- deploy/dist/wix/AppMaintenanceTypeDlg.wxs | 58 ------- deploy/dist/wix/AppVerifyReadyDlg.wxs | 140 ---------------- deploy/dist/wix/AppWelcome.wxs | 29 ---- deploy/dist/wix/DeskflowDlgSequence.wxs | 72 --------- deploy/dist/wix/Include.wxi.in | 23 --- deploy/dist/wix/Installer.sln | 25 --- deploy/dist/wix/Installer.wixproj | 41 ----- deploy/dist/wix/Product.wxs | 152 ------------------ deploy/dist/wix/images/common_background.png | Bin 21598 -> 0 bytes deploy/dist/wix/images/welcome_background.png | Bin 157794 -> 0 bytes scripts/lib/certificate.py | 55 ------- scripts/lib/windows.py | 93 ----------- scripts/package.py | 92 ----------- 19 files changed, 2 insertions(+), 975 deletions(-) delete mode 100644 deploy/dist/wix/AppBrowseDlg.wxs delete mode 100644 deploy/dist/wix/AppDlgSequence.wxs delete mode 100644 deploy/dist/wix/AppInstallDirDlg.wxs delete mode 100644 deploy/dist/wix/AppMaintenanceTypeDlg.wxs delete mode 100644 deploy/dist/wix/AppVerifyReadyDlg.wxs delete mode 100644 deploy/dist/wix/AppWelcome.wxs delete mode 100644 deploy/dist/wix/DeskflowDlgSequence.wxs delete mode 100644 deploy/dist/wix/Include.wxi.in delete mode 100644 deploy/dist/wix/Installer.sln delete mode 100644 deploy/dist/wix/Installer.wixproj delete mode 100644 deploy/dist/wix/Product.wxs delete mode 100644 deploy/dist/wix/images/common_background.png delete mode 100644 deploy/dist/wix/images/welcome_background.png delete mode 100644 scripts/lib/certificate.py delete mode 100755 scripts/package.py diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index af4beda84..6d0d008be 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -218,13 +218,10 @@ jobs: - name: Build shell: bash run: | - if [[ "$RUNNER_OS" != "Windows" && "${{matrix.target.like}}" != "arch" ]]; then + if [[ "${{matrix.target.like}}" != "arch" ]]; then cmake --build build --config Release -j8 --target package else - cmake --build build -j8 - fi - - if [ ${{ matrix.target.like }} == "arch" ];then + cmake --build build --config Release -j8 useradd -m build sudo chown -R build build cd build @@ -241,16 +238,6 @@ jobs: with: job: ${{ matrix.target.name }} - - name: Package - if: ${{ runner.os == 'Windows' }} - shell: bash - run: | - python ./scripts/package.py --package-version ${{env.DESKFLOW_PACKAGE_VERSION}} - mv dist/deskflow* build/ - env: - WINDOWS_PFX_CERTIFICATE: ${{ secrets.WINDOWS_PFX }} - WINDOWS_PFX_PASSWORD: ${{ secrets.WINDOWS_PFX_PASS }} - - name: Upload uses: actions/upload-artifact@v4 with: diff --git a/cmake/Packaging.cmake b/cmake/Packaging.cmake index b8eff8694..74909ae9b 100644 --- a/cmake/Packaging.cmake +++ b/cmake/Packaging.cmake @@ -69,45 +69,3 @@ macro(configure_linux_package_name) set(OS_STRING "${DISTRO_NAME}-${CN_STRING}${CMAKE_SYSTEM_PROCESSOR}") endmacro() - -# -# Same as the `configure_file` command but for directories recursively. -# -macro(configure_files srcDir destDir) - - message(VERBOSE "Configuring directory ${destDir}") - make_directory(${destDir}) - - file( - GLOB_RECURSE sourceFiles - RELATIVE ${srcDir} - ${srcDir}/*) - file( - GLOB_RECURSE templateFiles - LIST_DIRECTORIES false - RELATIVE ${srcDir} - ${srcDir}/*.in) - list(REMOVE_ITEM sourceFiles ${templateFiles}) - - foreach(sourceFile ${sourceFiles}) - set(sourceFilePath ${srcDir}/${sourceFile}) - if(IS_DIRECTORY ${sourceFilePath}) - message(VERBOSE "Copying directory ${sourceFile}") - make_directory(${destDir}/${sourceFile}) - else() - message(VERBOSE "Copying file ${sourceFile}") - configure_file(${sourceFilePath} ${destDir}/${sourceFile} COPYONLY) - endif() - - endforeach(sourceFile) - - foreach(templateFile ${templateFiles}) - - set(sourceTemplateFilePath ${srcDir}/${templateFile}) - string(REGEX REPLACE "\.in$" "" templateFile ${templateFile}) - message(VERBOSE "Configuring file ${templateFile}") - configure_file(${sourceTemplateFilePath} ${destDir}/${templateFile} @ONLY) - - endforeach(templateFile) - -endmacro(configure_files) diff --git a/deploy/CMakeLists.txt b/deploy/CMakeLists.txt index 800bf9867..e50ebeee4 100644 --- a/deploy/CMakeLists.txt +++ b/deploy/CMakeLists.txt @@ -76,15 +76,6 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") set(CPACK_WIX_UPGRADE_GUID "027D1C8A-E7A5-4754-BB93-B2D45BFDBDC8") - # TODO RM with legacy WIX Builder - cmake_path(SET QT_PATH NORMALIZE "${Qt6_DIR}../../") - - # TODO RM with legacy WIX Builder - configure_files( - ${PROJECT_SOURCE_DIR}/deploy/dist/wix - ${PROJECT_BINARY_DIR}/installer - ) - set(CPACK_WIX_UI_BANNER "${CMAKE_CURRENT_SOURCE_DIR}/wix-banner.png") set(CPACK_WIX_UI_DIALOG "${CMAKE_CURRENT_SOURCE_DIR}/wix-dialog.png") set(CPACK_WIX_MSM_FILE "${CMAKE_CURRENT_SOURCE_DIR}/Microsoft_VC142_CRT_x64.msm") diff --git a/deploy/dist/wix/AppBrowseDlg.wxs b/deploy/dist/wix/AppBrowseDlg.wxs deleted file mode 100644 index 9497816e6..000000000 --- a/deploy/dist/wix/AppBrowseDlg.wxs +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - 1 - 1 - - - 1 - 1 - - - - - - - 1 - - - 1 - - - - - - - - - - diff --git a/deploy/dist/wix/AppDlgSequence.wxs b/deploy/dist/wix/AppDlgSequence.wxs deleted file mode 100644 index 2acb0099d..000000000 --- a/deploy/dist/wix/AppDlgSequence.wxs +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - 1 - "1"]]> - - 1 - NOT Installed - - 1 - Installed AND PATCH - - 1 - NOT WIXUI_DONTVALIDATEPATH - "1"]]> - WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1" - 1 - 1 - 1 - - NOT Installed - Installed AND NOT PATCH - Installed AND PATCH - - 1 - - 1 - 1 - 1 - - - - - - - diff --git a/deploy/dist/wix/AppInstallDirDlg.wxs b/deploy/dist/wix/AppInstallDirDlg.wxs deleted file mode 100644 index 6f1afefd0..000000000 --- a/deploy/dist/wix/AppInstallDirDlg.wxs +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/dist/wix/AppMaintenanceTypeDlg.wxs b/deploy/dist/wix/AppMaintenanceTypeDlg.wxs deleted file mode 100644 index d93473d0f..000000000 --- a/deploy/dist/wix/AppMaintenanceTypeDlg.wxs +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - 1 - ARPNOMODIFY - - - ARPNOMODIFY - - - - 1 - ARPNOREPAIR - - - ARPNOREPAIR - - - - 1 - ARPNOREMOVE - - - ARPNOREMOVE - - - - - - 1 - - - - - - - diff --git a/deploy/dist/wix/AppVerifyReadyDlg.wxs b/deploy/dist/wix/AppVerifyReadyDlg.wxs deleted file mode 100644 index 950246d99..000000000 --- a/deploy/dist/wix/AppVerifyReadyDlg.wxs +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - WixUI_InstallMode = "Remove" - - - - - - - diff --git a/deploy/dist/wix/AppWelcome.wxs b/deploy/dist/wix/AppWelcome.wxs deleted file mode 100644 index 6e63f352a..000000000 --- a/deploy/dist/wix/AppWelcome.wxs +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - welcome_background - - - - - Installed AND PATCH - - - 1 - - - - - - - - NOT Installed OR PATCH - - - - diff --git a/deploy/dist/wix/DeskflowDlgSequence.wxs b/deploy/dist/wix/DeskflowDlgSequence.wxs deleted file mode 100644 index 7ec9e57a7..000000000 --- a/deploy/dist/wix/DeskflowDlgSequence.wxs +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - 1 - "1"]]> - - 1 - NOT Installed - - 1 - Installed AND PATCH - - 1 - NOT WIXUI_DONTVALIDATEPATH - "1"]]> - WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1" - 1 - 1 - 1 - - NOT Installed - Installed AND NOT PATCH - Installed AND PATCH - - 1 - - 1 - 1 - 1 - - - - - - - diff --git a/deploy/dist/wix/Include.wxi.in b/deploy/dist/wix/Include.wxi.in deleted file mode 100644 index d70249e44..000000000 --- a/deploy/dist/wix/Include.wxi.in +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/dist/wix/Installer.sln b/deploy/dist/wix/Installer.sln deleted file mode 100644 index e58a2f5f6..000000000 --- a/deploy/dist/wix/Installer.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29411.108 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Installer", "Installer.wixproj", "{D4BA9F39-6A35-4C8F-9CB2-67FCBE5CAB17}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D4BA9F39-6A35-4C8F-9CB2-67FCBE5CAB17}.Debug|x64.ActiveCfg = Debug|x64 - {D4BA9F39-6A35-4C8F-9CB2-67FCBE5CAB17}.Debug|x64.Build.0 = Debug|x64 - {D4BA9F39-6A35-4C8F-9CB2-67FCBE5CAB17}.Release|x64.ActiveCfg = Release|x64 - {D4BA9F39-6A35-4C8F-9CB2-67FCBE5CAB17}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {2E0AA1C9-0F14-4FE4-8F18-430484EFBACE} - EndGlobalSection -EndGlobal diff --git a/deploy/dist/wix/Installer.wixproj b/deploy/dist/wix/Installer.wixproj deleted file mode 100644 index 9a2f339fa..000000000 --- a/deploy/dist/wix/Installer.wixproj +++ /dev/null @@ -1,41 +0,0 @@ - - - - 3.11 - {d4ba9f39-6a35-4c8f-9cb2-67fcbe5cab17} - 2.0 - Installer - Package - bin\$(Configuration)\ - wix\obj\$(Configuration)\ - - - - - - - - - - - - - - - C:\Program Files (x86)\WiX Toolset v3.11\bin\WixUtilExtension.dll - WixUtilExtension - - - C:\Program Files (x86)\WiX Toolset v3.11\bin\WixUIExtension.dll - WixUIExtension - - - C:\Program Files (x86)\WiX Toolset v3.11\bin\WixFirewallExtension.dll - WixFirewallExtension - - - - - \ No newline at end of file diff --git a/deploy/dist/wix/Product.wxs b/deploy/dist/wix/Product.wxs deleted file mode 100644 index 16d6be793..000000000 --- a/deploy/dist/wix/Product.wxs +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = 602)]]> - - - - CommonBackground - - - - - - - - - - - - NOT LEGACY_UNINSTALL_EXISTS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/dist/wix/images/common_background.png b/deploy/dist/wix/images/common_background.png deleted file mode 100644 index 78dd8045dfda5195dd28a6f40d82b13ad1b39f99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21598 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 diff --git a/deploy/dist/wix/images/welcome_background.png b/deploy/dist/wix/images/welcome_background.png deleted file mode 100644 index ef39002cb68f3bf40bbcb0d48c2b122da3eefe67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157794 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 (>)hf6)z1|pH^+TP6`A7o^Mk%lRCil=Vt zQrAG9Mq29-w3RUYO*{~2&*dzn98Xf2_o6udBn;A_y-?KDVP)7`I4s`Uc;o1Lw7ID;|fep9OqAuRNcv_zi83;RBHAxu14WTD%CeO<=shXLPk-%O;}vP z(ja86owUIkC;yf9P0mstz&Qy~w%myq>&;d}38ITw;<|NlgftMekiC9l#X4ERnsaZV zyvS}V8}Dpn0Ei5+mK*OBOUFJCo*?tYJxWgwjuotio*?ae8Za4$YXrq3ZIqM!*-l3b z;;jW4BCfeT1p2}iSA;}C8rB>j;sNbdD+}KFwzBWhBMT@9sFDB@gVikf_Na~!3MzO* zCO>1wg)ZF;S4R+dT+Lt zFbt>M>~~?44F9R(-+5DcHr~!Dv3ja6KAD4D={yu)VL2i29dl~gU*5nJ!f&Uqr!8fE zl-yTiD$!iBc(PZ0g8vOST5AXmalF&BAhIjxUG6` z!*%(Hg#dgo^Uhp_(At+>W>$K4U|;#yjFyXx3>Rr#rA_Z}vyyizGhNLKSI>Q4s^7E5 zJZ~-dL++v!IAW!PVj=ySAjSB=n3$ghuW>$JbX#7&H&iIIG*L5R$Sb=|VcWM}AHMp- zUMM#u*`_K{D?%2=LDT+4uXgiRDH$zLWnNKfw3TxG&_x=eftBOIJh4kx%NZ?y$B7=| zgr_>@w=TlzMMb5w^a(uq1C{xe7elcBlViK82WK$3EUe_2NB zu*FfFc)@fkpG?~Nl->Q;( zr0HlR{ zneRC=E&L3+E@(2v=wMvHf(|ljxPK z%Tox08@4)^Aj>}aq_*5=M2jTmB**Xdd7oUG9`zYVLPNA22_7G}741NR-Ddu1HzMZX zjQ#4AISU_?2EpE05n%X32-WHBHj*G&-lHR=(ZpZMK}`>=Mp7o z>oCMUvy?9EcAia(|EzEYvo9OAf1IkgDKRqV*w_0pg}GTQxAPl{mR}dA=4;#zV%`x^5%t!>Ey+lU;p`cNYSFO*9;AL!j8hz6r^pT3+_MFtdK+I? z0isfYeRkKrF!dYH5~A8&Qph=TLAM7osZl~G^o+I`)Id6AzFKhqYbrc%U-6#>l{1>m zL)7Vh9t)AjOx~*Vhy=uHK7oe3hA&Bo&U-du_9Ff1(8E#rzf+Fod6X5WctPh(prUCslBUJ$-Rps6oV9mM^FFg@pE!y z^>baHM%jiF<(^9gCYEs=zCQ1tNjqj)39#`E9Q!nO4BKdofy|8$Qdo6zrfD*z$9fgoO3zMZvQ`VOo#pU; z?b|y|bM987_a)7D*K*%`qYI#6e2$|MDe8}D$Ou#1rXBU&2T3~E9)-Trx2x176WL7$ zWzT(?Lz5My8k2$4cTV>*nOE1*J%h%*KDWa?rOQC2KmXY2UNXHcLTjkhoxpa2cC3-W zR)-Kmm;$oh^xqq_kM?a)FZ5k!-e_MqzLxYPztX^cd)2Wv1AZsy*H!Ed`+73b#GD`L zDlqPf<7U=dQo93FhAGPHyEi0iDU(GS{|CJAB+>nC5K>ctSqb`Z8H$IG>q2R!qP?j; zj^%7&1XDkRnX}?fPckC3N#;c2R1uf(KGjf+>P+om6mEt2Flv^l}Qq?Tgy}yx{ zF|<4|LDqQS6vr-e>gMfVvBq=a6-GHJkrCh$)`riBpTdrW>c1DhlGImeUi*2f(y(~i z+Ky~%GHGQxO^;oxlx14$g;%gY8HexQt~Ory5!~Ql8wFhxEJWOMwO;A^-l`Hzhh&?s zo;|ChM?~CLE;RpDmg|%*e0@c1UI&t_2R?a@hCYVXoOKxyV z)Cj?#sH1_}4&PbsXxl)Wg2kGp6*>Pr)gv?U#X_B0)q8wcUTVWKAI-j1bY=S$Pfe$C zHmB;{!QUYsho5?RHcOdzx2y-%Rdnv`B!DoS?=_YFHpd6|eO0GsD|WH5cEUhp^O$+d zEm+s`bS6{=<=^65!A)aAUALA zy>e>z#e}OpBKe`59}lRNO-tkEaffp_w>eIijzmKS!=9%H^j@NN`XjZT_w;>{ZC|%V z_iYUNHtUa^$^pvRosdaLT{-qxsKAi08`fB%;v&Un9*Q!9NALmK1s^U>?>>INyrD!fUgK00+W zu?9~@?dyP?S0=Nf0ijD7egs2SX3UtMT+E;uk%}oA&7SZK%attK(!W;YYLy1cWM8|) zWDQPbJOSo9C)fjkn~0ryqDJIgaJGxliTn=okZ#>?CyTy@ZawFkYnXhipNmc{kKq5L zc<%dUS6&Khx53twDoUmW3W}(p3efNR^0Lw)zt|uI{FDKpjK@A^`MTmJMG?2bt0wd89Y>InyOSi z!22j1Sf$PER~sLl98XEvHZOuC^}~--7#cuC(X7|{=HEU~*^^b0i*P=!gJzUf!A$J{ z*YgaM@|XEiqkYepIx9XJq%@UUr6t|xP8+7#i(hj(Xcma|?kJZOM;qX}I)+kDXxQ`$ z!gY&i3R>4|)qp)}I;!Y>DpCNA5g{YNF)h^9Vnj!!ekn(GThM~o6HSlqYk|DLTV$NQ-bBm-zfl3U+a>c!01@42>=FR_52U9Rr z@7*=7W}E|P0|*QfKJkoyk`MhZXxOtqUp*$-l69U=phV{})zQ>-&$%&eS^3Y`swPLu zG;_b@@=V|TlxlB!B0J9`}u+ zprQLBf`z*u&T4FqTKmtyd!_*SQs89TIdJI~;ZlT*--n)dwnxJhITt%;SXo#GyCQY`Qyz2lq=C$nrNF84oozc5 zE0WH8uLC=D`c`T>^>p09+Y~U(mR?iuW+Qmq6E>?S|1A1`>6LQ7C-GgSKN&ic$L04t z;9;i_M{e!e)lL&q8lQ(ArWH1sXvp1Sr4y&(U!hmVHTKoSI3{yXy`JQ}z`5_PLDX(D z$jbxQAqP~#Bkv2j4$cJN)H^%$n(bysh6Sb|$KjySUEsHV;Uo;@{;~#M+t4{&|->%k3FJwqXJ%lRz zZnB&mLvgAW#CJ!(Pw-BeHo#$9I8o4mW)rSuRHyV(GP*NG+B<(_Dn2XycL&z$1O&b2 ziHXQxxWS)Ky)T4%i+U@6Umdm`-`*ZWGh4@m7s=c@%#&-qbACj(+AIL1Hd^mH{^Goxh*(~(V_gh%2!C^ePP9s3dJTMJ%NKlZ^B!!8l6oc@1wG~orhvEFO0YvVx zUSeHtF=kf3l>#Yu*KM(i$V~JRkpe&lWhkd!P4y3Jjh1cSBRy@HE-Tz%nvjqqPT)C7 ztj%y(kVHy|0jzFvdT|nP^%Guecky@x<<_B>SfgE~E|QH+wdCpEyBU0d>Vh>e9MH7( z)7}=KD}?JcuklCagJK3Ld3eIm%kV6Pf?tOd-M5gS`RuwFa`XB=pg3RjkeH1mH|sQb zcz!=}v6^~3-MawTd8dj^?GZzt`j^lt4bk9JJo_S*0rz}CKK?Hkllm5PiD=)VVy#ey z3J#!T&E%FyPCDNzeQim;udBk{!ne%W*vqcDu2>yv6T=40InLkLF1ga{K6|)Q=Rl5D z(9ynEi5V0LtILXrD3#S0Gv0GNV=_S6$CEUeYm{%`xy?0^t7G2C_TzSF(3 zx*``~iP=aNM}NVNdcOiNSEqfQQ@{e%(@fp(C4lNJ@Wt-wG+5O(0NCTsRNO5_W>Z-RpQw;TBfX>abglKT(f|Q?(maTJ9d|pC_;dv|Vd59!$Xv-Mgr8kCHF9!2c?y zP*RTHdS;*-RVt!e?G6~S9gi?KWYmHj$I10ugh#n08pBQV)G% zCbvMGVU1%Vt=sR3ujbbSwswLdkyS?dHBehqfmW-Mf66$}vt|XrUY!c7L|5Ra>W&|3 z!|#A52esNRrj@B$m=FSThfBVzlXJK}tbskYv&#DW*YmI!MS}&N*&Z&vQO?iqPgS`W zgA!d;+$aweOc6JK4^=7W3qdWi`QR^nV}W7AFUj$JN}{kl0|5Za#$)-S@!c#-`=-Z! za*zusJ*X-witHE}O@)#o>9+KC%@hWZg)$!1Biy=tQSBzgTBkh|0XuEnbSv@F#SzGx z$4xZAjg=j`3;`ZZ14AhAsjLg`N#`jY5H_c23A^Q^SEWoyI-l>*JoIfr2}Ze}gt-+M zD8~z(qzVBUWZ`Z@T!|I{P4##F^}9W7&(T1HdfVcGc~jylOEmt`H39T8o87%CdV?pd z!ZngTeg*R^LTc=|z>7ijGVL(Vh_TJan6A)6n2CZ-W;#t%?-V=;um_U|`@;43e&`LN zZ{v2w>ppX09_#(qKBNI5qc(Q{x2NoPs3|Jn)y*~l!TO4rpqG3b@$iV7vsWc1RS|am z-+rv2lomGK&d9`vrMi_|1|BX6K+pi>+A{jau)B&>q>#rH0|K*frsKpMXkhfZ=-2CX z1ya{ku0jV+LHh!&+p+!`zGhmfiA_0G$&tf}9##xPP`65W>qS#UQyN}X8c-Z|ZG%<< zi`^Ri2LN`e7ASmP|5mSWdc;5nLX9jIy#{FM`r@@( zQjJyb4-SA{Z5yP!=xylhIr|cXK{Y>h{J>Gl$$h2IW#xWE2)UEimU}LX5|AY=yIq8a znA;=G%E|3OKziTVMC5eqQI)TLCo=5Pq8?T}0?2Q`Zv63jE22YC+> zz>uqCz{TmV`$*RAQ5VH{R_W1-;D4BV?Dx{WeD-?BtLY1`sxgFk3yj#014b>}lk@2_>FS!biIfZw zM)j9hxphC0&T1BorCHnIbrE$_Q(gLb)(~H90I-JbqXss&`^>!?S(m7R?*h%CAL|#& zi?bAfF3&k}9X>*EWtC@=3Rmq5S6{NX)oed%MCsN0&x>LyP00WDz6e zQ`}=&D}M3ekJId#>`&WEf97=RdS&_(7f=Fl?98=;c8}G7lwnKUWWv$G8Q5@U=g3&n z!B2})NBAbEHte-s3`$Z{e@7-gwJz;z7^TS{%A((%8FO2tt$gd^{jj8&*6eK zm5vfdK4r(&ZQv7fBfNv=J0{fqp!_T)-LJ+}E)aU;aG~FlS1+K`$ZyAde0D0RXUY*K zE1Sg1;;;zxmjH>Pu0m*`NzT{-vh!Fen! zviN|6e`!^at=!JITO_W`)U(1zuUr{49bOSQInWGZEjLguQ5|eB$Ojk;A@!+!M;-CV z--gtO%|q#{>S<(@A`04XRiefZ9>%Y20^n8anPh-kDddY@wJ@Xl6#8w13{gD&oJF4? z#+sPVmvN+IWy;+>+iBGHtVczGdjOfKEYc!i6By)_Ti68$XA@{dBXU4$WH~$R&C20A ztfdbM@w3Ak+u6IwD)Ib*ft#k4y7S-AYFcXfprQvIK;_0G;2&(WAyDzb})?U+}&YbvZ=s$O&Zp=-v%w>RIQ zZIs_8_B&=G3i?bh-OFx^ZsadToI9r|_qR>@U4ja;ZfN4#rtG?NlO?5@Tm)}JLj+1G zDrYV?iBO|0zD#>dy?&;0EIc#QbygxdUO%*#4N4^Z^iM*4?%Yse4TVJ_`usOs(xxVFXxP~hI+y^bdHxdi z=g#G)_gq44cK1Z^mN<}WZg#4EWjF7+;~q%bfn|>b?8?+?#F)pk>wMbOrN8*Uid4tj zVe^#f+ z6>q9!Srm6!-$c%qF|u86nd$?VwuzE0qo);HJ2o1~>>2o?%YvLi<*`q({IEd$nnNig zPZV#%d$mtG$37{J9AEg9+>lL=DX4JsT4=y9GSj5@f;;h^Ci?J?qd7aM2JmjSL91~r zi~3AVyyHAJ3JxKjZ6-lMZ7AM6%!Ws_8E5et*S`ZKHGu;j z-oL$8?cIsVa_u{>y0ewB314h%%^JXW&OQ4k`}A53D_=%V*WSm^Q#nFaTYI_ot>Y+; zzi|N^-Yx=b60KB?d9oNogU5~^!dM6t_fo~H?3rIU0p3It}8$@+++J()ayF~`35;^3lC;z)J;U|E_1im zd@DpzGsTcfmd0qBiiAjX>`uI1n7_TN^53yOe?AxW?W5~nnQ)s-J=v|*z)PYj2OEZ& zKdCPUK8nY)GDfv|-45w$9Wh#;zEF_Q{>Elri^016Ro%OCUFKAiM2Cm}y}0fNrW?Fd zWQl%NT|(imZ3z*HPIlXrQmO_T*4?{Hul%!o1Da zxGtvu4)oAZHJ!Em{C$3UBG-$_Am{yGFMv$!NOSsI`Z%podQMJ~_%O(Q;bkBmg%3Bi zmEL~cWw^{#q5fuh=&l(l;*CjWiYIAl^3VIce7D`l@;oS0{y*z}rOU{XcI_OPq?^y8 znlh(^v0yvyYlIgWv6Hoy#?CwUmc!R^S}P_P%-qXojraU9=1>IN6lLBMC;kyEtDaq1_5m|!&{ppQxzPLUP(k;jE zT^?F(rP*-*<|idCA7tW*pHw)1EQuxvX16giu{lqF_W>vKEqCqSuaU_g$A<#iWE7q& zt`IyjdgB>z>+gW%X>oCPlb*TX?Ct};0KiydBr+3DTDnD`^%vP{>bscsq z5>%c1{cy2+1mHebEKAFf+z^-Rg=aI2HkVXo~4;wi!k z`NRL(Jz`7AmoMKwq^Eys(smsdVh(|jIXO8+v8Z0IsHpf>TKb`^jN59Y=$ev}l3J0T zwz*TdYXxK~6w-*-;NoClxTv15#`2LoFE%pLukqxNgoJ|QXEdAU$Iz#|yq{uYDWrn$ zzMri3BzWW_#t&xh@arSrKk`r}T3A~896(0*dv6ULQDS6dq{CRwZ#ND$|H{lhvr@7} zbf2gzCa%xR&d!diS9$d9+qVq9*}=iVFLbUcFULege9$g4Gup$9J>lYFU75dIH#DTC zopK(PuV2e2x<5^D_3o2%E-OPUa8;?$i>a=aJ=uJ-TJeoWo8(z zOV!I#GYMX;pAp`O7M0Dq$);KKv7mr$p(|c>sPh52-DKUDcy9A_gL;ppsYWsIR(nY9 zApvyrx1^h=XQ!fBW4=rzlaSt-Jiferk@%0^=YC`h{^+WubvIeem*c3aukUrpq6xU? z%>L{dwSj@bT><<1H*Zx>=sJ9jjSX;F9ZoZ9_SY)6xDh35s?7Q2>T3@Vp${KEe2t3A zL<%S*@*(>J!MLwTnaaQXGrp_<9UWa-Ra@Ju%$yu+p4KKmLS7-o!H;`>gk;xm-J++| zEO{$A1lQHf5d56G^GaU+=lAyn{iUXINrFz&dZEbDeM@x+R%gmMRx}QU|8@vR6 z&(0#KGTycXj@QCIf6o2<))tir;_T`*yaqM{*U}=aoBglpgf*?$Jbaj*-uzc{ z%uP%#LLiVdEd^AlnD^mrAivTuf_MA-ZXvAMqjpK3%Uyo|B;v8?J9mpo{<*BItTJbS z^U}sl^A%E3DIi1OsINYEb>-`U2{Th;F_>Ud8ln47o?N#@S4hHyTvA^@s`3R|s(gcs zW#!U87I!231ego)g9i^H919#6jF0On#9W$|jNStRGNn12oh2Kv2cW}`R!qMp z+l-Z78q85@-B}(C@?cT>X*bmn($yv3E&$BkX1wZ#evPyHYIS)zkBO=2vavf57sERu z+kez9T_sh$K;y;PlXz|Ula=gV2=nt(nD-_}2Rqr@Kli(Qtz3)p#*Jm2gRS`+w{NRW zI~6lsQ&my1U+ke7uXZAAZ*QmS-kpF>rCE;@ZS3p}xz(#3Gcqy~wRj(Iwq9Z?JD(~a z&-F+(JD4LD82?MIzZ*u(16uk`JEFvObP`ZiwNUKu^@-YC9Yp@dXw55&PKWsp^0dA0 zqN1WeM1yy3ggOOMG1m9A`CxnT!2NZg zi07XCqn_4Q>0Y)6V3i7+oPz&%vEPS=Zi8KUQR0|i4wwSSWi)SskX&qJ$w~-9XD(}?qk@&9vYIS#=2X@%4M>= zy!-+zG^`f1%cpA;In0Y#&qKbIUNvN z(?WOR%)$cGZQnH%FSVfK%ie;A5{w?)eqg4_nlFH;6Moa8zzevtUIyJ^e`99m4@>~z z0E|Q0)wROpp-!F}vAP8rjnHl2O$$(W`#?m#opOpA@|%4cUZW%xZYS=5(x_n3kVB0cXwX{`(!avM1#R#coGV7O-)T_mijZU zkdR22m@ojF-JEN`#lXzm+|_mU%+(_hpMa~U;a%*blsY8|kXB8aD8 zV0&k0uhq@Ex@SoO4i{=&*MJy)c1{&kR|`^8QyU};Pt-!CcUO>~MsCy4gn%gZ@bTlT zX903+j_5Y=B^z5?akZP^{iYg|aGtE)Lrg;`i+ma0ZaM=#vc2h)}u zD>X&v4C0S)hRL(BoQ6_w-#(0pj0}&7xy;7K2EO)vZ0ulOaI(SMQ!V$kc!8iCv9-1J z@xfxs#@5zNS*??kBP>`tOmRWfY2hmHB|rzSj8{1jgwcsf0eAfP@#8n<<^fc^R^O3G z^2y1`jqPnea49aR&$mZ13%IP@<}j%H3?k<=u(nq+GVW_0mPSVBJv}|u3bk$k*+@*( zxXjGX0>h_Ta=jSgO8XAJw zFO^XZB(Mo=8u8T3%I0AJ;Zo zRCcM1q$0ACQ9?z8%;M&ht2r<2cXPz&(ZCy9HR~gqYX9?bwJ&Ol98L=kxrxqt3UAox68$ zu(!9TQWp)AxJCcs#S1fIB;DF9YvXkOU>8;XN*jeO8gIW+ z22*UEJe zx>)_RSii2vj zG(V-4VZo#nCh3cl^WE6j*S9vqQpa)r#~aG^>)oV{L@OE2ybz~CGB3-z*>1lMK~e0f z2sbxnONM2T&)f9$;>Z*Jf=cIKy?N6;)8SHDE%n=nMdS)4+og*a*Sfg4;4d4o6`3pb zHosE!#9>1E-UdU_`<_a(*l+RLTXG$y3bU-cmGd0!eM_`b&ab(*o@qDJo}Y&|QIJDy zXt>kH#)iY#*T-kP#VX$jubbj_XQyGj_FFlJT7i*{e75ak*X>47jkOMPaB>=z1#)Vo zn{7+fd(Snbg>!X%sD6WSiO(@aL6hw)^z>Zz?dQ&&>ze2;O{H4~kS##It}9_=VnWhA zR^Q&YJIT}6cf$^GJD_8l@7A6k(F06X2D$$P)2N%-7Dsr$T*+}-n2y%TZ=3I8}&w)o1O|=N+Yo!G%8%JU1mW+AdJ-S#Z`c`zeZX#-%uUWyM<^Yxjbu(P+|Pz z%d6C&rVrj`3HYKdV>y!>0h8~Q`m+sLI1SY&9LJSv@?Bh5kK8z|@nx%BfU=~+FKz-k zv);Wk!hRIfdHS%iQ41K)xbuUnH2Hy*mBomWH7}2?!WJJ(=zp7}pFZ)@G-uC?mqItc^`-d|2d8T#^$eibA~P4M40093yFmb0`ED>@nR7@lyenk$#XBX=ASB)N7idM zia%#(=fIR~c~c!Nt(SOXfz}ic0Ne3cFEx|&N#u9)Q<05P>%yPpfEcX-{t`;Q+(+Jw zwC*m!IeM%_M^6qgu&TI(gwXt*C3R0v&wZIa^s>{L>+=mP=xs6 zg;4z5N1GK(sg$+heXCR2?Tg=WNqL2CR9k-K#70~L_OY|GGel%X zim5FNU6>xZd;k7A=jFLe;dbuQuDIP(B_mC5PuP*5T{tFtc&ur7*n(B`>QRA2Ab>(+ zI@*BmhJWjntrOGJ^kypifaffluEpBqXFgHpXRPL}Ye;elSf(+B!m+y9Ti}yb(pw zcWV^C{8u}VVoU2}9l7HX6~%G=$Cot#(!ox{Kfb=HeWk$goKu8`j*jk*^V0k_hgZ|x zrT(=sXZN(`yBKgU2c3~DxY^u^PI}qu=nT~EZ zQ=BKT=C9$VuRD3t&pZ=#efe@HiohXDKit7fvcd++{qG&7cpM!audB{QD*+~=P)nGM zng)iieSg!+y9dn2C|hjzOmvj!aBU$a`C_xVL3m8SK~3(fT>&)nx`~G|-Zn)P96-ajL<9 z{IN%v4pp3cZfdfwtYuBpr;;d&z^}@9RSi0M9jY$9!&{UuKAMaN#Z6qt( z%rt+ZD(Y3XM9ORt0Woaw?#6l2+Br(y&I^ZG0Q z3UU++Q^=BGKTkdST$SlCWk#MY>Dty;xc2JRs|QTjuF(Rr9Yf$zxUewcFf~Y33^1rL zkfRTH@Mynw#7OG5^0KmHSFa|I3)6HsFC+}}vXqpRTt%S>T0s^^@g zbO~P`wIoQV$?I^0SKjEBktxW8i^0dwN!jh=>5|mnBxc zzxsWpoFD7nA;x#*5BJ_(URvlzTrEV>O*Sl8`D?I_hKq~qoUcxdDyPp531*kYiFF!@ zx}KOy@>1!!SYas}inT1LsQyy)eqbQ>uieP%0YFG)ULRjj=uT4`r^%;v?i}^@-*uV> z-@#`|rxaJ7U~}To)eb!quAC!Y+M6@;6TpBP#aNJ&uC*q9P`KzT)xAwIyCfxd7&uP2 zkGEnQmLeJ_JI>jV{TeFiB=$taiud|3G8MnsH}0}55Cr=T@^l5N+S<0G{@WK35kaWF zo}Qjgyed)>0hZG;GkYDoyS4xr!zP{(VliKKh+JXCG2__U@>-F_qA_{J>({Rx^wn!m zDk;f@NjjNyxB%SZLuQ~hsPSnN;K&y5u> zK}n9t6)XhKj%nk_vK1kb@XKpEVUI-BsYVbNpGn-(7)ili8=snT8sV3clKLDbWiVph ztYIpG;u`g^3d>|~hyk_wz~RG(jj$WnIL{q6E?IBUmc0!rGx+pkf_^SD0fE>moc-Tk zfrC0<>bG4w1q@;dq6P3pSSH;Xe7Dy78wVtRFJ22b8%)ZZrv}Czu)$8n zX%0Uq0<;0QW@2kaDVvnD&qzzA@o4M2tQ#XwYP66KD1O^70_+GZK@WHm|MCx=fx0=Nt4Uxd57e4g&^>qz5y(OuoISXtC zrDl^a>tVV>m#W;JKW{Vl_h&k^_U2f7G4>tLyAVe+GoII{AKwAGr>uRE3RX?Wb=T5_L9#xfe3d*>D$^-$R5r?69XP~XcUtiAzUfZvgOhMS-@xuYUhnk;= z*~Z4RI3fT}{CE>aAW~B9sEAej#}1d@z6gahE`96SBw4Xa_k)7Yx>nyDZlrzm=#g0_ zAIT#Chs_NG-(t?D9(n4)ktW+bvoJqjSWs}Rz7=ec=zjq5LaauD*ApRg`3yQN$$pz_ z*E(W*s5fi~ZndiY`gJmaCmaNB0k}HL-dYe1){}jT-xBo}(n|?l1~x1G+R85@B}GL= z?mQl`YB6_EG!+&X%U(FGth~9kt*tgzeP6nI4Y*y<>+JRM+U$pucq>Esk8>xYG$hcy zoG(T3^y%^16Kn-vziz>He0183RJ+)rJo~l+#+j%~DLoOS!b-S5e%z!}jjg>AwYK!{ z<)w*Akq$#J*wV%TVg1-x#;(R@X3c4rXZxO7sY(8>Ix=Rsyf~LS?JF!G;P5WQ?AU2V z#fiykDRuz?I^^t!tYcXEKq|{xug{0C^+k_JDyN&NTeM_sz(Fd(Y5(Szeq-d^=O;o6 zS>+mMtuzWzshs2vmmqae8%65dx9&#{p~5mM@nH%*Xe8~bzSvt4Qkra3bkOhvh2zpx zgI3nn@SadSJ~(p10J-y6E37<>eAkdX)R07DdE$F#=WTG*f)F` zG_9?z$pD3o&CT*9!dC5z3Ds=1BU{9740E^U={FEg-N1QHmb<>WnK@1)L0VZ^*|i$k zkp&sH1b2?~<^v{2!SC_2XFj0UzxzuqD<8fD4lvni;YP4A01vyM;8uicRVMb#Hc<+Y z`6NPDRaNmA6Ye;=$GGAjwJbvQWYkDjEJrHWNQo;$ossIu2iH4sX_G-is!?>!6^{-C zu@-&$M2Qrk^7M06|KOk()>gj6vNcQP#)U*-Qt3X7e*5-q5&ndSH&D-ab}FM@a0KAd zm}>>Bw_cjJ4YvkFc7seH&-J46^XGA}w%-w&HZzNGajnHWX7JkfeQ0Rkw-QNFQ7!IW zK~^ZVd4iheK#id)S=0W%k_L@D9$YqNYKGYbo;VaQoSi&KFcthB(d0K-o1}Dk>_C8J16#ElwF)S{`7HODy~a#(<&u{Ve`3 zL_BH5OTdmX9ud?JCruL(L5)!^7n-lS&6hX35(NdF z*AnQz3%&_e2$*g>c7Q$ZalcQWK7H^)`BnlmWp6WVvm1=p$yBmgk2}?++LUwhBanu= zz?I3q%0gpivD#~nSjtqMX;+3ZZ4ffyT6!YWWXk@EA zS05rtU~8skjM{l@Jf5)Xva*0@mq0Q~hXv0810-8@NP^2{N9B%(`tZ?nOYOUBm$buZ zY-CTIh(umAv)ccuzo*9y^=t3oC61VOF1SoJ%BVS2_gmEhsK6I$4Ja}K7hDd)! zSy@3Kr-GVfN4mLY*;A`;oM}NpL7bWKDzbXg3n+|vIvVD3a&msPuL0Tl%lp4F6fPR$mhs8H8%&3o?I2}k z2;aej;|Wd~9gvU0Gi+U~Np8^1x_V3?5vjLu`zHMhCMIs63G>n$oR0aiN%5*R>Chos zQte4oPY?6+@+w3^;q>S8s-_GuFF?!z@O4MF`5t26e9X}?r-vWO@EGzcNB8w!Y#~CY zpj6~E-p4;L3E5D>w@$+=c< zmvB%U=<~S~9rxkld+Xg1UtIrt;n6sD(aPa>Oj@6Mngk3EFXpDwsMfSMTY)5Q*D<*F zf|TLsfIY^;rtt-NGQ@7dfe`L83AM7q^h)EaxrEX1IL`6k)f^{MU zDwF^>@Iv8(NyyVQ>7k(Y@|$_AY@x<*wp{Pua;j7Qa&3fr{8BI;%B?G^s$WxEON&x_ z{-DKQFTlvUMBeb{2*!v$3Vz{b3q>D4t{%%VJdVr$rtI$KMp?XpS@5LB(_u~Z zgmdcA(xQBPo4`+eHTCP_I&eU7pn2ud-u|G0OKt-jjI4IB+dda{nolbaBgwt++H>d% zz#`I>PlSk6Kx$LOWPXpQEF?MsC6|eUuODtsSBOryb!um}#D{2=NWmA8DAO==5OM;6 zh~@q1myht)UD0jpZ^Q;x<0^j)5{hU0e@Md}r_3$yp}(J>v*p+&%VytIe9d<%Oy*-d3}QR#9vE$JY~)6TLfSgRsB=hE zoTbs)Z(qmT_HKzu_3`kiF||0ZN>@G61yM#;RHJT6q36)bnqdj$MBT$>Pp<>fs&U-{ zUmII%D*{$%pGN%At5**aq=T6L{p%U2Vq_7oDE2!i>qN)9gaU7E*k2`+2s)M?5U|E> zBMu@6gR|TkZMN(O4=VrcTdzphEGH+&D0V%%*_tNyOP=FgYO_=RikFwazLqX?gce{i zD3XiAh+h$OaUcf*7wY?Zd%u5ve8}$i(hPZoICF|08C_uY8nbQVnnP=9YC;Swyc}!y z1-@js%x8J|a*VZVWl2e2dXLMoM1y?4M+bDw1oNV^vP8p0QSs#_M(*655DH5C`;Q+n zb>fvzMea+7KZtK!M7~OYvhMaU&rOgh;iB(u0Yx;M1;6wH!tlB^J031KMr&L4%P}@~ z%qz&7fls~!%S0f^xk`42?X|^+^;x4{zossYjrC!e^TEQ^&)zfx%C zgmk6Xv0IP}XWXX2UErLa%O5HNR^>1@tBYNO(r($K^v#S{T_$Mo-sz~7b#-;>Lm$exh8U_g696MSdHaR3S{wuAbtJkbK7S28Y z`UMuHq?FA?w`*UzY+Sw2NNhwIqiTcihYv^7sYZVNx(-p5=zx4|M;vF9F+&+)=>!t0 z5%e|a$dT;9O*@z3#<@LEpV@()+RLx=T&$QkTY(UE^Hs?83kf+L?Y32Ff( z%tT>eniUO62J3b{s-bVPn#Ixu^3QVxJAPSH`_V7sl<_;T)XfslCNF2-oPH`Z9jkQe z)G;L`KaI&xiX2ZvJ?iK`;dM2YzTc_ZwuZV0f!^DJ>f9*>g)L%XGBYX-#iIAFw(VPQ zlf4Blns*;cH+;YOYV=S9&=O>&^m>uw(KhqHF5|3i866#!Zqxd8;K&h{FqdU}Sf0kz zIITLOyoco8+4N%Z+G&m*I~Hi1({w|3(CQ@0?$FTC4-E~P7e2e-fHg0-p9zx;Zq+EL ztV}p5_GL3|z$pJ;LxwyMQ4wfWfl(YsWuD-3V_{3NpxG2kpxy75kkB(VI2+@3LtpVa28ipDP1_9ESj?p+-C~l%Ja6_vkwLa zOs@~rtO#?Oe%$QUTu6|AICX2+>0jBq<{xtj-TPE|Mm5YEujHz&tvbu(Md<~|LOjO6 zTL#P9_e|aF!O_rPUO;-~wAy{%R+v_$tl&R9$o1vMB7mm{Qgw=PDTlEvUEOWFmI#m?pPwJ;el0~O=rOZQ zRwUNqirkSS*9TtSXw}@(yj$dmhg#4UT9paqpT8qG|Jl{SGBdUMq)5wq&dbY7QbUa$ z&P2%R9avE6be1IbIC_BFSYf$v<*g3hBX@fG`Uagg)=E5~ITCIOf>+IUf3vf?*GU@7 zEnBvH@6a^bH_Q>m8~Zy=opEfFQ)*h;*6hp2HT$zpdJivhsGPb915|hxRH0bMMA6)J zX7%x&5G}f30bx9HV?U2Ze00bZVFRqxn+F3yLYtgMj3g36ZbEppXWj|hlml)9jJsX< z)~sDCU(yqHMD@V1K`zr52;*>$oMpQ8Ye0oNSiYyX_tcB0sL9MaCgCH>@vubM|K}H{ zDmm^~uK0l}OSeWYeZ;DehBA&Q<>1>t0UcDe?wb9@QsB zA0b9?*F~s%z{B4`2#!s-7i)j2$z=V;IoU?9@y(kX_%EOyXErC-sUUfVffYTCQPB5=csMNTI+TL ze4X{ev}HQKl9G~E_Vt(=yLu%fTMrzP`l--*zLX zyqaL;^fe81_#Da)%SQdAnHQg?re+yO1#Ge|fp8j&xFG=scMzn7# zPF{0{W!z8ufQBNFiaVv)QBT#xoP87G*^hNT50YHearU6n3-K6r+c6Lo)>DJ(P%?j* zy)$h}<%B75BQlxeWTgnBq+?d|EXsw`FT|U6y391&+_*uXoiYx2^IWy<^ssigXu#0D zfB;$&iR>oM2lI!Aho4kbbV^X1eHx#TP#YoZ-LPY*Cj4%>oA7wVNYDu;AblR9)eIHKNS^KGw+*Ebunj8aP#u;$VX0~bo$=a zb%$3k+YoC`Yy?$dQhaGM=BOmy`b6!2M#-61?6JKomj@;PM4Y`mUBJvbWr22fo3f^S z%^p^0IO3(Y9ET2_wUi!FNBT2sIpUqO4z`p0^R>(!aQa}~4-<9|A~oTLAPXNNf;8dA zcbthW)bIn4H^d9%YdJ@(MTn|&h)Z=a2EOLmomTMBPC#J0Il(@Y6LYU^e#=y_3%LP{pXdkfn7}G z@)wyb%ZqvVE_jSi$JxiJ#jIptU_gD$XZm|#OzLAviCOyVh`z3_mGEekWx@7$`P+>} z$kZO#OSt^Oo1?nK#|dPA7vlfmx0t(d$Qb|ZDMO$v(J9T-c7Ih43SrkRy`*y~=iQZ` z4ODJ^<$C{qsm>|)I}k@>H*1^~mC>oah%Dy6*TK*GMP&01gD=$+AXKS3O!zGt52jap zbNt35dg-aEgT(-?$9UL=qdv*N-_30`VTRe|d^S5&uTpN&IJXfWhDJOp)6>&@Y=`*y z3v%oyIs7Z3?t{CtP2G5$-KOnRMa5a2^!=QB_fqL(SOoaM3UwSP$Gybj>ucX0;XQar z^##XcZB9ID(YN9GjS=sIM_1HkIj7lr)v8tAOTzRrGQY(1>;Cm?zQfyPzQkT^ceBopK$d|u(r!G#DX8Ra-`{`nW}U${IEKgW*RX3DD~{?(*?5=-Gpl) zo*9r^rnM2oDRT$rpB0FU!L9i^A>hE>yMXjK=PpdfjdtYoJv@EY+InyDR4QCx%6Ak& z>U_ApB9+dQVtjG#n&Yq96VfS268Aut#7`)Q#e7_iAe7MR)(&7W0U44VMiFu(U_XR2 zn}B12&S6a{0@5(aZ*Qi1_ip9w_|=XuS=GdAA1cd&7jyNxbroipHs+YlNx|qH-U!G< z^V_HR)Ril|Fg5w25@FxBPhlVw0asqbJp287nvv}}CS`O@A{Rg)(-^oc39VeYvJ+<& zQP$4Ep)1l~vJeq91)4lK)NP?r3m`6QK>UV0KM3x5Er2N@_(3fdLNH6Y(k3Pj3uyfl zikGMr4vL6`_yo1M%5Jkg(BU%seO>s|Avn6M4vG{H$b+nfk#R56&7t}OjuXWUsipaj za{_rw)6nQwtXlhtStoWROKgxQC4Fw82D*4&ULG?Wk#jx&rA2ms!56r@uYr&)D3)<> zOEc6jSg`X=bRmw9Gvt5p_8J8pkw2{^FHc=qRFrbQnA#Bv61LkGF~l6x;1;L(U$pY7 za61~pvr$O32;jyF(_^4D)Yr3ft#Ep{_hsX*9A-ujJj((UK8%vi9hAbU5}vKpj^Oj9 zyB~3}IsFPywuO%_GT`Au4#A5s9rsm-{cbjf!veJTF&tg;^05|?C=OxG{A$|vWLzI11fEcSW4Dq6ys$&vmi49&2hklWY8^2?mVgu_ z-QWx}z#ocj6jx@Ha?Yt~rPxeQe-A8v?sOw8qkyNbD9w!s1o`rc29m?s&h*)?VsAq8 zS}!l!2RC#8J^;8JwNspfYU~zU47Q!;mc=`9ad9{2-xCuPR(fZ>j$ki*m-z|!NA@L+ zzY{n#$kscNss!qrnwSV7y@Q3K-Q~9vDJjLc3{Z8cIrl*#kRKQey+aV$?7R|G<#k*B z^~FZ1OSiPN=tQSR??eJhe*5<8K;zHe3iw$S>-iy^(0M%tCFuNn>1J6L+6SojBq4}$ z=3Gk3AjoTzmpS(I%YbYN~^ln9TSM(A}rXD$L;IV=X-&b>+W z(9Z-K(eCVyZJt39#Q^%Bp7|DnEwS|=PSurwN!o}yyX1S(efN^3o}e?G!^8Wx>NJkF z=XyiOlpm2o#QcbY*9YqsPRwiixnj?rJ%cLQn0aNVYH4F5qXIbVb`4`h2V12uy2NwK9=G$832@;>E8Ko9l29gu_?xcYI+yo* z`PTE1Axmz_h2cZt*UrE%1zTmw%VT$m!knH0kK7%9|4lG5xYr-N)_1x|Z+m=v{5U{H zg&0>@wxtyL8yv`Hf{CqB;z;(JIFrWyF~`%Ey;hXgdFtc=_Lewlpg<{3r@+w}_;@n62O%U88tUB_@2}RLC1!|c%kzo}^Zar>c5nq#oh^g^3Sy))O1duW(Y zOkf9*{f&l*PRKLZM%`Em4?n*WV3L$;{YntlDSbh>942-j?hL^vkmLbE_cbZ*gh&MT z|HGX%G}IQ>VNafT;mvlzZBGB>CTMr}8$~DbsJHP@784DacsLN}2m?rnjh0NS6WB@o z_|KVLKnM7P?)RBRDELqXUBRb?xPk%OJiC}2YQh|hqRX#s+F7vgW|p-UTKcbur7gpNaAu-VxhDH<*TZ0)~z-YHMqg*GKdw*au>qq zZRXe1^z@@#t2kbd7wgbNKs4NThehC39{(R`|G|#i(<-zRtPXrhk8+yiyrjcFAWwF7 zcD}3=F~-Wv1hPq?kNk1q=H2N-Zi&+uE1aQ zuYjV7FC%bUBQjU92Q7O|>V*pFbB~v?q%_#Z4B09hDL^78TQmvm*U12euRxGRXft;_ ztK#f!6~Hp^^IcZfOMn|QwvZ&JR>ucLiVmRxgNJ1te1HEajDTbQok^h)-06k9yrk)(7gZUire_xdRmC z7B4;cIKjJews;PG@nJf&dGlsv)5&d`q{JpfP)k#vx4(ZWj6;G?D$srnGx6SEgBBFT znh6qLu)Sp&XvZwf02>Gh!EM^MAsB`PbEhDcQ#BE?q&r6?(&_s4?c4dS+QlI!$Z$)d z{|5BETGJE#a`<1p5n;3}KNIp52$v?m8c|cI`Rsxs+-_>u)Jgu>xN)N?wi(R3+>SmcZ-#+mA%2H} zzCcGHdj>zw-4R{xxBl%#p{1y7_9Nnh9f%{GOEkd?X_q!OHC?V-IpxilcNFddAxV8T z*vQ>^^rni@;sIayzK6Nj-`ft|1J0)@ZE0>M=`LFDeZ~&Wso#K>_kkj|mFpJkfznN} zpS&3Q`0)?h9dL$Xy(3{Jc6fdwm}KI%HofldI(5@ke6c%bhMVrfgJ3RxpA{Rm2xSn> z1>WP>>mtx|H^Tx{Yv+SkWZd&9KulM?fbc~SG%20@c(qey;zo}3#HzlcUS6E6-hGOG z6DmE$CxQV!G^j;zGN_GY-QVDza2~FOU$;#GX@SBva$>`sB)T>^jjkf`WOdCWS}leS<;Yra6}gqPjEo*&ls+jrg0W?S6Y0^Ed%7+vu}~4K9VocoWFD4} zz>~6baLB|(y%fX0Xyw@PBiV(AOvu8iuGMY4g^rFxM;;w12#mV*l2tZfQb{MnnhaS! zMQny~?0Z9Gu;h%4dWRe!x$p3g))tggYedRz7;evHAUB?3oaq2C3?8x{I(>F}pXN6-%gOXM9?L4}2d(tC{iCa0(6 z?Ci3JXC6I&zMT*x2zaP^rH-5uMne%K(V8Je<=rIXr^(7lORvmZ7=16TrScsnoV_4e z55lbbT(b<;qb^ukU~{W$3MHa0B8~fb32||_7`V6Y>mNJ*r*driyYC`GdekmMyWWoe z)7r8e!pBazC-62KujHenC#nZ-Nh!9SSeFP0$0zvz@L1H{uf?e=% zqA%~9uR7~vC=8{g>quJ$PRj&rk`aIj4v)>TEwW&}M5ako+OH9ug6D5vS;5I z@j{pkN2|lRgvg!PC%@~ z!JPK-o}N_b?{G&6MS;BW)&9gPOKljXpSMK7Yy>U@O>FB>@4-A>gbSiA8(fEM`0^s& zLlGp}&7hp&D4~JbWSi1U6v1g%+L%|Z75V0j4}ALfGXjo+gS4%uYl6KMg9T=0ly{%U7xL0GnvY0avco>GKDs;0ITw6_~64LCX1pfUN==g*{Tlx!z+bDB$+ zE};)M{$%2hD3(oZk}@VHJrxbO3#!MDA15a#A9bhRhKkt-X(a+cz`^_sSRS>|f8wn6 z-*8Kmu!zD!iGMrX{}`3=+ozrXfzN*^dl{Lv{}Dw0sAq61ocv2!{|O)XE#TPSR{Xyg z@>oyzmz?-}A(IFH=MVpLvAchLXn!w6%f#`w>HhDP{`Z#t_bvVZX)pb98E(6&rgnm5 zT_@Yio%CK2hQ)pxwifFjm0huBJ-vtFieauhT(uvW6;A&8+NfiZ;_9)Rkw*5())mK6 zWa265m6eY@`PDYIX%p*>v9|Z_YcwV$`|Sdsx7<6B`T5A?#$7VIRE|E~EKRw~?f?AE zLptKN@c;Zz1d7u!m=CXMRx7Kj| zKbMGj!2MG3|GF{C|GnY=-s%6o;eR*B|J=j25ji=m=>MM5+wgaz89Z1!rMKeG-+oTL z2TJ<#^{aLWc)5c1cKy*(A21z&eR{$0KBGOqNs-E|Cxeuqs|}Ka?(0@67TjK z7pGIvKD@?(p&?=n2bIVJFcltu z+VfMRAa05$bUg(D?7&H8Q=u3sQ3AWw#6Uz%58>`BE2yyVDzwAP*M`# zYo+Hr%6(&F{(w1kXMN48@FOo_h?7G?Y^)auIEVOv^Y7p_fr_zq!v^2^MCu~YE)!s& zXddP|FEN9Sy`Yy5f*i&W{W^2lHe1olPu?HIN4VqmDBnQ0%jwXA;V;Z&2Jb$3!Yr?# zpdI3V|30L7AKS;7nIb3}tFq(Kr(-wK<(?CJ@{{IX=#2MZBWl?7;=%9T4qx{C33F4i z5fLlVr2Ak<@+;Pcjg7CtiB5X!rm*T0fWV}giKvll*RBQNb#&77rXYMfw3Cl(-@*q@ z+NkSQ5-8`!(6vbFBhs7H)8F54)0UhFcdX`0picNQcZ!H)=EWVST=8!#_En#q20*%DS= zil(CtP}k9BMX_z$wkbVM94Hy1ZS?f#QR)nUo=doNXt&$R`+fh$@+n@}C;&oh>gs|k zmUD7*dsEq@KZTT`2*%MPBN#F=Za8W7OZ9`G$a48D8R-Zujm&TWyFp1N3_Q@8x0j}T zkA*P;S^dv}mI_3PfR?(YVK|5ROl!pLYBhFf@nEGX>gU_*DT&y-br4v|H4^PRVw znVF@l+ZOKLwaZmS7##`n>ymD(sjD+Rm&ETwF~UD|5!GuU}~6Z7JvDZd}xTlyypp3F6E$w>HMZvSdh?ACPr2Xpxg3LahPpt_ThA>5x& zEJ<)Rp#7E)K>Z#J{>B}7PDBz#^+kovUg8YbJ?7$QY;vh}(Ybh$E7AhA(UkI*-F|R& zpbcrwGPH@ho9SjfaQCfrsRr{r^j@CqHWkCUxw);Mxq4`h{+qs4`M`K^jf)8gsPg(& z75*qe*Nj=t8EKC$ObWUC{{4}zt}d-N2Z&V&2U&lU(8AdHr};Som7;%>&+Y^N=J5v( zXkXeno-Ht9rwAow9ma&kI#`;TdPq9We=`kpd%%amJ+$C9YM_t0+DL}^!(Da9{J`CIg2!CzKnl;xzzo{C0H_Zl9!*M7d3AK%h zj;2JpNM_Hq=Q(-9olB-5;i|;9Ea$(&7c6kYO`(aOy$WQ04Jp^Es^qk_nbOkJ!y_Z_ zf>J2}l?+`hdd#d|%h_2H>v*@P$K+vfFzI@R)GST}@d-&p7g{DJPY_cKI7Q?tXajy3 z7v~K!>%bP`6YxEiXa9bg^XGSyhA^0m5J8UX>21fI9feMP@cMuYcAes?qnwo}&QV1o`EL-Li`!u_8H^g~_tQUZBc7cI(rlzJxPn=jc zKR%5j*YMznSJ@}ef33HtDj@WyQBmfoPhOjwv6B{t?c3F9?{ z$HZt)I6>5Geyn^*C!s|gb+enOIehezlm3YWc<>hx$Qw1R7|M5q4ee_h; z)C_4!>EUE&Uxfw7z=r~8<;uFc>ycS8e}fKDuL!qLi;lT-ho`|NU4^hEZvT_0M3`10 zi_}iCJk%ArU8A`eSAyY6ZtFJf*asq~ zpRltNMb-wX90 zD>g?7-iBy{x`qY@Z1EF*5DNX-h=6cnD?-FwU9O*Fx63y25l+xivmrd%cgPO$LtK0I z9J=#0xCQ5e9?4e@o8I_6(326qk5SO{!6yf@t4L28Vy9OBp~NTv8X(QC1_PI3hysUy zXYiGQUNuCUg)%)P7eq1)`;zHeLOa_ZVi4W(>X92*goK31%p!z^(%UOmnZ#aGRi(qZ zC9{ki=YM%#!_m;gRJ%2#(;M8PiP(!MtQwrcyft%_v#nR{!J5MtSJ2d?-Gh(V(J2~+ zb^IU(JG`r#f=L`5kSqYQqEdXFlcvt_`N8z$J;_R@n2{MlFD<}zHs-tJ%h>Yl+jrN` zZzD`GvE^8e0C1<)rB5+J>qAjdV6pTX`pF-06+Ng^{=t7Z#KabwlIMkQZU*bGF~>*Ia14Oo8CSyj@`j zj#%f&h%X+Z8@u}1keR7z=Tob^0yNUpqQ%hDKLx}#RQT}0^t*SDtJl8*8%U&YGU%p% z$;Z`og+{#Aic6RJ#g-D)Z$!7{yGX%)|Dk(=qd5_g0^I?{;7duYtw>i}4~R$Xg4mN+ z;b2Y~3q~3w_A%m27s_q`%UJ+7$5r%-z$xyPt3Nf`#sUm@|NZ;-YR`kAy@TanReynK z;>d_A9Gx=|+}Y6s=!aPKHnAgGg&m^~*kGAC|7;Zx4^J}s`jLsBPU>118M#8>JUD73 zqoS^U!Kn({79$o{->&Ze4113elp{nw!#00}>(8G*Cts+bNB73b>%-;U9@!g-C3hCS zj*p|=KvB;cz9X}_`WYcGg=Dq4CVc&j#PRV)qr#aprQosA7wiqoLckExx*@vtu3o!l z+#2Hf6>%G2;gQM}OfmqHS~crfoqPRJ5b{WaQ+$ z);m6Y^yobLoq^&vkrT|~vaewiCFKW1XwsMj_{Q8|KnwdB{~dQ(Sy@U92QXde>N=0s zDn=|xG2V3X+7k-$@>l16URcj8NC`>h{HiZ?fa>uWPl35181ols+Jd#fd^a|nv?Agq zyK*$79{GUZdC?A!h{_uzFIxXp5?D3Qy?XVExJStN5+p9~r5p+}*$)OR% zP+0S1A<-2rqO%}-ie^P@)c28cZwybbwF1kHNfc^cn6b?maG&U)4!u{ri=!Ymn$=owY73>(G zI6NaNA+eqGydlNGMqwh>hi4=+I>}Hf6Kn}_hg%>ZFrN3k2}_IujG@GGPi(Nlp&00F zZx7=;2Qf_oh@Eom*e{P`LjH=~;+Y#}kKS>_!MlKf@TJDdl?H#qUgiftIvpmt9abk* zJ#T|NM^Dl=@!mH;rR2OmOn5E){xnrHA zL;n`dl)cWM$oT{eHjtJ~`Kz zdVvOLfCQc@L*emvkrhZ$5+r^@S~!^)o|cazMg!~?p_F*F@t(Sx8fMt7!W`&A zZ1z`)?*##M-Jx>w-o-90;S3*~4%7QnFE?5YVD2_l~3EF2;EIuu1JeMm%b7|4yy6cfyX~9bA~*x~LlN z_xmW`^_uPqnzT+Qc#}|_UT3p)Lu$|G3k1QqQd+#q5@lzWsg$PYD#JNA-%uBC|S;3RiK=&ido4sePYLtQw6 zUo_s9km0UKgVbrS(fE0nb*s1bUr_W**5==5cBju{SJV^%mWCG!< z!IQ<^6C@WlwzTZ~{4PK7VMvHEDnydfOvD&4iGcWk=xlFn=|@_{G`@F@9e(2j!^8xE z0Iq8LWm^d@VA&#!GoD*7))Dx7hx}ose*kkGOjF}%SXP%XnXnUwS+@)1SBM=Ox~*4A z6r&-~T<~THZd)TszmmJ*>(?TD{XqEmLww>kv%a-U>$rwaz#2QyoeJL#i#Y_ zb-{AI(PiaZ&j%9?A7o<6<4TA5%wCu!|N zHYzL_c;p}sCVUPm?w>@nPa)%)8suTTP9scxM4fpbl_DsEaWpQFF|26fS-Gha=}0Tt za0LSER)OBjw&>2@+~QeSUhWl8o(H-X+bW*@9f^r>Ez*<8gec1b!ovJ4~h^xnbL7bRbr-~qemYCb+b*HjEisIv6(_SXK2xfS8zyI5IS|GW>=+LZ{tgaaUw zFdo)*h96Z2;=l=1DP-)~PdoHxi(c)#ee^M43K~M-?xb3^>Tc}es(t+p5;&ZZUkk7i z$OJC9N2>DAsN#y)Bqpm{h`9%KYl+7N{EI7X5sczKM*}cexSO>xlKSz-ioaff6aLH% z*I*y98}D3UtPMCxP8wqCQPehT)~rE0mOEAxJH15ogyX_Urn0(vu}FtwQDX??W8>>u z7|=t{r@ueLFGB7bf~{v8Jp~$TcaOKJ;tMfli=#P1c)xb)YD`I`leyu>2H@j$%b#8mI9B#d&F zoI0GOPqUVoYo%^03hY21Y3zk2u@8q|9FPzMTZx(B+IM4!tqCn2SpPM^W@MZ>Vjh|3 z1se$fD%1A2=q2%oC2kAKX1ck&Z|+!3bi50Q?H9rqlYuy74hXOtijiF?+`(hRT0u`K z4QR6ni!Y{V(;}o5?|>ifH$lscy<%d2T*&|jWb~2ArAx#wK#)I76e}F_`gPFGSh;Mv zcL{cXvUS-hBBG+)0P?>B%@Ysn%kXelr25^MUIU-%h1DC;)JV+1V6b9R%_MCu+1ViT1PB39UnK;9U5c`99Nu*Kxe$eWrQJm5i2cA3^5u&vphq|Aq^T!P zk-}&}IS+tf!_=FDW@6GrjN{X(>tEXa9sT(3Nl8||{!|p;&@s!L852Z^<>&D`<3;9UnB&n z`2zK>FMsvP7)`Fsl}7ORpYE;Sv*%50 z$)WEmM^F&LN)({5Il|^!)K$Yo1TbPP!T~BCC3BB`3^N`*qDS`lEOw~@97qbHI$AOe zL6EH6zznYnh5>CSXn^VW?pmZM#>i@%aFhXMVsF}TFT`&F6m|NE;HjOtKd?SmM_Uie z$x+CnwLT#BH=DTKRduiSa=B6B^?^C%qQwlnMhEXS4Gs=A=H3#48zUALZ*0&X|V3Ze#dhaK(Cho5Ll z-p#|~H8~a}1GHoQq!&d5;Y9GlFIjXC53ffl8QXvzW4JmElgCyZIFP{HkdzGz4*wn4 zt;z`~be`*Fs5kt9rKd&KK)Q4N8AfC7)nrY=anHOPTjO{eGts6Uz-o|Q5Q!Aj4;iW><>x|n4plE#` z8QB0#QE!QH<;3nyCc~GNc?QV#q1S1Oxd!t~O)Oj4a9yQmq6K0zu?S5Vq)h?84-8Y3 z*Y9bQ8PS{Ast%ta4anLo6Nm<0Xm1dBU5e~T#*rmo{>p`~MJ?R$<5LExDkIb(J`^S( zIIYq5y?%#yXi6oqB9eg`MMbMHrSbkzCwOQ9ko<5ZdENVi4Qv}WY#;*!(e7^An7qrl z4Mz>Ywi7XSWiRowp$(|F{&AWZlAvc|CWz)${-r^tZWn>jiTw%#{XRu{QSUl@_;I?i zj3U`JB=wAn25`Px^LAfxNy&NO7Sw&`TWRE_znyf(I-^SRRxI1^SQ#Can79#v zJf$NA9<%~9D|PBCsz!_&N0E;QL7`bEdbc^G6R(YK&08TsL9i5}Z*GCFb_3@}x-%Y+ zF2zc9SjR|;y^oJ44J=#UT|s9PDXxfT4l$S;$p~oWL1^fw#{r0-tH3Iqck};(^3{E-fvAcVco)1t@|e^N~=f-t*w#ZA1$NYe4l7+r{11 z%|wx^;Vt0W?z>HO8`vbD)t0T;+{PGnl80r<8BKg>=q-eBiISNp0hoQ`j#;s|6>1Ai zAMpl&rG6-MrIisMy8sQCw?Fz9Dob`8(*VhN_*&`wcdDxuMtZnbZ*YiMNqB3YwKJ#} zcR`B7l*Jy44}$2W1=q{IIosv8b3n{4bx9YFi3Yu~yLUB~_Z;p)V>xL%h`-lN~T z)euxT%yIXQ+9M6)LBo}Ol~F1hM^S02s1yL%rWh5itqRB|xEZAwJ7q9>W?{qTug9FV zU6IFC;nZym(7+8p^ZnMPdXs+JHhyP(zT=fvtoqJ_;faZUsJm0vzKuI1DEJY+OQy%- zZbvR~KS3bb#m(&@gj#TU0S;_09K=J9^m6P}dYs*pEU_!^!kXS#G6=NajR@m&&B0Qy z#Vu(cFyga<;XwlWU=5W^7RIMd*uJRB?&|9+`E*AB{S|Ka@4sF9mJowR@J&MJO8$^e zfCd)1Tf7gv5Yvwvn74EleeNX-XHTiCZv#(7S}=>3PT9;LZyy>w0$;O?tnB~C+ndMr zytn)Qh6;KesUvTlkg9pf} zx8h~#p{7<3Jp$PS{Z@E*3_pjMJH%6`vRpc7vQo&1=t2KV4b23FpsY|FmO;9BeMYYS zR1XMVLqj8zUo8^u+z*Qmth`_WDJjPc2iq(50jVH<;C&Bsd!cF$oLIina}kXsJ-mcV z0ARbG#Hn;Q&O`H0lRtO(s-SCa({^#@i5Afl(E<2X-<4^$fq{OD^ALdrtSa3wjPQ2qLj^hnVszzyB_q7|_+xWi( zXQhY%?tZfhU1{5fEbG;OetQ*E@P0%fI;iLx&X|&9x(SD`!NW%X{M0ZKim^#kWo1dX zzivAdZm4m~mK`29p0<$7As~sJV|wVvIX(=KsLJZM%zvdS*kbf};wxT5gG6|a{zLcA z&VKUbP~c&P4B4KHG+K0v!|OEnOyTAol(D*gV<|5je$Ez@cz2I+z4cK;bOXn|;T-gc z@+4@8wN`L!`Uy>K?RLXEba}k&6~BS>q>#6gMREgxt<#Y_Jek?)8Ow|3msEY9*amd_ z8wq-fIp5ZK@6hi7g5LyzZh-j$^acQFtw!ugJ$X86EJ)aJbO}27HR8ns66|Q0wR?A~ z!Utckbe#YKpOx#-Z)AEhi={#0HLp3uIB4|mAGZc_)H1RDk{9ktAWmPuex(<%yW|~E zs|&MTSe6E8AJ|%oiG00wta!~=YgYhj`|4E`G`X~k!>i5nb8;8C9%jwA_tdhv2$~vL zeU;`r!hU5GQs;Rjfd+gj57jESfCGBA(f<9g0 zL0t=`>J)U#!7=s}EnQ%hzl*c88iR%e@Y}rE#L5$1!G7L6KLBh8j=P?<+9R7^-lx^G zr(b^kbLq5cFF9quk--YA)tIUSV)ROOb`$WuLt%UQCB`d{&4x%?VA7BT7=om_^KvPS zeWRk(dGz>BR!XTnZ@ex?qM_QX?PoW)=<1L3ncmjwX*4B3D{9_M&arDt6X^vw<@pqC ziGs8)I3p>ityNUAJST^Ew5TcPJ9dPMw(gYg;yqxt)|K?t_ z0knUcWg8_t2EvFdO!(P%-G^sq7VOIOn&m-Qu1ule1E}2{&dKtTj8eEuOSu(#Mte-7V??E;OYjol5@o6kS>;`3@a)z%#q=gpsgefXj+lR4r$woJ9{ zmzvd2ODl`^v*WvR$&eN-A@WuKrx!f;e%`Im4u!*-689s3+;fi722MQdAwN1lY8-99 zH|1y^vUpm#D?mQnRhLcE;$p<=>8gJfX7jpfCf;{@U@?oXXF%)&OsW8}%nrp(X}wML z-Iextz3J#3N^>YLv*v5JDx{dW-sLup{OVsnhB(YlG3n~sFaHE%Cc0p986gsRR%aGa z)h+!$XLO1JTg1{0^x)lA!Uoh<6Cme1O%=E3=LkRFp)$)n{%zZg(}x0s5fAW z;17rDE|D->@CV_^V3RNYO`Yx1+>A@AdG6{tS?04g=4B7C%TO6Hz`=v-=_)0A0I#M8 zs}~F!Mlq-0OLg_9g6sr_&VP7v$-QGi@Qnkd1n*+7PAUe$2_kzNpKF0M_w(rI7mQMMQ9C_TLy z6d)2K^h{GBYCn0dSWCG&{9Kvx172WG^2zFLC#E^_)}*Efg(`eal3^yhPC;L>G4@-P zNG;5_j*FI+xc4mq7zxbtfDQkL)=Jaq+jsn%7DqS>3ws$tPV|`AqxEx(5Wp;V(X2UYq%bCp;u>Lr+as8z`ZXPVJ{pKD?}(VglccL!crF z$;rT^^QMs;9}=CP+UFcd7(}eS3v7wuKs~?A zoUm2zzZzB*zva5xefpRNba?FQlf<_!!$})A+#z%C;1Um}x0% z*U}uwh$Of~nWr?V>RCY)*N;RTwMp#Ws#T_Q_$m*N;CGcOzng#gzAi8_H$x%9xIj+SsDzZYO7y8D`W97>E3j6r<9iPjaH5qs8Q{(sL=y4SE zHNI99wZv-PpyF6m)VB9ASIeq8)n8&WLhI)CPs6`MxsX?$ko9=h%$f68_hJ|na-Or) zZRon9z6&eWn>BCV$tmK^HI?5VqNAe3nY{Pg41VA@tW}bFBO&#uPTK6K3EnIkDFhgd z`$JM?LZi^?qtSHmuh-#gLlTkSE>J&$O0pNnme$GlTStf?@Es(*slZGeYMdifFlXnc!=*UEf&jxr9kEQRMTi5(eS=q!37mtxgFU~O`zL*{+ zAmNv)s=(d5GxZ0V@Bj3mcR_(;X=2ZQnwqaJtY1Mzw07Cis3@x;2QESh2muGkCe~5> zX2Bjtzd6W^KPK{D$)GI4K2Wjnu3x^tz3%uL$?{_3P!BlzlV$H$1_oldr&nC!cU!c6zV}YTg*Ce;6VJeJxyj2`*YI?&-t#~ z9<$QiqOwBmQ}u0$=x)fp@w(aKinnjoz@n&ft_YO?z_@(nlpaPi|0~*7p3A&|2BR|6 zCyeMuIK1wG%WS_m^8pcpw{bIV26M}Lw|P^OzpiB8^O1`ZzFf_CWk(lLM z#=S6a%Ee)^EB9p9(7XXfF^xUDN&vHTy_EgN$9MkTgFLL9l@!FFe^%9b|6VSQE*(I8H1F6NJgR$#6{PCEs9Fc$0u$JG>hzg2 zb4=5yDAvd7_nhA5W3y?UWf~A4qDc@w*qn7;_mA`(6gg>F)5aZ6dImjmUbHCZ^|M*+ z0g`Y!wyt}WvHG*$;4?Rh+T6|Hk(7F0_c zCF~(XH|xH1HD{D=Ys&B|Ag5qwy8_ochISJy^%s=5k8kZ-<>>C!h?4nOj*>-Ka&mIk zw1Cvq)UCGD`5~eHzb9TVIK38V3B&m5hhB{M2+Q|8wI@FG`T@O#JqsSRvklW>SNwxg zKs^c(4xxy=;m+{5gRMLx|0Cx#Zw%1r7%*wns*hdDhCX}ttU=btG?rf-mU?+8%Lt%vgr=k2yFUT$R#?7jRAW z>?LI2>|8Oc!x)K;+iu08_vKkpaVmXAMz292Vmx%?*2tqrFFTvoS=>8&X0A)e>8K+? zS|e@0c`d$oY};*jlZx{4K@I9HzO;iMdOEjYKZ-L+ErKAGfh3qgt*FQ=~ly3*;c?XV%qF+M4u zobRy^A^}O_D++_giAAL{nE4y(0zoDAJq$Ur)begR*o zoe+U{qVo3tGO%rYKppRCMa!*8Pp)F_-%6<^aSES4eQK5F?X{vNrnznXTaZ>0^#u#gHZ--hO z)GQd$*)>$fG26a(cIAG}`%}0|uVr+wtzEj#z%Fj#*toX2W|y4^WjItF^k(EI_14}Y zF;fmyg~n*Lz!w-lt>ZQam=~+_m*F>hnHTN@U4DsrVLxFc5^zE5?!fdkLS^dWj{mLZ zAHB5C+<&#KMh!?JYYrRmw!11LA{AR6o{Co03ggUSRL?7BO zsW(7J#{}L5NrfPCB5_4U$Bb2}Jg(&4$uYjSVtMe!GG}c~&AqFiSx?xi>cyL#Sa)OS zy?`69dZ2*}k3V&4>dAiVjDHOs%5(`{G41#no%LKaDC0NME{bOnN^=YCN1sXiGgW5< z{d0&Ob|^eKyD4XH?t_@>cYKouiBwm;r=@>3TYR}+N+o2R0oX_1yB#}s>2mw+B&#`d zbav05GkJ2tBBN+hzoe;1)*_x{oxu@Tos-^P4a-MA9rkJX+H9H|%FD}Z?oh*yL%R5% zJSbrlc!DwknJeIl$+yCxHu~zL~ z@)clqZ`IdUj|I#{A1jyy74OOP?rr|En&dV2V4eg@WziG&JLk~&NZF&~ZFj%PNRXwO zb2dzGW8R5+y}RY-m_Sk@hiEspm@z9Wi(D6Fu`E0vq2sTw zxZ&)^%GfxGEqoGfT2C#dZE$Mfohu?w+vbj!x4NEi-PSRy6xM} zvxZGPcKFN)Xi!wbVuJ>^u}A#GB!ertxgSpqKiB%&eXYOZ}g|InneS`D%sZXUc{TPd!mbnU1unW zknmz}J#}ig`%~F1AQ{3v0AmlNq>yYOYDneLt5&Knv~F|77le-t@+fc_13Rnk3dOOx16O{LFh?oQJbbb>!kZ_ zejOobB2O+dyXro<$*wE&Ce~^-PubZbLe& zY7Xb8q5DH$Q*-;kE0bF{D9$X?yTh&U4-)D;tfcB~mY{Fze^qyo8LZ1PzANF2LERB!2Qd{9%96l)e!YSGXVbj z-Mb%A-DPH(Rgs{Tdbp9}oo4DgQ(Np$a(v46+;P)q<@D(x59;=oj<{1W{O>&R>zi+0LMaJXVt}Qzy73HUj_*+2SXD*>r16vWGRf`X@;g_ zb8PIp4tt+XIbiB&F#*yW!{8AkeT%HV=w!*q5MT&HLhV z;R%UyK;k?(Mu#Zp96We%u+ZEs8qy(?ADD8mPv zY~E(}SBrI1+_etfOaI}#v>qwzt!|n@F89rUa?pc}|gY*$NHMd5q}G-d9* zc~^!PIeMKq(PAVszO+R)joij`U7ldBA_;;^6%ZRCRzl%vTrzt_d0TJ0hbP05lolfHS>)wt@OW+SN_Wj8dHcQ{9-BYnUevK;GLaefITPUM z^`3dPE=`=>!+I@pQSq8EVcSh7fR{b}wl^*Ew6WcyGjz|-&1o66)sM2r71!=!c1Z2= zJ-hX~Uizfh(j!*qkr9#LQRM2ed-rKqU=QnfvXVw60qDo)tA?qLUOmF2@v2k%SDgve1 z6(SNOgGhwwl)+?io^YMb86(=$^}oM2Ld4N_Mh$egaL<%g?ay~lQ91@uQ7~+Yt4H#q zhsChvhemp~L2|hTTNdUirfu~%k2HlHkVcv40L1BqGrLyk-|6~zK^$6y{8~d*yG0FM z_!E)0v$8gtU#~Gpan2w6Chey2i$%vQ&CPvL-N3U8i^za8$kQed)?mJ_DAgn<0~m?&W1Ok!RwKh#K>PuOp7HPYlR5aL zB4qF0hD6*5b`(+Vv0?=okaiu(8RrorTpY`wYNSN3=lr$sbXZyQX3ZSC4ZLHL8mT<1 zUQD0MA;m2|B|W{$LDc(BTJ=OXNCH~lnJ>eS^M&dCWg4B#4vi0u_8Cy?J+Wia0b23hP!M~GegNvNXY}|z54f~M*Ml0gz|C)F-g5(g!OJ&va82V>q z9|(lk7U=WE8?=mPDeax*pNtN#sY3fWASP+g>QihAzKTE(3xa*vnHl#QEz?01B8oOu zJ!c=%HRZ78M_AoD5#6mrQRC}{BOYUj5g_p7g4q&0BZ-h;=2WK5n7}3T8YsA==Ls}? zjRb|6&2p{>m@F`V_~yeK3r>J&!zC#y#{~Ir-aO%qzD67>ioq5`8)j0ub#kJ@=OWU5 zqkB?Q_+|k7Q|@I`04}WVwC%2{n)7JF8%S3%Xi$vz{VdUOuJ9{j+yGkk<6h)ci3?c| zMlY$)0RfgVn^y|)eRlhh4-I`$uSg#j@hC;#`WHgGYgTR@cTsjLtlg%yC)-zeSLkoDURRVITskK*=GNAUs+VO`A=`<2?mcf_#Le2%JSyJDIQ&2^O3F6KTL7n#Z_;XZW%Kxf zk6^oMicq~UD8qk{>h>ici{XZ@T)%$2aA$UVt$o$DR!B-+d^61!7hO59Q@{PQIaXG| z)rY@N{POO8U%HUc!TS?{mB`JTi)Kmmkw_)t^qW0N_t@@!KCyn$*1N^3*K*p~zp45z zZYNe&RB;(qlaY=~L0qt9-JUH!ZqLlDo^$Gj{wmW0kD}5C^axL&E*(_zByxPq*s_fI zy|PD^Us-goHNHhf=-w;jvn(e7RiaiY(A#*VI=M4KT6E{E)8Moz|7)G9fKFkUl*=@> zf7=$$)-6-(9l5_UXB={CruN>_fQ}gayY|wb%S7(I+%oosQs;#mB1Kfpa#Zj$1v@u} z=*+yCKs3H+oH>w2mHmFG>Q0Vs534Yh$y7nOU6iLyn+8NDfgdOyB;*oLN5|&xaHxo~ zm11N-{_m&{PIg7^{&ARY_~Rw1c0U&MAAl5K-n!p(mcE!v9G(L9HeL}?U!}|oGgq(n zS~GkQby|9qa2sawk#+|LUY_ws=s>uZKKXC=fpE$&*zo#Zw7RVEcKas|0o372j#qxz zzX4U3uTKp(o{L`5h{s(*ZJY0cQfW~C1NH_n1YrylmEiMHe4y)Z#pkTN!X!I4SK>K^ zbVo+6tZ-3JPp|ZV@3EnxrboHkapY=U_QMwBsd$A;aH>MpIO*x_Lv1d3HJBSG3C%do-EfvqLP}oM;;^!~1uJ)7=k{^Ac(u#pwG6J*46VHZx>z>dQ(;BD5 z;S|jXJ&Lc#aO=#;f%-cO6dn&AAH|3aWP@fw1_u$`(k0!6jz7N?c4FARz6|01`R((( z+G(-j;XZ?%tw*^(TrYEr#2%cVjE-2xpKX%P4FO5OuoQFjiH8*V5irP0`=O7!B;MO;LCA5} z$hjx*cQY_X)8Q!t;5MCcZT@Yf|CChM4?qmbhgB1F-j$b&AWY(@fSFo=T3y$tw4C=e zM7wM3*~-b)YWA~RPf-j57vOj-@*Jfy0ZA_x=rxU174qP5sx?}UO0q>WL8NvHSe{<4b$*m zA2h!noK9Pt-ylrM-`_vZ;>mbG!+6a@OS^m>_wP^RDP}3iobGEgO4M zZOP=1<}PtVKlWh%N>_LlHwpNtDDNaWj0R&{SWe`c_PxeBe)h2K_m2hnruDVL!s+(E zhjiQ3h~}(bCVx+H&B77GhTYUw>^$p~JLZME_wVmrG@28_A>de`b;FOWz>bmC%1nzd zFYmwd!F@Pw#W^f%@L-eUYlLzJjP^rhiZpJTW&4T+?8MXHA z&U9?YDNpAh;07oZsYj|;-OvT&x1b4lDO0x2EReKRbpx4PF2e}WtZqCVf84i>5D z@OT`Dh@Gn2Y@Ih4{i+EAw)Rh|<9xMOI0{7GseV~GwSC7*b0>$i-u0K%3uy6IaCL_k z&YBkKpV3T$uUusy2}Iv{%d)MMx-VExT=v_?cp4h|W;)mX@#9a)Fmef~;-6z?74e8& z;gJTJq-U)EGiPboa<*otqBC?oCBjs!vEyQO3Mv?{>IP-3x9EXsIMcOU2JLDu<1lu1 z8SV%6{(>?xzP2x$*2z(Ef|=Q#ejirb+8&xz9c02e)2UbAO@pVHZup?Oh)er^hKezI z+_E7nF#*l175}m4^a(vgVKjJHWkrQ%zIXpKMnd5d4o9XTGRLO6JPUlBP1pS;T-2k> z-%$`*{HhVA%q?{1&fE@vW`|5SGTNB+{3%uSHrwL>efu{@wJEykJz>|Km3IPFtjBaM z`54e(`H|=7>U-xTNk9X+UyAhBZntuJR5V`FZPyl6jOzamyC24>+vY=^9Y7}+Sx zcb(eNB#smfpvEd!*B4y|s^>l5%qE~g5$r^cbOdPo^%m~Q)Cc%tIF}D_583Q3`ANB( zdzwEq=q9zxD3UQ*65$GUCfURiUk3_n@gWki4!#nVNZSW>H-`=wU_Ea5to}<`n1vO+JK))e z-8J#_S`lClXon;Yu4K@lIQ@xcF2pkY!_4v3kU_*i89b}A!Ps!&_t$rA9g4fSep_ci zqOkU~QBg;a9m{&F^%Y}H;iZXf7MGO{aQdNOP7=%TOPBVnIQ3e!-_K;n$@dBi-!yaX zYOrp``%x=d&%b|E3<$i%ch74)M)|pm)xNN>=JF67rt5qE9JZkE@U?5}66fn(Jhpn| zVWVkz2%211D(Rw99lm8~(US@Y+;*KyD0#Y~MeK#peQQ%^d~ohM9SojZ?>lgyzi!w8 z4bB>w1Au{v=h9s4Yn&BwO;T(0o^o+cnBMaOP`@jH>Ku{dePOSmV758ZH$GhkM=RJC*A2GOaV`&Mi=g<>(a0a_mk!eCHHFCTSzbw?THZZ=jo5 zh>7xxz*mxxhfmbuBL8-9&aqCPxk3633iDjT+#w@YxMB`5znvmSUPEsovgJtIK$9*0 z2tpe$(9dK8tAF#uK#|V`3|A!tFsfVB>^XCCRi}3F?vC%W)AKaA?+K%7yU(g8#e>C% z4U>6XHtSz;JY53-T6E#h0o7s4)p{j6pxY(B_*n7Zyf%R5TNS(5F z*>Rbel-Q1*f4gH~eUXPX2{<5151h*ig$zq~7-d(mg|2L{{(P(u6E1dtQ5lb|^+q7cr5bN$O{>RMj?(Fl*9HM zFw~UOPAkB5z1pIab(}SWbL%4soqtEAmp|LJ%r@hT9z?OpBPhE59^nPgpC1XFp2F9( zTX$f-Yo5YO{h=n~$Gh*G6Fh#4p7G@&GcTSx)rvd+&HLMDK~*p^SeClMxtoNNZ@D1- z6|;csiGn^97I5+6#nTK;54n0+5R3MuH{VgUr6dD(@)Zr>(Zvhn%aS z_#1xY3bsupUx{NP3d+t@+mADB_H&4_WV;1-TtC8IVb*T5ZPre>Adk&>s>A8;-)!05(y*Ely*O&D*A4h2UpZL}J z+p2frrsh*8G^_EO;n%!%=XsSEdze?fb-3JS?ZgMYmFgUpnMWF4+uWM#b8GYW^Xf-B zw~E@}Z*Le<+j34#+56i%XH?X)Yu#t3oqQkaHh+x9&$n#d>K_fE)wG)#srvP0 z^vg)g&bszvj@HC>>!`5eR{EWsoGY|`z5nzWu)yey4oKuyG=WWuIaJPubUT-n)MnIO ztNy_<{A-H3UG${To$gvS_nASRQyvUuHa(=#j2Z*Nqa{kCH&<+_i^xlg(A={1{ zN#ykP#R=;p`1NA$xSPTVk+3)YX^h$jr>t^wySLv^yWr%9!vlt7mOvBeD|(YEkvOok z#XkF`b5#kO$oTfMso^ZR8VCc&eJg2yuW|Jle}Gq43D#@mgVx+X;|75mf}J{5cR~Ut z7C8NsD|cm5ON{xryDK@F1aYo0!0zqGhTc|uBcRjX1(`9aXOfc(W@fBHX{Fk5I0wc! zaMa|Gv_H1bcSMkh z6<(c+gWVTMOM-N{xIhW610K0DKAkSFDekTZ`aUw7Z$;Pde}&=^Lh9cq=0KEXe+DN9 z(2Tfro#D*fu_5l(kDpZ3E5X*smfc#+^sLP^G3{2{pXT%|tgJaqMJMmP<8?!ICIc9F~I*A$iz ztzs-seg5K7Gon>RobUTr?E7A7WiR%xIo0Q{4W-oos&(6T>@Y^oZB_Nts|D?eG5bt$ z349dt#q7Zkg9v&-f8juRAK`=y_NU{cql_|V7tQ=55##&_=~^YBiN4qwLp=g5xK{9M+F#7vx^zL!%U#Tc}rf?m|W$-8du%Iv23$)vxzykPPnt08Mh90nW~>_QJA&|RJcmK zy74V+ZSg~{RydS9-6&`@__fs>>sgtzj!xZL^JjQJ73I~Qo=u9$bH!ZV&qaSL^(k7U zzx6(izdz*r5i{~8g3`W`EwcjXC~vLq?!lMlL%bMYc3N^I^1=7`cL$o3-rf}3?G&!T z%iQ@@BMsCRd@QBKTXcJVovr$t9RUHo6Z4r|<-29e_`@6S$y#A;$WXAmOPS0%q@?1* z2krEoyv#(%iF>NU*3!2L$w(=faKmc9$Za+2CCoT2f#BKhQ?DWlWB5k@A5U!wo3(lE zzkLMhWC_z+tM~0IrJEQNbmm+TDwyF5%_X0L>+s8=tGMHA%KYnJ3ud#Fj;e9s|A?!A z8H0@}*CZkajXL8eiqfCL*vAZ<eH@NI}!%s~m3_1CUWdezTJ)5a0^CPzG#OWszUg&+t=`XqTPjR0= zh_jlwdv>&e-w$vh#r_-mM1d0U>o&*Co)u~UfKN}eH7SVF9AD=~6pTHICYZW&0BO85 z>PB2g>fM!ULD@_PdGdz(_dn8w#Ai5n2QCAd=4Y=nkYSf#Zj!9PVIEO3hBf_9(EhL3 zMt6M=ec8=gxK3!qa?FsBcU|b!$Ki~Yd07mpi1qU)iYg-h``sC7;H3!UVH);~SWG7NeKHvH4xtfNCX)7OWr`Nb6+3nM0B#g?|k90SV z$5nSvdo$-({q-2UMLjFOleN*-s_}nps*)hz|L+9aX4Yi3_a!%=F4K@gOno|dH0@%% z-sM0E@IqTDRtPx79Vwnxc$@aNz1U(>JVWj_0#IuG0hsr){wUoC?U$dNo^U{;t#w$6 z&q~l*|Jm&yig^qw+Iga>sSl=F$?T&3+TLv*Qh~W}MvRm(f~B#y;rdAqS@|nk6>G3e zw|8Dk9vkM~f4rJps(uy78;1(K!`jV6c&eg@#v_x`Mz6-2Dca_bIo)>h=%nU%ex7l$ zU8^L_y*IAa|i~GvbAJ* zqml+pr zOq^L&zp{!C6jh}j7)7foA%+S#%V&!%Ca&Fwhalc^VkEcOciKI8j0a0gcgPU!@^OE9 zpAEjJa~9%=YO{2dI}ExQb-e#^me_4Yl$8 ztzF3QxUj-q44=L*T|)(n=!U}j-p)5k%h*QudiEq9d8`IfF->)evS1b*hM_6@nz1tD@q>fyiVqV~VOm)u}PlqFaCi zB~<D{ukMm;6B^UUNvgeNapR0$@SUPM%}E0Z#DDMc61vNZ60o#ON|H(eaYVEri7D_ zI!7M-i@l@l_gZjmpdg9lDf{J_FyN1FmiK$2d}hs$YL|r9wwydN3FWP2?rEwHwqC2? z&_+JwTa^Bj>x7i1$MA=-!-6~KInA5bfXD*QoSDn*aA9V#dfBE*Rw)Ouu@J`*^?C3B zt2h+|&YCvIzaKeiw5<(EnUK!sOM2AsL{BlkL(mfR#CY^KlBGmCo1XVh)J+I?5(_PI zNw3*N@#x&0lG#Ern$=HuTU7eTzY)H3_NxScs^tgbW@a+30zD%!d}tr&2In9b0)T`YgW>ChsNQFuxj%A_C|jQIPB#hIX9wu3=aR4{%S^t^#`H7cjgl z+njvxUo8MV;im9k^k8xIeTkJfT(c&XO3nq}s{L7lRp#=xB>Vso ztJt>imh7-H#=~_Qe;@+hl4)IP`ttKz%E%^0mSz{#fSMc2gegXlWxwY5Xcz4DX9U7w zb?gSd?8f%1?SR~OS1;SiYr(?T7}U0Cp=z7S<%J2`VgK{h9=WwoEf)Cl1y`M_=E~AJxAYV_$pUoQ z*D#!;?Lw^&B%OV&a27#=UPz+$&iYH#7My$oR=A_6F;xt{Rhrd>KW}3Z-^wkw{$8WA z*LHAqz)-{uJo6W63iKIUckL?rHXKa79V^M0(lxmzceR^j;JM-7w?vQq zf=d)X#ccC#+lK_nDjS}^Bz%AcjYKM8K3&Ws+@P#vFN0R2?<@4v>g zS9qLCfB&7gE^kEqR1LWw57C|G`D^}JffZifY_6dfjU~sW%Y}V0Cm84il;-&NuRSL? zk@2VM@)@G;uPldK_;MlIds6@K=A}P}V%gE6PY+f5b<+i31fWrx5wfr3#yI$@}8_@WTwWAj>8q$F{y( zw_`DlX0R0EJuG6l}Oy6!Y^l^T(;5`mU{l>&I++M2~--MYwC!oh$Jrm}Cp&V@ju z|8c%QaQ`2kaETkw0Semg@O{}}JI_>DDb3`~0Tr6;&T3R(@~zv+UUOZF-#MNaX2 zCNeYo>U3eCy9D923HxNP|$`<>US6UG`yAf--Qg@VCD|)B=^C zKOZn0P&Vlt13Is>@Wm`FBaWgC80jRS6DR0VN^8%PVyESY$Hl!_w}^X0TxIgRKw2K% zn0k7iv0QYhIRm}Ce?OHhW3FzFli=zR4>A7mD@3ZB@uOT*CXl|e4`IV+C;eW(fFC89 z%rJ5JP!M6c3jo7JCP>MC_nm%|Qib7!n(U-UB?hk*CsxwAB@AnmJORkzN_0%`} z@t4KJqE0-e?8XJ_-al^gAta{T8EO3a_(n}RPC7Vg%DiHb)xd&U zN*ZJJW3vcBcUhWD!SaHon91LfDU7g(OqA(L!*uHOX+!qT3xwZP-V^7yVwCIT-Jcao z10IH~+4`FJiTzE#ok+|W%g1)SIKH0P4v|jwS(GSE%m_0xEYf}(Hn@H%6;8S(xj?37 zW`3O6GKMDBLS5Qu>coA?mmK3|t!>%u`C~|8GH%+#&)$Chl`*e1&DX$V^BWG~X z@SzMT$Mb5&54|~NJ82oH87nx zk+Zb>R3@m>2eoGa?q(zcXgEGiFbmkSd2>&F{h8G>DeJ=s%Qx=X7 z9ptp)*`*-f^E?qZQ+-J$JN*)a7+=U%;L?@jv6Of9AYbK=M}!bu^2 zo}!gBX)}+}E4h;SN~jg$s_ONqem-SPuKjg-j<;uz$XCZbQC*yyd(!my%WpG44(V`q zz-+$&)SzBO%-oNjl5V9DLzNX}5M|g^Rf$KgSa?fRrz_NJ0jPb|C~6~_2h z=s*;?sRd4B46AcNTszXQVv>sk`%sb&^ZuE7{WX=%t*YX#?b{!B?dB2td{#MYd`QTd zMm|6-Ee0E&y z$-TTz`X|Z#7UgM>ruCFlcUXxMwU+%W`+Mh7eXk#SlEWnAJ}4p^dOVAR#NmeH$B$3N zN5DQyI=PArdMeFk^4eLFFGyT4C1@2b7WR<(I8Pp&ux`m77{^=n=ypLo2$zGVb$17A zF8Ut-k(!JzJ4^yo=mk&oPh+D<(m5t2+R%_V1Q9~JbeXQ-jWsNlN zzdNmH0?h8Eqcxm)*#G-K*V_E^hyS;KWvMkVeDeSHpZS0P@BX1q>pnJAllJ33|3v(q z$lIrB-eWu8!J%r~uFYFbRsYXV`DZMaoFjFufF-i_y!t;s?Emx6|Nr=L{a^TXo8C|) zZp5otg2txME9rNzSya5ogI)QzZdJ7H(zW%kuGwiP>wyWLDM^3%@#CDV@g_!p+Pfu= zvrOgwG``dc0Z?6@*9;@0KW6{ZISflYnw^s~cG04^l1o%K-g`1288?yyaC4^hua1KU z4f6l?cI(^9w;aJD9f|j_ySPR@^(2ROyU+Qp^Dh~4fKl34r?q@#*Kfp#Szix+rj$5R zcZ$Uv-0^Oof7VLGrDPJyj#9r#PApv8m$a5!w*Ib<4MYM<-qO5TgDpwu@FHX z1(J;+AtG=8IBXt@=$L?T6Mb#{zxLq2za?hI zynm7PfB&QWZ-4dwUw>#ro>#qpSNb0b(iclScOA$?3%q4P8s;zee*Hx@IIZj0Sj&iY z-@gb%xyPH!bOSgExeMKpHooq=cKwmZ{Jqv~+cre9Oi~lN-SnG3V93WJmO>ragaV!O zc8s0frJFzMMtBmLEJYHu4~QE1k;+u4#)U^LVvVRL;EFgw>x~7HF$ze@%WKY4P&^hdwN zQYhf}l>3-dxnoC_rw*S`bV^boBJs_rVdTTaC$2|DqDKMyin|)Hfpp}8zVE8Y55&{= zWBhY>mT8m!F4KGFP@6J7oL*moYNhVva_T!X4=apJCIFSmM=C5N%F6CSvAek?l~-ff zj4Xyb>C7lu0kd7n$^$oOl0rJjkj-zPJOnh|KxgnK?GOEwgxGOF zT%$lVx-kcakW}m@!Y03aqNNO53lw1lMI?dN)M67)*&dxLLyBdTCkpENR4!pPm>B%Y z2OL+O&U9p?U_s>`)Fl#5$HQhnHa;1JQi%9%W0|qxcyo8prb`hMN=kHG5x03;ZR<-X zc>!W=*ROV`U!C~q2jRAcJ;@1H@#yNvek0!ndJ*yeWa)MrLhg*X!^gWgVRLv}^!`AdH-d#0wV z+lq%Qp=2^Sg+4ofO_W)%pG^Ba>+Fm3K&IR$Nlwu55>*4FddyT(8k1Z1l*t7$=9HrD z6`v}unhx_W^L-?|Uz$-pB|E;hzu@!)wotK8OGdd%ZncuEz29}u|3o-u?@8Ka^OT<; zz^NcGxEw{Dpm>YvI$|@Ini2|h3=g2{={}tYm466Ckpw3zww$-*`pe88flA7MG%vNi zQC^g|3t_ecrso*Gu-^a&#G2SZp+N}gEvPK~Us46K_K576rQaWK1=JvQy)?{9|> zp11v_UrM71c_gHk-%4IHg!bf`I`cnwn$)A|-$3&b{{fCRfYMmG7~S{YGS6>7>mtmA zZAD6S=xy!vkF^otScq}D$63bqtXS=~gxnj>3hRp>?;dT)k5{ZG&K$|EV(WBUZ;6ePJe!z->bldwaIsCE-V*Fd28Z0PCN(y zx2MF6u{m>m$_?OsUnmR78{5Y zP~d|sZa}L<>I01mPe>;b1Iln%6fiQyI;rL<8knEZ_X0~!xuH;x`&TBI(WCZVdyodw zo>WF!?DWEF5IeC786L#TARu0qD@pU2%t~+N3^<~NBOtOWUdPr7T_#HaqRwEZ8B*n4K6}y2)IG44{bD=&L2?Er$ ze%H43#5FHI9AUwHt(Gu>$e&xOeB_LyYG^B^c%hgvsu>D4B0>2mX=0`gbwkF7ej|W0 zyvL9sR?)BYFeS?2%=W*f+@=EfRp}Id6VX1&)LzMmVj#rG+81Og)52QD&oD2j`TA~J zGxT0;!d&;YF!LOeW0vpO+Y40~b-|6lNB`Og@N4s!>sc%h$RaMhFInLI6j*ur(}6>W zPJh~$h8`2Jx@t+^Yfuct=>3xb#-pfmg_lB_(TTOYJ2?ZQLSjWQA1u7{WM@FYgYV~x z0p~@nAi<4F-5AEAfL1*uc^5u*{*}MdoG|)CK(~!fhThj4h6iStd^NjI4^_W zd;1^chNaK9S*hE(9*Xt`fad1YUFI;dN6?sZmD@@_oIDbw#)dCUe}wt*rC|@6{61*~do_yeIiRswer) zscC7kKj7xNNl=QW{OUpH)6(9pc>ec<31Wg39o+r8b(E{J)rIV=tLhg6x7UekJh&^1KEQN#&VSRTERhBfi~sX{pUtH7%kCv7~Wl3U2gU0c_4X; z*~%JjdFSHewK$q4-7SRm+fgC;FwR&rg%!EK3Kv6LN*p7;fa~X%#*ZGy%If$>oTvH- z;JCrQPe+EhglOy+AqUmXVETigzyI5h2W_EAl6Z$bzB+K%mWgw^;!u{_SG0eyEx3MW zeKCB;+LifZuw-w8oW60?%S9|R6~muqWhn@x$BMD6az4Sxk+C4-VBHr-PMm^0>nM*C zUA=GVS`RljNuQSV2o_TlzdEXv4H(GZ*IFKuk>f(j2KgwubyF#upG~g*M5URLk&#lM zk`HD+J=8unAj}s3K#bib1E7;l5JSwtEiZy*EbYxs?+gC`9< za3Ie8(fsN$E^IYsgN+NT3ET&o5y`jqYm=TPB{u*Q5K9Y0&6E=3=r3s1dgra;HWSYR zz1f3z9o=pnUNj8`oTX;>0L6}**tx#cPb10d(4j;2C<3U=r7(*dP;Yqs5M&EIA^RL^ zR?U@GhJJGkQ=Ck75~m(*5NDkThcYqi#*JR`1>A=Hb*hS+?gg-D{`ZdPUz&4jny;lV zG>q&Is^d7bjG0;=s8fo&(lI2b>M>cS zGhHIe3CqJ?OUM=$9qFW|fmnBxB`Thx=QE`R7s6DP-P8I9x%}sOe(>VD)HC zd>Wf0BYTN94eV4JITq~|&Pb!mckEG7dZ|@en9;pa_Nh1Of($}T9CUl?P}lJ2zNqI2 zcAeN_Ynt~jebE>hwvX!qGj*9N&!{NwiDwvxqxyz5!XomoB%yf)s!uvHzt>z#o57w@ z4yz{~5@Skg#URfWc)K>WnyOj`i_uXS&@IAx1~%{y5g z?WZN9x=1=7u;?6G0ZLzxz@r0CbyiW?C^Nq>W!fG7g$`5<_o|KdTCoe@kj89lqb|oV z{e-{SYI>J&E)+VD8Aq+hN#9SU9l3@);Y}>0>;vr$?|W6!WF`G*ftR!Se2E?@O=ov) z=8Whv%VoiTwE*&s_Tljgr>@u4(=(!~XS95e9|pKtuCQ#ku{-jINg*(qK_T3 z=OXj`Sj)Xs|BTQFkee(Nn4Sin%a>sq^S_o-%jZ6#zlw};s3#b*ij3md` zTRBKZHhL$mGJ;uFGaLhzfhc_m_-iLK?07JAE`Hp8$kDn{3i~bTHgdIu!e{%M7?b$a z7WYS3Im4{l$sL?-SLU6;op)7Em{8aAG)gw@rt>oyI;DxWdG%_EHjpJw&oBNV#1e9* zlLXBv(`s=QJRl-kyFmvp(lz?I1gyC`%gfWu%zu%7unZ?_#S>Q~Xbnbswqrf!kD)#w{mLx*`;CG-M@HM}Y23Vfw-u0gv-xdXw`=uZEPN(H zsCm?wenSyGORxy|lJG{o&w;OwC9^|Tt#Hw2ZTpWfKlo&^F-V~h&m3)r(C!K?bx~sp z_5jy0p(fP2N=;diJezkT%yA*AM zXnG{mTIIqt4HZ$y3l7t1@chOh7g1rc!aFzxm#K2QIj>I->553KwZbA4HOjwy-=kbM z^7VvZp|SqwvN)kEfQ7^~kO%?^sXYVY=J@^aKzYs$n(=-!;ZTTMiOVV8xounE?RYa& z(@fGTjOrg^Ka_A-3v1_C=*`DPS=B>}ptDbZS@aKA`BRV)kA;Rk&&Jj z;d{7Eb zsF5R4&1@#V*eti79WEF-i)jPfYX7Nuyv(@M23lP=b=UAd6!Ot{9 zhh!l6-r@C>dQ#5^3(+9lGd&sC*l&0%rJJ4NYtS&hq2 zWTt{>vKFO{JvxT+c{v7?2MM#RPko^5WD={gTJ)M5ghNRr4l)ttLKn0v9LPGJze|VQ zEoc0n$@1l=!tVeqLLV~Y#rJJS%TmXEyNE32dHLeAv$vT#b$5K)rluP#VlAyEqgj%6 z1BXLj)fMv>EZ8F0AE!%OD-9V-%JG(%d<0n0fg)L$qst@9+ZoE!%8r-0D113GA)46#YxqF*nc#w=3B$Ee2}mJhsy+*pd+AqAXL5zkp8Sg-{_NYU zXP>ZLr$ed0Nh$B8uo~OyX^)EO=Hb=g?Gg8`b$@(z;oi3+o`QM<#!N1>KTLZtk8k6b z0wIw<=HwMbR*IKhP+2^RdIe&-jd$3z7}hq@wc8V(zT_38Oj2o9cnr{TkMEf{D!qmnYhaD6pzS`$FKXd zD}@+9lb~F@Ps=94HOD7nDnPYVFLvubZz`;oMtit!&qSAOT%ty0_vrSGg1a0mRT^Bd z;SSfz?V?d;ovZ7Qrwb9B`|Q%l!(j>D&vQ=9GsWcWJm!F!2bF4C#T|23TTWvXF(|S4%^%AFEf0rGk&yi!Yr+ZpJ6_f0sbp;>zb+fWH2R>C8+xW;mlO@N;XyhKc$0l)^)~Ig zgUJQnzWvz*Hga_Q;Ng^?Mn@)q!RdOGTRy7O<(M~`2T z?IttheCju}hrAHmgW$%`FI_7A`O4?pvtRgg%12hFqp5bDI>!5?CI{=DcBYjNV)vFl zPvE^KDdj(U{CIoPUWwsy^@_dp84%XE%x@_De!DyE4pCYWs)O55c@dJWq();r@lg1s z6rWV552Wfl5T3v<)PLF(6SvGH$@en!Qk!5n!Rqc!&55(T($=)wbD=?T`RnTwgZrzi zepM*7oHn()iZ0WC&BN^uilMVb4KzXEbzf}@>^K{cJKmgQw-Z&8J++`;ib&T19YDz1jKq zeOs>|Ut247fBkQvZ~-Bg&fN=pEXcM#oSmSQ=yP4CUs9g6j{x$NJ2k}<q_{>P1urr@U+WKywF!eq|m_Qe6&t*J}CC4KIE%F(3HXUq$^QQ($1Q z?x>tycs|6`%E7#)ZO#j9K5_eBmX&dB8@#aWi5+9tH6bnoBZd0 z*t)8TqkU4JtVTa%{5qWk$mJ!O^$o=!AS!IvO9$lDLZ!4l%W2Y*dpz*sE>O~Pz5RU# zfVkZNBv4p_JA{ynx6gn4HL$h0Yu5j)kdGffiuvTv@7mEaNenU2_u^e^zE}Qqw0mQv zJS%L?LX&zC;fr*thwE{nf3fQ6n(0$tf7!Gy6nrKw!>#*)b40~VzQ4gP)>ETuL}jXF zw&&!_d92B;-D+g|G?Pb*iiM0cs(+UPs&ws~36oLr=VMaEquW*H*U)3FQ0`wgh-sV6 z|3CJw!Y|6LTaTjR5yc{;Ra6iJM5N0E1?d(EK|)fx)1X0=P&%Z$8!SNSuAy|mp;K~z zxodOocmIj|@jD)J-g)1>_o`<-YpvRjn`Px!0Idm);Zi-Dab`9Cw`CN{j(UGSj6pmk zKpD1%;(Nwv*Gzr+Dz%#dW4TXq_@-8~KOK0;v3>oMl`9THqzA0>RUi)!&KzRrXCIda zP*LL}9;Ivmvp^sWVw1v>cB{7ubIoj6Xyvg3?j@uWBj0`#Dtd%u@CupASHH|cvhHWX zb3k{11AN#VmMdv~5+EU}!=})|#da@y1tw`d#1r0a7t?^m!-XJkjoj+AJ?jj)v3DSH zd1uy#(uo#i4kJW1LgvhCx{td_{y;6qF>L^MM0IGcRUXOo4}d^xIwpf{Z3}=rMQg3K&u<|+ zJlEAX(^K^R(>f8f)f>N|m8LFoXk}SLo#7NHjzCxxu0+s7wS3oeoyxWYd3zrr_YqKt zo3Msset6~>&xcK@k5ouCgwtf#rrxRo!MDPnI?l%E`1Xgpg!QZ528Y3~OI(dvJq*Ma zRC}4DmI&iW#6n0~iFU+=b26rplivX2ZzTh(` z0_(S7Jx=m(6AF7g4{C`?YAvosp|UB69VpyFAoe2TH3n-JKUTe8=Yx}7y@D5l9RI2RFV+kbI2Y-R}r{(eX&)RXV zRh%4vQyXim(A#obo zORantwNZBd3p>C`2hfl@71hInBua9kRe-xR< z>C9Bb9Xw;QXLd#-KivpIv77OiyD}@Q3`$J83Ce6L8@(Y9 z-6X(!+1d*P)b^hF>s-K`i)!)zn(YwE5vH-e^TET1rm8w+F((Ro= zl;sl9NvW0IVsIpxIGzq}%Ndzz|pjd9r?8nznab8Ex>#V+lY*6ODcQE^ScoLsj{zP%r1jb;Y?Cbp@ zNzT`IypZFII0~fzxIi6%pH#v@!ISa5JY`}A_N9>W1pn^^RQe-2HQ3p54`OY?O%sKV zNqXQdQX8xR0g-xUOc`69QYj@XOI0$hsIBF{y$+-b;OrE#J)B6(ULI4p{qm!e0&$c* zyh+c6{Lf<;x&lYvnbM0N!vFQEhOE67Bo z{}~D2wxCG$j+>pKnSXtMCJr?<$g$y^&17w3vfJ8nO*sH810xHpDDMeI{si1(49 zPu?ZgBu4MKl$ZJb@a}!csp#kb%hC2@DQI z(FaxC`Jp6N7D@;KD?r7YkU@cQ-RcN$1K$xnga6{Ld<~nl!X`!k&!p-I3Lh5-_w+~x z0O6>2WltPCc1F1Zrk5!l-Ue)+wY(NmnE`*AY9V4h&;B@3-uSq&hd&`?xE&^izT4uY z$@A;6GlL4Hci{@YzUjLE2`HNGLR<&lfft&j3AGIC_K;(F1rQnxs_F!H5UO0fLysM& znDB}pK3`u~-)QrQDjYQPbFDpap8chQ_kgK_>5&XrIt!=(A6WJ*<_p zB0tFbE};Uj81QrgA!V)yX+oh^eu!uNh&y<3sDlSW^SeGf91aK6YJV_SzaY{qB%pF< zaC=?=WlK5dvC6u=qW`QzlE84Je^uSA(ZruWZ-4-usf|{vDIlwEZ*#*70X|SBp`NR4 z|D>aZ3hAZZ>~NJn+HNx0xWB~W*H}VnLa2Hz_*SZ>{fTI( z_%Rz|-0uJy9m_eXua6Vyr-9a!um}4@oD*=8P%rFWdl+bjs?74W6e8(RZ(l%Ca(VST zfRGGOm-nI?)O9IqXe%DTCS6+NHyas}+yWANz&LNT2R09%?*cOC;V)HB zpiB;>mw;FD$%+ZA6)d~_NR>?<7es;zIZ6Wu@_*mSyjTw|EHr`DF?LgieeYOb6MPU$ z0J)+%%te+2as2DjyeIHtfKC`tEusn8@#C)`A39Uwd<)y!Dzh{MWf>4@E7z!=G|rNv zNw_LZ_jZq-jIg&VxF8C(8>p?Qe2p_Y*r(9~nA`w**8sHJfgU=#&G zyvPAd!A#R)Z)=N&-F4(@K?X`-LgTS&&9jxp+rI5GCT&>nu%T-YuJ6P@VEbSUjq95} zaGJoTLY+wXxMdZzv$=gsv*vh3N=ix}Y42g^4Ji!Jwy*af03Q$uBRCR~su0=3^hk;F z!JfG7H7!K!rI3`rw|cYjrxC6r>t%G6wYE)!!=4LUJf+?6{&E zMG9y&gf_vS9m2S-^{S!y(a=|pOWhLMuYiI=kd^rKGSGFEc6oeg&HyZN`ZOgP7zaMB zRF4>hW5ZB(f)HfL;2X5Q&)i#*h3ZDUB1oLV8!W8sN=Y7gX5jBtUniesN(SgODd8vh zGGbd+DEb1+;9VNRa{*Y=1rCeaUsfR4`279*rys%3VNhK;FhGdn|bk=qEDmi$ZGssGkf2u(&*Anpf{Z-0(o%;C>P}{DI5yjGjF@Mbv#~Gw^a9q<4srE3rw@ z|GBokI_k1$zRjiJcT#NgyeZAuVBGyxZ4CwC=a$AY0+AKyDfv;mszdYF{unzBB4?Po1T-%}+azwy$3B&@k;F^x=Ur0{2d?=wTSc|0d zm#x zd;IN`)Zm$bh+G-Bs=x!JiXY`Qkbi^(=HsCDGTyo)?2l_*oxdv@Uc9>K>x{TpyurT)0hs7gd;-_)7IP^0I`M|L4$0Bbe3E1yKgIlUIkDy zv&*>w({P+G={K>h1;QKoy;8D`f{o^iDQfs&1f8dDLROa!M9MbCWud~VU(3OK z;Z$>Lj35tZ-OdWIG%brkbK4IZM4B{ikdO$;Lr|*is%lTjBy-)?T_7**d8e z5Z-&|yd)Q51$aEd$_zjq4e>1HUg)sB3yo>+(_8=VMTaNt?ldElAr}_ z_w3!GX655UK%2A9hB$Y2&0Y!n4vgYu(}zn&aZafc)G`vEcDK7BN3iKZTqGJWz?kmz z-T+J~=HG1vhLuxafxq;1)p~FotQqB|sd4Z^!@dGAAZn%(oq&K_w*_LO*f@PqV)d~b zQN^z5YT7df!X%f6M)L9~qz{mS*#x9nA1G$a9d}O}9F7eVgu!b(7QliK1pk)`vL~($ z%Q>RLE+DHw7~2Wdht}XQ2}37m6_PVT_GNL8&-`H0nX5plOnR`n2HP@ezkHt@%~gt;tBiNT&rrih>%#ll*z+6l24&;O%7_ z6frqZC1z9J&ioDX9}FB9A+g=R-J7#IMA{IsZR4GJOAoB#-5|)Em*awk^?+Q#4Os(q zh@hQxvx5DlcO~zkvw>UhbDfu+wsWz8veEOVmji)S)8Mu-qBd^>z%&bFh^T=h=Lc-N z1|>OB%DUZoOB?sxQr-&fD$AO+K9hJO$gEnmi*9^}OaThpmUmX$8v%3WclLT#A8(mS z5K-nfhK?E>XfXpRWspn*kIta25dv{xeOJgO+=rTH5q+I4U^5!rC;Edg7`e7B4<&FX z#dltW6FCiF5FU-kR(a{d25&b`&~=)3NXPN@;r8DV=Sew)&gH#(DY3+4ANj@aN#T)ww7*7i7!j_Z}#f5 zZ2)dRFk%Fz5?_(7xiAbgw)Cr%y2T^~%Tidf@D?M4kuVSl?qbRl(SpI&NC%E@n zT?@cFqJZCoTfsSTUWW9RhmFsNUokdqez5>#2=l8@aw^FqaNRjp~1p zYTqsw+Z=zX0F_8NtI9FGBM=N^@7mbRmuQXjFQmmev&A{jWMt#6)>v5PA}Q8rw1ABU z{=H#%djY63V09VytzUyIc>5MlPpKj32aP->fYaNZ+eX85_EsV_c>1sWy-Ar_RSn+&xXb3i@TGwYh>`Rn>nkl z%?{Z0Yf;C$uKc{hq-hA`ac*D;X7{48%wcw?6}3!Y^#kbzZ4NQdx}eTX`S9b7^*fQtipP zXR`9zqMq_YU|Ig#pFQ)h2og>K*up|Xw>Y~#4GpH~)?RRSHakPy!|Zm3ZQ6s>w4G9< z@a1cLnl{=Kirm&_vut8{_smA)aGKpJYFgoxvOwuPMXhD45dM1>^4W}O@$Sxj+MO)1 zwu*f>)}oVvC#ymI940ADC#~Noq zF8a44+Xnh--h|doN-1^SpqziV@U#a4e?S=L2s|I0KYMO^*Ey5!r#=i3Jim3Er&FS< zmsX(^I>ov6@JxtWR52U5@kj0Fk6oIf6G<(0ci@7V2FqZe;z-a?K#y~72lKsFJ zKuHiffSdimoLm_Nb@`Y{jngRBPBjMhj;0Y(d(`0e*rDr*0X`EG0?v?1;5qJ#!D8D} z**aIKsi+#@fUC_HK-kKPv#-DGU$zd5APWdUwmvAP<|~mG!LheMCYu{dcck>y&0Reh z9EPo+-BL$3u5P^v3*Re^)+46)&I*eT=HF7~y*VB$4Vh7jU%9K5$9 z=-FA_XM^ORGhzzNfJS09SJ2o1*NI!Tg62*EaL5omavGWlK5f84wE!*LVEge{f?=QD!&VG?5O)he zSAjFW^zCFa(#>#B%G))9Kz&C(XdBtlh3eHdC=FK$ZK9$3Q34OEyE&#AG9C-UC&9Hp4E9HCEvA+(QMTDAf4n!_)xr8PEE0c%dDHU#Su<<$d?SR-=fU zrg0SFg+S3S06Ne^T%(&4Xru&%6sH$!Hnd^phygtjJil`ud#mwiLBI_T8PE?A)dPFD z+$qUaFU?gGwu&1B#2vbLm;s2GG=zgPB^@|ZjDki*)D#r=AR^6jYl|x1{2hRUn60IJ zNgrNq_2n=%DyvBLAnrlIS=x{G_7Kn=jR2x=K)WF8YRFE~cV>8LoAL$ z!#s=U=)_fT{fUM~?_q&BuA0A!^tK(htw8%VDo8R=y3CiTL6(9K@Q<@Vtnr6Blbf?o zAnXePr}^eOH~={}`oIxt?3NQ}kYun^ZfJCcChE(`l7LShjLbQrigyBY?1Q+6do`$N z^j0xEZ6TmNvlr{;Z^QZ(1-orer_m7FH-Ll;+|b9--!glMdyB*d$e9+ z-VJigk$VQf>`k;F06Rc|QDY-`cTJ09V3E*-d%(r7;zW>pt(rchI$yO|i;n(xpb^|K z{0oy}8sM!M(ea{31`)OkpfC-n;1WPSAlk0BfPvbz9LxH4I4MIr>}Gb50|`a}A<|%h zjy14{Hh`bY2t00;YAESmhKHT3zOD!7E*MyHW-BFEL2%)? z-rx)rCd?J#AQH>_OK%`9H{qPK2I zb$jgklSx35ZiJ$f-m?&cUhhxx6!P3VpJ0HB&yYG(BS-~wfz~8+ukz5pq1U_4^C$ohaj>MfD& zCI-*cn=R@%I|Rp_9>$9LLf;O9dQTuRd`}J$dpxZlee?MlkL~XG-{2T#lq8_hkF2b$ z15;wzbkSRCSUBcX$QJRmi|}Z}jRuzGz-dNWLCQ$kA{~fb%RNeR^`|B26_Tx>^V4p_H3>%->F0pJ*2 zL%#v~ASn3_q!%er91dlb^-Oz9KG|i^Z?Z_rrHc>f5KyKNTSC7Rp-QzUhhoZJGBB#D zlLodxp*;sw5-F3#E{;jC48af-iJSgedBYZP%`OqS!fE2WS2@9-h@oDDmP}PrI1Vgf zZLX+&l=fSo?^^R;4-h2{>O0w*Ww}jbtEXqxj%-fLc|@(6146Pql^lZ56&gSQ+a0k8 zOtMk6x)1$M{NSj32VkVodmX%i%8^6!aII2tuz^+$G)B*!1X7;{zxWJ_>${v}1%AES zMA{7O$T01-stOwUy0>>0 z9O|$Wf>2J%B)&T>hXZ#pcb$-DKDM`BW}~g_1i^a!KP)k)pjbI0IrM;8^ff_p3?~0{ z)qJTY63$?-j3%PFfE*xq0r~FqE^`G1(AHc6(kVO(s}t|#RGq{ZhKgr%s~R8+h=a48 zy~33WzomoyY!OU0Hid{-1yFo8d|a7<;xW0?v-*D#a@VJ6+4^{Dz2s$p1vBvN4cUd(?4!{6Jp&dGu1F$kh>)t`WF#2YV=qjC?3^Hhrbc;AYB8{oCgB_AT*SpZ(IbE zi*OXjsYD+>p>HK<|B!S;M5&&$3b`r~i|XYDIOqJoJxR!Ykv5%OoAhIeOJ6Tn>W459 z@C1pr996y)Kr*bb=4JH|VMUgF`n&!KE`@5yH{*$0@g_PypdP4Z^UF#1Q2_YZ;F zO9ko}dqvOw<9?V$eLXBJ>^mSPAGmGkJY{(90+^+H7NLKR(8gMiuC(3 zpoPy;hoWF7oDqu_9|EG&)Y^_uAu18&2Inuv<;)`30IN1Z{Pz%#9UN2}I^E0G@h^ih zt~+A9e(b%-8+U|yFdW=l5Q;IyK;~9-&LIB?VOy+_nhjwA+0|f*jJlSGg%~P(HO%ce zUkWG|E5NrJK+@=eC*=!)jTjiusDk78H*oKHz^0UY;`r+|f&@)Mcq0*jg`CyE!EexM zc#KNe!;T(2(q(9Q+6Z=254zxow`E!aaf;sUZzsAhfyL_88%bXekkX%m8fbq|m*GqV zkPqavK<}DAdE&>89V--bpmT5Sy9X7eDA+;SU??bgCIY5rxxa3Y7YKQAt9wZNVqSdx z2L-EBfc}+u6x3B9WUYL69g72#6{JJl?&pS*O(c?SI{ExCVgN;00?1@ljqO_8H0eoi zT1*3W1@E5NpghzJ@FabPd)Jw_QEp81VWfo$Hv9c`2hR2;+-1`@sP_s&<=zNtV8`7F zL^gdm_vbkqH*-}Zsxg31smFE~9B`l!{m{}wfL^Cu$?pthp-=%P%n9)k0s#Rc6<*Z_ zhvT=8_|8+P54p|=Dg!#>J%T+F4i_UL5hI5>PJz`H9(^#02;fTDK$@>xo zt8UX!2T>H7ca#jys8#2EY6Dj{J}9lttzKzDXk}9fpdg$O6vnTv6+^O=X6!EIM)p|P zH*(=?xI3YlEfXWq4Lr86);)83xC{6Io89qy6fl<3P~>mN-R0i_Tn&JB#;n#NCk_16 zdhpR0@Uafs;U1*}^nlzpZ&&p`b9n=q`ia0|6_EK;Ao>nZtm-NEB|^YTZ~vjRV+Ihg z3b+}n*hh|vNnIT<_#=p}t9Wsupcrh+N?sn!?YjrJ^BXo#4SA~Jaky7!Wqr@eiE!%& zA`c7nL$#E?z*>(|k)g2zghdk6pTeGlF9xk8IFY$TX9b!TqOpY0tF?y@A4c{79lXq% z%+A}S3}FR9w`4fW5vJ7FFAdbItes5&%h8Gbom;igBv1=vR7Z#vic~`f;Zcf4b?PbO zF!st$<|hRjQ*L2yh1<}9rFc*RWiMa<+S2E~3O#`_}NY31c2iJ!;oNPqFXFYHKlcM@DH9P1l%L=35P;^oN zCIunIa~1fwPAJSbH}Qi=5|B$!@9M?I3P6Uu4(K0s)k38yw2UfkD*9{E4OLfq0FuIN z7H@Q;U=#$P{D1+hLYC_HQATuq7&^(gOLcwb1h)`LDM=A=tOi19NV>U z$+Ku70sk{sm6z>=yb%tvFabbsX#n3M86tb68qrPXXql1R8iEv2!ejW~fS3qe8F?&W zV-_HYEwRF7Lp%oo_|!GEb~+2u~sL zFcLK*xf6bPYZ9fNFauwPZM$Uv-}A6P53|(oLQIlIE_n!kQ}GXi)$$o019U7=9PA5y z&7bc~Ns9YJka7)&TKF@980NM9f;YMqelvX*K4UPNqd+4-WB}y4BVLmpEY&jj4)qYV z@+|bjLZkCPV;qJqZspAfpUiyh!IY{4R8qY?lNCP70u#YdaEX#X^`YqUy&Bf^@Q0;J zAeikEW9}dkjbN44rIX>eo-=0=^rI`>3m1=R1S?A6FzRH4o~uOUBD^e}Q976egZXSf z18pEeP`(C<2&7*TW(V9yO$5fk7OVAtgFo|>*+-J#a$s6e)T4D0eu^<^d542f=;PAE zjwAnmb^hW01E6mn?!O9s_2Aw9s>4^e-tDh3`r*4v#^@^W@%9qRQlJmdOZ!WVzWnbc zG5=l5{~jWcg#Sv3m2rJ5}xmCLp4rKfB$xZ_OFVHg<|rSrxKd)*bKTgF-rHAWLyeUqv}{)T}@6% z&@Ecj$q)TeTOgn_=y(95>%zS6u=gZ&b*))BYcE#=Ruu#lGOV0&)PO#6TaIq)r(B+W z$y<_ENQNn`CnI4C7@-TmpAMJYc*4i4RGUlLKfbCOOL^49dXHnxt)?J=#@a2If2Z1F zbGS~od=fc`CP zPrkr-KKXYY)Wxw&0NNimgB5|z*Zy$5K;*^7Trcwxa*?~kM=+U>;0DhN(qUb0)}0@# zb;X!*!%o+ql?x04Fvox+n(T8#*{>UuM&u&sCCtw2GYXB#2Qi9QU{mvZTiD~M>nDkn zlF+^tpj5-1iaGaa{cj%`UekDRwg^N(|3AQLCd&c(y&(3|JhGK zFsV{5r(k;&a}ZTb=WX5XInF0c)i(EDNHZTai%yk^WjuSO`jlKCO_fZI#DO{1SLT@W zh^?4TbvxRZcxVnDuYR??E`N|GyX-z(L!rEVdmK{JOoTb5@;!BpqeKUKega*>f=slK zs72i_c~QZE($lYBo9hiT5y$T+V$NSgIfGl28gaZz@c0xp;#E=`=1K!s@GXnPdoPM= z50t(Ed9nJo#@_(j)VC&&N#Fm0g9$5_NS8g%;-ud z&0F}Y1*&h*1&qQXTiq5gdkW(CncM=7q19f(1%=0z(={0b1>y7hs^P}P1(U;kPgaIo zEOl)tYIG<_YI!URLn{QujUkHC zpGU_)UsNP-*4-_i?6@GK$A_Vt8Oo8a-t2l+$#`Tg-#-9f@3|PGk&=@!P{=nt!><2k zqpobzy5J=C?7zb8f>rzLt`PIWb*z$6qGWEg_Gz)0W7TjoQCl&7Ck#v}5l<2}E6 zZbdwlWyn18_0t^-72TMY3cMlr$49NN4?QCHxpe3f$%QNWKXt#o)_vILU9Vn~L2Wm? zccJWUjzvyg3L$MHi;c2l#kKC7{=?lZ(f0Sj_%xD*?nH+xVkuKg6Vn)1>no>1f+voC zZkE3=!TD;e{_D~-QGC~3=-YwrCGV@4gb%_C)v<0vo+ma(vvU6|sub)@!wkpO-FOv%7;P@TxyaIMLH z>DfnCGi3WwZV{_dHgjig@R)uNb@D0qcJk`vZ|{u)#f+%SYmz$ClRBpgiP-3WDx?pO z8`%YRUm#Co+sJ#0!MKdrW5;Ij#BJY^evE2R-pJ~SuV$p@rkFZz5j~xiU5QSOe>Uo% zSAw0;(v`V43`Y?fsR}KVJyKat?ldi!QuI0}szthUe(KB7uF6xiqM~zeXLOP6cQA0` zKczE@j~}_1kMQlEZweL*b&FnwyR=6ztS3cBNP9;{l5=xqtMU#CjPC7rI&O&Rna1ZTsgFwMY-+ox3l?|lNdo(GO8h*Y?q;+ANbB+*9 zF2{DZJ$?a`HtSMi98?@JcZlVvkIFWIw0QTWmc7om&L=@@MmugQpR;C!#%L_Fa#u6i zUi`sI^<}MQWLj7;31cUwGA?_xDT}1IUaT2!oRnyguH}k<@SH95@yZ~kNzSOByt4Sf z`*7&^%F6UQ*TUQ4oF6%Cv!}}V9)XcHi;1ts%fy^$_CQmdA)mm;s&`dutVp=%FR zSR1#fyT$W(rEKQvQ?Bt_{W)|0G$y&uysw(Cy)(#ms53Wp>CyO;qwljw7T+|%H`5^} z+g&YWly--`Sxu}zId+JJKVTP^JEhHbuRT1SrIl%hi((Xi_Nq*MK%ID5pwHo@+#;s! z{9`9IuQ6y1d2a1ZC%PG|Z69osOU!avf0go8dw&UgdmsJ?x}1!%sn`Bt7z$4t7Q#N} z`a6?Z)u!+wR5jpKh4U;s+HSCa z2Sz-`NMKd1RqVtnqP|*Nn!L+uV^LGuZNVN(yy{Q}8d3QphLGAtn*+@R!IBOTT1K~NRtYNfDW>(hw zk>L;2UVxyhpE)?+v>J|G=wK#z7;f-hdWaRL>soJL{`L=*kv+!Up49OIMf{$?ou%GS zyj?^JpSEPaz!MQ73W)KK!v`{Jn`(^^L>`7IYd&^Sp_d+x3; z5;f}I48CpywvPQ*Qw-%#x9xV$vEcQOWhp1?Qf%85QpoF6PHPQ=$WjJLY(|p z^4fK-Jeis1vTaoP;FC(MR_ss_{)nCZeEybUJ}m>}S9Bjvb>v=)bkCP2*(E6*^}0@% z_3*-9PTN<~QM|OVy48v;yP|V)QHLMPzqe<)y)&vgUwdTysI5`*@F|NtFlHZkL>cdr-y><_@uo-y-GnRH^S(&a0Grl8OHP{Z)2zxrZs-b!Ke7wvV2a zT;yTGiF2Q-su~yAF-B91O!CCN`03DHaivRLnIkS19dV-k>AYPg8@;+`g!a!+N1~Qs ztu>aRG??CFtk+%3uD_x*_GGqw=dYiFvA^fe@=GQrSAiVZ&!3;r_Of1R%gtQ9x zRFHp1U%PIWFHe7Js0K(%ZbUG}Z@cCyYOV8` zHbI=kXlHC2X@bH0X|4|pZ{lmDMTA5IO#_9resxtbjDSLW?tEyJAUv7}l;g(?(Zc7{ zY9CAv#cCZboE5XWIx>Kff0dP?y;i2PzX%SsTU-V_{yTmwa8gw>=~L?t1g!m-&Yf?| zWf-d3$g^8(3mJ5~eC`#xiTq2p#%gck7G7@musC4t_gI+Jv%pfo?daAN-CY`(t`ir= z=;UaPC(1tnL9=b;Rm%e5wh{-=xz$BhL5E55Fpq&A+h$lka zrb7bmvYZErYEqG@&)#0N4*q~XX#&!5pS{RMmOq&r)h(KcKjq6m#*xA-!q6_~;1JK~ zBF6Bho%~BIwX0;Zf~eED8jo-VbExWk^&gY@VJBYPlC1EH@t=jqibkTNlsyP*fmEcP z21iG2D~6+^{xXfZD=YaGn{P}_i=`XiY+^g5dw3u|NUE>fOEB-DHJW>ZP3!aHRx%``TT*h{U|<{8#3lK5J4v*IZNi(H+X$;Cw18{D({qj9TF z`4X%YT?`JRZEXI>>e++f)R3QL2pOU>{CDLr-(E$T8Vc2oxoFJCY}D;KuiFm9D%c97 zz0WgRTPH^5l*f+l?vl)i*UaXC43;i2F;l2?7ktVcT^nPYAaLgZP%2&<+E=rgo>Nv zW98(#V^1W|f5JJ{>^iF!{CWtVO7&iXBr$-JdZW^*vR>j+o9M$dYBbC6L}u;rs`#E% zZmP59;sK0on4A7Rmc{Kla~g3*zv7uK>M9O#>KES9;sYvt>`yay>{iTcluI?&kJ|MJC-4zWn2$j+-yGtQT9Vj{Aq4)#Fl33~)^unRu_C-2K$ix{@Hg(U!jA zH(eL!YNWjN>`ujdOEojh=$LpyR&Ke(*d`&5+q?SClK;OqM`gS?K`M=z%(?#6b$xSX z+EX~?OJq0grhe)*l7+p!18$S0!t``z*j>G=Px&zF-#jK?H`NLzeXpz0-5MNeXXt4& z6*JtbxOG{0=~c~1dgmd2_HxsZ>iKB%nnn|q?haPoYYY0TKVMnvcVF0;_#E9-Bbxcs zL4wywXo(YVHKjwC;im|auxpGh!@5yk^Sp(G`02KD&e&;clU%`(6aQes4d%Bjazw{+ za^lIQocYJyaf4w;_KbJcd$t642TE=DnbD20J9bY>*)bKl#@oZJIxoKbd-kH&bSCq< z1>*^YuGmtnwOB;%kWQKjQQ{%nHs`ni{u=I8x9}p;pJ`pB>1N-b%OaC@>u^CpMi-UpN~%WX*@Ub!=~PG9r#TNW$F3^H};lImUc@ z5BnGWL9Yhi3KuHasm&?k)ar6lUF!0dg38o~a+u(lG~>lAn8~$dlh`<*l5_wJF)PxgbhxSEyNe*40P& zyT;g=CRU*-PVARt)628h89S|caC2OSNzalG)9AN5MN{v-)6z1g*6TDmvck9}goT?+ zyha=*+o?}+Zv0w++uiLWW*<^c0;?KfmtM(CH{H_UeJuIs%l@(Sfn;%&LPCFP+=krA z#cq(vR0yz?+P`#lB%Z)v#?J%QHRQffh!qZ_T5%_T_a|u|+kn}k4P281S!lI;Y4#g7 zeGW#1ydBRSHErXq3XEr4pWNWMUO#EHzz zq6H&AW;bxd0<6aWF>MH{qNTN4h+HU~xF+y2D^X#MpJ>!OwqwvO89L^{q%}18=HJcR zHanNx{{Xc2gDA%P?yGW9CA&ozG#3?)mNdI|z!}G@vfc zH9}r>?T4`R-)ELU5tr7`oyIh^uD8Fo?e!3q9K988?f@=aM{7L66x*hAJd5coI-UlC z*3=kPldHl-Hq1C$k4-h9t+A$LeQf`r#h^wYJt-9xLr7*Cc4v1G-tx!TnnHKGmyHTx zmZEl9^{~UoGLKl!`IS2eydFQb%NH1_MbNG+I*{;TV?Mjvh|!{OEioRsNHd~i`SUwl z>J`xn@8GDe=qw*-ZX?04tMqO~>pXHwAb-}BpP_Fn_v3xPJMhWK5$7jn1PAq1Llw2 zxS!5PcL|WtKw6)~9W5qajvn{TM7PwQ`mTLtsXKTF^nj;R_}z3jg1N)MkjC3~eE832 zVUMm*hBWeWb0^~Ciuj(T3DbGLcM{KkTF(oftc0b<)>F;O67ae>gtPMcqeed8O1VL( zJFRv%dBm!!3=~OFJ;3+Xo(07LV=ZRKqn9W12x7yeH0k zXfT=(gs|6yn}c~}Zlxe^9^_N0eW}!;Blbl1E6ZvX-q4^oeb43`x6Y$H0?fMGET1%T zCUF)12NO`R?pjvr!S@WibyB>zy@y&4W)m1z=AZR@_3r1V!oh6#_K)k__~!(@f)CFf z1T~jZn>mEZFmu)mqWtI1m_R(bwjN1*ILI$?yuA0fa{rccQO3`AMFWW^!VK@TuvHa3 zEnSM!Jf7z??#FT>&o2c>`2hL(`8dDM>%zqcbURDkh0bo=^8;QF6xFOWDcoJ;W&&}wH6l@`1h=9X+%iSS#l{J2XKB(4;rIvB^IYQD6G|R8 zm)@+dT4-zy{H+I@pEvAeg3v;eF5}$2!OEJxt5ZKfYSrQDLhJ=sjJYSzU zc#T~8Bp^ijX7&rO4tq)=sZt~Eti0`7-ny&9BeK&W=H|YbbL@4**wr|=xmH7Wxo7YG z!v)|K6s*vFq2=F;YdD}=@`ATF3v5It{F91eydVZa7jLJ{ql(UykkjI8pY^SIdo|DS zX_iP<)zyu?v+4n*#4Di=Kf_m*ZLeyD=3f zU36jQC)&QFSydBM=S0#ww4IT_VZ@at?eecw@DTFxbeC(@^MJZnDDIGvJ+n#T zX+1I8^QmJrBxBmgBY7L^z>#H25U<_hk!}caDa+>HJr2-NLKs+fCCQa4X1Yl}$FhRK zHu9p&SC@PAZB5iLuv~Z34lG?)cG^Edp9>ui9vZ^r(*t<)mS5hWc`)Fg;Hm80FwMbv|MA6b-=`%>ovb>-O_+c6!o6f%L>xY=h$ZlVr<9RH zq$8m147fRr*?`2BRhUV*|a;pcgT8uFMhA3>y%5WnvS5! zPeE`7(A$z7b=9ltbKh7EV7wi-=@GBCy`-5s(pXb4SUgmuAv$=B)d2##M+|9mSXG*l zL9*A#0I-4YL^XPpU12_t$2NpdM|e&WseVs`?^gg>$aKqk`>l$nTjXpzIff1 zZc7xV!%#KWWIQxo*v-1{GnB^Y*i+nz%l(so)vn!e?HPN*u${Qk=$@I{UH$ukbnWYP z6}lg^K-F_ppAMAQ*NsH)(wOxY9!#AI5NP#}CHN}yX#1y=Q;R%pP+un9w(N?WYO3a5 z<+>?(Vg4HyLsM285~dQt@j|@0&<|a@?I7E2xezC>(z2Rw#X}N5*XuIgZ;U9d?7kWd zZ=T$sQ)O==H^(lsU4l2kVEC4fWZI3Y#&Z~nul017#?Uc@fKjlE4S}d%J?T!mmI@xM zbt|o?MQ^6B!zhiC2xI^E@2{?~uy6>TWi=XU|HxmFR@$;5L;ZCw<5|)a;h!S*=uqay zr{V}e$6OKFLs)s(8}&x5&%7yW6d!xJ?O62?Qiy9S?mqODJ60 zf0Bs$T9423H&BJBan@|ki%NvL1Rs4K(k1a2+Y*qhj8vnITBWeea_jjAO z?ai5ZXlVq~>9DrgOY*T5I19oHkKx; zcCqb$Z7`pwGiOocpQp2g3mi?+qP$LQUz*Gw{xNCI^NWvA`isKw_29b+taHZml1O%b zzDnH>BQNm$G)h59cM|hQ)YRAZy)!T%osXl1igg67d%9M$k9L^SIwk&t3H%M_x;j zciE^_Q!~N-6>@VjiQxY07WA0ol%s@#!{S$#ExFFwYhM=qaMR_|77S8g{;6Q)OxS*u zHUFGF-U|2ndX;kd!w>UMDxP)aKb~dIdDHuKknOCtiIjc105Lvf^Qd|6RzzReSvHV^qoEo{D$ zj!yjZ5>Y;onnxdM{?wf^%%ghG5(aB{c-TFqK#$p z#CXP<Fi%swI%zEkTj?`1%bRu=i?xuWW`D}(|C63~VZ%w1l)16lOEkn2j`rsliTNd7 z_O>6W)iIx0?d^;uldUw{c<-vbp0@<=j$-q>y-NQU1c75JT6mQa9kV=e4y|=6LR$^P zTMbpTv^YWcW$WAjMp+jiBDht*a%9fQYREr9qcHXC@DHmp42DonyS2Jww&m(>c*#jd zCP;)a2d4J=@u%lW(`8SiN2LCy7sXQm(Q1i>1 zZ%{rmSkLV;X$T_0L?qBV7<2W(Fgq}AMh&4=BNkP8ua4=d`jj?)T`>Dlap&in(Td0`R* z0O?^B|3lPw$5Z|O?`u#L-X)aTvO^NGE20S5viCk@9eY(qgtD_o_Fl(0wvfHoIS$z! z4#z&W-+k!w{XHJ(FJ7;EJjZoi&*y!=0GK4*CXZD@Ryx4}9*~L+@iRW0ezbpRB>1ke8(cvHIV?x3&>~8({k56@aPu_BE=I9jyjevm2Xw%(i_Laz|H6kGx60>m2hfS8tnfA-bdn{IWO ziMBi4h-7?FVRJI;VxgdcW0S%Sm<;$yn91t&H3~v|umbs1YM~(Y06qBzNdQQB{0U{- zA_P8y`Qs0So|&&{IMnPD5V)vw#V9}dp>qHGJO22JLm^fQQzvtGxv6A`X>6j>Sy7p!BJD36(wvZ60VDsfOsQu%t_o=+o6Tje}{Pm_Kbd8__ ze8zOBFT3>a5kPP0ogV`t6CNiT3xfO%DC6wLv!-44Ej*;oSwX^3ku|3N6D93lxxbXd zdR*N>s&l;rcQ>dT?!xpzpZxPBwG!V8TbInrRIlJ!jy~H}n0gGr#{OfDd`~;+C(K=R zz;gULb$weRjf=_GS}oGDmx~O*huF23)74v+EtXBU&r%PW;li_@e;)%Z=Ci5)N`R4o zKwjl4ETZG5y`Wc{!~L>dGk2u$^&$(fU1Es5jpUP*`NI}>oA=;xVci3|5-U!}6J!!A z1`7$oL)U>ZfK=8?O#cU%tIpZZM|LfQBUhu5tFS|v$ARw;%d7xacj?)0#;|*%N?S0K z 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. - -temp_path = "tmp/certificate" - - -class Certificate: - """ - Installs a certificate from a base64 string, and returns the path to the certificate. - Once the context is exited, the certificate is removed from the filesystem. - - Example usage: - with Certificate(base64) as cert_path: - print(f"Certificate path: {cert_path}") - """ - - def __init__(self, base64, file_ext): - self.base64 = base64 - self.temp_filename = f"{temp_path}.{file_ext}" - - def __enter__(self): - print(f"Decoding certificate to temporary path: {self.temp_filename}") - try: - cert_bytes = base64.b64decode(self.base64) - except Exception as e: - raise ValueError("Failed to decode certificate base64") from e - - os.makedirs(os.path.dirname(self.temp_filename), exist_ok=True) - with open(self.temp_filename, "wb") as cert_file: - cert_file.write(cert_bytes) - - return self.temp_filename - - def __exit__(self, _exc_type, _exc_value, _traceback): - # not strictly necessary for ci, but when run on a dev machine, it reduces the risk - # that private keys are left on the filesystem - print(f"Removing temporary certificate file: {self.temp_filename}") - os.remove(self.temp_filename) - - # propagate exceptions - return False diff --git a/scripts/lib/windows.py b/scripts/lib/windows.py index 1ca6ea2a9..b717451f2 100644 --- a/scripts/lib/windows.py +++ b/scripts/lib/windows.py @@ -14,18 +14,13 @@ # along with this program. If not, see . import ctypes, sys, os, shutil, time, subprocess -import xml.etree.ElementTree as ET import lib.cmd_utils as cmd_utils import lib.env as env import psutil # type: ignore -from lib.certificate import Certificate import lib.colors as colors import lib.file_utils as file_utils LOCK_FILE = "tmp/elevated.lock" -MSBUILD_CMD = "msbuild" -SIGNTOOL_CMD = "signtool" -CERTUTIL_CMD = "certutil" RUNNER_TEMP_ENV = "RUNNER_TEMP" SERVICE_NOT_RUNNING_ERROR = 2 ERROR_ACCESS_VIOLATION = 0xC0000005 @@ -100,24 +95,6 @@ def set_env_var(name, value): print(f"Setting environment variable: {name}={value}") cmd_utils.run(["setx", name, new_value], check=True, shell=True, print_cmd=True) - -def package(filename_base, build_dir, dist_dir): - cert_env_key = "WINDOWS_PFX_CERTIFICATE" - cert_base64 = env.get_env(cert_env_key, required=False) - packager = WindowsPackager(filename_base, build_dir, dist_dir) - - if cert_base64: - cert_password = env.get_env("WINDOWS_PFX_PASSWORD") - packager.sign_binaries(cert_base64, cert_password) - - packager.build_msi() - - if cert_base64: - packager.sign_msi(cert_base64, cert_password) - else: - print(f"Skipped code signing, env var not set: {cert_env_key}") - - def assert_vs_cmd(cmd): has_cmd = cmd_utils.has_command(cmd) if not has_cmd: @@ -126,76 +103,6 @@ def assert_vs_cmd(cmd): "re-run from 'Developer Command Prompt for VS'" ) - -def run_codesign(path, cert_base64, cert_password): - time_server = "http://timestamp.digicert.com" - hashing_algorithm = "SHA256" - - with Certificate(cert_base64, "pfx") as cert_path: - print("Signing MSI installer...") - assert_vs_cmd(SIGNTOOL_CMD) - - # WARNING: contains private key password, never print this command - cmd_utils.run( - [ - SIGNTOOL_CMD, - "sign", - "/f", - cert_path, - "/p", - cert_password, - "/t", - time_server, - "/fd", - hashing_algorithm, - path, - ] - ) - - -class WindowsPackager: - - def __init__(self, filename_base, build_dir, dist_dir): - self.filename_base = filename_base - self.build_dir = build_dir - self.dist_dir = dist_dir - self.wix_file = f"{build_dir}/installer/Installer.sln" - self.msi_file = f"{build_dir}/installer/bin/Release/Installer.msi" - - def build_msi(self): - print("Building MSI installer...") - configuration = "Release" - platform = "x64" - - assert_vs_cmd(MSBUILD_CMD) - cmd_utils.run( - [ - MSBUILD_CMD, - self.wix_file, - f"/p:Configuration={configuration}", - f"/p:Platform={platform}", - ], - shell=True, - print_cmd=True, - ) - - path = self.get_package_path() - print(f"Copying MSI installer to {self.dist_dir}") - os.makedirs(self.dist_dir, exist_ok=True) - shutil.copy(self.msi_file, path) - - def get_package_path(self): - return f"{self.dist_dir}/{self.filename_base}.msi" - - def sign_binaries(self, cert_base64, cert_password): - exe_pattern = f"{self.build_dir}/bin/*.exe" - run_codesign(exe_pattern, cert_base64, cert_password) - - def sign_msi(self, cert_base64, cert_password): - path = self.get_package_path() - run_codesign(path, cert_base64, cert_password) - - class WindowsService: def __init__(self, script, args): self.script = script diff --git a/scripts/package.py b/scripts/package.py deleted file mode 100755 index bcb91a5d4..000000000 --- a/scripts/package.py +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/bin/env python3 - -# Deskflow -- mouse and keyboard sharing utility -# Copyright (C) 2024 Symless Ltd. -# -# This package is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# found in the file LICENSE that should have accompanied this file. -# -# This package is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -import lib.env as env - -env.ensure_in_venv(__file__) - -import argparse -import platform -from dotenv import load_dotenv # type: ignore - -ENV_FILE = ".env" -DEFAULT_FILENAME_BASE = "deskflow" -DEFAULT_PROJECT_BUILD_DIR = "build" -DEFAULT_DIST_DIR = "dist" -DEFAULT_PACKAGE_NAME = "deskflow" - - -def main(): - parser = argparse.ArgumentParser() - parser.add_argument( - "--package-version", - help="Set the Package Version", - required=True) - parser.add_argument( - "--leave-test-installed", - action="store_true", - help="Leave test package installed", - ) - args = parser.parse_args() - - load_dotenv(dotenv_path=ENV_FILE) - - package( - DEFAULT_FILENAME_BASE, - DEFAULT_PROJECT_BUILD_DIR, - DEFAULT_DIST_DIR, - version=args.package_version, - ) - -def package( - filename_prefix, - project_build_dir, - dist_dir, - version, -): - filename_base = get_filename_base(version, filename_prefix) - print(f"Package filename base: {filename_base}") - - if env.is_windows(): - windows_package(filename_base, project_build_dir, dist_dir) - else: - raise RuntimeError(f"Unsupported platform: {env.get_os()}") - - -def get_filename_base(version, prefix): - os = env.get_os() - machine = platform.machine().lower() - os_part = os - - if os == "windows": - # Some Windows users get confused by 'amd64' and think it's 'arm64', - # so we'll use Intel's 'x64' branding (even though it's wrong). - # Also replace 'x86_64' with 'x64' for consistency. - os_part= "win" - if machine == "amd64" or machine == "x86_64": - machine = "x64" - return f"{prefix}-{version}-{os_part}-{machine}" - - - -def windows_package(filename_base, project_build_dir, dist_dir): - import lib.windows as windows - - windows.package(filename_base, project_build_dir, dist_dir) - -if __name__ == "__main__": - main()