From b100cf325311b25c9f09172ff975179f65ad5f79 Mon Sep 17 00:00:00 2001 From: mode80 Date: Sat, 28 Sep 2024 23:02:27 -0600 Subject: [PATCH] Fix build issues on Apple silicon M-series macs - Fix CMakeLists.txt logic to use correct DYNLIB_SUFFIX for mac - Update README instructions to use non-deprecated brews - Remove use of `register` keyword throughout .cpp files in ./cores (the register keyword was deprecated, and now removed in clang-17) - update .gitignore to ignore build artifacts --- .gitignore | 5 +++ CMakeLists.txt | 8 ++-- README.md | 2 +- cores/pce/mednafen/pce_fast/huc6280.cpp | 4 +- cores/snes/cpuexec.cpp | 4 +- cores/snes/gfx.cpp | 18 ++++----- cores/snes/sa1cpu.cpp | 4 +- cores/snes/tile.cpp | 50 ++++++++++++------------ retro/examples/best.bk2 | Bin 55397 -> 8483 bytes 9 files changed, 50 insertions(+), 45 deletions(-) diff --git a/.gitignore b/.gitignore index 0107aabcb..9f29f9d10 100644 --- a/.gitignore +++ b/.gitignore @@ -143,3 +143,8 @@ Temporary # cibuildwheel wheelhouse tests/test_cibuildwheel/tmp_dockerfiles + +# build artifacts +*.cmake +Makefile +*.tmp \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index afd086e8e..bb9718ab6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,19 +4,19 @@ if(POLICY CMP0048) cmake_policy(SET CMP0048 NEW) endif() -if(UNIX) +if(APPLE) # APPLE counts as a UNIX, so APPLE must come first set(PYEXT_SUFFIX ".so" CACHE STRING "Suffix for Python extension modules") set(DYNLIB_SUFFIX - ".so" + ".dylib" CACHE STRING "Suffix for dynamic libraries") -elseif(APPLE) +elseif(UNIX) set(PYEXT_SUFFIX ".so" CACHE STRING "Suffix for Python extension modules") set(DYNLIB_SUFFIX - ".dylib" + ".so" CACHE STRING "Suffix for dynamic libraries") elseif(WIN32) set(PYEXT_SUFFIX diff --git a/README.md b/README.md index a4bd9f2da..3e9c8036e 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ pip3 install -e . **Build from source** 1. `pip install cmake wheel` -2. `brew install pkg-config lua@5.1 libzip qt5 capnp` +2. `brew install pkg-config lua@5.3 libzip qt@5 capnp` 3. `echo 'export PATH="/opt/homebrew/opt/qt@5/bin:$PATH"' >> ~/.zshrc` 4. `export SDKROOT=$(xcrun --sdk macosx --show-sdk-path)` 5. `pip install -e .` diff --git a/cores/pce/mednafen/pce_fast/huc6280.cpp b/cores/pce/mednafen/pce_fast/huc6280.cpp index 44b60441c..6e32c0f5d 100644 --- a/cores/pce/mednafen/pce_fast/huc6280.cpp +++ b/cores/pce/mednafen/pce_fast/huc6280.cpp @@ -40,9 +40,9 @@ uint8 *HuCPUFastMap[0x100]; #ifdef HUC6280_CRAZY_VERSION -#define LOAD_LOCALS_PC() register uint8 *PC_local = HuCPU.PC; +#define LOAD_LOCALS_PC() uint8 *PC_local = HuCPU.PC; #else -#define LOAD_LOCALS_PC() register uint32 PC_local /*asm ("edi")*/ = HuCPU.PC; // asm ("edi") = HuCPU.PC; +#define LOAD_LOCALS_PC() uint32 PC_local /*asm ("edi")*/ = HuCPU.PC; // asm ("edi") = HuCPU.PC; #endif #define LOAD_LOCALS() \ diff --git a/cores/snes/cpuexec.cpp b/cores/snes/cpuexec.cpp index b94e3fd94..cc52cc7a5 100644 --- a/cores/snes/cpuexec.cpp +++ b/cores/snes/cpuexec.cpp @@ -290,8 +290,8 @@ void S9xMainLoop (void) if (CPU.Flags & SCAN_KEYS_FLAG) break; - register uint8 Op; - register struct SOpcodes *Opcodes; + uint8 Op; + struct SOpcodes *Opcodes; if (CPU.PCBase) { diff --git a/cores/snes/gfx.cpp b/cores/snes/gfx.cpp index 1f0564462..214632fe9 100644 --- a/cores/snes/gfx.cpp +++ b/cores/snes/gfx.cpp @@ -683,12 +683,12 @@ void S9xUpdateScreen (void) // ignoring the true, larger size of the buffer. GFX.RealPPL = GFX.Pitch >> 1; - for (register int32 y = (int32) GFX.StartY - 1; y >= 0; y--) + for (int32 y = (int32) GFX.StartY - 1; y >= 0; y--) { - register uint16 *p = GFX.Screen + y * GFX.PPL + 255; - register uint16 *q = GFX.Screen + y * GFX.RealPPL + 510; + uint16 *p = GFX.Screen + y * GFX.PPL + 255; + uint16 *q = GFX.Screen + y * GFX.RealPPL + 510; - for (register int x = 255; x >= 0; x--, p--, q -= 2) + for (int x = 255; x >= 0; x--, p--, q -= 2) *q = *(q + 1) = *p; } @@ -698,12 +698,12 @@ void S9xUpdateScreen (void) #endif { // Have to back out of the regular speed hack - for (register uint32 y = 0; y < GFX.StartY; y++) + for (uint32 y = 0; y < GFX.StartY; y++) { - register uint16 *p = GFX.Screen + y * GFX.PPL + 255; - register uint16 *q = GFX.Screen + y * GFX.PPL + 510; + uint16 *p = GFX.Screen + y * GFX.PPL + 255; + uint16 *q = GFX.Screen + y * GFX.PPL + 510; - for (register int x = 255; x >= 0; x--, p--, q -= 2) + for (int x = 255; x >= 0; x--, p--, q -= 2) *q = *(q + 1) = *p; } } @@ -719,7 +719,7 @@ void S9xUpdateScreen (void) GFX.PPL = GFX.RealPPL << 1; GFX.DoInterlace = 2; - for (register int32 y = (int32) GFX.StartY - 1; y >= 0; y--) + for (int32 y = (int32) GFX.StartY - 1; y >= 0; y--) memmove(GFX.Screen + y * GFX.PPL, GFX.Screen + y * GFX.RealPPL, IPPU.RenderedScreenWidth * sizeof(uint16)); } } diff --git a/cores/snes/sa1cpu.cpp b/cores/snes/sa1cpu.cpp index abe19ced6..fe079fce7 100644 --- a/cores/snes/sa1cpu.cpp +++ b/cores/snes/sa1cpu.cpp @@ -314,8 +314,8 @@ void S9xSA1MainLoop (void) S9xSA1Trace(); #endif - register uint8 Op; - register struct SOpcodes *Opcodes; + uint8 Op; + struct SOpcodes *Opcodes; if (SA1.PCBase) { diff --git a/cores/snes/tile.cpp b/cores/snes/tile.cpp index 95177cf99..564f09e3f 100644 --- a/cores/snes/tile.cpp +++ b/cores/snes/tile.cpp @@ -205,11 +205,11 @@ static uint8 hrbit_even[256]; void S9xInitTileRenderer (void) { - register int i; + int i; for (i = 0; i < 16; i++) { - register uint32 b = 0; + uint32 b = 0; #ifdef LSB_FIRST if (i & 8) @@ -237,8 +237,8 @@ void S9xInitTileRenderer (void) for (i = 0; i < 256; i++) { - register uint8 m = 0; - register uint8 s = 0; + uint8 m = 0; + uint8 s = 0; if (i & 0x80) s |= 8; @@ -274,7 +274,7 @@ void S9xInitTileRenderer (void) static uint8 ConvertTile2 (uint8 *pCache, uint32 TileAddr, uint32) { - register uint8 *tp = &Memory.VRAM[TileAddr]; + uint8 *tp = &Memory.VRAM[TileAddr]; uint32 *p = (uint32 *) pCache; uint32 non_zero = 0; uint8 line; @@ -283,7 +283,7 @@ static uint8 ConvertTile2 (uint8 *pCache, uint32 TileAddr, uint32) { uint32 p1 = 0; uint32 p2 = 0; - register uint8 pix; + uint8 pix; DOBIT( 0, 0); DOBIT( 1, 1); @@ -297,7 +297,7 @@ static uint8 ConvertTile2 (uint8 *pCache, uint32 TileAddr, uint32) static uint8 ConvertTile4 (uint8 *pCache, uint32 TileAddr, uint32) { - register uint8 *tp = &Memory.VRAM[TileAddr]; + uint8 *tp = &Memory.VRAM[TileAddr]; uint32 *p = (uint32 *) pCache; uint32 non_zero = 0; uint8 line; @@ -306,7 +306,7 @@ static uint8 ConvertTile4 (uint8 *pCache, uint32 TileAddr, uint32) { uint32 p1 = 0; uint32 p2 = 0; - register uint8 pix; + uint8 pix; DOBIT( 0, 0); DOBIT( 1, 1); @@ -322,7 +322,7 @@ static uint8 ConvertTile4 (uint8 *pCache, uint32 TileAddr, uint32) static uint8 ConvertTile8 (uint8 *pCache, uint32 TileAddr, uint32) { - register uint8 *tp = &Memory.VRAM[TileAddr]; + uint8 *tp = &Memory.VRAM[TileAddr]; uint32 *p = (uint32 *) pCache; uint32 non_zero = 0; uint8 line; @@ -331,7 +331,7 @@ static uint8 ConvertTile8 (uint8 *pCache, uint32 TileAddr, uint32) { uint32 p1 = 0; uint32 p2 = 0; - register uint8 pix; + uint8 pix; DOBIT( 0, 0); DOBIT( 1, 1); @@ -359,7 +359,7 @@ static uint8 ConvertTile8 (uint8 *pCache, uint32 TileAddr, uint32) static uint8 ConvertTile2h_odd (uint8 *pCache, uint32 TileAddr, uint32 Tile) { - register uint8 *tp1 = &Memory.VRAM[TileAddr], *tp2; + uint8 *tp1 = &Memory.VRAM[TileAddr], *tp2; uint32 *p = (uint32 *) pCache; uint32 non_zero = 0; uint8 line; @@ -373,7 +373,7 @@ static uint8 ConvertTile2h_odd (uint8 *pCache, uint32 TileAddr, uint32 Tile) { uint32 p1 = 0; uint32 p2 = 0; - register uint8 pix; + uint8 pix; DOBIT( 0, 0); DOBIT( 1, 1); @@ -387,7 +387,7 @@ static uint8 ConvertTile2h_odd (uint8 *pCache, uint32 TileAddr, uint32 Tile) static uint8 ConvertTile4h_odd (uint8 *pCache, uint32 TileAddr, uint32 Tile) { - register uint8 *tp1 = &Memory.VRAM[TileAddr], *tp2; + uint8 *tp1 = &Memory.VRAM[TileAddr], *tp2; uint32 *p = (uint32 *) pCache; uint32 non_zero = 0; uint8 line; @@ -401,7 +401,7 @@ static uint8 ConvertTile4h_odd (uint8 *pCache, uint32 TileAddr, uint32 Tile) { uint32 p1 = 0; uint32 p2 = 0; - register uint8 pix; + uint8 pix; DOBIT( 0, 0); DOBIT( 1, 1); @@ -425,7 +425,7 @@ static uint8 ConvertTile4h_odd (uint8 *pCache, uint32 TileAddr, uint32 Tile) static uint8 ConvertTile2h_even (uint8 *pCache, uint32 TileAddr, uint32 Tile) { - register uint8 *tp1 = &Memory.VRAM[TileAddr], *tp2; + uint8 *tp1 = &Memory.VRAM[TileAddr], *tp2; uint32 *p = (uint32 *) pCache; uint32 non_zero = 0; uint8 line; @@ -439,7 +439,7 @@ static uint8 ConvertTile2h_even (uint8 *pCache, uint32 TileAddr, uint32 Tile) { uint32 p1 = 0; uint32 p2 = 0; - register uint8 pix; + uint8 pix; DOBIT( 0, 0); DOBIT( 1, 1); @@ -453,7 +453,7 @@ static uint8 ConvertTile2h_even (uint8 *pCache, uint32 TileAddr, uint32 Tile) static uint8 ConvertTile4h_even (uint8 *pCache, uint32 TileAddr, uint32 Tile) { - register uint8 *tp1 = &Memory.VRAM[TileAddr], *tp2; + uint8 *tp1 = &Memory.VRAM[TileAddr], *tp2; uint32 *p = (uint32 *) pCache; uint32 non_zero = 0; uint8 line; @@ -467,7 +467,7 @@ static uint8 ConvertTile4h_even (uint8 *pCache, uint32 TileAddr, uint32 Tile) { uint32 p1 = 0; uint32 p2 = 0; - register uint8 pix; + uint8 pix; DOBIT( 0, 0); DOBIT( 1, 1); @@ -748,8 +748,8 @@ void S9xSelectTileConverter (int depth, bool8 hires, bool8 sub, bool8 mosaic) #define DRAW_TILE() \ uint8 *pCache; \ - register int32 l; \ - register uint8 *bp, Pix; \ + int32 l; \ + uint8 *bp, Pix; \ \ GET_CACHED_TILE(); \ if (IS_BLANK_TILE()) \ @@ -839,8 +839,8 @@ void S9xSelectTileConverter (int depth, bool8 hires, bool8 sub, bool8 mosaic) #define DRAW_TILE() \ uint8 *pCache; \ - register int32 l; \ - register uint8 *bp, Pix, w; \ + int32 l; \ + uint8 *bp, Pix, w; \ \ GET_CACHED_TILE(); \ if (IS_BLANK_TILE()) \ @@ -947,8 +947,8 @@ void S9xSelectTileConverter (int depth, bool8 hires, bool8 sub, bool8 mosaic) #define DRAW_TILE() \ uint8 *pCache; \ - register int32 l, w; \ - register uint8 Pix; \ + int32 l, w; \ + uint8 Pix; \ \ GET_CACHED_TILE(); \ if (IS_BLANK_TILE()) \ @@ -996,7 +996,7 @@ void S9xSelectTileConverter (int depth, bool8 hires, bool8 sub, bool8 mosaic) #define Pix 0 #define DRAW_TILE() \ - register uint32 l, x; \ + uint32 l, x; \ \ GFX.RealScreenColors = IPPU.ScreenColors; \ GFX.ScreenColors = GFX.ClipColors ? BlackColourMap : GFX.RealScreenColors; \ diff --git a/retro/examples/best.bk2 b/retro/examples/best.bk2 index 4773792fdec8a5bb7a6e6873234c51b1b5c3e5e9..78364a455639aba87cc23005a9741de3489e0518 100644 GIT binary patch literal 8483 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 literal 55397 zcmY(pcTiK^7cOi^KmkPre1U-UB2}aXB29`2B25H|Qba*%0Rah#N-u&4p+l$wf>e>7 zC{=1`3P_WZgdRwMB&2=(=9@cn?;rb|z4n}$v(BD<)_R_`p8I!CpSg14)QR&a?gjf; zy1HdJH7TArafx{5#KjXQPMG=l1qF&)_%( zGWTN^x6v@Bci7P;eSd0iy=DT$VkTQzv531}i}|cj)&v?3J;JYGtl%u_1ekf?%v`a8 zGnUqo!B%i#7y~!;1;c8ihgQ7Au<&&oij}s)i;N6udHfeP8!f&{U@v03R~qyv^oZmK z28R=Q5gpX-_X7^-b!Y5`nPwyc1K(MMyRIO%sT$#l@)#t&O~d0ek!q&-+hOte8ItsC zFTJjofkEkXyYILUIhD@&yN1r8OhY*WGID8vxgXaNw(?94D>v+@;h=?v5;HvAz7Xk= z4x}M&2Sw>wvC4McB|dwXg}GYd>xelI#Ncpdu*}O&@u=j zSa{4C`=vp96=7+j`*21{*xEJ)@1^!)#4d>t#;h3l6UYVO)6`H0k!+2Z9{GZn#J=V( zAlV^^DPGa4Z_=x_XP1h?BK$_|T%`V-yL7EuhVJRjGqoPy3I9dC;Qu!xb^D`zwuaB= zqTQ~q+P@BsuvDYgnr7m@QQW{;$5VWD=#a&J3;XZS0|YcfH`l2f zu@msI*daHie(xOEycc)^A;5MYkAYFUiw5laGVK<@0I8J5K7WF$_v7I z+t5NTo;ayL(lX3mudt^REN33#x1z)6=6!{S5o^x#*GgQg-&1aUT=e$)ugB^iS#(sk zfMa>PmXNTeqodbXh_j8g_eWZ&O?c(GG4Zuf zk}#$v5&2`E;M|wJ5oLXL?_|lsfb9js`|XN0^Z32^_QjKc{-w$RhcnyqGpO53OE(}P zU+S|4*mlE;1M*nPfT-9@%vO3a;t|zl3$RaBPNI4Q1Kv23+L6Iuh|R`Prf9M^ED;ixstX ziYZ=^7uN2&pcK_$hBVtpbuo0xl^5EcHG(v45L1gpmZia0iqS(qEMeHEcuRD}vi z;?{xRqEly|3&rjW`P9*^ws!U<^gv+W1?i`J#RU71yp_|jVKbN(6~%ZuuLWA4daK0h z36N)B=qd>z2{}3C(Gae`6X6N{Er9w-w~T`44edSE3y})0(7uqm#F5RGwearfw5>}W zCV4GPnCnIO*ADErPj`aLCnOd#mh)7>=NsT(m;=jyYxQ2#=L>Qjeck zmy?BCELr1no5E`b98dFoX0z5dg6LH;&aRRgw2ap^(-h+<@iM5^zs0g0${1nM5ra<} z0uE{UkFZWDVLW@A98{8;-hbl<4Reb9F*i{>chIN9(R_rwwYNg~wP`L7cXY>45A0&A zU;FydTjI5mb~_RyH2GBkA7N}#>$`K(xd}oorjO#Nf|4Qi=^b9Fu;Eh$Ya%(Y;veW@ zrHW3wb(grzs1pA^<3g(hS)&IryZ9G6(@XI=Ie#S*;^K);&$Jv9W4Osi(NjjmH3X}$ zJ%cYPl4y0ws+W3SOUP+G=dI5bV)2mkeFe5u>ZMByPsA2O0;@ZP3=30TkIc)P44UgY zB`>(d?Au?+s09k9fGcqNp8;1Oid}Vr)shD~y~)3byZV+N`mOX~wO@P-LwU=K0!MFi zbK+0gyo2d<6RzMITd0qB8}Iw5lDIv|_2W93w8zwBG1Qsiy9SWppiJXpzI|%5(AD2l zV!|Cn2hY%DAFC3|hup-*KWBZ`Xp5%9xoek z^Px}FQiIC;nF-+>-Pj?rEzP+T<9q>RtCg&nd|`XyW;w0@|fA9v2?Vxg}bjubvx(0F#rcKY*BdugTETIqP4rPVfSiT5v|FzxM?#r1P_Y20v*PLHre^A?4c$0G zHA&qS>Sk>XkbL-7>TD4JV`V5sp0 zbf3(eu0#79s#-SIc!3GAZ0dVzuUg)ftc(-_nQc{|moL?%H{|Sdm(T5F)zFkq&&wNk zelxH9i?Nlql>3EG$8yNRI=$M3S4`Z)<$ln(XeuQ&MsK|O*p#*3M3C;zo!br`bqVI8a**IJeM^&MR4o2|lZ7X_4QpF2%`!a@KI{QQ2x@*K~K0QzMi3 zXu=^Y7(1Z_?~#jrCZCR^ev%DoN)c{@;i-QK1#=u&f(b6TiY!6@5d4efe3tn8;&I%$ ztiYOIJtqgw?g`+N&D)yeOY%&AXG@~rBYF|3aex8iSn(NGcHdVAE zup=vT?;GzegvC#e4ZML$tj>xDjmC1n-Omq7)l$1}-FhnnUqnpO8On-_pTl2A=amx2 zB&@8cx8$AEsF>6b0{g}q+Fa4ef{O;jl@<`MkBT`|aV_2A@tps_-ZvfOfHuqjxpP+@ zazzn+axLeu$aq@b9+%=PUj3h`|>Ux2>D&h-#iKvvP2g?Wnl_Mfy%=%o@7Z=e_3Xw)VGP z$jF}qh+>1C%FiLS-6p2nHYF&tqt6R*<~u8e`}V)e?&f2pyN&olLT2dtRB8!d87I$? z{y>sWPg1Z+9CE-arO2M2~`TccGDdp9nuf5WU>P zd%sT-60oDkpll2-mOH#YHUudTRJ5InhNj;K_k~boFy#HGLrX1lxBaWl^J}LEAHt-1 zes{q{mM&ZPCWY`TI$S%N{m3!Nz><2{R)z710r^Qn+TQP!8r1Gxf35HhlrpAp!Z=&c zc_-(>V)Q=93psd5dFhLVe!awuSP0IPwxnkdX(@$2nO=aZpy#f){CFVkv(I%d<4HK~ z5u-4N?IPNEiDa7mIRyOLQj7tdWQ@_9%j*~K$0pi81oY4q(;7@vJYNu9OaTJ_&~g~h z`rs$9d7otXm;Wp?4fz^PAa8nmh#3jk!4ph@iTQH8BTn)iVxL+e?*yxFzy4vhv69*`+O~yB#7&z^jngA|QB%cOt0#-tIp)l)Hih`}F$3>-8%HSO4O*qdI^9988S+%(9i zDmpm}_OcP>QS+zY@AEQI=^-lOuUdV0?lPau{BWG@pIHsr-0ronqYLjgg0&a_J;84L zNP-^Z)x>tHWhv&YQehLm zxe(Ql{C&``af_mpW#@q$Wb3nZu`yCHy*v-BI5z*o*|JaLPMDy7b*qpkgz!@L&T@$H z;gS*e`@oawXfb;0hmjsE&Q!SaA66U0gShJfEzk53USCPuIk)GY%MuG)%piK#GbKu{ z>mjkn3C<-tmvo-HOz(7bawJ1T73y*%a-L$;OgXzMHfii%P!)F>bW6zBpAt<3 z*l1qvbNGpRl1IN1ZD;@$*;relzwhYUMOMgkNMr3j!G3R9`Rl2dH`9d+`^t_yuy{ue z0ex}4?y36F;u6&*@emGOKT&)vhM6;EC=qp`?xY+ zP6AH+d-*3LdClVr;M3aLB@72H^2?l4C!1eODv>V6)tb0CYv|J_A3%8FcMH+wN`E4p zFMA}@zbFcmJs&d{7LTBE`2BkdEb8%l)K`3!?$_hcN1Zod8AH#R3Y*|MHs8OG<<$AKC{g4KSwfEuXP_b-w|L;YVZ{5L3+a3kg zSNFsOYs^*?O+oU-2_>jMC#(wE=i2MlJN`Hu9}Qdv>SK+{=T^zTRs+v&2wohKTCiEK zF}aPx5kx~M1APnY%v?QwyIfY`nnw9z01EurTk>#3VO&ENb&$*_X`Lb7h4_6RPW@1$Zi-YUXJf+Bg z7@b_?8ss;%YybJJru|E{H}m86&(6=lXmX_4!=|ZW z-qgae(U)0MMS7+9k+Uo0xdn2Wh~|*|_6YD#+la3jqt3L(=^|SA?h^zzuLxl{sQ=6! zmox`|BydbPr0-jwpE--ENyt?mT~ z9+?fSAg)v2!~;qxABR|Mdy!u)&DR89hXM>v7^d*OXO&*R8 zE_x5Kjan=i^!Lf9?s4oxl<8OdxHU-pZ}RidXEwQqF?JG1DXWKO;2^VRoae>Hp4+%@VT+8_F zsN*C@a-Ix*lMcZ;FC)P-&qik6#Gd%YvV*nd4 z0KN0pQ&sO4icOzu&_Hi|!^I^fgY$s@$&SxW1slG;G7lWj)f{2s7- z51K6fK<^v0<}Z@W?oexob1vK3F559lw?(c^5I)j9(t^clE@}?u`G`@@oN$eBuCpUb zL469oSGME}xf8Q(CZTdrpnDSc9^bpr6dc}~!2dVLSJArqzFzh~g+BChM5Q>8_sF`K zZgYqNRC>ThY)7@E$o#@sN=VP%>vAst54y$sf}#u(mN!8@x~%LdG{W<*&@P=;q{k=0 z7Qbxm>U)6hP=`UHu=l$8Vp5y&j(bkFJD(^WwwB1jCIhnQ5cm%1?7)9Puv#Cq1$0c1 zU^_Ig;BX$B^0PyEg(jGvxa^rtySvA0KY03)uhNA*!!*qE5c@=jwPG1T{{Txh>17?K{pe%Ovnd}r1tw;7xhh1pZiB`RTM6Yc5)-QMaJP; zfEVeQ=R_+HunAP`Ns=54=kpVf7AnA!6J7B@9cp+T3_(ed11pq9JbQDe1TKwlUnXB22!0aE zF@mw7`er(-br*kbAJ_mb8S)*_f3)9t%W8)G-jBJmC<=WPolw*vJx-`)RA}KVT+VGT zW?9B>#bt^t?voVpvDoiAx-Umkk4Z=lr#mcnJ8Xi%HHqeIk0P15BDeF^hMxD3PWdLJ* zbgFCCI+WuAn=-jzwogSkYo#NH6ti0{h|&))krhD@f^A3C_pBarX86(Z3*Fj|CxKQ$ z-025FH$xlG)rf~#eTL&{oXf$N913d0_xuq@!hfWd!Ix5<-qFjSCbjpc283`9@Jngy zOn5#(N=}+oFf#f>-N|j^5u(h(L3LipPrj~_`T^?UXWx>dz)cx8-ksq>botnPb4ia^ zGfy#JG}%BTwqMtuxisSWAN60B78f-^&RAgLt5Pt!(%AulDG$h)gdL+c$0WId6;V=; zy{_~^MSQbTE%J0f_!eKBVLWPNU04(#N^ZQPH|}5>kZxE;Pan&VB?{P8^YoK#wJr^i zoiMTm28S)?8bAF?3_?@f7grhQR^s>E(qM#NO^$0mGJv=>pJw>8T!HsQDchv>F|g+2 zuf$oE@U+!JG5Cp|Sut&$pd>z0gdI((6YPQNuHtrpG?6e@_~1U>+OpfM)SV2$ng`p% z!+QMG=?UkaFk7*sD-i%~D1w@*iG2NuyA!H*rRKrj3qisu+uEdvwIue11YGdOiWr^a zAy?i;*oXY=y~Z>G?`)Txi)2{-hn;DvNeb!yk%^%5JP;Is-U`TtFnbqFm@)E}o@GZW z-%KJxU)@nsz}WqC@T9hAgCr|!p8Ox<4;%)ekv}>vkP{~Aqyv*Jj$+h+xmeAbm8LCX&Sdq2rC-hcJ=>@j?bk8OwWm3iFrgP7l{6$nDv@5aN9_J&Tr_{|z zOJ?gVPXDWR9UfEyNnxH)BxvH@)KGO@eI-d3sLyIU46%G=cOQhFl&U$iCzgl$u~t#a z{Xf{FbYNZa`6k$^pa5p8%;^=}Y!+0Q9h0xX->-o-CnLhRmHMe!`_+J(Ma6M}@g$HsgPIFxWbFP(cQe7)&8ft}$V>C;KA zR>+W-IOLbZ*F6y#HPBOzf*w3(iZ0u=(v`LrIiW+g)w5N9C_3pA@bnM(74#ZkCc8^_*Rk z9~O!s@%+p+fOuI{^APjYTB;v#%kx157w;UMDLUhnN~rJ)>gMew7gPYt+5hO**G4i3c3`z)9-(INiPjJ`EwE*A7X{K|ZVuW2JOzsNE zjwB!Y_tuQBpBn9$a5GA_pCl*Yh5vbCp-Oy;KcRn50-VA}?z6cER{1O*w@L>bAsJ5_?Xr$kkN~MYXmdM(LDSfmCZh&BFxKPP?n^E*S{Dh$b~hs=cw_0 zPBw(XdhgazzKq6+yC{+b@AIh7n;73+NTksHj1+;v$WrGgnOTM)J z)f}60DR+3U^-}WK-bokfdP5hLP_s2%V>JKZjT^XG3*w*QaIu5=XXvdE9n(d3oPMVK zDjkV%c}TI9an9R>HgL>>1%z(nWXq`?w)t1I`pPZEP{GHg{#*Gr-84mV*;nztkkaQn zacjlqG}ltTNbiG>+i@H#D%z~j6^FO`{L1kAOSgumV)J6Iqx;vAX7aD?^$8@89TlB^ zmNH0sEK82uGoB|U2J()3KET!1QsuXhrOe0s?01ly)Q>L#o_-Q#Rw}4ARo^_x_Eq51 z=>Hs&k9oYmwtcL(?oH&9U(YaD6~s>o|2e1e+oXD?L}^LxXVI@_2{7;wc4><8Jl`(O=y4pg7&yOKPoQ9T!$8pTry5I~(l580WYG!9fJ}~E3_Z#~aAbi;oqWf=nOdc#AgFFd6<&QCUD80unK+``a7Y)q5hk@nz zqbXT~K-EtXKXwfR(cUh>Ny?(&OKEK-`#Rb1%;j5EfC$u61$fr(x!+p8yLPL1Gion& zZX4?3h#uJ2(cnG7CdY*_3Q3z#5)VH~YPik>srIoQ754C{!}}Thdx#)C>0j{TS|ycV zJ#KG`pbP$5=jZRO`St8c7I0l!+K45i%Bv*~CTv3T_MPloRt=JCLPRf1tAt^$w`gHM z^`yb2h!rwvqHhlerH-K}XJXRnkuvU!*L7X|sXC)%)hWrJ?Y9E;Dru*v7nFr7f2!pr ziL7(xTK?Qs{JtTz!R0XN5>0#AM{71F=`VAT7M~y+W^{Pw(@DR}S|z$k67A0W;bwU? zW;bR2>69G-$~GNBM+1^hYqdXDd`o@v%q3dyFfSF}zI<@DBDpAQC3B}2+mgwMTF2Mb ztcaK2hQCCdcrL|X#8ybPk0zHw(U$X1PhOcK>~23S97X1EljVDfwIdKU8(waFClBtTCGYPb7pwdEw4(j9zuhmDhxaG9C8 z;^uH%c+cm)9-!q0K95r?*p=xy{Z1Qwn^7}p&)7mg8EMRt?*QxTfq^%(`(`*YGakEKo{5kV8lR7dv}((S*R00m zKwQXfoiid>$-;K)alkn3?poXW0>>`*7|m`JZD}{!;dbOQjcHo^7t*s7BsV3phZIC! z%?D{MJeUM=P>x|VaEbGapF|VkYIEyygO;%FfQk`5d7P@fAo@4#I@GX(5CE48xwjFT zPKXLH;9-IQZ&Quxp`hF^e>%T8D`68VsR~eG@ z&CI0VxN=-b9=SA5&dow_^`cGY! zq0_@Xod0WAPT03^spE{aet6nnv^)so;;C-^wE133dyt==+Fb9p&Bq;q<(HklY$FKs zV8cVvExh$naCA%?*;@tBbDh29JjON*8Ul{x7^*bZvmGtVqY}k(-6fH)e)a8$t#!zli5pOjEVx~v zk^fM)_xgsYZilsD5Z+@}9an~CbG(92Pt zs?J4uB{;cL4xZr&gZjt38Mp8bdfC=G47%bS8B!}p5ZE4`BC*6;SFrT`G=fGB8(;FZ zb+&bUL;z1@@@PP)kTzLjD5?(niH`DXJ%Ir4zTx%ITOBBSzo(WWVzjsaeW%y2xd`XH zUZW^yiR>g*ti+SlRr5|0KWKz<#DeaG+eE>YRy-FpPo9(C2z^G7-Jf~@yLYN4^~f1( zbvMxcrsvgguvd~eA!CA{NBH{Ctajb%C1Qs+6SAelM$?9jh@HL(vg&<^> zos09{c5akkw&!#kN$WP#kI&})&&G!<&NtZwm!(|K^`9yg*Ub{3fpG>U0> zN4}e1nPd`f_(IiIh4E#u^Z{S#ge^mD7LM2jbWv4XYV?K*ZK!1fW%EP)^;RFDE47P$ zsGG`csjE^A^x&J^mt7S93>F9>=K$l>-n%XyBb$orYA;#V0i3(&AvPsrckq zexR5bd2o0RE1&er!m_+d##wi<%v85=Kv+4{{R%t@uYV*|J!$e28G}VRGQz58hGEdm z8n(kpqHYk0|BLeD*NHVd;oUEr4g4>sR>neqWef#S!G6^+!OTtlz~wXe7-r0`W9g92dCv%>+JNtI<{U$mhYJl$vOy*A zo6m_h_CuV%&`Q0>$Kbkd6!yMjshy2J z5ZXs}YreR~z1~t7sBzn*cOm$T)g{!P)D+4mNVSWvm%oQPc*65E-EKffyWx+D-3J)%nJ|O7 z>DA?*VYQDWLO-86;Ie>=g-mYH9+sF5~wOf_GjcEK{S%DU{RTcTY+yQV=KIVOx_Ve(*MT79+Sk8*Ux0h}h zu_VL4-s5WCd!f+^!XbYgxnR+SbnYxA8B&Kktab#QL>bpy(AiCZXqlM$Dl+i>x$jBe z4Pc#rfb0;y=wua;RRh4C5j}46U+(Zu)X97^Qb8Q^E;g2Lz|rl(>rIf<{^Sqv`vc4; z&xPC$8T=1p94uF*!)^Z-8;q+;lA1(E#@l7+jxTKzLDwTw>%oVegs0&|MDk?Q+sC$Fpb*& zDqvf@w1wPlm8SHh3!6Eey0Hgtwse=mHpfIzatOG(#!&C^b96&v&P;`QKb^Bj4MPxa zQ{tiK^W$Bh`j~+E+$Zxc7()_tHP%An1jk_Oic*bGUHVU*N%`Ivq+Sm@KUbas-UGwH=6bQEY(7L z?xEdBkq>*8PZdRUxe>`GIEMm1w*w(_RO=eNLrdS0X! zR)l)C&^>Ny6hhfHyPgDA#Ue#XnnaGArhVO%7?4I#Q^W zv7ePxCJlkua%qm1{Rquke|i>hd)-;UcV^G5dqJQ2#Tur$2ljZw)@c|KW~J`%edIJR zU#o^mOZ>7kfo*@3!sfZyj!}CH7f7Ev_kd*=fl0s!63>l6-{H*rCe)bhA5GkeHbV?a zT9;42u!S)efBEqZqOX6e>1SV6nhk`?R$!8EG8P~gJwJa?^kAv z4`n&Pjd(Aua{)sW;z0RalXLrAitxVWZ!-+V@V93P1_z)`s`dk+wsm7qx!$HwvwW=| z8q@f#z}P3uPoYlOPlj=p1OJu+tZoD-UmEERh$>LLeE>S+8NrAq8VAE#aH!+zi#yXb zJYh9d8`bI;DMipB@hWE7C@{)N9Gkq|y0IaX0vR%p>sfd<{M!g1*C*QNBkhum6z1hs z7bz4}k^CLst?KgbNDATfbXVqE%{M*P@Jn?ku@+@n?(MckIBf-kh8{6N_x~S-`+PD_ z%8O%V`|IPuaXd^tp1OMk{7>Glo}kYWp?u{mnRSJA>T$@aOS1kpvWpR|al=04 zqi320o~aB)px<&Uut|j%3V4+FOnl?-euHqyUu+cmR=%T`;3STVR)d%Avye#qGyab;+@IKGtb$)_q&MBJx80P#NUU{fDC~IqE$Ymh)8$j0(eI0Xf4WzwS1sdc^lFpykVVVOn#l{7eEW#d!CJIH zQHO@INU$L-PZ8SJBF6^L=J*=wpBp&3cMbaWg^3$Ab)dSbng6yh3VQ*c8tYGZyTQ#| zVexs-;2ys9O@V#aBDddvXWR;lVQ7SD42;x7f*~Xp&+GFcJAy$@H1x->%lPdpui5{9 zvnC59y>-=(me~500Z(H*R`G0e)N$%sIA&jdPFewcgCel`UGEsO0P{bR3n>VIf_jr0GG^r22gb5$y`?Xw7e6FT2VC(UNzS_Rx&G3#A(A_81}6j=@p}>SbC`J6GLi~4`r6@|K^_TqHz;^MGC$H%@xjwye=Ic`&;Pe6v)2muz0xXME`ZU zqQP8tEl!JFp0kPkNY~!{UB#8z<*g-!xdnNgZfN}B&CI)XH@7;s(}B5}d3y=BMi%&V-wyf>ZCI#ob_A4xPr z;f|KFN$0AgV4!b7?WGgPOThM*rm`+^h)M#_!npAez|r1LDoxHI;%R$S*Wtw)`^pSE zMcPRXzRte7jvqiLcbAv2^8Lc`Fnz3-4p9^%*aMBDGMC8z?ZjN&I{96}Ux(KRo*rXz zy3XwkHe^}Pwd6*U?w5mz(HgcDbITIIm3h_Pqh#Dzhl69&9fRtx9S?mf0ucS`-VAV$ zbKTOV-A8U0$?$KPQQH^$0{_@&g(oz1EsoDj^r_7Pg^ye&h9=y$UQ~{gAN0bSYmy7^ zjrJb*aQ+ad|ME{9Dq20%ahqL{*MKX_C7=1@NCO}&t?|&i!+;xBpDV*{WBwZEjgU<5 z&w?Noe@ujVejENKz6?E{_Ap}JmQzPYqkf}c{v9fqej6&B;a)eIci-h$qp zI_hsdv}?(K#+|${^|x&|5#v`1D%y_0!@h}_HiJ~R#z_L^YoUiv4P;el4{*^eGX zaoZB2i53>&6;>R)rM+!u5^h99H#-6hx18_ShXP<%{uKi-gZffm-` z?1mOJjH_o{#%x+;%yPX=tVZ$<(x}(h3*4Rl(ukiO?zuioZB3JO`W8AUf6HOBPvhAL zb1Ek|9RwZ#?$ND^1VtECmjCy4{{r_2OP+jUWS4sFm6MYn6Wqe)7mb;EKKu7Qi8Y}6 zR*k;%?)%pvZ~0?uet}G3Ji#&vg0SFG+b?s34`>#xnfhp&|E^9e%Uc*V_h*a&E@cJ> zvNT$meVFa%xUj(D<>#bn8hnhFVb4t7x&=b*{>|2vO2_uc4SsC3xZ=8TGL(ZwPu`%whx2>V=$SCqx*brn6C0z>|67)|7KqSoD+7ko=dQL({3x zNH0keq=Qz^^XcBCVw?d<;JL6=j<5SlVBzl_?yO;r+rA+(4L$p9o#ZmtM~{x9{$C(d zF!FeZ7u>2sp=c#_Gp09Ned;Runa{mXtQ4lnGJR@i_`KQjhwu|aV21Ab@b)@xp8iEj zh&LueauB|C`d>$uJGDla_oD)fG?^(i2v2NeGQF1R{H{dl?;_Jt&q4%D(baj;dw%+ao3xk?|vL;p7{SPv=* z&p$U3_Net~O^injOZTK_Zy<~dI)C6VX^n?qkmt2|rf2Xt(@EzAi+2hhe#6`rz27L~ zNUPEHOs`@jqcX-E89PsyqSa)8u1+PgE;iBPdT{b@*mtobOY_zI>TwpT9~dKa0ernNau*Jscl*)nQkEBgm^LJf`rhRKn4ypmTMBt0uS;=beF7OL~I@y%q4Cm!S|h&RpL%0^Ke82H$&Kgx_7+b{=^X z%IKOtLWV%=bAw(o3#xM^c0hNkdHZR>4$n~18%F}ZsP+g-AIR``C`SHR(aQG|_Av0s#Mz$qw2QYC?Rty-=#hO#%OlLqhW|pr zoa2k4|0y%X85+Nbc-GpvTH2(l!Qyvb%Npf8V5w0+VS9A+!@x|QK2q70Y zO>fv7^kSm3MEFR|)Yj74--4y7uJ~skozA^#{O@en$Kw^{F3pFG8&74PjvHva7u z@Cy=X^!yV#5;MF)Ga7R^WGgD4;(mr;Fw_C66Qs{`9_U9#P@Igm{ zR%^3Pl*7@7N64$mKgJ%GG6#--!~ z6LwgGo&TC)>#ZEe`|S$BNH~ zgGQyG;lY`TENaD?czlaPvq^A}!5wM6 zN1S6YIG~@c(26&1$W73Y)<@zG;m${?<8Ul4seUp2PG{Ss{j1K#&rm}uFBWuz<)|gp zXx!N_d8pGxxbXX>c%}O9>~?GrHfNxCm>;32$Ov7x!J=hYO~gkNIO2^tA*75EApLK8 z+5-ByJf-a`eVqvI6vU*l!a^l_@4iZrKm1Pg{MnA0bI6`{mYGM@|Cy{MI;b2rlFv3F z^qe>j?}n@3;Is ziTQ#kC}|DPvogFgyPAZ&=P-oM!fsN=PuwL|nbl)0q@T85AzdhRgSb5)<g_?Qjf zqcBr;7z53;aSC(H&-(#n+iNC^N|Ye!E#Yl0>%FTyn7ED`Q=6(IP3<{MuhEpo9GDcE ze18~vP-mSXw}P%AQImCfHYj+|;qw(k)2G;No9)<6?9$$R#D=M*PSNhqX1vBXac)>C z0U<-^d*S=UB>&XdxLqj7GVHVt@k;Eoq?MXq|4pZq-M&duk2bmZmtSMw>YV~N8XiS{ zv==8&7dZuUT8gySqiRQ@JTl~P9hf(FCuN6PpDsi)6dFQF#Hu#)xhzXV?FQOJ&2BNxqSWAp^`6U+HbZf(=ArDlRQ() zK #s~l#Hig|QdZWDPCVjEI2#g6kGyoMzoI>WZD)hyq?1}8UJ(<`sAqZJCi#YNxE zI%%0sNMRZ-Lz6S5N65!cp&kaZRxP9%8A(GyYO&B4?)R$3cvOq1G^_8Jf}z2| zT0oY5_gPPYoZ+dgvQ^p21)wTTpoQs;TPc195SK-IJ#^C?6yeT!K^l2f@k>Nc()Uvf z+Uv83x)E-mHaXbs|6}Z{g4%wgC`&0`pe+=a_D?C$qD6wIKq)O0FYfN{5>l*`;_gtq zxI?i7Def*oi%XCM0wItryR);iFFUg@zxnR`UhX$@AI|yiJ@;I<<_|t**lv@dF<;*& zX6@V-o_YqWfR_b<75psVM`*0du}-`>v?ghPEp|=vWQ3Ij0;R$|-T>h4a$=!GGgFK( zlNj`Z*l;gIUV#k7Bd%ZTGBp(fin7GogBYq-4g((CNGp5V#hlK3NSnWwR;~xws(diQ z`PvEY=QV0T?W`u#L@qzSh1*%K2~MSnR8b!eue*ZmX5wVOv)?XH6wl#C^u!M({!Oc| zKTV6hiTz_L?jtlT-F*^T;kX@OQ8!W%m|WFpaLz8{)SfIX^SR5-`Mm_w_s&qwN+ycdu$sR<^s0PNQ#R)igXmPy=L}nYh)c;tE@e}!=vadjv+hqd0)aUhGe{h>G|pss z2#G7++yg67N#j_tkn~oeO(afWoi8c?YZ5CG7k~x!2dyA+IYF#E=hv$1p^8G-nU>vz zbCbX9AO{wDoV?*rr?H7w>2tuTA)js)PlQn|Rof|;9iX!dm!rLceJ z0cW1oMS5fJHU+-~5M4@Lwx{_Dcj1PwA}VIDRBNIxKF$i?V0!%$)_$~o1cQAS*)Ohn zJ8@T97wc3Y@~>}=bV>Q|03<-##4$1R8)^1i*-!I2?~!0C5wf8hQr!XYYe}xZ#+xep zd$=B+%xBNIi8y9EdHf8J|NWoHsb{9Grt{6qZg*GNRT$?iX#y7dj;slG#xwzXyg=m# z9E-ZRxiHDa?p@$;^mkW$5-pf96b_tm^~G4>4hN>qeJ*~8bK#$-v$(;1-^YS4f4EfR zSl<~68S)33U1x*3d263wvTG6w%lfGcO)dK;HZ^#O%VcRcJ?8u9#BRitsHVfKH*WX1 zgJPtXr&^h-w!-RqL}j3H3e|vEDref0C$Gtp!bpA%^$-1Glu5dNDmiaL_u?@%As#KU zPj_3F=ra^8@oM;&Le3vOrrq4z-TJ)IA%#8+$S?;pm*jYM%gD}{&PNrlEw0R!BViab zo(G%K*a_j?o_V@0I<%*-B4U)rD>8lxln~BkZ z6Bi_!u|f7Xv)^u_LCaTyR(T-8w@g-nc_8cS(Tfa!l+EyPT;TkbAdRsb?9l){2XGI3 z)#=|7KWgYl=#~E@;BJ9thkjN*#QQGJIN3(cjYhW}qL3wT9b7oJWfRP*RfC(FC|yqX zHhEBkBj{xX(0%~sG2|X;ok(76u|f7ZlIGe21x(u8SI}M8?N-BpZ?iQI`jX=+<(G=@ zgKM2{v!@UZaO`_Maey!`&GrsSw zlZTRy(Ya5pz8_d=j!YW*CGKI|b_EMYp*GPOsv@J&@A$@Js?r404#sQ-GA14%^*)Yu z6uDHQFRU79aFe3sqXLA$XS?zPE=yZhKe>2u=GU}aaRg~~VR;Spj#_$uzqWqo73Q7@ z;6KgpINhxptQZWCJdKE&qE=uN>xBYtr9mvUm_?r@4PAyLwTfv%ZSpERHG3yzC4et(;_mGbPAiT(R*}`L^VbM&I)Zj!2Wme) z1HJg)7ofF~798&I)iT6J`6HL^FV!WPjVoqH9uZ`|cxjjR7k^*b9vV@9C|$3}&bG3nsL{ zo?ZMtPqRtPpv`m}d&eON?T$X0F4{F&y~1Hzcv?uv!ePTHB=;z|% zBICZHuAtfDiM?b0O+vHEr*SGGD(_UNU(<1%XRv0Ix5@ok6~&7?FI)|0ku7oi!!Jw6 zW!dAcx{7^fRwSUb&mR5Gn8%RK@NM+7hL}!I%vD#yQP{&xakIvFO717$yBU^RNaY&Q zEHXLgPubak=Cjt{lEqk@P89Ue35G(LWKe;@Tr10E_F&M(4LznZ^lrivlV{XZzO5J- z6fuj2ep)LH^DxQ4o885U51WM6A*ZL#{iXhh&;Q%@NHSNWcu%egX$WNmp} zAqHjxHiu2zu$!DdJ)z#^5S3mReNXpj2OoJIw25cNMT-T0b6Is^8r~y(nTI}R-R9br zN_~*8mi6?Jrc?EOpLFWe2@Pp@LC=16T=KWYTO7C9nu$J(Pvgf@Z_72nRC(T&FdcNX z@}wB1h6u>!9T=dm^O{5n z<1+qvk}D{-9B01$$#VBf(+igr#=g-IW?B6=9!PUr_nu6)gY9c?IU4eE1vm;HAOfrqg>? zJPhF?mNJ~?efutD=v`1P>iOA;YOwnPhfnl85q~-SJ?|+2CmiZ+Gx$S+TJZ9O(vj;b zw1)>D8d~JQ<=*QQa-iAE5xq{J5xc>h52;<%>6D;uRSg@!xFaM!9+t0MO|9egNXa=m zzdA%87~F&S_`sOX8xDt4iDB?4lF`@MA}CIjg zJWHNp0*k*ddOg~9XC2&OVnd;aAJ-iT%bHl2SO9I|0=QF=zt#65kuAS*4{gp_b-k1h zo#ntC=?#uA?Fd@gj33*eqQ{&*SZR_yi3txXDC6(#R(EQ5G?m<9vV6*eIl>7r6_l2) z6<4}KFSL&Vrv;AtEHv$qFnq@)n&OhGSmMc=^6_U zNxag1b0T!;!FYN{vF-HU#}vG{uqQr`a}T-#F!mD^Mq6(+skg>nf;0GMMIR0KzS~k; zZk|M7mCU%NLz*i<~p^G6pp-)0rOpfM-(;EIJc{dXiI2p&uU-{Nb3oNT10p!nX zg2N9V{m*nqa7}&Ql?Yv=fcJ{`Z59H@sPfI?_;Pq5%LLayjq`dF+8F3DXQHR%$gXMH z)HJBD0~{8-t~+SXavIp)LX05ZA~4Mj%~XgAgaab)5Bdnfh{)SXa<5>DhiyX#8yriw zXAmZ6zdgsjlF|CRSfnzV$FCXggl0xVcjTLWb_8qJ>;qIkUg?BlfQ@6#QuYQ8Fw1~p zln0E@v7z+VbvT;~Q#$%>OVG)qYxh4G#+^Ovv~q=)sQaX<*#iOE=pjP*q2txnCY!a(&}{Zh7Uw zgNQT8dZIQBi7FDoihmwSyy?pw4o8O`nyWUH!rGSwa_RU&S8XS1eHsd-MsX)77Sxvj zRf*l2A>L(yb?Lk$E1cnYW|q@LodtF*_Z>c>G|h;MuM@5-9XoblG0}Y0WTEQ;zdNRb zVo`XKLHO`c(evAGZ^6Zp27_a5%oB`S5SAaKbNhdP4O%^a1kK47}<$hdZZLO=zeL{Ryz06+o&PG`xyJdvoJXC!{3^jwlggFc-(GMX&K7ZB*3@*)K*8;hB{F*TeD!?azy1L&JJ$NtFmJi7ce6{fT(KJZp9P2R z5T!922Ay?>QZnD3bU!D0OHnQP=Wqkcbi3Al${KjR!A6wgitUO$&vLG4ECg1-fsKWj zl$jD$J==ifJ(vY5%Slnf?ULHsz#?Lc2z?%Uc)nX^0i-Z&2Rpct3Z4XoY%b@WRk*A3o-V{}|~dTkJ^ z+;~}k*+gEuvrM==sy||`)KI)Q?ex)r(%?JKOsdt9(@67W-DLxL{bdXJ?p`!r@p9WT z!cp4*V4w<9gK0HCZFX>Eb6QwNbXPtQqB-IP1`y+bqarKb_^!!taoF5@lCM9Cl}cNF zjn-Kkwx8j?@1Bg6>}Ffnwd#1R@8XTMj^SsGjSbVwdgyy7diXcgwJLag^sx5O_Bh== z-jyD^%On!Ma$y;rpvPBqI$6$MaCADEUup2OMQV+)W!BiSECo7wNT)yl)*n*6XG6J( zix8%Cf#8XjquX{Xf}j0<;_3CFx#bsyDeT*&&6-d*R;008H&444q7kR9nqi)24<5j- zqv%l?C?B}Z@gHy=h-4kQ4w=QWRG#)S1c2l*Hr>LO?Vvh10a|{r9hYd5hSvZGeQ4`ato$2)VuQ(@d*M{gy=&) zLQ-LU7QQUGq1FpSh3HnaJ076-F3u^@kTWh}V0d8!Ft}w3?vRwp-V+w6!tga%p@hVR~b8|jqMVHl(q^a)$t zAzK}+EjY8Ec_@mu~7=Q||s8a|Gf{M#@L*heeX5UgExDGj5AI)T>iEt-P$V zw(~|*Q|=0m*SE(Isr6M>uY;n6 zRTfRIDjyKgg)(kUNXvWe$GR7UzFNuKL4b$H5P0ZcfuDj{Py*5mVjq#dZ+;}MExz7ieIxpc`HiFy;WVa<%Yu19;$5krfq0RT zjvB36CL4iy#vx}N{kKtT&ke7A!U53%-+@QD{Z!0Jq5~{`3;m282rX_ zxzEVKUN%bLWui8V`3QNGUW;h6c(Yip_wDp~^wv7_g!mz|v_hyw`<70ui3GN{uD5Qc zZsa`MqGbyZyDlEIx45-1Dl}|;+xoQ?zvVZui=KMRx~!X{y-j`e zxWbXAez^*uSE_HLU#e%L$2{+%=i;_QJjVA= z>L@fX!h`D;Y#M~VwL+#%fS)w8J_Pw-f1>Fiq>KG$Rg#T|lTfCcwfs|7|LaM%h#=P= zgw_8SwhnBSPvm}#O(#e$U{TUiUfh@c>`wh@{3U_*-n@G1ONjcs6GUBO>co~~^ox6@ zW;Xk7$g{MiP4^h@p6=PN+7DEyKM|A>&=_{bQTI_sw&xCWb1KOsum36HAJYHF-6$?2 zuR>xa(_KQ)!l zkrnfr`m7t2cbpz555{v7D81`&R(FTVTCD4O)z84NBp}+1KWCPx74jvg_-+3{L6X?; z>_aod3j@2U<%P60mW4o zZODn&W)mw>m^_&D@kI^(-KQ{uiSyZa+DBF?Ov#*V!AxTM8AAi6gjiOe;i%BK2lAu& zQr;K(?$oud>%^(d+6^f3;)Bt{BqLd}w+sBJNr47e?!!NbP;RQNali=qE~T&h-97*3;ao4>;d#Zs<%J%4PT=hoxZ z^cC>zovjYnZKTl3`1F@-b)5~~-Zz`#Sq&i4Y(Wl3pkRYddDrwzKBa4t_^hhxF_?A^ z2a`bN9o*9Xg9AOqPzR)6{-4}y1b5CJ4&3HAQ&^%4B7bkxR*x3E*z;0GB!Bg1r)sO0 zm2B}7611vi_5Sw~2<}n_0afZ^tc^5S-cB;c&Ph`8^-!MQUb!6hKXP47p%;& zH^5CLJ`$%$*#>lNbLEbS8Q;&+;!bb#w)*G!Qu)*Vp>?h_G!!|rWLx-hhiJ&T@%IQ< z5O#yUtda}}yy+hWgAWjoTJcZ7=M6$XhHdBb6%uWfBlK2n`8t&|Kmy3<3}Q=^ie1n`Ha1UX}z-vsE0 zHnFEvDVG_J!ur0yMaPZUh)tzjTuJvwPvxJSk!;|Y3bONSqY#G8ZOMn@f*EJ5VDmPz zxO8`8f1i$K(ql4RKZkZN1@QoP1s##Mj455cWgW`7H0z_c8-U$zuDkT^7lB?&lxbNk z5ewS*n*O(5a0*lVxT|>6AYIAHI&e(L;IZ&Scx19#`Z$i!FtcG8HvB|ITIpaE>O zgt)(v>Zm-JUdq^{C8P6iTk%}A7~XO2{GVMO)40Y%VOD&>V56`!-HAq%njyT*=^#kS z6Hd~s1<_zVyNSvSyivk6-p2au#zF_e2LZ)!eGlPUz+x8hG5*QulaNZ6E1mhpFp<)Un6F(RFx0b@fHI z)h;j2_mIYwj}Jams<;^#wb_%oe>HFRTAs=V8eoyhF`rTJ=Cu_N| zO(_-v8dA2$N5NF#3E%TPL6M!~AB*8__IdBgM{v1)=C0O%+5_H&Wm!=n2W_U8HUfy9;BsauA%imd^4M zogs9ZnK?E>^`3CiqfQ()2lZUR0lQlnQSa6XlBh)QQi}SB{*!q6mJJd08|6#u%Y9@Wfke2zG=9Jlr|xRz zDr0+Qng1=Ngz>cx!G#cLe&KIeGB07$k~V$Ybsq<7w*5F6dC;~GYphvKRrQ~AY5(HE z#qf@W#e@o1WgCDAzww_Wqx*r-^c45al39Si&aM$%ha`V$41*A&r;;~#r$-mn&p&^f zL+RgxDA);BSi9bAfin8W2M@{BAN*syTl?(k8EAW!z{t_w`Vq3CL-+vv21};=znY61^(=thLUS`g} zu7Rv4tp#@pQ9uZXuAB8i$Y=J2QNkIPnHncBwud>mL7{87(WpflP}sG!@2Zls#m(I; z!K~75@oAG&;Uw%_P$R4QWPNthvuJY=!iGV?9hQBrU1uPjB$0d(zXkr+oIVbX{JMiAHK9HU4U;A#Zc_O{(E zaDI&=urd~oh*?~EF$>r}ZJ-;ALFM?pKB7>N>uyw!jSOdVnw#M+Gw5^5YKalIG$;29 z7=t8CI4ujC4U`Z;cE zewU#|$?mkQy0?Xpk*8$|QtB;Uf4@ghT~6n_!9EuMaFqL)TVs0q2$@>7MLE7W?~-M= zKs-`Xc_2Zm@$S_r6e@ya?52 zC=*^q-`cQV{S+36&dR9GmxiU8Q-f$+s!i7to0hV6Mh;tIGBoQyN+z%qbFmTBRp`%-HrwBs~Hm0?Sxk*=FW zR>hyJs3}}g7W{8Vn7(rqR+2=QkW!A+IOb5PLeOH!~5>X<5ix)397Zr`QGTZV;x#gwGFt>a&L2ZE>c* zIg1KU8s|A$TejGRj6Vk$ytuAH?YQvy*&NI|Krt1~!B`Ns z<;2#&cQ2vk)DLnEx(Zmo8R-xSaGMGNtn#=JJaiH?&Ov*_BE$QXQdcm2l~fHX(%18M zfagwG!gluKE^BM+C`{H*+La*h&l@NdyVFSqT+qZ-Z28o+C7Rcbrc>?R+s?Z=3D_yn zV7JX>xkfcPJEs=c*EIyN8O`yDID#dqdIFc--JO5g?e|u-v>O}T$euRq#6dxONEbNf zo(odCwA4e>VdM|U}aZ;;?@;nvAgT|Cn(y`;2u!0-zkq*|^`s!9*DcarC}pK!%=W#XY}Dl^ka1ziJng8I`j#)kfwseg9>a&+&gj!F8? zXb@(tIRk*Ukpfze!uwQhR7BxzciR=g>m6rn%vbBH;-}+OD!5GyAw%Q>(DZ_+1NQKontd<)&#bWnNK_TLH&!g#!EhN z$b}Z@w9^#~v)35w7EiOn7C&9TJ>YtY*Y|Xz^V71XG_ygP4x!jO!eyB zZCCvi@}~)pXA?`h7}Bu|>}fofjsZ7s_fetX7=8U*ipLo~)+$3md#IjN6J?3>QD(jl z_nw1n2zb=sH2d+NhfsIS-rbzB5NNP2v_;uIV~14>%nnMfw3pv~dT6z_Dk?K*{S-30^*TljoVg8sHT zj?Mt*3Rr7jUNoCsjWPlA7j0aYfNuID@a6*`Pv!yT$~{EICA2~hfOXeDpd+Kreoz-j zt~I#0w`QDEb-`T(nX`+8t9dDS{AI-I+_bwvTIwEi`zdZ`$ly)_)miIwGrpdhopX@4 zaJWL9zIx-Sxf#7@aN|r)D;@xo6|NE@jqpq2mHFJ3>}>jYeV3% zZyYoHujfdRdBFbwlB?5*(F<&u{5%^HKjO92y8ep3<;b70(;K@HBoCPPLOH#2#P7n! zN75u&3JHKRxE@8$Cd#eCIZm$S9EKBmSIYjD~54L6DC6@1+i1hFi*MCqK0p8u_y0Gd2W*L!!P(_Ve>A6nnL)LNMv zu|(F-v;?ZRySkv_gBiPxr)PN;MS%|?*;Uhj_exl~R%ZRrYS+;{QaZFOew)oyK?Cy% z3mt|lR=3@9@;aCpsQ>05)>tkF4CxduMSoHs3QKBXUcS0WeTGwQH~4(oTwQ*XQLDlk}CzuVbwV_-`kx6er~UvZ&SL>-e>1<1iasR!~H6&hx@%u1^E z=PIlM!#KqE-tfEP{6ZA`*m!oE&-u*7A9Cismr$_h6L$e*uxkn-(&2nB0tM zp=DXR%sQ8_7IN|`Y4T(g2jTWfIGh9gudd~QIc~nQ5csrei*nYY(B0WdPlduMpQjL$ zYb*xMINs)5sHu<%A~GWdh~ti(YGR8g`x} zXzv2l&NB@OAyHr;dwskHU)+%pErjiJpiVfQ6Ekz6{vXVed@OMy(FwjUsq+AfBqU?sG0dRSCT}r9SXbxL-S>F6k z62VNBS(a>7XfhMKV`66{YTei^>Bn`$)%=BhQZG6 zR<3{dT)8m!ZT5Axm&(keEeKl{rFh(r`5uz?Duvh4D;hJWk&yFJ9L1`8WxQ`L7&b_`C{btD5nz&;* zd2*wVfTC@V>13jQEXr{R=>xfyRzRg8dILn7-KIVcvqn6EL zrTN4li9g&;TJO}uiyUub_Db#8>v!=h$aUgcoQ^lAKMND;7B^mODYn~Q z>nuZ+dENQM)ueH+k}}2?ML#QXVQ$s34FPZUqrbG$XK6mF04;>^Y{f}VnI51%*?+D47P-u(ch% zuNJ*03bVQjjtsb!>ph0%S)cLi4TG!jIG^?2oHxK&1QiK z1B+ppz}!N-8FPzAQL$O??xDC6jS{^&)M55Jxp067=9ItKk!P`k$6}%Se&-zWCT3YU z)+%l}ey+B{cDF3Chu%qPLK*5>z?Ss`l>Kplw=1y{(CZW&$Yv&VY@yM5 z4~}$cx7mMqbsYT-ykFE61%=Sn#^ti6`&xT~$>rhNPhe?Hyhf zDJR7$OSW=d@158%j~Bq!|CD-tn*q%vQuR4?m*^Ps4jtlls^nfXJKuET(q?i5*UwrA zW7j+l3TF-mjW;rDeZJuKjxj1Kj`tvRyV={|D33$DxRt|*C)h~y-YdY;wxZp3I=-h> zt`v})eS`QAkOUO9{0HgbC~0amHWIq@OGBdOOJ?t&w<=TV>IyVWESJdlL;0;$9M(j) zRXQy~a9;Er-&L!(M2Yk%HyU}nhYz;pYy(}vtJvXKxd5eHhmKPAv)$ePsjX6Sv19j( z3HZtF($|5LvKFY9LfX7@jWvz3=zmSksn-Ly_G{a{VCmy8JSSG*YSWwe)R%(IMdQ5o zeueCNnQ0u)l_eV;Y-T*h>0Lhc)vRC}t4#AI#4k|2ohPEx_dYbc6DX&oTb|g4K0eyd zSYE25+=e^r8#>JIErXx9Go&0<5gQfwfYpl=JkxCyYllr!x}{P{rQR03FA z%`8DylQKD2+(eu+g6@T|Set?Tr2tBD&g73@R-AALkeB1Z5m(RQml9;LU)Jkt@=uBi zZ85PGIrt3TVp&c=R>3WF1?6V~qvkkPw<1?s!w8BK%t0fY4lDO!?z_KjHMRr4bC$O9 za$SGh-pug8xG`8sXP?ier52i+7HJh^12ML_*xNrP1*tvB^bt&DSp%%taWe&(UWht4 z-r)Ne(G{z&xTG zi6bm?{pYOE&-zh`${;Vk$Y{JjHEH~w#DIhBd&kEp2C#DMCCBzrrp&GEE-u{=4h9Ua zyUt~{`XFZ4sgS~jF)d9h-_=snY)!gusII9NvzDOY71SGh9<(+O!Q>6XvcmBHd8VN9?i0KgK?Sm%YQu9{B8wsUVWUOlIY zZoV!Ox6>?47WfslnkO~Byb<8s2ArFkTuk=ajwBJoM=6pU{bW3JcxAC^%ldUQXp8{U z93!sr$7N63gYdBicVV-PQ*$O6!y)^8?fo*gBL0Q?(}UZfn2#pC#$`Bb6S)~xW~$0n z3h@COs~DK1dyOUYT;o!U&jo~gh7(8S=Qqb4@V6v;YVNi50TiEMsN~+oip^)6K4X%v zqKr3ScJn*OjT6tAlk+E@PYLx1I!opG-f{bYZ?#EAv6^Bbe z24DCI>po@KH-9Q@FWz2=UNL+T?N~|6?WZhEpsd%bH#dnD*6Wy5ymI(br%2#6Z>Y@{ zQ`0h!J_HevD?|LJ((9HQTi16h16@)rhpN_J?A)OAJIrYWMV!YfP}Y0aLUW!l{zT!~ z^e^Ok1b5{QrjpqlU-yI^Q{1x{=pGXvy~thj=c?glpQv9-mue~**D!LayI!=W5_IMV z96zt5H{kY)@siN>n*Z^ghbBs|_DAZee7XI9#v$A<0yL0kAhO?CWqNe2vn!@gpEMxcvTb*D6(#Pyi*Y?*WP@l(sGp-AtqH zIDa>#>vB5i&)(10B*#{{9unM^WMQ4W#7_+^rv7ge$Jlhn<(gbF$wj(h0a;lZx64 zGopVtEN@dq&k1jscD5`(;tdtdlCOE7g;&3rXoGO7C02XwbUFk7u84obD1V~JeD5dyzfT=HAIJnZj*Wy2`c}M5H#V^VNfj9yDW{qa4~K3# z|0L)ruSU(2SrbcyhEbuPEa<{7|KUAVeD+8;>~}+lJ%2UQuOf#230q+up*u@~dHA3A ziNQ#EuhB=akhH{-)p@>|oY zGKHF#zrK8%eQ-)gNwMAVfTG)OLoM|O?WNw-F951zAG=2N; z&#MCY{AGg}ymApzztOO@$c@J(%&)R2>shBCbUa7!2fUCFxO3I-v3*o1Nk!!$*kLRb zy!bvNG{)Zb0ZkGK@-b5x5o_l@;a2{rpxpF(P_XYtBOc8wP8Zv!OqF;xMz^tLmICQ-3728 z3pITGOkdFWKI0S8Wo+IaV>6dre?Y~XWh}O;S+;~E5oBN=H z^Bv2l(O2wx%ITjDZ)0gah&g_oeH|o{_WByrS020frX*!>hDC|MUq7ap#CuA+>7CUh zzse6Jt55i6UmL$po_xQpoWA>-<&`t}iohGOzlC8WzuQJ8o;+90e?jLK{Oa8NWqK>~4BO{&6q~`~FG(L!!&s3DT;@Z? z6q5&a9KGK~`Bc6u#rZ3tH`q<|6M!S>7yH2I;a4myJ98msVwJnj8{Z@M*shY(%ugO( zQAPV2&V3bNXcF@*7I%&C`xJdUMRcL|CvMLYkww7JeFoevkQXduG01ZBGxk;8p&p8_;A)&0H{mgpn1SZR}q z&o|8eoiRB7v*YA^s^zXy))Vqe`q(TQQe&z?7NyVb+o4=uYEQ5;RDClv>sUQ+t=mMe zXRT3cP|>LvnEspn6=n3Yc}47RF1y+C+{gpy7u~9DX(4Jwit}sEgFc)u-ogZXMZY~G zN7yR)0M&@!pJ<(kvAGYk$}AC@@)9(>GLjpcGZl05s_iy?N=XbEqB`YGXIw9-8$STb zyUXUEDSB1tN5y|md-JixN50NfqhaQ^Hl5}xt@7|%_Lt9+4?pSmm6$d0R=;klw8fIl zsjL4iid0vdX8#9Kf6Jg>{bW`V^-owFnsod1S5E3uTTeblS;<)BTFHQ;0=j>< z7PS2WUFlwX{5kceZY9g+Rm+EMdQvia#EDh{4xQZ=mwB9hzzH4 zq;q*f_Dlu-`UkzJ?^Y8ajF6RD@>8D#Q@2LT8~^&GbM<@+ng4_=hce@$$Kv%WAPv3L znL_^R#G%Brm-^-b^+R&P$lFi8e`c4aXC7%Q?{$|Di@bbS8#7?~r@zxxFv-Bus&gjz zVJ&wjw~<)?UnN&&&!<=dKI?kZ+MFhWWqJvk!7y-!>mTOCBkCfW-dAL1id`Q$sYf5@ zkXaLkM$S=)6Dp!+t$y2(l6{xua&_kX%}X<45}JQhP4?y_qMFRBHn0odop(^0IE1ov zl6IEsv1e8rKBU2P!m{q8gsBcv(s$LXPC5t=QP|aRa*Tg_doI7j)%k^n_>tZ(=Ayq% zJai4&nrt-UY5M|xo-ZpkrCvOdIztZALWr3i&P^USUQZC-1_8?ns2}Fw-%XvK2F;$@ zDBM+G)nuu zldY6;-IhvO1SFuw1yv~tXR)@L1k=4k#6NT=#;SiV$2GklnDK z8WgPWPU`vCfviSaf2w1fU`CXf{L|S#G4GTAzK%rYkH%|={Q3eSe(7kj09p(M(S4oh z^Irm@p`D*(?>PwO36DIYyugKfAO`w+O>-qzn z)yx$FDIxBhW_$W~9K zO367rg?8md2?WX9jD3jg{-((kCVnn#lxHo=WX(dmo*CJyW>`76GaSLh#X<#+`5bh& zKYHsvak_Z_Hj68s#oY$V$BUS<0VP`De=nh17kBOpr+n++AJr8m3YZ1;+Z=r&Ev*aV z=#yZ)mlr~Nh1vDn-oq9as)vJZ)3}}d%sjTxY>Pec%+4t|2t7e`o`&N0aZ?>m{g1E=vICkx*;|@A|befXuQ-%%F#J1oEM_QnYy7W%}yK zGdMhvfWjtHDTI09;Zt|5Q62UIMZ73$;G;*+w z#U-DFG^FU-Cpj-o^klL+G%eun$g}!i{Vr*>=`DgCd78xwHJQhzbp{0?7uNY~){{<9 z`#U1OE9&k#eisN|n$}B%|63`4Kgl`cPV?0n%#N^cN8O1$X6LfMjTX-OC-3a0RC6>~ z_r63*1+SXilSl8yZz)X%lCsy;uP=5)Gcf<2^G?h!z?WeA70V4lE}*%R0mjY=XZ=$c z#?i@Qj^*@bpdzp->oD^WfJRk%7%TCV4CrU1}4i^^uQO6+f)3yHc z^3J19uKHhDH~oi`|Uj3)$*Xt@68b!@GbLfhk!Mx#lof7N8w%o z+R{4IfS>1GE%?o>Sk>r69kJ_qJy=_9xkn;szgH$C-p zAf+L9Ewv>VPhzv>`CMjN3deI@vg|~y9@azeu0w85SqcfVe1D0$ z*!JCg{uVOk>is)AF$;R9CWJx(oyy!)YD^Qu)rF zyRV2*;w&J~71`z0M6%;EpFsq*9vz%|KBpE}Vv6l~M)GXoVeZan4H*`QI=gJY0iwPh zfvEH|$1CyxS`C)eNJ(x+KLTAf{vE^% zDP(=fB<+`WhHAN3cHh-A+w z_c*)rzWs-gDW8$HfU5`VHQ}GZJ7lN>r>K%!*u90kW+cIPfg%=l9iAY(OD;O$=HU0bf#+L!iJCHC zkqfhiyCoNLLZf8&WnS^W&ED$dKp;tKVEp#LRO>5vN<`=&ZcVw>uSL@BHIIzA#~fN6Zs6e%bg> zvK}y9R17;q1x);r=8$Ve%n?u`H@m_u%9Vwjht`H zlHuHTXd%navPD<}dWX>DIpQk-!KdiAIXmX)!7M29Yi_(+^_ab}q+gbok#gCdgnHg&i!-6-Z#wurw#S(mqi+=9suRhm{ z_WfDp_`-VG@uyYx`9{KjHrc+nO@ZI0Ol9q`ANF$YfkW|Uq+;H;sXhCUZ1rNwByG-G zIT9JF)@R!!z`5e0+PC&v(_aCauk7~R#I}kvUh@FUv!;HE4;(1&*B5-)JA9twG$o@G z%F0_YzAsy1-H@!NVVKLFDsARh{w72v{Ed;Zod#*iUv@h@t-m0hnB*z1ua1pL|H*B9 zh-69OCz<}rC1?&>ytq7cD$+t0pZ2OZQ58<&!X;dm!s!^DmfS*1%=<^IelwiEm)r8q(-q$Y7lpVHPHtytoQgDb?Kn5XJVBHU(oh= zqAm#flB2xa;5Alu+uTw6#9si1$TeiJ9sH=ec$ue`v2IcK79buwJO=fp^Gfb2tAccD z$cUU_VAWN)1&12YU0kX>9-LDR*s)bU%CT3REzI5>z8u=7Vj&IJM&xLQ%|7yknCx58jf zRiL#6hGi`Q)CD+lp%sq85}P0w#p7Wm>t4c%$59wZ)F5#F;$T#JSiwQ<0WomlFQ7It z(B38vY;S9ahz$%K()wf7l3>&-6H2G;=`=$_;8F71M zPO>CsN1WD1a&hNGlwd3$JRXRs^&(dwtRSXQaIkow?Scr24q1k3hhZ5C25?c8Hjzj9 z9nW)y#G~yY@sC_V@sF)R@n~xxglgex!SZq;BJelhZ$A#XuSjxcD{ZnvRerRe**Ya! zbcG+|*?tx^XfTw=!R;5%4Z6UCD4xE^b>aBMK^Iz4ZEfwXfurrMt@%YcCHan=oUq@q zi+nk=zTg!f^#|H79%u<%^tVLM&uDeG_4wd`|M=kcqsRYJqIr=lqH=yQoFHFbNKOw{ z6c~gWB(}DJ0&SqcAb+5>4Fsv*+T!=?Z4Eju9!CxIL*V^TIsMV*`e?L@gAVuy1`b4< z93P~}KM)_|#~F=eBSWoE!>?~0jQ{!dt%LD@j_h>i$aCZzsJT!Hi$FQfF?he7fjlPc z?`K0Tg_;WK=gLv!EZNMYk~FU*CmEkdIsys$2m0>5zOyMMQ1br2qNEcCy8dNMpOBAY zu;Zslbx7^rgnPYeXDB@8(*iGv`6#EVMDf?BZz6Mj{v}K! z*tE@2hrr?cGEnRl@q#0x)Q4X3!<~+NF-KMG(o3s3P(DN`8(gwdK1`zIf$*2~62(GQ zxLv}X+>FmxcqRP8MP*0jGrE7m682BvKlG|9Yhyop?rTc?;Dx^b5x<~s8Ofj8sD{ur z#2>~!kVozNbhdP3n;W&>SmGZF@ObNtJGd`N?(e9!hbetpxY06J6R)i-W||rw0!T#-2Y2+!%EF;fuXrscyaF zp5=V!ottL`WA7Kvg8#GL`ujVx&i(xzw4dbu{%LWtbo%s-lY_DM(T9s244(n@5!9z^Ua|1G4CU2(%z>5wW|tTM4f9#sn2M%sqgp%6a}FprzmmyeS{ix zS_%zP4u2#K;<^awck%S(8+GB6fT)iWhp)4DUoP$0rR486boO4&mvKAh{fmyCgSnJv zs**gjewRyE@w_6P9*EUT|9reYPO#>T`}*#b@t3(XU_t5_MBjncXm*jr&uUc+t1{>h{AW1 z!tKK;eBTlELE`p7Yo{PDK$8QLf`b%IhB7)?JdSPDq+sy)BxngIy?Gk0ERav9BRLdp z9|oM@2G<}chl8Y7(Eh++@RfnVH>H7KR{}SrHB_(}AK3`OAOZoZ5W2Ai780DxmCSM%m%FiC-a)BGJF`YhN^``4i>CLzAnjDOM zzGgD~pZwUFG^2U0yqRe(6oU+j{r4cwwt&PvWX!jx}%JFFTLc!Sh#QGl{t_1!= z32}ihZ?`E523#&s5y%+~6gh)!aD_dt=roFVZuR$Sz=I6;mWI{SRu!)Gz4wLkl}NQin97$td3M{V1v|CwU(69p^0fJ8#{* zG#GomoCW`9z4Q0Cp#QIoA0X@&dqsuC0-9S<;Yy2s=MH11nsQ-k>CO2a#ucuj6%{Tx zuV{$n?(7wF)3Ph(va*VFwyYvGMrmw_MX!XH$BXcHjr23AGWpQ#TFk}hrs}-1qBTRoCDS1ToAkp1lrqLBMP>ll=4}OH4{~g zrMp<0^e7g^4}-xE&$R`w3$|TsYj1nk7{sWw1cPm@>SlW| z&2M~ zww|P~n^-oChKvj@W4CUoj0^)8>>0R>-7-)H*hCpKj9eLT2xTyUbre6RTZS-3(v~LK80Z31kfW)Gb2^mH~akKpMC* zFc9dS8WM0F)lE6^T{!8?yCBUNW5i>H-n{?myBY6(cILfLK0DK*KCIOm47HsNp5tmq zwL$S{Q_4UqLf-SHHf&sA5dbGXmY#`Wn_AHcv_Li2w(e5oRE$w&&1!r)< z*=K`o?PuFT$AW&=dbT@jg?#mcTFr`70#(F3{*PiE~7X9S|{_UX;wMVo9?d@$xj~(mr7nWem zFz}VhAaxw{N>Duh%H({Ils#s$(-}KE5PnZZ`PM~y`#BtooO`AHbPzOoOfYmF#_Xrz z`03;A=+>JODtio;ThPGM#bXAZc8$TeGL_y`v=8xL@z-RDT$1Y#s)d!i8<1 zs~F@uEvs(_hLxm!P#P89uq0?7j99HRx}lQPZ-YT=2olwA-i+|J!FcAA&)(zu^z-*o z?|t?O=-v0<|NP9mT%Uga9_rmsKY9P%Pv3q2%zI~0C*OPjz1QD+fBX%vzuWJP*KZjA z#_QuI^t)l)^l7>MZkT}T*MFR%cW)bqn$Y)_Tc=OC<<<$~a{Hlf7~iiy>iti^Gtj%A zf@i4DJ^{UZ=FI2d3)kmd?|lN{`UJvt2Euga%M1>C^i5MNOHWo69w=e?PA2{rjW9 z%_%6bGZh6}{kW#~?~m#SXZGV~Po2UAzM%SoYbY&Ls;_cSg^`CVziLd4~mCk?1pG+eKi@rW?<4g5`W$C9Jd(%{!ho@bL+#$_jwNJav?`d z_WqHKxg*Eq7N1`i!?`*}>WyyoPWC>N6tgW!^W93msPB7c$GV5d@xL}lBdHzV$bL+Y z&d(0J#cgL_!uxbi<&jOye>~Ppc??Rq8pjmK&dNZ?vIcwvvJ|M+4;xHXc{ALYXXWBES+ zlC9L)`+1_QxUA&8nx3M1EH0np>yL7i7w_uwa)6XCxBbC#<;>TYo!+XPG3CRp)z99E z;xiv=`IyKf;xZ(XS{AfCSL-cmKGs#GY-MvvZnduJ>S$d3azdHYwbVgy`@cO5#gIJ=ob&~YTPV{~+ey1Tv z)FeSVTw}s=>g0xUsffn|>*|3hIiuy)u7_It8{>a=OnQ$|+d)m5KbqA1 z3oBASm39WoCvWGpG8$cmu~g?oo)&?!?2akNk|Nfq}$tqAGQZVq4u*ELoMz8vw@ZX3$%fP zJ@||m7k=e4Q~A&eIaW8qO{n@z6FgGKmgn zetyuI{pQ)5vx9+~vybY9cF?YSUWv;+FLalCULd3hw!vMrgLWOxY$zPrQqZpmw{yEE&RU_cE6 zZb$q-2fCo@+~3@HmHh4RH@iZbJx4p}sH*ntj~q9D^wEu>^B*bI4YM2X-%FbCrRN2F z^r#l}=*wchi{CKfZ>r%N>WcW|9d2lP7l`>K3zUZv^R>6RO4OHKVlG^fj+Q26LpvPl z|F}`u|8eI?YCm(VHeVR-e~yjqyJ+TcrNPlLUN`U>taKN0oRRN8q)GSZr$yXX&2dj}#?4*&b3_5s z2*niPJ+v-5u{eeAr*Y{ABg$+=%(Jrb_bZQ69?H8UCYaZ=ivM=}KD>DTN#{0UnisNVG6MY}Z zrTfZuvhM?hzmH>ddMau?D=XG{JkE8s&YK?dE?n{0stP3Td%Y&n`&doQRA;W&J2h9V z@aD=7)#f^pd>`!n7swC#{<;=_g`ywfada2$fqnrB1_HTfK;Ab3{Fv8URa3+L->CTi z(7IZ$^Re26?#F5?Djuty>U_*otM^~@=6YB4$rT^!lPmwUCRY}nivNnx&ldmp*Lhz0 zzIH6)zjvzYZveJuIwSt`XJlbnXQ-&CWfkj;{JCIn)Q_gQ-IWU~D#|M=Dk>{H9{vp= z{%s!3Y@MMT>{eD7S#>Q7{{&@6iUT6y6+`feCun==?=MrM1_E9i3EU2s$c8w*4wOTC9e~pE; zv|3VHTCYiIg&jrsOTYP6X0lpL`4&sQ6~E*ZUb0a5JK*?1ABlgL%4&f+WK{**78s$t z+#*RWt&-L6mtIz6J=x;7fUY?i7ZvK}WdaA!!qdZB2zkL;>;KiOnP#|zI=J|I1oKDZ4>Th6KEFqk< z;6G1;&jWqHe=18I$9)k0`#%Yn9*iAJXRHO}PiMzKE&lXlet$YtnDhXjpK!nCcKdrk zyqMqLgFjEx(hBNn?uC+7=3Z&Prl}gT99MUxfl5}kW&sbH;HTHhD^20C?c0W6Yp*x1Z zzj78$?`KNvTEKts7Jt$uU1@jF6vOCHRrptM@?|JGMV;fW(cdlHT>H%{5NN`@CDk{AG|pW z3Lf)!2QgIJvF@NN_(ePq^gq1VhpAGeEL~Z7#YzU9qK%%gsy5bo;%u*C)!tRC3RH{Y zKf=x`D!MX{XCZ^JP(!*jIoV%RYbm!4it z-5CEuM?(^IywvXT)uZaG8XN1Y);I30+qAy1u6F(UhWgs|4SQ?XSFQK0ui8}SsjJ;o zTlZ{(cT;^seS@*V*O0L%qg%$F+C7c+Tzl6y8o<8sal?9JhGBh1H{<$CdA_5ewr+h> zZJlRN{ifPI^$lK6ARfEy%-IHOg+oL>$mSJo()U8K7 zZro&e9DLZ6Vc@#d=R^4SE}YVrSPFFY$AWbq{z3IA&@KY}OKm9rT{rDpe%fM%E~r() z=Won;U@xmcxiWOpl1sXaO#GtwWYNBh*x{SJQH24n?`F8x7f8$uEh7ZQti~_FV#Szp zB@06qbS4DeXHb8e%$ybJV_4LyYPR>BO_3(G&YaY=AGEI6$b!>A{w&@zUGm~_zuV0T*RGwaMDR5W`X^jF1AfcSlL3p^6tHCNY=Rz7li7lO zN+v45Z_4k~TOqrxW+)aY*bGaIQ-LDEY!xH@SJ)Di{+SRpuVU_4SxPxGiwT518s%i=HRXtT`*Xxy`*X5h-k)Q6d8RNl zOBRM&WMQ5qi_2}X2=1X=DQl`gZ7IH@->hcK-qtOrT$I^PoErd}e9T{oYddv%#P*7+k7+0npzX z{5_Vn7C-uLft7!OQ`cS&h4y1!fi%}Wv|z4#-q6@jm_7+Qlf>(wYW9xXjlW?FL$HAV z*8%@o=-TivJc8PT{L>R$*cM@nX^~t*T^MIq@^7U^;{He{aeqWTPq#oH^tG1z-7Ws; z8ri|f7Uvsd#=cUj#PD0Pk`qSlQoa-rBPPu3ECe~3xe(h#D8JHiW==IrPRvv5TuZ@R zSApbOAXyilWcJnJYY4yD z>Xe-BBB{hZuVOyr!}arv+$*kky4@AhLQq9T#r3N|wXpG%Rf^uMMR`|=Kk;}Vn}cc) z+CdNsOoId}kdA|=$E_d>DqqSI^QD4{>njS}E8G>~T&q~MBtF(;@B}nU5)mChLq;{qE^iSg7p)ZFX>p~oJFmMRGb0_o; z4^~vTS7@%T@~&L9(c}G>s`q|U@9THEqRMpI`>aXyWSGRJZYD8++TUM*OBq~|TDw8B z-|hEsT|9L%%Fl(Y{7E-ksHoh{wGgzb++Fc6Y+*$`bfz~lhzeWftzgwnUUusDaGCo( zxPmU7!b|h-qsN7Q|0(bcPVvLJEy{WNbM~h|n7T#O#3I6Lsd7DqUADiQa_#SSg}>C@ zRh_H*E^N5qAI{aeT;FBi{&t0`Z?lSTf4eJJg6jYjTIG}_CC93Q{%IHntTmS z9#-+)?;2d+uITDo30bkSV%^G>6&3M|E}-4)a4cz7Jd(Y@?BA_rxUjnRiVIp{2shsFutipRiI$NQ&FL4Wd#KK zcR1*Ru|^a6{Ot59Mr4om5fzZC@Kf7 zTnBYcQ6&iCTd$BInu6laAUm!572cE3tK12F)YCzwcd7p|-plKyChD;&?&GqvNk4vp z6AmZ=@6WGCk^bsQ*gxsVzVpdIu<7?rB7{uT`hMEHXVzbX;XWb@&w&d1E?qZO`&2=* z5~ckxsCYl=k3wS@K+tDy()!Pk7SLVxizfpCQ&TkWc zLD3{?)0fG5oDARMuw*l~3)G})zp4P}70}C|f^6kHi=Zk+c}FOsl!UrQRUq#DKjn@j zesf=v_|#{f%aXOr?Hc+rbh`=^@jj>4?@aLR`k*@)d~)excktS^XM)#4pVATxUJD9X zf=61f320qQ{62Pq-|vJDA5(|pFh;e`#ct*>D>!>My6r{x;d&oj3|*Z^-0wu};qNZ< z>CEGdnGQfq4)kE6zXv%>Vti9&4cwP;2Dhxe6}^*ju&H%hs*f$TqHAXIxg%$7@j)FfGouqI$5ikY>mI0d~OO#*RXQ`MEItdhn;j!s!=@HpKN;huN|1 zhgo2|{}|K}&{+t}An0124g^lOVA>sP54IdT>TP2|&l&cU+B0mex2@EZtQM?*=2Gm+ z7K-W66$0WuCiX_I#z&0I|2@$66TES$sfVJ4U3o6B-esU=xPPkQDZ>tbk5w;$bhi9H zD3;s*e9G@X%%Eo))+zAilz)kMD)6v)+TSMngJ=D%-k`tT^KRf5$$s4)Dq}MwatqYv z7D(-u0U*D~0{#IEUo35JYhlNN0d~yDDr)2NAMfGjLb=%JHS+1jl^eZ+C%48}v(n2} z_c5|%Cg{)Lz2o@&4^(V?xNAk9bsl$a?IQ1LxU#PnJ)WAN=n*0RgW>!)Dfc33MYd^Y z!|w+8{VO4ta{bUd4J@lz^`{#5>WaSJK`Z-u+QGgzHy8Q}L5~=0uV7KLPF0Hnzwmm3 z?bTIKm#g_~>&BIf%2(HT`iLe`8Rzra*P3dtH`nVGg`HR|ep&WUz3`?m#}o6{$5Cb5z_y3P0(ZNEd9&% z>7NTRt?`PYse@5Yvh>HN3q-N=@Fy<6(Pt>;eZj>QotEcV+lk7zmj15?ysJI6p4C;g zo|>nsJmOOxDBoU4|LO$kZ;B~PvDbNgF}oGp|6f7-50?VC@}Ff1#{X*ba!ggir5Ue2 zqIkd${hRI(?jCT-3z=ta<dob_@{@7mNSTOqfP!28ILbuYo^#S32rFMNe=Ks-NE&bL(IBMdr51n0KF75ik z)OVHxL5NQPgpVKl^}=Ilrj)o~LhJaossOaNE!gJzS({#X49)l#trGsKHg?5*P2HH= z2YRLvE*pB`F*H-Ys@IgzI^Hevx!I0;K`{Pq&TnF86c zaRSP7FDqk34;onE3ImgR8<@2Z^ud;6KTKe~pN#823{+$pXfzkJix#OQ&*GlPX9}11 zDdYNK#Z~;bXDqoDq9t)_2hDA+S6ua^D6ZNliZ!{>_Y88y+|?-9tnILJtL-gsb48t2 zE5f^T0viS;Zde~EeSKjsuKuoCSd%BN@^XLY;;jq;E&*)8&y379&&YoEWUg4@uB}b_`&^3_AU z&g5l5HP?lr7n`%77b{+n&7|U7R^VO1EUOnAEj8eUXoA#7KP*|MEUr8To-&h3?7Y=u z45Cn7l`Z7nY87*(tQyg}tVTq4Em<|Iq2IhZFH5Y=5|iW)d*W8+%`dK&@}*pS?lGGy zD=*uUm8Y!uvq5=@^EY8W;eclZV;+z$X0BMu=XBk>!ViuKrh4h#lt7 zvOZ!SFP4(wW99zH+GJP#fR^K$MU?(_4xy{;P7 zvm@?u-;*r{_^V`B6r8Fp&1QtL=UGI?$S_DFBAS zsEYt^`h%z1`~hhC{hA`}KB^6_#HW(B{oma62QKyOi?ggb^hfpuvN^_C49Fi_{h?56 zD1>ZnPx7%Czv@`>=LG%-T;DQP1vO?oowa8JOM9RF(~rfo{~c(V^xv&5^Z&awP~7Hkx3~D)uYvwnTllxA{DDV6Kf%wy zybgK;6bQ5r3h(@k{dkP$qs11GxZy?&p{v z(zmt|-UEMXaybqg)h!{Ek=_7}Q&Y{P%a9|NQemj|5uVe-da7244>Z zgKywx76ZW=C;}!BvMx7f1rc>4{Y@29*1F& zX(P{?(uzKqcMHAV3NQWu$EA(FzNY*yS0`E`9n)h<_jI;Rxn*8DTH$Dw$IL3#R5M47 zv^J04!M}Yy+O~tAKYF&Av-#L)?rv%GG2ZeuH!Jo5Q4gMNR==FRV@EkRuii15U-_y{ zv-y6dX*6efWi>CcrPY<3mDQ%oxPB5pu9WQ2vz7B_+p2lIY-Yth=pHC6O>!MquYlF1 z(T8oU+RQp0W?s=^f`}*{Rz^oerJ0#++M}gc;y!dYxI@*|rVj1Th7{)hRVt^M)L=lW znUrv-1}xegFdwa?uhQ{>v&z-bm#g8{(rvar9+heYO*UoUl<+x?V?A(O-GfOd0?g%n zg}KLAxm->Qn^b5?nPjyHtrk(hXMoR&IPcBawftEWO)UIeN}|Q*^GQujP1Bm1BxlnE zsd!X@RBVv~lPr?IwIJa4zudCq#h3kMFTOnBfdBYFoTO;M-!d7b4Z2t!zc-NMS?SEG z8DYUEVz__mC}T6@UsG>vs@mApw6c%bnX}vEf$KNz6Gl* zJR4TJH=+k zRl&J9tnmus95`o4*6KbMVRau-fYER`&y_nZ#l6^Qmy?;~A*`~Gg_V0mwz5_gKUoCp zf~kayiB33_Rm;THo?Nk}3dhq$CNa+rLoSOJF#QP*4W$`kK z_i~b553aa;^2ZtTvbaZ(SV_v~W!A4Os9yrqua4`~S6RQrEK$f4bA*+mMHpd+=vX3Q zSIZ|9gc>ZLxj4Md$rJc@FD+S@623&`4ZfyCMB#5UA zzX?<2xupv1SAktFu74_(npbROCU=!Hr=rT$s{-ipO4*(o zOBPl$XirS~o`}CYV=z93L9qXe&>sW%qDKo9*kh`hKlDfc7Z3dXi;&wLdH{+0_!u6X z6P{sj#;>M+!Tc}|40SLP~Q$8MUxj*XqanvGqK zx{9}}xNK(`F!JA?;S02EcOP!`yAKZ#eg3>%{sETf{CNeA0hYVn11t;Od6o*$N)ctT zEU!@PtM8Zj{oDQi15lm7>VN~={UZPMWB&lu0l&ZHfbv8{ZcB^5_IO}`_xP&=|BxS! zAI?3ru;!NStaZD;855~Rd8h+#leeJ)_zl?#cSXgbwH^-&A5pPD9CF#hvOdhcbTwP} z$ZEr~)vFDCO(wYdqAZrss13{h{+}Bv_6Ee7lWS{oA6_APYZi*0+%jl-%I2N#|3vP; ziP`4|2PcO@;_=W)@6MB=M-+Eftiz`6iyvvf@l*?=l4V|x*MtLeQC!AMHGS1N3r+Yw z%&PLPHJ(K)R(rf2C`w+F_rL%qLX(xGXITSIp^S=Zl=*;2zW}e{HQv6^z3|j}Aq2Q5 z)4fI8LBMIXkQ%!v5yCb)8S?%p3*5*R_7prPx-RAZ?aGO7^pi6%N(*HbLwt7#` zzWsN0GxhHeJt2I4b;B}HMV_U9&FB9a8XOA!J@om%?F}{cZwejXKTquc#I5+z&0fLD z`NfdTA3^=y>G9MazqIsU?SWu<)Vr3N^zYLcM6s+ZoSqIbgR!?M-I(m@IDAy83Zh$O zj0`aFxOY`oucrdEuA;Wev$EDxRqORYFAra&0Wf2=p&Gh{)$q@Vcdo19pRroGiEU*6 zgvFh{+5Jq$W?wqAl$tVhttKnI7f!l2z4YFD?|tUpdpBp?doN!07%i8xc#ZCKw>$YA zc8>?2&%tN=jLaJ~Z&mB9SXZ%5d1@D*i}m1>eCj#e436oaAHpX9@f`desdROk98|4S z<&)8>(zF(ee3XpUD_2BRvBIFKQc4|*Oh~u;MfVc7e~J4= zzdsTE{Act6fmZdQr&zYNGW?aEU|S$DJ9y8|fWq{~)}f-7e{Br80=c51Vqpb;a?;Ch z?o_~*$}0XFYo00(K5LrvmXcQy`Vqbn!Do%C4EQ+XMjX2vOS`hlbY&FJZ@GB586Vdh z-Cg-uu`>SN7yf>%GS6pV6$^3JQ*TzSnssFr?uc2k_$&S@-a|-A8C%Hjs%Y^~IDG?0 zFFpQ=ypAY$U2bmQb-8`}RP^oBX9ZX9-W8yAiu!oq7*}qeKDD`h`qt+5%~b^5wcK2$ zO@nqa)2lp#d02g_^00sV_Gh+3SHpMjz3zMUb>|sad_MRC9fn1*qsbp8bV6EMVbPxN z#HGC*KZvd@VUO2A;;!R2in_8DkiMXFNWb)TknEsxPegb>I7%3&%9UN=Dp0;rEj}xi za#RVK1xl|3*Q!}**J@U-$XE`itEyCHC|7o^u4Ls#$m*^}IA&x92#%pNGJ~L3wW>-j zpDt-hW6IQ1Ds0T2t#I`0G?tn=JHpXnrbU=&mJH5ILwl)dDXBQunVOoCGJ3SxtT9DL zvz{sOjQTnS_%|9Xrlh2%n$2O3PStUABBmy%-u?76mNt8IX=z$&dfMpGvuCHKrs+9a z$JBU^PRInw!_qL7OWEx7^t80n*|SU2)6&xcrD+Oh>zEed?1bzzYiBFjJ6j`^o3wPr ze`Kk`v{D`(qtnt;Q_(C9!_Lp)EY&eRo~20{7hZf#Z8U>2!BTkHfig6E zwp!*QoULP8gtOy#NyXnB_Lrq-gq$0#g#(xxMRS-})|cSLTKkw4=El5vso1xeJx{&d z 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