From 773a5411991880d81f099e7e9eab1a6566d35721 Mon Sep 17 00:00:00 2001 From: kotofyt Date: Tue, 30 Dec 2025 22:13:01 +0200 Subject: [PATCH] some work on fpc --- fpc/Makefile | 42 ++++--- fpc/build.cpp | 119 ++++++++++++++---- fpc/buildfile/interfaces.cpp | 18 ++- fpc/buildfile/interfaces.o | Bin 38040 -> 66944 bytes fpc/fpc_temp | Bin 0 -> 486152 bytes .../make/make.cpp} | 0 fpc/library/builder.cpp | 54 ++++++-- fpc/library/c.cpp | 12 +- fpc/library/clang/ld.cpp | 4 +- fpc/library/helper.cpp | 18 +-- fpc/library/libfpc.cpp | 15 +++ fpc/library/runner.cpp | 22 +++- fpc/library/windows/runner.cpp | 10 +- fpc/libtier0.so | Bin 0 -> 56848 bytes fpc/main.cpp | 38 ++++-- fpc/public/generator.h | 0 fpc/public/helper.h | 25 +++- fpc/public/temporalmgr.h | 0 fpc/public/watchmgr.h | 0 public/tier1/interface.h | 2 +- tier0/build.cpp | 3 +- {tier1 => tier0}/commandline.cpp | 0 tier1/__build.cpp | 9 +- tier1/build.cpp | 3 +- tier1/interface.cpp | 3 - tier1/interface.o | Bin 10808 -> 10984 bytes tier2/build.cpp | 2 +- 27 files changed, 298 insertions(+), 101 deletions(-) create mode 100644 fpc/fpc_temp rename fpc/{public/dependencymanager.h => generators/make/make.cpp} (100%) create mode 100644 fpc/library/libfpc.cpp create mode 100644 fpc/libtier0.so create mode 100644 fpc/public/generator.h create mode 100644 fpc/public/temporalmgr.h create mode 100644 fpc/public/watchmgr.h rename {tier1 => tier0}/commandline.cpp (100%) diff --git a/fpc/Makefile b/fpc/Makefile index d16cb76..2e5fc5a 100644 --- a/fpc/Makefile +++ b/fpc/Makefile @@ -1,11 +1,11 @@ # We want to build just enough to use other stuff -TIER0_FILES := ../tier0/lib.cpp ../tier0/mem.cpp ../tier0/platform.cpp -TIER1_FILES := ../tier1/utlbuffer.cpp ../tier1/interface.cpp ../tier1/utlstring.cpp ../tier1/utlvector.cpp ../tier1/utlmap.cpp ../tier1/commandline.cpp +TIER0_FILES := ../tier0/lib.cpp ../tier0/mem.cpp ../tier0/platform.cpp ../tier0/commandline.cpp +TIER1_FILES := ../tier1/utlbuffer.cpp ../tier1/interface.cpp ../tier1/utlstring.cpp ../tier1/utlvector.cpp ../tier1/utlmap.cpp TIER2_FILES := ../tier2/filesystem.cpp ../tier2/fileformats/ini.cpp FILESYSTEM_FILES := ../stdfilesystems/filesystem_libc.cpp TIER1_OBJS := $(TIER1_FILES:.cpp=.o) TIER2_OBJS := $(TIER2_FILES:.cpp=.o) -FPC_FILES := library/runner.cpp library/helper.cpp library/c.cpp library/ld.cpp library/clang/c.cpp library/clang/ld.cpp library/target.cpp library/builder.cpp +FPC_FILES := library/helper.cpp library/target.cpp library/builder.cpp library/runner.cpp library/c.cpp library/ld.cpp library/clang/c.cpp library/clang/ld.cpp CC = clang CCFLAGS = -g -I../public -Ipublic @@ -16,14 +16,12 @@ endif ifeq ($(UNAME_S),Linux) endif -recompile: ../build/tools +recompile: ../build/tools/fpc build/fpc build - mv fpc_temp fpc -install: ../build/tools libfpcbuild.a libfpc.so libtier0.so libtier1.a libtier2.a libfilesystem_std.so builddir - $(CC) main.cpp -lc -lstdc++ $(CCFLAGS) -o build/fpc build/libtier0.so build/libtier1.a build/libtier2.a build/libfpc.so build/libfilesystem_std.so - gdb --args build/fpc build - mv fpc_temp fpc +install: ../build/tools/fpc libfpcbuild.a libfpc.so libtier0.so libtier1.a libtier2.a libfilesystem_std.so install_temp builddir + $(CC) -fPIC main.cpp library/helper.cpp library/target.cpp library/builder.cpp -lc -lstdc++ $(CCFLAGS) -o build/fpc build/libtier0.so build/libtier1.a build/libtier2.a -Wl,--disable-new-dtags -Wl,-rpath,'$$ORIGIN' + build/fpc build -fpcdebug libtier0.so: $(TIER0_FILES) builddir $(CC) $(CCFLAGS) -fPIC -shared -o build/libtier0.so $(TIER0_FILES) @@ -31,10 +29,10 @@ libtier0.so: $(TIER0_FILES) builddir %.o: %.cpp $(CC) $(CCFLAGS) -fPIC -c $< -o $@ -libtier1.a: $(TIER1_OBJS) builddir +libtier1.a: $(TIER1_OBJS) builddir libtier0.so ar rcs build/libtier1.a $(TIER1_OBJS) -libtier2.a: $(TIER2_OBJS) builddir +libtier2.a: $(TIER2_OBJS) builddir libtier1.a ar rcs build/libtier2.a $(TIER2_OBJS) libfilesystem_std.so: $(FILESYSTEM_FILES) libtier1.a builddir @@ -43,20 +41,26 @@ libfilesystem_std.so: $(FILESYSTEM_FILES) libtier1.a builddir libfpcbuild.a: buildfile/interfaces.o builddir ar rcs build/libfpcbuild.a buildfile/interfaces.o -libfpc.so: $(FPC_FILES) builddir libfpcbuild.a - $(CC) $(CCFLAGS) -fPIC -shared -o build/libfpc.so build/libfpcbuild.a $(FPC_FILES) +libfpc.so: $(FPC_FILES) builddir libfpcbuild.a libtier1.a + $(CC) $(CCFLAGS) $(FPC_FILES) library/libfpc.cpp -fPIC -shared -o build/libfpc.so build/libtier1.a builddir: mkdir -p build -../build/tools: +../build/tools/fpc: mkdir -p ../build/tools/fpc -install_fpc: +install_fpc: ../build/tools/fpc + mv build/fpc_temp fpc + mv build/libtier0_temp.so libtier0.so + mv build/libfpc_temp.so libfpc.so + mv build/libfilesystem_std_temp.so libfilesystem_std.so cp -r build/* ../build/tools/fpc - cp -r public ../build/tools - cp -r ../public/tier0 ../build/tools/public - cp -r ../public/tier1 ../build/tools/public - cp -r ../public/tier2 ../build/tools/public + +install_temp: builddir + cp -r public build + cp -r ../public/tier0 build/public + cp -r ../public/tier1 build/public + cp -r ../public/tier2 build/public auto: install install_fpc diff --git a/fpc/build.cpp b/fpc/build.cpp index 8f2ce90..a96a0a0 100644 --- a/fpc/build.cpp +++ b/fpc/build.cpp @@ -10,14 +10,20 @@ ADD_DEPENDENCY_BUILD_FILE(tier1, "../tier1/"); ADD_DEPENDENCY_BUILD_FILE(tier2, "../tier2/"); -CUtlVector g_CompiledFiles = { +CUtlVector g_fpcFiles = { "main.cpp", - "library/runner.cpp", "library/helper.cpp", "library/target.cpp", "library/builder.cpp", - +}; + +CUtlVector g_libFpcFiles = { + "library/libfpc.cpp", + "library/helper.cpp", + "library/target.cpp", + "library/builder.cpp", + "library/runner.cpp", "library/winerunner.cpp", "library/c.cpp", @@ -33,47 +39,108 @@ CUtlVector g_CompiledFiles = { }; -CreateInterfaceFn fpcFactory; -ILinker *linker; -ICCompiler *ccompiler; -IFileSystem2 *filesystem2; - CUtlVector g_IncludeDirectories = { "public", "../public", }; - -DECLARE_BUILD_STAGE(fpc) +DECLARE_BUILD_STAGE(libfpcbuild) { - DEPEND_ON_PROJECT("tier0"); - DEPEND_ON_PROJECT("tier1"); - DEPEND_ON_PROJECT("tier2"); - - if (linker->IsLibraryExists("clang")) - g_CompiledFiles.AppendTail("library/clang/c_libclang.cpp"); - else - V_printf("Warning: to support included files libclang must be installed."); CProject_t compileProject = {}; LinkProject_t ldProject = {}; compileProject.m_szName = "fpc"; - compileProject.files = g_CompiledFiles; + compileProject.files = g_libFpcFiles; compileProject.includeDirectories = g_IncludeDirectories; + compileProject.bFPIC = true; ldProject = ccompiler->Compile(&compileProject); - ldProject.libraryObjects = { - GET_PROJECT_LIBRARY("tier0", "tier0") - GET_PROJECT_LIBRARY("tier1", "tier1") - GET_PROJECT_LIBRARY("tier2", "tier2") - }; + ldProject.linkType = ELINK_STATIC_LIBRARY; if (linker->IsLibraryExists("clang")) ldProject.libraries.AppendTail("clang"); CUtlString outputProject = linker->Link(&ldProject); - filesystem2->MakeDirectory("../build/tools"); - filesystem2->CopyFile("fpc_temp", outputProject); + + ADD_OUTPUT_OBJECT("fpc", outputProject) + + return 0; +} +DECLARE_BUILD_STAGE(libfpc) +{ + if (linker->IsLibraryExists("clang")) + g_libFpcFiles.AppendTail("library/clang/c_libclang.cpp"); + else + V_printf("Warning: to support included files libclang must be installed."); + CProject_t compileProject = {}; + LinkProject_t ldProject = {}; + + compileProject.m_szName = "fpc"; + compileProject.files = g_libFpcFiles; + compileProject.includeDirectories = g_IncludeDirectories; + compileProject.bFPIC = true; + ldProject = ccompiler->Compile(&compileProject); + ldProject.linkType = ELINK_DYNAMIC_LIBRARY; + ldProject.libraryObjects = { + GET_PROJECT_LIBRARY(tier0, "tier0"), + GET_PROJECT_LIBRARY(tier1, "tier1"), + GET_PROJECT_LIBRARY(tier2, "tier2"), + }; + V_printf("WHAT %s\n",GET_PROJECT_LIBRARY(tier0, "tier0").GetString()); + + if (linker->IsLibraryExists("clang")) + ldProject.libraries.AppendTail("clang"); + + CUtlString outputProject = linker->Link(&ldProject); + + + ADD_OUTPUT_OBJECT("fpc", outputProject) + + return 0; +}; + +DECLARE_BUILD_STAGE(fpc) +{ + CProject_t compileProject = {}; + LinkProject_t ldProject = {}; + + compileProject.m_szName = "fpc"; + compileProject.files = g_fpcFiles; + compileProject.includeDirectories = g_IncludeDirectories; + ldProject = ccompiler->Compile(&compileProject); + ldProject.libraryObjects = { + GET_PROJECT_LIBRARY(tier0, "tier0"), + GET_PROJECT_LIBRARY(tier1, "tier1"), + GET_PROJECT_LIBRARY(tier2, "tier2"), + GET_PROJECT_LIBRARY(libfpc, "fpc"), + }; + V_printf("WHAT %s\n",GET_PROJECT_LIBRARY(tier0, "tier0").GetString()); + + if (linker->IsLibraryExists("clang")) + ldProject.libraries.AppendTail("clang"); + + CUtlString outputProject = linker->Link(&ldProject); + + + ADD_OUTPUT_OBJECT("fpc", outputProject) + + return 0; +}; + + +DECLARE_BUILD_STAGE(install) +{ + CUtlString szExe = GET_PROJECT_LIBRARY(fpc, "fpc"); + CUtlString szLibFpc = GET_PROJECT_LIBRARY(libfpc, "fpc"); + CUtlString szTier0 = GET_PROJECT_LIBRARY(tier0, "tier0"); + CUtlString szTier1 = GET_PROJECT_LIBRARY(tier1, "tier1"); + CUtlString szTier2 = GET_PROJECT_LIBRARY(tier2, "tier2"); + + filesystem2->CopyFile("build/fpc_temp", szExe); + filesystem2->CopyFile("build/libfpc.so", szLibFpc); + filesystem2->CopyFile("build/libtier0_temp.so", szTier0); + filesystem2->CopyFile("build/libtier1.a", szTier1); + filesystem2->CopyFile("build/libtier2.a", szTier2); return 0; }; diff --git a/fpc/buildfile/interfaces.cpp b/fpc/buildfile/interfaces.cpp index 0993e7c..dc88f73 100644 --- a/fpc/buildfile/interfaces.cpp +++ b/fpc/buildfile/interfaces.cpp @@ -2,6 +2,9 @@ #include "helper.h" static BuildFileInfo_t buildfileinfo = {}; +CBuildStage *g_pCurrentStage = NULL; +GetProjectObjectFn g_pfnGetProjectObject = NULL; + BuildFileInfo_t *GetBuildFileInfo() { return &buildfileinfo; @@ -12,6 +15,7 @@ CBuildStage::CBuildStage( const char *psz, int(*pMainFn)() ) { m_psz = psz; m_pMainFn = pMainFn; + printf("%p\n",m_pMainFn); if (psz == 0 || pMainFn == 0) Plat_FatalErrorFunc("Name and function pointer must be set\n"); @@ -20,7 +24,19 @@ CBuildStage::CBuildStage( const char *psz, int(*pMainFn)() ) CBuildDependentFile::CBuildDependentFile( const char *psz ) { + // TODO: This doesn't affect recursion, which is bad + GetBuildFileInfo()->m_dependantFiles.AppendTail(psz); } -EXPOSE_INTERFACE_GLOBALVAR(BuildFileInfo_t, BuildFileInfo_t, BUILD_FILE_INFO_INTERFACE_NAME, buildfileinfo); +CUtlString FPC_GetProjectObject( const char *szName, const char *szObjectName ) +{ + CUtlString szOutputString; + szOutputString = g_pfnGetProjectObject(szName, szObjectName); + return szOutputString; +} + + +EXPOSE_INTERFACE_GLOBALVAR(BuildFileInfo_t, BuildFileInfo_t, BUILD_FILE_INFO_INTERFACE_VERSION, buildfileinfo); +EXPOSE_INTERFACE_GLOBALVAR(CBuildStage, CBuildStage, BUILD_CURRENT_STAGE_INTERFACE_VERSION, g_pCurrentStage); +EXPOSE_INTERFACE_GLOBALVAR(GetProjectObjectFn, GetProjectObjectFn, BUILD_GET_PROJECT_OBJECT_INTERFACE_VERSION, g_pfnGetProjectObject); diff --git a/fpc/buildfile/interfaces.o b/fpc/buildfile/interfaces.o index 62eb143f5ae1821216c55c0d27101dd56b2f7eee..93d1f44e2ad02f6fb6374bae939b47689bea19cc 100644 GIT binary patch literal 66944 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

!Fg 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 literal 38040 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ℑ`oR{o`G-^1`y-J(8fP8ofOUM=t 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

>(VnHL9PjRCrOsb=QBvya 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

{zp0 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

A|(-I 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%0D8H6|RpffWN~cP?1m_kEYbFj295H&%Bq|ff1$Nld z`GYEWZovp6+~klocnHod(2QuG;j652?KbTv>8zpE*w8ZSW*Pk);Z^3aYS&|YPYjm@ z96rLer%Xf%r4+HCrWVH*m|;9?ynuYC`g=edPR66KxPO>&LIaEq=uhEcvdQZgph?f; zxLxlK6pbnzUF@wd#m-8x@3LA6E*~qwmE7(r_Fa9d1RGaLaQ#LJZoET+n|4XC=_v_r z<^jE8-!17FWr}^9%O$vVj0CrJNO1cx65Mfu1Y4F!aOZjnwq7s6w(Sz!{RauQe=5QK z9_#=V`yL8O@NkXbN!uaXu1FF3goj6R@_P>@f zF^!A`i0Ds5fSo(AgILD;%Y(^42Lucp$I%48lg}JD8N`S=&MN%?SUD`g05XZIW{8Gt?fN1X%Dob9} zN)LZd>z*z!RAB-n^dB4gCBJg!)7+8%NoPKLP?fhGJ(cpJ$y7Vrwb`6ry{YK*UL$ zRGLJpGKkp}FvkJ2C5kyhOhuZx@ADjB%5MdrPc_R~O=zm~IVDk4W&A!IN@3+g4}rd# zYY+de_TgSo45csSGiosV4*n|XXpFM_6*+!vZyHsZUM83yfhmfXGTLa*J1eDODk2kw zXdreNYxf~4>a)7SlBZOyWK)?zy`%j>m2b}kRax?aGf&3VicGwPAX);V`ZtWISg(Sp zdJ$E@5AT8MMo^7CY^PEc+4}{x3#f6}tM043aa0~OHff(4FB;1^8}#TL&Hqhdxg$UT zh3$pH+AM`tC~|Pm4cir$Va%+ zC7pw6Q^N|)Ug-Hi>XhBnAx)5+MyufiN`;fon~&~{qSz>ExV5La1E|M*F#N*xouG=1 z&gf6N=O2k&C1yYBuR#5RJCQN2s(~et3Uw{n=Q?Cw!pc&!)f2*A$(eRqHsgNRPEzqT ze$hm$$}WP05qOPX!p0<#h|l^J_9bZ)s>)jpwtFA8B~1oZgX#>db02mktxPNMvjYu& z2{N4$&GbiBt8%c}4T@7ik>Yr)Id zaFh%yD=Ay|{2v%Dj!KpMhF4*^6POT2puHDG-w3|9%8Ls1bHKp?UIu(K>esBq zT>v8Va`36ZHF%DyS>^fA1{}TGa|#bUn8|l&jmtOs0?%o}#E!2Hh(y0!Q$yZ}<_<3q6lI11`LuV?YBqQdImc3t4R)DlOFTbSbGc`T zD^^8IS66uITvC;%QDFb?_>h)udJfUROL&B?bi10Ul$xtNLk)i)+Ob!AUUEtyjY348 zXr=KQ&v#Z$nm2kHr2%TL^*mro6>B#&_Bv0K!#^5x0u{R6>l*!Y&vI!UDNi@SP3$kZ zH{9rXL+Tep7&YbIw8`@pC#R+cYun?0LN2a{&4xy939s!O+iKMy-t)um#acza5K zw{e77@tVz^5vIPPb%IpUt;N3A&7|cZCoRRkcQ|J$_I<>uO0n-SXDY?MFE~Ld_I=6u zNwM#1PFsq7M`V`r;Lm*TQ-FVR^nnRPE#kL(rm?$E_MAhEXDYh8M6h5Ky3Ortyu+iM zR;9Lh4m#uPHFtVG#W9Kmk)!YOEENi=cJ9_~p3f!OS8sRU#t*f z4LwZW(aSIgDfZXPEY{y3vsnKanZ^1WWftonE3;UC6X%A-{$`oJ`deiB>K`Z5SAVNa zU;X1{`s#0&>8rm(rmy}^nZEkFWcuo#DDzhTB$>DRC(FFmKSk!P{;4u=^>@p>)jv(< zt^VmUZ}rcROLyd_b_cqH%-m%@DYHm3pN!4()lF4q5oiOfw=4pUnTZ>;b8L%1deji5 z?m*8nelHJk=cWaMbT;I`2-34J}m|HYx?D}U-h!cDCai}nr7 zP-SyQy`6A7Yk%eVC1rh@aOAZ>IbJ373*6Ki&$pj)d`#%K3AeTmuyXh}KGsB8k z?z-Ejrl&BbbgI{!h&8*omA@iE7h?UQujrsty+!S6u9ma=OV2N zt+_xQ_a7JpZA7&Lrb27isoC2g*#K4e!ynOQRXE$nSg{Om#tJPkm6@-r4-`G3T!!ap0>q%H?I40%IhGSCT5~zgHpovP6^9e|^ z09TNpU``_(lZ4n*s$gy-9Fq({8mC}hJsgwl6!Yuhm}I9oz8Q{52Ji@mQ%lf-b~q-* zp{n47RyZcv0ShO3Hzkp&5q#1-rAGnJUFIpX z0Vzp^mY?G(?+fgojf;9EOElPVST8K3ezS9PSXitV=4S02A)ZQAbtlbMCX~P zQ4Z43G*Q8H3y+>8>BY=AZxq%G4Qs*ZdUz%o+hD_);KhGoT@ zk0!&iVu1yfHZ~%$w%FeewaLW-;{bzF1z1+xXCqSuSWGOABC(jbKLLrw#DNI_tSJ7` z2C(`GmK8rY?JBAYO)hqRZQ5PZ1yjo4nPjRfCFVm7nA%Oxq`u&yX_Z(oR8Xl6r9#J4 zI;#wDHG6?bD4Jdk&m_}<;))N=nCTpcX$1I5s)~C;SVL^LK~%{vfzE?xQm)sR;~Ie# zKC1)dvldw4Gd%$-e7Ob82`hYg{jtIqc$dZy(fdr)>Iwa^!Y8QUM;0FU#gR04SkeQq z!e>}R@E|%ui8}BdQK6E7t{t}YfYLIq@EK;pt%{Zp!U`WPag?uOuxq!`xX39QQi&Bl zqaVrG%`O?Ls*;MSxHO1UjVg4>HExMR2k zTgFLn=dluOJyn8jt0lPmehIceE5ZHmO7PG>BzX9U1Ur%jQ}oUZ33k;;@W@mNcAqZ6 zV=E=tbFTzHWMHy0DCx(s2r81a?vl`kI35NFPV&>vd8^aA^=7>@SH@0G1#8!=ho5ai+H?RIV1PBGHi?Vl!gG;&*EZlMFNRIhPgr;uHc7uAX)$cV8oDTE*j^(l^s|^@lk|Y~#<0bNTPnSH zkZYH*YliKTOI^EJR2`6X(FWQzqY+^>cI`6QHP*{e8M_v`yxO(rPr@pcQo?~(#LQYO zXX{l-XWuV<8VqhO1ogYH^cBVlO=qlBVw?(>6vCEW4KK^jNI*zBU$b;3OPL(94YPSH zoCiNLv(^tfRc;C=p-NZY^Ez<&S*$Dn!V<#+NTEW#0dV=!NGy0ptc8v2S+N#<$(|EyAyBavM&$EiE#gp{+!w@J5Ty$Ci?xW6se%{9 zS{UR@Vl8aQm&IDx0I!I(hykpw{aaXz8zJ6ORp@uc&Ot1il`i0T%s%QzC9D*wr370Bi9GR(y0owlS*QJ={di{UghVP1K=1 z&e{N1ErSH8>OZ~V97)LmSu3tS_-ALG3mrp9RP~$ZI2+h~1sn8Bj|sg6>toA7rRSit z40AowtwOomk4Ief!`_v=0_ncohsm!p%5!%tCn|GD?k+)PRS$n8u!6mDM4mPgRkI8v z@Tu|F-luBs*R{BZ&U3HV<=N?S<+%3I#F>7Y&$9my6StXFGbWBvqc5Z}ca!uM3l9?~ z=?5h(CQevGkH$>g9-=~z#Y~)}2kbE>E+*V+kzd5;Zia8~1^zDE`qxmE0qV6>9jl}XQ5ZXBBlj( zovaxIbh&CyVH7s;ua~mVwE6U?RGq3?xqbkHrgQ=O*b*E(Hm1o80fjY7wOh z{w-E3My3kB7prBEKZw<`A^#&*%Le#StX2$QR8g-q%+|MX0Wb={dX$dYEs@;d&|A3do`@r611WYkXXg6 z7mFFSUdK`l0k}|3!+cSAU@plU{TlY`6sAd}8k2O?fDs=&gFscEtYN`yxtNZOQ<1bV zrcdQl{{OHrKQMb^VHmYr7)d*r6Y#JwlIEd&l_wTPSVMn{S(q%MLWg1&M$!X5F%~8! z+_Er#k6ReS_m59qyG z8G?C~Arc3VR3qOsj2U4)mP1d5c6ohG{j_evCvcl0+GPsRZ0${ZGw~C+8a5BN^{rT` zSrOh2xk{@t&eT+M7I##1&rr|}nfz09LkwN^YeIJ{=!Ttc=w`*_bwl1T(zWLBsKa>d z_pg>=9+Li(9ohvf!^h&m3yl1NnD>oEH;9d?iu&r{bx5 zcta~cs%%FU3=q_(K>gEjp^|Tdi+xs&Ue1a9H7+y;tQ_Y3P32G=%Z_URK zRY+g5Qgf0I5xp1UqG(h90l7lQuP^Q&Way9;=~R0WfDpe7!Fw_B@3ZX9#pnz`T@6&j zrABQKZ#6?N)Yf3cm+Tk1J)rBX2M>w?^?rdafMRrCq*bS=ci?i68THZ-8TGR38TB&O zT3Q1ds`qDFb@8>rUwfHRZv-2{yjZKVqaq^J*@ujEXE+uhsnT z07rb*CAeAKsI2mNC|~z{0{+uM&D-6dUb9k*0GxnW1K8;z0p~~7K*SYEEUm#@R&kY(3v}4YUF)qe^LOI{BDT-Hf#E`Bn&VK$z;Z$hy#_ zWjfL^jEdJi{n?kB=jhc5WNPB@m4a>rddOT&M<^pidikUgrGlLe>^#lyQyFAB%C4Gg z?h)j2AZN`ojCg;o*XX<(v}YDoq1tQ9h3+=c4NbC(;0t>rE*+3{l!+q`qd|2Kzw|wP zzAmLe9%`{9@<7l{xLlpBJ6U?jCSI>=5Mj=;Z-Ud2P%JKS<1X49+bdR7H0$rwmkHk6`uQ2xsJv&gzQ_8 zsoVwn{?sTbyQwPWq_>lg31eppVSoOJ$=#hm#%>}%wL6-|3Q@ZdouGO3gvnT>wKtnK zJOSu_a6~q!6QS{F8_GOUeqwdB%n(u6QdDT6=Ki;#=R2c1##IY?r=U;NGZWG6ttO|J zfu0wLa`xJClHbvj#+%bZUxVx<{X=5UoYK}HS%k2mSEO$@&4m|(W&+KHi@*Vv9mnPl z)9$>ca-To3(c3#s7Bhk4IayPO#VCntpI};V2~Z311{>5eqB^?R9=hima)nOS1$d_o zS~8q8u~g8!jj~tY6MGq{N;PTH7(u=WrU>&l0{iU25eB- z$84X{A+q|R5}h$C9Br{}xNShDvh7pf6*69Z`AR~DY}j?UZh%w5*6tEebz^YEb;r|W zQC_u98)sk(0GnlCYLayk_Z1L#x_-Y;^`@_qyzT|^3_Ug>x7HcV0k1MIR6ZmfTuqvJ zx6t#l%|-g-SnIF}SUT*-M})GyXQ&YV2*SFAma@nOlMM0RyKy^)VL8^kWWx(_VCyKB z*h@BP7DS>o=YVXn&cI14TQ8V&oN2BVK%S}p8k4e`&DB2p8{xbj$ceEoLX;_!YiGPn zCf+({9XO!m1^4id45E>kwViilaAT!)Zi~TpLq(~U!dvI@^dIOt0nD&~?Hn>t>fivZ z*T?df?m6jr(*{F;I!hPEkStj1f}`7@{e-(j)NIf{Yp5}ov8vH~CvL;A%DLcP-iBdx zyYOV;xf(n_OUQv$--_!nWVYXa;#eVj3}gdh%Cj|YMO;HpiL3ULjBz*wmd=F6pkxju zvh&z}vUxp&MKC}Kl2!XDw@RiJKpl6KgzdOOg65fBbu2Qb z1QD;@qBj-H(e&xK^gx&o?rd=en3NyFz5FG%~IOYPnt) zGryb!M`g&$z@$}1^G|^AJiRYA+HVvotFM!i90ci^N!fZ_s@vLhNQsJH~ED1rfeed^O7E_EAF zpIWsFxbSL<`rMxX@Ar4kx%bW_lcY4X7D+#yd+*t|-|zg^bKdIxIWKbM)r%3Ak1tnm z|CprrCxJN2qbXP?*EUsCcn{b1j?+yk(Y3wPo8WN(PD3#hk--c#Tf|}j@|`i)JG_se z9FB2k)J1x5Ws`S_Nsx!TuJPE3LgaNVUHDM{H&A~fsQ*@u$m(}`S4iCRh&wNcb8QPy z%i4E&h6bqwNUVOFH($AKSn8CN-)f=!R$u4cBSqFC>0PEsU^rW3F%0)^uSGJw37IB# zqK7!tl#t~O^?QUsEWji0_5Lp9d>-Xo9;_km_eID0eO?o?bUoHwQ!B6cR+JS^HKHPZduq{9H(bj1d6mmR=| zkm<^SZgw2la{#Fr$s53%x*EWn?EwA-<@5^x+2MsQ7wawE3?Kn}<*i)~;B8$F;O%w* z-;Ryx*#I{RB3XTh9l+ZVx2#j!!U4R~4&WD%Zl_6y0knN6GJqT4iT6E4hOtz*#xwtl z%vD};*;!}mX;_n9@|3f6S#sq$PM#b)XM%Zy75B#Ro=%<%x4R$4H^A5KdvWSJ zMRI4vcN?a7$)Cif@H3D(R(Upl>o-jGlD~+AZkpyL8?%Tpvhj`6y+m>o-0d!xjKbw? zn&~C4VErb^h7-KxUL}=1#z6Vuj%w=uPlUxP_u_Z+c~9ZD+Dm>`Rqn&v`BG$%C$?dh zm%O)At82XEuM|x=WJt`oTyUb7d@*j`FFeUhJ{T`${jm+Ry`)wot8CNec**Z8X)1qW z8|He+=M)V>N+W^uyyWh%+SrEq@C!@?-L-?az)Q|gNUv^#xkl+n`6Fb*Ywp5p!MoNan9Q^By< zMQglisqYw*m1k(OGA;EJTC7Y<9oQ_7gS1nbmij%-Q>LXlXq_@G^&*W{rltNMHY(?O zHD2mxETVLw`-#QQ9E14Bkwbd_e*VM{Y#p$ItR|#5Qj95@plUlf_giJ!Kh|?6mY$F*!=l5L2aewU`d2Pm~c%&l3};^n9-9 zjhiI%!t+X)Ytbc=d9j!@rEA5cDZNBYn$kAm#87n{O|6vHp-Z?3_D2ft5wEb3S0-66f3{hHki_ z;hYcJx3XBJCGaP7LQ096S$8 zei2O5%T9znu)<_Og+z07v@DiLXzj-r;hIC7BlI2!C-Hdi&GNXOVklp||8aRV|5zS3 zcgW*54;zE8ZXYL)J7&q_PMmy!zz!k57L~9uGYykIz77fx;dx zlgHSeS;n7cdUQV8I?TCH#RcyYGEZL5>_N;ZH2xPbd0A3JdG_Wdr)(g_r)`DFbzxx3aY4Gx+jOj+Lh6 z1>0phrITd?ydTC>1HJFX_aVCE+wLbesQ(Y}UY00Nm-b7h26;b;OD(@eU`+iUzvZcN z?-!B4iVCl>6eC(vfuC5qGLcl&3ssKBPkONLRSfYimm(y-VyJfo+hJ1Uz^J`S8qmNJ zHSJ^fyn@wQ5rVNgFloE z*znOF{GnKNEH%c{>f0#Rv`Mkysj=Som9&#Tu~e1!91Mq%Boa2x+Z|RKOO5wtCW3y- zfW}f2y!i>~&s?mMl9l}7XKchGyeghwlAfp&BRDdtN!~1zzaZ`K$sU}d@@L5m&9EsR zoT8*VBd2;xWKL4kaEqWM4syhXPxs&y#dB9;=^6bJ6*IkUGGWr5|6=fnudzKGgX9U- z-qX^_AlB57oK@rfh)ctCgV{_(>O}7@vl3;3Qzvt3L>+ ztQx6)#sW&d>V5zY^cbG!Z6HjXRw^;x8Gs2U@vu>*=j!CJ`5ru@WIR&~yk}IHJ+;vL zttu$8Vv+YINg>@%F0S=nkk7(#Te8$Uv=FT;9Jll`oPAK|{rmd7xLA65B2lrz+i__@ z@XAD)uO|zR)KdgG>ZyY3^bEm~x>|6SK2gR@&lB9L=X24fS2ORzOY!P!c)#$mSWv01 z6;!I12rAV}1(oV$L{Pr26CA3S3l7yQ1c&OCfqtvo~o{g;tZ^JhW`+$Vr2| zb0)lHC{IL;&xxr?r&cT*z9_vo9fxL4#l3lHH7T8D0Ct!G63>qX_|(;&n#7OV;md}f zgaBX1POX>&aR%1Uso->zRPL2j!#6)aT`CMZwZdgiv$Wdbb8K1tXQ2o+2~IjeV(pR+ z41>b_r4?vgEh;aYh?k}5G#WH$h!kR4UtX9C>WNZmXJwf@22Ym95FGj>1r3EfCpK&$ zng#rrgpI}G^f2@ahXmkN^L1oUWZE=@);TDINjZL_J&)r6E%d1s^UphxMFeo%1Ni7hzU9tN30p%iD5izGASmxGTdk{LrIfe zN*Bo4gih#AZ%ga`<4KrMTD~v_Wbb)4yP5CFJ&`%b(Fg<7_ zm@}8=;tJE&Sz!PRuEF6y=sqk5f_7=P>!h$t9G2O3y&;Y(0UEE07$qmPA9~q(5Jl$ud`wD-p+; zniad8?cqE_C?PYC!jAyx93bd?=<{8V98?I8=K5w#F=Odc$=F(oe10Jb@? zQ!3u=m73b8jY8~#G>3e86eG-V*lebQ0fQPqLO9f5K&d*47-qS|VVeP6VHN|&C+36u zNdeFaGMH_ke~yF6xhC3Ro_S$e1l;*j(qxA?0A#Ll3^EN|DEWgli-J!9@x@__Ifw!9 zIiOl%KzwNw!~@6+AheDkzTB-)mv;q099CJJ2eb!JxXOU|$u?z(BUVR4pqMovzNQew z4+n}vXh=ktrZ!8{cT2OM*>sZO3N0yIp{bw?SS4w*W%YNP6fO?RU%msQ%eORuJO<@kO zOf&Q1FeLWND2AL7%o-Nn%#eJ*6~tVOBphZMsAshUiPo0kv5^Ia?&7Qk!-t^w7PS>-~5B^HIH3&cy@ z;xN!8u64KsJE=nuEM#fWRKW#+YZH5=w5-m-q#K*%1{bV|;)0b9L<3x~inzc*IEKKC z+G^s0Qw;d8aRmo?PK|~@?q|S%tt;CVvJOBx*-)0JA%`6wQ^Dyn-4X=D5%U4ni%jQa zk^&pBswW%Lki_$uF2+oBx0od)C?V+}NG2Ti&<1<>A+qTgB9dej#!3>%8ItliH%d(! z1&|EzNgky?ARh#=+lNb=P*v)XhhP!x@dU|mR}VOXiU5Y}OfYjH25}HNBuE@U=+H38 zOak)*bPRz$JOD9-jwnnD^4x&yD2FRY69tViz&kdCNH|D2i0p(yfI#vgazb^i5F!i6 zajxu1W{Wit34=@0?wn{&-joms+#Y$j1o*|mVVM0jAi!BZ>+VbjGp}!j=-!Nu(A0>*Bn%Xv0XOYa23Mas-Vz$#Iy6mwZOs_ICQvBO3jnV zfZBF51%3m~TpZmKYGqFd3SWXfVKVoGrRcTY=a!kdH4C85fbep#GBOh@!V2AJt_*@A zD{)mA=;j+6w4Lt&-K=)ozadOc39*);BGyEyoKs!ma2&C3cMc?UtaT-YX&JmOpYl1) zP&B6-n#5r4GaRa1A5bcS!Z)}QFRma)Jv02|K$+&A#o|pdXNU1F_MB)C%h+g^ODuLS zHkdr{h{fs!F-%TtGYy*};0M6iEJGQAxbs#B-F|*p1@p0z3xaN7)N!YMI9?F%?4mBv4L;oLB!4;(Jd& zVe+hWw2(m?WZ19reD(_zmD?2v{FMf^7-5C*VsQB>wL9fd!;%flXRn46hlJEpK&y2U zX0m*P^U>SUK|=#%3dYQ~-L4pB80)Z6Re-z^8q!t4;u>!@o(bGGUDRpd%s9l$;2{uBqdYeKj^ zHG;yBq+2j9pyRl>!2uO+x0a4GfB@NOIQ#kgYgbZIi*EB1Qc01Ahq=0;qzD7^)A!Hc zxCb~O9B6Frkpl36Ol*h^h$Tja`Iw6%5aI#5ei%p*jipWn2MD1Eq!9{f0;JIi6EMSghcrTp z522mJGobwp(wJ;$TDUV9qID{f$TWjQribL=jF3D8mlRH%8G#czb8^-BO!6$pBtwMi zkZvq?q8nRB@SYSMI}mqnnG^7#q{tsbK)f^sJB*{==jD@O^BozsATr}9XrUv!z(S!f zmY+0z0S}cQ#8IuaSW+n4C5EzH>L}Y~r16X@sxI8tfC-jIaVs!@!&&SNX^54EY%-M1 zD)Zq`+{ppb5{w9`s>^NiMrb-m2(2+_5E2-dl!X}*D&vshT2rp6b6uF!B!eu*8OzMngcO8I0TDDsrv7$k0fyb-4C*ZV{rQ z!_fCSH9W{4V62c-iY$|n4r7gy z5f@;LB1fAPsL^1ovBXeS21AVtF%(X$Ko>+9O!;&HR8O>nWjBgRZll1x1CBynfVD%` zH`3=Q;~T6v5J@hLTQbv~Mk>(j8nF^#$Ph=^Zb)pLkPqY$Z7!1*h?4?J#^`c|_UEzz zl5{}INi&c;JA}=MoZ7?zO}Y#&xsx&lgFD}VG85J;jK0t{(jaD}VL4XELL?Esjht3upBk#t^Mw{YqB57=NFmdMu) zTDaM<#d#_vmDESo500)o*4QEoC&zY3D-55uTM)j$MWQ`r(e|ESv zsBo+S-ztLdI0L>oUV?&1xBCNbL&^z6OLRpQXJ`r_eQG{h48>G3N@9x<&Wc%DGs0aP zl-A5BramDb`BppR8!@{e3=(>43~U=fH;Ul^f+HYn5_hLs3V_z3RS^n12o6DhzS-{= zI9vvBE$kWS8<)?Ny4cYHP!GEpHhxJ!ZU7^Mj7@+ZmKpR=7ex=t9n=QUy@Ke$F*X5u zSVi=3vcU*>+F{w1LCAzS0xoO@BT$Vb2+zz=Ci*Gas8Nyx4rPFr$qxW6laD1%mu(>r zahzfH`t`EXBnGrhh-l8l)+FLNOS!~iXUpmWwHJ$>lTTB=EI7!Z1x|Tq`AI%A2N6mX zQ-n5Okqr)w?pgg5A}tO*cl7cw$P6|EVNYx7bHFRAD7MthScH0TGc?3yVJe8rIX{kY z2U``cb|+SG(X1~NsRYzS$Wqy5%5*R%VL_l40_=fM2+}QR1S=YNh%0@Z!Aj$al_nUh z^b*A5Ap*f#pH|3FPY?G55C|cR=I;p+zA8Tg5|wZd%8#NXJtE?s<>-(Im&HLbd{!X! zJjr2<+4)O&PUI7txZ$n@D$Jb1AS`UW37Vge9~U_M2o4L&Banwj_$;@oy5_T_t3on_ zOU+Og7COazB`g>e21z|8Hu{^od=7BA;{aDgu{uzcLw*JwTjtB)?vwM0wABG>1V)1l zCd_M4DsL$dUoLfjc;#0=&a!MWqpHaXbgu&};*Nd^{+i!8O6GtBcGw5QxYf4tbqH*cY2JW3fv@eB9`e^-;&f&Ik>?b&~90 zY*29o_nH9E zjZxgZHbjW)g4PH^Jk3c24Ut%|1Dz3eougN9lIT4Fg+j!*81mj-2<&q7D!U&K_n@57LVxCn*w#fR~Uu zR1XB}%t^qUcp#6L4n<)TLQz;K_zzanq!1rZDNIi)4&YV!Re|1=&>kHcF?*ygw|8?k;}^hyoK}Ll_LLD^2ajFA>>9d z!Wf5QUL}7*7&R;ZRq`k1$R9`XSffrg`aH0m?Ou9L5dgl779PZ3_wm75=OJ~S-Tp?+MVdg5<}7i6izs^V(#h~8biFz z5o&FcK@@ZIIWFUnVmU(4Ir#+H0*7m?TbU^$sxc5k3ml@Wkz`t+H!#&N31dUr3}#U- zizDTh1$Bd%g^85w>Xl+>7EnTNe2>5}B_N?edaW^}7nKS5v>WvaK?o#shV+6g&V;&V z;FNi5bP3YybSGarqX&8m{XcVUEQmukRzJMFb&y~h!3#+wyv_-$FixYdAM zA6*hBg-Rg|5}5382bf|E5vDr(pJ^OAW9>8DEso%*fG8ANOIrtp5uTd3x!M6G{3)Vt zQr5cGAowEObO8T`^)~uxL6O2qJ1B7QGS`6KyeR0w;n9FV04fUzYtFzn82v?rwZ&0b zt2MBO&7`0J>?C0bSZM=m*gbj;Yj)VhaPRQ!KcW*>;%3E4Kd~%`!C=L1K~_Yj-I8p< zlEOITLupsS|1PCrgQ8`)wOUBNxdmEjpmcB)a%tEK<)}Ltgp#X>@{B8gm;>tJW_K8o z55gn!5f6~GOhjOSGMc1a2t7eKcwQ%FW-V0?6GTi{U4Q7lWO{F5j~OO7$ysO21Z z@{;5WmiJ0uD*C@Wtk(kf^bAE|Fm5s3U`U5)Kn-vrGCR9O4dh zOpw4~5^KvMJGZt%VkIBTr$Yh*Hw=;X;4Fj6H3KX@pKgFlqtFWy#qAius2Z}D`%_^3 z>gvbo#X{n8n+hE~K@tu%+Z4!I)3Bg0n7W1`;CRh8HPTh;3XXjYXCdlXGPWHhd!F}K z*zDrLqt@^rFJp0dQQ&l&tV z4?l`mydcDw{ZpzOpyI15+jRf5Do-}Y z<7kki+UZio(+twcxNnKcsAhV4R4P89RF@ldm?k>a?1b(Vm}P;;Z$I zzN*Q_hq~+EDRNB-1QXPJ}KJL5PYIt5U;|6=$OQqpi_ynp*uGQ!J&3Z+Px;Q?` z)75HJle##W(WBI;j4o|vwPP}RfZu|*oBVXLR;_A8z`;n_wePKsVeKFRmm4EA|r)##>=y;9x(pz=xW<4?$Upz#Y#3xqx>b@O0jlTXc zmi5)g@SfzWF7>bS)xA5Ct@!>izWe!GweL6Sw0{{2%<6J~ldtaHk!(>vi#6(mf7u~l zeQ-yziH*G8tJNiHbF!8x{Y|?6X1=J~cVzV-U;PHxoRy-4xc_0)pDg&N2cPGwcd?)n z^%vAT+P~XZ@8tIY^;dk4<@dGx9;p6??~(kzhTr|w-|;<|-%Td}|KWR`zguteThz`S z$#OkK?Zgdfcx|*VIX%R^@u`z-dI35*4Xyph_MEO%??B*af19uVzFnGd4Zh?4-Fl#3 z>+kl}Uyx`NPT|YqEty3V@QQfE{4ZiAsCVOYa-$xU#n_=;e?s73^&TYu6O!YlQK$S% zef7uf?ONf~#74X&tK1L{QP~4JuF^Riu(ut9DI<$XdT~4EK8;ass`yqgjgGU}7t z>zPMA<7EuAG2333?F-0O)~VF}F8W7OX>zOXhl20f-ijuxpQ7N=SmOOM8o$b)rQ?@M z+buN5QGVTW+v*Jq<6eHcqT?W_IRrpwX9-8)(_H2j)kK5FpM zq~jU%<9>DmV@`b1vI7X^=P`>>SkFOM&(64~^Wo=`mAQt*|X>M#_>@ za*3owvbY;grdsb({R!>%QiuF>vnfI$a*K=nGDbzGRJKi*Y`q3A>87o^;u;{0YYg^e z;yo_$b*RrzCGSUHGU`uPx9A#Qy$@X*g@&f;0hnv`bi9tlP*iKb9x%VwSBI`{0?6Hf zWWzFAW$<0ig?S?a*ug;=JwBtS*YY<}3$(Nd^U&r}-Go%iuLWA%g;CC6i7nBUsQkBA zXEYGmZHOL$;L?nqib5~~8TD(FUxE{C5j6-oRYuSDPsOrnlNhX~I}npXCQQWIa76a3 zw1axL4C-TCXtm)O>~qn7kYyy%nK1gGi~bd&OED#=W;^@+999_mjVdSl)zXSPwqtC3 z^=mJK_G5ixEPjJT=%u=Kdow?O>t);|_-YrD0D6Dp)y6fUUS@BVZR^j`)&Z%<(BF(s zV)O?B$tvKgekKUx+0Va5ViTF(yk6_lmiX7oc%$7OCNUl9YR$>E@=v33baks%z-M2- zI)@6>=a69_=I3iyH|q7idIX=F&^Ao_lSqJR`8+}}ve|Go?{?+AfT0@z_{IF@ujIWh z#b1yDka2$mGWug-*vVWHmKj@Z+xSkj(V&t)qeTO75;E!^gbLENSi}Z!utHK9^~b9X zZn-{gaSI1}y({M_l+#~O(r2*j(a~?AoU+S&^&nRFP@LzQ(ZjKRGkOwcIf1qIAXXvJ z!gmpoz$zT!Z`M_)wg&4J4M1F*tYtz@C3pR`Sk7n_VS*U9i9m!BF>oI@@bUwcRF0Cc zm_Q~>mKV(L41Y0ZybWUtSp3-4)xeHFvOW0SKtrj$3uDnGr3Okaq|`nFl8Vd9QEQ*V z_Y?SUD7J6ntxJk+rUIQ4kZrif2X&Hc^GUY(Lbm-3Z~gd_Ops!0cC?tTNU8opu>t#3 zq*ebY#kMy{<)zfn40e+UIk(?M@}gZ2M0!bl{~7EI+VVYvrLXGHW&aK|c5}EW%GTQ? zg$R+YsyW3*4k5B^Vtt?`f20Sd;xj4$TlH9FOR&;)>KR|XrUkf8O#pU&%va~<)I`t$ zZCDl9Sk5DTF)6Fg!)8CJQJvSQhx=+W_RP&WoxlrdB-!m3VAs4sSEx7VupC>}resD< z$>Px@4}3JKP3>w*quSK0u#;@cf%ut{)x$`boQuTMvU)%p+J!1N=CA^%XVpejIlU3! zb19N#)j2t>)ePc;T>(%;tJ=0ewA@X$g1}`81PfJ#**+gyI^uS#@j(sLs>%ZSuYwga@ z(LI>4qr1rCh|cRYqIEK&U&OY_A$D6PJR#Ae9bc5uv5s2TLnB6^7WI&yxNIlnG6bU5%2 zfsPmqyuuEB8c7vjF&7w)J@~9v`_MYRCGjS+v1f-&$9I_H0YoGeUoj*1V-(bPL36t~ zc~R!%248&&@lMnfSI@>W;0DN~+_9sXWaRT4am@OiI|43+U|Hi}t~gjWxFk0NyALEa69*>5 z=6tsST_43X)YAFm+31e(;>+;y-iQ6)gZNz6>9@o+a>Fx(X0)`q4-max%nId2B_6Tun#n*s}02< zjdF?RdU`6_QWcOJjNRj6=i$1K)MFS6;bj@M&qWp8FAusDg@}&X%g(foD>B?nQ|Hng z&VcQ9neqp$Sq2QmbvFZ6c9v~ZcLP@E5_LIX4KB9xfbDcqM?ee^iS2Xc3?R!7B$rM$ znk7m$q>R@_;ZF@D7t-dZbK#VAPvQuP?dZp@sm~f$cyGw{EiUm#`+)8bga`t=7JJhyY+8`^;0qhls1x;MXbc9{V=uZ4 zAwW8T8lvF>G#`IxvpxYuPeiskvZ0Nv*2#JZq1I~X23Q(o3rR@rvAuy;sR7;J2BvTm zTG52(S{=V$m&{@5mH?Lv6;8XnM;JmLPx+)bvu|f}o z{0VB6D*r8d-~)VxiXw|o^;57Ykj}=Jdw8W(IzD{}#xhy1J_Kz5M4i6?D~4C}p0DU` z3QB_yg4+Q*^Gjq-L(_5Bj%I$;LZ)vc3NmdT)BAw(6?i+YX^KZ`K1Jl)l|+`t}_AcE^tRDo;IU`!>|{ z?Pk-r-=U3oMYk1RZQpJ(efu8-uy4EAxBrp8y$yZ4gMCA3EZ6icFRs2*9AuNyHzsp^ zds~|nbbw4|M-2KGbZ0s)mx**oz0dUF5c_b0%+I0x`FW4&!=KO=ymEf){$Ih?4D43W3=JOZk`W&4#5+a-Qq#Ja^_|MMyH+L=OTYP-8_f zb`fT9ZCZ`x`d1gV>k%n6Ng~c`)8lceNY?Ne%#CBaXHny0$RfGeV+F^YT-~$EC>p1mgY7{hwqNC|hw_(MBWd99Vb?Rtt#Tu%TFG$w- zQG*ZYXsB!2MLDdx1%WB`TM>Cclz;P%CMfZKhwNbE2=K)__+9>`-=PTjQQ z02G!lAdkxGah3*SN?-|q98|=`B~E2HJ97kPs-E4%~6AYJR@N zaNcjjd<0h6Sw@uDlRLlcDL$cy4`0>OZkUX{`j|~P6Ki#XC$yqDmr|aH` zQt&qdh63>k6=J-U_LJj%mBqvlpq)idy+w$!saY_K^(~|f2Z9xOGvZ-K!uU6dgtrWV zTM!6QFa!Th%vQ<~cqLSXzN*068|#@H3VbHGqME^j5&Q-T2Cc~8*Gn)|*y?f#rWFi= zFO%Tm2)$#>x3{aMQh}^nxC}}Wm!&33d6?zI~?C~k(5G%ldkh# za#ZR;#(WzwFyUiW5RjlpP`75GZY>Cfsx_;=Ul{rchCW>wdLKi7P#F4AhW@B96b71E z(A`08>K>|@Deh>ZSfL#+jd(V~5=Frb%?IsGW%7P7#k;8;hYidxsQoRuM5gd!nZh%Y zNO(q0Pg5sm)fve)nM|0c<+S%U(dkZu_2IK90_xqx#`=)B@3>(h+1R?QUC2*ibEq=* zbuc-_5(FVL&gg+kI-vgMmnewJu+k_J8_D&Qw&q1Fsyl9Uf1R!7rPv#?@cpix2cWfr zb)PXOxZIV$5cJ@yNAc1M9Zh&Kw;D zAwgrmtMWxbLlJw}r6(9-?@_d=OJWbipi!$(=t!c^saKrpg@m6FeZ#&5dap~nLQ%H- z0V%n`-(uwS5nNl+h?2pvd5-;te8D5|Sd z@Q(5y*463ct)WPDPY@50D#*P&8^nDsGPFV5`+jr=f8E$19&||x1%4#8V%u!~a@ruG zK8k(M10f3oT)v(UbKCgR3T)vZ2;=iSI*ye4ka5zEdSF()7Pe|*_-K*`KAO~P+trvx z_1b3mmZ;a}5UvN*!t!AoGJ>$G)etai`YC`=1kE(F78YyUpj)a$Ea=|Sthx||j_0FE z9{6Zd7q+YMjq1W?H9n&*%&GA?l(r34;8~detMglE-aM%Vwva+^!fLTU%n>)CA~mIj zhKQ!3#D0*RAi_X~t9lS7Fgqlj`Z-^yTKdAkA)!C?2^&$=bkHXosYn@BjqcO3O$|ie zjjbR$Y2@hL@2j(uRcSSonjYApZH($y$d=$wReO3|D!!s3p+Q}~iBwLND$OQRdaN3d zldre%Yo;nQUt9P!Syh^^D@@9v=Ie3_dE<-9)%q;VCDnSE+{ptrlUYA`sZ_DWBrVG( ze8{5TE;YQJ9}`rGiMonkGgW`{mF3q|RcgN8#II^qZoaPM*F-e}=5HEf~)ie2+rxL9r{5Ji{Nn+T&{2RT==sLf6*oX zx`d;|4h$4+L@U^Y$yH3<-T07O%Z`aDQyC$zM1@o4!xD0Z52?W!E#xc8G2mZA>n3#Q3$qA-Q7FIVEiRUxWzYsKV}^C)J0!zX zCc}AI1TX`>gkR3FIz_JcKiJ;?A`$$)QgCTt&!MKQ)`9~%D|Hhz%$1|mNrk>5b% z7)~3lMF-GYRNm5JHwwdG@I!QIfo(q67O~O122NVzz^*{qw;nYE3=txJPWbKO6-&p3 zcJta2lv!^LhwG_+6%*nhB>IiOE~`g553p@#^rme`+G0}^nsOr0&l%EU^X5Xjdm`Im zG!hW@2>Z3VtA1gYA7|w9AX1OS>PARiveCkm(PZXN1@a*kuwz}a-X@zR3TY$*WYnPm zKwUGT0Wa|&PNv(;CW@$I2}sw{DIFqLp$veGT_`O;TBji7bKr-~%0Utn5KXcMNgj?S zF#*very|K`qe)DFO9Dl#${f(+lEb)1VY%i2v){#Hcm9Zqt`46B0vO_hmB#daLO5K$ zZq<{LH~R{la~ojgN60jll7)}(dnl})v-$*ngNLSk!8tk72yjHTp4Fsb$BtjAV7IB@ zXRP3EserFr^8`o0|ir8Zn%REe8&V#uBl&pr|-s zA=kZ1cJlHp^^O^;A^Fm3U$S`S5YUciBc9DRoah8efp)e*%HN`gi^HHUhl{{)e8S7N zj2dp7GM%+m0mN*)e)3pe}{zcExIJPHrZWv8mKtc`SZn;*>KTBW)k6878+u;Z)%e@6{ zd@F|foo?(g(tqC`KL>&lc!>JROnhRwU_wCDdP{te6)3yW5+8?SOTEQqq97X<>xW@{ zzTai-&X&5Y**2<^Ej3M!AHM`dA(j89M4!TVFUF(gR zc*8E+>h8MM>=JeA8k@Yw#U4(R%WksucGYC@A}Hz#u+wGjuE~2`qE1cbZ0vKf-@sbH zY|!q!#h6a@L-b+mJj7W2X4@lECTtU|Z>TV@F0!*J{raw>SmYKLWfu*bS!J5ZLU+69 z{6g7-<3@_e#vXyTh@-UE4Fg!bWaQWY4$*!WSKL>o>=rw3T_<4!i^(QgL!HZB$bB-h zs4WWH-QaSL?%eL3F0SiFvFtrANnyn-d!LJpten~cbi z3s>)hWK_YE?ho)02TyoCK8IbSCqR4)J{I(E9GHD1OnW+r(UIUrBp8m3zZAZcV1r@x z*biHPFvpv9;xV19(E}m$P;Ui3|2>qZP(pkFS>W7?qPB^`dHu_@pP8Z#KO)m$u;rO(9V$;{(W(VX56s8n&?{?)tF=aNX z_#eG;gKRt{b;Al)YX2}y{FYdm$ke7sOkf@QJwZ9uGqbGHny{Rf#X`|GIvJw z4KC`t81hPLHbS)v6fE|H1M1{=yOe?^Wy`BoZ){W*j{Ha=(LtAJft#K9y2$W1+-2L@ zf!bgexJj7*$v71Q60;=07*&FVe;*A3{@@G(*n_<cT&&w9{ z=C}kmW?gezq|lmOk}rW#Du?G6&Z!Dd)DararFh;^VsvFLgNA1~7$$gwjgFeUuw`Yt z?NpJC!5L6nNkXa5f!V@gI8T8w(m229;q9Wd`#L`9Lp@Zycn83W#-7l#E0hNmS1%_> zTW@jI3BO4RRD4>5w%hBXk6`N^$XbHCR`_I4wc zGl8_PzJu`{0NY!QgMhLy(>fQz(3kPRAee0rgQm!x83ZBc3{+W+3L@LH?;blUhV3!p zzio{w<*08CT@Ae~@u$qtQQVUYr+15sZNhQ^seeD#AUzh1bk!`3ax6Ep)713V!&6Gw z@^{PHfnHmDZD0gGrd`A32`ASenMzi{{gI0a=LW%ac>;{iX`nUGpAG3Z4q`${8At%6 zq#JBWC}T*yhN_(Qm^e$(pUFIu3bvaR1LV8$bG2{zi0xe0K*s6c?UM9FDl+l@!%1BA zQCoRYdhlhn;+D1Tn$X!~p2M@>MHh1;7K;xqj;`}p(IAA;#q!s=1YPHEaM8u`Hy>L= zcn;xC*T!Qri)4_i?z6)T-(o8`w&Dvmu-CpNlGqj1o7LXz5+9qcv%NJRw_Wd5doQ<% zUna8ppVD!rKSrq=#~BV{H>X}Ox*NwC7T%5H40HFrA| z6t|$J<@5-on1lcBG*%k5(|Vf3rC3mx4T8mUjHj@A^q7m&V@?jKQFNOV<7qXOu{4iP z@J9~R_h}y8kLS}QX&#*n%%jbz`ukZY{^T$T_^9PsKF8+TNOPDzEti{JXNS>pxg9=j zNw|>>&!|fq6%1@}c*}#-u`Sl#uJkj8OJugHPn(j|SY}IKt7Gq^$IBrwb2y)7bUReH zYI8f3u#@pjHl}g^irOrP;!goHc_R*04Gx=RaR*&-)5OkqAx;^MPpZJd)-10ar=8a7 z(dvX&bruaN<@i&`I@Af&1SQAe=>KF(T2(iyGjaY$HS7z|q`h(EMaO>uGs<0vz$gcY zx9t3k?L&=JT31l%I;nI{E01G8QO!ZkS+x$PTyZtW)w`DU&TUj{QSV&TyO#AvUV?hp zqF#)pT7di|IQ4lDOr_#!dj=uJI_n>{Z2`d#Up?~VHdY*q9Bo9kVQ;)+nW>mL0U@B- zRd+ZVHfB8NG8WOjvf|^$DnxLBJ4&NKkcobjoo(l&;9N*%I~uN7tS7eGw&4iGWh|$t zCW8(mz1Czf@he`FA)Q=lhrRO-!RT%@8H_%9nhe%<%rqIS{P@;n5HfnFtYFHXl@(0Y zy|RKS4o_LZQSM7+h0NOJc6s+k#?lv7Kdkf^OZM1=S0^K*afG^$F_PN1^!P<@W+$DpRY7F3^N~>wepM&dIqA*O5A+J6Zb0{q1IE4@RS^p z#iL#x88xCwHMXk}jjFLxjX*rzPex>+)LRS59{Nhx_YBVKz$q3Z;b|B5Kjrh7lyW5Y zA4d{V7M5jjnOYSN{llYP9vQh{tzC_3R2MhGRaRZhf+5Kn?!)Zwb@V4uqwy={;d~XG z7|4$&#I(1eQB`GC1ILfg_~dZh${x4lHeRfd*BRGA<^M|V_<&<7uI9k~8;O4OPkL(y zTx+v%*c{66L-)!#>8GsmlBCMtt z!*ObPn>rn{I$E6szoFB!>LlJD^(5{Q;mm+5#?58$t^%tJJ{gXy%J9w#0q}$z14kRR zmL6eqxwf!QGbjs-um<_oi&xZ>u@-n;Ho#TqT=7(UlIOtSvJU+A`V|bgOWVzBP!Bwg zrojsQ+v@okq!4UJ2 zRSR?Klyv$zQkM-e}!M{dJ9$f*^Go1vCw)ruU> z#axO~S76waYAK@N9EKQ}gKR=lh*_3P+GSa_oHySsLqq7>*iS8!i)OHb#nT)eLTztG z2TwMRf3Am}rU}JwJ)ohNT&LO=&W0tbK5 z6Ify8KLMAmq|cLua9k(Ob)A&eC-JTrIs^X~+|F=bXPoz};BpwqXMBu{uTHUR2}h*K z$-lUg#>_*Do&?8rW;WBJ)qWj+tnF!-CGZNp`?Uw`@(5ht>>V+{Am$A?7%yC!SRChC z4>4|Yd+RJh>1eN~3jf?Hv zo1*SR9HjkqQgckb)I*V8Iw_bCdpGA=Rp55TKK0zS8lDvQn~~!>i#z79g6>5hWJ>lFm#eV= z(>|>8Uf72p-s!|Fy{{!bhbPC88CX$dHF9iTmBNZ+kG(>%nep zk5il%&3~U=r^m*AP(bD5wh6tNvRAG^c(0r4qhmrN>;GTUPK!O?@}ymJolR&M-S=i( zB-MJf^=H+`%+`x7?8(;a`lONd(jC0GtalD#oxC@C3}IkMQ@)b2ULHLy(%d+ux$)o- zYLC`59uJ`w39sA*6{natE_OBDi+K}bB4cNFD1@!J5&u{h%@XZO+tEvbjb5~Ivw;M z@ht|vm1mMJAtB|)7#a8tiIN3(>LLGCVY>C z^=zwJgYy*^P}}<$bY{?5ox&3csUo9#ndjjyW$5Z0R8)(yIJmP`Ez0n-RL;yrB7EzO z_RQQ#I5StR!nw8+e6<9sqm`^>Nmi|dA}om)9DlqG#qyb4tKSY4D4bkX9rTxKFSJhx zJ*2Nj^p$83JX?L-v2nczr5jaUaj3c^$y$9U!>EReL$M`cyIiT`j^HH?9Xc8Z6)zQ6 zpWcy#_4c=*oEt6&OG4EOH5a}m3crjRDT+x9W+Vz~Qbxt0jf5&&?$C6(+7QFDY3uRK zum-5aObAqBc&TSycwHMgvbk;_7CruOW+!i5ieFHv=VJB5n{a64)37tZ6BD!>r-+X8 z)z6_;OW-h}-|NIPdfY*s_<ms>JDvD%9L@Ol4xRWho^R{WOOiOC z_%@8?I`wO`?KU2+`8K>_#&De#ihL{5suHZTTcKsNRm@Z=C_NX!)PW~#CUC-L4sR|R zH-hhopXy0tM&saWoPzA*PQV;acYXm?+{7wIZf0ctI(nb#8XVomm!M`3oj&zZ?}(z5HNWiMiVq_EKA@^g~M(r{YxP@J8K5tXYq2jjTS9A4QFdkH5S!b>=9LwE}(8uAx2@F^Mi zl&S9;Qy-&dCQp|}HA$oX4`numk>itR=o*aWJ0$WSh8p3ymj1=G6rVWR8D*lS z!?6-Dc>mbW!NY-+c*EeWz-tb#Y%>C(_k~v6Pi|$>|HCN-n2dMI@y8cneYWsqT&x;S znK>CZFRrCi9F7&;P6GlYD}2SmXJ(~d&$DzfXL4RHgHq~^sO$Z#3uDaD4(gIZf}C$; zPNZwEsq4l@*~VJm8Q7i+-SaL|g>u$4KHuEnJ@M+&>{xR&gPU&3Q>%6pneo91{* z-nAYvV!is?b{?*NEe00Aa3O#dLwF!CC5rvGh1Tof?H^CAqm(#KsWZvXopm;{_c}0U zI|4FXTw9B1{8;o}*P_k}cSf7$0{5KcrCM)2$%kNAz=H?H!eA}zL~!gtEzedT?5qC- ztW*J|O@@&LP-qi2#>cSdAq5Q+fSA|vEKL@eY?Co(E4$;R8e9iE>!dk0#Wa?5nmbMp z7UYN=Ho?mN_JvxM)+*nycxUxgQ8(pachhs<*rC@o>P`{o{;u>J#W#m(r;ccDYbG<)l)S zQU#K!!B=)GnUc%9L;xj1sSeQ9sz6#LcX?4fRn$Aeql_w6W-7ECEuAD5_S zaHErJ!F_DO4{QrQVOk)cYymDYZKEIhf5(z=&QB%jiEjFLuN3s-NJ01Tc;%n4AY{CE z2V4`F^Jg*m_va5yi)8(IFf=1Gdg1{zyjp!oVtx@R^n+~O0o%G3(>nQN>%f^x>z<8) zQAX>?d9igZ>JBOBxky2`vvtqg*4^P+_Z!NA@>_R{Wc_W>I+?heCGdBV@@`_oUa$?j z#WYMl*|1w|!w$y42<8pjjZ)C>BL%&m4ePKCyU{i54`$dR1O8sg`Nv4k_b}(5Y|i&G zXM7-8ajuq{U)t63XIU*xa;}5#VjEoSKM>n56^Ca_B}Q&&wVvFhE8F3dbSXH~4oKj( z0o=&&{t6->$O*vYz6X+l!0F|V9bk~1*9&5BaoJd0?G*KUF`*M64Fm`6JYP)UOk56x zKbnYHna`5hVs=a^eO$h&`woP+S1#hWv@RrXrL+Hcw$iCV1uBXN|}c{YD#j z85o))Vna6)nCSdhjKpTR*{GpNM@O57P!hVS|xZ6#khPDsUUiM8p#$Q z7?)3eg4I2Z>OO&}p?J&5o02qT{$?FdVkiID_V`4PiyV`Ii?ZAzr)>5u7y-1|jsRSE z;8NsEbIjsE5))uoOABhb3MpDqU#I1R#Baxvd7`br>E~Xoh#zCT06-uV%p0}?yaen7V#@b6j)lAXC|cYmZ1!XrF~Ybp&USu$*oMZ9N?< zLowlTbFfTzQeKY4&O>%Yix`Xv(LC3rk%OH60`evAB&V7nc6dtt4MYS;vuoijH$086 zWV4asvzP{#Fud$`kE^}wBXVU`xFm%_Gm+NT+19@lmmn5!1PX%gT!Lg|oxe}f}o% z3*d0Qn3$;>%?4}S<7&+JPh-x#ZrnR7eVDT+>q|N=6}Nz639%RLg6;+!Yg`%}29+c<(8)aSRqcYG&X{dm#HW4e@I^9Uw*%)&3J9X-3l2c+eiyr6 z#T;1ALbDi|OxD1#6mH=b1CFj!tfz6&NpO&azXxB`WTR6~S< zD@jF&2|0gBtsZl@r&)J%z(0p$k84qH^uh;S;-WhJm;F+c&=@t?qwqm9Lm% zB71vK|IR<#o_F>#=4#pPqF?eE5#;2sA;sNE5h8~Ci>=hiJqQgD#e2Xi+YgFFsqPsW|VcwYD7;HG#<~eAfb0vzp zIg2aN;3gVu$T5{g?+OTyv)l%QjRd`jba0%dPah+nmK%aC*I$66G`m(m&u;?@J?xEWRH4HlGJX4%sB95?(@8?8rvYJD0-4 z2sREmIqwm_IISN>3Q&RdQ(uBo6Q=9bOI@lLLcP^MC2AF(@Es^sRnT?uT@*yjkx*aW zen9t!;$$*1O+}`~$aEnyK_7LYWEwA-E{taS3Nnqy_0n^Z_732hfVgzoUvTzMI#=0f!jN1isEAgSg-HxDX=RSR;kF1TN;3p^-1X2$vpQHrx7M`B;^RW{%qA_ z(Uif^e8Cb2nok%0IlUMzSMo9#FUVa7jq2W5 zqkoguNqCk$vBQnCuRbDra143ZuW0;_ID@AK^B+lvCO^OZ0Pk^lY)6ZnJjgeGFU0|> zE2?z`nunV+zsN%eo1wB*Uxmwn`aG(Ke?dDmG4$_w#5lyX)63=oU+jcTtgjxm{xR*w zKL(%BGBe>|c*qQi4AEzIpqF1qpYhUaU$S`S5YUciBc9DRJZHm2{rU}*JPqUj8R&yB zGAIICWxU(vk%GwqdjBZAxmYh7WPD28fT6Euxgs5$Pmr+QB{WVdjGd-_Zx)&HK6(hH zL7n_fl!sU9it&mC0^cXBJPg5u9L;aDDG##ZZ^wY79}MOU={rzd{0Ti4fXl`60Gx}U zaK^Z}<#SbJY+%Qffk71X%N!f?lEo9+WsJ?!7@JREY)p8L;o(xc4+SrVfmBxUZ7|+Y z)P0y?yfyllnbq`>9o2TY@|Q-_4p|!aurohlXYP@u@pKGp;}ghJ!8*iDY9hq4?-3mnwJ2q1t1*#Mi| z(N)8uZA`#z46}=@MVfVeIFl*FqXDy}CKF>^+nDG7T+BO64E)-HQQsMMFM&Bk_t2Qgj?=;*v?3DpVFsc4NYFhD zLcNiod(p}M*mby7NhkkKkGK+b4eTWT4hx0^-fSn~$Hkay5%V{Rp-We#znO+y67w#^ z{6%8k^L1=O$=u-?rTO&bY+k{3&g6?N3v@R0#KxFvl zW7o-W7&Aa6(uMb<3mwvh_e&SB9{$I~?22^Zg=iNZVjajHsRPDHGDWkV(JM^xzcGc- zLd%WAuOYPwcHhsl5F~RhSbsnd2IdYo`0vsT>wZufcxkmSSv+$HXveb= z&t@B*v*EIPJ%G}=dwmC1K-j%dgpZ`b?ln!F$+jALsGGL#Gi}{t+PW{=*0UpRg&AO0 zeT!}VG}?-nR{H|CXSDTOXzQoZ)^DM$CPB`IOIsg8=@@VIP19DSfLnCf))8vs0bLGy zZxrSP*CLl?K>?zwhfx(?TI~zW!BEvxsOn)<^%SZy333d_$Zzv$T1KFBrez75o`GzJ zzqtZ(|0=31!@1$C{;8n)D6&nc^FR?kj>c3(8uJx4rVWk3ORIg!;+aE0JD!brHrwzV z!%btpY#Q@8(tTOL>+xt~zGxbQVtr(H^OoP325HQ2j12e1;f>tv{)3JAPc#NEt@b60 zXAS}FcsAnMY{PS)Ly^=p=LyrCFCpa<(wr|z%qENv_AviVJ~CFrD$JDa8U%cG=>eVJ zgf=$eD`)~!^&pGyufB~!6Qr$pdcplsw6*mB0KbejhMzP^ zb0#T1BQOfnH}#CA$Z-7necM5K0yS`=?n5@d9%yTW+w6YiimQ7(V5VdRBR;Y{2a+(0 zXT5!bSxDR0W9?CRH#fdc^k)K4Jxo|cNwq9=S4{Agi$p4C%uw|pr+VNKo- z=5M}VkA4Bid}zDe689_YC~@`nW<7Wht=K?G(&GOEFq>6~O2Z1+QsRzSF zCRsn$uE5@!-7wQ0m+A1#ZkV;I%GOuR>_!^p5_K}W8Hgf!lnXOaacd@4u*Fr7Z@I&$ zBT1Q}n%5sVtp)#^3yG*7zY^uv7WS|OuWY> zewow|ygH|r7wEt>f1ijl2H@PpJ!MRSm zH&tYc!*>Sn3p*|j^l^Q}o6J_PEw$L)V{EAZ@k5PWbpdoTuL8?br2)y_|uS~CY$xl7G4bo5=eao znz?=ynE4Poh@|0Bs6-(D5byl=K@?TR4AZmp(yxa%C0zY=yaQBId~yY(4e2&$@kBIX zy!#)CmpJe1nu)d*-$X0KZJo}1^w7t-0ehf!h^u`l%sJ>kNH_0qTQ~1L`EK6(T~Xgf zQC%DgFsVXUqwFQ-000z!SZ@0$@G&0H=?czsvA<0k`s+wTZ)HP&V;g##^JM>BXBYdM zBuQIxgi{13InHQHd?>HCxBT$C#~?X?-Q0QY8n+ z9=5!n2&^yU6S54B`=d5r^7?p8?&l?fIljlKNr!qKQ#7ao3pcaKF zv_C|mI0C#Z3wh}|eJd}8QS@LKQ~2kC5oi-(YJZqwp*8j{AbV#aS6|<={VesEvHir@ zM{rz&z_s%q`e$%|x_DUM*<{~O4*RItWbbq2FNx#w0^0bXiwteDx44aTP&YQ&8b;c< zA0E&G>!jC-dG@%#Jo`eLXOD;7NobyZL8F?GQx}MN_6MP&pQPT4>)CPGPgZTFmGERd zVXH7uO{V!E%-S9o)98A}P0gx$iJQte8Z+Y7bui#8N1+@TO>H)YS0?0o7(-10U(Ui| z5MAbsqz5V(Nt*)BjudcXB>9<4UY%8EN`2KX`35nyGNs>y;xt;G_*A@Fo}UZWg84_zXC&B zSV7xxm<_>ZGO*cxR19s6g)t3n+i7SEW8!kW1%|c{8++FL-lILAHiovJp`q|~L!-X$~!wTztx%X66Zz^qFyf%qhC zSJNto^6*MCY`jLzu#l6)$ze1t0N;;*dJhD ze#O3gKo-YOxi~&7ivw*ki{nnSIG)S1!oC&jU>uI)Lwl?h_RYo$n-_M--5zzkyTe*x z<6;O}VdI96z}&OBt9C`e7sh30VQ%G02`sn{yBvdCKQdii=z;ZTFPoU|0Xo$m(SpUa z>3S~)XeK^$M7C9ce#T4#_`_$$T>Fv4v61H554r0DI^In{=^TP>Vh<{&#n-YQB{&`` zhm)dc*!wpWGZQK2A!TJYVk;f=vngB|DcCZ~RTqt}l|@$TMlM!diBa#;g^N|e3K2&H zVzM0GPpAfjpkLBBzGU&tA)p=4Mm(Esc+Q3k;NF002)Kt}y$F3eitv$Cto97Z zy@^(xl@UYA-?OS4Q59ZV?MoKV90J<$Y{awChUXZL*?Bu{gvD+X8MV3tRV8!qJt2C( z9YsCQBO(=FF-4`~MggO}XN}RGJtq&NBD)Ayh59LuLKN%0k7K#S)emE0y%(QQj_Ei6 z`@IjM%mc9BGf%PKGq24I68pUadG>qzmsn1`1@?Qm$ftMqdp|bzdmqEhbhh97A?^1N z725B?sQFd6E&c42C!FR`Y3Yee6Axq}er8~e+D0s^vAPxMC;|xnFMmF+ZM*6<`H4k9F z4dg92y5ArnOmNk$+nf3MTQB4A3%EWcL0P}?Y7J!}faFl|s}_71-d>8+U$x-#uYvFt zv;s|+dVIasr7iKV6}xcgCp;e)5ZYrU1;xH1RgQuikG__nI}5(M`WrpNE-+$UTJR;w zqJ0?}1ZTzf9lUq4;v4iVbqp}#jd?}SeHnz<#0dVJz@NGNDS9){O2*EL6;Usdisoo~%!+p&4~~qZ*op9ai!|-n_E0LR566xX@?nwYvN< zeyNLa3BcGa9`*9bsIg7zqINa5QC-xi#v+~MR_F7M zfq`lw5%^{LL$4lRQXTfx{#c%>d>ck=<{1NY$MAk zr@utw5`@aj(1R8vJPozcDiN0uL8cQ^b(TAQiF`c)qsAQ--t~#-OmZB$G&Q(h6*;n- z1J+O{3p}Q}b|5U`6~&x;UCz#aoE)!xj$3;Hk}+PU4(}VBnpGe7X%fm5>sQ+K@FG%_ zq#nbxrfWlX@1QH7@OXU!<`$Q?#IbboS>0%a|;7xUs| zr;diT9qZ|xwH;ITY;7l#;f&u3M_YD87ul0#9239FGQP?(h604XW*J{)?;QHTHYKdjqyL=h(zWPp}2A$0G&WB(Kw?_Yk^ilH4J*f+D~Vg#xKr_8PX(7}y$KhM18?stCY-QT1a zQX+f)Ro}nq;kV6w@2=#a@!vl43*>wB%vH~gyXVulj`~UUp1)RKa@nOUGx3Ja<37Ff zyj9a0ZanehuWhIoDb!Q^R6iEn`~Oa;``<3a8Xfoi%$ zF8iv7s=Wp|v8*#1en$Oppa}xNLX;yc4f;Rf9rY_1coL4Iz$uCJ|w5PY=$y;GIhZ*wb}AHEOPy7TlZ9t2Z&Cq;K`A$*bWTn zTHS9KrmTrKsKFvD0sZ)(Sz%QQW?sN_H9WLRTAXM?l^03XW&V%xZsZ~`=Ykp#M`gv- zX_4w1PO;VFCdRbBlzxf2#aOd?<~KmsBl zTXqNZ|7|1dv6J!yLTirD-RooD*3tDXBT5Bz)n_8`!?piIz)>><| zjZ3X{so(#+d+yA8Z{C|stfKvDe*8J_-h1x)?mg$+W$x>WqY2-z1^U?5UzK56xJPk0 z%v!1Y_cG5|btA_s;n9{*E=x~gZx8v+h%P+{kqS6KjEKCeqgsX8F949D=u#{LSyS|0 zdlj?YbgEwk9u!k6u#Dg4|7W`;u$(JtZ?|-*;Lp@<(N=J#UxeM#tunXYE$LOkHuoKD zO_fTs3(Ct@X%62F1@|zZ)?I&t=VEXxBj=l_xUN7GUPXxZ0sadsP(cb*kOCD{2mu8h zWwG^TuneP%w}lh zC&2{;?8f)Eht$DEniLA-Y&uR1O@?oSYNFJjp87q=6@LN((RIk%2tD*|DO1PDTt;=l zS}BL3#$MM6@smz~A#*pB5iNPv;rv}VeVjc-26U=c!#Pw#7JVmj7B50vA9BdBEx0`z z>zL5X`%r<@^%n6-@Sp8iX&iD30y*(6hAzuUs)R`==SUCddL%o9`=x>xaVdW?_9 z19lhaRgA@P_lEcsJm4fW-f%J^JxFIo4;4@9rG_i?3gd--8!hf?)DN4|dme&Q(s<8^ zg73`_5uKPEk3=_LgA8_Kj+2Hj57XJ?UL4p2_b3#9=#YK*_%L0+j&C933CE{@fo6@W#01fHn)PjN*_-yLWA6hySVv9#|zvm zI|uK18ftzma&U`3BVF9$e)I__`Q}i4uGZ`Gy170$l)et-+=oqZ?AeIFqimN`WBlFR zW^SF0nr#hAgmL>0h@mOZMeIcJA!46Pu|Gs?H(Fe>iL-X%!UlX}{meKt!Y4a^gYRaa z85hJ8eQ_F35F1NT{1fypG8u*W7(7CpjS%eqr$M5k8bf~zIf&Qt0m6ofuf?IFcv*T5 z`@}zYG>8kpK4QqQwNx_k-VS8RO*T&8#PTRH0;iCX_PdCmC@x0+?_yx%!BEtF;w>a} znIR#1-9w*~IsaA9`RjVl>r~FKA;K<0g!malhGpQl9{a?f^h#VWD*@RpPzjpwOrY6L zNBj)@E`kL3EASN0qD#}B*2_Co-^Wf?-;TIBxWsc0QUJ@(b`IN3GSKju>jEze_d8(I zCL99kIRxp8AveVz(x@l*>m9qrH!(28kgXfyUFAd64hZSFJu31oh&&pTqPQVvi5F3u zTlH!62ux-)F&bBb9D;aq!mF=-^{aS;nKgK-xuk=iHT0;c(Pj<(iYelHJ=!zrE6~-f zCO*ygkST#`m4N+5RYDEdE^=0qp@Ig}T3ssA;9E&vjV7Iw2kl zok!v~@d$eumiq$yED7@}EH=aFIUJ9eQzhW>2#f_R;37r*o_?>qNc4H6l!TOE1>s=- zRQ&<@&BT|Su|oqnl`%xzzGKdi5#oio6Qrc2j-YMe8dy7mUOg4~xi0|eMUkCG6TgSl z9e#*t!EdG#(DCu>tl_XXZpQ2pE!Ky5A|}@H)1DA}aP3qEJYXcz(*NCkF$E*{iXF#n;<{;xhTkN(rkZ*N?L_Uu>h z)n0p2Bc}PIi2DK+IDl%^yK$#t{=9VqDXERJ)Kq1o8c$P@oeJv z8ewti6Y+owwpnG@-)5I$u#exZf}P^Wd|ek6_DgVG*FnA`R@8R7N!=>*gV&Qht^Wf($rFg$lL9LEGwn%zD%FGBlO96v zr4wu2pthUu@wE9~j8L`NZa7gmWEA$&wdu$Hd)RFc9=`UF>mQiv`svK~>0Fx2?(kro z-QhuDcX-fkcX&`(4-eKg)wDFGZT7Xb`&(PmvNGpn&Y7#FH@5`S+k(OLhK`n&tzKVC zqrb(M-VmtMT2E`K_qS=y-ujwgjaIjzhMrq0{o8z6M@zfEvBg)P*3{b42;V?4u^_at zsj0QDCg`iz*@{*Mn-+C6H2B)`Df&WfC;3$P+Wp&VYMXpANb{~+zBF^bO-NZ?$-Giu zkdi9dtnpJ+_RLIhRrqR}!f}*~;yL9qS1*#Uq`6s>Pf;_Ok35$7np@kp%2LVas8Q-R zd+Na48t}E%1Y6tEs5R1NL@SbiOG$HxfBnf(Q`dQ;RIjG8q+)4hhBuVnf@nFTk!qUi zI-2knWzF=qY}RaiHJg{lZ@N8LulZa2L4QpXUSFHH$=@F2Ac|BL4k{0a=-p$LuMSP5 zmoS4^r5k-AGovsN@U_%0@zvC$LUmf$IS{vJXChqN*?D$vU|`}F#5M$c3Zo77Ca_EnYf^{T4G94l(zwM#5dhEpxMSoT#6 zv)QFWW1HlL97VbWp-yam=>`E18E6={k%99tlznZR)u^UNn}$2p|4yKMaZK5<8RZ&1&iX4 zGlDrMTp~&kjc@j_Mj#GHTY!t?fZyvsClkVyAYr2DLVL*3`DP1vRJxG90`$WGHCRFWC9IsKA+a;3;J3% zYt7QD8J0zh)?C{jY(1^6T|13*Eh046l3P2qol4OL6M^z?Z>wpk4_h<-mY~)iYzwy5 zBR7A0Yh6~hS9hcROzw^*q>BuY3m%Aqp|PdITeoG4*3?w*-;5l+B~-VjrW!EmetLbZ zNi|tLI^binucVQsm!m;zXlkwDLN?WFWPYX9w|1b))DPx|3XzQ>l%Oo$b(O(v6rd61 z)1zi)<>3*<^forN*48w6H=}h(QCs^_Q5L$RrOOsezs$_q4u4a$$8-PT4TW5 z+R)JM3u+CaCur|BH2Z1Znzly3SA(9{=xwjr?2|4pnqN1KyuliJMbvgde~a?vq_Z?w z+p?KaD9AYEt(Syd-m(?m#bxCsT7U}KF2|tZd2tO{R9m$o6d>p;Yk^{FsHyWUZqXY2 zE%lUVy%uQSrnQg`ULotyQr1%M+oCCh9uo#K1GUXQh?d|6Uz^tCuWhSo+nU~nX@jp# zZ>>gepslse*WT`H*Hs&v{uosY>3upF`F^93AC1jw+*9YYeX0Huvti(vvB{E;mNg`} z-zc3?rD*26zeJf2j#(=Pry5A<4x2qnEgdcO$Vpbd{t_Y#a^2U?9#`+oq@ny)6Wkv$ zOf4*)rT)k<8|KmNnu?{-l3~-wHW`D7VxNeC!LcM^Gr%bCSiDeC4Gi{mkqml44Pq}M z1)aez1%o|g)1HPC?TU6 ziwH#>ZEZfNV0|Q-Ym%p|>3TBVlyM_x&<>n|fPr)7%&4i7U9+?@Qy*>C5=PqUa@3S5 zIa&d;AKG~>72Wy+W@bU(?26PoZ zkHfOTg3d={vr?Z6n2klu=1VlN7^e_nUR~Teri8dQiJ{R47o##;Z!Q%nXLXIAtY9MA zX;?#Q)2puc=qzJn#8NZra?v9>R^rpd3(As-Uso+Oz6iIL2gU7tZn;HE&&OOM8$Po1&>;SZ1*)VPcF~4HL6j$T(<2VvJE0 z6DyQ4hN@w3ry1)RWmSzLheemI>0o5BSIxvB1sd9#UZZ0=gHg}M8Z5L~I5WLSJB4jd zz}mg2&}uP3pOlBBov9Z_uz5%*MyeenAM0=yo{q_}9(PR6psJnAW?+h1GK0#F)X1{% z1{SCKMb+!ZR2(!ru^6MyMpeLCy)2K-p$(0p5b zb(p`mqtUTk)ac8ii8?Ly(gPN9vowTaN*-Q(#A=kkt+l0DH)drdyjK~C9uO&09cv8KgrhP*tm|!1z+uJbFa&>?l)R}V3oh7_Zmld{48$t^QsFbu(4SaelW*JuavNE$)oYoSmFm$oeX~UkQ zuU8l&m_2NwWG}1PB)}uiv;sR2j^iYvn65$+jFy5JL@> zSUNDbN!1R_&T7$G0+UW8{m5&2pF&ldO_f-bYs@nZQ!|-uo>=ms2?gfU;dO?$7Evr2DqeeCYD!kxQ*vb@2KH!kjxx)hd$^MN+)!rA%T}f`SZ5A4YSoz^hI)q0 z6v8%wnoGo*ftpkdn1Ny9AWuS&AaFJ!!khT9mEJI!h@5X&YHHw(wD@g#^;*W5uESKs zly0;+i4)@hMU65`F{Nmh0W!$0$C<~lGheg`j45L^;-btS6pM3ip|RKu6N@&eb-kOt zsHWZLX=~kxjc9K$6Egy=eZg8|uO+bFAX;pEVb0m?!_9#K2BR(4*=P%y`PONGLG@!x zkLL<{86CSiY+zg6K=Lqp%+RbMQcEIH*V+Lp(c=!_ElD_c9->U_k|5e#&| zr>(BGqX8DYx86rD1OL;;U=Xd}3Mc-T&Xy*B%O-f}RC+bH){{L?M0#|<{P%kCzjQY0 zPW%riCL%TU8I*1tBEO6cx0NDE6AM2Uv$WgnrDX9s$@4ZS4qB zlc?RnAf`sXpgxhQDy%3isq!u@saRf8?p?Wj>GBn;muqI<^0MVC*I4{kmn|<|vAWW` zta4S6Ls04RmG&VP-{Qgwq-OCfTTyB8DO_G$v7)Tl;=8)AvdrRDvaGVGqRdlOvRo^v z(rdcZ*Vf`|Qfx(@mEOW-#dC9v9%Wg1b4~7Si#x~S&b7Gbn%#wk6-7(TS)i!Pva?i~ zPzse_amk{UrOHuJQeIM6S>mnql$3-j8}h`_4wb-)0Nyu_Z0e(9ldNG~paa`527io> zt?g~CIP3x4nkQQW;xGeKn5s5^pvlKaWY}ThTGHAclyM+B!VWW6cCoLarlTp$XmV>R zPYwGel%GDVH~Zy)t%R$Pj*+OIsc(Dp99w@T=~>p&(ArKXUVU`Xu%;zQo)|#Zm3>-_ z2rV_}TT)ho!o*>}j&EX-%lFt)fo{QB0NO#dvE^l5NsBF3*(z>(i`>#0#wF31B1ALd zBi1a#y@a|$0Uyy!2JT3E+kx9*auAJsz_g=H5G)BBSO-it$|S*(YLsb$ zh0`o)Os2bqGul+a!m38Md9vWZ6fIBV$d8(sX|X0+iUTMeO9xknCLHvS19wOjMXEh> z48vB6oW$jugzrM5+R|l=QnB8s2f{LQEzGg$uE=OHtFOqY=6>a%6e6R=sKg>8MlL~F z+92vWR78V?d$9dv%Q1qzeu^w_XevzFBE~!hqt-07w^3{n9CoTLg2}4fB5P*SRt}3r z5zS|cZr&F z29-vJzeyTL<&GusC^|4Q?I>z6lG!Y=1}JqjWf+-sSeh8EJZHWEGB?T&vsR2u(pfP^ z@oR zkZ4oWOu6I8nR$aTDtK$G*!8 zTiK0+GsY-`*6X2)JE?U8gQHeA@I**yYo$!;*+KtBjpL*Mogzik=uzXunvp>{$5 zv0>8TPHfS0HVO%g2Dc^{MS)vc9WZ_sZIbH{b0@E z%!V}{e9JTEw$o3SXa`S^fS)%Nt->!I%T_G+=FJa3&o?}0W`_MU=Y^lMvJKB`wUVM$ z^1cPF$m3CI&d)QtD5Y>%W{$~)l*3_J873EUGK3W&FE}~35^SX`^_HwDDOy=oxCp-u zlODxumlrN8EAp0?EvhK2K=E|8%BsSu2v6RqDXu6(vB8KftSUOpqV{7dS1zhtTUk}I z%)1=1S0M*J-&EOA%fCUR<4dwxSJYDD;umMSogy95PEosRy4ga~p3M&3G?DL~%npjD z@6|<`T-hep0oLU+owyy0KqvN)3D~}ERZUZed5PY;tfsCFdwm!Lz#p^S zV~ArGEDjcrfj>rD#}FgZ$_dplnt@|TAuOY8O&c3ddke+DXp~d~G7rX(3DwQUhB1WM znJp-6SsqYw_%TBr#NvBoVdZ#u(wSNNgH?vPIv%&#E`6sGg6(~a5~r^ zPMlHGjAnNj5;U+yO)iS9VMr~Cm0{pAivg3CH*iI>EDUVn@oKawY#5yKF^*2N9brhs z*@7@IMcNLAQD&H4s&dg}ayWkY z72AsBNJe`h8|E{<@_~2-S%P>bY_B8eTC2Ta-^ zTkYj=IAH_pfXSLeN!ST2@Z2gB3plNs&C-Doym>9=8Krf(<{lQ6@btvnvdejF;Nnd z29&?_)3Y{5fW%pWGr2oWsc1VTKe{+&VcqPMQp$^KYUmW6zoo9JqdxSLFdCffMIrzL zjV9ggTJ2&_S&9CCkyfWh1#Zewj}Qjxu(qBle)Sj@4qQt6E@%ieANp2xix_tL_K5Y! zmPv?3TOzPZL6h~jGi2cEwJ>Udh<3F99cm;SAEqwP&Q`los;%@cg59Xlv2r@@tS-7R zt(=8fP_E1zZflND=0aA+Vo#CRx->+;*u(y}U65WsYu6}JXS}Irnp)I3By?8Xnph~n z{8~farpDDB{F`Is6=?w(rX>S~hjK7=!jP{q-_R(tf0^OnP;6^0LxnL9OvN8cL3w0m z>Tit(mp2%SoT0jeHyC0xmXl7kf*BSk-;ZDlG#?-`@!3u=EQhW_rHF;uzIf&m#KNO8 z4K>F-SFbAF$3E=7)F_D@vxWjv2Wcl-vI3tdgI~W$lI1B%%@&!$VYjY>~Pb`?@-g2 zf2~qW*Rt{XbZqVGrmD1U`#jy(mpAN($W=Ig|ZY-7KC-EJ)uK9Ouzq(Ig)5?KzD$Eh z%r%P^$F_(AXJs2LR5L?{s%H9jo3ZrB0~>J0Mu3m;%B*nB!&ZdB(69@RD0gVU8S@Ey z8p;_G5=ISWoK>(MBe7*3oAkyE7e!!_*`B55j_GxJudU-lH@Jd9UZ+sR!;$V}fS4@{ zx#w{}i3fRyO;h%@a%bkLUlL+8<0pQh3zX%L4#S=i5y^U#`)OfeV$O4;vGVxEVg!3c znsaplfTCh(-i8&&zypk5`XvMzTj>gKZ z&9$vf?a`{LMY3CyoG)201C1denx|SiU?_f3O!12lA0pKtO(;S0s++;u37KQIKUuS5 zwBHrC;|y(xQ;j06Vl|c5>l@zYFSAQZw}>zq41`RVZS=0CS+h+p)xfq0_X0hnuDM<= z0np7l8$;n(r_&(=BHz3kG; z3O!4!_)_h>B6g_rCvuIg#HI<1vO~&5UXasYVkjZF=5d<1Te+;g!iT%D+sJs5^K8`2 zvd*BNiwIae!KRjY^d?Y|uyhrwrv5{Wfzn^D4ZK7MOrdt0awZ0=$S~I;hP}Bc z5gc~A>|;dPql*$DrYsB_aQ1t3<_rw%F(q%>ii=#aGAC|gj@%ftXLi`Ti^4om%7)!J zQfg9q%EMu0=41_=10@<|FVCE2l>Iz2qgk3nDP^>MJ#&(35S#V5Jx`PjjpI97Qc*d{TbHlmusSl;2Mna0=@0bMrs35;F* z!A)H3QW)%X#U_o={381NBwEbqGZTG2VtE5t(+V4U7?6fvJDCTj?W&Jy=!QA4>S=d- zQYKxW6ir!#mV!*HJ|;mIS{O3=hCD5m3#S*JIfwjWu&M^b8!CgbU`PNagPgrv{0GwX zAt{YC$);fkL#`KwYmmd zB~b4lS+e6r&4&7siEn^>^saA;fUK%ksmf5kW~CO|BnWSN*iOuC`0UlH4WmJ&8m|>L zz6ZNKUEA=;mQ$Tq)ls=kR*6li9Qqq~nRfFftC-2M=&k3uKRTLLufF^hK5K((HT7Fr zX`cZcsykw}mabh5&2zC~Ttt^iDRUr-lD9C%uH(%SV^{Gu@fuf68JQl-JHZA6uU#j=z2X+iA_6sJ04c(`Ik6G ziDDd42GLH-ljaN|MT{#=rg(Ou$eux$MdpNc;bR^21}zlcM5H98=r@)Wn~1tx7*Ht~ z*<#TNMt-Wj;Uh7Ik~r0!3mOX6Yi>+ZuQ#?@!?#O^M4!~eb@;?st^TMsRI|eu%CsgY(rAYjs6y%5)m+z+)9I>u<+bjPYVt z;^yPB=0H=VujXrOQ>O^)y$zJUU+&k@HGFlOLN2<{yH0;!@^je4+Co>r2HO0aVGiT# ziZ%E|0N%3xwI;1rTFHpd_ps_i&;DcE^c}@aoV%3g>F^`TGJLiNmk;`pZkdV?ZxS6@ z_@!#dkH0)cCn2fV<`r2(wxU@*i#?k+>wA@!@BblAW)3cGq_cR7<;f4vX3gxOHMD5; zO@4fHlj^EJ)z-Ajr}mIvdrf_Pn^xR}o`K^cfeIhax8igMZaBp=fB6cw8Eq0bVUw7* zQ(%9oZR5};xzUTv?=k}uZn)P!U}*3v@q0XV{9QwXx854&xEVzoe07^VH8{R4+alz& zW7hff-*u`V5{G>v`SWn@l~cw?srfmQEi+U8JU+x~aN2NZ=zRJa8EjvN9g(c_7o+=g zs`yGm$Q8+n!vi=4PHo_)4RQSu9WOv$rY#)#f%0gFQ}ID_^BSqcMhf_1-lqYtc{$ZN z%@}uNkYeOEjI3O=yCIFAzOkLdBVDyhYroY32IKmxBhz3uRn$v~xa3g<*lne#FcJ{P zB@YxZhOHATm&0y@fi21=iIvMaF~k0b{dNeFGVnMjWZKJ!Tn^Do6!p>y1Bb&Fhm|98 z3xWzOGts}8Zu2G#!M4$(Y+E34^EkA=W%G!#hDO_!K+>v{n-?w&0oL@4ojxLx^G*Xb zkvdyyy9Q!puwVQzau`-UENd>{irhUgju9;2gq4t^%At2?=Cmpp8xCFEnzTv;lS!3C zghptPNDi~shzPf+iimKdf>7&O;pTusfthMjtXSJMv=SV$DrEned_yan zro=zY&WV)ul~P!t_>zvT$^zrKS-lQOe4emo4LGdOev%VGoFj8vR4mx(TBk%6I~wZXhF8 z9;HGK{r+v9y6cgk_0>$CmtDab@}c}FDtlzohjA9+q)VvNlGPCM(CrHoKON+Q4QgUn z?nrL>LXR|;O%V)Uk#R`Yt*k0H@Th8;ePv8T+mR-ysh9CW%_p6ays*@od^PR*+_uCM zYE8}H9T_RBtbKKBTfIC;R#K-Kosrx*Rjt^c#6A98q|KVy17_J~x>$tH+2DAvzWAd5 zYO%7Us0tU;RIT;k>h`LNvgM_k(QDC)6}Z-Yxyf&F`HI3St;CoL{i1NGZz~e7)hD3M z-Ug=V$221)TY}H?a6Iz%;=9*TtwJ2=mt~dQ7Tx4z&sk%|ZZTS8nzdc5`Ne8YT5}`Y z()=k>Q|$-1fZWnlVO?u4ovfKFeh1sq$}Tl?)Q^^0qYTD4wN%{Z)K3J5ow*vpL^9AM zj3Ww}AwSm>?YpK?o=Bc3^8KO zWFX5pvL?~(WG8+nt2rvajS+0+H<--2aE;nW49qbk9nIRd79*PNZRIt~rs%yos$FhP zSV;nl!R^ErJ!hkw7$CtY_PjOkkO5_H-8-^7*!qtA((=cT4j?xMD1GESz%+JA(UF#9 zPyLK>$RJ}+8v`kVCBi0(;IOlUBA6TuAKfC?ZA2~-m047Crnaz9hc(M!Q*D&;jH;!bV>oIx+bB^rv~!HuGBM~{C+%#?!oVL}1_Nql zQ}QNmJLP7}?WmQVxd%+!pk!?{vMFH$>ww8d)yAe&qv~Q4r&-cO>$lPMuqjbBx~*!* zmML1E#*rU2v1t0&lftpL zgsbHb4mT`mXp76rOO~xDF7Z~B6c&eFt1HT?O2W=UkEdjLu~tHBD9hw_=<-mmct848 zCaR2jZ#P!a$e`5nPJWQ{Vu}(fC9~@)-%!-BcPMAIt`+hKtydYdS6n7l72-6{P(r+B zZ|24?%R;MB`dVJ7%%ONuWPXSz7Tp+Pj*?)g4zVN{Vm7W&IpkuleE3!Xb6G50p$r^K zV_^?v9UFTn^{8bC4Q!-NOA&fkG{-RZjPN46;@4M!blX;6ZPMELm`^}oO4Qd7m(aGY zkA8}FVn-_-{KQjb6MaDw536e0^w{!IU&qtKWionDfX{BIkzjG_t4%Po^?h@hK#-Qk z+HpaEJoJGRFg|$)(AM^#uUTJ8ZNR|fTZSKTXQ<%0e?PPix(>s_x!1Vh}f5h}9MbDGv@MP=7(s~z2>RBjh#ym+2 zmB6U_A>2f>MoYy z0j3!x(!Gai4^wS1=gahTrY|$?^}?%ah=dw1@pON~OD+>Bc3}{d=Yv%wMf&0movJ?q&K0(-~Zkc}xp9ojptwDrLL^ zrqxV4nf5YGsFHl@{i=SE!TtfJ=P>POnz2&GD`wiw^j)T&RWf`h)7?zntEIn(X@F@T z)2=l#yqjq+(|)EoYh`#B)BQ{jFkQ5c!L`&$9`Q_m3Df7dWo@}!#GTbQomcx#!S#MH~Qlll6%|9Uw6HUE_T+S;G{xt!Gn zvYh=~-n1O)u0C1PKBfiA{}k!p#k8AgFHA8>B<*EdT_fEI^^)#skhG_O z-7F_mf9mIW8GaeA{3*gMm^N&bCF^0T`ePrvwM{ZSjcI3r zba%1)R;C$E(!Y{&1!y6Kf`M$efJW}IUo0vCZ<8A+nMfQdI{5;n0|}tex^?` z{Wa4+GVNz7&XWCYB-7DMlbN2&d=uGy54)$bdlu85v;PZBv)JF-j|-Y*JE?wG5R`7! z|1w&odk@pT0_pB!KGoj}3Z=ibKPkEPY5SGxzp?hOf(}`ZbC~uqZ5krq=lML&7jb*+ zWw(0IRqTHX(@jiIXL=#iT}&Th`ctL{n7+;Q2)2JFF;(_ZCcF2teCcNSW_>@M+#h=` z<@ROT&HmbE>7T$fjp^-7zr(ciG|Be?(}c^UJHWJ$X+oFu&tTfcw4Z79R}pSx<|PeO1|o?k_Il2wC_SmeHTf32h;3}rCW{j9!{r^ zX~I=9T=nY$c8BCCyE~b7t8k`iUzhQ#3nW!?$10yaSIh7{Ona`8ZqF``$F!SiKhv~p zIh<)f)3ocPe`uVsyPD}9rv1wQdgf=U>>On`q}?FHt@cBJ{cm9Ex>53Zn07JkWBM-B z>fMs>Vy15~Ens;NlDCT_-)C(fd)VH!+P?)i$@~VAN6Nkq*_Rxzi)jzjggr7nB~JqE z?qQm6vkdQI+Qak>rW|u!?J_)# zX#vw}rdB=K$^KU{O}j(JS9;pR?k=XcGR@d4`93Q>uJm<))4hRd@|`lDPNokt&AN;8 zXS$#10j3S#l;OQh3-(EOKhuJ{rTZMF{Y)o*OZqQl`WVxUZ%cm<(;lYEJ`Qxt@ZKCr zKXOTZqvp9itY;Ro+<%Sb{*w2>h(D)!Qy-_-#p(Ak^*kW+NxMhV45muXDmmBB{$0%9 z&s6DqCI33_~n2df>B@g13NPl2TB{i*ld^N{ra+jk{h|FERL zW?Jw)=~nu%>oMu>XIlNZbayeWE|BhSeXu@chIgCvIf- ztxUhibU)KqnI3zN)FWpz{VmhHbEW^+m|ny5X{IB-Cc`H%ox${2rlm|*G2O(po#|$# zcW^njvU?A^PiOZTOz&cPH`D!0A7lDcrhj7k7p5C|9{UEn-(mU*(;l8bCHza)$J+mT zxc@1+($DUMCuRRFU|P+zlj$C&JxqHQT_EErIo4Ak-RghU|Ek$v$+d!B$zh#0sD7g6 z4@xgt~_3j zqiMWuGlS`Drm8@RcKJ)dbI(_*G4Fje~$ud$rdhQ{d?PGjm}zGkLQdVU9o ztMPn0yRT$=4bwZB-pBM|rcW{LWBMni9*6#)!2KwLsj>sC{mp70s(#%4d-+~_nRdP- z-F*in)n1Y`jj5-P{a== zJXhl}R=Z-LeFHTvt2rNK=k%~!=`*E&w0C8BGMFm6r1~xCzmMsgOeelA{Z})sR`FCi z|B&I;Ogou6>8*(IxJbtT+{Qnbr;q7CdTt=Q$7x)DR(87fo@|d|rfOZeo8A3P-T#z) zPIi{n9{a5A8D+EFq857UGXqx4wZE|3>1V3;3ID}z*ZESu9?EnwQ#B9DVRsSJJ6NBWvU?R% zC6ASSUeEqMrmak$VfqKAZ!-OesrLd|o>rz8F};@Q4NSkw^ckjoOy6YsFQy|elO#iOG^SjgxfOk&;Hp(*oHK)c>9AR(ioIA47U2Ri@X?G%ZcKJxtYnLdnel`&;cI ztA0{?XCS$)g6Xg z!!*=Cua-Sp+1XBZPw!+|pK9*+8B?TN^}{}PYe!4}G^Tw_`1d#6cvAJaYD ze*NrDn=Zqh`su;e^F6BmTrQ>Wo%*Mf9#`^Wpnm^Z>3d}tTKlci`#q}P^89-|_p2_8 zo}0n`O5Z8{wvzo%VrtcIs=wE9_)ey(pWnysSoPp5Dn8S9nSR7{$i=eXywBrdAU)E{ z^$+lS-NW?cIWnE+vL($rR?^(#B>f)KKJFK)omD@Pqf65|IsCsxU-T`I_3K+GY42D1 zLVuNNyl9)`o3*ZgJB@eixKsL~pZncEXyFilqvNE$Q1j-!JpPioKWBU>`2tL>a$cLu zs>X>L4^Hy^ z^R`0*e+BG=85sc&&5}X9f3z9_|-fv25o|rrk^nN~Hhk zAQbNj=0BhNjYb=D__Ow(YK|8uli~L>?PC9Xn7+z1;RMMSVA{ttVX5@bVCq>c-JMJy zVCv!U0MqJH$+w5y-R$mR+Q)R*63MrKX*bh8ro9|LpX#C`7)S#nD#M$phAXkUoB~X!@HUGGgb0O z*}-Xbl3&@gfrYZXN=}C46xUOo`|9O*{Y=y9Wjb9<`Y>wz4*7PI{oD zw#i?YE-xk2IaQ$UsP(s`gA1|e=A<{))unIAo9msMGdoZ>8+ZG4Y?*-aU$t;GiR#cT0g!U^cg2A(^HvI4(Y+I0sZUH{uce0BVOF>SYPjJ@V4Xf6>o6P z2CXC5BtJV{($%j2Mg`AE0SzD@yfwA$c&d|rT0W@11$U%S zHn<=Nx47UMOFaep=@~fv>PkmE%f^l@wAlwgbO~MQYWVJ;UNI!{88@Nr8`a+x>fBb- zwl#f&uPLBDO^VvKq73Xswe#cR$|kgJn_h1XFTAd`rNQ3_E;L|AU68KUq!wjY(BJH9 z5BTcfqcRAh;e0{;b@5|3tk&>hRNU^1Um>x_2KtH@-0GuU`fEaC&+fo~Er!%BpKmlc z!@0<-?^SvD7GdSY52D&y{q?5LgQ+k%q|DK!pCu9Vwd5+g^0hGQDVRHj?lrqE)MlKq z`OZ|s)xR5XIVt_93k_ktixyt`#i@FbeibZT-YFSXm$#QDQc8q-G`_QrTS6P^sJZLp z#bKcvKaFm5+UAyEdRs7<-hi*UZp9aD8}TbIUFu|6q)=8m{n(4|(z1r>zYDY8vqkr9 zp(loaBLZ*+Ay-UH5vglM+8r)2DP2sSCXPxKQ}V^p|8$9C62*)pF>||^eTz%X z@rm?Qk+D!@mWr(3yENKoCqa#M9gT$cIAAK^I^2D(YhRrE;kf6AkYmrVCx^SA8@_9l z<~mF-jK}S%770^DVk$zl?+}P86j#xJ20pF0m|0EN>Dk5adY|Cyo;ps1uzzq&k_}bAquwlib=S zci@dUcYoYphPnHP{bjT`JcU}h%EGh0)JLa?si|UGqL`j3ju|gz z+~yK9)5WZ5V)jBYCsm~9iwrb$PLjyoF6N;uc|I{eUmW|5II%EE9G@r(l0;#mUWZ&! ze1%Ia22W{~Sh7u&m5LKk&3Mg~Yi!9Q-G7^Q-ZAbQkNN&Fnrm#hXHZ8- zMLg}m5O?2@do#tP^ToNlaZYrZtM`ll0!XUd-GiW=#^a6UCfdkzOS- zQblI6$VwL3vqVm^$i>UZ-zFBMh=o(d@l!=XiYQDKi&8~ViYT5cN>at*a#4!bUXmip za>WUFY2~G2*;R33`2{YqV!H6m5+@djis_iVfSvMmU<$$StL!HB|)i#i?l9jzqCJNu0J_ zY(?8{`@Ku-NEJKN#TnB?rz=&Q=~{^2srba%uBqZ2;9S>H;%lxVah~fGalR{2T;M7d z7XlZ#I>g1Unc@=HnQ@}ab&|N;HD6re`p_l5j#yW_^2Ig4E*Cn^b%=JoYn-?N^hVI# zpf`c;p}#2lQT7leo`?g5OX1e#dob zoOsyvoj9={{*RJ>kE>k#z;(Mz{D{0CN3c8yk}t-irPC6{q$DwUyO@I9k48&RPZ!5b)4TaXG0P`r=ZiU|A|3V3L}hYNmwBl2 zaZMs0{0p{ei(#))L5HHi?rTT=DAE1x(RYr~P=hNE zyD#kc_F*@Z;|e|G-myO#?|y##GZTpInX%s_$NjoPyI8op#Ph@5eZvn-6o;gU5vb(I z6p=Jl9KK$RZWd!EiLnrzDIz&pj9V{`Y!)e##P~!pAz4g>$XqKXZxctQh$&OW(Wzo; zikOxwrgw;As>F;^F>|_@HA~D!CnqVCC^8_JGSfxYG?Bef(R@*yFG|p0rHNw6I8l};P8cVa!o4hCEJqujh!ey%*cpX-GC0r3my#hLD# zM_oJKeb4xNk8)o;W#1I?(T;LwyfxC@dFc12xO=8NJw?pQ6}j8Q+!Qe{MdbZai1{hv z*c5SGidX z)LfI@k0!qqcD#`MG&%O`AqP^QoaXME_7DW`WcLTDx0B-v-Jx9}+Ee`W!ka3p7mAuxQJXL7(7KI@VndSfZx@@;Y)wAVoGDtyi`G&R!0TwA zFM|1^1C4qby5u$t>m6wGGa-h~A~AF}NvCrmn7#%fcOFT*3+TU#;JO$R>JmuCONph6 z1lU#J`#NG?4GDV<#oh(^b}a>8Pr)}Kcn^YaM(`~Z{0#)(>heOGCPJEy)4s#6a}>H^ z9&iG%8mI?O1$F`#0lNT_i}wPL0zU(u2VMnS+3xE`Tr$f2{-`U*x}P2U_E_?HLHfLQ z7&%@UiQvl)+pRmEN&ME~?u*8J6EY^-{oAC=$Z?(ScsjX%ocqEfuRW4N&d&N?mizZv zZ)B0<;@ltSx?j!xM=m)ooA=2)_sw~|dE|I~{_l=;e{}3Ok0Zz9`P~cLPb_$C0Xg1T z_~P;IcaOiSKywus$5$2$?`*erV~KlD$+e}1eu1G>m@5{cV^oRa6j3r&EM6~4o5hkz zx-dCOES)9Flf^QOvK6JmlPXS}E-KcG%4ShDNvup1tCGck|$Ff zH(uoDiv_5_@hIb>s*vbG?>+&QQTFUMDT0%<_1y7>qZU(uOn}xOmjbj8-~-x#Gk}W$ zSE_s8i0_PXzcc1)^siL+dn2zM<-Tv!4`I8fy5COtMH1B3v!luJVd8z{*snY87~4P1 z{ln?MpH3lf9dXq-_qWD zE{EIPDfRnNgv+ zhH|xFx_oztyJyJV!^Fs3ap+VrYP~qDStLvniHW+ok|IVYi!mu;ENqrUF)mdc*(g%R zi}BmUgcLCm#ZFBZY18y+Prf(`#ikiVk~n6&n292g)lw?vpum}_A}e2HZx^|VV(vIG z57VCcAH!@(5(}He@n9`T)QuBUDdXMR9CyZ_UG9F@zlFQg{gm6?>po|g7=qX%){Bvi z;?PNARH8U6Ssb1yMo$xCr;CZliqzR6ZM>K?RZK>aFh|@jrXnkvAU26v$ck+6ar*La z#DJM=959%KzU9Is^fj84JT}qYJMs2ZcX#T?sbc(kF`-dRoFq~cMcP_13A2=BF>Sq= z-YAZlBxWRvnaLvkSdmd6GG~jdZ6bTB$ibV)oi65Lc+JZdc^D>Z#c_!uf0|gZNi19` zj$bGWri;QVu_!|nO&7)J2PtAnsxD{7i=|UVdA{BsO2rD8>C_pvi24XRn|6Lkwk{dD0=6b+aWZ73CfyosjqqIs%lN!3NncF~q3+Dk)3imPq;LK_O%C~LJf97a z-Z=}n2G|cg2G9}Ne*;q>Hf91-vatWpbyZ7Xxc;|A6N%$0j>h>10Drl0^R^d!QP($ z%m<19FW?8x0KNe{3j79m1NbNK5s-v6m5 z9q<8gB>H$3Fb`M+EC*HtrvMv(HsBoK3SbX#7jQ37jJACkbUfbcN~BYoiuQy1Nnp}; zv>WJ)z{|j!0Ig>w0TY1nKpHR$$OhISc=kCMPutKh;4Y;w^hN4g^tTLdT866zrT1$c zgETft^;QFC15MyN3-okQ8i(HirE&NyD2>B^fYLaec&Mfo0v>?IVF2`UfX3kipfnC& z16AYD1!MCFfW~14D2>BP(9-}Khu4Ab2WT9=1nN2rZahy0Edpp9)`Ol4&^Y`C=nnxJ zhcAJC1dL0N<8U76a-ab?6QFT;BPfl__o`286mSw?b@WG%_&kyvk? z1&|#1Uz8!$RCnM~;CA3C;B`P8i7^Xg0gHfI;4I));4$D`U`&dXBTJ9gwBzu+8%PH- zfq6gyPzF>0Yk@rUO&aGXE z;QIi{o)1A&CSxiIoDS>*eh-W|3jGgg0ImS`1Fr*zPeI=Xe845Z1Hb`5!x%gYP;!oB zdl}pn!0EsrmZKj-FBs+A7hxwIY#WK>S{LfS7x)E0wh`G(@8LOPD%uBV2CO#H+3@=o z@H{|vRzE1&Oo!loll?<7Z~r1qI}C1;RpUUX0VD?pV^3vJdXQ7XX(7*8w*JcLLqOL%^fJ-bc2D6*3}k$ybJBK^hB zlw)%o=yZU_sMUs`v1GI($c8@)eq_g!9YMA{*%4&VlN~`eJ~3*ITXzsXbwelhuh%)E#P6`SHQ4Ym@@)F;4a`r;9X$SY)xAM zbOJrV9|183$2WjAz(v6Kfqoz@9kLxb1GpP_0T`a4X*obOa3OF%Z~z#d37rB|0Na3X z06z!*4P<1&z5sr{9Cjb*CBTmXEgP~CXa#Ns9tHjmq~+k90oMSJ00#h(3tJp$0lon| z4~#@-C;(0cZUKG?xaUFV0X4v-!1sXHfU$Y#Pk;}gdx#$a-UKGhN11`s0n!IIf|6~$ z3v@s54DcdwDvEmz@EAZgD$T=;>tkwdjMl|yo~G8qXdO(gfvNQ`wf3dfz0{hQTJJKh zby?TBXnpHot!%LJ9(WS?0GOQ* zKHy5=e&9J^BnEgP&;i^9ya*h&5OxL73fu%d3w#93I38mfI1Bg|@B-i}z<38LfE~c? zzz+agANnciJHU`aIX}@rQ-HC+!O;1$kWU^^40wQ(fDJ$p*a=(=TnFq09t3_2`~v6$ z-T*!Z4qt@&0r|jUzzduToC915tf@f12PK>N5zrrEeEkIUU0`z2;O+Xs&Ko|@c>vj} zD^Z7MDxtGM+ktNY&jCY=vGxKq0;dDF0nY*-0eK~mH9$LX1<(Wh9hk5fHUO{%xD9v~ z_!n?gDf%lA1a1I+2)qW2S^|3$SP5(ft^*zg{s6oW99o9=0tA5Fz_Y+dK*9+q15g88 z0z3h{3b>YPS}ITuYy<89ehp~lm~R0qft|n|KriqfFku<`GSCQI4BQL+9C!;Djdz^~ ztOHtsYk?mCbeFbq{`4~3WYhG64#p1p0Q~;~hOR)JfMj4YkP8$8Yk?YI6R;ULAJ_%l z4tyK92Y48G4EQbZCt$os)8+tcfDOQPz#YH~!0SNriD(O8HLwBL4cra94A5`BlF{F5 z&>yCP9!t-_+|y77&~tz*fg6GE0*?Z}0A2!K1>OMO20jGtI|Xt9=_CO&fKq_&5N`*r z2A&4KENk=!(*~sV`R7pgPXL;OPOXC72LynjkVkY+`Zs`wfL{SL&-@!`{7N}Tr8(zB zJm&(d0h+U(21;|*Ye4S?eg^y%pt-Dj6=X6n3n&Cu0&M`T)?JIu-c{X!jIPc zl2>CK0(9s4Cg5_Q2j~aV)?ghCI2)jO@%^B`CpVt|4w}3cG7{JTYz1}$Wbb|#)VR*) zN8dHB3vL~behr>yf#-m^>*N|C%{d2SC%=TaG#`Hx^xwcpr1R!{v&vjGXdJWQFHSzdR|WUw+Yoj|DHuIJN&lGK=KL8u*jEAlWe(8Af{|By)^%M$PZ_{ZWJ|S<^W* zEN4zZek5m_KsN(QuAGPGy8*IkNwzEizLGCr+*t-?OH!Yw^>}4R4ra}i*4|=SH>LGC z>)Po+>vd$Ol8tINXCk}RI9K|z+3jRge_7-=?b*}bIIT6&{y42Q(H=SNKhwU?nS^B-~wPj@GIbB;BYV2MF1ag zGjKQX2jDdztr}-ufM(!M-~r$rz*Peq7^ng+1g-*}1nBG#txJ(E{1x2BdGVj%KCBip z8z9}N=BPC1qq$oH{Ao@^b0eDH(A=2j&c^*Tcz+>hj}E5(RBPKbFCiVN<|%4ELUR++ zr8F0zIf+$&(%eGn&~wnHbe2HP9cb=B^9RzY-3X(-w(o-e7#NHmeH#1+0OP#l4{&GU z{g57g4bOC5=>X;jZ{nHu?EVExcD~x{BHc}T*zUX%+4-c0uQJ&B@pV!Mj|QdlX$uga z`r5%*AG4F!YFv}dCf)y)-v8qCzFJ?j?#Ckg4;GwEC=$x@P+bWT&Bk3bHlK%S5+!gNBH zIW!-D+6m1O)Ojc+w@AJj&qYmUxuoRLLb#UzCju7(U&)4pw+Cdm=5R3AdUwDvGQ;u^TJ4VBGEwjr%mlWZf~@ecIEn*ghgsO&?s z10R8oBiXhW^g7@|;0fS)fb94C5dTFy)7tN&cqW^XY`Vws{CnUzq(NuW2V*~;f%N`{ zxMUZ81ZrFlCi!Z$3u!Gl2wN{6a+&^y*PGXUC&Nwaz7s$f0ct(wE1T?#v&mNAJq%Xf z9F_L@toIJIUa+kN>xw9E2e23D1Co50%K%$|%Yg3zuK~#okfFd9;A-GIz-z#fjTkS$ z4qzYfA~1Xd^Z`%@bO8?oe*#ANu}=b20~Z2!13w4e2huj8F9TbFyMSKcH6U|~oL~O~ z&$QOpDVVqF*73V*dW z^uMU<)q0T9^|b%}HMGgyz%#&~fkRrOuNTcmxZRr3BKWTZjB7_Na9;lryT0;YG3Gf zJU;<^HTU~s=YGaH#((RckXnZttSvRzx#8zA*Bi+0`ZDj+8294n+}6_=&;JBy?Rh8; zilhTRfOM7@v<)}|*bDRmq{Gy?H(HCMH99(b_rJEEL3-+Aw8!K&shgDkqB$z*G__Wz zelJuAzSV%!oV5{Qq>HWqHR>GF6||3`_8j&iob-cH=F?i=L-7A8@HFsS;AMdJB?hCT zXueE(#yD@KHAK=~uOmG>y`uIsPIrg($=|_i)F-rm7T+#yt~sD&bA6>lzE~YHSh@Ro z&0*EvHtp>;qHmBLeiJC!;ZK2*9e!9)+TqJV$qxS-=nsH8*xf@rq#eE(^c}d*10_5B zNl>!G#b#-TZw1W<#(WKDa6zj8vT;^`lB{b7{W9$9UOGVh4vTj1|9~U0DcKf-HJIbuo>6^kgato=*m~tC^Zzf~T}J9o53+0N&Jg-t!vEqteKy`%B|yJbqTe;OFAC!LM^=(kPgW-A5Pk@9oGl?gCXurrB1&XV`orGe%FCj!j?%~43!(mdrtxanN{K2SOr|1>Dw!SD_!-M=sj zjW7vV3N!;(0NubZfVY99bFeN4kbF-ET?CXN{z}jX9;O-(I^8~A)M9@PXVQ~g(UBa0g`9*+ebRwsXgod! z`aJL^@Ch*TeCTvwJV5uWP66F{4Sw?rS_Yf}JPiCDn05hVFwgOM0UyN}FoDS>*o(G0rg0Td6fs25LfCE7MrI2X=$;x%0BquKf zB{}(B&^LjxmtiaeivS;R9!~Zvi8^aQ_Fe1^6cLGI03inBxFzfUg1H z0saXbc?EvY2%HRD2K*3s7npV>-YsxG@F4ICkaQK^Ij{-12KWK+S76N7;SbaU7XbGF zzXOKhedGd-z@@-m;7Q;oz%PM60q+3ucn60AlYuNCA6Nm9-Mbbv0PFxR25thr4D$Z- zSlhLm*FT8*J`RwrOKZGpUjH2Y-UQ-yVSEB~t}+AkcWBQ7&=Y|U;1=L9z-lAE1HWO{ z;*1PX1)L4s3%o+lNK4&;NBU#*b!J^L5pL2Iq(gGh-=@Gl3&;YdV(csgT>_j4oCItD zP6N&ZX#JP&(YqeccLLpjItLLqQ|g_;?s<{Evi^RS^cAfwlg>(Wh3&oXBR|qvKLe$^ zr2kW!nsnd)hkK<_4W~bhaC~p(txv4sXjLsvJ5=*z%aB>jaD+~iwEW)^NBHj;{V_=^ zxA-5&{^wZym$84f#ox>RH(31J*ngkJA8%VPXD62vJzD=OLGhy1tIJZa8#$dG_D_?^ zXb*t8v=l8lE>8DJX8-3vseLj^rN?ykSM`0wQqGU{@FcC*;;-uUip4)cZ{8&BeT)B5 z>_6-|bNkPQlgiV_<;Td-|GX%6w07uc{-c@SgLJ6A9wjz6zkvNQy7WKQZgeFX z{f(1EYf$M7k?p4VgIvx6=1*h(iviQ68 zVkBt=7XKsIe}lz;2K(=|_%C4phb;ac_*45=bG^oJz3AHhXzkz0{Azru_UyK_&qkzA z?`5y0eY!YbZL`eqP|o)uo&QL!o92%AQ~lu?-I=6)WGR0i`>*+(-hiA6R5<&mJ#Y3O zf_hQ=Z?N!>WB)A{|5@yRvBm#*_P@d6U%~!+E&e|Czu)4&h5dhQ@xO@ue`WE%iTz)( z_}|C=?^^sHXMgt#=5}}i{`B5^`F*K&J{jXC+I#P_yx;eb4!z$V%ll16I+T7_w|pfY zeltoAkG7OY$)70}e-NB{#P*n`xbwy4ZW8HZih6k z+-=~e_xPISJw6G4;?MY#WK?qOE#=SYC^>Kl+LOlDFe&Ibbu3x3|BDv?4EBG+;$Ou6 zA6fiY!=K7i&H1W+`)l||>$d?*eVf2f^_@Oc${8iMFXQyPKQ!0(e)vOdiD=k{O@9a5BsOd>S=0x{n(PP zZ1yCr&*HE8bHBx3^-t{&=5|p1Gr{7o`r#hSd-)rea|@SKy_ck+^1b&@lj*B|sQN?C z|F!ll;E`2Tx~Ea(F+2jk5Rpy`NDpGH%A-3`gmkBq?%1!QlWv-aQ>j!c>7pxDWmP5J z4L%~nICw`OJX9P}BBFxICFfDLW9RcsX8ujCYtEh358N64$K|pXoxohq9uTy*P zb53ae=6uj6=dZQbUVH7e)?WKjr#wBskUcDV^>!0~*5|BO?Q>B)IJhm|IHq*{rEW#zhC*U z6T?w^{ZfNX@b5D8G;X3FmHxs6`W)z&J^H@_en0TF(mjF7`8BT} z`Dcerzj*jp2#?c)>hocb{u|&k{Bu`74+0A=ZIrOo`y&Na^P2c_*%l_ z!_{+Ij_BU6aHG_zx0FyGJf-C3_M?Js#)t1GoaNsO`_%FDHqf_zNeEAXIu;FoiW{F7T>I-$;PcQk zJ(}w%G9+W?@H^GRdf@Xn3Z3HPz-RAs@ma!+e<3jJmyd(5fSzBI%-8vH3myXf;VXphYXCD4C3H%qpd#41r75MQ~5!?T=XaB1SXL&OB3Sk=borH6}r=h*t zF9V=o`lJx*y3irzvsL7zM{|7$`22psmHs}$S#JyfDs*Zm$B+WK-sjL>)#qyZgY|!h zCr_GimcJz@{MD~VfVX0vvJLX^&!lm^t>~{aq*(BI!r7iP81GV`|7Syw2kZ6__|MJ? zsPQUzDf5qBFHgWzgtPpui07)eA>cDb5%5Z|yefgu2MkX7{IU=Znsp62&JR3Q5j+Pz zd~C|-0sa13;C~>T<*8mS^+HWS`em&DR|nT%{@V)rUc!z3cL|{JIS+j1M#0yB{)2?K z5TD>^1RmfY0sR8}A{?iHFExblV$lDDaF)L}D{}4u&SwQ#p1G$4NCQ8GaHgNfdZX%j z1L15}_rczXt+_5X_^X3fFP|JYd_ZK~W(enc=bsQz)DJ`^{+asSv? z#M{qn2xtB&*ty!<0O7{3F^;rCri%?9iZh5~rvks)(Br|n-3vacXGKo+qX!6Qzc>Yc zLE*(*4;lUz1N`}90)7-N7_poWLr&#?8sXfog`0!{S%$efK>y5th&-*p`w5TpuN?TK zMulGc_j=&7_X>k7_}pvwpBUVOe%H8qe**tU4E?KvhgXT+sysgf|M@;)to0s84dnLj zh5Xl`-d4i7y~}qCuwKLs_5iQmA-LMlJAf}Detrym?g8F%y#Q(tKLj4Ye^pn%0p2<$ z73w&66a{3KXBKv)c_aO*vBBqWaQW{AzKja#(Oie<54MxFXs_DIdkJU1YeAg93-sRv zpI*eb^MF4E`pkgHspG<_WWX$E@LM6&_^=gt3XXL<_`HvBu6OnU0nPwE5BhoV(Rv>N zUWNU<3G}}LKJpO()P9a7Lp6GXA`#|-F5rvE52-ok;^T@;U!9j{#rY={*-qAae(`?L zw{8^rv*i|if^crv$lC;X2k>u$ez8^bb{g;>gMJBdk~Cyb)CgEIffcykz8f*dm%#hG&ewYWo^pxQAXs!d`v-B2`^LM~M1^ViL2%!D=DDc)# z3w|!>pH>|0T?72g*NFT}=L`Qd@E+jv7Yab`V6HL3*=|P=_tb6=g1!aqQvM$WzIdOM zp8}t+0`J`=z@@++0=^8t(>(K+N)P@gf&Tc@MgHDr1km_!0pW4_&x3vu^NZEs!#`Ka zdDJT~AJ_ctTF}p4EQC;Z@I~M$Q6vD%xeWW)de0%; z_%HlR^?8}0M`7z$2mQir0wTNyHzd%1C;|Tr_>2_99)?lJ*9qr-pZ~4kDd68Gob#N6 z$a9Vc{(}Vm%iuqo5kl?vSGG!ftMK3Rz-K-1*>Ae^mjPc!KVAv?cPjm}0%+X$9O10z z`7I*Mo)G=5bQs8N#_=7NKArFIKM+d<5-UE9Aid;T*57 zf!@@QE(ZM~))~~E-$S^u+ed_f#-D3}FZ0GUU0UzG;4`;RaIN=Y&<8&iKC+KaukCrQ z$k~edh{oZagmb;Ud|-esm1hk267nv!&rgF-3U;FP{%_zj2vjQPaWtTqc>Y%5KOtfT zXA{o#wxGRQ?=a|>(eIO>KL9+nTLA6%4+EcvA1R-ICY<|sz1P3rC0u0#YjayNIQiq} z1%0oG8@%#N>Bl9E*V>P-Cp?bNCPRN>uJ=^VhHs& zpr0)Yp!2V<0iVPCQT6|?h7aXYo}WGi`s$!G=wsl2+F2q`W{&{B2fhh-?*;)doCKEw z=bw7vOZ9&x@R?o%2VHUtZUjCHKUKf}BJk8rLa2K9DdB7nvwtDD_T$l%;4$7hE%^B_ zlKa_&vp#1ruB8PI-U535nIpcAMnCQWeG3d<^SXC|er{ao|3PlS-JoBB-L3)teM652 z>-O)2v%hcg<^|7!Pjya+H>1o;&ldTYk#AfI{CwcElOnjzgZ2Yo>J$7l&|gJ(oE^?7 zeXkH+4EiqtU-*asS>Qi5d}uxS#{wwN)5*YC&n@UL3ghP5ygmq8X&rtRb_>}21S|K~ z0_Ia1H;TlE@zj|j|2zuZ4gS4%3-Br6KO>y=`LMSR^El{dKP`ml&frxP*i~k*Ft>9F zH+FKHpycM}+CunAw61=OC;x8HSG{$ZzXrYxdsF-TGT}TvR=s}zpP+9=gIlz2LKi`StCX0P-{{ptIO{X@qa#+xdb<{Q=A(jZT>1*|)F%Y*kz4Q}@YzcQ zQ2jhdIJb8R>#_HP{n=(C!FoM+grzYQ2E>-e6+nUqD0#0AMr$G*ho0* zc^Q6mD})+1^mwpt2SFbokJ9*dtMd7+5Z{P0_bc8ffR2NYCGbBoCGsqyz1zU&bj4Ax z#`6xsc|OwS%}4qPXMcIvv#Xupvvh|rR(pOo@OkJ#`|)nz%cxiN|9!)s)~~!c_9)@3 z=Mm(G)E(wJF%A2*p0giIU!B*fIFU~iBSFacPNih2u z;oL9JcQ zw=0ABqvluBg!6c}xC$MD%C7?b(oF)WJ@C)%sth1Cw+9GkKRw!8=lo#;{jUi({s;w! z{naUWFd*DD{=A-WV?VDId)OnlAP@SH`-FZCgt`HEE7tLp&sPa=1&w`s2=pn8Q)Eu& z`Ze&(MtRmaaAZP%y^3(tt`7^n%F_#c){D>6z^m{V?Z;aTE&olma_$UI1LBp8UP+VDbJKvnd<=Xd5otY1O7R}IWGP5I;r=v z?;@PXsiVF4$v^XK;!L;DzYX<%2Ygx)4>g`Y2R!(c5Ncd%r}Dfn?SiuZdcNdw?%Nz;{5-hrxdY{dFnuphx&$gSd_AgO?H>=f7=) zvz&{2g@Lx~V#DXe;2iYt@!)?s=zIATnCD2zB@V_)T#s4kB;A+%+GvTfH z+rE8*aIUxIryV9Jm_xsr0WWoa=4Hev0btLf{LZ6b9-S|Hbfmbui=U=Vs7nApa?-_v?hS zeij}OK*!~0K)?Js!MB0_nDb#*vjS+nZvsA#@#tyLj{skUKO*b~*8s1U#7=$>`mYjh z=FwhW_ifPgS04FNJ^UK@><;0harMLtM9z`hgkIx72k?bC!BrmqDfYPdGX?q<1gh0i zEOOP;?!2>M0%9fc8d{a@g% z6T<%|z)#yCd|ECP9O?*q2p;Jt{Jl7{41E3;A?yYHahrty4DfS-zXtdS z@|jlw-vK;Rk&e>1@t45o?hrx>v*!8&;l^$eXeVDQ_zyteg7wl%LH{)2?7yd=-_?GO z=@&Uips+IRgyY}IN6=!28VLCG5k1%2@;V{B3;0#QXE8thd*F8%91qs*?+NGp@C)9! z@IMIWeoVm-w7pLl`d0*xVVzCII&whhTh@p?s?QYgIV#7O`rUTIwXfw9`F8^J8RWwn z|KAI|3VGCz?ghRK15y5u5YGO!)|;38nsC-z^#YOe7qHt6-6Fd$2e*`|iTL8Fg@F?M07Nq9(sx4A)FXkhs;lno)&T{(a9yfu07W=}eCb$&z zGhY-2H^Y8D0Qyu>aOMA5&@aG#P5}KcfzMThe(uF`KXy>$T)a`9yW|#}34G=W0oDQ^ z2HyKQ0d5C=J>lH0UQ7u74fTEo^eq^FUkCbc0k2~HLH*@7h7X9W+l${CZ&$|?&VHAI z-72562vQB=uAIXLhtSroKsdLTf8LZY zf^d#w|L0mUD2*-e1fP+Og8vHge+_&_Fz#Of{1L;4@+;&^*8qPU^h-Mh(Ed7lyU5>i znczPH{kgywVOMGoy9rm>Kx%G9&}Xn8p)|JvpM#tvhPnPOfzM(B{tNI~=#}!XmRoS- z4w1i#{P{fK?S!*Fw_;pS`8O;5twN}I$fV-%7nT23;F(*5UiX_?tnWxkrE!@cqCS_X(im#kIg&kk@H@?*ZQW zVWCHN2LFq2_Q#Yrj{gMs9OP+1y}u-!?RjZlfHd$`BrvyY=2HUP2>cwvnSX#hpB~Ni z7SOk%ztsMB0G|i0`p*&0{dfZU@dWUx6VB@uXJTFGSm5tb{vQzF48-S;15d&4)K0z* zyo&x>2K~c?s|;XmZciGV;?E&LcfDNhr(YPapAN!VKdD)vyG(AuPQ{-RK<#G+_z2zk zQk>6k#mVyxgA;!wO7DmKN9+=LMzEhn;mcgDgqwKo?ZdW#ehzV1^Pe%oSgGneAUi_Y&L)JV0NNZ8O@cl)45uF?qoqPRf^AH*edyal^K3wmvnQ9n4PVisiO^wHhy5TRO;IvaP)*o9(L=a*aY?X6Ml0 z-d$7Wa-o*36()-HM(q%jbfjWQiseS3HlE8DrX!-HqXKtC1@7qb1+JOOMdVAibyjnY zeJnsX|1ng&qQDP5^(!*;xT#o6XjZ$Cxzm+-pjavl9jZ49lkINXx{~QuYG5kb=8h;7 z?aB1I2vujaU}r=#`wFFMp{APYXjiERGquX)g?wYGn|nu31nP{ct}9w_U6g8Fw8r&Os-9?#=~PTVq@!9-r`JcMO?Qx& zxL!3Xs@A?}?+&$mQL$Wz@gK{@EDEa+e698PRURP5mT&m<>1YgzYYMR?XHJLW_LXww ziN4BYm3+hV_|U%kTp~;8*m&0#7nh>i?~Vq8o~R9^Q;~?454GM5TSmfd#qxf?5zVk= zlUPmg^+=J!?dsAP>f5~Mk{#)ezU@PM`cz@<>CJ_PKJ*_fTcOae|L3= zyt7y-lkWc$Sp3OyP}C$DIdJ~zf;c?vQNdP=8(o{m=FnJuKqhH<5L3l;rR6~uh0Dbn zrA&8k%;onN%413LI5ajV*8=j{QgJlTj$$mKk*iG<8s<;mcv3;Gy1!AWlwdNKtlyB? zI!w>g{XO+8J`2K{K((#Cor3S64yC(f*ew?7LB29MnJbT#$n`->ou5vV#W74uDoppM zJL*{r;I4fE3Sa8>P7HhU34*wMion6uL>$`$+ z3O02!5KF6|?wtbzL;b_q;SC$N^=E_Zri*uM*iK856l7TU*?g{4%2K*9Su9hgLh$At zyR-dUvIDy|Z12x**|dw~8s3vm4TkO+Y`UneRv2%~W+x~uqp`DIDd$SX#-Z#qMHOpa@-)y6=y?@u%p=`i8 zSER7Zzk85clB0U7RZ~&A(;c2oOZi4$|2rJGQ2KxKXH#UvDOvxdX>BZve1C3;rArywvck18ev{fF48nt41!i}a>)9_%r%gcG7 zZRjxD(C+gzxHaG3LGi%uTB#$Q+EA_1C&Rg7sXrg=$&S|wY-0I?x$G$UW0|b4k>A(b zw|DP`jf2^ATSriD2|g~^-Y4tN}1_Ns}${6n?AA)FEpS2 zE>o2)o!Vx!A8dhDy~9J@g9tcAAqgFl+=ryubRRi(bG+KIb*PbE$J3Z1dCnCyyq0KA zFzED8Cz)CSQacJrr!u)(ZnCd3Rc@?gW|@4lU5!)SrZKk4r~vsI`^fO1(`2{59VtU^ z8BPj8TNzof>Is zvZEkPV54YeDNx{!v?uLhnb=Slf<$_-sf?glpQz=k`@(^(y^WS3qWuyZvw#3wWnRhc1wvM^aMG>2tKZ|8*Rb;fP2 zVcLz(WV^_ux+OCqPfu;B)HP2LbF!mi=S8{V%EOzVxP?J_lp}~{SM`WF6kWI4wbhJ- zu5TvBN=XWNB%r(|!n*0wp67;v-}sYcN5qOpBZ*1Pyr05G{h~^3Z0OMBXob@zCh$x# zG|`v=uhaBIbHp>_`B2Qz7?=sbs7&VMAxl#*R@{!mgStEAKP=y()C}@HY*M8G+VOP}*KB4{h4Ihvqi4 zz+lpl;XR}Uvoez#El$&dmYG1+>)FPkYJpay$1D9-MoPS?x(=xh^JT^;uOi`C#YlrE zrgF8hY;LqtYuLrd^QB6?;I)(@zh?)g3GP^o9Gz-+Vxmm;sCx&?`O*}(s&03%YyF)4 zSUQZx4#ylUlV)q6wAn;^leb$7-xLIMrSjCI)2PaU@)$2SC(f|){+!CF)n4*2I*1*t zqeGmRemKn#zmd_1dbMfTHkGFt-^&2$ZH^?Awpa0PWv$H*^?_xnYbxN z=0zsk6#c%@)H~i(oRTZd#@$S@XT#W-EK~G{p??K?w6l!RzPh=iS%YD_?M|T)0#0RS z9|<~i<{UapcY-$MZlN1<@5bhLcAj8}#E}QP`|SCzEndDq4Crw~5oL>%n2uEr)OmeW zhdZ??G??;;=AxI;p4Ay%FUn}x-j~@OX6s>dNs-=S-yv?qKxTScYj#vpbk|U<6)p(o z&J`&0tYf;^e~@PDbxI?6O-Kgw!|nCtRe~MOxrH{#b>z^(nmyUfM!bnl*aEw=YwxMVb$gJPyFcaTstIm}(SK`%7;r)4L zoN1(2Fb(n+h{JOWD?lfAbJ4FeHqKc7LPp%&6^`vMnr_i_nO1_s`LeCAbUS(1Mp^|A zLm~_3s@oeP!U!PU$4i^L%d`VFmZf^8DCOfd?2a~T6<62sWG%w1iza%aaE(_9%g!s$ z!zqe8Q8P@)25CgKY|coK7$2OOez@V%lp2efX{OsfyiMeGOwkFp5t(A=HGkU5b<&_1 zS>b?Br#tDqLYCwn$nhS`5z(gSd$C=TxUb+? znbQ@%hdXQUUV>&eQYE96EM=flo6KQWo#-6RL^5GcM+Vjm)=A#uERRtpNtUlkgjs*( zQKnI&GcGWx<^om+MG9wZrCi0`#~`4eit&);Y#d`wMQhCmi~e$jStM$XHj(bKqC@D_ zW@wzq?xWRA+UMcjF$!?84R%7*3bPCfE50F^EgUm9UCB57g4SActU#PMt{{g=DrF5e zwsjA!umK($f*EO`SGF2MeRmkgR1W6(Jkjs`-61Fx>*ACFyR<$_h4SU9( z{S=I2b~D*+P7u9Xym9w%MmQ(?YUc577AQ(IJ9gEnS|K}KtTm=`C3~%cyU)sm3vbua z%P|2Chh}BU?3lW98ZT^7#>I;iV}-+=SGv2f8k^G5yfocO6Sm!yQfVS@3vRsI4Jhe# zkfdpcZX~kH$2L1U`FH$3bYof>(s^KVlxfZYOdAVyG-kT$8IjW$9E7(O$`kuc%+HS1 zD-_J=MX z$MB3id56|rT14=n2?LJInHqfO{gYhA3DJk003-~?e&&_DoRgqn*UCJjUZGMqzDZUY z4MN%t36&R}&ZXGu%qMyVXu5_yVcI<4eIYs^6oz2z9AedoCFnA{Ax4%k1539XNi&p! z@rj$bKxz33b5D>pV$2a;*)fK5A8#V*POh4PL_OQzH@De2u~$+PEJ)Z?ae18yX`C_) z?xbzBF*=7bRWFPMi)SWwsV4gYgQT)QKNU)TrEqLCrWm6Lei@Wm=t1m;-^luUTuD1NNab9cEKAGL%BA zw2Wk}(5R}hZlk;8dE{y0E3v~^gnvRVYcz>@de}{&Nog_^D$QLGQJyqhIQui~!H%O- zMl9bQXr6rPFJ|-{NNfYx>+OMoSVl9~?!HR(kV&jKZ-&G8G5k-N`?~hI;?&bI4$>U0 zP{^i7Y_lv6*3RXX43j9so6L-ITikgb=_jiW*Xx=t8up|*oJ$xr4$Ke6Y2{u{U79HD z_O{x6Limg_^|~)sAH`;_9vxiL?X-J|z&^OinMOxP3D==R4akacmU4+~|Bg*r=^8tJ zIFZ-%NuJkUvtz}2m9{O1Yq@fr&REeV<8C_QX6-Yw)my$QYltMUw}u$oY->z&M~xNF zLLSyxav9<57FsqJswJGgMMhhH@+E^2Z`g2dMqeH=XOCmDGuLNe-G1wg5se?tLMf}r z6L-bqt6riM8N3twK{kENtdLF;nj?&1untd$*r$N)m>KRE#j}sBTf`W7XVb{}s6y1t zolvS?c(^kOJ^1N%L?qYI9L21P(?m`-e|g(`&^iZWyl&<6)}2yfaVv7>qes>wGlTsv zxD4r@I}o$Vj`8tkGq@U&VwE3tY_|1yQhR2h5lI)>bkxmWlI|SrFVjiiLUyP)!IqL- zxo3^qYYDN_TTgIpH#lyJok>Eb!Sop`K)p zO6}>UIl0nI1aMdf;dZb*Ryb${*~Da>qJyg@KBVYRTJ0$4^$6nA@Q|Iw+6-1WnY*$F z#IEq-z?ckDx=BK(VoQZwU6zJ238!iDZ=a$Azy2DPyLFGrY~5I;6TBu0jr;+BZH}a9 z>Yrv)*@?+Y8M&$qkkK%uRWxe(>LI5J_A2|ZTV%!?9}--1i3Ft3nEfwQ{Sl$V$*T@y z%iA#*GBEX8??|n};UX7wGm))dVdkQ`edzGBc1zun^01DJ$x+Nm96juez{!r%owSq| zx5?#iGHFZWqoxD^{EYjn~iO|6Fago{x!2^b)@rT$v2QX7~m)825*cgteM z3+H#T+7_Fta9T_{P56ct4`(==Ko;j3Sdv*c&rguUxuGeHwS6y`ra6Y87M{@gPB3z8 zG7PEd6o)AJPHgO61nYq(nATTt>@Id@59+uHfx)QwRjRdd3Wlx{Zd zNodW&1skFF9fuYB&l(`(4TZF9xzYD5R_P^@hiM`*r>^E| zkr{Qno$bXXn;pE!)7-P7o{im`Eb906=xd;Qc*>lYPv~{0xn7^!M_Ic0B#W*wMaGI1 zqIPH?{-`QlVG^y-62fq4o14Fj8x9EMU*QRzgwA)@Zv5@@*h1;VQ^QUowbJ*DZ0RY+ z+i5?q5jM|7L=|a@VkMH=7yF&Ua60LRDdPOco!xbU6&b?5LVka9AEHh52#l^Yha;L(H;={cx7u{!#QlOrJAK)rUgWs6!gnla&D>sV32U@XCkzvI zR!9BRJZRrEv&cM*^cS6q>BQ980uJl;{EULiAN3Wt9nCLDb!;k(=cY>Tcck324peKn zcy6oNF-k|@nt>%O>ool;Ib*U!X0pf}2NVhU3h&8z7=(i#QCw5EBY()m8qI33yz^&7WhYn{6e2W7i) z&8{>4MKi-%C10r5>Gc|BGlq`HH;hc4I~?X3TFe1HFP<7SE%+B>qR<1+Mk)uq}TQB9jZ*#@`Y^`dZ__@csa!m zqXA1&M^MVj=yU2>FFkA)!X9E#2gL-Rb-&1vkh>M#wZE}qt;}EY(^oBo-=&Kk<02!5 zH!!A+L9-p2*L6(03zX7JVa_T;@C3c$$NPX+#Vlp<(gQkprO6!)OwDy$)fA;3aaxUU zoHqeUP+-&Iy~fA8h11ocO?qL(Pjmg<8>~85O3~3Qob_oMvFDG9iqSw5yS89=N4T`- zw!uE%sEaNh1?ktzYTZd2f6J^n19$SiaM+0LIct1rs=>(!*q6c>smwwk%mU25MKcXx zx1^VT*rC3{VS-Fp+-;m=ACJA#l3s!3m7==;Kd?6wIlD7 zV;;JFZ>Kwb`ZfvQwy0W772N(w$n5OxPOpH~m>7%A@1x-22NrvqfL|AZoJdaanms({ z?OvDLmS+N@GymwOW1N_LNDK|#!O+HxgL?3DfZoSQ=UAP*dDOgCfhH>nXB8y~<)_Ki zr-PuaerS^3M@IKXP44^juX3ePXqzZcwb5Wm??q}H3fe-*EDF4#I2N?g7hVdrYG4TY zXnD{!cBo8D<=&{tC)4uXW9K1DpV3-fjtk(gYN^2-X|QdhQ}6Vzd9zDftzy>c+6w#V zojVlgv-`%VtUeLbeBOC^CIqFo@VtRu!XzBCxmqnpO<<1tH*;kXr~)HyZnBssZWXGS z{%JGPNX@hZ7qsPR&!kYM56Adh6y{sf`gd-0v{snbCpyPg(7#EW`X{G>`Ztr%hD-Qd zD^KuCbEp7`d{AiOs`#jk+9W!t2~DP9v%KAf3(rfE?-4? zy`SmP14X^*y&*0IzA)$ADf39{l$C=PO!%9_96}<&Q)OUw(ca z_Mg%JT7D7b^*)D!FCiMPTg&VFv-!QiTtv%PkD&*;^xp3^*q1*~w9i}ef9ZHrJka|= zc??v3tw--w`uq=8`4nFCtM^5eXZcwal^<~MZs5v~URf&_?jv|luhy^Swf*ly`Hd(x zf)3aFJlfCY`Q5mF`I`u1ov?i7O1by&{kVWVbq3cFZkKOGdA+C5pD0ehtsLzbAA}F|$0t!f)c=f>*WZ^sPx}Lf{Py4N zl|K*fb=LcT_XP0Ef7L4=d=&NLe%_lcy_ivEjN{=A2zyx#Y|K>ZI zgu9m4`zc=e$58$;l)qEhgj}?o-q(2L^>>hGAD4o?VM+Nz%PGu1`@@*FUw`*#5#>|b za1_vXYx#3ge@X$|!}1<3Qi;y^qb`*9$b#TELixRyhMs9iw7k-9NGSikBgInRNWb@B zUw-+W3FTL1r2K2%?3Qq!g5Xk=_uGH^-*ChYf`{ buildFileInfos = {}; + + class CProjectBuilder : public IProjectBuilder { public: @@ -20,6 +23,26 @@ IProjectBuilder *ProjectBuilder() return &s_projectBuilder; }; +CUtlString FPC_GetProjectObject( const char *szName, const char *szObjectName ) +{ + for (auto b: buildFileInfos) + { + for (auto s: b.m_stages) + { + if (strcmp(s->m_psz, szName)) + continue; + for (auto o: s->m_outputs) + { + if (strcmp(o.m_szName, szObjectName)) + continue; + + return o.m_szPath; + } + } + } + return NULL; +} + BuildFile_t *CProjectBuilder::BuildProject( const char *szProjectName, const char *szPath ) { CProject_t stCompileProject = {}; @@ -30,7 +53,8 @@ BuildFile_t *CProjectBuilder::BuildProject( const char *szProjectName, const cha BuildFileInfo_t *pBuildFileInfo; BuildFileInfo_t stBuildFileInfo; BuildFile_t *pBuildFile = NULL; - + CBuildStage **ppExecutedBuildStage = NULL; + GetProjectObjectFn *pfnGetProjectObject = NULL; CUtlString szWd = CUtlString(szPath).GetDirectory(); Plat_SetWorkingDir(szWd); @@ -40,16 +64,17 @@ BuildFile_t *CProjectBuilder::BuildProject( const char *szProjectName, const cha stCompileProject.files = { szPath, }; - stCompileProject.includeDirectories = {CUtlString("%s/public",filesystem2->OwnDirectory()),CUtlString("%s/public", filesystem2->BuildDirectory()), CUtlString("%s/../public",filesystem2->OwnDirectory()),CUtlString("%s/../public", filesystem2->BuildDirectory())}; + stCompileProject.includeDirectories = {CUtlString("%s/public",filesystem2->OwnDirectory())}; stCompileProject.bFPIC = true; stCompileProject.m_target = Target_t::HostTarget(); stLinkProject = ccompiler->Compile(&stCompileProject); stLinkProject.linkType = ELINK_DYNAMIC_LIBRARY; stLinkProject.m_target = Target_t::HostTarget(); - stLinkProject.objects.AppendHead({CUtlString("%s/libfpcbuild.a",filesystem2->OwnDirectory())}); - stLinkProject.objects.AppendHead({CUtlString("%s/libtier2.a",filesystem2->OwnDirectory())}); - stLinkProject.objects.AppendHead({CUtlString("%s/libtier1.a",filesystem2->OwnDirectory())}); + stLinkProject.libraryObjects.AppendHead({CUtlString("%s/libfpcbuild.a",filesystem2->OwnDirectory())}); + stLinkProject.libraryObjects.AppendHead({CUtlString("%s/libfpc.so",filesystem2->OwnDirectory())}); + stLinkProject.libraryObjects.AppendHead({CUtlString("%s/libtier2.a",filesystem2->OwnDirectory())}); + stLinkProject.libraryObjects.AppendHead({CUtlString("%s/libtier1.a",filesystem2->OwnDirectory())}); szBuildLibrary = linker->Link(&stLinkProject); pLibrary = Plat_LoadLibrary(szBuildLibrary); @@ -64,17 +89,21 @@ BuildFile_t *CProjectBuilder::BuildProject( const char *szProjectName, const cha return NULL; } - pBuildFileInfo = (BuildFileInfo_t*)pBuildFactory(BUILD_FILE_INFO_INTERFACE_NAME, NULL); - if (!pBuildFileInfo) + pBuildFileInfo = (BuildFileInfo_t*)pBuildFactory(BUILD_FILE_INFO_INTERFACE_VERSION, NULL); + ppExecutedBuildStage = (CBuildStage**)pBuildFactory(BUILD_CURRENT_STAGE_INTERFACE_VERSION, NULL); + pfnGetProjectObject = (GetProjectObjectFn*)pBuildFactory(BUILD_GET_PROJECT_OBJECT_INTERFACE_VERSION, NULL); + if (!pBuildFileInfo || !ppExecutedBuildStage || !pfnGetProjectObject) { - V_printf("Failed to find build file info interface\n"); + V_printf("Required interfaces are not present\n"); Plat_UnloadLibrary(szBuildLibrary); return NULL; } stBuildFileInfo = *pBuildFileInfo; + buildFileInfos.AppendTail(stBuildFileInfo); + *pfnGetProjectObject = FPC_GetProjectObject; for (auto a: stBuildFileInfo.m_dependantFiles) { - BuildProject("something", CUtlString("%s/build.cpp",a)); + BuildProject("something", CUtlString("%s/%s/build.cpp",szWd.GetString(),a)); } Plat_SetWorkingDir(szWd); @@ -82,7 +111,14 @@ BuildFile_t *CProjectBuilder::BuildProject( const char *szProjectName, const cha for (auto &build: stBuildFileInfo.m_stages) { + *ppExecutedBuildStage = build; build->m_pMainFn(); + for ( auto &o: build->m_outputs) + { + o.m_szPath.AppendHead("/"); + o.m_szPath.AppendHead(Plat_GetWorkingDir()); + printf("%s: %s = %s\n",build->m_psz,o.m_szName, o.m_szPath.GetString()); + }; }; pBuildFile = new BuildFile_t; diff --git a/fpc/library/c.cpp b/fpc/library/c.cpp index de7988d..95e00c5 100644 --- a/fpc/library/c.cpp +++ b/fpc/library/c.cpp @@ -7,7 +7,16 @@ ICCompiler *ccompiler; CUtlString ICCompiler::GetOutputObjectName( CProject_t *pProject, unsigned int hash, CUtlString szFileName ) { CUtlString szTarget = pProject->m_target.GetTriplet(); - return CUtlString("%s/%s/cc/%u_%s/%s/%s%s",FPC_TEMPORAL_DIRNAME, szTarget.GetString(), hash, pProject->m_szName.GetString(), filesystem2->BuildDirectory(), szFileName.GetString(), GetOutputObjectFormat()); + + return CUtlString( + "%s/%s/cc/%u_%s/%s/%s%s", + FPC_TEMPORAL_DIRNAME, + szTarget.GetString(), + hash, + pProject->m_szName.GetString(), + filesystem2->BuildDirectory(), + szFileName.GetString(), + GetOutputObjectFormat()); }; CUtlVector ICCompiler::BuildCommandLine( CProject_t *pProject, const char *szFileName, const char *szOutputFileName ) @@ -44,6 +53,7 @@ LinkProject_t ICCompiler::Compile( CProject_t *pProject ) proj.m_androidmanifest = pProject->m_androidmanifest; unsigned int hash = pProject->GenerateProjectHash(); + // Get output directories for (auto &file: pProject->files) { diff --git a/fpc/library/clang/ld.cpp b/fpc/library/clang/ld.cpp index a6e16e5..4aeccba 100644 --- a/fpc/library/clang/ld.cpp +++ b/fpc/library/clang/ld.cpp @@ -156,7 +156,7 @@ CUtlString CClangLinker::Link( LinkProject_t *pProject ) } if (pProject->m_target.kernel == TARGET_KERNEL_LINUX || pProject->m_target.kernel == TARGET_KERNEL_ANDROID) { - //args.AppendTail("-rdynamic"); + args.AppendTail("-Wl,--disable-new-dtags"); args.AppendTail("-Wl,-rpath,$ORIGIN"); } @@ -174,6 +174,8 @@ CUtlString CClangLinker::Link( LinkProject_t *pProject ) args.AppendTail(object.m_szObjectFile); if (pProject->m_target.kernel == TARGET_KERNEL_WINDOWS || pProject->m_target.kernel == TARGET_KERNEL_LINUX || pProject->m_target.kernel == TARGET_KERNEL_ANDROID) args.AppendTail("-Wl,--no-whole-archive"); + for (auto object: pProject->libraryObjects) + args.AppendTail(object); // Libraries for (auto lib: pProject->libraries) diff --git a/fpc/library/helper.cpp b/fpc/library/helper.cpp index 042f148..8f2ba0e 100644 --- a/fpc/library/helper.cpp +++ b/fpc/library/helper.cpp @@ -35,7 +35,8 @@ static uint32_t pathSize = sizeof(path); static int pathResult = _NSGetExecutablePath(path, &pathSize); #endif static char *szPathDir = dirname(path); -char *g_szBuildDir = 0; +static char *s_szBuildDir = 0; +EXPOSE_INTERFACE_GLOBALVAR(szBuildDir, char*, FILE_SYSTEM_2_BUILD_DIRECTORY_INTERFACE_VERSION, s_szBuildDir); class CPOSIXFileSystem2: public IFileSystem2 { @@ -87,24 +88,26 @@ char *CPOSIXFileSystem2::OwnDirectory() }; char *CPOSIXFileSystem2::BuildDirectory() { - return g_szBuildDir; + return s_szBuildDir; }; void CPOSIXFileSystem2::CopyFile( const char *szDestination, const char *szOrigin ) { CUtlVector args = { - CUtlString(szOrigin), - CUtlString(szDestination), + szOrigin, + szDestination, }; - runner->Run("cp", args); + printf("runner: %p\n",runner); + runner->Run(CUtlString("cp"), args); + printf("runner: %p\n",runner); runner->Wait(); } void CPOSIXFileSystem2::CopyDirectory( const char *szDestination, const char *szOrigin ) { CUtlVector args = { "-r", - CUtlString(szOrigin), - CUtlString(szDestination), + szOrigin, + szDestination, }; runner->Run("cp", args); runner->Wait(); @@ -133,4 +136,5 @@ bool CPOSIXFileSystem2::ShouldRecompile(const char *szSource, const char *szOutp return outbuf.st_mtime < srcbuf.st_mtime; }; + IINIFile *g_pConfig; diff --git a/fpc/library/libfpc.cpp b/fpc/library/libfpc.cpp new file mode 100644 index 0000000..1f05ebb --- /dev/null +++ b/fpc/library/libfpc.cpp @@ -0,0 +1,15 @@ +#include "helper.h" +#include "runner.h" +#include "c.h" +#include "ld.h" + +void *LibFpcInit() +{ + filesystem2 = (IFileSystem2*)CreateInterface(FILE_SYSTEM_2_INTERFACE_NAME, NULL); + runner = (IRunner*)CreateInterface(RUNNER_INTERFACE_NAME, NULL); + ccompiler = (ICCompiler*)CreateInterface(CLANG_C_COMPILER_INTERFACE_NAME, NULL); + linker = (ILinker*)CreateInterface(CLANG_LINKER_INTERFACE_NAME, NULL); + return NULL; +} + +EXPOSE_INTERFACE_FN(LibFpcInit, LibFpcInit, LIBFPC_INIT_INTERFACE_VERSION); diff --git a/fpc/library/runner.cpp b/fpc/library/runner.cpp index 54b6fbe..bf2903a 100644 --- a/fpc/library/runner.cpp +++ b/fpc/library/runner.cpp @@ -9,8 +9,8 @@ #include "winerunner.h" -CUtlVector g_processes; +CUtlVector m_processes; class CPOSIXRunner: public IRunner { public: @@ -51,7 +51,9 @@ int CPOSIXRunner::Run(CUtlString szName, CUtlVector& args) _exit(0); } } - g_processes.AppendTail(pid); + printf("%i %p\n",m_processes.GetSize(),m_processes.GetData()); + m_processes.AppendTail(pid); + printf("%i %p\n",m_processes.GetSize(),m_processes.GetData()); return 0; } @@ -83,7 +85,9 @@ int CPOSIXRunner::Run(CUtlString szName, CUtlString szDirectory, CUtlVector g_processes; class CWindowsRunner: public IRunner { @@ -15,6 +14,7 @@ public: virtual int Run( CUtlString szName, CUtlString szDirectory, CUtlVector& args ) override; virtual int Run( CUtlString szName, CUtlString szDirectory, CUtlVector& args, CUtlVector& environment ) override; virtual int Wait( void ) override; + CUtlVector s_processes = {}; }; EXPOSE_INTERFACE(CWindowsRunner, IRunner, POSIX_RUNNER_INTERFACE_NAME); @@ -47,7 +47,7 @@ int CWindowsRunner::Run(CUtlString szName, CUtlVector& args) _exit(0); } } - g_processes.AppendTail(pid); + s_processes.AppendTail(pid); return 0; } @@ -79,7 +79,7 @@ int CWindowsRunner::Run(CUtlString szName, CUtlString szDirectory, CUtlVectorKKs` z+;?%A8FXBtqmDX`!#FOCly {Jn@-w!|IhpXKfnLy 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 literal 0 HcmV?d00001 diff --git a/fpc/main.cpp b/fpc/main.cpp index 21dd2bf..58f5115 100644 --- a/fpc/main.cpp +++ b/fpc/main.cpp @@ -16,7 +16,7 @@ #include "builder.h" CUtlString owndir; -extern char *g_szBuildDir; +static char **pszBuildDir; void build_tier0() { @@ -25,7 +25,7 @@ void build_tier0() int build() { - BuildFile_t *pBuildFile = ProjectBuilder()->BuildProject("main",CUtlString("%s/build.cpp",g_szBuildDir)); + BuildFile_t *pBuildFile = ProjectBuilder()->BuildProject("main",CUtlString("%s/build.cpp",*pszBuildDir)); /* @@ -80,6 +80,12 @@ void IEngine_Signal(int sig) Plat_Exit(0); }; +IRunner *runner; +IWineRunner *winerunner; +ICCompiler *ccompiler; +ILinker *linker; + + int main(int c, char **v) { @@ -104,7 +110,6 @@ findbuild: } else { V_fclose(file); } - g_szBuildDir = szBuildcppDir; #ifdef __linux signal(SIGHUP, IEngine_Signal); @@ -118,17 +123,28 @@ findbuild: signal(SIGSEGV, IEngine_Signal); signal(SIGTERM, IEngine_Signal); #endif - - runner = (IRunner*)CreateInterface(RUNNER_INTERFACE_NAME, NULL); - winerunner = (IWineRunner*)CreateInterface(WINE_RUNNER_INTERFACE_NAME, NULL); - filesystem2 = (IFileSystem2*)CreateInterface(FILE_SYSTEM_2_INTERFACE_NAME, NULL); - ccompiler = (ICCompiler*)CreateInterface(CLANG_C_COMPILER_INTERFACE_NAME, NULL); - linker = (ILinker*)CreateInterface(CLANG_LINKER_INTERFACE_NAME, NULL); - void *pFilesystem = Plat_LoadLibrary(CUtlString("%s/libfilesystem_std.so",filesystem2->OwnDirectory())); + + void *pLibFPC = Plat_LoadLibrary("libfpc.so"); + CreateInterfaceFn pLibFPCFactory = Sys_GetFactory(pLibFPC); + + filesystem2 = (IFileSystem2*)pLibFPCFactory(FILE_SYSTEM_2_INTERFACE_NAME, NULL); + pszBuildDir = (char**)pLibFPCFactory(FILE_SYSTEM_2_BUILD_DIRECTORY_INTERFACE_VERSION, NULL); + *pszBuildDir = szBuildcppDir; + runner = (IRunner*)pLibFPCFactory(RUNNER_INTERFACE_NAME, NULL); + winerunner = (IWineRunner*)pLibFPCFactory(WINE_RUNNER_INTERFACE_NAME, NULL); + ccompiler = (ICCompiler*)pLibFPCFactory(CLANG_C_COMPILER_INTERFACE_NAME, NULL); + linker = (ILinker*)pLibFPCFactory(CLANG_LINKER_INTERFACE_NAME, NULL); + + + + pLibFPCFactory(LIBFPC_INIT_INTERFACE_VERSION, NULL); + + + void *pFilesystem = Plat_LoadLibrary("libfilesystem_std.so"); CreateInterfaceFn pFilesystemFactory = Sys_GetFactory(pFilesystem); - filesystem = (IFileSystem*)CreateInterface(FILESYSTEM_INTERFACE_VERSION, NULL); + filesystem = (IFileSystem*)pFilesystemFactory(FILESYSTEM_INTERFACE_VERSION, NULL); filesystem->Init(); g_pConfig = INIManager()->ReadFile(".fpccfg"); diff --git a/fpc/public/generator.h b/fpc/public/generator.h new file mode 100644 index 0000000..e69de29 diff --git a/fpc/public/helper.h b/fpc/public/helper.h index ef27a56..78a70e4 100644 --- a/fpc/public/helper.h +++ b/fpc/public/helper.h @@ -47,6 +47,7 @@ public: // File system manager. //----------------------------------------------------------------------------- #define FILE_SYSTEM_2_INTERFACE_NAME "FileSystem2_001" +#define FILE_SYSTEM_2_BUILD_DIRECTORY_INTERFACE_VERSION "FileSystem2BuildDirectory_001" abstract_class IFileSystem2 { @@ -75,6 +76,11 @@ public: extern IFileSystem2 *filesystem2; +struct StageOutput_t +{ + const char *m_szName; + CUtlString m_szPath; +}; //----------------------------------------------------------------------------- // Build stage. @@ -84,6 +90,8 @@ class CBuildStage public: CBuildStage( const char *psz, int(*pMainFn)() ); const char *m_psz; + CUtlString m_szPath; + CUtlVector m_outputs; int(*m_pMainFn)(); }; @@ -110,11 +118,14 @@ static int __build_stage_##sz() #define ADD_DEPENDENCY_BUILD_FILE(name, path) \ static CBuildDependentFile __##name##DependencyFile(path); -#define ADD_OUTPUT_LIBRARY(sz) \ +#define ADD_OUTPUT_OBJECT(sz, path) \ + g_pCurrentStage->m_outputs.AppendTail((StageOutput_t){sz, path}); #define DEPEND_ON_PROJECT(sz) \ #define GET_PROJECT_LIBRARY(sz, szLib) \ + FPC_GetProjectObject(#sz, szLib) + struct BuildFileInfo_t { @@ -123,8 +134,18 @@ struct BuildFileInfo_t }; BuildFileInfo_t *GetBuildFileInfo(); +extern CBuildStage *g_pCurrentStage; -#define BUILD_FILE_INFO_INTERFACE_NAME "BuildFileInfo001" +CUtlString FPC_GetProjectObject( const char *szName, const char *szObjectName ); + + +#define BUILD_FILE_INFO_INTERFACE_VERSION "BuildFileInfo001" +#define BUILD_CURRENT_STAGE_INTERFACE_VERSION "BuildCurrentStage001" + +typedef CUtlString(*GetProjectObjectFn)( const char *szName, const char *szObjectName ); +#define BUILD_GET_PROJECT_OBJECT_INTERFACE_VERSION "GetProjectObject001" + +#define LIBFPC_INIT_INTERFACE_VERSION "LibFPCInit001" extern IINIFile *g_pConfig; diff --git a/fpc/public/temporalmgr.h b/fpc/public/temporalmgr.h new file mode 100644 index 0000000..e69de29 diff --git a/fpc/public/watchmgr.h b/fpc/public/watchmgr.h new file mode 100644 index 0000000..e69de29 diff --git a/public/tier1/interface.h b/public/tier1/interface.h index e9e9e42..ac5ed1c 100644 --- a/public/tier1/interface.h +++ b/public/tier1/interface.h @@ -27,7 +27,7 @@ public: #define EXPOSE_INTERFACE_GLOBALVAR( className, interfaceName, versionName, globalVarName ) \ static void *__Create##className##_interface() { return ( interfaceName* )( &globalVarName ); }; \ - static CInterfaceRegistry __Create##interfaceName##_registry( __Create##className##_interface, versionName ); + static CInterfaceRegistry __Create##className##_registry( __Create##className##_interface, versionName ); DLL_EXPORT void *CreateInterface( const char *szName, int *pReturnCode ); diff --git a/tier0/build.cpp b/tier0/build.cpp index 8e842e6..e8cca35 100644 --- a/tier0/build.cpp +++ b/tier0/build.cpp @@ -9,6 +9,7 @@ CUtlVector tier0_CompiledFiles = { "mem.cpp", "platform.cpp", "network.cpp", + "commandline.cpp" }; DECLARE_BUILD_STAGE(tier0) @@ -26,7 +27,7 @@ DECLARE_BUILD_STAGE(tier0) ldProject.linkType = ELINK_DYNAMIC_LIBRARY; szOutputProject = linker->Link(&ldProject); - ADD_OUTPUT_LIBRARY(szOutputProject); + ADD_OUTPUT_OBJECT("tier0", szOutputProject); return 0; }; diff --git a/tier1/commandline.cpp b/tier0/commandline.cpp similarity index 100% rename from tier1/commandline.cpp rename to tier0/commandline.cpp diff --git a/tier1/__build.cpp b/tier1/__build.cpp index 4cfb04e..14422e5 100644 --- a/tier1/__build.cpp +++ b/tier1/__build.cpp @@ -13,6 +13,7 @@ CUtlVector tier1_CompiledFiles = { "tier1/utlstring.cpp", "tier1/utlvector.cpp", }; +CUtlString tier1_lib; DECLARE_BUILD_STAGE(tier1) { @@ -21,15 +22,13 @@ DECLARE_BUILD_STAGE(tier1) compileProject.m_szName = "tier1"; compileProject.files = tier1_CompiledFiles; - compileProject.includeDirectories = {"../public"}; + compileProject.includeDirectories = all_IncludeDirectories; compileProject.bFPIC = true; ldProject = ccompiler->Compile(&compileProject); ldProject.linkType = ELINK_STATIC_LIBRARY; - CUtlString szOutputDir = linker->Link(&ldProject); - - ADD_OUTPUT_LIBRARY(szOutputDir) - + CUtlString outputProject = linker->Link(&ldProject); + tier1_lib = outputProject; return 0; }; diff --git a/tier1/build.cpp b/tier1/build.cpp index 402b04b..87b2afb 100644 --- a/tier1/build.cpp +++ b/tier1/build.cpp @@ -7,7 +7,6 @@ CUtlVector tier1_CompiledFiles = { "interface.cpp", "appinit.cpp", - "commandline.cpp", "utlbuffer.cpp", "utlmap.cpp", "utlstring.cpp", @@ -28,7 +27,7 @@ DECLARE_BUILD_STAGE(tier1) CUtlString szOutputDir = linker->Link(&ldProject); - ADD_OUTPUT_LIBRARY(szOutputDir) + ADD_OUTPUT_OBJECT("tier1", szOutputDir) return 0; }; diff --git a/tier1/interface.cpp b/tier1/interface.cpp index 69d5d44..1c8d839 100644 --- a/tier1/interface.cpp +++ b/tier1/interface.cpp @@ -35,8 +35,5 @@ DLL_EXPORT void *CreateInterface( const char *szName, int *pReturnCode ) CreateInterfaceFn Sys_GetFactory( void *lib ) { -#ifdef POSIX - return CreateInterface; -#endif return (CreateInterfaceFn)Plat_GetProc(lib, "CreateInterface"); } diff --git a/tier1/interface.o b/tier1/interface.o index 7ad5ef16efe84845013d78171b91030dd8d6c513..f0047d17861eac5ccc81fb18d0b51bae20dbc017 100644 GIT binary patch literal 10984 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 - ADD_OUTPUT_LIBRARY(szOutputProject) + ADD_OUTPUT_OBJECT("tier2", szOutputProject) return 0; };