From 0796d212b215ba605d760cbebcc58dd016d65e61 Mon Sep 17 00:00:00 2001 From: AluminumAlman <Almantas1122334455@gmail.com> Date: Sat, 3 Jun 2023 16:55:48 +0300 Subject: [PATCH 1/8] Initial SRTS Expanded compatibility --- Defs/ThingDefs_Items/Items_Resource_Ammo.xml | 2 - Source/CombatExtended/Compatibility/SRTS.cs | 35 +++++ Source/SRTSCompat/SRTSCompat.csproj | 61 ++++++++ .../Harmony/Harmony_BomberSkyfaller.cs | 125 ++++++++++++++++ .../Harmony/Harmony_DialogSettings.cs | 134 ++++++++++++++++++ .../SRTSCompat/Harmony/Harmony_FallingBomb.cs | 49 +++++++ Source/SRTSCompat/SRTSCompat/SRTSCompat.cs | 37 +++++ Source/packages/SRTS-reference.dll | Bin 0 -> 159744 bytes 8 files changed, 441 insertions(+), 2 deletions(-) create mode 100644 Source/CombatExtended/Compatibility/SRTS.cs create mode 100644 Source/SRTSCompat/SRTSCompat.csproj create mode 100644 Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs create mode 100644 Source/SRTSCompat/SRTSCompat/Harmony/Harmony_DialogSettings.cs create mode 100644 Source/SRTSCompat/SRTSCompat/Harmony/Harmony_FallingBomb.cs create mode 100644 Source/SRTSCompat/SRTSCompat/SRTSCompat.cs create mode 100644 Source/packages/SRTS-reference.dll diff --git a/Defs/ThingDefs_Items/Items_Resource_Ammo.xml b/Defs/ThingDefs_Items/Items_Resource_Ammo.xml index e191e67878..cbcbbac74e 100644 --- a/Defs/ThingDefs_Items/Items_Resource_Ammo.xml +++ b/Defs/ThingDefs_Items/Items_Resource_Ammo.xml @@ -4,7 +4,6 @@ <!--=============== Ammo resources ====================--> <ThingDef ParentName="ResourceBase"> - <thingClass>CombatExtended.AmmoThing</thingClass> <defName>Prometheum</defName> <label>prometheum</label> <description>Military-grade incendiary agent, ignites on contact with oxygen. The raw resource is used to craft incendiary ammo of all kinds.</description> @@ -46,7 +45,6 @@ </ThingDef> <ThingDef ParentName="ResourceBase"> - <thingClass>CombatExtended.AmmoThing</thingClass> <defName>FSX</defName> <label>FSX</label> <description>High-explosive chemical extracted from Boomalope sacks and synthesized from chemfuel, it is used in a variety of industrial and military applications.</description> diff --git a/Source/CombatExtended/Compatibility/SRTS.cs b/Source/CombatExtended/Compatibility/SRTS.cs new file mode 100644 index 0000000000..065e2239bd --- /dev/null +++ b/Source/CombatExtended/Compatibility/SRTS.cs @@ -0,0 +1,35 @@ +using HarmonyLib; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using Verse; +using Verse.Sound; +using System.Reflection.Emit; +using System; +using UnityEngine; +using RimWorld; + +namespace CombatExtended.Compatibility +{ + public class SRTS : IPatch + { + public bool CanInstall() + { + Log.Message("Combat Extended :: Checking SRTS Expanded"); + if (!ModLister.HasActiveModWithName("SRTS Expanded")) + { + return false; + } + return true; + } + public IEnumerable<string> GetCompatList() + { + yield return "SRTSCompat"; + } + + public void Install() + { + Log.Message("Combat Extended :: Installing SRTS Expanded"); + } + } +} diff --git a/Source/SRTSCompat/SRTSCompat.csproj b/Source/SRTSCompat/SRTSCompat.csproj new file mode 100644 index 0000000000..5e544a2ea8 --- /dev/null +++ b/Source/SRTSCompat/SRTSCompat.csproj @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project Sdk="Microsoft.NET.Sdk"> + <PropertyGroup> + <TargetFramework>net472</TargetFramework> + <AssemblyName>SRTSCompat</AssemblyName> + <AssemblyVersion>1.1.2.0</AssemblyVersion> + <FileVersion>1.1.2.0</FileVersion> + <Version>1.1.2</Version> + <Company /> + <Authors /> + <Copyright>CC BY-NC-SA 4.0 2022</Copyright> + <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> + <OutputPath>..\..\AssembliesCompat\</OutputPath> + <DebugType>portable</DebugType> + <DebugSymbols>true</DebugSymbols> + <TreatWarningsAsErrors>true</TreatWarningsAsErrors> + <LangVersion>8.0</LangVersion> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"> + <OutputPath>..\..\AssembliesCompat\</OutputPath> + <TreatWarningsAsErrors>true</TreatWarningsAsErrors> + <DebugType>none</DebugType> + <DebugSymbols>false</DebugSymbols> + <LangVersion>8.0</LangVersion> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + </PropertyGroup> + <Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="Exists('C:\Program Files (x86)\Mono\bin\pdb2mdb.bat')"> + <Exec Command="if $(ConfigurationName) == Debugger call "C:\Program Files (x86)\Mono\bin\pdb2mdb.bat" $(TargetDir)$(TargetName)$(TargetExt)" /> + </Target> + + <ItemGroup> + <Folder Include="SRTSCompat" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\CombatExtended\CombatExtended.csproj"> + <Private>False</Private> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <Reference Include="0CombatExtendedLoader"> + <HintPath>..\..\Assemblies\0CombatExtendedLoader.dll</HintPath> + <Private>False</Private> + </Reference> + </ItemGroup> + <ItemGroup> + <Reference Include="SRTS"> + <HintPath>..\packages\SRTS-reference.dll</HintPath> + <Private>False</Private> + </Reference> + + </ItemGroup> + + <ItemGroup> + <PackageReference Include="Krafs.Rimworld.Ref" Version="1.4.3555" GeneratePathProperty="true" /> + <PackageReference Include="Lib.Harmony" Version="2.2.2" ExcludeAssets="runtime" /> + </ItemGroup> + +</Project> diff --git a/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs new file mode 100644 index 0000000000..918138c102 --- /dev/null +++ b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs @@ -0,0 +1,125 @@ +using System; +using System.Diagnostics; +using System.Linq; +using System.Reflection; +using Verse; +using CombatExtended.Loader; +using RimWorld; +using System.Collections.Generic; +using HarmonyLib; +using SRTS; +using SPExtended; +using UnityEngine; + +namespace CombatExtended.Compatibility.SRTSCompat +{ + [HarmonyPatch(typeof(BomberSkyfaller), + "DropBomb", + new Type[] { })] + [HarmonyPriority(Priority.First)] + public static class Harmony_BomberSkyfaller_DropBomb + { + private static MethodInfo GetCurrentTargetingRadiusInfo = AccessTools.DeclaredMethod( + typeof(BomberSkyfaller), "GetCurrentTargetingRadius", new Type[] { }); + + private static float shotHeight = 5f; + + // Yes, this is a destructive prefix, though with most of the original SRTS code + public static bool Prefix(BomberSkyfaller __instance) + { + ActiveDropPod srts = (ActiveDropPod)__instance.innerContainer.First(); + if(srts == null) + return false; + + for (int i = 0; i < (__instance.bombType == BombingType.precise + ? __instance.precisionBombingNumBombs : 1); ++i) + { + Thing bombStack = srts.Contents.innerContainer + .FirstOrDefault(thing => SRTSMod.mod.settings.allowedBombs.Contains(thing.def.defName)); + if (bombStack == null) + { + return false; + } + + Thing bombThing = srts.Contents.innerContainer.Take(bombStack, 1); + + IntVec3 bombPos = __instance.bombCells[0]; + if (__instance.bombType == BombingType.carpet) + { + __instance.bombCells.RemoveAt(0); + } + + object targetingRadiusNullable = GetCurrentTargetingRadiusInfo.Invoke(__instance, null); + if (targetingRadiusNullable == null) + { + Log.Error("Combat Extended :: SRTSCompat BomberSkyfaller.DropBomb() - " + + "could not get SRTS dropship's targeting radius"); + return false; + } + float targetingRadius = (float)(int)targetingRadiusNullable; + + if (bombThing is AmmoThing) + { + // Combat Extended projectile system + ThingDef bombProjectileThingDef = (bombThing.def as AmmoDef)?.AmmoSetDefs + .Find(ammoSet => ammoSet.ammoTypes?.Any() ?? false)? + .ammoTypes + .FirstOrDefault()? + .projectile; + if (bombProjectileThingDef == null) + { + continue; + } + + ProjectilePropertiesCE bombPropsCE = bombProjectileThingDef.projectile as ProjectilePropertiesCE; + if (bombPropsCE == null) + { + Log.Error("Combat Extended :: SRTSCompat Harmony_BomberSkyfaller_DropBomb Prefix - " + + $"AmmoDef {bombThing.def} doesn't have ProjectilePropsCE"); + return false; + } + + ProjectileCE bombProjectileCE = ThingMaker.MakeThing(bombProjectileThingDef) as ProjectileCE; + + GenSpawn.Spawn(bombProjectileCE, __instance.DrawPosCell, __instance.Map); + bombProjectileCE.canTargetSelf = false; + bombProjectileCE.minCollisionDistance = 1; + bombProjectileCE.intendedTarget = null; + bombProjectileCE.AccuracyFactor = 1f; + + float maxShotSpeed = targetingRadius / Mathf.Sqrt(2 * shotHeight / bombPropsCE.Gravity); + + bombProjectileCE.Launch(launcher: __instance, + origin: __instance.DrawPosCell.ToIntVec2.ToVector2(), + shotAngle: 0f, + shotRotation: Rand.Range(-180f, 180f), + shotHeight: shotHeight, + shotSpeed: maxShotSpeed, + equipment: __instance); + } + else + { + // Original SRTS bomb dropping system + int timerTickExplode = 20 + Rand.Range(0, 5); + + FallingBomb fallingBombThing = new FallingBomb(bombThing, + bombThing.TryGetComp<CompExplosive>(), + __instance.Map, + __instance.def.skyfaller.shadow); + fallingBombThing.HitPoints = int.MaxValue; + fallingBombThing.ticksRemaining = timerTickExplode; + + IntVec3 targetCell = GenRadial.RadialCellsAround(bombPos, targetingRadius, true) + .Where(cell => cell.InBounds(__instance.Map)) + .RandomElementByWeight(cell => 1f - Mathf.Min(cell.DistanceTo(__instance.Position) / targetingRadius, 1f) + 0.05f); + + fallingBombThing.angle = __instance.angle + (SPTrig.LeftRightOfLine(__instance.DrawPosCell, __instance.Position, targetCell) * -10); + fallingBombThing.speed = (float)SPExtra.Distance(__instance.DrawPosCell, targetCell) / fallingBombThing.ticksRemaining; + Thing t = GenSpawn.Spawn(fallingBombThing, targetCell, __instance.Map); + GenExplosion.NotifyNearbyPawnsOfDangerousExplosive(t, bombThing.TryGetComp<CompExplosive>().Props.explosiveDamageType, null); + } + } + return false; + } + } +} diff --git a/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_DialogSettings.cs b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_DialogSettings.cs new file mode 100644 index 0000000000..81aad9803b --- /dev/null +++ b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_DialogSettings.cs @@ -0,0 +1,134 @@ +using System; +using System.Diagnostics; +using System.Globalization; +using System.Linq; +using System.Reflection; +using System.Reflection.Emit; +using Verse; +using CombatExtended.Loader; +using RimWorld; +using System.Collections.Generic; +using HarmonyLib; +using SRTS; +using UnityEngine; + +namespace CombatExtended.Compatibility.SRTSCompat +{ + [HarmonyPatch(typeof(Dialog_AllowedBombs), + nameof(Dialog_AllowedBombs.DoWindowContents), + new Type[] { typeof(Rect) })] + public static class Harmony_Dialog_AllowedBombs_DoWindowContents_Rect + { + static FieldInfo explosivesStringInfo = AccessTools.DeclaredField(typeof(Dialog_AllowedBombs), + "explosivesString"); + public static List<ThingDef> SearchForExplosives(Dialog_AllowedBombs __instance) + { + // You think this is bad? Imagine how it'd be as a single line + return DefDatabase<ThingDef>.AllDefs + .Where(thingDef => !SRTSMod.mod.settings.allowedBombs.Contains(thingDef.defName) + && thingDef.building is null + && !thingDef.IsWeapon + && !thingDef.IsApparel + && thingDef.projectile == null + && 0 <= CultureInfo.CurrentCulture.CompareInfo.IndexOf(thingDef.defName, + explosivesStringInfo.GetValue(__instance) as string, + CompareOptions.IgnoreCase) + && (thingDef.GetCompProperties<CompProperties_Explosive>() != null + || ((thingDef as AmmoDef)?.AmmoSetDefs? + .Any(ammoSetDef => ammoSetDef.ammoTypes? + .Any(ammoLink => ammoLink.projectile.GetCompProperties<CompProperties_ExplosiveCE>() != null + || ammoLink.projectile.projectile?.explosionRadius > 0.5f) + ?? false) + ?? false) + ) + ) + .ToList(); + } + + /// Replaces + // if (SRTSHelper.CEModLoaded) + // { + // explosivesSearched = DefDatabase<ThingDef>.AllDefs + // .Where(x => x.HasComp(Type.GetType("CombatExtended.CompExplosiveCE,CombatExtended")) + // && !SRTSMod.mod.settings.allowedBombs.Contains(x.defName) + // && CultureInfo.CurrentCulture.CompareInfo.IndexOf(x.defName, explosivesString, CompareOptions.IgnoreCase) >= 0) + // .ToList(); + // } + // else + // { + // explosivesSearched = DefDatabase<ThingDef>.AllDefs + // .Where(x => x.GetCompProperties<CompProperties_Explosive>() != null + // && x.building is null + // && !SRTSMod.mod.settings.allowedBombs.Contains(x.defName) + // && CultureInfo.CurrentCulture.CompareInfo.IndexOf(x.defName, explosivesString, CompareOptions.IgnoreCase) >= 0) + // .ToList(); + // } + /// With + // explosivesSearched = Harmony_Dialog_AllowedBombs_DoWindowContents_Rect.SearchForExplosives(this); + static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions, + ILGenerator il) + { + bool found = false; + + FieldInfo explosivesChangedField = AccessTools.DeclaredField(typeof(Dialog_AllowedBombs), + "explosivesChanged"); + CodeInstruction callIns = CodeInstruction.Call( + typeof(Harmony_Dialog_AllowedBombs_DoWindowContents_Rect), + "SearchForExplosives", + new Type[] { typeof(Dialog_AllowedBombs) }); + + List<CodeInstruction> codes = instructions.ToList(); + for (int i = 0; i < codes.Count(); ++i) + { + if(!found && i > 1 + && codes[i - 2].opcode == OpCodes.Ldc_I4_0 + && codes[i - 1].StoresField(explosivesChangedField)) + { + found = true; + + if (callIns == null) + { + Log.Error("Combat Extended :: SRTSCompat Dialog_AllowedBombs.DoWindowContents(Rect) - " + + "tried patching, but no function to patch with"); + goto SkipTranspile; + } + + Label? skipToLabel = null; + for (int j = i; j >= 0; --j) + { + if (codes[j].Branches(out skipToLabel)) + { + break; + } + } + if (skipToLabel == null) + { + Log.Error("Combat Extended :: SRTSCompat Dialog_AllowedBombs.DoWindowContents(Rect) - " + + "didn't find any branch to labels before the target; did we even find the target?"); + goto SkipTranspile; + } + + yield return new CodeInstruction(OpCodes.Ldarg_0); + yield return new CodeInstruction(OpCodes.Ldarg_0); + yield return callIns; + yield return CodeInstruction.StoreField(typeof(Dialog_AllowedBombs), "explosivesSearched"); + + while(i < codes.Count() && !codes[i].labels.Any(label => label == skipToLabel)) + { + ++i; + } + if(codes.Count() == i) + { + Log.Error("Combat Extended :: SRTSCompat Dialog_AllowedBombs.DoWindowContents(Rect) - " + + "we skipped over the entire code without finding the skip label. " + + "If you're reading this, know that your bombs selection menu is now screwed :)"); + } + } + +SkipTranspile: + yield return codes[i]; + } + } + } + +} diff --git a/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_FallingBomb.cs b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_FallingBomb.cs new file mode 100644 index 0000000000..8ea778aee2 --- /dev/null +++ b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_FallingBomb.cs @@ -0,0 +1,49 @@ +using System; +using System.Diagnostics; +using System.Linq; +using System.Reflection; +using System.Reflection.Emit; +using Verse; +using CombatExtended.Loader; +using RimWorld; +using System.Collections.Generic; +using HarmonyLib; +using SRTS; +using UnityEngine; + +namespace CombatExtended.Compatibility.SRTSCompat +{ + [HarmonyPatch(typeof(FallingBomb), + MethodType.Constructor, + new Type[] { typeof(Thing), typeof(CompExplosive), typeof(Map), typeof(string) })] + public static class Harmony_FallingBomb_Thing_CompExplosive_Map_string + { + static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions, + ILGenerator il) + { + bool found = false; + Label projectileDoesntExist = il.DefineLabel(); + + FieldInfo thingDefProjectileField = AccessTools.DeclaredField(typeof(ThingDef), + "projectile"); + + List<CodeInstruction> codes = instructions.ToList(); + for (int i = 0; i < codes.Count(); ++i) + { + if (!found && codes[i].LoadsField(thingDefProjectileField)) + { + found = true; + + yield return new CodeInstruction(OpCodes.Dup); + yield return new CodeInstruction(OpCodes.Brfalse_S, projectileDoesntExist); + yield return codes[i]; + + ++i; + codes[i].labels.Add(projectileDoesntExist); + } + + yield return codes[i]; + } + } + } +} diff --git a/Source/SRTSCompat/SRTSCompat/SRTSCompat.cs b/Source/SRTSCompat/SRTSCompat/SRTSCompat.cs new file mode 100644 index 0000000000..e509b77528 --- /dev/null +++ b/Source/SRTSCompat/SRTSCompat/SRTSCompat.cs @@ -0,0 +1,37 @@ +using System; +using System.Diagnostics; +using System.Linq; +using System.Reflection; +using Verse; +using CombatExtended.Loader; +using RimWorld; +using System.Collections.Generic; +using HarmonyLib; +using SRTS; +using UnityEngine; + + +namespace CombatExtended.Compatibility.SRTSCompat +{ + [StaticConstructorOnStartup] + public class SRTSCompat : IModPart + { + private static Harmony harmony; + + public Type GetSettingsType() + { + return null; + } + + public IEnumerable<string> GetCompatList() + { + yield break; + } + + public void PostLoad(ModContentPack content, ISettingsCE _) + { + harmony = new Harmony("CombatExtended.Compatibility.SRTSCompat"); + harmony.PatchAll(Assembly.GetExecutingAssembly()); + } + } +} diff --git a/Source/packages/SRTS-reference.dll b/Source/packages/SRTS-reference.dll new file mode 100644 index 0000000000000000000000000000000000000000..7d0b36477527007b068ff70c0c5b382a25552904 GIT binary patch literal 159744 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%0Am1<m95b|4;Cil&s5VTHI?Th ze_Xv{$sm=v>VP!yF|uU`3Bor^pR@%&D3>8HlWFJEiNQ1JOkmHc+Y{=7s<$II8TkB; zBJWIFq84=@DbY!Vr%_bt^64mcS2#*a=&pwEBqhgO-Y3mzjA)J#n4_V-u(($sjkT9e zxZ|Xf4Td{$u@HkfRsIoBJ9DD2<)=;fbVOA#R5LeZ$U<gB3<=Lb?BHk6(`BcM7-2;E zR{mow&vf_#V4>+@BbF4ysa_3w>_fO`txKgR&IE!fR-YPzp$4BsDXqk!5(C}zLdkx# z;UBZexVT{gU@Hl@^M}7mu<Uv%%xNm+Ss)#rjYnZ_a7^XvupQ#GtQ`Q;;rpF)^*M;E zX?!XCWPo2~$oHo__$<tfq-7V5*-E33@LVJud@ssAcdB?qqwM}14N1uQ1W!>c_ve%c z=AcvJn4)V&VlpA}=fqYAXs1MISQ$4pkNpc21aHvsY_SV|VfY;^cKL{iK0FOy2Et6c zhYDTgvtnou&xSUyd_@fHUuHwY<w6)Vm~BRWm)&RN&x-;@6NnedmIwu5Ll^6BYEevM z?Ii#@RXz)FB=a;BJa+?!LYYO2W2wR>C67h4l7nU0OM<+c%~PF8w6q5rZF3Z#vouv~ z*ozw6?U69bAC5w%`N4lZ`~gb8q0I~Y1p^%s!^)fzol%b$`U?jxSLN?V6j5zonN84( z%72cbLCt5b-No_xSQJ&m;_1~8X;vo>m|JmB3@~_e>o$|tui4Pq28n8cGkti2i-M=I zJY&sLcCJ<MiMfz>_k7Otu#u&_UmeaCZmM_hD}cgdFq@FeQCsm)Bi+l@A&ZVE9}=O{ zL&fyRMS${)qL3x>N)lm@gU5p-5&{wIxi7z#n3CSA2D`IDkKZ$#Zj<VwN>pD?;4(w3 zdM!Ver^~O8G7*Dhb0TJG>3Q=E;f;o|56*;1GQjNlX##EX>%<Ujn+fT}@>|p8N7*w* zen*gl+!g)`{-hI`j3um*b}V%)YE_rNJQh<YM3;RtA=0QZGZl2GG^91UHT)#1o;oZ- zc^Tq%7M7;Vk4MGpTne;@SxHB2Ey|v8E@bjVB@_5dch#7NwCcAoN=*12V9`ZCyrqq* z0t8$OD4C_pPe;^Sv?c9FS`^ckTR|VG6)U=j72UI?glAJlr^}0?q~*0y$gsHgW~47I z%{Eux2@%pX^jnx6{YuDV^%iEd8QDE}<zeM3qBN0m-WUO-7{$8M*LP{gwdgf7u~Fak z8OOXyFm;^asLje|gF>I*H~fA`M0M_OhY*e7$>fNPSvWockS`QLnSso>`2tEK3Li2! zN&EXpZTY^YVwLK}`g#Png1rHJc7^AmU8A8s)e;FWcs<f~|7vKC7g<a6=LPNSVeI#7 zwj-U~?m*QFAB6%H<u<SIeB=?^^bj{O2D$nwq}W+FAYEP#0@BlV9)N<+uDA#6sxeKo zULF!9mI{qZ9yN~Z$khd4rO+SrboT2D8N^X3KQIiw5a0DQh~J5C%roY6_D>a$Yzz-< z@g76*!e60AN@InA;Or=qS0fXDz+7TBnDz&Sbor8qF}cnV1>3z9H<fK-6I<!8gtyla z1^PDuGtEue=BE4sX5kN5|Klou)!;4Z^7Ro(T>EVmV>fP8@}x^d4i9b_m3;8HV~dQP z<!+NwNn@hy6;}JJ2jJ_FF~AlUMK(1ww{u(XL*3{s8lB`Cf6cJR?!&2GgTitYIP4Fb zVO?yRb0wt>4*}(~ap*n3k57Ua>u)r-H67fN%0F1HIKt0y94xNK!lC}5b`|pw|B!*w zbo9R<o4y$MDpGHyvf1BksciB$HBqtXLPhx-$*{lCN_)f~*|-feGE9<K+IXLNPgDb@ zn=&4NhazCqu%3<p7K@Xz^4x;e@(61r0$40@3S1HaEf%V>VT13BB5evz@5+xvK%2tU z;DW+hNxHP#UyHNag>{_=LQiDqVARE5H)^#AuQ6j~Fnq9v<-o|W{5_)H)Vx4?_twJt zbh+3SHC>~T{`xV*O>Xwr<292GZt=I&b?}Io4jQgIH$+Sx7}M!l`RqKXbAu_<1~V$G zH;V_ij3J7}imAwz5Lf-8u?I(XjEjUurO5sUXYVB9{e$d%V`={&BZF2I4qrqYvNc%P zxmE9Ca2ph4n{KuwTlGb>B;SW6**aCkYF;$SvIA;!6<Fucw7vjU5H;vV2LYh1BwIa0 zQS}@c$-k+3Fy)NkR#Q0juiO2-Es=Bx)Fbb2iKLq#inPYT4l7&cd58Ij4dZ|Zdbq=_ zftLv=o$S?%A&hCjO8}e*@d$UfL|=;UY8ekPU-D>8jV0MiODf5UL<>jwhgUB{;8E<) zY?Fmk7_4LbV{qc+i1L#xASPTu>pZd{V-@dVA#mu%>$l0n=*N-%5oR6TT<F_*q$pma zQ#MIpj-!MRo7J;8<9onU`Dx@Y!_x4@_!Pa75_T`38`!!`3P)*lHrc|_)^%d9zqRbP zcpt<`F_=Qen8GIU`t=shlWY(1Yts{0KIp|7%$NTf)pC$6cg?eH*!Wreql~x4Kib?I z8})Kb$veZOqyIWMMK8dy@3H=|oInY@SR)pfA}>eT;8blp5PgO^v+am`+vbox{F;b! z+MSLKza~5QAb#Xm;6Lin**OyC`Xz=7Y8U-T<<${)vWQ9l7n}&@-^3Nj#QySx(R1qt zlgX-ed)Y8eaD>CgV8YfJW^u$LW+uAq9>ObG27|~oBMZ=fVlDOG7sdQzRB%iG@hN!2 zcZap86U8?ZU7EI~@+jOE@bo86to6f@kvP%j86wa0l!r!z8yKi7hogS^+avT%nzgkW z+nB5=B-DR_KGvV;udPqk;k50JeNOY-UTu-5xo-!+h-||S5Sa2XW{BLkjETE%`x@@s zdbYFsa362>;hNdMED~Tr95rjMqod!5OBD;_j)(9p$^e~4P$Qx}_jHL`dq;HcDWOoc zJo^M0H(l*Oy;_97VE=~OB_AB$aIWNok%kK;AFL}M1GSq2f9wM2Y*<Cc<x8lDujS&D z-ivQ+!;Zx^?n-ji-Iz(D>a71c`~uY_)(f##ov;QHgV=8XeXg&w9s&lj&Wc6_pZW$> z{xEWM#8lZVTd6ok3F5Bug#3PGJIb2GA4Z!BTCMKKA6QrL!ppLi=U{GzKNuwSZv6cW z@yii6^nHA^<|3}1DyNLH_2JPD^k!mI^#qu|m!IuJ_s^P;b62^beddHP6tm=b?Y<Lk znl&MP75iW{Icq}Bj;`-OpD{D5k3d2*3+KjtCw$GU2{}>T2dm?=CcKFWKaB;DnOR*n zYr>oNosdRk<}%*0Z&u$wYeLT1W-nuK<;>a9SG12*+h$J18T;&Ff$_vujZ|3Ql@m|P zv8+K4EzYx+qCmF^Y_L7ux5e7C-#H#7+|7246Mn1XM%L4qDh9k$i+=Z<gH@%^GgZni z^Vl1G>ef-LFn_9j@Du%@N!qkq{Ko|urNlo2j@Wdtvx^OZ5j|UKRBZ;a$%_JF5bHOT zFiJw5Kq}U-MQ5E^9BLXODImOF$CvqS4laFyhlIkyIe%xsXM+E29`KuD?8zd|9O)p# zqafDm)sU$Xh=tNjR*wa?kxv|Y9HAnvIP@4oMRIW{s?#+>j6+W#ly(3;4><}Yx91Vc zM($MUQHXl(oW0PUFcV`ERVTr7_!2z0PWC8tp?5IdCv_F%iuxBA*;TJ$v83Y6rSNnj z*oC+28MN8MC(Aye_FBUDqX!=Lg6#%b!yTjfQ#G!s{5TXHrE7E{4uz(=HPMAQ6oPhZ zqAYPJh8wOZjJdaHBWy~U`d`8}eR6`q#RS@cs9g&?>&|hiqK7d!8CrLYQxz4A!I{lE zT=^kf#o%Oh9j-DIzG84PD??AL<qqEsRW%|uekYNuBfg~(R5{qAH1*Mt)8JK(^kTM% zb>$+j($Y*Gb@d{zqDwJ26^y)!HpSpnG4lFKye)m9LnRYl>-Y0G3ahQELOB|h$>RhC z@3`9!3%WmnX4LkfO-MpL;n)a?uo@j{Afb{PN47*ojrQS#G4><&d$1>i2lyKz9?aT4 zGZyz&d~N@qWQ%ES8M$}hlb{cqM*3u+wZRZ(YDVtRgG!?yvi>Z(FLfp}b<6*+AQ$nG z%c$@)OEr8cTNpl=$V|(V!BYItluXO%?`A%@T|vK$?eXP;jcA#g{~M;}$)>5f#V<rZ zaAo!uT&f1%V%FZTwFn7A$z*Hq=l(MoRQ(N%YmpZ&hah7X<1fJI!=5xp?oP&(yCECy z1tq3vg4qk&9VvrIsv#Q7f+@KzxJ*;}(W!y<+t5Za-~(-I<6D*e{~1fljpovTjIpGT z7N?%kb<#zfS6*6L@=k0j2Ta_uJo11sH_SrhOmRHp5jHA6y;V>tt)-M)Ow;0T(m*-H zgvrdK#hlXaOgE9w#mN3cb87dkd{iy_PPDHhp?c6}U>m3x?0KR#gO%|_(`1kH<2-QZ z8(j7bc5dvd6H)*2&)Lf^zWnN9V^fc_mt*+yI{=a%zJ6IbjbHh526G_{C3XtY?v;Pg z1ft0+|7BWYc41||)Jl_vu)Jy-m_2LxNPwfAM$TS#tK~DBKx_=<mjV>s^tzQ?fi0G` z{DCH1_CDor7?5S29Z&hEO(6Cm<!1nDE;+lL^8VeeVD?buEdYZ{p(%Sw2O!vulzGD5 zI^LGpg)PmM&H5EkSuBozck?(eQ}$f_@9Z4|l|nj?zmLbg%lr)&nTo>`wgA&er&@za zSboz(e>eoc3OFiPk;m?cbNRb33eE-GgYM{8B8P;26`r6k8(5_vp6uAJU^;9sY)**{ z?sN2YK*f=k$lg#VA|S?EuSWqLkbO0<YHzR~*Yo3z{77o(S5Ui+Vf=RM?eg|&Z<4oL zdo$j!H}q+|3v@H0hx!KQ=<FqF+38u-#~58=@-kd{*w4~qAk48`fqbW5^2_|oubwfA z*_Q7%wQ{T>L=NRj;9~QYz~r?2kr}9fZ5ivHj(1h~#=X8bf^%GZeG^{rX`wGnVw4qZ za;hu~H@)#K$C2tQzUX?fXI0;fB)G&nVNmoBQSBCni=DaOeh2b7iTRivvRPn?xT_-P zsz|uXg4s;oFNz@oud)yt#vHqWet@FL3YllNx88z$W9Nw4)B@x)U-B84n+WG3dH{Q5 zZ^fJ51ak>UWH<IoxvOsh`MOVSVU*qxctXDhN#!I{3hF{sb6#l?@SwJ|QD_dh(e`>U zEVqQp2{EDfqUn(dvzwjQ2A#$NNqag7w4k{@_oK*J1RO$gC*BIOI9q@_aJ<TE!32Mh zJm86p*Wp991}-u8x=1}94H}rh`IYZj8Y^Qou)MWz8kn+`|3=Z?hf>I5Wuzbbf$k*f ze%I1n6{GvTI$aF!g8s)RUQa&XfJgX7JSNrvSA1tM)bO4CfavEUhu%rX$VJ5cw>uMS zo6&GJj90l0>3b&`!(U4e`nSfWxfrjxOt-E%-G4OFF~+3pcfvP;6x7+Aqqzv>5&dus ziw8E-c(TDFV}wQ2{vj57eKYnC8`zBD50wXUu%dS`(HCGxH<TN7yb$&QA@vf<@s~)$ zd-|}mz-@IfM0Nf&>DKF<^XYn>iw`P%40LhJiY(~12O6GGS<mH-QsG-nag8ex8_Dsb z3*lP<0|UU50mL^jfJihAAgmAZ6t(`9rXOAid%YWd=r!c|SC;3k`{4Q4{}j)2V6;gk zd>c4|<=(W7Yft%Yqug(qt;gPBVjteh*oU`_)~-TqRNkS_n4;8+jN_he^-d&77)LyI zS`WjZU{g9uAIr()LD-D+J6yxt%5(>&6(ofN6gWn=6gNdiKhE3fCMWJP%uSByyAk3I zlUxSIHphWJmx~TpbG76&KH|T`#?L54R1q6DnC-4J*2PWgv9rut0ngfe63H<bg1wp8 z0QtpQ)sHCnd%#KWBxCf6P(nF~pG^!N7M<xTx6N0(ajwggqYknzkMmq|*$a+y8K~G4 zbAV7hM|bIaK{eP~r*ZH<NyD69jM0!0fa!0}MmaoFj)R)Z@ne?5G<(KK^Bw3<Obj)n z{e)<5m*O&pKLo?wipE#$mU00v4Z?r}`OuexL6yR2k8&GsCWPG^QGSe({Ls{Kz5E0w z_;Cq8Ma*|dmW<(Vv;?`t1h&P;v3^RdcL^3_^eHq3r{a;~1*Paparsk{XV-8OqT%gD z4c-oEruAP9-WU_{wh_D?+Kh=?j3V9`!(X}qZy|iy+0>LXJzv@)*dc|XF7C>D56~vr z(dhRgG_k3f_J5Q1AJFo8CmADa9rDXz+&lh0B*+EJ(I34ZA#5BcnRHsF7k1~%{fL0k zY11D-VDQ^!)&k*0vliBonOkmEt1gY~P68`qN@3iMb%VEoCNAmefgw_c#m&tu{+uj+ z5afF&854epyu`W+Se2NQpsNwn*yP=SaSSO}>A|HS=5rc85wM+!WykFJ;?9&5zL1U^ za%LI-8MDEjmK@@dMswx96#Vif1{C(U%;QA<Oxp)Jri>h~gB(*+#h4t27C}BnJR{BG z`9(uKj1lp)ZUo@vC@e5;pct4|VDb@TO9X@~8;CEvpBr&Tpduin9EA=DsKW?o&a|@4 z5o;rRU8V~t7HI{<do`vD$l^r;>Sze4qe(zev^EUb;1y6;&5zb!A8fm7qgj7lFmWe} z*}ue@l=p&(yX>dD7fjq^Kjpn(;$HhH?*$WYx1aL9w$Y@Da)PL`0rqb44&W5!@D6pp zW&HULM9wt+B)nz(Nzk<M=ZB$<vyMMoBBSvqe?-I8A3;jYhA^<q>Mvki1`jxGCgubD z-C^<XZ$Nw*@f?J_6K`~5xY6{ZNN9c-2WP<VC;0Z;ZriLsMtbH%;v#YDKh&Jq;)48$ z{<!1~a=W)oe1haYDFFQ`zBoSqv;;VBi;cBgiqjZt-xw<pevuGqYafKLaD1gvIL^~{ zBXjxZ=+8)odogpv91LAsG{<%J-bc_&n?Ua-=x&0{L89%jvzX+)hv3f|%n<{6FG1e{ zNMmk>HByZ8@pCH78$)vicL3)MOoz?}zj^RkaxwH-L^)Nmf~{AWcm=BbGmtPK=}F~x zb?jBR(P?Wn^a@EwevuB=9_h9$U^;^Kk?wg&XEU^yz&{8+=!29Wr5ZqOvs$a412hvp zL>_0ppaLT$gDMy9*jp;h^>^lH3=l8On5!!AK}pJe73Q{N*IZFC0p-FE&@m$k+WbEc zz|y7R7w`(d$VlHc(NmsJ+x8_!d>Ie9^nxd1&o$|>yZd2)_w0va%1u~4?k=W$jY!Qv zkz=+2{_tas^?~2bNbyJYyy%vUR9Be8ClI3B<#C!8$1X7_H0=Hha=@{39=&{(>i-^o z?@w}=C)dql9qRqeuULa5`T77~`YUACsHV~Im2z9fB+K7V+u+c*qFx0(NeK77gZV!G zS{Zuwh3OzGg{XWLRNy#ab~)^1d<37VDgJ8w*AP0h|8ZQ9@pXi7LB==uO4J_Z%dI`e zSF-jvUpSrrO?fA4-@?29RwROr<gFTKvKvX%&gRRlVanzr(fN2mk3ISA^y|Q1B@1lc z8+R#UJhz53xx6=yukhQTD0h{JA0e$r(F*dxg_zLhkf`z<L?fJM_}>sNzYAI$OB#Nc z>E8{T<W+^bP}Scf^xvZ>a~Z2m^&8+OxzP>Th|j^}y;SPe<g?xKSuuQGCVWnL(6%}! za~Q^=f42PZ!U=K0AJlVt52$16B2bglIC83wYt3&mUoUNY&zb0L(2mf&O|f&qdCne; zw+KWN_00!vir3xHu3T`0v*#ry7S0sJ@`JJPjUiS$a-|s?CNz}s$XVh`5+CJ(AulU% z9?F3VoB;c%z)8MbHa%A0%kUDU#Rlm*g9Oh7k#00dH%CYV2I)?Nbhkme*C4$kLfT-E zK4g$SVvs&&kUl{q_9t^-Y~b(2c<u=Zl=p<~qHXyPeAGworSjisx8hcA=zFwLaxVld zA}%vIc3}&K8u}PefWw=^^5*)2cJn1|K8;&Bo<uI{(IX)<*{VSymfr?K_TKA4a_JP$ zWIMih{X%SbFqd8%4#OWJtxW9Fu(&@WA;(@Tl#n4CmMgG_0>4`MW5$8-XAR+>5ZER6 z&-FQSQw*z*11u*1DY<@2`r4Fwc~WtXg8g0d7NN`dPo#tg?kT*&pOUEeC_HC|_3|me zh_1bRbbpjvN>sj*;L3jiyDR(|o_*e<OQY?6<-22Px?+jGQBM@5!64h_)4sToPdv?` zgiA(Inq~DgSI?5>W7E?7vR<BNVrgQmEn5<0Q!kHK&u0fC&DDRgB)2q@)YB}lr};=D zO}sddH4;VTX{7nf%xRV`oyJ=u%_)qu*Am8<yL5UQ_|>hf-+)N{->9`x_;WmC$-dY~ zRxi^n^>n|PHC?W!&SE{?esx(4BQ};_S6m>+*HcFF=&h%FHRGnq{jqwAu6kY#9^01H z(=_F?hVUjm+FUQ!<%kph!e2Ct<Cc1&MplhvpPDV%WBW|@r`eK~mPaf$a)Z0rR@#w_ zwG|x~;JNiwkpOY#+orjDmNXAcOVh~b*;tyGW*oGl&RmpFLlWmAvLV1YcehMW)?n|e zjGUoJKdmQ<vTCGRwqGMnjJ=}?Znj745{<FK?-SSaiKV%vHBB*B{sv%rGqeDm=3G_E zm45|5bb8l&w4rCG_10;o`15u1VuWA8IKxb8uoR2<W<4Tkv$`v{DQ_`7+Luj_hTDP6 zCCf(}@Z$#jtq6RQ0mHM+?)E<-@R$L^fkH55;T+n@+zL}lg_SzocLDyhAq+vbg#8lX zFKGhS`RHe!Mrh9gu<qzHj92S2{(4s(T-3h;h770U;PBUg=E^Jj@WUtE_L@z}vYPz1 za8dsTk@4vOO34vDkPW$Maoh~Wz8eEzbu;;OCw|Y;43_#Pev81AcP`3U`7P-5PBMnO z!EyJ{@V~N0rV|p~;_t|kgcB0Zr_%cOfQfTuuA;Maa`Sdx$%DBx9YudYB&HsG=|AGJ zT%Gv&Bgfk_KvW7o2i{lK9!nSOb|?PW%+~o0wipxs31s9Fn2A3%Bf@<gtwu0Loc9G6 z*M2rG@|iCSESVi-F^~(qd7X~P<q|N28l+$G&&_mSNV=St^iDEHpDuF2ox#q;Uz#y@ zHaK96aF9!;8u=F`|Lw(m;Fe@mJB|_FB}j!4p5usaxp+mo^#ky9D|t$Y|JS&B4?*_O zB-G63C`9K(eFjIasqoKWu{4$+!kQlL$w`NQ!S|l?&`|B|Hr2lZP+kWWkp(xo(PZ%C zSrPX%BOWj-;`^Hr;bh0CcdklV{P1tcwNK%inz4M^9z(*AZR0qPA*D`|J$k(V=V>sF z#^ZDJw+>0NL!SZ!6QBd}k&7<=kzd@%55buMuiax9B(|$eL%gx;ee7@l&9n<yhTTVE zu!XU1Hp&h=h~{Af4Kpiv_?0T(v-k1<xDmj?AHhq9T{Q<cyq&m^`H4foMkkua#!Kk< zZ@R<-tTW-pVY4LAdiPF!FOCKaSVdp{CgU%4)PCx=2h6^2-jw)tyN_annz#d#L;j2u zR-mG<!KSZO@&yjj&f%9(*i-=BnfPn7mcEEudK*~lon%bpi{7rJQRZ;}(%%u84_2Vz zK7&xZN@W`QCvHBY$D=s~lqsMLehboZri#$S$QSIS(8ydiGV^0%#xFdqR_~1Vg}AbY zjLjT=<;7r$YiJoLzi~WcE_pfmd@ZQ!<3+&-235kV5=H+M1+_uUh_cmZfmKxr*k9cD znjMcdFlpN`UJ9+kuUujC!92H-&y}tDEN4DM2^~-~LCJE83qvP2S}*PCNud1((!R>l z#&ozryV^>71=h<GLX~)-TMtSGFicIRVK0)yG|UAmx}8qEq)U650WUG&9)hLLv0TY@ zNwgtx-iJw04?R4x!F;G=3L#YQiK&!i7N+qnO)P`J;1j4qC@FgOdKHFQV&JUHT<U12 z>KlrD`mTa2g!kz9mFsP}`@jaA1$^nBp?(HZ?tq&(5<MOq{x1V|++`d>m7~Sc8|pGT z4)x4aAg^O}z8B4^u{g@>qAma!+SJqOn$^)Hetx39I?9E;BsQ>|j1swx)2?pQs%X6| zm#V?HnzGOW-)Q6+7<mp_dAhj!L#f+Y#@E|2!Z5Lnd`THmGECZME!i8IO2*$Qo3Us( z`;>#A+vl|PO28hy8r6A<-#r08EMyDs1()Nv96CCzR#-mj0-*0}f4H^;U}m$r9Rzqs z2X1A{>5lpbCh+B-!D<5;y=ztuV&I}D{8%&(f6T;$LbmALvV)V*60b?7<|LbB;@XmA z#(Z~ld-VG~*Qu9v7#}@l{bnQULyW99QPu?CW5CB5@CgLdj(O_y5bv9))6T>*&35c! zO4ryi##lQxjLA2yZELJ!RQEvFim~q(Q}-GxGneC2&qdL>{th*V<y!@_)`n1fY)twq z$jgqW-RO$?jJ+%q=qU>4VPge{8%?Om1lo4AOC9nKqkCV9Ut;?q@Dabn_QU+1w?DRu z>F=WkCqII3$fSU~h`2oTW|2wtqku;H>EJN&QI7o36eQqO;Yw*Nl?_vl021GHm~a+l zs~CG=@Yadlv@H=3F5HnVKw`(wH8!FzMa;Bwjg4sLWzRMGaJm7x=>Q`~f%uiQ*a1ek zZ;}(8D9l6w58Z`Fjpb2#9)i+Qt;Vf81O;$EF{jW+CSeiLGP1e^9efEN@aZ$Qd=eyC z<XKwr-6s`%pz1A@VN4ac4+Rz;jy_!3rMsDW2n(eM&qo+BXz$pDV~4}l1<Xqrg5T(q zNGro%_>burT7vDF0=wy<J%{LpKn)k+f&Fl`I%-BQCVUAV<4Bv|IzDO=jq``KG5&Eo z^HcNC$G71}mVXbaacPe~8IJX6?DLcvLLuLom+>{n;3kn?3WE6cw;sGiRCs)NtAzA2 z!1QuF@bea_G&cFI+dS^O%zbim<5RZmb*8809gVy@ahoXTB7PEE`cRgmAZJ-C;w^?6 zUM6_>@yq470%~GEy!gA=Fq|HK(ybStynUMe<a&q=i;tKm$yA~W7iQMXC+svK>zHgj z-G^k{7sXjajZ(l3(89e)&e8jmEPu~FQTsGwkKjJi1sdI6@VJ2>uV_s!Z`uhFWlin` z72)D0V~f6|R6#X+{Y$#-d%k@yFmL+s3!sS=ai1Ie&<veUwe&p6%+4R!SG>*SwH3`Z z(YP?Pd&e5=pFgYtWUzaO+`nq(gE@`OLtbv^kI2K^#MzX5E$#uIAvw}wBAwG)B`uU{ zrnIYO%-S(-S`5_FdK;4m6Eozydd7Sm<SRqyv_4FdZkr+Lx*3zosajr}m^K9t()w^A z0be&|{9BYEF2gD%xdz)5rS$TgL293Alw1<5g+YiXXqMB>E!eA?$xoLI&QM5&%5!xy z?P;=DA4gu-jJ&VXo4NT@;O!3R5Z9b#9p)7DgXk*sW=M(0A4_A0yTD1}Z#Dj~2BRkN zH*_~1UX|Edqj7Kybty!LLG*jsNnXqr3l9W-qjCs)j%Go9UkhrmV`h@r9@0cIST{4? z{jGSp@=h3G^Bd#%dEp6rObgBU0klp>9{|?FemrWQWwYizw@LMRw5vNI6Q@d~tamsI z@8FMu$l$L7e{7sVF(?lG4S}Kkk!0u;K3;-Hu^-ELOw0SX9>iNJ(gwFdN;XK9DUDVR z$E)@QpvAFEqch_h>@T)p&x~6dGuU5h!7h!>jBl{NOzf)gQ+)_w{RZ%d)ssc&UI?v0 z`+2yG1uR7+b*jQrBLVCL6A)?=bhjoDt{Mqo8JK`jlVE;p0>fCHC9w!hLbyq?pgBnq z`!TBIwtqn-KqX&=!$$nPegXOzvj^fR)ZSh7x?Vc9Zn0CPDl{}>T@I@)qAl4VRjeG1 zcENK&pJS%1TZA#tackrY_T14}7x&_t_Anyin)VfZi=KTIs&c2~O_YD6X9-{rt>R+` zAFskg^o(h#XJ5rz^o*J#A4bz87}vCK0P&x~x7zb)D?YSmM*0^2v40ldYX0NIuL@Vy zuOS@QH$rRwLWEL{1r>c0fmVgBMgpsEgqj51tqFv$MgpsEgqj5NTN4<@>MYgujc}7> zL30w(H*(7#-R9dU8vB`}pl5g2>)PlU6`@7Xq-dgNCs{pvgqcy?(6g^IOnyYqPNSZ! ztc>F|`Aq=1;pG!(s;a*;;g0ujNK^-)^VLB-&X>Nf9X#9v9x!&PtOQgBCxCIRM3Z)} ziE}HfqDV9!#AQJ_QIh}wYa)OIE{G1k;+l%Jh{3(xdL7>wu&~_BbH1S);>UDic{*}0 zg^kne5yx>bch{4j=Of+QnXZWQksA<s{kfRpzzGRM<WC#~fB}a?B#Ko`qMUC~pb8~# z;W^&u#74nmTzD`ZXJ@^}Z!=<#Ao6$z^GNJ*kur;4C*^?!7Y>mFV_A41^A8WfW1u@m z(hG&~p@6f$=Z=BxdK11T$)4WK5E-Bm8sVE#l)wqxIJE^JbSp`{l>vzBImv4q62;{; ziS+NBRbGby`ya?_KIL_|;Kk(S=pz8S{zXQxXfjr?M+ze2!lUqjV6D%Mb$1SUd6$vv z&K9{IH_>1vF4xtutYdP8yc;=rq2zZo@{8m>VdPDkM&2xdJ_e6Trt9Cz0sFBC;pZcc zBcMJ;zmNPmRmRo#&8-37qK}D4*)T2Rkqu&%YZyp8N+py<sQ4xWQ+MVZ*}Dy0W;PRD ztD%-Iu?$_pXQA8D7LG@nh&{Fik$|HK4o_gN=zxe4Zwstjk&lTBPXt0!TX58ddfE3} z3|<C0oW#8h=#zjuI6txHk_gIxJ{eF{0?$`Q=V20!-|#U!iEtD03{L_6K)2zc%3>$v z8J=qB7$Vf2;fRkI4Y+uo4?II;evAkrwlkuMifKo*XHu7Q;QeG7>U=iaozoE2Xh#my z)YDy00ZbKH;C<Sz(HM=`2=htU<aodTBid+|@!QDbJ<t=UN)+__2>=}Y!3uF>JAStv z{~bF7`)9iNCmH2be~ec(iw77+)$hQPUhOCN3=YB|h>=c}pBj4X)qcqDQjJNa(`3NJ z=N;VNFA2@JC5&0CD;q99sDhzbW<0jQT|+p#Y@m8=oql&S{bIlLfXtdbAm4VVCARGl zl;^$ma+^MoLTTv(h0|<MC|0loNyb_%Ta6Ft_pk+t{T{Y0dXxVNVE=Cua%hTcPQ_rQ zJ|9yLvs(8QVr8|FXj2}BOwno`W6as1YhuorD*;V3)^=oPasPNiek(5=LoJ)T`*E}; z8z12PH<HCG`WN^%HX%u0u6m!8nONM<h4xZf=?47oDjC2r0=4@~yfirQxZV<kuR;iw zd?wB=k0a;a@^4^&WEHK(MYY~?N=M&27(a13p0zU=G_<C?mw<#^gj{<8<9?0|pb^YY zG(z%~3S&&aX*aB+_t*I~b;R<t)DhD<Qb*YNC3QshYkWu@-O4(;3Z;6Qh}B==sjp($ zUWbQ16YPkOCaI2SlM8ilF0=katSEJ=D?dc9mv!8b2;$!fxtHV$*6>{jaunW7c*;Q! zb%ct!otsczkG%1#AhHEcm3t%k<%d3xLYJ>>e8VqF&qkfN&AThS8x-jDs{j5b-G~__ zmzU;)s}TX8ll(*`UE`~;SkU;5OyeJqGgps33-Z9FNyrAv%~{!;#|@&<hOY&x{9Z7J z?Wku1v2hP*K4>rhrOq|SAEpiu1@~h6^f|zHs=tQ#WHl|kAH&1&TmYeni<Q0~xlN1y z0D$nIy$=HT9TPIO3GV$3f>H}Ej$ZzjA6G*ls{bi)ex79YdjdIM99Yo|J0H>J^8a-8 z0)%10(0`yAzm?7S4@icF)@XX=;RB%E($Gwq#!#jYKrg8$6w<&38<5|y)qe*cD|_M~ zS<Gqt^s>p%+y~I1%BPV$i~x?GxLvXZGiJE|3~u7>`LE;-`SVVIWq89<!gdoY>n(j| zrD@SlkXKK@PkIl^^L;pcfoImR@B=g@`8jl1FFOWy{)6@OxztRyABP@>u;z%N?++H^ z1z!U5LcpoQ+2Cr7S-o%}n6IJO_}#N-BtF=Vcml!&jCzJi0O7kfMLeg<SM4thmn2Ck z`-4xTl|>Zrv)07Gt`U=<ONdyaogg~+7E?ZANY;iQnkxK?D(o(3iM6Ud%S@_#mT!ne zEq2QSKU4?Ocp2ct2++lXneSrl!g`!3`ILt)F=o=NJZ=RL^^3N@(31aQL_T~WNT{KE z$eCgGH3nI%0B&;=7Ps_UZ7}G;6&Cj<;0~N%K1>5DLkjV4HYmLlc}&2OYWf=L@|5>B zsDa(V!5G=WVRTS7uHaf~$+_B`GwO(7Q%Bvlj-FT;X#m8|=wkK>IK1yd4(j`G1uOp6 z3e-dXjX+`em$u(!o7U7K4ht9+@xiy^#Dv;FUFBTu5WHdftZp0IPu*{^{n9+d_TLE> zXoabj@>}v^`(dWd9Bwt}VMz(=9WRoKR9G?-G3s6Tu3Ur%gxN;u#R%iF<4f@Bi+8OK zBI8Zb#W%)K8Fc`Z?IXe~QDXgSDo70h%M6?(dF4JZR7;am)jU%O*T_u-ND@Fspd~~R zros^13<hz?ZbIhAAt062mjW#I42v~TM(SFfic@87jbeAt#~G0_5@444LLf3$eytel zi@R9LpMplj(u5VDHcY-DJmtL`MVje14r=fcv30ZH(#bObhNPQkTvXTeM|`v{KU3Ef zZcAN@0Hv<6dtK^UWXA{U-NUO!*-5>B(A2xRQxeN$^*()IwNuRi%LoBl5n!pR1rlC{ zaxPa`5~3ja3w}uj!^}Hf#oTw>fQ-d>;VbTrhUhsF<he+owwJ#VH6}6W=Q!0YGBp{= zFR#bP9az3qACK{9>_@r_?&=>S$__k802#j%IkgNtSf2RLxo?ek>=2E_+W`mn3HXii z2C~2olGuO)fDiy%LbG*hw%=xFmpFJt9ksoWOJ=*#H~HycKmP13df6u6oQAL}dm!UN zx-+d`i~yu8d*L#Qg~kvI%1EwldAl?RJF%Y{#|f2zlZ{|3%0K?ydFH{DNx$(+<H+k8 z<RwEU_zbRW{Hiz?8V6MDSH<OcV0;sSjpJ|$NjF(3$aqPv`zi3}&^!JQbMGBzRgwIG zcJ~c)Cr2hRgvkj81_qpgAq+6UAZa8cl5qvuMS`yEa1j=aiztdHE4u1p&WagD5Lr+R zAO;i_6m@Z77ZhDl7T@<<eeT=<Zuq_T$Aiz*?FwC8U0qeD&$;KE8{88?C`-0ZzKETZ zbFtzQ(-eyt%iAbSQ(Rz4L*ryA7UsD#$H}jPaS|W&TSS~RE5*i>UqeO4iSU0hPFTo- z8&kLrJ2EU2J2`7$XArqo+?M`d){48<|7xum4B>0VW&WSmip%{!tQFojmVjxSrbNK` zzeNa`rX)1&@6(r!4rSw}i9aEDRp^l<g`I=d&7TGw#V~wNN1^6DU3NuaPxlHc+b{0v zqSZa9u+K{^Wq<7Hyj&&xvGPXaF9Cn4_{+p!dCT&))t6yitGTzUPICcVN-zx4*zui< z4;-__-1#qHV1G6(=UZ+7vjF|p50=n^1iB<3ft!QeemaI%2k<ls_kHYDvH~6{nFIs; zxR=8b7Z2hz12wcSwr;Q^#@|}F7IF-cnX?cqZYN0((UK<O+z&={z@=3Dp5fh?Fyb|2 zK$=?eJ1A>cDbMa%vt?1|G=bbc`!w<*ke#g)Pu+&{bzCyBd5PuDzRhYm<;8CH%!kEP zPAWsZicK%>=MDH6j=v2yo;Il1a=MAM1t#KVWrUx2hZCCf9q^Fd-M=&O#eZvJX28Ue zAtvHC;-P<zA7lGlaU$vdHu$K%4N(N|3aN<{xxw41X3fUo@(m6^HRp-&Y0`nkVTd?0 zlB`N+<l#mO5DEF4C*|@Jxf!_GgyrQz>{TNC--O#?um{d7vWfzW@={>Ng{eM2MUs6H zKLX{K<;e=neJo6MQb5^Tiy3(|V@@j^;QYC0@tlP@Qhpv-B+S7kIL4oc7KQog&j$#^ zifJNd2g(i%gcE!@`H^Hx6M2TR^h*<6j&3>mSz}6A2q?h;`AM6CpRxvcwlmr!N6QKs zp;({G-TC%Loo)m0n~SE2G5qgii6yd+nb#pQ%r^x*dPYCCbf))7s^dg^zOb3LpLV{m z4&{b_q2~+Y4sj~a7sR>E=L=k^z#eiW-1kCr-Lrd0mepXDmG4ePo$MiBh6y}hkSa!i zHUiD<XB9&`lWi6-*-!oj(%9>J)MprHBagvGel59VF%lt9sh4~6tO}PhaN~|yRDf=Q zpI*T0=SwDog_lab!H+1@R0wtxE+V*{-@n7N=%@FIgJKLKvg0A^G|xrz+<0H~;?Za< z9s`hGav4O6GOT*%ee$?Dj6D~zXYfr(^X6dn91ax)Ir9E%Yfid-J3KCj?8Ky(;PDuD zS(!^-mx}6KHpn!Uf@I{U+3fqe`{4LL0oMUdQyDmTGf~C-ci6R@UCCSm15Fd(0tIG} zP!UP!5a_;--8-^-nJe(i&SgFAV*qkVl9se~%~=Y?WfMal50EP@_I)j<)9t%p?04<c zv5vS_knCzV$tCajh<Gfy1o;?aA4^UTK9P*up6nCJ?Mef^+(l{SNzSWZ?}QWVJH>y? zG~xc37nb_F=AEm7<9s=0jsmf4v};ZlPd#E?P1sh&U^bKsdZsSYGkq+9=f?Kg+!t*O z{vHmPvkV{xmMzC8E?Blh*j$b#UUDk%O29c+0mxT1c!er)*^{X9v-pU?H6WC{2IFw( zHRS~k#de?n2QpUxEWQVprkA8+j<_Tja*66%Fhh4UD}l>-@$XSPUy_`pNW^yw+>7AR z=D2DknySV(%=Ro<l+C{m^8V|ox5>g)Byh3;!VM(YSz3u3Nw5>Pgw-T)?tv~hk-*8b zC{w1X*?ayqlv_k7UTk0NAUBgj*R*TlP@0`3$Jh*<W%HQL_v2BtSsq+?b09{#1@w8# zn0P^vc~>(&4s+=v%jQ~$<3K?_$VoFB<+Y9;YxgPdA3;3hDYx{_4DW4ExXD4W<h7Mc zVeh8qb+NUQixyEUWhvzQ|69Ritz3ssKbHdS+t{X$(Y~E+&J*oFvCY*%`wq6bFlgV& zHkUx^>0M~Bl#D}Mo2K!AC4VNVzeN_W2QvTeP|7{cl#tLvT7_+-v9Z7rf&1tIn4`Tm zN*U~<PmZgP0*%{WY-i-XdfCn=anj2(<*KO*H*W27uAt&^B)i+T?_24hOr^bkYE*Y+ zdIYYeMqzdFjx6yh$BVd@>co0-HO^^OHJ)_h=DIgNa8Q&f%>M}m&woB=!*7cKCj<Je zcPwEl33L>rm!wnPljtOG9`NJzk9%uN{ujyj!d?Cg9C2Yc5u10d904dOUXOewK+{BO z5=EAO3^8h&ri03(Sh?NwTu32odT6^`>LtN$dS;_V3;F5CjdwJQAN~n!XGj<9di%l= z0S(x@P=b3G>5%4UXFReFXn!9VmwLG<l#rnVGd<PpfSK$OAphL#fLWr~Gzq(j*u1Cy zzi_~BI9!{P)&V0hFbUQHbDSah>A#3_rimZc0hx{iKB*6M$DGLK+(bIf&z_D(+3Ve5 zN*IQe;4pRvh5Pem2Nim~6%U9g{)O(JB)r6x+&_s+?f!`uV=a?P$&@)XZ?3prPQAdw ztCyQ&+tv$aT134NZBj3gVY0WH1R*~o3i&^UZALZP)7WM}qdkLd#+TFuA9}Jb%mu;N zcVyhhDu8cr=Ycf;ej?z{7ybgkk_Q|<k@*i2;X6I9fX$m>^ZZoWqA<|K;I~gPO_$(P zuKvk4P<U9@zmRGklR*D1n)3Vga~=n-N}d2LDtQQ6OCAO=O_xHTuzh-w!LNkkfh6zz zM?fx&^^+czhC5EvNW2T(7C#EkoW}rE*%mvjX%hW5r`W{a2-jO;<}a7QX`wwZ+dT@- zbL@9#rimuDYvFu{Mnt|jvxgvDpETvk&IE)fwuc^~e}^8Shv-GXIYzYFjWHgPwWUnN zwQGE%V2{eue|{3C#y8zyWh`8Vwx3o92un$zg98LV37jeRB$qYQ#SJBo!!_8hj56~M zNKR6xb<oGyV}xF3CI>Ib33xX0kl94V8GafmhfFr)A~P8wF}$UDo;HT*g@_oIiAoH& zz-T;fEryVv(?EL(+nfg4*xb1NoG;o~KDVFFkQi=>o}tda0*p}SUj-cR&<s6BQRII* zMzzHlfn!vzwDB$9zduHK6h?85Q5-Mg7{%*ExYHw{{Icqnki!9L9BXt7KV{Ltz7Y+) zd0pVO0<Qxs$w0NWhlN!n;;_ITa#$e2R>d38q7HugZv;S_AO0)Z&X6uREPM$g0vb^6 zD8aHP9n$>lj9(1^Y(6Z|50oI0`mJ5oMr*IwnAL3KYU)7c78_Z)Nw7BF<mlk1e+}jE z?q0UVM*La_+8Hsna<h$L$>#7Po#tmxM`NIJb8#raVQl5bV~b}v_eCr!{)N_V8ARsG z@+|WX)^5wBS~6u8&9$2bhs6CW68G$2<DLN+5%;1^;vQE5CGM|*ke@C@e6L`ePDOhq z+jKM9*RxFrOWYTtCu{S~AYj`ISn>o?oO?PVc2D<YC`I;kLJ8T^-Nx=g^Zb7T9=WHZ z%>R@x9bj7^UyynK-Jb3m980%~?>JsWzBKRY(y?mQIS@t4jK>F3My4>o7~}Zw<7}EN z#8JWRx8AXY^(4?Yl3%3pz=Y#V+oC`p5>I(cph|Xng>imL;PhUk|9D2}Qc7=tqYLBx zl!%_^Y1e#l@(vK3-W=JvLU#|EB~zL=c=uBXnaqhuCX-;Z<N>spY5ep*2!J*}{I|26 zAzhHk!{L>H282H)m<G}z&Ckww+ZSMSCUb=-K_d0b{B8wux;M%~yg`Y8H`bj|x;(@i zl!%_!@_+QkL+HhtA>LrkAi;X$VYFy1KmCtT&NT7EdLz^EhOHSA6=@>HiHdZZpFJIo zfttYpr38nuH3QG&o}p$eLA3ENv}VX4;#rmj@o=zaSSHnyDYIy<8C<@Qn(=CL+}oPL zEDR>4TuT#eQZw4YJUPdMke>mD+VE$#8S!Y}%{GG_?R(i~xJk{ZLeJ1+<)dJPCjaBW z<yeW!RnGYwMUeYHjjLx0@*FO3PFI9>;16yQI{D=Va$Z-1vGzIVcz88Ib3N!TZ5}^M z5VN>*)YJsd@$f}NeV{!|na05Ro=4&33C^*U_MkQ(htU}q)$m8d<b*OA&*UrzQk~Bt zu?YZ0;$KXS7Jl|a!!%)!i3r#r@M(e10)`w{pC=L7$R3i7B-r?S0WIp_r+*^=+Whci zJIicj7i1%fxnv_z1QsP2VA3JY&(3)860kWN=_^W*Nd49>YooPSY;4hdTz!!`kR#1D zl3;Co$<e`2KYTzN`C)C$4A^Lo{Z<1;rUWgJ4rzXN#xqcW%{FokDM8}Du`#vT#+Rw1 z%}>@w<}nG@#?6ine)_ji&NT7E+L-0o$UL^)F)Y~}UZm6f?CEF><S_$_5*)_n@mZvt zcHJB4qxct^$FfqgCQMaXn_wPWCg)A2I3<$FG0BuEHYYiw!k$}9MpSN-9H%my<4m@Q z9G8(K#}V+7<4;1!&k#T^KgBkK0_|tmW|*M;9NP>K$#J~$C@jZc0V6cWUj;7bZ2!Pl zkAD%HD1z&SNiZ@prvl$y;@cOMhreR{wZmT}{<`9?JN|m(uO5Gc@K-*hd`PvI>DPte ze1a7OIKZgt_X%*)sj4do&L+5k;Btby2sRPyBglk(a+fU4W5jL4XUSBI!8hRXtFYJc zQJn-aa)s7J(wwJoF!t|6E93^>xu_L*5q}fOO;1B$@iPD=&jPf=ZL>mt4#?Z>n%}wA z1qUwYA^gBCK6oZw2HVbIo`<;q4YbVS7tl<bzmbHkBxLw$w45G^{};bV)vIu0pnZ?k z3?37)i-`&8lNs5E2ELt#@ob;Vg64$u%8Kmu5_*{?nziBvj29xB9Vr@Vb<0SB2&?Zu zgVi~aeIl%W{ESw&itP2vR=186-Gm8-`npZ@f0T&%j}ozw5-&%N689e^;v*$CN9st3 zkg#F5rFq5Xyn-ecd=Z!LR12;jBAc;k!>UbUxB`|ta*f2jy}O?oU~!uhbGAY!@9yvR z-pQYTmJ@Y`sI5x_5zgD2Yk;jwED#ZONn%*)Qk_$m{sJLC6B6}j2iwdDsXqfE>d%{C zgw~(8flK|_i(+8w4@FRayv!~9g&xxb^#}J(w5+}y%<4S^M+tISO(p<Hm7o&VfnE5t zRpMQ=P$k~ONA*aEkt?(&l5CYgMS`~oZBcj?&XS^lZyFAx3;U4ke~W?{evTq(Ez=6s zmoXOpm%)4?s!h{7=wVC62UM|m8%A)#S9E4Z=v@4l2!X6ffrt$IC^ExDZFWR2J4YL8 zG^9Dyh%|><aH=iC`!mw4ujo4)X>1wsrS(HF(r&=F+!ARt1>0Qt9)z*BLt>4-v$4it zh=?_Dti)P_6KlI6<ma*?*7mSXmrAS+i-<LZR9LKi1YBb6A{-=Mld&m+SVNZmVys0T z>&iQncc{jL5~@0h5!aPq7Qyud4-tG!fQ#m;`V9byM-Ig3*@sUXkNeR=JRZPD^{WhY zaD~=Hk`0>ADAPn3d5|h`$a0WE=sQOePkS6mzUDWfhXDe|sY*xvCsZuQsn4m{GzAF< zNeGR`4@t=I({71yapvOfh{m@|VXGX3?9oIdGb1H!3FkN=2Obg4iWH5A;M}k|gp83L z+3}ahXc;LQl4oK>PNaYs(LA$x!(fDSv=6bMRb;On@CP2AI>RhmM~LDnC`kFg04T=; zTh3Awm8G`p`x?|qy}{R)g=Y}53CrPZ!j_krCaQ=x(Rh-JEp+0C)$gPrZ*gzG!U-6w zg6q<p^F*ASUqs!_`Om=fi@R`C4T}U802`c~l^vcfJInCVakpc)Hve);0JR|p?Q_tt zH|L<ue<o-|{!7?N{x>@LkK}UunMTO}PuXS=Oa70E$p0_F2tC&P6}aU8`N;pBGB!n! z|FQo={&TNeUR7RI-M}pW4Z&)H#|Yp)RUO03FCu_Ns(LZO^8iu^I3iR15I$`oID!@k zf5V4O&cBn8?*9iqs_#TUii=PaNwzW^rA!l{jhxp5k<+dqR5)X7NOW-%BhiKX9dPYG z3$Y>!Y)Ej_KuClr-WllB4kbs#rR1F7ym=iLmabBA@C*n}OvLWstd7y*#cx2JbG-YC zgbY6&A{9oK>x>mfBr_u=ZT3@bNQDv6tVq$2O`-^7M+*EGB}h89jO_T!M&v|_Mozs| zq`-eFL1IDc$X;*4qj<dT3~oTuhC4TOx#_pSaxWs%ob_B}zl_x;CR_oto?JW;2WYdN zEsNW@3#mEX`UbL|+Hl|x<UQ`i!m}l`&E`E5Ga~OL7$on<IeGszg#64J<o#i`8CsI} zlbH7v^QYot$u}UDJ>ue*=rN1G1rqX-+365)elm_6``G96j_h~gviK@DAWM$CPL=mP zIrl*|-xsyT)r4CLVw!NYk6HXvxQ^LD9pu>YLN2zS0x`5cVGF|g<W`R(dF)=8BB)Q? z1G5l>?uE;f%af~d6+u<EXVK{oAO(h9STQu;$TOAa#~!p$PrUe$SBjA<v?h{lJ;6KV zu#AMZp73PFo(>NT6%MN>K^fGXpu)`1n$s*JHK*neu$RMgApg&te}<n1O92pngle*z zXd3BkqQy!>XFH`5R}WBBBC_|gu!>|4-!fKa_*mryVU}cta~bT`D>T6FaoNJtE&@5> z;2!tBz#f+ah3;|RlvwA~Y^-yUBVt|VEwPRZ3UZwXA%(|~01)fA{lM+#j3w3=KqBN` zH9Q>{ep?@oJ>i5{O9%<OI8Z{vE&({t|GerX;_EH3mokXEWUdzeLgOxQ4i>pD=5g^% z*MNqBUVcvbIn}t{p{lnK{FT7XsBKHoNN_oU?3t0KxZ9WDMS>3rc%yc8DGuA!!wIrs zkOVvJWIQF}(*`?kIpEP0-&Z>!f_nlGB5wtcJMkoB_}Nv$PW%xWL$^lm|D;!DWG`F( zIYh`YNJO(DMI$Z9juZ&F{vsM$MhZlP`HnN1m=oFS?dF*m&fkSLE^pCZTl@Vy_WNbH zRuLW3{rDE%UHv9JPY;V<n@F++1Ggd~6$ov?;Kd<ZF!CL;>=PC>?-TyTtmH+mz*z|{ zO^RmfuqL#QFd=kQTMIb8Qwzj^(1p&RMWKXD5>8ur92NgBOOIn=L^r$k95r(7+r&o7 zMlODvxc?{-A1M*B{D~D2XDG6YZ4x58+5G{1ahjQl5wb?s*PjJhIY+T;PBdf}*}Ngd zbBa7ii4?NCNsebjjOQp+VJj$G=)@1(HDtfQa})_EtAd_w-k}f)oTE^8^KK;=J#CW0 zr^5m+K_auV!!v&DEW=0VIZAq9w?aoYpQF6pTn}yiX0?o{-%>!NelK$BcM^pBtVyWf zd~>p&<w)xH?^(Y?ig7j=p~V;pV$V^YM0VIc07X!Xeasg8{kvLRURYjOy$?dwu`H*x z1XBraBzTUX06L^}QY{l3_Z&E-GZ!uF6Y}sO->H);v?h{l+UHZIiO{C~?$ERsvZQ^l z=CtpCFbzxlm9T=E+fb)mjDSf@+#sQlgwU(#xT}XHn<h)i7O&Z>=ta%fKI#G^*(1L6 z$&Bn1kwmAJdFhoE*~_Ln?F`8w5zUSijTm4`WR^;=mXW<|l5*aW1LQ=ATHo6Yp+Po7 zLKiCA*?(CX>TJ#;b_iq<8O>S5mGg^ft-{A+64^Cp4A>-M3s2SvWPAj7L9Yc;h^m6u zly^xEanWoJF~}owNLEyGXt|R^xK+pPXK*5i+Oo~~kQ}-ud=FFvIv#BZNvdK{LX!&j zWH@^=ufqB`c||GYRp1Nkf0tLk^gUO3-}1ip`>nH>Tjvp6MsO>^+XOfv!NYw>x@um9 ztDZuDDXQwH3GkB_HXCUSv!V>2b|X`P7GfT^W-uvn#RLx|Lz+UuY9h%dB{X9}2yId_ z2JNvJ2YVq)QU+7y+F(@5(bzO`m`S+GeYOmdZimIsk#h`5(oP&>@jKAmCRKjm!)6(7 zj-iz_Uoul%{~tF~(knBvm(4N`6p{oYniVN}W;?PY#X`1JqNin~fMjdXFE_J<e2qPd z{Q;$rDdt4>6blj}J<;lnVu_Jrts})E4aFuU!lm-%ThP*oVkfi17A2yS7?~V7I<_Yf zauG%A?qGO?xBz>W@NPD=Y?<MzHJ2G8&83C$=ePF7hbv%hv7yUQwzY*VylYS(!#r49 zT!Gp`UBTM2TWSjpv$ch}9#LD!#5;=c&d!xiZ7B!E&s0NgY0oy}Tx!ee@Y>QDbpF~q zuU)w0ows;&h|iyO0mC$P1q{Bc#{M$JDT5n%Gv|HEQ2G-07dwyc+=~kmsyxT`k;@0B z=`41y0+@rxSn!lG&;3uLUcAFG(qqzNLqtmUAob$X<ExiKK>4EO7b#`z#qWY+-_2Ds zDU^xtz+*yHIGsw~gM6yTv7{r;&gS3(Obo9`;zAOqR3gM}z{l~C(b@SJ5&w?%s!9rC zN}ZBd5c3&OgGX_KQsW^cKUX0?cZZ)dnHd|fmnMY>M$JCu!hO{8Mx>sBNfq+T`<SS4 z^2>HkN4z}16THxpj9->Ok`^W7r)nod7E@>)m5yJ<<8zW}PM4@T?_-{hK<K>qZiIO& zJ<Y$`7s3l^&f)ZDN6j94;ffcrnXy0RhnL)CC|qifkM_;k!BZJGUro^M*Esq2$~y-t z=4EuiZzh#|fT69jIryH;xt|)Bw__IXrBNj|8q(+Wfb?lm5_%}B#&U!n%DMr^Jy{-g z9gbIbO6*ev$1x99h{c=7F@AT-YuZWpD^JD$dDU*7H{-rURb2=P*#U~~`L`hA{Wupx zI9u2QZ9k)uhnnvAw67TIjaGFOwS!E=zFw#fEfDzOuVFjGPrY(5kO72s`fmYE3Cvuc z)N9w(j&8HzL-=Sh5+U^B-GwmI`Kfkt<fq#0H6^@529K<-<uv-xfF=t$89y@&*-A<t zELVP;x5U%@40TS1SV%5%bons`e?Ks)dmyFoh$!3g!wmj<c4I#_Bq#$va^ylt%=rl2 z{r$lzzXaXbDA`BS0CqD?{0Lk<#J4<n1GqJpbg>AJ1qNthn6;Sf#UDdYM#(3DR*xhK z-|9~pn3N`iID>u)v2MTP4*;cF%Bl3<@dbvsrW2#~IiwaOonbgmEo3-5!Y{~`>=%Q? z8_e7b$B(lH!5$JF-$lVW-JV3I&>nj8RC-OQJwj?hQs6~*;V+CToEQGCsKUi~rI3A1 zRH1!C6gE5b7@p8$tlR}t?ECH{EHfj*(s`MlA7N;_1uLI@KxIB=6?_iDdDq^b15xWg z7wp2tc=OPiO}I7Ogue8H4YXi^JpdIriN+5&kez1VIfb|)W^*Yk(U+s-tD_DZSp zkB2FzvzjZrpU)hhnLp<<7~&ttsfeqx!$)OYNsOlXX&F&TdRqii5KjDpvD+6v@hd)6 zSA{@Cru`9Va}7QVfbfzb|B;S*t$6#zh7dYl0>puv&$)3^2fiO*^{~fu7QKjLx|9|< zrmusidH-uIg#0X5X!m5Bbxe-wcR?bwrVa!nw5ARMj<NC6Td1M-oSP!3scDYUta^d_ zO8+m{KS!cJ{3|~qTt20IihUNb8g8hbNpKy(g9Lvez!$Qr8W)oBns0cidJ@5P1P>AH zBZy-quO*mGfQLg>HLlFyemdAH)tysdmBNnRIinbc7EUFG<D;7Of?T0Bkz`LL8Y$C6 zc!pC6A<L;myXLd*UC4-t+v4WH4(c94t#a~k4z-4!&^M5f;irvqq>v@~54XihpUlWU z5nI=9gXY++tMtl>>}5|iXjaInhKOcIiiUi5C;~12lR(aY5@_|G1X@Q5e2xTt8yDQ2 zd;hXJI@eS}rie3!GkG)EDfdjBV$Rqpr+K8d@n;w*HnJ1H<Z-^#6&K-5A;OmbW&-h% zo#d3~KTIIujGclL=y#?GBt~}nZ_G=I?DXH5mwd)fLGu=$$-I<^PBtCwc@{&q`8<nA z^LZAN({J6M8m@p9+vYX%+@5E#WhC!y4G5lReJOPuC7HT{=UMMcP3E%Nn#`gZQIjQ! zr6#X;YVu$R`B{KalZUd+k{~tt0oLTdyPEpo@L}ZFL&AQvrj1K}MkSQf50b%Ot||NM zm-=?h`Q^TR(Zeqe+ToW6b$*%U|1>C1l5hgqXT+dBD4M8@iqBH0OFC6_tmxA5tWJE; z6u+u68*ujTmC9eN)Cc$+J_GF$3+B!I&9CNDq6A->RpGoWf7A#yAydoNK7YWd2DnAd z27Y}9@cPW2GnK;lXK>Oorp;Zk(XD~}s5`545YQY9a3MZNK;SX_VRh6Z;79>ghtJ{Q zW35#Q{wUXkzdP}VjiU7DX+|IXW#exu{&*ZwY8H=W_!pzbw!7$Tui7fGvOU|cmp?fu zRXuPvPfHTo^{n-(dj(!4Fta@=2c`WlfrSEpEN?{L7X@AjN`gAtyI+}C4IDkFCPl5! zNGS2Daq(xj^r}0O2p<(VRwyHD2Gw}gvvFs)Oi(W-^(#wI-=q-!win^7G{QE;ACCU5 z+S`RcLYO!@p(I6}S4y3$O9s^>sBcGcth>r-|Mo&^D;)UIFs~XU`tL1dyLY=M2gRs2 zQU=w;s4J2v^FSQ?Zt2mlEJY=xQs<jV)cKg$wzurbL0<JKyx~<{MbAeff1g;mq-Vdf z7<DuBB&ghTUe3jfGHTf#+mYIy7?4nspdQR)yHVOp&*Ln*Pa%8&G6|}D@XNWFV<X#T zEeW4*Ps+z<vsdq~wCB+-)U&D+x$l6RqUNO0!as>6JzztEnp;n}sgCgbeuPhS5LiOE zsDSW-JZe4we|pvT(zk8Tmvg;pIXs`B&Jq0&incjDKOCK)QpXc!^=Gezg@mc_Qi8f% zWD>fOyT3bOX?(x3VQPK@AL5zNmomG$6Yk6In3<reM^mP5Fe$4i6V4k;8$QIUrK|I* z_DsdBr&0g))gO*dSA)t(sm-Qj{ZPUQ@L_@)*ri|DCK+Xu`b{maxM(}#h)Lw`DJ1kx zqMl#LOmFST_E+Ob@7ag#rVfNJ_ai)&H=}oqx<&l(SSc+m8AsT44B<#=FDn0Vv{$9~ zWVD-jdTAIa>FT%nd!{1N&W;_MuAZo6dvQbT*aX!dUh=BP>n@tSNezdEy^OW63u42o z63?Pc_SqkfPEoIP<C;#crETx!(i^det{C-HVPaj1+FQ)^9aF^kysL`iegl~V^_#XI zj*d~=;wUpTld-WJ@sG93WV8&FjJRnODSr{aeKvub^LsG+`c#ts9O5cLZR=0^Qxi#V zbsqJ+TSD%oZOQ$vg8uoaK07Z#oh2S?EwOqoMoCcDP9wZs)^XYZwx1L3XASH%yE7@* z2)D-wS~X7QvK`*@s+(j+MV;9mjy57wBrhwY<dn&@Aq%mD%liWf{~AX-$M)RV-Kz!* zOdY<ldxFZW<yhxVr%d}Hgm0Hp!`eD(D6b)<xEtZo2Esg0Qq&)-IMW9P5xTM|`Hon= zK;T=FFZ-m|I+^2x0*6c7-aefpE|J+iCl%>>@#No!QU3(VuPelo6Nu6T^_FBxf6y`0 zI?nV|AJSX*WpwSVBb+Vv50p5sk^KF*f%HGrbF6gn{0XsYkBqfe#@dWEh2M&)dHoR9 z*u=h+Z!?4R88Uh&X@4knW|fRGN%Hr*Y1DsIH1Eu1B)1#J=<OsCetjvm)nnC=O^A>L z6<1E!YC3z>3FUT~W3g!PiQhgK3!fJI3oyD@-6HkmuQH48y3w|=5;?~u2hWkdS4-cW z5<iQ@w|RYL^iEI-61UIy=D7PYu2&6f&uDpUYR}qqwJML+UXsT=>Ls3>*oU@l5ewI2 zM6bFYb4gI2<a6BEfrMK-6Yj_*{8JS*e<Im5Me4&}&JwP8=Gmdt)=RXVBkOfv4&`s? zPkJK8@~UkuYdU#VcjOe}0UEsOEIBSrmvKLmQPO30hb51$5&v}P%SyPsk}y_Qr&|Hr zi)EBy5<kz^a1<r}c|qWCteRJKF5rB>6{`jaeWJh{#r`+N!%xG9JeFUOLC8JJQoO)C zCi{|{`etlTH8B@9735u4X|Xnf%^7SlJkyC?%5C*4vnW|6yvCu#67ifTd8Z0iW}Q$i zu<syNG>BNX>Mz*k*(<X=x~)1}u;=@&%xb0E;i*rK7u}ayx~VyWeLBrzzf~HWklRaE zW{uO`@OzKcd8Gf!tRcFmgFTW-te09YyxCJ%X5FUy;TLKsc|CZy=|SoN!8T^B%qmgC z)q{fF)pKRmoq7b`)j`R}My|}7qDQO8Wb_AmarE=>ersCRbCSiL5^N%LlJ|^S0?Ryu zE%vNzq*}x3ar!*GFO*i_TTE;UF^td~UfQhZIM~>{m07RqMR=PRdEcB(Ez5BKGRIq* zLu`%OE4=%Atjt=f*QkAhZK+(D)egTi`k6>p$U5Avz7pQUo#1PIuX17VB(<P3vHMhv zrcU>C>U>hA2zGu;i=_j@Qxot6c{##+1YRO`mT1{b@0zFa%f&I!^3_<SF2~#YdT1B0 zwzzwtUcIOq1iLbx*ml*ZUAakWKem$f_|9XT{yik?@Lg-YdQY9F`TH!_;tDpgNrLUc z#ikVXp_(ZpG=X=y`b5nYow<nBdbM9I4$=7q-nzlji?H{tS6{0Yf;D2xT94m+UoF^I zf*n;i3$_T~CDh}$AlC|ZDN?9j9ap!8==@IICcOJ_ZKz)Tpzah5@8SZc^aFxD*@BqS z4+*wXMu^rM1mit+^(t0BE7*4IzUx(jenGG;qBBLmESR;dK<@|{y-2?<yvbOLdR3y| z6wJ=3Ouro>S*~{rk9+uf)n30V7`}-IR-xY)?4)2F^xlwu9rZ`TyFqw$`iNloA`AWc z=zj<{11B)`s;@pK*doCO>Td<JBaG8O3D#P8=W6`?64t?vH&@39X6G<p#|virU96J? zn<MeEP^SvkU9|j8w-BsSV&V$jN-(SCW?d}U9}pq+SfO@;m5Dze)m;VqE|$Dkbe&+m zM9Z7HL9pAU-(KA)SU2hSr5<O3@%fFOBD~KemQLy42)0JnFWOupSiM9+jJZ^>6uZ*q zcY^&<`o)<=f+e7~)~jr@T(JAZyG3S&VCyA2ip@&FDrKcRn>B*rHYoI~GPekpglm%Z zs*71GSOKm~*5eIl>jYaUa~NpW3ubK@VIIOO)Vh`CxhmBVK&{>$wxF$6CAEBkX}A6( zTWGv~_(rsQx5`P>>V<KX8CBN<FuUXy(7&oWiuU6}-ay7**=t?f#w9QIIqFJRj||w~ zB3=Cnu&XkI@?2fj`u>FLx)8oPhI&5geA27ck2!=NcN*`}s>?*`>Ch@MO{=eKKf^ss zCxjl;iZYg))9Mb4@>$kVmsdUC=?(3caouXg*lGA}@^{8k!<NSTVO!VYXrESVM^f^- zBElm%M_q39>E!Vqx2o#;NZT~^YL_S5;%uScH8EP1qpy|J!u6_i@;14X9hp-@pM_)! z=IB)uCcX?fX%OY_A4&LYX;Z&fJmdAgll6ukz2xiBx3nF-<kM2Zg5q1yi+<~>u7f8l z)#X#@ht&RCVeQ`<ew(4ytG#wW<_ghfb++zJ{Z{jhjnrQ{b(7nxHpy6?bI45<=qe_6 zSErL+ubK|1)ys_q@ZqUmyP=<c(5k-ieYBI>?1Mco6u+S>)x)r%Qavkh6rfj~>N?)z zRa4KRwpoCUOS%`L?ab)np$E|S^K%GCRvl;?pr1eO3s5}g5T*)zJ%{Zp1`&4cP56XR zZfs<`(?~*BG2yR8W>+V+rvrLbtHFl=$Bp1z>W2|tH<&PfB;i|`g!i>3d`IB6;cUN) z*u$y~`WAhM0lL%+ZAf1{^vAY{#=KLYubs+Bd!zuCON@CDEhbm18wOEweTN><aQ-yv z3H9yk;%)2UP7+b4Iwz)i)yxr$)k_C+#GvN`E7(=m&aT=MqJe9w)h&e_Ywi%PQLFJ@ zj6OHxWvt8P0vTyqB2BB`AkqT4_GI_i+;r7`L?YlQWKFtyxIQO0S*>c@Eh$;O2$-%0 zfS#;|=RTN_tSWO!j|bF>eUsJCgBV>KG8i+T77_l`eI+8KYz*z8OyiP!hSI{d0%yZ} zT7B4&a6BTXs~Xgq`TJES;m?3xwWQNNSlEDUYFx6fg3<D?j*PU&(AMhHO2*sGW7}em zZOf^7#{|ykww7#P*^+s5Fq;%s53gzh)as8hq|_!7E=VTKOe6g7HLMa14<@kJG|{jl z^<~)KH6tJ1yI7Y18ds-WtuD-Uwbbg9woxrB)wKFb!2b31pnTu<hA>K{8dbjy^t#EE zkI#z&jI;+)Iy475?}>RsbF5m7(jmGIaGW7L5l<N3VlZR^eMh5BZ?NyVxn5O^tPHd* z<(<)!K#xb9Al~Aq1J=V!)ISs2W=H=9aCpq6zo2tIs>;x~W#G0*<XE$l2|rA|7J9B5 zIzPj!KJLLfAF$`^R)N(a-K#zjNJ*`>#@x`{%i4KX-EX16>Iqm*ouS-a$vk$PuHVYE z!+f=}dO9_0<5)Mt&P@r7y=Rlxq3ub#8}N=6j{tttg1x4sKZABu#>;?xGiZ6H`nnaq zw;TPM*!gBIy|f$txmdps%DW?3*{&PPI`CpgBizrxUGFA$;pnfzAp0H$x2vq(C+3() z5)SZj9s4T6Wc?H1#hUb&eBL~+HQODclh8g9-xAQcNV!2Mhh6WZT@q6S`uXmnyzp@^ z>OUFY%dMafZHA8NKMQU8N1wrmR{lct(#lGn19?=8vpCZhfZEZP1D(i6$@;$lhWeb| z-UsjHCVm0$^*nnW{IGmn$GkI*Xl=9FtYjtRwa9zbWzs9Sn$+9{dag~Ng#(kjq5WVg z+odho?v>89`*k|kZnMBCvYI&lgOcv!Y6k5IZ`)C<J#~^DugCO*KQERVa(cX3nOdp0 zp_YfvDBSX)XY{~r<s&f49{{yuoAtmi=@}ZwIsTl$89kOvI4zBoYg({<05C8wt2xEP z7<fHqEJhiS$o8(}v1ha-bi~jZg<2Rsqp8p{J&B|LQ7qY=N*f+(K}wSNf2_dMy?5`R zj<BaS;QzZ>&yiVwE$~KJ{T(u5H_6|?xWB?E_88$EJ{#j|K&@`Aycq2@fH;E3{0{KV z1V-{z$&~*pbs6CQA2dv9K}&v=8uh>0^Iih`E=lIRzD?!4MnM~E(N(AzFUry60oS!? zFHdFt>6*ZHZZg{?ZXOGM78zTSK9NfGg=Sqk7ggy0y??xFMLz3f5dQBvzdYj{aZ;Gh zx&I-ZbN^rcc6uam6|9~AyS5E-+=*O;K&@Vp&!gV+1+qgPxerH^nejKn@_@~OW4cz$ z#;$`6ivcw}#$Hzf%Fzv!@<bk&Uy&nne%jrj^lNb~D814jKzms_kIPXR8_*t?!Ch8B z|Nk{RFgj}E@U}R;#5JOSOnM2LH#k^h&AWLXmC4H{;Qci9GuU10U`<8e=S8V?4))e0 zo$pf{9qg`2@%ho}u!DU(sdav=8lGphWDjbeAE%ZyV^#U_>RAVyk>5Q(L3#46<T+jY z<|nBf2b&8lMO8Ui@2P$B)6@h9`)KlUm9Ew~*szJi^D|XWfz`6Mc3ggrI_O}n>n7*7 z!aYuw*Sc<Iep@xL8C#HFp!Pf1tr@@1FH<!|lw6hhNW)Q8uBHpNMt#)ln*4J0kb|}E zwI;tpt>FFt@KWnuf6niuF6CFFz)E{Pmfuw^D7Bbx*bDhJYBIj*CGSwd>-n{6cDcp& z6ug_?Q@!k9Ul0EzzfL7pSYAWxllcv5Uq_3%%6tVwRBffjzAE(<3|F@}*l&j&!8OR2 zo3SqLk!rt#y>j*uJxZxgw%^U&S`>^{&pKGedEN8JDtBkgi>m0JKVDr>WwGyyTNO-D z&pOxx-HHn)spVZQZ$V9mf+?yK?#NT>3g3jz*=oA#Z86opb4|f?T%8x5s_l$@rrPgd zKaL=_gzo~wo1pt;65HTlSC<j<;rlG5ma5jc5p1^lp@+rxS5GULttQ~nA@a7g?(h1w zy1uu?PPO?Rusa;A9J%ppb<)8mmdz~qwOUX|$tyCiX&~<^!Pcn5Q|5p-xDR=2@P)O% zV1bJ3Yq2j|{h^>qZD_{U6<m(5iY#w&-Gc?!s;v(8uT~oiZczPjfsa}y_js$|7Cdlm zvA0@%QgFMPJ-}kyyB;aHTWuH2M%IIB_(1ZkWe=+R1l#6YUh!1ggKDG2)a@gdBt58x z4x;2X)fQfQNHq$!R1MIo@F8`bU{=e+>P;&tS{_#Woqp8vuv$HoTG%hD@DX*~!It}? z3LjM?`82L$%VX+-W-OubF+5sJ-ZnKk8&yKBaIkr!S{80lA6U#cv@zTLwDL7la=9<J zYkc<8YNW-KnxgSbf{zKd8rWB{Ppezbu{v+=f~!etr(j$4yQ7GuAz<mx+d6HEenIsW z%=&DT8YY;X?IyKIux-A-WoP*|sb?LGwro=CM^noczJFBrcWqMp1zReXZBqTlkY{JK zNmb&CG_j&WoM)(72iw^@KW3A9&B69hEsNQ#4mud;zD0E$XZvvuTh-fwEmg0=OIsB# z?&IH5HLMr0xQQ0KY~*%e7YO#Heq+e2_^oP*gMHVSU$|9W?@0bLJ3HZ3^?`%YgRd&2 zApWgUM<#z2`>KkXOw9V_HI*vZQk9roQTUq5b+CD<RfVrN^WJJvQMj|2*FU|g@C`Lw zB;o6R-3s4S7d2yj3g5!_=nDVH8&bGS9c{+O7QUlU0EG8ozh4!;s|Gh?^9w&v3!1Ut z7w%Kjrv@bdT=<n*;b7lnK3(`Xb<n|5N4-<{ty(vYl2`aH?{m2DCw0Gr-Q4FJU{5>P z(~bWG_KINJRB3j{q@UCt%Tuf1`JdE;>D01RJ(7JAlFQGx*eyL=MJLtRnZ#`LC_P=U zrD_+hPbhtSmX$mhP3$6G9*36m5{P{*7-FgD6{ECkHhEY0?rY30!cX`**q!-@3zhEZ zVB03*%L_f&!EQf`*dhnJ2^CZ6bq;o{C9#bT_Cd?+1f};m*j>HbU<BW<?RdT%N|rd- zg5H!I=wMST$y@JWuKuOyx6i>ko<*zEeq*&95X(v&Y@S$FE7(%sGx?NU;qdzBZ->se z9jsjuv5s@7WvNfsbG&B+yF!&`oy<`BFM`=s(fWM{YaHI8Nb92xmXe*~HTv0$M2jlw zj=i2vnkSa2-0rnSM&BpcQg!#}lZ7rl@)FB?zH{Fqw;sF5Vi&Z=en_tq3`gd(h89KX zXB}+nq_17k`VB|2>!^`MvHEWolVd=<{#h`aIq|x{Z*6(V;A)P(XtBk9j_Q~cuP=45 zm(<COc)eUO8$Aj7-7qZeGO-LJOf5>#8wJ~@SQ%3FQNgw<R<~4r!IFUFyrNXST(E6Y z=QH$i2YbEhx};1Ux0I6GR88jcqAa~wFgtoneWhS_4lVU|!PcmErmQS#sfYib{fOOE zl%r2BBeqHn&$^?ijo!IDz<a1DPhW6_@MNb`s8?G|z0>BXD%1n7BG1;yLS20|u`5(E zj<ALLs9<Z<xkD)V_BFy2@1oxy0$9J4LOolsZR$}Rfr|8o+sNCdT2D*y7VEbKTdF1x z)v8#Jzn#2g>S{cyRIINO><ZP?<%ObR{Z|KT!009V@SiBTR2}ZLrKm(-bO*6Ds(8Tm zqEg*vJ+Y<gHeB&9*Ch`2K|HZa2m3p&gO=-V4%V1TY@mZ3##P*My<RZuYiPNfI*IKn zg5<q|`KFJ}R_*ll_gU<z!5<X0(`olx>`-T73mh!5irC->gs1YVJ_Gg}2de_sUSIEE z4OJT7!5wz6{zHh}_mJ(kszVa6Jr?s_RhX?h=);12sd;4Xpa(ue$u;WAu7`>`=p_!e zG4K1L&iYxwR;i{*s<?~(UNAeqYONlX5iq~F;%YrXFuU$Ob=qU(ZBw1vzMIxlFLJQy zZAyxJ>w|)=QH!b<w(g_j9v3aXS>4;Z`{@D)YwCVcd_O%{urH&Rk60d4uNOGHRU-z+ z*6ZsmCehPh-y+x=_2*Gl#r^d@2aD<4y?B7GdV(XYQRyT46%W+YE#^B=^OUziuXT7s z&N;idLBH(q?rrsycaYxY@Q$`VyLgcP!NHFA99?|2c0Xx#-d!`Hc(7jNU|$SAzj&zb zxWV#%9(+;paJ}&<i?!{%ym+);{<OtfXI)=BRv&k;X~4$o>z}c_CSVh^?^%oeb?Q+y zQQzla-3AfMc|mx-*D~%Zo~ZL3>`=yiz{(xWmw8w5B;Couax(7&*3H4n%O5SCtm_=C zru->j4Gwlu$z8=$^l%6JeaU^m#yVIZ@TTfX4mJ+Fsrpxf*@`kvuMq4CS<PvBy@PQz zr|F%7+0~q`k2^fB=5(F7ku%z+xO<wRO9b1h4x{q@N<S)?jk;gyX9crbeif$WS9*Vl zmJ77|MXQrhK1(kVY^#dK&T5vPwuwBebC&+2V0I3(^nHRYRZG<F#98|9f~`^K58qgP zq0WDq{nn_w;U5>z)dL-@2H3^=sDu3u*g`#Fvz7dH=J&;ZebB+w_{5T>I(m!c4Ja=u zxm;H`*n;x9lB@Ly2OCyAzT{ecse|pCI=^I<Ui}LDSvzmkg*&X44SoG3H|kmkn+NPB zJ;K3K`}s?5*0UUJ6?kj)atB*fyQ<_?UG<vP^1IA+CF}Iy*DZFc=E0IX^fm`Oj(+R) zeh2HGwWZ`9y>q9PTsv_We#ZLf8xB@~R6VFqIoSRY#Nytxyvxgo<v7@|Y5Vas)XNT5 zJpM?@!@A@xD>=2*_a%?&<qnoK?nuew`hbH~VMb5t9~^8Eu%~p=+qR!C>*tbZ^dbi< zZIe{`oF2H#^4`ZBHtNX^w!N`!=}UUUZp&LxRbIMTzwTfoq4O1e(82ze->dXhz4aYR zTF-CSKM1ze=fe5QcHQ<}@@(bXu4^6a&dFMB*AKl%-ct1@zINZPj|gU?ZacO*<PjTI zx?RUMV;;3bx3!pW)7b6mHC^psJH~o|4Hj&TuZM4B>Fau=gS{C~Y=VOwOd>Yj!3L!g zo9$o|+Y(!0G4)BxcwldTKwH+R?&nP}eM7&!*JAs}UR3(F-tr+a+UZfd^=E<|(4{!1 zd`BO2uwPBi2KMAWN*;*5;@tkOck~Mu)5k_ra*M;eeL^{~w;f*Pz{RES=z@=>pKfgE z4PHCJ?0D~ljkiY+b|g989-aSbaJ)TX<L%Mq4v*vQ(bX2y9B+?a;b0tZk6ta9UE4kS z4#Dgi?a}uOwoE;%uR^~^9IU--W$Al*qhM>)EoG}q-`5{BV|SPC)!ztqg|GeOBDGKd z=wN3}-U-aLpH^St`)BUMu8(!BgPFY8mLKahi^11-yFSq!1zY2rKP|cCem&U1E(7+N zzCf^Ts<>dgI;eL#*hfRxc@FBl0}B7_jK0v-f?eU;o%d49FLZAQ+n2WnScAnd-id7N z2L$7I>slVtiyZ7SV1LuM2xiASq6<Fb2-_6LJECt8%#QbW{e)oj;N7mj>#Y_OPaM_z z9E_egs&hW47VC*)y2`=miDP<!V0OH3^al>c@xIYH2ifmS{n1cY&bNB9U{}DF?40BJ zKEXJL;+*gFRtLKb*gy6DW?qk+6WaF$wXE@7Hmyg_Pr5)b8+HE*i@H;~pYRT7M%^i0 z_$B+<C_fbzb*FTDhsUTprE4uFQFlr&cQ8iXDZN54>$6i~QFlt;BD`g4x!Ij~O26x1 z<D+*c{@jceB<xO9=6i>i(c<}1ZQ{S8Wp)n6gl4MCbQGSQgUh^UvFM2tHkZ0gXr=~v zoP*2kclsqZ`~{MHY6NqaOm&&iT)_y!Tc*nJouSJNcd*?tyU{OH(rwlsqLyW9D8AQq zNAQj~yzgT6mWK1ZChKe4Z;0n`sn?7U%z7{?OiPrR<VaoupGBEV9c(;o@tKbWvtEie z>TlF(>sgHH?O<H#7_;FBc}vwooCn01U4k7DpT&gvEXbqJV$41(sp+#AQ}A~?0@pnz z%+46oPI$}IBlwm&##|tnwJauV{bJ2kjuu)LYhL_^=!{OA@NH>qm@PpbZHYD8t)zZs z;E7hTCg*6-me?>`VoibYmZ>A2-O%}ngZ&w66lb<OSW?RF(zvjG@n+XI)VWN>VGi-; zsDl;8?k<fFlT0xF<5qHFlvY9P&$xpmhz(95w$73K6r(4YCj_&8Nicf^vn!Tp(!R4Z zqF)lt!4t&niX|HTqwvH_iD6y}^5~^R6K5sGONnN-gK@<Y!{(4^76@;d!p+3sP5p@@ z*cgnI{EhIIshe=!G@O@Y7CO9M@I+GB2uWsz!+Y0rqBP0e7BWI|m}IgEjPRN}sxX|F zV(xdeTp8sqO9|_jYMys^&w22iau_eoyzcPw&@avG3mLsdm}Cp{S4XlJs#FW}t%H4K zQp(bsv4`C$Wf{$qjlSK9na$V`?60$$C0pv0vg~H;GGHx@>m<FqOl|jNmE|<^reTCu zCf4EAM7J$#-7M)!$SP~oEE(rYDQj!;9m#c&%r&(R_Pr~rFwZ>XV4Y&33iHiN4t5dz zSr9hcLbJ!=b@aN+3d49s<_m{69K511Ua|SX;q5?n6q_ag;*4x07l&ndiMc~~wnCSf zik~TYKw`HfEOvuD#%_tJwvrONC1#_8F?ONT?mTcT#uX5=Rd~zPd~b1CiFx0_8e-c6 z3-Goil6T1Abx0xaC&8@MB_>B{S|&TdQnSLrn17|FfY(Hw{3|te4)z|doRpf0g4r3B zhRrC*<BUqp1y)jKRBHA(7-v)(HltFrPk77J^_Wqq`G<p@AKMvN=-f-qNr(5jNG7^z zCyubOHK$4DIJ{lR%~JD-gMAj;D?+l&?00yrF~2gCkBSgj+p@5=EjRsyXV<pe<RKOU zYg-=Xi6D=jC^zk_q<Es-+~Q#LM7g;`FuN+{=4FS+eR(_65w>%UxGL?;eq7ZGtV%oc zF9+kQv@_YfZtcWbyD(dVJlfLE6j({IrJcFn!DvgnFkiPbw+L^Uy2n#o*3LZWU@5Wv zfdzOMBF@^G7aiUQ$>hByn4M8Ob5t-JXYI}8nBa`sn=~Ae12bxGDjke7YHx-LX5*}V z*o=Za&ZxZ^Yb9ky?afvP<BZyyoq}0g+MB};kKU~?i+FY4@ot6LhfxEzRG1SEMq4UO zda~uE<7#1r=`5JFtRl>^Adi++m|80-mQ|Sh9E_G#n8yUOmQ{qsSqJmBBgu8|U|w$_ zc1CYMcW_yUu<?RCj@QBLv6A}Yf#*Q7B;C%B<8?3{1+(LI2pg}X8SY4OypE;|zMEw% zalDRU;{|yfucPU0C1t#hX0?NHypCp_V0OHYVdGVrjgBP8t2EU)!SO1?#tZT|UZv@6 zC1t!yv)aKpUZq(lm>sV&Y`jipqa(@jI++SwM-I%dQ`mSx9>?oss;#7q*U7AKFpk&B ztQO4f89Ie!4lv;@Q%}0i!_OoKj<DOXi|uT7I=o&9=ap48^R7+Zo!F%rD@)#;*tHp} zbni|)s~Pjf>`tsUKRH@n#Syl~#O88F%hW$~R#~@Z$-m+_-Mv|I29Bb&rdA}amwJSG zsi&DBJX>vgnymbwmwJYIDafOjdYS?&DPHPnE_E<^sb`p9dYUD|Tc!?TR}#+aWmY-7 zS=i0=3hUR~+~x3|M8DqVNx|$K>cZyG$LtZFokJh9uOv8!K4EhR@;HY+=Af07IrK5r zrP5E%kNTM2g4yx<gpJqNOm-w0S$$2LcER!bhK(2GalF2!#7fF|ea#{VqtE(=&AqQ# zF1%%G8T``M+$5N_rC*pW_2yYe3vH>#+wy|8)Q8y;<k6OTv)oFGE%oLD2cs?ZVYbwp z{lZ(O4Avo>*FQ|Mzd7zmF2>HkzZqLeTb8N6p|15elW|{2;0W74Yz_m=65-kP8(@Z4 z+d1(3c0kx1f;`S)fEjBg<y>umdC0*yhXH1TVAf{?!p0kD_BfLC*+BDokD$*6hK(2G zalC=%u$2^_4K%%bN<WF0fnlB)Xa)*znYt~iqHv&D?qEA(D+(LTiw@>Xswf;}PB_@b zDHVl$|AJPHBlyOK%Z4aCDfz|}zE$C$lSp?@CQO|cZ1)?@_RZiLwOM2m(3kht2jS#+ za<?P}C<ga|{k!(_T`3=1N13nAW7{*4mVA%4Tcx7S`}GO0#prm2$GD^<mwGRZLixL= zBqh1eNT;4Zf$LG9)+Hr*9hvQzsaAIM=etqEQlWg@gQHBs=q`*)o#|sJY3cc=(c@vc zQ9oB(`Jm(ok-V=qNU^hs5&gf(56W*FL=Bz0kW$-7YbRFltsLtxU$45fA}J|KU0#%w z<Wtu-1hu71rTowtwD7tj(n&FD@C?!~%sw;a50#`_c-1hrxpsjynuXDgnhDGCg&jO^ z)ZcU2UY5c3&44bo7EsHGfnFTlh&(+;ZZ$L;JlRG0QSgr&Pa<(f^rsikdT~a*TX9A& z;Eoo2#{wCx&hF1%*CFa$>XG*B_0KBy8q|rsp6|w9c8&g5$?UVJGqZ*|so4W<^zBka zMU*<!hnDm`I|+}pUD7@&DMn3zCj<8U`@WR-g~_kPTwH3;7_Q4Eter<q7!cIP7<MVj zxJAYzGI+`>M8=LtNw>OY05uHAqX()G6#=X4D4%wv%%4PNQx#<>8RbaYe6ia0jFGup zNmvya@#HA#WaMZS+P0LN5v4|{-n5x3>&EkJl$_f#Dakl_w5Ogj4@%B9h&{U`dcP3O zmdmzFV#bZ9%cz0cjB1yYl%&<Vf=Hbcu{v5Ul*l|?bNN_ut%aw<*ZPr5Xw-^MXKvRF z4bmC&fw&F!aw*dJykAg~+FTOnZpjOeIt4v^%1+_ufhp-z7h`3k)dlcF44$gui!gsL z70hbpxZ#>-jijA^$*fg?ZqexxoxFpVnyJU9R*Ifrb#;kkFtcdMZ9OC9-$4{<)v}nQ z)M2bZuU6wpzghgl%El)&2(A35lF>hPXQllKS*cZ9)HkCNp$AVFOk%r4BB8dJkzo6t z9y6z4x%DAxugKpxoPCqp(2@pdbK@yN>SU~HwFmjGRUTs1IPDdPz|b1yk~sz_vpZ6c zT_Z{wJR?C$t=ReZ3G8d5dW($GVHzpdh&P^;_}m5!n0uEXBo~%QRNJ^^4G+Yvr5~1F zwoPxilp4TZ^r}(WsD1%I+q%aU^y2wC%FsfCXJdkGYptc*bzzOdQwIVUif2OMv~$R{ z(9S&_`GWc^t4T?tR*K(jdu}%EVLcDT?YWTgs*W;i>M>FetxlsliLWgE^meFi|GrJz znB&2@gi>s@TqHGr44@0o5z)e2sUGwXpG0C`QUWWx9LEdy|B>Da^EK*5#2D5KH7%g0 zPFBrE4#x`6Zz~Uu8%htghcW^Ad*wKOx}KYH{4!3J^Gf{RTFH6+H|<u)6g-m#Zy2=? z(51Q~e%!d%pY#&c6QiaNCcQ=XAU#wwB~b|_9+D;Y&W2Y5S!21AC8BHwS<S!H4%Hmm zw(`3o^te>ckjR<Zn6$@1J65QLp*m@mQOglUF30{Xi3ba9?1k=LY@556!0ad)*rl|^ zN}-MkWbE0Ul2+%(lU|4FWbmYAc-y7E6iR5Ehe}REU!z`4Vz1ElcGTfO{s!d(+Cn8m z+qPFwKA^#l&i$cQ_w@<FD`oZn0El|{U$ldB*Ro3tK%0q{YwLfJ?B9622tUqRZm1_M zB@~8^Vm1H&0fyQfI^R(Gzi-=K++7EJV%tMQD5uXfRQ{Jd6FP3FZJ})|W6!F>VXW$+ zTdR+CuKEIhU35M^^YK}L&jNhnJ4RKGH?fqXo|fYt&2n`Uel|S@f4AY!i@#O)yGd2z zNtaHbcLKc==$%0C1bUTfjlbLQmyN$w_`3;jziExX+whl-zg76VN!6+%{N0AXJp8S~ z-%YAFXuUz}4O(x|dV@9uv>~7k0c{9qLqHn_+Az?Dfi?`ZVW5o!Z6s(TK^qC$NYF-s zHVU*+pp61;6lh~W8w1)H(8ho^2DGuDjRkEiXk$Se3)(nUfxp}ESBAe;_`6As2W>oP z<3Sq_+IY~;1?^nW&IRpU(9Q*I0%#LJn*iDb&?bO35wwY*O$2QsXcIx33fffArh+yV zw5gy?18o{;(?FXB+BDE+fHniP8KBJoZ3bvF;nSI*&4f>9f;JPhS&*9r+APS;0&Ny( z(Td;CBm;U>mb7yLW3YbLG$g4Sfpr2K1U3pBCvb|unSd?STxl;9xD-&UEKQiJYjNGW zRK5*}Q!h>^LOW>;DKFxhM4Gw?oBSGmQA2N4C-PSV4n<T@vR1hLq&-;L<6PG?T#vOQ zcY;u+tL}At@}|0G3!dq@=Dh7_6Ha$1eRFoI``vF%{a8KjK8m}*9(Vsxa2znB{3v94 zR{V%JMpAyWd)%ljy~F)>ad-V3?Dyc!N~AxhE}T3-uMll3R9(#ojZrYK&F&jUU!XTb z^J2YPxL2zOa2H#nYi7}1piuK_M|0t%2O;_1q-XUGoM*hD_qwwOy^Z$J8E*hy)9|j| zCG=gWqi>*1`YzD-L$d9pBj~$u6vtXJ%5Bzx-r8(-|Ea9N98j(<LjlVs5oSw!khCYZ z1;st9?KHDjt;1dLhuqaQGtD7&(K&O>dPhU<)TPkVee#{=nCdj(4SmS{&mK>h6YAD6 zuK<2r1?XN<y30g+(x!fBl0BDA`waA|spNK>dKmDYF^A16X#2rv-Lb;BwCCfh?Mi!Y z9kX4X06p5ZN*x-S4EX9)M1tqS(kxf0XX}(aSB^T;qrI!fZ0p#=wL^bZ(Z{t{)mQX) z9Z<aMtkT2SOV(G{T;xjD$A|t7k{{RhcRd81cLVb7rH2&nZ`z>Nwm;z7;eNk&cU|N0 zPx;z4SEo!p3OIPiQCFR(<$!NpGleo!4+Ui=qU%T3M(Mjz^wbzWdsAap;2z+;?&`)P z@cFgfj_8dtR-<QVQ5Vqfs3ARj5aA`=rh#%vx3{rI6WcCCdo{Sb)Z;xDy0@YiVnbII z@);UN<~YxL6CQMr^L$$JIN-HCwu7>wlw3yF{dzv0^_l6}J?I(qy?)q_pfh6UdWMbO z<X-6cK5MIcu4h)&CU6<yJH@I!s;cmA*HTa0vktqj_N1JbjR@~N>7S6CQLxD!?YVcH z&vU<ar)IlXc}~=3c-DH3rnK_xQvKUxyYKW2?N;cSsb}Q(h0HY#Lp*nS9v?Hp^SI}l z;_+xdS$Up^v%Az&V?OV>!gIhqrq?R8FKv^p4!CzVtnobO@w8coz7yL%<B9fMQud-} zpJd`e$;zv(2RxtlJZyG&E*aBZZ}!BEKI}Q6&Y!}FdUn7!o?V{AvwraG@JucK*|XR4 z`Z$kwuV?SLSnmPP(M~DeU7l_&)4eC$TLu((4+-U%XW^(S?_PIWUN`SC&$>~)z1mwd zqdz3?s5{%c!!zf+>42A>H_N-(^C;qWhiCklx!zLG8bsO-Pxk@81-JhIzc<=@W&gYI zBOr@=+=sqNgC6$o(yhCF155tU>nX_G((5_UbBbO9eQ7!Dgny!4ht-{<k9Zlq$Gyiu z(dw8UQFapTd$I^G>Oq)XK$tz{r1!XZU@j!1qH?|Wm$i!8?5>%Z7q!cCB&#y&q`F~9 zpC~uD%;LY6jEXugE4$0HeDZv>83WLO*r@atm-?eBy#sqLi>mR??{IZgoQ$5PsUb%+ z#A!xFfo87)&B!UxtUQo}h5~`RJR2szA5|cdyFB+yKB^jB50o5?+M)l}>u-QP2mb(g zZYQ@d+HiI|^pqTCCEr0*V<yzSp=(TZZ35bV8k+{#rezl3P&^mb=>4`=8(*Dyy0OBS zYxtI)Ix}bFD<<0TzUOh?&%0DXl25uFP&bvgbtjuUClB&X@t!??x^J#`cFj!cshAJ$ z{av%wLhs$ZuJJL8kK?Uq%-<SMWAB@MyY!swqpqdiCs3m*&6)x0Aph*B^}Yr(Kl1_K z)!y1J&-m7Q*HmqUwrg5vt1Pn`?{BFwzM8|nER#0+C*R}V-91!vjakyRzv~$0=#8FY zF6om9cwTSRC9}6fR&=iEHL*3|=<Y>;*CCH`O@CCUT+=@PDBz~^-q5+G>70|^T+>eI zErkAOq5r*vGKrNZy_>y<x>ZDHnf#J0z)iTLHOt&udeoI=itt9JEYX=II>ANXEYX=I zI<pLQW*O?tGSRjdbnft8Icie$O#R%{^8t6&UKCv^D^(@&fLUYJYSCU1z02z!a9eb; ziNPA}(69A-DtfPXd&%?B2fR;~Z328hhj1I(%&FI-4|!wrcR?m~%6Q~BSM3;9?X&0; zfZs;zsL#8Ym}J1Tm>R=p4QmYVlCSYRFqZX!PZ-WM+eZ*y+ogr-Co#!m;)OA*44<61 z-|+oZo86<vUI&>Dg@2Bzk~pl=F{3=tHen=o9Z_BK9*!9-eMbts-+lR*oiVvlyL;@9 z+3Y>g{%B0JxuWr3F%yJ4U4N6C8N1eO!5gBgG;8cJk7sPB*d4lW>zde_s7pHaj=f)e zvdZud|GDNw-H6!Px_9d%-nyu&(KBN!U3V9GRD*Ya|9NP)sJ%3Ht($Kb*{i-AcUkOA z>@h9}h3^+S;68NDjj;_;eRI}=GCA*#*v6=1L!QQ1BeUOv=GUiYtGTASW>0LgXFiUP zd%e3VK8ro(;uE85J)iaXXKan<>TWnH;alLexP{(33v%M<`TV#;-cJXV#VwEwT_8T0 zYnZcZ&G7LT#6_F$dm$^$i81rzrbInGdJ&+f_vLX1+<O~V#LbNAP>Z*3xUa0gA#RcN zxxnQD=SH>f{7~Eu)1xhND(c+HpT=DswX@(LD0U~%rQ4A>*46Lg_PS1t`7v%))cs{T zz9DMbsA$0RM<vAXlFGj}>eAvC@pnd@->YT(l&B|jpYlEj{aQVzU&LFjaCbW*^EsX0 zNO%w4aP^#i9&d$uPLBq6g;?^O{$fB`{2tW9)&^^h+~nNH#P2oV<+TLl+nf%VL1!H{ zdkvo~tuaeSUm9Cu*5a9sM%V9iFNr^3it!|1rTgyoOVIuS?E@yR`Y^QZLypWff2~W4 zdpzp4epf)-XN@i6*UGx@m8e^dT_xVyhJ9uc9!8CxoUIOlyD|QNdrFtR@#|$S>!oJy zh}zvV#k(1+{1t4-otWaKXZ{{f&-^ofSCr{)5)PQrc<yko;ggVi4WEGAYxv~jL!##) z(X-d^dB?qm&pAFMYq~e;+ni_Ikip6xK%JbPa3HD=-q3X@s;GWR!UpL@pZqbQ(zUJQ zg9*nFMUN#ky3VaZWyb1n1YK55{iAq)!m+5Y@%F6)?)!7UNH`JoX<>By4pT7tZ|HRy zdTHM+dEX@@`>G0~5_hTj(-IO7nJuk2>yp}>#5zQEZsG~?^G5xT%0DG;g?}DP-0AqI zdfF?AS*{QJZBMKf%WKRbWbRzkvtl=7_)TN2^x7jUyFoAS{8{2$!|Y?_;ePnZ!Xt?r zBp*+hkA`bi>EenvMD?s#8#_0O&(&j<;kPW`i7~FEg;C#6u#p*;RO8uzda^<EtTlW> zwg%Rs+PGdg2X6rLU7p)3snWf!eM8bN^<zr5n{yeNv^lDK#f3>b+^f%<pH%0%arkeO zu%_^Hor}+oZ#H})adT9sDXWtjAio|I>f|x~N7pVrrpq^;xvpEvo=KYPx;*zKz;*3^ zh+@roJ?ZhN2m75!O4DW4(aC92H^xP6M_w-wkL?qWRr+2X-8;F`ckA#G$@iOcu&bZq zdVl1^<b_dNYCnzJCmyTueKhFz$p@v^Vd=HdwX`_JTjRT-xW9Ly>ybVw-b3D<1!ZyC z_gL}4sKe50sf%@(wfE1-$7M!<u>7RNv)eG9k0WyKcEw>vtyAI**D+1#Ip*@I<W|@8 zNJ%qXwF2q8RQ!20V84{BUGs+i5Vcq6b-s%Vp2DtaRktNcd-d|kM^lc=3LeK;-=`En zXKZSYnce<jSAl5T?Ae{mdfRKpc+YYD=E(Hab{M@pwMs^>5}Ca^xpnW<$34uc<JcKK zmRKv?UAnIB8&9oc73uwi-cKmwq8`CokBhpuYP_exH(>JE)JES;b?2py^L1)DEj8KD z|Bu7|3sN6<QSxyQ-xGDr<I2A>^=cQN)tu|OxYZ_if!IHoo-tP|?k5j<cXTR?JFc&t z`lD*}oK^Bw>Ovpik~hxx*5Jgn<LbMD)+r}+o5@FA$7RQUQt?P}T=wC|<vgy&^U>t5 zac;6b>8Z52I10azrp2E-<ve1ioJVN8YA!x?xEa;sbAex{EsPq93cSm7>xKO@vhw@1 zkz(5fS*fMIe+(Ge;!xDLHRD>GFrN>Z+G4tJdB%Eii@oZT;%sDA_sQ4AoX{hX%LiN+ zj((uU3H@jm_R@N@z)Q0~YH_u14&GO}%i}5eqQz{{z^dX-Um)#80yn#_?pBb#+-du# z6r^vJ=vo1aR%tq_)711hiPhDzE-MUUY_+V;I_VXsM^<l2KZYuCP0TSDcLEE&Pc=-6 zUgfK*+?&42*JsM!^tHajqdrf+-}l~tze18v(H#?C9dq$K>zH`yn2S%sJ?=Z4mz=Rz zRrJZuc+U4jUK_Mq4lT;q>|5QtJY$3Ax~!LRH^>oxgVZHd3FP=py}4(G=OJ)+s)tP9 zu|<HFwa>;cG4afOgSilI729C=KCumkZxY*J_|~rthHnqsVEC@KN*DLEo87%;T$8a; zM%gN`!OINY<x4BPCqsK@b=#1!Q|Ohhm%1Wz&3CB4J9JVJVANlFl*R1O>v3jOWB#0n zYar%|HYYP0U03G0G8^2tl(on_;9Ea62ki;fd6|cNymryxo?ca&seSb`x@TrZFVCwN zI5=~U9R2rTFR?|{L_bnAC9_gIRulcj$n!Jzi4BL`+v=~%oT=weyAJRlIGd}Bo`CbX z1>&EBqT!%uXo&V<)(26&fBb)FdmH#TudB}g&NGrnk|o(A+wq%Z%XOSIO`ODUO`KQD z@|zmlvMo8zyF8Lc*2JS3d1ho=ZBr!Mg$7b+A!QpVtkWjYEDbb3fV6~lHtjCiQn~@M zrGF?mge(M_KZLhG1=9V0f9F2W%;?Pt-OnbT^W2wn-_AYvoO92;&m;E*FMn)Kzhkr6 zHSfP(U%UKZ{mVBr@U7&}bu9q?<rZ{n%}v{{SpI7KtB0;x{z!21z8%Z|fz^HA@_(c3 z)A5>k$JQs~|7JD38vol5@P$+Np_}9lICs-`f|p}gvy*x`_N7(Y-=&Ydv^-V+?18^p zz9GJtH`P+}{^ZDDU8er<dbBo{|DqN3^)DX2IhG8XwluB4vO?l*i0i$z6ZKy?dgF>W zYKF1lU#;1{{q_~(^^dpiT=8nnkM6o-#l!V~d)JFWCid+^qxFy1{M^k4S3F+x2RrTu zVjHjcWc`<SeLeQ@yqlfh5foNrV(nPVkJX67ld-?P?XxQ$tN-%K{{(z^<!`&k>y`eN z``KMzS@Bf;r`LQv)(EdY8D9+i?uyIp`-+!4eP8i%r?-YKcX~hQVSDrFa@KN^ba^2z zx34c=9>4PP_3_J18eDE)V%+Rg;(xS%aOGx$x5RI_tF&^5!M$;Pr}1*EqbK8g<9a7* zZ(MIb?TzbOj(g+!mgC;I-kjPS*Y_Lmv)b;ndIqhAY+PS-%*ORa$820Zxy5j@ad}8~ zgkim@l%>>))?2LX4ud7bFBxW*cCQ4d$lFNI)r<ev*qZICe`w`BwJ+3{`0{O6{cqj$ zp7@%$Y>CHf|Ko;i>l=Yq#D=)!{Hry&gCA@Ca9sP)w*vVzzLog!hEKP?RDY-TM8U`S z3hoQRg>?(vw-UeF_r=zi>#y4N-&>!GefP*WTCbw5KWt6Kp8UX{wZ2;ayDR>J@GoO0 zq+<W_KJ15ix87Ko|5p7YoBp}=rG#31HOS&gI7g}9ap&S%`^g5)<0IDRN8;KACmYrs zF1B?gzSAq4)|qAdFNc1ht-kh4w>{SOa_toz=iBZxy_Slt!Af~FuCEdPX0UnP74C)j z5mxl0aeblg(YW>nkH+<V!q3E&`)FKWrF$X%mCIY^y~L_y|AIa9)wU<%`oh%{aeevi zQR~SQaebNa39I=DtL+J^?Fp;x39E;6zFYW0{NSxE^PY%HqdgIS>At^edo->)`%h3$ zEl|?ziMXWM6LCqiC*qQ3PsAn7o`_4DJrUPCHp!Y3TWVG<Z&<Qz@v0;|znt*Zgug&N ztAgb<b+?gA`i-mB)V$}e8lb|j)_id1zE#h~Zoj!_)vp@nRSo*aZ?b;<rv6o#_;2y9 zd<XbH0sP^v&#n4R!}&^FlIrf7k6r$Es}9zrZ~VJe8yboO|KF;+YyQ`o*y>cx@4vrh z^}(9vy1yd@e=^}8StHD4?-NXJ6TG5caD5=0Kil83`gd&Zz7m&&KUh;-sN8wfaIofZ zqu{cmg1@?6@F$iF9ygrlA5i$KErKgM1n)QeCR+I&ddr=(nm;o9&j7bJq`N=1x})K@ zZn!nRwPE<WPp#e>{P*ksV7_er$5)RhYVQBj#_tAeHhzBfEhahtATEomtKq3bUtWE8 z!z1f2tp0<zEUQ$*`9oh@{c6y(6}_DJYdG^@%_kXSqr1`l#p*`<%HLVdT@1IYJ#Zg4 z__)C*fpvTv=dIOs{B<J1?-=}B_fLfX!Tl>`+hT74*TnX;H@Xdk>-2X936I8VDSO&d zJ{%MNMC@OIAG4H4EaelH@+kOq?$fab;AdhBfahb2fltJix3{<_4gd48RfM0i@E2lh z2|sP&FUH;r=C8)q1Aim75%^MUAMoq3L-gVG*b(3xvHO6v!5-4<1NFHnNVPY+WT4w6 z>w_V}8wl6Bj^H>r{PoQCTD~tjLim2d0orl|I0kHV4+nWs$x=QEtaVRXsi(lC55W!O zz7p&L^I~ud@Xvz|aBAbCZ4<D?Ew6cNb&J~o)Xsia`?cJa`KQ&_^7k6+uD;f-bV=Y^ zcRlcGw-va_bpmfT*lF+%OYd=Aq~B{P0|t+~6e&f%n%QY}cJg<m{%Q453lA8aFnHGB zd4m@WUNrbx2vy3()T?%boiVG&!UGnbu<&_<7YxP&;S3m@2vqiS7QSHN7lXfdk6-;7 zaM?93uH1P1@7=GjUmI7cZI&`&@Pfhi8sTg+c+}v8!Se<$7<{cpW#hHhZtYpZXAOSN zVCOug3>Z9X@N))VG<b2I>VM6`E@Ayi2*2IJYc0IZ!krdAYT*G3PgwY@h0j~~a~8f} z;TJ9Zn!$LT>RfBE)8K%?vj)!_{G7oT4ZdbDUT-}yxYpn{gPjHk44yUkIfE}6e9d6I z!CExfX>h>cS%aT5_@cqr494dhzQIm|0|w6;{G7oT4ZdbD-e~v+I}HvPJZtcC246Jz zn!$LJ;T!BUc+}v4!3l%s4PG$VzEJqv3?4POX0cM%EdHAN^wk{}?y&Hrg(ofixP>3L z@C6IM5JHu@XyJ>CU!)$lM73R9Cg_$6wj11L@TkETRw(_26)O9xg<rLB$4aGltW>&N zZDkE^GkDbCgu(L$FBrUN(6t-BhwriQRWDN8HiHue&l|j8@S;KYKH;<*+-7jX;CX`= z3|=(ot`_FSt5vhRMzG!BHXmNElx+qtTxXaD+pkx6o57<7Ck&qV;SI_?Z}6f)w^1qW z2DceJ>QgpbJqFJkykPL6LAS+98JsY9-rz-p?){c)aGSxS2HlO8Zg9fjd4m@WUNq>o z3g_r;f)fTW7`$lE-EK7)+-A^ivlN5p4PG#K(V*+FT!ZJgD}2GA>$G%(+YBBxIAQR- z!3zer?GWZsgA)eN8@%9Cb}IM0!S-DWZ!>t*;Do{R1}_-A=+k#wDT5abUNq?TD81d_ zHiHue&l|j8@S;K2WtaxH8JsY9-rxm;7Y(`(7^cB(1}6-jH+aF|MT71R!!)?f;Do{R z1}_-AXwdBy=7oKN7Y(-WS9qJjqXs7op7-Hy<(@Zq(V#n^ly-yL3?4N&Veq`ciw506 z!!)?f;8BAY3|=(Ye#lxkc+}v8!Sg=cW33y!Xwdaqod&lVJZf;l;CX`=4Z6dIX>gmt zqXwULzsJ>?4Y7M-1F?r=zs+BI`HR@!@oBd0K~L}-!Slg?3*HK@h;NGD5kC??8b2HV z<@m3~>uc84Y^b@ZW>3w*n&Fy{)I3`A(=|bDbM403;o65d`~2hDtLNQ4@7%l}oA=du ze>|@#@l%PvOYEpSQg?sd>AIKe?yCQZ`lssuuzo|sO$}Gg|NQ(f&j0QCe>DGp&#!50 zY`nhlhQ>XOcQ%eRzSOw6>BpOzn-@2?H*aj-*1WrUZ}Z{idzv3?{_*C|Hvd}lSDUX{ zuxw%L!u<<V3x9CoFD(3%g^QD!<bO{7ZSp|N#}|Ea(U%te{-Qrx^f!y%UbJlSs>Qc2 zKDhYA;>pF2Ek3{asm1?&@mq_(x434>txNVV`JpAxF8TW<i!ST9taRBoF8khP9ZNsF z^gl2Cqor>wZCZ9{S#H^5%N}3${Ib`Uy}j%*wgH=#e`NV*m;e6qe_6h2#l(sqT=B^j zUtIAUD}HOmODq0##g!}XT={D&zq#_eE5En0r}f^}RO?V{q4l$^Ki~RWtzT(<tF^JM zrEOW;t!=$+54ZhT+tY3Tv+Zx%Hm<sT)eo)u_^PK@y}at1tG>Nz?dq#mU$^?k)wiwQ zwR-RBL#yvyomzct^~mbqTm6Tt`2sc;VZcoj{<JQ44d-(kXaS*xu8BJ;Yxw^P?$x~4 zt##M2liuL2;-1j^u+Om5+%;He*STBW_3n0Zc!SMtcbnY~ZV2t-cE}!5KEREiz1;BG z&#jOH+~7IHjh$X@=-kPToV&Pza}T!Mef<9b{~zTBO}`u9-bdOEaU*7!8!!(#=Z<a~ ze4le4yLPw?`w!*_-}L?x@O>*k2=pm`f8#_s{o(B&CH&Lde+2lYgP#EY{S}`Ae&OI_ zz~5P`+`oB1HGlR7!N;tX<*f?;@yeeC{@k`FfQ^=NdYe*)HYoSnUB3w2e1mFx-D)^# zHGFxkQa-TuSAo}GAy~Up_``PzKDYNbfNyRR+`n1yk#$P{ft&ve@S8pV4fy)juLFOf zP4La7F9X|`3Eq13H-SI+UWM;BSY67OO&B%4ewW(qsQWhX_nHL%a-rb<MS}h9f=BKV zmHO^|ZCd!|qkloly!U(uc=0`N0jpE0ORc^4pUCw!RENKP&%c$^|8Impbx**JPT%hT zjd1l?D)k5Odz=-ro!wI4c5_ERfTQby2UslueB1=Qn^hCQ&q?6D>}vx465JBt2i;QO zhq%4P?N)X=0e?xX4fum@HSmX6UxE7=t1EC1yLG@Hc2@#_gmuO}URIfQr|W?~%1YyX z8P-|gKEe76xFNO$_~ZPAJMKBN8Ut=L-3<H`D>C4VO}7L8gX;kPuImJTgTL7nxc|Wj z0{61(0)Ero0sJ%8Xw1C^4BVeHvY2}v81Prj4g$a9dVv4T+LcG~FyVh;4ePt8M+pBL z<Bqwvfr0xT<K}$<AREir{e)w{fWQ3KN4N&a+g`C0;d#J-zX3Nucs?-TFS(_Gx5ti= zvJJ@l3$YAvd+a!{Gd2R;5z7O2#!dkD#)`oGu`yt8>=f|M*f_8+_91FG3Jma2Jw&)4 z$XiaaA0Yf7FmQ#~B;g`3aHZH;!ehX|O~yV7JRAEV;E%-~27WU3BfuwP9|!(??8kt= z6#FFbnb=PNzY_Zt@W00X1Mr_>j{*NV_S3-H;Aen|;6DPF1&;$)1fK)GCwLNgdGPbV z4Z%~uO~Ee!Zwa0T-WL24a7XYAa98jvz`en<!2Q9m1ABw#fOiI82HqDu4}2i_&%hJG z3&3LVBJc--uL387{|5Y_;3eS0!PkJF489KhiQpT+{}{Xsd_4Gl;LiuI0G|rJ370(@ ztOfpLunzd?;7Z_61y=z-!-Bio{cNxvcs{reiT?zc*SMbp^BVVgFt2g{3CwHo@be`A z_lsa&!(V&84qfm)FgJ2NdmS){UkR*<OMA?V^B%OTi?0VZ#IHkRtcb4#wt~t1)A$x( zJD8i@d%)c6E|1>;yaLRd+zv3&E@0l|J^<!TZZDWOx&2_?<PLy&lRE_FE$$vLZ*lj5 zd5e1>z7=>B%v)SPn76pW_|3o}Ft@ogU~a=#xeoX-Ft@oM26G!8%d3Gu3g$NV2{8A$ zzXWri`ztW_x$l6v&;7q(?sI<&=05j#VD5AO0A{xfYSsd4_(XiSYpB@@Y^=Eo*j#fp zaAD2Oz?Pcp(1q84+3T(av)5e@X0O`_X0O`}X0Llcn7!^sFb}(1z&z}31M{%k0p?-1 z3(UiA515DD2f#e+_JVoD-2>(kcORHXTtApc+#r}o_^U8i1Bbyp;vNL^E|&xIE;kD1 zUG6lPcexLOd6)Yzn0L94fO(gj0P}8l4$QmV4}y8O`&iBGz#j(lZubb7ce@|0=>UEL z%zNCUVBX_?63lztr@_3({S=t@xX*xjkNa6L?{VkByqCX@vljSsVBYIK59Yn@KY@9# z`vREvx?cqIUiU>X?{mKj=6&whz~me9VBY7x1m=D2H^IEm{T7(_xeH)E;Qj>62i!$4 zA8>yL<^%4}!F<5|FEAf)e+lLT?ytb?cmD!rzxy{Z``!1z>_=f=1q^Dh2G-Pe0O!?S z=LTFu?OI@C?K)s{?d`yYU=FwzFbCXXFbCXaV5Z$FFw?lw)&buGX4+j2X4+i=X4<_M zOl|>#nQ=FPnQ^y(nQ^z(ZUJrsGvl^{nQ=R6ZvgHB^Fj9kFduY#!F<r|r_Kl60WcqQ zhroQ$^-|}9?oKdQp&@p`1AQ*%PPrdIt9-^i>7L~;W4?)$y*;)!_LKZw!_&cM;(r*A z)jU%3^_p+ie69BPYhR!DzvpdD+>!Y4#BU^CNW7eQt?tA1XX{f9Uut-<Au)g9{G;>t zH-5VDvyE$-exd1Cn*Oxuea%1I{F4hlzu-#?zO`Uu^2d`umHeN{KTZBcvZdv{En8ZG zMekX3!=gQl4leraqQy%#F3B$Wmn99Ct+?!l%kI4F_+`I#*^NsNF1>5%qf38g>F+GP zd)W^xdv@7BEIY7#czJ30D=XeyaqY^RR&HOpe`R*%M^^se$`@CDW9470{F{{vTR++Q z{<h<7&$d0^_PcFsSKYnpzpVPJRV!Ej^6Hui-O#W8??;#GEse^5f3o_+yb-0hL~6^4 zf3kYzRf?$O`quxz8)*8kW1BsufM(wI6P{{}+WCDL1-p~9tNC5SZ#}<jssB2D*Yn%J zPq*qfVIOS9F4)5F{rqm=cO$>8Sl2i4yP4lD{BGrU8^7E6ZR6L0<*?ngx=t*G9sG9k z+l3Xro8KOOUHm@4?+$)@u^RUA+t06?-vNFH`5nS;@8PGL^}0!aCqLbu*KPT`u`%x9 zcQ3#D_}$O%0e*bS7c2Zqm*UsYZ-Cz*zcjxge#iI?^ULsikl%5rp#S3T38*e_vVSJr z4*QZ!!o9*fGkQnTr_T?cP2qDv_*@@8Zw{XigykOy%O4HnM~Q1Dj=I0*EgbCGFugy- z`*c|Tr^4sQW4_&Wfq#BE@csI7;QRG_7=NC)>U}==>xJF!FQLm7vEw{P_>J@X5WgRD z|BCKU23S{U?Vm<xKaH>VUt`_wt(u*&w`v~YwDghKVC^;FJWTju!rzFkPkb{rlK7At z;rTV5UrWS;?<JN7@8w2jGFTG~)~*S*)otMUE5V!f&jxREyYXLRzs~Qupsk^s`k&_a zQt*+6r`<;yzQOaG{JqmZCI8C!M;ev}osCO_fyOQI0iF*uEe!^nw#4;&py`p=Tg@Zx zvIXCWUAEw9o*&}3vgU1`Z!fsF=Bo?i!GdHwxH)-m&A-O(t=X6Skb5M#CU~p)M{1r+ z{yKens^*TCZj}$dxaeuOtqw`NC?3==?k4<fun*j?F8)TaZplmhw$wh*w6*pl+&p}s zX-n<f3l8%9X6$X+etW@T!oL#y{bg%{?_TzF?PUut51w0kdGN~8Ewx`=xP>wwa=*0f zS;jT)(ruRq*Q~lc_}Z!uxj$c3@0wi;HrXP6OZYK8w+v<TsnWi5ZmfH>l*#9A+tSy! z;d*yVJ_>BlkMwt@v)SUVOfHqpd@wzD+n}M0W>dMeP;c9+cpssT!NJ~q&!OI)U4{He zXR44onabVPALZUQ(AT#kQ>5H@XEs$VT9Li!)XDU|)Tp6tP$kpRHq4s3(NcR0<9kzM zxq)F7-!d!W?1>v^Ysn{SG@F#YFO%DsI^9z$WOB!>dzL!AdmAlvNB&4AH<&-wna`Ed zxl&R1v!eS%wXs=k?9U%aoyv9PL^Nx|Qagv!1IKq{1~eh5!gvoP8oU$Y4^~hP<WE&1 zonysPenfTbgRY&a(bPbuG+xQq3~jWUJ+(S=gPPXenGcTSiw7uD8ZP9=ju{m_-i%SI z^xnaNzAmdq6<Xj}y40t3yK+_2T}IikC8VPUc_>|kls2YfdANqKqmUm}f2_lnGQD|U zQD=T+ba%SsyS?*tsgP2M&9j!+;#29T1$-ZS3#nXjG+!vC3pPV#oDJ`{j;2n}*-=9{ zlsTC$?8p?-HVW&mrO)WDPZiZI<mbmPFz9_MSM1G~`_fIFh0I`D)p_*k)om_US5+J3 zPo}dyqv`ZuL`|PNE0M}IY`8%qJ&+$A%ce@{3Xj=fEN^=2zJzAnvej5MmsQRCti^pI zr8nGI-Ev1Zn?IE{HngemxzpR;Y-QB81=P0Z;B=uUon;!3Mv%=ir!AWDdhu0ElRdL0 zZr-XMsx=<QW!<^mhr84Q2|cA$q0~8?&liygJ78wyp%!SwxuB3+OdrV?vV*;;0!yPe zUzG{}r&EQ2;VwziOmWzEU8QXG9w?*>=@Vm_Vy2WXiqo^{aCGWSx^$;<ddLjBLsC>D zJu6kj6zGT2LsXU<Nbg7w8Cl+82w}GMe6C@JIKJ<*bUDo5QAnNIo5?YRnWG9(=y^x) z9lNIL9b*DN(%oIVdgsU$UFOK5*12<xcynZ{$G)=>J^fTfJ(5UIF`~h)9OOJu$Ug|* zMVUMDJ?RphaI82}{`=9C*ZG0`U~zgEI!YCqM6GK!!&K9|UAco}sX-)Hlo}z@m1Bi; zv3MX|7(nM#YC@eJNHPCWQdFQbUo3Tuj#g*gmJ@I99n9tj><Qb7*M~Nm`rjax{$NVA zTUS`?gR%n50@&b=A^Z<+aJ`^u(O?5ufjMme;Z0kI8&qU=<!KpnQ+Ja}TC<xKnnjU@ z`6x6(?@IBh#Iz1t=}_^76{3s?VI9n=EDT|qRtpQGtq9Gj$)YCSZ%tfMABCuf>G^k7 zl`v;(R!{`IL2X@9tVg}NQJ9hLm_>qzct~y4IETCxpL&exw6<dVcN*)tTXN{>;V_(u zo;hrYG1I<#GsRMvdfSaKU&st|w;PFKFz1%jWFknW$Xb%#Q84;qb4WFxIhRzcYH_-B z5T$(fyAUEE&LS>+@hJj<B<%FAQhKDgGgrcxA$Na1w<kZ6_RVCn>4L3rqs454(gwgX zD;4{s+ltEZ;zUo06ELSwG?xESU%`waQ;+g?Vbt^3KbFm=`m<?*U0O42DZ<#!+}KFE z9P2I&qVNW%Chj~jmMVq#NbVhqq>8Ew0Y8`-!2TiJVcg^!$jYQZr4tJcdDI;>6Ym{H z$akO0S)@x<XECvTpTacXqf%bzU1Cq30~=g^gDX&9&*is>PZ6}KY*92B>FcvCRd$@% z6fwIalRAds@5Ss!<l_ttHFcskZggF_(x#1GAa8WNDsu_Nw5bmS6P;TWy0j#-_NUnA zVd3|y>?H(`a_6u`Rl_tnd!uSg4Gg45ODPPOLur}mEJaN94O-^p_LyWKFqBOl3)51$ z@segHjGCMP<H50!(Y>kubT&*Mtv0TzGlr&GAtCxPZH&TjAw3#~*dvSOnBXWO<wXz; zikdv;7A#~=7c3;b3#~M_K$Cdz)y}p?%bD*&cBtpt;!ia-eBG5LUarxsP!_5X*b(*Q zv3E5I>}sS&rZFePK`LwvrNTznQ<Aa4^FZ$yM()O=8~ti8r;rdX%8l-h^f-q6So%OJ zQy{&ovSCpySGqGju+il`=XVr|F*|gtYH@|DVw3CL^iHcn2vfJBq-bW}-$&pQtWIu< zJ>1Du)_1&$Z^`O8B7PxYT*|YUAM=`xuyL%O70ni6&%&DE8C&uk#hMHe*$9ou*z=93 zzvNG6Hj>_%*+9CK*7nuT!E8SBT`(JnvoM=4UQxWT7fF(QJH~UVk<5TNtGnN9@2L#7 zDden8o{cs|jCFLAiwx)PA<rr>LB105+_K4}W+wzp7owDE{-GD|Ksc?0&0h9yekT?a z!c-O`#j_ZJORyNZvr9*_)XCj%Tt;9>jKDMN9b-`>6ozC>V>MDvY0DZCH!OXM4Q?2e z+5!oVk~N-9%Qhgs^YmycHz@tuHIQd(RLYMPW-fmawfr}`L;2EXw=abY==A2(r24VW z;S-rU!+dsZHdUf-kVC)TiR-}J0_LT4A_$rYtb3tOog`9bS>Q%`ve<5q;fjGlMKKbv zS-k2Y++V1UozyOVn$Z&$nq|FHypYWlZJ`quA$drvPOGA5bMpQf{U#-Ey(D0K!P6uT z&j-~m&#DdzYo<aZbrwYqP03J~cuXVL4b)@J63FFG71C--i8CuF)$}XR(;=4XBpU5n zy~iQkcTZ)E4L63v;+ZNPpGFi_M~3D_4y(h()UkBvt(sa5NNSTu)TZUjK{lv8^Hl5& zoO|EKZ)lSmP+;b$NVU}?RBGn2FF!cO(&5kU$}uDX*b#=Kr_#2EY1=ub!UDxJh!3eZ zeY!MONN?QX2mz1bs~zpy;dZ66S+uV9HJv-X6oWG$)F{O=>0%!%G>f<DWSZ<Edv(p? z9NF~AvS%w&opvXl)AY3+U9RFDbKcjLE|{~-?M~+ocd4hqJ*mP-J~!TrEa~g`fV#MA zpF@cB9_n$k$~p!;rHfwjO2%jwEq7WHbAuZcG8n?3*A=#3lkSMpeIY{;xsGH?!xq^U zu3HyPyk|DHww7J(RB$@nsIqe0{=Bbsx29uP-ejNKnJY3?T{s2Da)ajPc5|55$ii8@ z&0d?O`g%gO*28JzV7`-yOy6ab9Ch{1O#0N!l)D{P$XL3skK#kw!IaxRHiR><qmWK% zQc4y$z!6M$F5NSnFLmR%msN|_G>^K`xC<{irj++7R+5plRlauzOYcjUQrcI!-G$WX zaAv^5$Ew2c4js4T(lE$wV64!a>W9ty-AHi&y_4y$W@N0xxxK7zcJtar(#LTe)SEh< z4tIke$oI4S2Ka62>l-lIh24ZnOE#BGTUAoeaEc?GEH1SuQOkm@V`?m0Dku5T88LTd z(%HfN+7)C5T+eusJ@vJn`Dhneyq2}#vtV8ZRssu0-l@I$0f!Cj27S%=l6~*?rE-WU zxQxjf>>8xw*}gt}#idLtTTb*{N)7r2KUR>R&u6+$?VPfE^I_($Oaa*?mff2kLXMO( zI>JrU%;c_|ar2&3aTc6Hx;V<&1@(0dVJum7P@Hw)db)cy!VXGG54z5smGG$dm*P`6 zGMvtZ2*zt^cGi?UK0bsT<5&g49LN_BmonN|!*o7h!|jA;G9zg_>u~+7UoC4Le7I8O z5X22-GslKYK0T}qk%n1~=hUYbt<0f(eu$!s#@z9p!>JrZcj-u27H6jP7$!*JXo}^8 zl=%xZG%q>8QI9J={<37LPD%}C^4rHsrF^b4n;AGxA$$U?al&0g-7J(sI1y2{O}dwD zp*FyGBeCe4<5bm0B6n$@uibXK;FOblI74LSWS&$fZ_l5O((JgPzY_POfvNMHS(GF= z(gpcO3S#p?Eu{U(k3rU;O`oaCp?pC}D%vBCA-q3d$_$P7N!~Jf2iV*9U@q!_BEqP` z?k>Q6-h&<G!Xo)oJ5Q!_T|+zaR-^E7<CL|Jx8O;rLOoE(6!R>>!?|J_!9%9Rx)<A( z6C~HgeEP#AS1gn&k-omZVwB<4)$E5f>?*>YL(g!ArQwI(Va^O99oic5WZRb;Gzx~Z zrUTLZI5{D8L|1>(fFRKclh4&inc)GP@7>thQF7-_dUG<9A1h|ZyS$Ll>Ab|Uv?$W1 z-<DE!o~pvHI^qxVotX|(&h`<pa~wU(9vR9MMtWGFSvy<{Io*e+m8(L?p^!3u#HN>b zbJ!^>!Jg_6s~!=D2NGfGP0iVjl-rK?^=(fL9EX8S@Os=T>trTEPkJDq8=RSrR4mMr zEHPHGFM7vE(=&_0kppRYK;9vHW=WIBGm>{>6iJPEeGM$4wowho3dm9k_Tn)96{EG0 zPfBhNtJp^lWk!4eg8IPD+@L$e#!LzdJ{VC@7NMSqREM1MwRzf@VOS1|TI|%|Q|B!` zRw?07Hs*6adI<TI%GxHr1LFsTex^lcDM90MTW2t$j3&;#T$lVJC(}~YiiTTytcPJ@ zP=J47Bs3Yr*ocrl>pOW=nfg8yDcjCMS>*Id<>!Zn4v(HvsyND~*GA?;B~7=Dd~cor z6g-q3$)8MH3|C{8DRnywg*-MaA-shlS21D<Flhv(vlo~(Lv3QtdDfx7=E8J6qX=@` z%-M3vV3ZY(5<APInu#J^AI1yO0j>>ahSV&lcICJ~Q!EJ~Jvb8$M{+iQtPi0)m<|o@ zIX2wUB?LDhLldLW>!t3oQW0L$6k!t#cjgIqkJ{rvsx%C*G0ACnBr}?}fLY`05G=Ac zpFeH^Z<kn5l-iL#Y2i?mSvWsBpo)xnjKoAnl!8mqF5vW}hSD+~W$qkE9V0i|(s^Q} zGTD6?Zpx8$pUFi;@6GQVB+(3LrcYs*k`+QAq)%i~d&O`3n9mQMLe7OLNT||2xC~_j z=*peU^FXZUPxUapB#Xe(z|(dp7OfIy-ce9Stcr>*CXKnfqk2LsM^||i?W&w?xDHf* zboQae;SmVHo*}Y~ZXZMsKonJxsRT_!hScZeCkz?ZpjR&z_BI5g#b==!X615pasl#q zjNbf?{FqP=jd8NXc@h$I537|FI7l&F3=30w4)hGOHz7|;tRr`f5VHd8VVUz#d%YNr zejzKc4`r9OBvf-`7%RipkNO_o$%t^KCmESJ1JY9A*xb;Ds=@<Ibd;{LhA@H$rrbzL zp^8x(IU8LmgJ(>ml&z)E;jW(2H~}>&1D3s)$@xm^ZVV^OmIbBFfIVe<o3LbEh?6Z5 znP+yE6AibITiT(tDb`detvMLqRfwt^OlM0e8O&CBSJ4}7I^T2s89~|ohh!{w59z9g z*=`m%j2SV$Gj~jh;y|?)34f$_YJ}xwX?|T;P~)4aH@#Y!p-!zwQ#7bYtk$Ux+hNQ% zqZI)!SUZr`p5+b0J_NY@-j*t9UXI94^vUX6NrS*bFO-LZ*=+({vW49ydKu9&Bc;5b zBR8Bx37<~(f|!zM6Mr<hJ!NyNq|Pk+gsS)<ZDGo}`_rd5Dal}*W%K1kna!a^?+zE? za8rrfVNoaFN#OuH$P#Bxx@V+B&s`d+MF(w4I!4gEK0#Yp_EK!g`-P4s8_4j)`3j#L z$Y<!kaIxXpfF3_JJ+GX&y}+)Ff|!^lIiuYz2QZPGxz-2M-cpbZgbgWz^*_LQ4J#Fu z<F}{g^ExbI*a{A9_F_lLM>Wln6Y22iAU$=RY=L=n9OH(|F@>l;SCmIC+G+I3zGmN8 zowOreNlN#R9XpmTY)43&0Mrs<JY&USAJUX|<@Q0zRMw}MZzDv@kNUtZw{2h(U`17+ z%(_$A*48~Hq3@+mE_K<*?EX}EB-B?v+7NOjqFPT4tE|Z|EMd=W-J{5GMP$n(a|-55 zU<iX9B@|-+7+Jf=GF7o1HeyNc3WiUsqCzE$dew_5=pDskdZa%)-Ya2NK`kds&5fiA z$17P;16ZVk>0Bk<_U}cwwvrUp!oo?*xSTc9HW|mpJjc&0y8~BAA!8SnE18}`wnh%6 zv#HY-g1I6xMGd2f2e~^kGov#<I$n@GoGlBrnH#TUgqlrlmUmc{+@9^@%!?V~{y4>p zfP-V{F+Z&)+hm9PfMy?o?<4Sqn9fJAQN<?`g<AAJaMGf7WqP`45!$6EJ;PLDervfO z!PL)|nwzKHT!g^(!B{U=uuS{*=1o9|hBDSYLvs8rPYJ8U(u#CgJ`b|XR<sxD>^&{u zMa^K3;-_@3WFg50DG%n};w97}BGbYmLbyq_xD+otUrcvyT;#$|Vu`CpWMR(l7A-o& zj@g$%j#{8-K0FIj65E4Hu<ukBe;~fR?jdKp7#}o}gbP)Ms80<oNokg_go)KkoMY+j z?4zjL=UZQWkgM&;?XVbB^C9NaE|1W97jp14&&cY;9STm^J4-EL82bC0gUTsy1}qkJ z-p$f==T)={dCj2E_OT3pVAi=sWB@2Ib%@UEjc|adi~Nv~rVMlDwkR6)EE}V8)-LZM zQ*FiJ%&49_aY%D>S2S||Mm2#l+2jEh(W+OGVTS%XR<RC&m4q2KT7*`zo!D*RH|!o7 za(lSj!^4}0+A)UvLrk=R<3%_y8zq=dG1o(slJ-tOY+_TaI$>dF84@#!u_@1=+A)Tu zi23R`(i|Rg1F4+XV0e;fyU6$lj*E=8CU9qk4!y3TsX@zuC+rDd_NI<$%P(sZLF89n zCVR|uok<gIxyOo!7>%V>Mdi^7?Ic*se8n(3WEbvWbXPr$`=y3QOq*$(--mEC3s31C z*(^jY&XQxCHZ480j=bktRg9(vttw+TCG?B$6etek>ddCMr+8Px)(kW|j%!1CL)md2 zKAg$XF&`{hri>#EO@tS+hT4@I$d4#uv&l9dhnb>BQU!Y!WlHW!6_h5yr5o3N2g%vY z*hsXUtXQ?hFjuot#*gk(>+q)h4v5>H#xnNPY~3m4M=P<&t5``fVizm%(1BsYkPKHH zd-KN}^RP2DFf8{y^Fcrb<tYcDD+j;ZE#GdNta04<cCIh+8;15l0)&XafZP`i!Z9D| z!E#J>9@71CyrAVoyKr8eAT00cEaR|Qo|fW$Co>XJ4b##>F9)6i2Gz@g=-Y#qb-vpj zbG(D%GQ-B=2&iF9CCFbIcBl*a8;mm8&toIGBbh<sm_azveRy}e<O3tA(>|cloHD$U zS)kB!Z#s93a&{yihK03XcTKH!nyW;RwIqipKYjbK{4?mZ{s(OX=x`h91t_^Bz0=iR z{W+kh>g>m><U@XDkZZ)5WXuJH%0ix1XWmn1yl-kk#6oauaNBoxlz3ap95NC%xRg>^ zm_moV<J)Dhv%qw2H8sryE1SCGuvp%ABjO~OEGx=Nh!9d=wX&kRBQjV+KG*6m=MTW6 zymT@(aU|>+&Xrj%jJrHyO*hA<X5)Xci;lC{^y*RhO`EWnUBx}r^FevZvpVLq&e_3* zRnQj((?jfEec1Dd4{My-_nVpTlMp5TnxHg@4*7htS>jn8l7vTU){x4U1F%x%5W{k? zT#LA6%2=3n7UuqgJ>kl79->y^DV1>fE<AfXnMPlfac3aPK@jG{HX}poR&RP>cyF46 za8^nbn&FV_Fh8M36EVDGQvE(nw%znJ)$Vh5hbKKfm~gq$F8pmqjP4=tUZ_fzhnW## zps?;0=tO>-)Vp?&fSQ)?ShSUN=WK2uGn5&yG*ij5Z=j?+cu}qzn;K?G?Kxm8)z@bW zAGMOVsM-!ssw|$v47I==m<84|j_J5_EDOD7e5600m7z3zAg@5Q_7qV?U7XU`KF|VQ zAv$iy<69iek8rBQ#v^mgj_Ks~QU&(hc{;=XP+M_q2-2mOTy%WZonv>L<76g}Ga=_X z@DIyh>2Fq6y;gatttJX3di&Bk>h)%L^+nsyDCn1c<&D88ouekbx@m<6#t9%TEP^H? z#3X5}UvX@2PnS+9L!^}>DT*ULJBP6X@SBt!xpwygvRHlN=vO151@QZM9qasl#J`l- zZK4ChLNO5_jAI124CfWP<cCnqv7I#2vApwCr^}lMw<BK()BnMA58h&x@ty|TcXBQ! zM~m489K~DMtS?0Otgn7ab%$pfMYg7q_faJ7nC87HPlWA{)QXmyCZL=ko+?L_TaHMC zmm>xFa%{Bz!olurzF+5gK9P;7j(qTr7|z`53I9^njaBPjXsc_#83psBeLZ9SrGmHO zy@$&mmR9uuO%`69_rANz6$s5iRgC>aRm|8(LQquj9>uc64>typ`C2h#+4l~nb#4;A z2EuA79@lQ1*X7hDI?Qr0qu$1ZZ`wz29B^b^j+*C5cblVpbGN95X}8F9INPP_<#gi} zgVVaAE<DnE#_-bcHfdF=CQ-r>CCkyX`Rf>AF+7luZt{55E<Uk-gi)3C8mnU6NkZat zF!9+@J!4UZjB^(rql?^jVC8oZqm~t(IrZkvWsoYQ3DNK#Z~ALRDJzxJRqov!UlTJ& zbysdEZx^x4=XRFjJ(L#on<NXW>zW0sw|M9!4NHvl>qZ0Bd0zEO#uE1Gb%?5XWW-oz zMn%fgVS3x<^d7tyNJe|8;SVZqYxMA_A($HH?8NQnCk!SU7ce4K0kIp$9u>E^63wZi zKxC;XtWD`?Z@wJdlPPgE!Y8O&RI&1q4#X6aXxCGjq4QHwE#|7|$hZ>C$`~QQS%w}e zgR~hu!UZEMQI7PSA|*7Y?JnIQgTN2gpXMwrP5as{VL#}ojvEN0x(X9^-rJO#87i>X zO2t~cQ2|Qo+&Q2JDIeg42{?LG`pfB%Ok&L;C)su4F;c{9sH$`eM$WbMofw3LQMRDw z1>Tz`EPr@zY}7l5xiomK88|l3+3qHV29WP^WDXg2S&E@`reJADgWUD?8s{UsXi>B* zVCL!&3a!F{y(BmpJlQzPRx<&j1K%i%y?^B8Mu(kn+Y9PA*r{xluisA_3ew9$YiWRS z7F<pMF;=jnlXSsPOV<wWhr#}q7zQ(gVSvucK~e0}VgzT{Kh%5gkZ~1**I(UX00m0e zCYu6Xwq@AE1py+as=`~`VbUNkAnVmAO)+AzyI_>WxfCW~svP6GTshUM@D~F8WwZj@ zhr(bK=HQ|nRwtuPVwA5mZC#?cRTm!i%QlG8<>bHxiMvXkNTZ<^B?i2{<q)QbL(2(y zU5YZqF8s{gCCU)>UJ#BbbjD#eA3h+`&GVp(yH#l;+PwMfefbh{;5djzJs*@f<w{U= z8_g$HQPd|$*!Ia^gF;jVnn14^bR6Rk+C@#vG-R!Z951DeN2!;7V+INGPPgi14$9&z z?ws@OJu}3nZpLkj?I6MA-@epb7ox4~rQW$P7p2@P*!jH1j>MKfuBv|D@EjKns_-K2 zv7}ipTbrAxJR>;xAbuq}ZNgkJnmV_Wi`E7Fe|VEv=ys!urNtUy;n?oFYNKr|rNf#% zn6zxG4!|3bmD?@e1orq{MgJ6&a!ZM=Hwsg?W+gU_4KPIgtt(zMQ}u;P%tW1-8QoYY zJ3p;qulPvS!ZBtmr$oLl`dm&!hJmQ|%pJ`QIXa>EZq7#8mU#*71{i^mbREZp8xgf1 z>Q>zh_p>0=#kXA@_uG3Fs7{61*hR_vZWd1gk7rS(ahl7oMJVeZrq)u`mI}R7zR#HT z4L|lux`0w4gQxBe-J2^+^@Etb#9?nJ?)K_FqU&I7m&OL!^eg7wEj}#5Mq5-Pg4kwP zR%ipMp@Qs6mRw2pZI>7(^z~rZmn&76AxLv5m`mfs>L;M8I}ld{rQgG#4s*jGcZQVN z!_5okMyI|`{x7?xs$EjV|2}KLHiJHlSn+}32;WC_YT`p`e88$y+dd>)+YTSt?1TZk z(<E0(hErAA$7RLP_ot6>9n%tQMp=90QE_O+W7KF*m>tkJLdc13pD0{D6)z)4x16ty z&^T(i1<lEO0^z$>w}Dd9E?1|u@4k-E;^9X16pR1+tj+hRY)yLc^nX;B8Km!`hAO&D zBShC;<}4)2wR&~Y>BUvf)$LZ8_FyDQk%hr)2Q0-q7%HZLzkF&8>Gx)o5`&mTDW_nw zlqE;#KJ402oVvP9_?y4cb@UhglI0oRlfsu%{$`5|Mf-%zl*B=<BUK|Y=V;aLA+5S% zcpHJelcESVtRSD^(R>*FKX9Dm&J3Hlai8>Hp2FeEEJhqC-(e2YWCn_^-!yKC%|sCc z)W3V-*Jn0sckFam8A(+{ccn&0v*UEyqNR~hZIsJ9oFe!0?TTU%0|||w-Dz3qNlkc? zj4FiLZqGr?4=&WQoft@$dlw!PYXz`58SP0IPG)AwmXt+s^D&z!-<$Pi-*7R!ZpR$h z@jm_0F=eqVofwkbxcZ{d4(^Pm$qJA5id^0>)l35w(Qn#c?=(~;RgR6OrsEW?!io-d zs*+gNQx!|)I)4=w($(LNgF615-y%2p<ob#vAkFGZ6V&(D**XUCJ`L!gVt|{4U`MBG zx~fyOnT?8K{Z&4jQ$F#Tn(7S|Z<b8Wi5yn5eXYhOcuMWzo(tw=(_y^`gX#?XW`-dr za+rv7cHlUdex{~E(<+>kzN+$OZpc>)ds0dhC>WkJ@8YfZqGPEXf(fc<63q)sBwg|j zl<c_fQk!*Kt}u-8{TF<j7V&$8qIm#p2WeMq(eggx^?4X!RY#Y3d~V4<%xs4v(O9;V z2}MOYYLw9dRXK%DmczxURCc)N3jA)lZF65ARTtS)+ofLZCRmF;Vpo@Ziix&;p+^?J zDqpOsq}ewbivFm_7XILY%;|L26GTp5<OXuchh(dF4-AZrW_ab#^1QL-!vmJ03r9uP zS)P(U*DNsOS}9iDurtHF!mmEcbe6XPJ|$eLz4>tQ+D@BAjIcL@)x?k8cghzqI`B*4 zWa_c4U)jG|#RBr8$R}0A5{YzpBqyuXdgL^yPBN=Z_l`q<nz~@7YG}WUsb+cOTgkJ1 z(ZotmQ?kaGv!&TBs2Le~bFXQ}bg54hV=QVjZZTwEwg)EGod%x(ck=1I)F@X<Dv7>4 zxE?36XK?(6B--w^M&to3S_@FSe0tyumW7Xxj;cda%Kml>rMWW=mnv`!r7Mx5aO6jd z;-g_ct{-Mst4E%25xcxZeFPb3>OXX%%gf?1wALh6eaweCcaB<$TJZvIs$it2a>5)Q z4bPMBOciW8%q<@Z0Ea9602UudqgZWRtmdq>9P^tGdTYF{-A36QP?crnsC0F(D>o$x zC5iZtHVwY#b~IUZrii@@kvrPa#S2?-`$HRB+C1Do%OvH^S9{A4<Ce$(r1K$o5o*{e zxfj}DxU;~;WOMoWhHZjF2T5ceOiANtm#u7h6;Au)m%SW>T&69L#wjy1UbGWdPba2* zXb7o>trL-OZ)PMze5%3=PvYfL_FdDuw+Myx)|!t@|1cJYeIz^mCZ~*PS5G-o*C_;d zr^@N{RYFU46m!^>8yzdz?N~DolvACA2aKZw;o4yf6Af2Y7(fRwi0SZ>M2Hd!LZ2u8 z$444wX(&}O-mH>$!@rU2T{n^<ky?pP=))ZPBFwy<QjgKBxgz~*$8zUlA#pUR)vg0f zZO%Ya`<yXg0--Rpa4^|AN=|!Y9&GPLy^6mkOv{v%8;XmP_d3AIA<f9bIW8d_x&%m| z+hs17RXAOSfwI##Lx^VSFUyDdB`TWoV1|&{v^vT~S0^28XI?0I`pY(t%W+=ttFdTJ zYnTq{Q1aYc)X|p(tv7bgabSS9MY}=X;^5qZJw$l%DIdnP!Z55#cu4G_&9nuqA=1mF z_ZPLSfvRO<1gehfg0){&2pc5fp|qAqsEX2q;d0UIHx+l0-JlQ_GZLOPdDDdzFBzjO zKG9^P#;M9XDb}KAMv-J%R3~I%rsqfwko=ob*J7A+hZ>z+809g`{x#a4vDv!T>=h`0 z(Bdu`9PGH{qx<r_R)|A+aNNRECcmTF*U=Z9qQErSfjyFAB`&;hm7r6%Cc=bc@Toii zVbt&ELXO!!e#Dm&(y$L|C56Gtk}UfYFxzOQ5-mFoLXR->i*@4rY+SfEQ_?w^PPH<8 zDAr${izrh$%)53cl1t2QdOG4F9dQ^-gm$ea!z|uzUFef-%S;!FrAkx->Ee9UXWFhA zG7Hg+k3Ky077L|24B+^@7H9n>Hw6140~G8`XR`M77M%#?InY<4s_sCBiQA$Om#Mt~ z@};JH*2otKy+yp}Ay=6j;_N>PM=LGTCsFz(X53%rfsaGUqMf5xcoGd$xx?T4uAmwL z=z6(m=;1RjmsLD09brOadfJFyhN;34E!Z|6%UKE0qY~5ZYOtel3>QpDH7}1ed1c{L zImZe!M<TI>nDRI2<co;DAn9ihoKa({aM(UP%PKQZM`obxC1SNr_Y#GwAmYR-Gj)cK zNu}rX5B)pqnZq;mebo~Bgf3CGTH0I!?Ol*d6aMe4VNQ~LA9c+^w(q;9kaX`*zM6d1 zsJGm<k&it1_f2e-M`0bzgys+?qZw8X2PpfclX`KA<$$%0>WpHl6dOWsnfq*Rl%C3& zL<z5@_-pdzk4r`O<-_aqq5ItzNJm$FxFVeiSKcl<VdBaHdI`(|HW<B|W4#}eYv1;} z@|uNaQ}{NjZ63lr*5jO+7zzVijZl^LElnwYA1&%$V<oCrNGmaY`Kc09x1!_p{dr%U zccnO4QN6qIIHdGen12Nc)8O=G#4h{VJY%#s{B=PK)3axklxR;>orZQU=NCA<EpUSY zR9SD@PwYI63a}LJy~y?{nC*m4lWNLlPi6>s+Tp*~2cdiOvIw<f;d~<$`0T&!j2K3k z4XJFu`FHl^d%`eN@tzabPSIDi6G9;i?bTrg!{wwid28s10->WaJeuaCWa;dFzEz=) zg*RXE(tu~%xjgTwSWFVOB$HF8DG})u6z}3cDYB8(>w0Pc>r?wjk7+lYqZr7d3@wF4 z74x=PRMei#zdg0rw1XS#eis)6{C6HWkdaS-_qw%s2n+~_%%<Bt`%25BJOw+)`1+S7 zWX!8;wi(b#W}xjaI3+rn-j7ukiFR4Ij3Z}HfBVIPC8d{VLm0AmxFI))i;VLLee=d& z5vz*(caOHGp~+w`-%^KK`}3z*)~BL-!~U+SX;G0_>{OLxtX4@X+Qn9v>M!OC{nmZ| zlDpq=xvmjZDTgQNFm7)Hm<6W$=Ui|(g}X}UbarhL^-qEbciNK=ZU}9P?jcr-cH7~F zXm<Z2tOe-6RTcIm3iKZnl!2nBZYKKI3*F9<QM}_Ry+`OTA}GN4fpQvVPDeib&>74Z zK4fb9+Xk%AG+X^CY53yxvO3pWjN^15#@E@$UAL|e@MJOP201t*sL_yMaLR4p8;_*M z^{s*24t8ez?TPR$C-__LG3uRi2C11ScAO$Z6(VxWtgdh<z7^cf;n8Wn-=WTTgm0+H zehp9e#~l_)*4M&b%UvI?N?Tyzez<&EQTcu(esf*ZyyMOT+I&@|Yuka%$=_WlQ>>He zKE@e7n}{%wiTn~y+tBDQE`;ycYi0W*G`3%yV%WRtWgL1QeLmK#@Emtou+%_fUO39x zbhu>S?cnx_PJ7DHP_9I|;r2F)hMQCE86i`YDjIVX5gMUUYKR*})!h)I!-gJZ%x%a< z7**TAvRf_63)R%f=#&IINH3>EmNK7c2?wpOf<zwys+=ZB3ZSMVB)h#37C`+mk#Yo7 zb*79N?k#n%Eh-$2zU*0w(m5JJvH5SNL}~ld(ceYkQ!;2TCTS<v19<4m#N7p3hB{{% zMb3`%cM09PeJ<|`{B@sR{;E%kzZ$jK9U_JOBfktGE`B<<<pA+hgxhE2wu3VUZV_z# z)y@cGvvd5do9o>}&Ruz!zgDEbNhXYA;0XIV{<@LMp=GIeJAc>6ZGCrm>hTygq<NkM z7M$Dg?n-vLEPWW@Zx*?>9!jPtJHWUP5mtRs+^w$8-RVxdQA*}*jB3%X?W6|<qg##< z%*23Z_jXcZguhQDN(uu{1tS%W2Kh@-K9|dDGivW7?V2!u_R_9RbE9z-t?whWk)dw= zjyX49^LUIN)6=U4$kQ0rYLCq^-&bKS_gTM0y$qqObGv(}Z=ApJq?pQbSt6wH2r-Sb zm;6z}?Zm_*?IF($8vY=E&#E2Dsux^Jro6_ea=v#qQ%l8d8G0uywWNNGI=8ekqFzdg zDj7<;wYVsa)&tbI7hF-$kF$qz>V;d>&r_7{1V?>``YUskQkq)rW>nil9P;Ml?j&6l zaZLs4RE^>&<)}5a;TH7qH@F6<KVw|xR`ya;%EICzQMd={_X6G0sCJ(o(aE)m0%P=O zu!?4CPjR=Vo!aw+Qv8ZDsDG_<6EAkrkO-kk5>&J849gF=oi3@n?M$e!h6#<3rv<Ib z{gQ5X8;C`nZMRz5`J-Y5Fh|Kbz*8OCZ7E}<T}w;?Aw##+wP7%(4?}g28X<FrzaGpU zT2C3iYE}8Hi!JFZ6JL{Y$a?G!?xT+!0D&)&;E5|?qe<m5V%RI3x`yY+UJ*)NV2U;; zDX-~Z!n*&@YZU8og_k-JDv9eE*IHPqlekz~%oa^_$hK?L?+iT@{rqHR!PcB;(J{$a zUjytXMaxBVbR|7+Hw=x{i&ZZYV)a9$i-ld1?;#QryZJeHtM^;`JFOpM&}<kAiN5NU z7~c0?{mQXSr{-w{+@_(%$_T=G+YXS!_avxGA}|_Xn7h+2Vf`uQ0&^>|sKw#?5{WPg z3kkO@?e3*NVsMSf^A&wt>+vOKl{XHBHOE@c5v5$M36I?#vxB;_Hop~~^gWSa(V|rS z8u6}>V!pp>QM}{gES|&Fb<K{~1HJ^ggp22=N_%_gorHad(K9OVdgkKPF7T$7<}8Q$ zB|NnfeGfIOL&Vkhh*qxcl9X94v7KS|y6I^@p-2w6bsAxgR>VgdgXdh|QncRPmAh>A zI0OcBnDI*KYR<M(3X9qJB8MrkpES`mN|_DY72j!<X^nHnM9(zWe(k7lYH^T1FBnmB z>WuBCk6xK;z55Z#;7}QNhga|2A%<2M20bQ3H3y}jjoPS~2OTz2ul_U(QblgPugmkU zq?P!2dR-C4-NY|x0AfbpT?tx=O)rKAEF{8842vzrep7{~7ojSl<<V~4h`K7FF=S=h zr|A3k8TLXuwflY)FD-0Wr>EExYWEN&%NlM$#oo{&b+>zR>|=Z!`k7TGQPD*?jZ5U= zh>2$b{p7{B1dar;O-<6%z}q$^h!*u(X{C>ZRCD#70T679L~^d}TaDqA-0)5;6$z3K zdLeNuMu9DsY~U|yZbG@;z+cyVzuU;~Ms()G_rgD3F?&L4b!e7V=zd79!9_Y%6Z^ri zo9{dcstM-;tEe(@QzfR%U&%C0liT9COvClMRs_`Qm9*)b!}N2jqf(Wrl5wp;%QV!m zw_;dt<^K(s>l=&&ZshwPwWL%J<cr4dN0~8MBl?t#aW!Rr?2K$tkEKT|Rnx09l~g#& zbyr7YnJP<WTeohtO3NY;TgWDmhR7Hb8Dp&x6H90M^}oj$jBkz6D?YDAj$7lI-_Le5 zFJc}oUaR9eX&)J$V$A`zBwDaC&twfr7yD%%@sC^U7o7~|oi+nG+8Y8}DWP=QIy;W$ zT>aG&)L0Jl)Yt}0;}`>9RVgVk!<#Xd7l{W^T&+mEi+hJ=<s-MeQj2Ph#!ac!o?>(6 zUnhR@`d@a2bRidzpwP?}V*On&{V(m|sU$n5-*{s-yU(qZBtL2LSiRTE@Y^h;aOPJ2 z;O)Qn|900vEz@hA*{4c7H(}D>!JoZ7;I}4;cK_V+?`>K5Zn@XC(wpKHZNEef=)7D4 zQZ$*~7q?Ws9h#ZGChDUEtK`XylFK6ue9KmcY$e{8W;;Dsj<*1XBWuB}tl&kqe3`G4 zmAnpWMKEJ!c$qn)CrfvcuPqzjHK3p6t<wT=NkvJxwn($@WW=%<Wm9S`55Obts!Qee zfT7J=UOkDql~PAJW^KAW&`J=k@fyyS7hm<Bm|5%GC#EjHrZiJthPma@+L$rMMU|ZL z_?A>F&S<x!-9WU-+({q#@F+dWGB?_6@1UiKB9epK`IT71va5LOk-656i%~3*gp`z% z#S*2vl~FGwHKj#F?{JH`wg<aRQaX~TlEzbIv|Cz{z}1$ZqwGw(Pcm5j_x*57BaVnT z(sNyfFQ(_a4N>2w=O})H{%g-5$*i&4Ix#y}`%~$%>80G#4tm44SHV@OsCLH=WjY^J z^n$zkQn}Ms#2P<8m(U>By%WZ?8rScDb7#{h-Ei}Rj6+6Yc_cUgd$6aqw8mQlm(p$T zgfXqg<$mQ$lTFhbxGlWrKw5ald|VlgN8BoIiFio+2Jxgcp0rP;{%U<0m3Esd`O|gd zblq7lb6us(r8H(4zp0PD_&wn;x*$qtU%p%}Jgrrksg*S>2{TpRPRT1v$!c1gZe)#B z>qgm9-bj`tDwvjZJ1dSejvHuO9)S_4CMgiD6V;|I#GL+=iC69bU3-aBwlFG{MutP= zijeoq8>$i}+HGjD%a|Or9Bq~46|C;Kl)4sy_k3w8HO1rBrD(}kOn|5*)hExPS5fUO z@Kh)iRi9^C-?~Jx_c&GzZ`=BZCQekxRI+Q=Ak%P$NMGsq7&C={CQ_y5P!&su=-(_# ztxY1U$S)FuQ_M$7c?Zn_FbZtq<$yu(FO^y9P2Z`4xA@M2cfAb4h!G<SN3DBS+)v$N z560BiZwxCpfYe7s55M(wORK$}kussw5*aL7rfR9IZmv?wyHZ!nr?y&U1Z)_E4w3uF zFa4-p-^2a1IZ|zu;_21s{5e3ROgqd2JTrYeuCS=>vRCy=EvRZA@>Er(-kD#xE$WHi zlJ&rOY9ZXY*6v~x<+gfrLd#J7l-n{gy2ZDit`V23C#pd!$+2tI2rDHucNMiKoa(xw zeZE_8j2figdHI~VkddyL)vC~1iv(zyw^ph}zw6bS>Zn?oZmCj4f6cC(Z(4<zh)K2J zcj<mk+>vP3+l@Nvoj6z68lBDu<T}<SWV*vrE4b2UZJ&3LBF=#d$Ntaioqg=;kzZNm zb~Z!~B0bgXJ9+XaVi>)oi`JhP^IETR=(yFwkgSse_7bjI%)0KGuG^?LqMqcdR7Va$ zJT<+VD<ZdEyNj7)aH=bKYB}*!^=wVASAyTqg<m<;x!TW27rjtjr_BZE`B+@+4vXg^ zgQ|ntvt_fYU@|!3CSJg@I(C3Bnj9lm;WggcA|7oL+^vzCoUY`qrL1}+sW!?_b95~w zwf-d!bwcLWMF#3_(zrDN)(5SRT&HFP@|C49m9?3wb^}ygr`|an^}$^o&Ai+c+N%40 zO8Uv5IY64+fok8~IyWvaF@PP_TFp0}(<qJcr@oznzu(!YW27Ck<40{&n}BM)!l~sJ zZ>Xkl#8(xk#MBxzN4s$&bUC+kwsKv}g7{T)EVD+A?Wixaw!T&_ZgG~@MWxlsDJf&z z>PyOCm%bF$qdKdNL|F`84@4a2wnUO)W)0Q7nYL=zMx~-wG*W3+zx6b^&QV82Q)u3+ zD05{rCz0&;eV$&zt&@qFH@=l!p%pd?#dK1uv4$I#O;fR^);UL+w&`shre^-k3w5(% z*F|+)5^H@m%_J8NgcML6awkUChn;2PWUE*Z)g>!>I-;g`Rm^Hht*@>n!k2cO6?;*X zbC`U8gjbOpGxKDpi2r35O47`-7C35>_Ni>wBW>1U^4^bF<s=ECwNj~R$Y|oOd#9dH z?TKSUQN8K(Qet|oQERM+ozwB<1Q5@Q`!#MpOJl1ra!*$38U;%$4N1f1L$Z>WEx^~9 zRa*79t0d8@?aw(emvn)rqaE2GlE}6VSvS4>tXQi(UrVd2HQuh_>5svz7uQX%<sI-> zR`<i>Mw?%E`}Dfz#+{v3(Ta}vLG?)<xQ^*HSISE#csnnmUnQ?<9&V7V)Zwh8nxv-J zp;JdN3ze^)-g5Prd>s)Vy7j6})Qzk|Z<C1b>RYt^^SyOjt5@N_t0dc2t&USz0MWii zy);T~jq<8%pFW0JDO8rH)3K}j#=6+_Zd#aDX3<Ow!QEPI6L^~?l9<(&ge+_Ett?l` zaepALdprKnwjG@y{iiDl{_wON*O@z3IV7pppjtUP7>W)UWo>J3ByFb}yyMNgp4Db_ z+UE~tyq)ilMl`D&kAzaCV*ktbsL<ETsw$~+NA<i+b)(ExM`Z6#?K2vt`}?n}(!;7X zlGqSB&o}yKhv(W6C@tGT>qb&deCFr3a+FYApV#vy{orx&{cJV(wKID;StE0o+)p25 zUCv(C)wVN}Zk?Cj?=TxTS1e2&3`Y*I>q6VwTUN4ouVV#E?v9|L!iyW`R~Qd@r&5nw zbPx>bF0c8_9a>ahr|uX$S9|-s+KZxFc0-InTq)<emnV|d+A&18vSjt?;*R!~nv<wh z1;Z_gR#Ub8;mSMZ>Quj17;tl6dGHw0e$~4PIlZ}8Yuq7?sGD4VcYVlsMmvAEY34ln zotw0$tT64p{Hl%)4jijQHmGbK&7e3>*E3{ONV7)ksT-=wM$k2czAC%6+M0H^e?N8Y zWE^sFa-6~aK`&SIoPMRkZJBzaE&Ei*YTc9-zsN3^))x=;(09pxxI5fAMeCwk5>|Fc z4m+)S^~{b{p1ZzxgDszxDClXg68;9C*0f}!s2$CMmx`JzyJ$0QMb6%v>iVO4Gz0HE zj;N#@#C}c>QA%sU*^!MbC&{4jkmUBMbe}pm`<N$5Z}F#kq202sBKehT*3)Xg_vG`o zP(&-$+pBvhA^q)cpNng~F4uaD_71x3sut9mF2ks0#{uMZtjdZbdZ&|QdM_82uHs;? z1Dula#qsifUD|DwnAU{9J?pNX8?OsG$*1Off~C1uGa}k4M><coqF=GcLVMLMk?x++ z%JL|6MxAK4$kQMm)=`1?lW9h?{B!{=lA7@K@{-ZA+DqeCr@JbexoW=g>!YGoY-SQ# z6&z}oOL!~0diNh$+>$xMtjPMPm0dQ@>9ZT%?DU@TX#eVWTyEL{PcO8UmXU3tH7hw4 zjegL%`p61$>#FSwzh<KSc|;{<XJyngPvdHy^Xpvm7~P)rbEuUaT?B}1Y}sGc7HG8v zP;GPRNUmaiy5y+Qqp}NdtGz`w-PY@|UdXSg`^egzXbi^Ds}+m%zh+A9<;zE3^4`d< zo~uUHEFCCI%hgM&6y06i%GC(uUl(m%*?QHnpS(?4ZIvDGB}RCIBv+m_D2+OE?RqX0 zzsQ!X+R27?LL?iaS(+*p{I$k+z~Q*KTFOahMc419%X`nS)9afq@26r#az5&zTNCX* zBm?Ai@GG-oMY?qnu6S-PnmE>*{HQLe`K_Gyz-jJlC$9dl`M#cxvpqk4&#wRH7yit} z@l@8d$6|H0faDSdn*{<gg2a-RiN|8eOijC6B+S-%OIlLI>)V~>ERq0hnfR3Oo{p_@ z^Hj&g3-v^QGg#yn#hM9yJ+>q{@fC~KS*e!E6a`W-o>9VBm@qcKJx=;l&24}%^UQjm z$um(~R~OU;^kN^a)#{;sFLHHs&PK4vHGs6r1*_aD*RYUrc-)!>3XmA*ibAam>gt3| zpBfVM?x3(^O-owN++U70E{u_?Zmx254Grb=`b2HZ{dH=Asv7ATWmY*TR#!*2?j}61 zJ&4uOC2F>A)+B-;SVDEavT7K1P;E5Q?N;zABWo3Hp@I`Zl4mmXh#H04GVwDDEFvoS zq?$x5nGWXF)i^p*s~*%TDKigxYOslTU0oBIO-<G>O(G;oX5xuhordabVW{y2@R_D3 zDPR?~E?c%Rh_4Ep)|0$dG`uQS(*PmoCqS$Vk|!8t4Lo;ZK?17mizUY!ePXS1Eoa6c zcgt8^oft=XYT~JY=kkRb^qKMUNGwCO*ET4BJ_9Wek{*vUxJEy?hiaj0@*$?aky%MT zL<f=&)wv*+e5mEjWWo_kKGaz6f}rKh!~7FlH_l50EnO{L_3br`GkNCY!8{j>wM<MV zNND801O%g&x;j_W(xrs>yq2zci8#y<Fa{>JKA{oQSWq*sW#aYtykwg7k<5gIP%kod ziFqDpfd%T46A#<CGxaV`7z9rW&BHSKo=&E1kt9#lMbD~Wg89^H(lU%OW5JrlB6Y2? zF=%Y8YizV4M5=?3@p<~(Sl1rF<_i~z>s4T0BLi+so_SK7K|&%dyf9IpoOl+JXdVNC za34@3J25{IFE>K-#z&1!iF#NHeqwN+hpQMcv8H5VL6{r_O{xl}h}AVMOfYH56HU-Y zX-pujlA#XTi;_IsOuWJr1uYY=E=bganVfhf1ja{Ct6OKDVR9+fGQtc@-l{3*(K1rc zSY9SQnOV&6zhz9F%#;&BKJ(RDcxd7kExd4fiiujfYQ+Uzb<8ul$qa2V_=ID6cs4qC zV&Yl-JM)SW3KRw*fG~uxJ{SI=fEY@>p4U82yqIZZNi{A=fX#rRxHTZ6G&Uy^VWLlC zy^lbbmJu83x8c{IbxC5LD&xnHki|Z1{d=X!`5{ic(lYUF32WGC;uSA83BY?=0sKGl zMsnh<X1d3Eu%d5R*B)xNhTgQPe#;B*w^&ZiO$%eS;4WO{7B)AEVW{_wI<2v0rUXuE zZl-9!<XgCv(FDy+uD+4_;W2U>8xk=3KdSAwti^xywfv*lu-SLwEuZvOh&u5W>ozf; z0yL&M5u>QJ7z<e~)G_N?+g(UraaD}9%LF_WT$X6^r8L+|$+`q&`$ux1%-JTU7xYE0 zIbd2_y41!z(QF^9|7}UkMw=wnP)CX?qK)Qeu?i%W++`x;2^Vh`8Av+2L`Ca3p(hu) zzyv)7<Gvj%Eelj%&N3uF8dRX()zWECNY`?9In-}C+g8^euWN2jo?R1m>Gifmi_M+p zkG{~S*YynQXdW0g|9aHw>%R8aO(`}vx*E-2a^g9VA+uB}^BeH2O%RLKULQk2szZ}a zT0}8{q;+K-!L#cWoUE@i>Dw~dW|(U%u?dk}6N5LJr34#d&8(ot<cUTEsFuMAup4QF zur1`tC8}==tE6ReNi(4uR&Y8A>$9+I-Mo>UTo(k;IZ&<qo9B=>62+)7=80C5XAU+> zFlz-K1ggre#g3tz?V>a_*R`BISl2SSJein>LP<_u6-!R8r^yYFDvUK#UleXRdsubc zZ6n$M@mZ)XBSAeV$;om4DffPQP}kUUW-HG|J+E?$4X=?rhDjb`XX17Jn`{F%)-nG; z#H?rn1&|;NlfkR&gyu&fWqOssR8D@Bd1%uDY?<6rpNJEo>-8W5?Oz)*I62v&e}43c zJ|gp7jjtHducg@93hiRebpe%#-u#2Eaht8SR-44F^-)5A1<*2*wAoZwn9=0fkG8ck z={6J1hJUN<8AxN|VR9!TlHM`jS0olO+Q}}Be6kIV*79CRsK~ySy%w_N8}g?HM75!v zQN1AGEwP%WV{+>va3XCVAu%VujXLD8$v6Zl%Fgl;!BL=bmcoq-P~%|-8S2?jNt7$$ z?EUb#nX#<@$$grGg9`Z7H@R=VtV&B<<kYjDL6~T;6Hh>gw&u3D7S+V-%{E1vdj9$O zJ1j<3H)*E4PAA_mGw!jL$u}f&&#p7vaFu1y(O@$wwKQo6sAn<5V_E|cCrB{;Hzsey zkR!S^>EL8ZuE{O3Icdo+wKj3>(-bA8jwGfZBLyk2z#-55;zS)jCrR2U)q{=La!o>r zZF<IAt_gTzGN|+OSp2MUI0}I-c^_*QU$<P-a?O0K;A@(gWy0d3TQD#&%tPuOZp0c; z70r;$xNMt7R;$iW`~j3mPNvmE3lKIvFqyW2KWp$g&o<-*<xq2L`#eT1vyo)!2aJR$ z-n=9+zh&YNWtKIP{>S_-q7+4s7wWVmcm~*bvdZdEtj#EAy76W+ltAoGzA0r}XOzpJ z)R>}|Yc&HSo-+^#^(<F-gwT5u3rW}FA8DCH4r~?mCXsuv$0xioBbv3g`UN*)%jkr0 z`Bqh$JRz1ovz*oTiWE<4t8vkH#YK~C%do3jCdc^4*dEhN@=r?%;u=$l-z~khy^e8B zyqY}wZ6H{Uo*EB9`p0YxuZ9ycX52LKU8DG$U^Zw@88!b9AuVU$P(1;Xoc8WF=vQT1 zz2C(!)Uc|Nri7^&QbcUecO%;4G-3l{kP=X=4wD=T-49o2<Y(Vnl3*sqvLg&{E9&eS z4GPJ~R6WCr2<vZSlNU%iCR~l!uDLEz(=zc7B#4DrJpuD&jP%bDBR#evk%TBB&Y0?? z3$n`uRp{(@jTY#5#LQzTtRTsd&(%sNLffbGL&mkXwza|xW<J`CjZt>u)dnWa_j@dp zxPlrlJ@s|WfuuP@nr!nyO`rsasilW4OSvD1d}yO6p(<!n!&egSmliosorz~8vQ&uu zWmH0R`M7asq(!v!Ajp|EDAMK!KzNb!n?_kOqLx?x6VE`#mUB&D!U^ybL6!<;e&Ztc zIT5dsZS*veDN3i*>{HU}XO@eStRMKDiAOe@0Mt~EHKT}XO_(4YBvvNAt9`TWl?}nx z!$T%qYm$>sQVV8SJDXCho^wetWzZ<*O`cmKnKOA9=AkE&zLU?j+IoG?>#4&njvi^T zNRuZ|Anbz`>^dSj)H3mi+GmL|8IJ^}7{Vo|0<{hTHA|N5XiKo8(!@+2R)ea5#)Kq} z59yA=0(VcNI>JP2Fo%t8G7T=`n8PeHvlqx)=6A&{lh22BKTl93t@rjLF)RLjxDK9= z+IfD-!T@uNiO_y-RZKdXf9#H%TTWk=s6nNYL)cFh1DtqW(`IQ@#$@>fWX8nnYZ5i; ztb86SqG6W9mK4md%C9%(mvQSU5~8waG+fBPh&&T6lP`%LqZ2=y*o)DPIC(R&US*-v z(ARx~z7ZJ$HveS2qKuYFR;?F%TE#7=p^T3rK>Ti-Y9gM0TXwfBZT_p%ro*>|ZLAr# zpI=+e%_xg+VKLJuHUjJ>V8Z6+`L>F_9{QxhzBMTEprt9lW%A`PUm?2a3%yb<Wc^OS z>&**;=5o*G8BLp69p|nx!M8;VrG8a=Jsk3s>|Yt>+K|10s%D}f!?_J~3sJ|SYhK8V zGKQAPg&~n~OQG_@NKo%RQFLb+hHf;?RZ}0Zsf;Iwlf%udmmrx<W?>qKU~6rq{iZ}s zou)mUYLvEh07{Da&fO{>79C<kL{<>AC!%;6FU$`g$x01j%IZYj6x`-$BEtLyQ%f{2 z#Z)ko(WquLMDvOT#?>B9mb2_%5l&&~O4y8QQl4vs^O83<BoH94GTpBRP3?Mkjj*K- zS)r)u`&R>b#ZH)<Kao6Pn(pud*+0uf6cK*nZLKv=aUTyFJ<)xvp$bv9aBC&5ZBNT& zI}`4u>f}QN$`Vr|*^Eq?+<pN_5R<gZy(a;ayf++srNU~$G{9*h5LK>Auqn9alGse1 z`0gKN{k_qo-Jpmk#xoDtWNmX~n2%_O-Hg@mdpGgSJU9?RSI)1K;ZCmC8&C!>VVH>y zU!1@u7t6dJc2@ES8G`)r^s1A5+lQElrup@bL^3QA&i3o}gj2w4uByfpX_oY;udgp? zH|1P5)$8GJ@kj=-is+qqwq>MIOYxv2F@n00po!T@@yv;qL<59snS}G6&<^_(h!gF( z5H4~pox9(Qwzm~dHTt%sV9uq(9!$2u&-C~zIZf@M^-m1JJGq&Om0muB`kH)ION$VG z^m#324nNc+_Swd$&2nK|7OG|H4vScz<xCTf9-9E{{gyMea!b@{6la<m#kxDf8hp8y zGfB%!VyH!RYmkZgf>^9ip|NWS+m4RW$QV6WD`Qj}fHQ2xrCragGw0B`6Gnn_Cz9>h zOye!*>RZl@`G3;==RPi>1`0Kpop-KQ79oTW)!1Wn7S&Jx;l5xY!a>u+Mwo`_LPW;H zR6%N;%t4PpUl>|j;71`{k%B30?sR%!3F{IePnn|jLeQJbo{21(Mr(sep)>rENQ+?7 zY63oNE9Kl%tdw)wIyLgJj0tQ|A)J#B3e!;zvPOxA1S0KBN66kJn6@}`tJfS%*{xxg zDGU(hx}9HDM2knO<L$<^iA2lfCyeij&c5!iNHnxeemcUDA2yOxevn>l!tWRf=2p7Q z=3PtjnGoX{f*3sBZpZc<(d@S{7Z6xmM1E`rzGV}L!@x0U^VHNWPvF8emu2X8!Pmkp zFhdfm;V$Fc^ODEsUJ#MaeN_$)bJ1uzadzXlX*90~iS|#zsHN<+L1N-QZa|muP`8+^ zmdP*3sr<0mI+;nZPn&qy`$W%uT}MDdvmL+}41Q6o^OgD9sBr2e6G;U2p(abc5LfCd znKlzqxE^t;iCGlH=V?viAjjBQ6k7rZT5)BT1IR?0tz#;+j3-{AC`@S2U{Neei-l=1 zR(824T!hU*Z7Ol@Ta+}5&q84e+@X$@yTe4#m0-E=N|aHB6H<YVtXo9gY+QY3v`18@ z0!gJxm9}?Og9!ELC=NY{X9EyJuEEgZ37vPLt0!TyH-d~R5l$I7Obt<@Z0j7<vdQ^v z_JZsHwekNS@*p546Z7k|!3%{Jeh<xOs3lrP7zwO9V#4Kh+1%PpvI(3goy3uXT;5vz zX60MGe<?WmDRIG@+7eE@LM}oLne-+RrN2cKcKuZH+&}u6WIpDx0-qs2dG77xN3jq- z>fIB6E6b-jXiH$ydBLn6YC~#*U41}6`tW6JFQy?Wm$MGvS=yX<Rg^$hPi|pu)bWQ{ zA>rV+)R}Rh)W>WPoGsOOQ&vuQg&G}BcOE*kGA9t`jb?fBde4HUQTz@LuZS`>lcD22 zXbLS2Pp-mOp~K{uZRZU|)~@#>j4fcvmdz#Umw7E8O&S5u)Dnu+O1-I-dh6&d$U<~P zZIkrRUSwXI=x!3=VZn)StCS^P)?Ulxe>;jobcoW@#Y9F_fWTJi0fW8My0gUhWC=Z4 zEX#z7OrP4b<;<F>duyzFYpjm@3?8+)hWn%{b%+e1&#Z?SA6;&G=A+9A1@m;ynmp4b zPaE-8QH>Ky62hm|HE3{H$6S&F#?g~mzYaZrPmUVOX+r_SqkPN~A2ImoiiDjT82ci8 zC!Ud~LP`!H%cr(HUwaM_nJ^!5?7;_<Z<ZMa!_o`&N%{IddKJQ2s+5qlHtOjaYw8Ju zpRfD%58ij@^34|?uKB6Qmfv3E+=UK+Ljnr~0_?_}(r&L2tYPx-cM2o~SeC8^dF5&v z1m+7g3S2`C6lmOD^JD*iduJ0HRTahY`=$k2EW_(4h)T_1FhSF4I>QvE1|o!F+J$Js zhZrDn+D@gh)0WB@Tr|#1Ox(C}Ng@eLyOYE&jfrdH&cwvHlLd)JS-1o1?|<(5=oHXR zjWO}H^WOb9_uPBW{W|xY`|)+-NFZ}l5x8de+S=L&-3Q*8|5mS4^7u+_YY3GCY`-0k zD2zr6Qa@Bp*ZdK!Y6V8A?qT61ReeoUu}h|>{KN$P^;R!6jRB1;tyjhNt_l!AZU1F{ zb7I8&oOr7ha2D)~{I2r5CP<;W(&wQ(=Zeps%vLpr<`)*+bmC?*)wMjn*{%?%eJDlw zcqy{*RSAAXEw3iH@AdjAff$H_;hQyt66l#o<r4w^tk*r|U92Hf7+*K8$A;zDtC0k5 zko;w$JVVe{Pn@deZJP!>A$;OuTl<qF)MFSpqS&!{D|Jk9+)Djb4Aw!kDhfkO%(Z*X zWNlqBj0<E};=507=jB$260IhfYZs%uSc7a&2<mE_46h9MG|r^a<tCnyv@ABY26jt# zA==OhNPiK1v{C{^l6QMNl-9>D@z|9+YYal9{?%#?tuOF^gjlbk&~zu8cnSpF3X3fI zC9an29HtftIO48I3yYEZibCcJLT1f6nO|V<vi>`>9S`4;GlrR7*7xb~#%Lp1fIvdT zrr4j<cQobDFk<1$SS9qdcN@1b@02!#p33_nRHhrhqJBe>B8FoQGY|$n!2nI+S*f$( zz^x6iDgdLnGAWM;A!QrLG=R(4=X0h(xXZNGmRFS5=E7Ggc>&?Gb?Xl{U|LUqg_%aw z)5FY=m@S&Kqp=nz@JlvCU&S(k*k-YYj(!@yY$z+*@vKu6au7kYAvz3MO?dJ<(i{YS za)9YgoU%5o10$U`e1l_r5(dqC>1qiOLnD9@4#qJc?)%Se=`husw)W-fSsM_VtC>^+ zJVI6=EN_%2Dz`zhx}9l|zUz%>J|b7&f)TBvS`l5KTo&nb6hPLzd(2zK(y&^=id6KI zq!U5rY%YS2P$|q_C?i1Rik)EuzX#6^u1tjRpa>Ai!!t7f<Ta*D(*f-!(+n!n$_d3n z6s=i-j3@j_-2&Hb4s6p^N|*4YU|E6*(%QlZheyF8e(`B-;Jmz3<G*NnBZp?No@F8# zrM-bOC9}!^kLXubl12mUgetkRN%kNd(;BMyZ4pjW!qq6_Qq}}v?i!_$?Y}IYrSz9` zmZ;|KIN?^b)ROyZMK<$f6-ug)?E$}cMx*%*`Xw^HffOnV7Wcp%BoW&{i{f7+vnr3X zI)vOe;!Pz?W~xnt1fK?RGci$X-G%Q|YLLv3U;Z(Zh79ZERGM{E6Jm?ZY#+vRN2#rN z%B+}$#Tz2ioqQNXBLu3VbxaX-$Q={u_c(;TzO;^c!w9{1r$_60>~m~`2USsFM{*lH z+Pfa%k;cI|xIXeWGtU&2C(A&8>*V9U=VWLw|8{|4A(ftAr=cMFji?^>?Z)aYUf$j& zGoxW2EltvK;jcnLRgx%(st}!XCPXJ=6z#zR!Nb1TkO{4b?t1AuUg(QW$`*PY&HGeE zl^1I%`r_2Ks!43ifXBr}b#0$Se-Uh<keJM>J8piaG*}(OBy+rEXBIzdNW_GzZIV?w zNfaONhqfdxn!#%3`b5~}r*nQ9>)&d<v?yzr)s&mB;?88gma_`0ww%;wg+P62AsX~* z%xFvwydyGNC+54tR^8BB8>c3z^)p3K$ab&2ci6ihC}aHPvCo_eNmAMc!_hk1b%3QW z2PCq!_bP7$4EFBr#(ma|moU;X@fssQpA6&XG0=N}sfrb#+3R@s#BOjkV7Ou)XS*oZ zEj?;3_P)a#G6TLBAZEL~0=<+PYKy%adc&IpPQ0#z+MHo^CbRnuu75kVFn{veRL$-P zw4?XmWjJNb5?n7luMRV34}jU93|#KS!s7efHh=kQ{_B-|zBF7MWhHyy_K!|g%GGkQ zTo|oPmkQ-WGoyt{`Os*gT$`L3o-9|UhKpr*X;2r3hV_Sr%#ae#dx5JZ*GuWh^yL27 z!F+r`ec=Q*3@j}U=5<X9$H^ZRn!}~y!J$&ATsk<IKfwh^T=I2vzSg+9RGk~lzuuVS zIwlUhKeO;oZT{#y2aIpy2BFtDPhXjHu5}}DGfBLi=f7`q#5+1JP}6+mqVkd4=)B3% zo%hJOiD;7%&nD#RD5i<|nT1V`iQ@S#aLtdC2>rEVLytZ~pKDd-x#a5fBA49G%ueab zl}%35Hape7Hmylz^M}8<lSy}hyj8q#AxZo{O|46p2J`iIrxupxW+&4oQt~bB@7u=Y z;ltIDsgXm)(SzmMaAow(C~sV#aImzgnAPsie<T9>XG!LKZ0r0^uY+@rTO60hxMrH$ zNStN0RvVh0<2XK^wdcVRc8319Y=I?Y4>hDS1?qF1PV{-eU2x<4&fm<qdnsu!(_^}G z?liju&$*NAQ911<*rRs}`vmV-FzflU``15M@{dVBJ^uT$x43S;>(H9(m_eOm|HTq` z{Jwwfx6mm-diGnWboa#^knzqV18|>rUj%7Dn$jII4`Qkq%rN=(e`WT2Km+$QAp>^F z_`N6bo-~j7xpjWpg{a+Hr}*lGsrV^5_|GKe@h%hX)Jczc6KuSfMCM_JzckD_uxSTo zbp8<jMRrE(NOk{n?8oi}UR2Spxh1|;b`qs2iE$6H4@LXU^o+Y4VRRC}+Xk&1E|Pww z%pXwcEZ3cGdAH*7{FR7Xhvz!?B3Rbr@g<=hhT3PQvyQdX#Xm1uI<>1*acBpU(ixY9 zY@TutOYe(DN53a(+W9l0(;RlvuWa<|gxyHRjWn!SnB$~Y`*d`Kraxu+@504-`%iqE U87G0^hll?Ysr^5Zn@oW}0crIW=l}o! literal 0 HcmV?d00001 From e46a2919c92a8eac35034a97d3260cf12f90ec97 Mon Sep 17 00:00:00 2001 From: AluminumAlman <Almantas1122334455@gmail.com> Date: Sat, 3 Jun 2023 17:09:30 +0300 Subject: [PATCH 2/8] Update SRTSComp project file to net48 --- Source/SRTSCompat/SRTSCompat.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/SRTSCompat/SRTSCompat.csproj b/Source/SRTSCompat/SRTSCompat.csproj index 5e544a2ea8..4985f34404 100644 --- a/Source/SRTSCompat/SRTSCompat.csproj +++ b/Source/SRTSCompat/SRTSCompat.csproj @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> - <TargetFramework>net472</TargetFramework> + <TargetFramework>net48</TargetFramework> <AssemblyName>SRTSCompat</AssemblyName> <AssemblyVersion>1.1.2.0</AssemblyVersion> <FileVersion>1.1.2.0</FileVersion> From 6060dac38c8d831655b81b3317c7289e54541453 Mon Sep 17 00:00:00 2001 From: AluminumAlman <Almantas1122334455@gmail.com> Date: Sun, 4 Jun 2023 15:13:04 +0300 Subject: [PATCH 3/8] Fix SRTSCompat projectile selection and speed --- .../Harmony/Harmony_BomberSkyfaller.cs | 32 +++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs index 918138c102..b2c2209efa 100644 --- a/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs +++ b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs @@ -29,7 +29,9 @@ public static bool Prefix(BomberSkyfaller __instance) { ActiveDropPod srts = (ActiveDropPod)__instance.innerContainer.First(); if(srts == null) - return false; + { + goto FunctionEnd; + } for (int i = 0; i < (__instance.bombType == BombingType.precise ? __instance.precisionBombingNumBombs : 1); ++i) @@ -38,7 +40,7 @@ public static bool Prefix(BomberSkyfaller __instance) .FirstOrDefault(thing => SRTSMod.mod.settings.allowedBombs.Contains(thing.def.defName)); if (bombStack == null) { - return false; + goto FunctionEnd; } Thing bombThing = srts.Contents.innerContainer.Take(bombStack, 1); @@ -54,7 +56,7 @@ public static bool Prefix(BomberSkyfaller __instance) { Log.Error("Combat Extended :: SRTSCompat BomberSkyfaller.DropBomb() - " + "could not get SRTS dropship's targeting radius"); - return false; + throw new Exception(); } float targetingRadius = (float)(int)targetingRadiusNullable; @@ -64,19 +66,21 @@ public static bool Prefix(BomberSkyfaller __instance) ThingDef bombProjectileThingDef = (bombThing.def as AmmoDef)?.AmmoSetDefs .Find(ammoSet => ammoSet.ammoTypes?.Any() ?? false)? .ammoTypes - .FirstOrDefault()? + .FirstOrDefault(ammoLink => ammoLink.ammo == bombThing.def)? .projectile; if (bombProjectileThingDef == null) { - continue; + Log.Error("Combat Extended :: SRTSCompat Harmony_BomberSkyfaller_DropBomb Prefix - " + + $"AmmoDef {bombThing.def} doesn't have a projectile"); + throw new Exception(); } ProjectilePropertiesCE bombPropsCE = bombProjectileThingDef.projectile as ProjectilePropertiesCE; if (bombPropsCE == null) { Log.Error("Combat Extended :: SRTSCompat Harmony_BomberSkyfaller_DropBomb Prefix - " - + $"AmmoDef {bombThing.def} doesn't have ProjectilePropsCE"); - return false; + + $"AmmoDef {bombThing.def} projectile doesn't have ProjectilePropsCE"); + throw new Exception(); } ProjectileCE bombProjectileCE = ThingMaker.MakeThing(bombProjectileThingDef) as ProjectileCE; @@ -87,15 +91,19 @@ public static bool Prefix(BomberSkyfaller __instance) bombProjectileCE.intendedTarget = null; bombProjectileCE.AccuracyFactor = 1f; - float maxShotSpeed = targetingRadius / Mathf.Sqrt(2 * shotHeight / bombPropsCE.Gravity); + float freefallTime = Mathf.Sqrt(2 * shotHeight / bombPropsCE.Gravity); + float maxShotSpeed = targetingRadius / freefallTime; bombProjectileCE.Launch(launcher: __instance, origin: __instance.DrawPosCell.ToIntVec2.ToVector2(), shotAngle: 0f, shotRotation: Rand.Range(-180f, 180f), shotHeight: shotHeight, - shotSpeed: maxShotSpeed, + shotSpeed: 0f, equipment: __instance); + // Adjust shot speed after because of + // this.shotSpeed = Math.Max(shotSpeed, def.projectile.speed); + bombProjectileCE.shotSpeed = Rand.Range(0f, maxShotSpeed); } else { @@ -119,6 +127,12 @@ public static bool Prefix(BomberSkyfaller __instance) GenExplosion.NotifyNearbyPawnsOfDangerousExplosive(t, bombThing.TryGetComp<CompExplosive>().Props.explosiveDamageType, null); } } + +FunctionEnd: + if (__instance.bombType == BombingType.precise && __instance.bombCells.Any()) + { + __instance.bombCells.Clear(); + } return false; } } From 98c37a5ccae9f3fe33ef5b84cebeee5147ec4bea Mon Sep 17 00:00:00 2001 From: AluminumAlman <Almantas1122334455@gmail.com> Date: Tue, 13 Jun 2023 12:00:29 +0300 Subject: [PATCH 4/8] SRTS - fix mortar shell speed --- Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs index b2c2209efa..c36ee2ba71 100644 --- a/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs +++ b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs @@ -99,7 +99,7 @@ public static bool Prefix(BomberSkyfaller __instance) shotAngle: 0f, shotRotation: Rand.Range(-180f, 180f), shotHeight: shotHeight, - shotSpeed: 0f, + shotSpeed: Rand.Range(0f, maxShotSpeed), equipment: __instance); // Adjust shot speed after because of // this.shotSpeed = Math.Max(shotSpeed, def.projectile.speed); From 227bf71dcc180fe85862e0b6bf8ecd416ef306dd Mon Sep 17 00:00:00 2001 From: AluminumAlman <Almantas1122334455@gmail.com> Date: Tue, 13 Jun 2023 12:05:11 +0300 Subject: [PATCH 5/8] Add SRTRComp.csproj to CombatExtended.sln --- Source/CombatExtended.sln | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Source/CombatExtended.sln b/Source/CombatExtended.sln index 699530c978..185860b847 100644 --- a/Source/CombatExtended.sln +++ b/Source/CombatExtended.sln @@ -15,6 +15,8 @@ Project("{E9B3A09D-DD32-4429-ABCC-64A2EA58B0B3}") = "ArtilleryCompat", "Artiller EndProject Project("{B55F2CBF-ABFF-4E01-813B-79DAAAC20203}") = "VehiclesCompat", "VehiclesCompat\VehiclesCompat.csproj", "{06833316-A463-4044-BAA7-993683F9810B}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SRTSCompat", "SRTSCompat\SRTSCompat.csproj", "{2ECDEC68-5878-41C7-B494-E189B8C5C33E}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -58,7 +60,12 @@ Global {06833316-A463-4044-BAA7-993683F9810B}.Debugger|Any CPU.Build.0 = Debug|Any CPU {06833316-A463-4044-BAA7-993683F9810B}.Release|Any CPU.ActiveCfg = Release|Any CPU {06833316-A463-4044-BAA7-993683F9810B}.Release|Any CPU.Build.0 = Release|Any CPU - + {2ECDEC68-5878-41C7-B494-E189B8C5C33E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2ECDEC68-5878-41C7-B494-E189B8C5C33E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2ECDEC68-5878-41C7-B494-E189B8C5C33E}.Debugger|Any CPU.ActiveCfg = Debug|Any CPU + {2ECDEC68-5878-41C7-B494-E189B8C5C33E}.Debugger|Any CPU.Build.0 = Debug|Any CPU + {2ECDEC68-5878-41C7-B494-E189B8C5C33E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2ECDEC68-5878-41C7-B494-E189B8C5C33E}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 23410f23205dbe701ff499116b17ea568704484e Mon Sep 17 00:00:00 2001 From: AluminumAlman <Almantas1122334455@gmail.com> Date: Tue, 13 Jun 2023 12:10:24 +0300 Subject: [PATCH 6/8] SRTS - fix formatting --- .../SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs | 4 ++-- .../SRTSCompat/Harmony/Harmony_DialogSettings.cs | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs index c36ee2ba71..5b1aae1495 100644 --- a/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs +++ b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs @@ -28,7 +28,7 @@ public static class Harmony_BomberSkyfaller_DropBomb public static bool Prefix(BomberSkyfaller __instance) { ActiveDropPod srts = (ActiveDropPod)__instance.innerContainer.First(); - if(srts == null) + if (srts == null) { goto FunctionEnd; } @@ -128,7 +128,7 @@ public static bool Prefix(BomberSkyfaller __instance) } } -FunctionEnd: + FunctionEnd: if (__instance.bombType == BombingType.precise && __instance.bombCells.Any()) { __instance.bombCells.Clear(); diff --git a/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_DialogSettings.cs b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_DialogSettings.cs index 81aad9803b..465a8be226 100644 --- a/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_DialogSettings.cs +++ b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_DialogSettings.cs @@ -80,7 +80,7 @@ static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> inst List<CodeInstruction> codes = instructions.ToList(); for (int i = 0; i < codes.Count(); ++i) { - if(!found && i > 1 + if (!found && i > 1 && codes[i - 2].opcode == OpCodes.Ldc_I4_0 && codes[i - 1].StoresField(explosivesChangedField)) { @@ -113,11 +113,11 @@ static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> inst yield return callIns; yield return CodeInstruction.StoreField(typeof(Dialog_AllowedBombs), "explosivesSearched"); - while(i < codes.Count() && !codes[i].labels.Any(label => label == skipToLabel)) + while (i < codes.Count() && !codes[i].labels.Any(label => label == skipToLabel)) { ++i; } - if(codes.Count() == i) + if (codes.Count() == i) { Log.Error("Combat Extended :: SRTSCompat Dialog_AllowedBombs.DoWindowContents(Rect) - " + "we skipped over the entire code without finding the skip label. " @@ -125,7 +125,7 @@ static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> inst } } -SkipTranspile: + SkipTranspile: yield return codes[i]; } } From 9b987509501ab8835753987329df9966b5016ddf Mon Sep 17 00:00:00 2001 From: AluminumAlman <Almantas1122334455@gmail.com> Date: Wed, 21 Jun 2023 08:56:31 +0300 Subject: [PATCH 7/8] More comments, add SRTS to compatible mods list --- .../SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs | 3 ++- Source/SRTSCompat/SRTSCompat/Harmony/Harmony_FallingBomb.cs | 2 ++ SupportedThirdPartyMods.md | 3 ++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs index 5b1aae1495..73f5079d55 100644 --- a/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs +++ b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_BomberSkyfaller.cs @@ -24,7 +24,8 @@ public static class Harmony_BomberSkyfaller_DropBomb private static float shotHeight = 5f; - // Yes, this is a destructive prefix, though with most of the original SRTS code + // A destructive prefix so as to force SRTS bombers to use our projectile system, + // unless the bomb isn't an AmmoThing, if so, fall back to SRTS's bombing system. public static bool Prefix(BomberSkyfaller __instance) { ActiveDropPod srts = (ActiveDropPod)__instance.innerContainer.First(); diff --git a/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_FallingBomb.cs b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_FallingBomb.cs index 8ea778aee2..997c4838cf 100644 --- a/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_FallingBomb.cs +++ b/Source/SRTSCompat/SRTSCompat/Harmony/Harmony_FallingBomb.cs @@ -18,6 +18,8 @@ namespace CombatExtended.Compatibility.SRTSCompat new Type[] { typeof(Thing), typeof(CompExplosive), typeof(Map), typeof(string) })] public static class Harmony_FallingBomb_Thing_CompExplosive_Map_string { + // Adds an additional null check for def.projectileWhenLoaded of + // this.projectile = def.projectileWhenLoaded.projectile; static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions, ILGenerator il) { diff --git a/SupportedThirdPartyMods.md b/SupportedThirdPartyMods.md index 57eae17fcd..7601babfb6 100644 --- a/SupportedThirdPartyMods.md +++ b/SupportedThirdPartyMods.md @@ -411,6 +411,7 @@ Soviet Armory | Space Worms (Continued) | Spartan Foundry | Spidercamp's Horses | +SRTS Expanded | Stalingrad – Uniforms | Steamworld Uniforms | Star Crafters Armory | @@ -508,4 +509,4 @@ Xenohumans - Anthromorphs | Xenohumans Expanded | Xenoorca Race | Yet Another Prosthetic Expansion Mod - Core | -Zombieland | \ No newline at end of file +Zombieland | From 16cb23e0947ef396db63cca3007fe69de0b70eaf Mon Sep 17 00:00:00 2001 From: AluminumAlman <Almantas1122334455@gmail.com> Date: Wed, 21 Jun 2023 09:16:39 +0300 Subject: [PATCH 8/8] Update SRTSComp RimWorld reference version --- Source/SRTSCompat/SRTSCompat.csproj | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Source/SRTSCompat/SRTSCompat.csproj b/Source/SRTSCompat/SRTSCompat.csproj index 4985f34404..0286358d4c 100644 --- a/Source/SRTSCompat/SRTSCompat.csproj +++ b/Source/SRTSCompat/SRTSCompat.csproj @@ -50,12 +50,9 @@ <HintPath>..\packages\SRTS-reference.dll</HintPath> <Private>False</Private> </Reference> - </ItemGroup> - <ItemGroup> - <PackageReference Include="Krafs.Rimworld.Ref" Version="1.4.3555" GeneratePathProperty="true" /> + <PackageReference Include="Krafs.Rimworld.Ref" Version="1.4.3704" GeneratePathProperty="true" /> <PackageReference Include="Lib.Harmony" Version="2.2.2" ExcludeAssets="runtime" /> </ItemGroup> - </Project>