-- Minimal Roblox surface for executing the Operation One source under stock Luau. -- Not a renderer: instances hold properties, signals hold callbacks, and the -- runner fires the stored RenderStepped callbacks once after load. local M = {} -- ---------------------------------------------------------------- signals local function new_signal() local s = {handlers = {}} function s:Connect(fn) local c = {fn = fn, connected = true} function c:Disconnect() if not self.connected then return end self.connected = false for i, h in ipairs(s.handlers) do if h == self then table.remove(s.handlers, i) break end end end table.insert(s.handlers, c) return c end function s:Once(fn) local c c = self:Connect(function(...) c:Disconnect() return fn(...) end) return c end function s:Wait() return nil end function s:Fire(...) for _, c in ipairs(s.handlers) do if c.connected then pcall(c.fn, ...) end end end return s end M.new_signal = new_signal -- ---------------------------------------------------------------- Vector2 local Vector2_mt = {} Vector2_mt.__index = function(self, k) if k == "Magnitude" then return math.sqrt(self.X * self.X + self.Y * self.Y) end if k == "Unit" then local m = math.sqrt(self.X * self.X + self.Y * self.Y) if m == 0 then return Vector2.new(0, 0) end return Vector2.new(self.X / m, self.Y / m) end return Vector2_mt[k] end Vector2_mt.__add = function(a, b) return Vector2.new(a.X + b.X, a.Y + b.Y) end Vector2_mt.__sub = function(a, b) return Vector2.new(a.X - b.X, a.Y - b.Y) end Vector2_mt.__mul = function(a, b) if type(a) == "number" then return Vector2.new(a * b.X, a * b.Y) end if type(b) == "number" then return Vector2.new(a.X * b, a.Y * b) end return Vector2.new(a.X * b.X, a.Y * b.Y) end Vector2_mt.__div = function(a, b) if type(b) == "number" then return Vector2.new(a.X / b, a.Y / b) end return Vector2.new(a.X / b.X, a.Y / b.Y) end Vector2_mt.__eq = function(a, b) return a.X == b.X and a.Y == b.Y end Vector2_mt.__tostring = function(a) return string.format("%s, %s", tostring(a.X), tostring(a.Y)) end Vector2 = {new = function(x, y) return setmetatable({X = x or 0, Y = y or 0}, Vector2_mt) end} Vector2.zero = Vector2.new(0, 0) Vector2.one = Vector2.new(1, 1) -- ---------------------------------------------------------------- Vector3 local Vector3_mt = {} Vector3_mt.__index = function(self, k) if k == "Magnitude" then return math.sqrt(self.X * self.X + self.Y * self.Y + self.Z * self.Z) end if k == "Unit" then local m = math.sqrt(self.X * self.X + self.Y * self.Y + self.Z * self.Z) if m == 0 then return Vector3.new(0, 0, 0) end return Vector3.new(self.X / m, self.Y / m, self.Z / m) end return Vector3_mt[k] end Vector3_mt.__add = function(a, b) return Vector3.new(a.X + b.X, a.Y + b.Y, a.Z + b.Z) end Vector3_mt.__sub = function(a, b) return Vector3.new(a.X - b.X, a.Y - b.Y, a.Z - b.Z) end Vector3_mt.__mul = function(a, b) if type(a) == "number" then return Vector3.new(a * b.X, a * b.Y, a * b.Z) end if type(b) == "number" then return Vector3.new(a.X * b, a.Y * b, a.Z * b) end return Vector3.new(a.X * b.X, a.Y * b.Y, a.Z * b.Z) end Vector3_mt.__div = function(a, b) if type(b) == "number" then return Vector3.new(a.X / b, a.Y / b, a.Z / b) end return Vector3.new(a.X / b.X, a.Y / b.Y, a.Z / b.Z) end Vector3_mt.__unm = function(a) return Vector3.new(-a.X, -a.Y, -a.Z) end Vector3_mt.__eq = function(a, b) return a.X == b.X and a.Y == b.Y and a.Z == b.Z end Vector3_mt.__tostring = function(a) return string.format("%s, %s, %s", tostring(a.X), tostring(a.Y), tostring(a.Z)) end Vector3_mt.Dot = function(self, b) return self.X * b.X + self.Y * b.Y + self.Z * b.Z end Vector3_mt.Cross = function(self, b) return Vector3.new(self.Y * b.Z - self.Z * b.Y, self.Z * b.X - self.X * b.Z, self.X * b.Y - self.Y * b.X) end Vector3_mt.Lerp = function(self, b, t) return Vector3.new(self.X + (b.X - self.X) * t, self.Y + (b.Y - self.Y) * t, self.Z + (b.Z - self.Z) * t) end Vector3_mt.Max = function(self, b) return Vector3.new(math.max(self.X, b.X), math.max(self.Y, b.Y), math.max(self.Z, b.Z)) end Vector3_mt.Min = function(self, b) return Vector3.new(math.min(self.X, b.X), math.min(self.Y, b.Y), math.min(self.Z, b.Z)) end Vector3 = {new = function(x, y, z) return setmetatable({X = x or 0, Y = y or 0, Z = z or 0}, Vector3_mt) end} Vector3.zero = Vector3.new(0, 0, 0) Vector3.one = Vector3.new(1, 1, 1) -- ---------------------------------------------------------------- CFrame local CFrame_mt = {} CFrame_mt.__index = function(self, k) if k == "Position" then return self.p end if k == "RightVector" then return Vector3.new(1, 0, 0) end if k == "UpVector" then return Vector3.new(0, 1, 0) end if k == "LookVector" then return Vector3.new(0, 0, -1) end return CFrame_mt[k] end CFrame_mt.__sub = function(a, b) return a.p - b.p end CFrame_mt.__add = function(a, b) return CFrame.new(a.p + b) end CFrame_mt.__mul = function(a, b) if getmetatable(b) == Vector3_mt then return a.p + b end return a end CFrame_mt.__tostring = function(a) return tostring(a.p) end CFrame = {} function CFrame.new(x, y, z) local p if getmetatable(x) == Vector3_mt then p = x else p = Vector3.new(x or 0, y or 0, z or 0) end return setmetatable({p = p}, CFrame_mt) end function CFrame.lookAt(from, to) return setmetatable({p = from, look = (to - from).Unit}, CFrame_mt) end function CFrame.Angles() return CFrame.new() end CFrame.identity = CFrame.new() -- ---------------------------------------------------------------- UDim/UDim2 local UDim_mt = {} UDim_mt.__index = UDim_mt local function udim_new(scale, offset) return setmetatable({Scale = scale or 0, Offset = offset or 0}, UDim_mt) end UDim = {new = udim_new} local UDim2_mt = {} UDim2_mt.__index = function(self, k) if k == "X" then return self.x end if k == "Y" then return self.y end return UDim2_mt[k] end UDim2_mt.__add = function(a, b) return UDim2.new(a.x.Scale + b.x.Scale, a.x.Offset + b.x.Offset, a.y.Scale + b.y.Scale, a.y.Offset + b.y.Offset) end UDim2_mt.__tostring = function(a) return "UDim2" end local function udim2(xs, xo, ys, yo) return setmetatable({x = UDim.new(xs or 0, xo or 0), y = UDim.new(ys or 0, yo or 0)}, UDim2_mt) end UDim2 = {new = udim2} function UDim2.fromScale(x, y) return udim2(x, 0, y, 0) end function UDim2.fromOffset(x, y) return udim2(0, x, 0, y) end UDim2.zero = udim2(0, 0, 0, 0) -- ---------------------------------------------------------------- Color3 local Color3_mt = {} Color3_mt.__index = function(self, k) if k == "R" then return self.r end if k == "G" then return self.g end if k == "B" then return self.b end if k == "ToHSV" then return function(c) local mx, mn = math.max(c.r, c.g, c.b), math.min(c.r, c.g, c.b) local d = mx - mn local h = 0 if d > 0 then if mx == c.r then h = ((c.g - c.b) / d) % 6 elseif mx == c.g then h = (c.b - c.r) / d + 2 else h = (c.r - c.g) / d + 4 end h = h / 6 end return h, (mx == 0 and 0 or d / mx), mx end end if k == "ToHex" then return function(c) return string.format("%02X%02X%02X", math.floor(c.r * 255 + 0.5), math.floor(c.g * 255 + 0.5), math.floor(c.b * 255 + 0.5)) end end return Color3_mt[k] end Color3_mt.__eq = function(a, b) return a.r == b.r and a.g == b.g and a.b == b.b end Color3_mt.__tostring = function(a) return string.format("%.3f, %.3f, %.3f", a.r, a.g, a.b) end local function color(r, g, b) return setmetatable({r = r, g = g, b = b}, Color3_mt) end Color3 = {} function Color3.new(r, g, b) return color(r or 0, g or 0, b or 0) end function Color3.fromRGB(r, g, b) return color((r or 0) / 255, (g or 0) / 255, (b or 0) / 255) end function Color3.fromHSV(h, s, v) h, s, v = h or 0, s or 0, v or 0 local i = math.floor(h * 6) local f = h * 6 - i local p, q, t = v * (1 - s), v * (1 - f * s), v * (1 - (1 - f) * s) local r, g, b i = i % 6 if i == 0 then r, g, b = v, t, p elseif i == 1 then r, g, b = q, v, p elseif i == 2 then r, g, b = p, v, t elseif i == 3 then r, g, b = p, q, v elseif i == 4 then r, g, b = t, p, v else r, g, b = v, p, q end return color(r, g, b) end function Color3.fromHex(hex) hex = tostring(hex or ""):gsub("#", "") local r = tonumber(hex:sub(1, 2), 16) or 0 local g = tonumber(hex:sub(3, 4), 16) or 0 local b = tonumber(hex:sub(5, 6), 16) or 0 return Color3.fromRGB(r, g, b) end Color3.white = Color3.fromRGB(255, 255, 255) Color3.black = Color3.fromRGB(0, 0, 0) ColorSequence = {new = function(c) return {Keypoints = {c}} end} ColorSequenceKeypoint = {new = function(t, c) return {Time = t or 0, Value = c} end} NumberSequence = {new = function(c) return {Keypoints = {c}} end} NumberSequenceKeypoint = {new = function(t, v) return {Time = t or 0, Value = v or 0} end} -- ---------------------------------------------------------------- Enum local enum_next = 1000 local function enum_namespace() local ns = {} setmetatable(ns, {__index = function(t, k) enum_next = enum_next + 1 local v = {Name = k, Value = enum_next} setmetatable(v, {__tostring = function(self) return self.Name end}) rawset(t, k, v) return v end}) return ns end Enum = setmetatable({}, {__index = function(t, k) local ns = enum_namespace() rawset(t, k, ns) return ns end}) -- ---------------------------------------------------------------- instances local InstanceMT = {} local instance_methods = {} local EVENT_NAMES = { Changed = true, ChildAdded = true, ChildRemoved = true, DescendantAdded = true, DescendantRemoving = true, AncestryChanged = true, Destroying = true, MouseButton1Down = true, MouseButton1Up = true, MouseButton1Click = true, MouseButton2Down = true, MouseButton2Up = true, MouseButton2Click = true, MouseEnter = true, MouseLeave = true, InputBegan = true, InputEnded = true, InputChanged = true, TouchTap = true, Activated = true, Completed = true, Touched = true, PropertyChangedSignal = true, RenderStepped = true, Heartbeat = true, Stepped = true, } local function is_instance(v) return type(v) == "table" and getmetatable(v) == InstanceMT end local function add_child(parent, child) if not is_instance(parent) or not is_instance(child) then return end for _, c in ipairs(parent._children) do if c == child then return end end table.insert(parent._children, child) end local function remove_child(parent, child) if not is_instance(parent) then return end for i, c in ipairs(parent._children) do if c == child then table.remove(parent._children, i) break end end end local PART_CLASSES = { Part = true, MeshPart = true, WedgePart = true, TrussPart = true, CornerWedgePart = true, Seat = true, VehicleSeat = true, SkinnedMeshPart = true, } local function is_part_class(class) return PART_CLASSES[class] == true end local A_CLASSES = { Part = {"BasePart", "PVInstance", "Instance"}, MeshPart = {"BasePart", "PVInstance", "Instance"}, Model = {"PVInstance", "Instance"}, Folder = {"Instance"}, ScreenGui = {"LayerCollector", "GuiBase2d", "Instance"}, Frame = {"GuiObject", "GuiBase2d", "Instance"}, TextLabel = {"GuiObject", "GuiBase2d", "Instance"}, TextButton = {"GuiButton", "GuiObject", "GuiBase2d", "Instance"}, ImageLabel = {"GuiObject", "GuiBase2d", "Instance"}, ImageButton = {"GuiButton", "GuiObject", "GuiBase2d", "Instance"}, TextBox = {"GuiObject", "GuiBase2d", "Instance"}, ScrollingFrame = {"GuiObject", "GuiBase2d", "Instance"}, UIStroke = {"Instance"}, UIGradient = {"Instance"}, UIListLayout = {"Instance"}, UIPadding = {"Instance"}, UIScale = {"Instance"}, UICorner = {"Instance"}, BillboardGui = {"LayerCollector", "Instance"}, Highlight = {"Instance"}, Weld = {"Instance"}, Humanoid = {"Instance"}, Attachment = {"Instance"}, SpecialMesh = {"DataModelMesh", "Instance"}, Camera = {"Instance"}, Player = {"Instance"}, DataModel = {"Instance"}, } local function isa(class, want) if class == want or want == "Instance" then return true end local list = A_CLASSES[class] if list then for _, name in ipairs(list) do if name == want then return true end end end return false end local function default_prop(class, key) if key == "ClassName" then return class end if key == "Name" then return class end if key == "Parent" then return nil end if key == "Position" then if is_part_class(class) or class == "Model" or class == "Camera" or class == "Attachment" then return Vector3.new(0, 0, 0) end return UDim2.new() end if key == "Size" then if is_part_class(class) then return Vector3.new(1, 1, 1) end return UDim2.new() end if key == "CFrame" then return CFrame.new() end if key == "WorldPosition" then return Vector3.new() end if key == "Velocity" then return Vector3.new() end if key == "ViewportSize" then return Vector2.new(1280, 720) end if key == "FieldOfView" then return 70 end if key == "AbsolutePosition" or key == "AbsoluteSize" or key == "MouseLocation" then return Vector2.new() end if key == "Text" or key == "Name" then return "" end if key == "Visible" then return false end if key == "Enabled" then return true end if key == "Transparency" or key == "TextTransparency" or key == "BackgroundTransparency" or key == "ImageTransparency" or key == "ScrollBarImageTransparency" then return 0 end if key == "Thickness" then return 1 end if key == "Value" then return 0 end if key == "TextSize" then return 14 end if key == "ZIndex" then return 1 end if key == "DisplayOrder" then return 0 end if key == "BorderSizePixel" then return 1 end if key == "Rotation" then return 0 end if key == "ViewportSize" then return Vector2.new(1280, 720) end return nil end InstanceMT.__index = function(self, key) local m = instance_methods[key] if m then return m end local props = rawget(self, "_props") local v = props[key] if v ~= nil then return v end if key == "Parent" then return rawget(self, "_parent") end if key == "ClassName" then return rawget(self, "_class") end if key == "Name" then return rawget(self, "_name") or rawget(self, "_class") end if EVENT_NAMES[key] then local events = rawget(self, "_events") local s = events[key] if not s then s = new_signal(); events[key] = s end return s end local d = default_prop(rawget(self, "_class"), key) if d ~= nil then return d end return nil end InstanceMT.__newindex = function(self, key, value) if key == "Parent" then local old = rawget(self, "_parent") if old then remove_child(old, self) end rawset(self, "_parent", value) if is_instance(value) then add_child(value, self) end return end if key == "Name" then rawset(self, "_name", value); rawget(self, "_props")["Name"] = value; return end rawget(self, "_props")[key] = value end InstanceMT.__tostring = function(self) return rawget(self, "_class") .. ":" .. tostring(rawget(self, "_name") or "") end instance_methods.FindFirstChild = function(self, name, recursive) for _, c in ipairs(rawget(self, "_children")) do local cn = rawget(c, "_name") if cn == name then return c end end if recursive then for _, c in ipairs(rawget(self, "_children")) do local found = instance_methods.FindFirstChild(c, name, true) if found then return found end end end return nil end instance_methods.FindFirstChildOfClass = function(self, class) for _, c in ipairs(rawget(self, "_children")) do if rawget(c, "_class") == class then return c end end return nil end instance_methods.FindFirstChildWhichIsA = function(self, class, recursive) for _, c in ipairs(rawget(self, "_children")) do if isa(rawget(c, "_class"), class) then return c end end if recursive then for _, c in ipairs(rawget(self, "_children")) do local found = instance_methods.FindFirstChildWhichIsA(c, class, true) if found then return found end end end return nil end instance_methods.GetChildren = function(self) local out = {} for i, c in ipairs(rawget(self, "_children")) do out[i] = c end return out end instance_methods.GetDescendants = function(self) local out = {} local function walk(node) for _, c in ipairs(rawget(node, "_children")) do table.insert(out, c) walk(c) end end walk(self) return out end instance_methods.IsA = function(self, class) return isa(rawget(self, "_class"), class) end instance_methods.Destroy = function(self) local p = rawget(self, "_parent") if p then remove_child(p, self) end rawset(self, "_parent", nil) end instance_methods.WaitForChild = function(self, name) local found = instance_methods.FindFirstChild(self, name) if found then return found end local cls = "Folder" if name == "PlayerGui" then cls = "ScreenGui" end local obj = Instance.new(cls) rawset(obj, "_name", name) rawget(obj, "_props")["Name"] = name obj.Parent = self return obj end instance_methods.GetPropertyChangedSignal = function(self, prop) local events = rawget(self, "_events") local key = "__prop_" .. tostring(prop) local s = events[key] if not s then s = new_signal(); events[key] = s end return s end instance_methods.GetAttribute = function() return nil end instance_methods.SetAttribute = function() end instance_methods.HasTag = function() return false end instance_methods.AddTag = function() end instance_methods.RemoveTag = function() end instance_methods.GetMouse = function(self) return {X = 640, Y = 360, Target = nil, Hit = CFrame.new(), UnitRay = {Origin = Vector3.new(), Direction = Vector3.new()}} end instance_methods.WorldToViewportPoint = function(self, world) return Vector3.new(640, 360, 10) end instance_methods.ViewportPointToRay = function(self) return {Origin = Vector3.new(), Direction = Vector3.new(0, 0, -1)} end instance_methods.BulkMoveTo = function() end instance_methods.Raycast = function() return nil end instance_methods.GetService = function(self, name) return M.service(name) end instance_methods.HttpGet = function(self, url) return __UIP100 or "-- mock http" end instance_methods.GenerateGUID = function() return "00000000-0000-0000-0000-000000000000" end instance_methods.JSONEncode = function(self, v) return "{}" end instance_methods.JSONDecode = function(self, s) return {} end instance_methods.Create = function(self, item, info, goal) local t = {Completed = new_signal()} function t:Play() end function t:Pause() end function t:Cancel() end function t:Destroy() end return t end instance_methods.GetPlayers = function() return {} end instance_methods.GetPlayerFromCharacter = function() return nil end instance_methods.GetTagged = function() return {} end instance_methods.GetInstanceAddedSignal = function() return new_signal() end instance_methods.GetInstanceRemovedSignal = function() return new_signal() end instance_methods.BindToRenderStep = function() end instance_methods.UnbindFromRenderStep = function() end instance_methods.GetMouseLocation = function() return Vector2.new(640, 360) end instance_methods.ChangeTheme = function() end instance_methods.SetOpen = function() end Instance = {} function Instance.new(class) local self = setmetatable({ _class = class, _name = class, _props = {}, _children = {}, _parent = nil, _events = {}, }, InstanceMT) return self end -- ---------------------------------------------------------------- services local services = {} local function service(name) if services[name] then return services[name] end local obj = Instance.new(name) rawset(obj, "_name", name) services[name] = obj return obj end M.service = service local workspace = service("Workspace") workspace = workspace -- exposed as the Roblox global local players = service("Players") local runservice = service("RunService") local collection = service("CollectionService") local tween = service("TweenService") local uis = service("UserInputService") local https = service("HttpService") local lighting = service("Lighting") local coregui = service("CoreGui") local replicated = service("ReplicatedStorage") local player = Instance.new("Player") player.Name = "MockPlayer" player.Parent = players players.LocalPlayer = player local playergui = Instance.new("ScreenGui") playergui.Name = "PlayerGui" playergui.Parent = player local camera = Instance.new("Camera") camera.Name = "Camera" camera.Parent = workspace workspace.CurrentCamera = camera workspace.Name = "Workspace" runservice.RenderStepped = new_signal() runservice.Heartbeat = new_signal() runservice.Stepped = new_signal() uis.InputBegan = new_signal() uis.InputEnded = new_signal() uis.InputChanged = new_signal() uis.TouchEnabled = false uis.MouseEnabled = true collection.GetTagged = function() return {} end collection.GetInstanceAddedSignal = function() return new_signal() end collection.GetInstanceRemovedSignal = function() return new_signal() end https.JSONEncode = function(self, v) return "{}" end https.JSONDecode = function(self, s) return {} end https.GenerateGUID = function() return "00000000-0000-0000-0000-000000000000" end tween.Create = function(self, item, info, goal) local t = {Completed = new_signal()} function t:Play() end function t:Pause() end function t:Cancel() end function t:Destroy() end return t end local game_obj = Instance.new("DataModel") game_obj.Name = "Game" game_obj.GetService = function(self, name) return service(name) end game_obj.FindFirstChild = function(self, name) if name == "CoreGui" then return coregui end return nil end game_obj.HttpGet = function(self, url) return __UIP100 or "-- mock http" end game_obj.CoreGui = coregui game = game_obj -- ---------------------------------------------------------------- executor local vfs = {} local genv = getfenv() genv.workspace = workspace getgenv = function() return genv end getrenv = function() return genv end gethui = function() return coregui end cloneref = function(v) return v end identifyexecutor = function() return "luau-mock", "1.0" end setfpscap = function() end isfolder = function(path) return true end makefolder = function() end isfile = function(path) return vfs[path] ~= nil end writefile = function(path, data) vfs[path] = tostring(data) end readfile = function(path) return vfs[path] or "{}" end delfile = function(path) vfs[path] = nil end listfiles = function(path) return {} end getcustomasset = function(path) return "rbxasset://" .. tostring(path) end Font = {new = function() return {} end} RaycastParams = {new = function() return {} end} TweenInfo = {new = function(time, style, dir) return {Time = time, Style = style, Direction = dir} end} Rect = {new = function(...) return {...} end} task = { spawn = function() end, defer = function() end, delay = function() end, wait = function() return 0 end, cancel = function() end, } wait = function() return 0 end spawn = function() end delay = function() end tick = function() return os.clock() end time = function() return os.clock() end warn = function(...) print("WARN", ...) end -- Keep the callback list so the runner can fire a frame. M.render_callbacks = {} local orig_connect = runservice.RenderStepped.Connect function runservice.RenderStepped:Connect(fn) local c = orig_connect(self, fn) table.insert(M.render_callbacks, c) return c end M.fire_render = function() for _, c in ipairs(M.render_callbacks) do if c.connected then local ok, err = pcall(c.fn) if not ok then print("RENDER_CB_ERR", tostring(err)) end end end end __UIP100 = [[if getgenv().Library then getgenv().Library:Unload() end local Library do local Workspace = game:GetService("Workspace") local UserInputService = game:GetService("UserInputService") local Players = game:GetService("Players") local HttpService = game:GetService("HttpService") local RunService = game:GetService("RunService") local CoreGui = cloneref and cloneref(game:GetService("CoreGui")) or game:GetService("CoreGui") local TweenService = game:GetService("TweenService") local Lighting = game:GetService("Lighting") gethui = gethui or function() return CoreGui end local LocalPlayer = Players.LocalPlayer local Camera = Workspace.CurrentCamera local Mouse = LocalPlayer:GetMouse() local FromRGB = Color3.fromRGB local FromHSV = Color3.fromHSV local FromHex = Color3.fromHex local RGBSequence = ColorSequence.new local RGBSequenceKeypoint = ColorSequenceKeypoint.new local NumSequence = NumberSequence.new local NumSequenceKeypoint = NumberSequenceKeypoint.new local UDim2New = UDim2.new local UDimNew = UDim.new local UDim2FromScale = UDim2.fromScale local UDim2FromOffset = UDim2.fromOffset local Vector2New = Vector2.new local Vector3New = Vector3.new local MathClamp = math.clamp local MathFloor = math.floor local MathAbs = math.abs local MathSin = math.sin local TableInsert = table.insert local TableFind = table.find local TableRemove = table.remove local TableConcat = table.concat local TableClone = table.clone local TableUnpack = table.unpack local StringFormat = string.format local StringFind = string.find local StringGSub = string.gsub local StringLower = string.lower local StringLen = string.len local InstanceNew = Instance.new local CFrameNew = CFrame.new local CFrameAngles = CFrame.Angles local Vector3New = Vector3.new local MathRad = math.rad local MathMax = math.max local MathMin = math.min local RectNew = Rect.new local IsMobile = UserInputService.TouchEnabled or false Library = { Theme = {}, MenuKeybind = tostring(Enum.KeyCode.RightAlt), Flags = {}, Tween = { Time = 0.25, Style = Enum.EasingStyle.Quart, Direction = Enum.EasingDirection.Out, }, FadeSpeed = 0.2, Folders = { Directory = "uip100", Configs = "uip100/Configs", Assets = "uip100/Assets", }, -- Ignore below Pages = {}, Sections = {}, Connections = {}, Threads = {}, ThemeMap = {}, ThemeItems = {}, OpenFrames = {}, SetFlags = {}, UnnamedConnections = 0, UnnamedFlags = 0, Holder = nil, NotifHolder = nil, UnusedHolder = nil, KeyList = nil, Font = nil, CopiedColor = nil, } Library.__index = Library Library.Sections.__index = Library.Sections Library.Pages.__index = Library.Pages local Keys = { ["Unknown"] = "Unknown", ["Backspace"] = "Back", ["Tab"] = "Tab", ["Clear"] = "Clear", ["Return"] = "Return", ["Pause"] = "Pause", ["Escape"] = "Escape", ["Space"] = "Space", ["QuotedDouble"] = '"', ["Hash"] = "#", ["Dollar"] = "$", ["Percent"] = "%", ["Ampersand"] = "&", ["Quote"] = "'", ["LeftParenthesis"] = "(", ["RightParenthesis"] = " )", ["Asterisk"] = "*", ["Plus"] = "+", ["Comma"] = ",", ["Minus"] = "-", ["Period"] = ".", ["Slash"] = "`", ["Three"] = "3", ["Seven"] = "7", ["Eight"] = "8", ["Colon"] = ":", ["Semicolon"] = ";", ["LessThan"] = "<", ["GreaterThan"] = ">", ["Question"] = "?", ["Equals"] = "=", ["At"] = "@", ["LeftBracket"] = "LeftBracket", ["RightBracket"] = "RightBracked", ["BackSlash"] = "BackSlash", ["Caret"] = "^", ["Underscore"] = "_", ["Backquote"] = "`", ["LeftCurly"] = "{", ["Pipe"] = "|", ["RightCurly"] = "}", ["Tilde"] = "~", ["Delete"] = "Delete", ["End"] = "End", ["KeypadZero"] = "Keypad0", ["KeypadOne"] = "Keypad1", ["KeypadTwo"] = "Keypad2", ["KeypadThree"] = "Keypad3", ["KeypadFour"] = "Keypad4", ["KeypadFive"] = "Keypad5", ["KeypadSix"] = "Keypad6", ["KeypadSeven"] = "Keypad7", ["KeypadEight"] = "Keypad8", ["KeypadNine"] = "Keypad9", ["KeypadPeriod"] = "KeypadP", ["KeypadDivide"] = "KeypadD", ["KeypadMultiply"] = "KeypadM", ["KeypadMinus"] = "KeypadM", ["KeypadPlus"] = "KeypadP", ["KeypadEnter"] = "KeypadE", ["KeypadEquals"] = "KeypadE", ["Insert"] = "Insert", ["Home"] = "Home", ["PageUp"] = "PageUp", ["PageDown"] = "PageDown", ["RightShift"] = "RightShift", ["LeftShift"] = "LeftShift", ["RightControl"] = "RightControl", ["LeftControl"] = "LeftControl", ["LeftAlt"] = "LeftAlt", ["RightAlt"] = "RightAlt", } local Themes = { ["Preset"] = { ["Window Outline"] = FromRGB(0, 34, 37), ["Accent"] = FromRGB(0, 213, 213), ["Background 1"] = FromRGB(17, 21, 27), ["Text"] = FromRGB(255, 255, 255), ["Inline"] = FromRGB(19, 25, 31), ["Element"] = FromRGB(32, 38, 48), ["Inactive Text"] = FromRGB(185, 185, 185), ["Border"] = FromRGB(46, 52, 61), ["Background 2"] = FromRGB(24, 28, 36) } } Library.Theme = TableClone(Themes["Preset"]) -- Tweening local Tween = {} do Tween.__index = Tween Tween.Create = function(self, Item, Info, Goal, IsRawItem) Item = IsRawItem and Item or Item.Instance Info = Info or TweenInfo.new(Library.Tween.Time, Library.Tween.Style, Library.Tween.Direction) local NewTween = { Tween = TweenService:Create(Item, Info, Goal), Info = Info, Goal = Goal, Item = Item, } NewTween.Tween:Play() setmetatable(NewTween, Tween) return NewTween end Tween.GetProperty = function(self, Item) Item = Item or self.Item if Item:IsA("Frame") then return { "BackgroundTransparency" } elseif Item:IsA("TextLabel") or Item:IsA("TextButton") then return { "TextTransparency", "BackgroundTransparency" } elseif Item:IsA("ImageLabel") or Item:IsA("ImageButton") then return { "BackgroundTransparency", "ImageTransparency" } elseif Item:IsA("ScrollingFrame") then return { "BackgroundTransparency", "ScrollBarImageTransparency" } elseif Item:IsA("TextBox") then return { "TextTransparency", "BackgroundTransparency" } elseif Item:IsA("UIStroke") then return { "Transparency" } end end Tween.FadeItem = function(self, Item, Property, Visibility, Speed) local Item = Item or self.Item local OldTransparency = Item[Property] Item[Property] = Visibility and 1 or OldTransparency local NewTween = Tween:Create( Item, TweenInfo.new(Speed or Library.Tween.Time, Library.Tween.Style, Library.Tween.Direction), { [Property] = Visibility and OldTransparency or 1, }, true ) Library:Connect(NewTween.Tween.Completed, function() if not Visibility then task.wait() Item[Property] = OldTransparency end end) return NewTween end Tween.Get = function(self) if not self.Tween then return end return self.Tween, self.Info, self.Goal end Tween.Pause = function(self) if not self.Tween then return end self.Tween:Pause() end Tween.Play = function(self) if not self.Tween then return end self.Tween:Play() end Tween.Clean = function(self) if not self.Tween then return end Tween:Pause() self = nil end end -- Instances local Instances = {} do Instances.__index = Instances Instances.Create = function(self, Class, Properties) local NewItem = { Instance = InstanceNew(Class), Properties = Properties, Class = Class, } setmetatable(NewItem, Instances) for Property, Value in NewItem.Properties do NewItem.Instance[Property] = Value end return NewItem end Instances.FadeItem = function(self, Visibility, Speed) local Item = self.Instance if Visibility == true then Item.Visible = true end local Descendants = Item:GetDescendants() TableInsert(Descendants, Item) local NewTween for Index, Value in Descendants do local TransparencyProperty = Tween:GetProperty(Value) if not TransparencyProperty then continue end if type(TransparencyProperty) == "table" then for _, Property in TransparencyProperty do NewTween = Tween:FadeItem(Value, Property, not Visibility, Speed) end else NewTween = Tween:FadeItem(Value, TransparencyProperty, not Visibility, Speed) end end end Instances.AddToTheme = function(self, Properties) if not self.Instance then return end if not Library then return end Library:AddToTheme(self, Properties) end Instances.ChangeItemTheme = function(self, Properties) if not self.Instance then return end if not Library then return end Library:ChangeItemTheme(self, Properties) end Instances.Connect = function(self, Event, Callback, Name) if not self.Instance then return end if not self.Instance[Event] then return end if Event == "MouseButton1Down" or Event == "MouseButton1Click" then if IsMobile then Event = "TouchTap" end elseif Event == "MouseButton2Down" or Event == "MouseButton2Click" then if IsMobile then Event = "TouchLongPress" end end if not Library then return end return Library:Connect(self.Instance[Event], Callback, Name) end Instances.Tween = function(self, Info, Goal) if not self.Instance then return end if not Library then return end return Tween:Create(self, Info, Goal) end Instances.Disconnect = function(self, Name) if not self.Instance then return end if not Library then return end return Library:Disconnect(Name) end Instances.Clean = function(self) if not self.Instance then return end self.Instance:Destroy() self = nil end Instances.MakeDraggable = function(self) if not self.Instance then return end local Gui = self.Instance local Dragging = false local DragStart local StartPosition local Set = function(Input) local DragDelta = Input.Position - DragStart local newOffsetX = StartPosition.X.Offset + DragDelta.X local newOffsetY = StartPosition.Y.Offset + DragDelta.Y local screenSize = workspace.CurrentCamera.ViewportSize local guiSize = Gui.AbsoluteSize local anchor = Gui.AnchorPoint local absoluteCenterX = (screenSize.X * StartPosition.X.Scale) + newOffsetX local absoluteCenterY = (screenSize.Y * StartPosition.Y.Scale) + newOffsetY local minX = guiSize.X * anchor.X local maxX = screenSize.X - (guiSize.X * (1 - anchor.X)) local minY = guiSize.Y * anchor.Y local maxY = screenSize.Y - (guiSize.Y * (1 - anchor.Y)) absoluteCenterX = math.clamp(absoluteCenterX, minX, maxX) absoluteCenterY = math.clamp(absoluteCenterY, minY, maxY) newOffsetX = absoluteCenterX - (screenSize.X * StartPosition.X.Scale) newOffsetY = absoluteCenterY - (screenSize.Y * StartPosition.Y.Scale) self:Tween( TweenInfo.new(0.35, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Position = UDim2New(StartPosition.X.Scale, newOffsetX, StartPosition.Y.Scale, newOffsetY) } ) end local InputChanged self:Connect("InputBegan", function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then Dragging = true DragStart = Input.Position StartPosition = Gui.Position if InputChanged then return end InputChanged = Input.Changed:Connect(function() if Input.UserInputState == Enum.UserInputState.End then Dragging = false InputChanged:Disconnect() InputChanged = nil end end) end end) Library:Connect(UserInputService.InputChanged, function(Input) if Input.UserInputType == Enum.UserInputType.MouseMovement or Input.UserInputType == Enum.UserInputType.Touch then if Dragging then Set(Input) end end end) return Dragging end Instances.MakeResizeable = function(self, Minimum, Maximum) if not self.Instance then return end local Gui = self.Instance local Resizing = false local CurrentSide = nil local StartMouse = nil local StartPosition = nil local StartSize = nil local EdgeThickness = 2 local MakeEdge = function(Name, Position, Size) local Button = Instances:Create("TextButton", { Name = "\0", Size = Size, Position = Position, BackgroundColor3 = FromRGB(166, 147, 243), BackgroundTransparency = 1, Text = "", BorderSizePixel = 0, AutoButtonColor = false, Parent = Gui, ZIndex = 99999, }) Button:AddToTheme({ BackgroundColor3 = "Accent" }) return Button end local Edges = { { Button = MakeEdge("Left", UDim2New(0, 0, 0, 0), UDim2New(0, EdgeThickness, 1, 0)), Side = "L", }, { Button = MakeEdge("Right", UDim2New(1, -EdgeThickness, 0, 0), UDim2New(0, EdgeThickness, 1, 0)), Side = "R", }, { Button = MakeEdge("Top", UDim2New(0, 0, 0, 0), UDim2New(1, 0, 0, EdgeThickness)), Side = "T", }, { Button = MakeEdge("Bottom", UDim2New(0, 0, 1, -EdgeThickness), UDim2New(1, 0, 0, EdgeThickness)), Side = "B", }, } local BeginResizing = function(Side) if not Library.Flags["UI Expand"] then return end Resizing = true CurrentSide = Side StartMouse = UserInputService:GetMouseLocation() -- store offsets, not absolute screen pos StartPosition = Vector2New(Gui.Position.X.Offset, Gui.Position.Y.Offset) StartSize = Vector2New(Gui.Size.X.Offset, Gui.Size.Y.Offset) for Index, Value in Edges do Value.Button.Instance.BackgroundTransparency = (Value.Side == Side) and 0 or 1 end end local EndResizing = function() Resizing = false CurrentSide = nil for Index, Value in Edges do Value.Button.Instance.BackgroundTransparency = 1 end end for Index, Value in Edges do Value.Button:Connect("InputBegan", function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then BeginResizing(Value.Side) end end) end Library:Connect(UserInputService.InputEnded, function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 then if Resizing then EndResizing() end end end) Library:Connect(RunService.RenderStepped, function() if not Resizing or not CurrentSide then return end local MouseLocation = UserInputService:GetMouseLocation() local dx = MouseLocation.X - StartMouse.X local dy = MouseLocation.Y - StartMouse.Y local x, y = StartPosition.X, StartPosition.Y local w, h = StartSize.X, StartSize.Y if CurrentSide == "L" then x = StartPosition.X + dx w = StartSize.X - dx elseif CurrentSide == "R" then w = StartSize.X + dx elseif CurrentSide == "T" then y = StartPosition.Y + dy h = StartSize.Y - dy elseif CurrentSide == "B" then h = StartSize.Y + dy end if w < Minimum.X then if CurrentSide == "L" then x = x - (Minimum.X - w) end w = Minimum.X end if h < Minimum.Y then if CurrentSide == "T" then y = y - (Minimum.Y - h) end h = Minimum.Y end self:Tween( TweenInfo.new(0.35, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Position = UDim2FromOffset(x, y) } ) self:Tween( TweenInfo.new(0.35, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Size = UDim2FromOffset(w, h) } ) end) end Instances.OnHover = function(self, Function) if not self.Instance then return end return Library:Connect(self.Instance.MouseEnter, Function) end Instances.OnHoverLeave = function(self, Function) if not self.Instance then return end return Library:Connect(self.Instance.MouseLeave, Function) end end -- Custom font local CustomFont = {} do function CustomFont:New(Name, Weight, Style, Data) if isfile(Library.Folders.Assets .. "/" .. Name .. ".json") then return Font.new(getcustomasset(Library.Folders.Assets .. "/" .. Name .. ".json")) end if not isfile(Library.Folders.Assets .. "/" .. Name .. ".ttf") then writefile(Library.Folders.Assets .. "/" .. Name .. ".ttf", game:HttpGet(Data.Url)) end local FontData = { name = Name, faces = { { name = "Regular", weight = Weight, style = Style, assetId = getcustomasset(Library.Folders.Assets .. "/" .. Name .. ".ttf"), }, }, } writefile(Library.Folders.Assets .. "/" .. Name .. ".json", HttpService:JSONEncode(FontData)) return Font.new(getcustomasset(Library.Folders.Assets .. "/" .. Name .. ".json")) end function CustomFont:Get(Name) if isfile(Library.Folders.Assets .. "/" .. Name .. ".json") then return Font.new(getcustomasset(Library.Folders.Assets .. "/" .. Name .. ".json")) end end end Library.Holder = Instances:Create("ScreenGui", { Parent = gethui(), Name = "\0", ZIndexBehavior = Enum.ZIndexBehavior.Global, DisplayOrder = 2, IgnoreGuiInset = true, ResetOnSpawn = false, }) Library.UnusedHolder = Instances:Create("ScreenGui", { Parent = gethui(), Name = "\0", ZIndexBehavior = Enum.ZIndexBehavior.Global, Enabled = false, ResetOnSpawn = false, }) Library.NotifHolder = Instances:Create("Frame", { Parent = Library.Holder.Instance, Name = "\0", BorderColor3 = FromRGB(0, 0, 0), AnchorPoint = Vector2New(1, 0), BackgroundTransparency = 1, Position = UDim2New(1, 0, 0, 0), Size = UDim2New(0, 0, 1, 0), BorderSizePixel = 0, AutomaticSize = Enum.AutomaticSize.X, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIListLayout", { Parent = Library.NotifHolder.Instance, Name = "\0", SortOrder = Enum.SortOrder.LayoutOrder, HorizontalAlignment = Enum.HorizontalAlignment.Right, Padding = UDimNew(0, 8), }) Instances:Create("UIPadding", { Parent = Library.NotifHolder.Instance, Name = "\0", PaddingTop = UDimNew(0, 15), PaddingBottom = UDimNew(0, 15), PaddingRight = UDimNew(0, 15), PaddingLeft = UDimNew(0, 15), }) Library.Unload = function(self) for Index, Value in self.Connections do Value.Connection:Disconnect() end for Index, Value in self.Threads do coroutine.close(Value) end if self.Holder then self.Holder:Clean() end Library = nil getgenv().Library = nil end Library.GetImage = function(self, Image) local ImageData = self.Images[Image] if not ImageData then return end return getcustomasset(self.Folders.Assets .. "/" .. ImageData[1]) end Library.Round = function(self, Number, Float) local Multiplier = 1 / (Float or 1) return MathFloor(Number * Multiplier) / Multiplier end Library.Thread = function(self, Function) local NewThread = coroutine.create(Function) coroutine.wrap(function() coroutine.resume(NewThread) end)() TableInsert(self.Threads, NewThread) return NewThread end Library.SafeCall = function(self, Function, ...) local Arguements = { ... } local Success, Result = pcall(Function, TableUnpack(Arguements)) if not Success then --warn(Result) return false end return Success end Library.Connect = function(self, Event, Callback, Name) Name = Name or StringFormat("connection_number_%s_%s", self.UnnamedConnections + 1, HttpService:GenerateGUID(false)) local NewConnection = { Event = Event, Callback = Callback, Name = Name, Connection = nil, } Library:Thread(function() NewConnection.Connection = Event:Connect(Callback) end) TableInsert(self.Connections, NewConnection) return NewConnection end Library.Disconnect = function(self, Name) for _, Connection in self.Connections do if Connection.Name == Name then Connection.Connection:Disconnect() break end end end Library.EscapePattern = function(self, String) local ShouldEscape = false if string.match(String, "[%(%)%.%%%+%-%*%?%[%]%^%$]") then ShouldEscape = true end if ShouldEscape then return StringGSub(String, "[%(%)%.%%%+%-%*%?%[%]%^%$]", "%%%1") end return String end Library.NextFlag = function(self) local FlagNumber = self.UnnamedFlags + 1 return StringFormat("flag_number_%s_%s", FlagNumber, HttpService:GenerateGUID(false)) end Library.AddToTheme = function(self, Item, Properties) Item = Item.Instance or Item local ThemeData = { Item = Item, Properties = Properties, } for Property, Value in ThemeData.Properties do if type(Value) == "string" then Item[Property] = self.Theme[Value] else Item[Property] = Value() end end TableInsert(self.ThemeItems, ThemeData) self.ThemeMap[Item] = ThemeData end Library.GetConfig = function(self) local Config = {} local Success, Result = Library:SafeCall(function() for Index, Value in Library.Flags do if type(Value) == "table" and Value.Key then Config[Index] = { Key = tostring(Value.Key), Mode = Value.Mode, Toggled = Value.Toggled } elseif type(Value) == "table" and Value.Color then Config[Index] = { Color = "#" .. Value.HexValue, Alpha = Value.Alpha } else Config[Index] = Value end end end) return HttpService:JSONEncode(Config) end Library.LoadConfig = function(self, Config) local Decoded = HttpService:JSONDecode(Config) local Success, Result = Library:SafeCall(function() for Index, Value in Decoded do local SetFunction = Library.SetFlags[Index] if not SetFunction then continue end if type(Value) == "table" and Value.Key then SetFunction(Value) elseif type(Value) == "table" and Value.Color then SetFunction(Value.Color, Value.Alpha) else SetFunction(Value) end end end) return Success, Result end Library.DeleteConfig = function(self, Config) if isfile(Library.Folders.Configs .. "/" .. Config) then delfile(Library.Folders.Configs .. "/" .. Config) end end Library.RefreshConfigsList = function(self, Element) local List = {} local ReturnList = {} List = listfiles(Library.Folders.Configs) for Index = 1, #List do local File = List[Index] if File:sub(-5) == ".json" then local Position = File:find(".json", 1, true) local StartPosition = Position local Character = File:sub(Position, Position) while Character ~= "/" and Character ~= "\\" and Character ~= "" do Position = Position - 1 Character = File:sub(Position, Position) end if Character == "/" or Character == "\\" then TableInsert(ReturnList, File:sub(Position + 1, StartPosition - 1)) end end end Element:Refresh(ReturnList) end Library.ChangeItemTheme = function(self, Item, Properties) Item = Item.Instance or Item if not self.ThemeMap[Item] then return end self.ThemeMap[Item].Properties = Properties self.ThemeMap[Item] = self.ThemeMap[Item] end Library.ChangeTheme = function(self, Theme, Color) self.Theme[Theme] = Color for _, Item in self.ThemeItems do for Property, Value in Item.Properties do if type(Value) == "string" and Value == Theme then Item.Item[Property] = Color elseif type(Value) == "function" then Item.Item[Property] = Value() end end end end Library.IsMouseOverFrame = function(self, Frame) Frame = Frame.Instance local MousePosition = Vector2New(Mouse.X, Mouse.Y) return MousePosition.X >= Frame.AbsolutePosition.X and MousePosition.X <= Frame.AbsolutePosition.X + Frame.AbsoluteSize.X and MousePosition.Y >= Frame.AbsolutePosition.Y and MousePosition.Y <= Frame.AbsolutePosition.Y + Frame.AbsoluteSize.Y end Library.GetLighterColor = function(self, Color, Increment) local Hue, Saturation, Value = Color:ToHSV() return FromHSV(Hue, Saturation, Value * Increment) end do Library.CreateColorpicker = function(self, Data) local Colorpicker = { Hue = 0, Saturation = 0, Value = 0, Alpha = 0, IsOpen = false, IsOpen2 = false, Color = FromRGB(0, 0, 0), HexValue = "000000", Flag = Data.Flag, } local Items = {} do Items["ColorpickerButton"] = Instances:Create("TextButton", { Parent = Data.Parent.Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(0, 0, 0), BorderColor3 = FromRGB(0, 0, 0), Text = "", AutoButtonColor = false, Size = UDim2New(0, 15, 0, 15), BorderSizePixel = 0, TextSize = 14, BackgroundColor3 = FromRGB(140, 255, 213), }) Instances:Create("UIStroke", { Parent = Items["ColorpickerButton"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Instances:Create("UIGradient", { Parent = Items["ColorpickerButton"].Instance, Name = "\0", Rotation = 90, Color = RGBSequence({ RGBSequenceKeypoint(0, FromRGB(255, 255, 255)), RGBSequenceKeypoint(1, FromRGB(152, 152, 152)), }), }) Items["ColorpickerWindow2"] = Instances:Create("Frame", { Parent = Library.UnusedHolder.Instance, Name = "\0", Visible = false, Position = UDim2New(0, 1032, 0, 123), BorderColor3 = FromRGB(0, 34, 37), Size = UDim2New(0, 232, 0, 265), BorderSizePixel = 2, BackgroundColor3 = FromRGB(17, 21, 27), }) if IsMobile then Instances:Create("UIScale", { Parent = Items["ColorpickerWindow2"].Instance, Scale = 0.65, }) end Items["ColorpickerWindow"] = Instances:Create("Frame", { Parent = Library.UnusedHolder.Instance, Name = "\0", Visible = false, Position = UDim2New(0, 1032, 0, 123), BorderColor3 = FromRGB(0, 34, 37), Size = UDim2New(0, 232, 0, 265), BorderSizePixel = 2, BackgroundColor3 = FromRGB(17, 21, 27), }) if IsMobile then Instances:Create("UIScale", { Parent = Items["ColorpickerWindow"].Instance, Scale = 0.65, }) end Items["Glow"] = Instances:Create("ImageLabel", { Parent = Items["ColorpickerWindow"].Instance, Name = "\0", ImageColor3 = FromRGB(94, 213, 213), ScaleType = Enum.ScaleType.Slice, ImageTransparency = 0.699999988079071, BorderColor3 = FromRGB(0, 0, 0), BackgroundColor3 = FromRGB(255, 255, 255), Size = UDim2New(1, 25, 1, 25), AnchorPoint = Vector2New(0.5, 0.5), Image = "http://www.roblox.com/asset/?id=18245826428", BackgroundTransparency = 1, Position = UDim2New(0.5, 0, 0.5, 0), ZIndex = -1, BorderSizePixel = 0, SliceCenter = RectNew(Vector2New(21, 21), Vector2New(79, 79)), }) Items["Glow"]:AddToTheme({ ImageColor3 = "Accent" }) Instances:Create("UIGradient", { Parent = Items["Glow"].Instance, Name = "\0", Rotation = 90, Transparency = NumSequence({ NumSequenceKeypoint(0, 0), NumSequenceKeypoint(1, 1) }), }) Instances:Create("UIStroke", { Parent = Items["ColorpickerWindow"].Instance, Name = "\0", Color = FromRGB(94, 213, 213), LineJoinMode = Enum.LineJoinMode.Miter, }):AddToTheme({ Color = "Accent" }) Items["Alpha"] = Instances:Create("TextButton", { Parent = Items["ColorpickerWindow"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(0, 0, 0), BorderColor3 = FromRGB(0, 0, 0), Text = "", AutoButtonColor = false, AnchorPoint = Vector2New(0, 1), BorderSizePixel = 0, Position = UDim2New(0, 8, 1, -35), Size = UDim2New(1, -16, 0, 10), ZIndex = 2, TextSize = 14, BackgroundColor3 = FromRGB(140, 255, 213), }) Items["Checkers"] = Instances:Create("ImageLabel", { Parent = Items["Alpha"].Instance, Name = "\0", ScaleType = Enum.ScaleType.Tile, BorderColor3 = FromRGB(0, 0, 0), TileSize = UDim2New(0, 6, 0, 6), Image = "http://www.roblox.com/asset/?id=18274452449", BackgroundTransparency = 1, Size = UDim2New(1, 0, 1, 0), ZIndex = 2, BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIGradient", { Parent = Items["Checkers"].Instance, Name = "\0", Transparency = NumSequence({ NumSequenceKeypoint(0, 1), NumSequenceKeypoint(0.37, 0.5), NumSequenceKeypoint(1, 0), }), }) Items["AlphaDragger"] = Instances:Create("Frame", { Parent = Items["Alpha"].Instance, Name = "\0", Size = UDim2New(0, 2, 1, 0), Position = UDim2New(0, 8, 0, 0), BorderColor3 = FromRGB(0, 0, 0), ZIndex = 2, BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIStroke", { Parent = Items["AlphaDragger"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Items["Hue"] = Instances:Create("TextButton", { Parent = Items["ColorpickerWindow"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(0, 0, 0), BorderColor3 = FromRGB(0, 0, 0), Text = "", AutoButtonColor = false, AnchorPoint = Vector2New(1, 0), BorderSizePixel = 0, Position = UDim2New(1, -7, 0, 8), Size = UDim2New(0, 10, 1, -59), ZIndex = 2, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["HueInline"] = Instances:Create("TextButton", { Parent = Items["Hue"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(0, 0, 0), BorderColor3 = FromRGB(0, 0, 0), Text = "", AutoButtonColor = false, BorderSizePixel = 0, Size = UDim2New(1, 0, 1, 0), ZIndex = 2, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIGradient", { Parent = Items["HueInline"].Instance, Name = "\0", Rotation = 90, Color = RGBSequence({ RGBSequenceKeypoint(0, FromRGB(255, 0, 0)), RGBSequenceKeypoint(0.17, FromRGB(255, 255, 0)), RGBSequenceKeypoint(0.33, FromRGB(0, 255, 0)), RGBSequenceKeypoint(0.5, FromRGB(0, 255, 255)), RGBSequenceKeypoint(0.67, FromRGB(0, 0, 255)), RGBSequenceKeypoint(0.83, FromRGB(255, 0, 255)), RGBSequenceKeypoint(1, FromRGB(255, 0, 0)), }), }) Instances:Create("UIStroke", { Parent = Items["Hue"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Items["HueDragger"] = Instances:Create("Frame", { Parent = Items["Hue"].Instance, Name = "\0", BorderColor3 = FromRGB(0, 0, 0), BackgroundTransparency = -0.009999999776482582, Position = UDim2New(0, 0, 0, 8), Size = UDim2New(1, 0, 0, 2), ZIndex = 3, BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIStroke", { Parent = Items["HueDragger"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Items["Palette"] = Instances:Create("TextButton", { Parent = Items["ColorpickerWindow"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(0, 0, 0), BorderColor3 = FromRGB(0, 0, 0), Text = "", AutoButtonColor = false, BorderSizePixel = 0, Position = UDim2New(0, 8, 0, 8), Size = UDim2New(1, -31, 1, -59), ZIndex = 2, TextSize = 14, BackgroundColor3 = FromRGB(140, 255, 213), }) Instances:Create("UIStroke", { Parent = Items["Palette"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Items["Saturation"] = Instances:Create("Frame", { Parent = Items["Palette"].Instance, Name = "\0", Size = UDim2New(1, 0, 1, 0), BorderColor3 = FromRGB(0, 0, 0), ZIndex = 2, BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIGradient", { Parent = Items["Saturation"].Instance, Name = "\0", Transparency = NumSequence({ NumSequenceKeypoint(0, 1), NumSequenceKeypoint(1, 0) }), }) Items["Value"] = Instances:Create("Frame", { Parent = Items["Palette"].Instance, Name = "\0", Size = UDim2New(1, 0, 1, 0), BorderColor3 = FromRGB(0, 0, 0), ZIndex = 2, BorderSizePixel = 0, BackgroundColor3 = FromRGB(0, 0, 0), }) Instances:Create("UIGradient", { Parent = Items["Value"].Instance, Name = "\0", Rotation = 90, Transparency = NumSequence({ NumSequenceKeypoint(0, 1), NumSequenceKeypoint(1, 0) }), }) Items["PaletteDragger"] = Instances:Create("Frame", { Parent = Items["Palette"].Instance, Name = "\0", Size = UDim2New(0, 2, 0, 2), Position = UDim2New(0, 8, 0, 8), BorderColor3 = FromRGB(0, 0, 0), ZIndex = 2, BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIStroke", { Parent = Items["PaletteDragger"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Items["HexInput"] = Instances:Create("TextBox", { Parent = Items["ColorpickerWindow"].Instance, Name = "\0", FontFace = Library.Font, ClearTextOnFocus = false, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = "", AnchorPoint = Vector2New(0, 1), Size = UDim2New(1, -16, 0, 20), PlaceholderColor3 = FromRGB(255, 255, 255), Position = UDim2New(0, 8, 1, -7), BorderSizePixel = 0, TextSize = 14, BackgroundColor3 = FromRGB(32, 38, 48), }) Items["HexInput"]:AddToTheme({ TextColor3 = "Text", BackgroundColor3 = "Element" }) Instances:Create("UIStroke", { Parent = Items["HexInput"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Items["ColorpickerWindow2"] = Instances:Create("Frame", { Parent = Library.UnusedHolder.Instance, Name = "\0", Position = UDim2New(0, 0, 0, 0), BorderColor3 = FromRGB(0, 0, 0), Size = UDim2New(0, 50, 0, 20), BorderSizePixel = 0, BackgroundColor3 = FromRGB(32, 38, 48), AutomaticSize = Enum.AutomaticSize.Y, }) Items["ColorpickerWindow2"]:AddToTheme({ BackgroundColor3 = "Element" }) Instances:Create("UIStroke", { Parent = Items["ColorpickerWindow2"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Instances:Create("UIListLayout", { Parent = Items["ColorpickerWindow2"].Instance, Name = "\0", Padding = UDimNew(0, 2), SortOrder = Enum.SortOrder.LayoutOrder, }) end local AddButton = function(Name, Callback) local NewButton = Instances:Create("TextButton", { Parent = Items["ColorpickerWindow2"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = Name, AutoButtonColor = false, BackgroundTransparency = 1, Size = UDim2New(1, 0, 0, 20), BorderSizePixel = 0, TextSize = 14, BackgroundColor3 = FromRGB(32, 38, 48), }) NewButton:AddToTheme({ TextColor3 = "Text" }) NewButton:Connect("MouseButton1Down", function() Callback() Colorpicker:SetOpen2(false) end) return NewButton end AddButton("Copy", function() local Red = MathFloor(Colorpicker.Color.R * 255) local Green = MathFloor(Colorpicker.Color.G * 255) local Blue = MathFloor(Colorpicker.Color.B * 255) setclipboard(Red .. ", " .. Green .. ", " .. Blue) Library.CopiedColor = Red .. ", " .. Green .. ", " .. Blue end) AddButton("Paste", function() if Library.CopiedColor then local Red, Green, Blue = Library.CopiedColor:match("(%d+),%s*(%d+),%s*(%d+)") Red, Green, Blue = tonumber(Red), tonumber(Green), tonumber(Blue) Colorpicker:Set({ Red, Green, Blue }, Colorpicker.Alpha) end end) local SlidingPalette = false local SlidingHue = false local SlidingAlpha = false local Debounce = false local RenderStepped local RenderStepped2 function Colorpicker:Get() return Colorpicker.Color, Colorpicker.Alpha end function Colorpicker:SetOpen(Bool) if Debounce then return end Colorpicker.IsOpen = Bool Debounce = true if Colorpicker.IsOpen then Items["ColorpickerWindow"].Instance.Visible = true Items["ColorpickerWindow"].Instance.Parent = Library.Holder.Instance RenderStepped = Library:Connect(RunService.RenderStepped, function() if IsMobile then Items["ColorpickerWindow"].Instance.Position = UDim2New(0.5, 0, 0.5, 0) Items["ColorpickerWindow"].Instance.AnchorPoint = Vector2New(0.5, 0.5) else Items["ColorpickerWindow"].Instance.Position = UDim2New( 0, Items["ColorpickerButton"].Instance.AbsolutePosition.X, 0, Items["ColorpickerButton"].Instance.AbsolutePosition.Y + Items["ColorpickerButton"].Instance.AbsoluteSize.Y + 65 ) end end) for Index, Value in Library.OpenFrames do if Value ~= Colorpicker then Value:SetOpen(false) end end Library.OpenFrames[Colorpicker] = Colorpicker else if Library.OpenFrames[Colorpicker] then Library.OpenFrames[Colorpicker] = nil end if RenderStepped then Library:Disconnect(RenderStepped.Name) RenderStepped = nil end end local Descendants = Items["ColorpickerWindow"].Instance:GetDescendants() TableInsert(Descendants, Items["ColorpickerWindow"].Instance) local NewTween for Index, Value in Descendants do local TransparencyProperty = Tween:GetProperty(Value) if not TransparencyProperty then continue end if not Value.ClassName:find("UI") then Value.ZIndex = Colorpicker.IsOpen and 104 or 1 Items["Glow"].Instance.ZIndex = Colorpicker.IsOpen and 103 or 1 end if type(TransparencyProperty) == "table" then for _, Property in TransparencyProperty do NewTween = Tween:FadeItem(Value, Property, Bool, Library.FadeSpeed) end else NewTween = Tween:FadeItem(Value, TransparencyProperty, Bool, Library.FadeSpeed) end end NewTween.Tween.Completed:Connect(function() Debounce = false Items["ColorpickerWindow"].Instance.Visible = Colorpicker.IsOpen task.wait(0.2) Items["ColorpickerWindow"].Instance.Parent = not Colorpicker.IsOpen and Library.UnusedHolder.Instance or Library.Holder.Instance end) end function Colorpicker:SetOpen2(Bool) Colorpicker.IsOpen2 = Bool if Bool then Items["ColorpickerWindow2"].Instance.Visible = true Items["ColorpickerWindow2"].Instance.Parent = Library.Holder.Instance RenderStepped2 = Library:Connect(RunService.RenderStepped, function() if IsMobile then Items["ColorpickerWindow2"].Instance.Position = UDim2New(0.5, 0, 0.5, 0) Items["ColorpickerWindow2"].Instance.AnchorPoint = Vector2New(0.5, 0.5) else Items["ColorpickerWindow2"].Instance.Position = UDim2New( 0, Items["ColorpickerButton"].Instance.AbsolutePosition.X + Items["ColorpickerButton"].Instance.AbsoluteSize.X, 0, Items["ColorpickerButton"].Instance.AbsolutePosition.Y + Items["ColorpickerButton"].Instance.AbsoluteSize.Y + 65 ) end end) else if RenderStepped2 then Library:Disconnect(RenderStepped2.Name) RenderStepped2 = nil end Items["ColorpickerWindow2"].Instance.Visible = false Items["ColorpickerWindow2"].Instance.Parent = Library.UnusedHolder.Instance end end function Colorpicker:SlidePalette(Input) if not Input or not SlidingPalette then return end local ValueX = MathClamp( 1 - (Input.Position.X - Items["Palette"].Instance.AbsolutePosition.X) / Items["Palette"].Instance.AbsoluteSize.X, 0, 1 ) local ValueY = MathClamp( 1 - (Input.Position.Y - Items["Palette"].Instance.AbsolutePosition.Y) / Items["Palette"].Instance.AbsoluteSize.Y, 0, 1 ) Colorpicker.Saturation = ValueX Colorpicker.Value = ValueY local SlideX = MathClamp( (Input.Position.X - Items["Palette"].Instance.AbsolutePosition.X) / Items["Palette"].Instance.AbsoluteSize.X, 0, 0.99 ) local SlideY = MathClamp( (Input.Position.Y - Items["Palette"].Instance.AbsolutePosition.Y) / Items["Palette"].Instance.AbsoluteSize.Y, 0, 0.99 ) Items["PaletteDragger"]:Tween( TweenInfo.new(Library.Tween.Time, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Position = UDim2New(SlideX, 0, SlideY, 0) } ) Colorpicker:Update() end function Colorpicker:SlideHue(Input) if not Input or not SlidingHue then return end local ValueY = MathClamp( (Input.Position.Y - Items["Hue"].Instance.AbsolutePosition.Y) / Items["Hue"].Instance.AbsoluteSize.Y, 0, 1 ) Colorpicker.Hue = ValueY local SlideY = MathClamp( (Input.Position.Y - Items["Hue"].Instance.AbsolutePosition.Y) / Items["Hue"].Instance.AbsoluteSize.Y, 0, 0.99 ) Items["HueDragger"]:Tween( TweenInfo.new(Library.Tween.Time, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Position = UDim2New(0, 0, SlideY, 0) } ) Colorpicker:Update() end function Colorpicker:SlideAlpha(Input) if not Input or not SlidingAlpha then return end local ValueX = MathClamp( (Input.Position.X - Items["Alpha"].Instance.AbsolutePosition.X) / Items["Alpha"].Instance.AbsoluteSize.X, 0, 1 ) Colorpicker.Alpha = ValueX local SlideX = MathClamp( (Input.Position.X - Items["Alpha"].Instance.AbsolutePosition.X) / Items["Alpha"].Instance.AbsoluteSize.X, 0, 0.99 ) Items["AlphaDragger"]:Tween( TweenInfo.new(Library.Tween.Time, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Position = UDim2New(SlideX, 0, 0, 0) } ) Colorpicker:Update(true) end function Colorpicker:Update(IsFromAlpha) local Hue, Saturation, Value = Colorpicker.Hue, Colorpicker.Saturation, Colorpicker.Value Colorpicker.Color = FromHSV(Hue, Saturation, Value) Colorpicker.HexValue = Colorpicker.Color:ToHex() Library.Flags[Colorpicker.Flag] = { Alpha = Colorpicker.Alpha, Color = Colorpicker.Color, HexValue = Colorpicker.HexValue, } Items["ColorpickerButton"]:Tween(nil, { BackgroundColor3 = Colorpicker.Color }) Items["Palette"]:Tween(nil, { BackgroundColor3 = FromHSV(Hue, 1, 1) }) Items["HexInput"].Instance.Text = "#" .. Colorpicker.HexValue if not IsFromAlpha then Items["Alpha"]:Tween(nil, { BackgroundColor3 = Colorpicker.Color }) end if Data.Callback then Library:SafeCall(Data.Callback, Colorpicker.Color, Colorpicker.Alpha) end end function Colorpicker:Set(Color, Alpha) if type(Color) == "table" then Color = FromRGB(Color[1], Color[2], Color[3]) elseif type(Color) == "string" then Color = FromHex(Color) end Colorpicker.Hue, Colorpicker.Saturation, Colorpicker.Value = Color:ToHSV() Colorpicker.Alpha = Alpha or 0 local PaletteValueX = MathClamp(1 - Colorpicker.Saturation, 0, 0.99) local PaletteValueY = MathClamp(1 - Colorpicker.Value, 0, 0.99) local AlphaPositionX = MathClamp(Colorpicker.Alpha, 0, 0.99) local HuePositionY = MathClamp(Colorpicker.Hue, 0, 0.99) Items["PaletteDragger"]:Tween( TweenInfo.new(Library.Tween.Time, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Position = UDim2New(PaletteValueX, 0, PaletteValueY, 0) } ) Items["HueDragger"]:Tween( TweenInfo.new(Library.Tween.Time, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Position = UDim2New(0, 0, HuePositionY, 0) } ) Items["AlphaDragger"]:Tween( TweenInfo.new(Library.Tween.Time, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Position = UDim2New(AlphaPositionX, 0, 0, 0) } ) Colorpicker:Update(false) end local PaletteChanged Items["Palette"]:Connect("InputBegan", function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then SlidingPalette = true Colorpicker:SlidePalette(Input) if PaletteChanged then return end PaletteChanged = Input.Changed:Connect(function() if Input.UserInputState == Enum.UserInputState.End then SlidingPalette = false PaletteChanged:Disconnect() PaletteChanged = nil end end) end end) local HueChanged Items["HueInline"]:Connect("InputBegan", function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then SlidingHue = true Colorpicker:SlideHue(Input) if HueChanged then return end HueChanged = Input.Changed:Connect(function() if Input.UserInputState == Enum.UserInputState.End then SlidingHue = false HueChanged:Disconnect() HueChanged = nil end end) end end) local AlphaChanged Items["Alpha"]:Connect("InputBegan", function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then SlidingAlpha = true Colorpicker:SlideAlpha(Input) if AlphaChanged then return end AlphaChanged = Input.Changed:Connect(function() if Input.UserInputState == Enum.UserInputState.End then SlidingAlpha = false AlphaChanged:Disconnect() AlphaChanged = nil end end) end end) Items["HexInput"]:Connect("FocusLost", function() Colorpicker:Set(tostring(Items["HexInput"].Instance.Text), Colorpicker.Alpha) end) local CompareVectors = function(PointA, PointB) return (PointA.X < PointB.X) or (PointA.Y < PointB.Y) end local IsClipped = function(Object, Column) local Parent = Column local BoundryTop = Parent.AbsolutePosition local BoundryBottom = BoundryTop + Parent.AbsoluteSize local Top = Object.AbsolutePosition local Bottom = Top + Object.AbsoluteSize return CompareVectors(Top, BoundryTop) or CompareVectors(BoundryBottom, Bottom) end Items["ColorpickerButton"]:Connect("Changed", function(Property) if Property == "AbsolutePosition" and Colorpicker.IsOpen then Colorpicker.IsOpen = not IsClipped( Items["ColorpickerWindow"].Instance, Data.Section.Items["Section"].Instance.Parent ) Items["ColorpickerWindow"].Instance.Visible = Colorpicker.IsOpen end end) Library:Connect(UserInputService.InputChanged, function(Input) if Input.UserInputType == Enum.UserInputType.MouseMovement or Input.UserInputType == Enum.UserInputType.Touch then if SlidingPalette then Colorpicker:SlidePalette(Input) elseif SlidingHue then Colorpicker:SlideHue(Input) elseif SlidingAlpha then Colorpicker:SlideAlpha(Input) end end end) Library:Connect(UserInputService.InputBegan, function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then if not Colorpicker.IsOpen then return end if Library:IsMouseOverFrame(Items["ColorpickerWindow"]) or Library:IsMouseOverFrame(Items["ColorpickerWindow2"]) then return end Colorpicker:SetOpen(false) Colorpicker:SetOpen2(false) end end) Items["ColorpickerButton"]:Connect("MouseButton1Down", function() Colorpicker:SetOpen(not Colorpicker.IsOpen) end) Items["ColorpickerButton"]:Connect("MouseButton2Down", function() Colorpicker:SetOpen2(not Colorpicker.IsOpen2) end) if Data.Default then Colorpicker:Set(Data.Default, Data.Alpha) end Library.SetFlags[Colorpicker.Flag] = function(Color, Alpha) Colorpicker:Set(Color, Alpha) end return Colorpicker, Items end Library.CreateKeybind = function(self, Data) local Keybind = { IsOpen = false, Key = "", Toggled = false, Mode = "", Flag = Data.Flag, Picking = false, Value = "", } local KeyListItem if Library.KeyList then KeyListItem = Library.KeyList:Add("", "") end local Items = {} do Items["KeyButton"] = Instances:Create("TextButton", { Parent = Data.Parent.Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), TextTransparency = 0.5, Text = "Unbound", AutoButtonColor = false, Size = UDim2New(0, 0, 0, 15), BorderSizePixel = 0, BorderColor3 = FromRGB(0, 0, 0), AutomaticSize = Enum.AutomaticSize.X, TextSize = 14, BackgroundColor3 = FromRGB(32, 38, 48), }) Items["KeyButton"]:AddToTheme({ TextColor3 = "Text", BackgroundColor3 = "Element" }) Instances:Create("UIPadding", { Parent = Items["KeyButton"].Instance, Name = "\0", PaddingRight = UDimNew(0, 8), PaddingLeft = UDimNew(0, 8), }) Instances:Create("UIStroke", { Parent = Items["KeyButton"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Items["KeybindWindow"] = Instances:Create("Frame", { Parent = Library.UnusedHolder.Instance, Name = "\0", Visible = false, Position = UDim2New(0, 114, 0, 35), BorderColor3 = FromRGB(0, 0, 0), ZIndex = 5, Size = UDim2New(0, 78, 0, 66), BorderSizePixel = 0, BackgroundColor3 = FromRGB(32, 38, 48), }) Items["KeybindWindow"]:AddToTheme({ BackgroundColor3 = "Element" }) Items["Toggle"] = Instances:Create("TextButton", { Parent = Items["KeybindWindow"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(0, 0, 0), BorderColor3 = FromRGB(0, 0, 0), Text = "", AutoButtonColor = false, BorderSizePixel = 0, Position = UDim2New(0, 2, 0, 2), Size = UDim2New(1, -4, 0, 20), ZIndex = 5, TextSize = 14, BackgroundColor3 = FromRGB(32, 38, 48), }) Items["Toggle"]:AddToTheme({ BackgroundColor3 = "Element" }) Instances:Create("UIGradient", { Parent = Items["Toggle"].Instance, Name = "\0", Rotation = -90, Color = RGBSequence({ RGBSequenceKeypoint(0, FromRGB(255, 255, 255)), RGBSequenceKeypoint(1, FromRGB(200, 200, 200)), }), }) Items["ToggleStroke"] = Instances:Create("UIStroke", { Parent = Items["Toggle"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }) Items["ToggleStroke"]:AddToTheme({ Color = "Border" }) Items["ToggleLiner"] = Instances:Create("Frame", { Parent = Items["Toggle"].Instance, Name = "\0", Size = UDim2New(0, 1, 1, 0), BorderColor3 = FromRGB(0, 0, 0), ZIndex = 5, BorderSizePixel = 0, BackgroundColor3 = FromRGB(94, 213, 213), }) Items["ToggleLiner"]:AddToTheme({ BackgroundColor3 = "Accent" }) Items["ToggleText"] = Instances:Create("TextLabel", { Parent = Items["Toggle"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = "Toggle", AutomaticSize = Enum.AutomaticSize.X, AnchorPoint = Vector2New(0, 0.5), Size = UDim2New(0, 0, 0, 15), BackgroundTransparency = 1, Position = UDim2New(0, 7, 0.5, 0), BorderSizePixel = 0, ZIndex = 5, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["ToggleText"]:AddToTheme({ TextColor3 = "Text" }) Items["Hold"] = Instances:Create("TextButton", { Parent = Items["KeybindWindow"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(0, 0, 0), BorderColor3 = FromRGB(0, 0, 0), Text = "", AutoButtonColor = false, BorderSizePixel = 0, BackgroundTransparency = 1, Position = UDim2New(0, 2, 0, 22), Size = UDim2New(1, -4, 0, 20), ZIndex = 5, TextSize = 14, BackgroundColor3 = FromRGB(32, 38, 48), }) Items["Hold"]:AddToTheme({ BackgroundColor3 = "Element" }) Instances:Create("UIGradient", { Parent = Items["Hold"].Instance, Name = "\0", Rotation = -90, Color = RGBSequence({ RGBSequenceKeypoint(0, FromRGB(255, 255, 255)), RGBSequenceKeypoint(1, FromRGB(200, 200, 200)), }), }) Items["HoldStroke"] = Instances:Create("UIStroke", { Parent = Items["Hold"].Instance, Name = "\0", ApplyStrokeMode = Enum.ApplyStrokeMode.Border, Transparency = 1, Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, }) Items["HoldStroke"]:AddToTheme({ Color = "Border" }) Items["HoldLiner"] = Instances:Create("Frame", { Parent = Items["Hold"].Instance, Name = "\0", BackgroundTransparency = 1, Size = UDim2New(0, 1, 1, 0), BorderColor3 = FromRGB(0, 0, 0), ZIndex = 5, BorderSizePixel = 0, BackgroundColor3 = FromRGB(94, 213, 213), }) Items["HoldLiner"]:AddToTheme({ BackgroundColor3 = "Accent" }) Items["HoldText"] = Instances:Create("TextLabel", { Parent = Items["Hold"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), TextTransparency = 0.4000000059604645, Text = "Hold", AutomaticSize = Enum.AutomaticSize.X, Size = UDim2New(0, 0, 0, 15), AnchorPoint = Vector2New(0, 0.5), BorderSizePixel = 0, BackgroundTransparency = 1, Position = UDim2New(0, 10, 0.5, 0), BorderColor3 = FromRGB(0, 0, 0), ZIndex = 5, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["HoldText"]:AddToTheme({ TextColor3 = "Text" }) Items["AlwaysOn"] = Instances:Create("TextButton", { Parent = Items["KeybindWindow"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(0, 0, 0), BorderColor3 = FromRGB(0, 0, 0), Text = "", AutoButtonColor = false, BorderSizePixel = 0, BackgroundTransparency = 1, Position = UDim2New(0, 2, 0, 44), Size = UDim2New(1, -4, 0, 20), ZIndex = 5, TextSize = 14, BackgroundColor3 = FromRGB(32, 38, 48), }) Instances:Create("UIGradient", { Parent = Items["AlwaysOn"].Instance, Name = "\0", Rotation = -90, Color = RGBSequence({ RGBSequenceKeypoint(0, FromRGB(255, 255, 255)), RGBSequenceKeypoint(1, FromRGB(200, 200, 200)), }), }) Items["AlwaysOnStroke"] = Instances:Create("UIStroke", { Parent = Items["AlwaysOn"].Instance, Name = "\0", ApplyStrokeMode = Enum.ApplyStrokeMode.Border, Transparency = 1, Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, }) Items["AlwaysOnStroke"]:AddToTheme({ Color = "Border" }) Items["AlwaysOnLiner"] = Instances:Create("Frame", { Parent = Items["AlwaysOn"].Instance, Name = "\0", BackgroundTransparency = 1, Size = UDim2New(0, 1, 1, 0), BorderColor3 = FromRGB(0, 0, 0), ZIndex = 5, BorderSizePixel = 0, BackgroundColor3 = FromRGB(94, 213, 213), }) Items["AlwaysOnLiner"]:AddToTheme({ BackgroundColor3 = "Accent" }) Items["AlwaysOnText"] = Instances:Create("TextLabel", { Parent = Items["AlwaysOn"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), TextTransparency = 0.4000000059604645, Text = "Always On", AutomaticSize = Enum.AutomaticSize.X, Size = UDim2New(0, 0, 0, 15), AnchorPoint = Vector2New(0, 0.5), BorderSizePixel = 0, BackgroundTransparency = 1, Position = UDim2New(0, 10, 0.5, 0), BorderColor3 = FromRGB(0, 0, 0), ZIndex = 5, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["AlwaysOnText"]:AddToTheme({ TextColor3 = "Text" }) Items["KeyButton"]:OnHover(function() Items["KeyButton"]:Tween( nil, { BackgroundColor3 = Library:GetLighterColor(Library.Theme.Element, 1.35) } ) end) Items["KeyButton"]:OnHoverLeave(function() Items["KeyButton"]:Tween(nil, { BackgroundColor3 = Library.Theme.Element }) end) end local Update = function() if KeyListItem then KeyListItem:SetText(Data.Name, Keybind.Value) if Keybind.ForceHide then KeyListItem:SetStatus(false) else KeyListItem:SetStatus(Keybind.Toggled) end end end local Modes = { ["Toggle"] = { Items["Toggle"], Items["ToggleText"], Items["ToggleStroke"], Items["ToggleLiner"] }, ["Hold"] = { Items["Hold"], Items["HoldText"], Items["HoldStroke"], Items["HoldLiner"] }, ["Always On"] = { Items["AlwaysOn"], Items["AlwaysOnText"], Items["AlwaysOnStroke"], Items["AlwaysOnLiner"], }, } function Keybind:Get() return Keybind.Mode, Keybind.Key, Keybind.Toggled end local Debounce = false local RenderStepped function Keybind:SetOpen(Bool) if Debounce then return end Keybind.IsOpen = Bool Debounce = true if Keybind.IsOpen then Items["KeybindWindow"].Instance.Visible = true Items["KeybindWindow"].Instance.Parent = Library.Holder.Instance RenderStepped = Library:Connect(RunService.RenderStepped, function() Items["KeybindWindow"].Instance.Position = UDim2New( 0, Items["KeyButton"].Instance.AbsolutePosition.X, 0, Items["KeyButton"].Instance.AbsolutePosition.Y + Items["KeyButton"].Instance.AbsoluteSize.Y + 65 ) end) if not Debounce then for Index, Value in Library.OpenFrames do if Value ~= Keybind then Value:SetOpen(false) end end Library.OpenFrames[Keybind] = Keybind end else if not Debounce then if Library.OpenFrames[Keybind] then Library.OpenFrames[Keybind] = nil end end if RenderStepped then Library:Disconnect(RenderStepped.Name) RenderStepped = nil end end local Descendants = Items["KeybindWindow"].Instance:GetDescendants() TableInsert(Descendants, Items["KeybindWindow"].Instance) local NewTween for Index, Value in Descendants do local TransparencyProperty = Tween:GetProperty(Value) if not TransparencyProperty then continue end if type(TransparencyProperty) == "table" then for _, Property in TransparencyProperty do NewTween = Tween:FadeItem(Value, Property, Bool, Library.FadeSpeed) end else NewTween = Tween:FadeItem(Value, TransparencyProperty, Bool, Library.FadeSpeed) end end NewTween.Tween.Completed:Connect(function() Debounce = false Items["KeybindWindow"].Instance.Visible = Keybind.IsOpen task.wait(0.2) Items["KeybindWindow"].Instance.Parent = not Keybind.IsOpen and Library.UnusedHolder.Instance or Library.Holder.Instance end) end function Keybind:Set(Key) local KStr = tostring(type(Key) == "table" and Key.Key or Key) if StringFind(KStr, "Backspace") or KStr == "None" then Keybind.Key = "None" Keybind.Value = "None" Items["KeyButton"].Instance.Text = "None" -- Set mode from table or keep existing, default to Toggle local IncomingMode = (type(Key) == "table" and Key.Mode) or Keybind.Mode if IncomingMode == nil or IncomingMode == "" then IncomingMode = Data.Mode or "Toggle" end Keybind.Mode = IncomingMode Keybind:SetMode(IncomingMode) Library.Flags[Keybind.Flag] = { Mode = Keybind.Mode, Key = Keybind.Key, Toggled = Keybind.Toggled, } Update() Keybind.Picking = false return end if StringFind(tostring(Key), "Enum") then Keybind.Key = tostring(Key) Keybind.Picking = false -- Ensure mode is set; default to Toggle if empty if Keybind.Mode == nil or Keybind.Mode == "" then Keybind.Mode = Data.Mode or "Toggle" Keybind:SetMode(Keybind.Mode) end Key = Key.Name local KeyString = Keys[Keybind.Key] or StringGSub(Key, "Enum.", "") or "None" local TextToDisplay = StringGSub(StringGSub(KeyString, "KeyCode.", ""), "UserInputType.", "") or "None" Keybind.Value = TextToDisplay Items["KeyButton"].Instance.Text = TextToDisplay Library.Flags[Keybind.Flag] = { Mode = Keybind.Mode, Key = Keybind.Key, Toggled = Keybind.Toggled, } if Data.Callback then Library:SafeCall(Data.Callback, Keybind.Toggled) end Update() elseif type(Key) == "table" then local RealKey = Key.Key == "Backspace" and "None" or Key.Key Keybind.Key = tostring(Key.Key) if Key.Mode then Keybind.Mode = Key.Mode Keybind:SetMode(Key.Mode) else Keybind.Mode = "Toggle" Keybind:SetMode("Toggle") end local KeyString = Keys[Keybind.Key] or StringGSub(tostring(RealKey), "Enum.", "") or RealKey local TextToDisplay = KeyString and StringGSub(StringGSub(KeyString, "KeyCode.", ""), "UserInputType.", "") or "None" TextToDisplay = StringGSub(StringGSub(KeyString, "KeyCode.", ""), "UserInputType.", "") Keybind.Value = TextToDisplay Items["KeyButton"].Instance.Text = TextToDisplay if Key.Toggled then Keybind:Press(Key.Toggled, true) end if Data.Callback then Library:SafeCall(Data.Callback, Keybind.Toggled) end Update() elseif TableFind({ "Toggle", "Hold", "Always" }, Key) then Keybind.Mode = Key Keybind:SetMode(Keybind.Mode) if Data.Callback then Library:SafeCall(Data.Callback, Keybind.Toggled) end Update() elseif type(Key) == "boolean" then Keybind:Press(Key) end Keybind.Picking = false end function Keybind:Press(Bool) if Keybind.Mode == "Toggle" then Keybind.Toggled = not Keybind.Toggled elseif Keybind.Mode == "Hold" then Keybind.Toggled = Bool elseif Keybind.Mode == "Always" then Keybind.Toggled = true end Library.Flags[Keybind.Flag] = { Mode = Keybind.Mode, Key = Keybind.Key, Toggled = Keybind.Toggled, } if Data.Callback then Library:SafeCall(Data.Callback, Keybind.Toggled) end Update() end function Keybind:SetVisibleInList(Bool) Keybind.ForceHide = not Bool Update() end function Keybind:SetMode(Mode) for Index, Value in Modes do if Index == Mode then Value[1]:Tween(nil, { BackgroundTransparency = 0 }) Value[4]:Tween(nil, { BackgroundTransparency = 0 }) Value[2]:Tween(nil, { TextTransparency = 0 }) Value[3]:Tween(nil, { Transparency = 0 }) else Value[1]:Tween(nil, { BackgroundTransparency = 1 }) Value[4]:Tween(nil, { BackgroundTransparency = 1 }) Value[2]:Tween(nil, { TextTransparency = 0.4 }) Value[3]:Tween(nil, { Transparency = 1 }) end end Library.Flags[Keybind.Flag] = { Mode = Keybind.Mode, Key = Keybind.Key, Toggled = Keybind.Toggled, } if Data.Callback then Library:SafeCall(Data.Callback, Keybind.Toggled) end Update() end local CompareVectors = function(PointA, PointB) return (PointA.X < PointB.X) or (PointA.Y < PointB.Y) end local IsClipped = function(Object, Column) local Parent = Column local BoundryTop = Parent.AbsolutePosition local BoundryBottom = BoundryTop + Parent.AbsoluteSize local Top = Object.AbsolutePosition local Bottom = Top + Object.AbsoluteSize return CompareVectors(Top, BoundryTop) or CompareVectors(BoundryBottom, Bottom) end Items["KeyButton"]:Connect("Changed", function(Property) if Property == "AbsolutePosition" and Keybind.IsOpen then Keybind.IsOpen = not IsClipped(Items["KeybindWindow"].Instance, Data.Section.Items["Section"].Instance.Parent) Items["KeybindWindow"].Instance.Visible = Keybind.IsOpen end end) Items["KeyButton"]:Connect("MouseButton1Click", function() Keybind.Picking = true Items["KeyButton"].Instance.Text = "." Library:Thread(function() local Count = 1 while true do if not Keybind.Picking then break end if Count == 4 then Count = 1 end if Keybind.Picking then Items["KeyButton"].Instance.Text = Count == 1 and "." or Count == 2 and ".." or Count == 3 and "..." end Count += 1 task.wait(0.4) end end) local InputBegan InputBegan = UserInputService.InputBegan:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.Touch then return end if Input.UserInputType == Enum.UserInputType.Keyboard then Keybind:Set(Input.KeyCode) else Keybind:Set(Input.UserInputType) end InputBegan:Disconnect() InputBegan = nil end) end) Items["KeyButton"]:Connect("MouseButton2Down", function() Keybind:SetOpen(not Keybind.IsOpen) end) Library:Connect(UserInputService.InputBegan, function(Input) if Keybind.Value == "None" then return end if tostring(Input.KeyCode) == Keybind.Key then if Keybind.Mode == "Toggle" then Keybind:Press() elseif Keybind.Mode == "Hold" then Keybind:Press(true) elseif Keybind.Mode == "Always" then Keybind:Press(true) end elseif tostring(Input.UserInputType) == Keybind.Key then if Keybind.Mode == "Toggle" then Keybind:Press() elseif Keybind.Mode == "Hold" then Keybind:Press(true) elseif Keybind.Mode == "Always" then Keybind:Press(true) end end if Input.UserInputType == Enum.UserInputType.MouseButton1 then if not Keybind.IsOpen then return end if Library:IsMouseOverFrame(Items["KeybindWindow"]) then return end Keybind:SetOpen(false) end end) Library:Connect(UserInputService.InputEnded, function(Input) if Keybind.Value == "None" then return end if tostring(Input.KeyCode) == Keybind.Key then if Keybind.Mode == "Hold" then Keybind:Press(false) elseif Keybind.Mode == "Always" then Keybind:Press(true) end elseif tostring(Input.UserInputType) == Keybind.Key then if Keybind.Mode == "Hold" then Keybind:Press(false) elseif Keybind.Mode == "Always" then Keybind:Press(true) end end end) Items["Toggle"]:Connect("MouseButton1Down", function() Keybind.Mode = "Toggle" Keybind:SetMode("Toggle") end) Items["Hold"]:Connect("MouseButton1Down", function() Keybind.Mode = "Hold" Keybind:SetMode("Hold") end) Items["AlwaysOn"]:Connect("MouseButton1Down", function() Keybind.Mode = "Always" Keybind:SetMode("Always On") end) if Data.Default then Keybind:Set({ Key = Data.Default, Mode = Data.Mode or "Toggle", Toggled = Data.Toggled }) end Library.SetFlags[Keybind.Flag] = function(Value) Keybind:Set(Value) end return Keybind, Items end Library.Watermark = function(self, Name) local Watermark = {} local Items = {} do Items["Watermark"] = Instances:Create("Frame", { Parent = Library.Holder.Instance, Name = "\0", AnchorPoint = Vector2New(0.5, 0), Position = UDim2New(0.5, 0, 0, 25), BorderColor3 = FromRGB(0, 34, 37), Size = UDim2New(0, 180, 0, 30), BorderSizePixel = 2, BackgroundColor3 = FromRGB(17, 21, 27), ZIndex = 5, }) Items["Watermark"]:AddToTheme({ BackgroundColor3 = "Background 1" }) Items["UIStroke"] = Instances:Create("UIStroke", { Parent = Items["Watermark"].Instance, Name = "\0", Color = FromRGB(94, 213, 213), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }) Items["UIStroke"]:AddToTheme({ Color = "Accent" }) Instances:Create("UIGradient", { Parent = Items["UIStroke"].Instance, Name = "\0", Rotation = 90, Transparency = NumSequence({ NumSequenceKeypoint(0, 0), NumSequenceKeypoint(0.696, 0.2749999761581421), NumSequenceKeypoint(0.84, 0.574999988079071), NumSequenceKeypoint(1, 1), }), }) Items["Glow"] = Instances:Create("ImageLabel", { Parent = Items["Watermark"].Instance, Name = "\0", ImageColor3 = FromRGB(94, 213, 213), ScaleType = Enum.ScaleType.Slice, ImageTransparency = 0.5, BorderColor3 = FromRGB(0, 0, 0), BackgroundColor3 = FromRGB(255, 255, 255), Size = UDim2New(1, 25, 1, 25), AnchorPoint = Vector2New(0.5, 0.5), Image = "rbxassetid://18245826428", BackgroundTransparency = 1, Position = UDim2New(0.5, 0, 0.5, 0), ZIndex = 4, BorderSizePixel = 0, SliceCenter = RectNew(Vector2New(21, 21), Vector2New(79, 79)), }) Items["Glow"]:AddToTheme({ ImageColor3 = "Accent" }) Instances:Create("UIGradient", { Parent = Items["Glow"].Instance, Name = "\0", Rotation = 90, Transparency = NumSequence({ NumSequenceKeypoint(0, 0), NumSequenceKeypoint(1, 1) }), }) Items["Text"] = Instances:Create("TextLabel", { Parent = Items["Watermark"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = Name, AnchorPoint = Vector2New(0.5, 0.5), Size = UDim2New(0, 0, 0, 15), BackgroundTransparency = 1, Position = UDim2New(0.5, 0, 0.5, 0), BorderSizePixel = 0, ZIndex = 5, AutomaticSize = Enum.AutomaticSize.X, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Text"]:AddToTheme({ TextColor3 = "Text" }) Items["Watermark"]:MakeDraggable() end Watermark.BaseText = Name function Watermark:SetText(Text) Watermark.BaseText = tostring(Text) end local Frames = 0 local LastUpdate = tick() local CurrentFps = 60 Library:Connect(RunService.RenderStepped, function() Frames = Frames + 1 local Now = tick() if Now - LastUpdate >= 1 then CurrentFps = math.floor(Frames / (Now - LastUpdate)) Frames = 0 LastUpdate = Now end local Ping = 0 pcall(function() Ping = math.floor(LocalPlayer:GetNetworkPing() * 1000) end) Items["Text"].Instance.Text = string.format("%s | %d FPS | %d ms", Watermark.BaseText, CurrentFps, Ping) Items["Watermark"]:Tween(nil, { Size = UDim2New(0, Items["Text"].Instance.TextBounds.X + 20, 0, 30) }) end) function Watermark:SetVisibility(Bool) Items["Watermark"].Instance.Visible = Bool end Watermark:SetText(Name) return Watermark end Library.KeybindList = function(self) local KeybindList = {} self.KeyList = KeybindList local Items = {} do Items["KeybindList"] = Instances:Create("Frame", { Parent = Library.Holder.Instance, Name = "\0", AnchorPoint = Vector2New(0, 0.5), Position = UDim2New(0, 20, 0.5, 0), BorderColor3 = FromRGB(0, 0, 0), BorderSizePixel = 0, Visible = false, AutomaticSize = Enum.AutomaticSize.XY, BackgroundColor3 = FromRGB(24, 28, 36), }) Items["KeybindList"]:AddToTheme({ BackgroundColor3 = "Background 2" }) Instances:Create("UIPadding", { Parent = Items["KeybindList"].Instance, Name = "\0", PaddingTop = UDimNew(0, 9), PaddingBottom = UDimNew(0, 9), PaddingRight = UDimNew(0, 9), PaddingLeft = UDimNew(0, 9), }) Items["Liner"] = Instances:Create("Frame", { Parent = Items["KeybindList"].Instance, Name = "\0", Position = UDim2New(0, -9, 0, -9), BorderColor3 = FromRGB(0, 0, 0), Size = UDim2New(1, 18, 0, 2), BorderSizePixel = 0, BackgroundColor3 = FromRGB(94, 213, 213), }) Items["Liner"]:AddToTheme({ BackgroundColor3 = "Accent" }) Items["Glow"] = Instances:Create("ImageLabel", { Parent = Items["Liner"].Instance, Name = "\0", ImageColor3 = FromRGB(94, 213, 213), ScaleType = Enum.ScaleType.Slice, ImageTransparency = 0.5, BorderColor3 = FromRGB(0, 0, 0), BackgroundColor3 = FromRGB(94, 213, 213), Size = UDim2New(0, 113, 1, 8), AnchorPoint = Vector2New(0.5, 0.5), Image = "rbxassetid://18245826428", BackgroundTransparency = 1, Position = UDim2New(0.5, 0, 0.5, 0), ZIndex = 2, BorderSizePixel = 0, SliceCenter = RectNew(Vector2New(21, 21), Vector2New(79, 79)), }) Items["Glow"]:AddToTheme({ ImageColor3 = "Accent" }) Instances:Create("UIGradient", { Parent = Items["Glow"].Instance, Name = "\0", Rotation = 90, Transparency = NumSequence({ NumSequenceKeypoint(0, 0), NumSequenceKeypoint(1, 1) }), }) Items["Title"] = Instances:Create("TextLabel", { Parent = Items["KeybindList"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = "Keybinds", BackgroundTransparency = 1, TextXAlignment = Enum.TextXAlignment.Left, Size = UDim2New(0, 75, 0, 15), BorderSizePixel = 0, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Title"]:AddToTheme({ TextColor3 = "Text" }) Items["Liner2"] = Instances:Create("Frame", { Parent = Items["KeybindList"].Instance, Name = "\0", Position = UDim2New(0, 0, 0, 21), BorderColor3 = FromRGB(0, 0, 0), Size = UDim2New(1, 0, 0, 1), BorderSizePixel = 0, BackgroundColor3 = FromRGB(46, 52, 61), }) Items["Liner2"]:AddToTheme({ BackgroundColor3 = "Border" }) Items["Content"] = Instances:Create("Frame", { Parent = Items["KeybindList"].Instance, Name = "\0", BackgroundTransparency = 1, Position = UDim2New(0, 0, 0, 28), BorderColor3 = FromRGB(0, 0, 0), BorderSizePixel = 0, AutomaticSize = Enum.AutomaticSize.XY, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIListLayout", { Parent = Items["Content"].Instance, Name = "\0", Padding = UDimNew(0, 4), SortOrder = Enum.SortOrder.LayoutOrder, }) Instances:Create("UIStroke", { Parent = Items["KeybindList"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) end function KeybindList:SetVisibility(Bool) Items["KeybindList"].Instance.Visible = Bool end function KeybindList:Add(Name, Key) local NewKey = Instances:Create("TextLabel", { Parent = Items["Content"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), TextTransparency = 0.4000000059604645, Text = Name .. " [" .. Key .. "]", Size = UDim2New(0, 0, 0, 15), BackgroundTransparency = 1, BorderSizePixel = 0, BorderColor3 = FromRGB(0, 0, 0), AutomaticSize = Enum.AutomaticSize.X, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) NewKey:AddToTheme({ TextColor3 = "Text" }) function NewKey:SetText(Name, Key) NewKey.Instance.Text = Name .. " [" .. Key .. "]" end function NewKey:SetStatus(Bool) if NewKey.Instance.Text:find("Menu Keybind") then NewKey.Instance.Visible = false return end NewKey.Instance.Visible = Bool end return NewKey end return KeybindList end Library.ArmorViewer = function(self) local Viewer = { Items = {}, } local Items = {} do Items["ArmorViewer"] = Instances:Create("Frame", { Parent = Library.Holder.Instance, Name = "\0", Position = UDim2New(0, 0, 0.5, 0), BorderColor3 = FromRGB(0, 0, 0), Size = UDim2New(0, 295, 0, 220), BorderSizePixel = 0, ZIndex = 8, BackgroundColor3 = FromRGB(24, 28, 36), }) Items["ArmorViewer"]:AddToTheme({ BackgroundColor3 = "Background 2" }) Items["ArmorViewer"]:MakeDraggable() Items["ArmorViewer"]:MakeResizeable(Vector2New(295, 220), Vector2New(9999, 9999)) Items["Liner"] = Instances:Create("Frame", { Parent = Items["ArmorViewer"].Instance, Name = "\0", BorderColor3 = FromRGB(0, 0, 0), Size = UDim2New(1, 0, 0, 2), BorderSizePixel = 0, ZIndex = 8, BackgroundColor3 = FromRGB(94, 213, 213), }) Items["Liner"]:AddToTheme({ BackgroundColor3 = "Accent" }) Items["Glow"] = Instances:Create("ImageLabel", { Parent = Items["Liner"].Instance, Name = "\0", ImageColor3 = FromRGB(94, 213, 213), ScaleType = Enum.ScaleType.Slice, ImageTransparency = 0.5, BorderColor3 = FromRGB(0, 0, 0), BackgroundColor3 = FromRGB(94, 213, 213), Size = UDim2New(1, 8, 1, 8), AnchorPoint = Vector2New(0.5, 0.5), Image = "rbxassetid://18245826428", BackgroundTransparency = 1, Position = UDim2New(0.5, 0, 0.5, 0), ZIndex = 8, BorderSizePixel = 0, SliceCenter = RectNew(Vector2New(21, 21), Vector2New(79, 79)), }) Items["Glow"]:AddToTheme({ ImageColor3 = "Accent" }) Instances:Create("UIGradient", { Parent = Items["Glow"].Instance, Name = "\0", Rotation = 90, Transparency = NumSequence({ NumSequenceKeypoint(0, 0), NumSequenceKeypoint(1, 1) }), }) Items["Title"] = Instances:Create("TextLabel", { Parent = Items["ArmorViewer"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = "inventory", Size = UDim2New(0, 0, 0, 15), Position = UDim2New(0, 8, 0, 8), BackgroundTransparency = 1, TextXAlignment = Enum.TextXAlignment.Left, BorderSizePixel = 0, ZIndex = 8, AutomaticSize = Enum.AutomaticSize.X, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Title"]:AddToTheme({ TextColor3 = "Text" }) Items["Holder"] = Instances:Create("Frame", { Parent = Items["ArmorViewer"].Instance, Name = "\0", BackgroundTransparency = 1, Position = UDim2New(0, 8, 0, 32), BorderColor3 = FromRGB(0, 0, 0), Size = UDim2New(1, -16, 1, -40), BorderSizePixel = 0, ZIndex = 8, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIStroke", { Parent = Items["Holder"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Items["RealHolder"] = Instances:Create("ScrollingFrame", { Parent = Items["Holder"].Instance, Name = "\0", Active = true, AutomaticCanvasSize = Enum.AutomaticSize.Y, BorderSizePixel = 0, CanvasSize = UDim2New(0, 0, 0, 0), ScrollBarImageColor3 = FromRGB(46, 52, 61), MidImage = "rbxassetid://93024691806056", BorderColor3 = FromRGB(0, 0, 0), ScrollBarThickness = 3, Size = UDim2New(1, -4, 1, -8), BackgroundTransparency = 1, Position = UDim2New(0, 0, 0, 4), ZIndex = 8, BottomImage = "rbxassetid://93024691806056", TopImage = "rbxassetid://93024691806056", BackgroundColor3 = FromRGB(255, 255, 255), }) Items["RealHolder"]:AddToTheme({ ScrollBarImageColor3 = "Border" }) Instances:Create("UIGridLayout", { Parent = Items["RealHolder"].Instance, Name = "\0", SortOrder = Enum.SortOrder.LayoutOrder, CellPadding = UDim2New(0, 8, 0, 8), CellSize = UDim2New(0, 82, 0, 82), }) Instances:Create("UIPadding", { Parent = Items["RealHolder"].Instance, Name = "\0", PaddingTop = UDimNew(0, 1), PaddingBottom = UDimNew(0, 6), PaddingRight = UDimNew(0, 8), PaddingLeft = UDimNew(0, 5), }) end function Viewer:Add(Name, Icon) local NewItemTable = {} local NewItem = Instances:Create("Frame", { Parent = Items["RealHolder"].Instance, Name = "\0", BackgroundTransparency = 1, BorderColor3 = FromRGB(0, 0, 0), ZIndex = 8, Size = UDim2New(0, 100, 0, 100), BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIStroke", { Parent = NewItem.Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) local NewIcon = Instances:Create("ImageLabel", { Parent = NewItem.Instance, Name = "\0", BorderColor3 = FromRGB(0, 0, 0), AnchorPoint = Vector2New(0.5, 0.5), ZIndex = 8, Image = "rbxassetid://" .. Icon, BackgroundTransparency = 1, Position = UDim2New(0.5, 0, 0.5, 0), Size = UDim2New(0, 50, 0, 50), BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) function NewItemTable:Remove() NewItem:Clean() Viewer.Items[Name] = nil end Viewer.Items[Name] = NewItem return NewItemTable end function Viewer:ClearAllItems() for Index, Value in Viewer.Items do Value:Remove() end end function Viewer:SetVisibility(Bool) Items["ArmorViewer"].Instance.Visible = Bool end function Viewer:SetTitle(Name) Items["Title"].Instance.Text = Name end function Viewer:SetPosition(Position) Items["ArmorViewer"].Instance.Position = Position end return Viewer end Library.Notification = function(self, Name, Duration) local Items = {} do Items["Notification"] = Instances:Create("Frame", { Parent = self.NotifHolder.Instance, Name = "\0", Size = UDim2New(0, 20, 0, 20), BorderColor3 = FromRGB(0, 0, 0), BorderSizePixel = 0, AutomaticSize = Enum.AutomaticSize.XY, BackgroundColor3 = FromRGB(24, 28, 36), }) Items["Notification"]:AddToTheme({ BackgroundColor3 = "Inline" }) Instances:Create("UIPadding", { Parent = Items["Notification"].Instance, Name = "\0", PaddingTop = UDimNew(0, 7), PaddingBottom = UDimNew(0, 7), PaddingRight = UDimNew(0, 7), PaddingLeft = UDimNew(0, 7), }) Items["Text"] = Instances:Create("TextLabel", { Parent = Items["Notification"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = Name, Size = UDim2New(0, 0, 0, 15), BackgroundTransparency = 1, TextXAlignment = Enum.TextXAlignment.Left, BorderSizePixel = 0, AutomaticSize = Enum.AutomaticSize.XY, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Text"]:AddToTheme({ TextColor3 = "Text" }) Instances:Create("UIStroke", { Parent = Items["Notification"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) end local Size = Items["Notification"].Instance.AbsoluteSize for Index, Value in Items do if Value.Instance:IsA("Frame") then Value.Instance.BackgroundTransparency = 1 elseif Value.Instance:IsA("TextLabel") then Value.Instance.TextTransparency = 1 end end Items["Notification"].Instance.AutomaticSize = Enum.AutomaticSize.None Library:Thread(function() for Index, Value in Items do if Value.Instance:IsA("Frame") then Value:Tween(nil, { BackgroundTransparency = 0 }) elseif Value.Instance:IsA("TextLabel") then Value:Tween(nil, { TextTransparency = 0 }) end end Items["Notification"]:Tween(nil, { Size = UDim2New(0, Size.X, 0, Size.Y) }) task.delay(Duration + 0.1, function() for Index, Value in Items do if Value.Instance:IsA("Frame") then Value:Tween(nil, { BackgroundTransparency = 1 }) elseif Value.Instance:IsA("TextLabel") then Value:Tween(nil, { TextTransparency = 1 }) end end Items["Notification"]:Tween(nil, { Size = UDim2New(0, 0, 0, 0) }) task.wait(0.5) Items["Notification"]:Clean() end) end) end Library.TargetHud = function(self) local TargetHud = {} local Items = {} do Items["TargetHud"] = Instances:Create("Frame", { Parent = Library.Holder.Instance, Name = "\0", Size = UDim2New(0, 295, 0, 21), Position = UDim2New(0, 0, 0.8, 0), BorderColor3 = FromRGB(0, 0, 0), BorderSizePixel = 0, ZIndex = 6, AutomaticSize = Enum.AutomaticSize.Y, BackgroundColor3 = FromRGB(17, 21, 27), Visible = false, }) Items["TargetHud"]:AddToTheme({ BackgroundColor3 = "Background 1" }) Items["TargetHud"]:MakeDraggable() Instances:Create("UIStroke", { Parent = Items["TargetHud"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Items["Title"] = Instances:Create("TextLabel", { Parent = Items["TargetHud"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = "Target Hud", Size = UDim2New(0, 0, 0, 15), Position = UDim2New(0, 8, 0, 8), BackgroundTransparency = 1, ZIndex = 6, TextXAlignment = Enum.TextXAlignment.Left, BorderSizePixel = 0, AutomaticSize = Enum.AutomaticSize.X, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Title"]:AddToTheme({ TextColor3 = "Text" }) Items["Liner"] = Instances:Create("Frame", { Parent = Items["TargetHud"].Instance, Name = "\0", BorderColor3 = FromRGB(0, 0, 0), Size = UDim2New(1, 0, 0, 2), ZIndex = 6, BorderSizePixel = 0, BackgroundColor3 = FromRGB(94, 213, 213), }) Items["Liner"]:AddToTheme({ BackgroundColor3 = "Accent" }) Items["Glow"] = Instances:Create("ImageLabel", { Parent = Items["Liner"].Instance, Name = "\0", ImageColor3 = FromRGB(94, 213, 213), ScaleType = Enum.ScaleType.Slice, ImageTransparency = 0.5, BorderColor3 = FromRGB(0, 0, 0), ZIndex = 6, BackgroundColor3 = FromRGB(94, 213, 213), Size = UDim2New(1, 8, 1, 8), AnchorPoint = Vector2New(0.5, 0.5), Image = "rbxassetid://18245826428", BackgroundTransparency = 1, Position = UDim2New(0.5, 0, 0.5, 0), BorderSizePixel = 0, SliceCenter = RectNew(Vector2New(21, 21), Vector2New(79, 79)), }) Items["Glow"]:AddToTheme({ ImageColor3 = "Accent" }) Instances:Create("UIGradient", { Parent = Items["Glow"].Instance, Name = "\0", Rotation = 90, Transparency = NumSequence({ NumSequenceKeypoint(0, 0), NumSequenceKeypoint(1, 1) }), }) Items["Content"] = Instances:Create("Frame", { Parent = Items["TargetHud"].Instance, Name = "\0", BorderColor3 = FromRGB(0, 0, 0), BackgroundTransparency = 1, ZIndex = 6, Position = UDim2New(0, 8, 0, 32), Size = UDim2New(1, -16, 0, 0), BorderSizePixel = 0, AutomaticSize = Enum.AutomaticSize.Y, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIStroke", { Parent = Items["Content"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Items["Avatar"] = Instances:Create("ImageLabel", { Parent = Items["Content"].Instance, Name = "\0", BorderColor3 = FromRGB(0, 0, 0), Image = "rbxasset://textures/ui/GuiImagePlaceholder.png", BackgroundTransparency = 1, ZIndex = 6, Size = UDim2New(0, 70, 0, 70), BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Username"] = Instances:Create("TextLabel", { Parent = Items["Content"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = "-- (@--)", Size = UDim2New(1, -77, 0, 15), ZIndex = 6, BackgroundTransparency = 1, TextXAlignment = Enum.TextXAlignment.Left, Position = UDim2New(0, 77, 0, 0), BorderSizePixel = 0, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Username"]:AddToTheme({ TextColor3 = "Text" }) Instances:Create("UIPadding", { Parent = Items["TargetHud"].Instance, Name = "\0", PaddingBottom = UDimNew(0, 8), }) Instances:Create("UIPadding", { Parent = Items["Content"].Instance, Name = "\0", PaddingTop = UDimNew(0, 9), PaddingBottom = UDimNew(0, 8), PaddingRight = UDimNew(0, 9), PaddingLeft = UDimNew(0, 9), }) Items["Bars"] = Instances:Create("Frame", { Parent = Items["Content"].Instance, Name = "\0", BorderColor3 = FromRGB(0, 0, 0), AnchorPoint = Vector2New(0, 1), BackgroundTransparency = 1, Position = UDim2New(0, 77, 1, 0), Size = UDim2New(1, -77, 0, 0), BorderSizePixel = 0, ZIndex = 6, AutomaticSize = Enum.AutomaticSize.Y, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIListLayout", { Parent = Items["Bars"].Instance, Name = "\0", VerticalAlignment = Enum.VerticalAlignment.Bottom, Padding = UDimNew(0, 4), SortOrder = Enum.SortOrder.LayoutOrder, }) end function TargetHud:AddBar(Color) local NewBar = {} local NewBarBackground = Instances:Create("Frame", { Parent = Items["Bars"].Instance, Name = "\0", BorderColor3 = FromRGB(0, 0, 0), AnchorPoint = Vector2New(0, 1), ZIndex = 6, BackgroundTransparency = 1, Position = UDim2New(0, 77, 1, 0), Size = UDim2New(1, 0, 0, 12), BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIStroke", { Parent = NewBarBackground.Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) local BarAccent = Instances:Create("Frame", { Parent = NewBarBackground.Instance, Name = "\0", BorderColor3 = FromRGB(0, 0, 0), Size = UDim2New(0.8999999761581421, 0, 1, 0), ZIndex = 6, BorderSizePixel = 0, BackgroundColor3 = Color, }) Instances:Create("UIGradient", { Parent = BarAccent.Instance, Name = "\0", Rotation = 90, Color = RGBSequence({ RGBSequenceKeypoint(0, FromRGB(255, 255, 255)), RGBSequenceKeypoint(1, FromRGB(153, 153, 153)), }), }) local BarValue = Instances:Create("TextLabel", { Parent = NewBarBackground.Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), ZIndex = 6, BorderColor3 = FromRGB(0, 0, 0), Text = "90", Size = UDim2New(0, 0, 1, 0), BackgroundTransparency = 1, Position = UDim2New(0, 1, 0, -1), BorderSizePixel = 0, AutomaticSize = Enum.AutomaticSize.X, TextSize = 12, BackgroundColor3 = FromRGB(255, 255, 255), }) BarValue:AddToTheme({ TextColor3 = "Text" }) Instances:Create("UIStroke", { Parent = BarValue.Instance, Name = "\0", }) function NewBar:SetPercentage(Percentage) local RealPercentage = 1 / 100 * Percentage if BarAccent and NewBarBackground then BarAccent:Tween( TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { Size = UDim2New(RealPercentage, 0, 1, 0) } ) BarValue.Instance.Text = math.floor(Percentage) end end function NewBar:Remove() NewBarBackground:Clean() NewBar = nil end return NewBar end function TargetHud:SetPlayer(Player) if not Player then return end local okThumb, AvatarContent = pcall(function() return Players:GetUserThumbnailAsync( Player.UserId, Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size420x420 ) end) if not okThumb or type(AvatarContent) ~= "string" or AvatarContent == "" then AvatarContent = string.format("rbxthumb://type=AvatarHeadShot&id=%d&w=420&h=420", Player.UserId) end Items["Avatar"].Instance.Image = AvatarContent Items["Username"].Instance.Text = Player.DisplayName .. " (@" .. Player.Name .. ")" end function TargetHud:SetVisibility(Bool) Items["TargetHud"].Instance.Visible = Bool end function TargetHud:SetPosition(Position) Items["TargetHud"].Instance.Position = Position end return TargetHud end Library.Window = function(self, Data) Data = Data or {} if not Library.Font then CustomFont:New("VerdanaFix", 400, "Regular", { Id = "VerdanaFix", Url = "https://github.com/sametexe001/luas/raw/refs/heads/main/fonts/verdana.ttf", }) Library.Font = CustomFont:Get("VerdanaFix") end local Window = { Name = Data.Name or Data.name or "Bronx Dupe", Logo = Data.Logo or Data.logo or "121644323941494", Pages = {}, Items = {}, IsOpen = false, } local Items = {} do Items["MainFrame"] = Instances:Create("Frame", { Parent = Library.Holder.Instance, Name = "\0", AnchorPoint = Vector2New(0.5, 0.5), Position = IsMobile and UDim2New(0.5, 0, 0.5, 75) or UDim2New(0.5, 0, 0.5, 10), BorderColor3 = FromRGB(0, 34, 37), Size = not IsMobile and UDim2New(0, 621, 0, 542) or UDim2New(0, 450, 0, 480), BorderSizePixel = 2, Visible = false, BackgroundColor3 = FromRGB(17, 21, 27), }) Items["MainFrame"]:AddToTheme({ BackgroundColor3 = "Background 1" }) Items["UIScale"] = Instances:Create("UIScale", { Parent = Items["MainFrame"].Instance, Name = "\0", Scale = IsMobile and 0.65 or 1, }) Library.MainFrame = Items["MainFrame"].Instance Items["MainFrame"]:MakeDraggable() Items["MainFrame"]:MakeResizeable(Vector2New(621, 542), Vector2New(9999, 9999)) Items["UIStroke"] = Instances:Create("UIStroke", { Parent = Items["MainFrame"].Instance, Name = "\0", Color = FromRGB(94, 213, 213), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }) Items["UIStroke"]:AddToTheme({ Color = "Accent" }) Instances:Create("UIGradient", { Parent = Items["UIStroke"].Instance, Name = "\0", Rotation = 90, Transparency = NumSequence({ NumSequenceKeypoint(0, 0), NumSequenceKeypoint(0.696, 0.2749999761581421), NumSequenceKeypoint(0.84, 0.574999988079071), NumSequenceKeypoint(1, 1), }), }) Items["Inline"] = Instances:Create("Frame", { Parent = Items["MainFrame"].Instance, Name = "\0", BackgroundTransparency = 1, Position = UDim2New(0, 1, 0, 1), BorderColor3 = FromRGB(0, 34, 37), Size = UDim2New(1, -2, 1, -2), BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIStroke", { Parent = Items["Inline"].Instance, Name = "\0", Color = FromRGB(0, 34, 37), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Window Outline" }) Items["Logo"] = Instances:Create("ImageLabel", { Parent = Items["Inline"].Instance, Name = "\0", ImageColor3 = FromRGB(0, 128, 128), BorderColor3 = FromRGB(0, 0, 0), Image = string.find(tostring(Window.Logo), "rbxassetid://") and Window.Logo or "rbxassetid://" .. tostring(Window.Logo), BackgroundTransparency = 1, Position = UDim2New(0, 8, 0, 10), Size = UDim2New(0, 18, 0, 18), BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 0, 0), }) Items["Title"] = Instances:Create("TextLabel", { Parent = Items["Inline"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = Window.Name, Size = UDim2New(0, 0, 0, 15), BackgroundTransparency = 1, Position = UDim2New(0, 32, 0, 10), BorderSizePixel = 0, AutomaticSize = Enum.AutomaticSize.X, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Title"]:AddToTheme({ TextColor3 = "Text" }) Items["Content"] = Instances:Create("Frame", { Parent = Items["Inline"].Instance, Name = "\0", BorderColor3 = FromRGB(0, 0, 0), BackgroundTransparency = 1, Position = UDim2New(0, 7, 0, 39), ClipsDescendants = true, Size = UDim2New(1, -14, 1, -46), ZIndex = 2, BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIStroke", { Parent = Items["Content"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Items["Pages"] = Instances:Create("Frame", { Parent = Items["Content"].Instance, Name = "\0", BackgroundTransparency = 1, BorderColor3 = FromRGB(0, 0, 0), Size = UDim2New(1, 0, 0, 30), BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIListLayout", { Parent = Items["Pages"].Instance, Name = "\0", FillDirection = Enum.FillDirection.Horizontal, HorizontalFlex = Enum.UIFlexAlignment.Fill, Padding = UDimNew(0, 1), SortOrder = Enum.SortOrder.LayoutOrder, }) Items["Glow"] = Instances:Create("ImageLabel", { Parent = Items["MainFrame"].Instance, Name = "\0", ImageColor3 = FromRGB(94, 213, 213), ScaleType = Enum.ScaleType.Slice, ImageTransparency = 0.5, BorderColor3 = FromRGB(0, 0, 0), BackgroundColor3 = FromRGB(255, 255, 255), Size = UDim2New(1, 25, 1, 25), AnchorPoint = Vector2New(0.5, 0.5), Image = "rbxassetid://18245826428", BackgroundTransparency = 1, Position = UDim2New(0.5, 0, 0.5, 0), ZIndex = -1, BorderSizePixel = 0, SliceCenter = RectNew(Vector2New(21, 21), Vector2New(79, 79)), }) Items["Glow"]:AddToTheme({ ImageColor3 = "Accent" }) Instances:Create("UIGradient", { Parent = Items["Glow"].Instance, Name = "\0", Rotation = 90, Transparency = NumSequence({ NumSequenceKeypoint(0, 0), NumSequenceKeypoint(1, 1) }), }) Window.Items = Items end local Debounce = false function Window:SetCenter() local CenterPosition = Items["MainFrame"].Instance.AbsolutePosition task.wait() Items["MainFrame"].Instance.AnchorPoint = Vector2New(0, 0) Items["MainFrame"].Instance.Position = UDim2New(0, CenterPosition.X, 0, CenterPosition.Y) end function Window:SetOpen(Bool) for Index, Value in Library.OpenFrames do Value:SetOpen(false) end if Debounce then return end Window.IsOpen = Bool Debounce = true if Window.IsOpen then Items["MainFrame"].Instance.Visible = true end local Descendants = Items["MainFrame"].Instance:GetDescendants() TableInsert(Descendants, Items["MainFrame"].Instance) local NewTween for Index, Value in Descendants do local TransparencyProperty = Tween:GetProperty(Value) if not TransparencyProperty then continue end if type(TransparencyProperty) == "table" then for _, Property in TransparencyProperty do NewTween = Tween:FadeItem(Value, Property, Bool, Library.FadeSpeed) end else NewTween = Tween:FadeItem(Value, TransparencyProperty, Bool, Library.FadeSpeed) end end NewTween.Tween.Completed:Connect(function() Debounce = false Items["MainFrame"].Instance.Visible = Window.IsOpen end) end Library:Connect(UserInputService.InputBegan, function(Input) if tostring(Input.KeyCode) == Library.MenuKeybind or tostring(Input.UserInputType) == Library.MenuKeybind then Window:SetOpen(not Window.IsOpen) end end) Window:SetCenter() task.wait() local bootHidden = false if Library.Folders and Library.Folders.Directory then bootHidden = isfile(Library.Folders.Directory.."/silentload.txt") end if bootHidden then Library.FadeSpeed = 0 Window:SetOpen(false) Library.FadeSpeed = 0.2 else Window:SetOpen(true) end if Data.MobileButtonText then Library.HideShowButtonText = Data.MobileButtonText end return setmetatable(Window, Library) end Library.Page = function(self, Data) Data = Data or {} local Page = { Window = self, Name = Data.Name or Data.name or "Page", Columns = Data.Columns or Data.columns or 2, Items = {}, ColumnsData = {}, Active = false, } local Items = {} do Items["Inactive"] = Instances:Create("TextButton", { Parent = Page.Window.Items["Pages"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(0, 0, 0), BorderColor3 = FromRGB(0, 0, 0), Text = "", AutoButtonColor = false, BackgroundTransparency = 1, Size = UDim2New(0, 0, 1, 0), BorderSizePixel = 0, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIStroke", { Parent = Items["Inactive"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Items["Liner"] = Instances:Create("Frame", { Parent = Items["Inactive"].Instance, Name = "\0", BackgroundTransparency = 1, Size = UDim2New(0, 0, 0, 1), BorderColor3 = FromRGB(0, 0, 0), ZIndex = 2, BorderSizePixel = 0, BackgroundColor3 = FromRGB(94, 213, 213), }) Items["Liner"]:AddToTheme({ BackgroundColor3 = "Accent" }) Items["Glow"] = Instances:Create("ImageLabel", { Parent = Items["Liner"].Instance, Name = "\0", Visible = false, ImageTransparency = 0.5, AnchorPoint = Vector2New(0.5, 0.5), Image = "rbxassetid://18245826428", ZIndex = 2, BorderSizePixel = 0, SliceCenter = RectNew(Vector2New(21, 21), Vector2New(79, 79)), ScaleType = Enum.ScaleType.Slice, BorderColor3 = FromRGB(0, 0, 0), BackgroundTransparency = 1, Position = UDim2New(0.5, 0, 0.5, 0), ImageColor3 = FromRGB(94, 213, 213), Size = UDim2New(1, 8, 1, 8), BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Glow"]:AddToTheme({ ImageColor3 = "Accent" }) Instances:Create("UIGradient", { Parent = Items["Glow"].Instance, Name = "\0", Rotation = 90, Transparency = NumSequence({ NumSequenceKeypoint(0, 0), NumSequenceKeypoint(1, 1) }), }) Items["Text"] = Instances:Create("TextLabel", { Parent = Items["Inactive"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), TextTransparency = 0.4000000059604645, Text = Page.Name, AutomaticSize = Enum.AutomaticSize.X, Size = UDim2New(0, 0, 0, 15), AnchorPoint = Vector2New(0.5, 0.5), BorderSizePixel = 0, BackgroundTransparency = 1, Position = UDim2New(0.5, 0, 0.5, 0), BorderColor3 = FromRGB(0, 0, 0), ZIndex = 5, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Text"]:AddToTheme({ TextColor3 = "Text" }) Items["TextGlow"] = Instances:Create("ImageLabel", { Parent = Items["Text"].Instance, Name = "\0", ScaleType = Enum.ScaleType.Slice, ImageTransparency = 1, BorderColor3 = FromRGB(0, 0, 0), BackgroundColor3 = FromRGB(255, 255, 255), Size = UDim2New(1, 8, 1, 8), AnchorPoint = Vector2New(0.5, 0.5), Image = "rbxassetid://18245826428", BackgroundTransparency = 1, Position = UDim2New(0.5, 0, 0.5, 3), ZIndex = 2, BorderSizePixel = 0, SliceCenter = RectNew(Vector2New(21, 21), Vector2New(79, 79)), }) Items["TextGlow"]:AddToTheme({ ImageColor3 = "Text" }) Instances:Create("UIGradient", { Parent = Items["TextGlow"].Instance, Name = "\0", Rotation = 90, Transparency = NumSequence({ NumSequenceKeypoint(0, 0), NumSequenceKeypoint(1, 1) }), }) Items["Hide"] = Instances:Create("Frame", { Parent = Items["Inactive"].Instance, Name = "\0", BorderColor3 = FromRGB(0, 0, 0), AnchorPoint = Vector2New(0, 1), BackgroundTransparency = 1, Position = UDim2New(0, 0, 1, 1), Size = UDim2New(1, 0, 0, 2), BorderSizePixel = 0, BackgroundColor3 = FromRGB(17, 21, 27), }) Items["Hide"]:AddToTheme({ BackgroundColor3 = "Background 1" }) Items["Page"] = Instances:Create("Frame", { Parent = Library.UnusedHolder.Instance, Name = "\0", BackgroundTransparency = 1, Position = UDim2New(0, 0, 0, 80), BorderColor3 = FromRGB(0, 0, 0), Visible = false, Size = UDim2New(1, 0, 1, -35), BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIListLayout", { Parent = Items["Page"].Instance, Name = "\0", FillDirection = Enum.FillDirection.Horizontal, HorizontalFlex = Enum.UIFlexAlignment.Fill, SortOrder = Enum.SortOrder.LayoutOrder, VerticalFlex = Enum.UIFlexAlignment.Fill, }) for Index = 1, Page.Columns do local NewColumn = Instances:Create("ScrollingFrame", { Parent = Items["Page"].Instance, Name = "\0", ScrollBarImageColor3 = FromRGB(0, 0, 0), Active = true, AutomaticCanvasSize = Enum.AutomaticSize.Y, BorderColor3 = FromRGB(0, 0, 0), ScrollBarThickness = 0, BackgroundTransparency = 1, Size = UDim2New(0, 100, 0, 100), CanvasSize = UDim2New(0, 0, 0, 0), BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIPadding", { Parent = NewColumn.Instance, Name = "\0", PaddingTop = UDimNew(0, 5), PaddingBottom = UDimNew(0, 8), PaddingRight = UDimNew(0, 8), PaddingLeft = UDimNew(0, 8), }) Instances:Create("UIListLayout", { Parent = NewColumn.Instance, Name = "\0", Padding = UDimNew(0, 12), SortOrder = Enum.SortOrder.LayoutOrder, }) Page.ColumnsData[Index] = NewColumn end Page.Items = Items end local Debounce = false function Page:Turn(Bool) if Debounce then return end Page.Active = Bool Debounce = true Items["Page"].Instance.Visible = Bool Items["Page"].Instance.Parent = Bool and Page.Window.Items["Content"].Instance or Library.UnusedHolder.Instance if Page.Active then Items["Liner"]:Tween( TweenInfo.new(0.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), { BackgroundTransparency = 0, Size = UDim2New(1, 0, 0, 1) } ) Items["TextGlow"]:Tween(nil, { ImageTransparency = 0.7 }) Items["Text"]:Tween(nil, { TextTransparency = 0 }) Items["Hide"]:Tween(nil, { BackgroundTransparency = 0 }) Items["Page"]:Tween( TweenInfo.new(0.6, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), { Position = UDim2New(0, 0, 0, 35) } ) else Items["Liner"]:Tween( TweenInfo.new(0.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), { BackgroundTransparency = 0, Size = UDim2New(0, 0, 0, 1) } ) Items["TextGlow"]:Tween(nil, { ImageTransparency = 1 }) Items["Text"]:Tween(nil, { TextTransparency = 0.4 }) Items["Hide"]:Tween(nil, { BackgroundTransparency = 1 }) Items["Page"]:Tween( TweenInfo.new(0.6, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), { Position = UDim2New(0, 0, 0, 80) } ) end Debounce = false end Items["Inactive"]:Connect("MouseButton1Down", function() for Index, Value in Page.Window.Pages do if Value == Page and Page.Active then return end Value:Turn(Value == Page) end end) if #Page.Window.Pages == 0 then Page:Turn(true) end TableInsert(Page.Window.Pages, Page) return setmetatable(Page, Library.Pages) end Library.Pages.Section = function(self, Data) Data = Data or {} local Section = { Window = self.Window, Page = self, Name = Data.Name or Data.name or "Section", Side = Data.Side or Data.side or 1, Items = {}, } local Items = {} do Items["Section"] = Instances:Create("Frame", { Parent = Section.Page.ColumnsData[Section.Side].Instance, Name = "\0", Size = UDim2New(1, 0, 0, 40), BorderColor3 = FromRGB(0, 0, 0), BorderSizePixel = 0, AutomaticSize = Enum.AutomaticSize.Y, BackgroundColor3 = FromRGB(19, 25, 31), }) Items["Section"]:AddToTheme({ BackgroundColor3 = "Inline" }) Instances:Create("UIStroke", { Parent = Items["Section"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Instances:Create("UIPadding", { Parent = Items["Section"].Instance, Name = "\0", PaddingBottom = UDimNew(0, 8), }) Items["Topbar"] = Instances:Create("Frame", { Parent = Items["Section"].Instance, Name = "\0", BorderColor3 = FromRGB(0, 0, 0), Size = UDim2New(1, 0, 0, 25), BorderSizePixel = 0, BackgroundColor3 = FromRGB(19, 25, 31), }) Items["Topbar"]:AddToTheme({ BackgroundColor3 = "Inline" }) Instances:Create("UIGradient", { Parent = Items["Topbar"].Instance, Name = "\0", Rotation = 90, Color = RGBSequence({ RGBSequenceKeypoint(0, FromRGB(255, 255, 255)), RGBSequenceKeypoint(1, FromRGB(165, 165, 165)), }), }) Instances:Create("UIStroke", { Parent = Items["Topbar"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Items["Liner"] = Instances:Create("Frame", { Parent = Items["Topbar"].Instance, Name = "\0", BorderColor3 = FromRGB(0, 0, 0), Size = UDim2New(0, 1, 1, 0), BorderSizePixel = 0, BackgroundColor3 = FromRGB(94, 213, 213), }) Items["Liner"]:AddToTheme({ BackgroundColor3 = "Accent" }) Instances:Create("UIGradient", { Parent = Items["Liner"].Instance, Name = "\0", Rotation = 90, Color = RGBSequence({ RGBSequenceKeypoint(0, FromRGB(255, 255, 255)), RGBSequenceKeypoint(1, FromRGB(171, 171, 171)), }), }) Items["Text"] = Instances:Create("TextLabel", { Parent = Items["Topbar"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = Section.Name, AnchorPoint = Vector2New(0, 0.5), Size = UDim2New(0, 0, 0, 15), BackgroundTransparency = 1, Position = UDim2New(0, 8, 0.5, -1), BorderSizePixel = 0, AutomaticSize = Enum.AutomaticSize.X, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Text"]:AddToTheme({ TextColor3 = "Text" }) Items["Content"] = Instances:Create("Frame", { Parent = Items["Section"].Instance, Name = "\0", BorderColor3 = FromRGB(0, 0, 0), BackgroundTransparency = 1, Position = UDim2New(0, 8, 0, 35), Size = UDim2New(1, -16, 0, 0), BorderSizePixel = 0, AutomaticSize = Enum.AutomaticSize.Y, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIListLayout", { Parent = Items["Content"].Instance, Name = "\0", Padding = UDimNew(0, 6), SortOrder = Enum.SortOrder.LayoutOrder, }) Section.Items = Items end return setmetatable(Section, Library.Sections) end Library.Sections.Toggle = function(self, Data) Data = Data or {} local Toggle = { Window = self.Window, Page = self.Page, Section = self, Name = Data.Name or Data.name or "Toggle", Flag = Data.Flag or Data.flag or Library:NextFlag(), Default = Data.Default or Data.default or false, Callback = Data.Callback or Data.callback or function() end, Value = false, } local Items = {} do Items["Toggle"] = Instances:Create("TextButton", { Parent = Toggle.Section.Items["Content"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(0, 0, 0), BorderColor3 = FromRGB(0, 0, 0), Text = "", AutoButtonColor = false, BackgroundTransparency = 1, Size = UDim2New(1, 0, 0, 15), BorderSizePixel = 0, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["IndicatorOutline"] = Instances:Create("Frame", { Parent = Items["Toggle"].Instance, Name = "\0", AnchorPoint = Vector2New(0, 0.5), Position = UDim2New(0, 0, 0.5, 0), BorderColor3 = FromRGB(0, 0, 0), Size = UDim2New(0, 12, 0, 12), BorderSizePixel = 0, BackgroundColor3 = FromRGB(32, 38, 48), }) Items["IndicatorOutline"]:AddToTheme({ BackgroundColor3 = "Element" }) Instances:Create("UIStroke", { Parent = Items["IndicatorOutline"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Items["IndicatorInline"] = Instances:Create("Frame", { Parent = Items["IndicatorOutline"].Instance, Name = "\0", AnchorPoint = Vector2New(0.5, 0.5), BackgroundTransparency = 1, Position = UDim2New(0.5, 0, 0.5, 0), BorderColor3 = FromRGB(0, 0, 0), Size = UDim2New(0, -2, 0, 0), BorderSizePixel = 0, BackgroundColor3 = FromRGB(94, 213, 213), }) Items["IndicatorInline"]:AddToTheme({ BackgroundColor3 = "Accent" }) Items["Text"] = Instances:Create("TextLabel", { Parent = Items["Toggle"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), TextTransparency = 0.4000000059604645, Text = Toggle.Name, Size = UDim2New(0, 0, 0, 15), AnchorPoint = Vector2New(0, 0.5), BorderSizePixel = 0, BackgroundTransparency = 1, Position = UDim2New(0, 20, 0.5, 0), BorderColor3 = FromRGB(0, 0, 0), AutomaticSize = Enum.AutomaticSize.X, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Text"]:AddToTheme({ TextColor3 = "Text" }) Items["SubElements"] = Instances:Create("Frame", { Parent = Items["Toggle"].Instance, Name = "\0", BorderColor3 = FromRGB(0, 0, 0), AnchorPoint = Vector2New(1, 0), BorderSizePixel = 0, BackgroundTransparency = 1, Position = UDim2New(1, 0, 0, 0), Size = UDim2New(0, 0, 1, 0), ZIndex = 2, AutomaticSize = Enum.AutomaticSize.X, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIListLayout", { Parent = Items["SubElements"].Instance, Name = "\0", VerticalAlignment = Enum.VerticalAlignment.Center, FillDirection = Enum.FillDirection.Horizontal, HorizontalAlignment = Enum.HorizontalAlignment.Right, Padding = UDimNew(0, 8), SortOrder = Enum.SortOrder.LayoutOrder, }) Items["Toggle"]:OnHover(function() -- if Toggle.Value then return end Items["IndicatorOutline"]:Tween( nil, { BackgroundColor3 = Library:GetLighterColor(Library.Theme.Element, 1.35) } ) end) Items["Toggle"]:OnHoverLeave(function() -- if Toggle.Value then return end Items["IndicatorOutline"]:Tween(nil, { BackgroundColor3 = Library.Theme.Element }) end) end function Toggle:Get() return Toggle.Value end function Toggle:Set(Value) Toggle.Value = Value Library.Flags[Toggle.Flag] = Value if Toggle.Value then Items["IndicatorInline"]:Tween( TweenInfo.new(0.35, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { BackgroundTransparency = 0, Size = UDim2New(1, -2, 1, -2) } ) else Items["IndicatorInline"]:Tween( TweenInfo.new(0.35, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { BackgroundTransparency = 1, Size = UDim2New(0, -2, 0, -2) } ) end if Toggle.Callback then Library:SafeCall(Toggle.Callback, Toggle.Value) end end function Toggle:Colorpicker(Data) Data = Data or {} local Colorpicker = { Window = Toggle.Window, Page = Toggle.Page, Section = Toggle.Section, Flag = Data.Flag or Data.flag or Library:NextFlag(), Default = Data.Default or Data.default or Color3.fromRGB(255, 255, 255), Alpha = Data.Alpha or Data.alpha or 0, Callback = Data.Callback or Data.callback or function() end, } local NewColorpicker, ColorpickerItems = Library:CreateColorpicker({ Parent = Items["SubElements"], Page = Colorpicker.Page, Flag = Colorpicker.Flag, Section = Colorpicker.Section, Default = Colorpicker.Default, Alpha = Colorpicker.Alpha, Callback = Colorpicker.Callback, }) return NewColorpicker end function Toggle:Keybind(Data) Data = Data or {} local Keybind = { Window = Toggle.Window, Page = Toggle.Page, Section = Toggle.Section, Name = Data.Name or Data.name or "Keybind", Flag = Data.Flag or Data.flag or Library:NextFlag(), Default = Data.Default or Data.default or Enum.KeyCode.RightShift, Callback = Data.Callback or Data.callback or function() end, Mode = Data.Mode or Data.mode or "Toggle", } local NewKeybind, Items = Library:CreateKeybind({ Name = Toggle.Name, Parent = Items["SubElements"], Flag = Keybind.Flag, Section = Keybind.Section, Default = Keybind.Default, Mode = Keybind.Mode, Callback = function(State) Toggle:Set(State) if Keybind.Callback then Keybind.Callback(State) end end, }) local OldToggleSet = Toggle.Set Toggle.Set = function(self, Value) OldToggleSet(self, Value) NewKeybind.Toggled = Value if Library.Flags[NewKeybind.Flag] then Library.Flags[NewKeybind.Flag].Toggled = Value end end return NewKeybind end function Toggle:SetVisibility(Bool) Items["Toggle"].Instance.Visible = Bool end Items["Toggle"]:Connect("MouseButton1Down", function() Toggle:Set(not Toggle.Value) end) Toggle:Set(Toggle.Default) Library.SetFlags[Toggle.Flag] = function(Value) Toggle:Set(Value) end return Toggle end Library.Sections.Button = function(self, Data) Data = Data or {} local Button = { Window = self.Window, Page = self.Page, Section = self, Name = Data.Name or Data.name or "Button", Callback = Data.Callback or Data.callback or function() end, } local Items = {} do Items["Button"] = Instances:Create("TextButton", { Parent = Button.Section.Items["Content"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = Button.Name, AutoButtonColor = false, Size = UDim2New(1, 0, 0, 20), BorderSizePixel = 0, TextSize = 14, BackgroundColor3 = FromRGB(32, 38, 48), }) Items["Button"]:AddToTheme({ BackgroundColor3 = "Element" }) Instances:Create("UIGradient", { Parent = Items["Button"].Instance, Name = "\0", Rotation = 90, Color = RGBSequence({ RGBSequenceKeypoint(0, FromRGB(255, 255, 255)), RGBSequenceKeypoint(1, FromRGB(199, 199, 199)), }), }) Items["Button"]:OnHover(function() Items["Button"]:Tween( nil, { BackgroundColor3 = Library:GetLighterColor(Library.Theme.Element, 1.35) } ) end) Items["Button"]:OnHoverLeave(function() Items["Button"]:Tween(nil, { BackgroundColor3 = Library.Theme.Element }) end) end function Button:SetVisibility(Bool) Items["Button"].Instance.Visible = Bool end function Button:Press() Items["Button"]:ChangeItemTheme({ BackgroundColor3 = "Accent" }) Items["Button"]:Tween(nil, { BackgroundColor3 = Library.Theme.Accent }) Library:SafeCall(Button.Callback) task.wait(0.1) if not Library then return end Items["Button"]:ChangeItemTheme({ BackgroundColor3 = "Element" }) Items["Button"]:Tween(nil, { BackgroundColor3 = Library.Theme.Element }) end Items["Button"]:Connect("MouseButton1Down", function() Button:Press() end) return Button end Library.Sections.Slider = function(self, Data) Data = Data or {} local Slider = { Window = self.Window, Page = self.Page, Section = self, Name = Data.Name or Data.name or "Slider", Flag = Data.Flag or Data.flag or Library:NextFlag(), Min = Data.Min or Data.min or 0, Decimals = Data.Decimals or Data.decimals or 1, Suffix = Data.Suffix or Data.suffix or "", Max = Data.Max or Data.max or 100, Default = Data.Default or Data.Default or 0, Callback = Data.Callback or Data.callback or function() end, Value = 0, Sliding = false, } local Items = {} do Items["Slider"] = Instances:Create("Frame", { Parent = Slider.Section.Items["Content"].Instance, Name = "\0", BackgroundTransparency = 1, BorderColor3 = FromRGB(0, 0, 0), Size = UDim2New(1, 0, 0, 35), BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Text"] = Instances:Create("TextLabel", { Parent = Items["Slider"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = Slider.Name, BackgroundTransparency = 1, Size = UDim2New(0, 0, 0, 15), BorderSizePixel = 0, AutomaticSize = Enum.AutomaticSize.X, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Text"]:AddToTheme({ TextColor3 = "Text" }) Items["RealSlider"] = Instances:Create("TextButton", { Parent = Items["Slider"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(0, 0, 0), BorderColor3 = FromRGB(0, 0, 0), Text = "", AutoButtonColor = false, AnchorPoint = Vector2New(0, 1), Position = UDim2New(0, 0, 1, 0), Size = UDim2New(1, 0, 0, 12), BorderSizePixel = 0, TextSize = 14, BackgroundColor3 = FromRGB(32, 38, 48), }) Items["RealSlider"]:AddToTheme({ BackgroundColor3 = "Element" }) Instances:Create("UIStroke", { Parent = Items["RealSlider"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Items["Accent"] = Instances:Create("Frame", { Parent = Items["RealSlider"].Instance, Name = "\0", Position = UDim2New(0, 1, 0, 1), BorderColor3 = FromRGB(0, 0, 0), Size = UDim2New(0.5, 0, 1, -2), BorderSizePixel = 0, BackgroundColor3 = FromRGB(94, 213, 213), }) Items["Accent"]:AddToTheme({ BackgroundColor3 = "Accent" }) Items["Value"] = Instances:Create("TextBox", { Parent = Items["Slider"].Instance, Name = "\0", FontFace = Library.Font, Active = false, TextTransparency = 0.5, AnchorPoint = Vector2New(1, 0), TextSize = 14, Size = UDim2New(0, 0, 0, 15), TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = "50s", Selectable = false, BackgroundTransparency = 1, Position = UDim2New(1, 0, 0, 0), BorderSizePixel = 0, ClearTextOnFocus = false, AutomaticSize = Enum.AutomaticSize.X, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Value"]:AddToTheme({ TextColor3 = "Text" }) Items["RealSlider"]:OnHover(function() Items["RealSlider"]:Tween( nil, { BackgroundColor3 = Library:GetLighterColor(Library.Theme.Element, 1.35) } ) end) Items["RealSlider"]:OnHoverLeave(function() Items["RealSlider"]:Tween(nil, { BackgroundColor3 = Library.Theme.Element }) end) end function Slider:Get() return Slider.Value end function Slider:Set(Value) Slider.Value = MathClamp(Library:Round(Value, Slider.Decimals), Slider.Min, Slider.Max) Library.Flags[Slider.Flag] = Slider.Value Items["Accent"]:Tween( TweenInfo.new(Library.Tween.Time, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Size = UDim2New((Slider.Value - Slider.Min) / (Slider.Max - Slider.Min), -2, 1, -2) } ) Items["Value"].Instance.Text = StringFormat("%s%s", Slider.Value, Slider.Suffix) if Slider.Value <= Slider.Min then Items["Accent"].Instance.Visible = false else Items["Accent"].Instance.Visible = true end if Slider.Callback then Library:SafeCall(Slider.Callback, Slider.Value) end end local InputChanged Items["RealSlider"]:Connect("InputBegan", function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then Slider.Sliding = true local SizeX = (Input.Position.X - Items["RealSlider"].Instance.AbsolutePosition.X) / Items["RealSlider"].Instance.AbsoluteSize.X local Value = ((Slider.Max - Slider.Min) * SizeX) + Slider.Min Slider:Set(Value) if InputChanged then return end InputChanged = Input.Changed:Connect(function() if Input.UserInputState == Enum.UserInputState.End then Slider.Sliding = false if InputChanged then InputChanged:Disconnect() InputChanged = nil end end end) end end) Library:Connect(UserInputService.InputChanged, function(Input) if Input.UserInputType == Enum.UserInputType.MouseMovement or Input.UserInputType == Enum.UserInputType.Touch then if Slider.Sliding then local SizeX = (Input.Position.X - Items["RealSlider"].Instance.AbsolutePosition.X) / Items["RealSlider"].Instance.AbsoluteSize.X local Value = ((Slider.Max - Slider.Min) * SizeX) + Slider.Min Slider:Set(Value) end end end) if Slider.Default then Slider:Set(Slider.Default) end Library.SetFlags[Slider.Flag] = function(Value) Slider:Set(Value) end return Slider end Library.Sections.Dropdown = function(self, Data) Data = Data or {} local Dropdown = { Window = self.Window, Page = self.Page, Section = self, Name = Data.Name or Data.name or "Dropdown", Flag = Data.Flag or Data.flag or Library:NextFlag(), Items = Data.Items or Data.items or Data.Options or Data.options or { "One", "Two", "Three" }, Default = Data.Default or Data.default or nil, MaxSize = Data.MaxSize or Data.maxsize or 75, Callback = Data.Callback or Data.callback or function() end, Multi = Data.Multi or Data.multi or false, Options = {}, Value = {}, IsOpen = false, } local Items = {} do Items["Dropdown"] = Instances:Create("Frame", { Parent = Dropdown.Section.Items["Content"].Instance, Name = "\0", BackgroundTransparency = 1, Size = UDim2New(1, 0, 0, 45), BorderColor3 = FromRGB(0, 0, 0), ZIndex = 2, BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Text"] = Instances:Create("TextLabel", { Parent = Items["Dropdown"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = Dropdown.Name, BackgroundTransparency = 1, Size = UDim2New(0, 0, 0, 15), BorderSizePixel = 0, AutomaticSize = Enum.AutomaticSize.X, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Text"]:AddToTheme({ TextColor3 = "Text" }) Items["RealDropdown"] = Instances:Create("TextButton", { Parent = Items["Dropdown"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(0, 0, 0), BorderColor3 = FromRGB(0, 0, 0), Text = "", AutoButtonColor = false, AnchorPoint = Vector2New(0, 1), Position = UDim2New(0, 0, 1, 0), Size = UDim2New(1, 0, 0, 20), BorderSizePixel = 0, TextSize = 14, BackgroundColor3 = FromRGB(32, 38, 48), }) Items["RealDropdown"]:AddToTheme({ BackgroundColor3 = "Element" }) Instances:Create("UIStroke", { Parent = Items["RealDropdown"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Items["Value"] = Instances:Create("TextLabel", { Parent = Items["RealDropdown"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = "-", AnchorPoint = Vector2New(0, 0.5), Size = UDim2New(1, -16, 0, 15), BackgroundTransparency = 1, TextXAlignment = Enum.TextXAlignment.Left, Position = UDim2New(0, 4, 0.5, 0), BorderSizePixel = 0, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Value"]:AddToTheme({ TextColor3 = "Text" }) Items["OptionHolder"] = Instances:Create("TextButton", { Parent = Library.Holder.Instance, Name = "\0", FontFace = Library.Font, Visible = false, TextColor3 = FromRGB(0, 0, 0), BorderColor3 = FromRGB(0, 0, 0), Text = "", AutoButtonColor = false, Position = UDim2New(0, 0, 1, 0), Size = UDim2New(1, 0, 0, 130), BorderSizePixel = 0, TextSize = 14, BackgroundColor3 = FromRGB(32, 38, 48), }) Items["OptionHolder"]:AddToTheme({ BackgroundColor3 = "Element" }) Instances:Create("UIStroke", { Parent = Items["OptionHolder"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Items["Search"] = Instances:Create("TextBox", { Parent = Items["OptionHolder"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), TextTransparency = 0.5, Text = "", Size = UDim2New(1, -8, 0, 15), Position = UDim2New(0, 4, 0, 4), BorderSizePixel = 0, BorderColor3 = FromRGB(0, 0, 0), BackgroundTransparency = 1, PlaceholderColor3 = FromRGB(255, 255, 255), TextXAlignment = Enum.TextXAlignment.Left, PlaceholderText = "Search..", TextSize = 12, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Search"]:AddToTheme({ TextColor3 = "Text" }) Items["Holder"] = Instances:Create("ScrollingFrame", { Parent = Items["OptionHolder"].Instance, Name = "\0", Active = true, AutomaticCanvasSize = Enum.AutomaticSize.Y, BorderSizePixel = 0, CanvasSize = UDim2New(0, 0, 0, 0), ScrollBarImageColor3 = FromRGB(46, 52, 61), MidImage = "rbxassetid://93024691806056", BorderColor3 = FromRGB(0, 0, 0), ScrollBarThickness = 4, Size = UDim2New(1, -4, 1, -26), BackgroundTransparency = 1, Position = UDim2New(0, 0, 0, 22), BottomImage = "rbxassetid://93024691806056", TopImage = "rbxassetid://93024691806056", BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Holder"]:AddToTheme({ ScrollBarImageColor3 = "Border" }) Instances:Create("UIPadding", { Parent = Items["Holder"].Instance, Name = "\0", PaddingTop = UDimNew(0, 6), PaddingBottom = UDimNew(0, 6), PaddingRight = UDimNew(0, 10), PaddingLeft = UDimNew(0, 6), }) Instances:Create("UIListLayout", { Parent = Items["Holder"].Instance, Name = "\0", Padding = UDimNew(0, 6), SortOrder = Enum.SortOrder.LayoutOrder, }) Items["RealDropdown"]:OnHover(function() Items["RealDropdown"]:Tween( nil, { BackgroundColor3 = Library:GetLighterColor(Library.Theme.Element, 1.35) } ) end) Items["RealDropdown"]:OnHoverLeave(function() Items["RealDropdown"]:Tween(nil, { BackgroundColor3 = Library.Theme.Element }) end) end function Dropdown:Get() return Dropdown.Value end function Dropdown:Set(Option) if Data.Multi then if type(Option) ~= "table" then return end Dropdown.Value = Option Library.Flags[Dropdown.Flag] = Option for Index, Value in Option do local OptionData = Dropdown.Options[Value] if not OptionData then continue end OptionData.Selected = true OptionData:Toggle("Active") end Items["Value"].Instance.Text = TableConcat(Option, ", ") else if not Dropdown.Options[Option] then return end local OptionData = Dropdown.Options[Option] Dropdown.Value = Option Library.Flags[Dropdown.Flag] = Option for Index, Value in Dropdown.Options do if Value ~= OptionData then Value.Selected = false Value:Toggle("Inactive") else Value.Selected = true Value:Toggle("Active") end end Items["Value"].Instance.Text = Option end if Dropdown.Callback then Library:SafeCall(Dropdown.Callback, Dropdown.Value) end end local CompareVectors = function(PointA, PointB) return (PointA.X < PointB.X) or (PointA.Y < PointB.Y) end local IsClipped = function(Object, Column) local Parent = Column local BoundryTop = Parent.AbsolutePosition local BoundryBottom = BoundryTop + Parent.AbsoluteSize local Top = Object.AbsolutePosition local Bottom = Top + Object.AbsoluteSize return CompareVectors(Top, BoundryTop) or CompareVectors(BoundryBottom, Bottom) end Items["RealDropdown"]:Connect("Changed", function(Property) if Property == "AbsolutePosition" and Dropdown.IsOpen then Dropdown.IsOpen = not IsClipped(Items["OptionHolder"].Instance, Dropdown.Section.Items["Section"].Instance.Parent) Items["OptionHolder"].Instance.Visible = Dropdown.IsOpen end end) local Debounce = false local RenderStepped function Dropdown:SetOpen(Bool) if Debounce then return end Dropdown.IsOpen = Bool Debounce = true if Bool then Items["OptionHolder"].Instance.Visible = true Items["OptionHolder"].Instance.Parent = Library.Holder.Instance RenderStepped = Library:Connect(RunService.RenderStepped, function() Items["OptionHolder"].Instance.Position = UDim2New( 0, Items["RealDropdown"].Instance.AbsolutePosition.X, 0, Items["RealDropdown"].Instance.AbsolutePosition.Y + Items["RealDropdown"].Instance.AbsoluteSize.Y + 65 ) Items["OptionHolder"].Instance.Size = UDim2New(0, Items["RealDropdown"].Instance.AbsoluteSize.X, 0, Dropdown.MaxSize) end) for Index, Value in Library.OpenFrames do if Value ~= Dropdown then Value:SetOpen(false) end end Library.OpenFrames[Dropdown] = Dropdown else if RenderStepped then Library:Disconnect(RenderStepped.Name) RenderStepped = nil end if Library.OpenFrames[Dropdown] then Library.OpenFrames[Dropdown] = nil end end local AllInstances = Items["OptionHolder"].Instance:GetDescendants() TableInsert(AllInstances, Items["OptionHolder"].Instance) local NewTween for Index, Value in AllInstances do local TransparencyProperty = Tween:GetProperty(Value) if not TransparencyProperty then continue end if not Value.ClassName:find("UI") then Value.ZIndex = Dropdown.IsOpen and 10 or 1 end if type(TransparencyProperty) == "table" then for _, Property in TransparencyProperty do NewTween = Tween:FadeItem(Value, Property, Bool, 0.2) end else NewTween = Tween:FadeItem(Value, TransparencyProperty, Bool, 0.2) end end Library:Connect(NewTween.Tween.Completed, function() Debounce = false Items["OptionHolder"].Instance.Visible = Dropdown.IsOpen task.wait(0.2) Items["OptionHolder"].Instance.Parent = not Dropdown.IsOpen and Library.UnusedHolder.Instance or Library.Holder.Instance end) end function Dropdown:Add(Option) local OptionButton = Instances:Create("TextButton", { Parent = Items["Holder"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(0, 0, 0), BorderColor3 = FromRGB(0, 0, 0), Text = "", AutoButtonColor = false, BackgroundTransparency = 1, Size = UDim2New(1, 0, 0, 20), BorderSizePixel = 0, TextSize = 14, BackgroundColor3 = FromRGB(32, 38, 48), }) OptionButton:AddToTheme({ BackgroundColor3 = "Element" }) Instances:Create("UIGradient", { Parent = OptionButton.Instance, Name = "\0", Rotation = -90, Color = RGBSequence({ RGBSequenceKeypoint(0, FromRGB(255, 255, 255)), RGBSequenceKeypoint(1, FromRGB(200, 200, 200)), }), }) local OptionStroke = Instances:Create("UIStroke", { Parent = OptionButton.Instance, Name = "\0", ApplyStrokeMode = Enum.ApplyStrokeMode.Border, Transparency = 1, Color = FromRGB(46, 52, 61), LineJoinMode = Enum.LineJoinMode.Miter, }) OptionStroke:AddToTheme({ Color = "Border" }) local OptionLiner = Instances:Create("Frame", { Parent = OptionButton.Instance, Name = "\0", BackgroundTransparency = 1, BorderColor3 = FromRGB(0, 0, 0), Size = UDim2New(0, 1, 1, 0), BorderSizePixel = 0, BackgroundColor3 = FromRGB(94, 213, 213), }) OptionLiner:AddToTheme({ BackgroundColor3 = "Accent" }) local OptionText = Instances:Create("TextLabel", { Parent = OptionButton.Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), TextTransparency = 0.4000000059604645, Text = Option, Size = UDim2New(0, 0, 0, 15), AnchorPoint = Vector2New(0, 0.5), BorderSizePixel = 0, BackgroundTransparency = 1, Position = UDim2New(0, 10, 0.5, 0), BorderColor3 = FromRGB(0, 0, 0), AutomaticSize = Enum.AutomaticSize.X, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) OptionText:AddToTheme({ TextColor3 = "Text" }) local OptionData = { Button = OptionButton, Selected = false, Name = Option, Text = OptionText, Liner = OptionLiner, Stroke = OptionStroke, } function OptionData:Toggle(Status) if Status == "Active" then OptionData.Liner:Tween(nil, { BackgroundTransparency = 0, Size = UDim2New(0, 1, 1, 0) }) OptionData.Text:Tween(nil, { TextTransparency = 0 }) OptionData.Button:Tween(nil, { BackgroundTransparency = 0 }) OptionData.Stroke:Tween(nil, { Transparency = 0 }) else OptionData.Liner:Tween(nil, { BackgroundTransparency = 1 }) OptionData.Text:Tween(nil, { TextTransparency = 0.4 }) OptionData.Button:Tween(nil, { BackgroundTransparency = 1 }) OptionData.Stroke:Tween(nil, { Transparency = 1 }) end end function OptionData:Set() OptionData.Selected = not OptionData.Selected if Data.Multi then local Index = TableFind(Dropdown.Value, OptionData.Name) if Index then TableRemove(Dropdown.Value, Index) else TableInsert(Dropdown.Value, OptionData.Name) end OptionData:Toggle(Index and "Inactive" or "Active") Library.Flags[Dropdown.Flag] = Dropdown.Value local TextFormat = #Dropdown.Value > 0 and TableConcat(Dropdown.Value, ", ") or "--" Items["Value"].Instance.Text = TextFormat else if OptionData.Selected then Dropdown.Value = OptionData.Name Library.Flags[Dropdown.Flag] = OptionData.Name OptionData.Selected = true OptionData:Toggle("Active") for Index, Value in Dropdown.Options do if Value ~= OptionData then Value.Selected = false Value:Toggle("Inactive") end end Items["Value"].Instance.Text = OptionData.Name else Dropdown.Value = nil Library.Flags[Dropdown.Flag] = nil OptionData.Selected = false OptionData:Toggle("Inactive") Items["Value"].Instance.Text = "-" end end if Dropdown.Callback then Library:SafeCall(Dropdown.Callback, Dropdown.Value) end end OptionData.Button:Connect("MouseButton1Down", function() OptionData:Set() end) Dropdown.Options[OptionData.Name] = OptionData return OptionData end function Dropdown:Remove(Option) local OptionData = Dropdown.Options[Option] if OptionData then OptionData.Button:Clean() Dropdown.Options[Option] = nil end end function Dropdown:Refresh(List) for Index, Value in Dropdown.Options do Dropdown:Remove(Value.Name) end for Index, Value in List do Dropdown:Add(Value) end end for Index, Value in Dropdown.Items do Dropdown:Add(Value) end Items["RealDropdown"]:Connect("MouseButton1Down", function() Dropdown:SetOpen(not Dropdown.IsOpen) end) Library:Connect(UserInputService.InputBegan, function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then if not Dropdown.IsOpen then return end if Library:IsMouseOverFrame(Items["OptionHolder"]) then return end Dropdown:SetOpen(false) end end) local SearchStepped Items["Search"]:Connect("Focused", function() SearchStepped = Library:Connect(RunService.RenderStepped, function() for Index, Value in Dropdown.Options do if Items["Search"].Instance.Text ~= "" then if StringFind( StringLower(Value.Name), Library:EscapePattern(StringLower(Items["Search"].Instance.Text)) ) then Value.Button.Instance.Visible = true else Value.Button.Instance.Visible = false end else Value.Button.Instance.Visible = true end end end) end) Items["Search"]:Connect("FocusLost", function() if SearchStepped then Library:Disconnect(SearchStepped.Name) SearchStepped = nil end end) Library.SetFlags[Dropdown.Flag] = function(Value) Dropdown:Set(Value) end if Dropdown.Default then Dropdown:Set(Dropdown.Default) end return Dropdown end Library.Sections.Listbox = function(self, Data) Data = Data or {} local Listbox = { Window = self.Window, Page = self.Page, Section = self, Name = Data.Name or Data.name or "Listbox", Flag = Data.Flag or Data.flag or Library:NextFlag(), Items = Data.Items or Data.items or Data.Options or Data.options or { "One", "Two", "Three" }, MaxSize = Data.MaxSize or Data.maxSize or 150, Callback = Data.Callback or Data.callback or function() end, Value = Data.Default or Data.default or "", } local Items = {} Items["Listbox"] = Instances:Create("Frame", { Parent = Listbox.Section.Items["Content"].Instance, Name = "\0", BackgroundTransparency = 1, Size = UDim2New(1, 0, 0, Listbox.MaxSize + 10), }) Items["ListboxLabel"] = Instances:Create("TextLabel", { Parent = Items["Listbox"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), TextTransparency = 0.5, Text = Listbox.Name, BackgroundTransparency = 1, Size = UDim2New(0, 0, 0, 15), TextXAlignment = Enum.TextXAlignment.Left, TextYAlignment = Enum.TextYAlignment.Center, TextSize = 14, }) Items["ListboxLabel"]:AddToTheme({ TextColor3 = "Text" }) Items["ListInner"] = Instances:Create("Frame", { Parent = Items["Listbox"].Instance, Name = "\0", BackgroundColor3 = FromRGB(35, 41, 50), Position = UDim2New(0, 0, 0, 21), Size = UDim2New(1, 0, 1, -21), }) Items["ListInner"]:AddToTheme({ BackgroundColor3 = "Element" }) Instances:Create("UIStroke", { Parent = Items["ListInner"].Instance, Name = "\0", Color = FromRGB(46, 52, 61), ApplyStrokeMode = Enum.ApplyStrokeMode.Border, }):AddToTheme({ Color = "Border" }) Instances:Create("UICorner", { Parent = Items["ListInner"].Instance, Name = "\0", CornerRadius = UDimNew(0, 3), }) Items["ScrollingFrame"] = Instances:Create("ScrollingFrame", { Parent = Items["ListInner"].Instance, Name = "\0", Active = true, BackgroundColor3 = FromRGB(255, 255, 255), BackgroundTransparency = 1, BorderSizePixel = 0, ScrollBarImageColor3 = FromRGB(46, 52, 61), ScrollBarThickness = 3, Size = UDim2New(1, 0, 1, 0), }) Items["ScrollingFrame"]:AddToTheme({ ScrollBarImageColor3 = "Border" }) Items["UIListLayout"] = Instances:Create("UIListLayout", { Parent = Items["ScrollingFrame"].Instance, Name = "\0", SortOrder = Enum.SortOrder.LayoutOrder, }) Library:Connect(Items["UIListLayout"].Instance:GetPropertyChangedSignal("AbsoluteContentSize"), function() Items["ScrollingFrame"].Instance.CanvasSize = UDim2New(0, 0, 0, Items["UIListLayout"].Instance.AbsoluteContentSize.Y) end) local function UpdateState(Btn, Name) if Listbox.Value == Name then Btn.Items["Text"]:Tween(nil, { TextTransparency = 0 }) Btn.Items["Button"]:Tween(nil, { BackgroundTransparency = 0 }) else Btn.Items["Text"]:Tween(nil, { TextTransparency = 0.5 }) Btn.Items["Button"]:Tween(nil, { BackgroundTransparency = 1 }) end end local ObjectItems = {} local function UpdateButtons() for Index, Value in ObjectItems do Value.Items["Button"].Instance:Destroy() Value = nil end table.clear(ObjectItems) for Index, Value in Listbox.Items do local BtnItems = {} BtnItems["Button"] = Instances:Create("TextButton", { Parent = Items["ScrollingFrame"].Instance, Name = "\0", BackgroundColor3 = FromRGB(46, 52, 61), BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2New(1, 0, 0, 25), Text = "", AutoButtonColor = false }) BtnItems["Button"]:AddToTheme({ BackgroundColor3 = "Element" }) Instances:Create("UIPadding", { Parent = BtnItems["Button"].Instance, Name = "\0", PaddingBottom = UDimNew(0, 0), PaddingLeft = UDimNew(0, 7), PaddingRight = UDimNew(0, 7), PaddingTop = UDimNew(0, 0) }) BtnItems["Text"] = Instances:Create("TextLabel", { Parent = BtnItems["Button"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), TextTransparency = 0.5, Text = Value, BackgroundTransparency = 1, Size = UDim2New(1, 0, 1, 0), TextSize = 14, TextWrapped = true, TextXAlignment = Enum.TextXAlignment.Center }) BtnItems["Text"]:AddToTheme({ TextColor3 = "Text" }) BtnItems["Button"]:Connect("MouseButton1Click", function() Listbox.Value = Value for _, b in ObjectItems do UpdateState(b, b.Name) end Library:SafeCall(Listbox.Callback, Listbox.Value) Library.Flags[Listbox.Flag] = Listbox.Value end) BtnItems["Button"]:OnHover(function() if Listbox.Value ~= Value then BtnItems["Text"]:Tween(nil, { TextTransparency = 0 }) end end) BtnItems["Button"]:OnHoverLeave(function() if Listbox.Value ~= Value then BtnItems["Text"]:Tween(nil, { TextTransparency = 0.5 }) end end) table.insert(ObjectItems, { Items = BtnItems, Name = Value }) UpdateState({Items = BtnItems}, Value) end end UpdateButtons() function Listbox:Get() return Listbox.Value end function Listbox:Set(Option) Listbox.Value = Option for _, b in ObjectItems do UpdateState(b, b.Name) end Library:SafeCall(Listbox.Callback, Listbox.Value) Library.Flags[Listbox.Flag] = Listbox.Value end function Listbox:SetItems(Options) Listbox.Items = Options UpdateButtons() end Library.Flags[Listbox.Flag] = Listbox.Value Library.SetFlags[Listbox.Flag] = function(Value) Listbox:Set(Value) end return Listbox end Library.Sections.Label = function(self, Name) local Label = { Window = self.Window, Page = self.Page, Section = self, Name = Name or "Label", } local Items = {} do Items["Label"] = Instances:Create("Frame", { Parent = Label.Section.Items["Content"].Instance, Name = "\0", BackgroundTransparency = 1, Size = UDim2New(1, 0, 0, 15), BorderColor3 = FromRGB(0, 0, 0), ZIndex = 2, BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Text"] = Instances:Create("TextLabel", { Parent = Items["Label"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = Label.Name, AutomaticSize = Enum.AutomaticSize.X, BackgroundTransparency = 1, Size = UDim2New(0, 0, 0, 15), BorderSizePixel = 0, ZIndex = 2, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Text"]:AddToTheme({ TextColor3 = "Text" }) Items["SubElements"] = Instances:Create("Frame", { Parent = Items["Label"].Instance, Name = "\0", BorderColor3 = FromRGB(0, 0, 0), AnchorPoint = Vector2New(1, 0), BorderSizePixel = 0, BackgroundTransparency = 1, Position = UDim2New(1, 0, 0, 0), Size = UDim2New(0, 0, 1, 0), ZIndex = 2, AutomaticSize = Enum.AutomaticSize.X, BackgroundColor3 = FromRGB(255, 255, 255), }) Instances:Create("UIListLayout", { Parent = Items["SubElements"].Instance, Name = "\0", VerticalAlignment = Enum.VerticalAlignment.Center, FillDirection = Enum.FillDirection.Horizontal, HorizontalAlignment = Enum.HorizontalAlignment.Right, Padding = UDimNew(0, 8), SortOrder = Enum.SortOrder.LayoutOrder, }) end function Label:SetText(Text) Text = tostring(Text) Items["Text"].Instance.Text = Text end function Label:SetVisibility(Bool) Items["Label"].Instance.Visible = Bool end function Label:Colorpicker(Data) Data = Data or {} local Colorpicker = { Window = Label.Window, Page = Label.Page, Section = Label.Section, Flag = Data.Flag or Data.flag or Library:NextFlag(), Default = Data.Default or Data.default or Color3.fromRGB(255, 255, 255), Alpha = Data.Alpha or Data.alpha or 0, Callback = Data.Callback or Data.callback or function() end, } local NewColorpicker, ColorpickerItems = Library:CreateColorpicker({ Parent = Items["SubElements"], Page = Colorpicker.Page, Flag = Colorpicker.Flag, Section = Colorpicker.Section, Default = Colorpicker.Default, Alpha = Colorpicker.Alpha, Callback = Colorpicker.Callback, }) return NewColorpicker end function Label:Keybind(Data) Data = Data or {} local Keybind = { Window = Label.Window, Page = Label.Page, Section = Label.Section, Name = Data.Name or Data.name or "Keybind", Flag = Data.Flag or Data.flag or Library:NextFlag(), Default = Data.Default or Data.default or Enum.KeyCode.RightShift, Callback = Data.Callback or Data.callback or function() end, Mode = Data.Mode or Data.mode or "Toggle", } local NewKeybind, Items = Library:CreateKeybind({ Name = Keybind.Name, Parent = Items["SubElements"], Flag = Keybind.Flag, Section = Keybind.Section, Default = Keybind.Default, Mode = Keybind.Mode, Callback = Keybind.Callback, }) return NewKeybind end return Label end Library.Sections.Textbox = function(self, Data) Data = Data or {} local Textbox = { Window = self.Window, Page = self.Page, Section = self, Name = Data.Name or Data.name or "Textbox", Flag = Data.Flag or Data.flag or Library:NextFlag(), Default = Data.Default or Data.default or "", Callback = Data.Callback or Data.callback or function() end, Placeholder = Data.Placeholder or Data.placeholder or "...", Finished = Data.Finished or Data.finished or false, Numeric = Data.Numeric or Data.numeric or false, Value = "", } local Items = {} do Items["Textbox"] = Instances:Create("Frame", { Parent = Textbox.Section.Items["Content"].Instance, Name = "\0", BackgroundTransparency = 1, BorderColor3 = FromRGB(0, 0, 0), Size = UDim2New(1, 0, 0, 20), BorderSizePixel = 0, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Input"] = Instances:Create("TextBox", { Parent = Items["Textbox"].Instance, Name = "\0", FontFace = Library.Font, CursorPosition = -1, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = "", Size = UDim2New(0.6000000238418579, 0, 1, 0), BorderSizePixel = 0, PlaceholderColor3 = FromRGB(185, 185, 185), TextXAlignment = Enum.TextXAlignment.Left, PlaceholderText = Textbox.Placeholder, TextSize = 14, BackgroundColor3 = FromRGB(32, 38, 48), }) Items["Input"]:AddToTheme({ TextColor3 = "Text", PlaceholderColor3 = "Inactive Text", BackgroundColor3 = "Element", }) Instances:Create("UIPadding", { Parent = Items["Input"].Instance, Name = "\0", PaddingLeft = UDimNew(0, 6), }) Items["Text"] = Instances:Create("TextLabel", { Parent = Items["Textbox"].Instance, Name = "\0", FontFace = Library.Font, TextColor3 = FromRGB(255, 255, 255), BorderColor3 = FromRGB(0, 0, 0), Text = Textbox.Name, AnchorPoint = Vector2New(1, 0), Size = UDim2New(0, 0, 0, 15), BackgroundTransparency = 1, Position = UDim2New(1, 0, 0, 0), BorderSizePixel = 0, AutomaticSize = Enum.AutomaticSize.X, TextSize = 14, RichText = true, BackgroundColor3 = FromRGB(255, 255, 255), }) Items["Text"]:AddToTheme({ TextColor3 = "Text" }) Items["Input"]:OnHover(function() Items["Input"]:Tween( nil, { BackgroundColor3 = Library:GetLighterColor(Library.Theme.Element, 1.35) } ) end) Items["Input"]:OnHoverLeave(function() Items["Input"]:Tween(nil, { BackgroundColor3 = Library.Theme.Element }) end) end function Textbox:Get() return Textbox.Value end function Textbox:SetVisibility(Bool) Items["Textbox"].Instance.Visible = Bool end function Textbox:Set(Value) if Textbox.Numeric then if (not tonumber(Value)) and StringLen(tostring(Value)) > 0 then Value = Textbox.Value end end Textbox.Value = Value Items["Input"].Instance.Text = Value Library.Flags[Textbox.Flag] = Value if Textbox.Callback then Library:SafeCall(Textbox.Callback, Textbox.Value) end end if Textbox.Finished then Items["Input"]:Connect("FocusLost", function(PressedEnterQuestionMark) if PressedEnterQuestionMark then Textbox:Set(Items["Input"].Instance.Text) end end) else Items["Input"].Instance:GetPropertyChangedSignal("Text"):Connect(function() Textbox:Set(Items["Input"].Instance.Text) end) end if Textbox.Default then Textbox:Set(Textbox.Default) end Library.SetFlags[Textbox.Flag] = function(Value) Textbox:Set(Value) end return Textbox end Library.CreateSettingsPage = function(self, Window, KeybindList, Watermark) local SettingsPage = Window:Page({ Name = "Settings", Columns = 2 }) local SettingsSection = SettingsPage:Section({ Name = "Settings", Side = 1 }) do SettingsSection:Button({ Name = "Unload", Callback = function() Library:Unload() end, }) SettingsSection:Toggle({ Name = "Watermark", Flag = "Watermark", Default = true, Callback = function(Value) Watermark:SetVisibility(Value) end, }) SettingsSection:Toggle({ Name = "Keybind List", Flag = "Keybind list", Default = false, Callback = function(Value) KeybindList:SetVisibility(Value) end, }) SettingsSection:Toggle({ Name = "Silent Load", Flag = "SilentLoad", Default = (Library.Folders and Library.Folders.Directory and isfile(Library.Folders.Directory.."/silentload.txt")) or false, Callback = function(Value) if Library.Folders and Library.Folders.Directory then if Value then writefile(Library.Folders.Directory.."/silentload.txt", "true") else if isfile(Library.Folders.Directory.."/silentload.txt") then delfile(Library.Folders.Directory.."/silentload.txt") end end end end }) SettingsSection:Toggle({ Name = "Mobile Hide/Show Button", Flag = "MobileHideShow", Default = IsMobile, Callback = function(Value) if Value then if not Library.HideShowButton then Library.HideShowButton = Instances:Create("TextButton", { Parent = Library.Holder.Instance, Name = "HideShow", AnchorPoint = Vector2New(1, 0), Position = UDim2New(1, -15, 0, 15), Size = UDim2New(0, 45, 0, 45), Text = Library.HideShowButtonText or "JX", BackgroundColor3 = FromRGB(17, 21, 27), TextColor3 = FromRGB(255, 255, 255), BorderSizePixel = 2, BorderColor3 = FromRGB(94, 213, 213), ZIndex = 9999, }) Instances:Create("UICorner", { Parent = Library.HideShowButton.Instance, Name = "\0", CornerRadius = UDimNew(1, 0) }) Library.HideShowButton:AddToTheme({ BackgroundColor3 = "Background 1", BorderColor3 = "Accent", TextColor3 = "Text" }) Library.HideShowButton:Connect("MouseButton1Click", function() if Window.IsOpen ~= nil then Window:SetOpen(not Window.IsOpen) end end) local DragStart = nil local StartPos = nil Library.HideShowButton:Connect("InputBegan", function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then DragStart = Input.Position StartPos = Library.HideShowButton.Instance.Position end end) Library.HideShowButton:Connect("InputChanged", function(Input) if (Input.UserInputType == Enum.UserInputType.MouseMovement or Input.UserInputType == Enum.UserInputType.Touch) and DragStart then local Delta = Input.Position - DragStart Library.HideShowButton.Instance.Position = UDim2New(StartPos.X.Scale, StartPos.X.Offset + Delta.X, StartPos.Y.Scale, StartPos.Y.Offset + Delta.Y) end end) Library.HideShowButton:Connect("InputEnded", function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then DragStart = nil end end) end Library.HideShowButton.Instance.Visible = true else if Library.HideShowButton then Library.HideShowButton.Instance.Visible = false end end end }) SettingsSection:Toggle({ Name = "UI Expand", Flag = "UI Expand", Default = not IsMobile, Callback = function(Value) end }) SettingsSection:Dropdown({ Name = "Notification Position", Flag = "NotifPos", Default = "Right", Items = {"Center Top", "Center Bottom", "Left", "Right"}, Callback = function(Value) if not Library.NotifHolder.Instance then return end local layout = Library.NotifHolder.Instance:FindFirstChildOfClass("UIListLayout") if Value == "Center Top" then Library.NotifHolder.Instance.AnchorPoint = Vector2New(0.5, 0) Library.NotifHolder.Instance.Position = UDim2New(0.5, 0, 0, 0) if layout then layout.HorizontalAlignment = Enum.HorizontalAlignment.Center layout.VerticalAlignment = Enum.VerticalAlignment.Top end elseif Value == "Center Bottom" then Library.NotifHolder.Instance.AnchorPoint = Vector2New(0.5, 1) Library.NotifHolder.Instance.Position = UDim2New(0.5, 0, 1, 0) if layout then layout.HorizontalAlignment = Enum.HorizontalAlignment.Center layout.VerticalAlignment = Enum.VerticalAlignment.Bottom end elseif Value == "Left" then Library.NotifHolder.Instance.AnchorPoint = Vector2New(0, 0) Library.NotifHolder.Instance.Position = UDim2New(0, 0, 0, 0) if layout then layout.HorizontalAlignment = Enum.HorizontalAlignment.Left end elseif Value == "Right" then Library.NotifHolder.Instance.AnchorPoint = Vector2New(1, 0) Library.NotifHolder.Instance.Position = UDim2New(1, 0, 0, 0) if layout then layout.HorizontalAlignment = Enum.HorizontalAlignment.Right end end end }) SettingsSection:Label("Menu Keybind"):Keybind({ Name = "Menu Keybind", Flag = "MenuKeybind", Default = Library.MenuKeybind, Mode = "Toggle", Callback = function() Library.MenuKeybind = Library.Flags["MenuKeybind"].Key end, }) end local ConfigsSection = SettingsPage:Section({ Name = "Configs", Side = 2 }) do local ConfigName local ConfigSelected local ConfigsSearchbox = ConfigsSection:Dropdown({ Name = "Configs List", Flag = "Configs List", Multi = false, Items = {}, Callback = function(Value) ConfigSelected = Value end, }) ConfigsSection:Textbox({ Name = "Config name", Default = "", Flag = "ConfigName", Placeholder = "...", Callback = function(Value) ConfigName = Value end, }) ConfigsSection:Button({ Name = "Create", Callback = function() if ConfigName ~= nil and ConfigName ~= "" then if not isfile(Library.Folders.Configs .. "/" .. ConfigName .. ".json") then writefile(Library.Folders.Configs .. "/" .. ConfigName .. ".json", Library:GetConfig()) Library:RefreshConfigsList(ConfigsSearchbox) Library:Notification("Created config " .. ConfigName .. ".json", 5) end else Library:Notification("Please enter a name for the config", 3, FromRGB(255, 0, 0)) end end, }) ConfigsSection:Button({ Name = "Delete", Callback = function() if ConfigSelected ~= nil then delfile(Library.Folders.Configs .. "/" .. ConfigSelected .. ".json") Library:RefreshConfigsList(ConfigsSearchbox) Library:Notification("Deleted config " .. ConfigSelected .. ".json", 5, FromRGB(255, 0, 0)) else Library:Notification("Please select a config to delete", 3, FromRGB(255, 0, 0)) end end, }) ConfigsSection:Button({ Name = "Load", Callback = function() if ConfigSelected ~= nil then local Success, Result = Library:LoadConfig( readfile(Library.Folders.Configs .. "/" .. ConfigSelected .. ".json") ) if Success then Library:Notification("Loaded config " .. ConfigSelected .. ".json", 5) else Library:Notification("Failed to load config " .. ConfigSelected .. ".json", 5, FromRGB(255, 0, 0)) end end end, }) ConfigsSection:Button({ Name = "Save", Callback = function() if ConfigSelected ~= nil then writefile(Library.Folders.Configs .. "/" .. ConfigSelected .. ".json", Library:GetConfig()) Library:Notification("Saved config " .. ConfigSelected .. ".json", 5) end end, }) ConfigsSection:Button({ Name = "Refresh", Callback = function() Library:RefreshConfigsList(ConfigsSearchbox) Library:Notification("Refreshed configs list", 3) end, }) local AutoLoadLabel = ConfigsSection:Label("Auto Load: None") local AutoLoadPath = Library.Folders.Directory .. "/autoload.txt" if isfile(AutoLoadPath) then local TargetCfg = readfile(AutoLoadPath) AutoLoadLabel:SetText("Auto Load: " .. TargetCfg) task.spawn(function() task.wait(1) if isfile(Library.Folders.Configs .. "/" .. TargetCfg .. ".json") then Library:LoadConfig(readfile(Library.Folders.Configs .. "/" .. TargetCfg .. ".json")) Library:Notification("Auto-loaded config: " .. TargetCfg, 5) end end) end ConfigsSection:Button({ Name = "Set Auto Load", Callback = function() if ConfigSelected ~= nil then writefile(AutoLoadPath, ConfigSelected) AutoLoadLabel:SetText("Auto Load: " .. ConfigSelected) Library:Notification("Set Auto Load to " .. ConfigSelected, 3) else Library:Notification("Please select a config first!", 3, FromRGB(255, 0, 0)) end end }) ConfigsSection:Button({ Name = "Reset Auto Load", Callback = function() if isfile(AutoLoadPath) then delfile(AutoLoadPath) end AutoLoadLabel:SetText("Auto Load: None") Library:Notification("Reset Auto Load", 3) end }) Library:RefreshConfigsList(ConfigsSearchbox) end local ThemingSection = SettingsPage:Section({ Name = "Theming", Side = 2 }) do for Index, Value in Library.Theme do ThemingSection:Label(Index):Colorpicker({ Flag = Index, Default = Value, Callback = function(Value) Library.Theme[Index] = Value Library:ChangeTheme(Index, Value) end, }) end end end end end getgenv().Library = Library return Library ]] local __chunk = [===[-- SecroLuaVM v2 | build 95d4c2295927a680e0e39f8a return(function()local v,E,N,z,d,M,k,V,B,h,l,t,o=string.sub,tostring,string.char,pcall,string.byte,5,string.rep,{},unpack,string.pack,string.gsub,setmetatable,loadstring;for O=0,255 do V[O]=N(O);end;do V={52865,{0x1B,0x4C,0x75,0x61,0x50},E(o)};for O,T in V do local W={z(o,O%2==0 and N(B(T))or T,nil,nil)};if W[1]and z(W[2])~=not W[3]then M=5;end;end;end;V=function(O)O=v(O,M);O=l(O,"z","!!!!!");return l(O,".....",t({},{__index=function(v,M)local l,O,T,W,i=d(M,1,5);local y=(i-33)+(W-33)*85+(T-33)*7225+(O-33)*614125+(l-33)*52200625;i=h("Y\M[-lG`+-/L&,DM+i:%W'FEP!l"GTD/F-\_-5Q2]pk1D8M[*q584mp3k>olhtks+FfW&0'sn*$>$bY[!4h4pBL6ue@ap&XoK;M/3)61&1u5R2mIZs!8d])m(g8C\KI]qkkl(_A']/!;`6rs//:+m@uY]lI#<`)QSuRV@3`gu>U(6!=b=bX'H';ckDjE!D>,7:grl4r7\$MED9@#m,lGc&H+\Xk9BotskZLtIY^l[),^KE?6#='%XD>GN3DFAgN8gZOP5O$^JlIfF#5W`^?"8:7q4#/H;3X2Ze:)sPZEj/uNY4H-RFKC--K/J;jl,85@"]/utiK$h#[IpptF]a(U:"I!O5lSB_YIBVtDt3/7`:e[$k<%cZ"S""Acju5Qf:W.'$n%n(%7oMX,r_/Xr]^C74l7MMH(**U4!!?%a://&/\>P(G+%B>Z=9EoVX[.NWU&)RpHd^\7k^Dn*79k@-7-OTU5Ema>.Al7.nkBV,G5ddPQrfN.N>^0'Z(.7"4.+2%hduQuBi$)`*5OiD+JX*Y^PfR[%XG$[7q[($t31_4McE?(3;^4Xg]JU'(Eok(kl'Z7^d6Q9ZZq&9I^n^sSVSPNgD]oguVMU\7fM55#!8J-gU]`oLng,fh@)@Yg-P79o'f^.LABK1DLW\&Mr&OV1\mF!S/Nh'0u$=g]gt?Iq"o8(hblQ4h.qf4($2^&a.YQ[N_nOgrP-p>YX!)Omuq8rml/kkK7O$;%HIJnrK>N[eeLh#]*=)nN5Um8g\0h,SOnkDR,9)2.m[E`aI]Y="FM@*@C[$?<5Qrb;A0NVbl6W#^cTqQil7R;/TDFP#\(Pg"dM+1FuN2Hk#BCkd,:_W7B_7.SB<#!A*PlFQQig3qVKI#0*1$W2O^6^mK?.-Qg4AUB'[E`4N5^\=,VIL@E^U^#^;#=dU)\%3"B@n=L01J]$?l.%'fS^u?T:BHGmBS2O9ZRfFqF_%U'mW+Ln$I$$0>3J/Yu_b<@JEnW$$Z3][OI9QD)3=d2%NPEVBT=B$^Ii6cLdP.U)"de#FO]3#H]>h&O6fuCj6Yc_#RrR'iG3,IM\t6(6qEmq((ONo^p`1s\^s+bXOai"NZRh\Q7se>[(b^/=>U'DErNV[Id9aSa-!'.lSiI&!5q&U.qc(tY:2k'H(k2pRk_CGDkP]2m.$K!NS$H)m1U2?ph2U)F8`66+d\"mA0WH"d2>4==OrU/h%4"aLfakgTr7c:7<>GXLdd,gA68M"ErLO`Z9X[`"IfD7bUbD;rr8+DQo.dGZR$&`SYe;f*jUN1)dh*VhRDfYq)U2actu'Uc(@_K_'A13SG4FqQATplJ4K-h39/#jh7aL6cjU;hHm2,=h4JP8@^1e_3j1nbEJM_'d/iETr"Uedakc,S]AaCkulh*(s*Ne*C'B$1jg6%EpM-n,ZqCFK6p;0k,u0#kOO-EY3jtE'@_"6jhDcan?cRfAkaRYaMW7jOd]tnBD&ujMR@f;UZfbP%CrlY(ol>PIA5/Vbmefr.s"\C3>UHRmIoX&h15GB2Ti]\;H@j51+m9lXu6StUpJ?M/)r_]35YeI$u2j,%\V/*q=f_f:Y?)gRKBEI,Ed7qphA=h'JSNYg'^(]C^?$tboWG>3a2B3,.+BB\"Nf)>DcP/n'Ar_QT8c>+62"KFE'-O*/Ts8aI!T+a>.5juVMh__"+dpdT/SjDMY"s!&=d#9ODtn3o[p29\,+OL3=Sm0U$Nmj93/Upo4G@uPRLrL1HJZE'ok%KECJrV&Q[g6!['IM4ogMceFc=Bb\2U,P,"$-dI!qmk1YgAK('%4c5GV3$#GWL&@,,Y6B=JrQ\(p"JD`>UbUOol=?/N)O]HF"MU5[_4mL]G3]6M?o.%>R-L,P)kcpD2i)jK=.U*ja$i4706?/,EuM<+kmO?4udp6P;jZ_V5&b!1T?WL`rY4N>mUIJFCqf4_oP%BW^'X$9nsVNQR<=i4"8F89@af'/SeSk-EJ0ja44M*'Ps*`g,&^VfE:$PWh!,!>+eXe>5OPA4(7&!)0)ALoe#A.uIbuF!)[uCb'om/4`8"-^pOl?Y_?3^a+BM_dQG0UbR*[Q3RkZ5J%PF!`U%A$_t8].$%:2R%2GI"?:6':><-`lY95sVP@\!0jQ;\,*S;anoC\I3QWn(=Lt(_TI)8oU`4@ltsS5g$84h>Lp+p8XrHD:)D42H0tjl_e2!s.'G0$[-Wdi(fscS8(u'f-.-?HB\cCWM.hogVnmJ#o8)?c(\+c^@">m>>CDh>E=F(%5\$9/;up`YkCbC`h=dRa/#+(i,]tVPjc4mGL*rm^?@Jd\ckjZ_;Nd"mB&."B#'$KI*&T3s$qptqOADnOqrlQSDGbSZT=Pa=_M=L2],?/W;;A&F\L92m?suO>]rfY8iiM/aDlMHc-Q*?W%ENlG3b/M)2i7GXWRjZA2Xb"RIQ`5C*\:R$L;=!g:W['i28#'[O8:R3SG-#tb.2`03\[KtX7bt);U>+#`R'sq&JZY[l+uaf;D?q%^[?N["C9="nbdWcU-$(^7%BQ,JHcb^M_rGP'Qq4fm*lTc$iJc3M1kVYBU8U`!9MDk^s.dN`KV*dQ9)!HP:N@%7;-HB7D=R:+VS^h&H;W7e>fai2a8b@TR$Ng!Z/"r1YW+=]O=0*g57*&"nb%FP)SUcF8*sp[@i&.5s+t"@kWF'<2k.2+E<9UoqMSj-nR/;86HrohP$a)H[4'3.Q;G2,Y`iJ<'rghkqO(J:)_(C_T=-o.cPh!5:f.Dh41?=eYf.eE'flGN"A;2\b/8>4OHNs1`V9M:,mN'Wn03VoV8e7gBVt%W(O?T[j.A[;Bt&JKH`o2rWmN\ZRhN*XBD`h87d#AAN*)$*t'h?o#om`m1FH-24Q]A\JD[VV00=p2*^BlA;t:<:;9"W.a1b*ps6^3F:2hC)g.,YS&.4s/m-l\;?@RS1,5ohX)`\/]4pE3qNO?sL[q.&rVt=?N"X2mH'[i)FUquAk48Nd?b/q':IIe=fHs`uV)M!b0:6g0@=GY9pF`/MVoteKgJB^40"(M\Ug@m6NjFo(g-1^?'k^l]tDc[/_85\&+)7"JOoth\Q"_FC76mTQ-5!i]Hs3bD[:;L-aAuXgfMa*n"KZqR_Qm?=b6JNn*7L(den/cP".Gi'kR,EuRd;B.c%G3[mt>RhkIqrkih`*5dH=I(u&6aEq'#I'@AT)I,q0\%mrTkH/+N=CM+MmqL;^0E&c^@BemcFk=O=T&$38-8R+'G*f?gh5V4n)E8Hn!(_D0@ib%9@4XY[V7lD@bL8r6\ltRjt?ChRC^Q>Q_T%c`XXJra#@6HO$PdpIX#\hVCWThX_SXVjhJ>9H&;qeRmlu@rlmOn2ZX\HN-I$B$UP7=1jmBARu9(.l2IcVf?;FM6KE;o-7+_V*%m#FaX/0O9g%=H=B*i3PA*%Oc[F?(7UBN)4*2mrUXj[F3n7AQB;@Rhg-&h$L(Ua&l3M,hqah3uA7WZ5i?*"_#iI@Z.?a(@cLB@6X:#9kqg'>2GQmV<3BOd.]kF6Mf`o?]*d!A>]ACS4Bm2d^GK:.lWu^#4GA5&B"Y#'G%n>-NK@P!g3UKeMPXEAWKkTg4(bo>t`-rHOQ7S-#)cetH4S!5SNY\dQT$[#]c4l5*$ZoNGG'Bg$Q1[q)3;[JX`QY]djj5hg($X<,N&%pt]WpL]kI!)4nMWuXGp`3YFqjS%Nr\?"[_iCs,1N9AKjOp;V=e>MO:*Z(Td7I,eU/jHa]Bgaa\sSnAb?aN:84Hpc]TlO$&>@B'Oe;rC@f2?C_0H5CSFKVaL1-?`)4Fe\V\!@1R5N`j$bf#$tX.Qr[&]*aU0,UQ"CVa"k:+*LACd"UNo8iDH8U8j-=-W]1)Tq'+Xl]LXRcaBb((b=&l'6"DOZ*UX9E,Np(gX'),:TTA]-@=>klC]$^bI$uA9@);.#SrP]VJQ?jsoBa@!7s-%"1"*`,:?F?"V0H/M2$2h2]S+\-+uV&Ymfm><[:8PC_*\1!`o>f,:4")..d8LqlMT@PH&N/5e4Q_dRRkbbj).M[N&LHq^Jrs!goQV#3h!8=112f(HZfo-8u!h%?]$J.k@C[B5Y.0pHPhV,b,$)5J'a_&qcNP8FGWbL21#G_EnLK-SUH2#%X^I)l$L5hGao9:;Vdp.Xr=uDV^A?40dqg/Y5a+DgWiJ3#kYQFm;AO7?QMcJOUXSbS$[KeD\UtS@MB0<>qUa@$fbgZG=h"#"3n]UeSog;?h9IiS`IJ!KB\o-f_Jube!k*qf_jF+LSS`<>sZDo"OG<\EGH7:eaHqGib$$=O.<$PTT&24XG,SpRAZeJrGGk_[Cb"619tQntr;U8hfdD%8W"r'0DDL`$#tfK;4\rTX58>k?^CNf]](@SQ1pH1N[Dr]/AN4/Nmn`JA.NQ@*?chRVuqsj5@+MW*sL?5OSHFPL<(/q1,#sO=t?/.WlN>i0qdDgM#P&=[YM'el!g8ie$'#mdh!jT]YAW6%2UE*??K3Ll#Y^DO&U/t%.#F?Snb2=/d'+D[/DWOZ")=$t8YEf%V&R8s;dfSSiZa*;mlJGc:A)1csTe@B=IuX!a4TLZQf?it/NMn6b?u.1pNu^H8I(O17iSk(@nn`sd01Nob1$7g8RoE<^1OL5)8(RX[>b@Nf@kBTPB.mnEu+rK\QN#V\c',%bko3UcfQsAqQNR[R-K81H!H;?FV-gs$$69_%XAd$^M)P6-QS]4[6"NR2JPLXQT(Y@!GPI2EncRj+jH4@2q*5sY$pZ)r^%hZ>XdCGRcpr-\MPe/5M7$m"nEM:=!.8JVH4+U7#mU-\Vfobp[cC8chCNO>uA.Ld"&Sp0gC#0RG99Lcb6$b>FC66&Hh/[U1,I>4YgM83_[,R$WJ>(X:*(+dq]*\(2u&8Zn2L]RGre1Br+#@7XIbqXm>oMEBp81)`M.@[NR_#=BVU5Mi66;EtaK`2]gb&(n@-r/;@[(sNNK2u$NIC!CMf5@=jd=2g7$b?,8oXLp$Cg36)aIH4KI$-3gX"#VP3RQ3^fD+l(_QEM7`IG,)7qS4X)pe,q`L]+0dY`:^C-V(#o0l$JcW2O%YJ7_po8X+%F5=0W0Ufn%F$=*Z'27gI4F*,X\Kefn1>lNJn7S3Z`s[6d=g7T6IJ&V$S.e^,4_3jcH;&\_#/I4;=md\YO"n4rRds.p3CfV65j"/9uGhVQhW&/Sbq@P/]$lcdRH1&8_9*&j@OK0QumX'0BC@JuBE]mFh'Co?I%Ec&Q1G#\^=F974mpEJYaa,Z'NV4.qp<0&`Q_j8buRcZlEi!8tN-L(:ZS$2r%d*.f.4l<7*N4f*laC4bnQo7X[37]1kOrc:>,h\,sO&hGd@BFh8kJOTEo>U-XYJXj>m+o+.?@^eTjFr.7d9KDeE?lP-?n'Z75OrIe%Zb"4$Mr'$6Rj2(R34k2<^sf[]+DK=+f_FdG*&EbL23[86:k:LOIa.Fh]L8%%2Y'V>OCOp$-c;Y;`Eg+Cea6;[E"3?[Nqt[i#:(:,X8j_oQ1R+O3KXK?$4mgm:6:d9\Bm&NWUG&&Bc8\hfV(mi#_HhUcVOi.Si^4=7-Vpl7pBI9lS#fHKO5+:m<)Ija]s$jPVpj.HSX43uQ`!<"^DT/>MX"Rd8(IAh+L74IlUHdnXee#+7D=pNos6;f?=*[N7aX?\k6gL-Tti?,5Us%?_u]S'3%OUTaoK.0n';Z.RhHDKsg_,kW?@fCPJbbW=S3,,u^3=8esK_iMFNTe_$c?iW@D7ImCX4J14NQH/S_FU:h#%IX/llNBDP`$O<)->ANK4r!PD-"Q#+7^_=s\*YOG-u,9,@T9+8\mMubF)F+-F\r*.gdmM^?*gI*O^Y1-h%Fg>jutefe#0J+/A=H<*m#QJ*56B6/>Bt@@ZWA$cQj96/6JKO=qWgWkR8g>)"m8@c0$OMG;.(R$Ab"%49_B7);X3Cgb8?!neY9(ifgPK(l.T1Oim&!N3lTo\Qae>iG'T([=#i"WB5p);Z;c-X:@K#i;MVU$L$,ur/%>eY4CS1'oYc&IS;CW(:AjqK(Ih^'Zb4.AU._fFXKY`t2VK'384;)P;aY\0J3,AQV]s$]A+Bq978:5XoS@5i"R:!QLMpQWF4mK#Lj.V?9lnbChspWai'#mkLXqND"#)LL+H?\dQF8\INTCcW<(nB:f]SUsSRpmgncYM.bLl\B*0FfdX7j!I7qf\Chg<51DQ2arn1^uG;`j7_N1\f+Y,E]Y7dPCS@`u*cQh$^bnI.*oM(a/nfELhO?:q7;\ead'E*eoBel\2c,'tE=FNlk:"4KW0EB6jj(Xq@X4OE;ga$7$biatC-Ao>R/#cfY7O8]/2'S%JiOG7sD<[d3-./_$^7aU9>!NQ58_rf6.pgGjBnX.e$D"Vt)"KU#3n*drfD*MT.bZ1$ahPTe(EG7M##A@a+?!I(-Yk)_Pi.b,)?%)i*pM)3jXLU@1SL3H*tI[f7#l\)E.[H1JMgr%E68-r#>foAdUIee)(gBi>>%R%1@I(Y)[up-gD28p>5S`a\fomcW)Y;-)j1Y;U*jD/2[HYneToYYE0AmeFgCM?(9(]+b34&DaH-cqifpjPD6$gh?U7]LDpKbl!gLP@HB4$TH7S4a[15]fGO\rre+g@XW2JN0J]J:kn5'@M"!"LJ/d]^9XQkm.<@,VmEVJ*[;hG6H3-,-JGeod[gspJZkZL;9R(k210g-pkABf2-]iqXHtootUMCWgfh#_W8^R!?Fqk0^#Il=Gd]YI'0=baZD,G!C\p%buds`,MKbSX2BXX99W2Q)Pk=c:-I@VpD7m7Q]*qI*gY^!UfVfX@B3Em'"]6aZPGC:B6%9NpB-S;d]QfdX"$UU.<>Gnf8J2uAHrD41V.I9QVQl;9n4#W+28n_l,#bK09fYb^EG&Q0na5M_N];>)M#]#'#YZQMeRlnpGM$bZ,P?>+I`gQ_Ma[hL6QB#lGJE$)c*4X(@>eZ*Eh7%rohKMr5B5g)EOT1_-_p?HEVd9nX_Bq)iDUf>@1fppi8qHB@:5T[=Y;JL3_-@:hjfk`.6hZj/4f@MnSgG/g54kI/k2m1_,jjg_7Ab`RGN0eYSE6Ht+rN-(hEHs+i?[^mj#@BeT(tfTn)=3A1jk?VL/Y";0ug.Ioa3F-/H)+rQs@8pUM=+nMJUEXFM\F7GOkFT1YlTQ_uU-s27PrUkmk_Np[1D+i0\rk"K+c8cePW"dB=K<9d%J$N[M0YV?=)4&#;NPD4CIkU$WBtgEq9T!..?VJH6@N+5TOV/(ZSY[0?(hR)(b7).;DPC3XZ`!beqGLN9aHk?Xm*TeN@O.O!WAqo$&Dknp2$'1$c6D'g7g%$RL88Y/XH.3>FM$,*a)cccaDGo=8gR%XSZrE]H^[g=Y(sQ1-Q0f)pp+W)J$"GcQrHZA-^ILO%QcHoeXd*S#>81AU\q>LKcJ\)eJ[PE70Y.TgC"H[9"IT.Jsm9?F7$tF&D-tl8*IFf#-X'Z;Z67Z@bMO6V_jMcL=7aj1A9ERN/k!^;;U5KtTGLMU"WEW-9D=,.`a2As+O+Bi`"7jjgO1(.)2Q3sa:Nf[S`3;51Z?Za++Ylo\m/S$!c%7/kh8c_\gYg?9a?S,?pMd$j8PPqr8kp'tgc)oo8:4L#\7R7`:5%@=H7?&ft,TW[U08g_kZGQLuXPKi?^`iK&E0K*+9.fCbl8iShb2iJ&>Vp37eX7@!^,'b3+Pm:3)j-VD\qf8WH=us?Q6l^B^i%b.Up40qE,L6Wc!/9I'?I'-8m72X0,SdaokKrPHY;QM@[IMa;if/DXY.<(,=YpTUQV(j_;)TS/M0[`b163P"t_,(0[B7q37>DAKSI6WL]qh'(i<%N=Sk2lq]!c[am0!A(IO.N"nR1^+GT^^V"(e[e-L:)_@oL&TlVm5#WN/Lu5A.!RXPKJhkdd=jU!Z"6s6&;>I+()c0G_TU]0eh,^=,gb*A+!:epL1[,AMjl+AN<95+gJR@A!j&OhbM\'b]>.fZeuVIW^fJ$>bi(&[/Eqa=!R4Pbq#E+;o"=[H8gUXp0j-82#]VSf=&N8Z?RfJD--a_%4+Z??::b1qP79Bb8)cOr4\5_dKGr#kr?5#I?&R!49<[r"5gL=Wr4ah@D7u!FHiAfF>'^mhM;8[^MW63g`sV`FGjXpj01$Q&K?$+=$*Z/X4W\TD$h*BaR3@Fo+CF8sY4'C^SRBr>f??8]cWT0?ZNrm(EudUm.oKYKb2M2XLMGYV&Wh8[XeLG*oen2hda]#P'AgEJ:SpU8%=^Ue%sF"_Y2.Xe2!2-FtiRXXAE@J_HRmWjcYN^V_n7`.2W-fN'QCsQ['s%-qW@W607rTu;u\Y\.NX*'Z%>U11:!cG_*WKJ&-'NaS($^VXk(m@7%C%,!p@ZLsE,DZZ22<[i[`&e>L%TNI*]GsI&=$19RDPH@a(nNY668DX3:rdLOYUL;X!mZ6orh3_Y".aT'40uEON3/^p)rZqgYhk@)r9<-&i0$HW^puYfMf*LUk9YLo/0c,S);VU(mdRe)Q,sHkpnC)00U,L]XA]RF4DE1DNBg.XLKn".l7&kaY^JuM3fLjF.G/u0u&n&-sCp-o$`mhXB5gM[9g'"8m7S__g+&nVm?c3]rngunB@(P#D'FT4Z?M[7@\dj2@,Gk]$c&rbm"0E^q*0VHIk/G*5bb,4%ZFN1-Zhl^/.#le;)OkW`]oi:nAL^NDeDLS#A'7ECt1>^/->T1ZNO\jE[5=:Mnj.g?ST8@LJ06Vk-NYnC!F2o\!(f'2Gt%Veo.:r/4C$p*[tXdWu[Vk0UOVpqAW%9=Vbt2d;m/%9;Md8Bg6g<;W@hM&U/C?E`a1+b8:>fN9s:\rcn$D5e@rXP$MMIZE5g,\t.2cKleLaNp2%gXL'dXrD_oij[KOXc-ZS@kQ$*W80tT;o"Ud]]Z@:KF-%s40@')>BphkVZ:%+W`53gI.DV=[N9Ck=Vq_YPa^AM-QPr@Sk^5'Q,Dr=_MgWCQM*&ukS8m"q-roVP'R`K&8d$,@(G>H<96B/3;`9pItTBU`JLNFG^&`_Sp;pDKu_[Y^haRM$=I/%&n/AJA;7*`W*rSA^@-,\=+_&l_kI6ViL8-a)%']*`S9D_0q:l'?U>V.1nD*aQ%amEruKF8or+)LSRnZ7+>soBa>oJNsU7&!0+aL-j+U,.!58OnuE'LT3n9!(GE`cF&''j3`s$I/+KGGI72&';`_;T,g@HF\=#e-<#R0obk@r<1Sb2%LL'>^<9Y[i:r[XEdsKlWJ4W#;LhUhOT!<67RdWY+E(/11]q\+VG=\P-5hfu[#LRDb!+994HO41pmIiAF]W)mqR^:58@7%[)gVsI;o-#L(`BsAP+[H9*l-DM`Gg#E!;p\;6*(V=+mAU;*oP94$b-oO>U$HZ'OG6rk:I6b"HR(J;\9qUpME-=1P9?'F6+S0X+5nH"UNPh>0qZ).R(T'VS7ST-p`feV+-O;uS-q6JF4H],f*Bb=trVBYF0h?<(LC8Dmf8WGWB28,D9?/$&qYBrX59V"CZ.Q$'aMh!.($Z6bM^C%.1-M3Q&^u^#+B*iF*agJ9$h9tQ;Qbs9$d8=9`d_('h8'L?ds'0R)EXV$a]'%b&Q?cG^$`9&2*$UX^?/%7I#q?"4=G1.&/(R;Z/X=WM!@E+$b>$_C?Y*$Wd/aiM1(@9U4&j8+9WZ4Wo^6$Ie.hj/LHYQg2tO-;\Y0!^//#O.=ta?.lTlF,XlKNn)!g_lldjPo^Y!+*I@%n-C^)mt-hPtQJ7FVrMut\8(pYaI=X"h":ghgL`;3l*Z`V-Sb+5XJ]D,!KP"l*A7d;;#p]]7X:ag%<_>@*"_!!R%5nU.Nk:=@+N!__P4,Q:lWqFM>JjoKC)AI+P8$,&&DZu=MFf9H7kiB!BlB1A%^@E6T5m*=n2\Jh/&[i\[aZEEEnSTJ=bT*0JUT9jTspaI;D=$mh;H0Ep&M832*6.!+pI?*Bn[IA;-&@SpqhCtXr$Eb5?/!@gd(S=.4ch4>=5(fGcm*H1;rYT"_hC5FuIMI]H:Q!sS]fYMJ]tLAuWK3PBPLXGZG`jo=`adZEFOgh'NhsJm/;#&VbW!C"o!n-.'LVSmpm+>8m3nOLX[m$Q1XpcP2#r8U[9/s9"\AES])`k=(&q`5N+YSHh%k;"@MBs-._a?@h*O?WZ]^`Hmf%?0(8I5R![l8F/JQ@6Q^2sPiqd2`b`G%@J\T;>-"4@%1\-.04f&FUNF.BrEaQa)W&3@_u5NaGt$$D:3chOr"GK!>\p!JCPh/kaM"doBV"porY^a@-`0RDOS0^VOl4rs\^f,U+Uf?2/>P^+3A'Zk8:)!_sMUP.8bEIeP*?1>0n[c+g3N+Zn-_L&Qbb]WWeQc##=M\Z0C$5'+s5R[$%3\+K/=(2tS*AaTsTp#uu1-^?gH6b5m@r+'WmIPKs"ZH0oLbM[o-V6/^Tu]^]gn],lj;Lbml:_u'1jbpp<+j@m+e1WDB*9eEOQ#NLZ?>986*Y6\P_aufokIH'5FEWGLs.5NhGOG)K?45@43VDn_AjpuI6\OlpSOrm2%j3B'l_F@iCfp836J:=Q_X><)0b@TNt=YG-d'N"gFKmC?$2g]F[C'krK?;+2-n;nY!VCr$7-%%Y5D^YW>E)gY/.eDeMkm&Z+4C>mS7s'1[C90+csBWcp73nf4P`(NGflm?&WB-8PIr,K:q-qU`GWlJ!VnH`(mVPCj)@]tKK*p(E4;ZF6(.=-#>Yju6JDCt=Z[T40,NGMW'XQ+O[e\<10R.+MF$\Xk0dWe+6t%BBj%#mlQqX*O:T.3L7"Skj;MCu_Ua#MYj&gB6?GfQ3=GcIVM57^KgOj0FdWp\8jAYU#OC(l6JNm6/26.&1J%/F(oj%%@3Db.BG6jfB&2jnd_Y%>D0N>YO^oc'M*Xgo1b[nb0I)G;B'H.jSuHPk`ItW9n0>ZF>YJP2;J\nJR%W,CmcXGYdf`)1%+B3#-sMZIG1T4f"GZn>^>#Z))sL.oiNo4QJ$!5T+r?pFlRjC*aBc.JW7Rc4>GCS\*09i*mn_b(Y-:LfFp\FO.g$N;JNT@!PmjP%E^08b40=AL=UJ#-m-Y`b)`-]]'"Er44kOT+C,^nj\lMVcn=BW`k!+S!5M8kKU#]3?c'm3$9ap>9$#e;iRL)/f&S9"u7@X,EJRoI]G2hH?%+;IK4,M=^d"K'2W3oeqjk+JiW_a52[Bo3+TWF2O#VIkq9,]6hnKkMC(9$%6$9lR'FjhH")R@>AiFRV)L-KH]UFqhnEK%p/o4"9o8\o+EKBJB_X50M_HqE?&9\s?Hd24FllT?`=%FoFhm#8:Ck6!f.J?aK'i?=3>)&mFMbm1_.h3?^\ueKCeBNjUeBVIr)ZJ,*Wdg?j^^78(+gYs\3B/hp4S'2TK;)TN(B<8^E`>p:8c]TZh0PsKN8fS1FkI)gfB93#b6Kp.Kher\":Q[VQ>[>RA*\W#$'*7f5u7&>o:R9Z"R@@[IoDEL?::f7#^N*Zs:.8gHI*MEVk3'j0%Y5ie5`b8oL`aa%u_1JAATPl,OaKh;ID;DP7+0O]3aGO$@K@Xo*FI3hK$N]_(c:Sj5161,e8/u<7D2Gqrms&5n.V;%]rUTFj/dKuGK"@L<;?_Qc"s3GMYg[08+-EH]I3,aCmsA[Y^f6Lmk=a#S6VN>V7hWnN^>O5/ZYN:q,X^44YfGe17Sf]_;ZXTk;`H\P_![U-k2^Jl+E`Veh$%i:)B2k5bH56c*-Ck9ZH+M;C@O!B\HdMS$e5(i_CglLtQ`>rp&jHQTZgJ_]^%.lZ!+#!_&ho`6/#8#!c2W`);j[0B,?0W_Dn>$[%nip@*c!7'3Y^e+Q6sYpP-#o)BT)55PUhFARQ/:%[7Yu.fpooFo!!+Y`X.PA9D4X%E%.J\2R=kCgb8>cOrR<<43(3n[b1d\_+Sm5o5t2a,5DEc9855i9XNAg^G\7XP*J/j<9,HpLS,RE6AU-(PVNKSIjhKl@6[AO&:?MX@"XZ*`i1o+!OhWTW`'q%RVstW@Y=Pqi4LAD:Cu`MN;^FEfD.A;&S^ThTVu>=VjUV_P]i#Ja3Mn6lianHI[,RkCgm(h0Cb2d-!nOI&M7"/69!uhQ1uYfdg_&\]<_H)C!_bbq*i?KV4/dPnNOe6RVA8\RG!a4Uq*@h?L'@Ldl5n!;nq;K":!RMeLUp\OLp$,#oc7MQf%L*[30'Hd-BF"X472H,H4Q=:l_>BKcnI:XG"9iIcHDg*TVV1ka*>n/?NAc)4Q`"_6:nhUa4,4f:@FWo/3/hgb5N*[9jVU[Gim.tB7*S*ou'oS_-^K&S93?f3!Kf6:,TPe2lIOdCf%Nqh)79XZ""=5*h%=U@.;cHJgQekEqU1H"`k)RIp&k!"d"QElP/.D3lQg6Hapk'SW1k8l<3e&L.9$hjbqB:sMUB5qs-fnsaC*Mo_E:/f`B-t8tB8VNt;@'3V:)Srbu'F0H6kqR+GhT.4a,\b7Jqpsq"cX\"s^he@?Ah%&Qjg\4H2n+rfTO0OVc(`F$\%QWDm8+@QM$FtecPAS0(tA`.)K-<]GQn8P)]Q>>e"u,/('Xn8krT[1i5$Mk)To9^)T?;[_WC;:!4[o;G=&jqqANp.mVM;mZ#H'\$f8g)CS\Ul4>=eMPp$$=>su[Nk]3sqKA1=eJY,NA)hU7_6?E8_Mf3n`Fu:3DM\5P"bm+j9jdt[Rl5.F2>bBUWR=?1`l9K'#M>#u==RPTf<.X9Ak^39i`&TdhpSA[rnqc%'^5%a"j6UY[tm;lm$6f$0/l-tpn5,r/YL1=ZgboHRV+@gs=+fC[tQn,Q?7(3UZ&:Xnk1MD-2de:Na@A6(42LsiPE^$G4#B1fnf09;`r'I%/.ebNa42`6JAI*GViZ'6fb#)mLVk7).WL@d@WDu\$()et2n$cp!0os/<[Z,-^d7g]%`$d\-p'hR.ia?eAp4*s)C!Rf54&!1178Z8ISC?h)m'QHMuV6(_g`%F!`?BTh@AYn/cNuqiT@.^U0>&*$'Mm7@t?WE%R5(bqD!OkGaX*\sO)'uK_HQl.2W2dQX>C'rRF$q(qL/h;[aSl6B\15raUb]@]M,sF:e5,?Hhc<',MGUn1t\?\=.Ig0YmjXf:LFR5$WE7,3ep8G&>?_h;$r86b%?H4f_44OIB8rFu<#8IH[mFiO_HVg9H=g^roKjOk7q3JL3%\5E;.Ug_q"8&m2RPg2913h]*X+5*%_;[##,?<-)5]P@^#P=A@JD4kWNrQMSmZPChcgqHQros)r/IFuSVQd$fF@pBDMhdjA%(cckLFo\]uT[g3Z@i#'X_Zi(*^D1lMhbgL^9"0:V@(DSdh(].=Eb$R@ZP&D!9k_Qo[YApGtYQ*Q%GVA*E#"+5IVPm"[sV\-u1I.es.BREJ^q:Z+l^<-+SDF23bQ2:?Dn$_jb`dW;A]c&_!YbOGij;=8V95aBJ>83#'0m0;klHIgQF[rPI?R%o$T6K\l1kK:J`[P:OpnR:i;_Cc1^:3TQ+%Iqsk#g(Ga&BDZG,#3;'F+FQK=X$JT3RCmroejp6+[J4g5L)O!:kUHeRV.t8*[,Bq;54'rr6KW0!LA7Fbtjd@5.7B3[crMN%=F"=Q-ce`)')ej*DA&#IG*h:?>":66f6XC=A\#rUp_EbSWefB(SAgCjR,l?Cr4$hNN[kp8fF]/Td(BgqHgS"6s20plKS%P.+U*7%fo,Yht0WD[uj_mZ,QtSN3U5%[6FCA6f]H(BgEsWe02=*\Vq+06N/"$P=5q2Og!/l=H@;Z;akjDJ\EeI0WJV?C]7>BRbWA!:=JcH';]ac\.U6m=Cm_sORU'%Yq=@CU/oe;ER-Dd31$k#iPjg%r3#_^rPsI9q0MOYj#nbRGi5'ZrXN8=SIkfq-/P3OEWZK:=GO`&aaqTYc(o@a=UC!9O)[5/VJO)WZ'q58<$_MP*YGJIAEV[:&.nLRK`X3EXYWsY$Bl;,bRc'WNuUln99dqDC`TH.a>m*aet0Gg4uX^qt+njioi79:,i?LI2R22PO]_Dk=ccQ14,BD@^BOJW6BcL%k]l,c\ek@'9;Q*/`AK2\JgqGoUtP#`5ftGl*?:/.&u>0G22Hb(WfGRT&qroeu/kb&s]@d*\MUPj_cd%)#T39U^=L;a)2OeQa2K.Xs2trRqCZW<%^"IHCMa,C0C*$Tn^u>N3C/]FN)9[^`Bc!8qm1>h55#&o7`\J^!0,P>0:F3r8p=C@MjKu\1osdMcMLM.jY-5qEa8EU>L9*AM4bX/G4A:XuFc$Y:lGknW-7VJ]:)kb^Wa1Ji'1$0FouIl<`s&d/2t[H.PrGY#BpVQJ^]HhHZcL#Z$\pNbnr\H!&[IY,s0LcIITFp5PC/>WnmjX4i:WXPDr&<[u=`Pd=S.,2&^l%+HW,(Npc*R#X7,3+:SGP5EU,Xi^`,?#i^^EI[-5&a^4p_pc.MlGKgtMmGFCgH:1gO6NRO7uA+*J)PgEJ+7%t^dUOAY(c?s`&JZsB%G0Kmd5ROEh$"EoWof@[0gB\H/)tG6A<14.^5rLKFL&rfmMeCG"*>0/E_&b(ot,c,E$-Vk@MEu"QF$L"4*KJhcG5?hN@MM:c+UM(TsjJdYL:RO$D!VIt//7tc,s'QX.4P.`hV8`FV`0!T($.`qWW*lMV5/6Q%28cfp[BSDG+@>8)TWK<'_hkA+.Nh!%(J9[rDmG?#aj&/R+V7-5T&0":jHJ$4j&d6\p(GhTd0/(u[Hs2$6lh!bsjB.10rK"9bhOCLlpNr1lQ7"amCWP+r`;7'G]T^"u%WCdBJs04\p_RQ)2jQZ6\\u`2s=O>jP`INYK8pCCQmE]Sl91ZB.=R1)f5"L*fTQTEQq@OR!!**iOD#C&e$C\54pJP2$J]=$6sDXmJ$-(@8J=;I,u'qIM*%$Gllh7>m9D=-?Fd$5J-iN`?0FYi83P`)8U1'#4*L`I0ME3!uhT2IL8UJH$fV1R;n==&aQ`B1QN&"1!D!)V>NhooaB8P!"6&*G5DC-BY5b?[<>I1J4l62?D@*%[UkmW!ERKWEL@S-[>TqScucD1YgA_iZ]$)B^$5:+9>C)&fU:d*jnB[H`77/QjkQn#<]C81"Bf*rG`e&r+FsgIr"jZP58T:I0O-'j0>Z=',Qll69XkR6jKC"&(hXF0=P9'p7u4>%!$L:u@69W0+epj:s,l8H(Cf%`fTfLBpedc'Z'4IJA+j:`\$LjN1_":"Y,QLC4Kp:F:RNK45s6q1M)Z?"c4"q`%1hg'gAp/7dqVuhOekb1"PC3>JY;Ya?g`mZ!p:n70Se@g)i7KdsnN;bi7lil^K5VY(ZQBt,S9a)>k/^])LHEEkR"(W,bo_Qo*G&+L2([T'+i%&pjHf8OS(i5F"fb.T[ILK11a0-u"CC#`[qA\'2D3Ytj^(9AS1a"4T@\E[>6-_c(6A3rCUKd;>\3\10)tNrResm1KPL%`Opn2F2WCGZ<<4q-->/64m#@Y__9"?aupC2+uWnqN\"D:2$#m/%q6V7RS0?73,*Rq&m!*?S,4L>7`5LE,"M@^@!S+Dr.rR9aI&SBj;jQ!`=!@0_`1aA%CCk[,ua[Kq_$iZVt^FER+.2;PaBS1\&#T<.Pe$g$BOYrhq1gE_gMV/De$Ykt3Q.k6&VZsVU\*3H+.FEPc^mCue/a^;+*b;@_mJDBVFdFl7+'D]3h='a,'Jd-88Jt`N,f<0.P;*b*-(_[8ChW]XBa'>+&Zf/oFT[MD^QSA\>70'7Z`ThVLLnV;$_2rDLL&`28brm"7L,D'KGRj4Lja]+lAgtrI*1]HS="m91iO`l[S*@QfFQ`j?iE'+[26>%e.s/cPp\@[0E7CD$@$=oQCNLS93J]AWi\7p9Zl"3`]9k4FfYt_-P(P`iJ,J]g;AXaNQ=`0$Ek8m\%3D"a%VFBP9Wn/f-+a@W`V^GGtXuHa0#&8q0)c$W8"d0us$CJfA$103g@].%t+-E,,@Gi9O^OhU+UZpCe_/r1*ao@8H.BV44_?ktX3Wg[>=u8b$lf9$(H!"K6IN6.b53pCqA7nOJTV-lF:mdoDur?elR:rCTni)7SkcJQ0-f\t.\TS+l6+rlcul;"Udjlp*W:9"QgodD-*Slni('XGb[&]IudMn`@Xh+eU*@;8V#!j_RqpVlC'NJq_4Ea9Em?;G0QQn#3rf[ZgT_-7:]M-YA3W/g:!?\I6"ReFqgA0E55t!1%=he=s3F!_NCBRKHWI(*Qt8&j:g2^+/9-S.ircnAB%br3RPJ$3YRHY7?+U"hS?Db!.lgR9Ue%;N8?MF]Rb3H0GtZ89]#TZ4LQ(NX/'-[]6a;B5U>:Ga:iRE'*LP?O:hl[d)T\'H(4C%,EYhoAk6W[\V)_5Tq'S@nQMA?ukje@'JV<_PaIh&OYP#92YC'S#e(Pja(8<;5*SK@uEfYVN*N4)"(^$!QpZ_;roQ`JruMRQfk&R(E]-8llcYZnl`:WI"-_k\q'dN'=Q7dN=UH&p^di;3["5`pZ*StodqHOf"h+,/&Z&rCDkks>-Se.0'UD;u%hhQURS`iL?.V50W+PI.L=>3^IG"Ttl.j:=K)qV$TRDR'-]4-D`:L3*ECVcYi:lY0u_.Pao"n+*['c,Rj]RqnuRLmX,a'cQ$I)4cE/U9+aJe:HH^)8g@_\\FF0^L*bj:AB2;>((3FalGX=kFV"QUnpHo"(LHe4fLC1U41ur,U+dGMrRXH6,?sMqnAC9X4<99(^LB)"6uTGT4ZWN0_Pq(l\maO.F2oY/#r$ZLdr]er4UFCkgF\3$[7/h8a)"^>Lo"!)*69JQD%"G/21N_lA%o03VBTk.0-Umou1P6!bC!nAt!mSo1cj5a8>uPCk.D78D"^5O!MfNi\):sV#E9D"OZ:pNQt'mj4;NeumodL#p8jfA_)b;<1sNI`m5rO`!%hVi^q<_.Z]V6-[tGB,e1Nij\9;8Z+q2.HaW7V&11;EUkdCY6MLQ4`@`ou=,96baon%X]7Gf^[94Tq@,b70*QKLul675]YXnBg-%PI-X*#B(]*+t.`n<>[54Q(698Q@8C)a@*f?l3Z?XLTBmPT@V`.TFCBB%Q)aaND!RNP3`R1=NNRn0aN$mD8F?]S6kIE'LP5F3G$HirsMs$`<'8@R,OlD40$L;nL#Ak8.99jCNjKm!*4io"1YZ7RNT)(WD;jYeu#e60Y'6#XpO,hKp,hB8P=8&<)CG?_6T&[>k-DjuQ$[QL7qp&Srf[;AJcCf-$&LY#i3_S@JBMD!N%q54#n$\)hG[c+ftCVPQ0c0FQ8D?i#A[H^NQKbB>"7.MU'ldjhT5HeB%O8U($k]K:=64thX?\82Wnpg')oBbH*<_&7R`TEaCI,C:='A2(AbT`=A>VC_,qCE2L8J&!tAETKk[d8Z73BQ2gGRFspX'Nh-Z-?<$=S]-7jY:U9-Gim;tC/X1!SW)ht[P>]qdg*#eD+'g*eNeW=c))fi;Kd@5$KB^a$72)<]M,Ymo++98_%'[]MrR=XSG05_^#SED1CV%X/I'38"+rXJfjaj"?9ck3=dTA4V+)f&mT(li+H?f`VrPYb"f?4;k1FMM0ikWff3FCYNSb-aPo47@`Z]Y*N39QpXib`*M6_B/7TbfJP6rDbKMBN'1e'P*P[j0)H@q.cCnHTR(m6KLo:tV,,:+[q0E`?<'g,l`8)0".rn`]O9h.fsqqETuJMInQHpqc%`#T?`J/7-_JIhCp?1;^h,5[u<-@,KC[YUS&"I<_InPr,DY'e'5k3PD_,6jC%.U)MQO/.HRU*?r>bRj_%N?#3.gOk$?j6C&!K;4/aC+to?\Z#kqIl9WP0+\[)[QaQt/S>7raj1#H^T)%<_4hi26Uc36rH;`E2MH7pU.T\`If[RLH-84m:DC(4W;tNgl91iZGoJrg!"CPY5&LS_&mt:@=oi_`Wqo39r+!0,,9:W,MR$WtWduI+5CVA-nm]`^L=FedDX6(1+lBQ&O&f"^B,i,u=he$%<+l<;s(&%=<1ph(/:%89Yhe%Q[E.sV'h&gLHefR0p'eA"1Q(L+ap"/53#nJ^o&3GkUE='PG7O@$hJ[RTMk`\aG:T!*S6YYYX-42\K`t`!?Rr<<[S_Gmq+m"9WD]DqJ&Ydp&]85L!Hj;,j>",HsS>Ne2Qs6J-d%[kIHouO/afRDcVZ?0U96n^kKKL;P4]QTWh#+!c4T/GD>&L\M-gNrThNe)&.E`pMP%k[IOb;Z$V79u;o(K3-+TW2qbg`>fcOtQHLRMCY;A\J?Ltc-;qX5pB#1E'DiDXQuXFjt^-AKWWW?e1`XudsFDK@>[%Shj.:GY+21>?'f(:okBa>h7S8Re7a6lC^K2#A_0-ZnNk]Ag_U2fACC=23a;_).0NcCu_UaLQl?Wn1e'39dEA7d(EKp(WS1K?<:WY#_jCMkKtU+^Ym9iYV09)jWgq4[b@HHSE<>Gi1/-CNN!jL8&PuVZVTb`44(4nhHlfdWVVb6.U*>6=)!]6(_"!VPcVVL&TL"KYHaCudm.%#PH92f]%^^jT.rGhVU^EAf7@/?0c8()jC*?UYL9?%*h5H>]-KQfY\%pSPLp!(cOgiPkfC8:5gr#LFlj]24srUtE;4U[>LiLJ^:TQba#;6/W0J?i)p'8,_^rs\`YJVk?SDpTh=-?,FfMq>q.T(lLGl.oY1rW/'G%1R.!k=P4ugI$!9A`qp;X\Q$@YkuN'KL4f0#aWZP'D_Tm3o[Q4l/0K$FnAL.$5P+>29+O13?^Fh-@RWi;1P\j9k(s%'ql%]%%j[IJTMEas%D;@/;l6PX].$s1po0[DSufd"8#`R9?a>%5F3&PD!KQ4BN:F$3(fA?oY:s-`:Y$/DUpF^%Z10$#I);GBh8;,d3mA6^N:)%MQJfV!G!$Q/km"Zep.oP^X?bc$8Yhr2q25&;XM'XBbZS'0^!\f?kG@X4eoU<.R9%:&&%_c[OfqER[^r^Ae&g9qJqDR2?EB#]koe+Sq6&":u)ir_hJR%lL*6/!K]_+Bf_4$1X$!dRhd)uYI=o-!ZhW*_#(PG+L7C`+X9THo2.8//tTk$NZ(;fS=^Nj,/hUElS`Be64k0UXKA^P_XTY2+CIY=>dkEE,AJgmUI](;E/Wd&pc*_"Z#N/pZBqK+b,6#CW#UNT,@*[R18^/8%?eLiW+TZn)"RgqSjIdXXNLC`DGOW/\&H>J9OM#e/QCncQSrhofAI"Y(Sh63h_kk*[Gl$lsbk$sa7d(rls#fUh`m7eh-05`>PB@e_WDNGY"T@q^YG!=O"h?;[\7DaelL`mPSI$-DAMdhj8qNph7$!VH]5Rcp2gJ,f5e]3g?ekC8&r%"/ngCU[3TXe?2n.8+a>cM?cHd>:*-QOJ3O,J'rT5jd#R^nP1OoEeW&g."frno\?ecYb8YQh#'smjf3K[k_*bIiqZNVuLB0]g;D:1=FOrs(&[<>]R@\Ag<%&l=E[[=uC0c,AG;jPYegX/?Sr@Cp?b['3GUtdbVQa#*-&\-D%[hp%Vg&nIm6usFpBRYi.KfHIU7Eb3r21UlZR5;0!P#u:?qI/8=^,qk`T5n44DPTXrZrM%mid;r2t5S2I#SPFYLL9(Kh9Rfd$?AQf.rtVSmrdZccou[@n9b!p]SoBEoL<7H]$STM_dpAWV$5F4F:;``EGbI6u=G[6E)]S@sXp-%e8N(rIUtqi^;bUD>at!Ui0P@rm_N87m8M8EH9qj;j8jl`Gg<[PZOt,>DQ2Hf9\_.G)ikQ>P!E/M@&Bp\-f'")L,'PK[09&<#BIJ-<1^oMp#`8W$SCPDt*A\(]N1H)M+^ZY+3eUJFQI""GO9H-bPS[4!R!H**+7`>!I)0fr`Glh7/Z5n0eQt8oSq$i11]Dppelia/=Yjub>.ii_Mq&Y5k8JH;K1bM#_EbYZhrN2XE"`Z^*D9].S,Pp.KP/R&EpFS:8h5S"V57XR5tELJl?RViPXX1R6;T#pkKKP^W-J]t?jX`-[a+k2S:NP"Rj67L0Bq`J504FVJA@r1*d/^H=VWti5mu(OGMFQmM*YdtApt:A4d'#[n@%%3Y;m'ZZHl4@3Gt?_Jut#,V:ZYE$Nai3\6.L`R326$lKVJ!rD_P^V[^8N[;qA7cjXMj[`toNCMs*o..-[D:Uf,)T!ng6(=gR$e!SiDWrp*d#\,ScIB^2;Wg,\a=$`;5YL`]9M7T&CukbCD);b2TZMSnmE$FhD^#p/JJl1(our?%q"m,q'RBIF4BcN/5O0pr.na[M]3D!BX(:[k4iJR\3jbq_=)N'n@e8,2Rr-r]:r58F"C[,h;9CZtQ`DBB>78D&tjMo:b2ZQ'D09WHn9FF':/\X2qNl[MPC5YkB*]\,.54`"ooY.VE5.p%Ro\?s7_V+TrntVs1A"IW\3JnZFG:$bD#WNmsp(FI'b"Q(cRA7ADqGM#:*I?,T[I3csa*t1,=qgrL8*V]R'",lJ0e6B:9o)&fnL0J2>Jr.iB;r[sO!P8+!TPG^UEql=N(?ROVp!Y'C/[HAld.>Mb)nMsh.amk%;C=p(.rOpu0+@WmjC"j\pL3tR2t7tJV1I#0\tX+gI_L"2M%(RrFeeXOW4m`"j3(h:_D@Qh%qAV))m*N]r+"Kf>o3#c(K3$60rtKc\WpE)a;3_p<3XM>>1B/R,]04ESt=rB?G].Y\6Q@tFLu!9aY(0R6ldh[n8<%B][pUF&AW=;/)aH-])C*](Vrj\i"VePgdNE8`kF=p8At=hqrN*>kbG.u7LE=+gBsUG+3#WS9M0H-RtfpBPS)m^*D!M7^5ltsWCat8",Ctp`B@'J]'Xq5U1H(OX*YODKhg`;YG0hESndF@@k-2uXVAOI9d)L>X)MF&6$r)Up&'Q%5;aK+j^+[9Xk?;"$PloS@'b`\_RXu:+qf7K2of=03K7?]W7TL!NV>#H:gh,q"$f&PWOTX4nO2I.uXo^Wep2:%GZacFg.3D_1GJAb(2d<0rfrmadL(7Hg>1C_]+'hpuR8/2%SZ(O6f7]t)TJ=(8NbtRiV\g'-jK3+R/4aJ4$H.H^maGmCDAmJX(=cEr(";?Vg.Gc0S'L5$(aXaBXX$s)t\!S3)7=%`$A".F4MJV"QA]CTUh$1]F\jc.$mu&m@HJ8Qr.f9ph.<'O20%c^rRqY4O78#]VA/@C0fLf)mQV!EWk0#8k0`A']dVotW^ij':H6hEYH0ktS_1;T63Tg$F-S"9%35tQ9B%Q9P:FtCbC622)NG_B\@ig>#'MZ1#[/q/'2KDNfj,F,22W05UBJL8KC?=[he-%p=G.0c09g?(1la<]`j1[<)BTtIYFj$f41!K%bT5bKYF^9#i_DnGaPtU^Vt.P6iBXjK.-rml@%:q4ATF):YDG;$Z[p'rg:0<(mKuJ-RYYLIP>U,I0s($YT1^kI*:SM,bIT1_k4)CFTRZ[S\mJ05r#oCIe@J-[F4:ac;FegmLe%c:0LJ_#fRr?6p#">i5@hhqf,KmH:A%Y],e"/,EWGs[RO)r$P)$jSn(LKpf`34Z0%5e/cctc)Ul^L,2VQSMOBBC+i\j^dpT=Gle6`b9N1@:r8:iDGMdCjN]fbG\L*<0Qr3#'0RKAf3t;?`VssDEH\"g>V&>ZLt7"12#;>4g,"NUFIQn?P0`Y8/#Ds`hrN,"X(:S^;P-3(Y2/>=f.B14UJ]u7o8Xss!%<2>^OYC6%*Ej5Q/b)Gcdh-d&XATj>q5,I:Yf"q!Q3W^p6HrDfd+po/9E/ga-KEfm%Fa781.E,Dm\kjZrNYo[k-H74--YheVtN@]Pe/o_()6/D'M$pXo)%>+YD_)f.I,Mjb47Z1T&E5p0Mj_A]j%K*A!JST^\$Gp+[74c/EUj`KG2#0.dtJ;+gn!Xp2I@$i.R\pQW)HPm(%c\Wu\qs808<3(u.(+o`!Mo4MF6@?u%ih/]LX8G^G1QE3JXo)5&n7ph-cO?B.@oWN\(K#Q9f].tA*%3V"\Y:Gd4:40e/F3YH2]$/5p9j?Y%R^]qU4sld*iPGsXVPL>FO`td@]%(iCCEiWbPkI"J6]iE7o:HfU_gP>:aj7S:5#;L=U:4+7QI!oBCL,"T-5.aV:dd`o=";S+PnUrgc-bE@0G&5,V[Eml&\>$#Z./P*36`Xn6`1!i[#F=G;$=39=2/#N,3(BrYGilDL<#EI`k/n_UgV?55/OS,`8X=QaHodeqGhNp?]ao`&1m7tEj(,'T1:S+HT9+d)2u!RWirE*T*d'?c/&Bq$,-GA%?mC9Cb1rrJEOMZAB>Kd3/>M5j\ac=!N9fTUeBD(-m3TTVY-B1"?GB/e^A"qMpFpqp-(!TdT-AR3N)?9bG=FF!gb>QA)]:u+c(EbN?sO["rk,&+idl^2.;k!O0:mBgVX%'5riJr2j9)$K!::aTn&XL55P_Z([_;K_DOZEnGcIgcR>2TeBgB%"7UVB^4[&f_=.#/aM-&AWuD/'_'/HellJnL-`M&!/fDLY!FH$S5WPupZ[UMlm!*;B89$HT@IIkG1CGL%gqiuR`bqR72qfi*G'Z;s7Tj"N;@Km.Lg30UntPIo,h>"_]+dXXXM)"\2S)mZCc10Z`Jir(A9peG$dgBHl3(!!%69WgN@Vr(Ete>M(Z9c:Ph!2h5CrZ/!#:-]Dlq30:f!-TM$A@nmb#OiOLe%FYFB\s57c*O3+E#il_04*NUu7!uB3/bm0,'QX$8D/B-atbSAd9brnP;@@I@83<%;K/Dfha[1kHR$k5k>reAPQPHU4-qL^m@g;o9<.W(,,g/-Lt54'=FJ^,[;M6&/1*_5GYCR(kUoLe7E]PH.'lcTYg@u\%G7(5qPHU.5,o)Hg%?;-jgdKk18c`N%Z1`N4t=X$`\d6e)UF(m/V+JZ!PJ&g;nbOlW3_1"W)Mf:7Np=gL`bR[;054Inbl&k.il8-Va*-4)ra[,7F&FXtol"/*DSVo.nZN'JW#fQ1I7N)"&8^b?q;0;Z]rBQ"1M/PQ(Q=gkG40BkDJM%$ggGQ!EqE>25X>48fEN%'\L7dR]Sl?_%;l,GKEK/s>**dW0>4_P)3'?q(Ol]OUUq=et0!/$D.m;Ifa?+8+a\a5UORD'q;QH`+(U?)4.e*dTebVV<^L_hG`/AdRZ/EZA^M2/.%tc+gj]HM4VnuLpH%cI)*A1qsI-n":C3ihU%>>d3[4.1bGcM7F;u9AS5+s8T/UFV^`]eebLh]`5-_!dcA-95j%Q3PDAMi?6b*J%B@>V-a08S:K]kIqIE50k9A*n7kc^5,qdq@DB4>@(D6]$FIKJ4A="N#D8ot[!i20&Y].g*NOPFue?-uehdeoT2P*t_SIk^koc#9BfcA94/hgEQiGFiD-QWu).PZcU->R\AZL)[UY=r5o/Y$@5-Y[7&;Bh+D>uX5*P#LSOiaEsH$apjlB%gut_J1?>f,64!jCQFhiVhltAj)j4,eNB8tThN_?IuQolZL\^HVOJ])3F1ql=Z4dF"&XRP,HW`'erfV(@5J7*D"9@k+V:J)_&QN!1gME2o=Bk769."=Pri5rQQ?*u.6>CO$(WDDI3*o2g3>+oW91rk"4tH0.3V^JS,NUgkTGUL>P!p:M4T:!8i4o1cmjGdXKA&EY$'`Zd_:F0[C_u"2=J-SHf,!]EZi%&-)ffX+b?&2b\D^(,I=1+*uEPOh*Z01"ELJ"?AIlR([gCm'1L.s,G>hB._]?JVJ]S+Ks3)N=s>:)mF?IVGV^1VAGNBcl?'loOPO_l'Oj4=bXN`P]ekJ0aJBg7b$W%E>>pMGQ>U2iD5GcW2JiNP&.W$m&na*rNd9_F]gfm5.3qNmL?["GVtKLd53!"#$L..\'a3.&N@Ye$D$?25UBq>][_L/3B;j5(&Ybi@fAoX8bs$0KI#SR`AJ\e-e(7a<;PZSEpnm%78@aTK?.K_Ikjg@nD[4qhXLR41\=K3:N[V?&D&/9Uha^`,:Qm5iMlC$)4rgP+Vc'2cM*Z37V)jU,M+gY(_q+YPogV7s8J!r"*Y+@^<;keVI!)k(_]9BiY=Kt_?./ENO/`8#o#+rC!!l,u?hW[b)Q]I!'XgnIC7dp4@mj6!`f+0(0n`#)C_Yg%8_O>FIdcR$k#@(!i)2i&W^;/"8B*f4[p(NQMBDtPmKJbe\KT>iY!a4+\Z*.gGb%O\J5L[P2mLA:=CYbRnUGcUA38VX.$*s0JNCCTD1(-Hp5`HK>t6]J4[\,mJ>lCYZn*N4BZ.feUei([!r:DaBji*:>?*GE9LEHbQ;.3M4MfWc_h&L?k.MG;;DFQHLB&J[4_R+0OFK>NlSR1qin5M/#3Zl^5qKlK.YD(jE\'D:Dqhc7f_uV7k3*L?k0`[-erbtDmJ1%9c#m3(^mIlfqMu#N/p_d^HVY1i=Gj8]k7ARdiFmTGX:FQ0bkKq[#T#?C-,i3>I%W/>1@PcO_5R$%I-ack=EJT.+fdkNShTooB[h1-t9[VJL@D7Ns3Q-Oea>dB[>?IcufE-b>D4:oi>#g.qrkUeKf!1`>g>\s&8qgsg'5;HCbOX^R@*Gc?Cn:"&4DD-J!d^J_sfFYDE?i;CQA(6GiceN*_A\o[=J82dc!*Q&KZ)N+5Q2G\_//75MIB,H[V_!a1*KWZH<;rRZ>=g$6Lt?'pU2*f,I3@m=4>"nsP%f)8V&@iedbLSJd"Iuj2KNMiU=7sJmFS^m=3CH$RK]7KNb+e(6rq9>,db07Dg?;H]`&7b.X"SWm-8/OKe)qcb!f-IiIm(/7U[5dh,XRU9p9Ki]V,F8Y8K5Z[WQ:W,Z,+eM^KbYGc`tJi[.)KdcMqO`.f-=H%@V_*(J(`2Fl/s/$^%b1%Ku1?TQ#0hiJNj)]H@1kWlpY>5L7^-BMW1LWk4-0W9IgU\+^MRb$c:Y+G'>4e%[kE[(]hqg7#hVH!d"WS",m$N`^Z,l/uf6H4tAL8fV.tFLJ0@,Er+UY+PmmU$4d&AkBtiG_4QV/;D&AsS-l1Njc\8^-WVLDhIBU^%O.QE$*:h;M+Q$t!`UlGbUXdmI/KoN-FE>j#][(00BF-!cf"(bdZ([0K8CM>!FRVk-T[V99*AV#)'STX#l.hFCJ8K=1(S5H2g_M$HuKS9SN8S-Q%]l?t'VY33!C4EF@k)D5AU0MU?]S`>Mco%AsJ(pA\!Dk$g7'l9##8K,cOZH&'9a'53F"fAUF"M7efaT;eh4KP&[g^FkXdLT;+ECO>@edEqa5Es2;q8tc'1gN^a!"a^&FG^3N]04$)%dUcIZQn:aa;kb%C:D?hF9B\'Qd#2O)Y@r9&M$7.<.T18L)XO]mdb<Npg,G58)lN&`oB3]h?5K>/dtLid?Hd%3#Yd4U#EQA%l71bS!NObt9=s^`;Go9H!3)(?\b/`Ac%./!pf:jE2k:9rA`$ip`nn@s^u&hoVif/o]ca$t+@Lmd6sig4#ro;%Xf5qD*oXV?QH5"Qq32BpX!ZTHpE5F3QI9hDC+682>>-%@F!$u=lmU2*^($m[TV`'Ic]jTLHM(,4Xt!V?gcYl9>I,@ZM.R5T&9+?Z7RHs^F.gh[PH*iA?7f'D7bVPO(Bg\70EYVu:m=H2hqT2'"?bX0^e3O>)qAO)@[:4VYm)I%TVbk%YTJfG,;FM>,6@GN@rP`sqY5oC%[B<*\6q[(hd(4M*Z;hBKrH$-ZuEb7)fKLic_&Nrb9cGgn(5_:MLLj8c3h0L4'.g?43:fsE,+i(fegsJj%Lqftue=a#&50AAYV8(f#Rs=j0hAXk9ZPqPuaX>^0U0b5tZ5Yf:U!*Fr][KnoKD2C&XdlbEO`(bV(+,<=[QN7B`YWjIo"RH%#HM\3C3[rUd7G6GqSI.Q<0/SCS]dQ#=a?,j*5S5N3mhc0:R*NMkb%Rd&[V?"!k7eD;dA8F[UGZVZ$_@3/sF;8K/[k8[DP]\Wm%3URs!\XUXlJG0s:m(s,uJ&_Pi%LCYY*D5j,!`KI9nX$]rlYr=k"<*CJ/iRo@+e#1AdCkf-\@R;G$9-4Gn,,4UppnWN3'P8Mf3$l^^$do?)D^Yn)8g*Pq?0P(4@?[.9@@M5dh5t\456W4Gf&3QO7qmLnnYmHu.?;j3I+8A)0g@mb.)p;48P>iiS;Ir,k60%/=iPBSm$gr5D;#@_ZTHZUREO2D%lU86?'Jg]ug6HUXIH8=1`W^lpTspU&7-&$t>Qao@Z3_l"(#D#pii!X)0uj`%NumZB#[7>>PP/0b%r#)n@&D>NBQDLijaWYkU;@gt^Zl7-?PgW5Dl50O;>>M%"K5?X>aAR"aXTHK(:YV6ETPQ.L@g7;'pch(>Q!^W^cC&?:a74_/o$X3\-ZSac_`/^!@j_7gF?DJ6U%cik9uCKA#XcqbJ-TW(]]];%dqX9Pf)_p/.m?rSkqQOp0Q)&D?/!>JuK_Mi*i6lq.-_h;ENllT_Tn`>:IVm;Rc8Itl+0_Rl6^:/*]Qj]<&./iGY'F'uh;9"euVoWPiG_`UdM&Tt6dp_o&or9^Xn4%<>o^5%s"TC,!4,(_k.e4"\_VfHO2(833g^&R-&[9i`BAW%33F8u2l1P2Ao;.Fop(i']%.qF'E=3EQj1/o>%2H9pWqi14l:0BiXWL!JWob4^&b2$nEkHkZB!O'LZ!*8PU-XAre!gf(mDX>Bk9BA'"5/$%I[$LB4EQsTg7>&WU]!r;rKFT0"9XeNEo,2j^/sNQ^?GaFVE]Hn4\$^R.Db)`-I1HOr.*q16UC&K>Su3Fqi/[P28^.YJ":f2j#>&qbk?H7Y!FTL-g(+A.Q33)2P=9k\a\(;'3\!uZGgf$nnBYd]8,j5l+q2Y%&TW>G$H#G&NC.9Ct!c\_UAM`lPJp'gN;:q(4YWLu-jbk\6euFX,%oD+Vn8pQin[Smo".c;d5>XF,*VGi_(*9dN)b][Qu+O[LGA#Z!?R?<_\ag,jsA8cP?Aa=4QFe]J+oLm:O^]2AK>2[^dHcAD%E%46qD`C()a50YuRa3l#hhBp58rk`"%32X&i:_8^kq#9s;(R:ATYRG-:ueEsNQNII+amWj5/G)o-/r&;fg4]>h7_QI`+T6@2#n=l&):$t%cO=&Cn6PcEtu?7*YutjIIl,!Nh$B)It1[6`^Sh;5(3QC3(-Y=rB/8LF_2\5/C=/@(Wb?'UQ^(5XbLPgEgMLTfo7FgqXVQ.ooT!?2J"]B+TI\F10apcT9dP$/otAt1-B19_.XE@.P"$(t1mp7HZ>hNSL&6U$t$X58^#GDR$u/Q8n+/t871CcYaLC4G3a>(M\Oq:IA;p+#jSG9]+>m*W2NUbZ+)[6,9k$fVg@W(,I)b/d;XNRG/3lk=ijZF)i1[r1s.):#is>AF@Tn:.JmFQ3FW4*`lKPXmB*"/8jF%7`6QXFrS7^<)Vj?iX;:aC1>6K5L.WtJ:Y'9H%*moH9n'/O$aZaD4(.)R1bQJjg/`fH'NR[n[NAOnT4DnA51N&G(^.0;8YVEqM/1sY$HV4jau;1/DMOkBh7A(lQ3VU)hPl2+(XZRAi):lD"4nm_HjY*&-p$l5@b\/&Z3)miB=I;Zl-Tl%eXjkTh5;F2oRSV\6\o9VML;"RnAW+H,BOTW.f'/PZbPr`KOec;ZirFnmr?p;cqAH^Z[4P:bseMDNRWhPV@JE!loe_;&T3H`.]\DR=Y$@)?nX/n1U>irKfH;16t)?Ekh6ai)b2,#'5F:G"VDAWiRQQcUd.mPIk[m@^UE0lV#+5&toC;-.\F\-_I+C-Q7he03??&M8\Y.HK$ZZgIr9u%L02V.uSS3BQ>8&abc128Jb`ENmL)kAE)C5>?Y"#Pc2#,DWs)?ffT")VHEOJQZb5D5MO.A&>jc9p4(857(!Q05it5F9m!1_oWLBJMIVTOM5ir9?XF_+=Ob_"?R\8jIlJK6`nh!XRVSE>t)U!SR`>q_a15?\YQbs&mZO0*#m?j,k\fi9oE7O)Y!\1ItOhN"NqF-qkF!D9UpMLALN%GMWb1?5mdup_)[dbk0/E^*mn>Ip+&7tGF53XK)X%upb$[d1NSm&R=*Z?&k'FVG\Ofg6R;XH-^i7An2feZ9LA#1cP8&VY9:6RR-7W0bn?tI(JJe\BYS9?9c0oQa9K=L3=*"n9K[^#SGB\'+skK2[/$>-&_ITM>+65S8%,F%ab)G0*"9If0_9nG.#2e#n6Dr!iu($Z`t8W_usUhaP9pl<$AT-=GXdM=IHcu[Qnn@J#pC>+U`dO"auj7@0PZf'bn:]2oRc*6%qW]esn1\mA.qINCOm@(8H/OZ-X#XPOiWio/r!ao=QC'3Z.g^BPodheoaXUn9-A<.hR+j8eW9HLUnOSUO9hCO&WZR3J/<\%"8:eK^FP[Y$)_I]LCo$%tS"]"MMgA=i\Ws'H3K5k5;9:1L?\_a++jM?FAQtrU?]j;X/_+lnc)4l)L_G9#W/SjC[&p7rig$iSWI7UtkAq8iB:16tD@j74t:`o?]nY+Z9CK,k/6V3kXH&-ZNpI`\!FLc+V`?WHCZ.;.+#BYYeX_TSN",!26Z85a=\!Gc8/CJ3"k>(A9-"HjX%FY>F3-2bh6;Y#U]A1qAajJb.Rf+cK6Wd%:^7PG;Vk,2N8?h%)=>ocY-kOc8_OF,BZPI(tD'1j&@\Mkt:FG7FEdnA9R09+9Pib5Go:_n&0ViVJFR,F/&V3pJ);=L=^d/@)de`T$2+/%058aWX-:h2SK2%3G_"WdpC6sn$VDP\jg64l>7Bm*I'@F,5:_p6>m'hKk-otX\1Yf]s[Kh?RYp,p@#.[_J5N;LSJ,j+Oo]m`e;-*-ONPjfJdA6IrNpG7T8seV5+`@HqV.tqGhN#!Xeqjb2&)D/)c@RUht"fgGlnTiuNCM\GINSh3m?J:3J(6[_)VoZ=OL"&\kC)Bqn;r]XUr61Om%<:Y2XG=c9`#8*uUT2"QbEqQ_PUb@&VWU$nOpZ%>OGbZTtF3>>2>OOHHBZ:B.!/CWgf5$3M"K,aDOV2?A8+soqh_p1XDboP*Zl!)U#(a%mafP!h16cPS@4HMmfp(O&`\bDS[N6\`alr$kd_e%u9h=-)ob`#'N6h`sMOhN%RU.aXWRe2O&YUfhsY?bQHpfM]IXuJVf^Ns%F&S;U[LM'd+:h@oC(UC2Qg;p#P4VT.)0EB@H2(Q7l&fp@0r?%fi<6aU-iD/!PTqK&+5UL;U-GR_52dmjJ"u;:o?plG^d`U"ADf>=PRlqn?*5_3WHQ^k9Q&Z!`r;_9b>5ISE4r.ZJiJThPI\V6:E0m9DT38`*(0(k_RMqhj;2bt_0AD7Q#[aLhGF3O;rQh^AdI=_X\2D<1PSPXNK,g'%j'-5gF.]PGX=/@F"qnp!8]gR\4e%:Zj2URREp=VjUhn0r@:'r'7qUKmM@_O+JjIe6;"("t;WYua5[R`u,&enh9X).sHOP[,5s6:1jj2VJVZi)U!L!@YT$/OSG'ofPI$55^R*l/N^)OullI1^`sWgiEI_o3]YBoJS<4(kfdc^m.jCdmo.hF?j$)n+FJ+d)O$qVb&[=pZ9l[rA?W(#I1kJa@5X'#,!q]qL0p''f-Qmc9]=UHA'UmA@@OUQ0m(Fq1LW$18Ta@i;9gh_NKG#GqOYjj_a;L2Ya>LIVf-XY3u^OA=K4L.s'5#j'dS#APb3=f7AcaO69L9/7WGf`+W,UZOE`'P!BWFSrWqHWT"IZ5j_5_RdWojkuJlUPq9GaT3-qWK9>*CI`8E.lOs<2dNj=3m,+Ng_`;=M<`Buoe[r9I$Xu;AhKn6BPjR3$iLN8^RUeA_6nIk`TTp._Ds,Lf'`QG"e+%P>I7,pOFLW]Oa#Kku<<8tneqGHtNa,6t,!qZ<=i@>O&Juh`:q<"5`WDl[ktR"uN@kaq>jHhs9,DdU):Yne_[>N6%amlkWC7$ND@*@A-tB?P.YS]JVTBA>L`=Jc@M#e^0-:C)XE130P"5E))t:r!&k1Pc."V'#1i'lXq=q:nHc)k_3CB8,YUN(r4iR^,ICDQO#nDTb5nLZpL!o/EK2`-GA%"WF5V#Mf?=g%i""[?M24hX^Yb'R:[oDqOG&)T?oi0'0btfp]^`_Pgj.6(.W#FK26.qG&Ws$[6Fmt\fb6R:GBi-Z/V6M70`p(HFGH=*#?4LfXs1m=.0t$-.,8:A_e96;^L@flj;!4jbbIQ^h^6)bSspG]baa3[U:LdPOL\o3UML?[ZN;phj/`Oc.#>P`Q5GPqQ06O6A?KMN6``OaFOra(SBX`HS!gol/52_pbP07cu=IFWlEhFnFK]bW(bq(?fTY/GJebgT&]5YTknlPhB'4T!:&*8XABNH)tK4,:VSLiB22$.KKFje4WCMA9=!^Yb?/UVuA,r5:hjc,U-]mf8*,(nXMWPG5]]:1c\5innUO&LD<,Q68;T4n!RS#&-@1GW:K0U$8h<8$NWVtR)7>l%@#ZbR$?d<+f0(F#W@gP>)+9ND4p?uRgf5_-Ig[K)MI+.$fSP98f?CE+N-)aWe]nlWQH4dq$/QmPoFtbI:*H$\['%\q;G`@YG,Zc,qDHM*_e6O'#j:s-9GO$\h+&QJ'h"/W#M.%MVtO7lQ&n?Idl!(j1C&TWD*7Qiq?/(Z>r+D5(R>#[.cP[=]+BCCO;kVg8/ubC_R)F:o[Ol)=m16`O`@qXA#L4qP5f:[;>p]lV$asmcU>p?g1ATMd!\rT(spk(&ZQ(i&IcR^)tWg_%s=0[3][]Gj`oQHZOEp]sF/4Ef*oc?k]X/4E@R7;u.]a]K0!'"/rO+83\Jc-$,RR5WB7o.?3Ed+8^Ys3p-_ur%_PGr<6&+QK`XX'K?t<&AWmo_TMf+Z^V;b5m72LdteJuDmW?il_(Q[RMukGRXI!5;]prZKI&/Ym12kQOSh#+]S[(Kd:Ytk#\:i.kpb(-BU8C\4GW*OCD7%N9bK+Dm935#trU`TU8A>KpYZ8Lh?AYitHJm-?eKKM16GE`AU*=gXCHE:`f`ce]BJJ9YN)5:2PFY*PjK5](>EMtXT-j=".Sk"KhQdej_61VJS#'[Nj9tiHF)2O/jn\'fog+\n!)9r)Zej!6mXIqFHn2=AL".eH,G6@o0@C"[+Fq1^p4Cu4NX?^"$:S\P'ujpB;jU9>2EaDZ=KlY"[7cj4EqR3=#NY+]M[?a.VLE'u7gF2BZK,T=R$;Q"U=Ytd;a.h(p:G-:7?HS:r=rLHOJ6,MbG$a,<5omLSH\t2]]rL(`J4m#V+(L96I7C\\D^)]bE+#p5@(n,WNGk-^0gj"&M#1UdltrIWdIm8Ip\lU`mQD^eZ>0k>9`,*Z$$5DCRi%&rNcG>3C6/C->9aCA^l;>&j_=F'4$bb&A5!I5Dp1j'lOudDn,aqi;2n-aG]qUg:R]rj[);dbSdY3/E!SeBBrY,E4PF8@6Pho-/>[Jk2>1oK]bZ?O`XUDV,"VIgo"GJ74eBP[fWjeH")Z)[*p0n;!!"We"7:_=e/pXKdal,U'R9)YU3LNXrp6>($>csd$WQ]I6d,@Ya^]kinMP_%Q$?l-Q,a[tV4VS=abI`cNm0eR":R[,;=Ob95ni)g[:UjG^#k5KlM;GJh+58$!a.)&(=uX:_3=S^l%rRN1bc:>2[tp?,2Y`eI!;cj0Cc')pMO].kE:iplQJY&=#;0=9Cqb*T-F,Ce%_Y%7a(:oEs,3GHE6g)LcajGqdLNfe\g2VMJpndnQPYdCtpl'bnD9e&67NKLEEeN<*S`FT!-GmN=#)S'c>0Y9p-kG'@)\&_Qel'-j=f`.XS%;:8ZnHfD5;T:X1@Z'D*o&0"$HQbKQ7`Y>CP-8n5Wh:8l[Tn]P6FJ)L,Y%RDh@cY^]j)S/#=NJL/J:c:?.uVtN>X&$>[4?AQ@d3s1G%`+X6?%Wp!@BaQJ]pNtGQ3)Fa_B!k/0W\$Cf\4$1/;fVKPam;IGSc4gaGitLRnc^"b2]N5JWW*%&5ZDT>cbH'WH_U:Q&_u]&/k;cU^Y;mUgr4i8dK9U[ku16-l%-#eeBae$7CAr+_#!)$T\Q,"'eI5earH>]$Zf#Ei?NO1+(&*P#Oe+8^9@<6R&pa3LlOAo@?58Jf>X0iETe&@Sg%adsfP2n:l_f[)YI'C%GVP6mHdUD,6h598u6f[$MI6P87T>,/9J*A(+q.c:<%gJP`,?['mk^T_sT92"3BdATsdj9c<#InPs9n8gNV+QU.%68eEF>Fo_!W.$^hE%a;s5`#Mp28DO6"(e1A"0Gsu/U(],E.5DPel^C0gb\8QdgHCiRaTg-7(P1jW5=j?s83bSZYh>@_Q,_9\p"b6XPbsNjl(fJOl@4[e1HG.)hV'qVkq8PS&N4!k;]6IHrEZ0XL7ZXI4IEg[GTCfKcX[c*_+Tf4&mW`I'5Vfg\l'E,.t%,4!#K5NF+;iP4H-FPaWW5oGD]@)1#PM9Qi@nIL&>;-Js)[m.iPQTT=+FlUp(I*+.i_-huM4`68o8"$:1<6K98^JO0k*8U+HK6)VrXDu^BKI[Hj-=Z?35i4GM*rQ?iH21ho+%,r"L(u0-YY;SG6!q(M]I]=8_;2YI:rlb<#+2HOOXm1^M>f"0??/4ETW)M.e_j0Nq.I(Ms#6Q`Y20:%Z6q-'!0e+2Oqh/Y=iLlNOVch8GIsAO):J00J?FnT;]"AV?#5UAUE;,OWh+4@IFg%981Js6i\go&soKbdc#\^Yf;-0H%j6Qb;`:4!X,hRB2ir5HY0KMq7L/7Y&u`9(;pF-t5O"T.ls>sWpM/]'YJ1s.3hHch`sMh@(GZe8TTYG)VB<.moOrKna.DCj+5O8-7hguZ8`Gf--P.J.*r1gGGLqN-iIW^S>&s"nK=5J+i8g)rMk(366_3eVU4K"#t>(`J^30/b>H")r4-Vd.j2[ZK.Mq!q[b%dD`4J,UH8!7ch\M>YQI`5q=lBl.H-`iM&eSGQgPn)a)b]%T16M8(lbY.YLIgr9?RWp__5LYsY=DgC_-'JOZp@24rWa[?r1(a-/&ZQ+lRP`qiq`*O`V#jqsOAN6>tdnd.fm:#&$8N#^KEFVC)j!GPiHXfnI[-6;*(U^>JjWN1,q):2\2Li?HPk1K7ajBEE2\e@ER"pSkS63+r6ZB9!^#uWVAM(]iQ7#.0sloC":a2$u^S?sc22G"Am-M$2iR'_q*.":)b,cR4lGtu2h.uM1O.5?_I(6Bc)DBZ+8?OW;3872RU#229KHi"p<]`[cL4T6k%\o#JTt80G_3ht7FWRX&)%&<$0'r9:5+e15L+@O>N"sIGg^Xq[YONldI?f;m&1=V>nM2:@'o`$crX:8jZEjn:'^EIZ^1;\_TjZ`@BaVVZpTTV*9u7"[%W0QL/"K1h3*B]+k5j&n')XS`;`$B==L*r;qXP),aJ=JGo_=@W126-L#Ej%$J=^.YB9O,,pCaL=0BTrt6#^(:l4[@$3kU,aJQF0WFZg7dF,iKG)33&2a?%$IK/2>^86*BC02O0*mj]KBYB_[S(OOo-`Qf,/SNkD'I9K@>^Ei%P!47K7B]cUW$MQi$uZKAX0b:Jq5[Bpf5Aq\&r;]rSNLnOI=@NU4h1.G-#_7u]ZomiYto63J&Xd5hs,"%/T.2I5YYCW6m+V5:ck%(%j0(hOpa7tPI#91;t2\EF+.S;Y2mQCk2/T,(-G3-k/=-@gg/(b"HEZrENaW)"QS*ZP\dd85.r^7(n3Ts_P&'Vgk5N7\*$)._no:B<)JWhl=o?.o!"9Vj-pPHCQJcb68t&E-K7L73"Q7(sPJ]QAZF%LXG35,Bqo30c9!,&JPYeis4Lo7iLVP[jq:ARaZ8PQ7YVOZPG"[LK'4do4]=\=^Bpgn9S)]@4-Pm^@J6-e5_&HXln<^]HCBsO@UcoiTBcBEj,M-@`Aa^#o6&rAljn(/q['*f-Y4t-62)jc>8U\&nKuTC/BC47s].#MJ(.Sm3YJrZ"FJDEV>NJP107(5Og\6[f/GErRLMj!lSrAmG`:rWEZLSs:f)%j8';+WaH+W@AfN^<=]412>rn!B-En(B3@Ic9#mqG=mps\RmA+a<\e+TB5jl8+;V@=2:0HD89\]#uR8o0/ZVgoaek6IanZoEgp2pA'R`W@lj#lXqd\,4h[N`0\m[g[;RBK.PTq6^m!i5`pkSqP>&i*6?us!G,0@C]bb%gZ8G[;D1&PRn>LT-@/P79E[NJRln9X=*%K*S_6_DtE2"#ea%r]&Ia=+%O8kX&uJ#fl?hdpIG*kgsS6F##5LSLd9B+)BB(O^?iNcil8+LSj:MZbM0l?"XU^V=2"b2.'Qpd3'+JK.ABM#p%QS)V^s`0f<9q6F$/5o[Oc!mJa$!m,JVG`U`lN'@QIt#JcC#-+95aAcm(SS01aC%#QU-Gl.0bS*MZm0JgHTHR[-OX0^9II#2"/(@#+:R'ZIqB-+(aV7,EX)!D62uM=W=?FF<#9B&I]+Z1&bVfqRN#Q.^3&m2!\h6qUFT5dt&Y!>1p2t\F'>`J\KOr;G)hcc6gH:lpsQ0ar#@KE4?t,#`I.pk[:$s1LmVoNT?8:E(^n:'*@ij'2oOAi^U9bN.Z,!TuF*gB)mtEDj1<8Cu93'tZ/`F#/1qR%^%=oH%`JUZ%\L&L*i$8t5,%LVs*7)\o"sr.F\RU6'M&'\#HpF*PZ.?.X047t"]l+lLqDS@0Uhs]/,8!KJ;+oW=-;LJ@Hnh#H/@/Zcl4KH,bDAbgR_aq=h%OQ0kXF'PF[hP13HJCk;0\Cdib]pV:g_"o;bFbob;IQqZ9GK*f;0%6F9?[:Og4;I[J[F3bM-/`Be8",1HA5N>NdkYXbhecpRGV@c=_j/_(Aei#$Kb+l\DS3hCYWYP%qL@&rYOT<6,8-G?]%G.d(*AWc&m^ZbMqH3MW[M2FEBX]+7AU$(k#`(QNSDd*+@!Fr=+UAAaL>9.]ofc^1dSfaiaHaF8Y$!gKV&*9hk[#O(f"%0$TTKq+&1JSe1da-G!=Q5IWCh.Xm[Ac:CtOdn03GFb*CBBtU-fII7a*#ZKH0)osf=X,'BT@++^nD_]*5O3Zp&SB(p%gFRBPI*:k$?@oTm7:Kd0_q0^#"44`3$oK%F&l-98dO,G`e@B2Y_cqS`=TB[c0G'm.%:8n,ePE$G_J^95q"e4k\,cYScm[HO]SM:/Zq("k:M5=9aKnF,7$V\)hM3R:kYU?jl\K^[>]r]:Mn@;J2m$?pS['(]hnM/Z"EHS(m0FM-U%;AnW*fQaJh*&sQWi.Gs4\Q,"a@jIOm-3jbAB,@jofT66[jK3bU"!%YD"%\;,mZ-"OkW)b"Oqj[;6V,Oh%-La/,-1=EM*rd;-8s3^.oLIR"MKLY"\$`5nb#Wk.a1F[#n35aoA1O4i:h]s>k3RsieZA?B^/hE.2g)$d/)U&34#jhW#XTFCT5`TWMiMNSBV#e'[_N'8iil5/\;saAdP4k\j2,``%mn)A^D[L-3G==Jqd]Q-poTqS4g+dE_tR^!k)Ch>9s"&2*TRgBG[K_]H5WH2SR6:^P))-['DssGk/[1[Pak,1Q(\@kCD43W0WA!KJgCL0lE?i%B1f,SXAC4i*^B)I?X_Z_GW=@`Z8&&gc7Q$"R6rt[`f*#AMBVPb.^(O6E=o$XN3?e>Pr.5T*bK*"V/qHIf^dM?`LdDLs,Lf:Zbj/Z(_f).!6t,rZ9(LlO_p>1Fe%G$Vk/-3McZaC?"\3S+i9g=DkZ2Iq%rb1lIW'*m7TA_>>(sHdm.)5n>"+O!QG8ic)Q6_^OVN;^[BE_`O1]:8AN.i'Y,q0gPr-EgVu:^GVdu\TeXODffC5goM^_dkf[#+&YYTq1UAY"f/ohgHb$F/OMZ.NrHP>S#>F]:*e`*UO[frP';dmQ4K%sE\/HtU-,1MH3X3mDB;sYpYYl-MJlh$KU>!qjj\cGJT0nGHap-u7!!6G0gql"'!lNAm(FQ%_/"rYX6l[bY><>V!\G#[[+ht?-.H\Ms2e_+)ia.Pmn669DHVl.u8+bp]8Bs.YEqYs'0pn_7)_UTr\+p#6dG2Z8eh9^2;]\;>=,`]%:A7E9e`@q:S.S0S;X[m:bP[4?&,!2//Q`\AS.X)E4`>U69U0^2@XoH#0)YT]=T^K4[#Hr?:5:+f81O&:IO`!T):pW$//?P4r9'r)!X]_CqN9GN`2^`*-]!PKSddgnj2Vb`RlTqkFl,S30,gPN4Zkngr29hr"+\pS>0X\!]bS/t;\AA1NDaDX%_0p&skhG\K-AbXb3n:Q;SF&DNQ^t:Mc:^ZgQg*LBEl-)CLiFQpYmYp#=5\kdnhDIl$UfYD"#l2pON(MkICo`+J_+XL/YL?7s/?n,UL6i9ZpZn,6+gFRJfaq.VQnEC)_K9ko^hqr&IQ7Fo*A]-CT)5-/h?i=OEnp3V<$Nr\a<.*QZO/k$_pH<9U%D^N6ZlAh@KU-MN=-1sgKif(SN8-K;]-c:h[4kOPd&5HO[>d\JNsuU'JEt1hf7EP2jrWq2&,4jW4\-k;lT3'>h8d`o4XW:bV,e[XiI%e@EO&9#Un.B0t>b&bYd8%jI/P@1r6do'OLr@audIL0`ru#HkjR7(7&\J_,!^fj5r#'ME[`7(Lg5U/_LCFoUcd[H",O[pcW$RMWaQ"oq=/$1TfXt[4$%5d*qWJD)b@t(P1ubTBo:$n6g?u25c%q%QOsX@h15V0\Mahb5LsH^E:#R47`$Hi8c^.QoT`j$$!;+!f>P;UGjVp)YP@aTEZRV;,L\tr#lRW5$]U-;`q3p_5)Wq4'a']TH?g/BqSstH,;BD51o00AL)L/N1r2":_*gT,PJ_`8LWdMVu(OMlPVi1cNn9Zc]G1gHa57um#>m.k%&UZ7;pHVQk9:ENpL/*n;(n)[O[UpG'T:co0";QmaZ,dCQpl1@5-0QCQFc#sUiRsns.c#]KgIig&9?%HR_A:bnefad$W-L]AL.=B8j16NJNHZm)@GHQpO)%=3P1is@-.K%3O(jjXK`^h#"Ej1fE7i\5N:mZ[kopaF*rX@K^1#Y4-dg/AA&)CeB"&)Yo@")j>f/H*`hml<$#SUgM;d#aCXcg(;2os\VDef*39ViUTDZ?Ha*b@*F;4)/R4S(rWCDnC\$7Ka@rHLV9?TsYt,RM^!afV9V-:nQ27[<0Fnb/)0aaZt/KYY6Z)g1*Mqfd>5Xn0b>X;_mmW1EpU.6qZ67AcpL1=<<+1eU%CK;:_6L2eSoNE0u7-l4B(Q#%bu-L&c5SnZN*8Ggm.='6[E3r>3$5([)51Fb[qZK#"PTN&1`cs"1INh"F+sY+=)6LdhoNZ6d4]S<_;+'Xb#`JOf0C-7`jCZWf><8fPeM?iW0II"sMk\-T/D*)#A>-RC^TslENHp6KgjLVu>Ts-b^VcR+QBef;E#$ZWDhEjsHGYnV.6^\ZquOmk7r[3_]J,Fo]_K:2F'DStm3EloE9OU7LU29a@m$W5)Qhr28L,eV1J;Gogli$E&^oITQ>jb+jkE5h?]kg@)e5Mt_A*l'XT'4S.E6Hj6CAl[^fr`P;uuTtcKoq>W@*%tM2fHWaps`")1(\f/ibqG"-,8/BL`HXSZ=V[G\&6]lUD/)g,r-i#b1E0N=&u6S,e0'#J+P]pK7Ya=DhrPh[Q1q12Lj\&a25IPe$MAQ%WDMVooWLnqU.5$0=p5h5ZL48!iRcf)W]SEe)99>OYBh5j&CVBe1s%^'V%Db$_6/fGiHk18.Qu[i!lW(l$hDM:B?>8)qd=+/=)0-.e5d+N%d5kq$j&IQ2>IW2.M2OrT4$meKCZd%2Rk7.Km9SF,1m,)$/t[(JsSN)"/t1TG!$s+A4k.Y,hogn+$-;6iL\;/d/`bFd/.L^"cPOOdRH-A7)YIM$_[0k3)__.fP!5rVS0GVeV[#tY-XC/s`^j4q(Dk*0(a.'ik+4.iAB5(o-M#jt<8aW$gc;<;t:/_kuQ'^TaUg.paNepEi-q]JKNfb&*D*`7[0UB,2@A?c++gfV=]/kK2KgTH=bJ\7W`A@X/C1c,Q0I=YKndaWr!g4]Ss(BI_"VQ0V)FRd?KZ>!=jO3)8STd/X^5/3KbO,?`jS4?R"1Y4$M/kc2m+NFuL.UVK!_mf!;O#sm`Z!]c1\fu^)<(4sF+"Tajd"XF/6XMKB&eQkYDRVEF[\OZ@h.iqte-+R*gmooOgm_T]1q(458g)H&O8(^:X%K`QFFk4rC,83PsV3%LK*"O5p$/jIO/S?`J9HaoCS]ZN7_+j==nX]+N6&>YD:oH5WTinNbpg=Q;U6Ia`-3F`36^`k)!Lp2O&h>`We(a2NKWMR<>-fI%a?duprH"ZJ`/H+AGWB>`pM83gIo-g0iUm+dg]F2+r>=:Dp&NLhB*`^>&EMOYqE(,`Z]UEDm:R.@-8:#8R@K&Zo"GH=ZXuo38/G?uadcJod3Kd.o'I-)fP@RcWr0:^Xhh=p*Y_0m-EAe10_h''WaY@iI_FAEZJphA"%l7LjJC,Yu!Q<92F5ER)$QBmVQ9%!"Lc0g$Nbi6`?P]GdQ?oL#)2TD=)GEfZ-M/%AV0"kkRkOp$6jZ90/]8M9Ag75lk56!\flckAcAsij8)6IVu6hQL)AiYmb-dg<$5"X.b*Zs7^r@s'?b^03"LAJrdfFW<5&EI12_3Q;\+-p:(t;EZL=1KPuH.(?!XP#'IcIZ=,du9Us"X$+&.tIUqi:LQ3i)-R0f3<[Ve18QKCH[V9++[D]KfB]aLSY3NCg+I*:icQ+Oo@p<_<,+LL8Zk/R@VUp9V<2*IG*B9\Xl0'<(u'X2e\H;(5)IcI(Bd:,h@L6n6=\T`;]>T]#tTR49CljLYL(T&p2R)he=YClJ5(q`=laJ-M3[56Bo[sE?9Q03RSlU':.:kAkNBGkgC#elBK&g2SB$g3']ns^K:*MD^UB:r@!cja$uoSK-72u3Gp*aF#YM2=6/`GTKn+fn*#-2>4bRuD[nW.JZ=hBJU'Zkg6RG8@loO.)QDi7Ere;kp38NlK0+B/5%Gko8+=;.%(2*<-J+$J:WQNuOjH+moKd.mQ&W]9OO.`oHKQ;7J"jD!0)J2S3=^Ir9nN+8G8W3!;/Zdil2MT(DoJ\UJ2.T^o1L`i6pM]cH@5]2R"bMt5Fph/fBSO7lR-nK]Mu(ddR,e@BP/fG4/6g-4mPDhR2Ndr+t;-\c`bOMVi'd<$0&?JonHAD1CSAhZM$LIE8ed&oM@Ut*pimN$bhboV@@&euH^*s_1)=N!0C\D(I#i+&"FUCs.Y.8IcD8C8;fP%MtJ:SNAFYnrs<:[BC`R7tgYCD\.CpDdRd)8o9sa7B8BZ0apI]E"P[hBPQKN`OOYV,9lW7F9jVA!A-p5i>U6.\sU6U5e0JA@-Jo.Xjl4[Z%>ZI3Z>%=7Aj*"gjVLIO"QX"(4c,&LP,")J&G^G66>aW:dn\h]:bYM)OP*YY;7U[Zb'ES08oWnn$_`Z:HqSKq1F(`<#_T4YDG1j.csr>G31mUmZN?^YKC/KG\1Lb@?N&I:eL/RXYkP2g^TIP/Uj_0@T]fLB3BouL?7\'qHbU=9/MYDTYT^\2druX-WNLkhS_n'/@El01,qJF?;_L29KlSIU*^i@PO?8D.3\!rtiJi-;b[D#:eJ*BRt_4RL?Dsb1t14Y]u5.oOS9q`OmR[3,Sh_!qPF2:o0W]N3>.Ml4,#hV!8B6&D_J3&dg5L#?d797gi()hM4ZIW[?h0ME/"W!f!s-2_X-%P.BgFO]P1ft'VnU$'6)#+e^[8U5l*2N423jr%-RmPfaMT+,*l!u][feRYn87-S@e:9e>F@t!/,b#Q3j5h(\L?E)S(Qe.h,O[C"A@#a8k>6sXi3E,bD-_s(ps%HQKZ@)p^`NJ9aG#PATFFA5nG_!8hP@G]jjOggl@FI>lK\L&%jfphV4Dl&%_0(gup12FW?6LBZbNk$"S.YIN/efp-?s(HsKUq`u7bu&QmhbLo@Xg'(Y4CnN(4nE568HV6lu$Ss?t)OnsL+me7mcrRcmRqu6j"pVg+Vf8/`[bdHJHm_9)Lec.N"@^K/s3QbDKY&n(3Dko.\N;NSq4=ll]$!P54a$oJpi9D9^<"HC$dJ5/Q05XOZD^F@4q12PcCYn*k!Q_?!Wn)s0rtP"#4.<7$;c2Jm$CH#&1g>=;'\LX&P+Q0a?859bXj,$N4/_?FoYE%uM$OZ^_GHf[#ERGA2@A%dUBOENL_Z#Z)uDUqbDY^u_%PjEe`+[ff:X'6EG;Y9gd>o^QDj^Nk4Q7mk95V.IekaqW:O[HAnAO^lH0C:oL$3PKDtXQ/jNeQKA;R,B_/-mlhH)F)`D_anL+VT+>@iG,OXE3=\rB?M,K-e)N24P4b7b=Z2ub*8i!mZ,l^7B@[t5UI>8:l',1aNi&pWO\*b`8"HFBA3>aE.8+HLJSZY[/S.s)Ca#g7iX`e8O=/(f68[Y>2#8'1km",L`?#'idAh5W[+SOjue;V8-u!d;?&43>Sd@D1'T[nAoFi,SIYWAQ8'0"E^^W/CDg>Yr4>B;#kX^3oj@njL`_`*G=.q0mb?psj0lhb@qaA#N^'OIG&BA2Uq83*jp<#/h[W;I8;jIC$gGSL!?6%;ct0Z4l[=C>Id:%aiMP4=.MN47YVo7MUq\"c;7@5k;N>u-RDog7_FIR@fWoNk`aV<$5l,J;PgF>)!AaWmPugIhMT,&XPTSn,pO&q'/,[ci1$GeAMa0(de;RV)4WAesM*gOAJ]3q&jFMGahfZm.m3PRlgKh'0/`^AL=7]DPL@_orgp\3F-i*M?3C&1ipjHOlT8O:Z5Od*(Q?NisR,i*EOqFgHW43QPF3Q&AV&jO7]565q9A>[iO#;YeQ0qK/lZpLl5#h:@&E/?T(:_5bMu5K_^'=hP2r)[/hSRgCBCP0SBU9iFIMsiEdHuP8a.X&?C19$Lbap5.#q_WRT'nd!+4M/%Pq^8<`'1>MrlKkFr>s/S#&1[u_!pTs):3e;N([jsuVc(&8:C^kTMMJu"E6+[o$fML[r4QLu+=\5*gH:1/`&E,5J"Q&86(5r@J-Yh9p>Or!Ak!lu\bT5h:ieP*h,5B!(0lW3T#O>M);B"#_+84&8;8n=%c?A2DMMm_jJ&#C$#PrO`lJ7E=(3dW^NfcS"XY_P^c?],Sd6+W![8*E#u[G^@9J,^:\,Ti.UP^NqR3mr6Ws?RjTY)S(bAOTISHp4]BVqU7hN\H[a:4U^+OOWZiP?2LpH0,Y'sVXMS39J*bU+`D4'U_8=GM*h$e;1:6>9t8p_lJM\gMek)HShDk1EQ_H,YRj]l`L_`\TDd.0#]Qd)k'?GFdmnB,8oQj-7MM"gu!-_d!B6Y*SM7O^4e3Cn0ASoi(9IqC"a`5m;qm!YYDWeY%J\Bp*-@%;%b8u)*.ePX8'PJJtd)>jlr00D4U/^grfA(n?d/)r3EHBniS(FFOIBCmWAKCap*%["Xr8Q([f)fZAGac6-X7Rh1G_I:nB`iIUPRb*Z5UaZK#i'ZG(92Clas0N/a0*//t5<$M3D>C:KJjKjk1TU3L?M-+Ed^Vr-jr\_pNpEQr$'0OoSI+EiX:3:68P'S'@UdRJd$\;>paP"n.-miRBs=!Elqt)s)Zq=(OI-LR:OV0"@D;oM)ia;`DR;o(>)p6#sEQJ_f8PAq"0#@0qCU2<96&(L0He0FqS)[q/:ON&>Hj*nRb,m-W9.E(fNd<:O!J+FE^%#&`hPBtn!MGl=HF61*^UlsObBpnF^YcgLn%,TTB*9[[o_N%>RERn(j1Me8q4J-nHs$goAi]kpt-,qOK)o?bQmG&Wn9ZXWS#r547rT6[p+MGj8@!*`>d>M141B=ZiSrhF0,YSHMLK$===U%"\;:Qg3>S"`0fJLsI`\f!e+LmNCqiPZpA)cq5\=Llc'[$BJaER:[_TrJV.pp6_23.sJCNal7p$8I,t$9\-&VoN.^'/o?dQq>m381)Ye;eCtdcEHULaB*bF;FU8UiGTHmKkID8Zi_3lH&!NO"cffRX*,'qjJ@Fb==slGkXutPm#Y5MhR>dE=s8P>)oKm-ki^>=YHiO43JB3P2U7![XOV$/40PnS=+.kAWf3Mh@tB:I0Xtu$d8[1oU@Y_V?&LDr/3g_=lS^'+fNs;M/`niVR][tc3ssF#.7,p'cFmNg1XE*cdMPQ'jHG=aJ>-$djpMYc82+i!PJJHLbU=1=+d%b'_lb07>a-=%QGJRHS8V\p3%or@e[g(@0g.I"aFD%PnM,6/DLJ-In(mT4]C5)IF%bdE,?Sn;d?m.^@Cn8Qh(1!!T?2;0K3a_ejT+:PEk'T<6:(jtLJIBmlUW,S,&>*is),+k./ZWP@1i+&u)c$XKRP\Kn7dWY%4/XZa>G#s$qTmZ;5[U#hJi-iE(V)71$c$7'io3NlP$@$tMi;>SdK8,7QMt@W/$i#HRbC0S2/UmApY*#\-DRF5X/MFW$&#\Ho1[:t_952PEH#re.F_6\Q?:f@"BNfhOEfucuoTb_+._OZ0*]g'\I)_nTi@_#-]V#ph-F!//7B_F\`FnnQ9`GeL.*e@hs5cZ39%8@u@hqWsp#?(+8.XT3!=[Du9Rj7fB_\T"HXg/VoPmc7$eF=;b*Q%2`\7f#mXJ0!!+f$d55T3dBj9,X/Ugn/QL^[aPh:4/k%/daIODPOS;KW+q&;c@Hfh8'SDjbYKm[MVr4qg!F<7tkM=CDE%5f9U^S#*4Rp)j4=t?qu[TAY0g==fr`202j>'XuAYuA:tQc=6,:GL.mmbrY6c@(*ffguHeKjj6cFi;hJfoaM)PLuE27EC1E8W:RpZ7-UF4.L;mHqOrM(68P8G7Iq=PT]en+R7ILb;9Q'PH.:Zoos"f":\C$dA9(9W6-cBF4AurU=\P*crIYCe]HSt8^k+lZUp,#Q[hB]RgEL?&kG./@U;U:gd$=*e.$p'&!]qpDiAfCWe88J6/J#r57_`Xp=a=KBT+'UoJ"^8fgk6BsUcc;f\9SMJ'4*-W#@#:03G>enr>&-2iWo2(Ps!>)[13Rb]]bfi-oCch0pRKl6C6>P@[d$i7m9lO[7[Ps@n6@aao.l#3!6Mi/]2o>hZKQ1elrPEc@SuGH5PoX8?#d\ZXWBu.)i-Z_"pEOT!h&,TYoj]d.@t-o9:t[K^*_ntnfMjO$#MLr%@YflJ6Q7_&pJfR6nc8"+p9N@]LMP'p8WU#hUQ>.:956U80,U7LPkP'D753T5(2DXF+pf12rZ4AZ>B#upubqQcSi9F@M[T]*5+-!.9fu7JL:1j=iE_a"Wg"?FJ.CZ-^jR=LI;r)48t93"?SdmBIK7N-%W3X"WN>&(8nc0dI8K@h_K/i&E)"\Y^dH<-.Xn*b'g$nA*i$6?X0uaV$+B=k[T>IG*d93;UTC12CFB[IZkq*'hO,KKSjC)C'C,OcFZ>)H5oAPB$(F]+@1ja?fnG;/&fI2B`UIkSV3HZMhM=W=:EXK^brLjTN<;62]UX\6CgMp>!Z;XD/cEjRZ.\CC(RXj,PJl+s,]mJG?U4rcFICAM;#]KKX2sUr&KajY=Mc(j5oKhEguj82_0&DmXW2UGR[5C>WTI(D;?c!lZ\K5,QG&TVTuK?SN&8u]>u&"AUXoMBE:*AOB8kb?gfkH]Xqu+Rd^1`*s\_pdll7]"=jro*V#Ou%r08k9J&C(d]We6HmAu'WMp`"n$t9:Y:mQ>;:LHQ8._B]/1;j\EkB91MtKp&9I".gJ,MfHQrjc7HSpp*'+dQb8,qXr=fRAtn.EPbZ+G:I;s9BJ_uk8(`#nfakS"suHa:G?51"SGOGTEO1njesc_`EPZlSthks":??^<%b%M<#V46dO.Oc`FD6pZ%[B!#co#/Q3kPt8T6S_@6t.KG0M@6JEW2KW\Kq5O\rDl3M/?*N___F1_mec`konFBNs/Z\[bT,u+S6Y.R2S$-Sm?b"Ms*_r]O[&KaXm5-"G"5ZcA$$r0J&H!7a_q,3c[-jW\7X7hr#)!d:FpIH49)TgPa[OPf,W5brQT^4A/Z!*"J5CN\1Ydj+Gu'MS#u(5_E48/`mI^RK;AD(:hF*5O^+g<@$B1EQ=NRjd#\Tij)M.2^^c@,Qbh'218+T3fk0JrRI6m,626$O5Hj3,gXChb!$C!POL^mhpm!]%nLClaCdUZOVHJF#g:+fc;O[oYmJ2Bk>"C8X&(?rS"_EN^.1':!JghfK5?pPh_`VNd"fctfY>%6l#L,R-!^]go5`]jd">>Qb_3&F5IBtYDGB-L[>i+=@+4H02cm*i.c8A]h\["uq^p*cqA]q2c&(0E>NY[=,",9Gq,7MKO[C=],!D^E3<1g,H0%?Xi[g8HWj!Xs+rUEWPdC[;M725m^30*8npERP4K(.I/VMi^DYVo,1T2SSaA41?Fg;GES$5@6S_1(IYTc>"Zq=!_t_@IDCSJHX3]B+]34W?PPR\kX_Q.VF,0PW`jd-%#S?W,cWT4SPJ0&0GC/b-*QV[N8**hg"h.V">0BlNf5,\9ZBl\&j;a61BfriYJd!6Ng_Y1kXcV-htdASU.Y.ZVDf%h+G)I>_IC!f7%ZMe3=E?d>ga;_L6\_tZJXA.[kHjd4nek6oJoE'00Cu,p'VkU>tN8iB4eQ#a5-sdK.5"Nq4)*0hgk0*0fpdqF6OmPo4`k,e5&Z4"2c&K;l\*MsmtP%K?]]DSa*&k`=%0_Q7&_@njZ*ukr"?fTdUi'N52$PoibTY@-j]l.g`X%I<_&H.g)FLVG0.J*ZaO%Fa!&?W*QnW=7@MJV(Ie[O(uWnFLG5pUO1=Ua.4l4YaJaEHJf#'OeFF(/Qe_lMV+2hjGtQ%PpC2)q,bAb@Lh!\WP$.RIAWsFj<^6HQJo9#I5C\_L@',OP0l7eCd`.Y@7C#tJ3[-^pplL219.]Jg8,RCa=Fol\7mt7q)`3X*.5TrX]\lZ`j,"2-^i-HkN(uRJ&$mJq7i+cD*\^"cI'tS_Rb.L1JF@,QfHPb?j7pig>"F-#%B\.KbmrmU/lB_-])[%ggm<]f,5ru1t4T#>Mt=Mjs0KQCEGJ`+B"6CK-#2N3g4A/gl@6OnsLNlqsU'G7PNBS^,A^D5GI*n2`2-h3bf5/6W0iu?GK:VA]I/UXtuoP!>a9T6*K-5c%UE9W-^YTcj_j[Do#E*,m.6I6lfkK"1'](]E^/T1H!*$4i!bFe[s@k@;:$N]OdVb^C"T!4-\Hg3An@rab?3P*6&GWB>3k%]V]L&H<&nOPMaBR.?l3/&Aj7DENX9lOhV>u%#C..WpXt;,7DH*>uWceK*4.(b/6Le+=564ii_>\#Pi8a,WOZtc[&`M/bHaMu>4[#-P?#,Xq%heK9hre=Q/i]kVhK7NS"$:l0:=d(@+k)i/D#CU24\8JQ6PHt!3Do#A==V"\\)=!I>$49@I9j9AGUe8#uj@QXt=MZa(]`XhGNieSa91P)"4/@lXm"hG!K=.1+<.f\SCcT:gi9]4'[PU'usTfAtK>;sE]P,1sF%IfP$r#.0hXE"KM+s.,QFjNVg]^PT?P2Tnsl*De,Tg>*X/+/KHp8_G_,jecuk/`i!0n.o"5^H5$R]XI'K1q&9#MN$08]0mS=<0+0eR896G0J`2,2n"L?,C4"'1jLn-jeY/O5i92XHi;/V!M4a*Fb^u:"qs`]P@*gjaaD,8_c50Z6ZoJ[o$=rotD3=R+D"InRo"WKQomL_IS@?_ku[GN0[st=8[B3:V!t*0`=9k?MXM>baW2W3\r4!t;LJc'q\i+85EXU\mh)C9kIUFW>Z&:`=fq^L5Hej'D%8ju[J^9]6Mncdqj3r`^=oZEc*E8@)R3p.gFdY@<-Y>NS$\P%BTM>BldJj'HnsC^?@uJ4bUOn]Xg^K3:aWd`*DIH)A"6Bd2`"$:$8Xi\S0o0uH'l,h?nh.'Em(R'hQ-,0.27`5V0JuS0CGoI^P!I3p#^gR!Pg?\0'F>&;,2V@umla+JOVMta5G.ZPb:GqR?kt('NndOFF>j-KG-Q`&r9"F58h4WJbtG"fKZ[B)VKGrXlpgK4@c#gZ#:iY!tL4Blp(m]E@[#n,p'3/o3RUh+$G5s"$s?c*$84T:[C&:nCK$keJ(k^3=mp\q(c%Oq)qX$L-t\,j]1p,6uQu_"]F.Di9\^>G;J,n]Ukc,cmc4f*O]D:)a5nBbf5$lI)8Zb'Z,5d(4@mU'#%86^nrnWR2r_pBSZRS7"#ZN.W;em&\!AoUfVP'HGr]3@R9Gc\?8ZA3PabmfH"Nfs#4Geq+:It9N_]BD1hQ+2U5tN[mqHVj/3t.'>/I>-r(pAqk%('WoHtL?T'Q347,fXnS!5G-B'*&%S(j)7]<0P&.8gufd%h#7/`W1(JF'j#B@XRB8KE@r2=b+o[$7oY).f;/bP`4;EpdLprBhS.WY!L,$CaR%GmU%XqUVB9+I\o!Cec]`%70&Q#=\mVtlu8[&!2%Eu]'2h>5c!1Tak]u/Sn$W)^VqnWuen*_K'+(f*B6;qX8?NsD@ZBDV:)M013ER:q]fiCWAe]C%XN^?(k->Qu^YE]!RLEL_88De00)sdN.!-3-Z[p&,KKE76cGT!:`0cM?7C')_'P.bh'41m4%-Vo#)ZkA\#UdQfOM]gYu7aP(sa_cDtAR+GlQs=7=P=e?$9\.AqJ@,6TUaE?SLRW2Yg8j".'!8(F,L#^u8?N?QK7ri0u95a:OcQKGaV0T0t4HGnf]Pd,$WV])r(l)&#'Xb%kC#9R,.$Yg4,-MaEua9gjq=TZ+A'-t/]af9f(N\]EKSa!c-XTW?1M%(LAGpdW3^r+ocZaW9b^Z_>\!UJZ+%pZ@jgS!POrQ)bAhgTKb2hVf&f'\61Mg4HATSch,#q(?Y2.K=-R+YB?QQBS#EqgDIf]5tB'X334"6Ej^6Fr?;o+#u1*U=m_.9eLZh3@+[r;p64N$;7Np`V4U!eoEBpYSoMoU3Aq+P@cGmslTB5KCb))/[l+>FgYjZ0^+f7%>A!Y&oRfFZ#i\QaLVPN4mnLe.+>`HeE0orqqD)>Zc?*J8SfTt:=_,)m8.8;X-g\Z^h$2:l0$5fA?Z89g-+3f2d`%`G(Y(;5[`JVN7n5JN][0CQlf_pnZGW-Gs(SXk"n,&<1;1Q?l_[NZ)qP?.T!.28aRNul';uPQg/sG@GG+?$8#:Vm(JDd\LgW=c$DZhNA^46)hq9b,>8a-G/RI05oA>3KkOhP%=`7uN".*LXJd-sH-SaUZ+RpW?IK3i;Hct44>Xf[f-Njm8;b/U?uE#cE/thg^Nhh[Jb[ml<,;$_+9&n*V8UK<:_+/ZXX+:,H1Og]/2r_L\)0SUQ1UigEpZ2JY83oEgU-Mk;U5NhHE-%TX,fJKd^/jqGsU4b\V1>jU,C[gE-BJb^"^_>a(3mBeRo5\R50pU#5]&,a"4IT'8`;"((APSX8N:^!"=+8OR-m^*Dl=3R'9!,^#7&Mc`$D[dZ13Oa0S-8b\T3;I.R_Gg/)e+E`qg>;P5k7A_*Y>'*^Jjbg=n.5r*e,9&;/%J=9A`c+$0lXl_L81gsnptT");_.R0YY6YlGM0S8BX]%@9p&1%Ju#knDc9+CTlY-sJ3oJ6YR[,l2.4_<5q^f!5e;'b]*eM*\"kGBPS[pu?11,e.ho1oZqVfepMh9X?>hK54XJgWe)VnsX?;#>ncSIpGMqJ`fFH,`M@.`LT;lUR4G%/"j?ebNL;+ScX$4o.JqrWb>M(mH2P_RtBoX^MD:_Xm?+sWQY:`qr`HBO4IIK\n1.^0$TIhB4G9$@i5?`""a?90IpF@RhJUE^+,g27cd*o@Wgi"l/\&L5[oN5Z:8`6QVr+BGY@`h_J'4EBDLEi]9Zj\;/a+,hdMn]O@jLf-1X&!jY);;l%^>\*op;:jn_^/ej3r^;5Gh8gQJ-]hFO3_H5NnigteZ&Vt1&A&^Ac/1XrgH]"9pHSD+bRodXK#X1Hgnr-Eg/f',"agQt5NILh:DtldT7S"`2T4:kKpo=3k`_B$R+-Wmco(>lGT*GZeW*.9i(r^f@gh1XuKj.KFPYpuFV2NKJ2+s1nD*SKLUQi4@8WOr1#hE+0;HSO8f-2j)N%[+OPMS;?M2F9E%ml!$UVe(Vl%3]eSIQ*E$8i4LJ,uaVB,@W?Dt"GY*oij5%"`L@e6k,GF>+HqjCc^?"g,hFMlj.UgJ5#CZH_+5qQ&cp"9S/>H#gg`oZ9OG-743onJ>_03UqQ'kiQ7-)*]>^.1Hut-7L24*DmB1h^Ahch]OFQ>8]P?=aTjjiVbO>k)]B5.ThnBb/pQ2SQmaL:gk6H]k-d/;'CXO"qp;Q!gD13UdgPsI!!nPP".R7(MZj@iY:2:VJ%Wh%+9$:XZ*5"i&$n,^lW$o6Jp1^`9T#=;AX3T-MYH9HS4/hi@!\D_$)G(Dto6WbEq``3]Y6]@)FL^-&)@`8)QHWXaj5%/P)^qOR8.G11-_7.HtIV)Fj!bAg]cPqW8;Zr<.kia[J*.40fAp/Xmn`ukqL?<@uI=.lU1"5b$oZ;0fq\gA'[FM#B;%jsNghefB*7f:2/AXge^AP!7iX=78e-SY;/C#_P*n5su`\cI`WXCs-dau(ubXPVfPcZ`WWm(.?M&JV%g2Qa+;5R_9,H/W_mjLJkm&Hs?p/2*_B`*?ajc-"Xp_;Oa1U?*[5<4/B%D.l6c,Jr5oQTJ-\^P?Bg?nph\pob%YlChDTIcS3:1Ymd#>!&.\Rb*g9)fG."[L.,7seB@)G=EZ)NaU_=%?;r21\p4=fgjrW8mH0\hoXISj7]APLgRU2]5ES4k\?\O;@_1@2llLEM!2"V63ANN,$:kHF@W#&Igec9+cqTbO3/><=4Xa]WkHth;*h^RS_@k,F2/`s.5%=m:ta4V!XJ;s>rK:D&qPp/n6::+Q5lN9uP4Y:`gIfTQ`+H<13R63YJ0?1G@]TPB.;2eap-W)(sE\*HVQ_7U&"\&Nk(Qi[IMC,7LBfBLD[1;<35bAk>o0+9g3)3;^HR?F=/1]Ol8m;&1NS857HNLZT[\QSq^Q9LLPs`sh'+M7"f!57#]sXIsNnp?,?T8!WK;Zbqbj1-l'bPk_<71^?INZX@YbUUT&AnQ4V`cK(4[CM?7@1+kp:a]Vj1/ea5h!`1V>_Gq44dnD$PrnP&[ebUAph(=61%uM[oN4U?H9j%G+G"@A'6f6br0^\R9`l(ATcGiA0bNIsib[Y>^.<+&hNQWs[L%<%)^=$WI:b(2b!'-9SKf%=,9Z'uMmo-afD1d-EFaP2?$&9.XKiT(RR86[U9$+/PXAR9r5u2i_$dWB!tIC.dKoc)eq.mKRG,gf\O2fe>-OaC$8+f_&9u@+.d7D4!-F:)0J"]uYm4Lj+'WJqU[K7nMjN#!hL1NT-,Vefj)@X5**71>24b&ell:!Pl3kF8^`"bqD?kTI%_HQ;rW,u3s1[Ej:e[!4_f>/A88\mLJe#$K31Hci8nn;sN+/deYDW57`Mn3)%]IpsZp3-fL[S?Fbe9Nsd!X&Dl0iRTK+5;"k3<'HqR%Uc+5@1BIA$!@XlZAa$=CgEB.0Y%GQHWL2eHE.j/>QMKWaguAimlC@M^=.Hj;2_+Lmb!V#ka<37OA4Mp-:1`P#5ql9U3q?efYSoj13l^0'u^%dbV#&U;g#gZ"GBYqbY&F[DVdlX8&>AWB-#Zf6aAm&1)gpDXUR\rY+X<`Ab,CWb6`.`Dmn?F8L^gIZ*=#j97tNa#gAlt?MY4T%'!>+?s5QfJ$iSkWj!3N@j@](Y)Br[(C<*a8b?0Je"o-9L!A$&1Frqi>o&d#8AU^1o^p79Y=loJ'Z.2j!g@EA^/+gAR06,7JKSnAtS*P6TJ3SKs1LN!Wupau0EX't%KUJ/4,pjBVg#l$O[B?NP>P8=*83!P6k0Qj'P3/JZFmNTDX%KH&g,jDfH:"=?GcFgtIM'!aDg;$1@=#Td'[9E@"[@1J5%S'AktKK2_4YhRqrn1c,ato0Q-cm@i_e+oEP.7cfUN+[Ipd9]=J3)UT.-;cCO4Q?jSrV_HFoFg$F'R=Ym8)[N%_4,`^AO9&U^O$,j%.LM0>?.kp<&3^5[+97tbRq&OU:=i=9g(AOqg;(u\=R(eTUk8/UT8]XDq[#'4"cZWZ?SbO8Ksn+!-=2B6(t=$gOr:(JkZJDPK_0V&[4%nM1#BW+UW'3H41aa@]O@_E&3p[Q?/1rLFUWd;(c1O42!oaDRr7b&*$4S,T=Z:]-&IK/7ClVr<"]QK,h->.+rNoV".B`4ZnjUuB%%B.)'(^@`;/E:FTD1K8i&CBpClu+iOrG.#WUUmW2.U,cg'_O"38qj?si)P[9fRdcA%W(>UjTB6%R2a+7mjmLCW(M-1(Z2(I$8n7r)-Xe+OhBq`8GX@@!3iBP\J(f9U$KSO,:7/K37;\VH_M4(1Wb2e1e(?g2RZR5FUPG6,GTq)0l!mRal__G[e5;8=PXu5td^^]QFYThFK>jlT:#_VHqG1f$`B#r2)]=9'Voth=mn9(2=Hr3+CkDs\o0as<2g*eMiL%'YGP)?Z.uG"B_WA[^=^mSfcU*`TI!XcESD)tH*0JE%5XJ5]shbUOd*4]mm.k?I(krtmJJ9'&1X>bbVZ?CXaAi8tg;\YLn7B^,pL0Q7",6-m4,dNlhNklUX[[iVXc*n&*m%o/j,]3>CXQpb0%=b[NX%3PE:<\Q.4>Y94tO.+:N*Tc@'@R9m;[M&pm)cX4!Z+ljjnA5`9q<3F#fRH"RWWXPZ#P?/9%9/IO'!F/P+@rEAbhDT(ib`i#]ru"h-!.)abA`*(b%2VD3g-6,(W>!I&*M-9j=Q%`GnSX(U(uf\:eL&?la2"CTY3\p9$`lnEG,]>je$dVZF_,+0P(&`gFb9miJ()CfYdbmPG,Opba%i[!380d'?ZL];.A-fJpR]F=o[`ad".r:1)NV,YacYec(L*%1g9!7X6j!S(FbLhCR*(V@Gg?gj?/dK;A*cCs5kAMM:\eF!nlT*kKWE.`2nQ=06,ajFc(*uN@E9nsmS.qT5f#02f$'8k^$@P,[>pZdsD!Z7;E%q3&).a>!g9!hJ[iJ^kVIV&b8[\Gf/mh4>.U#gpR6To;s!]3!lW5j0Cb`sdFr`=b5/,jUsC/i,PF$^8[XLONRkR*J7X.U-b%."%RS]b(D2-qoXGoIn[+1tX4qC^I;FGA'%M/OeY@%5XA6#IG/@I\D:@^AI1Z3LE_YI/!aPG@,*0#a>S?gQk2:,jJsrrV]X+CukABk_<8kWUj(EC)&#'774HR7LY@^62fZ).[H!JM($oO:<$L2\B]gC.ed5`8Z"iaN3(W0!jNBKI]V(4;ARgDuB*TnI]>W((*(jV2%J#;LJT*_Q=Jq(1h>6>hJf+=o1GZKU2TCjl,>6>JS;k8\S17aSk0OVJcA=)AdFP]ONoLK\Sepb[$Ln+WhqL^C$Q:;\6V^%EGE9pRoG=*-P_oT8$t2g2_bU,.jeBGs#:UsqJgSapiC%94SJ5a_A\$MVkND_l;NHGA2kK]Cl7rsg*k4Xu[-)$b#!>*(Hp2qbdT4J6KroL)\%G\IIu!sJMZ9:GfaiVPZ,47gI[.*4\-D"BQjCuf&AH5r-o==ZJ%^/n=\RS%Wq`5*^(KK].&O9sK*`=U0ol-_=+_R1)8VU#?`QX7bRXFiVm"]"6h!+c=tX!Omkl^=Qn#J]l2XsUPL%i$R.e8g0,m2a13q[^rc<%+_$aq&WA^,7)-A/,NT9*&f_Gh4?+$&D.T.i6p#hM_R1XP*ajA$R18m,-7BOgHu2][CGo%4+Ya'NrDjV7#Nm^n]4"4/<_r5U'&LjrpbXq[&Y-'99gcWVf0/V"F0f6(d]`k[0urs?bT5_pr-YAP'iCeTn$Y$li?Zr>BJ&Zr+"]^#,Y0u3=GL<[r-T9lY8ZL0>(Ua7V3u%+%XH9Ld#tYfal?&9JMpG?nmacZke8?TP9_P]@1$B;XCJKd39R=5O+1:R7s21E/!8Tr-PjVLCcg-&%+)I7kJ;:/!BgVBr'*s[G4@GCT#&XMlc(,kpXr7:51C\G1_X[1"jI<'E7MH"-o8m=IKWR#`"f8%Y=[[9QJ2`U\d4@jpOug6_9L^(YSH)[Nb\R(M]7WW^2%Wcq1;@geOs:DU.l>b_L<%D=;.Uf!X/9,GVlKVCU/8"mpp8"W$5P*3l$M`l$R+,S"!OGs8F8f5eEXGo[s@!`<+BT/SX3jQO\c5TL.,Y^')G.HNd&[#r%Kp9TqXa;^dZ]qlEh1!R`gW+(^l!bE<>p6Uhi9S;d/GY;K2(TH^Mj[=_rAJkDYYFWKL6EME"+0^g];4J_m=J^0B78.pPcFA"_M=9`6O=FNO6'kkflk$`;GJP+lfDINZ5/qr%d,@pk+N44_MJbna%'DkU@3m!#HT/:&!S;-]m4WD,7,7s2P?:%[PbMI@2;isn[upm.(K":f/@pogHIBJC8ZJYhIIBX5f^(ERiW[m]F.BuK.F,1/_DVG/2!(p;L5`ec:N$L3tlV,pS"?"CPDfGS'GkfL(fG"kE@I#WcZubZ8T1]^!lO>Pm;p:;[O@Fo%p.e-.t;NgSVdl),PR">:N)PK9l21B`S2Yh)%rM)Mr9>^DJHD[T0u3[JJiC[Qq@7q5N-dOd"4kMtm9sVLDOe_n?d9EE\?dW-8Mt+1pkA]GED.+Vsc@8+;GnQ&R$4"-JANSsC!669meZcEq=Spc=\oaPQVu'10jLXIdAulfUK"me021!c9.f@!:lAm1;Im=4@'g12d%l[q3;WS;rTiVfMpio,F[dX;hQXOo>R.('s7FBCDKi)9$S`Hp40kn`bMSig$>Nd0ntbDqoGIN_B@/gs3=itKE`'mrMBi/d*%f"T+EMc"KiDuNZjt"mkcA&CE;;5ccj&k/NSI^uqd)1WJop#Rqkh.-]VdLV+[DK4LunGsN7s(P_/nF(=-\Nt(GY'#,4E1BZOra.ROP!rB[T3oC-r8oLekfIt[XXe18[_/%UP:(18Y/8"56c2)0s&!p_8g8-&n9TJoeK2`+$9#*Tke7^CB7+%F[_;Z`]K/(&:,1sn%nTn+_Bk`"I0[EoU!3mqXSICfH+Al#0dC[!*-p';6CdleRn?:+[+0AMK(r_YjOaZtlq_o5].iqe&I[Sm.A#J'lTj0j[,_hu$bcU:h0B3245fMT]L1K`d``1[gQ+#j+?$c]hOp`tEM67:3.[Ph_fe*33HW_[YZHob!:7Vn4,p`;?Qs+<]GQsk7@R:RN?4_#RD0M,8Ab5RCEa5#-(&<0RXSMQ&kNXI[<$br;[N,"H9OKV5lf7i1^RnJ<3d-D`P*JAuWf4\9%>KI]DF[9Qb"&n@W(`pkGdg"ZZi#O<3`$)+MfSis;_B:Gjn&KG:)0*VA@E-cmhbJ!8]^oJ*VS,j:EW4oh0B!6!1=e8>k=:iT4IRWeZQ)uIZ7oL5R#'Ad*:cMXcUfWEA)+lLTC]`=foPE!%:Y2<`rcGfTjPp5&)sBdc5\LPmoq_9R"P7=qPg'%dT4cM5`eI8M8pKBPW/*dBXSZ9i]Lpk)G&pZK/DLD&$QYR2P9p@B/QqA`W)f:\F;RYTs0#t`[%=IdhC_0?GRA98g*7OFA*DpE&#n+bCX'JL`9/62[HcDtGAG!Xgees;^*\L$11us$$0R/qTXK\"V'Em@Z8HIuWp;H_75cS4&266(#/!AgeNeS#g\XbmK\?.(11gW**+t$,%^:.<(VLn9]C]%]eC=h)[FWb_5&E4$`)k$f0s,=]"#jf&LOf=A6(C.=W",b+X.lZJ7Foos.Ymntid4,?=.K6s)Tre9cL=kfnp";FUGne+oM09liu+PA>aklGAU!ZA*qCGO9Fpt]8Rd*R0fqjNj;VSL+>JMcXq=\2F;A%'FACl$(^2!cHWSTfo6+)3u@qH]GH>5SPmlJr_;X]!U798h5M:6BPD/kV9]U&ajp3iL)HY=IZZ=-#o7aW;#54_[`E#q0Ysamc-"3l*`dEj!-[9Y;;+8$-9LYTm/s)@,A^1iujf^fOX"eq8;[3dH:q;gGr#r+,U%W($UcBd]$U%Il6h`O?jpS6$s6`B3"]'#tP/PNjb'_M3Smr)>Fi-O?&V7VbP%c0Fdt.lXA_,CG>M]@A"+ld%"Y'-Q;e$ee<@W=u>bb/geo,Vin#sqp5Jbd&)KifkgrDDtht?%mtL4m39-7MHPr?L]dB`;Wkt8Xu+24m"$mH#&D[ndR]>?c\8+\ifG&/+(`dh2_^"2PZN[J7)L!,AuG(FZ0+pSaZ_0]phT_.^4Q=d(oIq9j6[=SX7d(_DhL0;-S=>m`fUm,9-9cNl(G,A@l\B^GJ(pq`0([Dd>>iuE8UA?\e_'S*nUS&,4A=r!*-A+s(P@S&N*G6^F)3#NkS&2U-9g$5a*0^KN$,*>A&5eG/+j(6]pstJm)T.rpS"O`]KdR5.f\Gf/t.s!/q5IK3a+f+rsN*Yf"3ZpOaQ-JIY.a7C#bUZq0@Q"?Jhb?m8CZH+2rrK^7(?b9B@qApP8[^f1ZlKJ_`K-k]QW#M(j)cUU:06Te>i*beA#Eg=$cS?_S8ZRhoTn^I+WX*0\WY4^Q/B)`F:YH6M0?9\:eLJ1QiRk;U&c:(72(_hWg0;Xi^(t'IF*l+MI4`VjJdnFZV'nn=lhAL:-=[?mBdJ$D$GEZMR?Hai71,3(=?l5eUfZ5F+b6'=?8R]G]ENC%T^V>SdT&-sM4T0C2jt,JGSco$k7biJ5%IC:uhLQeJV.cc>__:,5?<-gB^Q:=#Hn3,g_p!!6%%TB[Dbl&Q$1GSqc++MrHRGo=S['[?C"e_QZACc:+a1_Y3sih&jO;LqE\W:NojEFgYHQ]n?tWNp.$GfuiI*PK@UU-,Oh_,4rNn"neikX9P?^;3XXj1$dPPiq-i.(I7\U95:SJYLTK[d+mUBRh(^/,jL2?l6Qp=gOQo0AR&V%;3R%aoAMZ]JUb5Ve8ck#ClhnaXK*gR`[in#&g.g&Wl&f-+SV+IEsa0FUe-\'-I0G3;pHdY2Aqe%T3%VpI]aW@BTfg%4J9rjUil>@D/Ip766q-lQ>A!#Dm%"A.YFjCUWE<21)+4N?F9J`k7_nFiB3#3HCS:KdT-T9hLALbNaNI#[@E?A!l'Z2iGB3J>Ao<2_Xg^d:C%;mYa70Zst#%GhQEl1mP(+*Jok)ts@od@ld:qe$+1YGX'"tNV+MngTglTnrtnY[QL6le]4;9qA^gmF$+6c;;Vbu!CQD.eC7'q%EZj9-p4?sas\$QgN!DIn[[KlC&%m7F8k)373JL.mn+-WFa58-V*DFQ&.1LG6.-5#W-#L<#1BLWO=I1BS?cYVXX'[UrM;pOk.H&:,Zep&eY&E-WaeUhpMHUL[!l7%9EFD1\m7I)VDqF>Hdphl_eZM3\]O:a=[NdJej=e>`To%aZqR_uG4$jNKa56TE8OT?b1>]"+@lM;Wg0P^FYog)g7$dB>)7=n6Zi9XpPK+s@$<58b6;1Ree>eK@bSP&Q>$'#0a@ce`/K3m_?$dCmJNmI7Iagmh1D+";E'Rh65#OF(kS]8FiY5WZ<+'G8bo_%d%Pj$pYbT6Sold8[d4BC*'[E5G>G_=4-@4)cmmC&%I53.i4UX:9&JgG*,=X.c.R`?mDYR@N1LPlhXBJElbk2+SdNUL<1'O9KGI$BT'8JIQ;q""[F(iAh>W+MC*.=r,:]V+0/:2dC$"$!b>5dF'p;3lI.5[5\1>+Nu-5*:>W4AeIeA]m-@ZSe:uNdh7G0e=;_m4/d`Gq(ehI\5Fq!7N&.ggD[[8,!@T@"d3lmJq?f*0Dn&sob7d,**)fA*UW783QG5l3SuO)rYU&Et=pTLWl=c\?bCO-J_;[NiIP(F*4$A*V-m;212n8c&K;-",+CsCY@SU6J'5^;P..#m`Vqq6ESL#Mf$1Yl^4pnN+h!/JUTh'GU@tbQQ1Fpb_@NB!h/C%&%5TW0:h@S=P4Fe!*TJAEWC`Vlu%6au7:R-V3[9TpSaf%G?9QgT)]:aieDH#M)WEGQLcoF"JjXaCR>^b?+-jTonXR>rALsZt&>]/OT<0$+`u7m/6f-*La)g[$t1ubJYBki!.RVaF25_*@tiMt"i$3.:u&#/!lef&qYPV5^\mDG<(kjuUY@np^i8^gFtRE[)YbqOd<)=/S(MU,tBYP7iCi^a\hZ',/I,L(\Zlh2dGQL)MFQD%taYg9dt*/m*)nR-%8g->)\8]UqHNhCp!80d%[E8e;.$fo\,,$hCAN8,V)Z+=_VXq#3CXf_jHW'm5_kZVtFQ[uf1NO?PKV?.Pp2&E"3F+.l!e`YYCNQ'0dj!s"i7=#IG1n]#ui$JdPJn5633NRCMiooI$B;&nh;DZA,6f]cBZgn#(f)0GCO^m/&W4m4No&U&)Gi4jgW_3RV4RREB%FM[5a;ODerk(If*[4ii&>era+@PJUS3;Hc(DtE9/U_t](A@`/gS6(PL+sfs2rqO@s,-JUTXPaon+`7Q=S$*DDMq":QoQJ)bqtK"8k9qt4/FiLb5e.gZE>mf)5dYFFQ#-eI/ONnB2F891.kufX>cN&28H@@QJDGp19@0J_IIAGq4CZ=]mVC]kSBZad1M\_.h_`2Tqp4.ZpoSs"@0GodHqf)\73a(mVpbEgdQ8HQaG(bPKumT%jloCpVI93nJJ,cS3!OXbJ-lkESBtV6ZcK[>\jeLG*i0g:Q#CVY2:V,*uS&TR*oa'sB74)7K-qaNKh/S'+ie$\C%MN'5rV:fCO\pAIZ$V88hoeF6BJJ6f?4!Dg*el=5,%h\tHMRoS!OOI%]o>grI3Feq'GVp?Kl<[mH_>0X3p?]2]njohP^*Ae5/"_0BV=W+uF5!/4a=A!R`;#9`geD*<&R+2BI@_?kq&)I8a'Ml'aao,-(7BM6J)aT3d)gkCs$0GjR@Lf;J=e.bY^XkZ?R0.Fa1C=;B:JTW*N$s-)bCMla.8$@YY]h[,E/QY:._pQ[hOm=hd=S-%PGGL>HD8c&X1Y;O[KCe#"HQF.SV2K5<%50t)K*-HF3DN_X4I^$32El9V[qQIsSg>sEXlBg`Jd"8nKXAtek`YH'7aidj$f:NY#IS()1M\TU++/ksfGbY<-31e1Zdb+'RRhMR?luJprHfHHL3b;7jEFt]T[POp*num"hdpVc*ff1NmC%_fQc#&.#DVH.ThAV&')%#4DSE,E2tU5Yq),'G+a0@QMSc<7IjTddMW+u9\lO64oLJ3u=]0]Re#kf[>KbDuL`Lo'6L(L#Hl_i;=:Y\'bUa?rpaMaIBl_=7a"/4?Wpb65n5b@]C`K=hIB@64T>7l]uGS/I[5SF3NVEejO[7\]+iV%oaPe@W?nV7R@:cn/oI13eFSY5DjrG/XMImiZc_[-q$0oO.=9u2J[D2Vso'6Z@U!-bK?Z0-sjo+oik]bqr%0_WoFgRH-(<.Q"9oN'imR/E35]>3%cuib`,NBiSh%W#VLi"_s$M4&sO"?gh/PZHD)4ROd%Bj(YA.aBGP8>l(4:sL6HgDJ3grum[](Zob>eVQI`q`rY``i87,6Z,,!CI8g,l]Qm(Q3.5C="l;aD=sRo7=EW;+lI,JB,uJGM\`Q7FVd/@0!<1bUYuiHT&p2VR?J2"<;M4lUu'49c!,&[_'Vrh>,iAu;f37Ia/I2dUFfp/g2&JV#Z/lda$sW3=kT4ahGPIKq=WOC1rU$p/Q)'%$Y`i)7Z<[dJG3!2S"nGp-MM[9u_A9F\"<#Y5"_Uh3'Gf=[_3PgfNcX@ckq!^q^KqL;;QYRt"X/Z6S=ZA"O?HX!obb?sh&=f2^LO9@o6#H!\7$F5D_n\P_cL3o+TE,7sF-C-^#7mL5cMLain3Rn=cS;;-M;VpZ[8fT?BhpCPL:(Hl,,`qd]TV$&lW6oqXh35>^Ec&tE6s*gO6'$grg%ui"^:^R,`m>;.2It:DNm(as7,2W23Y3I+;NR9G*-pA.6:1Q;;A<["t\l%Sj4X@@AVQ/q#gfsjnNDfo%qtUBS\Ajb(+CQ:K,WG>Y@j&[m^$KOU?Pg@.pN_iEil:N)0n*7>'T.nM4#DtmNC/c5?&Q"MMpR_U2QX"";S8Z[2fp6XOmgY%YKoW2!d0o#50/F`L1Y\VZX;:0$s*@c,:B'm3CP!A!NNfO\$dCiFIf0u9Hp)Jo,ERWIA>nI)k^=q'+DR'&Ng-hm%bRe2]Cp)To[>sQKKm)r('_kpW(8>WOi:0lf!WBP'`W3H3VpZE,Bp6TB@%mlVi*7k?X'J4eX=XH*cX[GaQr&Xa<'i2$T$LUALd/E`"BKb>FAV?1'^<"=g53*7fWHPE^KJ%ME]LdlB)A;4^A&0b?-0&b$dG>^sT(D:ZRjp]nZ_E]?)+.:pG+Wg"h-UKKgC:mX?EOQg=`AAlp04ZS6t>0F>d'qH4nkZj68Iq<,Wa'@\F-fqYm@LI^ku?"`B0k(!_.aWDr4&e%kTau_!'G+Y]6I&(GCAs#K[mUh,$7,[f1=7FRH+\_nj]2;[Cq9,$_ud077d^6c5nuRBY6`/BqQ!$a)c(g>+'C"KP^Ch:($7Ks>ij*'Ral)_U#e.#+-m]6.GKn02GW6ABEEa=RFfr37Ik4X5KQN8Je[hlG4PTooE^fZ&'^#SOZc&6uQ'[6r58?ocbG!"e!XNr[\!TR\47GFLuX:Y48+b04aFVt9O@lIn>Up/o>#"RKr^;gIKqnY5,u/9=5NYlG3#?Zk43,kUCa--_E!:->r'P?B_&AY1BPS*EiEq)!"Yu_`@/ZfAXO!D7*X,M9)V&$"Y`:9Lf8ZM[bgS$"4!joAUZV#.bW9G[4oT2pti]V/1Z>$eV\2XBb-2)_aeE*JSq)&.M+K>TB>g5s4`;40'V8WJKDo7YSO`UUG,rd&ia@K`k1>C1sZ+u+p(o.A_aYq&ukg^B(eUJ?PHIUVE`#=1+&AHE""o`-00,4;VQ'KA;`jtgE;<5pAfIY(X7C3gRpSZ6h%2QIM>TtQ47Z[Y(RW"]3pBtS/*9A&Cs$[$RVQK9eW'dr+X^q.Ygp^IcOCoGg;P[Yl?H(O6N4N,aQ4jGTk2)$#',,TBE$Pm-MIlb4\3gj:-!7;G@NOm0$WJ[3>'MXP/4T36+dl^eTWUqQR!k13;*i\hKeQ6#Xm?`,8u;N[U@tPn+aK!WuCRPL;uFJpLG!kbRE_eohr2Y9C@QE]L!0u8IcEJ+T'_EE>Q?(WjK;5R;8.dj;0*&Cu4?&ph(8sIXD##aH]#FGg`Du/*B-j4qoRf2idj*A3bNUDNXE5PNX'W\LL&Prq_L[[8k8,W\QsFIQIA*4[#8*28`0/;$q&:E@]`G<hl8KXj*:W<37q?\u@i8ZQ>23PC=,a"D?#-.e*kbhZVmll+(D:q?)l)q+>LqbWI;Q^o9ZZuYAN*HEW8%/%C5rq..TN3^=0%"o4':$JLhf0fH(&CL(d%s._`Eq^R@a:e6AWkSD'+BX)*3P2\g"r&qT2th@i.^]Qn[uRe&8NR3](6\D1K=(4WM96.X+0O,9NZLUW[8+^/oXZ93Y#"])ErL5E2!58oM-RjgQ@Y_`2=k,q:ZMdHaJ]S0o"G+F#Z/t@.OBsU8#b&-'d%V]eHTdVnD>ck@i'g/0)YqBa&nVQNg30Nt(Ltb=7^SOd$HJ;.?$L3ZrH?'XB<7iW.k$1IgG1&r7^E@sr'R?Xd*TBln+/)e4#`eSuUB:@#I\B9S'#@!H^nLOm^Y,755Ni1Bh#/Xk!dAV\cGQ/VP,m2@?8GBjluCH*6FmFPq`(LNLYr?tIjiZ#ZKQ-+7H[a'%fG9ZPR_!V\^I5))*Pk"42L=\V\A!S8Eh&sZj_9H_*kCQA"--u0@e@jC^buDL.n:%N"*#5tpra&O:Ifp4EaDi"Fg3,B<$Hhd75[Z4r4.lhucAn[MhP>]J[qX4"&H,P.HWg/f,$DEIRqKa&]Xr(.":1AA"`A7UfS:Je#k2\AiLRC+!@mf>=Uh\r,)q_B]0+"\n]2A/Ec*=[]-uX&_6r%R\SH4'AK3LFbs)9#[d@e-t7@"gQ;1$l*9N\8Xau-j_DA#pW[2Tg"@MOP.X%5(Z9(0l\D"N+aLk1k&aU8H5%%*q6ZDZYe$p/MLmA$U;p'BrL_)-"m>8kb8_:`>.iJY-;^jrD8nST@$[aU81:`IRYL%\N2G"Q4lq=DO(!609QogD@:mphf[C'ZHn@,8P$+ac5p(VB\Kj1q;seR;d;?<&fH4[7;2F9%dSWo(i/-NX;*/!ZgTg^pQu#So#0Z4$ha]qI)@&]1uJeIn*qB_Deq!IKt`Y+H,^*76!fo)XODs%l0#>eAhnVu*78*]qma/6LQ`nG+hGhj,"@dar(jmBcS*+GX(Xnpg.tb(a"'onhF]-/O69:dPs<+AJ>@\?_*H'4/AofoN&*R%pST-T#_C/f@<>uE)<3F_Vll)8$hBZc4A='sGoCAm9-'q@u=:;<&Xfe.)Jj];=%=O.&O*\%G4^O,/&C4=AU2>BS#,D^':qlP=&p5[62TKm41]4R#+=f,1dGKpH>;Y.CbDFD(MsD<6Ol]XsiNcMOc$)1!V'HPl%6ZY`kTNT@*>J:NpF@du]B<-3dW[UhQ*+`@&:fJ)Ijob6+H?rY?/El+i/_N?*d#Ch$ai4FDs5g+:Vq;42@QRP[23qVtadYpeL3)3@>*M(>%h5gmPbfXT7U!LOSc<$']pC+B-?7RZ)(I9R%:O+21:a,r_T87lGon,t&;\o`ImOOU'QRd[p:11X!q+DTiT&0=lYi[:"`j@_0W8rt*0=m1FO'5LG=*^mqVh.j'jpYl/,A3hbC]@/eB^[udB]3FI`b9gJ/g:GTsuL1d_3.pY6j*1C+l\Xc7P&@*"@6?nj[u6VQTL,O%T-JW\_%Zq+,:XYr5e>7g7e=>Y$$Lo.c(Wpr)NPZ58`,VK8)GYdPF<35Lg]!6^G\\$%fa7IGn1q\?E,\EP<4a:Oq/&NZ;LubMX9>K+DBZ#anEZYk$jIBr!(IWk*):%blfWlV"jBoWpp-ES)*ZmdPOs/h/3rcSMir0fM8dieJCRN!oiuW>Rs@%^mCSiZ8L.&r2aj+?SQTh((Zc@fge1q!-FeF##L,Xo-*u\nY1r(f,LTU8uI_6A5Y=^bo!9urH;$^X94g>G$uquDF=EdHYt;P=*=SU(tqdcR/R.GWbGX>\cS/N@bpBggAH27q(bZ6V\GZe4MS+_ogr()gZ\3(ruc;8lTkIP/Dm'Oc-'buXWB28[tkcm!(YOk-DHf.m&-Aa)@>OJn8^[A=54RT>^d=)cTu37r>B2Q.Gt-sS/FI^pXL7\=Gu8[q)o=\@_*imo_3h>(F;4JG9'34r2&)=/Oc$)MPDa9);"hoGp+&kUmC>0\iI`*1j&+6`V@ZQON:"p439/\-qOTkD5Yqo]'\%gn?OIc&0n:PM:*gCsJiDl5#9hdK$T1G@=c4th(Z@Bb?2JM\f6!4IprEn+T-'@:gu'jKo`?^E7LY]VTS\QOSZo/ck>pCN`R,U7_/f8WHk$cVu3"aer"RYXKP4-Ct"aA?d(7pf6r/(a.]Qh\B7-JJ$f;+.MH&3$W\Rc1`LEZ^'.@#=]M&=Zequ6XWcu`70mI-$lSREG`/KQGb93UR2,!pMt0+q@bT3ceeY?mD*p8:p%Gg>*f(n+:?>#8NP-)n4;$JHa)b,#]fDpfe[Y`_dY+o[^XI$sPKm9+q=,^k.7(@Fkpg$%P]b[6^i5bV]NGfT.%WH,P>+Kc?2d^iRfnHoK05">%HC0Z`n&n(X)ru`^o__%2#VR]6bUY/YtQ":M#G++V;/;&5EMbjq:WR"Z6?.5OPH&"i4.B-jdmSN;#bEn"-M.W-&PT`aVjq`aZYUWsg%uNcCPDfF,E[see;SV)#%uHV*UG;2mqNp2m,fEgeg)NGEoR_6cFK9Om%l;*,b2=*[>ROcE/-]GpSkMrIJZ`^uc2_muFbClF-Fo/(NCR.L&AnAEE]kT8;`c?!/8DcdSG%]2Ll&7CM*m;?I_:U=C&3p1"VZF`Ko;OJcG\+&T0\hG#DQ@Og%@hr!$C;sif_kP=@2?`:%:[j^Z*1L$OfhRm?bg\Ind/c]^p1S5L"WC3d6b!]1gK.EeQi&`gJLq"8R[n^ca(t@#0s&piZ)G'"oh$Q)6IVU*aMR6;5I'0g,P``pZQCfo,MAXlQ2Y8/b33DVH-:`N6?]n^I:qM+>iAQ]HS6$3jW61PlT$TP6&*80;gRl,*a"&9pc;F06arr\PNI[L&MDCS5'tI"bQ>-m35jO.djK.js^`NpDhBgWXr)7N3OG(F_O;M!tg[.inuNQ5^lC)VQOCq6&cSPS*UY'#\qe\j,s!KPd%PZn[Ebst/>P'.+JVL>cZpp2&,Ac[YKiu8X/&?p-o-nug_YP3"VbQgO)-o3_2Q@U:3gLe8?QqLenP9Ws:aN,i_/O;sb0a'sAs(Uda[R[+5\%-r(#niLN9EF$%qH*ki/am^E:r)0818hX@MeX_4*!pUHMbT9HpLs].e*XuT56KlJVdt#@5H?RMU7`IUbJYQ:=EV!U4C8"2R0M,<"_-4"#PL4D/tXT61Nn`t!`O!]Ep+_#4en_LP^+8OEk:qEn:eOn-kWpEA`8oVn,[ZBM\`3aj[qMbKl&>:<[2ls"/+6MH`CH-,A_&"/\FJfIor;II7)+rO%pI&CW95_hk#W2@.WT=8]Q=q"a-VDr8IL6D;7&]&t%Q^/">Z$O(^0mNkG'pUNWr0A3R1XJJO"0&Tju0gn>mf)&%`<@GB_M)7Pq,s,;F-l\l>mX38GhG;t+RGdo2:;#J)*BD">3%:#*X$)rM%g-GJh7*-#!J%3jm\%Moqi'bXrCeEDh2DnmHCi2^XPP)0aRa.4Di$JNuD,`g^Y:n39lGNHEgZcJ,A-%"IeF2gj@hD,)c2VaI76V^-TW_^#!$7/[M/0K@f`ZV9:9NG2OOg^e46)4THN6IZFo$I5KO58*_B9:u7+;PEnL'*03l%Yjj3Gm?fsj`A(-Zul?LM]I0QRpl30P).@<%8UO6kEhQl-[K+8dtHMBar`6A[;@@?EmBGqYBR75sQY[+s6;+PZ`L].CUtNk=Rs)c(RqBF.G'hWQE!$2iKO0]g\!08jU!d:'t[HMqFXFC%QD%Jd49qrZb6iWbnclK>S>KiG\<'5f\;:ciRj.!FYfh:5K1(2=_q"@b)sC;!/lW;4-Qb6ke24JSNEXT#4mo4U0m!Qb4_Z?g;SN+SPk]6Rb2E]`VS%;k,IE&2^M5.K4B@rH:QG&[99o\]-3IYE<=S=+PG;\]On%sHD(C)NJ]BJ9#O^b5m2bF=UF+H?K76-==Sii"IDN-U6+p#u\_m<8MDPM$Y0XE)V6utTNhIPP$**4b8Ri@B_uBF'!^o;3P44Y#'DL5R=8u6+@I\cN=/Ug^mZEM^U#=bY:9Kku_]kg0`U-O7/g9oCZs1^^,KQ$uolHJ\'[UiukMon(;j3CupjHQiR:2L423W7WdXLSeR_T1cbp3`u\DDt\M\&W26[b3#.=25&;@o!kp>8+pNX#1sW7]6qO5ln"mAr6u2]+2(JLG0]Z[\.0*`%R'@0U9lQW_2WnbXmGA;U18I^dtoRgS!*@?&j0K)CT.o`/Q?.h&/a_8t[M'a.'A8T#dE%aSFDAd9M8,g.n)?*\IC(O_Z^(@#ZRi(Fk8E/i_@4-^t`S&OjJ1\pSBTCk1>Y^f.*]PGJ<(^mF=^868lCI%'GSb<\m:H5FsKE-bMUO8MOZc#A<_:`\I@MD"T6I_WJ)-,LhWPT]P^jFW^?l'VF.8@$OlZkQ(KegIXR%Uqk0*eb.M#9C3!F7E7]%CQ5MqT@)blMaZ.89cGn:]pZY@PJrM^>.*Gbk5noDcWRIE/u4>.5T81gj=_;?."*4V$lS_Q_@rD4YOa<@OB5uJ9XXlV+C=d9lMkP'+\MAdpskMP;I6%[$tS[&#jQO\noZlfii.Hn_)%-P4&:E*<^Q?AKt>83+qe`NK0kU)EDV.+++@fb&)]0YiRMGujfc&kW@45$"P+t3.uqk9##oj`]OQE5P!Q."gDW8O'X\L9!7i1(k:Y67bsC3-L3*K:\TrSGc\T19V_pt[Tp+)R&q3hIRV+Z,NP.doMomIJ4RjTR/)O`L\.NMCTYLZuE5Q9+RaU(AAGfrGb/.I,g)TEfc`OY;4O%S?Rp<1>`*HR/lp$OT]uY3Nl:(u,=+g&&\>sps6eFCa&fkjQ4^PXbDd=Jmd\dl4P*qK75]W1sirDIuqT=I@2tVuZj*(mWA[k##X#&cT&0Pg=p]maP!L>R[N89oo:,?13HA64K;LPU1cj)-C4Gk?#I!nmYmA]'G3Pp1D+]omB&<15WQZG6m'E?[]*_oWg;eQ"$\l4U"(R]sOn-f^?1K7@dUFQ81LU5KE1MkBHZlXb[)1LuD4d6kC(U:\b*beRJiX;V@H^NFoh\3oR2mC+`0bD./>0Yn5$\]9/Q>3CjZj=61f:O6QKe0d7@k=$k"H'ei]o]Nl6_r:$_6`T"uc4!;d+2+IPRA#g4eTT5I#l]8?2c^e[G3C`5s?e;&erU-J1K*&*0bQuZ1]]?t$-%p%2MPXKaAeV,;\N$I!NAmrtcn?;BCbCFAS%hJDFQL"'I1@kt0pO*StbUR?"mU?/L:0K*!rWm96k2VHQs->XN;)$o3&8"U.\T\:i-+6X)gnFH?"A(iIQmXKS0\gsJ+rtQ"UNhg9mFNCMW_hW-!pbSGZJjXbeKnn]C1h':^YDmf)MU=K:RJuUF>YsZe&;B4`_QoC)fc,.f6-n/N5G9QS]]-pW7E"%'V/P";sj/)F+2GoL0*P]E!.C*^[Bm83I]kap@!.60#7J6-*EJ[;qSQbrl(#?.\Hq9B:>;1Q>fNZ+mB@onf_XaGHuCkjr+KrN00g7W_.!DQqro07r_[nA:[hf'"d];@RDkSDo-,gO7f-!TbRrjgJWY"cGPdtor*2*h0XaG#-0o`3q$f!9s'g3:!Y5's%Wd(gE-ZG%Tu^hd1g*mm\dnfq#A[<+S),gQSQg_OAeHkhCBuI-3/tSlm%lnT3h&^]BbG0FsM4DC8TdSh20*>X"Ch=N`JZgh=]5?)[qn2b*s-dA?^;BrAK`=fUQsX"!HUaZTa*(pEI$9.%uIZlH+1i#HtLK1TGA2s7^cD6JLl/26gRik>:l))1Ap_rhT1.,K9EJo_<@Y-Q7M8(F#PFo"8moC(BZL0M[Abote310q[_Ri;fC[ZuaH%#I;cX8A8';%e%*gJ,np_X(lEW7BV+Pr6)FaXT.lCNO/J'3MW$en%csK8;]6-!Qh`=ZYUb01=f43[`?6'*B]M1b-i-3TFi$4a%.gh(p$\V2"7CAI+%:ZpFa5gCo[T5o>4o9I=h:0?GWu]J?XuLm70a'3M^&#K[b/>A-FRJMi3PcV=,@hrjKXGY^)97Ih`[9ieMdNDn`>obsrl;4rl.!aeI_E-ME4H*sDbPRIK3X*-k[*V-u**8OB!S!8?3W[KhbIF&,X]gZEH*d>G$P](+_g**L_s(X-Oc"t1>O.SBGcIr@8SE$:;\'M-)&KoZekF3?B%3i$bsCl`0%hTW,D-QpMndPU"I1_@*Af;+cNTh/TI:`'?2T>fecB66sI"%OWLYrAgjuV9f=,$c_oSP]_G9S-99VHbYS!H>"4uq7*`=1&OEJgY5FZ$Er:Sd2q*,\;?hSjK;5$'ZKmW(5440n6dBg-Tr.A8GPeQH&:G+Hq`H+Xp?s,JXZgB.!:k#!*WN,UG)Z'9DXti<[=Y+q:Z&*]?/%JHO0*?JadAOCdb1phmSeJ(%tSOM6(aIF$oU:ajcngN\=ZTP$"p*_EWVN7MpoEp%h>3>iR?Q&NAmGuD[RJ@Eh2DRo:8`LF7ep\&PUs7S\.Df,[<-AiR5*5W-E?R7MflDG6?'bYc(`s+]Z)I$7Ub?P#H7>;)n3?m14`KZCX('E<.Bm_LoOg?LT9_fh=:BWEj6UbCAN)D49F2<%Xf`VT]GWn2g`bD$#5ZB1=ldOedLjCPZnas*/I&q'08+_/G%@RA'pf8g5)H'iWj$<\cDV)eH=Z83S*BbSu]@n?5]"03Hj0*[,#QIcP)e&KhR(q>T"tKD+2Mo4lp--Dr8M_7Ga[5,\:&I7T2f]pc1_/<;p>oqtX/,Pc\Q#YW_$7Kra+MJ+2:T3YL\:pHHcKVdSdjgb.4c'h5>i.=gQA%WmV0'<=5U,$a6]73+PL1UT_plQC!Cn,5l;1a^mT/Cbrde6cEcKuhiDkteC,T@JpH!N!IqO2s%6&1d7#>s',7_g&0qIlK)Mq+(1$;C%;<92^n1GMRIDnaaF_"-?FCMSLQ85s[.BEhht%%K]#l_35q14PR7i/B.hHs#[`DVoW2:UX@>/WI96L$gs75?l,EI!X.!oI9u-s4(Us?U@)/4Wn45'adD<]l[[(aZZ'Er.]BMer$H(cJn5`F#(X9^cB_1]Z]>V.`J:\FuIM+OnUfU2;AEpVkf'$ImPp\W/K',Cmml),j]F3h%0YKJLYrXd!buTo2QZ$6R#,DiN+C,(&-`0.=05,!PWIBPLYg=!;g14no8RL86n!(4Nib9"^OnFe$s^]KA]oH),5;C5G=5BT7AgY`n$iM3QTm\$/F%N]+d&2[+Zlip\pNh"?/>Q^Mi>JKY,An=ipcT&B5Y-N)s.qpUjiFGp\9iSu6W]0Ek5b(s*D&cqjnIB6ga#`82HHA_8)=ZOW4ai2D0NkJXnV3N)%\&4c2lD/-DfD]p;IEX-4A"R:T'q?"^h1jk^&<3E(h_0J['`1+>M%*j0!Sf7*!MOIa_4j,dV9H,O96l8Q2P5'dh4#/lrE\,3sPG\NZ68f54JKgM9Ee;Yj&IB2H2"1`WV5u*q7SaI;I5F(XPt[`FrE0fY0?katmj3Z-lL5=rg;Oh*4'R#P1-\$4"cuD1*G7ja[,86.*r8)V`n8NXZ*ER6fNUNe)_[)WMU^EiCf!b0HX3l**(roR[,:6.!"Rp.V55,&mgnNG3Sh2Td29mcCH44UEfNV+[iD+Gc5SWE8_gR1iK8dqiXl#PmdTd33K4*cBr&aNe1s*+5*Wd%i,#MuI&Ie7`>aO4a=U94`K(t!QaZp7=>Id/+AmWV[a2S=]b+N&C>2H,j(j#;@XR%RO>C9joQ`B[/",Wf2>/2PU3hYh7+SdFc)SWa@>$+jHej,2bGC#;#f##)I%0F8i!,kHL`:Pe`;o!#5,4B+.jDlr.NROJ(3BLb[ML'RB"oXAoKc(&@:c:?W6$][Kg4+SRdnS`\)Lm-J]Dh!M9CNUFhF!B?QQNgcmS:Wal(6,3M]V=8/\QW8hmuAH6V3Y"s5

&b:j!7!lOl`.P1^s%?,(^Tu1I$M3uhU5&e*Q:$Si'NuCH234UNYKrdc\tsj2]dd40M`R5eTX,3hrO1-a]ieJM(WTZ-XG[UcDLr<)X0TPilQX;*D7@h'A)S_Q:7QbP:'#CpPga&>P2AVXT$Coc)61pP?k,ZrVHu[VPa<>3-aY>@)%i)h/T&'Q9t?!)&s^bknaU?qYd@^HHf..kPdd.6i0lfI_Zk7?qKc:$0:XBeMH"560:QNW>nGGOco(ucrh?.RJ@CXklUQ[Xgk7Esb4L*ki_X'hT%$"I]0YYT9MLqmocc*0F7r*=:k,,V93j!A:8%P;T"1-M\Hou>qLj"hO9EZpomQXc%R2A/$N]tK*"s\2'UJtM.R2WKq7pfG+CfW-gkGGr2bP3NSXWl.O^ql#%BWFL+W-")0Uq7DT"R"W-O>OuHrR\-Wm/rR+IT=9aln;2?0f=!;oW3WM:A#UH5oV*IXKV;\H%uk84[(oa[-G)QQ1juP!D0_3&Kr5(#]k>:6]9>\.Y!,=#T.Zmno$$$@/+"#[:Vq1$=ei`jA<.jm^k3fhHMmjsL*hS`lm3]6OLa:T*aclm4@<+sGPugFC(5Ms)_(YOBO:1UN4LD@O6%*:','jJ``COQOM?L[igBF_jhk0*?E_WXTb4&h&/!e8(KbHsKAK>B'\5iXXWM^Q.\-^-\Zo:WP=*4ur6n$,)_XeWsEm1?'g26)T+lO/?8DV-\G\lR[rq%q[F^?)B%]-?_FuI(Gu38(9)ukG#rc)jGdqK4q2kIQ&*T8SSZTN)uXZm(G8-?)/_?]`Z2?^],e1aRG,CG9n#EYui+;^.<$1:8].+U_m*]BGq[:9sF`_]("PiZ=pe)sUQQ#(T*b8m?j2LUWI8$Jm/ZYO6o;1R&7poqT#1:qG,GqFPl6l-Qp'IT;Irf;R6Pt\E]]X%=g=o0><3u>m4*"CaW,-Hg6,LIEd;ehrZh6'P\E^i'DM#_#To*u$KPIstN4$R0A&\*;:F?MdS!/ZnndQ%6*o9.E7D,5,Bee;2d_jbL(,eT4sR20$o:c&_]@c96H'-D2Bigqs-c_n:_DrCXB)0jF>$EiV5^0pJogY\kCYmgBT;FjJ)X_Lc]nRhnp5?Nh%$;ad=4_q7<9T8S0Y=e_>PuI=WMsVfbjYqa:RQ]'M=uY_qC7I1AE[O*1Kf0GN=`,,!;$Q5SES*^1#0Kg\rrn_6L#(fL']@nR^P]@i(,oE08IPf14;#1,T&8=tK24>bb11[`g+Q1RSsm_cD`JZ%BSN8N]8P6*Mt)S".9sPe,hUbgKFrV+tRN(rTi-9!\^#C(JkE3LG*A_^I@_/PB]=anKB;)#j'2.rq^nm*pNRCsS"8]2$k6k`YM3nEA>-V19!PjS;aip1oP>2^VcQaCER3SZcV&?nU0YMq'3gB=)0WD""hYl*#0V_@4.e+N$G$fH00BC7AOt%/Q_m5$i)HmuZl/,,_qJSL*d^32C).=;\pI'?W1A2qh8*po'FdCLn!opoSbQ(Rcj>#+"479S5ub:%;\nT0GJ1AuAjn&asf1aX`qH0=k2p+Yp&HUk8[I/)EbJ2a.BYerK(9!PQk88E'X\O[!7NS!uKBAVTdlI.ko+]K1\%OKB6K?c/rFW`Cj:NoF$I=`,=PMV&ed03?d]P^_BGE&)';`*))Pr=;C:\N_<&kKWg<_"UqC74a>,A-Z^s;I37"Q;>cbpmb`3e/L,T56G$Da;lE8`,5/oKpWB6>(.LnR+oNoIJ[kns3HO**X+QJB]8S61re3gF_uiq"&s>b,ElEM3irpEr*=i_a`TBQA/rsB>!LBS["Er_(-J*4n-]"8[QnE6u0`tiC7K)I!gs*@P/i_Qs[VLA$6LBCRVFq4A]%8rr-\L9"tBOD<3KF^JtX$I5a5$`$W84+i)b'"S]K7'1"[VX?V`o8&lOAbb7bnX#Z:d.ohp\F1Ll-qlrLCam^(RpbRdq-R9hYN7"uEG$l1P05JR9"H$5V3tp>DBT?YE<8GO$%%hL5>G3\.rW+j"k)rlJm&3B.]ajf?V*h![l:W1/kreg+pj(A)XlLeC6riCCi+F3q#D[<%;o"do/r^)&.Nm*NUC]%U^"@e'ZuXQoME]N`@MU:qReH@V!ik4pd6Y3TI&!H>Wq!gt"\6#$X((;-4'@T<1NGcCnb:Lg`ha>0Y1i_?EG8:CU4gI,XUFDMm_m"]>G7-P^ffV6)4R?9^3?%D5MFUp2(OI-1\/F!m\#dO"mtIZVAK3W)%TOJ1/@9M<$0Cc7F3eiN9TeGOac`W4udKu`H8u:*M&cF&:Oc:bJkbDd)$:2F:u.X#h-oAp!]abBhXEnpkfoU>,"sX\oL>]p;p];t:iV(*7Q)'*0O,[CW,'H@PG?tC63pJ[Y0VEA'U!Jh?Ona3ke^aSoi?]2l-fVf05eqIEg'HB@_-q)e(()'1BK()/N[?prgB9]qZRi2G@s[Hc;b)+*-V]6:b'sTX-?-hEb.NEOSQu,/#\lfYAT@NH:4f^gM0nTJG-Rf#%fXjS/r5.*?V.$6j#k0lgcY#rPA#aMJ'eqP):N7p->Ct&Ml6P(YGp4%,-,8gR.cHp;QV9BO9D]*1pQt0\@Q)Y#PXKH;_f]W2SQu5d:XHK/_UNLeZ)L!Gk=,>9U]rAnRc(5kTfH`d3Rb+@mq>'4(ZH/ZcJM?jh,='anilk@"FohUeFM!t,8&PODObGHL#j29XS'LKYCt>*It4=G=HK!r"noS=_Cp2P52gFnoBK?W][n(PQR=>kIJ!?s>a%tm#:?Xo`>uq_/q="p8dBDd%HLN!2I\;-_'BRHR6&,toKCQ8`_ojY.ODi6$7bFN`ACiP.6hZfrhL^B"u#Xfct,*Ff\[Aeh+%OBa3m-qPe^gXl-[saF%Q@D0=SQ#/Z^7V;3j84dOk6T6*!5bD1J"6>.&cc#P[(c;5-Gt]5Jh@UET"KJ^URD1K;Yp/N>sFP[A`FIoDBnPc!I?1QReVQS.JgA/d[lm52tNr)RlP[sq.'f81n$.%oTCk[c94`*7ip[YKdQRqh1sF8SrUehB2iPI0fKQUB?Uap"(lXet'4g(a6^bf:Xd#+-_C_k'uU%0j"#f:Nd9-U-XeP3tW$IR+G>6&Y[7qjM&J9NqabCX*i;HAYq%%iCjF)t9YtE:4*pq@_>Z8uVNon*d#E8G;bT80E%^n64er;B60!M"[cFcX3!cgQ7?C<.BH9PKfbs$$H"BG::-9^27s**ZH9Db&nK9!2pK]`qF:@b_/KibimX`5)kS97=O`;HFeAAU.Hik9@&?rGX\@.`C=98a+dQklm8%S^pmrkVO#dQ;Il>*@TZ8u*;4bM3F[qBC8D?<$cZ(T4p3K4S"BMGZNh,rVDCcA2GjtnFVFY)LP7)(ln,]$(YX?O,0S?n>q`V4h`]25\(91q,i3&u-\oc0Nm6\e]AYWaQ;n_tEj+]giR:F1UB.84NPjBCe@;H@DR1S5Q3Z%6DHUmX0;G<>YENkF':E8amQSfoOgSCS;?+Kbi%">GNSEqoT%l40"&dYNUFVT"Ca!\M1(.(E(KO/CZ=!;hmYamG,W82Ql2#a@+Y"mCPgoYPD']9SldNLm3iT".Hh++j#)Y"^YW3%LRbce[[4a%R@03[CoknT<``>D5VN"M',NlLo1hANFO^H_*S$*JZ8%\V&0>Z0uh>_U*f(n0(@eRI43(>>b-QR`9F";n6R?d'-lN^u@j-7o.),]&8okO<&i*D+rcKF2_rV6BR+qG&=P/KrC3k_iE`CnU.CoTD`V84IK"qaftkNi[m`lo#i3D*l%A>j:'>67@\Hl*#h:.iaGDBm=5s*!CgThm[a=DJXYiI"UA1/0f%"5GTB*,J'!flRhHo[)DPFS*SJC?-+Irb]?61!#!3CA)WAh%i*ECOKi@6"iU@)bgt,#LT*h8a-)=d(0HEEqO@p>W4fl83TeBlD1M5I&3?\dN$(3)G2eYm^P[U%n;4.o\De\8895FI:Y0SLhge4Cs+;Xdd%_9rNr3M'G@]^B/[1Fs&`oK=R4M0)>T$CQf4%Jm4e5U.C-p\?p#-FZeKu`k1U00F:am_B8SC7C41DK7JOmPQ6W8/obH:qN%lta4+c218itt=q-cLFC,WILP'hCWBRN2DR?V?AOame?@J21ODnW)6AHMbQt32"8a4@Ik4f?t'kL(SQ[A%,uXrrqF2B!Mc\mi[ga&H,Z$nS.i^a#e"')V^%?5%PfDl't-$<2$6CAjs8D#\:F@FlrDrH&\C0_i?(e]hD%QC;TA'a3pi2)E#j3.-@S>`ZEmlZB)k1Drh,aDdVhkSIhJl@-DOr:]7'7i@4h[4!21`!j\$siBYH%'],/sXYf<(mcp+_[n+Wt>%,*b.%s'.KDAdnhpJ'*HW4rQAEC`/"(8o:9m/Z*()?sa#SFMmR;?guG/LufZ%3)F#cJhU?!]jigdAt$6n;4XEfoqFGt!#C^h@WO9#babC"c9F[O;f+[PoZKd_>Ib!PhUWK%cpp'Mk5@+jbY&44'4Ifi'/"-c[A'(,(J5qH1]%+bi7g[f>eLulU`0Yf1)%/(2Z.>j4fEuLc*',+qGgJ/`NFXN8]::$-YID>eI/6qr'+Na1%HI3`.91eqiq'[TpMr*jmRlo2X(/MX@RZZVmI13\N,'SM]@(e7,ppQG,-+`EW(>^PoUX7el$m(56I/c`;]LlZ1Z)F";?o*B>"!:3cBukUE'/5TeU-u=T[c=]6CL*IF7Wh#,'1&;u1HR4$I?A23ulLH"3%IaL"dX<&Tt]O+Lt_Ms?ic`YI/^Yu`@*d-%?R6k.=X"$d^4^<:DZ^K_[P0_^K0U%@8lpb7WBO(TU.JEft3:V=?i,Yr7]8l^qds*_9J9$.MZg7df*dLWp1Ih':#T*[4h,P.Jq1=Eqpd6&]4O!j+nk9JK13ri(hk,)K]WJdLlV`Fp>?5pk]T<>O^cqsN+[(as=kLPO^CVJ=+JX&82"`Rh.fJRZOEpo\LUJ^."RI`!++,aD2&JXH$0UHsORH1#mnj]60i*4CX"h_ES6cp\!dq]d>\lZ?O0s?S4,lU3I5h>M1,RV;49\W=Xk9E<*EFD@+.jma0[B?ChLFOb!lj@fcWt,tu#%W?TPPWBu0>]LCi:CTCCd)1KDG<_n^hki0Ajeu@O",+O9i)/u=8fRZKc(R_Kg=TQ@KpQm7mDh_>Q*S(,6GpY9e/To8_WAQ86)8:DpEs/r0S\-tt"G.`JB_C3B*\ApD6iY=^q&GJ=?[**PSS;TWp#ESDlor/]D0aJfoMe*@Ak;k4,J0n<(aF"r%PRRGgVQj0HFa`X^HWQ>#j0,nJKuD@WWM(El)\$_fk)\orj-RnaQAZFEY3XTC!`fNpL[Te\11e=s*.F)SS$5BABXg(^^Cj06SU2\>,srOQFpS/rK,dgkLjI>9ibd9Qn&7_hcCU@AZirtBKur0@7k$99]u=ji%^m\qDN5*^sXI/@/G0uGEGBMnIE7f@13+FD5&];t?fpYPZ)nc_FKY"r84(HZA=R"RfaQ"_H$,k5_jnQIE-c)XCWGk&,uE343bW@6"qLCS_%@$P4+Y>+DHDh5Y@LOa1AA2%Xt'gNdShLCoS(iu'ie8rO@>](@\1Jc:)/?UU=GNafr)V5NXFk6_MGSYF@ZQEE^,+W$_FIs9LXjib.$6#^\R5W*(Unmup\:j$7RAW9=jFdl=;oG^'GVh_H9rVWI@DM60QjBb9pBAL.BF4ZF5P;F&A*XCAln\\so:!7t'_TZp0hHNjB)Rg\gq6MgsZ[eSL]+pORJSTsCLR6[ZK!A2_Hb-*4!L`drB2Mc-:gg)[G9Rm;%n1?'C8XV)(Q0?\9aX[PdLsrOZYD[o:TITpV.pi/Q4J.C%E<=Ep;fBcH7W3"HP6$nYUo"Dh2>7V14V?LNM"Fhc/'-K-&gE=J)ta+-egD1>[n`O^d%b#0,Fbq``o!J%'S85e(q9'0?bX,[B=tkNBb*2!kp"to&Nk=C@:S#f&^O;f>DulknC]u?jKoCnar3T;\ac`>gnZDB*^(rie1DGb!+ZqN[I),-NN>/Z@gcmiD=sPAo_lCKe9!&sFBmq9e)uH%9KfmU%Mf_IRE<@6+lg:T!(=\-&sW3S-*tVSQJ&fB1G&8g+iaMVIU6+=@=CH7U&s//[esL@g%l7BEI_4;E_GD/9^A-pK_6,n5:T?Z%^2N/:_LF(c!E!U&AuMT4&pmj["9IN!0Pp@$>nh\(+"b9gW5'UC'^:7i[UV;@?]?oJkH#q6G[1Q^ZF22kY$2@cY2F9!Gs/6Y[]eWoll>+BXm?.l\l-kfhlJ]-lEB&k.6bs,#Q-:LD?Rc[kpS8cAV#:p;7"piq/^WuQ$keOFop&VR$KFs<=;d%RY`NDa.BU+IaUqJe,G#8.("J>5%8$+Gq)!?Tr,nR-P3-T.#u$R>Y#b3N5S*gQ+WimZn\=lN_"VpQ&:eFp\p=S6+f=GWD?"OX->9718g3.*XcdkD*(KC'*\p3/]R]L4P]'7uq027bK77@^]%^/(#ERJ+#X')kl]"X=E?e>H8B*?ff]6A94A^2=?$!&"()_YCoKn8t,PDT)A>ISOXh*-khmN[M>=fr9B1_0OQcNZ*\%II,K^e>tY!o)_AF*j^B4fWV$(7o#c_r::(C'?lciCNWb"%XdR+uC(a>7DemZ$j];BqntTp";j3oX/qAA*09,Aha;ZDfQ0cq+@.Zupk()Ici*ACr,q@nM3%3LF,8N6]O(.tGGsnGCUDEib-pp8Yc*i)Bi4[k*0ZO\X9Amoe?d.]F,Se[m(#IU$an0_kk&h7]E*/2!sdRaha;BGjNTaSIm>MX-Q"kuQH#%gBT0>N.kRpcl\KS/TH)cY@&WN7Ua>,<`c6oC5*XZ7C6I*i(>+,jdin0lbt5WkoG]C;[,2^T4.J8D7V2%j>Ms&WllG!F1H$s_:V(+q+1(1L?R,o-51Xs:=p-qQ'LiB(g`SMc1:%Fbp'0=r>;g[$">c.nihk:R#1"/R@_3Gp3Irr-B7HIh(VYqj=Sr/56o9K4>bPhiH>@;ek4nWM>.=:`lIf^.,.R2CMWNkTDH/uC_CmmEK_fq2ZBD\IT=f,M!f4tB/?nk9Y(@5!HmIf_.573n>ZN@oNOT(IFZ1KkRl_U(44`j-E2(DM/#M#mOf&>gW_A]r#6->EO.UeTu9#=!O5kLTpDu^B*Zp)c:t#o$"Lk9+aYbn]0gKaIeP,&r>Fu@PU%/`STKXa,\mV%WjnQHZ>LnGaiV!;N+U,<-`)umou2.J@q6pN'TV.gY/LDemHi^^=A"4/G-X6jb!hdQe;cIId>.RACf0L!,'DR0Hh0,Rco)WBNPl*[R]DoJ&7gg^L:[,aNB=qLKYPc1tfC]5icH"\1,HA5Zm3@c'nW4siL_K>M\mO)*7N]-V#l%gkTF8UNn=HuN0$N4@R4([;@cUnkM`d)i+R0IQ>;#Odu"X-Le>?J)FE[\8rmRjP3.outMc?[CX'a3`cWG!<'or9d"(6B3R3PJTCTOEW;+RueYX%-Cp:"n@g6'+bS7[d7qAJZ.Q1d%D.Y5Q&rKDefV-nmlQ*3<=ABhnrN_8Qj$W9-5IS+#&Nk@n%tR>j#WF0!8A)^?5u*hUY'1BROuY7E0H`TIl:N/C7Wf-Jk3SbC3V-a4E93?&Cc^m#S'T$8*4D7h$K/KA7?m`RYU[`Y\!>&%Ybn[)\R9!@KaKjl3\#2\cSU//Jn@G;%ebMhlDrH\iM6bh!hU5i7fGAlD_)@Khb$:Hs9-crjXL1V$:a&r=*iCO]WC[\HlrMO-K'$]c,(CF-W;^b/&Nh<=p*d_]PURl;&(MVOuAJNBrbC]=DUnn=poFU?m8ipg4Nuet1EqBRa"&%..,q9_u9'b']:LuAg8:_OP8eS`U_TS!6M`_il8r[._Yg5ZHhO^>^n#mlV,%eaAO;IP'>&[[KN`i5j6A>_N.=L0%9Q@oIqne8'sr@M3qG^aSKkNV1$`9aC>O?!NQ^k'#mn%$2HOD\u\U5+.LSca7+<"[qmqI0_]17ps1dE)#G9JN?!?[g[jk7bSq=eX?C_VAosuli0FUWdCUA4*>t5.0s9O'pmK:f%M[FVf>h8U?cLNr3ArF+aA-)`oO]p`oE`D>K1s`W6?.OGQh.qsJDgo"ISVN`k63pcs#@DBD\">p,^02,lAWZN,cWE'\[NU@s#p9ZU=cUjFim`k2WV?0-/-.9JI$q+3bYr!"l$&SIDXQThBaG8#g;8AN.)-IYP`L6@Z3_D;m:9kULUk0lfWmD)Whai1]kX6'9#Dh;ksB4FH#A2Ihu:D,Jt*1+?gQGm9+[W,W;VcTCR,ojfNF;bI@npZ]B8^XM"B`#n2mf!9Xhr8i\j^c-(N3:gd-3R_ifmp_]a^E6We,&KIp`bLoLJXCKU.7Ke@D[=nj'LaL"JQKelS0_kS<1d$rUK>(6)MfV=M^Xs)"1i'^f$R8<7e#p;].hX`ZlT<,\=V&dB2Za*dmY7mkAsuEo^rW1P/]?IoYdJ"$Q,?3HqAu:ra1s[dIH%n_Kf^sX`io3u^HX"qRH_)Sahu@Eqg%0WVPGGF@b#;5j^a!FfVHWXmuJ_V80.,C*fS1K;k;r!lB!_"XIk3Bd$;;rMl37oN%5?sGXfY@HI@/AJ)luD%FPJC$g>0[/"iiF(_7)%$JMH6`%0:Z[hlIsDE*.r?gd45U46=^`C!6H*1,%bKjr2VkS6N;45P<;8W*Zj^pB5a(E:qg5[M1`>t`@lF#XpPI;^RG<2l62Q>+j0:QP25,VD>>WE<*ocW,n>m;;dE"%@%r\@#-WEn+OJf&]![FCUA=VVQSpK^ThN0/':Fo4)f+\)&08#"SEu*mS(Z#+%b6CjK]W6HVjk(WeTthdnPUf=un[[)SYFDDld7\>2;LKd4KiZ`uT,2'sEK:p8C6=X-?>n!)/;"'G"nmB85Osti/`H04'_h>;Lp9s.-!YaIbp0QR#r+;Q/qd4Xk[TRP2-?@5/-puMqlQf)X?Al#!.J75=IR&%.EbCN^kks-_R(.7l-n:)uZ)mpMN65_ETIdI!!MtG1+Nk?AFc?YZhM4h84#*Q69Hi$:am1Wr#_p5jM"P(^d;P.r!72<<(n;m66@a\gEa7G7.7=&[&r[(@<"J337A("B&,3Js_)t3j,fJ)RcWquU!l((kHegJ]7Tc[R0ct+W8>MJC``:.BeZc!=k=SUafiWD>KRa3i^dq#nWdp!4ZsK,>nUi+AJ!u[aoG(7d5k3sh:DaH1d/LN,f4Te]]?lJl9HdD7#Qc-1)u+Et2#>A"hpr0$J"R#WWk1n'HSghi#a#tcdH_M/i+f2&A:E7&D&;1o&t9G;?L\(m'=fp-'*$5Z-pD+.TulgLGdFV)cD/DD[atQiCF:WT(f7Z%358E-$r.d!td4n_eAq+lP*K4G^&5jgP@o!W#R:[$UU\_IWhi!An7#2]7*cH#G:HKLi('R#R^];!0QXVUPBc(S:PMt.MqWV-:Pd79%j+6H41:dYB!jlZ:G.\;apC;!L_=F^tN>R9s7>]*(%2*NC]DC[q5VgJR?iI^%a^(H[d&%?13_Ho^b&UD$HdtUYHUO5-akI1<[+mC2:H(jqR?[_%L,<8U/X??,/.+m9.!@+FFk6%2[^U),[*M1a:hIGpD-6rA&g$/#WF`p.I)H6<^8096QoVqss`?"uc<5Loi'\%1ta5mp'*;`<+Gk2KKM3]#_$i,M-9V1o#(psA1Dn@1Z,$r.eY8/OElOf*PjeXr"8-4YGSqWJW>Im5rP3=F?8g`ng"E^Fq7'W/C9GsU(VUBSm'D[ctd4ZQYq.W0obG4CNoPVD:m-Y,eR^R5bP@g8GT"CnLZU'5cBh5+or1_,sOrc%Ot[#KFY.\eN.gfE\jnLWe2c)H5V>f(l.=@P#do\0F-9:1a]\4I38[,kX7U'gPRBi"H@,6$WK\?'#B&7.QLBEnhEMunB04rhSg/f**n@jV]*aRWALN5C>tBn]<_b?F3s+"p]\kN*`O4HG(YS[8cX+D"Cc+=S8>)Z9mq.^Oq95L?B\m-2fjG1M8F1m*o"'cVuc5sc:djqd\^4D[7T?0lp-l$((bN6bG;k?Bg=a^ASC+j2!tKXJU#Z#lfKH#fDi7+!@a7S(h%r-A2^(_*_YMQ!ZR7\VC+7,%4C`Kcl%,ATB554,.KATdIkHl-0J`,2DO;0'T9l*,XJHi,'P*kE+q`X5r3+/g!G)NHnE_pHeE)0.rC8-!(celV%`#aLp][s@+(Q/X!@*952VPhOW.U/Mgf,q=0c=1F>:<)03I[[.G1ttF$HD`)BN(d#p!m!(I]qe5Upch-Yb.'1n?g!6<,seEL[[M0:)7D1C8<+.MhFs*Ph'u;$1&ipD7P6GfkZ7-F?S8j#lNE[iB_:6b[uY4b]\H^Qne,2n)7JX'W`*CopOOFT6R<3,,98^46>O7Dj8-(TBoD:gLq%Un$tKApIf@Jka"!md8PGZBTS"c#X(Tn%+VA>::,Z@YlE@CI;pTX$T``jHm)iOL'>)`bN,l*'#stY(Ylodm:Z:dQ`?aRjbbD;NQk,Lnh?XJV(L]H.b\(j'#)1QTDbHGPkor3\i?@Z[fk9#2H__Z^6E\_h$qI6!Xk=fD`K+1<=.4M&ML&nCMp.u>uTfK!OSL]8*p+Oc$5BJ3@ANSL#hisEpmfC-8p8-UY#fUO(!!FFk'l$(*J,m>JJ"hH?P_XF[)r0rr`r5S_FX'Zd2R[FpZZme>64S`l5n8lQKR#::\ns@p29g_DLE?I[.(IM-9pl4p2pThc?YQ[dT8@^@^ZI>6FK6ggG^'kBQ8ci/TAGb]#tEd*X4)q?`J%I[K!2(Mc=+-sEd3N;T_N5E2Fk?=d:Ip%npD(&dBVQG,U'TbU1R.DB:<3T@dO9(<_^BWSGSDNgg]$%b@1`cCh*FI(fXY_Ha<-8Qb/EJ$Y<(?Pf*01SnmPVsi7>>]G5pUcI8"@cuu'ufkWe*(b$m4BIK!Il.?>fmS/khS#UPsO@3QhD0@;`P#^CN`+bnU,Y'^lF"i>_[P&QOqJFf8mX2UtrVn'eVg6l/;f&=td>0!,u3W<@m!].Ppis&A,e:aafHEaRHJ3O`\16Nnc>?(F2"4!%pG]+[&ZRGD+0eJ*@-G9_apP,"S>f?@$Z9iE&d\-L#5o09-&YNWcZd[sVf8f%3/dn][?#BNcA+bS"NXhOYPl!Mlg)-76Ou(OT1Z5,^Rq!?<_O6c:)(Jl+2kfF?eXm)=kIHTr8itX%XZeE7j*6M$.1R`_q*C?*EcHSO4(>jDbMsOUWhlQRiC2kmCKg!Bj.$+@#VglQhf*qP3A[@R4\ofN)__[h8PiO2M-ncf<+b1-kk:ITA#L_U8/"9FKjG:p$b]agP+;K-@?G46;Z,c&OMg&WuLm0Wu1CcSBX02I8dDcuM.@%`W`:$,6Q!$@mCsMAFbPDbJsX\%9#^Cc]gN5'*K?DAPlk5S^U\n-D#:\kTUPTIIRt/.R#rFXAr[Dh8-/8g_:_%>#:]'X^s9Ce)6"H8^Th$Jjr8r9+D0rHg18hT?$(ojOo)jO-;>-E)1c9:>=KnYR$o1);MO8N-19n(2+^*7>6[KM-k"(1]o)kL!qZd[h^Nl700pUmNee`0(;2=.Lioq1>i#"))W9auuP*uh\*3F(dF+tJdPbJYMp/]4%OU]:O@0Kt3:$N)9?o(6[q&C`)bfS<^X=)acnO]9_L=u\/ggD$V0EJE%J0Lq@Fg5/ieo7hEV5LTYFiUn]Z7"1aJThsFCji;d"2q`WrkL)30+cpoe(&A96e=3N-U_DpMR[gI<#n_Of"D8QrJ'N_Q@9lKag1qV\'**>:#&uf^Vsub;-9ETpbqb*7BrBG\Mp$T36dqIOQ.GlZPDQf+BBtdLp6uh,3Xkls+H&&,&a*oYeut8dC&NEmihu%TMmY\e0>nl+in[$:L>eQNG:$@f#cae=p.pbPr`W[6LlsP7jp1AeAs(M4ilTY/(\qW4(&FYiHp8jWUK+4EM@66^rpFICX<34Dk3/ciC!0j\=GfQRVj#tu)E4/p7+`r+NiW:LRiJ)^2),i>A=Oh5.UlYk0q&OVjK10iT+%U92+Hbk,*"tO;N(*c6JdqRHgg^FN&Y=2jlbbn//gM%VHc_=S`6cKbH[qekmE.K][dZWm%P%2P%ch%a+/SiSC^Qo,hk'@kMU,hNILXEl?W06Jo-R=+'UXCBhrS'(hF\^__jUmU`T'MeZlOe@9_Y]p[c+\Vodfu[J!=XbC3Tqrj2IY4^:k6`V2!+!VRhsPB)QHqNs(hJQ#D!XB7fH\DFP$8)?=FAnr2)eVKEf,0BJaVt,bmh^h8_CAe(=$ih&k?FQ5hQN*K@cqa>T"UWo.b!%(b6jo$im]N+/?!9Za$%J,S:!rZ2E$@tlIXn3I/.2VIMML'3OSZ5"53<1MSS9:p(OiK3?]*R=2$cs?/d*B@a8uA,?)mh`5db5J'`8J8MBDoZOX+R1JFeo=Vm#^ZRlYi!M%#`FoXrb"bSSI&@`;:Y%Fi(p65E,nYut8sk`Z>J2XUD,4nuTMq'q28L8eTd%nUbG8uB)MVmO.I12T#:WV%F@nh1Q4$"(@o5Gp\16q9Fi>98Z$a#1;>:r)OWbhlg2PaT7GHr7p3#<=/%/(7^P\1L[aG25i]>#5us%/gHp5>Vi`U\:#sI5Sk?kH1L3*Xos[fQa*(`"c[L7RGTuN2;2$I@r7bZ*;mXa'3q:]66pMJP*f`;Ddr3$(^QuZ8s5lf%GQ&KFokrblkA_K!#ndrS0:2(`".Q%<;:s+6!.&JB%CC7kD\e37W]Z%5VC!-qN=`l,ZuSNM25U`3#)U-=ElIsMU):R8G2f';`@SJ?_"P]Q43E9S2ne9t,g(j"3WGD+b=jQ_;Mbn'1i4n>"`G/"/4f4$P8Y7.e-'\'Xs+^IA6Wp3\fN*)Bab?ZZ5E4u/b^Q&L29JMn*GMj9a6lFL7'VG0t=*)HAn0!DC-hWCu*`1?%H%UK11&qi8Ue."6Z'_\A+8.J8PYDa-pN,oWs9e7a^E";pM!1BE._Kq=BK[VKjfu6&/2n55gG/4()%VidgUHqg"a15OARtaq(Y62h+BNe,k<@f@/J9(CqnqH.Ujo8`Nii'$Po!_WEHbARhm?ke4[eiG.9#V,rcP&1^+7f"@Dm4hb`I>6!8;PT;JJjgl41dVUl).`%D@_6>]m;.[GqWL;59@5pip^Dg;WSDO5N`DK9X;(6\*qb&.#Ht#>BPL.7ln5#%-mLcNDQCJ&h!=u9_G5hSo3L205.d7%A0)"Rd_ENjebgXa5blgj%]WQJf_)X9&/\DoldC2lm?ot3GKh!*,pjbB2nb*94O!a-;ok(.?if4=BTT.45VkJ)h'Pr(8iFU^?%e1P/$AVe9:.j"YnsT9H[03(]gbb5[='L(oOOR\jZTkAtXl!Eiqd--OLqeSM]_Q^>[Ypb&870au&$M^d([]7R#9rem^p($CQW82@OJhZ,rY)c.jT]"Ip!)(CY@]oiDV_#UjUp7JG9>;[a#rRY2XGj6Zpnc^'lCK_VO%UZRt(QMN<16(3dMEQ9[K5Kbrq3Fi()Hmb6c7dsYNH@W9f'\HUu%m1;8p.HfQJ/j$tNa`=KWhBb[Rlk@H$8s@2L_AWFJA%0cqTO04(K'+mG/=N/,YKp!Tn&W_eKiTe)F7*Y&C<+V0`K;S=GfO3n:L3I?fisT;Ed9K*('T)F'0>?NnbTd]5fj8RGPb(htVQX$4:-a[6!KWN\lqmEt/JhRQ.CnY/JE\ZJ?(4Qtl@/.c91V8[Ck/:dM*r\>%g&44*i3SM)gd>U/A@5B=FurWJoA;U+6(M"XKY?a^dlVVBp_O@JKM8lh(EJ$VY004e=Va8\4oPIQkok,K'87=NEp3:!6:3@I-7Qq)ujU[A)Zk=2VJJLAhpnfTSZL)o`dnlHg.5BD$^E`VNkVs3A(iH&%(\iA8[WAFL[]3U8QdkR?8go1*a+[Kiu!S]#G]NmpM,jjR&L;[9+KQjrP=[XdC^j[-D@9ACGS"FMS##J*Un-G]BEr/b-@;t=#c"/'>YDrXGAsik9p;b`q!Bq>&,8(q't^8n.)`php?GaQ!=*-\-V'?cmEjM)>\j`hSc*>f_?DQ%iG-%re@?:79@MY_eIa<.h`(k"[Zs7]W_Xm3$8\;^>opi*T*qRVW&\3T\K/_@8fBIfJb"^)I_589.d(.p;C/X8!!WN!-tBogQO?"@B0lZWU1/?E[Itl1p&s%-?9GnBC[m9[m9s^WFM1cr#lF%Hj:1M(A;%:?ei?'XRdXKV0Woi+'WttFEp:l7>qPI7bO>ARkb$@`R(;9m;XEUoNpAh&ctJg+s!_>-mt\M\QW.ca[EY!(02']uDm^P$6t`VS+sd:r\nIH8%f'g\Psg0l8$CTBP#8fBQ:#[3ZekrO>5#h$H0,\>:3!fsqKDc!T(C=3-Yl-5XPnr_]rK1:o9\%^:42q>H7G.D0F@^:\\rf;$#='XN2uU-1.>oSU#+^n+@TbUMLDnrAgRAO9hHE$9,4LQ2S?Q2L?ok>rRY4!"PmPCY5LaLNCR4ZV:Ej[7^[9bYRAN+/DI]s^(`'S4?200Gju^9=2,*JU]5+[:fF#8+AGd'TVbsa<+kKhhnChYiK*O/e7UWc&WD2d=oU'd3UG4"/ahDRU%p/P`A&qNFU]XuWUkM:M/&$u'E't9>&*d0"1AB=9?MaKsZ(Sq"rpl:_p58RYM$Gm0Z7h-dD(6>*UGW<7H=an\[0UcD(]8_sQ?H;f5Es!pRci6&]^.eBO0%\TLHibh/T=cD$U-p(!&F2d!7NA9+eQ%6b:GsNYH6Sc?Y`2\L^$=>6qs@"OC8XJ4rqsMs_&#WiH+l4$7V%'2YqH`'0#L@lp4*M)`AogpV1n?8O0U-?li9T5/fY,*A.EbKh4.F5I9uRORJ[\A)>a.ukq@dk*Kd7tGUe)#1:&@:_\R^LOZ7g8oiY-M]c"hmmn-gTfKRh1eNRd+X*?P;PLD=FD>u0KeX?SLhjpieXF*_>-W/*/_Z%\R(LrpG/XV3nn3f,.$nF.'P!cDFBSqR^/$5nA2=S&nB@8Oj/OPH&Z1nZd6mcV@/PP(/9Q.]D7=rP/kQs%=><-ms-VpB)jC0&(*?k?=c^VZ'=N<9"SCU(@,+td4\^_Cum2plD_WF/!aHN(fX27mbWjl.+"?BKaF08L&\u74e-]BcYbHUHnl!L#P:bAN[\>AGh6uM4&GZ^"!JDD?YY1QcC>RK*BQ)(h[0tmJ$0MGlA<^dTRIM^?C<7WQG0I"!;65B1tZ"Bg*["XnO5Em\d3km@+giac0G&_cF9[Ui77a15BU#?`2jB%RXEQFn)#1d.s//68r&$!/Da5eq86_K$ET#'"3Q70OjWMZOS-[Fp`V]MZUmH*D(?JgEt0/GdNY#&Sd23h2-M!(N!DnXdnE?6j\@@V4YTMb0V?i#SdNU6O.%T>7=n;J>o!$T?Kf4;$6sB*SkE5c$0li-hlO/,gtM*Ld%:Pcu%A=?5AaRo1;\Xcg@%9 F)VsnZsRnst^b&^M-"m=#"GjWA/pp8;t!W_S[]6srld,R,9SOj369D$;cr:Z3`rnhe.kfJLXTTlWqh0H@l\o@D@m@Wj=2J3$7j0.&=0Snl8&G/$)^H1dkX]pTLqTNbuUTPKpsE^9o%A:9W*FRN\lg*`_8?GN7k1a&g(.C*4.s&k\q[1^(gjgrDdU=oc2QXQ^WVjr925D,=#:-9U%']%i6=sQ!^Zrhb;'U?KXBdTX19"snC.1?dTrm5E+4@]g"qI11?cY44$IEU<,jgnA`,mT\:r_"BU3s%=@2-,XR@\Aaq/.1gHWsRo[KKaZRq1lg76s.]R%fpPY-FIU=C7WC''kJQTHSH*IW6,nOKK'`dO.R&^ET)Whh1%5@d6N(JdOOG$="lC2BbW4%:G<5($3ua75tq&.8hQ6@=(i65r''J2.\?Se$[CEUY)Kh.[R+r9r-UIXg_BV>doLC.sJ/6RC%HVa?/LYi1O',?`p^fJ>iUt;W!h&b'86>Y7Buo.BA,>@-Ak:8WZ"hOSLU",]spSqO(/^85Ae=RJoN[Y=4A`A;O.*9h&o6SJJ[&Wc:td_JD`J>]8:90Lar[0Helkl(p#dhC9Rc>%WG&XXS)!?Kp?E!((JM]?sFA_Wil>p.;3PX'_C2Z6Z=o0/3kVGuh';Yf_(o.+Kk:4*beuQndYNSQ^Q`_YB%fl.[5s>O\2]JcgoW[]&["q]tOs!WGJ<3PXi;IG]VtYbQm=U]5Y.r'g=&q9Qo-.2p7rj=9@3;RIL^3!+JB9P[1o4r-#\:[fUfu;IgFqlK$K#ODu=Il8uBl`GTDEjLL$0d+e\D9Gn*.k+[q(S]%CBbWQLsWEERpiXbU!,hRO?^jtNEY0*!mQ9;tL\OF4XO0qXJ8GXabOQ)j&[G./5BI$K>UAr/k'jUsA@:0R#pFQd^>(ek;!@8lV[e#J]V^Q7oPt95"#J@A5i5!QF?AG^bU+O/8bURVV6"rmpOPP]Q+(Phi68%(5%S7A(elM;,[7QcA)Gqf01#K:c,9PShao1a\c9RCU4kHkk-B!(@7gBPb1Xj'd'1Jiftu2B0<+""0/R5Ls#Q;PG;>-bS9BM"rl-HfR3^KgG[QZ6?W7+Zj9iu*=W35:>\K_$6.W@I0PX!6"XXC/acf;TMVuFb`(NiaSD=MdhGu<16T[g6e5:R6Y!Dbro3Z].+(XlSb'n\'u5DT9P^c42'C%K=#JD'Y@;=AWTI,n)t3\G3[*Q!AFH`\\J'K]Ke#Ake_s8aMmR3$93c)oq27AkaOY`$!0.&j%&!h]Eggk^KX&B]S(VbX,@(`9!6Pj^:rP>a=.lYWI_d!M4UuAEupL?"X$E77\-[d5J;),GeJ;%RI'!r(=qIfMD\C\]/H:iZ6uA)Q9EJ^K;:F&X=45jA=<$PL2s!/p7o(\#Sllagp7t7*-tWs)h,9`Va:WMrh`EFe$/rbKF8:Sl%eUpW)Poo56cp%O@(:k9a>'3"\ZtS"SKUo&2E3^9FncRs6H.]V*B9E]Z6O'`VhoOfXq7_DBc]ir7_P4Y.[B,'W=bWl'.-ip=?AjSOp'%W1Et][)C>7Tg>?5%ROf4\\Aq1pPI&>L5]Cp[b$VNrMY9'L;S[IuMbV1b!M[e'^.1AcUlp@-BFhFj:-QZ$%smIS;bJ0e]!&q]*@E'LG:S3$@,2J[d9Q7UjOjmtQZW32<:?`#:n5#B4FE5r5hk7.n"Q%1(:D>O(jSU4BN/oaa!s6sQ@K`#B3E,AjN,%q%2ni-]ogsNFFp<-h-CI]5a\FB=hBB^Z01dqgqdEK?(_T3MS`f*h#UP5/N8P".g&W:L;D9^o\kXP5r[e4.9PM-007"dj`gG=$Feu8btgp+AcNVfj+,CTJ_'BWTpK0tpR@+&GSN^M[]NTI8P0kU11*6<=gV=6"EuKSCL]@^IQ=[QPA*la=cEl+UrVG)RC]f%9\WuoJ;V+nVR4^T/2h)QfEls08@9t@Mo(\GmuM+!LKl72.ci'&Ema&G-QIJc(1p0=b7t183_k:G)L?ZcmD7(]&6n'=h^L0]"'V7Kfk4Bir4ts(Q>:H-0s+*SL/$4X#Yqpo>nUk`/DmO/On%7X_cSY(pN%*Hb`lh\Gq4q9hjARMA(Ag,@Y=%dOjBGau/Ff^op4h+]osjD(TJ6+5BC;ZXlj[SUY0e/3X)`t2[o(*%:FPBn"IW<9`Yrq)h]M$teNaL>8W!%NCsWf-csigcl-[d4YXq:>^a51\-G"mYV^YVD2(>o?#7!(@D"u>dUYcs=8T:oGn;knt6tA'B;c9g$[I>A3Y2I)f6qciWXGH`"q;q_7_^en4TL>$$o`aL!^uH;L)[*elX*CGfDorO&Id%mhSc[@!r?U,mh4E^I2V.j&UIeF:=?uCc-&(th)na"g=dXR10;iruY[tqD&>U'$1YT)%*[:=9\?tL>:Op\:eHAh4$uM=_[@`Uf'\e@\?HgrCr)\B%Kn95,+3`Da7b-n;%"E@mje90TQ#10`'&&DL%eA9rcmL-]](Nh&)I*Fn='Km^V[i(WL"%82Cu$kUGNNo7@[;r`)`W[A#nN7.Wlf*?g*nG11`!:8"CE=kM@?5CrCS]TL9aQ;hc*JT;Y?TKk@NJl't=FEKamuj+#eC-mfIIhUqf`]50+[_(j6>TcXqa-je,g.DN7"$P87DlXISZPHjmc&._1S)B50(9X=O:qf61VX!Q55E6a5'(gn^/1,89,R=8$Xl',hj7:tCc/<,)FUt(WCoL6+Li/#KJSdi$Pe=`[:o'W]$m7H$bQ=oH2:N"WMQ&+luuL?q&&OjR!'Y,?I;oo0tLjYhB>aam\;B(\1IC8.taLP>XW[A[6WMe]:3C%^`uq;$]9$I5l$\!(Wf5`1o"(9Wgu!SC[I:!cEW#,n.K9N:$N[Dj;mK(+na:@^L\d2XuAFC;j2B?0#Z=Vk!T5nG_E2kPXu7_m05FT;(j9cTA1emhOqg&k0a]mkLH_^UdhTgsfrU>TjS1W"ssl3P))fo$XW)JigF\3rn]8$D=Zn0fHJP6SXH;n2U\2D6pE&0&BqtFJ$)S>Uigu;F'XRq6X^fSu6`ZPiL8LQ:>)(Bj)cR\cU=MZuPEE)9,;?,`7*2%rhG%7ua#:\Ml[-)KfJ;1RjJ7TaM!GF"bdKW4KJXhlk;XQ^hTAdH:bLag7`0n)`#>sMX6B;Wg$kht0^&?_&WAPQP_)*fCN7k-[7?*ujf7E^-);Z+3X*FAV,(2!74iR(W,Vq]1n$=iog"IXpDZc\#*@ccI@):kgGo73G+X1\bPIHkUa'mX:*rNJ&j'n)"?P^"-giruK+A<:*lQ1d"+.:31@-8?.$`/lJ*5C8X4AUhPUCp_VD]3ru6Z8KEhmnVEcB$#XJd+5ME(Im-AK1\#<$a/E6F7[*c<;T_Pm_-n'b,-ArSEI8J9X[n>t'JKj%-K*&DhFd6Cp?cto^lYA>^n>G&)Ni7)#BG=g(cOfn)%/UG32B-3@Sq4/gAJ\cAMVK9A*-V@gEYefGgd[I?.fYO*R#V0mq(.K8MHaKmE[9PS[d;^)91IeYfr-"eGq[Q,=Q3KZFU5VJbV4PIQ&FN/^`J;\:tV%m52"oC)KeABW0^e%n!b,68#N$%@cUJ06mji=[TD'I:h!Q*H-%%8%J)eSug9JY$'F8++8'`JN+RPn(d(2B$psuR"Sk1QDD5X-*h,@brk`?R=!:BN8rg.oO(2GMUs93p>4;P"#T"00'=0Pt13#s3R'c6``V&@3&]k7YO$!J;@:n/KZfN,`gK9rDnR=)1Y4mPkO"N1a^Y[MC[qfR)\B%)@3^3"`?ak-t7%-";>'B\SR7t%!G@.n"#Q7,;g&"Z>#r-kQV_e1))l.QC/OeXNp5om+/gXb[1ebT4-M3L)=6Yk58*e8`_@=Q6UFY<<4j*hh)E7^*9Z5,[qA3iW"kHbiZgD*["K+=B<;4!-DOTqo)u0`-D0a[PNU7@R%:C@=+OtD"9.\ePiaqgtU=kZ!EcuDT2C7%YI'"iGSOXj1%I"=*?)iV8G9dusjf_c\#9ri?VWC'Eb$T$DEHubF7=%JJNEU3$gcINSNnUb`&sY@OfDauBjhA`L>QN&;N?3udR(4bRk!E7(#H9U&!,u<*ZYj2k/iQOp9Id)[rNtD"B/$K/qfC;f-ERob@fZ,!`4bMa&&c4Um26L]HokZ>bcZN13UTKjn\R:ao#?FNZ)G(5U'DGAWf"t6Kf@-qQm`=i8mQ$6\H#QsJmt@/"Qep"a6J2@EB_o1!]:L(A!=kSDkilg^>bMJ)$4TDD0bCV6S5b&=^E"l%Rma7eh=V_B:;./\9%Q3[$2?o\iZW^^fUc>oX&qJY!!\0..tjerL?>s$5I,:Ba;7'MHd^R@k-=im,tralk(:G;s#&\gg#"n()#9f5$+S!Z3bua$@E9\tJ&)U!0fON8D@`p;2pMrqG(bMl0YIW-^W!1+)N=JNNI0\t?68=e!4AA#9D!PUOeT:Kl:_4!r:=UZ]64"Wa7F2K4JRFhKP"O^?h%!?Z.#a#VJS0!+II+F!&_8uC==fN.EifaD-'mDblc8Jo>m&N9@u$pJHr0J`;0),O_RniZ3`q-F%hW6sQ^<%B'*T,nJ[$<1R%[gCh&=Yk9t;$9Pi-gq>f!\1QZ,5LPB=.)$Qi.Lat4j%^A$,CiscRqs8qn''[REHsYHh:C7.G6&1]dIU5O72^)0qQhP_Krp&M951/uE4b.!Z;Ys528^0JAs_+f0d7],)!BCUHLYn[S3AJJ!B2.g%4jO?^aKJs.3Be:rnGA@$>l0u^3:1gPGs!VHDPE;>:1_D79;t4PR(I5#_2Xl,RsDegM>O+%oO[V*+H$=TaS$aQ(_a%nStC'8K]Q$3i02**/t;KfrU/P5M#fZjX`$4!EdVkn);-+!ha3E0Gu+I6#ND@5]-:REF$(Zj@tC(Kq/5Wr^KD?#otPY6goPQ6A2N+X129)"!BbTUTiP%ogGb:VNrfD"l$L0tf"lIrrXkn2Tak03"DEu=H!'E'qfuN&_BlCB%.X%iX.*S+%1$S-kg%:>lD9*rJfl)f2u)d4Y7nBaTYNuAVXkP%/#(9.^AG7)Mi-sr_"-=r$*R).sN/+\87*0VrN'RG6dIsGp*d?ctGOF.p]#hN=.OEq4]^gs4_Ut^!KB"4C)s3D77]-ZF?^;2h.Yk_EIJpk1#dY36MSgK1XpscCV]2)/%H"P);N#?q`-m;iLrQBq#u/,Jn*:Ko*<3jjKC5m=$?[?q/YC/a.$GHWKA`DW`'Nbt*tfr:C&JBV>^dKjg`'gUrRGJq-SuP$\?;nFD35*GX4)()I@*i5F6p1=?C)J^o)!2%A^!-F+2[Lj>4`En>9V1D":%O:kHGLNgW2eL_O5MGphDN#b>\l(t*BMe!mu;J2B;ma)f5CNeK6O])\I4ahXq<,tIMaG,WIcjf=iG,YYMh%2p)5ZS^THdg7.QP0V;-+$&nj7NK]CY@D=k1fa`]@4"j**(E'V8@%9)Bg[7dTT?86X3>ppLN<@D6PRGOb&9>R@MWW="47@_2[bOW!oQ(Zm-YRBL8t!U6\@AJj\BNi)aiPJl>@>gD!]9-Yo8@K_V2^/B!2l2hW4TTsi$l'B>ajH8m?):DI0?-@LTk]93gqSWT>!HoRYb%HO&J67hG#jc%;QGCI19.[tXC\_%XAiUIQ/0C`6U:)`WmTRX"i;>E\$/1GXZlUD`n*T#[RICCVg/XkUf[DelVu'UnA,nBUp=>f_FKO?Uk%a'nQQ(;a[@1[S]tSX_%Ag".+>]m;L%HK!Yjuhb0IB#1ab&ld@K.ie?q,jGZu5B+#oT-sQS23[&dk0`OZ:>dP/8[S:+Fn-^@_01&9M%M)KZbh^m3?CN5_XRkD$.j%R[/m"8t3A\7%ZT*-3(A4LU8>e0-LFO$TQTCmK]='F+f6@=%[4$b>=ILY5k&U>UIkQXVZ[KqXZITdRMHpGk*b&(,CLu0Z7fWifEr;IECKBA]D)ZI`eLmD"g#1'Wic&Sr4+]jVD3"2:uf3jI7OLdd-Z:I3\#FP=d!f!=?O"$c!hhP;sXWfJRGCQGq(I]-Q4ODAYtGrruFlI%nuJ1$a7r*t6ci&ZOBmu7-pRLLN>W%r=:^#R%.PnkJA-!!O5iIeqWN3pVY)=`g_PqWsO.gZPLTFptg1f+CL#Cn!+?`NJ]qf?CS,,fjn5*8NCFUNWiAY^B7ank2(hJo6%7rl-pWjuX%e*gdqupol\8kP]1KC'&R+nK:EMR_2$hVs7bV"fG*NP]t3@%kLG%&9I_H=EP/\;tBJP0q5hTC^;5iS0O0%ATMBb><:XF*R6,HJCJk$0o4/ai;AR$O,q?SD]GrUhB8mV<%/*"@9&>)LYXRe7s9gcKC*`E9@"L`r@q*4di%[.Chbk`-^3i@[B)G4;T=;/S0tDA^RrLcPD<*-K/D;s(JG__9;qIsgS^p5?rK^-j9.JieQMQk^ag%iHo4Lmbf3cNB$lTCU_sntW/%F)PIf#"GrQqg'BNU3mW3+0`"QH-j=eoLr]@d!3kFjd.tP<%KLNX&r1IA_@t"_ai1eH^Lq"/0+SMGNGr2T7F'\n];Np7tpq,aNT8@tY11HOloq&ggmC\#moaCmhPE62M%0B/GN_=&=N8B)R_80[;6*@bmCPfVFk7]jVm;QX88bS?:)XoRPs5jh0mk_(]rYJg7.`7/ef/B9\b)?!/=uedXkf2f.:-g#b-ipgrT2U=I+f&.(+P&N!TYiimD`[q(fh/@H&__8j@,FK3QH9?):I&KOXK9+hWER/B.QR&6*Dr2./OHQjYfLC?j`6uBZ/+$3kbL:CU?E7(KlRDR/-di^0K6?#0T\*=5em!K81YPhe%m4;8TZ'GcD2\mHkp[H`-g#lA&LqK=&a-js!TiZYOPERe#)Dq:YOCcV8^RU,t:b9B>V,`Zkp48%u<#H:,%8FQkaG:MG#WAY=rQOreR:<0>E]J9u_(0'kZUtWpnW,GHF@e3`6m^LL#?8R3gE5o\[p)%pc=EFaX-h#=$l(#qN9J'''r)AS;%YumAX%8?G#2$]2So(V^WnPSPYrI-[!09?:e!/+"mi)CMWjbH$A8oX>M$[nb?ZPu#$9-@D=KIk=;qnrWb;WHmnDaB^V`Djm%IfKQTa6*02^;-g7AP`A#EpXV9o0bor!JR9,?fqfG4i[1"(.IE&EId*>;gfQUora5UXf,A]6E(H`"gBKZ0@a@N+lOh*^>1mWX`&<`C]d6,_Ya:KfYE!e+`qE3T)'JW9sS8SC*/HfEa[Lu5^@5+F;7Sfef\>)^X0be./j`g]'G](-?$G22F"5lmEg`WqY91bp0.q/k*%D4QJnjl"e.PI0n7fo*<6?T6Pa6J\PEN6Ne`caoYj1XKFThkH.h;j)>FVt(#n&@8-2Th"1COKA#*BS4Ctd#S8d%4%7@DQoRFrEA\"gAl_G/-^l#$;%=qFI>Oam_UG$=!m/"H]0g\$CL=WffVLM29)ZVCJ:qM[+ls95TYjhe(,W[GXhYgRSE1_^)r69cHI2grVe7q1Etr9!a2cV\$=8E`M[c2!/$e>D6iRL?Y$TQ`^E:8E*2moq!&(DG2Q;0UEESeAQ/jb`Y[]=gQn;@.$AYdjptgG1_@@AX!`pp6F[FpcIMQWIXe=J@j.Psk6Pc]?U?'?7n#"(UdWE@O'/V`+aeW6IZ],GhR#AN7RcJLfde!&HoNBcSDHP_+/=.M[uG($hgmCD)4e"O0Vg&Jl`iejGJ!G'-YIGUh,iB)*r=TDFLr.YnOOiR@ah)f\V#rhD?3^I0^Rb,$i4\7OrjW%3!j%`&"ZXO*:4i.$-?E="f%1Y4+p9Qug^^kRToia/EE9$&Y<(*O^WnYdVFEnUS6&/A3Yj+_tr#7&\HqOlo7aARHW!h\quI57A9MVk9qMuHQ"@`Nok[DL-f+#R#N7Ab%iHB03!c+7i6@Y"7%AC'd&e-XtB'-&EVDMt\;3P6g?l0G6>i,^_R@=o0mU+3:?m(UPCE3R1h$'YqU,e.BDgo>73@GS-39Kig6V&3(NOQ^&$\)\ed#6io&s/oQ!V5Rh'!;\;+J)u)/F9r%$p]p]$&dal6GU/7VUP$+tj#+^8XKq(EoIdk=I`eAcR_HgZoC58B[qikd]*ni#W)p=O]!HCEgu9IOrc,)<:\JSF=r'HR3\!'n`?)J3`Fk@#aPeYH+m6.g,MuD?[14@Hm'L7KhCH7I*1a,+#jV#[(Eq`iXjF$G^CQ`7&AJ#t*n&XJ4<[5cb3+ul?/nFrH&"=)BauE0M]iXpGW$XgtoJW^JV:Q*l5a\T1ld-u,hm:Z85@5/uL_\\$A1/FR)jl@,PUI!b#<\Z97F\9/N=[JmA\^j+%Zf5jn5,^CFV][C%ljD><.5M@f\j+91S"FrnhcTXo`g+4XK`R/-TTD5R,%P@^>ei4LIa&;j"KS2>ZrE.\eBTRc!WmCeK8DPMZo*kjA$Db,d#JEZf9Y!U*3cMs(r-fA?cc=/1U\F?SKZWn-`oDj+Z#\FhM<0U"]%D79(_c1)RBq[J,p\:-XArtE+;AG.5]5]ps^)@Qjp4@?V3;_[Q_K,Z0:\F-R%f$sCcf6ju<4/X/r:HM469:q41QZ`Y%#ppGf]0ZK^)\4IH5(FeRMW>Ce[0nI#E-?mU`ent$5K_l[r4Ufma1Ykp0/=1Y9E9+gBZ3QU_EkP5^ihbO#l?NVIk]i3E4'>6T(]nfZ1cS+t!*Dl7b')28dhTb[_QaZG$"ee!l#I>D6@Sn7QU)aWHCkEtU_ff*DGZ@@h"&0UMphf!:CW8O?23Z2Y`]Q`+j`)u(tb]=*Ggh*805.%Y6%84_5o$W?FM#+=hAp#I3]s0>#JuP8@:rdq@aX"BGfnP]5!obh(N_,-_RASR=h1mYVT2g1Ob"SJ0Zl[1'ZB?HV*&LI]qP>ik+Z(JC^mbQ:Arj&\`L[Na?B86pcPEh`Dp/SPu:CVucGZgc.Dpn8JJsp`$p`k!XUW5:?3nJS7FX?5JS`bkTqAYk&nfCB&X$>[R>h`WFj$b;8Y]/C2(ZI_gMXk+^t.aRWn3kK?-/\r)l@M8s$i`=51K7)8,79Vl^alT\n.g)OHgmP%NBj=h],]Tkr2a7lR=qkK*`j7[ZQ5LM/@qWNFl][>m5i@RV"5\*;.W59kJj>&mhQ,6_o3;&/E3)6TDaCp/?J'HlNf9OHh;D].q&[G_2Pqo@4Kj4fiG&'nCoZ4fkCO4G247)e2kL@T&Y,NKU$%=iZ![4uU-l/[=M4mI'c)Y@*Ee3jg8.eXtA+'eZhekVI4YpQ(3ph8k1fom=l<3LmTfVLnL>gK4=ua^_=Gt83AR/@2-AI`c/VCB[A`'h*Mc.,:T1(N0YrHc42PJ.hKYR.Cr-O82q6kmJ!'WfPV'^L>V`7h=5g3Fa=PDmXEK,>5aOC*a-(EC[-'=?b]q%U+g1R@J>1_`DQ%C+Ej#Q)K-*F%Kn3"PckZt//A7%"Ha;8CQrohd^;5J!p&\"i8:B,7S@p!p=>X*O;EM)jFEkl6e"*aqgHThaE1CAe>^gX&7Q"IA`d;RGPAiT]`<0Z-/fC#"FnOp&`9$\q>NQ`[.r_G+D>h)-1VMOmIB"lQG@[LU;6S-QZgs2pEp)lB`C$@`7UDb28fSkGK-?H[Id7VoJg;9DH1!)`7W(Dq,$+a8JMBE8;B!q([Y_TM-(R&tGhcXV]@l)`mg4R??2NBalR2ep_Jgf@6PZ`,>G5V-8MWa".EW/^Jg$;1bg>)nn/!cY%\eUi=l8)J(p7Mr.C5%f^Dj%@bbSN%..@!pJmeN[jdO\KF?urb=C*tb@6h"b!bT1;52hqY#5/CF;6@^k+6+*eVqi)a?cbp8n7;[#l)g?4RU650c;Y\DKeAB/d,`HeGi]]T!7A$dI5F%X:KkmO39oEI8p6gofY1(39$@(I%s6r[*[s?3]O=MHrWNNU,1i!("cAD@A`V?oCJ\QD@OCb3gA*^+n@J54MbgcQ.9@l]7Y>p_!pj(gO"S7TX=eo[U`7WS^SI'YV_Fl\03S)BJL)jOM.a/$Rb?TH=^g%tsduK[!<9\5-P$q7O/,jalZg6k-g3XK'TW&CNS;mj'[=R;Yn>_IN`Re.E%)(/_^mp%7k#7XEU\FkpH1`-Q^N==Jrl@Go0VX;W?"&;QWM%iAI>SZ*%gDj2Ob;3+mai`:Def@qMY.G0k*@h?DW]65Vls%W#7o@aa'?Z?LeVf+PG_=8XWCBZQc1LXI1O9YJLG,dT:oQq,\ekmK/;-PG0Z'oGYM]LFD%fmnk"+*3EhXe+7qbL>UVCeB@"4&LLMr&/]Oq2riAe#JZi+f^eoV!0^&A8.I5kU<>>4bC!&l$h<6.'=N@_!V1osohj=qY+!9#=YOs9$j/JSOXXKQV/*Z&n@cdfDq*D,FZ=dA=53\-hOtb:UR;sc>.&71TO&@mZRHT39-H!\>A6a#XK46FI[s7lV"+R<>'iN)-GQ4IMD@Y@?hZ)T"l2P[(V-ru7Fcl2_KdGSkMDttJ+(O?1=r%jU+)(u_-9Rsb>[B<'6crm#W+`Q`-pO0;/I\4;]ele6C;%cL=@hIe_L3OA8_o:'U]4Y8P$a,Q#9^P*K`:0PjW.8rlLa,U5oF"qCHVQ!8KHKbiGZ#YgPPRc9[.l36_q2>\#)?%'n%^\PY\&'6$Y.ZqfnJV74HH4ZShB6Y^d!4\n+CFgZT)B)`'h>lUA="HE-ED$UrQ((t4:XDW%7ac+E<#Kp+=Ye580'lX+2''d7[0N?h`mDY84rHck4SUNpV]93kQ-(H6\6XgNt'gB274&9?KAX's.:1Kc*^IL[d'+pL.-@4R&BYTn)nZ"Z%YjRGak3J59*-OeQRdM?X1BpV-d.G3`jLtsFO!tIo"[4+q+>dCVi**':Ml`##]s/%ZH$>\1sSGuGTR0bi%)X,h`u?gI$l@`:A!k1-F?>GDt#%(pj?e;Hr+Q+nH\%n^<-s7];p/p3K".;;[Zi-Lp\+)^4D2?MuFh@MW/&,L(7=sPE:YZO96:p4MM#hrsS[BWG5rWoEb?%Nbqn?Bp9alY9`A\*`L,X2@ZZ279CT3fd!#)_/B`Q[pt@<-?=bgnD1"OI1epi&1Q3RLk)hGr8Dj?S;/I7QKUW\fkJMbTR.NXf.NF8C\W!V\;["Mhr7ON?=-41Ig&'\J;fHIL$'C9D;_AEMi-HGp#9227Z"&:BSH;P@\]"Ug,90^;KB:p^Zp-&]bWQ&(_2p'JmLc^PA)M.p?2sBa)$0,E,FO+Q(dU/B5]LJ)Id6rji`.97$Gus/d%[rR+^!L:039],\iQ:Nf:nh])Qs'GJ8D`@"VXf:C#UAQfB"5Y\eo$X,P0VAZ0kLCML]UB*HMUgt5&.o3_eLZo$B-JhSWi/TFdZoIo*COK*Ksbs#gYE'7R^Cjn6N!"sL">d&$*:8^u2Q*e<0?4LV[IMg-.u:0AY&0NW@M4O7mjcIin?fng:QnkXa:a@#Ru#jW#&4G1MDj)T(7CSSK_*WL@eLUt3s^K3kTjDdf4mXkTN3gdQ2Ve;?YO9Y&%InZW/&?:(h(;ZRc^].ViBjDs;d=/FcMrZAPFo(EH$CE:h"egEC`XW0AWkcDQ179C_L)LiGj\0qVA1+K^UQM0FjRnT1G%d?b0W3.P$b6"h;D7>oZr289stl5?J^TABjp<;$mK'.ID/\7X@.PunB8G0;":9Ja(@^'>*23:J\[QcKG?g5@dm\mg#jSK8")IJ;)`I*78Zs=ad3?UT^nimh1.7p%SaEndks)dhQYbt;>^i/glf(-'"6r'nkQ$dME>QJRTdfSO%S>()larh/_!c0lY5iWL>Ff2cu;JLZ?W7_48Y*edh7O/_[N]53>-](O]ZJ4+g<'d[,][`%`,:W,RSb)',=>B+%PKhA^m7$q:-.985j0T0:^MS1."8,@(9+S(or1keq.W4/;:>mD('BL)44L:'=gHsX&B?Oa#YY!N+D'->cIj^!:<4(%&o4rseoXulY8\EV-j$>akscQ5ONCR*0rN!OX6Ha2Sg?(D[O78Uh`FDi3eX58V7NuK):L:@At`'@e,YG2E'mL"It>Qd7Yh!R#]D?[RNG`I?h\i$(lf]UBj[_SgondckQ2*&%jAtbs!:*:fVrdNqt15djI]W=(LpUPfMHhF**oaXZrj>DP0Vg%PDAsPDq]Eu7k!kFl^C#r?$[\XX?L/tZ;rgn&JmZL%*/'=-0'<`5RulcC9"92Wmd*4Ulu'L@.;]-n!M';*%Zfd+@a%E>u?YU)cZ\&fPJ?B8)GXXCCf(hXH1"o53-,Fcc(*o7!I%J)FBOd,oieML2]-OmF1M]DeJ6r_s,)X+M&84,VkaORlU>gjB4q93)pQo6AWJh5#Y#bC`:sA=i?$\;a?rl%])F=5NXVIs['3*O5`k1A#PO@lO5%U;&s5d$d>'0/N=RnZ58NN-o%tP!sj&,0?\#+tNZD:3\Zf'H,:`QH%#%q")W]K#11s:JjVMP_eE^ockfX`o[BZ'!(W"#a$")%K&.'&Ve&c'jl^Cih)UOdBL:,]&Loc(is`Z2588O67U$$+-792Tg9S\h*):ZO&6:E'fqu,@&S.%&bU[6iAg)jPInoD'],h+D"e`TGJsD79fQY^(2>9!'#2^HG;hV?CJ\3.I^)kMRGKf4^/B*[N\O1W9eXaKJ_\Mp%%D0LMX]n+Ds"H%HXR'ri-)O`8[GKE(Y#S?5B-jU:\bb@&6V`L[gpAPjTW792"\9=$esVcmu@J;aBp&+D:'rQl-fca)k$sD1M9T[Pf,dWZ@(cSqXgC4Z;W,*_=,$r%HlB7$3$C]gm;%!j%gGZ#D/,k1u4#(5"j-QZn)/.nm!GcgjRX$Jm+dc,8dsgfmopWd;V#o)#=F7Zf`Ulkr&\5qlgEGaCCsL$[SS,G:9"-W5`/T\+gE]AYY/:]W([^O8#)V>H(%)3R089`11hcj2ikE;R5Mr3cQog.A+Y"&E7UBX5qE3N[KN^E7K9BpGHS>#cXCYp5r\R2`]GM!]!KjL$N:GN1>^+,"Q46HmE=m,:R9NA]aHcJ2seLt:7QVW\.`F(P83F2J)F!%UuD2i.`2$0o690A=]+;e2&kc=eebCH,3S9X9?p!Gs^f8'BJ="Ng(GITUW1QG2'?\A&@"@p#>qR7*h93$h2%].jRqNb:KU;FDnhVG$[/b)7Y@(QI#$Y%:U8q>&VYlG'[/8X?r5Jbc]<*X,0&7Jg8LQGDVgDrIl.[ai,X$Q"P5h4uK4]$ek]KNbHi9K2X:O*-H2JQiN0ohEQ4XdZcJNbA;l7kgH=OLfG%lSKmTE7Qb[@G5_K3,VsKt2dI*urDW\`ULjCL-&3./s?`YJ6Q9'i_QS9[Ic2XI0[Q]BiD*Cnetg)'V%X`dd$k66`t*.te+#K*'dVp%!'"Zn2GZO3ID4[qS;69UbFBguZF]qPVcbIrQO.9X*heReK#cQo!OnCNT&f$qn-Y8DMuS-DW1c2qLD]7b3qeGS4I"&VEihXP_E\=G'OeXg7!l)s4m7-b?K=g?p&[E'J7%$CGu>Pr\NS4ts*T^OOHne>%),(!;\q,0[b^V4L%s&_5M\"`O7\q!\B[F;>n+bhd*Ms&Le5l_>PuV3i.%b.c.pgaYXb("?'+Vfk81$%"7HO#@VS7mZ;4Yj"uXPd)nYU8[la.>PN.F#[SN?+M)_QIHB2\cl"[Z5TfM+*#LtKY!!SlT,)9>kt1=*,@ONpn*@;COIqI*O8uuM`s.lfjO0\npU(q&Y)%#>)7QH7r5bnS7Qr"dXkc!]:A/u_9CV_K,ol[_b'm8JL-?Une8*;.S,Z@+1j5Rm]_$V^b.#D$)`c:/,K,<"0)Ef*3BpRF1Q6n'6Ui#U42s8oGqBt8J(G>4pqOV>>*1gpN*)Wr3M.H=hM]0T*q-`HjODW_t:\@TmI-="0$7U0oCQ]LZ%8@)FkjYjVKTB)77+O)IhpHl'(;[kcA8(X1mW;)n,>9SJ^.)9m8o<^)q4I+qm+s`#CVpE^M=$FF3d:pl42?j1iCR\Ejc?dRXC]9m%uhNZ)Gk5WPat3CjoqRN.8Gcdbc]\.ON9[q1EXl2;(@3l7#M]"V[Cm.`+!ldPt`'lK.$YL\E`;+j%+hA?-fo9;Td>%2$_)N*s:dHNnaWlG0gMHl)8oOSN+ORDj+O8lnaBV>.D':jY:mgsq$Sc7&4`OY3q!L0X@I2i.UKI=uj`T3lTXuhbVGt,P"he;'e6a#FG$.n?3tLq^Y?a).AQK?u0lT@V.8HDYs3c&YW#?NuI#3.K\L%**`[+0FT+Yo]GkM=^!^tA#_/koL_o:Y9LO['3=W!:6i]g4eC#<2/,i&-5U,ZLR\K=HrQnsZnP&JtW4>cVR"%oGG&BoUR^mMekFHtUr!;HX,?)+_uO#iJBX-&9@,AnEb2Z3;"!H7)M@CS*JmX;oUVCt/?ej*WmOnP^3;TA),=NT.?;s8s3/Ck`X?$gXERN,V2a00C-Bcmpfm._njX^:&+0Y?p9pc;MU-9qH1W[FVt@!'OH7OV*((DW^Kc2,jEjt96\BRX_rOSf\lqj76W&US&m-!e7?t2<]F-\*%5ZV4#0Tg0hi8I,'>^\4PV*r>Rk>sNhK2Mc..!TogN"UL\S'FghJ[G%+DrKB-XH!lb!E*u-;6oeY'cX#Zg?l-`Vp:iN+^0*R&mj%jmG"gpN,q48D$CQf4+`1'B`jLpmbZ=$o)`0$S96^4Tajp&kN-4mGeurbaP/%qk+Ld;eZ]D?6/Zu5@WU*0`L8U,_aL.1LZEr;!=j6'r[O*g`"#R"p^Z'rTd[#PTD#tFYZsBFbkDDAH#+D@)Y5erGH*KFEMlL1`&A@E*.ITf?cL>u+f_*J:`(\!c5?*_>k[_tL)XU!L/2t`Qn+oZaOA)s20&!_s)5Q_IO50E#FUnDTnF#<.28ucUY3l2KHC?M_=![mh+Og$H;[f+jo-!EFBG7*BPkl[Geo+G17+TE@s]u;l5K4NY>YQjHL+@nd1&a6oW6L0?`Q[5CEt:>WN[Y1oG<+=#)D*Hk0Q:OK*(b?=6Zqc*OcZ]9s)A$8Ve6XLW;M_(W!hr:7nK5pGfK'2s1PrXhb9oZhoUV_8IjT&!<9!j#*]'o[gWI*jlGWgQCa\kig<&e=kr[a%c/8j8lb=]\Wl3X,2>k/T_hjVPVN_'H^4.Aq$afb#/#4!:qk[jSj!(fkG,_80>86P[ek6$%RpsNN990]%?10S?Ogm4SlT4TM2hriq&\;o(1gYOdj'T.##.C=3aP40SD6F5DWO3!OiKUH-($-"jj%.GF<(suM)UR]*H9!>en!3j%'m/lfe'$dsb[IJ5_B`X@Q$pF+2p=RRiUI%],bFZ*Rk9+\'&-rp/p&O9*@^kM0f[bsH$_Qd"<]gtqnB7W]O*$!sL4[3*oQ^kQKS'"!YF7`)]FZ:/u6NR%*19NUu$b45OjgaW=cE<8n-E!K#`UKJQO^:Wr"^-IT@L3+*==ThQo?h2P+o!Rd/j?=H\Q'G4/pHuNUPH5q:&>rJ_'1^Me%$/bbqg(e,oMmZ4'YB<0Ph/A&.`oD58Q;RY#(`GKTE-]1+!OR`;']=.fZ&I6oPIm`"H0N%%r.a''Npnqd$4@'NYbLPN[tU_3-dlloN@Q:W?]U[\%Y:Dt:;4I-d8).G>PdmhP3It`!*2?lkas$[Ul>VcF_PZjr(#EPq;N066'%b:a10[4*tMgD@P_,*LS[N&]O1`/OC4R&q88]GQ;BCLaM8Qp!pY.7_TD'bj/bGKe*2'VX.2XJ'%)OqM8(qMCo.g(0uY;UP9\orbu+"!Q;[3Wf;f[ABNP`kLN)s1k\q)odXtd)"4#eb#;Hp6:`kC]tACq_3#rp9ooulSW;d9_m%gEBTndTac"+re9.e,=$Xl)J^IgV,S)f@.F#r@6Od,oE?bCG8'@Y2Rr,tlijSThT?WO%eIb6.WLg)-%"Z5Or":!RFk][CPOUMt[`/IXl^^M#El*SO5g#K@#NGnASH`GLT?ne`$Wo!CACfU)'CZ"@\[-H\-h[D7qt2q^Fg1;&J7QcuX=:o[$8'('1O"q&ES3g4T'ZFN9;?/3"OQ,`AdoL3>cYu!B(k!@U;WGRbs@fS'Rrr9OQ"f=uLKfj@flF+[9kd*/1a3:@@Vp+0XC!jS$t/ikDEDM\k*@rhHWS4;0l*%FsH5<\,^ih8)KdW"'eHTDDXN#r8/U$Z,gj\HlA`#+?*UPF>.TH?o77!4":gP8htSjZaM,Qt51>+M\6_JWAY=>:ITIJ[DCDXbi4[ZAX'P&8&aH$Yk&a\?nX`n8\/[;a1t6_guUH2iC4s_=RWB"PfR0,*GeQ:>D>DtUISRG;nXNKQWC]-eA1o!g5fn]TS'nF$8pFR!GAThM$SL`%BnS$Xs$-$Uf4/A@iI699S1ksEO/\e0p9@0*3JU#fF>os(75OE'+=r3>_j+LG_i"$\fQ$_I&gcR!X%p0DJ4/bE,a.RBPe`.;_qrZ^Fe(Xl@FkM(rE=-#aSPsu!f`hn]-bp^-lha-m(g/%mMQjAa^ad(7ZVtp-o!rel;(R.jNNgbF&1utc>!L#C@%!2?3m;Q\W\51ekEmZ8Z?CYXA-5'\If+?e%+T$O],#Fkf\J;9O7aYP<qp+NDn](V/_]j2]2(3.'l>/V^T+!Vp+O=<@MKbZr[S530B]F(a7;@n:J8_+BVsokbLG*FW\^r>BeuHfdl@LkS_"hKJj)b79(sdW_]$3%>H6rS(ci*t*#Fp'OV-o[%pBL"c%u*VImL`Q,*oRMJr46Qj.b^g,:rU4IB0dkec*B4tO69[h=e84@LGn*-Dj$p*lq;[PVl:atN!/Xcr->XG?0;1Y"lZ3kn5ZXhmk^O^I%JcH'9EfI<0YA/RO!i["W).p[K'-cuchj<\D_DtSTQJS'U8c0UW(G[e!<4rEsW``a,]:6[Z_YJ^cN;4]hot<4$kn>4MZ.>T1@SLl5c#V9Ee@PCHU,P%j;rJQaBkV.JL$9,(4#4,8\P"[8XF)Nk's6SbeMRM4i/H%n$"p0BmM_Frs&!_rDiWd3Z8/_%:7\RLCk3!2/GM2'XLC"u:(p^kil5cB9Aur(,LG9rpR6m9P3j,6quP`(WBh8dfc6eqrWg\"3eegV'[0=8=3L9is!W-RLl?Fbeg"pZWEsEA'"CdA7o99QXu*W@h"mg$GW2L&JZIFso(lKDX*3\6+CDWDo[I.[9s`_>22iR5)9?EV13Lgr]iR;=HJ_T1&H5488!8'_93h0:FNDD>,1dWY^%S9tYldT)H>5/^rh.qJ%-Qs$G><(@SD%@A6o-(&51pC#;QQ:h:>>`Lr*j]>fc,+gl_neY5fk'BgiRrsht]WO$Q=:S\kF-uY`=V.!(?@WM9,X\,)YESi:l\Q+#C46!DG.r;XDmNja1IaABT;1U")TJ:2Zm\`\kYAfaagO`,8AdFIbsA9r+GVKN[-1$`q##NQ<>lj*KLO5W<_T@i]4iS]R`8gl5'5ZqP+[kVo;Suek=\)0ZBH]J81iB32`6hQu-M$06a#qV=qG(5L%Z#Z:W1(p-SPAk:TA(.`N.X`r#O/?5l]3G<(^1j&64#+Qq#/3"`7)M$X-L%L2+-Ehf"l4(_,fY^>O2*M+leYU.pW!i_Et$uD$hZ>:T`15\a=go_N=I=%Ut.="1oX:AWWZcl2%m.=&Wou6M-.C1]3P[]Y]ejDInWnsd8\m4.*W1)_jD1q'f2qi=e::O/6-'KO'L$f$,-O#OZ#\%@d2,K:0GE/gYd4O\2@1_P]cAV#hcV1g<&7?/P'4E;b[R@d@'_Yl1U@ko$fA]\_jNQWH,u23X3!VEJ2spI_EZF.Wj54.-8lgiq6D%2W-i$q?[u=:'D;[pQ%p7M21=B(F0@'U']eI7jPkqReb*15c(9P(6ZE42m_;S,m0mA8s7F]$`7T0O[/&'r^&AY%XC%5E-p&hSnm;I_>KOZj^Neo+9Nk6(U4oK(3,TDO(RT_AhkBc)-WT`WTe5'+Bl_&MYsRU+&SO\^)tAShlAlX%PI+t7QXXI#D4i\>3leMa2_8!%me&5II$Ltr2'H&1F68#fU,d3D7'^B=]!T*d')ikQ*L?U([Y(p;n4](mTNEo#k<_pK(%EY&0<#]fMD$fcfF(oY41OpX2ksf*-[H%i_?+SA3XIMI,b\o#LE'$i\i;B6go8%3k\&BXY?_%Z,iG8*dU)%)p0P9I%H=i\CgrI[dgrgg;?naVND';Yh5UUkk;:kQ_PZq.Lm#n%JmEq7qWP2!q+ITKWE^t4-oO?,9r;4\-tiSOfgKOL2o?g\L`P=+%]iCMj,dJ77Eu"+[f:J5k.KuJ*5\lQ85br]$fkilVV=1b"]-Gg798BWJh"k#;'\Pfb;,@)rT+H\>OR2:M(O%c]7#k=bqIDA_*cYf-X=FK(*DrJoq79c":8r=MN=2M@sXk!*C).k`qQ`C`i%=tAbo#'>F7CBae:9fJnE2a\fnZW>^jN8&/)n5-l-sd(8$jr7HGi7X@=ccKbGiV@S[FjjJ0Qb[U]W+>L-q)#FLTZhpEDFC.eaNV-eh-s,eL,A7mO7,Idr=1&OV"8qNH]-B[!nEeETD+H2q-TVc5]>*$?Tl`#`2;aq<$,u=99K@he?0?A%t]Q;00!eDH>KI^/tFn!#04B$k@Mg5`PbNhFBN0!6#fVYZA-pZkJsV5_h@k!"@5G@,TV4c%6,&C^SSkg:)(Z,^mUR(VqKp-[u?(6iJSoH36?N6FTd3kIj7,jlHPo$2XSo7W5%GFhq>+ZKl:bb.&aYS:iKd#l$)Hb.cbB3@9L_DHc.)^#eWIVSN'2h^r/?,9:-)Z8dCAs=9d)MQ'GFhUq+E$">:R.sD*%1"^0JhP>$tN<6PE'$\-9V;O!E.iIOe+FYZ6"p&_JDPMC5-d_A5IEW;dj+RUKJ%G-C,XY&.%0-6<.*K3-W:tqbV=&`r"G/D/-j?iTiSt;ci4:VTW"A0uVJc@lLW8]Y$me$C(U-TmiML>49XP,!oPjg,>W@Ttnk+'Ia+Ud9Ju_FIac]\==a8M=7)ATW)QZST1irn3hl<;?O(?&nR=bb'._C1Zn)U1"#df,$1WTHc-Zc:7K`'$)]H>AdiI2@==LsQ#E>f/dDP/&s_b9el`/fE^;!b;6t!/UfpAE#]/..Dl&N#-F-5./SVSpb)TV4ODn2dMWZG!W6FaKT%h>IO^D"-CN7>6ZK,rF73/%rQ,+?'>/rH+.KLg>@_nmQ[/B;D3S6)/9,CuaiS0]4OPr&HNX'2Mq0c:i6NC9>YMgLSe<*9_\3JZ#6F(JCo0E7A\M?`bZ@[^cWXRENP0AV+h^7gSaAp/*">4lr'fqg3hFh_G;`>sXA-2#UY!9iSgS83rlQ.=kVp]"uZKW=]\\Vk"mN?7bUG5'.i._>u]m(aF8ZJ^O\nhoO5Rm^af(7jH+H0d'Z?-`XT7+&n(f#od)a)n?cGd'*aA-'qVJWh,JCb$9>GZ"LnDAd(X@]K8F\eZ^%%c.i%K4)e+#VHA@Zb-=]L-i%A,039Bs1Rj3jWR/JU80)hlI8I0^s3tY#.@gqFE@%Y6sP@-8f"i-h#]dn+W0d[2.Dh1Q&@l-T=)(;OfmM4Mpe);."hU59`RpmTR#a2bV.I/^ru[>GBVH0ZIjoWqBJK/d7"`lNRG,`n_)p7RGF]bK[O0=KIBl/Diip8LFs\94-@VrY;JtAqM#h+.60S)t]mkd427cG]@+5_++p:/Ss,-HE3*K`K(tC+E0I7ONIQT_;.98na>t=BBlu7[<3=b.`8%El!b+2(.eFeVP[H8Cj$4cj8VTuJ!B]^m<[F4FX#E9II$QH`F7[sl_;e.0L*:,UWlgl@6H."I2Hn7)pKK'bjGGI2:IpDFqY%KD3g#-Z`u(3@)\[*pE-BmjB2lI]gEb4KcaB\GQItJGqqJOeDf$r!_M2,+7d^G;s\MrFa\Z"'PI4%]J7YFgh1ULe_!V0i"(]3d`F$HQ\]&-#8hTbZpeuKTdJ@.0Agss-\qMcPRPL)Z4"f)!)Pqr6I,^Uei#t2Y8ELjfXYjE[!.4q-3G)FNbX(Dc,Q3#+-]ls9OW%,.\A3tWqKY*TS>N%agd050>EhL?'S[PYuJUlkkAuOoOp"^0;7]$*9WJWj0S?YIOm.'qJb!'DFr>884[ODE6ER*j2_%9J)*"t`&NN7r](KmaMJKT@pNiU]'f\OkUpjF'?D.!c!#,I65)`q,0O[pBcmC./+'T%<>0>o;-`d>Mf(d(Cs7j]XN^$(OWbUAI+4"3!`KO<=s?Ymu@38&Xg=\EeqOnAd-)!81uh*ZLnfb/BrS5--Us$r^&N[=09`9G,`iMJZE(B_$j&-ZZ+HH[Kce,JgA=<2%4:;5,!Qcisjc56C_t&H5,h0kDt(VR?6J_E$;b=(7=1LJ$QZ(Bh5-e#1Zm!"%#ZO$^:Y6Op181$X,'^52U7"'Rs#[)c:.O&Ni/sTn!fKWfmgujOWD0:X`Pkn#YR"3(E"10I(S6'otbEi7;2iqg7a8O'8QEjt)po+5F1&ft6i"=cBL?gc@)%WtZnW(FO`gr?8#cHnsEduQ!&im:e$:t2Akc/r1+?Llgh+nUV+(?*OmflGd^c9)#ib`h?"#bOgN$h&t3_cN1<[3jEkg#'93Fb8d[iJREG_Te[FaT6@O?qjF6pMibO,D)lp^9U6/o"ObS`U$;D?d.lH.@Q!;qcY0>C0[PYGG8'u+g%_P/5>:]@^:`"'H"$l0"&fKtHaPJask94n3=89roO5-[isP&(ZN9O.WS6-#n\6"@q@sk;NZ+_R[Kg7c&TL9C9c'0;D!/PO`lqK!A7^O8PCf;4,r&\h0-h?XZO717l=n)GhK'6Bh-+S&D8#VEmCTA;ep2RE\5SL@8jo!#c5G.k&1J'H$9R#s"ueX@:-*N1ia]2j_c6!r6q'7KU[Wf'Ge:>3Gspjj\4PZPk6X,a=!^$_Mb-0)`FHJ7((T%olF$K"I@e?gO`k/Ec@Mb/i0X[u'm/as,XGae^]2%9<&E\aZ<'>c-`S(np"&N`HMRhV76ss)`ZqFH8o>?<9':\*U9nplbIC\;))G'G)"0n#/V!fg0!Z^V$&N*_o:M=R&geT@gV6/62m(m"b=Ze57$'_Z7eYgY9KF1a4MOf5;r,.S0lR=[!4\W\$pEn+bbU9C_QH2J;bamTIO7rHXBS5]h+2g:GOj9*i41@t]_-G&,BdF=7mTDj,s1+B2Q&b/N`IM4h;T3LKLj&h&B!:/Ye!rRd$mYK0oL!#@!qBYZ&s*>kC1_V9U65fb#MG\,,WrE(&\0g5DQ9%>hhDoO\2b`(WOg_hYZD>[L,;l9q_^m$=F@7Y.\20*2I(j=O/Cp]\]:U1m]T]ppSXUg:\jBDYu=\STl$-',W+k'q-4J_RQb,b*AepSJ-rfldVbf2F6V9K(`#-apTUNA:u@""]`;lD%YJ;#uF1dM'(3O[Guf%,o+Jp-cY`^JbY'>W_350d\59N?=:"_JV!@/mfWod,?o!kH=:2:H<&]P:;`Lp<&?FT93V[9@0Q?S0FE9KsKPLb0`E4[+0ODe65uLs9eP6J;$O9(iZg'd$_M20Kd.s)aqn2T096itgYAMn[te/1;H\_;UD?SqMINTM>>-D:<\8TJCh@(mm.[4=1;s-_51U>p]_Y%"]@?VZl!#A"NAQ0!iE^NtZ`$D.d_3o0H<;#s68Fl`RCAf+c!XIh,NQH:Wc/!WVo7,b"q*7g;cUK.L`bDBD\H/,E7:p9[gpnoPS84ieKJq1O#(G[rPL'ge,ZMG;-';EtlY8?(!K"%jo<.tFUY)!EL&(CNY6q2icj7_?nfO%R`'smHfEnsaWQD2c:\$5-t#@$dSOBbhp0ackY0Vmk4kimV(%T^\nd@N_((!=!&WrMMp>7fo(1)SK;LGs#(R4,+18n)IFRc648pjdM[F6"M3dI]8oY6BrbN^7lK\?Q4R_LURCZG,N_balD:W4WYIC2YoZK<'8Z(*a;KCSF:5\X&;GN'P4QkBjpatJRFWso/pT-]nV9e?u\$K"LbsVp'#k;?E^b_6t]^g`?6\V9:#oIf)/eDj;#eH$5ni2!].oa=)lF%9(VO%$J;6!fZV^h(9G1h2`[8h+/\S#PYIQoWkO)[Bga-/0'VWNe.UkXrc-1V+`X3e=^*_@Iqi`EI=!uAsEM6dS#ram[ZcMCn!Y@kBBpAeRadC_*@O<;:8@=me^,70]J6+Y3ZPD]Bm.Q+B3Bb)E@@ZoG#$k]F"fu9%a)A>`Gu^,%jLi3"F-:-2`SKA7R,iLGrYnMk&io7OL!R\Q*oGCn6-U5;-[!:dM`-.oP:Fg*p/QFl6WTI5d=+UZo_j*/0gkh6f'mAGNZ4rOEZn.!C?4R#H5&lhFQ4KdA%UpNGo#qraFTM$g7O"][jN.Eem1"3W]c8c@/"HG>Zl_Go;i5s8j76u.HhQp]/[BrL%>!i@;S1"i;i"G"W\u]@,I51&a>;5mi0?SRt,?C!IuS&T`dbJF*^\E/s+XF=6o!,n[djMk+L\8E(uj"ISMIgqErh]:/>Xn64_H9fQihJcFD8l0@:Nnq>&4bfSK,,rFTq"!B]Q6cFUnfjE\6nb7d+VOHPk'48Yf.L*(-@gLWPC>p&9VFa9Z8SUXZ5m93ft.;#pdFO",]gSs?P6eHkhZ:?3#Bu%.`6kS5[0B%_f6O0NQ6[OcC=09"sfNc:EO^o*mOQlh@:?rgoDCC&X4_SW-G=S;"+O"94%4bPP_@T,3Sn8),:H;/'-6+MW3/LA.0,8!mSgIucY?W'"c2/oM4^_5Adj,qmpQhl\1",lg2"\M9UNUV72h8JuRbk4]i/"O[_=&KUIQ'S.QK\$5D3fXi4iJ]jDE%b+)qk-)M!6qA<>X2b.-qbBDCct!$"Fq62(O:uHt/R/Eh(m/(\L*B=*C8O6TA''59MKh"F'2TGRmK%W.l#@T]1Q24&3_9F&\:I)nY>P^Rn;0+B,JJ6@2tH5%[MuS*aNBKq8VCEA<3%F[m6f*Mj)"9@^\P(_'1:PqdlA1Ej\=GFeIarfbJfCp"#kLM?3W>/;>?Eh_Aju>[D8%nd$ijn$S:@-%SG3a!YFA%prWrlHX+Ma-[-KH(711)M`e*'h$0Z6nO>Q9CeL#1WA4^s2/mGbBLZ6N/>\5XN,Tllq%nLr;'JMPCYd,!/L[O*j;1bL@m>%g^sgqPpUkembH6XXa9$S,JE@?>iI#dZ?'Hhg:d?(mPI2!/m@G^[I+3uH:I3Z=a`nT)I11@7qJoECq3dfe':NR1PuE7m$_?S*4.J\'N.1Nf%jIh"F\#VhAR6f.M04d(H(*Y4!+h86J]U^e?8IKB&0%olO<6P`[pg34L45e)O)gU"F&f3TLZkXim;a%$RV!BieBM^4-[Dd*'g._jIa:t2:H?d[r-kpV*YK/>t'iX[r`V>d>._"4g89`S35qqKD*agt6^O_U>>2!nA?YN.,*Gu5.0/P$S_gQ4p!(FLLn9m)sI3FH*q%n0\oOC0"fNq(oQP#!14>%Q?-6Vs0n/fGsa;89"d0WlcFCKH-@mr\2](nc.Ue8dgu:l01o@X5L[DA12@')uCdXi5'ptV60i`i-@@iDRlV3s/1,]fWh3i"J(V':2=uu^"=ml'khiF&sbRr[NQ-QM*(keOYM7MRF!E<'pl./*9-!S7bk0arN<:Ted.b-,2hd'WW/"+7l0&J`E^t-CoC[F<$&fZ5OFEYmR!g3@FU??srJefmlGBk%@N0naP%iU!+aW3Ehe=K9O?55Rs[(ce)YGZs%-FZ[WPN.2ErP#D3WTTGt(m+(X&V+rSt^DNY'`-"a&"FBF1_rU-^OIj[L;0Vp\f-#Xh9$C2S]GH;pFJE2$XR6X=b:0Dg`BFN;^]fH2#i>h-<8"3H5>H$fHVagaqQ,.'I(X;)FoOHcb$-F?t%0m1Y$;eT'mlJ$;e^RQ;e>)"+PM.cCc8Xr4=HMM]#r[O=O*IUiOog>3F@+g!A9E]_/njdi=f)1qgsn6lAPW"]A*KX1c:72Dd3Ga9SBBAI04LOY]c6fN\F4sD=l=],A3&?"OsRB[)#(\U#[T7W67P<3+:*0l1c]WT0\N#Pfh=nmUmac&/SXpnc(."H:2(bR^S)RbI=YN9ST]Brk*qS7:UWk6RZLnFP+VnEF+`;W4&j*SMVUFG>#Wm/:>:Wa7S+D(QKaVDOH:]$>r(,n]PJto(n*>?!;_7@($%#0/<"LDH)NnQ/u;B"upTeY-q7ZO#FpI#p[(emRgHt+fB2a$T(*M:d?*/!Au\oB,->]3^78Qaaj1q1Q"\W(-q9phRS:*L^4+"fXHmYVVGW`K:/>]q(b>=p66Zur963O0)b3T7'WS:RmgNpDg@:;<9>'N+90"U-u;NgW`,eaf"LouelnGok_,Ck&53DAW'&JOCpjP@'sK!APY\n%Ocm!p]/Cg\3EI\`5)=k%J*7XO_]&l.%lgFA#"`N;Cj/m@1n>WLF\c05t%"V,]:"cL*c616JDJETE)jA,gB%T2LJ&b]*YRi5OVNf-A/'_s(6UhrLif8c7Pl3NF((M8+U%Na-&E?^mSuV4Y3C/?X6j;SiZ--nA99s9Rf8C'E\q2ls`[4uVKPai&66d9_9e03WhLtgr^O/0+KL2?eqm(jK$4o'Lo"?\JQgY(VGLoY*:t,@AL?+Q<_&o6@X,0/%IJiBtO[BH+cQ%YVk8^MfL_]rTQiBg'cLqVq&*"[H9Q?=Jb3CE=">aDjh[#DFBdTUYNdiTaM.7pnORJ9NDM@2HB.'=99<3OD7N_RFg'GaU,O5T,kMPfTUt'd4#U$HlpnDZiMBAFmi>Q,(Eeh)#=4+/X`%W9Oh`8E+_4Khd'Nbsqir<9Idb.TIF*2$\pH'nTjX`J-+SFpUd9+.1sL:BR8+WW1_.Yc%q(Lek+\dmfUlAM3$godT9ToA^3rM2/J>q-8F_^Ms!B7Z(Q:MXh%FJm`]Bg$8<'\mjK*`7SdFY5,bIr[Q2O#2TXKFDWYgEjN1HA904[;=4:*K3:M"2Tdbfdkekk]K3V.W".dR-9OPr;\TM\.,R67/IqhOERcI=%[0S5Frdh^]Ggo'$YMWXRU%=A-[U0SY$q6NJiiVdWPs?PRjS9/u>Hd?Kg#jfM/9FJ\3$l-g0-"CWYH=nEb'??r=#j8+V5p0X3$(hTJVV]^^1Sa`,P9-il'fMjLA;MA_dM&K*q%HXt-\W[749HN>N+U*(6R7F3^pg5h89r(0PLK`"1/5ogr`#F^;C^VB=SNFcrFM`L<]Qk'"#e3SJCBRWa"mI9s4SFET%ZEY5@7N!VEj2W'9K=B2IeuP$C2r!uI_"9sJ;sn&QK,oY5/[2rWO?4[Y[]oD3Rjd=#-k/R[;h:B/%fV)f(]9!_VW;0FRh7=Y=+IH>2O8k?;NC%McQrNPGQO7g:3A>\jgL_,K9pt4UthCp>HDrhgEMlO1!jp0(W[)JI<-G3;F<^dE-,'\uu'SYDU*+MJCku60XD7.Sf]V9!piSknJ57m8D3f:j9?%Er6#R7#$pf:;>0FI]n/`kak/VAKWE_5],+Zj$*`FLA/;C5F<\77[mdM]p*'Ymn1eq^7r#PRqN=q28SHb`AG=DgTE^,`U:\GN+U62#5Q(tc?`K*nVqQ=7,h18G^-#4/+[dTXksuK0PKKmni%Q=cu71K^E,iV,9d*U\/5etfe`6mjI3r81AtMQ/s'M*;p2eKR-BKlc?3m\A@dR50RKtGC`XR/i8.Q'tlXD_4K1*s^JglJO#Y,H/kRta<`A=3K!s`fIG`;;F_XgaDjL^AZkoPt6X`"&_ajr_nIGHQa]cpS'F*)0r>6]G[7U160HVIFR/?CGkI3r^!pR9`WXYReEobYh#"%@(F\9](P_>K#_"7eRS$r3Sc&_+B(eC7Dleb!K!PURN]FL6`[?WJ'8BK(!i\$rmHTI,"Um@bH_PO=8+YB?WkHRWR8e02?t(?oP3s#u[dYRb/3m('X*d@p>[On[)V[qI%3ZTL5b-MA]D$NaH5Jtel`8=V2%^;r5l7@TD#q&C`k`.^E*lZS>8I$D64(/IgCOA3)L'o@"G4`?g;\5KlH4dc]e&O=i[)uJ+<5\CZIpi?]e;;#Fi?sg=g60`pRL^8F"IPWpSfcN)59*!RAR)d*+:m=o.VDX-K:d%qeMd-a?iNFhUp,!SciiOaq>pRh#oUWU8#=T>)IQ.1a8CFHRgAL,-@Dt2g1i"OC^DkU*PljFGdF"lM/%"C8B!ho\I*GVtd*4oi'(E(bfLkr"`CCm'QX3HcN5fIa42-2#,M_Pr*0a"qW^VORL=66`).P%qhTf3,,`g39!Y_FVA$,l5/a^T`64D:'PfG?2L]BU3SXX$L45)'-X#9N?u]ru!5&SLAR:YLQ!@L"8@9_,\bD.qb'D(!R[6#GXlLB[BbM9BscI2RGk6PX@1\mHO0;FZnrjka\U*euG;cX9%JfEG!SdcJt"M_b"2Z%c`oY?kJHPoJN8AcF@C%A8),!1dtl>F8BCBlna$8I]1#EeY`K&3$3GZ*.[-&/f).a\/=6*Ul3%bM79"B3u$LQLb-foc4(TScM.JH"c/;3e;(LTdI3&!PD-L)K0uZB1Sf+d,%K+jKYot_JOLU11j&__]b7V4q/(JPr^sM4IC$DO'1(R?$'fX4_*,$2]qaAm`.FHrMXCJD%Js*@Zt+$]iS(q-UTDC@[-lq'Yi\=h1NZf'#iE+hm01P$#)7W9r-_ml.Etd/0D^)-?7)WO3[#4O@,@3D`H8BOG%lK&Vtno+/*XoPaBgkq$VJ5BHYe"k;S9dJ20T5''3,^8$kEM3VBq_RFZcU8"@>aAXjI$pGp>PVNf%GfjM:h8LeTODJqp@6o\X;^?s&-@UNF77Sb(kJHjjmc\1m8s4/ogL-C/Kk_NnE^ASQnf>NFNQtiGI]m,]WP(T&EY';I6:*aGhu[=NZAuf%QS2UOr-cDBG+`2#'_Xqe7=!1+77e3HRld"U%>E9B1rGGKgJS,%BX`U[O&ti)^g_SEL9Q\.cFW!6U9,_bA2ak63X4N$AV!TGA^S2`5R:9iN^BEJUL`MO'6W/(.Zp]C/8#p_/!?ZF8@ED;F2S4!Noru97LRbZ8IZ\J\n+M-#%'VYVJsY71/tE5!?,l96T_!-^O)oDEQPAr2I^LQhr_>9oWhI?OHg`lK\SL"fCqP>IHjTs)V:m9a9Oi3eL2lD!eS%Y[6*s";&S[=^@'/SqmI(`VWif4!rH)*Qq1MJ$ljWo#eX$&;1JtG_]9d2:e[/\:'*.b$i:Or;k,uoZ@m,Mf:FqVmadVQbfk7lNrr3'A#*N9bOl+r"u.Wn>FCSr5gR(Yl43Vc:V*Ym3j!Vb8;P85#'Xa%Y1%X24APZf-YSYN0.#BiNaM:^]hSf@3cRFJZ$V\L"`O`5eHAE:$c*d+C57l*l!P7=>#.',%i6J\9Rph!.A.HgbuY5#@FpY>#mJZX[Qn3@,TGK#b*Koa'&maeIbn)Bl1Oo*&[f#'UV;o&Gn%!+mnWG8lIk3@?0c,(GYHAP*La9Oh.S+V6hXdX1S`1'H>,(WE?LGd$h:QCegj73P302;rK2#PIMNW"=paBT8tp@:_41!$N*_!(oO'AS4=j<^H5]oe:n+qk()5?j+[TAp!/LBp/&8O79?5"RajcJ"NYp+YP-&TCW6BRD5K8OX!bWGM5:&p_)p`\uBH2adsrF?F&=*aC1^?cr"6e*48j4)fRuF1tN4W,I!o)++EfIl7iTU`D8Wndmg&5iU,(jhL-<-YVnu*?4Dk4,M[!51#/HbfcB5>a*%12[cc;9^Q63O<_'p$"t?=MdQ`)BO?(dMd_hr<\HENSC9YP_kDnOP%tCP6`UaRn?GN2)W]*<*9'hS4g0@6/0J4X-9o.ER?l',N*>RF\=,m%*HU8F=4Gckt8LXU;85B"%B@Z*XMOr'e[ClR@):%!^RQ*."O$1O'td-TQ%rY;pR+JP\W\j9)CeW[+CJ,j7X^11\@$nS`_#+?$'IpC*[f)g\rfPgO(.,An-rk"1aC*Y83f`o)l"_F>_@F@Aq#8ISTK241M7(mt:F4C2GV8Z69ZSYJ$`C,]ih_6fsZ/C@[QiDQ9Q7l5#8+k\g(l6IBakT3)5`,D0o$r&0pC-4*4)f?g$#J^6"VIZ'hibj)B"D?.?6q@c\ZehXh`C:"O#KY!k$Qh@:_`cuf/B?YsU2CBL.27P@-S/'X$60o!GA3Sgg)KtWZF!c71V00WpriTj288^MuTSDZIpKmeaUXNjdCtf5DY*?b]X1O+M]$/p^`+;Bi;7p.bpKCp223(R6(Ueq_U=.rli3U%]5"c;O>5J1BjSuV3\fjOI^]'p1-=).46g\&e.3Gi=@L9B8GGd&j+KHoj'GqH/q76X'lqV'")>cM=pmWnu$8l'>=@FD4/@rc1X$RDuonGeET2nCZ``;5.Oq637ArS$qh&^ui&"7XXJ.^E*kMh.qWQBsIE>cV;._R*)_,C^j=N7G+RI]YLWI<7?n5Z\"WZ:%O\+,rBnks(g3?WNC=e[E(kA%'=%_MKChLtY;dM3NYhMI_CU//O.BGIo81JPB*!"Qq^A\$m%e(h/,5%u`QX%Dk%CXA40eDt8VM0o,"#%Y"[aduhb3Ct>'I_OpHMsoCOKgQIP'[e#(\4tQ[G3&oWZGteU.1=aX".F,.EN#U\*9PN+JK\H@0_B'EJ,'dU)Sgg2;*,YnZ$hN/[D;*>pH`r:JO#]ppu>6aJ(!SHlM1U^Qg)ol\VCNqrW^O8>(kXO!FeM+A$R\p!dOFkBc8\+9Mi"H[1T&XE@h[Ss@k7#VGuOR@TXm8XY&D@ckJkE1TEf`DQH_gVtj*MgVk1[U#U-\oSA`6&XX''.^oHkf>(Q`r=&6KDMbkd6S4ZeWCC*TgX):%+Mbf2HU)M%>;'it@>)kt`C/P)BhFa3BEi2::d]./QiD4Yo*'l.ia@%:*"`A/No$"u0--nh%S[JAk\!V=#87j!49t.UVmX2@^N=ugs@q!T=C^2:OjGF"g'BmBNUFS_1=1WO1r:uAFl)5O4klaVaUZI"p!j'jb%4h*;4J%`aUeVg9ldmFVuH_?^P+`asc%/&%,,ct5:EHJ]E0GC(3'%jo@Pj;,g%qp6.<=O!*S\i=F'`-l1C*C-t?cMML)'-UdQNHm]JSk[18BGHQ4V!#GVM\MF,g\]52u)&pr@0:sTgSU7-g#LcednX\1n&M[4DS@$,Ncr5%8c-gBXjmch:2&=Z4["-1qHC#dqei3:mn!He2^OCmg'mAXMK>Fq>8XfAu_hIh?,<[g"ZC'\5k)*]W($#l!9i,L1$[E<;R:75S=P]l4VBD0tH_tf@P#@G*Q<#pqgt8k?Gm$*LBKs:KLN@L'U&I[r8k;+IZ`Nd'4F/%eK[tIQS_I`;9pf"&^W^*$@"'/,,.hidrRRX.H$,K?k27PjP0pTH?DDO=.J%i%e3b=i=8bLiM&kfk4OQ7b21pH29XNC*56\C*X&9TWdc*pCLHi^!kfcFOH%b**H.iP(ZoNp;PeFj6DILU)+#/_18-OnFCh(T]cVO3jKREfQ82^bT=rp9<:LNBkFZm%K'(JFdcLb/Y"ik=Y)MY#^,.4MjFm[5g^8N)?LAG#cM0J?-KL?O)jmI::\iP4hPKNhr%u`H)`R&-UHego9CU<0W%-QK=6O!9E@1'bZjH+Ckc]lPB[gt_K(u\*LG58k22n5`I\QtbX=Vo0nT]'J!'eR_Zs#64(q].7Mga1%q9^=k]aXes>%K,s63[3!/>q(d.bLLLuKt!mdFVM#/X?\?TrTnI)b(p7Q_3ug^'bPIWE]rPn-S8RJWh&sbd*aqDZ502)WBGGB;Koc9/`cE=Q-R4n%fiVR7i9Z5h(].cgTf(2%7+8@25lon[J1KK$Z7Ig/!KmZIE%Do0n>r$6O->jC('02995V_/FN%\+s!C"$1>$Mq:X.irqkCQ9YE)oO!Qnu6=bp]#1;ti3WZ8*mh.>Iob]Z7:shfSBdj1?=5)n3GVpS9Zi2]0MD7%$Q?+E%pPE'J=sj0k[sUKTNH24!T*TPV.$nP1lWagj8G]r1!pGnE-6g%Ql(iQAipi[Mf[V\"U-@]nBa+_Z(NG-qlKg,LDTodT0+9:fL!1]QfhC.@bgI0I2<)A09fSY#:8hcO0J2?4qdkXi;@\pf0dad8?g43QF[+LSqLJ@kI&o'`8RcEJ2e_5ks6rbfFa5q$PSUeC5?c7Ju+U4$tQSAJr#Q\P/oLM`NmEmME%f=Up(b6Y>\Mp&@.&O<3m1-Be_d.,45AWg0Ui^RAsRf*tjX9%mk`:FNn2T38[arlNJcCW4"NqQ06g\34;Hp;oXLSa)oY@;)W(I,#O@td!!)32F,\#Uk>5'+YpeX@U`;;0Q;Tq2X2a2ECK3"jtD"uUS2-PB.fg6\cF-=HqZIOTca$'`le[k-?o$?'`Rp;D[us2NT,@d-!0Aq[B">&_.u2"fUJ"@[!G%h=_0M%#@",s2hNJK*Gfllc16$)3aQ#E@i']N-S.0q.e0B_&8\!oZ2'/-:aAfVE7)fm7Y4Tu]+'XjpTH`o\u"Rr-F#$JFeLV8p07IGm`"`D`2IlNjh;P`G\HVlgS=2c`9jXObL]i`F(dHDD4IWQUN5]V1nKFoUN*cf+KVl(D[O=q+#^nj>f[RM[hTYKR/K3JBJ!($BMo/qa*fHD_Mkjm264^9`d`Y/1c#r^P6=_aG/+COpq1;E`_ZU5^Vt&ofoug>biC%p`oargeK$>UD(Coqc_h^c'im"]!ph2n_\;aIn]1m9H?;Lh\m^A:.4!9E25bfNINRc"tS!ZNulu#@DfE/M_*SA8r]V>!QcAm`s5j^YZB*N:=@rPUX;"pra]3!>J4mG*T,d!D'fdcqp2iSM*>HCK0I5)8l/<9i:_#^#Q,RftLl^=nSQuV"-2/FFHei?bJD;BE`Kf'A7]qp>#iO]9b$@TsE5jIuG/JRiC-`L4pR*[`KnmeQ,0D!-.EH`K_2UBf)DKEcq3sr2:k3=>c(C2f6$S'3WOa!0'OA;Qa`I<5E&Ms-83h>sd+\JA`bmd?rqlX[X2^-0FD0F2dd*kLjhC0KBkZ[2O6F![_X''VOjhs6;`#ogQ:;"#&hi-R%nUlaI52B-,-$osXcTP$AMcjq.5(p'r#b(NF<*H^>07A,#Vcb1NPa[XRqiAl6-b(6&8=a9Z6JZV%miat^8/WoS2IbE11Nga:+5b/3JBXLV;pmKVK^U`3=X0.&95>r0jQ`bV`3.M_:Rp5_1s1XiNEmFpo5`Sk^(=UaF]*_kB98?0F3no=QLSDu3*J/9P8Z',5B?YFa#6kRLc\0ObhV5dOcn^5a]`[sHL&[tX&5`ZpJ-_9/"u%586\'i'kP1@[Eu'QL.r93i+;p8LFVK^aMIbm&$l9i\HLV8'+#4Zr>_E?=`AtN@ind?3EHX:9V=^jEBB6b@CI?CU#m7A<<^uXHLh*n5'AM.-G`R*k]IrJC%A@D\c4<--p)8;_-K)LGp*<[I>\o]$icW3/M[O,:[%/=3ZFVYX;tShsj&#djHMh>.?5cI'bgt,JVh1cJYVhdWT_mF]Q&#%9UlB1[nf'7lo6-SICUmgg^B2H-\%8-*-0Fk+38MH6s,-WPN=>Ua_+-DXNc.#EET%P&%A'@UXuHN]*g!Uj2R"Jos>sRh:RLW_Ct4Gj:=kGU'EQ66oEG^K&E8@$3mQF^daSOhYQA@K#%ZLkL@%)A1sCB5Ld-nibbO.Y6FE=0fWH$lq0:JO(kcRXr[A(:d6RdE&=Z8@g2DSPUoQ/B/s2@KKKj*Jj`:CquM"!5?I[;5Ol7W+HCiaL+1d.K=,3*a-W:T*lU(8ZMl%Vjhdj-eN/^XIGkK8QTHiV/n?Vbu:=hk%]P+/KKV#Mag=t?R00H>#-CdBQ9EE29(_f*r>0?`g]s3n'=`,5nUMBl7!5ZdZ(!G?D]-&FHGaHLH2#e!YDLdmYbO7__[?*)JC=R4QEojsj/m#ls3&GiIPK+99)h7B9aXFN\ojZaCPN#e]lGPG.S`/T+q(RKu/2ToT&PPagp%#>#rg:0P?92gbIYZiIBI]XIHKUb"VUO#n4=F[m#G`-H'eM-K5_tEjMg\R`'iu*'#AjcBItn_QXH5B64r<*(6sL.jM8L%;<(M+-buAm@Qb&I"9,mZoOF"4"emM.2o6;0kd/=9IH[&Ai4q"s4usgs4&BbiGrbMp>?Uc1RKWW6%1o$f*r6P.?)floK==s0gTBoEnR)8C73dEI]:&3+nJh+#pRT,I6j/5L>:uAIti^Mj$XN[&sLY>"64?qX9I^?+[AFOGJNh.4E6]:ZqnlSLR]:->`FuJ^"*:!W9i9n/H](#)lM1S41Mf>ucsj=@)bu)S:oQE5D2p&]7Jpa<"d5!lAn[U+gcFW`R"Y22($IZ6F88Nr:?Mdo-3L*)3rOs(,eaEcfE1_F!J)?;_?%D'V!Bp[[m7V58tL?Okq%gO*&]eO0,G!-48=#YP^`;;2\$+VBPR"o7f_m!(`Z?L]^bKaI*N^a7M2*f?dl3A[M2KX;HWOYb]ue]7>J_g,4d`PCBJ(Ij:A6Q!2p5hQIOb_)+`V?3n'qL(?BS2e86b^=pBWHA6:2GMDVbdMh@?.*n&CBZWPMi;I-@uA.6ii>kN+*g,P/f2$n0Z7,cg?R)D'I.K%5Q7P4fsek_/s\*h0ZSX.*Y<']")o88Bl+0!#VUCa$YKK%ds??$gDm9%-o`71s.io^E.A\G(&'/LGjOkc:<;j:Z,0*dU%teknq<^)W?eb-R6-2r`-&(S]/]Ai;0nfp)jjUOeC,J3ZBGU=*!d>'*0I/9A0<2+X9=Yf^,>@Qk.8bE=`W<&FNYK89-UO2XTUds5Q_^UOTD;&?iQi+5@e.upiGV.oTksXs[(e1R6]O=CcZqTD=ji(u25]'HTk!8;2c9R)%9FajP='!;=>9"W$KT0,W4.Vtg@@[Mn\VF#l`sT`M9]!CL?rL*s^#2o2JtQ5cPp)]94^ZW*T-la,ksfjuDbK"8l5\*c0'3D;+e/aW04cIt)LVBJCP51m7%,n2_(!2-#-:G,5jtA!7?)`f*5-01\t4l/\-5]C>'Q2(Mp+A3(,eFeNiCKhgu+R:C/'k2$eSX;ca[_R_sA-&*D`R^]!HG#H+F?=),>1rp9XBO@Af#;AK9@4DK'iGf&)G?^TlKA%@s/S9qT//EZ$JG7ENqMei(1PRW<6!NpgeE!Q021FXfSYI>HCQ+^n3`Ds.VD6d:/Md^&]VJgrPcfr)Hit]=]ls]aT>LRdb"qZpJ=rj`M9pT-M8G/lQQ.9o/ekJUY`3TD-!oTRW3Dnl^Uk>]^[/!rHgP@Z$Yb:koM%jN2(h?5cGC<%M--,$k:"VT=W.><$g"eQh'N\O0MXFu%HWHa2hrM6E9&n14W8[Kb6pLoQ9b[ZI00d#:kP71aMD;60YJ0Ba4!)RNn;jDt?jmW^7J_]4OfC]T[!+0uI[r5dmU'IYAU#J9T<-YY=-`5\8A0,]C5Uho:S9C=%0OKaT$gQeJ9YK.AR.8V7%A#N&jEX-jfsD`;dY-TA?*9/(irFHfS4Iipj#lE!YunA0ATa,&.El7`i2MB:?`#Ee7[\GUE&=O\[+>h;G@#J(GF>ZNM89Se#SX@QpuNEP1qF'"7ZHe!_=FS;s6-"otr=%7XIRE2@"j$m7dJ^H%P9%VF.R4d(/9!/j.%Ra5+10c^r`ORnD+L_XJWLuNDD=3F=H(#1ggSnQmB4G`[fo`'F6_L"!F&#Bgo_nD5?k:XAu4aXk;`O:_jD>188<6g0aa>]<)$)2>6K]Mr"`7*$6#UXhAQ`I*O>[9#0\KQMc>p$?'(`+']mEs+<&_fnm\H3c7[II$[hD(LT.VIb_Z&@QB.PG+@$/:$L4EpDku'TEgs(3"`9,ebZ,`HB-2@/^1q?tF&L>&K04tteRQei.uci8W(-ri;@YguD33)skPF0jkkh]4Gl"gq_NG8`gaZ0](l0cq?"0pbiJ#PmZoRYtc.Hcf42R:lZOBQ:XrOr'qY_>(&bMBYR`0M5F".ZHPiS&BOb,fBB-/n>:toqkZF/VrC]:k^lT9+TlZXAYP.\CL&^,>nWt/T([`40efYWi;r^OP^p$9,bAMkLuo"EA">.0*%Qt7s`k(j_GNJp4aA"AlSu2s$OM:Mp$978@`8F(Yu(NgIcuS@rXL?6UUPmd:e?0K+Fl==6BuO4`eGF-G22+o&1H?^pk/VNd2m7n-jM;S3&b5\Dfo=gP%]jCU2>H0M/B,)mAlB3!#gG-/T%.F'f?f.4an.WW,4PpSRR_A)\C-.SU3c7,jd9c%=F/2Z>_Kh&,_ogk7lsaA+Y'1c*nN7k7H]6It2OH,H\@_d"[M>4;>n0)fN0g_tDl9c$Q?[Td:((Bh(8-8bVk#@Bc&Qeq0[N-tMnTM;@ekL3dC?89`8sJA^gf9[klNSh.dM*0`rEo1aYM@#!Fs3&ODn&lDUcs)IQ,cF%PI-gPi^2Lm!V%PfA]=O:eWfN(KhCoT\RJAb!HlD%m=J6Ct>HBZ5&?J5mVb>R&Q(#+^`GL2PCS,e4K[DdX=A\M^kK7$)@sa;aiQ97;:!GmZCs?W`n.l9^]kr4isj8G9JmV@Z"HP]XdjNl.$,LO^#?i=(]qcpMY^hd$c2^6*R;:Pe<%55Vp&Y0,Q9S-9g'HJl`5itiLBOin@qpln']X[7CEHhF=UIR-PPj*$_&19MSWAd[]*"`C4\e*KZG.W?ukP^P2[a%$f^]@=G9m\C@44pLMu<\elf*<@/r5SkVg8FbZakfK-\Z\cH`_MGkNpbk%"_UEnA\AIkgg=8WmfQ$s6oE7%iag(f$iTO[.Y'fVc2a@)C[-J0%jKrdg5rP'1YL7a0*+2aSHdlI0T((1O,'m`lq/q&$Gag5q;501h:7)7*8;LTP/Z(OVJ>AiV0-(Uq:bkHD1B(f0$?nEPo\#n=TD*&2j5_G`ZOFn^Jk46ghkf"]gQ:M:ac1AD+>`Y!)jGQ9enm4r82`-ll__Iq?Y[R,]?Po3j,UE7je@>0`gtMLeo`Bq@C.pmcJM[F6i9p!#0ouR+oRE8m%djbF*,o+4rQiZAU&GWF304%(\]:Ps7gC:J?M]jqG1u%'$p^pA<2^S#lrb\Rbpk@R8=cN!8Gj&ui9m;e#@2mPrW[1iH7XXlQN'>_Am=M08J7rfK',/Wf[nKBNSYfb[.YgZ;NTAn49"W"h'Dl?g0k3CG'a/kaMTH!qLDM/V3`""U%8*bQ?Kr*_5d>6BeJ=:XGA6QDHdH:.["pOJ.2b<*(sJbqEAeGk.sZT3_K+q%tT-C7SI5lQU'W;.@Sh.U3p^D;R*._.j>X<.OP#El3\gftqGYRY(Kmm1ef-Up8?crl-V1js_:<$:l4iF35>?B_)IV`tD\]D-POC.(KE"OOn`&nXZ=ZU`n2mH;H*T=?G&fjTK-[n6+q:"hcb)c6bq^\'.P3`@ha:J:q@f+)Yi8E;W6m[g%EZNOmWNGjWF73m6,0W5Y3hN,I5/El-C`LJg2htXkXat(%W)"QaebP)U\tf_pa^_H_:W!Eu3_+)(7r`m".#]WS3Nj/T6)>(g?Qm%9T'0gr4R?jL.]7nPNZ=Ud+M^@X!-.cVBeCQE(mXBIasQU@S`K,+Si5F6s*t=/\0f=o-,N%efRXj*gbD'"]auOkF3^^!jC\;%IH_Sl5ei-_0:XgG6so!X]%tPb4RJ[3Bm_8Zo-hHS9T>?h_Wl>LUZ2_9dAF;:*G3!u.X5Hd7+=@EiL,PL^k=/M'$R$U%T'pRDh1[FS6Ljnl2?T'1BVs`,G,.))YSZ1Wn`+O,;@W"X4KLgJkI7r]*4.3Wf)$jDJOQ2\-m_s77277;RO%oj*_`)cSfV_.EoF#j9,;7`XLA-ok^sbQ,Pf^,X2soQ';o`_>r3T6Sn@n6i,HgG3$IBe"PO"POSo'*5kVF53*5$!AimO#.o:5TSVm^F?+$^/sWCX',(B/30=A/op"9+D3Zc_eZZ>7U`CJapo'HI>Lf2>_181,C25Nn9'IE?mX[^`#7^heP+d@;^A@8A:MDX>SRaq%<^\iu&WBoaNjO@O-,nnCj:ZY(6S9A]SWItgBerV#)<]gV1t8FMMr]ggE2'D!#beEB+'BE0C=XoTlG]5gI0-D&$4hPhj#e7_D*Vs,TS\;Gh`RU"Rs7(]JXP\304s1*[:XT;[6kZXn&KkqT+H71$kgWME$[]c"Y`he8.T"p>eJXH+EF__T+Pb4TXQ3I,Q\L_>O=[6TCrDLBAjissGpS)bZGi#V@OR)p[BoMH:pnLGckcCq]%V=60u->AJCi-e)MH_6qZQPQ9KGt^I"5=@3+TF@1JCYR-,8S,/AOA'^d4(-d&"/[`T6[i>A5)d(Peb97SZNd_u=>*7usu'-;k-Pd,o_S(W+RpWJJI(n$Ae)pd\J4aecU9&Jk;DIu5PDT@Xs.m6At,#:N7"S-kMY7<[]#c]n]=3r*D*`"UUR`m_$+M+AueFD6#R\LL$rgo0c*+ftRWG9$#jD0etH(@gH0-Ld"RZp/.=fVh`_U=``,/t>#k:JSq+(9`K62Ks(:Vf[e,bKpG>$T(17YiRsmc=&pG8P_i.aTk67DKOTIFs8`kIdD9aQ7r:I&ERh'6O8(tf]cA+,cg6dZ8-lrZLLAn;3Y.D_el'I#E2nGO%ql\)Tt!\\.#d^UYUO""@I[$O&I_&H"!#K0(WL2d(pYQ=\p9];1(23Y1nG@n--;8#-1`c*j@:@Uu?F!g=tb33k>d?ZLOm"O;HSJ1f>JcBAXQJ@@+\652SgaZ9nKbYJU3aM'N"7ajK_[)qRCff"s:L'@HFg=aRlsUHEpCL\C=@7@mYT9fFk*lI0CM8DNCjaf$9g4^8:'%KL[)ou0=I'8Qn_$&KSr$XbjL8o"\PT39:[3,PSj5d@"o[>IVO(<02J-DCP#&jtt*MLMg$!WJ>Vk(ZH[f$!#RI:OR0Ue&KgAk7S;9+S2W/I8j*R3CLK4,W<#GE,Z.>.LfSM0AA3i%kdd[sk"SQ.pkmp\AbY$fpV$?M)Q(U>?Jmsmh!FL/;-jF_cq`g;*+.=#0qgr63^d>c[2<`\X+k9+;T`2o8$.0d$4O@.W[@5#R,+>)3%4>>K)WU"d*d%W6TXIRc9(9g&)fl;mjZ97,)N6G;qr+LlI?HWpON;&9A!_A>%hAGq$N?I`+p/d$I\saj%@VBq8iO3^&n]S+VGMoOWk#+?>\pI*1=]8R_i6iIdoWg*7Aph6U:K-[Vjq_YShH*CkO@\KTSN9qE&r@^Qp%%QLQc:(k2J-b]G7$hh5Jej\Bl]-#LiI,E"."rP;\rr86>[Fhq:S@cj`cJ/1DYtAhc(9Tk:!.I^g0))VH>/@A.*W95*%i6II\S\*b"u?'Y(6V@kH"NfG3.!TU/J:6%5nPnPb`gee^ZYmSoZ[FtRCAd.B2r>`1C./1@TR;$$(0oQ<]M^+/;"Coebr(N/@=\nHoZdib!72\FbHs_3'#?eD8Y8S$>g;sB[m).'0)i9GpK@@M"*/;#KC:BUsAJ$eY8KWr5R/VF=c]>jWm)6teTD2Z"YW$-3_X1J;Y4C?C0jX84'PW;@0MUJr#Y&)jt[IImjZfH2JTK;07Y#1?H-%LqGFKM&T9Q:Dboa+J/M*-aSfb3k+/D\qh@juQ?%)U-*J4n7BT=T+>rR,DLFl%*(SfF4Et`>q5GL9?q(Z>O9(\2eD]h)>#eI\#RZ++rXLkK*eI)4ms4b!Dr_)?rA+<>^s]!/KLu]U>&2B2Y'#BdKXs(Y6ik,\YGg5FPZ>a7Al)KlPC@.dm2](.9Z1%_IE:0R!4L/Rhs#Mt:/>8>u7o;PG(Vjuj[j*)17YBtZJj'dS&u?[KH"('BoUm7!AUs,*M12QtU[0%K6u98PMPWlDE50-ui@esQbQ.e!ri%9R*16.N(9hA"l5$C'NHB(:[+.mK9W_u`_o]:jg#NMT&lWt4Pt-hQ_9mP9(;rI[0b.MQ*\e&E'46eT(bWSknB?NmkCsNg9(jJb00oihe/Y>$@H;(smSL3A!m+s]][Cn!$N&)O$GD3sq$F:'[(-PB5PgC@aD78Q)?&hDqJ1V7V&:L)oUJ*@lb?r/PKN]!oZ2r_XXJ/C<50/udf&$bI4PJ6ZGi^QiO/91K_V6fpncm>#VW;!S0`(0$o2Q/_=o9i3`*39d:lfoUG-*Hr0@4+VO"uDf4S1_)D]./bVS;Ej>o)3>h`K^K?P"^8L")d3NFNa86diFE1>Eb(Ps8a&+Jn8D7B&EIB'sY,K'7I8i/4$tHUJVKW^b4ZbP-_(gM"RUgA&LY=B/T:?;s*EMG`a6u@/$\h,1ZlF_R^rnfL%d\2LX,tAHF]Pa:IX=f6F,VjT+3BTWChda#"P3Pa3-PUWZP7(QhQ)HOiXD9R8U0l,c,o!YVKXd28&+8Co;aTL;L.gVF)JM,ctEQ)LV9PtVqfqXg9`QX^rYd>;"C9K1[U81Jr[%s=a=I\&k8++@).D4Y=V>$9f\qMOF5203b+#0CO?P%q=*1G7%,-<9\9)`Il7'9o5DXgLgD9RJ>ZHFaIiY:@igrkPp&n`ELd*?KIe+$P%6%m%/&.)1"N$FZo9U$#0nq6QFM`/2[?_)hp"o09[L4(op4?]h13C2)WnrP#),p9%oQWE0G`BR8@@B,uHsjI"UOD!I^cKk:]j+0l!X5@Y7F(n:N=gdHCnoU:"6].A40N);L8S6j5)ee:j3h/mr9ZjKS#j,I@d].?G^<2YM&GLKFW$&E-nL3J`Pkj+F5bn8V;ps^EXNX4",&A%fVC/1a):/I;l2)`Tm!744>pe*cQdhTLS8+U;0]5Umc.]>Go2"G6]pgj4KBj6,9\@[\k/`*k+9Vjqk*:A4"2RH'@#8h200/#j'(L1MupU'ZHJ8kPc/1G\2I30?be*G"5?Y1[qC3/BXl1Cdmmc2:(RUL:Gpft==q^G>ck)ld'jU]hn&YMqbR1p;jc>5HMN#RIA?L/ha6h44Fis9Ou>4h2[V!eL.L6>?!UO\O*`o%iL&A$!_+R+q,Wo``T%K=eOK+N:/&R`1B>o`e?`3Cm\muq/if\7:NBDl%+E,1g_6:"mo0+]#69`fKYSt9pN:.3)NNt6T?9f8Dj0-]puX'o.>Gti=k\'&`!%?VQhh+@!QjJVb#YPBmerKa6$qS1-Gm2_%+#\.^6(q3FG?MKrl1-m8JFoObGYS\Z8#&csBB7ijCG&&QHSUX3-r"*Ksn@h]*Q5(glBff0WI^/DYpbOQHW('P:=XOVNh`t$Q/UrCj$63C3NBGshPL%O8tT5lf2CcQCj;L]1p]CCBR#1jM8-8pSMLRE(2p>CT4[]:?Bu%G#j+i+S0QkE\X.8j&Ql-k&>Fm?#doSYYTsq"M;1nt#d?=gSji?6C8fs1\C+il!O$@0n2dD-3l%TY6]S1p.q0J'$NpU)n!a\EI^/k76?G'rnc7q,9L1;=+i_+!otY-#Nu#5u1Pmj&(4;uZKo+o!uRRP#EdTgSDcOGCP0IXD#9Kh/iOC8g\2>[Acp_'+'4;_>I08D5ZC,m\;,b$o?$7XO]me`_cV%<@0STJrqJ3DV>5]C_2-:2h.%P8VpNetj-@d>/u#<(7d+n1FHGdbfsF!?#aTa5f@P7H:m`]:(+oO#58%15R\qL[uNN,J=56N)7l5mE=EobRZe\"m;Zg"#COT6774\TEBI]@AK4Ogi6K)KDd>//mVp<)gag12+GX-j-?1%pk3Z]\tif]5*E(so/u\1T/D?7k@RgsKp\"R$1d:6t:09m?.':X+6B-n>Skjit$-M+b)]!KSNo0+]>42T0/2K1T95&6,%RU>hFqMo`WeD-5KAiEOl*Y4"\t]=;5W''M3aeQiNMQ06Tq-Y6)+X5n4K2_/bln>$i+]oJ!iG^'C3&>5'NiM8L0ptp$labK`EO]hm3J=`>gEr9o3PejV+Q"eH*9_0XpPY1F-l-O-Ac7na(l;L[a4iM0<2EF9!qY6]+hUh1GUND@/XlhfG1n,b]*9X4HHe$L-=T2Z4I&_UcgLBsg>3L7la0VN>>;Qm:aN/kq\HLhZ@QJYiYQrq5$F]>_#Mq\#(Ej;>ol"$M>Fi+P/n'0BQZQ1"=_lc';[+:=YB[",agTO#HXa;r6.!_dhZG^A[VaSgXE]sh)TYE.[NF4u[!Xoa*W_l%oo`4C2)%rl.`YH7GVK&Ghi#<+"lp@lQpmesKT)E#/7t^:oob_-$DQK9P%h`fct.$h[2R2H_CP.ojik\ec5+!i-P&r^iG&H\lNd?NtNS],R3[kBWTAcG:Xj7#iXRRG's?n7EE``B9]\LuLdfh\rrab5_C[7V)`$t`B9k]T('_Bj:?/*S]D8HTc/.8Wd.;.ch/Re4BH,3]&be0>*r]+;_?$/P.E)C$+@*6+,@BNa;<:/R[TBaI`irT3MK#OWh5.2_!l.(1R5gA;U!-u#rLr#"U7=k:t?$^5%!IP-[&>@%lh;D&JDVoP(n,-MuL=W,i+^Br@m@0Z]N)!U*dLUD7\9Fcm'slC+-LTDi9Y]BlH2\o9G)^,s?J*8LY#g&RB&&UMD:=$UU=C#59(`d0%_a6kndq6D-dM#MUD+3&6e`F-%,+8$_I?V_MrVJ,KOhf5L`8gJ71/^4m#]N(2k'aaD*@g]8uWAi9T8opCBZj5!AQC#t2HA,C9$6,TQ)$lYj4nKLtij69(u9#Sk[GbiKd+_jX!OQFFUrET48Q5M3QU/Ad;Xg=F-SE6%I\A_ic#>+f$PFU85?mmQTAZ.=fC`%^AS,97Vm"#%'!/@mq+R*_<7%lehbs/APfT;suK#hh2-?=Nk"L:`IYO:=ZOB-GuH<0Ek/4lk9!%8B3tDVHW)FO8^W44a%8W0Blq@p#1J"eg``UrN(&H:@`B>"Td6:R0kS$kE%;,RQQUtT3Wmc&BGCn&'-QW;TCkh*VGTVd-?h;H>20cs]mT$%Rr8t!Oi<[i'*affOZA#+?RDH83]_5'Ma)Gs0Yc;AHE[Ws)&F8nq"UaJ/4,93=E"K+j;X(gkV#Q+G@3o-M\2KAAga!'9?3+0NG(fE^=I2u%7#3&oYV?[-.aaH+bnu:kCX%q@DBSZ19*G4aMt!M?+N&lJHi=n$"$b2`G\R<-T*A<,XZ;A.M<$iQeNMI^Oh]I7'-G`%soM3+;I/VL_hkppiU=jk8a<,>`be2P^.E:c-c(GG-S'ZjK_lg2XUj/G)ab##aA\jO@jPrCS9Vis(^i?\9LI#:#b5JS!qbOfQMqiH.X4,>TWKK-"E.EBd88j=Ju7B;e#=.iGcRC5f-<8`)4-*_+K=B4H8'p-G9CPrkc6am(/hL:&P/W<(;&enL`/Ei61)fktlpIb2_k1M"Yd>T2a)UKT(cl\!\(L%1pG#2YHbQ?8dTi-dA%)]h)?$K9S?m7R-1]/;T>[*(UilZWt4hJ(TI-JeYI#*GFk>Qc)dsu/Smp&[e]!-tgV/Uq$pu$:2J18BI$c^+1hf7AA>+2_g)(q?);Ye9+IfXZH8;3&[6hJ:5*NLKt-2G!)akD!MZ%6raJ-6tme:0ib)*1t2Par[%k'KfsA-,`9oqLXKIGeg),T3FNSe0W4EE,]t'P!a-!7UgIYFH!Y4tI3PEr"u-O["2/-\e7$-?!MS!hjZCEjmc$p`l'En("_XkoY=(=.d49QOP1G1i8op7IQreP$EW.kZZQ-U6C7#CTX*95t`%_Gs/0`W=gibN!:!sM@:)c(tFq?qF?cW&I4[Ch+R7&.&ZV^3"3R?WWq?Ug*Z=Lg/>/]oJ%DP+$.32"?c^jPtW^N6IurD.C'k)RJOq!#'^$ZmoE;V-ht98];,SlCbME$LC/pR#"s+e=Oi:DEN_U`KC#iRN#`:lTr8"7L;YkD3Fldd'rj<2I>n3-mfN<]\BL\cY(V`Bmg\]`h-YB0jpSa?.;NXLp$JZ8]*t`I"2YmDD+JW#oa";.p7-bh(,t\gRYl!_Tpp?3u)G]SWV'HCHP%_fXtp6ujlOU]Adde*?hnkI&)8kN+,BDe#T%/$SPIM'559Y#7bI],Rt:WaYQP/&M"s9]gG=o!:83d@[+XQM$0sSGF82_eha^.oYD:qOB?&"7;Vd?gL'=YIroGaA`n\RK^]V$Rr+q*>XqhGO%o7M_X]F#40%bH=16sV7*uNo[MQ?cuu-Z#Jh7Y0/pT.Wu*dj"et!-G9X(k7(KFb[`RQkSA%UT4[shn_+XRX14C1r]'EO91H1,Xl[pASN/E31kn>rt2p]P_l6-Sle,2),BGo4oXuiZC--`Ol_"oYneD!JZQbZDft[G*?-[E:$L1=#HeX11JU6cRkmS]1R"h(>_3j^oOMO^n0`c4BPY5<;Y3T*NR%B!^_l,rG(Mci2]%&%oOAAuNW9+9P^SpX@jDX=`/:)2m@k3,6WUYD=6UDA:OWiPX.[#jmb*Z@P>t%N/)@(HV[j.qtER0?MC$B/k4Rb#/899m&#Q^jsaCAiafW=2Wf*%7A60@F'fJ>#@E.F,fl+Ms012#$io,]M^ES+boOM$uHTA?"4j"5\iHJi>\3qbeTbX"+Y.Qmp:M`pQGh`G!]=io>)rO]%:&6,qHB#ql8d,>fnb\BrH)1*amoBKi?rXb?[k'_:uSkn']!>+tV4enq&uLHDuS?!"Nk2#VUfm/LrNG;AFs]HTl_dni:bH:!"*aDW;Y0NPdS4iN?6@bBXVqd)a:DK'R.lKf_u4YkOJLhTuP%-T[p:D\/t!X?R:>;+!')P'=dlCU$H+/D;N&[NOP.b+i&QHp9mueR>A`j)HLH0Ypn<_r_OK1)\1tjS/9TPQ]m4(4'$7qo3gcES4+_gC.=-_Dk^.,6SVpDTMnJg`\C=>p)d@\Mqcm#N:Sm9QJdN>AC!pFdL#9uC>a2Uu74lu^T2@G"DAG3E!hgkOIfp]VbJq0sbOk<026Oi36=@p?C4Hq%/cTU1]Jb6L.h1OZtMAu"uHBW:p*.C1i>[(kt(&S'5a51?=bp:d9Ekh8?,PM,Wej-(Ubo"!Po#?ZR[CpPrdF0")JP+_m)K65A8V?:h%8Bd=P]_O5@qNTGs+i_N&/9Oa5H;hFH?&dHZN(^cIWC[PT0#"T0H6?NN`8Qd@18IlcjK.EOT_HA:K&'T&&FLcNo9V=%EZ7Gtff/NLBA94q\k0-RPJ+RRm1R_]-j:pp]%q)=`*/B*.%L,AI/'=3'%;-ICqZb_trX]T.n,TVL4a!)e6uU@3;k:INc+FXZ-k#a">VjMCBF4k#178pX5L7/"[n*)(=t/#(k#1q+Ts0,C\ni%$pQ#5J.cD-qo$XGZ*A+@;U7;e_#B!3,B3MB!fVY[3m]:H<8Mp056qH:>L@.de8*S=CAk/l,&%iH:]jMb$_@&'ROkh[dQ[>\W)2i\(%^*5G2mILh//(c-/N;q!GMd^bWaG$+#\0385jSSo#hngW@L5?iSh58Wp0*md[1;W0]'a7nKm@o^]A].aFaTX\p*D3cDi<^#*"Qq[mDi^,@XF8oK^7k&pmk11gkFL%)r=6'lY""(=\mhf(dXV,O1solohDLPtLZI$dY_Z@OE8CC-'bV/+E:(eR5_s^Ll4+6m;d.q'S0)"`bX5Mr`?nB@#$qW8"KdUed[hb[#/o_E9\)t0I-.Z+cmJ)*OTk.h__[d:i`/M\,iLJ$2?-_;6sO*3q$$VM"KP*#BEQ]V$k9X;/fjj5M@>?CiJ=TRh2jT(\B.OmmIs]+.VYXmkih^H""aQ5H'2>*Cd3_P&]rYpEdQFI)IUq#J9qG4JEIN*AoQIt$cG*4J"[Ld-T'@CRIDs9ah"Jj4E9H;V6)eH&'!BI>nK+/l]pjKUk)5;3JHY5u)P?iJn$H-Y)PDNL7(d7`!9nWm>cJ2gi&N")[ir73B"lO:p.CPY[T$uKkG(frPaB4ifn9@a%LXjneIi_N:=B0AX>neO1d%q-@[Z1&XK*]Rc#cH%BZ$YP*fbXa(e%DQ!dKGX9-l5;Fa7>$=mY4'F`*K>PF>Mr.adG^&0g4JHUYc$0n';XH)a8k"'R/hH5HcgC71)VQ:ch?(10Hih`mAKm#uc+KTh%Q:Z!i&2:!O8eci[4&3]Ff`uNZg)Ok,\#e95E3&_^OY+3_mnr45?0oSoU!BjE@5sgM#4)EE6&CCV3>Gp4faJT)FSCCTfqaJ=$3fe@MbW^+at5\8M'XjKi@d'f,h>(Qpq@O=r9PoA#]6&NfE0Wh&9:TX(-TETHjnn5W.Cq-dHeL$5onej,:AMNc`:IjF@U[b[iJXU!o1hP-s]WW-7i+?%&;387GIYB4rNIJmPVX>md,1cn+SKIQH2`Jgp3b%d=iN2;[&$_T=/OeIW,DAIR@iXC]t$e@5sd6ZYW>@XX61n'"o!k!5*;N]sf1J-C9[Bfg#9+Z&?c!poWFBC*HW!#NaT&+*om,CjOG:]7>Q;UX"R1R=EoMlOW?T\uSIa2H6(.26g(!#16AqIYQW,'!OK+4]u$hH2<+_*^1"JCaI&U^[2WAnl^K7+])=5lpV@%s9IZVOtQ/!4;Bp0qX$#%uM0_`0S;&Ii=C]CTLB-KANiTn0!*E?k.(WqU`3]>B/J"J*RT7n%,Uqj2jg`[6,utZ"%+[AN%M[[6qB._4s%1uC'+!_(!`80[\..!%qY7r^S83KYQV5EjQ\4CSVSH]ooaQEb=Z(KVjScnYX\p5b[[T%ID(j@-X4LN;=G!ZXVsu"CUtd_.3pfpD+bZ]WV4s-K,J,O+17*"s"mGV1WB[3Sj-Cj8F)`9rJ*-g0NS@Qn6U9i\qi+P)Dl'.o)'ljMV(``IV`gl(T-U^lh'i.[=fYc]B4rL&e4tuaA9p"BKm)uE@:QLbV?/7"PV2B2671ankZ#ofV=tj1CMS?9'K>Zi_!X/TO1u;LfPEuklB_%6EeoPsfeKU4t4I-E';6Yn-Wh==o'XCoa%GH,F-NGpp()rt6M\7Y=Y.DHaLgfadO;*N%>B9_0<8fe';Ae9_b%M/Ha\k.YVPV^tBqkc0Wj:>7&q5`to0iQu'cMn=V:Qc?s.M:Pf"d=UB-CaFC;#fPBt7Wgd(l?X3`;ATM:"Iq@P@5-fT5ZObR_45.UKD@QQaOr&l9U+/l3$!&3$')-uHs()Pe^sTM"_h%XK*gBAB)8YSaKu[gQmuIqjODAU3>)R-\QIOYV@f2IgM5%T>+`5V4hh#?-^Z@dQ_f#Koiht.%db(DLhl8K1l=7ojkh[5iV!OfYRW%&0`<')SjH.NEK[e_&KXZT6Ae_Oga>kOMgP6O,QtilLVjMFMNTtb\KO<18,0hi-=Eq):kt)sFSCCT1^6MFfZ*O`PtWEO*BO&V?*4dY@!t.B?uQ0hiOS8Pb69#dLc])CsA#=EhqpoY]Sjos\)>h!3Q/gll#?1]@)54WpTUm*-2U.rC%r["^aC;)s7?(("_O)JLT;h>THE.]e1!6.@fN-A8!kk,20W*(-%t]iA3A8+c45'ZZmct?tmSLloD3RZD0^mPshr^A^-EEl#Hkom\0.KXt_3+rEOXZ/@!nk_C_@M#$G[qgHPOI&ujhrSFNlB,SR1+\u*nXn^LTH0Ta,AHBtGMK@)*@Yr1Obh"$)66S@A]HrjmNTU;-ON29c+"*LarFWj3t-j\0;QWQ'ldZ.8c7n=XD_$4EFh+!(@q-&T8ir+cq6CB@[!:?eml^J<8RE=d%!/j2Sr/^[lM]*#AYW,V5ebFAKlu8^ZUE50tgJ8Ok5p.[uX.99#(RK;-d1q!\2R]Vf6TXMVDkE7._9fH7JD3Mhhd=j[jB%'PFl6mVsk^P2?rElW'SWE&dr'mto@6EW=DnUY=SQpT][:ADZtm&CT0%=[CR$ibG>$"q/hKeR?#=V\\6@FGui/W6Gf6"N-66!Bab?04IHo\NVRI>r8T957-q+PGbN!tJN`",FY@eJSZT2hgSLKI$)I&([b#ekIouB@>#i6qrQFF"J=Ie:Y\"#Z9$9;oQ1;k?]T&\Z:G>XP+XgP.p`H4_hi,MM'4S?dto!C"gp#8N]A<>Ku1pC8V+;T]rJ"<0Q;sWg5iQK)DID>W?[1]4XVa,4>XXmR14,Tk7aQ#'FjW&69];NKAUfq_HM`FuEpIpJ0VgXEACdG)B;%/poiFDq&qPL%(^H$NK@QCDK'k$=7ruSQK"[Oc^JKc/_PoAOSAGrtJ[@Y$Plco"24t+D#GnLmtH7=2*HRcBE(^nJdP-1"l+e2NgUoPO:GUJ>k41CaG9oVq1U[+/(qlCSZZSCO3^o/9-`P&a*9oqQD+IOeNS(31FD0*>P4uk:0iUMO"=7mt$V4"3Q2uH6U'Uf]ZeB_jL=PR!DMDecW$_.BEFt2pha^JrpnJY'E._/"3gfSiV*/p8?fbLo]+EEKMZph%pW1@9-(WdsK&OPaf[E!QgqFA]&K2\cRB@00?D8tG@WrV)Lqc\<#!*(*%(/_e6S\hs%H'YVaQp2(ll>lb81jlU+D@U0"3LU$8E,ko2iu>7!h>6qrA;J[\[NiXq?@-Q-L0*1_R:h?XLX0d@:rUQYB"/riY?>VYbF3(kX0TQ?m#0k(lQ5e):Ro3t$;H)@3Om&0d-'LHesH:+I<9i/gu!N.)%Jl$Gf7C1.NH"(s$h^.JHK@FXdnSX"@MnoqW;Xfhb,VMNJZu$Q7rW'"pj/UHYQ0SC$'3JJ0E!Se'pHr'24W83H(%64j%nlT:J8.rYlYuL]1pCr'H?NT$6YT5bqotQcRoVSW6PJ+m&)mF=G1/cb4-$s$r,-R0!Z()Jc/r3SN`L?2FfQXa805JjB>A*"A7@o@U"LGK)&,FBh,c[":TO"k54OB4jPZB,%m?j]9LB6l'g]Od7Hgi.aE)c(+9%)ZjnK%*'42QKa\6aN)1cr70rAP;H2IMt[Tn*[jjpf4bgr8i4]f%E0P99bQE!P$Ku.BA'D`!1\[iXbAApodcNBY;9a+1+@!8&2%(!Ht6V:i?jgP#T,$1,H9_W4U`pj%8YA[L\/o$g46,m4UUK(<(+JR2!J:k+$XIu%[@jZ>l>[?pS1*=DqHe0k6W5XDg%"\YKLTFJRQF+aZqYYraEiM7h^&>_Wge18CNTEUt<@Y(g4c7`?;]P)s4's=>Z`[%&@)@Y\c9'HP2cf[U-OPW_8@K3)P==YKFNR'R.)7Y\:p0Le5*GD((#YLCXHq7PXpLS0fG^MaF.KbGts4`f319MBN)7HW`s4"SsK!n^`A&hAAT7Y;TNk*np_nE$_fnZ+30?ct&s1&X4(7,Frl9NgDV=BsGit<#;Rl;@F\u?uT,?B-aG_ge'`_7ZX'6L]0`S=8tIk/PSXH92PLoBVj%0!PNE4f%u!l]H\o*0s[:j937^j'mOqn5"9sti1F*BhpBW*1ac"s]!mPaS2CJuG!T18NnC!*bNpWA`t/[/6a&!YDF3,Bs4>TF.$cGsbV<&@?bEe>$&Z8$%'`#m_@`,#Uf#.POg*_$e'9a:o+_m#59lOqbU^0t8,i)Wj[17XYeoEC$B[04j--/f^u[7cZ<2A*c8IFD7j\![NW%lHg+^?`V^6)V!i7R2pdj84cJ$\l[3g1r63C7bq;RA1q\&@bULL%"GeqC/r0]r[m7EMch'DoU[cRcl345.h@d%Fmc?],E#48Qag/5E3JQNpEY.Me%NS9s`Zr&r6[s"VpbSJE-3MO2=AI6ONoNM'8YVC"pt\YHjuDIq+qk/o,UQl"U@,*G9K%_rI;1inRfLS@27$Q@ltf2PFA\055>_K%VDm*\7>irUQaQq^DhpRl(l9Om.M\R/f4JA)_?4nSQM:3)VCQmnhU["(8cQ6nT;'Mqn7D(6`cLnqoAmoY?.nAZ"pT/'F%cR(G.Z;CEb+)g/_AOQWHZ_=@4akNjFY#`f?sP#ruc;!D"E(sH'f>5QJ5>h+Oe8d&GVRKt,n?Ot%$a$8FI5lhC/)R9s'__=F5pAZ]cP^-[*_'Vj:di&H,juY9g;]J'ZW\*j+"WZ1?_`q"n\?,&WTTC2LqqFFF^;lSY3E/hB+/ea72(DtJHn`ddDBuuqeOssTCkZS,b)\kMQZH?po(EU(.C!0nMcp7&i#%d*=*`F8RWcr2^hhi%g`n_??%4Wrm8fFP%p"3#j:k]U_*SLE.#P!jAJ.;`d%'o:Z_'og!kq'(fmg47<1H$HM[&@+&dD)u7%kO_*-T\$;;kIW@%#=eKhlP8`K+lI)^l60IDc5!\)*#`(D(gg]"\K%`p`a/>mF-aj8m:ujD_K"$n1O]l6d0d@D!':JdW?sK#JbambnE\pm56`+E.&BU)W3o),"UMVXAo34SJ;3'E7Ba;bjgkA\4T<0Zp5N&6LiUh'^Sn:F9&s95ZQbYp-j;)ieI%J[u4jpT10_X4&,!mFu9048T%ekY/ekglij"W9RaqI!B?Io*g9#1.EJm@&EHC5r2`&2G:W=:5=n^c99<5+_V:n9C3X&rL/bPMZRIWiO3%!_#'Q%Of;`sUOuO5+[0lmR=QlO'$fRhYI=I_#0+UXK@IU]qk_?hjN664[rbMY6)U$Z5;Mb,2'7eC5A^'!+>O`U8+I&-*'ECf?-XY(8kFXjrZdP\1k6bLk1eU!pA4,F^>VSYj1:/sB3G0r6348kGbX:TNlP\/ZZ0rEacd1h_u<9'+H%>-f5dqLc.b$6.Y?K>59#X+k2_I/(e/=tb&tJg)!3k7P/8`aW7p`#QEoM1%u+H:6scqTl=O'K0:/:Z2[q[-Ut.bXHt*$V&LYKMDB#U;+f"$@FSKtgKr8D#kB%g"6U-Y0V:(scZoCmPX!K]s;obsX*6pEL@6PjAj/scROKUI('RqG#DL_[i`b@J,D0?GUs$F5@GHk[.Hidun<8(:h+r0dT\Jlfk'lA#UGZejdY/(d?@.rD'g\31bTceiSF?RP%7V]R@;="qc=`Gu6<%S]i_:&<1)SsgpB(YL=m-0@aoiC=l,.N%K)j1QqqBbA6rK=4tUUk^mrmNk!e$bI:'!9rV$HWH%7FX]m>%uF1Mg-+=\ngX,L7>jCQ7)4dO(cT\Lr"D.s&Lc5l.NPXhGD*_*IbE%U#C\Ed>!G]"nS\L`8MXhKODOCH^ST+Vpr\m,=WlmFo[`'[PIMT2lpW;++p9U#)=]tU'ro]ar6A`DcKL>]'BMm*Q?Q)q]#__R]Qo5[ScIn!]ZgV]FLd-qU;+R[#&RI3Z;_sh`(_pa*5ockQe5u32VVYpLIe"Ur1*hIg[-&Sl2D@F.Nda[T%N^lR#BBA(k!Yi.[a:OQ-Z,ss#R@1>4Jp>!GgX,?*Do"M6r$&>"UI\S=N7]PJ$dbId`_`isc#bZW(DZZ>0@!kA,Z0.V',RSr^+ZGA18)09kR@/TEU3^Qf\qX?%*`U?SN5?k(t+D=kCWN0_RXM1T.Y%mhXJ_8(`6Z^8acR:j&=0gL.sWP[QTH1I72)_5AFs!IWSflf5\2L(<,3kp5J^fSIIXd+O9r]0i[njW++`+n!^^D0oRP.cu4N4`nBNs]HS,qjkFXdmPXImY$^N5HbU?Zu=0]ki_&^09e&6*e+=tfa]]8KH'$]Jt'X@d'd+2-U!9omMXrbrmUSa9."6"AEXi$*jUf@I,5:uQ(S021p!$#&?8,UTb3S))3KN!qb;a']W1kE@BnqabWf5?aUd\2euJs$^83"dB1Jn&CBN[1]eq+\BN7GX:@Qm@dIN3RnhfBS.[c])AUZOsh2cOGn)Pef,:p"TJci9@ZgeZ_Albsj3XbR#$#Ao*'[bP3@!T6?UA=oeu0`m=kA_.W*bJPOM6^\3YAV6p5T[6n6a$#>N`PGXdtq&*CV6(L)+!583#_EUtGI,*6kc(A@kmAUQN'qrC,(BU9>Dh-O64CLFAlulFN+TWb?@EP1Rh'dGS+eOB&b"fK=CJENWK9n^%&XXk_.H-QY:-PQc]G&gB_n*3+O)=g;Z>]`]5MX5)\VR%/lMR'*#6*![nA8#@cV]FjVLu?.^r:kq)P?*OFk/Zl7+hNqQF;D>#D#F)4UeSL+X^/+.0mnJ.pIdE9sOItV6Wgn.i;l>V5a&fUCi8&Eht4Po.X88qqm?n3>%`@`JtQ8P?o.[r/?:C&7@q/X%MJGtn8-(.i4JOW(#.>Gm$/uHU"^6NgM1`#:5JBk)K=d.(TV3&B0!E-(s0^g+a$TfPBSMYW+e.H)9=T-&i74CV.TPecgdpG;`Vrd4sPJjQc]][1cUS]\@`2q,$<75\?";cG;fq4>H?<9#)7UqY_aFRT%uo'?L5`7oj\$=jE#oek;ZXCL'U%A%rXgr2QGI4U*'H`)gkV.JF8nJK*q&K*?8i2'_gJW0VN0r*UW78[T[o%$jqY_f0h[=`W%FuE3I,YGYDiajF<=U+bq8-[ppA<\FrBHEGbTmX9p/$Bn$mI2d3]DpCh"$'d[shTfl\Z/V3KYG7Ej#9@e.IF-$ooc[qT$1td#>/a;ECC*DmX;DGJq'YPG$>&"MSjii.?DN`^&1C(o$'4r8\\sc@[8I^M'=0s8GDTY40A>-?#BS#7\Mf]hnZA]["\Rl5Nj(]-;+^i:[+rEE([;Xf/QQRH9q$>68>s;W',T;1'uhD>nN9HN+r1uDj)>[*3-`DP1906S.u=eeYlN^1dI<_`X-EqrGA>hbe(dGf.(7j%>=o;#S7dWc\ABe#OS?ZVi)i+etj;N\_jA8Fp^QBF+N$F^?A^W''i)`u)"Q.sJ:6=d2/HjJmlGlh3+-0$`5hpm0\+2EQk9>(^K>GIX9S(3FFKGMsiY)CP&+cT_nj,G_GkIl`Qk3-*'=XDpAf_BlV(F,q_plrB;F`,WPb!_BQO$(kaf%u,g37Ke#'V+rB8$IqZ$gBJ_a]j`B!.q'/Z-DihX%G@g_(fs^q6MPZ(#76Fh0MRL)*;\I^MKfgE_#iW>&l4qR5qIlcpO1Y-NL1EM94pd0.caZE9\b-]e.Ge;Q'8\WZ+)bB-u0!08$Fe4GU/DhX4PVk?e!YmCSod,TZ\_4SBZoqO7QUGK%@ceVK[?;DDt3;t*Q;qL']T2/E.MFD`fNk"'2_Bpf/n.70-5bW?]4J'Qc>=8`i;\W5WNS1/HSkJSFCj=>_7Tmm5GeHpWNB.U63XbKt!UGA"ebm&Q=)&*:2P9744MI+'Q02r[Wt$aaZRhH0:L!/^eS?+%$YbgB+^iJb*nNMu90fLIO12$$E>`c+AIJ#Lu;4pbmL)0;/0-WJ(tPBW+[d:=AY7LjbK;6Aak:_@n(-iL%lpS".-q2NPD=p68;o:=>a";_aYU#XVdTY6r"H^-\8VpXC]kk`]Apab\m(,>&',+f!E$h5`2O$,I&ScNjo(Fh@Ji.$>K!+-LRnQ2!dVRVK<+Y*q.@I4n,%m]3ZWZq=E>'rXatInrlS.ku;MRX@(.k".iG*!Q-U,0-jn'B%iq\+[@1X7M_'6QV2XL96W/34Q2/-'>MBkS]"lc^bGL>K,2l6\U<3po@tkqTO4[O`nb#:k?QQoi]RI.3me:B8K4iDWqe<_`B.T$%9BFd0V^>)3,dYEG<]@3['*ic!kiXi@iE0sh&C59CUTi5T5`:pQNbn5N*c:J?n"o("CL4g1[h)J"1dU/6ua\0#hY4H[HaR1j,4XYk._,6&9[8YMhHdHS2ONk1PMe!=hN>_Wl4$Kkm',)&!s<*2&cHYYN/KZJPeRubTo*"?=F,#;h0mC)c"U`$;b\fYl"VtiIG30IENZ?L<4AhZ@S0!;O#*NRAi:^Ke@;3BV'=@a$[aT6i#X#q7[<5g9g$F`Fc'X$Y:Z5JcOm6#SQQ;Jnf6O/%:_m*V(je4U^O:&$]&/c1\Za?To(YJn[e^'rb*L\<@f*IQL%Z(Y9LYeU_ODBeJPr#/-b]/I14=#/S_]'q?E8$(^RF6)H02r/[%2pk"HXZk*D>`$6KR>AZ5)?h#ZH8PD"C3cqB5LNh[VApAk!H-:MDZnmEXQ_h;*E"i`i^`Vc"W=/jh('_:+>kmYMKV2^&/1e]Vm)XGSh>X79;2[3ArW`kSA!JA!\qho[NjHO0r%]]4eELZ.a3^`,V^@^33<"lMaMGK!9j:9I=O1R]3m?G%K*PCYlhWhm9BdO8=O",$@Qu\LW:<=s,_"c4"3@l]Q1?0]fJJ#k>WAR1#tjY7H5)!0pgD>%4jWgmQd,t.]"8VDaL.J08YL5TH@l5E4O?.\MC@)d5%sj4Jchl;ZZjJXY4Na1!_;c]fJ&8O]2b:.,LY/F-!`ih^iEZcrY5_A=<.%5P?_)b0?r_6_[b1s<7/T/p.(Od#)Zii^_a?j,c@tMEG!cR\#PTG`;.Sr(G`?.]ILrZ&'8Xst&WX]k@l)8WD.M4kRM`>mg8u@aLI>F^R@ZB09c*$p7%I7+d,/$k]DQB3d6bJ_gh*<1/s"uos4:JWks"M5MeuD%5Fgpa^.Zj^#lX7/Ye]Cq/VcdJA]AG"&rqk'O!Crs&G/gt=nYag&.YZ/*&RreCmEk(,g4f@b&h;"O5T"$/,RB2Yh''9lCm:lq7fQIk:L:O'lZt&mWq(A1VE+M%hI^`SHj9T0"ah4=!:UC>AgacV87`!W+(0f'@g$LJPlSl&ml[]]?)eB:`c^!WrH010H7Q,cVL4"Q9LMX@lR@0BQWKLfpC%>)ORS19/&G1F)gn*G4cY&.@L>.aDVl@4DSTl2BerfSU^Y=10!t@XJ)V84JsWjC.Wq#PqaZ)!/L$s:,*KW&hJ]W9B=-%f\tZ^jh#5AUgegAo&H!*PT_;%sfdi#I]S)3u$g#j"LcD4n"#4U>HV[dU7TonD>B:K;SRnq.T$6$BLqsW*]](HDjG;6nOi1;;[\L"_`X"]P>Z:#H+L[`.D3B$qF_Ms$5XH:;IHkS[%Xl9^(Z%F#Ek%2_k@JSckY)n\^U$_BlSW(8=Q+e<[^=r9$\*%JO@>.MHG_<;>.FMdK.Ki.]LU+pZI4[2aS5EN`f/S+)@!qHEJCBS"WKF$Rq9lk,hh1r@<+hK*dFtDdf^_USru'fN@hFc4(`\h(GP'3)VNpAH'PCY06i"@I?Y"h,&/),P?C]^RC.2L(>_AtsnkLuM8QG,$S/S"P\YfX;)nBJm2i+C>'tXhZ[)f9>TQ*jKqDB>ipnKQ/JXPNbqO6P_rnoTTJ%5Y[1iR;.lY'"6jV!T8)p,W0,ahB)CWrKJrjk"Zh)McC>:WhoUmH9$g9PXH7PZQmor^)mQR\pm$JGLQMqI\cY;qKk`aeeoHnN[m>rH.^M/7q!>.NU?2ObTl^>U(DRBN)!94=t@EQI:L=S]9]QB:n-Sk(eoDZ*kN?6\1TV/`QhhZDi"a6U1lHZ3,qUNZ5I&h'NL\9\A-.Ug-!LcFK6lKM2U#)Z1%7Flb*$pNT]Ntm32b8Z4qWmEP'J*nFHOm&!BR#(UNk?K@,#[oRbpQ+L_[Uf(3t%V!jl(3+\j!6c/RShH["f.MQ.p'uZcW+@*@F[Pmo."tW8"Gi^;oIR^HN]MD?=l$16%hCt?jJ,@nb/O2CWRUuT@$5tW-]IdAo.8)GYRO?K[7*q)^Dnh4)g#hA>Zi[j:S@r"37TX6hD3/4eW#H61\r@69DcISrsZ&[)?(,N<"1%6rmq59=t1aYMGVP%'AtV$=t)7mhRW[]+aO-F$K(Loh9lR&rf_6hesEb>u#ZWa>9"qCf^p\DNS@/H=.JPuqq$5?_k.hn5j5B@U?P"I*3NpoPZ&O8B=hf@K:gJ/<3iRKQq%BTTV0)%3J1s"QC#nqlTkU$/THahEpVk(Z")4?4GHKe!GRdP1#<<%S\iBIb,2bg4f;nNF)\_8EQ("QZhGZjk/ZO.ljmD8saF;peN\..-3?QN:eT>7O_7"d$[(O&QF5q;R*I5l8DeN=o0Eo`D^+uM_#W%BO8*A3^)rmER^e3Rq3MZu:`Zkph14slS&Jc\HQ9p[ca0b(0'M04?\V$[6l;d(]Lp^G%(>V(BuM>&4H5r^XE_QUdVY@Ud?U$J1hH`len&if:41d-'IQ\6KB8D8Dr_>QfINclC*MQXaMo.iH0;3[4u8D^Y1J'$MB"q!SN]Z&*=kLeiF`3]aI5hDojPA9\iM[!"\\rmn5)%ah/jCT[DW&QN`O=9cpA$WFoMGZ8CjPu*>D(UAEkfUc)ZLg?dbi_'CR:%hnWK(4<`TN846@=]Egk;Al2V=\+hA.7rc,[g'0dH*ZS&0o3c7)U^M3$6`'2/%g)+'mBBVh4:E,QU_H"jU$:44dnrq$XT_S%UFA9!_;n1ET0r&1YV'(H)EHTCT.T&a4[X9(L@?TLp3^[!i:C8=O)`4[\C^HHqbt_nrK]+*[<`+nnke/XA[*bj/I!E[f`0tn>#Fb%E_p]L4Mft$8rc#7H]JC5MX]>-Q!s70Y\#MJ:&,ON8i#t\K]>X(h)YY%V.\FhLMSD8bL9ZI?M#%uXo26,"1,,cB5AM,,>!WC%GliJS>Ti3V<3EgEUkeqICWQ*gZtP_[_kE.7/%H\n]ND$:`D7Ide,<-'S?*%ma'grWc`H%rA0$(22k^pD5XWjXaAP7EET<"%PsOGXDiWud5$Vtp8s&V\jTKSi+9Y$3*hhrL")kH[,SSL+FW].lLWq6)FPLOf.*n1n+;#Sa@:p"*q\MOq,^3WO*mHL'eaV^]Cl;R0b4N&(\HIrIVhCfgVGc8DjM:_XPi$*7Qk%0?\iI%hsYF/NNm>YKE#O.t_"#pnF.#pubdnGA[*kC.Ng@r'9&/"9=8&9e.:I:;oS@a$>8&Nc+\bj>nr<+R]=i^YjG$3-/h`BX"uB80F5[KN0!/RL:H\q0htKno)Xj/*.uLSW4OP\us,9+)EaG;4r0G&,fYVaH/iO1j[nU,GA6<7u;R=I9s@dqG31AlcMK[2bQRq_(Vj(SI0Jd4!N"b[=CPbF,F,Cl1H5eB@_CDBf'l=Go52Cjq)j&f(4[&;M6n;Ik$QE-rIHfrLhYl@?Q/;(f\+T4V.7)6Rn3?.RRTGP>Y@SGckWfQb)7Zqr-iVc3<BdnY0Hn''-TP+bgRH'?ELgV]qY#R>!nkhrfEnGQ'Nm\+rs,(;^XKbD%35fb(6YH?q)$.=8uPmYM=f?WVaI>A_UTY+C_=r[P8jZLE`a,t9.<5])dcj/P4\e&^$h;`$g_%7mS9:>jS$'t"H>f!]R3#E$JfN^bm!PhRaM(^aoI\?k1hRX?Yu8WS28tq\iU"ur9@HTUuL_)F[dbmI"ig]"(9$X1HM[aDb0;@:f$%ZbmUn+Ui0U#=HKn+>"==k*s_RFaT\[keN*T-9'j:7dOI:bZuET[n_#G6Vk::V.4lD'l1c`>68#0l(gA^%2AZiianuRM@[JrdekGM*CqHB@?4^@0PD!uP7NSMO>)tc=Ei*-O*`pa`Wj;_S&VYGUjc72XB'_T#`M.GB7i_;kf"snNd^0e"04CLt_'+;2iUO8l_kA5]>1$@7GuHY=@MK!?MBZWWrED-qaEAkH^Q8.d!Pp/YiJ-dC+0K&`1qb&^CnIEOeJEAC$Z;I%BF:5a6Wcn,bV*pf,qSNmu$i]R6&:-A]Biq-lfn)3.lK$-"&Kk`aicAp+rR>%(:e'^GeNO[ol5Ka"DTjOI,"'t`a[0(`u;_&V2"2iGZD"%pW&1Kd>q&?$Cag$^$E9%F/h$8tLJQ)=$m9VHZIW(388lQYkqNGkmXBbN"*%qSno>ggE-'(-@-U$IGu8jO#6P/BOe2[jt,DEsdJl\0:sKgu52'Kt)Y_DiQu.cUQP#9K>bKp"W8)ss^a8]7D6"i,=pi7kLf`Tm`+K&LY8_$fd9Cal533@p.G1Z8nNd,Ntm,pqg_1ILYdiq,fkUUV(%G$KA^Sd%t+Y0qC-f+lK.LLHI\Q_F^kIIWmlrUFK%"X`ilJi';u3T`[:g;ND4$qh:aj7p'meW/7"nNl>Sp61"jBNj&X&/4YY3uU;&.2u2)Jgt0FjZjC.+dL392H33R1%Is]W(5ZUq5QRZ#0hoKEAcD:s69pr\c(/c6-F?&h<[R"]Za?me,@4Joe(PqQZ6kC!/K;f#K,%nFT^k#*Qa,je>6i_IlQkfcr^l<[#h.5^$FAr+,D"f<#[4N>2<=3=)SeDh"PsC.uPJXUGQXldp-jk)^dfi2,Q4&jgQno442!^=uJo;1h2n(X1UtEkYIMJh.MBaUA]Ic`6;W!(VG]d$LUE?6F,6.hIKXA:cMIWO)f9CdNO_c%8]so.hn[okT/f;&V/NB!$5ahC'V5TebVu%oZ+]/=ON=?)k[4E^d%eI-$:/>G(DK+,Ds(">Y8S\knY[!(McrPV_Vd#,PTc^c"]QVU'L7Vn!)sDh;A!Fdam,B-Wn6&8T`>sYqDZK%Tc"(g>.b."7]*U5C9e:3O@p_RiYur3X`JiZM0=J)821-UP9F:t/@((^bV7X?#gNN=7T'jS`PC[DFV0Le/qd^q-=!#HhEu2RnPE,F%h$HJY#\Dn1H_GqS`H3-4JPgYh[b7f?[8o2@-t1^CkuBP*uDk&"dnq#ppOAk)<&"Q0!dqmE4h)[mDNm6?KKAa9>UV!:&aYugLFWO&VlY[Gh)89>]ig8ZV\-4DeIG01C`Fd4=Q0#c09WMqdbtmS1_lj,DZ!@13"!@&t>]/@kS0>0BYWe\(+9;]KR!%dY?LjqiWb3@Dh#^&?1+E!PX'\/\^n#(&C>&B)F2SI*-.#car,Xhl-e`N>/k-7#YfC`bt&OI8AIV&q0+i^rm,Qp/SF6GgodHZb)^71&YHkoO(Fi*gd446_=2:F@N\0kIfq1^VCs0cljqb8hVCsHV<@7&W+s`'r!BMUpWCtLRmXXEH^_K>I$WNIHaj%ql4D5k10Hp42VDQ^2`^,j5QG*\.k^qj$nGcG3;14.pbWuTR#mNt/X'2!qeZb^Ha>@2-s"3Qnn,4997lnG,pBSu%3Y'oc+"XsU9$:u5O2;dQ`"!sgr&jI#G9jU*Vf"BmJU!92j$Wk5[^C8?67cs'=gQ/dDM6BP,sOHAahcqhuJoGilANV8-3("E]$[Dc^kf@%)RW>/7j)HU9.Wn-#$aQ+5>HY?O&M[WudX-?5V>h8#9sYI.87-G"bOdlq.a(28&c?HA.T+p:N<%a#tM\d99T.<`>iaR7\1.(4pBSWi8+b'Bu)E,pX/LR&E+8Ecb]*0GtuUXPYA>55ej8K#&H$f^XqeC\KBG)^h"`+lC$fT3ou4BmV_r-KY?l9FKV_Y*:G^>-Sh/aJ&n3=J&ZKhdNNUPO!<&5)g'@5_8CM]rG@fPnVdi23^S&LgS`UNGA#ZXfbM)=gD"GV_pDu);Sn'9i^Q!ADA*B'2f)SMa[LBr,K+#h*'XX:de&"a8d2++U_ABrE5\H[,XRP=`8(;VOnqDD1OrsmdZ<8XSq$jEoN6F()a1sEt)#ms89j$%,iYpK-04![rF!K_4N.(2*:)U(HDd%NWj;k8e7]2p.A>o*M]`D]C[:8omE85%2)CQQ/3='QD6eu_*.A2[;>02'nbl/NlkXje!l%:eces>Fp'IKV#58.A'8s[^W\r.#X/7M,jdh:0Rmk#B!k-2]kReSV:RFM"F(LLmaV@`jQMEt1]$HdPs,Kob^VLP&;:PWh5,O*Z_HJX"qi554=N5gpdnA#U3lEaQ81WJ)dg2u5780JBKHe$o7Y!W%Dp/,NT.GeeX"4X;..o7V`=RpHWo3,eB,M\h40j][h_1oR$:7?"E59d<5fB-['1?&dklb89T0;jTNQf7go)Y<[on9'7#kgig?TWkcnD(\l1NB'T7OsFaO@C:Zdq5]'-1003B`HH0nFlc?e^Ea5B!<0(GO[o\]IjNBbIN^:(#QHVNY4`C%'aTL"(;TB@^&ujNnkq@Kg>um@t*n`P_DS7flsale,+i,2NhGDSliWW0Pt[^JGnT#frWD/<2lXRG1?=GR_^(=f#luLI(@7Q'U,L/gY+iH/%D\O+,ZWpa0alN;XMLjmdE/rp5]&a`6ls2dL@FE#hr:]_U)p\^;&8JSR&&C53)@HHLYXTdZk)JOC2YY.-rY'3+pc=O1:h?H.Bp!'g9B*rD[gh`_,lBHP`5(r!I#_(PaobVjBK7c$02Z"C+@gA;HFlYQ&VqGt;.P:B6%L0n[ngDO^-m$mn=2i]oSeV3=f%D%>'NbT8t1Ft=.70l4-?h;^*?=a#WXqIXE7tC6)RQm%GK40d^nGA/eT$&LfQ,/6=+8t[1b1"6a(>87q:KE_kKNB2CQ:dFF3*:n#h%6>P^qRc5Fu]$IGR_/kD00++]t%B,_@+#F!`t7:t\[OOe"$R\4g.iikn81LA^3Jp/V&Iu2A53S_p8UG\/MZcJT5n$X-8Ye$?iY3EGmuhQH>\I]O*T1?3fSR66dafpVNCD$4i(24rJbJ\uCXZB;^m]pnLOpCnhUP78aQ];<>$B/4d_#a86RU-249;i\+Hu6hUsZY(2n#E&Z'1O\0A+B[l=mO7b1*`P=?q&7Z*!VY^[O%:rOIa;'[B+Bc\q%0>HLXi^oj(2&2>!-Ve$CM3q!@[EBGqbi;,bU>,7BTYi;/Oe[^P-:;PXiW&WJXBA%@8&h7$*Jm@D4SCl;@]Di\^k3"m;!^koh<'Q#B#TIBC*Z0l!"EB)KMmt%8V]PgTg7n9<:&3bu!aoY;PeUZpd1Q%m$r+]7D9:ca;DVH/S>\0LDh/ZYPSV$(HF?oond<:C5f&gZ=DkQQhJg^eZ9;RJ%a[?R,@7f3W\_nY\rliPZ3g7/)bsg2A:ue>\EuR14PHgUVltq640@OplGQ9i!'1K#Kdqp8$'c-7u7FiP4.oQ?>RHb8a*e]Z[Y_gD$J)@m!5+.1T.iXAXX[_k^/hb(?Eli3/XA0Z/ngCBTB(Fl18FE'"9=ZW5R>k;OZ3a*k5`&"Ji'B[,a+GU`O`>O=$1RU![E0(U)h?gQ`>hj%:=\m6NZYP[#AUa[d15QDJHjA#'-K;6[7c=>a+n\k,;C1PqLJs6&:_#ZDSFEX'#URe8SfCainSs0KM"lNM"R-kQbYopL&,a:=#=(fmg(n+t5Sk1BL_4E"ZaT-Q1R4^M5&J"aj^3OJ4+*0R2BhUM%ratohT$"78P'W1OmGdFAI%'*.pounLD=Z4j5:09b1(.o1F)'4Z8dB!t_1'81:X=6>:WB4?fC6,:d6-jGTf6NaD]Y$)2g_Lb9_phQT;4tXKm^WR7[&nW5&nU$Nu@4IO]C+A=0,nh;dfgfF\VmCYoTj/d7/7VQNj.=%9r+*eCTA*FWH6Yn2brTbnljG`D.-@SfcPS+S2G&=nc9T),.@mj0kd.mH6F9M8gk8@Fu7U&jM_XY79']H=b_r-]MhfkQ)HleH/SFD!4KK(0/0E1amS68%J;lsH2..<`P4<]pkGQOAIbI-'?n+a>APXCS==;PfhLe3L4s^X&OFP>,;g^UK4R[gjiZL9LHC8/A;^MLOc%7hh2.i@J(Aj/I\t?=>?MD8>J4atC0Ir7ipfCA(-;k+`c%b$_H[h3#h-!S4?2;D(Zl+;7G":D-7Z0AD&sm:\;6keA'[FKGZ,Ri_e%&s%5G[B(2(A9r5a$_H"Q&Qn=e.i;MR65LNgOPu[k+7/XV,#;Tkq0D.qChJ'^br'*#KB3g`%[O"M'Y:,#ZB'd=VLc:SYMkT?n]gGa@I^aMZD8;%SNLstoXe?o6eN/TBoggBI1q0'%UPs%*c-.0jJ3SujdjlY.*9!)2E;VC`G.B$aq$1)L!h9rUZrI$OtWs[OS.(cEbb1[-b;$+$`8FV:9662eNogKHB,CqMH07maUJ\5ekhpTYLJ2(*f2KPPTQJno_S10He?nX?lU>ciEa'jEeMlX`-%NSc<"=I=MP#mmQQ3<05o>SFh_[1uD\d0[,_ah!!TB]1$o&($0lgbm-jKfB'c&q:GNbs1^$X5,nEWiakciY&Z.[`3LeEH9]i0GM.@O0[ZN[rhnAlfIWjNlJ';pPO;IALT-_p.FFRDAL2;P91U(J&Hp]>F(.@HdPZNeFsZ>gl8m"th9[EYfK2GP$-I^Ssu4Lqordo,V<'5c+Y!VW9_1Oq[bd\TAB2%XBQ->JHI[\O)OZ)\jeDV%t`9-AlCM=h%1JOICBkis#>^3mZ^M_@p+SR(0QC%\=4pX(O>\fYT`I.DLR=+iklg1r`2t-J;EY]e_J0GB)f&Yu*Ia=i#9Els@7aQA6hn,6a%_%&.WKJ@H`'6d[J0I=/q2%T>P5DL$^;]CqaYd1iAHa$G2F#-**E[Yq5QKc$aj8$07qJPP\7s9W^O_iEN;_o.0bX7/]Ga_?C;o;)[[D6TCj]IjIPJDH:8,Yp:;q-?q\T%5@OhQ4915GqNgqV>I4-7DE(e)ic)5tW_#$NjQ1qDZ*N1QrS;i(B-<*h1G\A2#RDBJ$GTdtUqcb[IBn)Fj59gQ_U]fe2FC[gl.Rr7lCcon9P;5'#8@r`?BY8$%K?5B)/iW8fLR*^5&%ng^OZkJ&R1uRlrj*\QC-TTK&-P)hZ8qG%r;m89P>aIRDIl)Elh7H?l2`P6@Fj2bNV$T[)=8oD[;J!L&_.]VABm9MSI-1q*$W?,C6D#PkM]!rXK#iV),,H2qhI0OX#+[-BKt/MBVIpp]JUYH@FI^A.>S';=7"jmf:f,`GBd%MBP)&7Nkd2u=g+ZpK6"btrC:qrPa:]].=(;oNQ5(,4%PmD`ATB0M,htatOjQr4IDnp5+(.5Y_Tj3m0+(tkm&TN#d(!`CepGt_^$%K;Ntq8CPT1.#og,/.W=]^k@3g%pgM7:WI:VnbVnq<%,fma=,Le&B9N1u$r!=$_Y.klo+`XPl6S/XR?u`UVoLI#6fsIqTn]'i@`Fp^C6Hr$/$@7@4Cnn!9_he%S"tM".[M8U(-u:pQDbco7f"))$j#d4p"d@^%(q&XTZ,Lmnl5G(c:an/@%lXLFk(lN-f%$AHg26;TS-qG6'ZPJ>7''=qb45*F,EOW<8&c+3q\;1jD6*_#uK;!V6-20.Q[idB,ET7`O0V=*S_ggN_BN1;!QgHA8HUhs)5Mdl].f3FNW.21"(5b1*0&2E!*0=ajSe/WR"j[alEB7Geh9OlUp,?VO*c(9"89F!7%/BK5U4QI+bD@Th&pt#MoPQ)Z5=',K9mgqdNZuC$Hl%.WagYP.`ZLqk8%g.YY35;,)bh+:s&u1?Cg2ClpilO%8BXCL+^JrYKH[SUXf"H$OR52aafYRau^8\GW;kYD7P>1.sT(&:7IgJT\Mja?DHt#g(u[6sr7KEelTePc:QkCP12\mZ(69h$=f@h.JZ>1@g^L?adtEq..%(NVoi2ks"7IEhFElQpBQ"%p^Cr:^[KJ03R*'mRThq8K-D$2=\.M"\L@24b9kS4?7*C`#dM)G(c_9Ko]g->AI]1=CmqQ+tf_;%BugR<>]bC=2q2"Na77o4nWEi.V#*[lNEk_*4h*k/nF\Y"f#9N;rXnn9"CKHd5d?LEZ:dat"/lRV!2pW&.LgDe%_2RSRl[h/gl=$o=W]!Bll?$&PpuWPLZ`Ae5g7cVm,a9#J?eC/()?:9!1JgPgqDjRnjNH?M>`'@e=M(]\u2Y'2hOUZW)\HpJYEF#8:O8]"Ir3h$PEO`QH75%1IWjE(3'X3.U4Xs_q[P*">8Y$50);aL0#1a7Ql*ehV["]\MaBF9JNhN%BXIu&On.*:Id7HW]+h36pG14/Yl!XNQ$VfqaJ]?sm\VJ:k')Fhoij;dBSc+nDF"DI9j,-2bXh4CkC?B61er8(Uh/X4>SMHbHhQ&>Tm3otmL1:VL4dq%=R[/',`J<8X,9>Yo7-XC_NguXH&9p?AHDCp_6bJcRaPb0U#_>h9O.KN2g-nZ;UM[BjP^6&`3VBC5'UEOmF0FR>g[=C+>IH98>Z-aE[H&%tdC_A"74G$49D#,RL/.H>ilTUg[:$o!lMTE%D%=mBh[:58L0n][r"[\0>Y_IC_Jk\OC6e6tQR6hF0An#'lkTZE"Xa=sGFL:GN2'(2U;G\3>7ec>O7VD\GX2fB#T1ahtT"cQkfD[6g@=6J2aF,tiLT3_cHp^pErkXiX>ed/ZRJB,#10'o:+0%HWmcj8T@\'YRT@[1bRb_=(&K+CMb7X)`763onTi#YGWI:m%np%K[HL=KM[$750,=A_]9;pg!6"8QF^O$WGPbSOh9,8n6W5f17,^9-mnqWQKAYFF9)6B[OCZ7$&Q4LpGQ&g07]eUI%p3FaI<4/PbZ,e_28dS32p!?JoMVf)]D_ip#!^PIS^/S8Sf>WHa$RcNZJ33a'CB[bV-Qr^gFWI3t`PQ-U$N&<']b+hH1goJDuL+W:ZN^VT-5gm;_1u2WB%=d+^7Od;S=_kn@a^lXHbF*%_D-q]XiAJ(9>kAKO8kA-2XQ_3SrLu#rTljQa7Vp=VmX!j")aHPug%^5i*V-P@lSi6k'CktQ%$*+l1^!*Nj,QgH7+\q&5;EP#a!Eo[_Rl2$AN70IlGB78,33,Y:^B8c2gb9#&3IfIb;l-n:J!pLU9HV"/rOXU(,1d@AiLI)o."rV\j]36R^CKh4Zq+\WY01/T$h.9!f>cKpEPYqK;)i)T1od$a);I\W:l,,/*P7u%F2?D9cRM5E!,.NfhrLjb_L8o.V7Df!1/`,7DW')r,2(%:FUo;f$pgtSm*.X#L%&dIQET$)C,jme;=50EWNs`sJ6j<85VX\KK0RTdG/W!NN4e+'>ot"0=Ac&h?Z3UD$KlIDclgfcJSt&`66$VYPCrXagW("Un47a:dLI5gf,&Bs?D7YE(=s.0.M&C@Oj?8s+S;j9HbVmA';=8I"#E^OTSGoOjF(Vs)>_'qWJ#Z2D]9^nWrM4D>-V)R&4Q1R!OQ$M>)VFRD=HO`QK>gQrTm]uuO;:WV4IR;"j88e\D8k_oSio_=S?e.S)(9#5s$Nuh4Oj=?3X@AjTur_:I*#/gH*S9?8\583^W!P'f(#4cfT`)><&U]joIG/8XsKPOr?20.'el<7_!ggKklGTS_m_-=ie>q_,u*TC9rf4kX9?",';#GV)QY/%4:n3T8-Kj+,3M*WJ]'G_,rAg@'D#S:;Bs/j;)C#K9,%=`osg8l+h:k7dd=55'd6\bt";.d'jO]PSMEW>TUVSiuuED0S.&$21LF2P,GLK%]?r>>=hsE*Pr9'/mCXH/lsB/YcC@a!o3c452u_VV5Pfs%J1"$cW]CB^o^8eIp43VQer,&)GKl.KCHY-W%P@+('GKp6X9?0i-nm*i$5)+*l@;LLROOlC6sH?^,CZEkAf1misJKf>Q+(_hE/W(:q4/JIA*t+hja.15:c;GUD:1uS'uBi.4*+!c'Vf'W?qdN&rX-!-SCmI]lC5>#13=8E*'j>5ThUYLmBAgn!j#nO0Sf/Bd'o3QTQLE^#(;*M\I0omOL?h22NI,;/^_O6;ae!0&XsZq1e><$FBm'osGJ[.d_+Lep]Vqbl:Nu`qZ)6t-1+bU]k$(XfZu@d.(rsLPlhQ=S6J:KaI"#W'3cS4'SVbX2=C@TIG.kSns.gAbQk(T*!?2LDFSas78-%h_;Cn1FA>[dfYKR$@VC6_gS;)sA(q;]"<;juCa"^A?Y*Tjr^kBMf=@iGQdo`_FbNW.H?$>ghnk;&U0:%NpRkofnM:nR:'O6,r9?tHCp%1.Y&i,o_n($)kKthKQCq50.;uYO(QKD8sT`bU`_="SG,D7[*4?P>"0.`QIiQX$:!d#XXH5k_(do%G^`b@0"HZdOEgn)?IGFiM[XA+sNOdMjX7&qG]&+.L(Xh?!gH:q/5L`h[s!@.('VN'_EVOjp(AKA:[HeP0.Mi"8W%_,@-2W,M$VG%.cm/mWS>%c>pokBD5n5a.45lSO[S9uV=j;:^k&C2,:?"ZN`/]SREO$;'&hs04mj9R,m(P*4k72?KlmV2cI#WHX1R_2A[4-X!6/L15f6IXDSTH.NCk"!F``Kj'rSG%lB4^:HgousB6a2ggU[3X$CnKuYA6LfdUALnYZY8s?\^\>-etl+Rl8b_nfF#9X$ML^r.OotV/'`;J0f/!=g",k'pqIq1&(]g(3ZL+jpNS/F4WrSdpI4k!Tj6UUQaoYQ(eT7oQY,*\;Vk)5&r&m!5:&I*\3WFH_8)E1@bA!#P.M0UQ/iJ?:8RIQ"obrEk;^+SWu7=VllU-[LOB_=64PrMTj0Nd]`k=mR3?]/Q#snTed(d;EZV$)[P.o5?Da795V@b(;<`X.o>AV/ji`3"aagXYc%6tG="Y8GQ13["LbI#d$D_3ue+c&_]2+!9dXf+OYA8@J!\7High1@\JhJt^_2-$TQu^F6RD`uTn5gXA,'\^t(-#J'JK)s5s'@4M*PKN)Bj3%@u3#:hUBCYree)F*BHIp":e_RQQh6>pi^\f'^F`*lRR?QB>7Zu@0\OEI`WEsGFm*B!V`HY#Na"+_;R=mNga@bgTjE[FX]pa#9PmETNJJ$t`dqI&HVC8ToD&60tnK$GW*V7Mes)`,[kdP?@fVu$Q.02':>Y_Pq4AT$f,)$O7kJY;D9dIL.i#`]c=4G>!h2Q9[*I_^GA.QYVD+$,H+Ud';*f*DVC?)M%&QcZXt9Ms@8@nnt$3]"/PlgpfqB"Dur>hp_B]c`o*16oa*_"D(f3]7iad[mC5oL<(@G[i=fnfWD#?Om(D*!3]&V"DE1/JksZ#LbVS5dac-p+>lf2]Q0/2kj9%*u?K*!OCSDK(/&Xc\*q_\9M!CZMY:mGo7Zbnu^S8+Hh26XOj4>ImUgDNP0G/<++#g^p@`$j$S:%hmtp`4,!TI50,\Nri5-.,MF3k\b>O9s[=7[NHVY->99LQL9EAei<"YRb,30gE%[<GX+C*k`jJ?*ui1[qs>C@d3>ZW_/>>bs+Pg9=t%fua(tXVQ,-=LC<#IAUP$'_KgbdE.9O6#(eOT;6V0!3'AG'6/VH%tlQ#YI8#`\'(VqJHP1,N!ha;(RY]EfOL4?d.UN!h\`s3T$?cFAU4u-],;u)]_58VrGLG./G]N')d95JRTrW(l<>0ZIH]WfS"fe:Xb$1kP>k^MQR`B&U'F]$G"0N3$qYkm*2om29'BSK>\JcRC8aJ$b3N&/rtIZTmF!`hAsgIm`?QC4(=P%AJ\,^@YcGsp\)=?t(pcrh0L5M"$h1Kiq5CSeYaE\tCe'#.]VMTP?fYVImK'*oFm6nUlM\F/+:;6j?h!W.]S.,Wn6!Dmf7^C`+fm=>(2#pL[%Nf9Q:>KTLYhc+lja&(':/D@DX,>H(M.s65%cBX(.&bpqdoXU5/-\k$@)_"27Q2Rr39.4`+6V8=F9MpXE*I?lZ<]-BqC^>U`_Y%5>g41S@jf#gim7EpC1KjG,$8/\&n$.4(Z.QPD@nR3dV%-F3^_<'c]p6;_[gkbsXE=?gFi#11%NY9H62f2,WS`;!9?fqs[h7,1J&?7SX%KMS6"@,ZS>Am9m12GD^)(6endke'DZn\/uE4qQE19fff+9'+M?UVb21t#c&;$bY,G4#W1EPTfq<#UJJH_.nf[MAETA09g&NkaGWdr(9trQC9/:jDebf8khN!ga8g5kV/PK&&:Pl4tGBM:Mad[tUq"&ucH31s&.jOLr;87;ZP+df[<>jOAJ4^?^90*q(f\&n*#cG?1+C52?jPY[5_WGi,^0U!&3OEPb30]+CZ(eg-+-!/"P9Z.Z"ir[AXj#H(,"?"V+@@miHmQ$?_8%ohGJTrNG>p;r$ED(r25Y*l*1Zp,>gopL`W<2ABX&=+@4N(#]O^1`p]D%WqRis#1=m+5A=-\/.Ip+q*=)uYXD;ED@Fm+8*Q'U)[)`?G6u"+*@J4LFKhUD=*Ec!0lt/C-K!'!q=4p*T1FIOiiCQC#BY^/fK5T'o5tlgU\5VY]>(i=f9Zl?3+Z1g,/$MU>!`KUnM+)J^OE;$kes]"3a7!FWbI$IJ[Zgt^N+4YKD61iUe%'0oL]Zd;9/SmOep!D#)L)NkPeU>Z")NjgQ%;'U%$;qnuc!P`*VG%Z26?4'G.TtdRN-;0](io]_#>>;P?Xh!&\*B._m@R0@MoA#H0bf,>BhCXB8F\V_EClb8P9kOsg=+H\fB4m3;icN'-bH#o"&a#[).W9Sp'1>9-49CO9>l"erP/$X=&>L`Jmmu&$Vu90BdJFWW?tRu%M"!o&_VuBA4"cBEo.=&>AgT<[/Mg4Paa!ggVRttKs?rf6p#d9n5'Q75.Z-<;D2%.-t0a2hZU!p7Hu4Mp"`DigUciRti.robj%"\l>Xc5EW&BkHdW]fo.sKX!FHdcidoCN4eBo#$@Zi&&l'qE/WNTtHHZ/8!NXV4mW;KCfRSC!J9nJ.&mSm_?Y^-$O/S/9Pm@D$%:6$-\P'9C:ReOL$!/ofL`7$(H\A$f%VU0#`VsE.m)%mnJet=2]tbbB^UO.MBeELp;46RKM)JiT\#^i\&^SGg]H0\<)4uIEg+YOodh\VUtE"b>')tcA+p$"&Ge8pjtp=>\@V&XlT40,o-_fKCTmq*fpK%K5l::Q0[/F3f5P4Jk$248m8,4]qJp2bi=*Xs'S'Vp^oL\soo[FUb'2T+8$:DY<@Y>MV&?mV7f<[%0=;)?Q&N.'Q_K!3q=[Shg1[I7-5c&9O]8p+#_Weq[m-ur]b%k=N^)=\i[R]0r)e6bI3YMLV4EhslX=6/KICu6-c!4."%EO#HuJ3eAY"eXV$mh`IIX?kf(u?[OaRVT&8^'u,+"uA7E_7q#QV$?\J(2#OL[a;[^T4R,[S'%=I;JCI-3kp*U@VL!<<;1V@5"oaZfR7kc^&@phV#.:b/6q9VE@X\"U1HCk64c'H>ssg]Q!,[EhMY>CuNta#WO%4\CX?aO;<^d$)M?Lo3L\k5]:lHD!$Vo!V%lpQ`^n,o_p=C.92QZT]Or+Cij]ME:c[n+$eF(Eb\Sn94/-/Z]Of=[SXrkt=*o!]*,T^T6#p,>9669jLV'D1W^=mG9$l*l)rbB`qAa)U2jF*u[F&c4&p]^JO/SOsS;L.="^pP0eq6eKbn?60+/dhdT*!?`#&Tg$Bu)qM78t\-V-RHCkRcX@O"Be*.]fTs.&`8\5r+&O47ils0E&l/KQSBhORrLKPMCl:'lo\%JdS>nt#hBEr/FN\Io"&)SsF5A9[ajW)^MmX;VJg9eb1W11^OW5][6O/h%)QVg?0O!_1_*0rkkI6)@'\jDnl%Yb+Xa!06gUlq2-?KFt"/G`)>ZZ4H>"M6536iTaK)N*`1rn8BQ?5^N)h&P(9F#_sO)M(Q+gk\[")kBInmhK%Ehi"EnC@\9=Fh.V;umF5fs`WD.9J,)_-B37[8D?X">&['IJd%&T!nq13DbQIKN&Dd>S-X(XbR\>HXN[_)$ri2jj(dHh51b?kg[",Ua'KAI(_LFV7A_o-02&GW#%A9VBRgaCaV)IB(Tn('M80["p&&47'+e/\TOI5Q3&Gme0\s+D+gN[S4&'oP4o?o%(J_I9_a([i^UdD=AMW.r0uNEK5`W"&par5P;G&/-nuU(;Z:F&3B6^rTag>=Y)@TDFI@*'Mm^q>?k?^Au3e"C"'U=EXKW;=ca.7q,]0BH1'BD1o4$!G:cg'(dkH5.L&S@h0E)E:[CK:7"Q\O)7(c4J.5W?NO;iCsR;;i&/*Q(548S'Wl'[o)9$C42`*7ZaOWIV`V!ot,>G#a`s?ZtU[-,B))Uo;!`A1RE[,dUO7gcc*:)3'%D@/S2Rl.+(@V:c@Z++>e)3WgpH>l#/b27?=ObLl7?Ff)>e3%DHp7f/PhpQ]$RC3%rrp]WCo:1ge]q)PQgD#*RI7d;;H5@gX1O\Z9h#OjIFQOGmB4f1%W*u3"/,Ju`S2)]Kp`g6H^1%ea*cjl8TWh_Ws'h=:UAYOQZ*q=L:R(Ge12'K>HJi;K$'hAUg+MqaTl<2@Y8_'gj>qc$IHAS[<\ZSLXEAhU==,YUETWI*%;rQ+Yhc#R&/XQ[U(42N)l'LNQ=/k5mOKsed>V5m]_6>#R1n=%%)@:-f:kV72pY^BYqGp@X\[k0lZ0US&Zp>a/9:A"6p7Xt2$[L$YA4/VmB&e0BK0aCS[oT=U':'YS<,HeHPGaUE&0S1^?%VH`I=I9U&Dgni\-n?7Pjf@^fE^WSJL];21$=F5giRh_02$<"[`L13Z^7H)bsP$VM4RWU;\F,F_Eki:Fi;kb*.9eWd3.D2i"p7uJiA+Pj7jp;#!:7><q412<9h)/ptI2]%&-A;N<4([ibEYcJ)TNMr-pL+bng3"Aed'\'mOGk0-?Za28=m*IOo@^*:4Orb&-\XT""h,a0W6#r^7/U+.4UJf)-r=R[(RS:_Nps7OXh!SlpM36q6n/P.1j[@RX$cV:2S06cf9p3YdsSkMOM4MC.TD9RQ%Q$]DTUoi/Wn7Aa/`@n5n_gccJP#QHZ2L8r7@0d9)HNQAAn*HG:$$;)WelhaZeW"oe!*Qu?XG])DubjjUW-A>n16+D\X9S8K=:XcQ=E&FXIn10a*QYL4SGRMm)3q'b^nR8ZCkRJl9K:EimWFgjI_=j'2CAR(I;)TW2)pan$Vf`*,-!7$N%.Wpd5Q>MesHD7qM&cE3cGIg-.Bb7Q>'q)1`_q2g2r>)gV<3FQA"\cTIQmCEnjXmo+5nMrr/M0mmV[@E)RMiHVqYKE*$4LW`;JVJF&St$?AaulkgWH]l+=h5KIAQ:A@F[6f$b(\16pjKoB':M.A'fF4d[Fsc97KP2>"))`p-dR[PD]U6X*t;HDf&Yp.T6k`MSiJhZMi/&UK`KbJaaTVIr^a<]g%7Y3Pr%L1>r:0Me2-Sr'ue)b'#W*Co.elD6gk\7BVqn+/0d?./USoD'T?jna^S@nNabc@TGcK74p[[!R0=NOCEb.?@I3*.*^uW3/>PDf!Dg*pj(K5F:F=)EK[k.(5nrVmAobX_8s[Ndk_IJB`>/8rBde[("]Hu^o/;CGp32tU(i-R,IfmlpbDSR)8+B:XqILD&O-gp$B9s-]X_'+\@AEdO&X'8[(Oibm-\-OQbb];M*"[oD8du4gXNW"]oHSc;sVA^27D]EYVRF^So>$jZF$`R<,NB.T`RT09ONFG5e&;T]qNml-[)8fZ@^^+EBZ4s.t7D7=^+r$(lZP*Fa(,l*fBmPKP]db-KK0qhrYA^M?$/IAQam8`RC6%q!$/]pRlt`TqLJ=pOs8_`Y#A;geF1,s!K:SQBC5a&N8YYBii!pa$(+1kQ^.?j/N)aK"jPqG3B33i*!AJZRajCd&?U:0q62c8.7QW'_F_UiW40iFL.VFd=%JWIYR,LW2YbaH*Hqf"YICQ@Rh6"FaK7IkVo'4CW08*m0`+*>`1uR\8dcKg93h)U.-o9)Pd+/c7$;QZVrOktE9BXgt\2h7gjA\l1[A'D=q$_T49OB3cK/`I.<)(\k#W#t;BjK#Vn0.5RcMC_k*Dpm0#$uJ&;Z,kbjRJm]5u?,mg<5tth=6TYmQJYFA_>nA7rOSL^*DDPL3%K`!UJ[6$Cp:J"??d2J^sgMX]jr-%sI'f%A?J"[JS4uh>3aK=c5Sg:X`C%)QsMdfF[u/Zqb?%[2kT.'0F"I?punS3a;Vc*aJTn-op8T_Y1#O%5G86*#TTcOn_K2q*QA`g!jMs&lc\U5D&bPG)DMlV/4UYa84OhS%Q!9a'+j(D(:8eHmTL1O52<6,??$^7/X!IQa5m_,gOO2'@m1+&X";5`g[(.2saGTRd88Acm<,KHIm;QbbM6__8S#&Bl-/f1`Be@IG#aFf**qpXC2jWVXuR`_-YpoNkVeDXYa1]ErO`?*Bkn$:ekfOm>QJ\eCqebNCm+9fa3J=u!8rqKCgYqYfYe4Jk@&M[#bu3FoRGm(Q9%='E-kGnI1Qr7I`ZQ6HA9aWd226,U6^1W5u^3:0_Kk3<_=)iddZmbX9;7tYLBD0!]C.i*YVfQNmLaYacdXuGi5=3/!*WpY7"XLHoORQQ9bq4"gS'Sc,d%c0lXSNY]=H/m#nObYZSC1[FI\s6'0XX/1:;N[W:]MoS&9K5Z3^Nip'5fsZ0hV(';7JOkK3].o^-:O>.!CWL_O@TKNeL%gOo*Cl_#1qf$GYI57>8<(VF#;.>!\2+G9l-^=1>m6#JaO_V6MH/u6>_otH!MC!^pcF,P,On+ZYcg&;F"TI4VF:D7Wd2[j!0gD9(#_M?9Qpj6+oSprRu7?bA,dBH$[o'Di1Bb^hZ,>9JuUq$N6R=,f%"GZ0*Q0(J*`bKhi$\_s7Zt.[r85$)uCo`<:A\NO0b]7=&R6]5gZj3]T1r:s4$VK)+$E:*e/V%]23\L9S9bAbjlr^?e(R2fJet+M>n/bs64^(Krqhs_dI'?sRo/R.UZE`81]VI0qPr:c%?MfSmI#0lj_%`o84HR()Y_`j'I-RET5!:=`YVEDEoWt)Q::en`F%ZE@I2'I$`$:#&phXA@F5mLp_XOilG9fN5DKs/)JI[42=k24'BcuP)Z#UlguGLkof"E66Li5Dmd6K;I)G(i4.7Ei@-SDYK&j$dC0`<#X)E`eEn7'0<%&k7b1^%k1p3I*#_huLiY#tYNMtYOg&@QCO)trE)^Wg?8$O8r'!MQhjrg@Sg<_WH^YuM"7hhdg+0aL\MW7kkCJHB0do]qJh8p2fFDc3u\V!Eg$K2V>oIIod;Y/HjN;a$A/cLN;[?d+7$J,bN<3[^+Dg6`)1-/BhJ`ad5Ij(:cVEtP'mY0ga$f5b?'jK%jRD(q&7)>\<$#p,`.7i=&XQ,F/GAZj_Tl;&e*)pR1MYuCd8%kf,7ogh7\q!%1epQkhhM,6F8jquI$*f9^?FuZir(ecF'HQg\BQZ:LsTrP@[.Mo'?2,ms'*oJ$B;d/K3TT,P3>D'b.n@5-@!`D^6aL&u^XE_mbXU(Z;,1R[AgF;('?I%*8$%/(?!\Jdb=C3(qp`:Y0',POAo_r@CKO:oEr\(518a4e"LtiMUD#/:.Jeks31TQoXpK7b8O:A!V^r2,PoIIJ^\Pp[,VcokJ\4Uk@a!#@PJp*;Sbb$)+!n8h$'+Y&+?MCrr:Ng[`m0udlSgKu7CF/Ka*')CC(CeAMhS5u#3G1n"b^p`N+#2-PB^UhB83sH&RJoihKT@QF??;5r:#jR;-_60j/H'S\X>-D+L72EI,6e9TjH%55p?9]fUHQq&A63Uu@t>Fe^S544U,mo8Q)SrC4t>6JZCMOEO+XcQW5;k$:]L=BIfG<>R`cPP<:2AiBj:Ht0Zi5-LZu0AA1d_Xm"7J5iDtFbOBepA?bqEU]3f0tgePCp4jaT(SaK69n^DBh2fcN$=g[9DUbMEQ78l"bGri-!hRN-[bMt?bnA(noHVV\Op2L6gj0?5*ia-=d1IKgC0Ht)AMFdC2#VhS%,s.X18htjs_r7,7D!-qZ8^;\"(RQeM@o+KS\!j*>,d2X?"$^X2:U;55c<*-jhE_/Xf0lpdR2!",3Fj6mK`QH:cf.KKWV6>EYGAL!18Fa!!9tDeHFk5U8Q<=[,?g-@f-Q")EU.#R:Pda)#r&U,dpUDGq]b9k$-^8kL')suQh!etD@L&HDGEg:].U@LK0deU;oA+64/]k;7D9a+,k6h7_>^ln86&DPifZ`9&lZYuHLt@qe)OsfkUi1JQ@)#%%Wl;ebp=9]2:N;IgQ:@P!3Q/k,,^tefkZZ34nBZ!X5?^<lX)9UJ%*A/^_.X<>-!l-"Yrk8Es5'Eqk8=9b>tRq6b$NS"N"E\lWBWt^ZK"\IVb4YS%+-E&!4bso4LZPgIr6B*HGW4'^I(o4feB;BTlmeeo:=CV!Si-s@_MF5"SLDbACYo8lq2r\g*`;Hr[L(oc;VLrQE7+qob^hoEVp6rsu4Y]`W,31u3p"=q6UJLr062=X5F7Fj]r-,g#5]D8nm':+L"\:Vgr!8)Ckn#gV_e*R*M?oDY7KsCFeQ!Rg@!`tY?;aam\f%105&OVK1B(c/(EYnB7jNZ>A32J3NuPIH`-.B`/Fr!b=L4B2-s+[%kEZ^J=W.[Z\55&LjCag5&,_a_QP>j]D(/(JV,uflE1AsB[]e87Q58XJ72/q`R"'55)nr*F^t$OLM_d#M8?BCO=!gp-oi126&Qien0:=lj[IZ^oFfWjeT@oCr5`m-5A["P"R/dSP&>s$`=K-L"+]V%PLf>he^;q[[?iK3M="qp2[n+(@s1qd*\KMA,`(SS$GLX7.-+ps6:<@0Lom_6G#1Y@Z>>bcli_sQ*2IH2SoGd.G2&JAppT++qIrFjc07/DWh)E0iR)1^ShOL6=/'0-bS*"G0$7qK$UA'rcLM&D!mrIAeU+:c'N22qL\i:I9.:p\ZprZ[e^5&D.97G1nl4f%0"io'h66=&0G_,+BGs:Die?#<22H7!CRe3@(_IAdJOrWuC+#Q[*+T*X^o%sTQUOA\s5PJc"=h&.1rT%f#^3NBn7>3HG^Oh^sb'.A*!$(:`fYaf"_8^u?TTuK:$W7B^[p!T2X!"f,=[!R8Kc]`b6:]V2$fTY:_pIf-T%#N>\MQ!BE=WQ7V8E[pcr>S&f'NM'U&MKA^]fh][SQinpKmHe;G9[WA2m[k67`P`n"=:7&Xck5!^N+O\7\?tmq)tj=bGXTFYa5aML7Pf\ZAuT0foZK>?af]@kU%<**d#l^8*Kgtgp(Z,IgG6M4N.e[\0"AI\HuXP5)g?fd`1FG'pG_1bOrj'M*q>M8W]_iBG*/,_i2=2K?UDl(qQ,.[>/:VCkVX.f3i(UE"b6L:KSou9g6gP,6aQ1npY^WO.\GE`TU'*^p0)B:=:ROanbUZXi4N^?>dE"n$f1brssWjf<=8Hc2cJS:Q741IJ'AnCn$3!4m'N$\/i>@9YqL$'r@#U]XC3+hQI\t$h!OOQBp)s!1QM64Rt0Id)AIEul07PNKBohp(?:tr1UkJ#o5][f*8a9ud^]&Hk`YEPL8pChsac[I-9R>hc2/1?K(g4-Tka(4K>TnBDc73s*2:'e^3O)b_juq,iVf(#mMT=t)T/WWV.mr2U4S.WQIVtiZUL""`FE-;+G\)^KN]tSZ]:a$>-_jft>uEl3np)_D"]`&_(e>TW'b\ln*BDB'\=:N!n,uO6?Rn4!B@M:L>(_0^E\Iq4-\U?+fAWI3QbKAqHF&lg5%r$rCqRd(jo$-;V(N.0g@+UM/72BfA$o2Y)'gX"r!5Cq.#N`S,Sj@G"Dd)r$h;cGLrH/.2@2`.$AT_A3)1l)ebGLJXM=o82([ibEqEojam#q(^$oP1G;Za'*)M^402juj3T/]Ep9tdW]NF`4S-aXa\gUHT7&q:S+-3jO"lDToOu2.0XMB*9j*c(X/GTcrA.4kQ$'BJ1eYH8N0Gl)MnE)6?%StNZ]$\"Y[,VPnEJLoD7\r^IDDF,&;u=1KeVCEGU`edr5oRIKCJ6WI%t^Db6+1$DA'D8R7#jG(EWTJ.;TridcY[iMO?l)c:HNb-CsqBa$]\5ZsE>qK0,KMrC3S3g(6F2g[opqnCh2Io`nV#ONNjc&1>.[K2H2'hAteTVnfjTd@pG`S$\,E1)l`HF6,A6I\,rU@(C^k)W&$$8#87-lraUmPKq*R\mF:gP.ZKJSl'IDLA/j@i8uLTp!>g05$aNqkI2T76`_=rPu*4`1m7M:`7OSpVsV&;GTZ?\&WZEgBT@_=YKX@I8&?i]ZH1+f4?^\HN[Gk'H6sO#Z1*DW,ShHjb/+;rGL->HiBb"pmu><10ohb"&,/.,Yoiip@>KtF@nRL:WQ1M(J]8*Rj-c$]SkrOo;SBCT[tkdYp+UJRg?;AUEW'j?.U06:&/4c^LuXI+qumO0*H,$TBi)`'b<=2+oF?Ni*joEHl?ah/Re32%.(9&!T_Nr$2bBl?9pekP\*8.-WYI%\c[Eki@3]m!1r[]m6!SOVd(8:245msi\bj4,r%0Hik%iW'lRIcU#(YnQ-N9G?NJ>3eG5c%J9BXhhafdZS42@*2hH%3e`F;(1&=ppD!M#U3]Bof(NuQ_`VH;7c;LsOJ,N[[rb(jgc+h(.dfeb.Ctfej!uY?2OqRc##YTJ\s5)+K"Bq.MsZ#;CTIcs4c/briK5cK34E.ruH"%)VqDkl#X7A^^5a.Y:S72XMWKa7)4TV:;6`q(T&[_d&O#8M:p30)>K<<.=N^6>b33F0uskS1VL^Wpcp.=-K"_L2CpiZO%,bGSL8j_]1NM(:&2MAO#^]J\N5X`P`V+qH9tRju)--'oZXNK12KX.f0ihVKP-c3'G"P2!IKf)g+7e;q39m9SJr$&f\S=Qs!E7r8GA_tXA9dT78=6A%^G%?'Tl&O3J)*4.#73NdBlo^Z2NV5a9M_5AGs1kBTJhf+86nR]B^q/DX=%@eXOpun#8?boL8[^N/kVQu^MeZa3."V#I6Bim8%89=O"Su4RI#b6muITiHHnA0Q,V.`W&O->K\'\cbICV-41=o'(M;a6t9/#!GVWsKq9\H&6uNU^'jm"C:Cit>p%$ena/HUKRX+7@Dk7_I[C<9bfsV5R<8\Zn\)M/8Z*DV'LLF6O:cgXRq]Vu7Z3ZGgK+I45EXrEb(L&Vo2t\C@#L2Y?@u`8$hAV^hI!I'khRNE`!$;IGX4+d;f#>h>C'd;9QJ(c]*reU76U1'-_(RaeQ#DKCI*m"G4=*97@FcY>l\.d:(4a"$&LjoGM"U5-S0R?Rf/B0V,A506TZ.qdh+?CkbTnMuN6:3_).hMMKcc.h";8dh7+rC??#po)NZ.=K2S/L%b^k9W,"`Lo4.U'NXLXQEn9B^7^\T>UoDrH)jWYHi5H2MVTb!k8hh>e?7QeBc]0Ilio%<1Yj*MoIRll\n$Ick][.Ei,sFSX(jI*'"#C.I9"G:8C@cnGpqoH-1Df&%)>6,o>$J$RFRcPg@h?%`@EPM6+m6XDWhebeABTs0\?(pIqhdDM5/[MqhE4Jou(?!290j`YZ\U[2K?1pii_^r&.[gB?(GGqS9+0+.n;0F$!h8=.&IHNo@#a7Cf2On_-E[Tt*+.C0s]C5''+abH\ZGpu4\o$,L/S(!=M0d"q*%"d^ST9=`Cua3ChehtJ%Y+Gu(U,mnGonJr1sTm9UDPA5kbFrI*%FpQ?"+9`D9-4QO-I%NB4dB5t=W1RMOE<=!WYKS!\sgcsF^&W^j218'Y*=ZssbZ%>kgg89L/BV`3E3+<-k\8fB(I4Lt[s+GAuL-97(9lPu/UR&A"8`Y@]TPFcTB,@$RGD\dI7Gp1'#Pq*Pl_l8A(0CcV?5lcndZY)/I=A8C%DKA=>do8Dh:sVjQtd4\:nJ7mgs)s'uN=b>6`.!pR8Hc.lGBnLe-mZP(8sIG8^fRLZh&:kH3$oU3o8"XT"^@?;'Q(Y(2.;X!]@L]T2m$:Y/oLV5.?X`0Fj4t)+?OlW9h#*,=;p;iE>p,@;4SatHFHfa+1r1qD^/tt@Z+qE:GKm5[`=1Q?NaScl8E_Q"`9Jqj_4&3elUl'aDr"b0!pkOluh6u-"`c!,@;f_`;/LrEK[h+3+Rpr#%)r]H6H@f:%]hHr&ZI>3"lK"!u,rQ*i.a&lHB+5V'>$<#lgs=!gC+)#DCm4-1$:q*5bA1O"pg^O+d=7MFQS/lHTtW9`lZ-*2Wr.*[-K[U=R76&BGZ0gXaA*OWVW0S42b#cJ3RpSN5o$NBL-+):f&%a,m;m7Qi]QdH'i&>;rn);F)9$AO\X%1M)i&]bt/oBr#qi&QbK])0C`ZRZ)#f>GsXAHO5,l*#2Rg&!$P7SZ`E]jR`c[V+%l]7k=[P(=8_hC"MjHcQ-8ht(/d7I9/IE+<2i`oAoHN-E2pUA:O-.8-$k4o"jkPL(,SVQl.$XDs;VF4gL*^SeCBOgAM$9S@Ggc%8Qn.NKi=3EoAn3JbLt"XT(*LmBFW7OA,&R5criW#+0=WCt.lkt0>.+nhi+b9S04RZ\ac_/HOhN`M.D!&;n[Q;r08/([LP649=ER:No"CM*Bm&)&9#Qi/egA"4K3CFIIbeI?(_]LNa";i,'.6rlcG)-"-_mKU:6KBRJ8],He+FG@+7hKgf&LXqkRrLoH_'etg7pFD(rB`ImL6DO8a\$>e>?pASl2\p;%AAAG;P)->0Ki4"h"]/B)pqP>$XMInZ8;+$%sT3;a0+UMi[psXp$4hS,TBA2q7lKQr"@_j%)qNTa_pU(5uge$`(V?\ZRNjF\-<\3rk*jVgW]@eU8HT*%SnISLV)Z=nsO]U4=FSfYNpo,$Ga=6fgRm+8tM8l_4.eW)Mt;IN`Nsad%Z2d$PDNk="RQ6n19'8C08h0G6[;8&/_kP6.;jSP@tC5h/a#m$$61iO>SCAeno<)!gi:#1P%(JOhA]*PB,!_XXsjXo"Jbs)CI9_j7Qs]-,,b?O&p%BTJVW-09b-'I@@-P6-YE1k_b7CqF83hLLlX&l<^`_Bj#u$WHJNFYCO;RqV@tIM?tC:!#[4n5\$YjQ"<1d:Dn_cjPa2,M*M-%fX=e;@AhC&-9;67!6VH2$4kG1]GCiU%?kGHVA"o\G[o`\fV`g7*jfN96lVg`j7,ak`J`TAVpI3.8-/&H%2dn.R@=\q,A1s=6D"6t\gp@gf8L,miL)L#lI21qYFA8taeL.?Oh*J-3^Sj5tcpu?a29r4lF#)Zo3.Ubl1^FQ[%jo/HobP<<"[$8(0gT56q6fFj.58D?VH?CNA3mLnT9&0d6JMX!Va>+^@S"/ppug@bgcT,3I,rU%2+e6k=KaDCNhSR_N7A\+'"lUd^oM(T$l^!0;',+*+C7^ZMZ+OVK5!kOgc7IJ9r=C-AZ.\GB3#5McMg48%#(,R(9LMO*kr2ZCW&]M3DsWRP[OqOV%q-%(4Q.C*.K0!iYjO#L>n$\DB=:(_kpL\"Mn`5DnrVk_X8OYe)m`1+jNGqN\MVe6bkPh=>uI$beJ66Qp7Eena)oIm/,PcT$a+XbR(cJJE\X$>:AWDl6YQTU8raFnNEr%=60EX?:8r/;g9D4+`Z2V>M9OC^Ck]`8*VQe.\E1p*,goC%K:?LUiZ!fWV!aLa@.Xt%S\ZECp[C-?A@Km%Q9@Rp_9KI$8@ZOIG-'FX:)_b0-BkAgk))@k&uIA2CB;CBrB!)1),KnV28Op$l*h!da:b6I0j(E#@T6+I/6$!9N%Jrs8W)k$^2B;/f9UeJ[[@27\1"kho7\1le4j+X+`KC//%>3G%pu/,;CJH^/j]h;9%Fn-_(W]a-VE8MnmHFo/HAJ[MTh3)SjTOu9F(8(PE59llB^#?jqTr'p0W9`R,>M@chlVjV/Fk9egI`HeJWtfb\2j6&[@j))nMEMA\"SgIU0\(U4Sd$,uF5g8GsMt)a[[#$6hkW%\u!d^Y`"@eO3&.lK+Eo`K[L?"%K2G6f_fWHCDNZdm*Zc@\CGXFOjFG#HTb5E>(cof<(hR'?isrXOl8E]%&>$?n`PL7X')HG(cipIBdkUl14A'/hWB/?=/TC0i:TYPJNBm;*+poFVG=g5a8l'cN4;n(\lM>g,+&:@V/o[Y5mOS)aqr'sm>uZ_hVbkqA>6T,.n^GM0SU)1*17aSU$kbcDZDRB8T9Se$Qr8LA_0;TKJljeK"o\Yo#?VoKGXo4#E/=4]<#%F5s-*%U9(\9s+]bcKgc'mXWb^$[dHF#S_&_Mt&c78<+$Aj5=MdK-j@6-oICCl/_d7e!P7?X;t/IXa^n5YSA2/e3A@@JGTqs*.`L[9-7!^Uf=>VNOh9iGfh&ap\XZ5I-`5%\A)KPQa5^rf&CPTQHFQ_[pS5ErH)c%`R8ES6]Vd/\PnfJ0+OKtf0(4cJkfho4Ki*r.'AeuZM[#2K)E5ZZQeq%R^@^eE]u4/i:4&C33;N%-QoAL'TVcsICFO!h-k*,^>%;ONJQ"3,49j>hFmg!=>=dCj/hNf3"%"M%gjQ7?,eJq8JW6_to;q/#bSFSJ1&#qi/9IIG\`!]qk6I""V+<:V*t-p)$il0noc?lV6Y%In5,V(]#:5*]VQ.X6Dqei#'pj.%rt[o,tq"j,WrfK8c>!>J7S7a/BB/rq6)2R\cg-WA,l*k90W+SYj_$5$6T/1KU.0iRf\MGQZgqCuSR@&D/^%AM+r)@k>]I3HHp^ZJjUY=WQDBZWH,-A'j6uUTIjU0PRD*q=PbErcSIir#,5K3^MBsMlUeF"LV^`sopWEDQ2jMU;D>bEtb;1'I.7sE38XM6@=?)/4N3McJeaI(?p?QDnHP[:\AQ?c,mMM9J6$d*Qd0QsQ69h'Xg$,f`mMnC*qT3\'4gm%2\F%8W7RcM5NT3al.o.bD"\eFT94)E#,#'K_"h,!XqK`]HO1u<:aDeWR;r506g?j>]X2JiL0YSrh<0ldh%oCVD`$%'?mIi"F"0`RRTlb`3XYf*M^8:J!C7!e>2<."=%"fube7A`Oa\]EFBG"4+Q,(\a)6C17*,mROR6/-ZN#=jNTQf]@GL'.g*[,q#QugXWOK-7M\i8',i@iA6;L=f\H0s>.5`K%]!tC949AbPF@%qOGH`QO.\Z#;*XQZtIfC)_fZQG#m,NVOLs(Sh#a9d(KEG*0APkPK=J:+L!V2/&61L'r98#]M"&Hi:Q3>'W4/:aV1/h=Feb@=[)FjIis?Vq0e6c<>Dm8]*\nM>*_>89AAHY_$,?7n"fDm(h':bJPD;+>RRSn$GBn=hjK,B0^!ocr0c.5jm1nKsd`VJ2b!=e=r.jPJ\GR-HOl'9LY#C4"$\16VfI=BM+%,1R*q*XQ<0C%I`8)WI.dlS\emR$8EUCkRQ10.\C8#p*^?(rTDUBC)^l1o'7)\hm66K8O1LVNi"tYLt4l"APV>ED]S6d>?Do"_0FPlkn=H-ABru2;UR)]'='':iEV/nSr/MhQ1qFH=UN;7`kJBPG($Bd0)l]Mo8=64Qjn7BhW1=/E1b)_s!L$4op9a?Cn:"csFoW^9P9,('a)WtJBY]d4]-k:'MpCpsAH0-[g23s2lu1h:;OY]md.Y)!10gLXbb_r:`h>Nc*3jsDlLo7`X<'^]7uG#A!G/Q[Ap2F[t0&6L0C:H+eB@fcDq9=Z@gmX'inK[qotq>-[]/I,5OK*!gd-8iPX2$-O4r^NKBkUg)/3S$hk\mUjG,sG>:#!k]o0KYG85UBi3d-Ne\e%$H2g^4WRH-`SB/K7ZWf^J?E)kPl]>uj3PEs@1"4sdc_Ia[c^e4gi0-&%+eWH'1>iQ9(PBiK;3gI2].\k_Q^/B*mtXu)JNNOL]6YU^uM"VO-P'WFq(=sSo)V.FB2*pNo77gW+:@.L;WO:sV^^p;?A%fX21jfmSP\SR#O_M/;k-/:QN#F7I!pX*J?Kk)h#9MpO-]][A[PiM<.]+M'9IQ@RWF(5V;R[q8qcFcH)DUXfjqG!7G".d5@2ZUHh=E\IORh6qq>%C,&tkr."s(Y0+hjpXdB]YRt[PJ=GK99G#HZEY;#M56#C5H?'e*)n'Nq'O&bK"U-7G8Y5_QYg*mKd_`ZksA4$Yh=8^$[dLu_19XWEBm!*81rfN9$'POd-kePlUO-N]Hn+[j(0ku4K>VXfYt&hp/FE)NQ]oR$OcmMYHHuE/R/Fn$_A@)NrI2o3q79DkQg?'!&B*_oO9lT\*4BS!>0;I;#ZWfC(D<9=Yk0)HV]spXLd%\@ffC;1%Mj+l]kc7.h*DE0'5iXrQ]Fe2_!@on8MqA3pR):f(:?rUR_l$P_fekOh@Ib@;,I/;R&Cu3`$tm0./abT\Fl/8blE`7g&j)(bPKQ,&8#,a`bjMf-5>)l6hr)87`F")/H++_->;i[.$)YrKEW1fJ'`j'i1\W'hD.f]Su+YmkpGMkmAJcVO@982%=(J%bNP;JJUCes(q+Lk6"DgT].^YgF(N-pQ]"2_M\)8'8/&7-pM+-]on29$SsCbHP8.Y>Nt#8h^"htIZ]hI/4c$*.#ha2btQfBEeiib^)E>O=6&b89='D0O+81MN:5k$99rZ#&GeE^""PO$0a:&\K/75/MNZs29!#MI0Qq13GkiZu-0*$oRRYBt*Jq6+9Ud,7RM:L:YQ3u4i?4eu.]B2jjUUF?.>,8[:uePL^U(1*r[E@t'+#qTkj!dfFHu?)620!1AOs^RWBKLIL@IT)q\Wp3M9"^f$Dt/XMU:1A+Yoan7QcH/KY3@[%Xm.NeNo/@VhLm=N/MLp4lkN,CoFk7jX+M_)Qf2iKTj0!PS?i<'!'=Z?ePGj01qaR7XKcsig>MeR*6]JU'/kb&gJiFB)2\$Q`i/p?#^qlLB22ZSiIBj8Lrf'sA:(PYROiO5Ki0'I0m6@mJUCB,86E@@S;4#XZ^0Q"rNWUXjc8:i^Z9mnFF#i!]o[%k2qZ=d%?Z3Ha.a)>!u?n]];/\g>QRcUD(S';YCZr%J:`K<@X&R>8[,b[!DQXjX?8U!^9<2PKEc2p^^E(4E@KqpuW3OFCp-SlIkF^YE4o7)"j8hlLARS2Jo[\Sh=HT.$9A0BDGP:IC<.*\*p>b!KDpLbWN^F"7A0chf%J[=@FTKRHtC+5NtXFHPlOl96-&n=AWGpg',Te`lQhW0T4IqM5\lj"R1U5"o'#[bM`r5YbqYPnBGdkXW?Q7Z$>SMb7]K`5`u+r[B_6HXYETBDeQ3CMeg@Zm*rL7LR;r$fI!TQf&Ys2,A2\lO4SMg:V]E%mal>&4I;WQWTg^&MGj7\6C%16'kYUG^0b`@j5aBKn9!3kZi6Y(:6=TAq7Tt%icEeA"AYs>.jUQ91/3qgd=ZrHX&L>;BZT-aLP;6Gok<,(j'd!ZB3JBn*Oph6-gEATV2`B2b?BHi^7dj=C[OO&EGn$@g-`/0C?#HU83=[/j%\ib[?7eT-A(,"(BQZ]d%`m5P89/9M3?q:C%SmqF(7&_$9.X_K6`WMHF:9dlPBtm^o[T.T8#p<[YDTBTL4M%j^fl-7l4%r/+b=IX5:Z'A_g#-W&$FRbfRY:aU\$uO:KjfPuD>ARaJ\T!#,P[_&b(\P^=aWu[4JkRUP6F1kFf0#8%Qk1g:5-X36@g+'gr%TaJ3(oT*m\OUAV'n3*@-]$[F["Y\S2OdEb1O:I>DE"B(OHVm?Ilm'T+1Kp%uo2+I-b31(uLY,]efsSt&+sBC1>XCGX"mFhn+?W@s3?JP#9ZF0PbN3..rp_,pr&iThZMD/:;m>G`oFZ,Sd`N8acEd,j.hf7R"2+UaP0R2g=jU"PO$?F`QgQs21PlZfm>[$%4;&!N/hK\!VsWS?>QUa`nQ!OpN8PU$R.)_G`![m+?O-V,oA^MOtGHpqB-,8Hfot1lpE9!Y_:l=jr`KbjcRa>Yb;),%Kt-f`q0L"%\9n"3EUMgs:Q*7D*fZW2sHdPDpUXmL3t`XQe3Z?ambG]Uu9\VV5hkebQVMe#&dlX1s0"N6-g4Mp-CfhE)CW22*`2QD$7p$Q?`t7K6rh8D1=.e)I+%HP(D8AVN-gB?>t/((.V4]gZ[1"k'>ma:L1SLP,*R6BG2A,]'M3lAih>As>T3'=iFEhK.ZJlHFc\jWY6T"(c")X&+HO64`&F!1*>p\f5*LZq8?JZ&0:]40?a,R52-C%R,[")U_tl2C$MOk2!#FrakF#B#kL;6NOrDl%$^tU$;A4FAsjf6BWH=jss'3CZbIOR9,7]V=jXhm8PX#u6D%j0DOCfN*BZ-J>5kgg"Y7ecqTe649]%W1t)9fk`WIbu*d],//?Q=fSIZ(Y+dNZ0V2&Ac--rI'g[TEs1Ak>_&O0C2F1M-.iuJ4PH/#NIB'6];XKX0R278.8iA%r5l>(9Eo+Jr:C-'ABlX2[o!S9JOa"6OmQ#5fkK'@ECen"C1IhSn((We6Mi@$7aY9\QTUb-,qpfd5j(4KFZ*>85&0e^$VK`F:gXhsZjp](>J"e0&>V#n$4HFp]J71t\Bp$a-gmg?1f/nKl`,s^_'(G7p\Za88SO5#rqiIFD.;G9"2,#8aS.E;9Z/\g2rNIKW@@X2>6ju#&3E+#sc]l1KMAIf5et49E=_G#eWrL)Ic;F\aLg/&PVs83i4Drg