From a1ce37ddc55c8b5971db34e512e8ef63fd83dde5 Mon Sep 17 00:00:00 2001 From: Oliver Brakmann Date: Fri, 12 Sep 2014 22:47:43 +0200 Subject: [PATCH 1/6] Fix issues in ScriptTriggers' Clean method * fixes a memory leak * moves the cleanup into a FrameEndTask to avoid collisions with the trigger iterator (fixes #6747) --- OpenRA.Mods.RA/Scripting/ScriptTriggers.cs | 27 ++++++++++++++-------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/OpenRA.Mods.RA/Scripting/ScriptTriggers.cs b/OpenRA.Mods.RA/Scripting/ScriptTriggers.cs index aeee22ce1bec..02d99e4eac3b 100644 --- a/OpenRA.Mods.RA/Scripting/ScriptTriggers.cs +++ b/OpenRA.Mods.RA/Scripting/ScriptTriggers.cs @@ -22,18 +22,25 @@ public enum Trigger { OnIdle, OnDamaged, OnKilled, OnProduction, OnPlayerWon, On OnObjectiveCompleted, OnObjectiveFailed, OnCapture, OnAddedToWorld, OnRemovedFromWorld }; [Desc("Allows map scripts to attach triggers to this actor via the Triggers global.")] - public class ScriptTriggersInfo : TraitInfo { } + public class ScriptTriggersInfo : ITraitInfo + { + public object Create(ActorInitializer init) { return new ScriptTriggers(init.world); } + } public sealed class ScriptTriggers : INotifyIdle, INotifyDamage, INotifyKilled, INotifyProduction, INotifyObjectivesUpdated, INotifyCapture, INotifyAddedToWorld, INotifyRemovedFromWorld, IDisposable { + readonly World world; + public event Action OnKilledInternal = _ => { }; public event Action OnRemovedInternal = _ => { }; public Dictionary>> Triggers = new Dictionary>>(); - public ScriptTriggers() + public ScriptTriggers(World world) { - foreach (var t in Enum.GetValues(typeof(Trigger)).Cast()) + this.world = world; + + foreach (Trigger t in Enum.GetValues(typeof(Trigger))) Triggers.Add(t, new List>()); } @@ -265,20 +272,22 @@ public void RemovedFromWorld(Actor self) public void Clear(Trigger trigger) { - Triggers[trigger].Clear(); + world.AddFrameEndTask(w => + { + Triggers[trigger].Select(p => p.First).Do(f => f.Dispose()); + Triggers[trigger].Clear(); + }); } public void ClearAll() { - foreach (var trigger in Triggers) - trigger.Value.Clear(); + foreach (Trigger t in Enum.GetValues(typeof(Trigger))) + Clear(t); } public void Dispose() { - var pairs = Triggers.Values; - pairs.SelectMany(l => l).Select(p => p.First).Do(f => f.Dispose()); - pairs.Do(l => l.Clear()); + ClearAll(); } } } From 5140ce476230aa6357964a23d4684935744d4ea1 Mon Sep 17 00:00:00 2001 From: Oliver Brakmann Date: Mon, 30 Jun 2014 00:08:48 +0200 Subject: [PATCH 2/6] More Lua API enhancements --- OpenRA.Mods.RA/OpenRA.Mods.RA.csproj | 4 +- .../{DateGlobal.cs => DateTimeGlobal.cs} | 16 ++++++- .../Scripting/Properties/CombatProperties.cs | 42 ++++++++++++++++--- .../Scripting/Properties/HealthProperties.cs | 31 ++++++++++++++ .../Scripting/Properties/PlaneProperties.cs | 13 ++++++ 5 files changed, 98 insertions(+), 8 deletions(-) rename OpenRA.Mods.RA/Scripting/Global/{DateGlobal.cs => DateTimeGlobal.cs} (66%) diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj index e2987960d46e..84ed13657c84 100644 --- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj +++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj @@ -515,7 +515,7 @@ - + @@ -586,4 +586,4 @@ copy "FuzzyLogicLibrary.dll" "$(SolutionDir)" cd "$(SolutionDir)" - \ No newline at end of file + diff --git a/OpenRA.Mods.RA/Scripting/Global/DateGlobal.cs b/OpenRA.Mods.RA/Scripting/Global/DateTimeGlobal.cs similarity index 66% rename from OpenRA.Mods.RA/Scripting/Global/DateGlobal.cs rename to OpenRA.Mods.RA/Scripting/Global/DateTimeGlobal.cs index e93919bcf690..c87e7239d2d4 100644 --- a/OpenRA.Mods.RA/Scripting/Global/DateGlobal.cs +++ b/OpenRA.Mods.RA/Scripting/Global/DateTimeGlobal.cs @@ -17,7 +17,8 @@ namespace OpenRA.Mods.RA.Scripting [ScriptGlobal("Date")] public class DateGlobal : ScriptGlobal { - public DateGlobal(ScriptContext context) : base(context) { } + public DateGlobal(ScriptContext context) + : base(context) { } [Desc("True on the 31st of October.")] public bool IsHalloween @@ -25,4 +26,17 @@ public bool IsHalloween get { return DateTime.Today.Month == 10 && DateTime.Today.Day == 31; } } } + + [ScriptGlobal("Time")] + public class TimeGlobal : ScriptGlobal + { + public TimeGlobal(ScriptContext context) + : base(context) { } + + [Desc("Get the current game time (in ticks)")] + public int GameTime + { + get { return context.World.WorldTick; } + } + } } diff --git a/OpenRA.Mods.RA/Scripting/Properties/CombatProperties.cs b/OpenRA.Mods.RA/Scripting/Properties/CombatProperties.cs index 382599b41db1..6f864728e853 100644 --- a/OpenRA.Mods.RA/Scripting/Properties/CombatProperties.cs +++ b/OpenRA.Mods.RA/Scripting/Properties/CombatProperties.cs @@ -8,6 +8,9 @@ */ #endregion +using Eluant; +using System; +using System.Linq; using OpenRA.Mods.RA.Activities; using OpenRA.Scripting; using OpenRA.Traits; @@ -17,8 +20,13 @@ namespace OpenRA.Mods.RA.Scripting [ScriptPropertyGroup("Combat")] public class CombatProperties : ScriptActorProperties, Requires, Requires { + readonly IMove move; + public CombatProperties(ScriptContext context, Actor self) - : base(context, self) { } + : base(context, self) + { + move = self.Trait(); + } [ScriptActorPropertyActivity] [Desc("Seek out and attack nearby targets.")] @@ -33,11 +41,35 @@ public void Hunt() "close enough to complete the activity.")] public void AttackMove(CPos cell, int closeEnough = 0) { - var move = self.TraitOrDefault(); - if (move == null) - return; - self.QueueActivity(new AttackMove.AttackMoveActivity(self, move.MoveTo(cell, closeEnough))); } + + [ScriptActorPropertyActivity] + [Desc("Patrol along a set of given waypoints. The action is repeated by default, " + + "and the actor will wait for `wait` ticks at each waypoint.")] + public void Patrol(CPos[] waypoints, bool loop = true, int wait = 0) + { + foreach (var wpt in waypoints) + { + self.QueueActivity(new AttackMove.AttackMoveActivity(self, move.MoveTo(wpt, 2))); + self.QueueActivity(new Wait(wait)); + } + + if (loop) + self.QueueActivity(new CallFunc(() => Patrol(waypoints, loop, wait))); + } + + [ScriptActorPropertyActivity] + [Desc("Patrol along a set of given waypoints until a condition becomes true. " + + "The actor will wait for `wait` ticks at each waypoint.")] + public void PatrolUntil(CPos[] waypoints, LuaFunction func, int wait = 0) + { + Patrol(waypoints, false, wait); + + var repeat = func.Call(self.ToLuaValue(context)).First().ToBoolean(); + if (repeat) + using (var f = func.CopyReference() as LuaFunction) + self.QueueActivity(new CallFunc(() => PatrolUntil(waypoints, f, wait))); + } } } diff --git a/OpenRA.Mods.RA/Scripting/Properties/HealthProperties.cs b/OpenRA.Mods.RA/Scripting/Properties/HealthProperties.cs index c11867ff9e69..0143f3398342 100644 --- a/OpenRA.Mods.RA/Scripting/Properties/HealthProperties.cs +++ b/OpenRA.Mods.RA/Scripting/Properties/HealthProperties.cs @@ -8,6 +8,7 @@ */ #endregion +using OpenRA.Mods.RA.Buildings; using OpenRA.Scripting; using OpenRA.Traits; @@ -33,4 +34,34 @@ public int Health [Desc("Maximum health of the actor.")] public int MaxHealth { get { return health.MaxHP; } } } + + [ScriptPropertyGroup("General")] + public class RepairableBuildingProperties : ScriptActorProperties, Requires + { + readonly RepairableBuilding rb; + + public RepairableBuildingProperties(ScriptContext context, Actor self) + : base(context, self) + { + rb = self.Trait(); + } + + [Desc("Start repairs on this building. `repairer` can be an allied player.")] + public void StartBuildingRepairs(Player repairer = null) + { + repairer = repairer ?? self.Owner; + + if (!rb.Repairers.Contains(repairer)) + rb.RepairBuilding(self, repairer); + } + + [Desc("Stop repairs on this building. `repairer` can be an allied player.")] + public void StopBuildingRepairs(Player repairer = null) + { + repairer = repairer ?? self.Owner; + + if (rb.RepairActive && rb.Repairers.Contains(repairer)) + rb.RepairBuilding(self, repairer); + } + } } \ No newline at end of file diff --git a/OpenRA.Mods.RA/Scripting/Properties/PlaneProperties.cs b/OpenRA.Mods.RA/Scripting/Properties/PlaneProperties.cs index 0624c42e4731..d56e8211ebaf 100644 --- a/OpenRA.Mods.RA/Scripting/Properties/PlaneProperties.cs +++ b/OpenRA.Mods.RA/Scripting/Properties/PlaneProperties.cs @@ -27,4 +27,17 @@ public void Move(CPos cell) self.QueueActivity(new Fly(self, Target.FromCell(self.World, cell))); } } + + [ScriptPropertyGroup("Combat")] + public class PlaneCombatProperties : ScriptActorProperties, Requires + { + public PlaneCombatProperties(ScriptContext context, Actor self) + : base(context, self) { } + + [Desc("Fly an attack against the target actor.")] + public void Attack(Actor target) + { + self.QueueActivity(new FlyAttack(Target.FromActor(target))); + } + } } \ No newline at end of file From c0da807ee76a9b86cef4d70de316c15c19e76610 Mon Sep 17 00:00:00 2001 From: Oliver Brakmann Date: Wed, 15 Oct 2014 19:44:39 +0200 Subject: [PATCH 3/6] Add production support to the new Lua API --- .../Player/ClassicProductionQueue.cs | 2 +- .../Scripting/Global/TriggerGlobal.cs | 2 +- .../Properties/ProductionProperties.cs | 234 ++++++++++++++++++ OpenRA.Mods.RA/Scripting/ScriptTriggers.cs | 34 ++- 4 files changed, 267 insertions(+), 5 deletions(-) diff --git a/OpenRA.Mods.RA/Player/ClassicProductionQueue.cs b/OpenRA.Mods.RA/Player/ClassicProductionQueue.cs index 1a0dbd545252..242b29ef14a2 100644 --- a/OpenRA.Mods.RA/Player/ClassicProductionQueue.cs +++ b/OpenRA.Mods.RA/Player/ClassicProductionQueue.cs @@ -16,7 +16,7 @@ namespace OpenRA.Mods.RA { - [Desc("Attach this to the world actor (not a building!) to define a new shared build queue.", + [Desc("Attach this to the player actor (not a building!) to define a new shared build queue.", "Will only work together with the Production: trait on the actor that actually does the production.", "You will also want to add PrimaryBuildings: to let the user choose where new units should exit.")] public class ClassicProductionQueueInfo : ProductionQueueInfo, Requires, Requires, Requires diff --git a/OpenRA.Mods.RA/Scripting/Global/TriggerGlobal.cs b/OpenRA.Mods.RA/Scripting/Global/TriggerGlobal.cs index 08a2b5be906b..4e8cdf98e2fe 100644 --- a/OpenRA.Mods.RA/Scripting/Global/TriggerGlobal.cs +++ b/OpenRA.Mods.RA/Scripting/Global/TriggerGlobal.cs @@ -22,7 +22,7 @@ public class TriggerGlobal : ScriptGlobal { public TriggerGlobal(ScriptContext context) : base(context) { } - static ScriptTriggers GetScriptTriggers(Actor a) + public static ScriptTriggers GetScriptTriggers(Actor a) { var events = a.TraitOrDefault(); if (events == null) diff --git a/OpenRA.Mods.RA/Scripting/Properties/ProductionProperties.cs b/OpenRA.Mods.RA/Scripting/Properties/ProductionProperties.cs index 5e923fbe735a..ed47d59cfd9f 100644 --- a/OpenRA.Mods.RA/Scripting/Properties/ProductionProperties.cs +++ b/OpenRA.Mods.RA/Scripting/Properties/ProductionProperties.cs @@ -9,6 +9,10 @@ #endregion using Eluant; +using System; +using System.Collections.Generic; +using System.Linq; +using OpenRA.Mods.Common; using OpenRA.Mods.RA.Activities; using OpenRA.Scripting; using OpenRA.Traits; @@ -37,4 +41,234 @@ public void Produce(string actorType, string raceVariant = null) self.QueueActivity(new WaitFor(() => p.Produce(self, actorInfo, raceVariant))); } } + + [ScriptPropertyGroup("Production")] + public class RallyPointProperties : ScriptActorProperties, Requires + { + readonly RallyPoint rp; + + public RallyPointProperties(ScriptContext context, Actor self) + : base(context, self) + { + rp = self.Trait(); + } + + [Desc("Query or set a factory's rally point")] + public CPos RallyPoint + { + get { return rp.Location; } + set { rp.Location = value; } + } + } + + [ScriptPropertyGroup("Production")] + public class PrimaryBuildingProperties : ScriptActorProperties, Requires + { + readonly PrimaryBuilding pb; + + public PrimaryBuildingProperties(ScriptContext context, Actor self) + : base(context, self) + { + pb = self.Trait(); + } + + [Desc("Query or set the factory's primary building status")] + public bool IsPrimaryBuilding + { + get { return pb.IsPrimary; } + set { pb.SetPrimaryProducer(self, value); } + } + } + + [ScriptPropertyGroup("Production")] + public class ProductionQueueProperties : ScriptActorProperties, Requires, Requires + { + readonly List queues; + readonly ScriptTriggers triggers; + + public ProductionQueueProperties(ScriptContext context, Actor self) + : base(context, self) + { + queues = self.TraitsImplementing().Where(q => q.Enabled).ToList(); + triggers = TriggerGlobal.GetScriptTriggers(self); + } + + [Desc("Build the specified set of actors using a TD-style (per building) production queue. " + + "The function will return true if production could be started, false otherwise. " + + "If an actionFunc is given, it will be called as actionFunc(Actor[] actors) once " + + "production of all actors has been completed. The actors array is guaranteed to " + + "only contain alive actors.")] + public bool Build(string[] actorTypes, LuaFunction actionFunc = null) + { + if (triggers.Triggers[Trigger.OnProduction].Any()) + return false; + + var queue = queues.Where(q => actorTypes.All(t => GetBuildableInfo(t).Queue.Contains(q.Info.Type))) + .FirstOrDefault(q => q.CurrentItem() == null); + + if (queue == null) + return false; + + if (actionFunc != null) + { + var playerIndex = self.Owner.ClientIndex; + var squadSize = actorTypes.Length; + var squad = new List(); + var func = actionFunc.CopyReference() as LuaFunction; + + Action productionHandler = (_, __) => { }; + productionHandler = (factory, unit) => + { + if (playerIndex != factory.Owner.ClientIndex) + { + triggers.OnProducedInternal -= productionHandler; + return; + } + + squad.Add(unit); + if (squad.Count >= squadSize) + { + using (func) + using (var luaSquad = squad.Where(u => !u.IsDead()).ToArray().ToLuaValue(context)) + func.Call(luaSquad).Dispose(); + + triggers.OnProducedInternal -= productionHandler; + } + }; + + triggers.OnProducedInternal += productionHandler; + } + + foreach (var actorType in actorTypes) + queue.ResolveOrder(self, Order.StartProduction(self, actorType, 1)); + + return true; + } + + [Desc("Checks whether the factory is currently producing anything on the queue that produces this type of actor.")] + public bool IsProducing(string actorType) + { + if (triggers.Triggers[Trigger.OnProduction].Any()) + return true; + + return queues.Where(q => GetBuildableInfo(actorType).Queue.Contains(q.Info.Type)) + .Any(q => q.CurrentItem() != null); + } + + BuildableInfo GetBuildableInfo(string actorType) + { + var ri = self.World.Map.Rules.Actors[actorType]; + var bi = ri.Traits.GetOrDefault(); + + if (bi == null) + throw new LuaException("Actor of type {0} cannot be produced".F(actorType)); + else + return bi; + } + } + + [ScriptPropertyGroup("Production")] + public class ClassicProductionQueueProperties : ScriptPlayerProperties, Requires, Requires + { + readonly Dictionary> productionHandlers; + readonly Dictionary queues; + + public ClassicProductionQueueProperties(ScriptContext context, Player player) + : base(context, player) + { + productionHandlers = new Dictionary>(); + + queues = new Dictionary(); + foreach (var q in player.PlayerActor.TraitsImplementing().Where(q => q.Enabled)) + queues.Add(q.Info.Type, q); + + Action globalProductionHandler = (factory, unit) => + { + if (factory.Owner != player) + return; + + var queue = GetBuildableInfo(unit.Info.Name).Queue.First(); + + if (productionHandlers.ContainsKey(queue)) + productionHandlers[queue](factory, unit); + }; + + var triggers = TriggerGlobal.GetScriptTriggers(player.PlayerActor); + triggers.OnOtherProducedInternal += globalProductionHandler; + } + + [Desc("Build the specified set of actors using classic (RA-style) production queues. " + + "The function will return true if production could be started, false otherwise. " + + "If an actionFunc is given, it will be called as actionFunc(Actor[] actors) once " + + "production of all actors has been completed. The actors array is guaranteed to " + + "only contain alive actors.")] + public bool Build(string[] actorTypes, LuaFunction actionFunc = null) + { + var typeToQueueMap = new Dictionary(); + foreach (var actorType in actorTypes.Distinct()) + typeToQueueMap.Add(actorType, GetBuildableInfo(actorType).Queue.First()); + + var queueTypes = typeToQueueMap.Values.Distinct(); + + if (queueTypes.Any(t => !queues.ContainsKey(t) || productionHandlers.ContainsKey(t))) + return false; + + if (queueTypes.Any(t => queues[t].CurrentItem() != null)) + return false; + + if (actionFunc != null) + { + var squadSize = actorTypes.Length; + var squad = new List(); + var func = actionFunc.CopyReference() as LuaFunction; + + Action productionHandler = (factory, unit) => + { + squad.Add(unit); + if (squad.Count >= squadSize) + { + using (func) + using (var luaSquad = squad.Where(u => !u.IsDead()).ToArray().ToLuaValue(context)) + func.Call(luaSquad).Dispose(); + + foreach (var q in queueTypes) + productionHandlers.Remove(q); + } + }; + + foreach (var q in queueTypes) + productionHandlers.Add(q, productionHandler); + } + + foreach (var actorType in actorTypes) + { + var queue = queues[typeToQueueMap[actorType]]; + queue.ResolveOrder(queue.Actor, Order.StartProduction(queue.Actor, actorType, 1)); + } + + return true; + } + + [Desc("Checks whether the player is currently producing anything on the queue that produces this type of actor.")] + public bool IsProducing(string actorType) + { + var queue = GetBuildableInfo(actorType).Queue.First(); + + if (!queues.ContainsKey(queue)) + return true; + + return productionHandlers.ContainsKey(queue) || queues[queue].CurrentItem() != null; + } + + BuildableInfo GetBuildableInfo(string actorType) + { + var ri = player.World.Map.Rules.Actors[actorType]; + var bi = ri.Traits.GetOrDefault(); + + if (bi == null) + throw new LuaException("Actor of type {0} cannot be produced".F(actorType)); + else + return bi; + } + } } \ No newline at end of file diff --git a/OpenRA.Mods.RA/Scripting/ScriptTriggers.cs b/OpenRA.Mods.RA/Scripting/ScriptTriggers.cs index 02d99e4eac3b..3c8926d707ef 100644 --- a/OpenRA.Mods.RA/Scripting/ScriptTriggers.cs +++ b/OpenRA.Mods.RA/Scripting/ScriptTriggers.cs @@ -18,8 +18,8 @@ namespace OpenRA.Mods.RA.Scripting { - public enum Trigger { OnIdle, OnDamaged, OnKilled, OnProduction, OnPlayerWon, OnPlayerLost, OnObjectiveAdded, - OnObjectiveCompleted, OnObjectiveFailed, OnCapture, OnAddedToWorld, OnRemovedFromWorld }; + public enum Trigger { OnIdle, OnDamaged, OnKilled, OnProduction, OnOtherProduction, OnPlayerWon, OnPlayerLost, + OnObjectiveAdded, OnObjectiveCompleted, OnObjectiveFailed, OnCapture, OnAddedToWorld, OnRemovedFromWorld }; [Desc("Allows map scripts to attach triggers to this actor via the Triggers global.")] public class ScriptTriggersInfo : ITraitInfo @@ -27,12 +27,14 @@ public class ScriptTriggersInfo : ITraitInfo public object Create(ActorInitializer init) { return new ScriptTriggers(init.world); } } - public sealed class ScriptTriggers : INotifyIdle, INotifyDamage, INotifyKilled, INotifyProduction, INotifyObjectivesUpdated, INotifyCapture, INotifyAddedToWorld, INotifyRemovedFromWorld, IDisposable + public sealed class ScriptTriggers : INotifyIdle, INotifyDamage, INotifyKilled, INotifyProduction, INotifyOtherProduction, INotifyObjectivesUpdated, INotifyCapture, INotifyAddedToWorld, INotifyRemovedFromWorld, IDisposable { readonly World world; public event Action OnKilledInternal = _ => { }; public event Action OnRemovedInternal = _ => { }; + public event Action OnProducedInternal = (a, b) => { }; + public event Action OnOtherProducedInternal = (a, b) => { }; public Dictionary>> Triggers = new Dictionary>>(); @@ -108,6 +110,7 @@ public void Killed(Actor self, AttackInfo e) public void UnitProduced(Actor self, Actor other, CPos exit) { + // Run Lua callbacks foreach (var f in Triggers[Trigger.OnProduction]) { try @@ -122,6 +125,9 @@ public void UnitProduced(Actor self, Actor other, CPos exit) return; } } + + // Run any internally bound callbacks + OnProducedInternal(self, other); } public void OnPlayerWon(Player player) @@ -270,6 +276,28 @@ public void RemovedFromWorld(Actor self) OnRemovedInternal(self); } + public void UnitProducedByOther(Actor self, Actor producee, Actor produced) + { + // Run Lua callbacks + foreach (var f in Triggers[Trigger.OnOtherProduction]) + { + try + { + using (var a = producee.ToLuaValue(f.Second)) + using (var b = produced.ToLuaValue(f.Second)) + f.First.Call(a, b).Dispose(); + } + catch (Exception ex) + { + f.Second.FatalError(ex.Message); + return; + } + } + + // Run any internally bound callbacks + OnOtherProducedInternal(producee, produced); + } + public void Clear(Trigger trigger) { world.AddFrameEndTask(w => From 3a1185d9b5ccd73d05a344ab9416273fdc8c9eb3 Mon Sep 17 00:00:00 2001 From: Oliver Brakmann Date: Wed, 15 Oct 2014 19:45:11 +0200 Subject: [PATCH 4/6] Port gdi04a to the new Lua API --- mods/cnc/maps/gdi04a/gdi04a.lua | 197 ++++++++++++++++++-------------- mods/cnc/maps/gdi04a/map.yaml | 25 ++-- 2 files changed, 129 insertions(+), 93 deletions(-) diff --git a/mods/cnc/maps/gdi04a/gdi04a.lua b/mods/cnc/maps/gdi04a/gdi04a.lua index a9f733763e1a..2a867efe218e 100644 --- a/mods/cnc/maps/gdi04a/gdi04a.lua +++ b/mods/cnc/maps/gdi04a/gdi04a.lua @@ -1,137 +1,166 @@ -Nod1Template = { {HandOfNod, {"e1", "e1", "e3", "e3"}} } -Auto1Template = { {HandOfNod, {"e1", "e1", "e3"}} } +AutoTrigger = { CPos.New(51, 47), CPos.New(52, 47), CPos.New(53, 47), CPos.New(54, 47) } +GDIHeliTrigger = { CPos.New(27, 55), CPos.New(27, 56), CPos.New(28, 56), CPos.New(28, 57), CPos.New(28, 58), CPos.New(28, 59)} + +Nod1Units = { "e1", "e1", "e3", "e3" } +Auto1Units = { "e1", "e1", "e3" } KillsUntilReinforcements = 12 -HeliDelay = {83, 137, 211} +HeliDelay = { 83, 137, 211 } -GDIReinforcements = {"e2", "e2", "e2", "e2"} -GDIReinforcementsWaypoints = {GDIReinforcementsEntry, GDIReinforcementsWP1} +GDIReinforcements = { "e2", "e2", "e2", "e2", "e2" } +GDIReinforcementsWaypoints = { GDIReinforcementsEntry.Location, GDIReinforcementsWP1.Location } NodHelis = { - {Utils.Seconds(HeliDelay[1]), {NodHeliEntry, NodHeliLZ1}, {"e1", "e1", "e3"}}, - {Utils.Seconds(HeliDelay[2]), {NodHeliEntry, NodHeliLZ2}, {"e1", "e1", "e1", "e1"}}, - {Utils.Seconds(HeliDelay[3]), {NodHeliEntry, NodHeliLZ3}, {"e1", "e1", "e3"}} + { Utils.Seconds(HeliDelay[1]), { NodHeliEntry.Location, NodHeliLZ1.Location }, { "e1", "e1", "e3" } }, + { Utils.Seconds(HeliDelay[2]), { NodHeliEntry.Location, NodHeliLZ2.Location }, { "e1", "e1", "e1", "e1" } }, + { Utils.Seconds(HeliDelay[3]), { NodHeliEntry.Location, NodHeliLZ3.Location }, { "e1", "e1", "e3" } } } -SendHeli = function(heli, func) - Reinforcements.ReinforceWithCargo(nod, "tran", heli[2], heli[3], func) - OpenRA.RunAfterDelay(heli[1], function() SendHeli(heli, func) end) -end - -HeliAction = function(heliActor, team) - Actor.AfterMove(heliActor) - Actor.UnloadCargo(heliActor, true) - Actor.Wait(heliActor, Utils.Seconds(2)) - Actor.ScriptedMove(heliActor, NodHeliEntry.Location) - Actor.RemoveSelf(heliActor) - - Team.Do(team, function(actor) - Actor.Hunt(actor) - Actor.OnIdle(actor, Actor.Hunt) - Actor.OnKilled(actor, KillCounter) +SendHeli = function(heli) + units = Reinforcements.ReinforceWithTransport(nod, "tran", heli[3], heli[2], { heli[2][1] }) + Utils.Do(units[2], function(actor) + actor.Hunt() + Trigger.OnIdle(actor, actor.Hunt) + Trigger.OnKilled(actor, KillCounter) end) + Trigger.AfterDelay(heli[1], function() SendHeli(heli) end) end SendGDIReinforcements = function() - Reinforcements.ReinforceWithCargo(player, "apc", GDIReinforcementsWaypoints, GDIReinforcements, function(apc, team) - Team.Add(team, apc) - Actor.OnKilled(apc, SendGDIReinforcements) - Team.Do(team, function(unit) Actor.SetStance(unit, "Defend") end) + Media.PlaySpeechNotification(gdi, "Reinforce") + Reinforcements.ReinforceWithTransport(gdi, "apc", GDIReinforcements, GDIReinforcementsWaypoints, nil, function(apc, team) + table.insert(team, apc) + Trigger.OnAllKilled(team, function() Trigger.AfterDelay(Utils.Seconds(5), SendGDIReinforcements) end) + Utils.Do(team, function(unit) unit.Stance = "Defend" end) end) end BuildNod1 = function() - Production.BuildTeamFromTemplate(nod, Nod1Template, function(team) - Team.Do(team, function(actor) - Actor.OnIdle(actor, Actor.Hunt) - Actor.OnKilled(actor, KillCounter) + if HandOfNod.IsDead then + return + end + + local func = function(team) + Utils.Do(team, function(actor) + Trigger.OnIdle(actor, actor.Hunt) + Trigger.OnKilled(actor, KillCounter) end) - Team.AddEventHandler(team.OnAllKilled, BuildNod1) - end) + Trigger.OnAllKilled(team, BuildNod1) + end + + if not HandOfNod.Build(Nod1Units, func) then + Trigger.AfterDelay(Utils.Seconds(5), BuildNod1) + end end BuildAuto1 = function() - Production.BuildTeamFromTemplate(nod, Auto1Template, function(team) - Team.Do(team, function(actor) - Actor.OnIdle(actor, Actor.Hunt) - Actor.OnKilled(actor, KillCounter) + if HandOfNod.IsDead then + return + end + + local func = function(team) + Utils.Do(team, function(actor) + Trigger.OnIdle(actor, actor.Hunt) + Trigger.OnKilled(actor, KillCounter) end) - end) + end + + if not HandOfNod.IsDead and HandOfNod.Build(Auto1Units, func) then + Trigger.AfterDelay(Utils.Seconds(5), BuildAuto1) + end end kills = 0 KillCounter = function() kills = kills + 1 end -Auto1Triggered = false -GDIHeliTriggered = false ReinforcementsSent = false Tick = function() + nod.Cash = 1000 + if not ReinforcementsSent and kills >= KillsUntilReinforcements then ReinforcementsSent = true + gdi.MarkCompletedObjective(reinforcementsObjective) SendGDIReinforcements() end - if Mission.RequiredUnitsAreDestroyed(player) then - OpenRA.RunAfterDelay(Utils.Seconds(1), MissionFailed) - end - - if not Auto1Triggered then - -- FIXME: replace with cell trigger when available - local units = Map.FindUnitsInCircle(player, Auto1Trigger, 2) - if #units > 0 then - Auto1Triggered = true - BuildAuto1() - end - elseif not GDIHeliTriggered then - -- FIXME: replace with cell trigger when available - local units = Map.FindUnitsInCircle(player, GDIHeliLZ, 2) - if #units > 0 then - GDIHeliTriggered = true - Reinforcements.ReinforceWithCargo(player, "tran", {GDIHeliEntry, GDIHeliLZ}, nil, Actor.AfterMove) - end + if gdi.HasNoRequiredUnits() then + Trigger.AfterDelay(Utils.Seconds(1), function() gdi.MarkFailedObjective(gdiObjective) end) end end SetupWorld = function() - OpenRA.GiveCash(nod, 10000) - Production.EventHandlers.Setup(nod) - - Utils.Do(Mission.GetGroundAttackersOf(nod), function(unit) - Actor.OnKilled(unit, KillCounter) + Utils.Do(nod.GetGroundAttackers(nod), function(unit) + Trigger.OnKilled(unit, KillCounter) end) - Utils.Do(Mission.GetGroundAttackersOf(player), function(unit) - Actor.SetStance(unit, "Defend") + Utils.Do(gdi.GetGroundAttackers(), function(unit) + unit.Stance = "Defend" end) - Actor.Hunt(Hunter1) - Actor.Hunt(Hunter2) + Hunter1.Hunt() + Hunter2.Hunt() - Actor.OnRemovedFromWorld(crate, MissionAccomplished) + Trigger.OnRemovedFromWorld(crate, function() gdi.MarkCompletedObjective(gdiObjective) end) end WorldLoaded = function() - Media.PlayMovieFullscreen("bkground.vqa", function() Media.PlayMovieFullscreen("nitejump.vqa") end) - - player = OpenRA.GetPlayer("GDI") - nod = OpenRA.GetPlayer("Nod") + gdi = Player.GetPlayer("GDI") + nod = Player.GetPlayer("Nod") SetupWorld() - OpenRA.RunAfterDelay(1, BuildNod1) + Trigger.OnObjectiveAdded(gdi, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "New " .. string.lower(p.GetObjectiveType(id)) .. " objective") + end) + Trigger.OnObjectiveCompleted(gdi, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective completed") + end) + Trigger.OnObjectiveFailed(gdi, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective failed") + end) + + Trigger.OnPlayerWon(gdi, function() + Media.PlaySpeechNotification(gdi, "Win") + Trigger.AfterDelay(Utils.Seconds(1), function() + Media.PlayMovieFullscreen("burdet1.vqa") + end) + end) + + Trigger.OnPlayerLost(gdi, function() + Media.PlaySpeechNotification(gdi, "Lose") + Trigger.AfterDelay(Utils.Seconds(1), function() + Media.PlayMovieFullscreen("gameover.vqa") + end) + end) + + gdiObjective = gdi.AddPrimaryObjective("Retrieve the crate with the stolen rods.") + reinforcementsObjective = gdi.AddSecondaryObjective("Eliminate " .. KillsUntilReinforcements .. " Nod units for reinforcements.") + nod.AddPrimaryObjective("Defend against the GDI forces.") + + BuildNod1() Utils.Do(NodHelis, function(heli) - OpenRA.RunAfterDelay(heli[1], function() SendHeli(heli, HeliAction) end) + Trigger.AfterDelay(heli[1], function() SendHeli(heli) end) end) - OpenRA.SetViewportCenterPosition(Actor56.CenterPosition) -end + autoTrigger = false + Trigger.OnEnteredFootprint(AutoTrigger, function(a, id) + if not autoTrigger and a.Owner == gdi then + autoTrigger = true + Trigger.RemoveFootprintTrigger(id) + BuildAuto1() + end + end) -MissionAccomplished = function() - Mission.MissionOver({ player }, nil, true) - Media.PlayMovieFullscreen("burdet1.vqa") -end + gdiHeliTrigger = false + Trigger.OnEnteredFootprint(GDIHeliTrigger, function(a, id) + if not gdiHeliTrigger and a.Owner == gdi then + gdiHeliTrigger = true + Trigger.RemoveFootprintTrigger(id) + Reinforcements.ReinforceWithTransport(gdi, "tran", nil, { GDIHeliEntry.Location, GDIHeliLZ.Location }) + end + end) -MissionFailed = function() - Mission.MissionOver(nil, { player }, true) - Media.PlayMovieFullscreen("gameover.vqa") + Camera.Position = Actor56.CenterPosition + + Media.PlayMovieFullscreen("bkground.vqa", function() Media.PlayMovieFullscreen("nitejump.vqa") end) end diff --git a/mods/cnc/maps/gdi04a/map.yaml b/mods/cnc/maps/gdi04a/map.yaml index dc998841522a..f22a87fd5205 100644 --- a/mods/cnc/maps/gdi04a/map.yaml +++ b/mods/cnc/maps/gdi04a/map.yaml @@ -326,6 +326,12 @@ Actors: Health: 1 Facing: 0 SubCell: 3 + Actor710: e1 + Location: 12,54 + Owner: GDI + Health: 1 + Facing: 0 + SubCell: 5 Actor71: e1 Location: 12,54 Owner: GDI @@ -416,6 +422,12 @@ Actors: Health: 1 Facing: 64 SubCell: 4 + Actor860: e2 + Location: 14,54 + Owner: GDI + Health: 1 + Facing: 0 + SubCell: 5 Actor86: e2 Location: 14,54 Owner: GDI @@ -524,9 +536,6 @@ Actors: GDIReinforcementsEntry: waypoint Location: 7,50 Owner: Neutral - Auto1Trigger: waypoint - Location: 52,47 - Owner: Neutral NodHeliEntry: waypoint Location: 41,23 Owner: Neutral @@ -547,8 +556,8 @@ Rules: -SpawnMPUnits: -MPStartLocations: -CrateSpawner: - LuaScriptInterface: - LuaScripts: gdi04a.lua + LuaScript: + Scripts: gdi04a.lua ObjectivesPanel: PanelName: MISSION_OBJECTIVES Player: @@ -595,18 +604,16 @@ Rules: GenericVisibility: Enemy, Ally, Neutral GenericStancePrefix: false ShowOwnerRow: false - HARV: - -MustBeDestroyed: CRATE: Crate: Lifetime: 9999 - LuaScriptEvents: HealUnitsCrateAction: -RevealMapCrateAction: -GiveMcvCrateAction: -GiveCashCrateAction: -ExplodeCrateAction@fire: -GrantUpgradeCrateAction@cloak: + -DuplicateUnitCrateAction: ScriptTriggers: Sequences: @@ -615,7 +622,7 @@ VoxelSequences: Weapons: Tiberium: - Warhead: SpreadDamage + Warhead@1Dam: SpreadDamage Damage: 6 Voices: From a1f9881a728636b325a6b35eca3a9060e799658f Mon Sep 17 00:00:00 2001 From: Oliver Brakmann Date: Wed, 15 Oct 2014 19:45:32 +0200 Subject: [PATCH 5/6] Port gdi04b to the new Lua API --- mods/cnc/maps/gdi04b/gdi04b.lua | 256 ++++++++++++++++++-------------- mods/cnc/maps/gdi04b/map.png | Bin 50707 -> 50706 bytes mods/cnc/maps/gdi04b/map.yaml | 26 +--- mods/cnc/maps/gdi04c/map.png | Bin 50706 -> 50707 bytes 4 files changed, 146 insertions(+), 136 deletions(-) diff --git a/mods/cnc/maps/gdi04b/gdi04b.lua b/mods/cnc/maps/gdi04b/gdi04b.lua index 8f539d2073ec..bafbfd97d923 100644 --- a/mods/cnc/maps/gdi04b/gdi04b.lua +++ b/mods/cnc/maps/gdi04b/gdi04b.lua @@ -1,172 +1,198 @@ -NodxTemplate = { {HandOfNod, {"e1", "e1", "e3", "e3"}} } -AutoTemplate = { {HandOfNod, {"e1", "e1", "e1", "e3", "e3"}} } +BhndTrigger = { CPos.New(39, 21), CPos.New(40, 21), CPos.New(41, 21) } +Atk1Trigger = { CPos.New(35, 37) } +Atk2Trigger = { CPos.New(9, 44), CPos.New(10, 44), CPos.New(11, 44), CPos.New(12, 44), CPos.New(13, 44) } +AutoTrigger = { CPos.New(5, 30), CPos.New(6, 30), CPos.New(7, 30), CPos.New(8, 30), CPos.New(9, 30), CPos.New(10, 30), CPos.New(11, 30), CPos.New(12, 30), CPos.New(13, 30) } +GDIHeliTrigger = { CPos.New(11, 11), CPos.New(11, 12), CPos.New(11, 13), CPos.New(11, 14), CPos.New(11, 15), CPos.New(12, 15), CPos.New(13, 15), CPos.New(14, 15), CPos.New(15, 15), CPos.New(16, 15) } -KillsUntilReinforcements = 12 -kills = 0 -KillCounter = function() kills = kills + 1 end +Hunters = { Hunter1, Hunter2, Hunter3, Hunter4, Hunter5 } +NodxUnits = { "e1", "e1", "e3", "e3" } +AutoUnits = { "e1", "e1", "e1", "e3", "e3" } -GDIReinforcements = {"e2", "e2", "e2", "e2"} -GDIReinforcementsWaypoints = {GDIReinforcementsEntry, GDIReinforcementsWP1} +KillsUntilReinforcements = 12 -NodHeli = {{HeliEntry, NodHeliLZ}, {"e1", "e1", "e3", "e3"}} +GDIReinforcements = { "e2", "e2", "e2", "e2", "e2" } +GDIReinforcementsWaypoints = { GDIReinforcementsEntry.Location, GDIReinforcementsWP1.Location } -SendHeli = function(heli, func) - Reinforcements.ReinforceWithCargo(nod, "tran", heli[1], heli[2], func) -end +NodHeli = { { HeliEntry.Location, NodHeliLZ.Location }, { "e1", "e1", "e3", "e3" } } -HeliAction = function(heliActor, team) - Actor.AfterMove(heliActor) - Actor.UnloadCargo(heliActor, true) - Actor.Wait(heliActor, Utils.Seconds(2)) - Actor.ScriptedMove(heliActor, HeliEntry.Location) - Actor.RemoveSelf(heliActor) - - Team.Do(team, function(actor) - Actor.Hunt(actor) - Actor.OnIdle(actor, Actor.Hunt) - Actor.OnKilled(actor, KillCounter) +SendHeli = function(heli) + units = Reinforcements.ReinforceWithTransport(nod, "tran", heli[2], heli[1], { heli[1][1] }) + Utils.Do(units[2], function(actor) + actor.Hunt() + Trigger.OnIdle(actor, actor.Hunt) + Trigger.OnKilled(actor, KillCounter) end) end SendGDIReinforcements = function() - Reinforcements.ReinforceWithCargo(player, "apc", GDIReinforcementsWaypoints, GDIReinforcements, function(apc, team) - Team.Add(team, apc) - Actor.OnKilled(apc, SendGDIReinforcements) - Team.Do(team, function(unit) Actor.SetStance(unit, "Defend") end) + Media.PlaySpeechNotification(gdi, "Reinforce") + Reinforcements.ReinforceWithTransport(gdi, "apc", GDIReinforcements, GDIReinforcementsWaypoints, nil, function(apc, team) + table.insert(team, apc) + Trigger.OnAllKilled(team, function() Trigger.AfterDelay(Utils.Seconds(5), SendGDIReinforcements) end) + Utils.Do(team, function(unit) unit.Stance = "Defend" end) end) end -Build = function(template, repeats, func) - Production.BuildTeamFromTemplate(nod, template, function(team) - Team.Do(team, func) +Build = function(unitTypes, repeats, func) + if HandOfNod.IsDead then + return + end + + local innerFunc = function(units) + Utils.Do(units, func) if repeats then - Team.AddEventHandler(team.OnAllKilled, function() - Build(template, repeats, func) + Trigger.OnAllKilled(units, function() + Build(unitTypes, repeats, func) end) end - end) + end + if not HandOfNod.Build(unitTypes, innerFunc) then + Trigger.AfterDelay(Utils.Seconds(5), function() + Build(unitTypes, repeats, func) + end) + end end BuildNod1 = function() - Build(NodxTemplate, false, function(actor) - Actor.OnKilled(actor, KillCounter) - Actor.Patrol(actor, {waypoint1, waypoint2, waypoint3, waypoint4}, 0, false) - Actor.OnIdle(actor, Actor.Hunt) + Build(NodxUnits, false, function(actor) + Trigger.OnKilled(actor, KillCounter) + actor.Patrol({ waypoint1.Location, waypoint2.Location, waypoint3.Location, waypoint4.Location }, false) + Trigger.OnIdle(actor, actor.Hunt) end) end BuildNod2 = function() - Build(NodxTemplate, false, function(actor) - Actor.OnKilled(actor, KillCounter) - Actor.Patrol(actor, {waypoint1, waypoint2}, 0, false) - Actor.OnIdle(actor, Actor.Hunt) + Build(NodxUnits, false, function(actor) + Trigger.OnKilled(actor, KillCounter) + actor.Patrol({ waypoint1.Location, waypoint2.Location }, false) + Trigger.OnIdle(actor, actor.Hunt) end) end BuildAuto = function() - Build(AutoTemplate, true, function(actor) - Actor.OnKilled(actor, KillCounter) - Actor.OnIdle(actor, Actor.Hunt) + Build(AutoUnits, true, function(actor) + Trigger.OnKilled(actor, KillCounter) + Trigger.OnIdle(actor, actor.Hunt) end) end --- FIXME: replace with real cell trigger when available -CellTrigger = function(player, trigger, radius, func) - local units = Map.FindUnitsInCircle(player, trigger, radius) - if #units > 0 then - func() - end -end - -BhndTriggered = false -Atk1Triggered = false -Atk2Triggered = false -AutoTriggered = false -GDIHeliTriggered = false ReinforcementsSent = false - +kills = 0 +KillCounter = function() kills = kills + 1 end Tick = function() + nod.Cash = 1000 + if not ReinforcementsSent and kills >= KillsUntilReinforcements then ReinforcementsSent = true + gdi.MarkCompletedObjective(reinforcementsObjective) SendGDIReinforcements() end - if Mission.RequiredUnitsAreDestroyed(player) then - OpenRA.RunAfterDelay(Utils.Seconds(1), MissionFailed) - end - - if not BhndTriggered then - CellTrigger(player, BhndTrigger, 2, function() - BhndTriggered = true - SendHeli(NodHeli, HeliAction) - end) - end - - if not Atk1Triggered then - CellTrigger(player, Atk1Trigger, 2, function() - Atk1Triggered = true - BuildNod1() - end) - elseif not Atk2Triggered then - CellTrigger(player, Atk2Trigger, 2, function() - Atk2Triggered = true - BuildNod2() - end) - elseif not AutoTriggered then - CellTrigger(player, AutoTrigger, 2, function() - AutoTriggered = true - BuildAuto() - OpenRA.RunAfterDelay(Utils.Seconds(5), function() - Actor.Hunt(tank) - end) - end) - elseif not GDIHeliTriggered then - CellTrigger(player, HeliTrigger, 2, function() - GDIHeliTriggered = true - Reinforcements.ReinforceWithCargo(player, "tran", {HeliEntry, GDIHeliLZ}, nil, Actor.AfterMove) + if gdi.HasNoRequiredUnits() then + Trigger.AfterDelay(Utils.Seconds(1), function() + gdi.MarkFailedObjective(gdiObjective) end) end end SetupWorld = function() - OpenRA.GiveCash(nod, 10000) - Production.EventHandlers.Setup(nod) - - Utils.Do(Mission.GetGroundAttackersOf(nod), function(unit) - Actor.OnKilled(unit, KillCounter) + Utils.Do(nod.GetGroundAttackers(), function(unit) + Trigger.OnKilled(unit, KillCounter) end) - Utils.Do(Mission.GetGroundAttackersOf(player), function(unit) - Actor.SetStance(unit, "Defend") + Utils.Do(gdi.GetGroundAttackers(), function(unit) + unit.Stance = "Defend" end) - hunters1 = Team.New({Hunter1, Hunter2}) - hunters2 = Team.New({Hunter3, Hunter4, Hunter5}) - - OpenRA.RunAfterDelay(1, function() Team.Do(hunters1, Actor.Hunt) end) - OpenRA.RunAfterDelay(1, function() Team.Do(hunters2, Actor.Hunt) end) + Utils.Do(Hunters, function(actor) actor.Hunt() end) - Actor.OnRemovedFromWorld(crate, MissionAccomplished) + Trigger.OnRemovedFromWorld(crate, function() gdi.MarkCompletedObjective(gdiObjective) end) end WorldLoaded = function() - Media.PlayMovieFullscreen("bkground.vqa", function() Media.PlayMovieFullscreen("nitejump.vqa") end) + gdi = Player.GetPlayer("GDI") + nod = Player.GetPlayer("Nod") + + Trigger.OnObjectiveAdded(gdi, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "New " .. string.lower(p.GetObjectiveType(id)) .. " objective") + end) + Trigger.OnObjectiveCompleted(gdi, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective completed") + end) + Trigger.OnObjectiveFailed(gdi, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective failed") + end) + + Trigger.OnPlayerWon(gdi, function() + Media.PlaySpeechNotification(gdi, "Win") + Trigger.AfterDelay(Utils.Seconds(1), function() + Media.PlayMovieFullscreen("burdet1.vqa") + end) + end) - player = OpenRA.GetPlayer("GDI") - nod = OpenRA.GetPlayer("Nod") + Trigger.OnPlayerLost(gdi, function() + Media.PlaySpeechNotification(gdi, "Lose") + Trigger.AfterDelay(Utils.Seconds(1), function() + Media.PlayMovieFullscreen("gameover.vqa") + end) + end) + + gdiObjective = gdi.AddPrimaryObjective("Retrieve the crate with the stolen rods.") + reinforcementsObjective = gdi.AddSecondaryObjective("Eliminate " .. KillsUntilReinforcements .. " Nod units for reinforcements.") + nod.AddPrimaryObjective("Defend against the GDI forces.") SetupWorld() - OpenRA.SetViewportCenterPosition(GDIReinforcementsWP1.CenterPosition) -end + bhndTrigger = false + Trigger.OnExitedFootprint(BhndTrigger, function(a, id) + if not bhndTrigger and a.Owner == gdi then + bhndTrigger = true + Trigger.RemoveFootprintTrigger(id) + SendHeli(NodHeli) + end + end) -MissionAccomplished = function() - Mission.MissionOver({ player }, nil, true) - Media.PlayMovieFullscreen("burdet1.vqa") -end + atk1Trigger = false + Trigger.OnExitedFootprint(Atk1Trigger, function(a, id) + if not atk1Trigger and a.Owner == gdi then + atk1Trigger = true + Trigger.RemoveFootprintTrigger(id) + BuildNod1() + end + end) + + atk2Trigger = false + Trigger.OnEnteredFootprint(Atk2Trigger, function(a, id) + if not atk2Trigger and a.Owner == gdi then + atk2Trigger = true + Trigger.RemoveFootprintTrigger(id) + BuildNod2() + end + end) + + autoTrigger = false + Trigger.OnEnteredFootprint(AutoTrigger, function(a, id) + if not autoTrigger and a.Owner == gdi then + autoTrigger = true + Trigger.RemoveFootprintTrigger(id) + BuildAuto() + Trigger.AfterDelay(Utils.Seconds(4), function() + tank.Hunt() + end) + end + end) + + gdiHeliTrigger = false + Trigger.OnEnteredFootprint(GDIHeliTrigger, function(a, id) + if not gdiHeliTrigger and a.Owner == gdi then + gdiHeliTrigger = true + Trigger.RemoveFootprintTrigger(id) + Reinforcements.ReinforceWithTransport(gdi, "tran", nil, { HeliEntry.Location, GDIHeliLZ.Location }) + end + end) -MissionFailed = function() - Mission.MissionOver(nil, { player }, true) - Media.PlayMovieFullscreen("gameover.vqa") + Camera.Position = GDIReinforcementsWP1.CenterPosition + + Media.PlayMovieFullscreen("bkground.vqa", function() Media.PlayMovieFullscreen("nitejump.vqa") end) end diff --git a/mods/cnc/maps/gdi04b/map.png b/mods/cnc/maps/gdi04b/map.png index 7884cb32643c686bbf406984370ba60607797d1c..4c734350ee4867f20859e9a103ade7a8f99e38ba 100644 GIT binary patch literal 50706 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 Z_5*fv2mV%Q~loCIA}6qDKG# literal 50707 zcmb??V|Qjvuy$3djh%++?$eA7p2zMF?2)12TyFBl| z7qE8X>W&~F@aX?tpdcApIRE|!kq{A7a?85NcFiJmZu{O|kQ2~s$RwH<_oHZ>6_iBd zhCzz}1kkt%MvN;9cENpF(TG0i;EM_}Dg%HKjX_&z9&$5OYc9>%KE+>OZYFCG5Q6@- z8?T)@QYj5=jwVN0uU@&=$FICI*kmGMD5OF`FsT0@J2$=LB_q!IR z1<{7y-+jEey;-V{1#O4@{nDa$uOk?wA0)mPhO+y)v*N^>jaqt>+{Aoneo_PYfq2SY zy0)W23ezhIqi%_}Be>)DlYZjQ2=TOHEdS(LPfgAQa+|NCu0oI;KUqKw%5Ls1YtG+i zse2a{%% zOaD=K3d{g>JQN{m|GOYa2;`c{4c{!{i3WTGm2ZV*QrO=*{XFOmIJfSLa`QO1wot;X zP&Wts>OJa4dmRdUk(c8zvJ)88EqH8){ciZD_0#-gV$v2+FVzBrmEaIm;5JOU$6St} zPEB&is5^=eh~jXJ>0}x$@a=_(y#Gc7<3D=aywK*FVu=a7^n;`Ha=n8)_hQ+7dG81y zD*MuqnhldGLoe;|AQ#czm>46*cwl(ma1b3n#J*dQAqbmgzC)0SybSL7=omn0Ub^1+ zXwGD@CURbR>`TNLUG%Z}^c?o0?wd+abODC%a8BZ<@P7k}Xi~T_NG-iy?J;q-!403s z@17sB;pxclSMGj!XWpKXA%Kf8#=xNR!*q|Z@MJZQAnLkVaHV4su7b95oJ{nE&CRaR z@*lscF!#TfSqm$Kido*An*&hQFqP4M|04+de*|Ij8D+E@LX=7s7=MdFlK3hLeK3s^ z!jJ)-fx?)Tws-sWGmQa2zGGc{AIp4!Vm^yX<^_DYNi5sFrn^{#)78PVn8P}O8%#vw zQl$qn_?rjL*Q?KP_cM!#{QLAHQoIK#wWHQ&g5jkG5)WU60b1{);-&%Q!j4BZv_VsU zG3Jk2>!a4yX;0{MDi7y&xERjQ|6NxIL+s~KX-He}W1{TUaefDJ(Pi?_G{`i706`B1 zlC&__Mz=Y(`Ex5>Do5b3$2E-`c(jo# zIDpzQ>#~zW;P%SkM#upN$t+X1Vh)!S5qF(ff29G7fIZy~&A1Mg2Ga?9+zlrK_z7y8 zRZH(%`g`+&tW!V))hWmqf82Q7Q7p@Su-V(&`$xOiTvOIWc;?~-{-WY z%eFVz$oH4T&raY_1LasrkcpB^qEM0%RAt&r4!k#TJhY3G{nP>*VyBA%wUj2W9GL4D zX*y7GndBD!+eh?rzvnN^0Hizw;jZpT@DC#_Ujzft7JeuCR=>J7xij5fcduf%)$N*B zb(y}eaf9W*LZvhY=?l){#YI8uuA^Uxz7)D$_!Zqp;vrUVP>yxoRe8}$(e3>2mm z4k}9Gg?S1I+Z>9c%g^~W!Z2F$gZCHjci$OprdyF@eqhBZ`1&DjtluvTzhbkc7foy*|2F&?HC+#Ug}Ypz%O#MHI_k`_!ex;_mMk z&y?s~0jyQf^X~`5@Ed>T-HMT(m$$am>9pp;VNPs-Z0OdnG>%eya*>}K%u9haZnNm2 zIB2vL?b0w7n5PEEy*1MB6uGW7bWRrp-J?$&ySHb zM9zy3rnziaTAr`DNLya2#Jh=6GyyR;a&rzZ=8k&;TP&;AdL?=-Qk%FvT00Hb*!oRy zoBT?az--uU0dlExah0Jdx3lbc3XijC0cl8meiL8F+r598_?>_g z`MNLjN8QM%{OMsZ-2I*ggWaaGXY1FG?3RqSo~{C2}`DQ2 z&-13Ta@b4Nk{;#_!O3NUh=DK9gB8mB6Ey64Xo%`g<#B4A*OMI6@lP-;^cxV+REHTc zw8@K>|*XCJpE7DvUpz-nz#G20V;m%a%2?RJ-wX&8y;OPs|*KH{XfRlz5F zivqcKe*~)tDv@eLqKUwl6!Nj@Z-Q)kZm!pJQ5Ea-BgYbAwl&^4USDC00W>20wGl@) zGA}e#N?7s_M;ami9CAh9nZ$T)QM`sSyh3(yGiK)6c=Wx*n9O4~7n1-#j!di+h4X-Z&H7Jt)62gH)`G{Js8+sjM?gg=J(A+M(ix(hi zNP%BItUV`(KPQOy!fwkpRE`P%HXc%Ve`e#NuTD1peK5~C;|KnR??H8CCNC%2RIhHslEdioPFsa;4&bx8+oR)-hj}Q z)zLBc9(q7V!(-&G92S}(()-Zngh5D~e$_ahEg<^A#F)A5SjbzALv4j->&OAK*{v!X z8#!ZYBJ{HV?9()Fm+iF~o5nNFj9tR2iOH}=TcU25KzuOmJTQS0)4>}~ z%}*szfEfOK1kBdz2>mnFu2EH-rQ+s?Wpx%}2`};x9DAeWoJ14B(+;rTD4#wiSqKS( zkPdP#8&f8sgsoalgqBGbksh*(GA#XuVP@Flj=%V*S3+E2sT#Zo`Q!I!MxIJOhTooG z5m?uw(19^N20DfqRFnnL8#Gum&ncA6*Ia3r7_V>tk~XJyhn?g07z{BY8S#HSY(#_o zuKuw>7BzcrIY^QooB=unap8#kaU%sMM)=gmvM(!eyF2AQPK@IX-2RooXL>11Mvm3* zuS1hsC^6xQ8wGxp2gPjT|5^HB??#4Sm}WtiJt*HhH|MH@Dk#WgpVr$Ga(QGkQ}C6CR9f8)^b>~X8GiH*xcXvYW)KeK8zUKEIsY`U zNB%*CFy}R^uIk?_&nA-=xyvs6JoeDYvvumWCPB!A|Gbx7?YjGnt`^NFqx$2!$gd>c zPs>?kj1JN(VSBOG(|Xzy(a@!H)q!(BJz;yK0PP%8|+D} zpmg$;vkR`iiJX-!l)ltlAx2$k`Nw8dAD{)Jg{C~taX2WoyAdCq(JgS=6kZ9D1StfL z61|fZB~dVM&kqaWO=!kNLz7q3R}qm_2t}3&!T2kC)-ZB%UWtNr+-DrsyAyQ_9olE# zHF0a>GyZVxZxg{gpLn#A+s75TxuU0=+3jA%T5e)%)N$Hab8By;)&$o;uf;Q)P3HSy zTke!ehMC67bn|xujsRo0;0h}4KsA|M7}MYSeS~BeRVe_;yf814S^cM;P+eaTy{w;k zPq2IofCDK5It7$NRI*pF(xaIn-j(+vp=3mmK?oSq3&H@u3Oo&|2FA*sF#ir7#^ZhN z>6mN#c0=%L_h?shdM)@q8ZPo;f zC*R3TO z+W0!`AniA=x$Nw6rMJU(ic@GZLz=M0+t?tXmEcnbyDzWRYy3P0P&Rs_ih@i>&DeODJK{M-V>;JlPA;*Bpf(QyWz9+!OfZnp=ba(z%t4o&_8cLCz+UjoU zN<|LNIDknE``9y!>!2TLj9=M>X6}X!fIe#adQE-ipH{zklHXW>A!Z=M{%`RSj@@4y zosfqIE8UQMR7O8;EM|@RlYUrn;Z}OA-oZc5yB|~;W?&KBhc~Y&n=Z51Pgt+fwvj7~ z5nyFd&DGmT6h<++{G0;g#W_K7n0|((rN_(jx9Rj$ER`mR3KY8!z5Zd;XDgN`08QB4 zXa+f#ROPg~Hk~-yLTm<~w+^Y9%4$0h-;+8q%MEtMCVb8E3yQ|iT1XjkDe1YC49|m| zkLc@vY~=xPhAazcKVwNW%P#V%V^vj>%U=IK$W(RvDVgt9+u$X5V{c1LlWVW)RJv_J z{^e%lMZ8Io3K$9uk=E5JNfbHd6S3Nf{u1z>v2HFWC#z|oe7*jYO1~}{-1dU%DrX~(1$z*)DeYYw>GaBGfyj@rv|4>&o1xV<;pK+Qv*o+xbX@{J z_)xEa>Kb#V}MzmP(c;AsH{EuV#I~RP!k%9zA__Yvzi~6G*S$I?;%W&7s>Li9WM+6NZFhKBuE8$>%C}2g!0oGp}0D$lEs+ zi%XYEshOS|`hQin-EfYPD_Au1Y$|?4+VDq}3HT(vS*q*~8Yf>kU@Fko64GFhxUHX2 zN06b~c!O@GA**^}(**lU_Y%4G=WhocB2i$zh*I0(vR^KUFs25k`Zegkr|xF0lbA|5 zH7xtVm-LOf_J(!j31e;og_V%WwM2`s#tB#u6X?{OcaHRgL5h)1DOyEoWy{23^r2Dk z5oHB1v`)PPAY0=e`=rRhB~C(PM*232!bhqzpdl{YKlnaA2H_T5*Rr8~pL-GIA^1K} zP#?aHy)pw`dEG~PWU|?l%XJT*LTyJp`#M5v9Cn5?o3gx)vRL2)-;vs{u_}9-70(h* zD%S#%eg8(v3-~7g-6L2+-n5g#+KIW}LWAv4Rb50gG9Z}FZU(9|2apx@rN9!3G z9E5zofe;s0FE%u$!UL#%tf}=!l^iiu*Am*M4vp zkLas!T&17jo2mmN_N>GU-ND*8QT=0yDO4bYXp4x04Fh*JqBkpp{d?RNwG)kjtmf*%b+E4P!~b{k+X7Lel{ zv_sWH{Yxe&tUvd6Np}75B?+3&ik}A*^DKm0=p;lqL0Z6+4zAmwo01ywnykfDgDSIY z@3kjWXUO)2S#*qV-#pWoev(bdaqWKHUkMxze2j~{yrBN$E)K0hZ|H27*(^7*iBb;h zMeSP}O2`Zi00YLamwtgdlMx1-_wSf4Hi36As;dpLw>g2^K_y^Lh%Ek@lAYpgu76dG zXBvD@4fB2RfCMc!PfOF?co>VQPhY`mOkG#(#;3T-fy&LIwOpUL+u4@q>lP$45Sn3x zf2c~pJK}G%$$30A@w4>(W(BVE4!W7*5SVEPYanq@z~oI`uWJ4QY+Xu4!5Uig@1f9k z?h|~JPt}FIf}r&v@CcJ2_!c_hLL#XUA49$M*L5(V`I+qxUXbj|9ZbC$bx;7Z%F_M$fGO+a zS!h}ZD4ajLAghc$!Q#;FM&K^~v!F3Yo^Ug6`xlMT{1Q4^HtZ5!l$pO3aV$1O>w>WH!BU5lwu@ zbysqOm+By*z4_`-*1r%A0#Gxm@XsqKVoBNLIWLhMm}eSB??SYd^HO6RPR-yxzi>Jkys}vxB0d~`W-ZehotWiS zLcw(|b*$Zr63d<|>=e-DE%!IQ)Zm{H?T_hcB&y;EzX3zU9{N$^E zXZ~6(ovvE(vW^*4MugDPqA;yE)#cU}d(cz_W*C^mF-YWpaoE{~_F=*(2LrPfjX>Z! zYq|J^?}mq0UCv3R)^}Tk&n|vh+1RfSL(XMKGS}?+NoQE=RZ3^W zVos*&J)8fX5ZeJ)?jNiv1v?)r2TMilcyvqr*Ojq9G)8>yg?-lx4@ZlN< zAOVPk>#9aEGQdc3)Wh;)nTO_rhuECoekodi&bL&dm#J}Wm=b($*h*blq8fb;v#wUd zbv(Ob%+U+b!hwY(;INW{)01L}#a4NvL`&GQ zEDeWHFpu-RdIV=&g<3qAZwv~nAE`fryJ@HpoE~9fIOz%sQVvRI=$osPV^h2Q2O$nJN>iWoywi7P>^jus_VpYruu8CiN|Yn zdmQE)iY(xZeb?8_5Y4bz9geysFf|UE=O#GKkfqL?3)IUK-cD>_H&Sm!C%l_oQ8Hec zK{_vZH7E}gNNCmr`sNijl2;A-Kv#-;<4~_o1rF|=*EGs5^&E z(ncQ>RHaNW0avvWnGJOFS-j8UlT}FwFEXxMRipkmgSI~B+C^5l3sx!wf`~Y~fZq-SW}ds2hJqb% z?5`TX5?!kvhu@C)5f@cXvGjkr02`HVt35*gg^V`vY*3Q9?D%&a;!S`l&?X(cNlyuw zI{^K|L#Tf%b+jKH$7s6U{mM=fLF2O^KfEN4OuMpKB|29@4azi#5-ESpkH83p%|%Sm zf;AOMw8tZD@!Tzatrrv8#G_@OvXB}fV_B`PcLbthTVgEpSb zS_2voRivA%5CK})5<~3yXXD2T+rKgfmb3fnEjwrrJ5FK$&LUtA+}>g&0~CSE!R2Lf zb>Q{wqTN&a&qd$i{EmD)M77|tUwq?CK4|~KssjX?M2^EB55k&I4=9~&_pgR7?Pod> zj4#b1)9s7`8C1v~?{KBgeY7)z*(@=H$FfB#Azm#fU9vLbGqXl-l~6zdp&w>r9_H!l zRe-#4OT@>5e3#(mju^57RrtErpGw|b#Tg+_Hg@B{yP@}UHP){0Z6?4`x(y!xGmIt2 zETM!?Q9MnH7S^8RV7@zq8g6*jg8i!}Hz=$OndHFVlMH8EpoT^trzqp;jIdnlN8>RC z*dw@oh*i`-o6R|Cu4|LUIrn@MJiBUwSUK$dAyj$eCND9a`pxU zw{uJ2(3FQHhVN1%bS4GY(5iJyk|k4`P0eFJyIrQU+VZRK%+2I_Pw`)E^*z92Jq>)A zsdr9=(F71p|4Lo^gx+>vKn8|uBW!Y=AZ3F_P*sSWvxuxCgo`6$lPopW>I#FDA)GkR zZj*-7$t0K7n>UVPd}i-*yLVrp*M#0W=6SMUSf7gO)66a~Fi6l-rFkoqM}aC8I^wsZ zI7-J;-P7WqdCfNaoi)s&hJp7t^;yArQXLO{al7RK9MO|7O1XD6 z{M2!I%Q;T2puEg%Fdc|9rNS_4;=ulX7s|w8_LL6?q@o~ z?z0K;=QGEmXA-Tfqignar&Sr1rF-TD^vDVBq!-}XWvLz%1oj+FTt;Up-$Q2<0eo*u>VyPuWk_Gia%i@>%k-pZQ>LCY;L0A&_V$zPgDNM z93J$aXTL2^KrRf6YFJzGs0BH#vX2~H++5y@e*yV>u|gay$pVB0G(p!CZ*$iUe+nhI z0oLMp-jN8?NI*Po*)lyw(IA((B$sO$&7Ap;B!%rd+FC_B#c31}9|>dhQQWEBBYJh& z0M_@N?`>@h!YJPAyfFAZVihaK3 zVZu3+<3_=N<-zGTK{I3nz6V+X#QgMd*CMZ7;fU}BEk6_rmDEBrW$4bU?plV~=xFDS zh~A?^UK=074jr};f*qeK1$Uqsp|cW+GPhVH#Gy@m?omD|pM>iM%xk2iYj&cW{OE3@ z(ZfTazsBxg@S5ElciPPlQFH2Rtl~?a?KpO{C%m~>Xwxix%QHqK4Hol3{pOLWm#?GW z3j24(O(2&-H0L4YDjAIGTWwKC=C!1)(I%kLQZ;P$SyYSz9XJ-4n_|&Zy_7eY$4@`! zT85y41td{SEL~O2BY;sKCJ1lzv^rrLSdML~dpZ3xHZ9Kf)$P29R&UU(m~fA`0Jo1% z8Yb0fKA5M50sDJ_6gRXxOPnBv9@R}B@Nm^qzoU;T!AQXxJOyegR06@` zLc!*{=ndkl{hMe;0o^mMQOG{MzR&`GMByXgN1WU28u%q-t4+zu3Gpk1;5P`1ttFmx zbfvz23A&RzrNs~!DZFn1hbFn0DCw81OZ-7_2#fLe7WRc zK1Ma;Ib-AHv;FDa(mm~(3xlH{nrtqKV+~fyY|z*#S49(<-_Ei2TTW65TTYT^a?b)t zN0tpyj*_JK&ne-x!=&L#pkYT~Mie*6+d%Hpw~e~eiIo@dP7jfXIwZ^x7g&&b2BA0y zfmS)xn}WhQ!HjLz4P?j|EV*nWvs?rV&$Gr>Fg_&+Wt?+BK~nOklrJd{e?TEQE-e?@ zha)!F2I-!{eE)MCS)}LeH)?dU*ijkVFqSKW5i?d>VVpOl*>>PSxx3Y_JUaCH zi;!9PU_GA#EG6wj2&2T_31S)^kMT#NCvZE2&ss6(G+*vo*#tPl70hXs1rgeqz+*HkgYF;OYliXIO4l; zLa43~HbXn<#zdLo$Otw=-?&L{VuV_alE{zQ!UWy_l$n=iYEL0;i-1a^d1vnWp_}O~ zOEvOnfOCS=rwF@H{MyV@5xokB-rWOfa&4FG1eVXqmR~&|273&U28IM!Vr@9 zSDOE-Mnc+r5-0i`_%(h=U@SViF?DQ&l@I8D5_SqIwzQ9 zfdI9GH|B|muH4nC33r?n(l=T8LWzA_Ux9~$i|4L-8|0qS-Y>D+TFqmS+QSuP*$N8+ z9TTSRUFXgz8x0W4EP>ZIckeGAVle+;4d&qp5XPk)DO&Z=X?W}cc#PV6{U9|zy=0O2 z3{p(jBA+s_MzjPqPch#~=JYg+xY8D_fMJ!nLTfQHkxdkt7PdGh`KgrtxK=PrXp&rX zp<9lyQC6gp6117On;55~YClg2A%6-*?|_p{S(2TwWR zB^}-E>AfRg-%;xNQrc^Jw^30q3R&u3#HSv*W%%TBu({FIt2m=L&yudKS6GYfaa04@e+lMY-LuHuT`>=4g;eGJD z9p&8-URAB(X4tgd<2>&U&N)1csdigZrQW`n-%^qcF84Qwnsue?zz5d^x@xsTSh=l)lJGgp>ScsRA+zu@k}kqyC@VS-O(oWsa3(Go~$&Pvn4g{1mQZ zl8S-y42mU5OmSQxRvW}Kr*K|vZL()PRu1IxxG!n8S6k^nUvXk;B@z@`x=hMpF=UJ= z#NvZO-rDh&Fh99%F~f5%fjyh8LN`@X@J6#`mO;{RP!2Z>n9KrkN8-IyPwj#N4@vQg zt?F&*_xrPs14LSmy$)advq)LkMp(>K0lHd{imo{$S?SMn+OT0uJ9kWg_wJiSHV}N9 zHi!$ur`^aLG^Y_|xG#@M+~uORIkV$Y3`?U zL(Qj}%4|0Ufk<7iAm=gX6N?BIY{J)3}u*c@cO9>yqQL_&SAsv5=OuWPk@Za)#eBuyl+Gt^&lmk!ldbdixsX`@p8nW*^UZ}`H6nfw*ZQM%<>6HyStsqKxjEX za%`azrh{~G7(rD`Qd3L`l(#G3YfCX=auG6GW6h}L+i&F%TMi%`Yqj86~&cWxU(FO4^2fW=81WzQ(|8v6Jbn6 zru4_$zSU>wlGi?&9{YzKY3I|rwzzgf4t>V@NfvmOOx1;erSF$Ydn#Lu^@uOj8v||} z6f{0$_!lB#J<ZIycM%a)p(ol*<|c)N&59%qEfwwfFZ}|%teNm4QNev@IJ)@iPex=)NJ8s0)daFm|b_u%7*U6X{sUCG8S`1pT zJ0YbPYd^nIz(hT$bmDISf_(+kC;sco$E_K4D-Dr>sjp>uLWw(>Fd`z+oOINyMr1gs zXpqDvFhs>(7)Rw~%sFVMG6+L!F(vTPs z@&}?7<-}pL82*vvR_B=}&J3o4m5^rAPvFa);P{i~_vJk2>5}n{xJmD2sDIy`6C`WM zs0gJ<$xpsAtHwK^RHV^fYM%9nI8ml2#*zbUE+7SEWicAUtF*y;J{>`YTgJCZ^TQ_I(OQYAx6(aswpNBP&=0U;_T(&1B`?LX{OoMlF58OH?oYVD zGQu8CwLBL|So-p}V^-!eyTFS|QEXw0Uyk0l_|z1daKV1%kn>X$d4*Z@VDF`H2hFBz z(%pG`oA-Z!ogOwPz5A3Zs8jTFEpTuz!Bf#M5j(7MaJ{NE#?C6b7x&8f!{H(1z_)tj2RACvv88*8MIz&5%H#+zZPX~$XoU)psG>t=QuM!#?Ub;MkTXUWmnxW} z{4`bvR;%ISUx?Ib!*dL2X%WWQ!@8<85a0!P*BD_g&3#%U!WDzgG~!7+fy9jOXt(CL zqi$$|>nvO`0aojpsA8g?knLKyW)6JwZ0>&zO1&&y&%m%9jpL@vKRxyENACe#N-S^uG&qUw5g9?^h#d< z(koma#oG;!ZzJi=5Ax&AkBv=Hlyhu;3idSb{5t);@Vo~6Ntnb-fz=w(Nth!|MF$G8 zBW1MwE_#ZN+PoP5V1gSk0_B0|^uh{$i=q%hHam{wUKh@#c>*!Apy+>kR^}9;NrHR- z84u85oO`bNb(KKu)r!1+Blw>*lA>rP#|shQf_j;hxc~6I(&2?3=PN+A@KCeM50auv zJ}jvbE*@>dd!c=qczkv^G+MQQ&8mh&9ZD3Uh@q|zCWi4h#xHEtToRTbUE~P>ke$Ee zrM))aFEQAMv#&@v+2F<5#Jl7d)r(WOh^pwr`dNI>UV(QxAO?4if=bG4{h5c9<<*iH zLQSxplx!d)znF-Z3<_r9IH8Z|-b{*rrctF3TE;N5h^x1qf|=NGu7h62z}#s@9d_BV2qkiUF>#>p&sV+lF6MAZgdxUzRq)gxt(rt+3)w;b&;eu1+r*ZF% zebQz)OS63P^=#&6Ddo_bA3)aa_-VU)3uL14oPr*@u34p}>sJFil)i zeqb)RM)dNK1lK!FQ%+60L_49v)ON4Ptx#uNP_EdEu>dq_C)KlwO#8IUVJOO^#T}a^+R{%Hm@O% zZT*HUuc&}%=Z#wenU?A0lG~nu5&jrHtY1C-h)ysJ1S*-EDNP8MON?$<13o6YmA<*K zc7(hmf8l7!6}0tY;%7^m2};4Rw8g|_V7=LMVBYlePlCQk3?gHR$A_VdV`iaWEtH3O zDMSwdR>9Y*LqwTi&2T_3EsGl0HcGEWn1l)q(Qo>pXfLZn;v3VG{AuC?#u$X0F7=1@ z05zk~Ih;m)=jNeD^0NXYHHSjsf{5EQO+^>nDL7C(vE_uwpQA9ARhB$r6028Tzbp=X}&8fyN`%ndZp8Avq zEL6FUld1C#eDFhHN{Gyg1`BKkWY0mIgT1$VfC9$YT5sh_6QQ z&y(un`6~Totu*aIq~-;~Ke7si{iLV<96&0e!Gd*!galX&)yiO&Ge%e{ zuGsEVNox)KF?e^g)#bo8lPx)AQpW8y%xl5sgsENk;GZRbFc+n;|EOq9^5jaj{1sG_ z2f_))1J0;hkS?X(E^#`-V~>vKxiEtK0?T7RczmTh5VkVj3Pbv`yQKn`G;myZm5yoE zA$VaWh%$|U=}vPl2DneF6$HwsG?%9sOY(C<%^2h1y1&Ribk>HzQubn?RdbOg(nKT? zTIwIb<0pGs3jOS+9?UZnx+)@g=tRZxTkLPn?mj3W&@8_y4-<)BHcF0D1E;V8D(+cU zyU%K%(i%O8m{kj{_w55yp5(pS!m7lLbQ?%B6H4c+LnyH8H!_ga&*-+v*j8FOT-}vR*D3Mcm4(q>p^6Juz?TuA666K;#6RsjQJY~y6{Qk zHb9NhD=py(rIh@(GhkdxdqN zRA6(JorHbH<0Yh33et7zl-QJNSMZ^5yCvCS7xAoYqOH54N-Jp z1OY>OX5_KxgQrLnfd(|Wcck{mVw&KbBdis^)SSIRvC~)spAxZ`_K1uIdm9|Mh2JGK zO*N0xZAjW_MYo(nJgvW+pKXWI9jNnZ6)s;5tD&~XfaMRW`MiH60@6HhmZ2$(6J2!+ z$0c%a)57jZ?G3{($v2a{W|vyMCo9u`i;oLYUw(2NL3QV{vX7n>s zMSuGpUU5wji}7iu{;)_)?H-!)-)51)9QY!g@SQ*)krM%_ND0*)Oi)*mDWC{?oDl7F zjU%2r0FdB)>qa9-k%s}ur;<%{Q@|sRUL-k=G^ALAMxF|^e6re)H;R{-@l#3hoM(lj zYVI9h0@A?GS?FiV52e0iAWy+XP}4iALI-7e;n!Ek+5BN`9GB>!Z*MUfZCd4EwlcFu z)pa4gh_zm4eOZmcA%pVhWrS(Lh?q4Mc90PG+)k6tKHlrn!tiyG#=D317nevbcluiY zMOaJ%>5<}<^bqvfLa3Wi{0})6p+hp!*kCFr|E%&>&Z23jicWMA`#ACu%3z=!1+jd+ z%ZN3*FHMjdWtV!;I)`SUypsS1DtM<988%bwwx)p^Mg8*E7FNdaXapHS24XP8`Z$unwp)Z-Oj6mU=L9 za_hsb>Ggm3cUxcCtM+t$ZF_lz5|U+ZzV|V?#aXXXXO6MDKJ8w-%#u^sXo}*BFG>7) z8^+M`g6W(sSa9phpYZT;U0-Z@5+F{*@<@}6FnKwHOS?;>h_Y}|`&||8UA0Q=;<#We z$-BDHY8uEMsOz}Q*l5iaFH$tRvAr!=C)PRnr71&j@av!I`PIgoC4l%bce4hqpUQ6! zGT4CTOc&A_n?J#FrV$hu=`DOs3?b}esEjGZzRwEt0*CM;Bo9O5(`#-D?Uq>*eB2yo z4y4G1)PkuoQs#cAMIgu?{Uh&)k^Wx_w^NQS10Hfv z!wh3m|0kl;4pih#Dt~ZHQ4Rdh35zJ^aNHQmcsnMeU70e)ctc?AVwlm?L*Y5^mI6c!gbIMFP* zEX8UC;Z$@#A8;^e!2%@ZBQQ=gr>?9YAD>*CSw@~m*p_wh4GWHW!nav2?6tKjyS7-5 zGaO?~dG~#;-hI5VsoHO5pQlak3f9#&{uceDSYeQ1;G4Z-PZ6VO$!_M zGNC-zhFu=_P_NKe$LZw43D+|Rix53|%CChK?jei(tA;sD$o1R>wTkE=UH`6wtt63$ zhXG+7rZVxFQARjkWGawLB6SMIIFK`=z%`g_jm8xLX72d25JMlOHqLlZl$5}cq?Z{p zX-r$R<6p5f2j9%>27jP~>cz1(M)wr*K6~FSVP^r!qn0>36%$Qz=W`T&MPFTKOqPd;Kh<9bY}Gs~T+ z5r6~J%FRd?d>;Sh=5qx64F40YuPF69en8FSMkn`?dCkVzVbHHw9(n6oL%a58Uqa7W z%e`tlURtLN6Kcre=o5cQdI{f8>V zIT3B&)1?7w`-U|SxJUD^zyC6(_SJOUARbA9eCBUwX6n)#K!m4v{~st4WGkFeejs@8 zwU765`j;)u^F0p4;ow~{H?7IZf0&T*uW92TTMpEBWqx$8ko393xHD!+h(C>ncG|l` zJ!I+4!nIZN>E=-3v} zyFH%z*N%dZfwRIp3Qu*Y8^2fz$!DCeJ#5mJtpSC4@O zpPwTWa&s%!o7>&<{{UG)roYPK-yY8$Zy#m;h8Fc9>6HgyFx0$|;=vZz-nM}cTmp|A zD}Ktp1I^~YRXu7Yyku=4tjYQA*#~!Rfh>^BQD}ryg z3SqmIT*0Q(6go)u+3E;mWT^?c1A{Hlea#_^-!enyL>0$?3M*_P*{#SkOYu;kc~)juv8WA5;ub3QR&6#Vhfs0 zNN2&!gRxMJ@5`c5Ygh(QOA6AF4?_b(r{6=ZZqQpjOi>iXg~OWFYZ&!?Iz<7ACRT=~ z&L}Do^-_tz6l9@CtJ`CKVS%{ar{9g4?sV9@xJWq&SUobrRIN(68Zj^#8Uu+Y$)x}s z=TP`AsZk_3IIhFo;vSB^=GEvIZDaSwyZ>G2@W1PLY_d2$z)Meh?HMnB(TxvKd3c&v zIPkM$9^udbJCK*2fxdhLh!|*pR1pWwXS`0^QhWC9CZvOmf{OFuRIQ-&6 zn7(E&dz^>C3+Z+SkY@y?5^1luKl&D#CJa4}ZNteoK(b22Dy~_9B$m0=0KJ}I-bpN& zwnpC2vrxtGFwE?<0V)#lN`Ms9lr>Z;LhJK^(BjH=XO!6Mm1?A)pn_vJ!iT>ca@vtE zV&nDOsr=SY*rP;<;<^&_t5sPfhsUiu-JEnz$y{N2xJrU;F<2=E1!ZWbvfD@_n9iY| zN)gd01YfYe&=n<%hreW%l0)+RV3{@PoETNb)dQY=BXCrCLYmRm6qK}xf_AT-Vq8L<2SCl*!sG}RyHNnN3T{+MF5_JWu%F>0qT}U=P9ElpRF$RnC7DM-Cx6|uOFgJZ+?G%n>b@YW# zT?L#3;)Xn{^)k4b_?YB54D7BVu-7O|VX6V~5KQ*r(qMZWx~0_IK}nOhFuvsSG+kZtL{;Yp>&zmrB7Yw-s{F6YRIU zBmvqhiP)nkz#Wp$`hg8jR#i8;PCjFdOrp`%(43V(?3X3bE+>RxC@@HS5e7>(_%5H5 zBd&2-F6KlOB5%$z!AX@>!Huu8eFY2I(&w>kvF{yhjaHb6V@wmtCv zDySpD-z(X(u`YIDnf(n@btV#Hl&}`u1F+M6Q@Ww}B{`3Qm4A<}5}tI@myGks-SDP4 z_=n%Wg-&)0$6WbV7O&jL`X9ZHxj1IcctY72GM$s-NpMUPYC|=YQuMnqj_b0RWsnu< zZjWSh3yy-dlfX`k$>lJn;q#w_4d*_W4OB=(s=! zbWOPJl?C|HYcHZ4)tMP|$vl@@qKQ2L^u1n8oTj+Okhw07<5D=9q1e!LJ%(0IF{3gj zyb4jfLwBi#UoK-p4>d^et0jVJnZy|C2I3?m{W<1$p%euU3}Ui+1%eW0vHhrbb#ria zK{#B;Z4(DoN5Rv#O9q|Aa(tcH_of2R zL=`Cv`mR;b842Vd=UC+8&5_!^dwxma1V5CYjR)Rc@bv59xA#Kl!buh$m}00DF)}iQ zUyks7pK4UW3mlBrR4XMKLk*NEsMM?IEF(=*#u`=PG-h&WBhjui2>zgSvS9VDpx!+kP5X5r*!1ZL&{YAqd&p|nm zf~Io7=~`@GL#u0f*N$YuabG0#T0w10ii<6~_G?7FzhBMW>27s4PSt_IY#qNQ@oT$gsc zL#i|`4l49fwF+J%qFy-E%OyhBC3Os?AfTTlD5d0q%?rp2Tw{nlMUiBLI>U7xj8Q9@ zv@sN3iS_4~*xJ36y+52gjgS3r3c&swjK>(n@$$)u=epA;zO~@0?oGV?s-2A9FCDGJ z5N39ZxMO)Mcwm4GLh*1&210ooT`kYrpecbl9a!wPCRJz~Q)!HdwPp>N?TC7>XRSUR z%Pvrk;LJfN*z?lvf1`vIcq9_$h-;~CaaRJv+A;XpD`C?V9I^x-xI{R^jw=DCbrO90 z1bD}{VP8w|==|pdU9KzV64^z__3a{++m0*;oR3l#Lyw>_F79=11g%+Fl%^)({f~#i zgKxy!Iv@yK0k44ssgPEb!gv8XFGx&|NhF#DF65b}hytp9i0?ZrXicQSDGW);qv|SZ z%41=%MX%Qv8_Tf5G4BpJ=fmG&?vfcQQ?S^w3l%FS_`VC3GWdy5(+VYmklYhBVUB&j z7HDC#B%a!XOalA8$HI@^2ke6jKLF*fWs$hHbGeN#VQ6pz9xwl=1M*SZWp{^SUBu( z{^f)hpxP}Q$HUi#w9wESppC&9uH%+Ge4R7wmT;9qmrI0sPFERvCL@hgDp^6h+oy_) z8w4~v9U6@)-A*5)wa}4#2f~m_=rJBuSZuXub$a{zEXo7t$i>nIo#(jLJ2r43_gst< zppR@Zd*~%_Cl~TA9+Pf%k12>__PVdl%wC7O?`?4MpS7KKdqd;o;KJIJ^~J^4>*w#V5qwZ0MXJu6Y0X+`8#U?D*jh z*a+)^4}BMQ&x=4|8KNlkO2JcWp=A|D7O4Z76232rMr~H`>aZjV#-fnL#kGq;&4s@? z7Iw_Qv8F;V!eS}|QrE*Enbg2_AsL|4bfqu|6po7qLQ~KQ6?)G+qlc`c5_rtaFHpn@ zd8IxIYTAJmK0nrp}&mmnB=RSkPwr&n&EA*;m ztR90Y8Y1$C7L4C zRL92HI6B3`o@v_6CR?WGP^ExUB|(DDl6pM>!rAU%og0t^oe239ei4M?j z_t?ACMmyr;q3t#E14U|-z*t&K(|Joh%5xyj*?9I^>d)EC^`GHuy!){koZ&H+LI1+> zZbrvX7@yy8;n5ub?HhUKL$GHKDx)I2h-dm7ua*<0m9fh_l zcNZcJUt0@zp90T0_j#;oXPow_t7*1naqxWW!;uOU;5Y)SG$tjB@3*A5wOmMC9=^Zg z1&x&+`xRN#1|67az>iLb>(p<CShhsQ!O}x(Il>mNi?qOqLeKVSy0{>D3t>8 zEGJhEuH#Uo8Br;~^Ax=}$59R@^e}@Iqcz4Dlvjbxx%-Et{VPHHG59iLJ$gFps315DtWY6no1*`7|Qm{=C3_6x% zaK9II~{5+sJgHH2YEl4`sp#;5{k)dcHC$JjYPPk(xWMi|g+ zb#b)DxGttBFj}J=2gmo(R&QSpJ&Jmbi6|m2a+cBzzt<;C3u#8|J7lgSI1Q|5eLoDGd4-j++?t5AR>DBlnFLL}R3PEz(aV za4KIWSeD9!%hQ!MN;2 zizM5w4hhFKP3721vERnBIxL@8js$Xwl?*!ro)o}~yKvMG9%iK7&D$aO6*=z*)6ee;CO%^gLN8T~`8k$q1y=vmABbkp(xiS$EZi z#_5xM|I;UO*qe8fXdRo{w+7+x?1EW49gB=Tf8*JBKm6>6 ze~+vA=l}c(|C==q255kr*wrlK-s_c^JwBEeiIxXmSIK9|nLc-!-FSVzV(a1QmZPqnAvYj z5RV5Ubn(I!l~`1j^I6<0%z@hCfM#b0?>YglISjskG+ey~Ht&JQZI_80MFI<^wjioA z$<&8eNp`*L4p$Vio%gMpur@4RnJy$OAnFbXh^gVx|0&Ctem^fx|C z^2h=#LgzFw6guKQ=sOYjiRIr28F@xr#NUzl`8cpAnErg0NooOEz6e9obShZfSE$0w5gziOR`}3~ib)VS8(05>S9lrW* z*!25w`VtJ?0BsLe0W;^r$6f;@P`LsA`1#Oy%i(-%Ml*BEHa`CBOF3c|YHQ%Kcf#eL zg3~X8-3c%P<705>7;G6x0A3dUc%Hx--HvP+k{nh~!q#bFT^JjD3njadC|tRA)(%>R z1FZ-idKhBMOYe7qLNat6!kk^C2_Tw-ya8UzvXEL94h!WOVBUeir|=A`RD|oe?9O_4 z^KH_+u*K{W@gSxj=VFGWr9j~~syJzZGaP~IF@}dyu$1@7x*0kXU_L<$CX_uIN74pV zs_{mu%=usjeJX)Np1Z`E;LnayR0EIn(NySzgM%3KqsF1Hd;P`x-u%5+4c6^u{T%%H zrQ*t#4y3TA)X%Xil(p^b3Ebg&!mKC_NhVsPf)BgCZPkY5-&#WklS`p(kU(s+aFoCd zI+q2(7}?_LL;`SBl`KtpLIKn{wB~H~YoQcnvvh4el9iHed}GYw<$dTK1|NIIdfq!7 zQNQwG+V<~q-IXlO^CdHGj7SDuSjC-k#bs~VN5oMA&omb-b7WXlbgeSH<3#zJ#&^G% z+9QWhF&Uj!7j#ONYINvBqe8xCUiSD0m|QERa9s}?mY+C?#Rk+>D5XgA0w3@_hdiiq z+`9sv^3hA^ePb3?hNTuv^r3V4nS62V0iJm1aopuR#Op3Ugo(HQn7zx8K?tLxg2xw& z(C$Fu!+0RJs5Ju*-gQ3lSe41|ZYBJ!TZoR4;$m}A?w=n*(3k#+s~x!?I}@>f?RSM) zVT|~FguYF@$t7EJLTv-KV3}d5`DffDUch_B5 zJuJ;|Gau%wQ(SfSt09S*?{{&tjJyySX)qXIl%iVlsa2~qn=Rrvqfm<4=P;y*4oxV`&R&F9*HNaF#=y}-*DP-&JO-(ZUq!I1UErUog)4z@2>u{q0%Ym(d>@>!(E{n=31QcyycWoiL&kPm!HBJg03!~c9Q z{NZO|>n_=$OiYLeMPnQm7G&Y-#NucdOjxFe7U_H2z}LQ9=H;uN%n8rAj=Kj!2Xw6c zXAxL=cq$9$U;vds>R^s1GV{eb$*7A0CMN~f3QDpVc$tW3Tu%aQ-hb7E zpcbL+2ckN=qcUH8=I@YoV|2TRQ3|gd5|{$*I23V8n&dbb z8pAdGs6?mPq6j=p6fy33Xk*AyjUV^~>qpQtZI%W-vVrL016%^nV{B}g#lk+JpmAw7M~_*nA`A9(DkP=1AR5QF{&WBU^>iM*qB zzGM7JCp&Yu?_gs`e28@}S)=Ey2pZB+6oiCMAQ?8k7} zmOT{bc?>pTo4hFRmxHn#~Su>%bA$3SM9GVR%ZQn%GF2D+lX` z9Dw$1TdiCIY_AXBdIRL+883gsHWur4;WSXINKg+0g!<-5ChGyUNGO!uu5iwm<>ams zwvL;D$zZewQ4eBQ&SS$FLtJ&$X?*j9?Nt8qOn!8Bo9EvgO9z*EF;%L%*8jN>Hb^@c zUi3mwJhxi|`MyQ~S3di7v?8CP*&}krE;O=g#zGe)NrrMAyfDOZ12PKgjSAZJ&}mA= z_t8Z`KhN+3pQR-csRXV|#S5u~5u+nRpbUFv=ST-4N(o&^(~PV)AkT8NE}&dOIf^_^ z85x~o%M)&7@%o+_xo7yJ&F#1R+g2+F$H4&o3&*pG`eFYadwM&ZaqFjn7t=q^$=Y56u z{qZg)-n)(CZ-ZnMbWe5|Am>^RC94er!P5tcT#q;w`eNYAqUMF-zj0^@7W(qDtAtwj zz$@U)XFQ8TKDC8j0$sZx8|z(CvUImNmS>@t3KZ)ii{ofXGTk7AwX0;|O0={G8}z^* z7xVpz27LTIF|R*&JBNM)j`-vbo_9mc+b)JpFI>ai$Bv`Ab2qhzpyNr6!!hD<-8aJS zaFpd#yVBZg*W*tjHxL?!L7JnCL5DuM>!KV7PdS9XOHr?2e3yz+R7z!HW5|`F;yA)z z&N5O};Cc=v*TXM`)XQahy#e#>7QJ>4<+>0B1Ue(n3k(WhfnN?N3IqL^(Dm`d5*uF` z5Zza&clGE=d$0Y>_Wyq-`v3joV1WKb4R0 z?6M?W+ez+t!nEitSa&#O>33G{t&L=0u46M%>+RwB0w?GUR3Pt91`>dkW4F)C1xhOy zcRb0)bRq$9Syd5O=19M_f@dpR4)#1yRk-SKXxs_MPD`+8%?XN-FEa~_Wt{|8(j8dX zrfb!VuAFztX3nl_In}OwS9!>)5c{%C56a@{5siE7d)iU-kGz9>+gDIpT8FQP=pS3K z?UYZjYR}VH{LBVw*^}Audv|l+sh4y7%S%-KlgalMj1ARDi-2t}zM9wm#X}_Dhn^$Z z{?fd~^E0_V)c|Q_Whr*P7WhBQ#1vmC39_q!?We#$ejARwM+&DK8!&q|eDbg0)N{_^ zmRoP;sH<}}Ou*~_>J7O!K?+SH{AIte^vFUS>jDF-Jead;%#ts@&&v&M(?a}I)~B%d zOK0)7=QVlP|A^Vr5qvpSVzhMH#qgvnI-K&U-CX_#Xn*z@ocWDCEVVR=-6a_$qaG@W z%GHlWnK-%QLAE^pMDi@7C`7fVl8n)MjaIWuUKo5=;VYNiQ8>A#-~(p$TvW;+;-LXUfBQq z-9P+wPVL{caWFvtd*eK&dO`D|^^1$FnwE*4#geraMxMu^F&ivXo2^wOdmQv6KpHHL zYoP!N$*@W_5uzwpGH1sT+;V=m1i-`=im-IiAQYbml>FXx*-y_~?)Kp*oBdj*NK}?Z z#KEcr!xhhoU>xp05k9z8ilBKc->Yr$vSfXNU0(u4V7;L!1oFsjQ`TI|jv}{glkSpa z{Ej0FS89Etmt6q!3@U3}9^CjOHh-l|YvevodEFXzthS2*d79vjYe;GE6uX#bRnOQ5<>pl;6>2r13% z;(;s}X(EO~Qnt9h`qjaR%1 zj{fX6ZhB76b+3k*3LN)+G1@AX}c04S?6rnho&zIw7!3rAR)H*F zYf3QtmD8B~&JIp^`z&+0Kqe!ja?MLsaC7mFZg=2}o8WsVZRPMAG}){OSw=>rU*nX4 zVg#mlLC13TD@De}>0La0^zjtU4mvMzJ(mKF_QWv6C2|whxklv&Fg6r8rXVUZvP|!nya%qr^Bi0S!7*#u_l$pL+P|6I-{1R1 z-p615*H7f%>~Sza|9j(lra79QsS8hk*%M0|Z*PZqAc4>?34T~;+qDGSthH_nc$v*U z9SOp|CmF13i%I=HVEr_dl~4Cu@*blFmo{1gn$ar_U0u)0tCzE7*9Lx876ez>_Em)h zO=AQvcLUq8r31kT{N!+W%3ZLubU;tS!e)h@b#lvv64+aU_Phk9Wy~rNW67u; zltlLq_mM>HT{+|`1=>c^iFs>d%u1J-d=~&=A+4PUB%F*C$RU2inWazM;&$; z${0F%j$de80}bE9e{dBuS4Hf&yu|#bK8Kw<%(HHE=|9+(Y}FSY_;T@7VSl!i$W9OP zK+Y=+M6lv2!EzT5?edd#yV!6Utob$!|J_4O{>?U4T>+{rp3TR83y!}ZE`KWA@KHEx zC-@ITD~DEJ7Vx%~YvYeVD;4p`=#Ug1{XiHM-8NkE68OP;JP!ZVOStuqhADsX$DH`( zHfmIk=Qy$}nxC_MDgk^+2($;M{186>S8)D~u+Wl4FzG_ewL2yUCLG9>EC%`LFiR(& zf!3Myoh%CSL5f=raRQ&P&}4y6p~TZeIfkC=P+%Aggnu4qIlU~!BsoeONHM2I4zf7@gYkqn zzVCvEUiY0#-?HakCa)8$FDOf(@@&9!jAXYaw+2Jm0pbI*ViBqw$!L?l$fb>z%DmCi z;M5Hyn>Gd(_pN+BC=15yD%r9QkHOM{WNuMpW#Mh{k63Qck|OI0oz31b^~}5bu>NJ}+cZtsu{sujKqeGVORCoC*|uF>P`UnA72kx58WA0Gk#i z8E`Dq$4h15S?EI(ShosBfJ+WLjeCX;A+TK|LPrq{S4gy>$hCb248x@o+IL8M8JXu0 zCYmI0Xp|x%ASjh+ce^YuwJEY3$8kjVT^LloOvzIut(bLZuji->x3g*MW`6q5KRurh z^WFcl$@<@P92Bbj2jlLEKj*}?r?YNuHL<&wB9&n3Mb<}SV3l`D6n8-Yg>{Q_ofQQl z$aXcCW)mcR39iZ(ba17>H0Viyebi7A@VgxepgZO*bm3Z4dMzTCs4N~37%<6xVV)=# zjTDp$3k5!N>{+<#Iyk_AceyESG7$J>B$7-$&!mrFC6GWju!Y0U0K$Qo(s#6ErlycZ zpuc20e6NN-I19@2b?TSRV^l&^E{mhxvM;9>;^>@EIqaKVKqL0-ke+BD51QU0|;-cWo z<34=zm9YI>xi1^P0q1=cDyv~UgoTDEP75tX*a0xVZGAVx~*l7(+u`yU4Y#)c$2 zZWrQQR~eOHPA-ejQYlnHPtvXr$)9!76Y3MWcI zr=L>tU8ce^-I_sv~e;bBN&g}d%3==AaHRYp%ajIrn3!B;+h#kIVR zXZ`2Q$j9C|7@+^7QG>hg{V{vyVO3zaj5a{U1A#d}0#koU9L5U6e$PsS6>eCuLT-7o zVO4$?R$y_rEojwjPr?I&0!kKuI1p%I*|RxMBt+P;Sjiw(pgoIc>3HBT3)Tq`2~hB`YJ2ExeJ*`|87T9(o6i zZ-BY&poU>&%@I8A_TT2d*6oCqG7yVmv0lb6l?eimUN5HE>;O=&SBQH9Oi@rPmk7cL zFqEoQs*MJ{PKI+&3dg`vYaqNw{)WP~g^F#Vbtr>vyJd&7Y+O_`FnkVt^xbgL2XEkA zcR^a0Kd^Jv)j*u6?~Bkc!?4!_)AZKY%G8zIHL}tRp5J!$^w0 z2>!kB+K<9W1DrJyz*`264W$OKPYaW#uVtrH?+a|Af|X;tE|eVTXOf-kAHyrg;oVol zspC)MRsZ7wc3wMAQIpJnt+hE_%B{;@1nmG`{NwBC`LHxH#jP)UHD#qRQJ*c3Y+@(Lq zaxggmpN)eM$1fR&z5Q)p*!9|fea&CqxsCERDK2SSDC}ElHbx+i$&Dg^?zJVD8b^8u zW<3d#xfPTY1w8)o&?%rfCr)YA2Gm9+kPn(GxvdKfPeP|9$LKDuKq!H2Cg7K(kQjFn z@rN(x6jbHd1_@y6CgCG5hU%_&^YDrP$nz$j%Qd~5c+)l8*mw`@o|OV-XJLiGp;O7& zql)YrT8jd?C}mymI@agd8b|ph!Jx}!vGUxp8vgo%H9Y>dSM$)f7RkFUa-|5Y3C~cy zPQx#eBndmGrwK!!z*Q(eV!Y9yJ?P;(0e&PVJ9(C)beWkKUCZGodaQCc@RK|Ll{dUx z6SZLPzdn^+r?2AMKl~P}|5fv%&%$?J54&FMa`xHhu;t2YxbU?StbDsGa4c6lEdUS*Sfv0o@CyKm*AdjpGiDg;*7H{BN>PCBFs)pCm9f> z;=st?yljQ*=5Y1#XY%0cqwsB4brIYfN`X(28(iO^Hy98W1<48-1J^eBbzPS{Nm+l+ z2Hcli%>y?Mc-&VmJn!buzW>Vq^vU=b90!YpzhwBU54)gy>LX8h$x?^zcG=2zTTma7 zOf%^LN|+3#ngro2mdqJsGAy^ecRg_>TXm=i3VI7RV|FBqi`(pXrOQ*X%51EXY?Lee^c;Yi{NC;|=R4;q^a* zTQ7i_j^QcK+rp9G0z&CvZ4eKVfn9LD<-f}j3S-H@njE|_&;!^p44?QYTyP~!T?Q>j zJW>h+6XUX|E_6kuxzvKFu#2)0afsIPoOE;90adhQ&=n<6M5g8cp|u964M}0J+Y*mw z*OTC!_Yl$0kSx+m3WmS9l_PH6!@Zw6gH`{ujkyX0qmp$GTC!+Ffnf3)fjrvtuwnBK zdK=cEN5%*WMLF{6^<%O)BhR(?mM0m?3kduW?JFop7+0ZnLDKCrb;<@-KX*5qK5)qQ zW?p~A5xegA!RBAz4E^st4rb85!g#{F|M>bHul>T)|K_?SdJD4EcU<;ck;XmQR@Rn1 z5tamE@Jh1%Ph!C?L)+e{QjrPTX^H^FCNDy3bEHTY1Xc~#6gVZfxN=aEK%8f`|DdR! zrBihz=T@o<)ZzM2Kg8pT3t!ItpPpiA$8Li4;}j_BW5d+@IoluEPNQC7(2Y?#BMQgx zpFhom$9;omk35^)bD6*Q3O;l-%x7@J8=lFRHvI^lr<}0}zrR_S4337)lkml7uHn?Z zZ{W@^?_~1HQ#4-j6RuzU0f*duA?Au<{7{p{v1HMu5+n)LMuS2@tTXCvK)V-{Cj*8@ zM<_c1duM0qbh{j~W&_>BTbRjz;$;`X90Gd=js)9g$3g)J{51a@_}UlXrEi3>ZwXXn z54pcd???msshH^}v2dzAyWj?q;P?F)j(ifl^W8uXp8o&937a5tA()hBVLX7PE^OUv zm4ueTGUNz+VPh(e{kaSjzSJg)!ZxPu%Ih8yNR5#lOlcg_wv~bVP_IGK6edlY3S{E@ zLhtj>T*b`q9?FRq-pry4oe^7Ku$=sUQ@GbtK0I(N-20WMu=kNIO#f(ssV%Rxt;=PE zVMvlBxC#hdbSykgljr!VO7o>Z;)HWXS$ILhwpnt`2)>l5V z?T}~Puf zyWIU`c{sjw4$pdW46S7X7MUy%D1j)FK5RGwet6OO+;PeAEZo0?k!qD%qrqIsMa{KX zJ2Axr_dS5?x`bhf<2Zz&i^_eD_`MD{4u6{`U-xG$4sGU^Cw>C9!|FTV2oDz2!UhZH zZs!eyZ}E)naQ^wAmNv5X;+L>cEa5gPsAdl@(G1WGjSkV9UBZt_q-76gmOv?jz@;%% zXQ3bC;!v1^sj*RJ_RWx$Bg(Z<{DoUF7zod-!0e}a-DjZhN>MO(1>P}>ay|Sp@R~5| zh?M*1{X-mw{hrU66$v#$Q9E`L*;ZzSC?rqW2p{?gOpn0dz6|y$fw}qvXte~g*bhg! zmZ$E(L%d9xxRT8-2hzkgE6ozY{FWQQ?jJ5PtCxSL?7u_F zm|F8P$%8VGv%gWT@+G5Fwl5*ph{5IDQd=|1l2XiV z-GLJYP${!@-yX(C8uV%b$si-@WeobTRK0@-AG(>Nm)^|%x7~^3`l6pSO*VoOCB=|KKlp_{N8s)BBiQH9>37EV^ESB1U&(%GCy`=hN?XadYu^ za2$uAR3h{uNIJqe0ru_ML(!;7ic5%c9MZt0bZCP!j(>n7&wyD^GRVOqw5*bIkXS*_ z%mJ6$UGZ6Z)IG45eYFcS8W!8KJE_&gKLZ7g4*b>I;Ou{a$?M>*fz%cH16bopCahc$ z?086RKmiS4mu(y7Svhv*2}35dGI28LK;9_BnpH5<6p8qv?X2zv5F}7m(qSd% zcRcIVbJ_f039~eyS_(*AmqFi}^lMG%IrP&$(c>p*zVKf-E_)nXKFjO*(}ThJzj7Q5 z(7(!X;j-JW;kFFk*?n|y4g$$~`?l3kYfw=0X?MldE(j21p>;@e17S`y=Pb8(46-(~Pp`4-jNf7G;v>+zw$NVc;#Di8#$l>f zr*hI1wIJf|+wLMxQxeaEdCkyB0~I)A-2}fVK*7>d2UR#YMl-XxL?!a28;a`^`5wJ^ zfzhv@!D@9D55+r4dR>CRqcuB^8%CrHQV?`Jm!(dVG?9)dwJ>C{)uTF6VWiez=k7h? zx8eJEzQfem2*vs#_HEt^{RC&Ufm-Tea*d;)>_g%~drpGSngHgl%_>F;l*2Wcn-fgF zUKRKNCD?PS0qbc!YmM@9CA3M$f$fpJDS|$(=`v~3aKwtD-twUPe3V# zStI=8!iWdQkb&t17@x34R0%|@VYLENfgKC5XA>+XU?Lcfpq+qYIoW;rlSn-XwcPV@ z2OhQ&*l}Rrk~r=a1rS1G0xENW&DM8J2_L;2!j>JN^OS3MUct!EUeM%YeCq61pMAzp z?zxGL^XqVefL^c1pr4TC8m}-EL7Aie(BuB%Qugg$WW$Fpy#Ggk`_^;lK{dL-r)&0#R}Kp=4K{rP28zv=;>CNE67)*5t_gE!V~*@MgAkmg8F!el56m zZ%K+fc`6fhztf%lxiM;6E!ph6Qh^)admc;47!Q4}O4saURS;2*QWi~t>pRRXEwcN* zS&T7wflp(kA^yF-PrK76ESE^8s<^FVnY{5tPJUaP2fsN*|7UxNoeUlOl*=K33n~cc z3Yf}7L8PD}eJ;;(2HCm@$DB6XlF;piAd}ijR_qV#z zSx)V^jdZ#xod(tU64>oPIg;-knUIXXy8sWS2(3+l8HGw$7Kpw=fapN(>2inpQb~%1 z{ecAY0x9}=3f7EEmTeHed$t{#ZDD(Q9;{ji?KaeBp>yfkY&m9%HE(rq-+t*oy^%}d zdhhzxbkxMU51l0-7*`k3IDeqg(k#L%3P47@fb zfxA){<=t{SEaM2i+?bHexVvcmoqvvRqm+1Lc!6w{?|k!F+;Q`n40r1ky_kn~?qH}? zqLb&0cpi@D(N_iSEX6nu{valuYta~KFsMX0g=RuUbkS7HRTc(a`jMu8*2O&i(3f)m zXNQQV=cv?5lzb26`=n{c{EQgwt9k{MCaAGG?o1Q6ULqc35=pOK2lr9L5M{ zyV{k0e+q#Bloje^1}Y8^LfJqifnE*BU^cd>leYR9BZ84VZw03bQ=fxHTNGYy{_DEd zYSuC%mKH>ORQIKZu(%7_p}-mC5ub0K`$|+H)lBUxoGj%gtC`kZ_qA)mXl1u*A5&ZPdo8S&$ zFRS@Si)Y4vt?o z4hHD|jdA*4ed)OECtY{%bF(jU=B>~wWRm)UcwF?_EALfG@Ih_y(Pef4A%Kmm* zt|#5G1Kaa((2>GbsUZP6wp(xCer~xvoF9rmb=iTBo(j#)uV-vFKx<8>Fbp3uK{DSY zUuYAo9;G@p0_~jHW|O?rr&ws=*2)AFB!iqVaEJ$)2vbHHvdt|NNB!0q)x%nB`&^B1 zb&11Yw*|+Sbl$_`s`)EvwKa!d@pjxaK@A4Po-F1V{)yAP|y3=u(tk6+smBRS^^v z1pCX%b`XjPD?>vT zY7|5&FEFHi>l{-&1yd97^Y6l8cR=$qLfcav0QeX8$8x1^nK~RN7KSvRRYFEek5=n2`2EuajDwM z{ek$sCxY^}Blxmy2D-`t#yD1K>k-lPuq)t3VbRWu_+9!QrVM_JDMzjcVDm$@Z0&F{ z%QjBW2&IaJnodzWF~MsGT}66m7Rl?EFw(aLH4+xbkAN03GLlDE6jI3;>;I5tyOY!G z`pwNe`2541^NSo>L0m#AdDvb7Z6;i_=n`;Y%Ccke%qds{efW-tYq;pG8QPQ(g<_Eg zJx1O#>B|li1>CkeQWcNfh{aA{)JRRv;W3KcpQL5oTn@Z)B|~?1Q$ecYfP%e^Jz?8| z1#6o4MAnC7I!{p`s>v>+O%({j0_qEpkIC;NgMsv?0W~gU@-Wg4`u)9lv*YxfHkI&| z8?a(xgXLwRCILlL;HScnoYRmmdLU}j;P?9{TMuCtakpxU_0<|CfjbLs7t6#*b zUU#6@7WgApy~F>dqdKVa*T!c_>3h7?aqLc}Hu3gXC{zGfG&EE{@aIFSIgkVziwiuV zNY4#LmnNYdc-1kccozuU`>NonZbdlFz9&fl1dDW>@g%MIlH6@erqO0}Y~;x{mwk5) zaq#!<=Z+1pV;rvI=Vmdnc@p)_^+al7ghK{v_Pd%%uT?m;caZ0IZY9|_iI%1e({`GL z6$#^L9(virwjEr{WkUNz{24xr*WAs*yN4L<5siyjjVuz5B@MFeyWrV4j2yFu*w8Gz z4j0dJuq=zPuaY0kQW(kOHm3+#9=X9`8HUK0s7Yn0KQzw4%kLn3#ItButRelzOFa6; zPUb!tX3ExKiXjm_@_o5(Ax$RlCWmE8jzIa(N9b#gBKUqZAsW&B1sDx1tb7{`4+?HT znJY^}E~3ClMW6v??+i%=^p~?Z5$WqXK>r9NQ{V-zEQ$hQ4<6ZT2`}ur5G#|!RaD%3 z3B_@Vgd;eXjcYkLwkPf}A&qh-Nw|9iRZ~eNlc?bcuk5uygQ)~F)~sXH2^RN2xJfsp z**K*QCe*+SI$ZhSbk4aog|T9U(G2wEU|O?Gjy9y=8#jaXJkRh24*kIInQHvqQBBZ) zP5gkz5BcihzubFLv$pFmmNGOfH%&MqH%%-fs&18{RLQa0K#DW?w;GahZ7Uc!0l_A9 zT`){tld8}Rw(d$u9vh7Z37qld3_-I?mqZi^rWZ?jIB3Wra^D7qM&JM&9(Oh|uw@47 zmJ*`_!;JP0QF1*Ne5jsNAAN(&2A|0bVhqN%qwCpTA~Q9TXFbA}R2PY%JxIsHSS5$H zL+jb2=|Ltwu%5gX;Hrth{!15`)mW`G=8hPG6JCbMN9rj0yW!0)pnP^I`yW1;)${LX zsBtx!fql@+6)aUDqA7%;am+}R;pv+Rz4kOSHbJBr5(99^r6b&N!Z5%57OXrPPJ33= z;*3CH&jM^i_{CO0J505R-BrqmWC*kjP!W1!Opy_L(-WZ~Cs^>pdN6q8!;Cr^B5~$r zP<(J!W^o;XMF_^(&5|U36lqL8cjywf&f1<IRi%k}$ya^dMG-}3_fPmO{m zx)-(?h}s*0EmTO7tyvE2lS*%Y89kUvbA#t7fu6G;2phSsXj_0_%en@s1`#E4g3(|% z5GPVY@?R|w|2NCvnNT-DCdM3F64Ub^TgY`AUMBME1=K{7G|%3Smu6naMQ?Nvep4py zZaozW=4a41w$Rh`4Sx2z!(Gkrd+!A1n)7)2(66)OfW-xO!l)t+-<_-FI7Sp2+J(hp zzD1nBwn@(G?4x1ATKLMRq0^JaEFF(>_j9}P^r`{s{%0}fNH2sOh7P)$-3>V7EZ7i{ z>Q+m`;E*T<){H`GhQSLzSitN>k1`Myj=ZQ&PXGWQ07*naRPl%_LnUcV981E$peju@ z1Hq&-O`=87*CUDh&m(YZlFD0$>8&ub1>AF{kstPPf4PBDELc1>i2D$40%I6@im++w zWLEBX0A9XCSXVJk2iNnd$<$z3HkC?+Xh_4XIK)zMQi&Lal8L6P_`W!lhe8^mkWMz6 z--c7Wn$AH0pFm*058pv5mqQOrPTm|QSLxyLkEcfd4$bBafg zyOGS*NAwQ=_}-TH?f$67`x?~>`kmry9JTW&_WtfED?2DXIf&znF2z`K2EdnuX$KtV zM2)zj{CR|T4J9 z+{6N(IJ=A)f&Lz-uZMUTc5H+-^WdlF%wW5FK6l)f!|pq-{QR3gcwg_4YP_#et)Sm2 zzQ$3zd}{AIPkycw<;kt+3E`r8&Rd*2-m3Z*k)*mUdA}uMDZy*Yd1(qd>%o3 zo{Ht5stQvkwlh-9V>vFWs!Expi z-b>f53%EA*8fTt4M7~RQRtZf;y~7%`9Nxljzde-~u3T{(-{JQ6{GO=B2O8A`{eQ*z z%xgS+@{8xIAwsvUBNr&c`MM+(yCU0pUF3?f%3=>?76XO3KMPfp0hUr$60@oYc(e)x zquQaU{Nx4%-*zl%96G^J!=FdIR`}AYC$D2wq%zkmSaJB?w6E!8Lf2LXdL(hpoGBA= zBV*_23wCT zkcnSeMd$N5Y+a76BMXe`i&SVL0aG(@*)JfwLyAwnu`830eu6hF5zQZsz)!vmEP%7W z2Q&Wwb{z0z(HcrXeGWPTH}-f~th4+gloMg@U2+1dqEIdrPy(MbqooeDZ zn}N8#Gj4Ze#F465l|=2kZ$C|UOi3>y6|SO5VvV?v+r6D={|NRgd2C;vTdW9VFy;y# zO^ZhH=%6$m$DG5%3CI@&6CdLjyN*=qb!~y#UPO}g7>fgCJZT%DafcR=5$PREaFPXA ze-@5?STN$e30r%Cus|bLAhp`w06)DFzVr?F(?-$Q$Q5J++H?g^E*dcTH=SH@p~>=( z!=MhcSAnI9actOwRv+rloym7@igWT8axA{UM7h6{K?hPEC~>GMz~cMC=z!aLRR<%%ZUx6h%tkqEx$5sk<3To>PUQOY(B3X17aDOPZ7akBMI zn@XXC=D8@oLcBJ`kYl0XV;Kew@hBA|glai>u8U>cw6``hGMvR69;Um!jbdd!m23yz z+%iNVx@|cv94Kuk0b=EPCBr5G4u~@X6n*BL!+`-=#g=Q zSvAl*woUmNGnX}D@>tIi*v9weZy<@+v1A}86tGts>x60IDsS02=&}H*VcBJjRsNnU zTG-+FOK82d0|${(E&1}g$r22fp{)!*{yCg+HLP6`m<_yT_u%+KtxNh)^kBkLczGs_ z90zk_(EcYdfk`_gSh?nS*gDL1L-owqP^9#F8P^bsoK}JMxM)-qJ=ktD%s60QnpT&| z_LaoMHv}YP0I5Ev48qED6wvQW(cBphJC ziXv_$o=EUw+krJx2okBl^2!r2|4<@uFqsaYJPP*dhVvhT-bSI78L@y59F+#A`ra`h9+#%@t{Cw`4 zHkE}(-a$tJQqf@1Q3ZoG`k+}CCdPi5Mbwm6(xT?s3^YZdV2RGf*nmnNhyV#4zIqL$ zu7Eqg4zCRC%Vb)(=k`BvUeoVz!tmScq0t6AA`7Q72+?|BKIm@XtJpt|&KN_ov&iR! zMyMz-XD3lH?C6uh6kLeK6FA8@{?G_+u>wH3VnJS^sEnXS3?jNpJfhR`{HsT`g8s9Z^6Ar;zkJRQf9|CpQct>Z3j_I}()A^Q+7;Q> zr|M)-BN7u_*_FmUu~cArrAjrL&r5|^8Vw){B}mGuRK30i{1*PBXILU8<~8sMPI+!4vx(NM9&|UpDbQ56|;yYO2R_Jff)xp~f1NvV|RuQX7v`bUch$ zl=@^GRRz!Uv2BO^K$hBMf@nNKHk%_~Dx-{bnSIb}Vi=(?rI9?2u3vL0|nH)4#xtaxIhq=^L_z9aV>y09!1 zMV=o|NfT~ltB5e^dH{t411{0D3{2#DVYi!?am(k9r+IxB&A)n@kS^zAmje|&RisR9 zYg`{BKNt+tSg?7mG#(>yVPoLS`!)imhwI8Yr5Z%)(+G=Ld?di6do~Ho5s5&i0h)G% z(+&b+9eg?u)(}Kz-%Yy)PtNJU>Vp}tnMoGnY#=pw=5W+Jk!iYM5*F(64>%gHVvoCYN=LR{orE1nFzD4Iqn9L6b?h$rJjA`v1+6iu&C8m*w2G6CZaj?n9Q zD7sGB_bK^4zN!WyQ9494a-}la!SOANZiFxrQOYF~Cs)J){Aifk#yY&dELqJ$aioEv zXewdX$L!By)+;cLaWUv>{L4qRf(GgjJAK#L7th-|9lAn zm>lyZF@z!lS%6fE#nAv8cBQH`A|iH_X%^=V&yh+k6q1VEb-`1lYE9Gtf%}JLNx~a5 z1+XoFBqAw!jd;yllDa3fy==ccKI*&JPrk;Fn>O=61lqbFQA5>;BH-*X{n|nudPh2JXFmWINp`f49nkHn1;AQCFn;)kE_CQkmd2f~1TpJlt?1aPbCW26WcK zwoB~l|cUV30k(6=#YPU@gV zBvEHtWO&6iVajCKuwxsKr#?mLp_<)SeC@M;0@&^RubDQ1vi=Xl*q+G3Zu9)hK~51^Mn$mvkP5SbWqZP}E`!gU54*l8 zi=deRdjziE>uCDJX&M?*xD6=^>$~ytWjtNSsEJ_?6$tAJre)(gE{YLCO~mm>Mp0D_ zn$ysq3%bGtqoOXv!}yMin}3T}mk)}eqZ&GHLAF<#rs29SiW?#~bvf4jZs=eO=hFT` z+&9(uU_$->AM$S;SF&RMMI)_u+zcQ7HS}i3lcf=ps#4X)6QEK3lYLE=IZN(2}MHT|zmyu*m7l-a>O`w1mOb%KV$Zi!nom&y9 zQU%$*m&e5Y>m&4j^Z(CZ?tgZ|E;UiFh z6~G1|LuiJPm@Gi0d?5Z57yreO7Uh-lwX7KZ?6%7siq^9%yMi9F6!OrQhwK2XxDtjw z0+Sj*i;9LsIwA^etu65Dv*D^eq5V#1OhH2uni628;mDuDrHkO}2f?S#5KZULTm~;M zf@SLtVd(Kgnd8CIMR09sIp-fYLU-RsFdkUIECsv~z?DiK08N^tH6_S|pi%=L+6+Hi z2zQMjeP>Uu;Jcgoc)Fl$6q9GJ~{CruG@Yt6GP{JWe(7sQ&NrYZp*F_H-L^3rfs>})H>Aq6ElF^iCKXvZ2VHBV z5+u-Vwn|XjC>V62MxcvGT%dz!t?-| zXvA4oz-$Pr^sp{41A()P9#r*}0t{}FM4H_yFh;gVw5DxW9-nR)rwPW=&^}8lc90!{ z8qn)P0kfe}3Zy@M(ddXK-rmpz;LGgYdBjyWedERvCM*?NUDAg?9R{QB8Ql4q?RYaL z&5)rU!L%I}biy2xIe>@-jZL7}!_*0ob|7U1s()E|PEQ|n=V8@W`0%-~`=kfi`7-kl17-4XQS2Cp+#e;A)Qz%h8_*0hYS=&!S_7WXcRwWV2zfD#bU%;>rlcv z2?e6zFiTf1r#!}qtj51h{AXj(4{_awXlR;JN z1x-CK(8~z4nSG>LXIsI)$1JHTLa);`*xDi3tdCTyz8{Q<`vRl5mS}QBlH$tkS%IK` zQLt^ZB#$xT(o|Fwp|II@AXpTU#U-ACe1}7%w1IO^fMttecM}pDAs(2D+7%eu8Yt)) zLjSWW!taiySLA6vd+ z#bW>*L3=^Xp804)mbzCU-47#6;GQqdAa(Vu4>vgTYxRp7r?>uMHKPG;Y?dLPcbPGe zW6d{qNB#aLx{FZAiZgZv7|x6IXgR?AQKiB!1a3BNugQ)Z%0xc*QBM1IKXa}spa5Hv zd7d#gvuHJ#N+9uCgn|OGQeZb0EJ_McqeJg0Q>nXqGaI%#M50hE%QcJOF#DyKNSb*% zCT~Yv*D*pWWksjGZwrS%ct1(CNK%1BvBFL-zrc2@o@e$eE7>${JK~8XIom=jm9Yy2 znwlE0%rX^CM^Dv}-S<&O=RZYh?rRiUU%(&EF;Ux@LNQOu2vf`#iM6*;*l9hLEdw6C zOl29>Ed6g3|M3{~TVuk5OT1I!6D?|nvh4YjN9i9DYFR8EH1R6IBw$6VN+T+X zR5K)5SBim|XpM-+I|2J)Y&1NYk_yx+kMo*6Bw?CG`M2Xsvu=#1tVg7o=mkcl`Jr(k ze}I~L(84gdSt{#LOw31DeQpuk-@lUViaaRLJVmHuW2OMZTSa+J)r19Nq@)SyJ5n9{ zzR&}$(zr7=2s{!FCJC)z$R%V$X@9sNIi2S3?|*FXgTMa$whMb1Co+ed2zKD1Y$NI4 zFS%{t#v6|3N}f9U_$43OW%ozv^?i|Db!DMQxiGvhTz@J2*M(5`CvY0U83rpUBj~0D zhAIvxZcx>S49K{m1)?J?n1LQ>o{{4Idv|5)xleG)Gr~r*%Tm>kMxe$QmlZDrQ)fWV z0=o|q7F_Ui$j^iMx4_Yt!C)Y@s*DO}`r!i)q9Z*SzfdMQ*w2y69->wSJp;92*y_pR zW80vWzzIR53>({8S$gPED7gZ79+CEX8r(REgY%4xC@3qUxVUsTZD4T6KhUu8cqaAC zV#q8JpEFGH;79N`YIH8|^ys63OBnuO?v`qN5K&FgeSbzTl`uA$3wquC72R*|2vQ*A~;Cq$O zAl3kGuLv7?ifADPb3hE)u;X4SZn$e#2EX|Pr`#w#1;c}43W@_zqk*4-a0yCrz>*zJ zi!O~s9q2s`es%_2^mT}@kZQYRz2!#oMP1LUf!vVv{%Ybq9i5D4BdF`4SxMt=Sy7%9ot7mVZ$%OWG;MQt9`H@pdTyfA%)4Pvdz#;;)Q8vh2=x zbG;i6KIgp1+!vBdo`l|#VB!ieVJakJ&{2XpFK;69-Pdr|b#Ui}u+O~$Z?vW*LDqQC zPzNCk@`3h9V-nm3@KhiK?Ku;r7o$?O98hchd$L{Z;}Bo(80a6Ynd~;ERu-67&OnLrexNOBMw8D0t(BTH4jQ zF zMpNUD#gpeJYd~9Y1YN&h@J!F$k9|x#bobK=$1dXP_RVx(K6A~Rm;Ze6NFsAw^Iq02 zH^tvz?u!;~Ss;>VT=>;i1=?o>GM?TzJEf45ihr~uu!7s~u!FvpHxJ6r?TKz)%^&~D zDYh$l>cHbOI~;fB20~F8=Pm~e-=wr)%8Dxb7c(Y-U6-M8-#v)lw25#A8V#A6G)-{g z0^Q_?#R4mw5lb>>1ZJdQT|fBqVPGfN=XtTa(gGi=WDSG^+MlLE&XlopMT1&I%F{LE z{PuVPCLOkj%A^Kz3!9jE%LXcrNPbp)P)edO829A+pt% z)zt+3Zx+=_!v7=ItXxgsq^;EL2=O?K79=?zT+VAiQv_b^7f0=Qt(@~4LjosRHgt8#b5%|bZ=sR$x#N-#oSkt&>=z#+B=5f4JX!jg~PL$_AsGfxA{;kci` zjDGNnay`bvG=h=-k|g?@Pk`>l@Vz~<^p%(MvIemupJers$50OEh(%-QA&tSlK@1~A z$k5SHi4-ktO{Lk2;ztZBu`s6Vk-$Jlr+ve*tmDRa`5{!}pE;@t`u~XTWj}jqX5;6N z{?(lRJ4a7?12RAicI}2Q+z+LoY34dXH62jyta1Pi1Z<75SpzjJ&8x~NvVZrb0*(4G zI)4(6EnL9TTkiF}2kd0;?B033GkTv|H66|#fJq|)IfP?!%t}$X(D;IT8_6K)2SYHn zCC3`m&-j1i3mnYVtS#=7p1H1Z9`kQq1~IAr)sWB#YwDqIGut$>f@`#pyn1%I$sD#@)G$Km9d_cU)N4C6zKr62yfy8)SEq^@LKFEEpV6y8ti$s5o)= zNb|O6Lue4pC=?1}qN^y9oWrUl+bPrGTQ|m8IB_AVyVlaJ%WGnQAAwOoFAE2|Gtk#Y z5%-wVuweIQNO}#14NHfXGRX&LIed3Vxcy6T+YjMw9EvD>{!$3P3Y8FKqR^~DY$~{2 zu(^VqoF_Xm!*fv_2itYu$aBj%^3~J}0v?H?SEl zUJY$&7|9BLJ@%pb!N@pD(8$vR%?S@WKCuUzwwuXA*WZ~d{!g)?rmL6=o3LA5UJ5{ToSVy7Mk7YZ~$>QvLGaNSo4X!=$bZ}2d}xar*d|s z^&OA-Bc59Fi6tL;fjHS(zIV7EQ>L z>bIziv8t}f4koI>>A`l_+U!)^~CDZL@E{ogIVJ7U}`8Hr!iz;s0KY@hXzF^kDN$?_1pc1 z=+jfY`qy`8Sbh7Csw|Fwqo^k6zab`^aoV*ze%=3gW=erYSKZBUmxmFNM%tLDP$kf} z7>j69fo0kbPhQwLgEA{A0t| zL8G^+U2ybJMaH~~I?S3XLqnrOU`C_@k0Qyl9D;C27#X9ZFtHK7do_IdOxQ34b{L|D z&GJn`6*bT94Rh41m=-||^kRBwnj>_vr_4*L9C9=ZozBPR9xVCf@(C!{#^a z`s1ZI!AN;A6z1`>j$vKTI#fkvQ{N_bnYjzK(ONpUcJlN!PoK^u{Pu5tbC+}fA!i+U z=tpi`Mz+(&s{{){oir%N?6_TXs zL(Vwvzdq9U>4$zlI%h4hEL?UPY~2EC4XDEqYXr8!OCJ-%*cm^7!Co zUc&TKAEli0aV^2P0ZL_YTu}lFq!xG?W>S!?NCP+U*(IjRqW;u=3s862je-7tytNR+PPmn{crx9tMN}A)dc-s#^pSC@TU$w zxHeu(XMZOfbG>|VjZ5U2E-Xb@8on~&XuH5>AGw)(?tnbE;iUl zOyly9Pw(9u_Tn<0{cDar<143an*7b)iH{CE0&zI&eAx44ShX3puY=!y2WCGC$s3`d z1+cy^@WPmueKaZqEG;qk;ZNbbFG2r$FlwN+4GaagyeV`&R~K1RfH;D+*QCYnYI70s zjr1W5R17HCFk>2=f15nvoNq$KXoc3+7Hmbv8x1s6UnQ|a9AlpiynK25x7|PdSv5ibn?|)s z_+G~O9P-fl4~_r(a?ZS99>2b%9VV5bCuoFuW789VZCp-oAAL$6eE_Ut)q8r{?-af- zRJDo?_K=7p^}*Y}Ij&UB(IjtEcd<(Hxb&kPoO1R)T(ej4ncRQ%HFH()M&2RTeebuE z)_qTYZ#(1k-)#AYdq#e;#c*+ipFQ&kBw){tP+udMv+qelwrw$XEmUOk)3d>F;n2DR z39HL76bq*eo7O>lEx3&`&fSy(KM#Ehn2taa**tiaKyua>ygDBY6~)7_VLhC_BQzQC zz@@PJUQqWEln@L%;)9x$i9~foisD@EE%ZrOu5HK&5sE}m(h-zmg^;J>Rw}5mFg1zP zw&V<8;i4!$k%-H(Ef0~|a^Tb4>p#f72|JKpdVC+xi= zhyUQHUasP~cXJ-y*ZBh_lTKW;!$H?Q zg5kntvtU&kc!e%L%cOtw`Td{qS;EX=X!{o8pMM5=`bAX9uE=zr5rItoxL;zT25OR$ zkg^3B-W=$S1g_=LBwV@}@*408xA8@e|C`V4yIi~9$M^eqOJf_c&Mfl}eTa1)3}*wZ zHxC&T>d%|We}ApQe;wIH%AmLEv<>;z?x8iJ4ustYLt^rYa~qd>9%AWa12ic-}f*T4^vl(je5NKp&Kzb4{hRHCjZUXuNwanQJp0GAR_MldZXX>1wM7O zvF<}V@!F;#@=NnOaS<2(qfhOfV*2oBb+bA1<=O@7jf1+u4@SM?X;J1=kO@PO>e;G5 zHXDd6jfkkf9uc<5)JdY&x3CzcxM%?zS8iO*WBmRdPvD(mDfeu;V$-FodtSS|L+LwD z`Q`EYq>%#27qS#Ah`7*j<^+27Z)WixtI75V-#HqFY#)>@Nt~Vy{aKM1ji}I~Kv|J0 zyn7JhIut8`QEU*F2Rqlp&wm0-&jRwW=jCE#t84O}!;1JZhJ4Udg2y{i&{DEcb(=a5 z9{3TwQU%-f!SSj19;V|_(KYI#G4NalBTx>hG&mt5nnA8M!5)Wa=vwzi&b`;W^6&Y4 ztMSht)e5>A?--4ToIb7LquTnz7r#RD6@MaE9v>+2J*a66Ol*TDVb};1@euZcSs9-| zEEga-Bg(DE?#!=RD-|uL0?QJNz0y-Lv$rPq%VdGP%36peG>TDJ7&)=u- zW4Fa=IBpdWU3>2`zR1G&>>5_%pDwBix*Gp)#6NP@0W(i>ADwl~D4quket0(nYsJQV zoAHM(U#3t*rVg#5By!i4#v(}7{nTea%IZJNdH&@yzp>~0ajxwbeENZTU&|lTP#k2= zK@alcmOw%9E#Y~vTN19g88*#^>8s$hGa(m(R6<}9zaq)B4(Ruxt|h{2FMb#Yo!u{b zipsCLaNja93IdZkyVrOqD6Z zhyisK_|830uz*%L>2ome3CO3U8rNz>KScB4_5+Wj5KW-i4sON94@6r+(J0YqgmgMd zBpha|SAo7!e8-|TRZB6cqZBICXkjXjjiKoj>@o@ps-luGBABj8SPN6MP4v1ndMrlU zydta2YuWN(Z*@@R-!Q5yj%vKCc=a0%yCiQve)Q>+7Es?Hy4AidiP~`_8M`Ln$WYE$ zj6ohKE)iu4?V(HFw{skM@eLjsd>ADz)pIx;OiL%ELXIY3|K|Ou57jYIgL1Bi$MP%i zJeXQ5h6<6G*kG9>;MPNC6wbdu-WPR%CyWormBE&99+vNa6m~d{k}uj#5ZRFl$m2=M6LbNfiK_k!tkcg_qV_9By=ojj6!1_{Pb!#`MZ#O5q5Q_GNCm? zaaES#Fp{WE(If@Dz{IXh9hc7HmbuVKp3TWC12pZZ0k7;Sxowj4mb z@919+EPbT+y}XXq_{T?e`K`vgk3OiaYh~Y^_Qr^crBtFpjAr$5Gim^OHi`a-T@g;Q z5(1tY#{brD=`y-t22b&Q-dRxTT}J1!ODgqiX77|;dk{~3UK)EL4bm>84u&6e&ER7X zOvYFRmM%<-UG(WpY?wkO0nKrkdPqI5Z9JVTm$kEbI@GH$s6qO=4UF#E!jCsJvE}&# zn1n*uhkN%}%%+A(M2ALDqA`r7G+Ia{G_j8M`V38}8a&UVXjT|@U0mNIF;u`YD^QyZ z%q<-fwo8MlVuz#5I(3vi&s~c(s`2cv6ZDmasARKjysDPhzuC_6OPYB0yE90(4>0E| z&#apMl~dl+g{~U^_^4vg)%e@uA{MrNc*f)BjoP%X?Ia$8o?%gn8%xmUs913U<@SQLi( z0SzWAFm%JdT(jpJ>>Jyg_LuX_KH_mYOo-M9bmMCfGoc(7QKb55@UxG@1?R!_d(Nk0 z-Y!f@r*PCjq{Q!JW6X6eVsMZfkm}j42wojcLPIS) zb^0QC%ZOH`964G@6cDL7`b>MpGg1;$oEGMq~&jy-x#!pPtIrtHM0K!#tWb6<>h?-0_>M z;^3PW;jjTAjgaeMCk#|YA#THv;-YFQb+$qwXOW-P!(ihboc$uqG2y(4piP=e2oafvO}m;BH7l=%rA7IhTXTl^?QGPZ*S$SO3V9lU90iFM>RoLeDr-e$6pdc zXK1?$$@6{yZyM4J498@s21^!{k_~kc$Q;$o=HsR@^~@F63BiMhbK*~^*y5Oy2kI0^ ze!PXdK6*O6HR!Y&Kze6di}CY2h{0U>O>TTt&3{(+NDw#n5ynwbb#* zg0HdtDvPhIg_~vFhE8#@KNYDO%%@+;StNhaqMkxHmGd}{OS<&bi9T0^%)08AwE{Kp& z(S&>vls6GoevglE8~*;e{rwaD6a52o2l`z09`SoWiOp7aT3ZLd`!v)SMK`*;3x={% z*{gsb0wZu_aZR!P%Gr?3NkVota3Z1?9S+MN$|}2uoY#+$NMhO+Ey-Ha&2?CHang#; z@swUNQen?zqJWmEY+!PdsMbYg`Tj1*kG#xdC^EPQrylxq}Jh(IK z7(Hjdqn?}aN1shB=0YC-yUz1sHgXAzpFDu2O&!p5lXw|MG>8UvVKZ9bsbxn~vo^=} zM?TK$4w!w=(hTuY$eV%juOl9XUQ|30OQkYt+og8y1fE!MG5%X-0J|Kx{Z81>3C#)k z-ci>uWyxW5Ub7SVg2(KmvLt47@|~NC=KvnxB4vlj*vB?aqyCG@t(Cz*>f)2-LsqzuZOHDBj%YJ z=$JQ!Rg3pR^BmS+Ka-&igIJz|p~3&QcjwVjS6KqbzrWg-q>{=W0wE!UeJ2Pa5JVQ) z6r^Fa1x1H;M2BHyx>4w{b!^-hw6#_6sNJ}Lt*Ag+1Of&^0EGauh6J*a1w!_!)RNTF zf4m7YzX{u0#t07LA`M~!6`nXR}CX_b^kGWpDkYh&n|7) ztQV7uM|@jo<1Gj>L!P$6*N-l`Vm0(GFFs6Fc`nKvcbG1CZYy zUh4_=9pf<9cP3I7#NqRb>X2X%dq9IPpdoySiNvwT&|qNg^0k5b<@KR-qhI3K#O&ee z!^z0apmuxh3FaUl5?-ZbfR-+eSJ_E#(o$XUI2i=3^=0^ug8_n)1@;&zBxfO-=c zLPXjFMB7qNgUDUS#zEG+(QMthk=MTWvvX=1e_Pjs@)f>RZ`OxLe{MONKWp|+d}wly zm_60RP2NnYLj+HY5#pmE%m}t7$o^y`z5in?B}E?GUg+K#ntgCM5Bxxi9@Z>|ZJogE zG;>pro5(zt$-h;=kiFp2gSSb%=@_lxsuOPlfq*!2ZnTKB3JSEi#Q3Wp(g(piESk?d zPvgjY24Zvp%qA0+j(YS43*lilg7u9UyN6&IxrJ|*Y+l9!WKZa8lnl_)CDVS)!g%NK zJry+%tz|(r^g9S13wWH++#;r%o7L&(j#Hw)G&;4>(hpvzMGfSjcF;3Jkj+fSMlG0!ayA^FyH<+Ph%?x?A|nx0{iD$I|}m zW5nM5Eg`Y+*h;X(#nLV;m42(XGH4Gt5$kl;i-)0J*V#80qgwy1(Th`tfq=*>`~9fD z5#M(ZamvwdgDtaf#Sv~pi;w!FF%*1k!5Rn<-OWzSw7t|7L{q-5Jt@y4nOtw$|7$iFj<;%;48_u-dr#|(#sg^Woam;CjRn}(24lRf=?uhRqF8ET!R6{<}$6o(#~^Ws@}Lp6$iAtsIo>ZQ>8Rp{f>I zd=S${?2^w=L?4fH{&TANT5r?YPXz-I-wPhT6O1KE#Jx7|fny)N`ObM4eu*`@+nDhD z4A_5E4YEOTP$r@U8g=SutVr=j;nj!<-m%S4wR|Yajw5Jus?H3f1vM}SL=&dd`E=Bd zeg>;Z=TsCzTrxD(i-3Omd(`X2@Li>=jqDk>^IgtXiZY7E@*H2Ew|42eChMT3%cl7C zWjC^}DYmvHhJDkAV$q1+9W5fC0Lh+sZ zz4-kiKsUFDbq50C^?g3^+8Q-*2ZLviyZikR8xHRdg*oG3{y-B)7es$mG^9w8!CCq- zGC)h0*Gp72@VGxG4-wAtEK9QAD2)omQklw0d=D zs}B5n@U1yc^6q>v{>U}wG0}IF1J5pjR6A#K&>#+@wD`c~1-DlmQx62igTZs&4Aeoe zKRoxLC_mUes|;2#J*KKuG>>ZWitB0h5M_qVy)Xc<2@kKxA7Hq57Qk@*6Ov5EccRpjw*d6}w`;A2jNeZAAl()tpIBG@OFyFsT0Rjd+K)CDbDRt}zTW z;qdSQnD)Y2hJW}K^kOtG^DaPekFVe7TfcSWeSR}t!ypzg**O0xj33%0KzAcpqakRA z<_58@fL}cHJLhW@F@{Q`h+te&3B6K48I{1sr|(4>7=u{>XCmBn2khOKPV)9XqpCK& ze(ciTVd+{R8}>_AgtK7x!2waTI(<5#yyw8`27HyGue9EDHjnG`KwJ_uHHtiMcoej0 z12w%9Sz>olnVLwS>IQt3Ui@nC^tz$N54tKCpVXGh5#9Tqu$JYrn7owcIV*OUYvvYB zJVyEsup6MtDaK%d_+e1AVAVqNm^l28_onZP<2V9h#||Q;arz;nqKFERU_hivqN3rc zdkr*n-KZbmrtjMQ=#3LToJP)GmAG00eDT3Kw;!?|V5o z{Nlig)h5;)2#B?v{;-CLU*qhMd;f6S?0&576QzrGTgPn*|BbS_-DYLEvRqkjTdy#m z+ppBUmaa~+S(0=`oqYA(A;xaT^7V7?YIE3M%z*XVNy`GKM)a&`tP#6aPa|kk3}jDB zhou`bc#MfT`ft{S&K@^9VPcR$i`P)P9M$4*x{VCoW0(WPhZ`{rzkxS z&i!KVD|M4}kzS&ApQQKHERGw%-v~|qCN`YfNSa5aSo8)_tzj^Wytqa$O6B}M(L+S1 z7Y_kJ!=a|dh`x7{bm3$jwA5-0eDHs!9GJE8v$@Cjk+2io{S~F_;BvX2J4sCZ8Qr-Zy<)Uh0-yQJ&{&XTf@7nWZ*4qcpyXagJ?c?K1 zW+@#=ot(oHtH7y+7q^02J)Z7$fxAhhGmI8-^jxPCLkTom@%g4kut&nefl!;rUgpyG zGT%Pw8YEL3QmgUp+fS?vf1}R_d-_dh`=Z+kwJYd!V2Om-4&ZS>pct%4$rC!xeE5C< zmf~{EaF|a%)Meb$N*Gh_15XDLSeyNjVoIjHIgz^Nx*xyjYm{oU=M2xWr1OWGcUZYVdl*AsN39T#exOoXtrGe4<;QHB5~4`u$#DFnvOHqy#(N^|0)bAzcu; zgO*w){X3?TdnOM_9Q{!yWtF0&uC4@JJ>iL|kd!%=HtPqE*|zlYbGq5}nm_lelm)e8 z_2C|L=*ch4XV?3?CbEc(pSo6;-#wEaHOZMZ$@4y%)s-|OYN54SkIfmSX5^EZoNY_*B}v%vz6YLN;tYam?L zhF($KIBxY^>{}yUM`VDOTBYLfM?^!6QgMRN(gNrquMAQHm2~Kk&o>7B1z)GaT|ts5 zoUb3yQiSltQ zJLogdahds&cptftiBZdCEAITgyZV&0x15X^d+sU6eDT!Wd15*oC&cX|Kc>1C)?oU3x-u=VVS#L|v zaDLnWfz@*oD4ga>YOvQgTeU9b*pe(9dF86h&HLLMTJMPz7tT9!_Idcv)Q`LW{k=Hh z-*-O=pIf(QTZAqT%Ts9D?8Y9q{Kw|onwJz0D$F>$!LVFdPW;1?Uy7dM9`6<`z4qF& z>he7O6^!8Hp#H+!Gn?t@}UxU;M;heo5rN*XLT+@Wxuy+~b8QlG9dEvSj z!+yl-n=h620+xV3r@z{?j`_ajs@-qS=yaLiwO`RJ`}(6*Qx(V7&Zrk+@;4SA@i{6s zU4xNF>%wlXWm!Bop8520*B zZ`048c(wP$e7VP#M;rF%ICwTSSzo?+)vW7leqCY1&#c8uyw5T_SMxkwdqdeKBE~gZ z{)yXx`R^N+?`yt(`0kuj=UNVLxIO#ujjE1y%;~x+{oYE7F8)9BEG=DsJx$?@$_hJI!%xh5F;7B9R7TJwH(TE4?^kEz^3djh%++?$eA7p2zMF?2)12TyFBl| z7qE8X>W&~F@aX?tpdcApIRE|!kq{A7a?85NcFiJmZu{O|kQ2~s$RwH<_oHZ>6_iBd zhCzz}1kkt%MvN;9cENpF(TG0i;EM_}Dg%HKjX_&z9&$5OYc9>%KE+>OZYFCG5Q6@- z8?T)@QYj5=jwVN0uU@&=$FICI*kmGMD5OF`FsT0@J2$=LB_q!IR z1<{7y-+jEey;-V{1#O4@{nDa$uOk?wA0)mPhO+y)v*N^>jaqt>+{Aoneo_PYfq2SY zy0)W23ezhIqi%_}Be>)DlYZjQ2=TOHEdS(LPfgAQa+|NCu0oI;KUqKw%5Ls1YtG+i zse2a{%% zOaD=K3d{g>JQN{m|GOYa2;`c{4c{!{i3WTGm2ZV*QrO=*{XFOmIJfSLa`QO1wot;X zP&Wts>OJa4dmRdUk(c8zvJ)88EqH8){ciZD_0#-gV$v2+FVzBrmEaIm;5JOU$6St} zPEB&is5^=eh~jXJ>0}x$@a=_(y#Gc7<3D=aywK*FVu=a7^n;`Ha=n8)_hQ+7dG81y zD*MuqnhldGLoe;|AQ#czm>46*cwl(ma1b3n#J*dQAqbmgzC)0SybSL7=omn0Ub^1+ zXwGD@CURbR>`TNLUG%Z}^c?o0?wd+abODC%a8BZ<@P7k}Xi~T_NG-iy?J;q-!403s z@17sB;pxclSMGj!XWpKXA%Kf8#=xNR!*q|Z@MJZQAnLkVaHV4su7b95oJ{nE&CRaR z@*lscF!#TfSqm$Kido*An*&hQFqP4M|04+de*|Ij8D+E@LX=7s7=MdFlK3hLeK3s^ z!jJ)-fx?)Tws-sWGmQa2zGGc{AIp4!Vm^yX<^_DYNi5sFrn^{#)78PVn8P}O8%#vw zQl$qn_?rjL*Q?KP_cM!#{QLAHQoIK#wWHQ&g5jkG5)WU60b1{);-&%Q!j4BZv_VsU zG3Jk2>!a4yX;0{MDi7y&xERjQ|6NxIL+s~KX-He}W1{TUaefDJ(Pi?_G{`i706`B1 zlC&__Mz=Y(`Ex5>Do5b3$2E-`c(jo# zIDpzQ>#~zW;P%SkM#upN$t+X1Vh)!S5qF(ff29G7fIZy~&A1Mg2Ga?9+zlrK_z7y8 zRZH(%`g`+&tW!V))hWmqf82Q7Q7p@Su-V(&`$xOiTvOIWc;?~-{-WY z%eFVz$oH4T&raY_1LasrkcpB^qEM0%RAt&r4!k#TJhY3G{nP>*VyBA%wUj2W9GL4D zX*y7GndBD!+eh?rzvnN^0Hizw;jZpT@DC#_Ujzft7JeuCR=>J7xij5fcduf%)$N*B zb(y}eaf9W*LZvhY=?l){#YI8uuA^Uxz7)D$_!Zqp;vrUVP>yxoRe8}$(e3>2mm z4k}9Gg?S1I+Z>9c%g^~W!Z2F$gZCHjci$OprdyF@eqhBZ`1&DjtluvTzhbkc7foy*|2F&?HC+#Ug}Ypz%O#MHI_k`_!ex;_mMk z&y?s~0jyQf^X~`5@Ed>T-HMT(m$$am>9pp;VNPs-Z0OdnG>%eya*>}K%u9haZnNm2 zIB2vL?b0w7n5PEEy*1MB6uGW7bWRrp-J?$&ySHb zM9zy3rnziaTAr`DNLya2#Jh=6GyyR;a&rzZ=8k&;TP&;AdL?=-Qk%FvT00Hb*!oRy zoBT?az--uU0dlExah0Jdx3lbc3XijC0cl8meiL8F+r598_?>_g z`MNLjN8QM%{OMsZ-2I*ggWaaGXY1FG?3RqSo~{C2}`DQ2 z&-13Ta@b4Nk{;#_!O3NUh=DK9gB8mB6Ey64Xo%`g<#B4A*OMI6@lP-;^cxV+REHTc zw8@K>|*XCJpE7DvUpz-nz#G20V;m%a%2?RJ-wX&8y;OPs|*KH{XfRlz5F zivqcKe*~)tDv@eLqKUwl6!Nj@Z-Q)kZm!pJQ5Ea-BgYbAwl&^4USDC00W>20wGl@) zGA}e#N?7s_M;ami9CAh9nZ$T)QM`sSyh3(yGiK)6c=Wx*n9O4~7n1-#j!di+h4X-Z&H7Jt)62gH)`G{Js8+sjM?gg=J(A+M(ix(hi zNP%BItUV`(KPQOy!fwkpRE`P%HXc%Ve`e#NuTD1peK5~C;|KnR??H8CCNC%2RIhHslEdioPFsa;4&bx8+oR)-hj}Q z)zLBc9(q7V!(-&G92S}(()-Zngh5D~e$_ahEg<^A#F)A5SjbzALv4j->&OAK*{v!X z8#!ZYBJ{HV?9()Fm+iF~o5nNFj9tR2iOH}=TcU25KzuOmJTQS0)4>}~ z%}*szfEfOK1kBdz2>mnFu2EH-rQ+s?Wpx%}2`};x9DAeWoJ14B(+;rTD4#wiSqKS( zkPdP#8&f8sgsoalgqBGbksh*(GA#XuVP@Flj=%V*S3+E2sT#Zo`Q!I!MxIJOhTooG z5m?uw(19^N20DfqRFnnL8#Gum&ncA6*Ia3r7_V>tk~XJyhn?g07z{BY8S#HSY(#_o zuKuw>7BzcrIY^QooB=unap8#kaU%sMM)=gmvM(!eyF2AQPK@IX-2RooXL>11Mvm3* zuS1hsC^6xQ8wGxp2gPjT|5^HB??#4Sm}WtiJt*HhH|MH@Dk#WgpVr$Ga(QGkQ}C6CR9f8)^b>~X8GiH*xcXvYW)KeK8zUKEIsY`U zNB%*CFy}R^uIk?_&nA-=xyvs6JoeDYvvumWCPB!A|Gbx7?YjGnt`^NFqx$2!$gd>c zPs>?kj1JN(VSBOG(|Xzy(a@!H)q!(BJz;yK0PP%8|+D} zpmg$;vkR`iiJX-!l)ltlAx2$k`Nw8dAD{)Jg{C~taX2WoyAdCq(JgS=6kZ9D1StfL z61|fZB~dVM&kqaWO=!kNLz7q3R}qm_2t}3&!T2kC)-ZB%UWtNr+-DrsyAyQ_9olE# zHF0a>GyZVxZxg{gpLn#A+s75TxuU0=+3jA%T5e)%)N$Hab8By;)&$o;uf;Q)P3HSy zTke!ehMC67bn|xujsRo0;0h}4KsA|M7}MYSeS~BeRVe_;yf814S^cM;P+eaTy{w;k zPq2IofCDK5It7$NRI*pF(xaIn-j(+vp=3mmK?oSq3&H@u3Oo&|2FA*sF#ir7#^ZhN z>6mN#c0=%L_h?shdM)@q8ZPo;f zC*R3TO z+W0!`AniA=x$Nw6rMJU(ic@GZLz=M0+t?tXmEcnbyDzWRYy3P0P&Rs_ih@i>&DeODJK{M-V>;JlPA;*Bpf(QyWz9+!OfZnp=ba(z%t4o&_8cLCz+UjoU zN<|LNIDknE``9y!>!2TLj9=M>X6}X!fIe#adQE-ipH{zklHXW>A!Z=M{%`RSj@@4y zosfqIE8UQMR7O8;EM|@RlYUrn;Z}OA-oZc5yB|~;W?&KBhc~Y&n=Z51Pgt+fwvj7~ z5nyFd&DGmT6h<++{G0;g#W_K7n0|((rN_(jx9Rj$ER`mR3KY8!z5Zd;XDgN`08QB4 zXa+f#ROPg~Hk~-yLTm<~w+^Y9%4$0h-;+8q%MEtMCVb8E3yQ|iT1XjkDe1YC49|m| zkLc@vY~=xPhAazcKVwNW%P#V%V^vj>%U=IK$W(RvDVgt9+u$X5V{c1LlWVW)RJv_J z{^e%lMZ8Io3K$9uk=E5JNfbHd6S3Nf{u1z>v2HFWC#z|oe7*jYO1~}{-1dU%DrX~(1$z*)DeYYw>GaBGfyj@rv|4>&o1xV<;pK+Qv*o+xbX@{J z_)xEa>Kb#V}MzmP(c;AsH{EuV#I~RP!k%9zA__Yvzi~6G*S$I?;%W&7s>Li9WM+6NZFhKBuE8$>%C}2g!0oGp}0D$lEs+ zi%XYEshOS|`hQin-EfYPD_Au1Y$|?4+VDq}3HT(vS*q*~8Yf>kU@Fko64GFhxUHX2 zN06b~c!O@GA**^}(**lU_Y%4G=WhocB2i$zh*I0(vR^KUFs25k`Zegkr|xF0lbA|5 zH7xtVm-LOf_J(!j31e;og_V%WwM2`s#tB#u6X?{OcaHRgL5h)1DOyEoWy{23^r2Dk z5oHB1v`)PPAY0=e`=rRhB~C(PM*232!bhqzpdl{YKlnaA2H_T5*Rr8~pL-GIA^1K} zP#?aHy)pw`dEG~PWU|?l%XJT*LTyJp`#M5v9Cn5?o3gx)vRL2)-;vs{u_}9-70(h* zD%S#%eg8(v3-~7g-6L2+-n5g#+KIW}LWAv4Rb50gG9Z}FZU(9|2apx@rN9!3G z9E5zofe;s0FE%u$!UL#%tf}=!l^iiu*Am*M4vp zkLas!T&17jo2mmN_N>GU-ND*8QT=0yDO4bYXp4x04Fh*JqBkpp{d?RNwG)kjtmf*%b+E4P!~b{k+X7Lel{ zv_sWH{Yxe&tUvd6Np}75B?+3&ik}A*^DKm0=p;lqL0Z6+4zAmwo01ywnykfDgDSIY z@3kjWXUO)2S#*qV-#pWoev(bdaqWKHUkMxze2j~{yrBN$E)K0hZ|H27*(^7*iBb;h zMeSP}O2`Zi00YLamwtgdlMx1-_wSf4Hi36As;dpLw>g2^K_y^Lh%Ek@lAYpgu76dG zXBvD@4fB2RfCMc!PfOF?co>VQPhY`mOkG#(#;3T-fy&LIwOpUL+u4@q>lP$45Sn3x zf2c~pJK}G%$$30A@w4>(W(BVE4!W7*5SVEPYanq@z~oI`uWJ4QY+Xu4!5Uig@1f9k z?h|~JPt}FIf}r&v@CcJ2_!c_hLL#XUA49$M*L5(V`I+qxUXbj|9ZbC$bx;7Z%F_M$fGO+a zS!h}ZD4ajLAghc$!Q#;FM&K^~v!F3Yo^Ug6`xlMT{1Q4^HtZ5!l$pO3aV$1O>w>WH!BU5lwu@ zbysqOm+By*z4_`-*1r%A0#Gxm@XsqKVoBNLIWLhMm}eSB??SYd^HO6RPR-yxzi>Jkys}vxB0d~`W-ZehotWiS zLcw(|b*$Zr63d<|>=e-DE%!IQ)Zm{H?T_hcB&y;EzX3zU9{N$^E zXZ~6(ovvE(vW^*4MugDPqA;yE)#cU}d(cz_W*C^mF-YWpaoE{~_F=*(2LrPfjX>Z! zYq|J^?}mq0UCv3R)^}Tk&n|vh+1RfSL(XMKGS}?+NoQE=RZ3^W zVos*&J)8fX5ZeJ)?jNiv1v?)r2TMilcyvqr*Ojq9G)8>yg?-lx4@ZlN< zAOVPk>#9aEGQdc3)Wh;)nTO_rhuECoekodi&bL&dm#J}Wm=b($*h*blq8fb;v#wUd zbv(Ob%+U+b!hwY(;INW{)01L}#a4NvL`&GQ zEDeWHFpu-RdIV=&g<3qAZwv~nAE`fryJ@HpoE~9fIOz%sQVvRI=$osPV^h2Q2O$nJN>iWoywi7P>^jus_VpYruu8CiN|Yn zdmQE)iY(xZeb?8_5Y4bz9geysFf|UE=O#GKkfqL?3)IUK-cD>_H&Sm!C%l_oQ8Hec zK{_vZH7E}gNNCmr`sNijl2;A-Kv#-;<4~_o1rF|=*EGs5^&E z(ncQ>RHaNW0avvWnGJOFS-j8UlT}FwFEXxMRipkmgSI~B+C^5l3sx!wf`~Y~fZq-SW}ds2hJqb% z?5`TX5?!kvhu@C)5f@cXvGjkr02`HVt35*gg^V`vY*3Q9?D%&a;!S`l&?X(cNlyuw zI{^K|L#Tf%b+jKH$7s6U{mM=fLF2O^KfEN4OuMpKB|29@4azi#5-ESpkH83p%|%Sm zf;AOMw8tZD@!Tzatrrv8#G_@OvXB}fV_B`PcLbthTVgEpSb zS_2voRivA%5CK})5<~3yXXD2T+rKgfmb3fnEjwrrJ5FK$&LUtA+}>g&0~CSE!R2Lf zb>Q{wqTN&a&qd$i{EmD)M77|tUwq?CK4|~KssjX?M2^EB55k&I4=9~&_pgR7?Pod> zj4#b1)9s7`8C1v~?{KBgeY7)z*(@=H$FfB#Azm#fU9vLbGqXl-l~6zdp&w>r9_H!l zRe-#4OT@>5e3#(mju^57RrtErpGw|b#Tg+_Hg@B{yP@}UHP){0Z6?4`x(y!xGmIt2 zETM!?Q9MnH7S^8RV7@zq8g6*jg8i!}Hz=$OndHFVlMH8EpoT^trzqp;jIdnlN8>RC z*dw@oh*i`-o6R|Cu4|LUIrn@MJiBUwSUK$dAyj$eCND9a`pxU zw{uJ2(3FQHhVN1%bS4GY(5iJyk|k4`P0eFJyIrQU+VZRK%+2I_Pw`)E^*z92Jq>)A zsdr9=(F71p|4Lo^gx+>vKn8|uBW!Y=AZ3F_P*sSWvxuxCgo`6$lPopW>I#FDA)GkR zZj*-7$t0K7n>UVPd}i-*yLVrp*M#0W=6SMUSf7gO)66a~Fi6l-rFkoqM}aC8I^wsZ zI7-J;-P7WqdCfNaoi)s&hJp7t^;yArQXLO{al7RK9MO|7O1XD6 z{M2!I%Q;T2puEg%Fdc|9rNS_4;=ulX7s|w8_LL6?q@o~ z?z0K;=QGEmXA-Tfqignar&Sr1rF-TD^vDVBq!-}XWvLz%1oj+FTt;Up-$Q2<0eo*u>VyPuWk_Gia%i@>%k-pZQ>LCY;L0A&_V$zPgDNM z93J$aXTL2^KrRf6YFJzGs0BH#vX2~H++5y@e*yV>u|gay$pVB0G(p!CZ*$iUe+nhI z0oLMp-jN8?NI*Po*)lyw(IA((B$sO$&7Ap;B!%rd+FC_B#c31}9|>dhQQWEBBYJh& z0M_@N?`>@h!YJPAyfFAZVihaK3 zVZu3+<3_=N<-zGTK{I3nz6V+X#QgMd*CMZ7;fU}BEk6_rmDEBrW$4bU?plV~=xFDS zh~A?^UK=074jr};f*qeK1$Uqsp|cW+GPhVH#Gy@m?omD|pM>iM%xk2iYj&cW{OE3@ z(ZfTazsBxg@S5ElciPPlQFH2Rtl~?a?KpO{C%m~>Xwxix%QHqK4Hol3{pOLWm#?GW z3j24(O(2&-H0L4YDjAIGTWwKC=C!1)(I%kLQZ;P$SyYSz9XJ-4n_|&Zy_7eY$4@`! zT85y41td{SEL~O2BY;sKCJ1lzv^rrLSdML~dpZ3xHZ9Kf)$P29R&UU(m~fA`0Jo1% z8Yb0fKA5M50sDJ_6gRXxOPnBv9@R}B@Nm^qzoU;T!AQXxJOyegR06@` zLc!*{=ndkl{hMe;0o^mMQOG{MzR&`GMByXgN1WU28u%q-t4+zu3Gpk1;5P`1ttFmx zbfvz23A&RzrNs~!DZFn1hbFn0DCw81OZ-7_2#fLe7WRc zK1Ma;Ib-AHv;FDa(mm~(3xlH{nrtqKV+~fyY|z*#S49(<-_Ei2TTW65TTYT^a?b)t zN0tpyj*_JK&ne-x!=&L#pkYT~Mie*6+d%Hpw~e~eiIo@dP7jfXIwZ^x7g&&b2BA0y zfmS)xn}WhQ!HjLz4P?j|EV*nWvs?rV&$Gr>Fg_&+Wt?+BK~nOklrJd{e?TEQE-e?@ zha)!F2I-!{eE)MCS)}LeH)?dU*ijkVFqSKW5i?d>VVpOl*>>PSxx3Y_JUaCH zi;!9PU_GA#EG6wj2&2T_31S)^kMT#NCvZE2&ss6(G+*vo*#tPl70hXs1rgeqz+*HkgYF;OYliXIO4l; zLa43~HbXn<#zdLo$Otw=-?&L{VuV_alE{zQ!UWy_l$n=iYEL0;i-1a^d1vnWp_}O~ zOEvOnfOCS=rwF@H{MyV@5xokB-rWOfa&4FG1eVXqmR~&|273&U28IM!Vr@9 zSDOE-Mnc+r5-0i`_%(h=U@SViF?DQ&l@I8D5_SqIwzQ9 zfdI9GH|B|muH4nC33r?n(l=T8LWzA_Ux9~$i|4L-8|0qS-Y>D+TFqmS+QSuP*$N8+ z9TTSRUFXgz8x0W4EP>ZIckeGAVle+;4d&qp5XPk)DO&Z=X?W}cc#PV6{U9|zy=0O2 z3{p(jBA+s_MzjPqPch#~=JYg+xY8D_fMJ!nLTfQHkxdkt7PdGh`KgrtxK=PrXp&rX zp<9lyQC6gp6117On;55~YClg2A%6-*?|_p{S(2TwWR zB^}-E>AfRg-%;xNQrc^Jw^30q3R&u3#HSv*W%%TBu({FIt2m=L&yudKS6GYfaa04@e+lMY-LuHuT`>=4g;eGJD z9p&8-URAB(X4tgd<2>&U&N)1csdigZrQW`n-%^qcF84Qwnsue?zz5d^x@xsTSh=l)lJGgp>ScsRA+zu@k}kqyC@VS-O(oWsa3(Go~$&Pvn4g{1mQZ zl8S-y42mU5OmSQxRvW}Kr*K|vZL()PRu1IxxG!n8S6k^nUvXk;B@z@`x=hMpF=UJ= z#NvZO-rDh&Fh99%F~f5%fjyh8LN`@X@J6#`mO;{RP!2Z>n9KrkN8-IyPwj#N4@vQg zt?F&*_xrPs14LSmy$)advq)LkMp(>K0lHd{imo{$S?SMn+OT0uJ9kWg_wJiSHV}N9 zHi!$ur`^aLG^Y_|xG#@M+~uORIkV$Y3`?U zL(Qj}%4|0Ufk<7iAm=gX6N?BIY{J)3}u*c@cO9>yqQL_&SAsv5=OuWPk@Za)#eBuyl+Gt^&lmk!ldbdixsX`@p8nW*^UZ}`H6nfw*ZQM%<>6HyStsqKxjEX za%`azrh{~G7(rD`Qd3L`l(#G3YfCX=auG6GW6h}L+i&F%TMi%`Yqj86~&cWxU(FO4^2fW=81WzQ(|8v6Jbn6 zru4_$zSU>wlGi?&9{YzKY3I|rwzzgf4t>V@NfvmOOx1;erSF$Ydn#Lu^@uOj8v||} z6f{0$_!lB#J<ZIycM%a)p(ol*<|c)N&59%qEfwwfFZ}|%teNm4QNev@IJ)@iPex=)NJ8s0)daFm|b_u%7*U6X{sUCG8S`1pT zJ0YbPYd^nIz(hT$bmDISf_(+kC;sco$E_K4D-Dr>sjp>uLWw(>Fd`z+oOINyMr1gs zXpqDvFhs>(7)Rw~%sFVMG6+L!F(vTPs z@&}?7<-}pL82*vvR_B=}&J3o4m5^rAPvFa);P{i~_vJk2>5}n{xJmD2sDIy`6C`WM zs0gJ<$xpsAtHwK^RHV^fYM%9nI8ml2#*zbUE+7SEWicAUtF*y;J{>`YTgJCZ^TQ_I(OQYAx6(aswpNBP&=0U;_T(&1B`?LX{OoMlF58OH?oYVD zGQu8CwLBL|So-p}V^-!eyTFS|QEXw0Uyk0l_|z1daKV1%kn>X$d4*Z@VDF`H2hFBz z(%pG`oA-Z!ogOwPz5A3Zs8jTFEpTuz!Bf#M5j(7MaJ{NE#?C6b7x&8f!{H(1z_)tj2RACvv88*8MIz&5%H#+zZPX~$XoU)psG>t=QuM!#?Ub;MkTXUWmnxW} z{4`bvR;%ISUx?Ib!*dL2X%WWQ!@8<85a0!P*BD_g&3#%U!WDzgG~!7+fy9jOXt(CL zqi$$|>nvO`0aojpsA8g?knLKyW)6JwZ0>&zO1&&y&%m%9jpL@vKRxyENACe#N-S^uG&qUw5g9?^h#d< z(koma#oG;!ZzJi=5Ax&AkBv=Hlyhu;3idSb{5t);@Vo~6Ntnb-fz=w(Nth!|MF$G8 zBW1MwE_#ZN+PoP5V1gSk0_B0|^uh{$i=q%hHam{wUKh@#c>*!Apy+>kR^}9;NrHR- z84u85oO`bNb(KKu)r!1+Blw>*lA>rP#|shQf_j;hxc~6I(&2?3=PN+A@KCeM50auv zJ}jvbE*@>dd!c=qczkv^G+MQQ&8mh&9ZD3Uh@q|zCWi4h#xHEtToRTbUE~P>ke$Ee zrM))aFEQAMv#&@v+2F<5#Jl7d)r(WOh^pwr`dNI>UV(QxAO?4if=bG4{h5c9<<*iH zLQSxplx!d)znF-Z3<_r9IH8Z|-b{*rrctF3TE;N5h^x1qf|=NGu7h62z}#s@9d_BV2qkiUF>#>p&sV+lF6MAZgdxUzRq)gxt(rt+3)w;b&;eu1+r*ZF% zebQz)OS63P^=#&6Ddo_bA3)aa_-VU)3uL14oPr*@u34p}>sJFil)i zeqb)RM)dNK1lK!FQ%+60L_49v)ON4Ptx#uNP_EdEu>dq_C)KlwO#8IUVJOO^#T}a^+R{%Hm@O% zZT*HUuc&}%=Z#wenU?A0lG~nu5&jrHtY1C-h)ysJ1S*-EDNP8MON?$<13o6YmA<*K zc7(hmf8l7!6}0tY;%7^m2};4Rw8g|_V7=LMVBYlePlCQk3?gHR$A_VdV`iaWEtH3O zDMSwdR>9Y*LqwTi&2T_3EsGl0HcGEWn1l)q(Qo>pXfLZn;v3VG{AuC?#u$X0F7=1@ z05zk~Ih;m)=jNeD^0NXYHHSjsf{5EQO+^>nDL7C(vE_uwpQA9ARhB$r6028Tzbp=X}&8fyN`%ndZp8Avq zEL6FUld1C#eDFhHN{Gyg1`BKkWY0mIgT1$VfC9$YT5sh_6QQ z&y(un`6~Totu*aIq~-;~Ke7si{iLV<96&0e!Gd*!galX&)yiO&Ge%e{ zuGsEVNox)KF?e^g)#bo8lPx)AQpW8y%xl5sgsENk;GZRbFc+n;|EOq9^5jaj{1sG_ z2f_))1J0;hkS?X(E^#`-V~>vKxiEtK0?T7RczmTh5VkVj3Pbv`yQKn`G;myZm5yoE zA$VaWh%$|U=}vPl2DneF6$HwsG?%9sOY(C<%^2h1y1&Ribk>HzQubn?RdbOg(nKT? zTIwIb<0pGs3jOS+9?UZnx+)@g=tRZxTkLPn?mj3W&@8_y4-<)BHcF0D1E;V8D(+cU zyU%K%(i%O8m{kj{_w55yp5(pS!m7lLbQ?%B6H4c+LnyH8H!_ga&*-+v*j8FOT-}vR*D3Mcm4(q>p^6Juz?TuA666K;#6RsjQJY~y6{Qk zHb9NhD=py(rIh@(GhkdxdqN zRA6(JorHbH<0Yh33et7zl-QJNSMZ^5yCvCS7xAoYqOH54N-Jp z1OY>OX5_KxgQrLnfd(|Wcck{mVw&KbBdis^)SSIRvC~)spAxZ`_K1uIdm9|Mh2JGK zO*N0xZAjW_MYo(nJgvW+pKXWI9jNnZ6)s;5tD&~XfaMRW`MiH60@6HhmZ2$(6J2!+ z$0c%a)57jZ?G3{($v2a{W|vyMCo9u`i;oLYUw(2NL3QV{vX7n>s zMSuGpUU5wji}7iu{;)_)?H-!)-)51)9QY!g@SQ*)krM%_ND0*)Oi)*mDWC{?oDl7F zjU%2r0FdB)>qa9-k%s}ur;<%{Q@|sRUL-k=G^ALAMxF|^e6re)H;R{-@l#3hoM(lj zYVI9h0@A?GS?FiV52e0iAWy+XP}4iALI-7e;n!Ek+5BN`9GB>!Z*MUfZCd4EwlcFu z)pa4gh_zm4eOZmcA%pVhWrS(Lh?q4Mc90PG+)k6tKHlrn!tiyG#=D317nevbcluiY zMOaJ%>5<}<^bqvfLa3Wi{0})6p+hp!*kCFr|E%&>&Z23jicWMA`#ACu%3z=!1+jd+ z%ZN3*FHMjdWtV!;I)`SUypsS1DtM<988%bwwx)p^Mg8*E7FNdaXapHS24XP8`Z$unwp)Z-Oj6mU=L9 za_hsb>Ggm3cUxcCtM+t$ZF_lz5|U+ZzV|V?#aXXXXO6MDKJ8w-%#u^sXo}*BFG>7) z8^+M`g6W(sSa9phpYZT;U0-Z@5+F{*@<@}6FnKwHOS?;>h_Y}|`&||8UA0Q=;<#We z$-BDHY8uEMsOz}Q*l5iaFH$tRvAr!=C)PRnr71&j@av!I`PIgoC4l%bce4hqpUQ6! zGT4CTOc&A_n?J#FrV$hu=`DOs3?b}esEjGZzRwEt0*CM;Bo9O5(`#-D?Uq>*eB2yo z4y4G1)PkuoQs#cAMIgu?{Uh&)k^Wx_w^NQS10Hfv z!wh3m|0kl;4pih#Dt~ZHQ4Rdh35zJ^aNHQmcsnMeU70e)ctc?AVwlm?L*Y5^mI6c!gbIMFP* zEX8UC;Z$@#A8;^e!2%@ZBQQ=gr>?9YAD>*CSw@~m*p_wh4GWHW!nav2?6tKjyS7-5 zGaO?~dG~#;-hI5VsoHO5pQlak3f9#&{uceDSYeQ1;G4Z-PZ6VO$!_M zGNC-zhFu=_P_NKe$LZw43D+|Rix53|%CChK?jei(tA;sD$o1R>wTkE=UH`6wtt63$ zhXG+7rZVxFQARjkWGawLB6SMIIFK`=z%`g_jm8xLX72d25JMlOHqLlZl$5}cq?Z{p zX-r$R<6p5f2j9%>27jP~>cz1(M)wr*K6~FSVP^r!qn0>36%$Qz=W`T&MPFTKOqPd;Kh<9bY}Gs~T+ z5r6~J%FRd?d>;Sh=5qx64F40YuPF69en8FSMkn`?dCkVzVbHHw9(n6oL%a58Uqa7W z%e`tlURtLN6Kcre=o5cQdI{f8>V zIT3B&)1?7w`-U|SxJUD^zyC6(_SJOUARbA9eCBUwX6n)#K!m4v{~st4WGkFeejs@8 zwU765`j;)u^F0p4;ow~{H?7IZf0&T*uW92TTMpEBWqx$8ko393xHD!+h(C>ncG|l` zJ!I+4!nIZN>E=-3v} zyFH%z*N%dZfwRIp3Qu*Y8^2fz$!DCeJ#5mJtpSC4@O zpPwTWa&s%!o7>&<{{UG)roYPK-yY8$Zy#m;h8Fc9>6HgyFx0$|;=vZz-nM}cTmp|A zD}Ktp1I^~YRXu7Yyku=4tjYQA*#~!Rfh>^BQD}ryg z3SqmIT*0Q(6go)u+3E;mWT^?c1A{Hlea#_^-!enyL>0$?3M*_P*{#SkOYu;kc~)juv8WA5;ub3QR&6#Vhfs0 zNN2&!gRxMJ@5`c5Ygh(QOA6AF4?_b(r{6=ZZqQpjOi>iXg~OWFYZ&!?Iz<7ACRT=~ z&L}Do^-_tz6l9@CtJ`CKVS%{ar{9g4?sV9@xJWq&SUobrRIN(68Zj^#8Uu+Y$)x}s z=TP`AsZk_3IIhFo;vSB^=GEvIZDaSwyZ>G2@W1PLY_d2$z)Meh?HMnB(TxvKd3c&v zIPkM$9^udbJCK*2fxdhLh!|*pR1pWwXS`0^QhWC9CZvOmf{OFuRIQ-&6 zn7(E&dz^>C3+Z+SkY@y?5^1luKl&D#CJa4}ZNteoK(b22Dy~_9B$m0=0KJ}I-bpN& zwnpC2vrxtGFwE?<0V)#lN`Ms9lr>Z;LhJK^(BjH=XO!6Mm1?A)pn_vJ!iT>ca@vtE zV&nDOsr=SY*rP;<;<^&_t5sPfhsUiu-JEnz$y{N2xJrU;F<2=E1!ZWbvfD@_n9iY| zN)gd01YfYe&=n<%hreW%l0)+RV3{@PoETNb)dQY=BXCrCLYmRm6qK}xf_AT-Vq8L<2SCl*!sG}RyHNnN3T{+MF5_JWu%F>0qT}U=P9ElpRF$RnC7DM-Cx6|uOFgJZ+?G%n>b@YW# zT?L#3;)Xn{^)k4b_?YB54D7BVu-7O|VX6V~5KQ*r(qMZWx~0_IK}nOhFuvsSG+kZtL{;Yp>&zmrB7Yw-s{F6YRIU zBmvqhiP)nkz#Wp$`hg8jR#i8;PCjFdOrp`%(43V(?3X3bE+>RxC@@HS5e7>(_%5H5 zBd&2-F6KlOB5%$z!AX@>!Huu8eFY2I(&w>kvF{yhjaHb6V@wmtCv zDySpD-z(X(u`YIDnf(n@btV#Hl&}`u1F+M6Q@Ww}B{`3Qm4A<}5}tI@myGks-SDP4 z_=n%Wg-&)0$6WbV7O&jL`X9ZHxj1IcctY72GM$s-NpMUPYC|=YQuMnqj_b0RWsnu< zZjWSh3yy-dlfX`k$>lJn;q#w_4d*_W4OB=(s=! zbWOPJl?C|HYcHZ4)tMP|$vl@@qKQ2L^u1n8oTj+Okhw07<5D=9q1e!LJ%(0IF{3gj zyb4jfLwBi#UoK-p4>d^et0jVJnZy|C2I3?m{W<1$p%euU3}Ui+1%eW0vHhrbb#ria zK{#B;Z4(DoN5Rv#O9q|Aa(tcH_of2R zL=`Cv`mR;b842Vd=UC+8&5_!^dwxma1V5CYjR)Rc@bv59xA#Kl!buh$m}00DF)}iQ zUyks7pK4UW3mlBrR4XMKLk*NEsMM?IEF(=*#u`=PG-h&WBhjui2>zgSvS9VDpx!+kP5X5r*!1ZL&{YAqd&p|nm zf~Io7=~`@GL#u0f*N$YuabG0#T0w10ii<6~_G?7FzhBMW>27s4PSt_IY#qNQ@oT$gsc zL#i|`4l49fwF+J%qFy-E%OyhBC3Os?AfTTlD5d0q%?rp2Tw{nlMUiBLI>U7xj8Q9@ zv@sN3iS_4~*xJ36y+52gjgS3r3c&swjK>(n@$$)u=epA;zO~@0?oGV?s-2A9FCDGJ z5N39ZxMO)Mcwm4GLh*1&210ooT`kYrpecbl9a!wPCRJz~Q)!HdwPp>N?TC7>XRSUR z%Pvrk;LJfN*z?lvf1`vIcq9_$h-;~CaaRJv+A;XpD`C?V9I^x-xI{R^jw=DCbrO90 z1bD}{VP8w|==|pdU9KzV64^z__3a{++m0*;oR3l#Lyw>_F79=11g%+Fl%^)({f~#i zgKxy!Iv@yK0k44ssgPEb!gv8XFGx&|NhF#DF65b}hytp9i0?ZrXicQSDGW);qv|SZ z%41=%MX%Qv8_Tf5G4BpJ=fmG&?vfcQQ?S^w3l%FS_`VC3GWdy5(+VYmklYhBVUB&j z7HDC#B%a!XOalA8$HI@^2ke6jKLF*fWs$hHbGeN#VQ6pz9xwl=1M*SZWp{^SUBu( z{^f)hpxP}Q$HUi#w9wESppC&9uH%+Ge4R7wmT;9qmrI0sPFERvCL@hgDp^6h+oy_) z8w4~v9U6@)-A*5)wa}4#2f~m_=rJBuSZuXub$a{zEXo7t$i>nIo#(jLJ2r43_gst< zppR@Zd*~%_Cl~TA9+Pf%k12>__PVdl%wC7O?`?4MpS7KKdqd;o;KJIJ^~J^4>*w#V5qwZ0MXJu6Y0X+`8#U?D*jh z*a+)^4}BMQ&x=4|8KNlkO2JcWp=A|D7O4Z76232rMr~H`>aZjV#-fnL#kGq;&4s@? z7Iw_Qv8F;V!eS}|QrE*Enbg2_AsL|4bfqu|6po7qLQ~KQ6?)G+qlc`c5_rtaFHpn@ zd8IxIYTAJmK0nrp}&mmnB=RSkPwr&n&EA*;m ztR90Y8Y1$C7L4C zRL92HI6B3`o@v_6CR?WGP^ExUB|(DDl6pM>!rAU%og0t^oe239ei4M?j z_t?ACMmyr;q3t#E14U|-z*t&K(|Joh%5xyj*?9I^>d)EC^`GHuy!){koZ&H+LI1+> zZbrvX7@yy8;n5ub?HhUKL$GHKDx)I2h-dm7ua*<0m9fh_l zcNZcJUt0@zp90T0_j#;oXPow_t7*1naqxWW!;uOU;5Y)SG$tjB@3*A5wOmMC9=^Zg z1&x&+`xRN#1|67az>iLb>(p<CShhsQ!O}x(Il>mNi?qOqLeKVSy0{>D3t>8 zEGJhEuH#Uo8Br;~^Ax=}$59R@^e}@Iqcz4Dlvjbxx%-Et{VPHHG59iLJ$gFps315DtWY6no1*`7|Qm{=C3_6x% zaK9II~{5+sJgHH2YEl4`sp#;5{k)dcHC$JjYPPk(xWMi|g+ zb#b)DxGttBFj}J=2gmo(R&QSpJ&Jmbi6|m2a+cBzzt<;C3u#8|J7lgSI1Q|5eLoDGd4-j++?t5AR>DBlnFLL}R3PEz(aV za4KIWSeD9!%hQ!MN;2 zizM5w4hhFKP3721vERnBIxL@8js$Xwl?*!ro)o}~yKvMG9%iK7&D$aO6*=z*)6ee;CO%^gLN8T~`8k$q1y=vmABbkp(xiS$EZi z#_5xM|I;UO*qe8fXdRo{w+7+x?1EW49gB=Tf8*JBKm6>6 ze~+vA=l}c(|C==q255kr*wrlK-s_c^JwBEeiIxXmSIK9|nLc-!-FSVzV(a1QmZPqnAvYj z5RV5Ubn(I!l~`1j^I6<0%z@hCfM#b0?>YglISjskG+ey~Ht&JQZI_80MFI<^wjioA z$<&8eNp`*L4p$Vio%gMpur@4RnJy$OAnFbXh^gVx|0&Ctem^fx|C z^2h=#LgzFw6guKQ=sOYjiRIr28F@xr#NUzl`8cpAnErg0NooOEz6e9obShZfSE$0w5gziOR`}3~ib)VS8(05>S9lrW* z*!25w`VtJ?0BsLe0W;^r$6f;@P`LsA`1#Oy%i(-%Ml*BEHa`CBOF3c|YHQ%Kcf#eL zg3~X8-3c%P<705>7;G6x0A3dUc%Hx--HvP+k{nh~!q#bFT^JjD3njadC|tRA)(%>R z1FZ-idKhBMOYe7qLNat6!kk^C2_Tw-ya8UzvXEL94h!WOVBUeir|=A`RD|oe?9O_4 z^KH_+u*K{W@gSxj=VFGWr9j~~syJzZGaP~IF@}dyu$1@7x*0kXU_L<$CX_uIN74pV zs_{mu%=usjeJX)Np1Z`E;LnayR0EIn(NySzgM%3KqsF1Hd;P`x-u%5+4c6^u{T%%H zrQ*t#4y3TA)X%Xil(p^b3Ebg&!mKC_NhVsPf)BgCZPkY5-&#WklS`p(kU(s+aFoCd zI+q2(7}?_LL;`SBl`KtpLIKn{wB~H~YoQcnvvh4el9iHed}GYw<$dTK1|NIIdfq!7 zQNQwG+V<~q-IXlO^CdHGj7SDuSjC-k#bs~VN5oMA&omb-b7WXlbgeSH<3#zJ#&^G% z+9QWhF&Uj!7j#ONYINvBqe8xCUiSD0m|QERa9s}?mY+C?#Rk+>D5XgA0w3@_hdiiq z+`9sv^3hA^ePb3?hNTuv^r3V4nS62V0iJm1aopuR#Op3Ugo(HQn7zx8K?tLxg2xw& z(C$Fu!+0RJs5Ju*-gQ3lSe41|ZYBJ!TZoR4;$m}A?w=n*(3k#+s~x!?I}@>f?RSM) zVT|~FguYF@$t7EJLTv-KV3}d5`DffDUch_B5 zJuJ;|Gau%wQ(SfSt09S*?{{&tjJyySX)qXIl%iVlsa2~qn=Rrvqfm<4=P;y*4oxV`&R&F9*HNaF#=y}-*DP-&JO-(ZUq!I1UErUog)4z@2>u{q0%Ym(d>@>!(E{n=31QcyycWoiL&kPm!HBJg03!~c9Q z{NZO|>n_=$OiYLeMPnQm7G&Y-#NucdOjxFe7U_H2z}LQ9=H;uN%n8rAj=Kj!2Xw6c zXAxL=cq$9$U;vds>R^s1GV{eb$*7A0CMN~f3QDpVc$tW3Tu%aQ-hb7E zpcbL+2ckN=qcUH8=I@YoV|2TRQ3|gd5|{$*I23V8n&dbb z8pAdGs6?mPq6j=p6fy33Xk*AyjUV^~>qpQtZI%W-vVrL016%^nV{B}g#lk+JpmAw7M~_*nA`A9(DkP=1AR5QF{&WBU^>iM*qB zzGM7JCp&Yu?_gs`e28@}S)=Ey2pZB+6oiCMAQ?8k7} zmOT{bc?>pTo4hFRmxHn#~Su>%bA$3SM9GVR%ZQn%GF2D+lX` z9Dw$1TdiCIY_AXBdIRL+883gsHWur4;WSXINKg+0g!<-5ChGyUNGO!uu5iwm<>ams zwvL;D$zZewQ4eBQ&SS$FLtJ&$X?*j9?Nt8qOn!8Bo9EvgO9z*EF;%L%*8jN>Hb^@c zUi3mwJhxi|`MyQ~S3di7v?8CP*&}krE;O=g#zGe)NrrMAyfDOZ12PKgjSAZJ&}mA= z_t8Z`KhN+3pQR-csRXV|#S5u~5u+nRpbUFv=ST-4N(o&^(~PV)AkT8NE}&dOIf^_^ z85x~o%M)&7@%o+_xo7yJ&F#1R+g2+F$H4&o3&*pG`eFYadwM&ZaqFjn7t=q^$=Y56u z{qZg)-n)(CZ-ZnMbWe5|Am>^RC94er!P5tcT#q;w`eNYAqUMF-zj0^@7W(qDtAtwj zz$@U)XFQ8TKDC8j0$sZx8|z(CvUImNmS>@t3KZ)ii{ofXGTk7AwX0;|O0={G8}z^* z7xVpz27LTIF|R*&JBNM)j`-vbo_9mc+b)JpFI>ai$Bv`Ab2qhzpyNr6!!hD<-8aJS zaFpd#yVBZg*W*tjHxL?!L7JnCL5DuM>!KV7PdS9XOHr?2e3yz+R7z!HW5|`F;yA)z z&N5O};Cc=v*TXM`)XQahy#e#>7QJ>4<+>0B1Ue(n3k(WhfnN?N3IqL^(Dm`d5*uF` z5Zza&clGE=d$0Y>_Wyq-`v3joV1WKb4R0 z?6M?W+ez+t!nEitSa&#O>33G{t&L=0u46M%>+RwB0w?GUR3Pt91`>dkW4F)C1xhOy zcRb0)bRq$9Syd5O=19M_f@dpR4)#1yRk-SKXxs_MPD`+8%?XN-FEa~_Wt{|8(j8dX zrfb!VuAFztX3nl_In}OwS9!>)5c{%C56a@{5siE7d)iU-kGz9>+gDIpT8FQP=pS3K z?UYZjYR}VH{LBVw*^}Audv|l+sh4y7%S%-KlgalMj1ARDi-2t}zM9wm#X}_Dhn^$Z z{?fd~^E0_V)c|Q_Whr*P7WhBQ#1vmC39_q!?We#$ejARwM+&DK8!&q|eDbg0)N{_^ zmRoP;sH<}}Ou*~_>J7O!K?+SH{AIte^vFUS>jDF-Jead;%#ts@&&v&M(?a}I)~B%d zOK0)7=QVlP|A^Vr5qvpSVzhMH#qgvnI-K&U-CX_#Xn*z@ocWDCEVVR=-6a_$qaG@W z%GHlWnK-%QLAE^pMDi@7C`7fVl8n)MjaIWuUKo5=;VYNiQ8>A#-~(p$TvW;+;-LXUfBQq z-9P+wPVL{caWFvtd*eK&dO`D|^^1$FnwE*4#geraMxMu^F&ivXo2^wOdmQv6KpHHL zYoP!N$*@W_5uzwpGH1sT+;V=m1i-`=im-IiAQYbml>FXx*-y_~?)Kp*oBdj*NK}?Z z#KEcr!xhhoU>xp05k9z8ilBKc->Yr$vSfXNU0(u4V7;L!1oFsjQ`TI|jv}{glkSpa z{Ej0FS89Etmt6q!3@U3}9^CjOHh-l|YvevodEFXzthS2*d79vjYe;GE6uX#bRnOQ5<>pl;6>2r13% z;(;s}X(EO~Qnt9h`qjaR%1 zj{fX6ZhB76b+3k*3LN)+G1@AX}c04S?6rnho&zIw7!3rAR)H*F zYf3QtmD8B~&JIp^`z&+0Kqe!ja?MLsaC7mFZg=2}o8WsVZRPMAG}){OSw=>rU*nX4 zVg#mlLC13TD@De}>0La0^zjtU4mvMzJ(mKF_QWv6C2|whxklv&Fg6r8rXVUZvP|!nya%qr^Bi0S!7*#u_l$pL+P|6I-{1R1 z-p615*H7f%>~Sza|9j(lra79QsS8hk*%M0|Z*PZqAc4>?34T~;+qDGSthH_nc$v*U z9SOp|CmF13i%I=HVEr_dl~4Cu@*blFmo{1gn$ar_U0u)0tCzE7*9Lx876ez>_Em)h zO=AQvcLUq8r31kT{N!+W%3ZLubU;tS!e)h@b#lvv64+aU_Phk9Wy~rNW67u; zltlLq_mM>HT{+|`1=>c^iFs>d%u1J-d=~&=A+4PUB%F*C$RU2inWazM;&$; z${0F%j$de80}bE9e{dBuS4Hf&yu|#bK8Kw<%(HHE=|9+(Y}FSY_;T@7VSl!i$W9OP zK+Y=+M6lv2!EzT5?edd#yV!6Utob$!|J_4O{>?U4T>+{rp3TR83y!}ZE`KWA@KHEx zC-@ITD~DEJ7Vx%~YvYeVD;4p`=#Ug1{XiHM-8NkE68OP;JP!ZVOStuqhADsX$DH`( zHfmIk=Qy$}nxC_MDgk^+2($;M{186>S8)D~u+Wl4FzG_ewL2yUCLG9>EC%`LFiR(& zf!3Myoh%CSL5f=raRQ&P&}4y6p~TZeIfkC=P+%Aggnu4qIlU~!BsoeONHM2I4zf7@gYkqn zzVCvEUiY0#-?HakCa)8$FDOf(@@&9!jAXYaw+2Jm0pbI*ViBqw$!L?l$fb>z%DmCi z;M5Hyn>Gd(_pN+BC=15yD%r9QkHOM{WNuMpW#Mh{k63Qck|OI0oz31b^~}5bu>NJ}+cZtsu{sujKqeGVORCoC*|uF>P`UnA72kx58WA0Gk#i z8E`Dq$4h15S?EI(ShosBfJ+WLjeCX;A+TK|LPrq{S4gy>$hCb248x@o+IL8M8JXu0 zCYmI0Xp|x%ASjh+ce^YuwJEY3$8kjVT^LloOvzIut(bLZuji->x3g*MW`6q5KRurh z^WFcl$@<@P92Bbj2jlLEKj*}?r?YNuHL<&wB9&n3Mb<}SV3l`D6n8-Yg>{Q_ofQQl z$aXcCW)mcR39iZ(ba17>H0Viyebi7A@VgxepgZO*bm3Z4dMzTCs4N~37%<6xVV)=# zjTDp$3k5!N>{+<#Iyk_AceyESG7$J>B$7-$&!mrFC6GWju!Y0U0K$Qo(s#6ErlycZ zpuc20e6NN-I19@2b?TSRV^l&^E{mhxvM;9>;^>@EIqaKVKqL0-ke+BD51QU0|;-cWo z<34=zm9YI>xi1^P0q1=cDyv~UgoTDEP75tX*a0xVZGAVx~*l7(+u`yU4Y#)c$2 zZWrQQR~eOHPA-ejQYlnHPtvXr$)9!76Y3MWcI zr=L>tU8ce^-I_sv~e;bBN&g}d%3==AaHRYp%ajIrn3!B;+h#kIVR zXZ`2Q$j9C|7@+^7QG>hg{V{vyVO3zaj5a{U1A#d}0#koU9L5U6e$PsS6>eCuLT-7o zVO4$?R$y_rEojwjPr?I&0!kKuI1p%I*|RxMBt+P;Sjiw(pgoIc>3HBT3)Tq`2~hB`YJ2ExeJ*`|87T9(o6i zZ-BY&poU>&%@I8A_TT2d*6oCqG7yVmv0lb6l?eimUN5HE>;O=&SBQH9Oi@rPmk7cL zFqEoQs*MJ{PKI+&3dg`vYaqNw{)WP~g^F#Vbtr>vyJd&7Y+O_`FnkVt^xbgL2XEkA zcR^a0Kd^Jv)j*u6?~Bkc!?4!_)AZKY%G8zIHL}tRp5J!$^w0 z2>!kB+K<9W1DrJyz*`264W$OKPYaW#uVtrH?+a|Af|X;tE|eVTXOf-kAHyrg;oVol zspC)MRsZ7wc3wMAQIpJnt+hE_%B{;@1nmG`{NwBC`LHxH#jP)UHD#qRQJ*c3Y+@(Lq zaxggmpN)eM$1fR&z5Q)p*!9|fea&CqxsCERDK2SSDC}ElHbx+i$&Dg^?zJVD8b^8u zW<3d#xfPTY1w8)o&?%rfCr)YA2Gm9+kPn(GxvdKfPeP|9$LKDuKq!H2Cg7K(kQjFn z@rN(x6jbHd1_@y6CgCG5hU%_&^YDrP$nz$j%Qd~5c+)l8*mw`@o|OV-XJLiGp;O7& zql)YrT8jd?C}mymI@agd8b|ph!Jx}!vGUxp8vgo%H9Y>dSM$)f7RkFUa-|5Y3C~cy zPQx#eBndmGrwK!!z*Q(eV!Y9yJ?P;(0e&PVJ9(C)beWkKUCZGodaQCc@RK|Ll{dUx z6SZLPzdn^+r?2AMKl~P}|5fv%&%$?J54&FMa`xHhu;t2YxbU?StbDsGa4c6lEdUS*Sfv0o@CyKm*AdjpGiDg;*7H{BN>PCBFs)pCm9f> z;=st?yljQ*=5Y1#XY%0cqwsB4brIYfN`X(28(iO^Hy98W1<48-1J^eBbzPS{Nm+l+ z2Hcli%>y?Mc-&VmJn!buzW>Vq^vU=b90!YpzhwBU54)gy>LX8h$x?^zcG=2zTTma7 zOf%^LN|+3#ngro2mdqJsGAy^ecRg_>TXm=i3VI7RV|FBqi`(pXrOQ*X%51EXY?Lee^c;Yi{NC;|=R4;q^a* zTQ7i_j^QcK+rp9G0z&CvZ4eKVfn9LD<-f}j3S-H@njE|_&;!^p44?QYTyP~!T?Q>j zJW>h+6XUX|E_6kuxzvKFu#2)0afsIPoOE;90adhQ&=n<6M5g8cp|u964M}0J+Y*mw z*OTC!_Yl$0kSx+m3WmS9l_PH6!@Zw6gH`{ujkyX0qmp$GTC!+Ffnf3)fjrvtuwnBK zdK=cEN5%*WMLF{6^<%O)BhR(?mM0m?3kduW?JFop7+0ZnLDKCrb;<@-KX*5qK5)qQ zW?p~A5xegA!RBAz4E^st4rb85!g#{F|M>bHul>T)|K_?SdJD4EcU<;ck;XmQR@Rn1 z5tamE@Jh1%Ph!C?L)+e{QjrPTX^H^FCNDy3bEHTY1Xc~#6gVZfxN=aEK%8f`|DdR! zrBihz=T@o<)ZzM2Kg8pT3t!ItpPpiA$8Li4;}j_BW5d+@IoluEPNQC7(2Y?#BMQgx zpFhom$9;omk35^)bD6*Q3O;l-%x7@J8=lFRHvI^lr<}0}zrR_S4337)lkml7uHn?Z zZ{W@^?_~1HQ#4-j6RuzU0f*duA?Au<{7{p{v1HMu5+n)LMuS2@tTXCvK)V-{Cj*8@ zM<_c1duM0qbh{j~W&_>BTbRjz;$;`X90Gd=js)9g$3g)J{51a@_}UlXrEi3>ZwXXn z54pcd???msshH^}v2dzAyWj?q;P?F)j(ifl^W8uXp8o&937a5tA()hBVLX7PE^OUv zm4ueTGUNz+VPh(e{kaSjzSJg)!ZxPu%Ih8yNR5#lOlcg_wv~bVP_IGK6edlY3S{E@ zLhtj>T*b`q9?FRq-pry4oe^7Ku$=sUQ@GbtK0I(N-20WMu=kNIO#f(ssV%Rxt;=PE zVMvlBxC#hdbSykgljr!VO7o>Z;)HWXS$ILhwpnt`2)>l5V z?T}~Puf zyWIU`c{sjw4$pdW46S7X7MUy%D1j)FK5RGwet6OO+;PeAEZo0?k!qD%qrqIsMa{KX zJ2Axr_dS5?x`bhf<2Zz&i^_eD_`MD{4u6{`U-xG$4sGU^Cw>C9!|FTV2oDz2!UhZH zZs!eyZ}E)naQ^wAmNv5X;+L>cEa5gPsAdl@(G1WGjSkV9UBZt_q-76gmOv?jz@;%% zXQ3bC;!v1^sj*RJ_RWx$Bg(Z<{DoUF7zod-!0e}a-DjZhN>MO(1>P}>ay|Sp@R~5| zh?M*1{X-mw{hrU66$v#$Q9E`L*;ZzSC?rqW2p{?gOpn0dz6|y$fw}qvXte~g*bhg! zmZ$E(L%d9xxRT8-2hzkgE6ozY{FWQQ?jJ5PtCxSL?7u_F zm|F8P$%8VGv%gWT@+G5Fwl5*ph{5IDQd=|1l2XiV z-GLJYP${!@-yX(C8uV%b$si-@WeobTRK0@-AG(>Nm)^|%x7~^3`l6pSO*VoOCB=|KKlp_{N8s)BBiQH9>37EV^ESB1U&(%GCy`=hN?XadYu^ za2$uAR3h{uNIJqe0ru_ML(!;7ic5%c9MZt0bZCP!j(>n7&wyD^GRVOqw5*bIkXS*_ z%mJ6$UGZ6Z)IG45eYFcS8W!8KJE_&gKLZ7g4*b>I;Ou{a$?M>*fz%cH16bopCahc$ z?086RKmiS4mu(y7Svhv*2}35dGI28LK;9_BnpH5<6p8qv?X2zv5F}7m(qSd% zcRcIVbJ_f039~eyS_(*AmqFi}^lMG%IrP&$(c>p*zVKf-E_)nXKFjO*(}ThJzj7Q5 z(7(!X;j-JW;kFFk*?n|y4g$$~`?l3kYfw=0X?MldE(j21p>;@e17S`y=Pb8(46-(~Pp`4-jNf7G;v>+zw$NVc;#Di8#$l>f zr*hI1wIJf|+wLMxQxeaEdCkyB0~I)A-2}fVK*7>d2UR#YMl-XxL?!a28;a`^`5wJ^ zfzhv@!D@9D55+r4dR>CRqcuB^8%CrHQV?`Jm!(dVG?9)dwJ>C{)uTF6VWiez=k7h? zx8eJEzQfem2*vs#_HEt^{RC&Ufm-Tea*d;)>_g%~drpGSngHgl%_>F;l*2Wcn-fgF zUKRKNCD?PS0qbc!YmM@9CA3M$f$fpJDS|$(=`v~3aKwtD-twUPe3V# zStI=8!iWdQkb&t17@x34R0%|@VYLENfgKC5XA>+XU?Lcfpq+qYIoW;rlSn-XwcPV@ z2OhQ&*l}Rrk~r=a1rS1G0xENW&DM8J2_L;2!j>JN^OS3MUct!EUeM%YeCq61pMAzp z?zxGL^XqVefL^c1pr4TC8m}-EL7Aie(BuB%Qugg$WW$Fpy#Ggk`_^;lK{dL-r)&0#R}Kp=4K{rP28zv=;>CNE67)*5t_gE!V~*@MgAkmg8F!el56m zZ%K+fc`6fhztf%lxiM;6E!ph6Qh^)admc;47!Q4}O4saURS;2*QWi~t>pRRXEwcN* zS&T7wflp(kA^yF-PrK76ESE^8s<^FVnY{5tPJUaP2fsN*|7UxNoeUlOl*=K33n~cc z3Yf}7L8PD}eJ;;(2HCm@$DB6XlF;piAd}ijR_qV#z zSx)V^jdZ#xod(tU64>oPIg;-knUIXXy8sWS2(3+l8HGw$7Kpw=fapN(>2inpQb~%1 z{ecAY0x9}=3f7EEmTeHed$t{#ZDD(Q9;{ji?KaeBp>yfkY&m9%HE(rq-+t*oy^%}d zdhhzxbkxMU51l0-7*`k3IDeqg(k#L%3P47@fb zfxA){<=t{SEaM2i+?bHexVvcmoqvvRqm+1Lc!6w{?|k!F+;Q`n40r1ky_kn~?qH}? zqLb&0cpi@D(N_iSEX6nu{valuYta~KFsMX0g=RuUbkS7HRTc(a`jMu8*2O&i(3f)m zXNQQV=cv?5lzb26`=n{c{EQgwt9k{MCaAGG?o1Q6ULqc35=pOK2lr9L5M{ zyV{k0e+q#Bloje^1}Y8^LfJqifnE*BU^cd>leYR9BZ84VZw03bQ=fxHTNGYy{_DEd zYSuC%mKH>ORQIKZu(%7_p}-mC5ub0K`$|+H)lBUxoGj%gtC`kZ_qA)mXl1u*A5&ZPdo8S&$ zFRS@Si)Y4vt?o z4hHD|jdA*4ed)OECtY{%bF(jU=B>~wWRm)UcwF?_EALfG@Ih_y(Pef4A%Kmm* zt|#5G1Kaa((2>GbsUZP6wp(xCer~xvoF9rmb=iTBo(j#)uV-vFKx<8>Fbp3uK{DSY zUuYAo9;G@p0_~jHW|O?rr&ws=*2)AFB!iqVaEJ$)2vbHHvdt|NNB!0q)x%nB`&^B1 zb&11Yw*|+Sbl$_`s`)EvwKa!d@pjxaK@A4Po-F1V{)yAP|y3=u(tk6+smBRS^^v z1pCX%b`XjPD?>vT zY7|5&FEFHi>l{-&1yd97^Y6l8cR=$qLfcav0QeX8$8x1^nK~RN7KSvRRYFEek5=n2`2EuajDwM z{ek$sCxY^}Blxmy2D-`t#yD1K>k-lPuq)t3VbRWu_+9!QrVM_JDMzjcVDm$@Z0&F{ z%QjBW2&IaJnodzWF~MsGT}66m7Rl?EFw(aLH4+xbkAN03GLlDE6jI3;>;I5tyOY!G z`pwNe`2541^NSo>L0m#AdDvb7Z6;i_=n`;Y%Ccke%qds{efW-tYq;pG8QPQ(g<_Eg zJx1O#>B|li1>CkeQWcNfh{aA{)JRRv;W3KcpQL5oTn@Z)B|~?1Q$ecYfP%e^Jz?8| z1#6o4MAnC7I!{p`s>v>+O%({j0_qEpkIC;NgMsv?0W~gU@-Wg4`u)9lv*YxfHkI&| z8?a(xgXLwRCILlL;HScnoYRmmdLU}j;P?9{TMuCtakpxU_0<|CfjbLs7t6#*b zUU#6@7WgApy~F>dqdKVa*T!c_>3h7?aqLc}Hu3gXC{zGfG&EE{@aIFSIgkVziwiuV zNY4#LmnNYdc-1kccozuU`>NonZbdlFz9&fl1dDW>@g%MIlH6@erqO0}Y~;x{mwk5) zaq#!<=Z+1pV;rvI=Vmdnc@p)_^+al7ghK{v_Pd%%uT?m;caZ0IZY9|_iI%1e({`GL z6$#^L9(virwjEr{WkUNz{24xr*WAs*yN4L<5siyjjVuz5B@MFeyWrV4j2yFu*w8Gz z4j0dJuq=zPuaY0kQW(kOHm3+#9=X9`8HUK0s7Yn0KQzw4%kLn3#ItButRelzOFa6; zPUb!tX3ExKiXjm_@_o5(Ax$RlCWmE8jzIa(N9b#gBKUqZAsW&B1sDx1tb7{`4+?HT znJY^}E~3ClMW6v??+i%=^p~?Z5$WqXK>r9NQ{V-zEQ$hQ4<6ZT2`}ur5G#|!RaD%3 z3B_@Vgd;eXjcYkLwkPf}A&qh-Nw|9iRZ~eNlc?bcuk5uygQ)~F)~sXH2^RN2xJfsp z**K*QCe*+SI$ZhSbk4aog|T9U(G2wEU|O?Gjy9y=8#jaXJkRh24*kIInQHvqQBBZ) zP5gkz5BcihzubFLv$pFmmNGOfH%&MqH%%-fs&18{RLQa0K#DW?w;GahZ7Uc!0l_A9 zT`){tld8}Rw(d$u9vh7Z37qld3_-I?mqZi^rWZ?jIB3Wra^D7qM&JM&9(Oh|uw@47 zmJ*`_!;JP0QF1*Ne5jsNAAN(&2A|0bVhqN%qwCpTA~Q9TXFbA}R2PY%JxIsHSS5$H zL+jb2=|Ltwu%5gX;Hrth{!15`)mW`G=8hPG6JCbMN9rj0yW!0)pnP^I`yW1;)${LX zsBtx!fql@+6)aUDqA7%;am+}R;pv+Rz4kOSHbJBr5(99^r6b&N!Z5%57OXrPPJ33= z;*3CH&jM^i_{CO0J505R-BrqmWC*kjP!W1!Opy_L(-WZ~Cs^>pdN6q8!;Cr^B5~$r zP<(J!W^o;XMF_^(&5|U36lqL8cjywf&f1<IRi%k}$ya^dMG-}3_fPmO{m zx)-(?h}s*0EmTO7tyvE2lS*%Y89kUvbA#t7fu6G;2phSsXj_0_%en@s1`#E4g3(|% z5GPVY@?R|w|2NCvnNT-DCdM3F64Ub^TgY`AUMBME1=K{7G|%3Smu6naMQ?Nvep4py zZaozW=4a41w$Rh`4Sx2z!(Gkrd+!A1n)7)2(66)OfW-xO!l)t+-<_-FI7Sp2+J(hp zzD1nBwn@(G?4x1ATKLMRq0^JaEFF(>_j9}P^r`{s{%0}fNH2sOh7P)$-3>V7EZ7i{ z>Q+m`;E*T<){H`GhQSLzSitN>k1`Myj=ZQ&PXGWQ07*naRPl%_LnUcV981E$peju@ z1Hq&-O`=87*CUDh&m(YZlFD0$>8&ub1>AF{kstPPf4PBDELc1>i2D$40%I6@im++w zWLEBX0A9XCSXVJk2iNnd$<$z3HkC?+Xh_4XIK)zMQi&Lal8L6P_`W!lhe8^mkWMz6 z--c7Wn$AH0pFm*058pv5mqQOrPTm|QSLxyLkEcfd4$bBafg zyOGS*NAwQ=_}-TH?f$67`x?~>`kmry9JTW&_WtfED?2DXIf&znF2z`K2EdnuX$KtV zM2)zj{CR|T4J9 z+{6N(IJ=A)f&Lz-uZMUTc5H+-^WdlF%wW5FK6l)f!|pq-{QR3gcwg_4YP_#et)Sm2 zzQ$3zd}{AIPkycw<;kt+3E`r8&Rd*2-m3Z*k)*mUdA}uMDZy*Yd1(qd>%o3 zo{Ht5stQvkwlh-9V>vFWs!Expi z-b>f53%EA*8fTt4M7~RQRtZf;y~7%`9Nxljzde-~u3T{(-{JQ6{GO=B2O8A`{eQ*z z%xgS+@{8xIAwsvUBNr&c`MM+(yCU0pUF3?f%3=>?76XO3KMPfp0hUr$60@oYc(e)x zquQaU{Nx4%-*zl%96G^J!=FdIR`}AYC$D2wq%zkmSaJB?w6E!8Lf2LXdL(hpoGBA= zBV*_23wCT zkcnSeMd$N5Y+a76BMXe`i&SVL0aG(@*)JfwLyAwnu`830eu6hF5zQZsz)!vmEP%7W z2Q&Wwb{z0z(HcrXeGWPTH}-f~th4+gloMg@U2+1dqEIdrPy(MbqooeDZ zn}N8#Gj4Ze#F465l|=2kZ$C|UOi3>y6|SO5VvV?v+r6D={|NRgd2C;vTdW9VFy;y# zO^ZhH=%6$m$DG5%3CI@&6CdLjyN*=qb!~y#UPO}g7>fgCJZT%DafcR=5$PREaFPXA ze-@5?STN$e30r%Cus|bLAhp`w06)DFzVr?F(?-$Q$Q5J++H?g^E*dcTH=SH@p~>=( z!=MhcSAnI9actOwRv+rloym7@igWT8axA{UM7h6{K?hPEC~>GMz~cMC=z!aLRR<%%ZUx6h%tkqEx$5sk<3To>PUQOY(B3X17aDOPZ7akBMI zn@XXC=D8@oLcBJ`kYl0XV;Kew@hBA|glai>u8U>cw6``hGMvR69;Um!jbdd!m23yz z+%iNVx@|cv94Kuk0b=EPCBr5G4u~@X6n*BL!+`-=#g=Q zSvAl*woUmNGnX}D@>tIi*v9weZy<@+v1A}86tGts>x60IDsS02=&}H*VcBJjRsNnU zTG-+FOK82d0|${(E&1}g$r22fp{)!*{yCg+HLP6`m<_yT_u%+KtxNh)^kBkLczGs_ z90zk_(EcYdfk`_gSh?nS*gDL1L-owqP^9#F8P^bsoK}JMxM)-qJ=ktD%s60QnpT&| z_LaoMHv}YP0I5Ev48qED6wvQW(cBphJC ziXv_$o=EUw+krJx2okBl^2!r2|4<@uFqsaYJPP*dhVvhT-bSI78L@y59F+#A`ra`h9+#%@t{Cw`4 zHkE}(-a$tJQqf@1Q3ZoG`k+}CCdPi5Mbwm6(xT?s3^YZdV2RGf*nmnNhyV#4zIqL$ zu7Eqg4zCRC%Vb)(=k`BvUeoVz!tmScq0t6AA`7Q72+?|BKIm@XtJpt|&KN_ov&iR! zMyMz-XD3lH?C6uh6kLeK6FA8@{?G_+u>wH3VnJS^sEnXS3?jNpJfhR`{HsT`g8s9Z^6Ar;zkJRQf9|CpQct>Z3j_I}()A^Q+7;Q> zr|M)-BN7u_*_FmUu~cArrAjrL&r5|^8Vw){B}mGuRK30i{1*PBXILU8<~8sMPI+!4vx(NM9&|UpDbQ56|;yYO2R_Jff)xp~f1NvV|RuQX7v`bUch$ zl=@^GRRz!Uv2BO^K$hBMf@nNKHk%_~Dx-{bnSIb}Vi=(?rI9?2u3vL0|nH)4#xtaxIhq=^L_z9aV>y09!1 zMV=o|NfT~ltB5e^dH{t411{0D3{2#DVYi!?am(k9r+IxB&A)n@kS^zAmje|&RisR9 zYg`{BKNt+tSg?7mG#(>yVPoLS`!)imhwI8Yr5Z%)(+G=Ld?di6do~Ho5s5&i0h)G% z(+&b+9eg?u)(}Kz-%Yy)PtNJU>Vp}tnMoGnY#=pw=5W+Jk!iYM5*F(64>%gHVvoCYN=LR{orE1nFzD4Iqn9L6b?h$rJjA`v1+6iu&C8m*w2G6CZaj?n9Q zD7sGB_bK^4zN!WyQ9494a-}la!SOANZiFxrQOYF~Cs)J){Aifk#yY&dELqJ$aioEv zXewdX$L!By)+;cLaWUv>{L4qRf(GgjJAK#L7th-|9lAn zm>lyZF@z!lS%6fE#nAv8cBQH`A|iH_X%^=V&yh+k6q1VEb-`1lYE9Gtf%}JLNx~a5 z1+XoFBqAw!jd;yllDa3fy==ccKI*&JPrk;Fn>O=61lqbFQA5>;BH-*X{n|nudPh2JXFmWINp`f49nkHn1;AQCFn;)kE_CQkmd2f~1TpJlt?1aPbCW26WcK zwoB~l|cUV30k(6=#YPU@gV zBvEHtWO&6iVajCKuwxsKr#?mLp_<)SeC@M;0@&^RubDQ1vi=Xl*q+G3Zu9)hK~51^Mn$mvkP5SbWqZP}E`!gU54*l8 zi=deRdjziE>uCDJX&M?*xD6=^>$~ytWjtNSsEJ_?6$tAJre)(gE{YLCO~mm>Mp0D_ zn$ysq3%bGtqoOXv!}yMin}3T}mk)}eqZ&GHLAF<#rs29SiW?#~bvf4jZs=eO=hFT` z+&9(uU_$->AM$S;SF&RMMI)_u+zcQ7HS}i3lcf=ps#4X)6QEK3lYLE=IZN(2}MHT|zmyu*m7l-a>O`w1mOb%KV$Zi!nom&y9 zQU%$*m&e5Y>m&4j^Z(CZ?tgZ|E;UiFh z6~G1|LuiJPm@Gi0d?5Z57yreO7Uh-lwX7KZ?6%7siq^9%yMi9F6!OrQhwK2XxDtjw z0+Sj*i;9LsIwA^etu65Dv*D^eq5V#1OhH2uni628;mDuDrHkO}2f?S#5KZULTm~;M zf@SLtVd(Kgnd8CIMR09sIp-fYLU-RsFdkUIECsv~z?DiK08N^tH6_S|pi%=L+6+Hi z2zQMjeP>Uu;Jcgoc)Fl$6q9GJ~{CruG@Yt6GP{JWe(7sQ&NrYZp*F_H-L^3rfs>})H>Aq6ElF^iCKXvZ2VHBV z5+u-Vwn|XjC>V62MxcvGT%dz!t?-| zXvA4oz-$Pr^sp{41A()P9#r*}0t{}FM4H_yFh;gVw5DxW9-nR)rwPW=&^}8lc90!{ z8qn)P0kfe}3Zy@M(ddXK-rmpz;LGgYdBjyWedERvCM*?NUDAg?9R{QB8Ql4q?RYaL z&5)rU!L%I}biy2xIe>@-jZL7}!_*0ob|7U1s()E|PEQ|n=V8@W`0%-~`=kfi`7-kl17-4XQS2Cp+#e;A)Qz%h8_*0hYS=&!S_7WXcRwWV2zfD#bU%;>rlcv z2?e6zFiTf1r#!}qtj51h{AXj(4{_awXlR;JN z1x-CK(8~z4nSG>LXIsI)$1JHTLa);`*xDi3tdCTyz8{Q<`vRl5mS}QBlH$tkS%IK` zQLt^ZB#$xT(o|Fwp|II@AXpTU#U-ACe1}7%w1IO^fMttecM}pDAs(2D+7%eu8Yt)) zLjSWW!taiySLA6vd+ z#bW>*L3=^Xp804)mbzCU-47#6;GQqdAa(Vu4>vgTYxRp7r?>uMHKPG;Y?dLPcbPGe zW6d{qNB#aLx{FZAiZgZv7|x6IXgR?AQKiB!1a3BNugQ)Z%0xc*QBM1IKXa}spa5Hv zd7d#gvuHJ#N+9uCgn|OGQeZb0EJ_McqeJg0Q>nXqGaI%#M50hE%QcJOF#DyKNSb*% zCT~Yv*D*pWWksjGZwrS%ct1(CNK%1BvBFL-zrc2@o@e$eE7>${JK~8XIom=jm9Yy2 znwlE0%rX^CM^Dv}-S<&O=RZYh?rRiUU%(&EF;Ux@LNQOu2vf`#iM6*;*l9hLEdw6C zOl29>Ed6g3|M3{~TVuk5OT1I!6D?|nvh4YjN9i9DYFR8EH1R6IBw$6VN+T+X zR5K)5SBim|XpM-+I|2J)Y&1NYk_yx+kMo*6Bw?CG`M2Xsvu=#1tVg7o=mkcl`Jr(k ze}I~L(84gdSt{#LOw31DeQpuk-@lUViaaRLJVmHuW2OMZTSa+J)r19Nq@)SyJ5n9{ zzR&}$(zr7=2s{!FCJC)z$R%V$X@9sNIi2S3?|*FXgTMa$whMb1Co+ed2zKD1Y$NI4 zFS%{t#v6|3N}f9U_$43OW%ozv^?i|Db!DMQxiGvhTz@J2*M(5`CvY0U83rpUBj~0D zhAIvxZcx>S49K{m1)?J?n1LQ>o{{4Idv|5)xleG)Gr~r*%Tm>kMxe$QmlZDrQ)fWV z0=o|q7F_Ui$j^iMx4_Yt!C)Y@s*DO}`r!i)q9Z*SzfdMQ*w2y69->wSJp;92*y_pR zW80vWzzIR53>({8S$gPED7gZ79+CEX8r(REgY%4xC@3qUxVUsTZD4T6KhUu8cqaAC zV#q8JpEFGH;79N`YIH8|^ys63OBnuO?v`qN5K&FgeSbzTl`uA$3wquC72R*|2vQ*A~;Cq$O zAl3kGuLv7?ifADPb3hE)u;X4SZn$e#2EX|Pr`#w#1;c}43W@_zqk*4-a0yCrz>*zJ zi!O~s9q2s`es%_2^mT}@kZQYRz2!#oMP1LUf!vVv{%Ybq9i5D4BdF`4SxMt=Sy7%9ot7mVZ$%OWG;MQt9`H@pdTyfA%)4Pvdz#;;)Q8vh2=x zbG;i6KIgp1+!vBdo`l|#VB!ieVJakJ&{2XpFK;69-Pdr|b#Ui}u+O~$Z?vW*LDqQC zPzNCk@`3h9V-nm3@KhiK?Ku;r7o$?O98hchd$L{Z;}Bo(80a6Ynd~;ERu-67&OnLrexNOBMw8D0t(BTH4jQ zF zMpNUD#gpeJYd~9Y1YN&h@J!F$k9|x#bobK=$1dXP_RVx(K6A~Rm;Ze6NFsAw^Iq02 zH^tvz?u!;~Ss;>VT=>;i1=?o>GM?TzJEf45ihr~uu!7s~u!FvpHxJ6r?TKz)%^&~D zDYh$l>cHbOI~;fB20~F8=Pm~e-=wr)%8Dxb7c(Y-U6-M8-#v)lw25#A8V#A6G)-{g z0^Q_?#R4mw5lb>>1ZJdQT|fBqVPGfN=XtTa(gGi=WDSG^+MlLE&XlopMT1&I%F{LE z{PuVPCLOkj%A^Kz3!9jE%LXcrNPbp)P)edO829A+pt% z)zt+3Zx+=_!v7=ItXxgsq^;EL2=O?K79=?zT+VAiQv_b^7f0=Qt(@~4LjosRHgt8#b5%|bZ=sR$x#N-#oSkt&>=z#+B=5f4JX!jg~PL$_AsGfxA{;kci` zjDGNnay`bvG=h=-k|g?@Pk`>l@Vz~<^p%(MvIemupJers$50OEh(%-QA&tSlK@1~A z$k5SHi4-ktO{Lk2;ztZBu`s6Vk-$Jlr+ve*tmDRa`5{!}pE;@t`u~XTWj}jqX5;6N z{?(lRJ4a7?12RAicI}2Q+z+LoY34dXH62jyta1Pi1Z<75SpzjJ&8x~NvVZrb0*(4G zI)4(6EnL9TTkiF}2kd0;?B033GkTv|H66|#fJq|)IfP?!%t}$X(D;IT8_6K)2SYHn zCC3`m&-j1i3mnYVtS#=7p1H1Z9`kQq1~IAr)sWB#YwDqIGut$>f@`#pyn1%I$sD#@)G$Km9d_cU)N4C6zKr62yfy8)SEq^@LKFEEpV6y8ti$s5o)= zNb|O6Lue4pC=?1}qN^y9oWrUl+bPrGTQ|m8IB_AVyVlaJ%WGnQAAwOoFAE2|Gtk#Y z5%-wVuweIQNO}#14NHfXGRX&LIed3Vxcy6T+YjMw9EvD>{!$3P3Y8FKqR^~DY$~{2 zu(^VqoF_Xm!*fv_2itYu$aBj%^3~J}0v?H?SEl zUJY$&7|9BLJ@%pb!N@pD(8$vR%?S@WKCuUzwwuXA*WZ~d{!g)?rmL6=o3LA5UJ5{ToSVy7Mk7YZ~$>QvLGaNSo4X!=$bZ}2d}xar*d|s z^&OA-Bc59Fi6tL;fjHS(zIV7EQ>L z>bIziv8t}f4koI>>A`l_+U!)^~CDZL@E{ogIVJ7U}`8Hr!iz;s0KY@hXzF^kDN$?_1pc1 z=+jfY`qy`8Sbh7Csw|Fwqo^k6zab`^aoV*ze%=3gW=erYSKZBUmxmFNM%tLDP$kf} z7>j69fo0kbPhQwLgEA{A0t| zL8G^+U2ybJMaH~~I?S3XLqnrOU`C_@k0Qyl9D;C27#X9ZFtHK7do_IdOxQ34b{L|D z&GJn`6*bT94Rh41m=-||^kRBwnj>_vr_4*L9C9=ZozBPR9xVCf@(C!{#^a z`s1ZI!AN;A6z1`>j$vKTI#fkvQ{N_bnYjzK(ONpUcJlN!PoK^u{Pu5tbC+}fA!i+U z=tpi`Mz+(&s{{){oir%N?6_TXs zL(Vwvzdq9U>4$zlI%h4hEL?UPY~2EC4XDEqYXr8!OCJ-%*cm^7!Co zUc&TKAEli0aV^2P0ZL_YTu}lFq!xG?W>S!?NCP+U*(IjRqW;u=3s862je-7tytNR+PPmn{crx9tMN}A)dc-s#^pSC@TU$w zxHeu(XMZOfbG>|VjZ5U2E-Xb@8on~&XuH5>AGw)(?tnbE;iUl zOyly9Pw(9u_Tn<0{cDar<143an*7b)iH{CE0&zI&eAx44ShX3puY=!y2WCGC$s3`d z1+cy^@WPmueKaZqEG;qk;ZNbbFG2r$FlwN+4GaagyeV`&R~K1RfH;D+*QCYnYI70s zjr1W5R17HCFk>2=f15nvoNq$KXoc3+7Hmbv8x1s6UnQ|a9AlpiynK25x7|PdSv5ibn?|)s z_+G~O9P-fl4~_r(a?ZS99>2b%9VV5bCuoFuW789VZCp-oAAL$6eE_Ut)q8r{?-af- zRJDo?_K=7p^}*Y}Ij&UB(IjtEcd<(Hxb&kPoO1R)T(ej4ncRQ%HFH()M&2RTeebuE z)_qTYZ#(1k-)#AYdq#e;#c*+ipFQ&kBw){tP+udMv+qelwrw$XEmUOk)3d>F;n2DR z39HL76bq*eo7O>lEx3&`&fSy(KM#Ehn2taa**tiaKyua>ygDBY6~)7_VLhC_BQzQC zz@@PJUQqWEln@L%;)9x$i9~foisD@EE%ZrOu5HK&5sE}m(h-zmg^;J>Rw}5mFg1zP zw&V<8;i4!$k%-H(Ef0~|a^Tb4>p#f72|JKpdVC+xi= zhyUQHUasP~cXJ-y*ZBh_lTKW;!$H?Q zg5kntvtU&kc!e%L%cOtw`Td{qS;EX=X!{o8pMM5=`bAX9uE=zr5rItoxL;zT25OR$ zkg^3B-W=$S1g_=LBwV@}@*408xA8@e|C`V4yIi~9$M^eqOJf_c&Mfl}eTa1)3}*wZ zHxC&T>d%|We}ApQe;wIH%AmLEv<>;z?x8iJ4ustYLt^rYa~qd>9%AWa12ic-}f*T4^vl(je5NKp&Kzb4{hRHCjZUXuNwanQJp0GAR_MldZXX>1wM7O zvF<}V@!F;#@=NnOaS<2(qfhOfV*2oBb+bA1<=O@7jf1+u4@SM?X;J1=kO@PO>e;G5 zHXDd6jfkkf9uc<5)JdY&x3CzcxM%?zS8iO*WBmRdPvD(mDfeu;V$-FodtSS|L+LwD z`Q`EYq>%#27qS#Ah`7*j<^+27Z)WixtI75V-#HqFY#)>@Nt~Vy{aKM1ji}I~Kv|J0 zyn7JhIut8`QEU*F2Rqlp&wm0-&jRwW=jCE#t84O}!;1JZhJ4Udg2y{i&{DEcb(=a5 z9{3TwQU%-f!SSj19;V|_(KYI#G4NalBTx>hG&mt5nnA8M!5)Wa=vwzi&b`;W^6&Y4 ztMSht)e5>A?--4ToIb7LquTnz7r#RD6@MaE9v>+2J*a66Ol*TDVb};1@euZcSs9-| zEEga-Bg(DE?#!=RD-|uL0?QJNz0y-Lv$rPq%VdGP%36peG>TDJ7&)=u- zW4Fa=IBpdWU3>2`zR1G&>>5_%pDwBix*Gp)#6NP@0W(i>ADwl~D4quket0(nYsJQV zoAHM(U#3t*rVg#5By!i4#v(}7{nTea%IZJNdH&@yzp>~0ajxwbeENZTU&|lTP#k2= zK@alcmOw%9E#Y~vTN19g88*#^>8s$hGa(m(R6<}9zaq)B4(Ruxt|h{2FMb#Yo!u{b zipsCLaNja93IdZkyVrOqD6Z zhyisK_|830uz*%L>2ome3CO3U8rNz>KScB4_5+Wj5KW-i4sON94@6r+(J0YqgmgMd zBpha|SAo7!e8-|TRZB6cqZBICXkjXjjiKoj>@o@ps-luGBABj8SPN6MP4v1ndMrlU zydta2YuWN(Z*@@R-!Q5yj%vKCc=a0%yCiQve)Q>+7Es?Hy4AidiP~`_8M`Ln$WYE$ zj6ohKE)iu4?V(HFw{skM@eLjsd>ADz)pIx;OiL%ELXIY3|K|Ou57jYIgL1Bi$MP%i zJeXQ5h6<6G*kG9>;MPNC6wbdu-WPR%CyWormBE&99+vNa6m~d{k}uj#5ZRFl$m2=M6LbNfiK_k!tkcg_qV_9By=ojj6!1_{Pb!#`MZ#O5q5Q_GNCm? zaaES#Fp{WE(If@Dz{IXh9hc7HmbuVKp3TWC12pZZ0k7;Sxowj4mb z@919+EPbT+y}XXq_{T?e`K`vgk3OiaYh~Y^_Qr^crBtFpjAr$5Gim^OHi`a-T@g;Q z5(1tY#{brD=`y-t22b&Q-dRxTT}J1!ODgqiX77|;dk{~3UK)EL4bm>84u&6e&ER7X zOvYFRmM%<-UG(WpY?wkO0nKrkdPqI5Z9JVTm$kEbI@GH$s6qO=4UF#E!jCsJvE}&# zn1n*uhkN%}%%+A(M2ALDqA`r7G+Ia{G_j8M`V38}8a&UVXjT|@U0mNIF;u`YD^QyZ z%q<-fwo8MlVuz#5I(3vi&s~c(s`2cv6ZDmasARKjysDPhzuC_6OPYB0yE90(4>0E| z&#apMl~dl+g{~U^_^4vg)%e@uA{MrNc*f)BjoP%X?Ia$8o?%gn8%xmUs913U<@SQLi( z0SzWAFm%JdT(jpJ>>Jyg_LuX_KH_mYOo-M9bmMCfGoc(7QKb55@UxG@1?R!_d(Nk0 z-Y!f@r*PCjq{Q!JW6X6eVsMZfkm}j42wojcLPIS) zb^0QC%ZOH`964G@6cDL7`b>MpGg1;$oEGMq~&jy-x#!pPtIrtHM0K!#tWb6<>h?-0_>M z;^3PW;jjTAjgaeMCk#|YA#THv;-YFQb+$qwXOW-P!(ihboc$uqG2y(4piP=e2oafvO}m;BH7l=%rA7IhTXTl^?QGPZ*S$SO3V9lU90iFM>RoLeDr-e$6pdc zXK1?$$@6{yZyM4J498@s21^!{k_~kc$Q;$o=HsR@^~@F63BiMhbK*~^*y5Oy2kI0^ ze!PXdK6*O6HR!Y&Kze6di}CY2h{0U>O>TTt&3{(+NDw#n5ynwbb#* zg0HdtDvPhIg_~vFhE8#@KNYDO%%@+;StNhaqMkxHmGd}{OS<&bi9T0^%)08AwE{Kp& z(S&>vls6GoevglE8~*;e{rwaD6a52o2l`z09`SoWiOp7aT3ZLd`!v)SMK`*;3x={% z*{gsb0wZu_aZR!P%Gr?3NkVota3Z1?9S+MN$|}2uoY#+$NMhO+Ey-Ha&2?CHang#; z@swUNQen?zqJWmEY+!PdsMbYg`Tj1*kG#xdC^EPQrylxq}Jh(IK z7(Hjdqn?}aN1shB=0YC-yUz1sHgXAzpFDu2O&!p5lXw|MG>8UvVKZ9bsbxn~vo^=} zM?TK$4w!w=(hTuY$eV%juOl9XUQ|30OQkYt+og8y1fE!MG5%X-0J|Kx{Z81>3C#)k z-ci>uWyxW5Ub7SVg2(KmvLt47@|~NC=KvnxB4vlj*vB?aqyCG@t(Cz*>f)2-LsqzuZOHDBj%YJ z=$JQ!Rg3pR^BmS+Ka-&igIJz|p~3&QcjwVjS6KqbzrWg-q>{=W0wE!UeJ2Pa5JVQ) z6r^Fa1x1H;M2BHyx>4w{b!^-hw6#_6sNJ}Lt*Ag+1Of&^0EGauh6J*a1w!_!)RNTF zf4m7YzX{u0#t07LA`M~!6`nXR}CX_b^kGWpDkYh&n|7) ztQV7uM|@jo<1Gj>L!P$6*N-l`Vm0(GFFs6Fc`nKvcbG1CZYy zUh4_=9pf<9cP3I7#NqRb>X2X%dq9IPpdoySiNvwT&|qNg^0k5b<@KR-qhI3K#O&ee z!^z0apmuxh3FaUl5?-ZbfR-+eSJ_E#(o$XUI2i=3^=0^ug8_n)1@;&zBxfO-=c zLPXjFMB7qNgUDUS#zEG+(QMthk=MTWvvX=1e_Pjs@)f>RZ`OxLe{MONKWp|+d}wly zm_60RP2NnYLj+HY5#pmE%m}t7$o^y`z5in?B}E?GUg+K#ntgCM5Bxxi9@Z>|ZJogE zG;>pro5(zt$-h;=kiFp2gSSb%=@_lxsuOPlfq*!2ZnTKB3JSEi#Q3Wp(g(piESk?d zPvgjY24Zvp%qA0+j(YS43*lilg7u9UyN6&IxrJ|*Y+l9!WKZa8lnl_)CDVS)!g%NK zJry+%tz|(r^g9S13wWH++#;r%o7L&(j#Hw)G&;4>(hpvzMGfSjcF;3Jkj+fSMlG0!ayA^FyH<+Ph%?x?A|nx0{iD$I|}m zW5nM5Eg`Y+*h;X(#nLV;m42(XGH4Gt5$kl;i-)0J*V#80qgwy1(Th`tfq=*>`~9fD z5#M(ZamvwdgDtaf#Sv~pi;w!FF%*1k!5Rn<-OWzSw7t|7L{q-5Jt@y4nOtw$|7$iFj<;%;48_u-dr#|(#sg^Woam;CjRn}(24lRf=?uhRqF8ET!R6{<}$6o(#~^Ws@}Lp6$iAtsIo>ZQ>8Rp{f>I zd=S${?2^w=L?4fH{&TANT5r?YPXz-I-wPhT6O1KE#Jx7|fny)N`ObM4eu*`@+nDhD z4A_5E4YEOTP$r@U8g=SutVr=j;nj!<-m%S4wR|Yajw5Jus?H3f1vM}SL=&dd`E=Bd zeg>;Z=TsCzTrxD(i-3Omd(`X2@Li>=jqDk>^IgtXiZY7E@*H2Ew|42eChMT3%cl7C zWjC^}DYmvHhJDkAV$q1+9W5fC0Lh+sZ zz4-kiKsUFDbq50C^?g3^+8Q-*2ZLviyZikR8xHRdg*oG3{y-B)7es$mG^9w8!CCq- zGC)h0*Gp72@VGxG4-wAtEK9QAD2)omQklw0d=D zs}B5n@U1yc^6q>v{>U}wG0}IF1J5pjR6A#K&>#+@wD`c~1-DlmQx62igTZs&4Aeoe zKRoxLC_mUes|;2#J*KKuG>>ZWitB0h5M_qVy)Xc<2@kKxA7Hq57Qk@*6Ov5EccRpjw*d6}w`;A2jNeZAAl()tpIBG@OFyFsT0Rjd+K)CDbDRt}zTW z;qdSQnD)Y2hJW}K^kOtG^DaPekFVe7TfcSWeSR}t!ypzg**O0xj33%0KzAcpqakRA z<_58@fL}cHJLhW@F@{Q`h+te&3B6K48I{1sr|(4>7=u{>XCmBn2khOKPV)9XqpCK& ze(ciTVd+{R8}>_AgtK7x!2waTI(<5#yyw8`27HyGue9EDHjnG`KwJ_uHHtiMcoej0 z12w%9Sz>olnVLwS>IQt3Ui@nC^tz$N54tKCpVXGh5#9Tqu$JYrn7owcIV*OUYvvYB zJVyEsup6MtDaK%d_+e1AVAVqNm^l28_onZP<2V9h#||Q;arz;nqKFERU_hivqN3rc zdkr*n-KZbmrtjMQ=#3LToJP)GmAG00eDT3Kw;!?|V5o z{Nlig)h5;)2#B?v{;-CLU*qhMd;f6S?0&576QzrGTgPn*|BbS_-DYLEvRqkjTdy#m z+ppBUmaa~+S(0=`oqYA(A;xaT^7V7?YIE3M%z*XVNy`GKM)a&`tP#6aPa|kk3}jDB zhou`bc#MfT`ft{S&K@^9VPcR$i`P)P9M$4*x{VCoW0(WPhZ`{rzkxS z&i!KVD|M4}kzS&ApQQKHERGw%-v~|qCN`YfNSa5aSo8)_tzj^Wytqa$O6B}M(L+S1 z7Y_kJ!=a|dh`x7{bm3$jwA5-0eDHs!9GJE8v$@Cjk+2io{S~F_;BvX2J4sCZ8Qr-Zy<)Uh0-yQJ&{&XTf@7nWZ*4qcpyXagJ?c?K1 zW+@#=ot(oHtH7y+7q^02J)Z7$fxAhhGmI8-^jxPCLkTom@%g4kut&nefl!;rUgpyG zGT%Pw8YEL3QmgUp+fS?vf1}R_d-_dh`=Z+kwJYd!V2Om-4&ZS>pct%4$rC!xeE5C< zmf~{EaF|a%)Meb$N*Gh_15XDLSeyNjVoIjHIgz^Nx*xyjYm{oU=M2xWr1OWGcUZYVdl*AsN39T#exOoXtrGe4<;QHB5~4`u$#DFnvOHqy#(N^|0)bAzcu; zgO*w){X3?TdnOM_9Q{!yWtF0&uC4@JJ>iL|kd!%=HtPqE*|zlYbGq5}nm_lelm)e8 z_2C|L=*ch4XV?3?CbEc(pSo6;-#wEaHOZMZ$@4y%)s-|OYN54SkIfmSX5^EZoNY_*B}v%vz6YLN;tYam?L zhF($KIBxY^>{}yUM`VDOTBYLfM?^!6QgMRN(gNrquMAQHm2~Kk&o>7B1z)GaT|ts5 zoUb3yQiSltQ zJLogdahds&cptftiBZdCEAITgyZV&0x15X^d+sU6eDT!Wd15*oC&cX|Kc>1C)?oU3x-u=VVS#L|v zaDLnWfz@*oD4ga>YOvQgTeU9b*pe(9dF86h&HLLMTJMPz7tT9!_Idcv)Q`LW{k=Hh z-*-O=pIf(QTZAqT%Ts9D?8Y9q{Kw|onwJz0D$F>$!LVFdPW;1?Uy7dM9`6<`z4qF& z>he7O6^!8Hp#H+!Gn?t@}UxU;M;heo5rN*XLT+@Wxuy+~b8QlG9dEvSj z!+yl-n=h620+xV3r@z{?j`_ajs@-qS=yaLiwO`RJ`}(6*Qx(V7&Zrk+@;4SA@i{6s zU4xNF>%wlXWm!Bop8520*B zZ`048c(wP$e7VP#M;rF%ICwTSSzo?+)vW7leqCY1&#c8uyw5T_SMxkwdqdeKBE~gZ z{)yXx`R^N+?`yt(`0kuj=UNVLxIO#ujjE1y%;~x+{oYE7F8)9BEG=DsJx$?@$_hJI!%xh5F;7B9R7TJwH(TE4?^kEz^A0FdD9RP>zh=)x$0yzT2Mt_efC530JL<}MwO^t_H#pv%gQ=~rm_Tyef z?{vf8|JRx;6igqa*q*OYPT05ms_&Ow>i3;TzSAz#Na*Ae5oly$A@Ki?gD0G!8IS#| z@tr<|e~tEEYaQBy>Yn;_E?5aK4n6)rED{1wLZI76ZeA;l4~DCRDehHV4t~ZL;76?9 zp!V?*#C%rNuv@;CdKwkq+JufkGb$zjSbHiinC7*9>g|D6dw9+1Fp^A}3#9P8v2j^> zTzXZ~zZ~Q;Y?%Us8@ZQL{v7)`4LlHfg^&eBU!6tiYNxK=#na7iQLI@eWoi{3}SV$ZL@h+ga zVZKkAP{3}u5U=xLc{zKVM~Z~?y@mfvED^u&*AL!$);O^i!c7+Ba;mz8Jb3NBiMWd1 z6?sLLP%I9e3@I&VNj-Dppf=ltc4FEC+20 zAQK>TWepwaZXrsw3N_iuoYW2m87M%0?aeGrWa$@{DioEDxU#<%d@!cA*KT%3AmHbt zd``n#$PqF&ZVC`_JlXu6Dwc2Da2!3b2KG7#8wP za_Qq`WcPI|#Hx^sfnO)wiQGcSBK|YbC+Y-G>}q$Ty;%OM91BZZod%46I_7~m=-Poj zT_PsiQ1p(t?MW+_ww_BruAWxUSD-+Dyy*X)3v}i&$1TM%$!P!UDnp34%K^cTxv5XS z7v^Pq!OT$$mTu>|iA^mEEC3Zn=VJzfS$i?J>eb1&cSqmE&WGm{3t_CC_%Utpa>o1V z&@vW^i1Ut%AG`6hdEnuww&F8n*+`io$SSJqn`*9Z(1$+lY4f;Yt7G50@C7q^C=R~KmiOyFZisah?S#QUSJTsnSePC`}o|;O?$B(}P%>@L5-$tY!x(#HB){ zh$N(X=nJK;5R$%q$s`iTja((_r!@sKwgkFsh(B?f6NvrU7Y(&_ZJNo; zJ2p4#-?1~28uUICTGyXBWN-%ixWdoP5c6H#dFhAd&|f3N$q&TIk5UZ>8rT6M%dFe@>I=2 z60;*9jj6>P$!H(&3t`{lNy{o0>j_ORQXU;fY_2Yyu)r#w2!tJyNp{3ya#L_h{8}(*0+3Vw zVf!bsD>Z4X#CSOq5>y49-kDEG=^{(vtUTF%Z`w%3JNb{NYKcvEZ62Wv$R4_xdHDo! zI(43_LqKw@u-{+yi5Tx?gZFTX=B-8PCmM>VT#7gGMnad(UxTRbs1LMf=w~jW{O>px zPm>=EmFjsD;hBIYyek8P@ma?aTJ9UckJhe{H~Rz`(~O2!TV%|71@H=;Ajc%`3Mb9J zcs`SO5h|f{V(=JNVShxsMymO{h9n*AZ~Q`nzG(4sVx3{Jc^R2yaTEMqJ{Uln_?M0T zml+{1j|pW9e|zt(aCj1h|E`>f)%M{T(+kz_zE2x7)%iH2q?Ev$-bUXAj7{^J-{pl* zGc!P?c~CZ`@2>Nb&K?#v=)}L-J>kc8>wqMEoi!lJEZ(j63$Gb4Rw*$*)ZGWKrA#Ti zvIfZF{_3oxEa}gcv~yVd32loH=)7g^73ALI-;qr)O(Nn~Z?m!Jwm-y}vCmG+Q! zy?Bsgo7b$huywFbl}JKS62D_zhMj_A4oG{w5jYi|i9YeR-xBT74C!Jof8XZML!v`-e*}@)`3KbcT6!QbdAI}UE#8l#I2BX`G>M<8v#CS2HE ztSs+RpV(ynp*!Tqpig5A9FvaA?z-#S6~Qui7Sk(TFM=w>L66_nBBb!u9NBU%8}+Nq z8R?7@!)(dB2#8A(lYAL=`aslpWM}`-KXa;r>o%h%Rja`yOwoU5F!J!^kSc2~E44ly zn`C+_;!0T}nKJq+E)V|MBbMP^P|@5S+iJ4dI(~_?Of;`H6mz#AcI}AWODZwI?K@5? zOufxl2HKGGC9z2HwRQ-}t=%R9QalDdj4!5XiK>TEFk??4^N#6ae3o}Zkm zpoCib$&Z|l<5e`4ZUkcfQwR-YlHq!@A6JX>K4(Ge6FM@Rb+x5MyeM032wbt^=3tTobw20dq+=_Q}>>D>MWl;l{iuQWy z^$UWIe}GDLXKSf{5~o)|L>%@DN^mC1s}Pbsy>2VD2W9}zuUiG&9vEHd#E{4lVlW|? zlSMrt&KBoI)sQRbLbRMjzuU{8{gGtCWlL?j>g76SulaQ9=T#uZKbU2U*evmHf%xk_vJ#OK9`j=Eg+1;yd8K*?3ldkf z2NaVYL6X$K&HlyVK)Nzf#bY4_^rL(kC_wZcHj^|62o|@1C`n{Hod#?bieHced*jMlgYh zKf;1YVR9m55%Qg@xPfr15RLXIE#l!(oTOD&t^3}<&zdd!7Uq7qSel^Nt5_whNZi{l zrC8Ze-5MxXk%sL!>b~LGUYj+~+)u1;S5a2xUvi8#F3tORXT-`7fmJH5DitAuJjpED z$5AFl>2Q+a*2=CHl1cj~cQ#*?E^tbu7=VIi5m{FXGoXjTVEO6bq~yYKJvcw+rY_Gqeqx4)fAevZt+$O(cdYCh>CC2rScXT)u?}x@yeus|h$#Y+73LlmT zA251zOr#R+eVyYoR5bY1W{@ledLlpt1Erm$`;j+vFYe>6l+}R8clLq!##@Scfg8o* zGvhUJGAgtd44qQ122U6Dly{#_DT6IZZZHCgMf(l1ZXxBRa2zcE)mfUm$UmG7vQu3t zQdAB$Y*GAca3NxbJ#EOzWH51>3td3ysBF{}fqlG4QhshHk{__MTfz0hbI-li3SEfd zU-U4_;;}t2$QVAlrWPw#Zg00jT(FL>%VmNEg0RXVJA5A$Z9iJ1A4on|T|R5OM&9*V zj8{X|^wY=pibk#~$c;RzC5FA^{oX{Xzq5xH0->R}D^VD}O8goXA*Uari6WO|4rHd< z8<|QU@n0{`2Zn!8szH|?=Ans{0lw0yahBS_7RdVjAY>s@LKaDh&?^&dV|e*7Ipf$% zZH{_TfxTlA`49frD%?$$bt?(pEukB<_m<2j>?Yf?5AGS7k`f2+fLb9}PPdPpGnf6h zr!C`}x(3PhH#hhExoN8X>sc;a<#5bFmo6G?A5hmRRArQE1HI}9{0rz@N{CqxaKxtg z{WQFwP{y)Kv{v<06a2ZWJ6<@}^YxNryM|h?q98D{Y(3bKw6@o^k0ZAdiPq*{B(4?c zO%enO0(KD>UeUNoH?7$1f+dfB6wlb^%()|YJ94AW*XcQ!hddG`!2Y}76_<^`j%p9` zMc;eH&-j;q&0JI(H_`s^xeLd&lq9emiVb&lsAixVzrZ}orP7yo+1p}Pe zs?Gkrg(tuRR8jy1$euOPX>$Yu}{dd#UVvGdk2b0+2 z^O&nxp0m@QjH{RKpPGl21iUBw@x;|vkFT)>3g?Hjp-44HXw$o2Q`v*{90QNq5^8{u z6&rDFE*D2fespPe`Bvim9d9#YZy}VhdeWxI9brD=KC`Jr7PXBX8n93a#25%7NqcY@ zQ9zKc3%>j_XY>>10!FSU8hfuwAq?SQxy2fWCv`uQrx(-$1`IYlGT1o)xX5&je1BYs zQlMtpX!!hjF>ok8Y`i_cx-k}1f%C?UdD`1`yapg_P z&>wu5?nS|v7@knkgSms(Q}oS#zbCpUmu#cX9`sJ&q#>yTa%ukfuELB2NC1!xh$$*p z^1*IKXDm3rv%n>;GAf`}!6_S;FIikO{9B{I2M_5#k>C;;wb8MR2!a(eiYu82 z%oS)h;7Ei*;0dF6(M{oFdirOYQ{~1ED(10Ze`+N@FRoo9+0gf}lpAwb1*C6@y8Od?ekxX$YY2Sq5 zi_Wz`X)E|Ls9LN7N)j9YuPAD657eMYji?1qq3Z6hvM`;N@*slXWZ)AU6J{j%^wez5 zGYdFOflMYLbPT^H;n>n~nnUd0{~>9@S!gB?CwAs>KAU1aKSt{J(0})5tKK&(DF)iDstg3qifiW7O17GY=w+D`1P)M*zE%c?P-a-FSS6M zxA++@ImK|JytQ5+hIT*lm#=Z0{(9^`NgD1x-(J$LX^UN`Weo|h=oXlN2X!kZR&QkQ z5Lg60)A0~&U)S{Ii^sEd*7aI%IvTN{BS>rXLHarlvx|H~RA?kW9#Pm|iy{8~g1-_H zlFvU-mexD{D7J;-_=tTqz`t{V^0buVfPa+IdsjtbZH=ES*or1JPs!Es()!lZ!G*h% zxpM^t=xo*cTS*rkE80Sq20@-clN#@>i=Fu3i_3-2$4^?7211I(c zw$hcf2wwRQB1dC{s);<}m$<+KgV34{1kdkxefO}sTmT+2f#ok=cMwvXF}tg4IiW~9 z{R#0ZWEybx#9RQwzwxqx-xGI}y+SI_A$BSHPJ;94yA&fJnf86I*x(z&{f;G|Cc82{ z&i;6c^nR3V&M1DXVRNhT_1x!17e$qnfO)Tpc5oWJ$XR{Q9>WBw-rB4;9W!+vb-q5| zEU}4BSWM@z|DD|K8z6bZtm|o1y}bXfZ z=uXM4*>@^#z#)z%;U+E;H(E5%JRd>zJevx~Umjlm-L~atQat4u(L~qCF@XZAhAYy~ zg^?m^&68>2WmYaT3BL%pZf!AyM=hO*uwPr|Zaw`OK8hTM*al0BZ&i(Br!y~scyb9x z0Vu0237ZFFZ zk2I6Z!5j+74!YYaRi&hRXsUHmQNW0@h8Rol#A$~r01bI=H#e*}4lEc5&im)_9(D5O z$Q7xq-+x|s{i=~*ip`6lk$tL(`ng*6yv_PJ>2OK?+L2YO&g0=6CW+(s7pyMbjluB# zK1cDSf7L?7#9zR2t46QBz9Ke!<8-UEMJh@IX3Q7!@~pH`J=T~_ksafzk7hZY?UL*d!)UtFAIc%3SSVS{ zWZ2T=K?++CrKgpqDMKoiMCZYS8lFPxXE(-|-)aeL_93J9TCG221@~{oz-72taw_I} zM}aD+CJr`x3Hu5Hf&|}$pu2TLqo_u-oOt+Qm-XPE>2J^2{L`wceLn!VZNJx^bC7n< z;(G)E)?BV-i4v~Rjuj&6AJyK5MMaCHcH+f!rspBQFL%2;akNRkM&cuJ3-wMm8}a%L zTA}K_fq5^Fq(S}RaS^$ni&v_|0&krIN0f=YQk6CZ7nxMa*p}9iOp zi4`NaTCt?IQaLRL=&^FOplje?XV&AE2{d-Sh}6o_mUH)IgJzVrw{&)varzqsIusJS znJ7qu#xRhepK^6LyF*zItE4#Z>n-aOO<^Y>{*Re350qc^mQyK-(F51bpcaS( z6gGro`mtNs-11=bhu)7U8Wta(yN8HNkKCEt)FZV(dBDXRY$q4ouH1GZiKu+aUU|0+ zu&hvGYs>#P_d4-+W69Sj?tK&pVn}l&QEKEeP@|n`Gs3e{5|7Aw?ElE`JqiCp1d7Nw#Q7Xh*=Sp^*PxbV>Bz6l^RyWNbH zLnpIf5wT85(;RCt^ab2BOm%ocR^L(|e4)pX+CiuFvBYd+?VQp_|&_pX`!$g)(EY11}22_{DAqc)4;omAIZIpdDdQ6RrgvZ5is!z2C9lgc+qZ!2u-1!3Zb| zC>En#S6^EQNuC`z)(V}apvsRK$;(5>4;K}nmB^eE3%W1l^%F~zlFfw8h?b#Z1-NH` z1|CctC-uPXUr+>Hh*dEVuPHee1M#74mGKdU?pg+Lz6T=hJQ%D`M?GLWJQa&#L@Lan zf-vDY4l7Y3%{|{G>o;1Z8`ClwF=4G4;Pj{c}m49SnS2QJf@YS1Yb-$0;R>muy#9|Pkv5*%_^zYXUG4`xh3DH7lH(1G_uKdM2-D+@$2cH|KsR%n}^v6j_j`r&W!4Gd?p(ylCl7A4xss9r^3?p^ki7Yga zqOa1u5=ioeYjCLe0OqQSsFw&~gdw2IoAPB&-fFzY+6anqPy?na;IGIlBltA@Mk+X& zqC)%X##xICDO4YwssKk&Q1Mo1p1vG7XA--AK%tM zrdA`Ve4t$_!XeDS4`=!vRZBH#d6DBa+ZJ%e}0FEV!GznU|u{ zd_mmbwT3w<0&bAQ$|dugNFCkYgJ2ze^OMpO^4kl)2p%&3Kyt@)$>aTfYZ;{_J}b~V zP;8Dv31Y-8z4jJfU*OE*to=gf%cu8!^q(zz5*7YEA6@h|9wDifrV|YJjO!ofn~xAw zA~j*{R5CdT0DS!14(dC2xH+K)R@!;mm+Swl1z>`ifv%y8BVaYP@X z%^E}tY>XSZ^xc;M>;SsKBXzN^_U5J|yu$Ws9TeY5rb6-60eKk=W_Yt09R(R?yu=)W zziX+0F>@AcL(QU3NpiAC*|i{9e8To4f%=zV(|ZWG3>P+5G7|<;s`_w)0E6am=ngcG zkMk{IdJum5Us@*S3P7k1@NePbMF_QOK60*e#! zXFnA^XGs4*J_dRC&d5ofJDo!(>t5MK{&Lgv<51{6KCkHg8{(2G{+l&y5ydvHoLJsr}LqO_?@s=@vx9Q z!Hc3WNN(V&VQy!T2k*ZOg+fJq-$Rc~Z+XKLSx3)T=a7~96Ki=Z+G=bGUllSIEuq0H zj%c|KQQCKrBh%37ZBWfy7`g257f`;iDBCZh%=ycfP}pj_$mA(gY*JIU*afDF*9()l zMnG@po;r$w_n@Bu#Tga3Sl`Q>WHK%qW({2#Mljh4z2POc^|ARfAESq`{RUhVL78V+ zFV{#6ryB|NE|PC3iDQg}HYaN#S`*xjBCBRqE|H`_VHUa7!n;mAgSr8A&*F~a${3Oe zl$CHlz6i2KE(fJ|sgy@Usuj5qw4=G`CV+0O2>$wj-2?uxgV7^Q`kMM|5xqf=KYgoI zf_JKv&O(CdQQ#!8Z>;Tu>Y+HP*O6GLlccADs+oGj4>iahXSHdwE}YD=%2h<8bkzu? zIKIxx*5O29Cy098?(7$bPowQ$XTm)SKSP)ZSdNX~KR*6kNOCnxY{1N)AL%a_HSf7y zvqBC}5M;|pR>uqP34ORAJ2-lOzxm+Pmi7A!i(JvSyF~)4dEP%7`;Bm1jSl<8mSiIy zH547jG*R1CvM3D-c#IW<|IHf#E~Pv_m!ZaF5D6zAnM8VROn8j5@%&zXhI7)#K)3~c zlaoA%czm?)@PV`QqCdJep;Hg&rY3mz9P~C4D)F0PrV1)oEYC)8Ce`o}XgE@|<>a28 zEc>c{JTcLRfj1jZWW(YW9TS-FDmwF?8yDV6KWIx^zb2!TvZab>%6aURyFcnOZ#4=V zZwJ)`{cXjQxI_1alwJk$8dnQj={7$NGkE7Do<~k)_ZM5yuMXYBV-82E#Fle#YO!46 zbSaRFbo_^$YrFgJvrinwufcEVCVdFrhROfDPz^p2`6AtJ+!NYBV1_^Qs^K$a-k%9O z#!3Cf%+hFLMhlTm+p5suJn6LCgVMt)7rvXR0#lF{QwL1c{SAVMt`)zuI@uGh8<~P5 z0$zEoo-y?(*nWUVTmz;0vaY-YX|YKZk~>2}POQNQgMDv>6`Hw3e6@r&qez8T+1VG% zj70{e6JqPyiur-Xdqp=@v8?0>`U6*bg)9GHLTPxw_K(#Ps=-5C4y(V`=c(ms`9e(c zLD!K?NQRnd4uXLo!NnGVc^ivL=;d^Rb*Jo1ABt$}d^qFAhL7gM;XF{H!#xz<*MRPJ zl2YxpZ$_rc;7CVlS1BjyxI;Hk3q^_4Mpo^NUI`(DVJ{X{bu`Q#BP~P(y;m9oQS_ zjLk>y{C+KR7G_PVAtFd|6KMdo6;D#4SV(K_oFl5i(~SY*=<1WvK^=sOgv;v4>w@P# zzee;O$RRzZM|&)uHMHK3#&rkDmS_&sVbk)Xyf@*Sb%Y(Z782&Po|@Q{C--?n@{Uj( z*C?G5Pamsh+i7pqT5A&Tr=mU%5JCPk+Hm~Wn`~(csi8P97jT#Yh5y=A4;`NfMvNP1-K8)uB)V|R9f-xV4kN;ldUKik4;TkEe zRz*(E3%X*Hs>AWrf>2MnMDwHt{&WNQIU*I;kh~eb2TFjOkxrsGMy1m%dEu$cNkPgb z<&k%2q$XnPtqawqqU9U{46q{i ztV8hDMBWXta5z~U3*A)&V~1!wY5D#}^N?m;XB$tr-dDj$Il|BLZjccSBP+CC-T6r) zqMh%+{>u>xIO!GXE^WPSZnXGy6bM&>w2(O}7%8Gllzp$U9EtOlvmNgnY+j=g?TrJX zv;UT5TOih7w9)J^lfT=gda)*BZYHH_H)>d9E-k{$74U$>W@#1fA1NfI`t> zqz48>Sa}i~CQQIzy8Se_hEneYUH)Di8H>j;cM_MstcL}Q(n=1SF|0oyvpSC-x3uaO z0eWK-CxUaT!cEI19!C2N(x*C{Iaym;$NZXs?&BEQ0Odd@18x7c`2uSbuyj zN;+$XCSsty{-qmeiN-BCf#Oq&1y_Uucl;NaL-G~hTwVh`7PyiN8p_y(okQ!XR(^?l zQrG$zw|2f~altJd?hX5P6206Zt53m?((T0>O(2LO&aPGG2RQtB<&YLR5FAKpPuj8} z6P%g=lFz1S7K`g6CeY_`ilGtTeRC4HHF(W6x-H4>!0lPz>2xtnMxC(#JrN~cY;@^DUjWD0(iV-p-&$QviYJrGxY1e+ZRu$I08{U4Bu~Xs$u50uZo;65K?Vl4=GbMC{GE4;{nhLGT ze=e6O`R^NZSz;h8FUw))7epWp!X;iS8EEd~2Qdy;k7-xNg;xa1*vC`tz4VAMt7f$nJA;^`g_lDHm zyVNhBoG!gM4C*cmU#H)&HMQ`JXRw^B`7)846s)!zCDv)05J`3NwG`_;CVie{H<#jQ z*SO(jX>8x%i~@`u6vhy^r(*DcCu{?=;c{WY3#>&>%Y)_`ckS;p=Cso_QI>CKp{kSn*sO6vWtwWsEN5%}t7xK%_J z5Rn^>;WsFIHa_*)1}Rk)_E6_IwtwY7pTOb;CGU+tt;;O8Gf^yR&gS#E3cfw)8mxtx`LtVj3 zyH&;@-c&=sSOunpjUKj>rz@ z@yBg9<)yyD*@yd^l7?~xcmpK^6ntdB1FOl6_xaw#e%{{X^Ip;`^R$_9HD2>b?mHk= zZDntAOK53leGs1!?x^?-+3l*r|1l57NkTY@adxGA;pSMiuM`e2W*hRoRg|6$C=Vx^ zhgS<_F_0Sr*Kz^`ixZ-UMl)oW+}w?afj%SDD`Gzo0+iGDe-~I#c;0w^r8ngJ3s?<-86Zi8|ja=pa&3EAwmNwnR7JkKBjS z$<0rZ)N0*{!k%A4?J@MT7_^|vKZ8lCHRgjU(wm(xe{8;al5`7-W1x%rhk)-go+oa$ zK5nTq>v>}>1%kp2Jkxo>@7QK*Gs zW;pt78gdT+Plr<4UrStqm7VA)U{<#%5?GBmi6Yi=^VHYTq!{k@`NXv93f0!N>B%1C zOZ&>}+sd{Oi!Q+WhoX94&&&bRoddDVgPL`P=t|pRYXX4U2VJXFj=dIVpT*#WDeylX z%=J6W4ij}sRJ4m)g>9`)`5260ri!&*6$)_)O)w158R+J=%XLjClQkzfT?f~-(+y1_ z-Jhk0PkM=_m^c=w|sGV2W$Njv4zTMe!~7HfeT3#+A@ z58QQqdM6oiynfu%((L@ExKc`+0%$=+gg!VyGzH>G$vE<>M!qHPCMjC`Q*9~~u zUR*EGnfX9zV_5$E0wuJtDwJWHss$1^sG2+!BgrhzA98b@D3}g(UIb-FB>b>bWA1Gf zkg;AVjujQjwc&W>D^w{p`x(=vmtIXVhOpQhdzxO5DS>%<+=rs(V@Kd>(xsj}V}5GM z2R@=bh~s#Fy29lD@Vd9V9MH5KC3AN2QM+RQQ2Tv*b5@akw|dHq4Px+!)m(eA%85vf zrk+_ljewTfYz*`Fhx{wAgb7|lNzs=n&hw0>EO1|ekR#Y0>dNy@rc7kgquqiOjyJK9 zoOL>{kI%M`az71CvH1#dPa#IsChTfg2={|*c28*)LQk&$+YgyYCr-!%0ZRIO9JubY z=nVp$K@3()4GCi_h5;7ID1DGZYOGU{wwS32F-RmKXg zJ{b_^jKQCsaO*lG>`W(QHKV+?lz6hvN;x(7Vw1&iO)9O{R>6AA%u0UcS(#tFCVibo zRv`DGc+&_*LrSU13giYW3neP3=@Di(9o^>D7!uAe4pXj^z&@xxBzp6sZN?=(JB08k zM4NPBftgY*yU)annUeDAR<+p4y(PHw5pa;&>J(=9gTR>9@&q+E*O3x!h1?8KXtq#$ z6u>x}Aw^e`>`Ko#@at)<6y3X|ai%DMLD1?ip2uTe)smjZNaqr{so*Y~D`Vh|36X~(5XV)#UUIZ}ojw+kyAq=^ zl~fxJQ>wp&&T$lxryJ8be8%MF4=1ivfI1A;Y_YEiKif4pt*%9?di?G?qD z0(!^;hw%E)Ag!of*C?8PDXOMVLyN;7c!lM|=)fza z`hUfg1;EWzM3;0_A}JCD1YBwO5uG-WYAVh?WrWStRY89cPk#id_COF!IB(IpYvEtW zsw|ZzkrU4#dJ8W9tYoW&p8Spml6HeLj)`{~+7ir1z=xy<_!76KC{6qrw2q)n5)%tf z-PCUDsrmFc8OM z(6^LEs2uKhsw7`(FEA_kG!iCt*949$^>jDS5C$?3XS)>New|YFR=MJf`+D!98r0f` zj+_f&BwDiw8VrY7y%whHFtL)z>%1s;&BxSC_iMM`au^yp&WJQHaHTw&V|NsOJIQ;} zJ#w&moQVNa>6F07 zD^I#QZ-v=8z?VfSO2ah7mv?TgmSs3-Gx2y$LEAItt2()g9~cb?)NBp$Izfwo$@@}eEI;gNX6yUSEYvi>>*drsa~x5W%W|-TyCm_O7xdZ zz5R(4c!!Jvk$;63B#!${aJy2$j{efpo)JNeo+I*}!%#A>yi+&nh+ZERnFuS15As^ut zUkU1aD;~8b&p+~<2JFT99`jn;*ub>=kl8@$CWrhJ)*%LvuL(5ij7x4?WMY9L%0+nz zi>N1{e_RLhn)y}b{b(>=k4I;)Z`%uF3Q)artR{w}lJ%1ueTUBsI%}`93vj3lY>hDHng8 zV{31;23pSOYei~BO}r957B%Y5$VPfiL9jD&2~sdQD;B}$=w0zAV^qqCN^4pwAQzkm zB1qouv<`8DbF6nhcr8>K$9dFoBsFP@DxYux8rKML2RRQ4$ZSz_vz-6n93-w)lf3Hxcg= ziBkTq|MMHEjI+jCqeS$i+xF2x^_!Mz1eFB%KWh7*Ln0VO=E!fE zmYdmR=pZ3V-H7F%zto%uKO#aYL5wot%cl##W}7CYykKbrO>{cT=6#smDRP6npiNct z^!cGbJN&9_K9eGScRsoX<300U(LoqWK%ZzWWKMgf8(pY1Q1LO3lWP0^Dsee#clBPe zF-IFBfV1}j8f%%T(?fjnj&qB;Xf&~xy0=BI{2kIQ!z%ih=I?H@h7;^B7*_xOEn+SH zb(K;uu6by%wwGLn`LQ?ahtjibd}i(8McimF6r50_TkG!pT^(Ik8eO`TRS%s0B8_8^KIsMWPc1g zTu>LSCI-pZvKkQIqT3OxJ0q-`M`l+Ef#=9`V7?@ux-bwlQOJ%AA(Prr!rLOLD<3aG z5ekbaWBD+WI@-EUjLf^~n#6zQV2;lwV-1$yHp!q1tTEK2`%Y^bR%6%>S$?W~tLw@k zFhX?&4YgI^A0vL+D!U)#bc@u*zjayd>$LZIeagR&wtBV+^qZzQn-p!cjcsd)HF}iB zN$PX~Vw37o$NVLjcYIE`(*5~uuSmM;_+#pK(w4^uReB?M%5;unAWgHcaD>vxbkzv2 z3G~pUVz4r$kVbVaqPTaVFo*270q~w}-t$OY#BlNV<}R|oW_xwuaEia>h>O47f89x> z-Hr=U6om4=kAfymNGerj-FHLQn^s;X57GTg%imLXk}b0mlP?Ghp%CeQLz-bLq22^@-b!5EdYkP=5ZOU6@PA>4gIH`6yd@%ASkiD(W~Gb+NT|77Q02@D235LWFxTLO(f#8S z%3*Xy&`oFrN}2nXW`skVw*HK7kNXaOx$EfP(~yeo7Le~O5&5zXX6?_C@u?9Fx`n^d z)tX1UOfYZ;9pH`PzyxcIx}A4G37){5;3vWB?m}Nj7*3Z3hUk8;K5&*MYO&3P$C-Qk zaUD_6`kagu`3J~=lqfKw92ICWuc{R1(%u~tXPmFZ@bD_(8LQ5$O3Q)$y&bbLW=BS$ zjb>@+=16`|6W*LFv@3zbOp7dAY z^ywa_ftLf4X9qr^e$5$uzVAIsJxUD`)$2a3LT?8>pXJcPH~ZYa$3YKS{tubdo7Yt9 zQ@#u)?U-(W(-^OtT)1viT`T0@8&}sG*i3H)TYgJp-@h$&hL@1+zMb@{K#~R;@~&7H zYNen^G9*ge=-YR)ytT6~kC~A<3Jm1M7%cWU@)uXBG7n0;6_#@97J-GTjER2N#x>sQG{{Un_ zo4>LcyeXJ?3XCK$Qjq|aCeSE^dN%FD$3Fpo`u+-yzdfEi-agLa4Q*;8(kl-@qp3PR z#e;3Gy=?;@xC9ON+BFy9pH z-1DJQHT-77W!A|3477-KvPf)K``WZ7(@^uE8=8f4w=9Um!f@1q*n`-CbWDnaVMV-4 z>;Oi`r5B@(DQLDJnFqZH+CVj~D~m?8ZWusqDM$w{j0`p1K_9icPJi_%MNtqH7Hd|o zVcd1;76rsPkR6`FFonC zXT1DHH$Fi5;aOf`!OxC)gg^h2PhNc1C(pWg)z~T)(?zary`PJ2gU8(iyL!g3-V~Dx z!(&Yo$wEOUlH)+B(c}4laWU7dhT`pKTz~ZFeLVG(SF+eJ){^Es+)#Xv1B2_f8;BJo zGC6INz11ef_EVc8U7m=*!oIsfsq-b~PJ;5ZDA#&J#KSp(#a%F3HC`Ht2@EFtw;fUC zg=JY7;(-J?Ks@B1L! z{Q1-P(K&~3_{E1Xd(B?xq~G5keTy{5_Z^Pyz{xj2yh_9>wqAiG zmbujc{l1ZEM}leR$Orlcsu&%Gxt%6J1tMPYkb;^rhDwERd_E9bT*>T=VspKc956-I zV>iNwzwC3`kuPH7_1h``)=$`@M2KSB67(w-StLg%jXT`}bb!nqm&$x=Lf^ANfyMYDykgt>}!FeN>kE|wyGe^ zMHIAq^)%O=dI5vHPix;04O1X-5?4kSLD9 zw(;zo#Fg-(l%m=1L%&auWuPpoen>JL5a$KTT3K3NamSmA^L$L*N@Ip}xDx@n)770{Q0J z3gqDj!j0aK%_@O8tU|JG-Gf~l;qRXc)$g4~dH!)wWK_@f*nHOKIQF(z;oZE3+1@<5 z(Adi!8MaLtMJUI?u`Hs&fQgw&qJ9sRImAcqVfUJ=cU(=y#r6v8Z7#(_cLh2>l63*@T@{egSW8d z$9?*d@Ti?kV2KQYSSnS)#alf&&;1g01*=NZg}YNoHa!}M8n8YAjYWf@yRzHq4{NVAvJ8f1SK*m!swhiC+*2k_~WE@02tS_ZCI zj#ko~B-f}oC-!VgwuN2sVHl&^J*LK{80egR%_c#X5k)bUWt-k%!p86%_6O*nAC}hG zMFF;ljUtZYe^Y-59LNhzo_d_{)`<4~tJ!zM=*+gid+%ck;&@DD(9v;QXD45K9iO~Z z3Qn1+kUNfGzrCgeXeSi0M^S)1BERc;CO8>Y-S|5B9j#>&jjx8*yaZymB!PB0A@qHL zK{^c>HcjwdJ||0DZ%|NQ_a!TCfkmP6sXNhT?{D9z!Gl9$zIq z>3AR+=aIYNO$+c3zkdte^cIe}@~t$k+{gMKy^e(_V$EbsNo&$PBg2v4n8Z{^swkxx z^dc3`)l8py6Y+6f0Rc&lU z!vrGV1U3xCZu$E6|Lr8u8j^w8Wt8PQsRa}86?k>Hu6-TVzAUnSDA#eA8?R>v&;ovcVH_k26<-rM96Mg-ILS1?Yw5JQL6zn65&jCC{bTl0d9out&j7WpM-u22j+* zgL^WCF$=mj(1pAz-1hPkeCf3pQ3`6z4SS@HO*PJm90By5engZc*jkg?HkM^mSUDq+ zre!;fteRm?rA#?xf=-uSvyEFSp?wE6jBzU=UZq5=H8l-UoRa(;^Se-r0t(Wh9w_2+YK_mK6=i zc0C!acw}h3@*laF;(I0WY3?;8^V_fk2IoJ8S}j9w>S4Jn*}m=Pr2q_3+z!p?l#p zOApL25(bQojo_97T-T)%lyN)@o##}_A@z|uN*9!C74kGCNfIXN6`~|!dSoNPt~2oe z>?pqdg3Vm>w3MB{yPmt=Ut?_dD`|dalKWa!E`8fiIdmS@J_Jjdbd~A#4NVTyi6oQz zRmvpWwQOJ+vQdCx%vcJBhNf69!!U+^B#f2G2)2LW44(DPgt;qw#FpIeG!+P9xqe_f zvgrPzp^@jHVy;*+h*~1Vrf*1f?%z561RrJ z{_t{vp7H{wWB9>I&*akQynrE!VVdHl1zxU6x&!R~fTZ0=mjX(*jjbF~&&9LB_X47d zM=e*hRfb;Z(dl$aRE~{>@?BK5j8hM&6&AHph;Q2@mL~K(262p1N*>s(fULmQn!r&M zaf+X(*tUh%Y9*7_n!*WLe}2f;-lgpQ;lgQr?0-`L_TOMU#vqQDPftD9o;~rc1y}WM z;_X-MWc+^VXzlwjw_C&=%Ui(%1ElARheJFR%G>yAdDez43CzjRV7FDNLYtUMeN3!1 ztH69$)O&qn^=TP)fwBZ=_I$yfo4fyw5?0`mK$s)8p}Ivq2@Go|;A5|ZO*3#v6FzW> zaE2{g0!;fP`1T3#j&H-hw&2m(&k4G0Th1jgi;(S_MJh8LSq?ZKr3{81Kz&l&>+As9 z^Rg(-OvC#h55ouFh_iKw=h*^Y12Iw|Eh~j~Jo2m{))_jMXy)0Fr8!05QE`1-*J3Hp z339LsO&mH@Y(-T$EH&En`vbAD^vfLcZl7~L{2dl9nWH=djkZ~+STVtOZ77$(jfI+4 zC=rBYj;IMU%;$4~7RE#I)E=f1*zY|Se)K+IA6)nWDD@1B#5SGFO?>fvv)jp6I*>aK z1d((scRd(yf7mNxp1SkEALl~p_4rh(^?9|c_F?gaW2f2 zYz*ukIHRz1*x~%k2`@l(+E|u@n`@FHhyIXUYpl^4cIe>d8KZWHtrU4F#LqH%O4HXV zNt94d3p%|46>MzJqt)$FuUF`G2k1N(I+AOF?^E_2CWA7KcAIv$zrW9-JaCp=tXz|4 z8Mg6`^=!x-8*O>yN4A+i^b)v}3walhNjJO46vQ!q-Ph*kuS4DUHaPiD-tpBBzvk;N zKlz16u;be6`QW`;+}_GUH%b!0ejQsT_Sg)@Yz9WAR;X;H5y>ixLMD4Q1dQpsh3R0@ zfF)N7a^+FURCOVltagOj<+`%n9&}AJ(5`uZIiWzZT`(RT&I&JiZv$TO3Gt8^IcJ0` z-hV!~Zu${Bez*fR!g}CC--X?aB2ZX{D2jZg;F;$_%PO=iQU@|6Tvrs0xn9Am{ZJH) zMInoeZ5D&74S#bi?3jaNb(wyE!BmDMwu448siAE{JS0z&mBJuUST;G}>w>PY$oDKV ze#kn?p2OVY5=9h~mCLmIL;7)o?fc}>qgNYCOK`50rN9@N>u4#tC#|kL_$r5r4t4AZ$k`ze5orb{B2A5i#VPI&Y{)Sq4NI8_!-#?Kzvd{xf`y zcRx0RGd#vJ=wCSA&G_UAlZzWJJeuRbeIw6&2=**Md0d1SQC}u@Q3$-?1tLz-$ToJ+ zkwBLWjYK<>0#4MIf{h)T3cJ06C*|4{-h3&%RVQU~#{*$TIL3>k-xSCsj#e`H@`z;Q z{UzBZ7nx+!fp5BU_aMmOYir@|Q{Xx0K94n>l+!+SHLZ>;4vuSlI1+&ZEK6XO`m|*6 zgSHg6mJ5l?!*y4@pfS>8w=9d=unSXl_|eI5o%(IKWi46U!cR3xk_(QYb7I>@$2qob zqm(HS8Bktp2t$u7&B&C6ZCMmaN)UQDj-nrBSjs~C4tkiN^Bk=;%66os)6_JJPx>~= z?rpsCg92$dO4uEJBSk-O*obnk9LnO->cWH%bEc?QXqXJd!@1iKnf1;y;mfa-?0NmX zVD$q}3bqM?K}V7d?)Rb&9GED9V|-DPIk01xx24c|;BLuBAQ^XAAe5V6t!0-Ix?&Yu z(S}d&Lt2*iRU!V+AUg$HK{5h<3pSl_1lOMRB9g@hUaTo>jqm%!NsbdoXjNdXnquAf z1UnZO8O$zG_dQze9#)>CZ5v$_=sZVR7MAOh8@+wWcPMIArh@hZht_M6w-{? zwMcDCa2i-y?aXSH0Xi=TN5?tg4>Kz38ua6c%Rhbjk9jMP>5eLoDGd4-j++<`4j){e z2lg8;2qsAGYA{G7a4J_OSenR$%aWBgN_lEB;T*~pQLTAKFkl-ILuN4EeEIhcpV(3Y zRg`OjQ)Wg4l1Gv?JAq`|l@Z~%CW#zdDfZh~Rz~Ibl_i0kVkN^)fhT$J;vO9JgNGUG zw7Bp5Q#f+d4!R~w_scN8Mr7g39u!F|9Oz+B79xEB^8w5`X69TB!^Ad1i+)@1(%C~{ zZ{;++Z6%bcI_BxJzb53Ch0Y3G&%x4~;(oTgZ| zjmisjrNo-4DQt3-1-Z7+QNeKaCbGji-17pMbK%IJN`bRtuzo*~Yv?$#P};Tx?obP) z(>EM-*OCP{HCcDXhWhE#eE-uYa@d=9vVM~=-uk()Z*p6(>Kqt%rH7$y_NU60LhRxa zL`~=?&^M`3Vr*Xv!&kSB@l(hq4qZa4Ck-eo3k2 z*aSA@VZg-HIJI(_z_w}T5m}s53==X-fn%X;g;x|5O5r*lj^mIow<9+XS6*nma*fBm zVw49Lzrl|`bKA)eKl|a|<7)o-KYzmiW{raZ8sH}O_1CrTTRiuemp;+Uuy*#yv}}Qk zLV~bH0%I~TGGAjf)bB_Z9h8KHQ64emf8#^$`!Yd`g8eO;Y|r3_9$?FN4ZDVq+>`(M zeL0qE{30;askGmk8Q8_WABnJ2~_Qn3xlMczL+4xyP1JAqR$WMt++CBw3rC~^DxWAT%S*mFp)M`~aoer)3fGp04lawq;(aB0N&?+?AvB)ybSgk^uW~5O`5} z`@Ct2Bfro6-+1^Xe3gJ{ngHKG|x!F&f^_Ei}B!S{K~9%{6Lzh86rZzgm z_UB#2>proGk?+9f8hrKLu<7^V^d^kl038Qb0dwcW$6f=(P`&~F`1w$O%i(-%E@$qR zZG8OMmvY2BRM)^|?}W=g1*cyGyJKJsCMV#~3D`1}0K6>xaU6j)dR^Ht#2KufhOM*0 zy3i*07D{#@fxmL?j2*NL3)%rZ^e{w*mp!vqdWK{FeW z_EPdxfccnQFroC(I8v@bB{|Mmg#{P%a6s9!$TFKK75v#!ii+ouJemr9aBvWVe$+Vh zb+5m8-sVx7h2!4k@sy8VLjN1{s1h{WFg1YgGbm_NyU|SRC}Q)0C_b7-={hqLrc&x>PF_ zTCFxwlu{@~b$WzR$7f(3tVk)e&TwMQ_-KvRU_iUy$5IO0vIs4kZg(J*x|N%VQ}NK{ zkbF^gLJHZsJ2TVFKly7s?>SGVxzy$dpZmd=c^AL^Up2pf6UV^-{R_rfAGma6`>HD! z>ofmkUv#th>XxfU5f}+GLn+B9bK`|<8zz~p3{Jv|JCddNkZ($CHGkGGZFC z7AsyEt|tLK>WG?87ZMaJqd+DZ*m5?H*|z7)0o7W`=rC$D+hp%aBKD+?C#;2~C$A^2 z1dRW$hY43fb3uZDWr^%u8+u)BT&Q%)dNjLZ|FBnRhFLC7dCqc5s6^Rz_sdV=CtIGy zo*%aGhB3J#su4Si(6&PyC)gGgX-bmhk3PWG{|+<`2Kb zhEKo_OPuE>CZQI<>{cu>?QVQEPgu5KibcHWd>dgLN~?`Zhi zmrJ~S)ss2lIoEObQ0Rb`vHvVQBM(nx;T#U3>`5KWaztj{SdfgmC}4V8U@b3{#lT5L zL}NP=V6#3XwsAW2!8al%%LdhejwP6P=*j}35@DZ|jDpZrBGicjXayy{`pn-U?M39B zK3XZ9l8>hga?7HK5|TK>LQ@~D;sznzR-3|e&_TeYjQg~rN<~n$hZ1-XXX@3ZXCQt##zawSq?IZc@HIoyqFMQy! zr$YG^#z74F7mV#sxFm3n+WC&jC!K69+`fa2UGX8#GszkqYemqIBr*vLs^BhK=c0k%JYZ@mGs$&{DBVH=H_SvWOR%M#Rm523y} zlF2$iH4qAAuP2=IWjVR6gso$zpi>yHLePiEmh;$f#t2tkbsFD1VLRo&Jd+=t-QoE+ zN7BJ%QB0L8w();1gbmWkgcrTk7tihXP`2vg?u;1%oWb^<0`w5vh2#P1*4&`vK!)BcL>U<`+nYB1-XX zNRpJaKO{>t^1Ogjh_Vz}lrT0v!>KL4g1h-*VC~|owfy)a_c6D|K3A~;!_-MIijG{~@kiZnD9LM;V zn64-jw`}9MU7OhVl65THKSpEgcG5V*broS4;*}<7T=*l7drhA`<(rt+XVcrYh}N1k zNrY0T6s0gAT(^;j&ie}Q`{P|qy>}bO-v;qG2! zi<;w$|Hh#qEDhwft%O?lz$@U)XFQ8TKDC8@3_Y_TYvWxK8oFB)$+OT;1d6qh#c@28 zOxN>a?J8Ng;#}H;4g26uiuwLj9X|e^h}WOHokPC?M|^Sz&$}VwZ5P9)7p`I9W5-e1 zxtr=k&~>E7VQKNW9%x~ASjup!ZE5Yb>+vU%Y4EkhFv(C_llv~2ZKEs;M_Kr;O;IbO zU7NB}l*1B{)?`Xiwk+WLkYmjGTZ0n0;Q3QTaIL7c`N~OSykZ~=E$JEf@dpJ4t5++6}akfsNV_4&PuRo zF9?c|Ei((WVV!tJ((M`8rf1ZQww!lpGH2U1oN8OXt2AO%hy&TCdnNJo2qqo&J?$t4 zN8Z7`oht~N>u~cC2FDg`JLMCs+VeCTpV>e)eKH$U7Xc}T@QnQU*t#7LE- z@Ywd^t9k8TJVg9`=v$KQHx~__pUU;Act|TNL$Pynf&bG~O!1YHAiEmaehU2Kx8cZp zq;R^i4)bTjC;tjgJ?9*5x%Fm_x;kUS6wD8yR+oF@CD78sUv>*ak1WKo&eO2Ufd!++ z3|;YkUT$cc6ym3{K7qYoI*Y$Ouf@CmN5qz{;LC{;qova>h9_Oo<&;nD=JGc{=d;h? z%x~b`6t86k$ zVP!d?r04UWEv+phZF3kRRS`-i{Isr{Qa4hHCdZ=Ah80#th@x!CoGnXm%f;Oi0Ao`q!q7!MUwj@=@^jl} zKRs``+lQr0_G_3TK}i-73!@VBS3D=YNx1(+_~2G4f@YC?Z*Gd0q45c}T?rJP@rI@l z$RjgNS+iVr6q#Y0^qP|KTb3+biSdbEb^**%D6g@3aO0EM{FM^zvHLjXb!*tM?ip%* z>;M2D07*naR60&RAVP8#>S*yo0ef;Hr{Y3uF9tQ*Tzc;RDmZSNZy72UuJu%F2_I8Pe5(wQ; z@WUcET}v>{T5G0&mzwO;k|69llEK=hm^2sw#!o{T`ShSIpV7JC(mI!brt_7CuC`<3 z)yvtkZ2~_l3xcgo`>H~Mrq+U&+n(vz(gkk}esVZGArhb(RyaM-z{JnKfA!Gj&i zR$bwNFBeZ0=Cz?jcKeWda$deCf)!f{mfJYA$4}PnV#8&y=G!p(cMmcBH``cs1*npE zHXr*fIR1XP{HbumN8zlU;64oP4B7)(z&p8I8+Q!aiHJwWN2KuRdcvsab>Nbhzz^Qz zaQLTQ!mWQaO6iL~=EN^|P~&nu%aUEu;)3Z@3E)aXkUMb758?BF1?S%gOKn*M;~una zvtzPg%7RSEVvvoG(meSL@;sHklSM%`Ot4EnmgnLZIjQGTDDm`AmZoo86ljJ+;h#ro zMn6r^afZq@q35Hu-fwQCwI)w9a@V7ILPAo55^PT_`VAsdfj&}eaoJEnZ8c2KCdK!$}s`Y(vsck%oq%%2Z#^! zibbfhB%_T7BA3>=ROWRq4Nh%OvT3cMv2W$~y^>(ewvsLD=ma#EBy$S_BMa|{f5dWo zCfgA_IWhjyt|>%j5v*DbfA(AO&dXu`0rt1R0y%b25(vjHOQ7g3taxxZz65Y=$yU9R zz!_PLnT#-Vs5G#RhGHZ&Qi1j}*KlS1)olIp0y-TEL&KL8({n9SEzE+t=d;x6F$NBKc73c8z=oXSeABOO> zkHE3_fC^z`6mkXhWWnyc@R_$laSX<>3I5~{A=)chd{)S!T1K8RSIPN% zV%lVD(5J%{Z-uwK0X8)x8L$k~$4O-2SsFkKShotsfJ+WLjeAB8!82VWd`sbtmWgvs zk>%zY(2Ry5xoeU1Q&Pvmk8@(rq8+_S(eDY3yrFk2pvV-j#zj0 zdXBnqJDav{=BNMs)ARW--~BI}tp82NL7~cjFz%lEb52})I_nlz6WMzy5(%bGV0<)& zMtP@1ap!qZ7`HgvT2UZ^Y*#aBHbFd);HpeP2U`kE!@dOAM-3$bzt@!jx?|Bm7q&5_ z&qd@Cl*9u94LaU0%oF9JmV#1YpulHNJPTW02M0LtE;ogZhXTKh1(K;}sq_&ndlKk| zrf}FDfD-QFB`uB=Y18*t6|cIrMf6ii(HDZLtxqls|0;d zjFgh5fp6RU9|r&?MkG7#6yjW09+zNFCW}uqlAVKA!q7<*IB)kYw4PdGe$`rhTjP{V zc-Rza!rCJbqrV`96Q!U#NC;h<8NWoYs>vrRgw2HZLX$zKOQ01Fngmw3>z0D<0Jm0Q z{FK9(c+MSs<>Oae%iDO?f6k12?2Ur~`ac>~xa-~@vu6=jd1lLK0#q~i}9VYc1*OQ>!o|kOj386J>uwyMr-^jGM^7)~W z5l05zNab_2Q8|x%2TX2&h3%k5VQkG2Jnr`2=Dzmr_~jB1iDI!OaF&gW zsv1Vmfsei$F8bgNyz4GVY7&Uu!$J8lIxktWH3qOFHc{Tnv27bd z3kIoV=lPG}6_fDpE8*11r}3))@c=uoU8JZ==D*h1oHjG#vKK(dgBSn!dipLj$7Z z-)fNc+GI-M855q7T8+9J62~z+XJ_$!7tdBGH(;_}r!(y1S{`m7COcW0q4E-QFS?e) zPjpyiZ{R0){wr^Ic}~!Vz5n`DcAdV8Z~yRHtp3-W7kw7K^Lp6zVwT>DI-@sKml zx{P=dN)4Ewl}<7sO2wg;zj@gT*UsSTm#rPTooLx1PxEXCK9y-NE}x(=h~PA{AKD|WyDbW zI`X&FE%@?<@aeM@?y1k>X;*Dw_hd;Z<+*5AmNpE_9C%)?ePTZ&YyGv&%z30U|?xVMn zzvfnMKVGwb8eac1xb*^<>uR3zye%C0Ex?x!)*A638JY#xS^m2$p)iIT)@0yJKt6;W zqwtB3!Ub2t%w^EF#3QB9Ff}QQ>QYZsn$0!@g;|ufh(q#Ro|9fCJD_qd8FX0*6p`lg zf8SUGR7a#R*lUZ&v+YQ5&iaUGXhat2rh?HgZsmxZ_i*p0&S2F)ZDXMf-neAl!?r9M zfhU-JjzAurMcA-;2mKA}$j2t|3PmY!=?@~(C?(5s@hy*2l;h#KKDn!)6rgQIo)^Tu z0W+s;VD)o%v*`ned~fdcR~)hHjvs9P_07=#-s4~f{VR+oy!(%@-|^ZnJpFI3Ytmnm zt-fWm--P#f2~D{!h=)+_4*P{Uim7+QcZeLB{q+ zwo|W_8TKMno)Y*IxX+*E!Q;Ncv&WuI=GZLWdj%i58WvNy;SJB^OPhW~o+X^ofZyLN zOa?25&C~G3XRhJYy>H;oFYjdf$urbn@e{6Z{D4F5z7T!ID6XHAMv-LEVF+4QU;%+WJxhXZt81VD1b$k4 z4t(tk@X|NJ#J2=0GKbvXq<5?igG9{q<48Ewj#+TMK=AuP1V=sz-uZ5z4^RJp;Dk*O z*x*gevoPsFvjdq+^eHrXi z0&@+9&~6K4u^*1I4Nu*IsWP-%g8kM=Q=ua`dNUW^b*m}3wO29Bk9F|53*lYwg_aA+C=4scDZ%)Yr?~iI zM{)bdZ#Gp>dX@=uCB*P(C7DZ98dUA?xuSHt8xMvR8!k1w) z=kji@`A?l}2gm+#ut@l;jKAjk+Ic_N__QxwM`tLR)`64WvL%~c4y3VZR+`3w`7Jkq z-9Kz(RxkfdnSc9|F|`+El6xf}V}GMszCBEi)#+C~;$ceAPZNn{Vd++wR12 zT~598UBt0;kkxffJnVDq?N8*3&)ddFPP&t`fAAMPeB;9`RJbA4QMMU0< zC{^ktj?19m!_LIt!Lls8FvNEPh`Yi#0ru_MLs73vii?l3EE3NqJhaXk$3MW4XTZE8 z8RW15ZKLEI#zxRHcfh5#SA3Qpbq~yCUv0x&4vmiNPO4S$&p<)F3xD-CIQw5<`Z~C4 zD0PLw5Y{-72`gI!I}TDCP(U5nW!i>0Mvk32!jSQeOq^6Ykk?DFW);k}L?YfWoz)!= zyckMKI;>#kanPRdX-&g{0Ur&1=-7Bkfv<&$QpdI5Leb{A2S5IYVm=8TNhQJzKGi*btr6f~P%RAFK1oViAm za^Olg6x$|n9s1D{<6l36)#@xBigptBdw8Bhdwvny4@j1zAZR%@&2Eb%mX0V@->1>; zQyD8WR;{yh_a5=va9teNVrF8DV*LpFHt&T&j5S_IHT&o+$5K#oA$Fj%Ai-yi2aCpL z6)gqI(JCw~2qs^v2z-DN>^aE+<7qu_jPf!iv`Nc?$uVg4B|v(+q281oO=j@vssjs! z)E6pc37V^?AdFyM3;(##;=wVZVRi{7r;HI*48dwxtw5Jy#}e$>1kD(90HXnPVz3M+ zdmw)ji35Hv_k7ZVhfM^wEZEl+$GxHee5g-Bc>yrl`i>dlqnCWxvIFug;o6;7F!r+- zwD=gGI{VdUpYfA>Zeru&IxNql-|sUV#H3k{Q)mjW#8H3faDQ9m%*rR9vnv*_C5xbgmDbC4o7T7}An4IWm6B)d>l_ zscD^MxyFP)7hJpFl;Td7$OPT*bZ1`I$4#pxlbx5#aN~Q=qZv=|(B~@j^iEcJ0i__J zp$lx+Vxie!_kHtdt#Le;`dD53dtH}KcYt3CiDxRzae^AJQ7aUkBBwr5 z!}DC`7H0Riy2{gx>Tw(C_7b`e>>zD*v8N~SaOeSr=Wxw!-{;J#80I%Sg5x_Dj8tJh zk%C*j3ic9I6?71_T`4rY@DvUk7q_=g*1rGbAdz#0|{o85}a}TQ}KVWiB2|; z_T*knjX^#TUk$el7#2nYffNeFlUc{G+k#Rc-#a!X8GmmH9!wBgn*u!!<(@1M1BC$5 zp4`*r4)b9s#lpc*f_Z@y{Tu~rCMC<(2;V*34y}%`Jsk&Dt%FVnYV**&^lY{qGsBv< z+P81N^q=0yrEtA-{qfIv?F-J>w|NpzxmdF;Iy?4YYfV@mp?`9V@89=z*upb-C)e%Z ztG|{hcW@lUpnv7z{e!pdxfi`~f_2Bg64zt9<91&*F}o&t$Y$ zqv%IGv~vd|VMsU27;_vf$6=rfI%$HoEZkv4ve2eJR%ciau!@{170@H6QmU{t>@f&( z24`K&(+_{>`POvze3IbmC> zs$z2~O=ELF=Q)mT!$=wJI8>6HL9fr)u^U+Y*;c&K3gbr|#+vgsQyXn?#uL6vxm2)i zAh1NP#fw90!E9IC((g|p5P&j5om4~F0(>ZGD96yR0x8T#26f7fenyL6WY1f{YQfCs zpka!_%gujn+gQySW<+yI#78w(Y6y*8(D4P%D2=&%^W0aW3aMu1uEI(aUUbD*3GAG( z40uq#Lh+V0d!tGyq2FJYZCPubJ%r+zm08tcrXH9d- z|2l%7-gy(;0qkWJA7J)T57Z~vJ^JL)HP1fj*(em(E?vt~y2MLoUdpb0ySVuuZ~h%V zz!&~=XVt;+%f`U~{l76z|En(@xBaB+?tO0hMb5kx+J#I~*AtJ6erM&gN(nxg8+>$` zoe>zGaFVdUotEuLcWlq}JREkVa23`iKu2cl?V8_PZV%`B;!j<&;G?HPYxC=wnD@x@ zoNl2RJ!Fb_u|>Aj!CO5}Wo8UI8S||cS$9CO)W)us@F<9f8NO!`4O0=OjMZhETPTkD ztqCfJwb}N$D*oz_!(X=r%awHA!QraKD`|If4!`2<*h!2U{=e*15Ji1e1O-LG@~VIe*hP?6=_tKJAQ3`~gqlD|-(<6W zXJ@D0{{C_9X2FjyuP9*K^ZD$D4LdXU&YijEcYe=#&hu2L>Iz<|g4JIn5i{{TmrCHH zdZO9zHW=P@iRe1<=B#YzOBFK7ByOP7GkGK9kKM?}F6d$Cp-u)}vG7s|HH`^%LxR!9 zpNfn&cZHneWSCUrra&TrDKerF3rbB=(WX7AOw9%;_kwyzGr_r2s5^cc9aTx%DP0D}mJr-?<8Skz4o@ zC%zB2#aO(LF$QtGi+DY^nQ{6!CadGg4RufnL`5v08|4O%Gzx=2y6>@!@K%+OaZwlw zokzk6yl6tIwn}d(e(#H*yyFVK>{y|$a)>dGRNA^JnjTISycjIlc>%x6+{2{)k1^@U zwE%2>sFtnkJgka?+ciYFYNKY-)Q(T`+Cf*58JI!p`b7-&Y(X`n;`kBLLWYJ4=!!x* z6=&@qa%^{UhF!n8nFpVLm~(!SM=Od;NVNdlE1*q>ixyl09!y$tEWR}fyRV19_3;c3 zy){dl5}{Zs(V)jE*cLsxL1KW{R!6$(lOM9#>5CfaiFtg6ae7mdNvTx_uX9MmMCWC{FK9FTJw2t*G=O&R=t|Ko52g{bR7RKs?C6eXa0 zV30)2KyiI^RV5lXsWv9DI=Axto`>*a;BnwB*MRM!g-Uj=E6j^3B4iW_8Db`3aucY% z5NrTzJ=nb>R`t3IwT{3a@v%GnUpmGHRsP!eENOj@m)0G-lckNn{S}H;z!MD(H3U3WA|D}f|;$Chcd zY3nxdWShsnyGA(pd-rq4`qwcI*9r177~edB`sRAfnmEyj!K(ePX2NS#PVMgJ`JG!y z^-Q3pDa(|dW?-99T+K(X*f@@hXM2omA5SnXVBxB}nSb{H!(F0r5wDR&!nLJAwtWXY zn}DHXRuLbVfxphf_g!q;CK{*|`g0VA3V6+FBDPPye^7=Y3T0~2S?Ui>aPZPQh#v7Q z+7+wFyzvr`esLqSpNukT>ma3wh#m!jT(^iOlXnxNG9^c-{1+hfHCGXQKb91Y=-wg> zhZa_W1BMSpFQm*>q#N&)@l9Ih#ST^Hybf>av((3M3|AnL;-doALH zUFTzGQ+SGsS16;n9%j_UwH-X$#dUmfkBMkhvMHjSL#UccI+a3=n!K{t{`9AlOk1^v zVK-ddL*XXfkY?kgHW*g}FX(XPgHt)@)-=YlA%?TilZPqIGCA6ihHu;q_VYZ$7dZ3- zzh}nc?~btq{nx|~c>IvB9{$U{Cp2rj{$eo$gL2bEO}S~}Sy6SXmZVCK*M?G@;lI_0 zjBDHBzzGO8sq2Da>Y7xAR=9OnBJ$W+B23_nCT9qnUAiP9Gn`&57vP`)7xTXL3=F{m z4m|E|qHoJI)GcL(`vw{A9-!>`%==J1r#|`y+4TVv=f&xdZ%4K@^CNYXg5B_E7EwOC znEel*$jZ6*Gtjt_Y~McUl`6KXU}_4HSOUw8F*tQIk=LGP+9oiYA=w9qTsp)ZCk*n- zZ^81T;k0K(EzSrP_H4j0gkNljw8M0Z*j=RqNJT))0#%_W#uXW{w|o&Aa>E5Ls)vI| z0ZgltArf~^79{|8c@EDNScGt#-6~7sN0G+lbB8Ws>x}Jb)uZU1M?)qHNdwFE2=Fm< z1J@PD@<>D@qG=emhoY?4>Emy)a8bm)&O2yKKoKhOky|L zaQlhyr4t9~+B^gafyOjNM%43zVtMuGZeS0wg$KFzgS~0S;=PD54Eq0z?{fXVpPYaC z$@jcK?^DB|iSC7Cg`)OGXbTmQWNTGI`=s*QUq%n7(!B6FN~q@?gu+IiC)ySu*s`uc zxi%aT)=)P@Tm}xh zo81jK<1AQjN_DGcpnpJ=0&9jLJPyA07*naRH2fL zCXOXhpkI}ynt@=_*(TAV=;@Ng{pS%nHA&^I!_-z7+5+A=Qz#4uc)wgvIUX*a8YBWp zG=VV)T_xBwc_PdAI{?2>CaSAgmW$^H)MRV0ZHH>LN-UybRbArg1nFd)V%b8|Rf0eq z$|C@SKzzRujYvc%mn&?;sXa~Spoi}uozJ63rSaTWfXgp~LJYq4B`7z`5KKOtqTFK& ztT|u`zd6OH%iBQq>La=be|&Gt`*wef#rqm#74$pB*EnkDPwf5OQ06&Xv#jxB*P)fyN^;sPl_la>FX>@AAo)rE2cqA`5{Zn&p-TNA*M$Rq*rSe!*rJ z^}@|rSnI&-7bThYm0ZSM+`(Z=n&*GCj@~_&vF`~JSXaNEy2Y@=A7zJ7jLM>BIfC0) zJ-FgRk7uLn*)kD!c?c>skZB2Znr%6c0Y?TtG)0&Y^%?|GSr{vow@ZkESXMPJXkha* z$8z5}18lcqnA#U1IJueb1>>pv`YRMe??^QqnYIIA@I-4N*O29*T^14)O9UwRii+om zgRo^g1g=X>CPg7%gdjjoL{W5=O1Vm1T`j)vqU#!-=Q3C-;o@)eMpFZybyH@rseKZ= zY!Jf0h0Q}SU{%c0_#5wa9~nN)K_qN{E~ZG*rmz5{jb@^`BgS{&8L@pK!Op1gpa z7cZxEs6by;l1zW6=zo|gsq!N+X*8Ol4Og;85_~oxI>Vj<{T2-Ognonlqb}otBJL!G zoM=*4OTyiD!b!_v4X)S?;g18Xh0pyMV%?BKm8J;`FafM28sE-PsetWzsH#SJxPXF!o=##ZK2giUt-AP{Mi2zssEAS1 z#7M?y?ApjjAH0{2Tjz0Y`ZdlxbAUpJ?5vWSjCw~kXgR!v-+p^CFI>6oIKIQ}@A*A3 z79VJgCFuVv&Sy^J;S*mxUyTsCZ4LQQ87|NzsW?^H&g&vqj9n3XD614I%>7xYnhda% zbCQ@#N;R6C-}B&OXJWDhZ_Do61BpYR(*LLyDF8rX2Y_>_ojW-M#gn) zrLRj8*YxQ!5jQk)j)7pujxF+*g(0alvnd$p7EIT(rSgoJ(9jBnet`+1iBT$HvQFOj zKqr6k8)bU%yYcYaT)6n#(DSCy(^9q2l7!9;G8s5!JZ$X(uK>#SaO0(L(b=#m+*weS zMX6kcDG^wC-+ab@Wd$3b&*SKFY#mu()Ig*{lS!DIh0A^cxgFAc@{L`Yc=QvzVT)+~ zun9l;GB6L${vJ&K12_r5mqlwJ3H5nc7rL=0qGFvDl%SG~a_^!OP!)wrv4|4-oEa^3 zs6B&J(+Qd~H4JRpitGDmwP|W&F{;%nm3)y@!lbFSmEKZ`d~ZLhFT8NqaWG61Ro8Jf zNXHT+CXb`#u7~K}cPTIKi!4-ewk>|jYWT#rpsx|``bv1=*Rcl|vixtq3C7|d9b*v3 zUy9F@N$pj?_T#gss@ZE^q!frUoK=yVKarJ+Hd!kSj1ikC-wsvo^wBM`qDwN4m@@r0 zBA8@XWV;L@W^IMy`tGRRk&!^EW>pe(;Jy7cy%8lnQz~3Vlf-Izkl($XSnm+dD+QcD zo?EI4WH90i9?OVE@o>L19Y>tQqe&UC|Q+MX#%dW6M+GMcoF$f!dL z$cXfgWjM)(t3M0JJ}ekGgpAEig9ezht>e<&YjM8Zc1?S7xFB;z(ToyBmFL0 zgRu^7yBg-c0ZpA@H6D|OqGkbca8z&AaVTVcgp-Q88VNuRvP`e*AMd<7!yFEHoQ<%kIGqgj$yh zpyb22#qjcU7&;DS$D#dCU;z_$NV0s@@vwD}?FQDOd4)A14+?%~z=8ischjD%S2-_#<#UlsgxNQ96}8O z(LYgiB2JmQ>MT;5cB5|fY!dE7*xH2cZ=o`$%9`z&`fp|t}ZkiUt1vR4{eX)d8xz*5g)w3kQk7z{) zVUjk&p_6Ec0V|5QmG~mTi{pgWOc6+?L(3~)#QY=4(7|LXeDWyRrxVV947wYIR%XOQ zK5$GLm?LJg+s4Pkk-nG)NfS10m67#7hgC+#n+yHYkSp}bV;oyB=zO1CCp98F3{8Vn zGk62g@%g#jH)S&OkGz9*MM%fOMMo73+US91U6>gAWfxFWSx$>uU^CDZgQ6`u7b62I z1;7N7I(+pSNM8YWejQ%v+n0&7aL?_3;Jl{a;YQ)N*F&QNjwuVL(hsqEVLs?y=&RT} ziq04Vva=}Ug+{0-Fl#4KFAmn3=Wf;)PmJFNY+S_D-2UxUrTr2AZyoe1j2JtLy>Az#m+0(`7+*H zCK3ZfrKRf_I+Hiz&$3vzdL6vPaeQwK-uPFKu?qUnV$!EiU;6SnKm56$c}P9!#x3*} z!b&%g1nN{}Tc56zK@Br5xUwgWd*bQP@=BFzv`~-=u{<0?6iS$sRjGOdSAI7_=WWN5 z>bX)3hc4c#8_g(t!?mQ+R<&?c+=M@!wulRFT2K6Luwzo)2cG;b5|!twyv21Ksdh`l z0-=~mQD*Z)?Adc=@o_E55g?0`@5_%>4Yer@Nn#BXLKQzv{$43T+yU*3DR{S**z4>+ zvh4oDSpBJST({c>X7<6%)ljJw=0$fEGA7)7&;};nYtz#!d8zCOl};g44-8f7990C1 zRG_Rw=0TYB;|?-cuVnj&1BMNOL*_pMYkzVe6YtrA9q};g1UAvCqD*R6AR53u`*$#I zWtl_=#M`7H+BhCe7rHk>j}z`b%J9T~2htNU2`UzW@8kOcO-=RKu1_p&5^1bKsn|HN z7`2H6CD+G@$EZ&wP*w2#0LO7D^yR2cC5a_Wa=AQ(as_3i%N&4S6UT@|DGwEJbq&Y$ z@XHlhsTBo0A3c-CkH@I#X=6CL3erFqx3id4@9WJn7VmqERnTvV-M)1G?_U4d?fdJdNYw+L=thk2mla=Zlr*t` zBXH%OLl>5XqR8_TX=%a@Z50tFT@Rsh|#hW1}-L*+z z4%38e12pXjryT^u*YW8B*aHxoc{lAIe7OP-{uti8c>#6Q@bVw;XGy_Uh zu;x#H9)55me0CUkQ+7*RR)gLK#e~SYR(%Tg;lSm~nO%v0Iq3Ko1!&Nj( zCSd&jA-a7ZMc1hW0p%bdP}NW*N(WOTU#^hrAKkL(Mg$`nqf)kT^Ces$h()Pwti$ig zk<)AxR~i_KrV{l6tlk_}y#iAh6@wm&fB6`zpn>|sPTzIr#dEe!`ciK8nafsFeZEZ9 z4sq3RIxUtCC&vOw3=vZx3y?~&G#p~Xo>Y~FDPl+2W^vx|U8&R}5vj;M4}3+c)?^J3 zx_{WVB)kz*0LKH0)P14t<$C4uvB1N5@-=?kw3!D?XzPG%S;mu5q&|F=5!V8C`@@8vftgn%*)Yvb@NDGus1zlY~}WI*0G}knJ2}8yLEnwSDrYY}j&bVl=%i2rEe@V0i);*7KYJGC z`UaY^Y1F7ey^+9eP7oWHr74=kGz=Wi!mHY-^;wkK1W`>xRW*Fag&@H9eSFU+7}1Ok zBZx%sJs-auehCzX2;dcpl*?6=Z6BZls)}278QAVYf<NXxpLcuf+${kgzg4shB2h`sdQ|QKJG@V{2sDfft4mdq@0NA)I+2JZ zZAF!eRf~wJXTC3N8U~>oxc~N%?M$Qm-L8b%z=0%1U6JZnkI4T^XT#SBlQOFCaHGl4 z#T$qlu(1}tJrRz69QGUnOO=EkXwW=Sj^$bihg%f}hwsU2Xc0-ogIhu^ks7h_(nC{% zo(*AhQU}eHM4fGs;T6k*NfTlHj%_@i{uJehYIa}twa@+uV7K$Xeq!_axtsR5@CK|U zIeZsdOju__qzs7$aW;4KP^}M$1W48m>oTbSDfGBsioA-I08qv?%iXlO{|HKZx7?Zhus@O2%dCXO{wB&sV|wu9$-C`JS| znIIS%MpZRv&OmQI>&G6x0Lw9a8SsHPvDphSX0lGHyZGHT|kgauEahRIOdR{UU9Wg!Rx8A;Z3ap;cKgbH}!~I za(%GuN*MSEOlSZtCK?hMQxw=*Tj1Ac!&Q4i`<>93hK3Y0CBe?Xkw1k?7r@sKf=`_x zn$DlO3|?LUOV%91z~hH9%ZJ4a;M&Mi&OdI5&Yq88JTQ+L3iv~SCzU(^nlwpk%8-pf zwFW-48Gbe&?mQFL)d49O2(jxEAG(uNT*0e4IGYD>EDv2*@m!Z`U!Hg}fohl-6Pk$5 z7zaKmu8Z1Ki;;|@mMn}!97WftOD0LjA}9m|g^DEMkuM3LL?e=*gMet02)%fohaNRB zvo$EH%EH~|5sSv&=No1$KIr(*PS8kGEAN9@!#2w#0F+QUP7fPoVWUttq{?(`NpPAb z62;Bi*-$Nq(w~87bi|TxZ)gJWW%k~9#8o$a;0TAgkjpVtDzobiw{XlAS8~Yn z58=e3WV8rsJc?&VaSWZ55vA-qXmxdHu{df(C!UU@$D-&F14U5?d>=IyBZwH-!)4;} zIEmIel&DTpfmk%k;^j-JjBp~y;@>9zvoYw0xNiNFEoU2_J~p*vRpat`lrFK&sUs2*<<&fl)kLG&#(a zxN`e;DCl1jY}+c!V~m6}6%|D&Y>pEO7MZfRB+^h==VF%EbM6VSWFhQsL2?5mLQ_$v z3Ikh11wBLPe|A;)-SM=Xv+v3KFjMlL3ImeN9a|QmfKgLiJrrinwux=j@D6p{wf&KF zU%&IQl`ED#2EY-t7uDREk2d6}dj&GRFtiBn`O-AfSI_uxgFClYzo>C)>n~O^9OA}S z1qua^X?=NCePegj?{A{B1jU>h^SN)o%WtB9RA?_q|_2A1(KyIJH7k@+pTz>nXfEo)0FKksZb)`-bQh! zwN$tC`E)axC5&b1f1~)1$DrRD<34uU?`B`(pOP4FQ!|ib&!0R>?|@Lt;)$?{R}Cit zt5Q`OF-fGFA<4R03e7}oL_FRN*$*S5;jy$-pmt@H*X$z+(<;fo-9VakBRpl@lxCtI z8kH6XMuq$VYU)9YLjPu|tRrzTA6@ae1#Ex+a&pTGpg{8^p^lB10t{{y4BbsPjj546jp&e$OENHm-zw8J5nhy&&Q;eymun!msQvE2{;`uE!|>}8zDEN&v) zfk$$UWPZQsw!Ry0IG!tc>geMaeQ1~6AEi48M0VAag(B_2;J$GErSM-DLfxOhZ3K4^ z?39e4TQ(S~IGlK4RUa`R>xmYKj<8_*x}bSln)~nFm96JK!70xO8_lUmRX=P(O&~5S zegq~@gS-t+4g;akpM=p7YS{3vx z)J9>eFN=@kfK~=K0%ip^w6(JM(4$cDMeu#h_Iet;1j&O73=JtL%VKzVbT+N0f5$)2 zu;F+nbj@JEDwCKsNa^552sUVJT)NSxhXyWT@PoNq#^QsBu>}1WV*elAnb|P$k^Z{L zKi58a1N4?9acY`0>pV}AgQg=mW*O9&xO&8rVM4CRxU}K}L71os85kqjaHz$hg~CWq zC7ha5LouV!>Pig+5;5b_Xw-D^HnhUzPdEkWInvl0?w6$5HVK~p)FSq~?J=r(Uj}I$ z*~WJ_zy$}%vA(htCcg~BB@tg5?v<(@R|abAvQ+iBvM@zc0%;8OKz%zD`=Qhd|9#*T zcDnV98=n07#izcj3;s(w#~HMK=F89>5#>4$QT6kEnC`;b`{&WSS1Yya2AF-&Bdo1R z_-yLP4jn@@1cjnY#vd?=-%)CV;h1Zjwt zp_~A0+0nG<(n!>S?$h9BXTU{Yhr}|ew#)WgZlple_52#h4@mE?CLvXNpv!K^2fT1- zsa%FN2h8WqNz?I%3uN|epz-*pS^i*!)}9lwD+2@@`)I1mP*qIcoP8Vf51mXlR*yH3 zW$5M|cshFpbB~_HGdDiJrE*qftV#H96#v-}$Nv!NN?iF~W zH6sbK#)pPFh}cjFwMQCL;5C4+0ugA>Tli0GWYY|ou{31F=s;2ItfFZ-wxt0IF>5oYUp8-n4WP`n_ z-@#|y8?O$#_jo^g@9u=L_(#WBg8oaf@ulkSbI!i!DLsFVIr%jvZIEfUZBo6yBudW~ zXd#}0-p$BO8icHfK*ow)4+!0&JvZb|d!Zy|n79oylq|JEf5L(!@R5d_{}!68s)m9_ zQNfm@2}zo<^yp*p<@u=^(B>UM$M5Go({=Y_AJY!q{j}n-3%I&{Go6=DU-jnYKVLYM z%pTXgm%YnPi8q-2qK#J(h$NN}ezjeN_GzJvr$5S0Ddwf(A1({5;Ptxfpl{{PgL1RG zVw+d;$G>ul?Mj|H@c8Tw$DO&JNKD4LE8)U7AtRWwqKf{-vT&)Wb9ng zpcawx^b9$_J)VFGhb^Ewp@IDTCZ^xAo~kR7pVa`AvM3BDeEB|Tp8P0=Or0t&)F$D_ zD{7fDZck2_`z)1{A$`0?>8?HT*LOk1LAM=(VGC@Zssdidq&83pViA%Rmt-`KVVbyx zPI^|3^>3^kOVIyjF*Zr~f5fWgE9sfAmAV}vk$~Z%Bxfb89!FRc)q?z}swC`aT#~OF zYAFMtNfS+v3)Wl;n{9eju-s%8k`Y+)=>xd#&80ME>S&EkVb+bynAHPnLZm<;w7UwO zSc(Hu@%f<$eKZlWJG@bi4>u_DV)4QRm$7*HWy_W2p*%x@-vN-n^`=ieJeP6o$U#4B zgp0dmA*l?>_FmCt@lkadKTl;wrv*m@o|-0!dr9suNTR-De2*LVKV#vC4nAoaC;^rt zRJ&p!WXMFo(ZDQ1x)I75_}y89eBsQcyaqIx@M^C(YA0&toZlD_ILUUPqeHH9R)ci| z0x`7Jx3PD20?yW_(VC$cV(76PRFaT35m{5h5&EiB;p7DlaeOd+hy)6YK6($GT8Ym* z4J?J@ege~a!7s`67zxV=NBYZ>=x;s&Iv2wC_Q=swS<1^A#E*QEl}8>!C7LH5i=#(0 z`g{5@j0h1!M?=Ld**Ka?vmGNa4XW`dmgkeiKu4#2{jsd!#&`K4jKx25j3wy*BRZG- z?4{|ApFjFnvwH6wKIsj}0&&>26TWail*6W(=Z4jENV&5sAv6%OHAZF))TlJCs>8_s zJ&+1C7Qpb_2|PA`9*b|eH}D^DQr$DV=X6i&erm;3IJ*xf3<=~Ajmt5sCE-F72<~m9 z!lWM#!8o=YYeYZe|BWwjFjup>v`=RGn#MWIy>$u1rTSMRLL;oHhn~%B)4(=j;;_=& z0X=JF@o93pI5C}|^Pow$_t+bD=Q95E*BsvUU`>Zq${59 z4)(@SUmHc-W6Fbq-CGgqH5d*o9$3tT0NkbU-5uffFTrg;gtu`hV(|G(A^Iv*Ban?j zvkLLa;B~;}DspnZ?8FS;LvdXk&&7}EXu2*%fCqXyO2l=ECu*qT5!E!@a*=XP3Ppv7 z`yVD+*!i#gz{lcWCB~YB?;>gsJ9WotA2nXxa@t}}x?>{~o&zJ~|5ih}%}P}&xOfc$ za|DpCh3*bX;JOjg)dI-woZ^O$&*4u?wleM)M|^i>*qs0XAOJ~3K~!YTtykW$?O@;M zWOn8THp9g$p)CVLIl-?-KC~bl8Ak~ld3vZh;lsL5?7^n(rt{GCcjim~Q>tePf5ArJ z&*EEb$2i`YzRz@qTdJIUTLbzW;Z+-LL9Cv2q_&_ePS;&>4h7F_z>n3*k=3X2P}q4WBs!h5~6; z=7)qu6Y-_`E$L#csw=XCiD@u13zuC3r(6gFYosw(ml6FDPX%1?A}}QdeR)y!=m4j%}90JT!I%LUP$X#pQZRx2_tM2#-pOQ9gl;Tgq9xo@iowL_yMfSz0CIR z_AD(f<*W-Jz8Ff;ZR-Gv4G%3mm~wqR@wyCV)uyjMM*VP}8jN*jXp=`Ykh;zH;{0_y3Cr`aZWUID6r-t6qJY%T`nv z&PhT{)(RG!%!Ca?OE}wuJrL8uIbb4JBy~FPT05WbvE*-gkCU(Z*8M$)|LoB3-_u2Y ztyJ%tE*#@+QV=Q(^-7hi>Vn;B5z+L}HHCXlKaf9M|H#vPo)7(h#~Xj_S9a|?X2qXA zy!sKQUJE%_j9^nKNVQ63tog8M20VN!oN^W@9`w6V2%(nxdZ}~^1*q3W$`l8356q+X z=dV(DY!D}G^ft8%jvlGXn0HBs8IxsbXm|iDQ!4Nnk~}LBh(?5wF+2?88{xZG!ccC^`%f_u6dHR~CPv;VT`!~P2 z%enuMvkpA;BR4J~x6#3`h6_QRG$=>xxEu$jjDxNH!cbB4Q9&rJ&E$zs9K(i=bv$?N zb0_dkZhfaiPCM?uKGO5)hkidiYc=s4Ty`34-2!S2sDlu11h&FU9}~maX+MDeaIuJ) zvOpBeqhs_&6xuDg>9;WNMlhE`!Vq>x2^j2yr~_^&+v-I?OF=oD>_ii8yK6~v&_}q_ zo(_|0;KjQaG4<3(spJDZTQF{bazz|hl#l|cgkNu^k$Zk|&vO2YJ>IXkqx?)?b@B=GXU_lmqf~660_rN%#USrNOcne%UzSFt=dsO9 z7bRr5IN%&Hh07xW-FL6wi_3WSuQ~R#ubj4N;y1g;Kic;QB;c&`Vb7Og#b(&P4u1O` znE5EAZiJ#1!uo;03nN)Cr&6DTsAfxdN>Q z4EgZX_Peou%5==Y7cqY`3bjd$av5*9N^5Hijw0iY1{!LhlH4JIvCn#5zC7{U&L944 zEJ6R9##oc^y^QlYoO!_OweFl!(Im zwQ%~5&}6^^m%{FQLETGGMlftM05v5OiRzFP#rgbO=#!pY+lUb%Vwxx!6Qxuo;;VSo zDr!7RO)|YLIRn^uC`y27dMw%U5ZNsU{(T?tSo~ARf4o@I`x@tSEw6Ilx3>c)4&$dm zT@z4(i^fCYpL}@?JeM2)^e8`y3rDy-6pH@WNiwdfgKVRSH;wS4qcK3;Rz#zCPzqqj z8=m5Xy?5mB9~{-qRXq1@&ZG1C|M}R1lWtIMx$L&|BfovbX=!fZ^tq>V^JPuEnt+xR zG#HSK3r<|9ND@^vIes*NNBbY8RJJjig@Hm1Y*t{nAPKo+5IP*tZO9HnWs{7Q>lW1e zp$3RA4bf^PToi&(h8Ca|v^HrzW=4jE64GD{JcyM+EkfLcY!qrEpw+^bajmQ#Kbcq% zVCGAho`)Gx&^?bNI+YNpHqqrL&`?_wr1n}*+jWbU^xk&ESoQpG9Agm22N23n_18{1 zalsA;UH1rv2bax&6&c_aI`}LT{?X_6f5vBtGK+!jTS$EV8R+U2Q6;A;(|Lvo+4@nx z#AFTBq$DBbiZHl2)Efz1%VR0HbRiTp;1zD;iyZ$qpWAo2cE6AB_wkm-HsTv|%suoW z*7z`(3$fk;WG$#aZ#w_|wJQI0WCzt3CDF#iY8e~QK*@vyD`B`*NEzZ+*xv!wm<%de zA>Z84Mm-_3J`A1>P8M2zAl0)QmOW|&A|9w7qz%whf@co{sS<2%sO6!9jz_c0c#1+c znIxjBctL>Wx}>6Ud=-Mg$5MPOT_ry3^X7+c#M(TtiF29wH($T8_?L*WNx}~z68^6@ z1U+BiQ%4(XKC~0BZ5p7kxUdr!ap6Du)ZQtk4t`d*nzLW7owwFFs1t&4)H{(8Wj+O& zFa)Wd?JDGQp~%vZi2CcMuuUdU5VgMfr5L3J^VqO_!%80G_wRTD?-Yx zLW=?wMXK=5en{w0s)k0fVc0(GTn|702`oMfD8QbVi;=Ca$$O3};>Q>XKu-%E@5Vq& z%R<#@={$JgNASy494`Pjpc?pCu1{6hsEftH_vkmF5>aVzBbb^&zBb7ohiB>2;ifa-lV`vy zl~L0LEu03eRKV0BrHIv49B68jA(==_298QONV`(;mRzs{80Uj~>puKqzqNezpl(WU zLVpBeHl%=|C@3R_+Y!OP9bGu`eu!Vkbol*#N0V=FL&+D>(P&Jiv3whcfMQLQl&ezb zsQ7>WK7#?j8!4)^drkOBx1)O#!NN-K&#Jk*2j|u^*qM(`@aYt18s+vOcgcvi9U(cG2>v;Y*&mY4# zc~=5eWAU#MV+ndJ-c`)H^xRkaPPlf~_wTOK-y@i+7ba>vaa~E)3J2MB1+TWt;FJIj zYIk^_D(JVwq-!sJecr+sXUti6A1@7$T8@E;QBAPnjvL^JTcP{_B+hD~bm(LzoV1KJ z2+Jm}$`qk#KwTBSa}N}4pcPK~9L#wF3TdgvwHnb6(E_;rz~d;!k|>UgS9J(N(UwRo zMl5EM$)qr&QMUS3=ouz(ZEDlClu|lMu}X~=rRq8unoiNFprD{CDoMk{@+_iSl#*ki z*JaS-aoXmTSYchumIu4X237tIV~oWy7Vj!v{YJwssoReqe)^<&)HjH3b>K*%c3nxv zo&~rvlrs_|kOzu~sZ63ha>@I4jzcfL!6W?-qa>tyjz+_2>7-Q1u@vmzydU+EI>u{I z$#?NsVHv&;lWWCL!HkOymNf)kJ!FUB{0roLQ3v?K_;5WLY>5_N>HbIIL=z~53PIT- z@I|0S*L8F)z}Eswg%bJP5RF7|o6}U{CY4Hwl;vY34SHh%zNyolfKnz#F=JxYq$$lA zWbn&>VEQ*YN$#2=QgN`i47>}$m9h9&jIk!+SiH+v;twA9@+~h6Zu)$03+%F4nr2!k zgX*~=)>JKv=V3#eY}2$TGMQ(4Ovr5{_(a1Fh55Nl@-6wtc#6&Mj z=>(b?rQA2faJfv@Fo~K8233cI8yXg*3mjn`01`b%|FUoKBi--ibsUR-e2gu>WAW~z2WsnD*>|VCF=ApVm242BS$))u8i1}% zqCetPg_EpAfTsotzV%x=j1HK_Q+%Iy7F2qdv2n>I)%sO4cgn3kh^Ia;jlGBl84uD2 z!w)*9@v#RcVypmL7pBE7`c%d@Od^|v<^)VWq@LF{oX(X?+Sxo6>Q(61AamV%hIeh@ z$LpKe^85izKp`5yy?ZQVQ^N#e14AgWI7U+jEus<`Uq^d=mZo$KzVB1AstkG_Uf`1) zDB@aGs7;0DmM%%hqrp;fqA_NiI?SHuuErkLc=p#xdddS-b2&C#Rmb?9jS;BZ&xf4T@6SNP@P8 z#fl4{kQYHGRB<+MNW*1qu)F~D(8ib9`ktTTS6DRti0Kax?^)%H1sx=UG@U=+mD#5} z!Ri9UV=&MQXfRQMfgASanmylO-}v6Nzg%GE5s$OZf>@0}H-QFm3o20&MXH|yKl?ab za2{O0=Ump!*@a1&G_D$ol=wb|s!}MI87fzZt2&0EQ7|+dRlz_Zt!m_=P+RsW5Rg(d zdL3w4;Ba>J_gv=n&|!e_N;`F>;|LTR-O$K53jKi#et1XUY&tW}gQ7KRubPS4DYzhdDHB zDuDuhc%wI0)g`cOqEQ1P8WGRONgAk%Lc)Oo#Y5Fp>Kuh)-lj04i~hztIQvDIWx;vl zL7Om{#+9c~DGt!sl11$+(c{|a6_-f4OscJ!>0jtTje2i;>-YZp-tOvI)t2|=x{k&B z9%Bi5EdKtu1eIp`r?ygi=^IdVB`HVaFwhO@25BS`jz+r(1+OUuJ>78Lo=}JYukZ)H z$VcCobNnR{bOyGok~;4P@TMWnz-U~CYOrNNDLYVSLiVU;HXk>I$!9LZNeUi3m=}LS z#SzDp0#K(w>fK>D6z5f*aVjo$}AV8tlvQT_aghy-_*LAkN z-E<~J>-5QFPFlfzzq#WXKF{9o%XJ-#_cg{a=&^Wj!iTjPxO$REcov3WI42q%!+oMK zXIYX2D@73!Dp^n{f$}Dz%J1_LZX?(~zkhIIaAI&^{=k6C-XnhRCvn)yPOIzScb|s( zlITWvcECVRDti?OB4C7$ES@E{UwH>|c}d8g2CgZ3(b1?3qO5Sb$ost*$rP4j(~_zs z(_DvLmms6)Oq@NQ?k`-+x^u2)!$+^8VfzABG)YNUh!riAh)PRSGb=vyLvDG<=FH_V zRFQ!nO_OUAtatJ4Dvqw>E6Uqk#0@R9V^b7#O~XjV(PB{wfrZbz^&uOJf2Q~+m+Kje ze~GvRp9`3s8Q-#b-ma7JS1#N3CsmW`xiBCuGrli_9bOuWgQDp6r7iGv1DcMS#Ce-E z#$UIDd;z@abqt@g-%-zv`(wZ+7IGnv|6S*KF&nsqg-;&9;-+=bbdz`)ni|AHyRd03 z@YIr{sac(8`y(Icbr-B2XlaJTFchrN_}3MWLO&*+h~;vHjN?%|dmK;9yO`iDGk_f~ z+&6(wF&6J#T*$tyAD;ThFO@yC z`!^88WgOgdBvD5U$tj5%vF7UA3b@cPL8c8WMaVWGCc7aUBx1pekM7O`kI$m>HfM7F zk>73jdroo6C6_Pgp8dzg$NcVIrmcWt6nY2bc)K>k6~BP9zXPv74e2x_O+gS6aY>w3 zA5=|HT}kS$A`Fi^z7Oij3)r~zd47CnkqsT<^8Hqy#lRJ^Ml1n-3NGHWmPvd5Z+mwh z9d(r@aQyqLEwv<-RQ3=E2_ft|K@fo;vdAh(!)ObN4(*5z!^m`_&|~Y^xG!jHtKe}N zT){Y2HsipsTKR^Z@dqg0>`<#;lyfYeu7;Y^(5y`r)1!AhK=pR=C`-V6vtIc259Nm^(?dK%?G2?Msvr<*|^GG zc$^~F>v4%njsWTubf5U}de4o^((1s~1ffx4hm96ug5l4TpmO_c8iH04nC>NN?Fb^) z4IG#E*|JUl=+Z{aeIco2)VD=eK4bJeXwa$CS9B2WfQI$M>AE(LWB+}cU>kHv5^Jrk z6Ceo`AM!iGtG&Utdjh70u0-ep*u5T69TEs&^K0<>HG~Z_k}&=_8Vqb$wZY%8 zsv(3P3`iKCkTo)GBV1_VzoELllfuc z&n-vuSIxo64^Hb9y|0GYY1=5Xi{NPvg19IM4FYR3WPLK4zW=s^(qcC*5A^H`EnYa9 z2Rbb>74tQT(re!nNQoyoCx4Mgkwn2biM><#D*X2L?P1R9zM>KTlA^me{kzHKFokv*ZW zQ8GYFmrTcTOX3_O_f^(DxPir4FyJt_&ER%GORJb}Zc?Y8+fR%B(&*GiOFwv>RyB}= z+Ck3*RSyqfTjeAiJHk>9FJAb62k7TnKYs3*NfRe+V_#tlelVqN|bacYO zjkoZbHG_W4kMBfjqd;*_J!3ft%1iapGV7B3Bj(G+}a#^U!A)x$>g%>C3CL{YJ^ zBgwOl;WgFpw>Q3$-R!P$GC)h0T+H-)?i}!>_TxPXU$SIn9lm@}jNnt-fLg-AUJZs2 z(PYV4FVZ1r1OlR$w4xQ&76A=}n<3}k5mdJCKNssPq{P0VceYV}q62>J> zNcwu%O~Xj9O=qBXAQ{UuNF12Rh|wch`|({~R?v7U|J|f3PX=h|vPqnO_pXvD zYlb9wn)y>MRM$bP7oyvVUGiCq=;LwTe@-=D>uEmssem8i`oKeXKu~ESv9C_J|M*95 zynVriUu3;*3X`6j4F?O=AR7<|Wx`vbNvDp+iV$xU9*vmb9n%8UtA>+gKZZ8D`s^@T zPy@4HG+{cEPe<+OXRwHLPGu3qCP8z92$(nr|-(~NhIK6m0&+_#J zYnQHTvJP6hY)W2Rc_SN}W9nL?IWTKDW{v3G(b@{uXt6W)dPQJ17)07YXHrY`0wU=B zFls9rsLO|^pMdA;eY8B4v4Zyq@HE}dyRZf*L8KMVelZvv;EI46hp2TvbrRg_>$kc^ z{(DPR78QP#3cl`;Ha`PeRN3OY$$=*T^J+mBAY@E$OgE)-R>IJ6u z-5(GS2G4slPzS;O@Z5)@{9yO2GFZg)nCddoJgU_ruBX*QqzT@g0wvCwbYAzD&d#pY zO3t${PyBUnuyiev0b08J9^pHR_$MMDx~JG-Hk^j)3UD^66H2_|p)=QqlgRUiMMArFP}?_w@li^ca?U;3{;f!!~5>>yGaXC5*t zil_hy_(hr|G76r&$3Ww_8SK$2YEINvU}PfMe@lERN3TeoKWTjrloH*%#t15EBDBwacE# z4*{!%qNP3Q|86#RpEz)0v5GbO{bFrrJ}jZ)*H|0m+&7YTxsTR=qIA>l?7UOqKT)=I z*ru#fRwsq-KIcBYIXe z)r#G!y9u<(2C`r>|_~Qj3Bc(dal!np#&PO_^9*kC6wv+g1eIltSvrBHYU;0lt6t;{f}StRm!wk z^G9Zz)A&bcK}&6t{%vFF-P498jQuEs@+whMS6>Rw-thPgNX!^dyG=vK?OgHL zdEM;#EL!kY^5VMj`Y<;-^yC-iv-iEdlUYjoPhG3qAD&K&oa)G&>V6N+x++=_wa{9v zNM{(;{vkSp2-+9?)C53h1ZzoW#$*5h1v5!RK~%U%i5Q)5YzRDEHk7DUy+)nfvf`Ud zaEqktfXqQlZBqQCt2vU*AYLDLl*BW=RL0 ze|5rv=l}8Rv>Ub{p*SKVGb&^&q3ggI0wL-lm>@F*hr!7rv3vG=L93Sk`C3FUwpc~} z*7BMPH}VRY{^Tjv=8p;M0DGqJic{as1rq6m{1IBgA(QhiSXxxApqwsI2Ed;@@_C z;hJ*%P&+4E)9USkmsc}fi~VA>^z{^w_kx*SB9t%iOB^(JyRhTnU52mA7cOAf#Q*+K z_zW-q^Ty)kbLaS<_VTMW`LuYI)ttqX3^W(5(bMsIYqeZ-=lfGkg{LmwuX^as!lcBT z#Mih$rQ##o3N4+53abp6{QejIHyl^mE?t+AoO5_f$bo_&nYfQ8tN+dwt^1VO zdr%>3yC`o<%Ykc_$(B{%AXZZ%22#DyMdVNOm!X>6} zRu}gtf6sUS`1Duo*E9S)dw#HbP6CC~T+S5?@r$immr87TEF5v`uE)>&+nQ(YoATkc zO=t9x{7C>H;I5ROC%uMh;7k0<* z0q0leNqUn&N&fogFH4o<1Gvu#70N`L8_e+!nye8&^Z)rf?T3=;%H$sYcYhgg=VAK) zxa`N7vv(JMxhK6L!*$lH|z%nP6 zxzqQ}{2vXbI$byRmbyef;IECDlB?(YJWwol)oCmK+Vu4=x2Z3-I9G9hf}fd=`YX;C zibu4v7Dn$)=oT>+jh?%R#bANM{j3=a4HM?tE1Ny3do8Tqr zo2t6EhPJkXm0Xe#PmiRDTZ!o|pFedS9b)RjcjY+x8!s4a%bD4JyMr0oBm_-a{u};U_;|F(b$W=-pU)}-9MSh+&=B}=%su5-MQx9 zGiO+}bQSKsnfawS?zZ3aasLiM;+Ism;DWWrl6>Z*h}%MT>Uo&U;gs zDY9?n(kI?lrg^^>{P0>II7#K@udhZkC&x}^PG(xnbZo9Hv*!NVf^$>jCaHLmjV@h% Z_5*fv2mV%Q~loCIA}6qDKG# From 22e6e5d759e73acc408cf932e5415317192a8f7a Mon Sep 17 00:00:00 2001 From: Oliver Brakmann Date: Wed, 15 Oct 2014 19:45:49 +0200 Subject: [PATCH 6/6] Port Intervention to the new Lua API --- OpenRA.sln | 1 + mods/ra/maps/intervention/intervention.lua | 279 +++++++++++++++++++++ mods/ra/maps/intervention/map.yaml | 76 +++++- mods/ra/maps/intervention/mission.lua | 272 -------------------- 4 files changed, 348 insertions(+), 280 deletions(-) create mode 100644 mods/ra/maps/intervention/intervention.lua delete mode 100644 mods/ra/maps/intervention/mission.lua diff --git a/OpenRA.sln b/OpenRA.sln index 38aba1ae18c3..84606d62db3c 100644 --- a/OpenRA.sln +++ b/OpenRA.sln @@ -62,6 +62,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Red Alert Lua scripts", "Re mods\ra\maps\allies-01-classic\allies01.lua = mods\ra\maps\allies-01-classic\allies01.lua mods\ra\maps\allies-02-classic\allies02.lua = mods\ra\maps\allies-02-classic\allies02.lua mods\ra\maps\desert-shellmap\desert-shellmap.lua = mods\ra\maps\desert-shellmap\desert-shellmap.lua + mods\ra\maps\intervention\intervention.lua = mods\ra\maps\intervention\intervention.lua mods\ra\maps\fort-lonestar\fort-lonestar.lua = mods\ra\maps\fort-lonestar\fort-lonestar.lua EndProjectSection EndProject diff --git a/mods/ra/maps/intervention/intervention.lua b/mods/ra/maps/intervention/intervention.lua new file mode 100644 index 000000000000..4aa893ab01bf --- /dev/null +++ b/mods/ra/maps/intervention/intervention.lua @@ -0,0 +1,279 @@ +BeachheadTrigger = +{ + CPos.New(120, 90), CPos.New(120, 89), CPos.New(120, 88), CPos.New(121, 88), CPos.New(122, 88), CPos.New(123, 88), CPos.New(124, 88), + CPos.New(125, 88), CPos.New(126, 88), CPos.New(126, 89), CPos.New(127, 89), CPos.New(128, 89), CPos.New(128, 90), CPos.New(129, 90), + CPos.New(130, 90), CPos.New(130, 91), CPos.New(131, 91), CPos.New(132, 91), CPos.New(133, 91), CPos.New(134, 91), CPos.New(134, 92), + CPos.New(135, 92), CPos.New(136, 92), CPos.New(137, 92), CPos.New(137, 93), CPos.New(138, 93), CPos.New(139, 93), CPos.New(140, 93), + CPos.New(140, 94), CPos.New(140, 95), CPos.New(140, 96), CPos.New(140, 97), CPos.New(140, 98), CPos.New(140, 99), CPos.New(140, 100), + CPos.New(139, 100), CPos.New(139, 101), CPos.New(139, 102), CPos.New(138, 102), CPos.New(138, 103), CPos.New(138, 104), + CPos.New(137, 104), CPos.New(137, 105), CPos.New(137, 106), CPos.New(136, 106), CPos.New(136, 107) +} + +BaseRaidInterval = Utils.Minutes(3) +BaseFrontAttackInterval = Utils.Minutes(3) + Utils.Seconds(30) +BaseRearAttackInterval = Utils.Minutes(8) +UBoatPatrolDelay = Utils.Minutes(2) + Utils.Seconds(30) +BaseFrontAttackWpts = { PatrolWpt1.Location, BaseRaidWpt1.Location } + +Village = { FarmHouse1, FarmHouse2, FarmHouse3, FarmHouse4, FarmHouse5, FarmHouse6, FarmHouse7, FarmHouse8, FarmHouse9, Church } +VillageRaidInterval = Utils.Minutes(3) +VillageRaidAircraft = { "mig", "mig" } +VillageRaidWpts = { VillageRaidEntrypoint.Location, VillageRaidWpt1.Location, VillageRaidWpt2.Location } + +BaseRaidAircraft = { "mig", "mig" } +BaseRaidWpts = { BaseRaidEntrypoint.Location, UboatPatrolWpt1.Location, BaseRaidWpt2.Location } + +BaseFrontAttackUnits = { "e3", "e3", "e1", "e1", "e1", "3tnk", "3tnk", "apc" } +BaseRearAttackUnits = { "e3", "e3", "e1", "e1", "3tnk", "3tnk", "v2rl" } +BaseRearAttackWpts = { GroundAttackWpt1.Location, BaseRearAttackWpt1.Location, BaseRearAttackWpt2.Location, BaseRearAttackWpt3.Location } + +SovietHarvesters = { Harvester1, Harvester2, Harvester3 } +HarvesterGuard = { HarvGuard1, HarvGuard2, HarvGuard3 } + +UBoats = { Uboat1, Uboat2, Uboat3, Uboat4, Uboat5, Uboat6 } +UboatPatrolWpts1 = { UboatPatrolWpt1.Location, UboatPatrolWpt2.Location, UboatPatrolWpt3.Location, UboatPatrolWpt4.Location } +UboatPatrolWpts2 = { UboatPatrolWpt4.Location, UboatPatrolWpt2.Location, UboatPatrolWpt1.Location } +UBoatPatrolUnits = { "ss" } + +HunterSubs = { "ss", "ss" } + +GroundPatrolWpts = { PatrolWpt1.Location, PatrolWpt2.Location } +GroundPatrolUnits = +{ + { "e1", "e1", "e1", "e3", "e3", "dog" }, + { "apc", "apc", "ftrk" }, + { "3tnk", "3tnk" } +} +Paratroopers = { "e1", "e1", "e1", "e3", "e3" } + +ParadropSovietUnits = function() + local start = BaseRaidEntrypoint.CenterPosition + WVec.New(0, 0, Actor.CruiseAltitude("badr")) + local transport = Actor.Create("badr", true, { CenterPosition = start, Owner = soviets, Facing = (Utils.CenterOfCell(MCVDeployLocation.Location) - start).Facing }) + + Utils.Do(Paratroopers, function(type) + local a = Actor.Create(type, false, { Owner = soviets }) + transport.LoadPassenger(a) + Trigger.OnIdle(a, function(b) b.Hunt() end) + end) + + transport.Paradrop(MCVDeployLocation.Location) +end + +AirRaid = function(planeTypes, ingress, egress, target) + if target == nil then + return + end + + for i = 1, #planeTypes do + Trigger.AfterDelay((i - 1) * Utils.Seconds(1), function() + local start = Utils.CenterOfCell(ingress[1]) + WVec.New(0, 0, Actor.CruiseAltitude(planeTypes[i])) + local plane = Actor.Create(planeTypes[i], true, { CenterPosition = start, Owner = soviets, Facing = (Utils.CenterOfCell(ingress[2]) - start).Facing }) + + Utils.Do(ingress, function(wpt) plane.Move(wpt) end) + plane.Attack(target) + Utils.Do(egress, function(wpt) plane.Move(wpt) end) + plane.Destroy() + end) + end +end + +BaseRaid = function() + local targets = Map.ActorsInBox(AlliedAreaTopLeft.CenterPosition, AlliedAreaBottomRight.CenterPosition, function(actor) + return actor.Owner == player and actor.HasProperty("StartBuildingRepairs") + end) + + if #targets == 0 then + return + end + + local target = Utils.Random(targets) + + AirRaid(BaseRaidAircraft, BaseRaidWpts, { VillageRaidEntrypoint.Location }, target) + + Trigger.AfterDelay(BaseRaidInterval, BaseRaid) +end + +VillageRaid = function() + local target = nil + Utils.Do(Village, function(tgt) + if target == nil and not tgt.IsDead then + target = tgt + return + end + end) + + if target == nil then + return + end + + AirRaid(VillageRaidAircraft, VillageRaidWpts, { BaseRaidEntrypoint.Location }, target) + + Trigger.AfterDelay(VillageRaidInterval, VillageRaid) +end + +SendUboatPatrol = function(team) + Trigger.AfterDelay(UBoatPatrolDelay, function() + Utils.Do(team, function(uboat) + if not uboat.IsDead then + uboat.PatrolUntil(UboatPatrolWpts1, function() + return Time.GameTime > Utils.Minutes(2) + UBoatPatrolDelay + end) + uboat.Patrol(UboatPatrolWpts2) + end + end) + end) +end + +SendGroundPatrol = function(team) + Utils.Do(team, function(unit) unit.Patrol(GroundPatrolWpts, true, Utils.Seconds(3)) end) + Utils.Do(team, function(unit) + Trigger.OnIdle(unit, function(actor) actor.Hunt() end) + end) + Trigger.OnAllKilled(team, function() + Build(Utils.Random(GroundPatrolUnits), SendGroundPatrol) + end) +end + +BaseFrontAttack = function(team) + Utils.Do(team, function(unit) unit.Patrol(BaseFrontAttackWpts, false) end) + Utils.Do(team, function(unit) + Trigger.OnIdle(unit, function(actor) actor.Hunt() end) + end) + Trigger.AfterDelay(BaseFrontAttackInterval, function() Build(BaseFrontAttackUnits, BaseFrontAttack) end) +end + +BaseRearAttack = function(team) + Utils.Do(team, function(unit) unit.Patrol(BaseRearAttackWpts, false) end) + Utils.Do(team, function(unit) + Trigger.OnIdle(unit, function(actor) actor.Hunt() end) + end) + Trigger.AfterDelay(BaseRearAttackInterval, function() Build(BaseRearAttackUnits, BaseRearAttack) end) +end + +Build = function(units, action) + if not soviets.Build(units, action) then + Trigger.AfterDelay(Utils.Seconds(15), function() + Build(units, action) + end) + end +end + +SetupWorld = function() + Utils.Do(SovietHarvesters, function(a) a.FindResources() end) + + Utils.Do(SovietHarvesters, function(harvester) + Trigger.OnDamaged(harvester, function(h) + Utils.Do(HarvesterGuard, function(g) + if not g.IsDead then + g.Stop() + g.AttackMove(h.Location, 3) + end + end) + end) + end) + + Utils.Do(UBoats, function(a) a.Stance = "Defend" end) + + Utils.Do(Map.NamedActors, function(actor) + if actor.Owner == soviets and actor.HasProperty("StartBuildingRepairs") then + Trigger.OnDamaged(actor, function(building) + if building.Owner == soviets then + building.StartBuildingRepairs() + end + end) + end + end) + + WarFactory.RallyPoint = Rallypoint.Location + WarFactory.IsPrimaryBuilding = true + Barracks.IsPrimaryBuilding = true + SubPen.IsPrimaryBuilding = true +end + +Tick = function() + if soviets.Resources > soviets.ResourceCapacity * 0.75 then + soviets.Resources = soviets.Resources - ((soviets.ResourceCapacity * 0.01) / 25) + end + + if player.HasNoRequiredUnits() then + player.MarkFailedObjective(villageObjective) + end +end + +WorldLoaded = function() + player = Player.GetPlayer("Allies") + soviets = Player.GetPlayer("Soviets") + + Trigger.OnObjectiveAdded(player, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "New " .. string.lower(p.GetObjectiveType(id)) .. " objective") + end) + Trigger.OnObjectiveCompleted(player, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective completed") + end) + Trigger.OnObjectiveFailed(player, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective failed") + end) + + Trigger.OnPlayerWon(player, function() + Media.PlaySpeechNotification(player, "Win") + end) + + Trigger.OnPlayerLost(player, function() + Media.PlaySpeechNotification(player, "Lose") + end) + + sovietObjective = soviets.AddPrimaryObjective("Destroy the village.") + villageObjective = player.AddPrimaryObjective("Save the village.") + beachheadObjective = player.AddSecondaryObjective("Get your MCV to the main island.") + + beachheadTrigger = false + Trigger.OnExitedFootprint(BeachheadTrigger, function(a, id) + if not beachheadTrigger and a.Owner == player and a.Type == "mcv" then + beachheadTrigger = true + Trigger.RemoveFootprintTrigger(id) + player.MarkCompletedObjective(beachheadObjective) + + captureObjective = player.AddPrimaryObjective("Locate and capture the enemy's Air Force HQ.") + Trigger.OnCapture(AirForceHQ, function() + Trigger.AfterDelay(Utils.Seconds(3), function() + player.MarkCompletedObjective(captureObjective) + player.MarkCompletedObjective(villageObjective) + end) + end) + Trigger.OnKilled(AirForceHQ, function() player.MarkFailedObjective(captureObjective) end) + + Trigger.AfterDelay(BaseFrontAttackInterval, function() + Build(BaseFrontAttackUnits, BaseFrontAttack) + ParadropSovietUnits() + end) + Trigger.AfterDelay(BaseRearAttackInterval, function() + Build(BaseRearAttackUnits, BaseRearAttack) + end) + Trigger.AfterDelay(BaseRaidInterval, BaseRaid) + + Trigger.AfterDelay(UBoatPatrolDelay, function() + Build(HunterSubs, function(subs) + Utils.Do(subs, function(sub) + Trigger.OnIdle(sub, function(s) s.Hunt() end) + end) + end) + end) + end + end) + + Trigger.OnAllKilled(Village, function() player.MarkFailedObjective(villageObjective) end) + + SetupWorld() + + Trigger.AfterDelay(VillageRaidInterval, VillageRaid) + + Trigger.AfterDelay(1, function() Build(UBoatPatrolUnits, SendUboatPatrol) end) + Trigger.AfterDelay(1, function() Build(Utils.Random(GroundPatrolUnits), SendGroundPatrol) end) + + Reinforcements.Reinforce(player, { "mcv" }, { MCVInsertLocation.Location, MCVDeployLocation.Location }, 0, function(mcv) + mcv.Deploy() + end) + + Camera.Position = CameraSpot.CenterPosition + Trigger.AfterDelay(Utils.Seconds(5), function() CameraSpot.Destroy() end) +end diff --git a/mods/ra/maps/intervention/map.yaml b/mods/ra/maps/intervention/map.yaml index ad2515229918..1629c1702737 100644 --- a/mods/ra/maps/intervention/map.yaml +++ b/mods/ra/maps/intervention/map.yaml @@ -2205,7 +2205,7 @@ Actors: Actor14: wood Location: 23,57 Owner: Neutral - Camera: CAMERA + CameraSpot: CAMERA Location: 79,137 Owner: Allies @@ -2220,8 +2220,8 @@ Rules: -CrateSpawner: -SpawnMPUnits: -MPStartLocations: - LuaScriptInterface: - LuaScripts: mission.lua + LuaScript: + Scripts: intervention.lua ObjectivesPanel: PanelName: MISSION_OBJECTIVES CAMERA: @@ -2229,17 +2229,26 @@ Rules: Range: 18c0 MISS: Tooltip: - Name: Air Force HQ + Name: Soviet Air Force HQ Capturable: Type: building AllowAllies: False AllowNeutral: False AllowEnemies: True CaptureThreshold: 1.0 - E6: + E6.MOD: + Inherits: E6 + Buildable: + Prerequisites: ~barracks + -RepairsBridges: Captures: CaptureTypes: building Sabotage: False + RenderInfantry: + Image: e6 + E6: + Buildable: + Prerequisites: ~disabled HPAD: ProvidesCustomPrerequisite: Prerequisite: givefix @@ -2254,12 +2263,12 @@ Rules: Name: Weapons Factory or Helipad MIG: Buildable: - Prerequisites: afld + Prerequisites: ~afld LimitedAmmo: Ammo: 2 HELI: Buildable: - Prerequisites: hpad + Prerequisites: ~hpad Valued: Cost: 1500 SAM: @@ -2270,19 +2279,49 @@ Rules: TSLA: Power: Amount: -50 - ^Vehicles: + ^Building: + Tooltip: + GenericVisibility: Enemy + ShowOwnerRow: false + ^Vehicle: MustBeDestroyed: + Tooltip: + GenericVisibility: Enemy + ShowOwnerRow: false ^Tank: MustBeDestroyed: + Tooltip: + GenericVisibility: Enemy + ShowOwnerRow: false ^Infantry: MustBeDestroyed: + Tooltip: + GenericVisibility: Enemy + ShowOwnerRow: false ^Plane: MustBeDestroyed: + Tooltip: + GenericVisibility: Enemy + ShowOwnerRow: false ^Ship: MustBeDestroyed: + Tooltip: + GenericVisibility: Enemy + ShowOwnerRow: false + ^Wall: + Tooltip: + ShowOwnerRow: false + ^Husk: + Tooltip: + GenericVisibility: Enemy, Ally, Neutral + GenericStancePrefix: false + ShowOwnerRow: false ATEK: Buildable: Prerequisites: ~disabled + STEK: + Buildable: + Prerequisites: ~disabled GAP: Buildable: Prerequisites: ~disabled @@ -2292,9 +2331,24 @@ Rules: PDOX: Buildable: Prerequisites: ~disabled + E4: + Buildable: + Prerequisites: ~disabled E7: Buildable: Prerequisites: ~disabled + THF: + Buildable: + Prerequisites: ~disabled + HIJACKER: + Buildable: + Prerequisites: ~disabled + SHOK: + Buildable: + Prerequisites: ~disabled + SNIPER: + Buildable: + Prerequisites: ~disabled 2TNK: Buildable: Prerequisites: ~disabled @@ -2310,6 +2364,9 @@ Rules: MNLY.AT: Buildable: Prerequisites: ~disabled + MNLY.AP: + Buildable: + Prerequisites: ~disabled MRJ: Buildable: Prerequisites: ~disabled @@ -2319,6 +2376,9 @@ Rules: HIND: Buildable: Prerequisites: ~disabled + YAK: + Buildable: + Prerequisites: ~disabled CA: Buildable: Prerequisites: ~disabled diff --git a/mods/ra/maps/intervention/mission.lua b/mods/ra/maps/intervention/mission.lua deleted file mode 100644 index d23a0531cbfe..000000000000 --- a/mods/ra/maps/intervention/mission.lua +++ /dev/null @@ -1,272 +0,0 @@ -difficulty = OpenRA.GetDifficulty() - -if difficulty == "Medium" then - BaseRaidInterval = Utils.Minutes(3) - BaseFrontAttackInterval = Utils.Minutes(3) + Utils.Seconds(30) - BaseRearAttackInterval = Utils.Minutes(8) - UBoatPatrolDelay = Utils.Minutes(2) + Utils.Seconds(30) - BaseFrontAttackWpts = { PatrolWpt1, BaseRaidWpt1 } -else - BaseRaidInterval = Utils.Minutes(2) + Utils.Seconds(30) - BaseFrontAttackInterval = Utils.Minutes(2) - BaseRearAttackInterval = Utils.Minutes(5) - UBoatPatrolDelay = Utils.Minutes(2) - BaseFrontAttackWpts = { PatrolWpt1 } -end - -Village = { FarmHouse1, FarmHouse2, FarmHouse3, FarmHouse4, FarmHouse5, FarmHouse6, FarmHouse7, FarmHouse8, FarmHouse9, Church } -VillageRaidInterval = Utils.Minutes(3) -VillageRaidAircraft = { "mig", "mig" } -VillageRaidWpts = { VillageRaidWpt1, VillageRaidWpt2 } - -BaseRaidAircraft = { "mig", "mig" } -BaseRaidWpts = { UboatPatrolWpt1, BaseRaidWpt2 } - -BaseFrontAttackUnits = { - { Barracks, {"e3", "e3", "e1", "e1", "e1"} }, - { WarFactory, {"3tnk", "3tnk", "apc"} } - } - -BaseRearAttackUnits = { - { Barracks, {"e3", "e3", "e1", "e1"} }, - { WarFactory, {"3tnk", "3tnk", "v2rl"} } - } -BaseRearAttackWpts = { GroundAttackWpt1, BaseRearAttackWpt1, BaseRearAttackWpt2, BaseRearAttackWpt3 } - -SovietHarvesters = { Harvester1, Harvester2, Harvester3 } -HarvesterGuard = { HarvGuard1, HarvGuard2, HarvGuard3 } - -UBoats = { Uboat1, Uboat2, Uboat3, Uboat4, Uboat5, Uboat6 } -UboatPatrolWpts1 = { UboatPatrolWpt1, UboatPatrolWpt2, UboatPatrolWpt3, UboatPatrolWpt4 } -UboatPatrolWpts2 = { UboatPatrolWpt4, UboatPatrolWpt2, UboatPatrolWpt1 } -UBoatPatrolUnits = { { SubPen, {"ss"} } } - -HunterSubs = { { SubPen, {"ss", "ss"} } } - -GroundPatrolWpts = { PatrolWpt1, PatrolWpt2 } -GroundPatrolUnits = { - { { Barracks, {"e1", "e1", "e1", "e3", "e3"} }, { Kennel, {"dog"} } }, - { { WarFactory, {"apc", "apc", "ftrk"} } }, - { { WarFactory, {"3tnk", "3tnk"} } } - } - -Reinforcements.ReinforceAir = function(owner, planeNames, entrypoint, rallypoint, interval, onCreateFunc) - local facing = { Map.GetFacing(CPos.op_Subtraction(rallypoint.Location, entrypoint.Location), 0), "Int32" } - local flight = { } - - for i, planeName in ipairs(planeNames) do - local enterPosition = WPos.op_Addition(entrypoint.CenterPosition, WVec.New(0, 0, Rules.InitialAltitude(planeName))) - local plane = Actor.Create(planeName, { AddToWorld = false, Location = entrypoint.Location, CenterPosition = enterPosition, Owner = owner, Facing = facing }) - flight[i] = plane - OpenRA.RunAfterDelay((i - 1) * interval, function() - World:Add(plane) - Actor.Fly(plane, rallypoint.CenterPosition) - if onCreateFunc ~= nil then - onCreateFunc(plane) - end - end) - end - return flight -end - -FollowWaypoints = function(team, waypoints) - Utils.Do(waypoints, function(wpt) - Team.Do(team, function(a) Actor.Fly(a, wpt.CenterPosition) end) - end) -end - -PlaneExitMap = function(actor, exitPoint) - Actor.Fly(actor, exitPoint.CenterPosition) - Actor.FlyOffMap(actor) - Actor.RemoveSelf(actor) -end - -BaseRaid = function() - local base = Map.FindStructuresInBox(player, AlliedAreaTopLeft, AlliedAreaBottomRight) - if #base == 0 then - return - end - - local target = base[OpenRA.GetRandomInteger(1, #base + 1)] - - local flight = Team.New(Reinforcements.ReinforceAir(soviets, BaseRaidAircraft, BaseRaidEntrypoint, BaseRaidWpts[1], Utils.Seconds(1))) - FollowWaypoints(flight, BaseRaidWpts) - - Team.Do(flight, function(plane) - Actor.FlyAttackActor(plane, target) - PlaneExitMap(plane, VillageRaidEntrypoint) - end) - - OpenRA.RunAfterDelay(BaseRaidInterval, BaseRaid) -end - -VillageRaid = function() - local target = nil - Utils.Do(Village, function(tgt) - if target == nil and not Actor.IsDead(tgt) then - target = tgt - return - end - end) - - if target == nil then - return - end - - local flight = Team.New(Reinforcements.ReinforceAir(soviets, VillageRaidAircraft, VillageRaidEntrypoint, VillageRaidWpts[1], Utils.Seconds(1))) - FollowWaypoints(flight, VillageRaidWpts) - - Team.Do(flight, function(plane) - Actor.FlyAttackActor(plane, target) - PlaneExitMap(plane, BaseRaidEntrypoint) - end) - - OpenRA.RunAfterDelay(VillageRaidInterval, VillageRaid) -end - -SendUboatPatrol = function(team) - OpenRA.RunAfterDelay(UBoatPatrolDelay, function() - if difficulty == "Medium" then - Team.Patrol(team, UboatPatrolWpts1, 0, false) - else - Team.Do(team, Actor.Hunt) - end - OpenRA.RunAfterDelay(Utils.Minutes(2), function() - Team.Do(team, Actor.Stop) - Team.Patrol(team, UboatPatrolWpts2) - end) - end) -end - -SendGroundPatrol = function(team) - Team.Patrol(team, GroundPatrolWpts, Utils.Seconds(3)) - Team.Do(team, function(actor) Actor.OnIdle(actor, Actor.Hunt) end) - - Team.AddEventHandler(team.OnAllKilled, function() - Production.BuildTeamFromTemplate(soviets, GroundPatrolUnits[OpenRA.GetRandomInteger(1, #GroundPatrolUnits + 1)], SendGroundPatrol) - end) -end - -BaseFrontAttack = function(team) - Team.Patrol(team, BaseFrontAttackWpts, 0, false) - Team.Do(team, function(actor) Actor.OnIdle(actor, Actor.Hunt) end) - OpenRA.RunAfterDelay(BaseFrontAttackInterval, function() Production.BuildTeamFromTemplate(soviets, BaseFrontAttackUnits, BaseFrontAttack) end) -end - -BaseRearAttack = function(team) - Team.Patrol(team, BaseRearAttackWpts, 0, false) - Team.Do(team, function(actor) Actor.OnIdle(actor, Actor.Hunt) end) - OpenRA.RunAfterDelay(BaseRearAttackInterval, function() Production.BuildTeamFromTemplate(soviets, BaseRearAttackUnits, BaseRearAttack) end) -end - -InsertMCV = function () - local mcv = Actor.Create("mcv", { Owner = player, Location = MCVInsertLocation.Location, Facing = Facing.North }) - Actor.Move(mcv, MCVDeployLocation.Location) - Actor.DeployTransform(mcv) -end - -SetupWorld = function() - if difficulty ~= "Medium" then - Actor.RemoveSelf(EasyMine) - end - - Utils.Do(SovietHarvesters, Actor.Harvest) - - harvesterGuard = Team.New(HarvesterGuard) - Utils.Do(SovietHarvesters, function(harvester) - Actor.OnDamaged(harvester, function(h) - Team.Do(harvesterGuard, function(g) - Actor.Stop(g) - Actor.AttackMove(g, h.Location, 3) - end) - end) - end) - - Utils.Do(UBoats, function(a) Actor.SetStance(a, "Defend") end) - - Utils.Do(Actor.ActorsWithTrait("RepairableBuilding"), function(building) - if Actor.Owner(building) == soviets then - Actor.OnDamaged(building, function(b) - if Actor.Owner(b) == soviets then - Actor.RepairBuilding(b) - end - end) - end - end) - --- Production.SetRallyPoint(WarFactory, Rallypoint) - Production.EventHandlers.Setup(soviets) - - -- RunAfterDelay is used so that the 'Building captured' and 'Mission accomplished' sounds don't play at the same time - Actor.OnCaptured(AirForceHQ, function() OpenRA.RunAfterDelay(Utils.Seconds(3), MissionAccomplished) end) - Actor.OnKilled(AirForceHQ, MissionFailed) - - village = Team.New(Village) - Team.AddEventHandler(village.OnAllKilled, MissionFailed) -end - -tick = 0 -alliedBaseEstablished = false -Tick = function() - tick = tick + 1 - - if OpenRA.GetOre(soviets) > (OpenRA.GetOreCapacity(soviets) * 0.75) then - Mission.TickTakeOre(soviets) - end - - if Mission.RequiredUnitsAreDestroyed(player) then - OpenRA.RunAfterDelay(Utils.Seconds(1), MissionFailed) - end - - if not alliedBaseEstablished and tick > Utils.Minutes(5) and tick % Utils.Seconds(10) == 0 then - -- FIXME: replace with cell trigger when available - local base = Map.FindStructuresInBox(player, AlliedAreaTopLeft, AlliedAreaBottomRight) - if #base > 0 then - alliedBaseEstablished = true - - OpenRA.RunAfterDelay(BaseFrontAttackInterval, function() - Production.BuildTeamFromTemplate(soviets, BaseFrontAttackUnits, BaseFrontAttack) - - local plane, paratroopers = SupportPowers.Paradrop(soviets, "badr", {"e1", "e1", "e1", "e3", "e3"}, BaseRaidEntrypoint.Location, MCVDeployLocation.Location) - Utils.Do(paratroopers, function(actor) Actor.OnIdle(actor, Actor.Hunt) end) - end) - - OpenRA.RunAfterDelay(BaseRearAttackInterval, function() - Production.BuildTeamFromTemplate(soviets, BaseRearAttackUnits, BaseRearAttack) - end) - - Production.BuildTeamFromTemplate(soviets, HunterSubs, function(team) - Team.Do(team, function(actor) Actor.OnIdle(actor, Actor.Hunt) end) - end) - - OpenRA.RunAfterDelay(BaseRaidInterval, BaseRaid) - end - end -end - -WorldLoaded = function() - player = OpenRA.GetPlayer("Allies") - soviets = OpenRA.GetPlayer("Soviets") - civvies = OpenRA.GetPlayer("Civilians") - - SetupWorld() - - OpenRA.RunAfterDelay(1, function() - Production.BuildTeamFromTemplate(soviets, UBoatPatrolUnits, SendUboatPatrol) - Production.BuildTeamFromTemplate(soviets, GroundPatrolUnits[OpenRA.GetRandomInteger(1, #GroundPatrolUnits + 1)], SendGroundPatrol) - end) - OpenRA.RunAfterDelay(VillageRaidInterval, VillageRaid) - - InsertMCV() - - OpenRA.SetViewportCenterPosition(Camera.CenterPosition) - OpenRA.RunAfterDelay(Utils.Seconds(5), function() Actor.RemoveSelf(Camera) end) -end - -MissionFailed = function() - Mission.MissionOver(nil, { player }, true) -end - -MissionAccomplished = function() - Mission.MissionOver({ player }, nil, true) -end