From 2cd4168cfdfc32c4291910693986007c41242780 Mon Sep 17 00:00:00 2001
From: Stone_Red <56473591+Stone-Red-Code@users.noreply.github.com>
Date: Fri, 13 Oct 2023 12:24:15 +0200
Subject: [PATCH] Create `StoneRed.LogicSimulator.Api` project
---
.../LogicGateDescriptionAttribute.cs | 12 ++++++++++++
.../Attributes/LogicGateNameAttribute.cs | 6 ++----
.../Interfaces/IColorable.cs | 2 +-
.../Interfaces/IDrawable.cs | 2 +-
.../Interfaces/IInteractable.cs | 2 +-
.../Interfaces/LogicGate.cs | 7 ++-----
.../StoneRed.LogicSimulator.Api.csproj | 17 +++++++++++++++++
.../Utilities/BitHelper.cs | 4 +---
.../Utilities}/LogicGateWorldData.cs | 2 +-
StoneRed.LogicSimulator.sln | 8 +++++++-
StoneRed.LogicSimulator/Icon.bmp | Bin 231266 -> 638162 bytes
StoneRed.LogicSimulator/Icon.ico | Bin 98270 -> 270398 bytes
.../Simulation/LogicGateSimulator.cs | 2 +-
.../LogicGateDescriptionAttribute.cs | 14 --------------
.../Simulation/LogicGates/Button.cs | 4 ++--
.../Simulation/LogicGates/Clock.cs | 4 ++--
.../Simulation/LogicGates/Lamp.cs | 4 ++--
.../Simulation/LogicGates/NotGate.cs | 4 ++--
.../Simulation/LogicGates/Pin.cs | 4 ++--
.../Simulation/LogicGates/Switch.cs | 4 ++--
.../Simulation/LogicGates/TestLogicGate.cs | 12 ++++++------
.../StoneRed.LogicSimulator.csproj | 3 +++
.../UserInterface/Screens/WorldScreen.cs | 6 +++---
.../Utilities/LogicGatesManager.cs | 6 +++---
.../WorldSaveSystem/WorldData.cs | 2 +-
.../WorldReaders/WorldReaderV1.cs | 2 +-
.../WorldWriters/WorldWriterV1.cs | 4 ++--
27 files changed, 77 insertions(+), 60 deletions(-)
create mode 100644 StoneRed.LogicSimulator.Api/Attributes/LogicGateDescriptionAttribute.cs
rename {StoneRed.LogicSimulator/Simulation/LogicGates => StoneRed.LogicSimulator.Api}/Attributes/LogicGateNameAttribute.cs (53%)
rename {StoneRed.LogicSimulator/Simulation/LogicGates => StoneRed.LogicSimulator.Api}/Interfaces/IColorable.cs (59%)
rename {StoneRed.LogicSimulator/Simulation/LogicGates => StoneRed.LogicSimulator.Api}/Interfaces/IDrawable.cs (61%)
rename {StoneRed.LogicSimulator/Simulation/LogicGates => StoneRed.LogicSimulator.Api}/Interfaces/IInteractable.cs (78%)
rename {StoneRed.LogicSimulator/Simulation/LogicGates => StoneRed.LogicSimulator.Api}/Interfaces/LogicGate.cs (96%)
create mode 100644 StoneRed.LogicSimulator.Api/StoneRed.LogicSimulator.Api.csproj
rename {StoneRed.LogicSimulator => StoneRed.LogicSimulator.Api}/Utilities/BitHelper.cs (91%)
rename {StoneRed.LogicSimulator/Simulation/LogicGates => StoneRed.LogicSimulator.Api/Utilities}/LogicGateWorldData.cs (80%)
delete mode 100644 StoneRed.LogicSimulator/Simulation/LogicGates/Attributes/LogicGateDescriptionAttribute.cs
diff --git a/StoneRed.LogicSimulator.Api/Attributes/LogicGateDescriptionAttribute.cs b/StoneRed.LogicSimulator.Api/Attributes/LogicGateDescriptionAttribute.cs
new file mode 100644
index 0000000..a65301d
--- /dev/null
+++ b/StoneRed.LogicSimulator.Api/Attributes/LogicGateDescriptionAttribute.cs
@@ -0,0 +1,12 @@
+namespace StoneRed.LogicSimulator.Api.Attributes;
+
+[AttributeUsage(AttributeTargets.Class)]
+public class LogicGateDescriptionAttribute : Attribute
+{
+ public string Description { get; }
+
+ public LogicGateDescriptionAttribute(string description)
+ {
+ Description = description;
+ }
+}
\ No newline at end of file
diff --git a/StoneRed.LogicSimulator/Simulation/LogicGates/Attributes/LogicGateNameAttribute.cs b/StoneRed.LogicSimulator.Api/Attributes/LogicGateNameAttribute.cs
similarity index 53%
rename from StoneRed.LogicSimulator/Simulation/LogicGates/Attributes/LogicGateNameAttribute.cs
rename to StoneRed.LogicSimulator.Api/Attributes/LogicGateNameAttribute.cs
index b1c20bb..7b6710c 100644
--- a/StoneRed.LogicSimulator/Simulation/LogicGates/Attributes/LogicGateNameAttribute.cs
+++ b/StoneRed.LogicSimulator.Api/Attributes/LogicGateNameAttribute.cs
@@ -1,9 +1,7 @@
-using System;
-
-namespace StoneRed.LogicSimulator.Simulation.LogicGates.Attributes;
+namespace StoneRed.LogicSimulator.Api.Attributes;
[AttributeUsage(AttributeTargets.Class)]
-internal class LogicGateNameAttribute : Attribute
+public class LogicGateNameAttribute : Attribute
{
public string Name { get; }
diff --git a/StoneRed.LogicSimulator/Simulation/LogicGates/Interfaces/IColorable.cs b/StoneRed.LogicSimulator.Api/Interfaces/IColorable.cs
similarity index 59%
rename from StoneRed.LogicSimulator/Simulation/LogicGates/Interfaces/IColorable.cs
rename to StoneRed.LogicSimulator.Api/Interfaces/IColorable.cs
index 82a5d34..8d412ae 100644
--- a/StoneRed.LogicSimulator/Simulation/LogicGates/Interfaces/IColorable.cs
+++ b/StoneRed.LogicSimulator.Api/Interfaces/IColorable.cs
@@ -1,6 +1,6 @@
using Microsoft.Xna.Framework;
-namespace StoneRed.LogicSimulator.Simulation.LogicGates.Interfaces;
+namespace StoneRed.LogicSimulator.Api.Interfaces;
internal interface IColorable
{
diff --git a/StoneRed.LogicSimulator/Simulation/LogicGates/Interfaces/IDrawable.cs b/StoneRed.LogicSimulator.Api/Interfaces/IDrawable.cs
similarity index 61%
rename from StoneRed.LogicSimulator/Simulation/LogicGates/Interfaces/IDrawable.cs
rename to StoneRed.LogicSimulator.Api/Interfaces/IDrawable.cs
index d5f4129..4257570 100644
--- a/StoneRed.LogicSimulator/Simulation/LogicGates/Interfaces/IDrawable.cs
+++ b/StoneRed.LogicSimulator.Api/Interfaces/IDrawable.cs
@@ -1,6 +1,6 @@
using Microsoft.Xna.Framework.Graphics;
-namespace StoneRed.LogicSimulator.Simulation.LogicGates.Interfaces;
+namespace StoneRed.LogicSimulator.Api.Interfaces;
internal interface IDrawable
{
diff --git a/StoneRed.LogicSimulator/Simulation/LogicGates/Interfaces/IInteractable.cs b/StoneRed.LogicSimulator.Api/Interfaces/IInteractable.cs
similarity index 78%
rename from StoneRed.LogicSimulator/Simulation/LogicGates/Interfaces/IInteractable.cs
rename to StoneRed.LogicSimulator.Api/Interfaces/IInteractable.cs
index c60ca95..3d5c084 100644
--- a/StoneRed.LogicSimulator/Simulation/LogicGates/Interfaces/IInteractable.cs
+++ b/StoneRed.LogicSimulator.Api/Interfaces/IInteractable.cs
@@ -1,6 +1,6 @@
using MonoGame.Extended.Input;
-namespace StoneRed.LogicSimulator.Simulation.LogicGates.Interfaces;
+namespace StoneRed.LogicSimulator.Api.Interfaces;
internal interface IInteractable
{
diff --git a/StoneRed.LogicSimulator/Simulation/LogicGates/Interfaces/LogicGate.cs b/StoneRed.LogicSimulator.Api/Interfaces/LogicGate.cs
similarity index 96%
rename from StoneRed.LogicSimulator/Simulation/LogicGates/Interfaces/LogicGate.cs
rename to StoneRed.LogicSimulator.Api/Interfaces/LogicGate.cs
index 5d0f261..0fd4ec9 100644
--- a/StoneRed.LogicSimulator/Simulation/LogicGates/Interfaces/LogicGate.cs
+++ b/StoneRed.LogicSimulator.Api/Interfaces/LogicGate.cs
@@ -1,11 +1,8 @@
using Microsoft.Xna.Framework.Graphics;
-using StoneRed.LogicSimulator.Utilities;
+using StoneRed.LogicSimulator.Api.Utilities;
-using System;
-using System.Collections.Generic;
-
-namespace StoneRed.LogicSimulator.Simulation.LogicGates.Interfaces;
+namespace StoneRed.LogicSimulator.Api.Interfaces;
#pragma warning disable S112 // General exceptions should never be thrown
internal abstract class LogicGate
diff --git a/StoneRed.LogicSimulator.Api/StoneRed.LogicSimulator.Api.csproj b/StoneRed.LogicSimulator.Api/StoneRed.LogicSimulator.Api.csproj
new file mode 100644
index 0000000..d37b560
--- /dev/null
+++ b/StoneRed.LogicSimulator.Api/StoneRed.LogicSimulator.Api.csproj
@@ -0,0 +1,17 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
diff --git a/StoneRed.LogicSimulator/Utilities/BitHelper.cs b/StoneRed.LogicSimulator.Api/Utilities/BitHelper.cs
similarity index 91%
rename from StoneRed.LogicSimulator/Utilities/BitHelper.cs
rename to StoneRed.LogicSimulator.Api/Utilities/BitHelper.cs
index 09e1df2..dc2bdc6 100644
--- a/StoneRed.LogicSimulator/Utilities/BitHelper.cs
+++ b/StoneRed.LogicSimulator.Api/Utilities/BitHelper.cs
@@ -1,6 +1,4 @@
-using System;
-
-namespace StoneRed.LogicSimulator.Utilities;
+namespace StoneRed.LogicSimulator.Api.Utilities;
#pragma warning disable S112 // General exceptions should never be thrown
diff --git a/StoneRed.LogicSimulator/Simulation/LogicGates/LogicGateWorldData.cs b/StoneRed.LogicSimulator.Api/Utilities/LogicGateWorldData.cs
similarity index 80%
rename from StoneRed.LogicSimulator/Simulation/LogicGates/LogicGateWorldData.cs
rename to StoneRed.LogicSimulator.Api/Utilities/LogicGateWorldData.cs
index 369b4a7..60fd4d6 100644
--- a/StoneRed.LogicSimulator/Simulation/LogicGates/LogicGateWorldData.cs
+++ b/StoneRed.LogicSimulator.Api/Utilities/LogicGateWorldData.cs
@@ -1,6 +1,6 @@
using Microsoft.Xna.Framework;
-namespace StoneRed.LogicSimulator.Simulation.LogicGates;
+namespace StoneRed.LogicSimulator.Api.Utilities;
internal record LogicGateWorldData
{
diff --git a/StoneRed.LogicSimulator.sln b/StoneRed.LogicSimulator.sln
index 75354b2..9330d31 100644
--- a/StoneRed.LogicSimulator.sln
+++ b/StoneRed.LogicSimulator.sln
@@ -3,7 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.6.33815.320
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StoneRed.LogicSimulator", "StoneRed.LogicSimulator\StoneRed.LogicSimulator.csproj", "{7B259CCA-2947-4DF8-8252-7CF75FE39B8E}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StoneRed.LogicSimulator", "StoneRed.LogicSimulator\StoneRed.LogicSimulator.csproj", "{7B259CCA-2947-4DF8-8252-7CF75FE39B8E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StoneRed.LogicSimulator.Api", "StoneRed.LogicSimulator.Api\StoneRed.LogicSimulator.Api.csproj", "{CD9C3C4D-4AF1-4A31-BDED-34CB91503B4C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -15,6 +17,10 @@ Global
{7B259CCA-2947-4DF8-8252-7CF75FE39B8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7B259CCA-2947-4DF8-8252-7CF75FE39B8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7B259CCA-2947-4DF8-8252-7CF75FE39B8E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CD9C3C4D-4AF1-4A31-BDED-34CB91503B4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CD9C3C4D-4AF1-4A31-BDED-34CB91503B4C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CD9C3C4D-4AF1-4A31-BDED-34CB91503B4C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CD9C3C4D-4AF1-4A31-BDED-34CB91503B4C}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/StoneRed.LogicSimulator/Icon.bmp b/StoneRed.LogicSimulator/Icon.bmp
index 76c228b18626ed2324533b80ce5944edd4b7f762..18feec8c1f132964f09c4d36c75e78fb8caf06a8 100644
GIT binary patch
literal 638162
zcmeFa2b?8Gb?;vtZl1WaIqzzfa{`n=86l#C0A&;~#$Zsgi2|X-v;F=U8Oskz2uZsW
zcO~Qmwy?2{{hU7U`T74aSOFm+qETK6X?G{>yzi;gx2NaMo!Ob4dpE%8t?j8>w{Lg#
zud06i>rNbimSlGp-~Z1x=l}ZzzZ-K-gM1o0^^NCV
z_l19W^?-98TDf55tCC$!F37{)PT~Nt?WJc;I3uA?No|5b%r1
z2R1f^iv(Q6UtO+NjcZi*ldj0o+({HBK~CUvnooW%>B-3^{kFjgU?o@A{HN!h4mdq@
z@;?3Xgh=SPy9NY3X$p%*C~MiI+>;yNcI0E4I~SDXE58MtMO~=+4Wl~
z@FXKrlaqoLoKtX;5>JkogX)CL@#znDCQ|q0Bu>1SY?gfP{m%c^H%0QVRV7L1jx{sW
zG}OjmZfBV#0u-!PKq;!E@O&gKIwHQ3QliroA4g5(Svj$uSt8Bc{H5hmT1oxKY<-<{
zZI0khjAv&-5Q2^yT!I;WF-Xmi!8%OU=WB_-pxw6RqaX7hLAZPu1fgTD1ym2>5!AOdu2^otEs!mla*uC
zRFJKLb&qavBG((|*_;ar$rZ9WAh!bY%Xw8OgX3L5~ChRRdEBu(LlM~`I;90G)3WdhmXVI|uZbQIVOwUSE
zBJw|iYoxX02ssza^B)=D&9hk8wBkJ4UYt^rX_oEEE|F3UJRtCBm)R=#ED
zbHXmBnEB&BN_r-wH&_$V!<)2EYwzR;dE=r8h`bB(sRdl}?pv_GZMkdTRQb6gpnJu{
z_PY%MEf`9Wh*UCPI#R|B;91_{o6fV6ZQ1yP)+UVeY&AvFX-ovIk!gd}h;J}bQ>Wlr
zT3Hh}$-g(SY4ebL_>H`!8<)?v>Y8Sse#{=zjJUS*^vrr)?I;X#~+?=UjFsWU<(JKP=tvj&yt^<@>r;)+MNcl=7*EdoTMatIjKCWJWDSE
z?+?B<@0e$~fyQq%Drs_=OYs#cX+z23-I+L0hG&ppYvKpQ1`
zT#Ce}bAYnjM$mj9UR)Of>i=Yc8uYLhjvHoj3(VBa+;ZEhSk&8m#>`)tNb9s;_o?x=Ju|NF
zJ~Vt2e0-4hAa%bE&vJEN3w?FurO(AwSxNNOQ>oVPK~h6L3JTB@q9(_IQs7N{QS^w&
z1$bIWhh0S8gz+VJT$Gpn)}#rM5wt;_vo;3)I%1aS@$)m8D
z?mZX4v!z&yrN!k7RA+9m2^;6v`s^!RQn!XS*bNA(S)3JBn2imJmw^dkuW>r*PJ
z33^9L&^7xk2y=<21zHoCd`{(D>HG3Eg8We73sG1K!ispJ0DH!B|Iyee-okNX#;_=csD6I98n=G-uX&_s|fYD
z7MRGZMelm34u~Qi3ACSb53sJ-m<7O19q#1H*81y|;T0)A6yAt|^d|AIROLi;arQSo`;5i9z{
z(bpk2Ao&ySpuIuIHO(^pNF%Hp(gWri(R^0-@>GML&@;X=34zMv4b>%equ@#uN0}Sr
zK0J}BYcsd7^R;&BU-~Req}QsFP_`wj1?pq<;-Je%0olK{@KU`pJn$M4s=6?dcbPnhm`r#!EOQq;)rzhR&sKOn=RHUaPTVB?Af|(6
z)P`(*PH8JkF;vK;gWkX2@X7@h3CLobkpSmPLtx{9p)WW3animaU~-Z)pEVJoe4hcm
zki-+7^$%P`E4k$j6g``Zu_Q%e`VE+91`pi(&virH?
zl~zj1U@D%?yY@=%u(t9!t>w!q#Y-xc3rdv>@}QE$=K>-X)>@ZjF>G=awqxNWA63
zO3THSw(~2kZ;W&M)6)Dq#@zE;dj>^ApGl%gT$B$BNIE5y2>r&@*Q3K9I^7G
zb61>x+0v6QTXpi~t53gTU&q8dfAH8u3UBMmHV7}<(ktj
zpH*0S$`uU>Ts<4skP{zPopH&sGcR9#+WVHB^1hWPziq1^Uy8l
zk;RN6N**n|p^7%w)-hL}*4ot>P~9cG&9;>OIy)VCIQgp5=KM
z%DW!sD}eQ-B-OL%^2e6jubtQVwU)}ai^cyaxBPpl_5ViY@02UwCR8fl(LlUZ`S()g
z|FpLMN1^g?q4>SF)^E4BJy6Jhz`6Z6)68=<^CJ}#a>*tSac@$S=eJwxqPNX!`=jOa
z{-L$)-&
z{?HXqce#Zw!1@tE-%!KMb2a^uH3g>yD(@>T2P`@JgNOd^*Y>;b;iY#!vFOepEWGna
z^X_=E^UF^xzUzr)Uy?BYjwd_rc&h8pA1=D%hh29)SvM@W^9Oaq;=7(|NFWay7T)os
zh6P`GV&VUgOwPaaiDh>_wd6}rF8d$fJK*j|)_wWkmVf@Ct~b2J?!86|5>-O2te)cn;`3&iM)RyLrTz&e}pZ?H?K6J_{r=Z8VH8xKvo>u(Fov5t*F8vkt
zGJTt<%d=5ba=ByLx<0ye$v5YBJ=Wg-SZCLNcFcdI)bUtH=OYq29!)~$Bki5vZSVX}
zXV=5!w#Ooz`r$flPL-njYTzGseq@abb8c;djj{%PLp-|XTJ>^XRTP~A#_yyVKm
zs|j0{XECo%!LzwIF2l1y&|X+@$dWTYa`5$EKk}X*9oql&VFS+`I`A9;s1NLaftxyT
zp~lm{R$S6I{ioCZAq1J@M=C$^P-zpM0vQZSSY#+=(81Y8J@L|Y@`?1SORjpl=qd^Ffrc%~A4Ep+FGZb@DoC#bH{
zX**3GcH*lv}FdjL2d
zXP^W5D$X9^+2A%E&Xdc_m#LI>->4fHb(=r!QW-SP@CdCB66Q
zkec?p9rA4GPDpt+c018H)boW4{vlxL-xiQB-E
z*u4jyZHu1`!mU9t7`Pz`;Z_&C>cUqDH9Q*!+b8pEPMp}hN}f{&>-;#W>K>IW&(6Q&
zyEQx;4h$FiMwMr!!PD>(hTRSe(Dw5E(iHQ=`$_RkI=S6yN+Wn7C0Qa_o{jH+rL=Kt
zzIUv+ew=4l-1TqK376LJtTgzhRR^g6KEUcYmclPGr#SXXEW<^t6~3=D?uy$FU3B^f
z5Bt5Zui5a}{Jxiq_lzjdhJAy=v%dRVkvT<0bzi-&}47&%1#bSBf^8u$SS;0yyOC1sUOMGgA{>xD60W}bY78J45V&960HuLEOKXQw
zU=`J~GG@W++0dQXTKs%x=?8^iD5~mN1fUCt92yp3t3gwuZN+H2@@%=Vxzh3|JR5}T
zM8Y(40|(_<|JW8i8@cm4N)NT>o`YmXdizWY;X=Efc_q;ca2IXkMxtPQ6pkQx%f)9(
zqG!)@ZV4~*oqeR846fy|J|wS;Z^
zM}j^f)}Wh=Z7U3Huk?(SHjK3lj8z7ApgK(9pD
zH2-9hln;OS!>C#;&NIViMn_3?3}jS{sDLSW7Coyx8;6OW-679nH`rY~D~`RMXFJQ^
zfM=sJ-!DAUnc@{Dy
zNNe|vQ(8Xnn5uC78@(6->INk3Z1{949+{G7H7C7e!TN+}gWjzRZ~v}4{!-ytk(MGS
zd5Z5co~7X6cl@HUuCvG6FAV3mb{@Lwg!i3z!$U{j`$KrP_`oY+{}wn@h^!vZdb@$3
zT~)HXh-b-9mS-hz-Xi2S4pJXl`^JQ7d$+^0^Lsb1y?^u3-H+_^8+R-{^qsBwHH;_n
zqeWy~Cag#uPI=Zp;H65>h#mAGpi`bDq9n^l?3ikkz5e>^;VI0WP*ti8HIk<6X(UU2
z5Zdg?Hd)m;ABl4>pZe6NQ0Ql#d1hBv7k7$nL|wjS0okNOvplPhI$sEQIP>-a?{?u&
zS}uK|t^5OCw8Lmjtg+#CvCNL^+3letkS>XZP%O4$H^{$OEb3@k3_gMaOby|zfmqcuVNM@u9=jNUf%i}84@uYA5zHF5DR558QA;z$
z7Rl^cl>*|5ysQw&FlHHfiRm73_l@wX(dP`>fh6Z~2L-tCt@DAnzUanEH@DvsUcnTQ^t14lo+E63PxqBMb
zYTnpqBjlgl!n5QS1Hv2L@CH<^-gOGX&ecujSsr&%0MhI|uShY_dq9!QOL;agJzX>6
z*&yT{d`R?c<*_jMToCM=wHu@v*2vCfJNqj=4>v-Uf)cUMx?qWO?`bPNRLVbxS=Jj3
zl81qOoXoS@o5yn^+LrKaVmByppUTypzqeMT}#IoG=!3cq*Tm8Pq*B13$&Z^DJh=BMC2-$rC;qK5m=Rt
z%&^x?vS%ZOd*Qx#kYGSqxNxCDm)$ESGv80(<$)r(#w(
zf?gVLJ>-#)6ID2j84=5DOh--M;G)|eg=YiTfrJt#7XK{d-igl*zxuzHn&6qmvpN2{
zaBLyZ90tXbTePn`^Qw8D{pS4smkK?vz=k}=!VN>Mn*e!8`j_Nhyt?-hxkvOYfMXVy
zr=8Fo$A}G@1C(mVk<7dY%o0yIn}&>-m8;|bpr#%KwO7+|x8x+achqh0&$EH;Zo^h&
zZ+YWbaNpK=<5;+HXx^U=FS+MOx!>q^M_k~_D|6y|lT4eSJnI_>dNwh)*2giMnyNYN
z_-b!&hk76&xCsr*rmx;GDGa5wr8KI9rRjSh&kCXX2SEC4AVNObG@^IMot|{kNi8k7
z0oHC=lqSbHI-4j@H*dZXKH-DZQ=0z-o-Gu<0MBBRO?g&2l)PU-Mk*#eOUFH&6*{pS
zw0b>@-2kVt>_xLV&Zh5NT+b$KI8o0k&rZ~{V&Bj_SBZ5xo@H(X@bHhKoy*!Zzw)J!
z?7ZEeye{S0Xh4jxP%7N2JWETX&C@4CI<)JRqgo6^=_EYsi5Np(-5@4{M(_gX5f(_<
zp~|zo(jpAuae3kGAB2_YQ_AuzF0|6rrFQKKo<+@4jf1eI98?${vFP}-j=ANl$9Dgq
zt8a6;f2&vt`p3v*sc$sw9t;HVglG9m;%M{k5mAfXBN6ZBuq{q?RcrXJ;Mtxb-1x`<
z~Ne-$-&yrz`MH{8>G438J4UECFt`C2Y7gzQC{55xd_mB_%VcUMk7h^Ge
z@ir+|wWQ%w=XQ!`AzU^(;?F<-e1=h>_~5B5rD}W++(Vt@%Jb?DGR%=2#?yibdp6ki
zyz|b(7)?`7X=|EhJ=Iq!&&q?&bCvv+DPTl#1TuR14e)HS{1n0vp{kPpu#HAbxfkGBZ=c=I6ZeEH%q7ngPE@`9glBnBV4uY}<<2jaABqdlg`pY>61%|!
zo)ufOcui#WY*c(cO!O>9UeU9j9BQsP_m4ucLON_}pKV!JdfN@1w?C2V9n2wBuo8OP
zoW6+*MW#W;l=gk~!ERn{^(3;_%UF3G7Ak>6sv2#!@3T`L&($Z9EPeF6hV%9<)X*br
z%NuU4Z)ou!JQ5yvX`b2LXre(*dcgd%(2v=hJBD@6AUYwE@u$2g`?YhJ_NXgvUDo-o
zYnQKoylvA~tg+B54=Q?-^8NTo;a%VrB}SO4xmlhi@GK6?-pUNe5f@+P{-Ip|Al7FA
zr+Ib*-_=P4&_|+vk)
z1<%T>Zm;wvk*m0OPsUP_y>o1TC6raQLJ9idWEY@$GfETKBH&7lBJhSdP{m>I&tVi&6J5HW~jKE~?OX9?D~bn^H0BpA+(Cpq2rS
ze&;|*s
zS-PP`$?`tyd6qqNK-+^FlAte`yO?Kr=dJQAhT6qne6$YF@&eX4o}FCnNuk8xStj%>
z;7J-Ta`DpQMK^Z!J}>ypo@Zsav)BzrR4q1}XO(KzZXly1{L>VYCCCF{3ZBjPAha3G
z#xr2FZR57~-}_g0!sS731w4z_V3ub^NX@jCPC9P+^5yWXa%f7gdnu*X%{C;9TGu_|
zmk9TZo~_HXY2qZDY7;=52c35vmp%&Bv)%3T~F^A^fyyZ6Vl=A(Gi9*CCAi9;?At>ev@&od6
z;5KY8&>_}8m>-bQdj3h~A8C!nQwz@T#ccy4vY;xiU1VF-E5Ua>Nh0qsLVpm6Ih;aTWFdWvZL6+gOo}~|J*YhlNN%`W)MIZvn3eVD6HwDjD?i&VwiXN(Eq6y*I
zlimx@@_3^cI^|hU2(#o_Pb{*7Ym{eEdFuS6tTc0;RW?kiEoJI7Wv3&0=9=^C*_2q*
zOzOv}F2uLoTKX+ii@yQ=U|F8c#&^iDdO*sv@~D$0Aof|`K{-Ls=DdBj>Vmp`MtU~?
zTfZqvwZ&V82vhW
zw(#~FT5o>}Ws1K6a>jF(7!zytthb8tEd(mQU*g^Ay^c_1^!snx;=|V5z*aiP>5L-K
zAMMpEF795*sv;v1St|Qkq;o1gn@T_0HWM!}ESO=SExpnmkK)U3e6^)-uzg_bK3{y;
zoqRsiu8Y5Bz*=)T)(wPnS#`WoTS@}e6N*v77g+(TfoGIlzB0e_k{eg_yx{QY!XrwQ
zpa25SIbI8RVqyOF5a~@R<_WbyaQJm?7%O6#=^tVg2|whaGF#lHI$p0Rdk-v58d_xX
zih#rH`t1^M>hisd@GNhsQj)5PaDZ-_uEf`<
zJ?E@B6**)}^Pu1IkvydP^xHJTPp}(s3=w|94dTa!Ul(?2g$I%~o~17Qs_-mg$6E}<
zyR&j;aT77h|yq9
zJWF9IxzzBia#l)GH6PP-B76mB!CbtO^HJm31Lhd#%v^#^&!cg;k_)Ny#txvg%U2qi
z=8EZgIA$8V!OZJ$s%PbC#Rp$8Q~Rv%&*F7}
z|7pd
zPZU}ApxY?6xwvN=exPlATaWE|=A@oqyk_7h$8G%SYkGhDy8fRYH}JFL`hId;?@v$Y
z|F7fwe%6riy1t*KA$!8t^gnZK-_MWk`SEMHX#WpS8TjE@y-yr>+rKV5<;V%CyKDzfO*?XT${KWpB)D6e=|JNZs
zn|Un|gUosn;22~g=I9~wX;2%2%;GpCFFop(&@sG
z+?o13N1lbS@J0Q=2R;C8U3lSz7him_Mo^0l+3*VBglu{?jlcWd@4o1wi}>pO?|;AQ
zQ?ile(5a|4dkm+V%04^u8Vuso^n)4C?zue608n0m*E91h?}?-C_Ma9%_BY{gJmjwV
zYIyB~?y9eb*ZgsG?Vm(fKNw&AC%J3>G`i}K8xn%6{x}WU6S}Ma++F==?&?1dxac+a
zm#^70|C)`(_kJmV$dN2g5A87PHwY5B3zVK${*($3hgE*$)
zSsrHaY&)YEZhNZoiLbls?swNbn7?))cimUH&FsC;C7$P;J`}F~V?z4TedNLT`hRtI
zJPXg3Fc4wB;7NduC?#1UdlAo~H<@qnlv7T@!pnq;Y)sL@`?$vEzE4j@B#pz5IHIwg
zdg`gHQKqb#lW#75#H4;`I-I%cEsLpz!ea%rFYmRAKdra%v*A`bFQ(66*
z`D;$7%s)JAU&QDyN`@XVUTgd;KRH;iX`4t|KmIT-`0n*Y&t7=*>h9+mx?01te5|I3
z|8G{$@~U3$9a+-*O!VvP7aaDs_BF5TSb2Qssw3yG1=xn+*|O@G*44+>1QI*fo;L5a
z>)LPpR(tnLxKumFM=+baSc)=wcARR(6?%`>v!DCi=a?&irDxM+WvKzF(X%17L5V<5
zCGRnr?Wm)UV#Nm?UIDk7-5`U_OryV=Jj)y?@GP3EWz*KK^*?u)f7vZM!MQaqVEIUf
z9kW(8fnnM7IBT3CEsY4lJXbe_T`pYUBEn)9EO6ms7qbpFnZXz3HOAeK}9q_)9^~}(6
z+U>6T&bzJpcWQmJ-swG-^>O2RTBn(;#IOB_ZuKpQNi_>W%vh{qL07R<`;@F66S1Ol
zL#z3mQc9ZvHJ38ph_Upekzvmb23`OZ4DfEe-Y{Ijs
z*OYL*^+5IPWS+&ZYfrJyD$nY?U$y1dpwC(%vnSJ(Bab|iWg;P2lx&tmv)r1EXOA(S
zRXi2RUp1bUVW69sdvvJS`|9HRUVvxaqJy0XMi?ONauh>KqeHe9kH;A^C&ZH^;2p@^
zuQDxR(dDG~pIrD7Ql4!_$6`_$68fvpvy3%R^_uQ?$g|7)UWR82rDZa=C)!-*y3)IB
zIIt5=D68!3e_HD&|EzQUW_T9rp9#;xwshZR_3WO)v-JC8pGD86YZLH5md90-H?D$$
z#$JJ*RVN47mMzPwljFv-lZ)k7lV`;tVbciCwyiyb%kO?Qe|eu~{Wt|F2y#wk@a2_0
z4rhb7e@}69@$34~hdy-p;fLoL7U(xAnkH7H_noTjDom?`&
z$mZ3ORHI)yzpnar17U=X!|-f--!MFzyR6sEKg_QnAUvz|r?AkvyZ~zm$xfq`rS(dC
z7Mq0^ubw_ygpVL4Z!4gwE6+Big~@fA#Ir#OL$ln55+bs;Q9N72u<1t}G~7XF7C-e+
z>picG^Q;WC&5&$rJ=g_2OJxFpx$rD@1NaVgsi%_SYW}9z(ta>VHcOycVy%g14>P-g
zmJ^HH&AZa><$>jjj>?yh(?+pXYl@|JnLH%ZsGj#8<=2TD|z5mvfhI2p1h9uVP-%
zL1$UAqxGgAn-ocThkFvN$cN}x_6ft12i+vna5$?c=hPkn-tog6SK?Dp3JObGF1lsa
zhG)g7?T1lK-lJz3g2ku}B7RVSj0-@|F1`P0cj;}ez~UO1y_q*#mhI&dje^l*0UWg<
z$D|Mkol*MqL#6vR%M!=~gQ8evTH$&;>%G3}`WvX81qs!&zF5Y=nnjE@#?i*Jo^57b
zf2l5zh`gszC8h2p<8CwaeE({XQxHUrXLn4~dmzs;s$Y246^&<&XT`6}^z1C2tCJ4Z
z2aJD4$kU=Rb_2iOt+-z9u{?|Kx-3;PTpZZ4=)TRt7363}aM9)_3
zv!ZaBa%|xF;G)}IyqZ}V0#3!9a9Xa=u&oNzL{xKJ?%-3)pZ<%=eVbc1y&|(!umanL
zNp^#(=|I$Oz42hCXQimjZZP-iYCLN^o2f+;dA6!&jc3hnV0t#wOlBYb)#O>!7WP@3
zc-ni0R)6K?@?{(H^N+|Qz|$TYlvf%WD8Fh7sH(=qk;;d0%VqT|p9}dwM7K0jO=#fX
zah^@bgJtxrSUKwl(X%pp8G2TENi-jHKZ?1tiP(^8?oaK|~
z*|tx8qx~yeaFLecM$F=Jpm|I8RWDl8v-RtczS)_ct&h%ZQjKSgXEXI>oM($wzb@n1
zowv_w>jK|7`gPHvU*m6}445gorbLZr(-NE`zIq-JO%0siV2`)Y=2>`k<96IC%e_Nl
zH~6)?-I4>*S~B>@2RiyOQZjXm20k_<&|=jHD}ZN0+7FhPZjotKx6pz_GkR9~y#3db
z-taBqSuVnYE#9ZC7>U2ZO{=<}W}<-lVphCmy`I&D!ZLbxzuwLHOTOS*=J{E03VG&f
zkgj`Fdt>mdXX*A5H!QeAPAPxtuPS$MD{S1xjE>l6OFe#8;#ABM*`b~dnCDv@{dUrB
zkhapf^DO?eS--CI%nh#s*%NXVKAN7*VzP5_<5}a`OwF0Vv;IjiCC|zz)oPfEXZP)S
z@mHN^0XOAD)(2yrZ^S8+x~9XcvTpxb&r=-~Knf9#x$3H`;917qrf16(TeG6SBs`le
z5hnA``XvcueXx4-&r;$2Q@Sc-6lw)wju5A%HY+_V>nTLrT)dS9#ALDCWWC$1VfmRj
z`b!tSllA+;z%OhiD*!Znlc%gGB7p#Ll%IP3S+Nx+D$LJ9tMePk$kC1BP+9C7Tz=0>
zxhw9)-#{h~u5O%vqTX!yE$pEuQ~)G%ag=9FT*Sf(OIk1a+{z6R4SXwNTMnn-)l>@6+=*_fcZ!%Fp%ClK+g@Tn{(@6R)<8B!b#;HI~_o|Vb3Z!0Wuh+A`#5@};G@fm06KK-O
zl@sLTeqfx8P%AElXIHHMud-i*GFd{cPZq6_#n?6I!t4XXG8osdGF$H7&cd;a2R6qS
z{(ewgB$GzSh+C%6Ww~ntE?Wl4x}J)0{&UkLsxaPMXkynrSAk`|S?V$Ln6*v;?J#G|C4r+d#rCLOB_}w<&q^~NMQss-nCxOvXX_U
z!b0z0rSH`>1J4yMxXl$;2{i;c)@BeRxYuNj%ygY|?HN1^nsVoU&KLH~(#=u`%9|;@
zD(#ZUritt|!dGlM-z)Ra>b!`0PHveGNd>d9JR7*Bp=+x;BN@-m
zy`Xl*8MHF67mGoF$$)OFvWr)=U3kly?w_@G55uZnz@lW+Ad*&BLS*$VhTCGLfrS}#
zi``)D#^>|rf58=2a!z=*EQ*#D%Xfhq+cS8ULPLS72xX6+WhEFj&cdWfTF;{}9tq9q8n%LNgQiJjA+)>r0#d&7MvtGlF%9>z)QSsD1
zTQ0s(4*xoG?~dHkIN@0yy5n_Y?iu!HFg@EKASa#%rKv$Z0%XNvCUT7zA9>&*^*k
z^uC`R+4Fo7dY?Oz(D&?-eNX%F?2-LHKXTw_hxb2yxFkM%Oz(faw*SX(|LWuWTzqq`
zyh`j3E@sJI-f(2zu_kYfMVw%t^%hu}=ewS>L9^_$N>bwuEDTu*=B%^My5fo}e(l$O
zjs5%lM&!!sMmlNivl0FBo$q|-zWeUWd|i5408Asz15+t?0S6p-;DPJbts}y=-+ue;zyJQ}9x~O91Bj5Wku_`9w6?a24Z^<;
zq~~lZlzJ88*|~$P^?~#3q@GQvc2pL=jke}XFBHSS4uW?D8GnN&bbFYdoqNgGo`IKn
zaKzaQj(pRCquxkZc=$Ps
z4}Uv>rN9;(dJbXnp>JJw=-KmMb7o=bfw3!wF{cX3IXIl@TrvMPcN3mH=(KTvgI%v@
z({`md>giF;B|1^JE{gyKvysTR9M7JQ8evbm#x{e+jDYphycT1IaqnMT
zkTrMZ^*@)4o8xD!TNc8g60pANKsF+LgU>8GC{{M;R;B_YG`>Piy7wY_w)NBBXuanb
zCGRJThitAV<2;)g4Aw0B?4&$Nf=6P?``2%GxUYNWW+ajmPHQ|ncWl#gpUksy;knuJ
zY?yyZc-Eb7JUjQI*~Mqb+6^FC;aP(38I$HVHP6a})bp(WK^>mWb0TOq+SNSUay{!Q
z>|s2sg{rM?=k~j@T1deg&w3E%2)mXwCz&13P7hiycg1>VPJ?s5vapn;n
z)A091DSgwkb1eGFKUYaB{a`sK>nTLyet`VUiw4aVU4fo4=^R7sdd}1-#-LY9Sc+Mu
zMDXR}=P!`=80Hy}naE^X14dS%XF1`nkh9End(dfZdoRyUE}PwwVmzDj;~eqV^RSmy
ztK}_!+-@+9o=q$U8KZ&m>>LYXPx!g=tWaTwXE6|DdA3Tjm==<$9H--1S-5us&r->Z
zXZM7%o>3l*XZHx6^{!n}I22)=^&wY$t{DAQ6udKZ3z-8Hku372@%_uDXJ^z*W_wWj
z&}F6v87Yg3^}HzKWu1)XVvz+@>V)8BtURY>jYtVZ#E!uH2vY8>sUZ~rJq%Y`!ki^Fb^Q_H|)o+Xo*3dFdO;aU34jAwUo@iq8z%CkoweRR4$Se8Sl
z;@a#n#fVH70Gmfy(P
zIGjIHdd=R(^=u{eH`q({tYEjBHodg*?A+n^jYi6GazEHKeqAZg;@}lW!;^V72wG)$
zrSa_COK8`gLF)rtS?0PFpD#fe67s~2b}!;tci^eo54P9yEZ`@l(zHL**D>|$Vy1c1E^jWRpLY{6O_@@^e0G
zUdL;)PioZ13=m-<*#C_ApZq%O-R1^xn;mAx;T-cD^s$CQHjpBLiEm`)+`dufKxpq9
zYW+Q#f0pSSYv-Spn@#Q^bFp9EsL}#@_P2lgw{(7;rk5O6M0r<5o2W?#wko7+3|I2jAt|0Wuj8FRsY$&T+fPy+3(Mud$mgGvT*3Z`
zRu$vnRvG%mkgx!o>?l44x#0QM{IiSOo>1b&Qp$Pp31m>11iHw?;mf<2Ad2M}
zd3575NEaF<29>jyH=KrqYWH3J=U%rSed-C$Ve4e)+lshD*k@^CEG
zvmLFEI(L%`*5NDTNrmd9kJIelH!w(YVwkE}M441imW_CS9hpER$9PM(B5)V97XPvo
zZT9L_)-DS|zkmX(Cj`S$JSa-m4Yo#`7q>sYc-~*Omv1fP-W(QI%M_!bEUBbgrU9+L
z{wa)S>*F$)RAnpWSyiQpZuNQ=l`2L9se=sii_~a$>!*4pzzp?6yWl3hQXU+)bC>3VTKlGtbc`e0D-
z1pDl+)U(=Rwfv@Py}LeLc{XdGO-1W8kv&Pz*79r+4A$Y<;N}TDo2AAiUdymbxKot~
zJX=GxnnKNFv}GZT^6cD-&|O%=v$F7_JQ#+=l7OU*wpQY?&cZA0`TvMrw{zDz_j>2(
zH$V~NkSu$+EU7_Bg2-Vk(2kqO?cLi{z`Z@iZLU=acVp8WS2b7>+&oWBVq8A%6B%BL7|ps3kSamo^9Fm
z3_KeT4DWF~OV$BGC;Zm9G#KE`tiK>g`H8@Z?8;3kKFta1KVEaqHMib+D@&HKv8>rt
zdRDv0^Z<=tc;ST$7A#P{&fX^RnQvMz)jB17;tf)88T7|V0yp2eTE8wj?xhDmYn)X*
z3z5ZJT>ztvKy7ijrILTrxvx0)cIOUrZvQF5fzH(pQyo85Iw#>OM?3dA=gxHQx>Dh9
z+X~OQ=p}WY4fERwxo8ZJh`9Jtd&{>9#orI&x4U4Uz*P`6xd@`kE5T>Rx^o#d0WbJfJP5n@K
zUAbN;7GE=~5aeGQMkf?pie0{n2cP+VRg7{^6z(V|Fb6Z_3BNRdgSwzn{
z_ovR?=oxthUR?P&CSWcwo}FzK+S86t8p1@L^}Sw^uA*4T>c~+NJER{+J9dytcXPoh-H@)fX
zv(J93-`?_;x4i9bZzIaSsheJ|X3rJh{`R+%c;%H>UVr`ds$t>K9r|@m!?RTP^yxD5
zs=xC*n|K-|gTX}JGVIE`rbgkmIM|*Gx0UiQhVI{k;H$o)X@hfhL$7mn1AS9w*=vqKo(Qj=G-$*ECwI+`gc*}Doo@|
z_Zf@!=?jNEtwr7=W0CgKC)ViA^lYOM_4Qv#mOYMF%=3+lAG%efmL$mhvlMZ;$dU>H
zwx+;!xM-DI_jY&s$K8AX$X$7-d;gc+m3O%-?v(wNUvXF5?cVnlcjZ0qiu)uGNk8&!
zQ^RFF!Bu}9{lQOyo*|@bPDpkH(}5qbAY&G4LeBdez_W}QOZ4pPFKeQnrSznc&^~g!
z2+DTIA%~oI-g%$=CWsO{q)|M(|9@d@^%@8V6f!Tw_(`xrT)YYQ>U{+3&A
z*&)wP(+|ci?+HBXrwbT_XX9XNrT9`y`O*3FzqNefUoTnoH}%89Z!M`8mM#AKx?#z}
zzpEdXeSPtQhgL59`z2l9>gxDbd;7P`<)4)bP`}r+Rh~s?N5OCqK36GxHHfcq;cMey
zS;4jQb_u7l`ct}z3B~g)xEjwko)nvKMkU##1eudN4460uo)sbpV~7==EydV`WGlv{
zd~QK;#c}&yc!kZ5N)Uv#TFHt5mzYc@{|3R)Cl-m&+*G%PzZ&
zcXKo&ET)Wh^UXIySnSzI+{K%!S1y{`3N$hk>%lZUtCeiFwU;_azrjw}XRAG6s%N(+
zUQG;@s9a-kdLPF6RfM{428y(MwUikk7wTHx!Gn6yjG}@`I&lOD=c?
zw=MB2pa+b;uTY(5w=&TI?!AR@G?)8Dd&{F?)bHF?-gLkKuy&Xhy8#W5`9}PdBZwim
zSKf{AyKMAkdbYucYW-)QJ}Lc@;zG5gAZL|oT@fz>%m$qp95i6=vgq;0z}WU#`r}SU4(2z!=e_I
zRh8zTHa61rv^t5zgGz@%^s(
z54F$#Z@KcjTzHs^=Fv6cr$Nl{EN%?EUmDNOs!Hv?gVQFUR6Chx)&I{$MVDU`FF$_S
zyKg@75B|@(_0P?}`<3>MBbDB5`JS!9umdCcz9EJNlqV4DF6G(6z>xUN!m}I3;`L$;
zh`NW%>#@>~^Q`)Kh5gOsS;e$&nSyd_YwH0A9019}q)^iD{_gK)iA<>t{g~yrsR*t~
z=~>21FELGi_-ZPiRS>2Dq%KOD*f5@j(UO4x5~1Ho2sa)SlW081ZcX*d;X7oX}x-MZGdsBHkM0#8sBr4x!W_8WE>1pEvzU>_&3T+7%Ax
z^Dmc+PsHJ$Irk~&&US8JR4tW$uw~wW;!3yfEO+T2F1`KX1>Ktq8@A>*jTM;biaD{mWm+uPCw=z}a%Iwh
ziSOwn0e-B0N*C?ipZgx40Ux~oK;KBDp?}ErZH4Gr;5OFn8NlBK#lyJ*oOp@ZrMCe`Rn|2CdyWv0Oqe81>%k}{9~3|v+;@a
znjR0yrtxe9o((X<27{2S@NBR}R-}Z{b<#9}9=EX|z_J>gxRawzk^}
z#S3!rA+hTcRyCfTY4zDdkE0>f@~lkGB|Mvp+B^0?Y2}5VIpVf|I<)`k`5Rs=^$do6
zP}oQgj_Vb>C*J;~#C>DCk!Qn=qG#dR5Fdl?5l84Bi;=f|gS(VxDPc^pTF$^q^U#mj
zWFgsizx&;+QvkbR9DvA_=AbGz;%Q16naqQGS_%&gGOvAQ+!SIQwT@>PH@*|}nzoM}
z@@(i%#Lu)?{vnc3r@RvXSrlS2?d&+~iDo1{W?ou}K!U<_;WkmJQ}e8MRPf%o;;}Fu
zvK*R?%O&as%oKER`72_U^>cKo3xuANyroky_?(OQjfYv?HY`3H6vcyW_q^Kh*r-h1%}{=imb=U6En^i81)5PxM+b37rK4lmb>B)
z+rIek#oiYYj}V!t#SM_x_GCya8n#CmRs#kEnJWt+N$@&X#<})G$Lag~93!+Lh(PLfkGG=|eM@
zmaa}Tv#QLr1i%AOjSweNsZ{9rde3{_gChYP$_6og?sK1mnBYxMv%<4AaZTC7_Yf<$
zqmK>ZY>ZP_xNsqNEwyTAw_jbJg{-5Ypzun*<;B+apU&&}*S5-Sx#A^3eqWg$K_1)2
zvpZX>cI)qiWoZ#%p(9s-WFZOR*%-E6ymX(}uDIxyBR>DP>jr+(y6F|=*}_H{%qk@7
zl`JH?=ksjNcgiss*K1op$v01n^`r1?w0^AAKV12pe+o~ysHL>H0X$1%U;|Tin1y5y
zKm2fdhfuO~dBL07%>^Z?^&rcnS!d1hl
zF20bFtEqJLQWx<%IgFnG_bpyPxizUI!%tX2hBa6Rk
z(?de~sMKn%WXyulE7n*qv1O)2(bxHYKRgUE+r53!{aZUe|99@>3tVZUo)uIkU^Sx;
z^3?Jh76S$&(D8*$7Oz;GQk7xhBV|}6Cb(%&rqLbdjfV%%3=Y#hJgfHE6o)i2Bl!G5
zbJnxtY`D94R=dS8ziRLw$M7qVkn-;&p5ha)n8*bU->R*ANDRerRn^MB3n{6Zyv
zMVwm`GqDJ>&`J+jYM`1qt~)%^cy@;n?c@O|&tf--ib&a@RBmfodcfu
zy_OMf4CGZs4`f=s*v|;Q>Onipvl(-zs#oc263b~p76)VEK?Y(m*MS;pRb7sX33XD?
zU(IDNeQx4ufU7K~02U}??VRBtVlaYuCL}s{GS9|aaEFL60GVmKZy2*FA8}TdZyOPWCF_MG
zKgm1>-Wx$CG!W6v)r%X(%IjrM+?$Vwu`=h@524fN4ZN`bSH6ABZ+)rj;5WG9JX~dD
zCMG%tdGFr|o&{Xx6o`iSvSrIIx#SYemu%?18UagU4b?(eY{8bm-aNylPXdT#^9~g7@4)nJj-kVxs6x`
zw(TuEE1p|bo-K9Db0X#0mVq&NwzL2F%8g%lufN=N?a#y=@T^d+kgQDmD04T@Qi?H^
zWHOHdT(fG`D*E3cQ%IH#VpSSV$u#BJG?IQ*LuY&JNA8Qfp=2Rh?zd2Y0umXUMrI4*
z4D{>?_52O0dbVnc#cZnTRg@{>(NFdY$9Z$A*j}ento1Cj{`h*vTsdJlR5ujDZ3Q=+
z6TR$z?xnO`bSi&?*h^qJV94v=5#%i+&Em>4As)5CdqTG|^sCn-?Y6<(VtTg0fTpMO
zL_)omNes$SzQXw1((?G?TbA7SOsRJ)*EfVIlYS((VHg8zylD*PjW>wrsjAmR&n6QH
zj70r|bT?_If7Qo8%(W_V=f3B_ss~RIGk)v!M~jaE8xSkcLPN^1S^F$0q(iSt
ztVGz9Ow)*d+!OXbclE6tI8I;~VGf#=D_3GN1cCHP0|IW8wlW4x
z?Fm!yY#`GqVm)5Y!IFg&juI`Jfb@R?2hm^p4|~bJNvzF2Gr|3
z7DWb>x4DulER8O@c}33)WxQg02jN-FvO;9^gVC3D-(aarF3Cz}sz!;rJR6|O2e2WG;NVs29%<_yZTae0>5d<_-SCh*@k&?O*9BcMH!hQ%
z%iu7n3WqWg}WetEPIE4kd2`
zm3MY140C756trXVR!#~AQ%`D>_fa@fKaBefq|O5psq1e*A}j2oXY+0_A8cjn+g!jP
z1@bwizk%r7#L2ci
z5cV=OYXs$38Gw;7;11R`sx~q)U2GBcnh6Z15JN}bR@b`)pKqvC?ES?d_dR~(
z4G*q7`I1uSO8ReeOimW$sl18?qAU$K(Rx^B32zP0!c9<^5~cF&RE(BQPsvpJn0%jp
zn$o05_UhRT3zxBq
z!5~zt3_IC+P@iNW-zj+3FNna}GqnMRg=b|w^JuV;8!SX4Dr~2;8yL^ds-o;Q2T#ef
z`*%OHGd#O#iyIh(XW`;X@AeWz49^Zg)(~+sgYS+@o(d`F;vj+1!yA;{#vvlbo~^At
zuXgpnTD<-*-3cFbtp~ZNBXG>r5$F9HJx%0Us0tYfLn&isS!{BggO!>!lF~Ghrf!pS
zqA4g@vdyJc$+BnK#*cpVqbONOR+TKgs!x}R1e<)CRg2hpo=v4?RnjJUmW2-8cHuZ7
z%F#HIxejeA!|VpiBrd$8%*Y2n$)FGZ;(%tFE8)5Sh0
z28E?97u~XN_cP2+Acg`zbjpiFEC4=W^n^OqRN6O&q?Ne>dPYRXVp3qV>wVi91t5c8
zdzpEFQCKn}t0932V(JG5s`*f3oj`^&p-gMtERRkj|E8S+I7BAYE-TsREO7
zF<%$UFXFHT#T(ChwwYC}*lQ1-j%U|xcv>b0NO=~Ks3gmNBF|zQRi4#3wi$qn2bi!e
z8WTG90Sj+q0y8ew3re!=YwWY|Y`9^lrDwEbV63fwWNFXljvM~Qz5ZI)x(+4FBn~nX
z!7s+c>#e1!p7o5zjEIOzs5WrhSc&$LojIC+F1*9c|yQ8!Gd@)7tR}Kbhb1v$Y$uYZT2+pDPqHFuqv0YG4;FsbR(!mp^l+*2pM-MD!!@C`
z{BZqHe5|!zV1b6Z0iJDXf4IH;czfZ=w)_u@g`Ww}7Pc7AD%;MgR_wJ0&w*!|UC^5j
zw4*=e*~+Fdcy`g9&n>;{rwi`=Vb^^>SbWcutM7WM>nlHNQ21%rSL%d?_xx=BJwNNZ
zS3;)`8ehErr%S*5)S55f&&EehoJ*^iGtZ7oTIJbThF9S!HJmF97D`VQ3V&WG-c+hw
zSuTE{CR9qlL1?M`dfiZ|{6^hSuDri)Xlwb+_R0r4I9vIHrNU=Qxt>z|?Q;B!sdzTg
zu)0QX(kC_=u~1{>=W*`O1NZL8t<1YNuV=x1E*RJSt?Ajiu*@YzbAdP;_;FT#<}KGhs63nMS%xq~8%DYwc&YO<|FGy?f3WXc
zKfV8XpICX`Z?AgCM-O`2_3O_0Xk)^;zqPJzIOp1R=Ultbx!11AgthOyZvS^)yY`$9
z?|0sH2fyRmWrw{pS2@6i%(BaH8v4HSxj3JL9y}6$Ni@&2o@_HbE9^UKpp|j5eqAZg
zX4!Tss)c7i@{x}mfBf-nZEbYrGp!)MZSWy0%R>rssf
zZAZAefeR5jCWpga=b^6cP**zG&rH9>1uclzB8%HOhQP_{XZ(*Doj{)$U%;tN;#p*@
zD%q4#<=+|QQ1N5x+K4Bs+^ln>o|5kV5AG-X~LRcvTE#+K+H}p6tGtR0pfgxMs7?A{7
zH_`{PEjgFvmRX(7e;brsSdPLx3!O>u)0X2S%wiF`v?MojpnPORU++;oLX?DVps;PJulEpZC)m2v=b<|Ouhix*)H7TX$F7)G6*W%l0zN&kw
z874M~XEDx}3oo^nzaP2(9=XGK0hg8UBy`LHFaJ&BS;|+#
z4C}*Qe%Ks%mWjJ`q89BUqwld#`WWHa;G)|Z>40S9?VLp%F@4HPoeknyWzv*qGZEog
z7*>PyYk8ja*Ts!MjECM7K>x}Fo`q@|1y_e>dGI7uyHkbC_4r-ZZm>h1g*IhOCf4{)1>XIT~Iu`u{=fjfXF
zYw}PP36}<@!<;hI+-CYw9)|TcUqK_Oi>`%fg#vd$NAVlw_<1Hn5IyT|>9FGl4Rg{X)D6q~QS
zf3P}dGU`k|&OKxrMcO+2X??E@mEX6N5W$L)6_WKlt5d`9nV@-)#d-WdTk=UDmwM(j
zhyLs;^JiH&G&+7UE1pg51}V>CH$aE8X%m(k+qGNDBWXmhpMFdujm=k6c^1cjhVyKS
zLrp|@7JF1!4g%Efa^=}d?uDJ^+0bG6GP^-zt6Q_r)<~XZ+!s8%xcfPG!EMY$lMf5X
z1?5@q>L=Hldr$@xHsoyM62yO$^Jh1?Ttc!Lo~7f9kn*fd&=o|xlV_*09(?FSA7UW}
zZMWIm+QsoS14PnGr)-j@G&ZvHJex6ks(n^QRfRG_fze;+*;3*8O65O;@TMSKr?Ujf
zy^KGtCseA*>11q%LEf7P$O<_>K9gk^EOGALE#9P}^b!D^9HnzSs`E0^OAJbvnkc4
zwgsFMup3~XWk@S}R`2rvwRa|9b{*B7ulMeKdvEGpvSn<`co8<(mW^$^u@eFz^T8Nw
zyvjCa0MEcUtTx6Ac0NNU5F2Bb0JhYtWMc@MN%Cce$pZP3nfWr4Ocs&=fiZZOWlL&x
zYw7u&I`>uIe*Ic{ulu#!lFn7>cHMe)>sI}%>VMBYb*c(a^BGyHJG2g#DD?&NEDK`k
z_)-`LQ=Vm>0<*BvJnJ%R5?Cq8qIou9RpnNH*6$|TkU)e;E2@LRmhmj@v{tNWNmclM
z<$Ekokbw@Hr_cgih5M9QgbthMSy{`KT@F(`d(`Hw*(*K=&*u1GXNDDN`qtc9p4Fn)
zrPzRq@WAXCfoCO0^YEo+8Rxc5rcl0
zeMei{_w$7(z1{%p2(>XtcG;;f&m!1HJ9EXSus2BLS)pv>*#puLTl0`b@a*^=k>G(nWzR+kQjs&?xR+1Ix*N_q-
zmi-abBUCKx@aF3+mq(sTv#0Pb1XI2fF(@~n=7EggJKm+C;>&%d+cXfE^D^lpeoN|bP#k-5SXRtTOxI3LYo<>tsAZk
zoNE%I+51Cg8hTsTY!-u=Zsr>y|<=J}rSt*Dt$l$fNYLLKXv@G00qo{p?DbfvlNL
zTac<-szdvuh@W1aI-6}pG?6Y-Jwjv%SG5_^6(pYt|BAhVKL{p@9vY#VM#F!(nYhNY
z4FfhSqE;2}J>e@Zs7hLsw~i)W#`U5%FrJ+SS!*t&2Z*}FcMRj%)_|(b*b~kC`q@L1
zXOp%xKhH`_(?juT7IEWQMJ&OvN%$7dv$f-3v*p=nPgS1%Z724#vX$AaLpa?#Vfbd;
ztW@Me3tp9HBj)NjF%`Jj%d=0-wl^S?ezn;kz=}LuHLwlxZ2Ud+vnJ2ZL3;TIcyVEA
zc-DWmv!S7Y!27XvSj@D3)s-Q%VxP!^ggR4BM}TSV;nCW85q`zqfSB@i=#?72OK5x_
zr}{?s;nmI-l4;CiJPS@9z~s~zY)LGws)fk2hYipA0g$FZZ6vbvmP7_Iy+I>@H55lU
zEBP)4-1_zg3zTP<3D2fsNRMvK$Fm7LdlpuLIE;9f0;lm>ynh++td|q3_OrQJ^6Uv-
zKP$tv-pzCdx$_XY37d4dW1caKf8a
z5mkG4kWV!lBs=TiZ5@=lS)G+DcI6oSqNSy4_}k@CnUaK5BF1Ht&nGpXZH(sIs(nzVJE%6@~JR8K=(BH)~56@zGz*+~1
zjk&+!aOBxpNcoGpBpU)Xez;Uaw7H2i-ewoZvsvs7YV`)Qc{V#O`q{RB%w#_4+;OxF
zU%NB;3VEIhYS0(n$5oHM`Q;@qLIzFB+Z(uxD`Ic()PCeyk#?*4S(LW3>E(Q-PXDTYy(^tgNN~PH=7t;38qdyc6$fp|p~thydWkhW3(3~!*(%j4&%)DzXW`t#
zj%R7dh@#M&!c5zKk^w
z>l=b}lBGFlY09A$S!|0w$Tu3cI&GOuk8?daSy`0j=z>cx5Xy?9Y^=b#pxE0Gp~6Cr
z?esg5Yms3^J*Y*f_QWO&puBT%$+HwO><~`z!{>kC(7G5Xo9Iu()D*ZB9IKqGzoui>
zO)3N~HP1SCJM$EbX9M6>kMV33iB|qSba<8>?S*G$Yj7pgZWr~JGyPHAUDst@kIQzs
zn04+uve~XU?q*@~PT7rdhG%7M=LUIJ7On4ikvsJ*
z?!tGwbKmREz23d@26w@KcISPdo_oJLANL>K`PaJ(IbZ9}e4AT&g3Fg>9a>3N(_tqgCG3B2R^{I4jg#u9xN&rBCroGd+ogGO>Y_)7$6-b
z)3pisjd+P&!w8fmKy#5r_$mSvR7$Dj4m_ulo!&wTGycmLqk
zpZ&qP_x$;}pZV_>-2E59U3kwAtL`t(zvs`-zvoYh`NsSH{PlN#|Ll+6*MH6%avk09
zEDTx0vrt3>V9t(m@bWAB
zO;$#BbdF9`9sU{DF+SNny0dR+$LdY2$*^VhXMPZ0c!?|Z$Zlg^cOdetjK0iTA)$#n
zJV<$#Y{Q8t0dBbA2H2DB&^hZWVs+1~H>L+M)pPO17x(t|)(~sW<$iHoYM%9WT?bY_
zYdlLM@B#~!8{B?d!XXji5aC&&T35-geMA4p|KPX{Pp%x@F)+M+#rV#)8Ipx;
zY&z$Uk}s01MuU{!`ObIt_4R2wikx(>Ccg-ll4rN5{cOgaAf|guZg0T&vUIZ<`&pA`
zjc0{d4kmj8IjN5
zz}z$R%CAbYO3IgAc3FRazskkNv!d->3Z4~Y7c2v4wbVUJOE>*&U1$~&c+ktUls)il
z_N3R9Z~h)UTNvL9&&r-UL-X_O@E)wz;Mwd0d&?tJ%Cm8vjYZg;+<5l%(^Z}gQtDiW
zO^2kTp`TTr)pjYOY?H#QRw^GU7%scVn4fJdxOkHiT$jAYdot>Z26z-@N9&lv$U#(_OtXdmeg8OEQD%l
z$S1w7bo2M&*?4@)jqQv_b|I^#?SIpLHbsYsWj@>Rp32x%*Qb7jJd5FQ;8}za;RhUt
zKQ&i`gI%6Ao^7ta=fsxRi?p7M@vJNyTs^=^B_lo0f$fkCsKc|OH)s*hVg{~k)k2=F
zR@bb*GG^s@w)}}dRG!U@PqN*E@odwr7F@Xpy}|P3S$XX(TAp=x?pvOn)xH|Ir~x|M
zVLa;wPd1*V8Sqi2A7}nEgi~wuvqF3aif27JRNM)_UitVR_ucOawf{M^hRHzpUrJq?0hh(U(?Snw3Q#|`)2X%%=!igCC`@P6W&<9=?@3K
z@_c?|+Ko)-hNs!Jtd6~b$gq1dBF_?SFQZ{yqf@|Y
z&+6zza;`Q^KxmL&)6oLerUPg3YzFne@$BJlZ{XEEoLVssHiu`Me+M*q$05eE%no2p
z7S?moWd@OnM8a751B&56YHtt()wH-;SE@}%SiC%|gr#i79B2wHA4jsdW>zl6!>X6(
zuKW~5r|hBN_GU8E5lhXoqHAW4UzBzims!HI;&f5k*iDwAXWL5uoQ*yiWsl2Y
z!&q|wvbvh^{a)78PBk3}ySi*HE59)f=Hg1_5tV1jq;7M|IpbJuc6UVP+1*wbrDgqD
zmYvP)l8|^JQ(#N6M_lHjj9Vq2oL=sfthV^@>89n`_BExq+|qgPPjVxZxlK&(*@es^
z`ZzDGB$kq1LxM5K^>Y#-I*KSTN;~M^YGK|^3SrL
zf?rUu9J@BZE^Nfs1ub#uI;#4m3-Wr%zxcH)Z+@hI!`9-aX*aePdDac@nq_R@+eV_X
zr8vWTC}Qc@tM&$T39_A-(E5habbC<2a53}2lxH;^tt9m~ot1hwgmz!!
z(YQ5sUHh01rnGzDc$SK8l4pfsGkfCPw9D-+M7zuJ*7`hKWyS^a>|BtO1ffK>LBhhZ
zkjWmEjV^6(PxJ=Hv&OSCJUa%-Hp;W;zK6fDLY(8o$9RIrh8^6=@wP%=j3(pqVP=|Lw+OF$`<=G$}DmR7cs&yqq>ZihvAH-|h$#J~uYUjPmWH)RC#%q7-Y7HKSWDrE
zth=PW{GCGdlx#~=6b=;{2}F7jC%*4Kl+C#sv6
zX%T!W+z2+dGW)h&=YwHCTN3+OIz^28TTR2?we;JFO_F=xg1IZj)i1m{(ELB
zo=Qm_nr)S5Z@&3vC01RvOZ|1vOD)fe{#5AI+khlId){oG6^+3@cve2Z<6UtyS;}oK
zmi{#p-Ra_EFdU!Dut|v5P|$D}>EPL%NE!5keAcawGVknc`(8P}WdS@Jt8|-TMW;N-k{2}FWS7tU3_mYJ_@QTxI!Mz61AFil-4-q*|}myw%wilrt&Ag-9G$G
zVO%EE7KZ#fGAhGX-wnyDVma_Egq5bJ8vasw7QTaLLkns-+lG|YLu*i;J>!fsKJt-|
zkUfN1a#EAGxtHmJ94LAAmAS&*rP5E4XT3aF%d^$5a?#8p@aE9o=6B@_lcnNwh0-sa
z`yv`%zu*9`*1C?R%A0Z|Qa3)TWXxvu*HfIku3Y%zdpn`iJg9=7aU3
z=UsAnHn39g%w?`S?zrRn>#t`VtWYRuB}oTp>5=ZEAz^(A>mstw_s2i}an0d!)6aUn
zL8CmY<6wR_#+^~TBNsoDFaF$RzwENF&P2z?xno-5qWI|G(g{X|7vZw`qcXXpTy#bz
z^S<`-e=SDOur*}hR?&Mj!?SUwtUODtr7N)&e&g9zpg1QD?O%0ycJ;`k!m~Q?C00;=
zO%^W+3Q3KjLy&PW(H`h{qvzRUhaZP$Gwr9jOq+|?>#(Rin{^#6agpn+>(G70FL_7D
zN54BTyrpx~ZU(`kjSPD(OP&p^x(}Wu4ovs@*T0^9x=uLZgya3e)>|)LvO^zn(n%-r
zME0Kf@P|K)-azHq{fe~df&_V1SwLHuHoOLT0TRLK_xt?z2CvB%K36XNTh-n`G_z^F
zL5)1?hw_mScf{Fe;`j;Y{=~VvoV(e%-}3H*&MneuI-G0L`H&C!&(6KyKW-?W`zfke
zm)o83R4cCmJczem!ks10Mmv-6cp@r3ovX^T%bsUth?zz32Je4X=iQn-tG$48#D)ZX
zG%_xlZOaypL_hnY;a{cYSy95unyoTMuRNP&nb)x?mTMs}`DtvbbL<)STYu!v`=C4H
za(Ctx?$mdUVH5|
z*IcuH{rY$LgUcm4G=0ujU3C>ha4;;{;7p$Jgm*(-Pr6(+JPUe(UV~@fkk;i{v1o;U
z(U*#+C*xjQDBfEs|2*MYlmoNvy3#z0v?#Vy(XKe&S;%dzRJN8&f8E`6|Ej((_xImZ
z-}Qa2e?e}b|K7Cg?*CjbZs6|zfzNjLe5t+tk&gCXEsSSno`TmK7|-sz{Vc;@1JA}7
z<;~{Vqeo_qgEh#reP7?U>b`$H`Ibjc`{YAs-udvEw~n3j+h2dhZQnlUj&HTZoqfl{
zv)r8zoqgv+XWjAO`L}=j#83TM|5tuq9^VlS?_}9SUIv*_k!KgnvkRtL>U;I-)mL0`
z1w5r=O3GPW;!*!x+TvF|G)_7K;pxkk`!!3b3mEtc46B)$?^*oHUHYqL_|i)+Wj_V^
zL|Q0tL70V6gHCtu})32pI&b;mCx+1
z#FK^G&Qku_&hpPIg~!U}U$(@RN{_0mNv)LMQp`QcgE}g|s8s%~kbf*2O_0e&5j3=H{ZEPgjuIgu_ort>Pay#>-r}NSGoO>HO<;ay4nFS*}KNB^eHyHKv+5NbO
z40qu4dzQ7Fhorx`%_h&*0hr37Qy{ysHFqvkz<$=n$g{U2&&tFqZ*QPTW=E&v(Y-j4
zXGJ#LjnY8m*-;sH!U?HuVv~Zs9YecTjPB?g*|BPPYxnT8Y!B1D@%fgxo}uSz9qA80
z+cmzWZG1bH29jayx_o|Qp#w4PnoYI7ZRA=
zeqJg*5yd-MalD3S#e~a`de!i3&>Pg{**d*>u|ciiSs2Q(Yt5;n^ccpYI!cp6w3tx5V|2Zm)3zou8`xHP7DiL@s!ORgfy!2Tp3AeSN?UTIpA!6}%o8~i
zl4e^jYcd%wYj~D$-5)G1&jvIa#Br`XtMkF+EUE+k^=91bgl8-N21B6`5I%By!hEoV
zo^)_YNAuBjMpI~MOKz`l8BVmH(~dEydQL~r8b8ZGR*g%NC1aBqMMPPcbcZ;ei;YBz
zSflKe{Hh_at;n-`h#)SzOZYdMD3+csB=Rit!OFlZQhw`?26)yBu->S?YAjimXJtMZ
z@+>?%G(DrAg=djkss~vn>%q0Y1j{u=0HD_L8TR88<$=hv`6|z1UW#~#9utcKrcRBC
zewImM*qo}6D1%@k%!)kAPnghV?%$KYf7;zYoq1q7w{g0H8gyKQ%G!_j1&5FzqG*lt
zo6tlXrrW+YoqxdpDr~zu%Phh1gle%Xz)3bJi1Ms2MPX=ncU7K^3;h`o$RzTt^lC59
z(kdD~lvDJ~J%MMHs`ksaf%5hnGceu4JT=rAo=a-Vw!9lOZZ%DKHob2R
zAOtiT1QEFTE>d@3LQk+&qz6phR4
zYTrBy*%e^A2d1+dglEe`I#oAOEVO`a{ks!A#w@C3MVO)8?DSRnYKmva_sD|Zjq~jJ
zSI*^Gz!7{JuP9;@SGXJtMZ
zax1zHii^E+7NQiv(64kQ8gLOy{r0hb
z{{lY75os$!B00)P6sEPKlTLJ|EQ6q8Z>!GLX=#aE%$AFLapn7`;|;Q8foL|y_vXfs
zrbVz#q;Ju9h|rDR)~``3Ij;=u8XVi%^*evzF1S2j=yMs7XOX4C`UdzH%d@bRa!}we
zE;+cY;jD1UulO~7O<=fOjK@E}&MBRy=CCQACBtfOuo#{V!YrO3&r%0zo>l!UJe$ex
zNc0Af>HIt^^KPRlZMuTSwX^9KOTI0z?+q2Pjcot=a&a4&72PeWc16*(}
zJR8Qr=JG5>OY>|l`wk|R!L!Jeyw?cvdt6d}#Y6R~P|9
zbs$tbKhMHn%CmV!%;0F{*>NVqwuWK-f5z1M4G-DF1J9=I4WLRr8YhInvrJlrTcveoW0hyc^U8#)`cAYEEpWNaR4%)-
z5Kke`Lcu&Yju5WVy^3C#OObH17!`OGa~ASVtzDo0Y3+JlqcV;xqLx?J@_{MJ*}3{zC>OeKN3Bum+K)H-KI=BRL
zu?=FLO=oc;|H8at3epni#=XiFtuYmigZIa$F>=U^vB#}UPY@A%gvnq;P&;2CQ&?UY
zc4Q9`7~Eq@ZUIqubQk&T9GP6bX-D_({F%GpvV5^eCRTWPmVWJ>=n0ua+~@(CL=ES_
zvlt0LNf=8(QfXF7b5@N%MB~PAS52IjUxtU0a>z3xt@5enB>hkg4|m~7^K9r{3P>X$
z60;GWjiWa-#j`p17ixoNvy4HBWfcs_cvO9o72~QFkgVtT$v88SM>)$3S}$(Hsw`(S
zAJ0PlsyBdVSq@Py$z-%$c{XwvMP6^<7gUm#*6L$lJe%K4XJ!RFZ`air&*ra{{lSc9
zsU{jWJX?qu2a|cXd^o$ps`8b$D9_67+@7#R0Xn=}RJ4q11$nj}&vp=h^RC<&8UsK2
zKQdj~&>E73sT~6HsF!DXbnX>btbE_Qkt!nzn?rS$)<^wY(v3XD9*%zn&159H+Oe;
zvlK&`ThspiQUj4W0FZ;_1erP_*VxYbBg)3POk12ibw$?)`Ubz(*7eWj((^gh7-VI(
zg8y#0*@DmyZbG7&2oyWLY5MX7@ilqj8U8K*#n@xwy<3xhyp{RYu3POw`R3{+fbB#m(
z9fq1kyhURxH*TDSe?_f4zNaVx&td{G
zj}v*>Q?2mq%nN{QqvePu^Ti#Ep@~6Qysc1ryuJKKaeS+D=Q!6Mc$OuaT77un=>XCN
zJkPeTQJ!VZQ~wPp-ESW}E31)in#HqG|4WQ#K~#A*%3*OJ%X~-354low+8bAX?BVXO
zJlg$@$;u{C(K?n37}}j1-$dxI*3kY~i15w}x9j>ec+Y*;3SQFK-8a!}TGuZu}
zt9g*D5;?aGhbcvS;n}|Szv)}?^>W(>a)n>ZWL73%ilT1`#91%Ts#KvoTWEW6`QP2r
zaqo|@hb^KjKr$Mh7Q1@+sN5yWxM5M!&Cmh5!p)3^@9G?$TJ^Q(;%gts_MRqdoL3K(
zW9U!n8f**)d$dsAQeHlIVHRfJ7Bl%==P@0xxboBwZhFZBzc^;&lfA>+i=$KWZH|71
zO$ub7Ni?1^CZ?{cNzhAghme>Ah|KGM6|zoiPOD7aY`BQYjH;#1xy-g256M!wg$>Ufx9O?V@B81!UU_%N+TX~R1`E8!v4Ur-5u7Jk
zFj1;qNJWzbx3TdI)bq+$zLNE1^%EQEj{}}MxTqG|RWV#SS1&07W#N3?b=M)e_xAQ`
zsX5cL6t!v>lfRAQnA{~RWY^)@jO%dj1m`YdIhgkBpLEARspOtR`YXm0%Cla3P@Nto
zgJ4x2RFVxmE6Xaj#G&o2=l0968llRwNVwVDl*?~-@$<|agJ;`wf0=b(cJ6ZL&ULcU
zFLEXm6<+|JmFc10aNW;est$S#?`1lWd?9+fbkP-#6EYQeHtIVaGbZvZ*{&+z1Mf86
z9uDf5p}hHsRo~?^8LlbGX@zS$&AsCN?uPFk`PE;p{`%hB(1aVFKn&y~JqvBs@NAVd
z=klzo7dSV|r}M>6Gpzde!Lu0i7MOU=s26WyRLl&ZVd?cCV`6BKo?mg_Ke_c^aVK2j
zN-X5q$pVgxP>L7pG_q4EFYjz6lWP%VG++Py*EBG%AB{NbX|Yv=lfUu
zu%rBFTzoc*FbL&&Ze{qMMGuN@=EK};X=fC*Gjz;A*&^J0<7sS^P}iX~7UxyE)hvl7
zAye4qu(!=`FP5L|>iGNKu5Wa=eXJDydM0~hHrs)*A*+ScOEVd|C<_xe@!o0-e4k))
z61_pD{l)QHZ!X{WkNL4l#*y6yzG|mS5bkD%xy6czz6Td59Z2sQ+sW8;-t%nV{af92
zUv(=_b$ldOkL2^&Yv&rv(xDJ5@T{l}5alu;!g{fo9mFWyvz;&Qdd20Zest`#2YxcJ
z;pz4b+e-+uIKNVtYz~Hm>j#=-dM<*kSXrfARoeA3FEv6OsVqNvjI)ZvO@+hPb$OOV
zREU;rc$Zu#JB&!`taR{g>AmMVqo&cagH=AeWTO*T$XFbudwDvmZm?d>fA^S)v_cM4FlJcv&
zVp<@UTX0#SI{f9;ph9OsAF68H#hU7qL>ti?2+zLjD{kPW
z@JW?s{fI|Zs;y}xEiK6MN{o6^7sIPUCs?{gs1EW{k9?W+yPlW3bN)l_gWp;?v}M)9
z)55bGC*6Y#b4?~Zs|Kp_CPOWdCRzN;fM?MuJum^!md2;c!+YAs_O^{q!n569_;GaY
z*W3wjcR9X3dke0uM3J$!@CTK|-@voYwPtNSnhQMD5Sm$XY%v`Lx?&r(VGn3l>~w0wJ2T!!`Jk7vtnq*_=0
z)42RkadE5gtY1Pq7wsu$*>W7StvWm#Xzl=e=HuC@u%%pjtUdqNS@#9!u5j)w=Z<3g
z5X5&;8pv*reyWD3tq%y#u6PMN+jj5YmBzLg89v@9JS%qco3YmsLmv!}bUY-(K>3C}
z*`W!vx48{d9Yd3S4?LTF_wT!vr<5Z`f8;QpmCrEP1wmGf^Bg=Y2BeTqRB&;>>o~)m
z`M$z$eS2WT6P*uXMJt+acs5_1wjd*8C~ak*nB~N?sA7jF^P6`UMt2l9?LsHpGrD8-
zmwxJyWRL$1*Kw-fP^Tzm^xK}NNLIK)-#{wW&cg={2g4M~znmEsLs$FmcfVVuLWm3&
zgVjsI=(l0-g;;!M0UE}T-Tymv*{?+vc_L2t)T+bh2+mLDy&JzD8_v|M@|{wh}<
zEw}wbT;cgj)oOsLSUB?L>Z@X#D7yjm$&07YCp6}Z@*~7w1
zLp$5Yw|0y@*EPDWb9h_V#>A}{+TOW|RZ3-zz88%?d*a5&R$TW*H+V{kyLh#M3b%zlJj*O^1(ehv%E?Xg$f)qV1>XUc<7u1n^>
zQAQbB$nZht_bpEhxqyYEWtHbsOOk_X(PlzY*wreTdUl;Tq57P;IN&~>J~so%umr-n
zWEhgY=9+6RxZna-$w870^1BEuam;0_fD_Q>@GK$1v$Rq9_(GWVJS%bnllhKw?(NQf
zq7r|*v-D$lw$lDsvHh2&wqI1rPw+jS=Gk)P@pAbIIPQgU-4(Dg09NEFcTdu2|dt)*Ip3H4klFHL|^bXbPU~9hvIf{QQc|
z+j}-mbdOE+j_$#baCJT7
zJB5zNcMgoroC#?Vay77NySgFaOkk@H
zsS2+*NIYe
z1HE4w==;K8@8@xNxa{lwa)0lAt#R{hax+i*J-zq#_TGo<>Hb1b&*!=9>AR=9_xF0+
z-dD)IQtY=fvZ@1nk~0%N5eB5>@{*Bq`;(yG;v*4dr8fBhW7Mr{u>Zn~PQBstuV5pS
zTfce6P2a(t{fY0q?6%FP-~Qmb+rNIsZQodTi?}mx{pQPW|JF&rJ$A+&Uq9`xZ=QSW
zgJ<6~e)Mm?Kk7ZkWyLa&9u-`RbG^Kiqq=ZfcK+f-o`qlh4}>!?R1$+)b_dVVr{LUd
z=ZkvIyL|2YzIfIxn_hAIL+5<*>u28j&>6Qpc;>ASzx=jua6ao6ad>JR)j@=Hw|(R6
zTW8LMG#kE-%DwHOb+>O?ck9D)riyQur&G&X-FkjGmG0g7w>@;`CpMpT`@`qn^6=Wr
z?`l8(*9wJ!E@U9lkkEb^UtovZYymwCOb06`Sgy7+l@Q=30vEO1{H(&ai
z0rGH@&j}uKMG9C1V?iO4Yv<)zn$m&dS(j^fgD-WbzRjJr-kou+JMF#h)c3e`?{P1`
z(mMjLcBgx{?izRIyWBbNbZ1@V&b`L1yTYA$wOjKVSKyr?TKhnm4fz}*U0${&Hz5Y(_iPtX)v7n
zJ@YE}^2_B}oT*$w@Z(84nndErB$-+7PPxn-^+uOJF`MmX<|6anob*-LRjj!%ABJ&}
zYQ4yiG>KM{25AK{N;eJyL6)!YaKOJD;c}UHU{%c+=X5~=M!`er(h<^yU4Wlt^`pZR
zuIMF|c_CT(1-kLA5=nr{6k{)JzZn_hYbEM;(Gf0tbeuiDkXg&9eJ(yOj*rcYJBBlU
zTsC@9OI$1us^jKMJl6fp<71=f7+fwoI+t4==T>E+j!aynbbPbpXqLW#dUam4XHsf^
zECpNnG{Lnh&zAXah*|NZH&f`%<$Lq_!F)Ve$@S+-y>YQ8F7)Mc;_~@^93EHfEU>z0
zTW>b*%$8Q=aw}jN^pDCidTy}@vw&80pl(ry)iXk!|1RO#fb6xEUgxe&7#j2`EKN~LZOE>u2{Ae2fR4-hqDGsc)pukqC$7spYi7kl0wtr#cp|GX$93<
zD0UY(7kWrP&JWhOTw!HYSedJIMdcoOr$*hys5|Eh`3PZFhHa&Q44)vx)2QW((=i;D
zZV%F_iPe&Wgakf+;0gZp12j(hCyjp~&sx~@6GQPeVSRv>0j}OyB6a~vf-6G
zX`Yp8qVlRdOI<3@=B4>!HBypA09?0oeW(#wY~8tI*oMHlRsNC?WM0nd@VCT;1ZzC=
zC9cszmbfIhC}c}?HX3H+u#_!`NGmEW@D%dXFHNBEM~j-~tQzuZCMOvOgJ+ZRMur^4
zp>FGp#N?ATaB+kHHJ9q}(}~z&kZ@-GtRN1w!3SfyU$v%j%*ysMy`ZGQ&Ei>U&Eh=C
zil`twEA=WOtuG990Q6`!0h#uU!vn}5teA7I>-3gNf(O>GqIx^Hx!9XbU`vLof9i
zX@5E-+;V_Dq2%ez;MZ(u{*mR-XDzB;N)YA3eCk#
zv=M!RkD%XTP!wQ`Fd@!Un3orbCR(G=)|bdbw(2;|AtnQ!PZeu)%U3oCYo`ND{37rs1nt|8wsX$%vpTv6sc{#{(mdqsLz)dw>X+P;U!LhredK-M
zDU&lbt4@0mmIT_($M-KwhOd8DYR1y8uF
z32D_sTa`}8UhssJ(;@iNmm$sqJRzxhcvk9BAk`jDgYY~nO-tIG@T?~;nTbS0Q5NuL
z-)tm~GDXrrLrZP7Cv=8dk8is(JX^?OWvW>s_Xq+-hG!+`v`8`fnZ>hUB4t@hp5?*h
zQ2K+gXC9t~3zTQ2(@19)&}$r}5T0eu9*{G&f=J#JpFXCJaQW#lIJBgC1}1sQgNUzn
zfnqk#O5+uY54=SLQ=S!;Or4{gnTGEcq1vHFXUt$b%A@_ElZ@k4`H
z4xSg5XKU&>fw6g>or`1*^OADSvku|Qz;tPD!XHploWmvY)xSJ>mfVuPbXmCM&>Hk!
zIfdeckbQd&;Rdj*ixz6d%WPDm(51R0B*dtCREn)$`M=d$f9&>&tAPw0f9ch$|N
zRF!YZ@~aj~TXyUCN)n!ZXigGXs-KFeGSnqsj;S716B0@^7udPan*HQM>Z+!SgAAC4
z1wiyNL=L}(5cQd1w+EpAPdNEd{kLVS%DG8XP?&=b-z&w)T-rdHBinfA}bnBP|~{(;E-
zBA!vVFpEfU;kRl|s`t~8s-m=@D#JGVm7ozMvJVLzY(9@fJp7J@Q63nkZ%jiPAe>!I
zs!VUeIi#QVXx)(|auRr!%k-i730c+4#?R@b%zuCo@bxM^yq=rM!@RYa;@O$l%iEVO
z%L|)R%}F&6GgaXERCqSgWmID*5r+<@y)j${&rI~g$p;!Oar=d_B~KxdeH{7-9ne$%
z+{huHvs;lL$n`-rw}fV26KoX{WVi)P`61_D74J2Z;(0+u2m89Z|{GwVCI
zk={5riNho$4bDFN&7!f7q?-C^-_K1aHD64PGvBWkZU`6x`#@kHB)gBh?58>iG{RPO
zZd)EfjnF7@>@WljfdwF7Ji7qU>fd5KTOSt-H3SR+L!h+?G$I(b_KB97Az%m?0*4m@
z#3=<;yK(2t$to)@#~#~u!=;xVc=Dx}rtbUnr?bcB9t<{K@Zn=7?sqN`KdAX@
zIZ(@iS`N%U2Ylzu&Hk3!m9-q$k2%11HFEng8ns6+${YZ8NKE@!Xo?_$bM3BYvEZn@<_AE@^{!UVjv-|rEI4j`$JsPzLOwNIbt8zL#@La-kzBt?b
z@a1td`R3xIh5wGj6vh6;(-1oydgH%V+|M&C%=mLF{*-+aAV~;3FX_CL^DpXs_wE;eR36HHdb}W+zwDrDH&!MG!q*U@)xxCSD_+au
zZ2TQpCW>M30z_r+U$tPsqeP%DOmY
zbCf53(u5i8s)||y50R>zwfwX*$k({IzL<+~2H*JkC?DdlBRaVcJn`pF^;-nu=Zm5g
z|7ohf=;GSpzRm#wsG(M1E5dBx{DgzEsyg6}6)upM7q2c^9$iq^XhK3@Nu(Fp76&MC=MZrc
zrGYugPE8S*<0no^^kW64f~nzA78#Le!{278
zCKAp{BrhzXUw-}6vrADeb07)f(;=sHAGicgza=8P#)sgw>U8Jh@_SH28Y?G82?%__^
zxJ`T(j-DyCt5kl*!-+jdil|16xZ$+w$JnT}(s(JP
ziR6$#Jn}AZ72HbJ>iEgHzk<(Q6hY}r3S&w>*hbwB0Fi$Ac^|wO%AY!pAdY@Lt>meY
zrT6PgvzIsV3bl+}JsJH%Pb9D6v5x{Ix5;Qt2}uD)pjKan#4+YPxkTJtH_Zc*
zG+!rqD;qJV_ENX0&-#%dXkn}5s36P*6e)Q*Qf>f&obkMR{kf{2EoF)p1&O45L=9E!
z0TX+B+r$g>v$upya5l^!N#G3Ie6z9eA}oJwAAhBqZ4y^=Q6=IdMpPki%B4t)#9#9m
z&XRDu++GTM{YAth%@ZxuGbE|JpR6cQPqeC(7si6Pi-bs#t-@ySm3JUAloUVJ#)|MJ
z?@vmomPryJ)~3bVRdyf1tp?K3&C4^wLCt=!%oCj~+>Te8tMl3@8ywE2}Hl$PI+
za|2$7B&s?aIiyTc!st6C8|{qdK;glfwNjob#iSwJ+g5nRiCu?AT>%0Xh-~`
z*z7&_^S**-@m7ShYz59rLDP!OE2T&Yj|5fJ7hWEP6Vaqz#V@Hr>a3_z1aK+eWd&8h
z70%jC^N!~X0a$hsHEIowsgz49+er>}ACbjkCF#&=1%hdCrD>R34U@#O2}>o7>P?Ys
zDX-z}5_FX|i#+?V_IUCc<1>Jh+M*SM95*MI=?%P*>EdHmY3e=D?(p8;}>@gaWN}fW#@z&XEwrRrkyq?mWu$;1!
zn!Wl#v(Fm85k{C@mSoGl=;S;zliQ=5Eb>SOhmW=btWnfFl+
zzWB68^LDDpS$mK2cu9@y7u_bASLK*nq2x8_YX*)mO5UivEfG6-L!8QbuEn`F=NM>R
zr+fSjlU>d^T-LcJ=UP42=D7y2CB;|@dKL4(kW0e)Km=87xB^*^7`AGx_$oB3BNdIF
zYu4o8mqSgF#hl2K(mEWU2cn*G8B}}1Tare7hPMtQ1`O1R2a
zs+=@4RHqC;N;q<$q~q&Y5l5`}dYRLfx9DAQN%@{h#GHJFbH03uB`3+fdM^P8L;#XB
z3NSOOJfb9PkyZjpgGTsc&OTofXK4TxH1!nuFj3k$!5b;zDw3H5
zqCyFBiHIg~XA(@5)#@>shPV;o5W*lgEz#G8CYdZRK^^Iln#UWNBG2-}Jab<%R5xpA
zOH&aMC$>cw;EDXP-}k@QB1X(ff)q{NB9HxA!I<*^$|ZGJnFwV<&dRI6OS43(%?jrZ
zbM86L9qHVm>hK)w+#xZ?;epO=&@1`%X#Hu8Vi(*_dJ7fIJdj%DO7M$je+cX
zjSP__&P3@bb$HAj;hZ^35%J%wN#JlTAyG&X%8-sl3qggf&{p*BI5f^mcKbOO@L^ag
z&g*dgQs=k1M2qt|X?{$CaW=<8%?sK1`+w-3HyvT277RdhSqmQ^PeB8+lQ^r75~-FKML&{T;klEO?hT%Mr*m(0?h5Cw)cxho
zz1g|9sGpM@Ugq2z^vu=Hy~A^F_Pj05Jx>KmE!<_ta+(_@AEf$7e=Bh%EkHI&{SwJ~
zv+rJ&2xCP&uX2u95q~^5l3-`v=G@!W@hfS$Jn4~&S30*^rI?HgXbAYz#9;2HiE{iV
zNr9@5U7{_y;d$v3wz$*Z;7)p@JLOI8w70m^-sJxHjqZh)B~E>#f7%<}>6f|FIgfj@
zJ9Umu?y9DHp~mg>H_KB_xjaGSPyh4O3Fo>MnID{TA1JtUK&X@8nCpQ(y0&_6A2jpGI0P7kA3#awyq8
z*~v9k$jtath{>sMoZ{Z#PIyD|q;Endpa?kl3eEsnx4jzx1Uqz2b^1uD<%}x9Rrwx4-=zxi|@$`795>De^b(2aYCz01u(l9vnNgnZHpz_wXI1={54e;o*OE$~-qHGjwafmlz5O4S5YM)MTGIB<;@ZDX
zv^mq-_D`*?UvF*sMr-r8aP2Ms($+>2zPMuP-!?bg7UYfxe4bw~{a_T#%3*;h$CD!|
zP|gO8>({>Q&!7ALzkTjK-#_%OA070Whc@5!lg*!gXx&{uJmk(FAN#2vAN{ExAN1)5
zH{AKqrcXb#`BM*Wy0f&~eCLBzbsInZV{<$O&w&NE@iRZz@R=VU@|mA<=CHr~(Q`lZ
z5U&aof(Z0m_HcgaSQoD0ZFWq`Jn;+arczj0QTD%OgkjKJ1}lo0d?s^9QXaCv-;
zTV2aBjc2@L`E{Q^;*;My;?qAk@~$5qcBf?cp`UpWcgUw7-1M0rny7Qsu-TA{~?)l-NpZt#{mv_6PE^=AEWC*r=z!GBk
zfoY(ASV*?i4(VbMK}xCy8@su3HZHVAuS)7(VFR+Qt*tM4$xAM~?6Mngyz%<$ufOG%
zTW-4PrW?7ICquI<3_L=PO
zGPz%;bHCJ+JF@AW^$ov(Vu|1ylnK1=Ds5Jn*i*a^VB|q!%eCBjuWWDX>uCJ1hTQ+w
zWq(sogww>9IR7S_`!z0?`)w}!`&{PHTzV(2KE0!%?srWMzv^gus4>^$C0{0ixO&Q@
zz3Q+}{_BAcJl?TwcXR&9w!VQS`N5X$gUkB{*Yymn=^j|p
z)8E`X)RrG!o*!AVt-rM6u6^h_@&n7%wf)tuw(ZYw*wNR&wzq#>-_z^=>UW#({6^-)
zvz*_=wo4glmdTUfBY7CQ*m<&4qSW(rYuA&@
zwm(VnSpC40YqvkO^v;JfS3KYjd9_QeS9Mbpnyw~4kwpP6BD?6s$qg#A*5?q5W#&J3
zNA$r@DBxA{+qre?*8Rz!{K=J9UI|qVtn8r}gf;B4-(MT7FS%LVh$Ioa`R1G1zv)eH
z;!}a@!*tD-Sj#g@=6v?NhESdrRSvpHF@93c%2&|ynw)=JW9|cObwAB|11WDT@P-3#
z%z2~EA9DV%=Z|^bczBrTcfm86#AwnV=bChOcVpv2zPru&n-eBj%qODL-OE=&zuUrD
zOt6SMob^HEIW5`GH)np8N%W_agUQ55G8hel;UF=PNIruLg8slC2>c;QksD3A(Nr*)
zNp!=Pt$8aEd7RKR&XW9BThWcOG~
zoxkmAzju&BB3aitTGut)uzknUPyefT!uif`=4(YmUh2DOMdy)ev$!?nEKgCyP`pKe
z<50fA+>i7?r|44GdUW<>SFgPB?^kv2Xy_YF_6#O_hl1V_$By$z*rQ?P9oLxoz>@6$WWAw;8~5F4oU=k$XV@Kf!GH_)WP_2UTse|V@2bx|pQ=%th@-*3cw`vuCwtztEigUBchvdxMbFb0eNN=)7l~|Fjo85YA52`M7`j`ae;hrvdS-E{Jp1Ae-qP!=<1+^dC^d&@cMV5-
zr(fCe-Y+lf`rqb!f6zIS=owDr$x`KPpCDD;c$D5E&wTQ*iaGx`j
zifzMg`v{-3RM$|tYfp22_d(qcFT1ka9e%D$(U;ql7V8KtU8GgMFyhMRY*#*e|E&7