From d52d9c62fc30e31e2c01bf6b63f9aedebdde216f Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Mon, 8 Aug 2022 04:27:28 +0200 Subject: [PATCH] Bunch of fixes and improvements, everything appears to work now --- api/src/middlewares/TestClient.ts | 19 +- api/src/routes/channels/#channel_id/index.ts | 4 +- .../routes/channels/#channel_id/invites.ts | 2 +- .../#channel_id/messages/#message_id/ack.ts | 2 +- .../routes/channels/#channel_id/recipients.ts | 2 +- api/src/routes/guilds/#guild_id/bans.ts | 4 +- api/src/routes/guilds/#guild_id/emojis.ts | 4 +- api/src/routes/guilds/#guild_id/index.ts | 2 +- .../#guild_id/members/#member_id/index.ts | 2 +- .../guilds/#guild_id/roles/#role_id/index.ts | 2 +- .../routes/guilds/#guild_id/roles/index.ts | 2 +- api/src/routes/guilds/#guild_id/stickers.ts | 4 +- api/src/routes/guilds/#guild_id/templates.ts | 6 +- api/src/routes/guilds/#guild_id/vanity-url.ts | 2 +- .../#guild_id/voice-states/#user_id/index.ts | 4 +- api/src/routes/guilds/templates/index.ts | 6 +- api/src/routes/users/@me/index.ts | 6 +- api/src/routes/users/@me/relationships.ts | 10 +- api/src/util/handlers/Message.ts | 8 +- bundle/package-lock.json | Bin 103377 -> 702083 bytes bundle/package.json | 53 +++- cdn/tsconfig.json | 2 +- gateway/src/events/Connection.ts | 15 ++ gateway/src/events/Message.ts | 26 +- gateway/src/opcodes/Heartbeat.ts | 2 +- gateway/src/opcodes/Identify.ts | 2 +- gateway/src/opcodes/LazyRequest.ts | 5 +- gateway/src/opcodes/VoiceStateUpdate.ts | 4 +- gateway/src/util/Send.ts | 2 + gateway/tsconfig.json | 2 +- util/src/entities/BaseClass.ts | 21 +- util/src/entities/Channel.ts | 11 +- util/src/entities/Config.ts | 2 + util/src/entities/Guild.ts | 10 +- util/src/entities/Member.ts | 10 +- util/src/entities/User.ts | 6 +- .../1659921859145-premium_since_as_date.ts | 26 ++ .../1659921826567-premium_since_as_date.ts | 26 ++ .../1659921722863-premium_since_as_date.ts | 252 ++++++++++++++++++ util/src/util/BitField.ts | 3 + 40 files changed, 490 insertions(+), 81 deletions(-) create mode 100644 util/src/migrations/mariadb/1659921859145-premium_since_as_date.ts create mode 100644 util/src/migrations/postgres/1659921826567-premium_since_as_date.ts create mode 100644 util/src/migrations/sqlite/1659921722863-premium_since_as_date.ts diff --git a/api/src/middlewares/TestClient.ts b/api/src/middlewares/TestClient.ts index 167b4c47c..4fe631cb5 100644 --- a/api/src/middlewares/TestClient.ts +++ b/api/src/middlewares/TestClient.ts @@ -5,6 +5,7 @@ import fetch, { Response as FetchResponse, Headers } from "node-fetch"; import ProxyAgent from 'proxy-agent'; import { Config } from "@fosscord/util"; import { AssetCacheItem } from "../util/entities/AssetCacheItem" +import { green } from "picocolors"; export default function TestClient(app: Application) { const agent = new ProxyAgent(); @@ -18,11 +19,16 @@ export default function TestClient(app: Application) { //load asset cache let newAssetCache: Map = new Map(); - if(!fs.existsSync(path.join(__dirname, "..", "..", "assets", "cache"))) { - fs.mkdirSync(path.join(__dirname, "..", "..", "assets", "cache")); + let assetCacheDir = path.join(__dirname, "..", "..", "assets", "cache"); + if(process.env.ASSET_CACHE_DIR) + assetCacheDir = process.env.ASSET_CACHE_DIR + + console.log(`[TestClient] ${green(`Using asset cache path: ${assetCacheDir}`)}`) + if(!fs.existsSync(assetCacheDir)) { + fs.mkdirSync(assetCacheDir); } - if(fs.existsSync(path.join(__dirname, "..", "..", "assets", "cache", "index.json"))) { - let rawdata = fs.readFileSync(path.join(__dirname, "..", "..", "assets", "cache", "index.json")); + if(fs.existsSync(path.join(assetCacheDir, "index.json"))) { + let rawdata = fs.readFileSync(path.join(assetCacheDir, "index.json")); newAssetCache = new Map(Object.entries(JSON.parse(rawdata.toString()))); } @@ -39,6 +45,7 @@ export default function TestClient(app: Application) { }); } else { + console.log(`[TestClient] Downloading file not yet cached! Asset file: ${req.params.file}`); response = await fetch(`https://discord.com/assets/${req.params.file}`, { agent, // @ts-ignore @@ -49,11 +56,11 @@ export default function TestClient(app: Application) { //set cache info assetCacheItem.Headers = Object.fromEntries(stripHeaders(response.headers)); - assetCacheItem.FilePath = path.join(__dirname, "..", "..", "assets", "cache", req.params.file); + assetCacheItem.FilePath = path.join(assetCacheDir, req.params.file); assetCacheItem.Key = req.params.file; //add to cache and save newAssetCache.set(req.params.file, assetCacheItem); - fs.writeFileSync(path.join(__dirname, "..", "..", "assets", "cache", "index.json"), JSON.stringify(Object.fromEntries(newAssetCache), null, 4)); + fs.writeFileSync(path.join(assetCacheDir, "index.json"), JSON.stringify(Object.fromEntries(newAssetCache), null, 4)); //download file fs.writeFileSync(assetCacheItem.FilePath, await response.buffer()); } diff --git a/api/src/routes/channels/#channel_id/index.ts b/api/src/routes/channels/#channel_id/index.ts index a49081efb..4001b8345 100644 --- a/api/src/routes/channels/#channel_id/index.ts +++ b/api/src/routes/channels/#channel_id/index.ts @@ -77,8 +77,8 @@ router.patch("/", route({ body: "ChannelModifySchema", permission: "MANAGE_CHANN const { channel_id } = req.params; if (payload.icon) payload.icon = await handleFile(`/channel-icons/${channel_id}`, payload.icon); - const channel = await Channel.findOneOrFail({ where: { id: channel_id } }); - channel.assign(payload); + let channel = await Channel.findOneOrFail({ where: { id: channel_id } }); + channel = Object.assign(channel, payload); await Promise.all([ channel.save(), diff --git a/api/src/routes/channels/#channel_id/invites.ts b/api/src/routes/channels/#channel_id/invites.ts index 6155ef7d7..4e97b275e 100644 --- a/api/src/routes/channels/#channel_id/invites.ts +++ b/api/src/routes/channels/#channel_id/invites.ts @@ -33,7 +33,7 @@ router.post("/", route({ body: "InviteCreateSchema", permission: "CREATE_INSTANT const expires_at = new Date(req.body.max_age * 1000 + Date.now()); - const invite = await new Invite({ + const invite = await Object.assign(new Invite(),{ code: random(), temporary: req.body.temporary, uses: 0, diff --git a/api/src/routes/channels/#channel_id/messages/#message_id/ack.ts b/api/src/routes/channels/#channel_id/messages/#message_id/ack.ts index c14addbe9..fc2ec4880 100644 --- a/api/src/routes/channels/#channel_id/messages/#message_id/ack.ts +++ b/api/src/routes/channels/#channel_id/messages/#message_id/ack.ts @@ -20,7 +20,7 @@ router.post("/", route({ body: "MessageAcknowledgeSchema" }), async (req: Reques permission.hasThrow("VIEW_CHANNEL"); let read_state = await ReadState.findOne({ where: { user_id: req.user_id, channel_id } }); - if (!read_state) read_state = new ReadState({ where: { user_id: req.user_id, channel_id } }); + if (!read_state) read_state = Object.assign(new ReadState(), { user_id: req.user_id, channel_id }); read_state.last_message_id = message_id; await read_state.save(); diff --git a/api/src/routes/channels/#channel_id/recipients.ts b/api/src/routes/channels/#channel_id/recipients.ts index 28d5607d4..d6e25599d 100644 --- a/api/src/routes/channels/#channel_id/recipients.ts +++ b/api/src/routes/channels/#channel_id/recipients.ts @@ -28,7 +28,7 @@ router.put("/:user_id", route({}), async (req: Request, res: Response) => { throw DiscordApiErrors.INVALID_RECIPIENT; //TODO is this the right error? } - channel.recipients!.push(new Recipient({ channel_id, user_id: user_id })); + channel.recipients!.push(Object.assign(new Recipient(), { channel_id, user_id: user_id })); await channel.save(); await emitEvent({ diff --git a/api/src/routes/guilds/#guild_id/bans.ts b/api/src/routes/guilds/#guild_id/bans.ts index 128ff2501..5ff639581 100644 --- a/api/src/routes/guilds/#guild_id/bans.ts +++ b/api/src/routes/guilds/#guild_id/bans.ts @@ -90,7 +90,7 @@ router.put("/:user_id", route({ body: "BanCreateSchema", permission: "BAN_MEMBER const banned_user = await User.getPublicUser(banned_user_id); - const ban = new Ban({ + const ban = Object.assign(new Ban(),{ user_id: banned_user_id, guild_id: guild_id, ip: getIpAdress(req), @@ -122,7 +122,7 @@ router.put("/@me", route({ body: "BanCreateSchema"}), async (req: Request, res: if (req.permission!.cache.guild?.owner_id === req.params.user_id) throw new HTTPError("You are the guild owner, hence can't ban yourself", 403); - const ban = new Ban({ + const ban = Object.assign(new Ban(), { user_id: req.params.user_id, guild_id: guild_id, ip: getIpAdress(req), diff --git a/api/src/routes/guilds/#guild_id/emojis.ts b/api/src/routes/guilds/#guild_id/emojis.ts index c4bcadf77..3e2ed4c20 100644 --- a/api/src/routes/guilds/#guild_id/emojis.ts +++ b/api/src/routes/guilds/#guild_id/emojis.ts @@ -50,7 +50,7 @@ router.post("/", route({ body: "EmojiCreateSchema", permission: "MANAGE_EMOJIS_A const user = await User.findOneOrFail({ where: { id: req.user_id } }); body.image = (await handleFile(`/emojis/${id}`, body.image)) as string; - const emoji = await new Emoji({ + const emoji = await Object.assign(new Emoji(), { id: id, guild_id: guild_id, ...body, @@ -80,7 +80,7 @@ router.patch( const { emoji_id, guild_id } = req.params; const body = req.body as EmojiModifySchema; - const emoji = await new Emoji({ ...body, id: emoji_id, guild_id: guild_id }).save(); + const emoji = await Object.assign(new Emoji(), { ...body, id: emoji_id, guild_id: guild_id }).save(); await emitEvent({ event: "GUILD_EMOJIS_UPDATE", diff --git a/api/src/routes/guilds/#guild_id/index.ts b/api/src/routes/guilds/#guild_id/index.ts index 263579e75..643db7ce2 100644 --- a/api/src/routes/guilds/#guild_id/index.ts +++ b/api/src/routes/guilds/#guild_id/index.ts @@ -59,7 +59,7 @@ router.patch("/", route({ body: "GuildUpdateSchema"}), async (req: Request, res: relations: ["emojis", "roles", "stickers"] }); // TODO: check if body ids are valid - guild.assign(body); + guild = Object.assign(guild, body); //TODO: check this, removed toJSON call const data = JSON.parse(JSON.stringify(guild)); diff --git a/api/src/routes/guilds/#guild_id/members/#member_id/index.ts b/api/src/routes/guilds/#guild_id/members/#member_id/index.ts index 2717ec2ad..eb31ec1d5 100644 --- a/api/src/routes/guilds/#guild_id/members/#member_id/index.ts +++ b/api/src/routes/guilds/#guild_id/members/#member_id/index.ts @@ -31,7 +31,7 @@ router.patch("/", route({ body: "MemberChangeSchema" }), async (req: Request, re permission.hasThrow("MANAGE_ROLES"); if (body.roles.indexOf(everyone.id) === -1) body.roles.push(everyone.id); - member.roles = body.roles.map((x) => new Role({ id: x })); // foreign key constraint will fail if role doesn't exist + member.roles = body.roles.map((x) => Object.assign(new Role(), { id: x })); // foreign key constraint will fail if role doesn't exist } await member.save(); diff --git a/api/src/routes/guilds/#guild_id/roles/#role_id/index.ts b/api/src/routes/guilds/#guild_id/roles/#role_id/index.ts index af04fd066..a4b91237e 100644 --- a/api/src/routes/guilds/#guild_id/roles/#role_id/index.ts +++ b/api/src/routes/guilds/#guild_id/roles/#role_id/index.ts @@ -43,7 +43,7 @@ router.patch("/", route({ body: "RoleModifySchema", permission: "MANAGE_ROLES" } if (body.icon) body.icon = await handleFile(`/role-icons/${role_id}`, body.icon as string); - const role = new Role({ + const role = Object.assign(new Role(), { ...body, id: role_id, guild_id, diff --git a/api/src/routes/guilds/#guild_id/roles/index.ts b/api/src/routes/guilds/#guild_id/roles/index.ts index d2d14122a..7e588d524 100644 --- a/api/src/routes/guilds/#guild_id/roles/index.ts +++ b/api/src/routes/guilds/#guild_id/roles/index.ts @@ -51,7 +51,7 @@ router.post("/", route({ body: "RoleModifySchema", permission: "MANAGE_ROLES" }) if (role_count > maxRoles) throw DiscordApiErrors.MAXIMUM_ROLES.withParams(maxRoles); - const role = new Role({ + let role: Role = Object.assign(new Role(),{ // values before ...body are default and can be overriden position: 0, hoist: false, diff --git a/api/src/routes/guilds/#guild_id/stickers.ts b/api/src/routes/guilds/#guild_id/stickers.ts index 7913539be..c6a5037f7 100644 --- a/api/src/routes/guilds/#guild_id/stickers.ts +++ b/api/src/routes/guilds/#guild_id/stickers.ts @@ -43,7 +43,7 @@ router.post( const id = Snowflake.generate(); const [sticker] = await Promise.all([ - new Sticker({ + Object.assign(new Sticker(), { ...body, guild_id, id, @@ -105,7 +105,7 @@ router.patch( const { guild_id, sticker_id } = req.params; const body = req.body as ModifyGuildStickerSchema; - const sticker = await new Sticker({ ...body, guild_id, id: sticker_id }).save(); + const sticker = await Object.assign(new Sticker(), { ...body, guild_id, id: sticker_id }).save(); await sendStickerUpdateEvent(guild_id); return res.json(sticker); diff --git a/api/src/routes/guilds/#guild_id/templates.ts b/api/src/routes/guilds/#guild_id/templates.ts index f2de46e46..edff67171 100644 --- a/api/src/routes/guilds/#guild_id/templates.ts +++ b/api/src/routes/guilds/#guild_id/templates.ts @@ -47,7 +47,7 @@ router.post("/", route({ body: "TemplateCreateSchema", permission: "MANAGE_GUILD const exists = await Template.findOneOrFail({ where: { id: guild_id } }).catch((e) => {}); if (exists) throw new HTTPError("Template already exists", 400); - const template = await new Template({ + const template = await Object.assign(new Template(), { ...req.body, code: generateCode(), creator_id: req.user_id, @@ -75,7 +75,7 @@ router.put("/:code", route({ permission: "MANAGE_GUILD" }), async (req: Request, const { code, guild_id } = req.params; const guild = await Guild.findOneOrFail({ where: { id: guild_id }, select: TemplateGuildProjection }); - const template = await new Template({ code, serialized_source_guild: guild }).save(); + const template = await Object.assign(new Template(), { code, serialized_source_guild: guild }).save(); res.json(template); }); @@ -84,7 +84,7 @@ router.patch("/:code", route({ body: "TemplateModifySchema", permission: "MANAGE const { code, guild_id } = req.params; const { name, description } = req.body; - const template = await new Template({ code, name: name, description: description, source_guild_id: guild_id }).save(); + const template = await Object.assign(new Template(), { code, name: name, description: description, source_guild_id: guild_id }).save(); res.json(template); }); diff --git a/api/src/routes/guilds/#guild_id/vanity-url.ts b/api/src/routes/guilds/#guild_id/vanity-url.ts index b4d9f6186..426559bdc 100644 --- a/api/src/routes/guilds/#guild_id/vanity-url.ts +++ b/api/src/routes/guilds/#guild_id/vanity-url.ts @@ -47,7 +47,7 @@ router.patch("/", route({ body: "VanityUrlSchema", permission: "MANAGE_GUILD" }) const { id } = await Channel.findOneOrFail({ where: { guild_id, type: ChannelType.GUILD_TEXT } }); - await new Invite({ + await Object.assign(new Invite(), { vanity_url: true, code: code, temporary: false, diff --git a/api/src/routes/guilds/#guild_id/voice-states/#user_id/index.ts b/api/src/routes/guilds/#guild_id/voice-states/#user_id/index.ts index 37ea52b58..5900963e9 100644 --- a/api/src/routes/guilds/#guild_id/voice-states/#user_id/index.ts +++ b/api/src/routes/guilds/#guild_id/voice-states/#user_id/index.ts @@ -33,7 +33,7 @@ router.patch("/", route({ body: "VoiceStateUpdateSchema" }), async (req: Request if (!body.suppress) body.request_to_speak_timestamp = new Date(); if (body.request_to_speak_timestamp) perms.hasThrow("REQUEST_TO_SPEAK"); - const voice_state = await VoiceState.findOne({ + let voice_state = await VoiceState.findOne({ where: { guild_id, channel_id: body.channel_id, @@ -42,7 +42,7 @@ router.patch("/", route({ body: "VoiceStateUpdateSchema" }), async (req: Request }); if (!voice_state) throw DiscordApiErrors.UNKNOWN_VOICE_STATE; - voice_state.assign(body); + voice_state = Object.assign(voice_state, body); const channel = await Channel.findOneOrFail({ where: { guild_id, id: body.channel_id } }); if (channel.type !== ChannelType.GUILD_STAGE_VOICE) { throw DiscordApiErrors.CANNOT_EXECUTE_ON_THIS_CHANNEL_TYPE; diff --git a/api/src/routes/guilds/templates/index.ts b/api/src/routes/guilds/templates/index.ts index e2242ebfd..bb8cc017c 100644 --- a/api/src/routes/guilds/templates/index.ts +++ b/api/src/routes/guilds/templates/index.ts @@ -57,13 +57,13 @@ router.post("/:code", route({ body: "GuildTemplateCreateSchema" }), async (req: const guild_id = Snowflake.generate(); const [guild, role] = await Promise.all([ - new Guild({ + Object.assign(new Guild(), { ...body, ...template.serialized_source_guild, id: guild_id, owner_id: req.user_id }).save(), - new Role({ + (Object.assign(new Role(), { id: guild_id, guild_id: guild_id, color: 0, @@ -74,7 +74,7 @@ router.post("/:code", route({ body: "GuildTemplateCreateSchema" }), async (req: permissions: BigInt("2251804225"), position: 0, tags: null - }).save() + }) as Role).save() ]); await Member.addToGuild(req.user_id, guild_id); diff --git a/api/src/routes/users/@me/index.ts b/api/src/routes/users/@me/index.ts index 924996890..6a2456d6b 100644 --- a/api/src/routes/users/@me/index.ts +++ b/api/src/routes/users/@me/index.ts @@ -32,9 +32,7 @@ router.patch("/", route({ body: "UserModifySchema" }), async (req: Request, res: const body = req.body as UserModifySchema; if (body.avatar) body.avatar = await handleFile(`/avatars/${req.user_id}`, body.avatar as string); - if (body.banner) body.banner = await handleFile(`/banners/${req.user_id}`, body.banner as string); - - const user = await User.findOneOrFail({ where: { id: req.user_id }, select: [...PrivateUserProjection, "data"] }); + if (body.banner) body.banner = await handleFile(`/banners/${req.user_id}`, body.banner as string);let user = await User.findOneOrFail({ where: { id: req.user_id }, select: [...PrivateUserProjection, "data"] }); if (body.password) { if (user.data?.hash) { @@ -65,7 +63,7 @@ router.patch("/", route({ body: "UserModifySchema" }), async (req: Request, res: } } - user.assign(body); + user = Object.assign(user, body); await user.save(); // @ts-ignore diff --git a/api/src/routes/users/@me/relationships.ts b/api/src/routes/users/@me/relationships.ts index 0509b0acd..014a5bd20 100644 --- a/api/src/routes/users/@me/relationships.ts +++ b/api/src/routes/users/@me/relationships.ts @@ -140,7 +140,7 @@ async function updateRelationship(req: Request, res: Response, friend: User, typ relationship.type = RelationshipType.blocked; await relationship.save(); } else { - relationship = await new Relationship({ to_id: id, type: RelationshipType.blocked, from_id: req.user_id }).save(); + relationship = await Object.assign(new Relationship(), { to_id: id, type: RelationshipType.blocked, from_id: req.user_id }).save(); } if (friendRequest && friendRequest.type !== RelationshipType.blocked) { @@ -166,8 +166,8 @@ async function updateRelationship(req: Request, res: Response, friend: User, typ const { maxFriends } = Config.get().limits.user; if (user.relationships.length >= maxFriends) throw DiscordApiErrors.MAXIMUM_FRIENDS.withParams(maxFriends); - let incoming_relationship = new Relationship({ nickname: undefined, type: RelationshipType.incoming, to: user, from: friend }); - let outgoing_relationship = new Relationship({ + let incoming_relationship = Object.assign(new Relationship(), { nickname: undefined, type: RelationshipType.incoming, to: user, from: friend }); + let outgoing_relationship = Object.assign(new Relationship(), { nickname: undefined, type: RelationshipType.outgoing, to: friend, @@ -178,7 +178,7 @@ async function updateRelationship(req: Request, res: Response, friend: User, typ if (friendRequest.type === RelationshipType.blocked) throw new HTTPError("The user blocked you"); if (friendRequest.type === RelationshipType.friends) throw new HTTPError("You are already friends with the user"); // accept friend request - incoming_relationship = friendRequest; + incoming_relationship = friendRequest as any; //TODO: checkme, any cast incoming_relationship.type = RelationshipType.friends; } @@ -186,7 +186,7 @@ async function updateRelationship(req: Request, res: Response, friend: User, typ if (relationship.type === RelationshipType.outgoing) throw new HTTPError("You already sent a friend request"); if (relationship.type === RelationshipType.blocked) throw new HTTPError("Unblock the user before sending a friend request"); if (relationship.type === RelationshipType.friends) throw new HTTPError("You are already friends with the user"); - outgoing_relationship = relationship; + outgoing_relationship = relationship as any; //TODO: checkme, any cast outgoing_relationship.type = RelationshipType.friends; } diff --git a/api/src/util/handlers/Message.ts b/api/src/util/handlers/Message.ts index 7035bc5cc..34fb3d05c 100644 --- a/api/src/util/handlers/Message.ts +++ b/api/src/util/handlers/Message.ts @@ -47,7 +47,7 @@ export async function handleMessage(opts: MessageOptions): Promise { const channel = await Channel.findOneOrFail({ where: { id: opts.channel_id }, relations: ["recipients"] }); if (!channel || !opts.channel_id) throw new HTTPError("Channel not found", 404); - const message = new Message({ + const message = Object.assign(new Message(), { ...opts, sticker_items: opts.sticker_ids?.map((x) => ({ id: x })), guild_id: channel.guild_id, @@ -132,9 +132,9 @@ export async function handleMessage(opts: MessageOptions): Promise { } } - message.mention_channels = mention_channel_ids.map((x) => new Channel({ id: x })); - message.mention_roles = mention_role_ids.map((x) => new Role({ id: x })); - message.mentions = mention_user_ids.map((x) => new User({ id: x })); + message.mention_channels = mention_channel_ids.map((x) => Object.assign(new Channel(), { id: x })); + message.mention_roles = mention_role_ids.map((x) => Object.assign(new Role(), { id: x })); + message.mentions = mention_user_ids.map((x) => Object.assign(new User(), { id: x })); message.mention_everyone = mention_everyone; // TODO: check and put it all in the body diff --git a/bundle/package-lock.json b/bundle/package-lock.json index 5c7aa2ba754b2a83f4b2d30f35889132f4f2eee2..f6cbc82b1d7754664104f7c1597333417a2ef25b 100644 GIT binary patch literal 702083 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%0A~ejJ>e<=Br=oI z$B|8Ep?E!Lx(AN=h1J3fL+fh%3iVcgwrH_jpNW-GN>jP!G0QNIB0;nnD30JIS{8FE zHKidrnHw$+QV%aaEZulXYS(5N0(gs(Su7~KHuxz?;LXL6smt& zS9^y&=hZIe~j#n}; z{9)tGbI_6>Bb_~7H26K#N8PZOgshS`oPKBSAu-_!(L3%5K>ECJyrP9eiu%=Qz6|55 z)4K!WbJXC+Kzv&K0^!p)0Km`P?@HNY#)d1mY}UkwKGX>HzSz|5eh4h&g~T^W-9-VP zo{yG+GVhQ0x$Lw_sI{Gm%iiEr3q6dFqmX=4HU=TBSrA6+f$Lnm<=bQ%uTq+lK%;4P{Ate`v$Uy)~R0#{GS+Oy=H~b^@q25r6*8S%vfW_N|;PKqN}BQP*&&c2O!1P z1Pw#Co5r47YFoxJy(MhYq&RJOW0lc-#!JWDInd3<>K5wFT3u9F>Z62+p`1a#-gxG~ z{3=J@fm6Q#zl*rOfgs2b{0lvnYJHVC9G9(tc>D-b=&R+Pz;V!<=9sg!^J!bnTU--@ zmK_@D5F1}eI`*v7Cv7D0wuxk#Gf1P`;g+Db>qWtB7x|R$6E1}J@SZr%*K>T$5lG%} zbK;&~2Y}{YV#QH>_I$I{gR z+00v0P%2~vbg5VkfI2Ou&vwJ1y)cG4KQx1Eu0V(?Ta#olA_HNAyjQwk5gUhh0d}2t zbWnX1-CseJ%Q83M0An})Lh(;5LrphUMT(7=K5YiQp&$Y`p@PoDs(+jyL`a2Oh?tA^d6?B(;+rDP1AWvEYj*VK)7PnUP2l&78M-(UOAN8^S zp&Ot>wH1R2Y=8Z6c#l6oUUCYiB!Fw<=np^h>MO4 z5!b7Oz9_(#V(5PzkNGv5;0(Z*R6@|%2x#(m9n3(H0K)9ln))8ZTdJ@YIYk_H$=t&_ z4&D@aNCB4N-fit=W|)V1cdYbVoHDXes7w|iif?<4DYny@JJJ#tn$gOzH;D&QWAFHM zml=x2kJ>=**vE~=e0o=fMBXuGd7AwLrE^$M?Y{Lgm3 zA?^BMkW=NwJ-DNbQL=>Q`L@hvWxiMTw?}ayR`|2D@hd-$o3Fy!sJ6pr?>iM zC{T=_a=nfe(B`t^&q*=h6Via1`MsV&=bRT%2m>Tq%z9@aKSS|1C zdhdbjlvV#lfqAtskeOG1fvH4b0PPd0sd!_1;;z?F?qWe_wCruLE$!GWCi4)zHo6E) z^t!e!I=ZVB)CzM|kf`VJ=9U@_&{>N6{;J(rbbWdnyE-d?_Un3^yk<9FZ~$Bm;kot! zJZiuJ9)p&z)wr(cO$B}P!EC&H9JiY8a}v2J#>mwJ-Wvy4w#NC!l7HYDfv zc!3s4!k0{IwHd_txJ%MF&djU@ivvGe-y@-I6LkiConHB9iHZX?6L3anBYRQ|BV^Xz zv}Q`#;fUy~AV0o9Mf%4kvKD$Y|KSio?>Hc4ARjZ0YU8+Qcy!`l1&)9%x4K3I8;1S%O+H`rTvIhW{3|7Ts9!n z38+zP=SrETz8@lSx3T3)!Z7Yyil1tR@1FnM1ndTIS50ib$O!Ii@DXf>ZGk=wd^%5n z7C3!V?s6Mx%=oK~LQI1d)dhu>eaLK$LWIEhy|LH!l$8tW0*ohKOC#QDa8P^I=~F>z z)7eDnuh+9+JfvMiT2JF~bX9@znig;rVej7TYDUsay21J8OKJLDp#LC?IAP^+^=pV9 zzpBCgj45cS+g;Pixap+5pcA{vqzzc`*n^=0(Y0*02&y>OGGtn&4fltp4l7eF2DYl5P&?up}aI!2TB{+zzsWh`k28(tV%f)nQHg?o} zg+K$k0gMdbjn$xC4@BL%!pucx#unFLB_H@|#*gnA5})#b>ajCJeHd8n0C{~1lzokB zUax$F&uOE#detZJDcx4yn+FWwifqd#!qz}ADPyQjiVh-ci%EE2+A= z6sFL4xeVuPK7Svl10?gwIKKl@yI=y6a+!;D)sEnhK>Z^=sKc572M!-Va2cdxKRNxL zHPJTGzTaDu#gz2O0m@)L(s!vz7!=Kc(UZKXQ-I01z;V}ETQni~R?k352r*3cM0UvPcVhg_{9*;`*jYzEhzdz=}tCj@tt5x&EGS9%5gP~;uM47ut z3pR4GWvxZl+AIozj-)wvy zB_+NOX-=Ix^eHnwm=4FP>6`bjil~1q5_?(q1cbUY8>p&a#V3%U2Ky}t0qqQ0m=rJ} zuC^1!9yQzcG;!tSPNVc(jwTCsv~DFvM_P||m_6a<65T*teXvFIb!kl*I1fNuO($~& z93Ak`H5bVbc{%8YNc}j1(5?2GiPOWdBbL6YnuRfmZHLh2?fp(>leo+BC zuLq!f{```z#SiS>IG!vQAbiml_WUp<*DRfOS--ysn(_jQjJdTocDp7yD^Y%kZkHSu zktu4fm&?g+B7~vYKIIt6oQr?g3ee3Qx1o1ARco-@zaDk3T^gBdCW5 z^Ljv6Fhe;EBdSV`&yJi*#?_ts4>hf|J$o!nJ@C_?NZzUALG_V=!sCY-)Ri<#;A%nO}uPS?sgI-ElqDO zW^~V*Cu~+Aj1@*(2I<=%cO~5{K_}jKZEfyh?a=_MPVrR}0C-~K_%KWNhRl&m5%3qK z@@Z87vC~HYwMzB>9D8^WWNc5dk+;Ond4@zmI%x}zvq?6vpbYeI9gqX7=aBMl=p-8p z7T789Zy>Qz8farqx7v(}#64%wUP7*gZKbJ=1 z5LXKWa=rSi=5x<1^?`%HM58C-n@LwGTT{vwl5GjZCr0SmTxd|BO%KNErpfd=r6#BC zbmR1fXdbi~+O=JsvU`gmqH>F=!Gf`~i0!TPt3=m}mN<)eF{k(?NA^*~<6J zV!J6z7N$vM-so%;+DlM!8Y&ZOPD}>He9rayL3>ItYJ}j|PULTr234oi;7#=_wdO7e zPbBwc5FVC2K=1JRCBJ5Fr2QFh2&+EZHXHV$w=TIo8S;(ss_R2cv#>Y~bS-AYkp_Vol-mJQK*td= z+>V<@KwDzgQHFG=f>;MPgj%w?-xkApfnqJhqa&}qkjmYc!Is^HQsv(|1$e)PMp@Os zHH&Hw*)tzWYc=ziyD%B=-~?1`52v6CgF^SBoG}|Z0^M#lsMbsk15${sUwa86_Mxa#|vNjW*^C^v+51?)s0qv&>LGX3Sd|N z`*vLE2?{AatRNQDLKX!!cUg=bKr1idfxb!xTa=m1d;ZdAdk9PkDI;}rUZMvyo1@}n z3zduYiX}mtHEXYwWpj@4p@G7i#_XOd_5uJ8&;7Ls?uUDB;E7a5+m8|J_0ngk9-i*) zu3b1H8%V?X953`)p8pJ5$JNpW3B)gj%X z5TnZlvOLPuarVqnaeT$v=L3!msDX#L@PVqnv3-`Js$pFpa0ldHj@Ta-128^(0PwB; z_c?e$b{o+cTJy%X9Bx;wK&L#l7nf~n$BE-`)ogN&GUWsp4`z(*wDP1M_C48aNU=Db zZl-Z}vnCoa9~)acDi^>;6M--2F~TXDW(4=;eB}rEV%+DrTJ^?ww%rsNX3 zNDMbqG8<|`!suPH={>daz5nX}tNd5!QF8{pD-9FO0tPMO>qe5GvB}E~zn*nLQ9xqU z-PlT}qP?#XbiGy$Yp^Cz7r+8fAT8%OmP|(THB30;!er#xGK#eELXCRsWs~Fzo7+lr zeLFOUS*UXEsN5S}ff{-muoQb<&=>(XxG6>*1Q2`KY!QRbuyNtY@7img-n8zkdH4hH zyhE1iKmPp0J6PpTe3~m=FZPxxPBoJEhEA_@8DHd#mj%zztX2mgt?bRu>D7j;Vn8RH zDP%1{O{kzhXCWZf<_o2XQEL>a?=4a&Wj0NR_?QJ#D(JmzKr6|>aWE*^^ICl_#+o3A z6@ljZAW;@Z1nL6PpMn!84v9e$Qgm1HRZX=|PQrVVk6%x-spc?kh!q+gl``8+#Whhx zFN}46om*5gch~uN(sky$5Z(2QNe*FS+r~SKS(`%Uy2%XZq@N~2vZg_Y;TGR-$=AyD zJ*w0VHK{wmV%Plr6CnKYv^RL&xVDDE`+jDpt!@wqWdD8&7;)4(C!6lfC?^iqYvxj$ZEEDK#WiM4 zd3&vM-vf+WyV)x)^{SH{0OlHoA7$kGN##)z1bzrq0WgrLW_mSL{_*uu<&U6UKmQG= z5ASmj;`eYc>f2lnNjo-nyDe5m+I|;fdJH{b$n_c%FnMqEXEK?#It(L`o8v6KfG-if#O){U7`W~Exyd9D=IuMS}~Y+ zUx0+j3JRYynYD*$88W5!Iz((NK?1EXHE&nUVWqR$_!{o_l-$bQ1sm2KDj`)N+t8QiJ6Wa`z_f-fjd5au(>}BkQKKK z>sI`Q|?sBvz+4`Y8Zba?f zybU5%tYn}S#`vrBR#SJUqC<8ApJeB2e!T@9uI{j&GoG&-RK2N=M~nw1`M71OHM44o zl4M4hURSFrIST}LtoNohuaPhOrm-jGv^~NbHvy)H3;FD@djYX`uUYPQ#A^lorm^Ir z@RSR~h0soau@U~4>F@H$_{P8Al)4GCr=YpyOOK-K*>*eG@&>p5T}hJ7JF10Rzk3DZ zz9{taTv61AO;M{5VY0&Kfv*}9Iqzw`<&Fr2#J4I;lZ}))OF%JLg&0_)-i)G#laLlP z%+s3HV>r(RC!*VKw?!Qsh9y&$i*68-zwzf;2ugKy*+b16Dl)3SjsLPe4Ox;XZ0?o# z{0JN9&b)XcwNEjG5R+O`{zvFRCkckc{mSaU!(eHHKaJIAAu(9t%dUm0=5 z$Tbb@i!Ye4C_4qCk(gW(W#N|bZAtq1Jmpf zl(pj+)7&_WZGCl`bHLZ;I~)GQ0FT<8RPWjwrAAG_4<0Tvp7QEC|wv6#>5Ah`b-2N zC(IkB;=r)a&cKjTB?|L89&QEnW1U7m{n4Q9nbJyH=bM1oWK=i#YB ze6(0UDE(Ngf^h9aRe4Vq*6RKRNVUSRt-Vs2dRm|5B+;31^R)2lUTGwAwB9ya<7l*+jpI$9-a6vko#Tg*lN<(1 zOrmE@HW`{7gCp=Hn{u7xxLkTx!_7nueaoMYegsZ zmjUC4k?5jH@esCt)1yAwVWk!L!vuKaum>DN4e>g%lK81`BhD7{ULUR8&1k2;AH{sa zgauF(QCRfH)$xE97HgkcX7Q#T`?6=5J~^HUE>&lUaa(1m7*OZ3K(pt^d`=&6Nn$yN zTcx#T$ny#vXsp967%-eKXY&*N`rJ@OHx)yN&hPSgPP0C`tE1AUqYm2=iAdSn%dS$j z!clK9*^Ce7en(9f^Mh0yN?EtoBPaWVvX*8Y&l7B7ygOjSu5W2mrx#SK)oj@s4=r6{ zX9DvoYgPpFAf#6e11GuYZi<6_WrO!8 zqh?x>Wh&ZG1bJ9(rDnuxt;Sm8)L_{YM_h=_)77nn_uyEpx~A!T8-Q1Zxx4y9F#}&^Xfv% zy}_0r@Wb_Vk_HAwtJ`!}Q&&;DJ!&4!x;dbs$HZ6Ixk69+N0`3j&O~*IlYJK_R=Ts; zhlk}Fnx>*my}GJT6yh7nl>nJoFs4m+9=5sP7|0(m>_W2S*X1efTV#4YkE!gO!0ZXD z@rsa`n2OV_p)}2UxY|@ULc?~4R8L(jUVmMi6 zH=SOi-AmRD@Dq#D-e2}D=qv>_qx=vSq-)Pd!n?b+AXeNpqFR)uzPev$qt^koekNkv zsIPS67A9eqj<5E*QEA&*mv=_crO=KvBerN3-%h7%1#n6k`ar8rwJEwu!!&ENg|did z8yU~B5kHtdG0edK$)NKC%w+v5*B@e4{mGqwBa3+O?WMQ4(XsK6nYh`&i#O0%F&e51 zcG4K@-I2zUb3!7v^b%(qSsqfJg}a+66AVYJ(w5eHY1^;V2R3Y_B_5E=n5G+5F5>jX z@VZ$ZyN#Oe6cNV4Yk(}rW!+J%=7&@GuNuUs{wMi-5emoskUW%{IoBROGDaGdK+n2i zzp_45o11J3Lktb}V5i%SQ?FGwoy_QRhJ-bVc`IB*l5RA?>YYio@c{hoj!^H7C+)zQ zHflBLK+z3B=R1S+HvEzD??BtaboHW~?9nYCCSEGv-`zbYdWGziqzjD!?#*+R;Wy@f zPVOiDx-iCj{I1iQkn`i#mUog+ZOq4;UZg_VHXACMMzvRw*TRhcvC)Lg+El5KLE7%8 z4zzMq+I0#n&e&O}zIc1+J@P~20HUdT;}oPTLJ3a?`xV~jm*L2JKyiA^vTGFW`>GRP zu0sdAUjNX@)Z=J6GCQn1mUur{YQtYmlDL?s^h3PR_WrO5QwCCKS>R8xjbGuWwS~dT z>Wt2 zZ!9GMDCw@4qYyN$0s{6IB_8iDy=*^j7X%Sfejl2iXM)8|pNJz*`*rg0K=e92uV)+S zrrSM=@_0CG5^2AYq}|NiyIql4u3FGBrrUE0GUNP2?LZA(lff3kw!0rVS~ zsPE@iWfLxH{e!h`(i(@m+0ulWt*k6eF*diQA2tX?xg;D+|`l}yAdjjRB)z? ztWy!NXh2?_>Gxt5|Bl#!#!-1O3etn_0;Bzg6Bl5s69ni5I}8=HokNp<{axOB;3TH) zLF}%?{3(bPgPzY>i_^z|yZZjT5Z|v?xTwWf%S6^G;c6!{U85Ab2lOQQ9g#B3|0bqd_p?9GYEdq2%MmhZ&-xzR*T>AcpKhv zP0Kym1#~vsMb$n9P8HnfPcelWhqL|gk(8bm=fPzzviti-;9!8uz7XiGv>akFEt%j~ zw{RGPT(QYTx05T2VNDj=W6yM~jUou!5tM7^J)(y<#;cU#|;D8Nb7%gM=KC%HLygMY^WKi}RqhH`&d z`|@&xL5M~`6zg+mlmGk8hs$JZ@fkRs&ruc>?Z3ekvjHwLN>D>o@j(>9yp#&>LAQPB z2h~Z+ZsdR66eN~+_r$?|8jZMHR-{6|EFXRr{DdDubE{4NNNTR+zst?_o%c?hO-gg_b?qtvkF-3v?VMSS| zn^~u>K-d!(2SZL>e175-yu;7X-NmXkuS)G9qWneWy?Gp+`bvu{{kQ*im#s$~;HUW{ zFGS$;1L6%WANWoV{Vq-c!nutfjtqf}&so_2NMOES*TShe zLItm9liFOtTx>C-;-<5$Zq@NT+FE|y9A_BM#@Mi~r2Tbl4JUfMX&ep^TH`Rq7QGoA z>D?ifZ?Ov3z&=&(mlM{7;Nul(1Z)u)M|d_e?sZcEP7A@xGv80hv_&!yax@oCL$XkJ zp{S#f$5PQ3M@A_mpB(yNJAA!=>|cHuG8;f3?sLSK-}FPRK-~AE!*DP*wr#^(3tZHg;ik{&xN!((-q@`) zU6q&Yp#*T|s}6S{D+5FLp_QRv71DLYxpU-Kt+^kw01uJh~S-+bmR$9TRXR4>ZyR=1}Q zTw^R?s}AB#kLryiM>+ik43 zi=1r;tL~Fs_c(I;u>kxp)|aK%s3uW_3LXobpi4o}kL4|5l%K_gPW$@T%UoCY*N>DT z%@@0yYmR3X9HZR(|FwWnoWpY;*}CKTsG6`xxuZ45Y50dH>B(|0`S?{pPJLarO&Kz8!c?e>MSYTq`>!cB zc>U#0M;|_Urx!!+{=+J`>M=?t2YLjkKi6wK|JunbcJ&ju*y{_G^_oRl?7J6neA5Q4 z34B1#Bl0P}(9c9FA-D171<#epUx4zjT3>Jkp9)ZsANTUAr)0txgl%95z^MfJ_4oFE z@a5>K4$RKv6UbTltv}ZyZx{yU&P9IHBV*uyz*V~v{;nnpC+)3(;21NK0A@C>S_5Tf zc+I-%Pu8`gK~~0Vj*a!>Bux*LKD3%PKPQ}oB?AAjF=soXM@={TNr;m(zS|vi!dUP` z$g_6pH1Vlte`noX9n3T!SWZvBxd@mxq88OCdBU*`gb zhsVmf+T(j3r$JP|YQCT^_=?Ca$)+_STCTE=NA+9|7tQ_F9yrQj-UW#3L1na}v5vm3 zEAy7TuC%!BbN)rlUS1^xdnhl+yz_8Y4(U>C34LJBcMY?`qfX5 zz!SYfh)<8#klNRUrNR$7Ii@tQ(a22a^)!mRRH~$rV$awhZW^Pm zxZCc!QBH0F3vt12J219JndsATc07cXodwjI1^|mo zr=M8zK~X|XOWFNC8+-i?wy_V++TobSD3~=?wT`!LHPof(>6@A`Ri@qfPTg{fZA6*d z+o&DKFuyUw@x?vg*aUjBrSxPC(s z*naa2rh>u!yx4$!4T_N3Y zP4&GXRt1-11;0m)`C+uD5)IF$dw-k9^*)IqzW*X~Plus>s&*bsL3<@a{VvVdFkN9qRKSgBb+1 zDK?3M;c&m$hF2filH*}Hh)7TYkPMj%FJt1a94P*w2;hK$tACj}LI4HKJ&3Yg>f;K( zMb+)>3 zYWVv@tL^Op+wX{JBav_F#(r$pwE}MQ7v9*O9OaM`fI5vB238@n{s$|dBkR0gZ^vK1 z(?yE&`)i;-kurYHkZo7pv-og1QzW0wcfLMQtaZRUlXlpjsM(qwvA$WaGL1nOvc5A> z(6*g{W?KM0+;yNqV%Ag~MI^NWFB_AVEl|Ec8(k05?^)p|n(?_>yy?dI!9bL)`LMd~ z(%n-q?$qf6u@ba*o-@qewX}{GIsVA)@rl_o4y!DtXxx~pn3q*}zE2E~L#A0x1m473 zHFXp0N1d&(u)1QhZ5me0?vJ~plQx~2LQRkJ!FW;>5tPdNactyu$I+!3AK+^MxAk=1 z|9zv@(cb^hPmZcrC)IgL?zjH^6@RSN|M3Ua-GHv#v|gWqrHrV( z5ZJE4Vj&5@YWeUgFxCe@`EP*P-5pB0iu;(JecM=R6 zqKGUYRdzYmVAS6}@^eH3nJSmpQGaUL+g)7z?mJK@?xipnYG1UsqIm3i`Wrx-cu=?O zK_I0ZI|zWm=fml*zsnJ8MUloOW)#U8V1{bN52zw{<-FgDo}5cF8GPvilAd^hU3S)% z=kuHA?+whl7Zmj}=!U6EbOPIAs`rIfQ)Q`3?D}{4F2Zjmn8!A&VvDA`baV z4q1s8T20QU<4M0wVIYR)Q5(aknN@3-6G!E^=W46@xT8qT3SLvi*2JB;yf$y;M1{JG9r83fbN?5^7R&`{RM!7@I*LH^=zE z$joePO5|h{V=a?R7Jz4p&emVnIg(XCHaG;RoeliR2e*#ePcMj?j{*vICz%eqJu@1t zn}ce~4DrSxI98fRVbHEr#2_(4%iZjkF2|D%f^s{_ob&lj&(WB+Q!xpunHc_2lLzK% zq;7f&Nre47F#AX4uL@+2?&2WdY*^U15G#ZzNnzh2jrX*BNI`sfXlbGRkYPqC2JQBGf0`4BU5gnBowbIxP0dlC9)yX4SC7tD#-V!-8UDaxX#sG6* zN|D4(i5=x&O==+Dfw4cj`yxGGfS4n7R?M@17Z~Tc$rKekAcpwx!{{UEziVkYMAdvJ zEw$gd$se*v@YN{)Cn%n6T*L^J8=7b{+&o3#MW`|Bx%EWRRAkQA<5oW3aYR4Lqo_UT z@4{BYa)RBm!C8ALGwIn{xAXC06IXYY%EGHOZ^@hOk(GEHOk zdotox90$Vf9(2YzP{M^!o(etqGe~m(sUrAtd*@GsI(ryP>)6KrH`?d-%aBe9#(Wg3nP=9b3P?){3`swqb%jS*gCm2eH7`dc^eL!thI(InAA;$q*)BPc_JEbF zoVE$zA3`fLMEL;|1VH=?2}P&sspcEvNdXLCfndn3Bxp+UIiw&P#cw|OnRnUt+i#$c ztB!q1wwE{etFQ1cvM8Kv7XMPkzjX00ajK{!%4b#d2Wl#7P^?iLx4-Dk-_MEj!T$C! zaXKVUN5o5a)SMl}34`}r#&8(9gYkl?ffp9Qh)r@ZZyVOu%j$T>0peLr>UUvCMB6nt zxRcM?f!AH^`fkfo1ieN>ELX#Ak#8BMll{IO9y=Gs3d3PQ){A8;Gu6-dRbbA;XMdcm zsNU_{yx(%w}}9BSc8>+wt#INhL1K%Q9`Eb^P{?4^a270)o7whOK=Z{F>qFQ?H?-8IEZlOG-`rnhz3mN)Rk z<$5yf*HR;0O%hug?y`g)MI)_6*zCxN4RLv3$YQA4FKVj16@>KjXzwA@?rht9#vDZP z%8dd^s37)Y7c$s-)|qDlV07CZYoC%k61q}UOgUifm`sxqI~X{P9YiSG@<_4l^)a0B z*{H7a)oRW-{h-Qs+--A zxS-qOBEmX&iW4;Cda4ed#KX&cTl}!bIHbz&IWlvM$2)! zhMxO*xOE10BgCegpp+glv$FAOZOnLyJb);u!J~5hNeiRR+P|N2mukfv9lWvd^rAAeZ-%_nkL)%lCFs-#` zEnf$W#)&`3I}2(`9s9eElo(&c>=9duyK;)w);={sK@TAQM4YVQ(+49*b|z~8+n`@jB%S~moo@&$M6 z*rtVi|8FdfY&VjP;`N(|2vnrUQJEn`c)OQ-+{@=8^_$yDJUdLvC4)Ay^N&WHc~8GU zUh$c3fvPyCs0@Q2`9r_l@b_K)a-mmjqZ94oTz{44Zt_@9>DX4(ZmjxBZv#bk`^*(b zvQ9?4Jv_Qc!d4@F#bOn?)f}@%5?V~`S4G-`SYK~{N>y ztu^AdyIt3@@IZ4(>ckB@%_q!6-5=`YVK$!CWHDiyar^{;>&bEOH1w{*-hd$RV;CcJ z7<}l?T<8@HJJE)E4WyKwn;_#VC5VvEu6Wr>AZv^5-eGvAra9WI70B#b+VMjo;d;i= zr~!o06ix|wpvSom^9c?!Y()y`ygOTxi%5f*ygerxwT!*Z0^Qg6|2f0%LRSy>{wb1m z(%kQ>fGg#Kd)KFhA~;ih!AEzM9_9V~P|L7wBRk-3(3>>U#y)eVk*xHoNw}`6q+V}~ zJ3;Phem|U~^W8kz_ZDF=7uSG4)|<>&IZj8Fjo6Hn6^Re7Chqrq`E?)v2U4s*3eoOE zlcy8o$8Nv>)c@W9=3OwdxQG7-{rgL88GJgGAF3BoT{^Lo<&~071%uGi0pSE0-x(O>z9cu z2yW&ag?N--@<*Ox_44^}9l(s9BW1TaH)rI!r)=v(ewHVeif1{!+cfdja;j!So?f;{ zlA0#ee8)GjO20`8<2kSA8QlqH6_T*)?yKXpfOov$^_@GkPuA6saTh2BgHE#d44JbX zQ+ia_?fUZAEury>f8PVegO5hPLn;1=QFI}Qw#enlTV~O2wOSwdsnihKvn8g_%~4Oc zsIU=_6KPY$sMTV4bPlT}z-#&aY(vz;+&K^<1v>3DYD!9*UCXQ-ayYtamK#_(%K;qI zb(?%wgHMi=^8&zfJ*Zd)dmg$Q{NK#T%2%Yq2(b^XmXc<{w1RrUu@k8m$Hy|9Q!YuR zT%BxByhLhD_Flg|8Zvm-m{ipH@MzLry}}FucY{yqiku(D?RASX)}4kKCcSx|6~uYi z4yz4zUu8PuIdo~=2K*mI0!~bT77vv3DGWwX6IU&vA?$EqQ-QPhz}15HE!oqYliP%P z-Y-rFym#%xN8ZH6Z?N{RQ;rC%7MHwpDvCE6#p|d;`l7JP*S~JQ3*hIv{sqWcK^f^f zcl*D$J^yjnd;QV&ES4591Ww$0caxS9abfij3+9INZ<{Wqz@66bM()b1pkf5z;dA?s zPU&60GER??qb8oY_t<^VpBy%rab!BPku|C_eRf?<+qu5AxiwYiz)Z>Ni^G(KI<=l6 zav9b&;#zYp4|knRl#H=ezqS7!3EsI>q*!P48!zjuLQ~d-M}PkdRfXNXmszJ?PShHG zc?X0IL>M(noeS~*g@8hC-~U8VZ$#(=$+!UC8%pDp-uzAX_&ZxGyyqWMQ2V?O7y=;$ zxnljxhu|u`?(XeIwb&TVr=%~cTcgUl3%ADtP&${c+nR13+7){_Yv@XKNmP;^yXdq8 zif`wVwru4~g*vP!$69~870oTZ8?RzX3>k9wyQ;o&^0CE=+PzX+Lo*M`6ZnU<8pw&` z0%k#UmlH3}-aXEOmi_S{bM_kZ4mBB6okTo-~~zlmj_U=hH4qBc(?sHYmq zlX+mr$O%V9ypW+QFn@~qfESU2_s_wm|3qP!i~9QsTv}Z9@MhuN_XPA1lU!G#iUE*y&WcDV)_P*vq!Mjpo;lW!;1ZC*E z`);o>>Ia%{?#3FujDxgy+|eT=$n(Au{Y$sgC1Le;x*mtGg_%L zx#nQOQW@q9(N)vV%Df(tPdNL+l(11q?V%}wu!=r4B1&qAHRU7N%cy|;xfVaT-90`V zwlrO$G0)JZvE1$iTsoMHd-hn{ZX0yC4Lyvsr#iWD2mKj}et0t~iJf_S-E-GFTbl9g ze4Ea6zYl}n#O?N0i=VytUo;x@*}J}$fJ@=%hsTL0l=JOot#k2$J9l$)9&8`jKp$F~SBi)y*JrSi&~ALrj=E-d=z%OU z*l6D3R#w-F`aIJySJJ`PQ%-G&&W=~Oa3aLZ1zDX!zCgkSPTU^zeyi6bHc4zA`l_%J znRVL=U?ylbyXo&dD;?08*A&2$-Sym|bnGt+qSfb!^#krf0QA#n*)7q6fj1W^tR^Vp ze9l99)Kz_EndOUhv{l(jI_Op=Jr%d?3~+U)%gxZyXI7ObCRHi&8|I3Y@DWz)_B|@2 zrZ@~MIq>E&?=+M{Hy^-60AXtNZ#Uc{gh0Syq*uU@x)kzgW{mOMvEMzH;#fzwR z`EtnInAyn0x*SgLnAs?;c_CB`0530EzJ6mn-IaA+ekA%ZyaSv%uj+f{> zLV5_%`7i&5e2(WCgS)jxB~AaW)KoEkVZslgy5Y&YCt67igz3b>g2W3Uf}+`aw>PXz z_X+@OY+D*XB1kO3y@6p5BbC8oi`q$?%vDy7GaHSEbi^-0QmraYHJk3%+R>OXLYVsD zh)m4p0^j7v1PReETKW|$p1D^)c!ZYw!+rNcx~|Oo&CM&Sz+P?5aGI=AWo)M1zU_?E zM%%a5xt}^>o!dhafHl~>&2!y&q=H*JNLAFB3hnh zDR}DKYWqi9^CC-SituT16C^#aI_>cNQQ9NY9 zgo)|tl&+a;!5XL{gd!T=alR2oI@Q`O18LLL2_tYtgU|h8x}7!#{ialvxaLxT?^(0{ zsv7VC@*qBz-?JL}A*E2P@bT$d5CcvWf4@o!FF4U9+%(;H!I5qldwknp?Z!c$z}$*H zJMf0wPNAA}9LcLK4CfG*3vP9g7U{-hH|oeDxBdQb$M&p2eJD+5*1Rr`0+n*xx4zUP znFBdW%DgNJm7HuV7@G|faUA)CGBfWefTQahc?Nby9e(u@ZcVn<+uA0B4c@dHF&b~@|FC--=2(QmL;&6#|#F~`S`{r`wV6&Pf&U}%UiP=#< zT9!l3gDPR74oq>?lxjK6tkzbtXm_fD7T@6}L$wFNv<;em1l8=Qj{ooRk ztxr>GNHBprg@Aq)1YU53SLX~#seHWT)&a3eeb2#-<8H?1+p&#YUcniq zO4Y>Cv|8!KRW9_WaYPGQt3fxSd8dWVxZ_5pz4jDiufE;mh`@7EM(+k+C`C}1H>GuR zGCwjvpu4_R1}Y0H<`>2F&^fFZzI`eFZx&{%KH{nmEfwhJJhxD1OQoW5jX~PS68T{7 zT`J=zPIK$*50n;K#-dj1s^OlO)UmJ}j)ZP^+_fQ*GFDn6J0DV3mrek*wYoX1g&o&l ziI%LZw=6w7J-=*V+b^wAfHt^`@S!8DwB4X!3b2o#TW@9g%vVZ5B@Lh=!t`4B?hhG7 z7x>T?IThyIQZ9H~lN`k%= zE7n$M!|3!dShJ42TJ5KNtkgcm{hNRRSyU$t zEJCrW9}GfT{>-39>9_fu=}hBo(@yY%((p$cHSP_B0CLz~yu}+;eksmJO8q!(_})5O z_G-ta>x%wF<&Ay^>&&}>F~S!x?%3eW8YK-nGUJSHh2`P-h33eAoy&y&6Al?rG{rXh zMWn8x^Tw9Dq5Xp$<)zB2JYt8&=UAz1t0Zf|#i!i{-+Fea%SbF6w;!Fhs{dfV!JO|J2g%gHs&WV^K^ zw#tTtbnFiDI1LAVq2^9W_vlU49Zb5)2yaM3lW;!2%JiLgc=v0Oc7S&;T|d7u&4mvE zND?UOa+KzSWxjODzI(m{TI4O&f^m1R6zYI_p?iC?Nu8S;39Ao`rrK889NSx4pkqU< zx@)zfw&Tv*shakfM!QW6q|tgW^jbpK(wrlG`^`0g=dWjESDS;jX|ac`E$xT9+D1)1yuMS|9Zn=t z!uE`03I*-tSZ2~7?Gr}D5_Oq!Y$x)Q+^5~8TJ5him60fZ?Dt)v)perIBXjmY(7{l4 z9YX8gMOgo9Dc6s8#Hn@c)EQG2yIvw!w^Llf#komcqYTWqA-(VcZ*Arl_N~PkPl3%fMviqu0(ZW>0wG@@`a-)fise(I`gW)cS_dyV*iFA) zprFxBQR?6leV~t#m^XWZ~u+ z6wIP@((_a1e>1?@y^6lm9X}T02Xk)L<=xG4PZaUzZn;6Bp#Pq;$ipE^SqsV#V4MPJNTLJBm#OY%A3nfbQE3@@Xzk zarZa}#0yX;&$i0VIufKZj@%~bcXyB-33C0g#uVN1X>+{GN1*zMIxzH? zcM8tFQq}t$H$;6G1OPiW%;u>lwU(OB+kK5to0~Ob9~6@nC&y4du&dF`+p_o)VCfi! zA+6jD0KQ_I4SI{^h#ZL9m2h0vWh#EEsta5m&4%I@D8l~*Jp@91ABTueh(9-!OV)h9 zUIA49YDj!9)jU}fxx6+QZt;*F?CZ~CayJl5 zH=HhTiIAo7ipAD&T4R`LOzqn=OsF1XlSR1C_*M|t-Cb4k6^iCoYi_WGp?ow{>Gbez z-H$zQHeR@++4sFJ_OU(uO=63J zrdP-Ex0}6BSKSl*!Snxf&gS#M^C}Dn<#!JQlt@E+@aZk4tQtQ+$L#4H4 z1I7ZRDh{3a(IaoHSnARnLx*kQkiFQX#Z4eQdwHKk51EA2(0OL)_oy84RnK_ej3%99 zx9R5&L+X;do=n1HWM{v78t9_i$CZ{StMzeA?L_agDnPra7kPzD!XA`Pd!a=}M7CyI zejOcrF>P@yUmvu^#n5RVV@GADts{nyL@M7kYQ{S88bpH4b#JmsWevx`RqhUt4WC}X zEQW6G_MV;F-)5iu*qTsMc7d{c-=w*vTJYfZ1t?TQG+!vfwWUp3eSPkUK|mdpE*8)6 zL9aWaI|=}Vglmx$6W>@{wIm7|Jw5JLFk!-smOfyRYH>#SyU?!&3DM@=q%(>J2eNk5 zt|I!LBK(dq1dXy+%&Xf8OgC}nQUzSASWjEvTyT8fN_BRmzM*R0f2b&9J&ma;a$~JC|2U*&Pl zKN!sP&7uCmHKc<+)(WsZCm;R1DNawpGyrlhI4I59sSV|*0bB2PL)qIVs#G0pYZ=2g z0;wxdbbF=j)F{;syO{N(Y|-sXvb&}ot+xwkIjcHuyE`_aW{+vryQ>LH_cl*-0|Y++ znCq14e;mXGf9GT>eb>WixPYdPdh6QO17wn+yx!WeKTq|;kXODmx9X^4e;aM_-oT;UU1NFR+zrgg-p_Yayyo8}i{2Xzt|H)k7%?Je4=(o2E{);?(l6wjlwHN6vz59fEzdS?zWqw+D<2Gvc~fzHLU< zsLEIGN=*la~{#W~A959{<~I+vCp3des z2s5)xIz2j9Q3msTuD)rJ{Ui)*|M?=A-az_=(pxG1JXfcac$wAOHF4Z%(7om^X)n0C zMs-Y%Nq6LdVI4kb^6lw%PxhNfYQ?RbZZ+b2(s)Pm8>2T|^y3b{I;yh)J*xWGsO%dH z@YuX9a6*k=Mj<(*CP*}X@ zYT$p=%Q!RQnVWHjS^uFVZeZ8nRT2d)v;ex2n81CQJn(|~N~g&BeTi20sph&LY??oK&ojRn3e7N=*`7ZckALzv!$86_EK+6m)t}h_2U6| zdn7;7`)-l@DpOy@N&1U~>S%~4Y}pu%wS&rp$G9!1686*m{gZORwIA0*D9SGdc*_f( zUJaF;!SIOc6UznG$EoVL9anpCecXygdn^q24$nz5r^=5c(x&YCFdyiysAG6OT=RQT zokI!bR5f$U?>XW0uA}oI4{aCbGTrdyY*xN!nmn~kG+is3FMr4+>TvlmpjHwq*o&w_ zKn=MF&ke;HX@Er^daXe#x9o-4TQu8?p4FIOpW>J)3^h(0fqz;_>K$V<>9Nxs zs|zD8>4g2PnjO3rwwOb8;GU9k<#+cK-7*ZGd|c;=Ho=F^!G+%GwhP+DZhGY;^w`?M z9M;XDgG~pL+o@eD2FtbEnJY4Fye$!AerUIsm-;Oi=Au=e7`C%pZd20EE zZo$QG*D5lXuf!-(cYHWf4SAXF+giNbY16c}-lqDDjVH6vwbtg`rV=Y%t&-_R>P(!Y zNQJFjaTeypUuy$x%ZbNUsQ0%m-?1qJQ;yR|JL#F74=6il9_3#!E2J2ybsnmUVl@|M z_%y{7Jn2(Q9q{h%h<>tMkg&R|WBn7O{x#+rwCF#ZD~&9|kGIN&VzJDZXN7tBYP+Zv zS2t?HWac->J()y{1-SHOIR?5^ZF-dA*ubfV%m%H-}CGy+O{8p9uU|U|~?tM*uOSD+5+ZT$kap?ggUW3 zOa%!>q1BgK-{S_m8h2fo1a!@KqaegLXh&8T8uwoS4pqrRQdQVCMjBV4ApLl zy=sXZ={6){d7N~ZXjt3Y{o|e-^fwd_=<;#B!p=f`&>9;`K4IOUvgpb?W>XJ1PM%c8 zc>|!d+r)B+V}~bL)?k+adgdeF5gC6U+dGI@am(mIk*9hk6ociAskK@P9vpg5uIXu*m^I6{GkM47QY&L!j7%lnQg)lQRB`I;LBNK!*@2^*X+xIh6KhMQ4Zm&a zHx}emp?Kb(1Q~4GD#Y>S?Fy)JDN}(>c^8c`%!q@(qCG6Ok#3 zfQyxfO!Oblz|wSRqT9nn6a@jMK9sJHUAha!f|HkLg{-}bLDb1wT9b6>{$A}hb7+$3 zkX$c3)lAZ;DtdjVE*!gS+uQAFR~QFvcC;32?utB!wdG9fP6z^9E#oR3n5mtLYJD6~ zDfU(j;)S3Ux8dp835xg!r*3i$@1J6~M6b*`T?MQTWRg9XK5=}+4tUC}U3}A=HZzZ4 z0N-_d*aVAiT{JmAK5R&%wPY6_%PC1PX!D+W$XAO#%?Bbla7??~OnSq{*kDZPwon`O zZv4Ah`9vCD@b4%)=EF8XbdMkAsWiQyR&cC%RGek6@>8RxT|Z6?vAQ#7fZUWj-K<{m z_jJF-)SGcnqM7xeCrqd0k)Mps0l8bP8JG{ws@6`KvE%k`E+4~sYnn-QKC^p0N2DA4 z^}v5zawNy)aISBuCg`6GiX7F`@*~YQ5E}IlSwkk<*|vR@plnc%dl(6=dV7+Cd<+KM z;^^=U#Ea-2fD)#p#Obw^wJlRS98EQosHG3JZEkDak^1!54UMHg;kZ$--w!w9vQH*3 z80JnW_yE;H0#wzT7$+zT{PI=-_zccz71$CZVm)}th zf5_LL*c5j}5vT87c+1YnhPzgj+u=Z6qWLI>6JW6H0G zxVB*(H{VXHN5hj>-9?9N!3c_;yA;>hUYhF1QFB-6kA($2+jQh4R*l963sq)%9E~xk z>|XlGrfZI8qsD;lN8@1kR_+CS;y(p|M>vL;+kAT|?tvJ8Fdenpd}^28p*xm)>*gx3 zw@|R-`2z4`Mr?0Mn8O^)W;@f?-c$ozRgW`zv>!}JTJ^D}6e-5EA8EmKIcYDpm1-P7 z%7K_PvyL^M*;B9H5eE2?P1jk2G~F9`?yIc-2MT-tfaCsy(O~DS?g`rPm*~PR0_zW6 zBM^>HO^XY`lFz3UH>B>-5%!$Ns+l<{PCyXU?s*HETti5Yx2S`t>w7@Iw!5*YHpNY6 z+|y_bUrlzya4H^P@){Kg8nqlo*19hm#3YCM7b{GbVV7+;ZV!q_>4#tS7g~om%2)n0 zQdevaxcG@dZ*LD&8TRmeM>72B@qWVCEtjgG{8lFTSfNzHX#z&}$bz~gW6f9Uo#sx| zrtPs^Cyp5}IhD#vpp=Gg%epcNHkHa?1e18Pc8G!Ll!vQHw(8Z~DZLpl^l%vUuveDg zy_N>U>6|Azd2qij<%6$NgZ*!K9I3 z5~%g=l3$3-V9%s-V<}oQYACnY#8j`F!ZBDb7x7Km-LG~R41IbE465Y-;Q%Q>$gd^E zAnPA2LaO6aoqtCZaq8{`$XvbF`Ei`ICVCe;(oI+2@S)ZK{Fu6=H^QKm=V%VqXp(zE{Qkd+to~bKjEZ|I?kGjK2b6=-AEj<$kYnAL!j&5|R z(a4Az>4qefXy*9nSo}qb9?$Rnu_+-J2u1Io^56k+#E%Cr18<58yx>k-5)>}Td$UDl z)Mg2`UnSRly*I4cbw9vDe$zh~dskZbB!2*%)n+WD_3og{8V==~!(q)DCddB1K}=rSGrpN`tA#y}B*RZSxT#)+H#-fX&9t?jH&W0h&W zzaJP(*um>uWq4~my`617Yx`2meQ>PC0O5_;6j@1px%>BySKWp7;NOQ>++csc8(h4h zSggf`{#QZlg;a9Fc5_r$6TVf^v(^A6-E)Uv(@Qgx%(po)>DNH7`{9wS*Owh1pHEFM zBJh5HkJ)O?X2s)-Vv?GuaYS8!`t;?(?K32j%3q|=Qz2DZ79#!-Llhu9N4wsY!ZST| z>*vRXYJZi*6{qYvq}Z@0FE?(rvvQ}YH?0nHzb*+}6Q7M#!A-bvmsgBn&@k-ge9?C` zJQBMG7A1S=rnkHHjM10k#B8}NqqX=$}q z6)xiw7T$+Q?x_5bK1B3G&Rz)uZ?8{)yFls%bL&QD*QB%9;gIsUDxO}pUuSmTF_=QUfv8UHGxQmv!L!;ytHpY zOJi7H+B^)|gDS(eUnOgle{&FjaE|;z+zB~RsP*NcXN~UuQ#{e}R-X|XfhStD=vyIoSePv* z8%?B&YE%K9OI9Dj|Aq!eSap0cy^*(#Jykb`KsbN z^I$S+A4I$}cc;9Q4~1DU*HA ztZqztc{Nzkd?@U@)ZH|mdn@plVaMmlBbb(;w=v!*=md;#gl>^m(Bp;XT0<4=}%Wr=($IYS41d@?2m;4YRb| zw%BMD^<$i5bBgDZd`my`N6Q~uqU)3JdqRx<`+HKC`07^&t)<uAAjBwRzjILt*c+Y>Yh&*jsR7JUuWB>svS{~4d#EU_K-aALL%UJFu zF?dqBfFKSl{rA5R`|o14cm0j9$1l7u+8Zw~AOz4;^jD8h)u=_sBzzxK!}*m9P-y9~ zK9Pe<-C_C3^U2VCI3DQ^Pv-CcMAqvIEqE>}{UJdp^!Kq6ET|RYQ#^t^BXUok`zCrn z>GiVaBG6>atOwX^kb0}iJQvrvu+-Uhm&47@o@>qdiaJij>Of^io;Xdd?UI!HdKh)u zc&tqPpfZY&Ze<(Gt3~~Klzv;c0{0xPaJe4E)4MfGVR9g9J-UA8{K^Mw_SB=fmCgrj z|2Xb^759SkXW1{3ysvVMHQMt=hOs(QhY8VM;8nFrdjLgF54uOc;@O);cpwjXxbSkn z<<0VZ74V`aF}mGREvns48bo7X&jMO<&84xlJSa{o#v!~f*S~4E^FIB-qCYY7%3WXZ zr_4DOL|#bdZW*iLdRON=0Z9o`MT5eT(b6Vy%HG0=Wr%8tY*?#KAx*BYL?Ij1iB&Eh zWM@L?bGOxy=*0pbujy{Hw-VeXEwo_T?z`96;;Up5E;}E{;4uUv=Cd+-=Yot69dE{q54Q28zyNEw=SMP%e65dV^h&Z2)$7y3b$cbT&LEwHiY&&1%Iatxjl;nf zEqau>>ut-hZPD0}i>14e)@&@pR5euvxug`GS#EkG!JQbXQSrz)8V`GRWzuc0Qfsqt zUM1E4y=Zo#U?9R^pCT$RHqudQtNfZ44c!{dtUV+n8cn`OIX$Vikn9Szp_^LP z>+HHzKx?>G-PAZN-;LBv=DN%ngIVnh-!a?WHQ7>}U|uuERib*kk^W!y-mFz;~jr0(vak*#ZvjAHU9@IYTF8Ak?S!SM)A|@;iU&qJHzsx#m8>6#hbi zi4!d0AHU8Z3BL-U2;$Ni?e^uVGGHozM+qRxazFtf*saPL$^DOC(7Aj#!Zdd^ z+wK2>e(MS4{f}RM_9L<)@5^!lKv_Y*^Mya)W|ts87(9@>DWq<4XxM&2!g8M!&2#BdtGw4=}Km_46$lw&b4Yt*x$Dgv!A#PK{&u^ zkO5X5`4!H_)bEzo6x^YYsB-rPX9C@Q6EaXptUb3dZ9^?5{nEs0x2Ux{CnI|qNK~X7 zbwM<@!>wcsiq!BQflw64c{}wIzL+Pf)(8j#!8Rl8DYh$w6TEFw(?92(qmGN?e>-#9t{jeB4LqC)P6KZ4<{3Q#0=;CDrxn228liRBq)4Z~#R;BSs!Bq&u+cVGZmZ{pfZMP>1V8!UO zXx1RaRxMsm1h&!JD=ECOsa8citqhm4J#QRTv0j@A;*#p^OW4ZuTSK>zS}4}~ge-@h zeN}q*WKH|5v_3jk*JaQ2xL!fR23CE+BQ;M*c7$h#zgE2eJdKyYRhnC?TM?vzHwgRx8eD0 z!J^yxAog%J|2*mFfrLJ(`)`(wE%*Y)x?Gcfrpq5w1_YQfDv7~YS5JXNmrZ;LrWi2 zHrxHwlMck3T~=oRa@ml%ic(q3YTFqjU|VV-!*^F58YcR?Z2sG z`rXLgh1Tyy@3N1d;1ZEv@aX8A?C-aa4%+d;vS%hJT*?m7D_Lf2XZ>Nz?Uiwpoh_kR zLJmgF>dY$%dMx9m)exW9LKlh#Mnp2NCoyeQ>#ON%DT;H?Nn7nYXz@fp#u440^pA)efT|pj!>I@fS~G^RC=)^@rfeW2zj}8#-qc0 zwk3BZj`QF_yYV1Mtx0p&TSE2XR^(%xQ6X#wsR?{qbA5{kERdkFl_skZzTlVME9d|0 z@LhiPP1*iS?tI!)|IH)*DL}3++WQ;?QSg(KopI0gCB%S{G=FYK)?-0gEcM7{>Atff z+kRXQ_tt7(9n4i6W_%dqa&q#v6jSJQ%Y2c zs1ROn$X_|fgy0OTa)kM*jEISZahv{&tD1Hs= zI7ySR!=6CWa#UGIC1%oT^!;`i553{43yrDHkhhB(e%zBwl_BlO+o(29LsoYT zC!MOTWYOCQ>soD?uBG+PnTUsGx87gd;FIB-6^=n!T#GIB%27QUZfhmYn-j5I!q&aETw~u zQ>~0u98^}dt~aTpWl2eq>+abpS^UO2We;=su9Hy$K&4=t-%OqT2Rb^JK-Ug3k_Fo& zvkBjhX+5o8MRbGe5{Nb2Q-{A}dS4bi?MlA-TZVVAozqjqs^hkj-$i2y9^R}Jt!snF0)(8rcNE11;dVngWo$g0!){)^MD1J^d9bRh~UA*3kda>Mhxrtm`Pdkn2fnHM61m7@9Lb>ha2xl^- zQ>If-+Xt8oQyEXUR(TpV=y_Wbvr^HQmfx%Dlyk=8ht*fefV^$>q3j7d^5|d4NTYPY zb2~2`;X78OE3Kf{XJS=b)&{&W9}L+hC#RjJo5~OYD+`3TYg+z>J|>&p(WVoDI;=-K zYw3!XBehlBTMA2Iri$}fTidp-I_n9~yrfGAWgbwqc5k;)g7CcC@9L@3a)>&oKcRmP zNtNdWIvO^+=`?l@Gg^$9kX!V_%}8a*y)`zJv=!OwL7gI4ozukivDRRci6WNPriASx zl?uUAIhKuCi9FC#Yz}xR2bYNkH+AgywA3a5J4BD|FFi{b-PWq2;4tz#k+3`&LMIg# zJ0_}cg`iIst48Ijh)#u*`D8yD|MGt~5eU)0{p)jsDg4?&&dihU=YW4F9DZFf-<4+F6wiqvN&^$+QTplCjd{??5DX(|z|JGT zZ>t2D-3=lS^5^-tUx+(h>M!X@MIsLP!tL_WZj$Wr6~M>U_DTJKRSyTD(!?F3Qx`$( zg~qBrN;IFvS2e)h1uKr74_c-(0#F3Sn^DxFD%6>m*54&~cnuh$gz@1V<33zd?Z_B@ zSE9WvaRRE`Hjw`OAwSLq`eBt1vB$qH3;Xfy3WQ|PsxS7YL~F}!U$0GSHDO^HbVU>8 zZc9J*!h^DGRXm^Ox%x)7b!9?Q`g$)1{;^i}MGA%}aCOQh7V}DFwX8E(iwr7GRTQk% z@~W%vyXD`;%$b)oHXHs#aROxzvYgV@)HOVd_6HAYni z6Rp2y1HXO@8(d_@{SwEr=6V&h=IiOPqr^+$$a13IV@h=B66FdJvrB^+#V*>X2f`wD z6oldU1@7xz+c;yclhpXGH&8tFICS@&loo33u-_8xdQ0cY)udL^5s)JNP~~K6 z!9HdGLVgdq0nhEZQhn5*`Ep&bLNXToQYr3pp|en%%s#FNnj>rRFrIRwgSgsmSa}xr zjd`VJclO~*_w~-sN$gm!FbTa)t8HqlPiBgVy*fk^)ZEB9NIR1K)l4PiqU>~#6xW8{ z$}sjkH^@ty(XL$zpr8co-VAnhe6k?L#R*1p0l*AA^}^=0&zB;e(zd!awC zIi35Af9{(40vA6!0dVghasU}1A4-8A>mmlrClml$&iS-u3%_7CO(W_9ot|piepeoF zqK{*|u?wYvvKzK4)=T;_fn@ z_v2+!0J^#_v7sjaG(97$y~_CGX-E*B4b@TIqh4mIKzVv3oq6$HyW_NIPP(j2tGLz+ zx>b#7b1H=vp+auw>PC_Pu@1u)bG*6a%!Z?Kom8<@0RDb zm^L&3?o+%9rG(^~DLI1;-%5){{cS+{nO6jHmy^BmhzX-F1#C&E>peMTcUTZS@z1O_ zR7zY}HKXFql`NE3e?i9Xu|KO4bh#>0bCw|&lQN)2t|<<)y|Ffc$<2{MtrUOSQyn|< z`-!mBjUK_aYueDQ);c<%wqn7+GHc3lXzG!OH4MCeCF4V~HU9iBNW!)9f1sidwB~<# zrr*)yf@Xp;t1v5C{6WHkFnpf@3u~STc)3SraJ^C$BYjt8j^u$d+TGDn!CU^oDvfr! zS7%Ig8O6^eez zJ=gytUryQ_$#?kQ*%Su(o=MnDjTA0^g~y%j+Ql~uBKB1b^!EaCXxAWNVxe;NQ*p|V zjRTA6(@4$tWlwuoyi?X}@hURlZPR!h!7$W;sISa)+8JSb&|dmcw6><^7&rM^6`Mpu zD%}#jpdkyb&JIs^wQyDA+a!dhHbg|b{B=lW(g8H}d1)>$1?NDxEmRAm=drwbjDH8b%lHNLy!52eUe{pWVV z?=W$(E9;d2g5rvMD)4u#QaBi}+KKe2XyZN0G{pFkJaCTyyR}~9qq*0gP3Re~7)^ZK z^9Rg)&xVA*!8qutN{rQl7uWqxlvd}n6*dq?@q`%7qOj7#YZa3M4aw<7k?!}z&A&&G z>;&}%)nZ!tl2$nj7L+GE*P&ddf&RK!eV2UwrGV#7Js#-T< zM*v4Q6`Lc)(xS>1i|S0wg#C0jOGC}-*73F7@)t0qbk;LN800+MQ>(#}Vm3mlIVkVR z>D17S=&iV&D}c5% z$A5kRigtIuvLF9rvrvrrLqBnc(rCLdizvTR`{BTv9ZJhB9ql>|TELrbr`9L>JqR+d z*EPN-z~nYYAoq<{G%s!C>fS1IM`^s8VYB)8xPp)wPh)aPQUS1bFNc*`Poi*?mwsSC z+OB-2+bPIES-1@98lW1L*kO7{iLzj zlN3JcAN$MUKABI#p^jHNF=f-C)u|Z9T(wFQTO37noE9TZ7m0%6@YmW0kR4Y;=`72@d;;NnUL~s|0S8Hv z!JUqCIERx1{f^K%8L_{wk02^0DNi%X+2%nv5X9y0aYdmU`fXbPu|vM%nK|-TS^N5{ z)6ijt8=fUK&m4)#tlHt6!J$-NI`bH(2vJSt!K_x-CP`%>k0 zs``p7b#2}E*?6^SbrOF&n0Ijp2L7&!8vEA5d_Wr~kGUW|KY5vd{IXD0S>E6E4`lOQ zPE2B$O4eVOor`zr__TTj?Mx01@Iz8VrUOQuoJsg*5cag*iC1CeuhTLwq}hrgymGHM zSeV0b#Cy#|*_V$Enkm`K_5#Gg%0I+?eb>^6BwbB6N1ad`gS0f%#%vo3M`21Z)oyPp zb-Fq)vC@))&}O)pshM-f5o}y^XM5&x{5N-De>`}>qy3THL{VxTSN9CITr?PM+vKd(Xb?b&x}4IT zZQrYxm*bgNkLKQLxU7vRYCW!$iG$qdBE1}%9h_gyHLR^j-Q6-0#dOsh$^;Kx^)JfW zA9>^ND2uF<5!EMUAHL5FC|nDD!*?-Tip6;Mq)+c?jpk*xGTzQtO5}N)VP~WB3>J-- z@p`c}Hgr&dqK$dHqwPjV-&dgm*VX`GZ@oxeq1&H#sCk#HO&NDkULO|K-rlBXSMB|T zzn>hE11$$^4oyDl8S#jXUu`(Yd;gP8b1NBPH z_w*bxf-f31gM zwavBb9AgEJ7OI9UuSb2e91NGdJM|lSb=xVo;|4vH=i$t#9@dFzY_(y%)Md(e$SfNa zO}Vb1^q4paEy|l;Ew?B91={#UFz{0I`hzVpIrb@WPyua59Q4OqqLA%RmRKaMSU^MG z54mASB}hXHckX5#M6s}6uEIXGo?AG-C_&24^Vj&EcHGIPIqX$R3#-zYR@$AJsX+F+ z-;&9eg6|5jD^G~?T(N*-m^p_C-{(%I4=CIG)MGXZYa${QUVi24yKn-Th$ z+Q^Bysqi~{qF)c(RlPnCIPiOOhz!1Mrhe={Yfzyg7dYoQmQyE^#+nT+UcS=Py z*JN|B7_kw@){jI-Tac5Ac7SoqyS^K&ENfLqLAYgX?qEZ&xGXzai5BVB7#eCH$}Dav{-^VUri0qR{Y|hg>r81K&OO9p~RY zMN*y(rMl=rbc@XTJxzYg<0kjr*xwkMb#ZFpyH`vlTJ(O86quRAD0@xBF_% zqvpKaPF;ENNSs+zTAWoO3g(Ad4c_JdiC7K*+ zzX^i`HWWItx_JikLc*rto;_69Sv26eeS?S&o-;y^g6f$E=J7?iy=@+UTlT!6g*ySK z!?G_p-NI6Jy75=@L8l>ULvHEqVYswh(qG67VbUP|DTgme7bro+s6gyw%>%$wtx*+0m*UP`p%H7=!7^ z<*TiF|KR_9NBf38ADr#819dMn3+_uR87up3Q#g>#Ryx@v;1iY_bADsFJ)A6?Am0sx z>*DR!yt$YrolRRc32(w3NNmSw>BO!P*kReEF@xFWr2ThT>^nvm*p45DYKl}czNuCpH9QANOE7`XPl zVE;mQ%{NQ_nJb(hWB^)!5hye(EeBd;?*%mQ46*-1l)ck>K)cglU#DeWP)<@t6Vj@- zL|X67wggwM?DI8>%#&RrEF2sg#%!sSa>$ zG8pXQ1wC5T@m`W%?fvh;jPG#?NOhZgP)!$1v>&kvU}<0k)Z>4OM%)i@e6rA)M1P_P z%0Ibkk|ckgD4yXE7;XX(S^$;l|6k{gKqV^)3?$uYe}1926#(To&+Q^#5je_Vpl%Uf zcNXtKHCE^L#QXa7-(^YG>@q;`Ux4XX=YTu0&_S96^o0)>yDdmEe+DDb=AmW6)%he@>u zs~1T0?Y^1Xc$I7;1C8#ROS?)MFmnT1)5;pg>hYw{tdD(VQo}}D0LmJ78{NaYJRleJ zVK!_N-lA4z>D6LGHiOcPw7tUyR|Z1I#>njeyKQj~U>rh}gDeM{XG3$l`Y-bFU(SzH zpwlzCxDCIK5}Y=u0)mj+CF=IaFVqoVN0;9fnK?Y&^|rSb$a%RtO8pXBc-Q;R)`I=X z{(UQYg7s8(PsNj6^EhhS$3b27nrv0Tt+-So2K6;1jq3fmBMIKv?*>WDqYs*0C!(s` z5$VWqg2?C-s2l~9<^jxb|;S(saUUmRqGbbzju#YvI2yeR>NR)n*XDG=K>J1 z$|r92Q!o2EUG;pcV#Wd?_23^C=w4Su=L0(E_St}0=p8_7z0hg|LZMVOI41((cKFb zvevMLwX*a{Z(Qm}G{-L0Aw6xByLx>a;;9=iLVwU4Ho`uP+8C0h=2#r#?XfB_6H1NS z>7*9+9e2q(zI3JTD~sVbG8tOn0^miiT<=>CP+A&jP`aDH`@;r7O8)ebOv%GezgiJB zea3c#CPhD3G+*RTH`tWVt)m6~4}ac?7DK@-^y`FR5Zz~ik5hx!1rZlqR?kw+uhN1C zopD!NMWdXEldFE842=4^&u}8u5=d3_I=mgx#=6X6dns?Bixx zmuYe@#px!l&klr87PX+57Q7cK_G2y1&{OitNJO!WPB5yWDCn+_0))y2!(FdjM$EiC zkkHlt>Ok&L&+iw)zeBq1ht@%5%^$jwW?{)}Q?7SFAjt5Gp8G-_p1_*%Byzf8#clK` zz!VXxHDWAwdEe=4fj(zO6P()9e!q!LoP)Qu(k{^&)oSj%?ZveYJ+s(EZ*A=cnELyv zibveAxGlGiCf;p9d?S~ z=i7djGr3Rl>l+wzA=`S%iN4#BWbWbs{)4ifyP&ctUjL~+ysnt>#AW@go9>lD9PI>p z-ALkncQ-Mq-p+0xt<+~4cG8z!9UBa4LrWP*y{Sra-R_QFI?k~f)~Rr~p-5Tsu>_}& zGo$NU#(c5i@yP<8QCE=-34G?ZW8~$@Lhv4ycCHs6h&l%)Yfkw6_l{Pv#PZGRWN;F% zYa%)pUuTJwSBI;ocDrjhBRF#$j+>L9jHiH~SKsdB*s64wFf}jXdhDJ^Lys6)WKV|p z!r-u|*c(Gsq``=ExRohyyMpaEn{A;|KGqM(^>Ez{G(52wp5~;W9|J5BH*vCb*ALNz zB*~{-cwI50-evtvU%cYNA!%=+W(2xx)utIxb)P%xBiCV6eV)cJ-$Cy+*0Yse#j0&=bzF>xMy0D0EN;+gVYK@<+CAc`OOMK3f}Eo+-@}xZ zFJ7)}X;o(@Y%OI@P0E(5=fqx_4q%}l(iTW-!5%>HC89^iRHE9A?Y-Uj_-y_QsdXN zwl(kJ#=-0lt6O5W6Gpn~o02h?7x8!y((V)>A^l0ab1+2H?I_FrCX_4Gp1VoZ+-mJ7 zG6jlg&v5Jyp7SogRqnp$g8yA{jL@wBdL;Ym3#(=|mP$el_?Ddthb>lyjh89{%bO*A zy`n=A2Hw)^`CJUmwY2EA0PnQh+16o<(r&)!;`6n2B&}&r6MOZk(O>Ukj~PT;@d*cd zXb9A!Vnx7}ILF7n3kuZjfQ^Uc2G%^d2Y&8S&B1nB>Fc~aaTi!gj^?Ja4OxE0+D6$} zAFXL??Cog18AFTKs>+ol3s|t6R9b6W;Gs=RfQh{`rg~Kp|J2?=EHVhBBh1aZcft?^ z&-uyT-NfsPXg9B~z%qFw!k1zVz7=6^>UITsP>N*@Z=@PIp9;!&ID;x1vt&?SQ&zRFmg0NGu|Ez0QlU1 zzgaXVO5rY9Snrjcv8H>RsD%x$dsL4xByU5l$%ND)l84RJQd{)gbiHg)Weq_ zbfD+i@p{6K&+QY`cpN|uDZ|~p$Bt;a-PwD(chC~v7_|0b1KW=E8Dwxine3K7HvW&5R7s8XwAiV@^`)eQI72(0*?NAbG515T9cLLB-*G4S=g-Xl=IWa7j)><3h%VM>d>f+cRZ6;6&V z=vJ|kc@iPEd|PhDD&-?pbN3+BfhjtW{mJL0c$mb^TcJ5y`g zz^Y5Lw(YI=wKkmB5$)8D(1awXYe2Q{xyPOvN8z;Uj6_vts*O}P2BQYs>w3(3*tfc1 zeAP$XVYj!d5U0NG&9$ofCH>!sJ3^;hY}*-t7#vzik9aQd+j;Yg(cWU;?fWX^-s(9? z@4b^ja=a3u>2bHKm*P@LhWzT-ZTnM6+b*l!{@x(Rial1%RFp=GnCi5u++-^^9X=j7 zs!CFWJ!V*?vDhT&jvcPFac!Y(8ogyhVBgZhucY1yj|?#5^vn4vk`SrQv)Fr|gvC{J z(iN|~rFE3~kfRf4*&mK2JAkqn*QY>^lC zDCBK;=}1x4#(L9huE8KRo8GEgGp6#?ZZX?^eZ1URqi)S0)NVC0T5}x=twbrD(50QQ zVgS?K+N|}1G2xvc;er~hcQa$uk4OP1rYcKj!e%* z=CDu0UZjdXyExiJa{@ps`%MsRXH|UO5EI2T-S%R5m6Y!V4#F=d-pTjXFdBMvKCt)H zaIHd`y0vL&t@+XBJr!D=waJq9_dL;Crt>JG_C2oKtW`>$vu<^!dkn*BG&g}H?ReI; z$1n*K=A<>I>(zQe*z!OS4~N1W(I*BN>=M{(PvdOYj^BIY9BuTuTJC*W1O*MA7DUH< ztIx0A$|{V*^3WA9Y#x#Dq-;=|uLNz^ajdAr?nR;RmUk=VMGmxNK01y*kLE$QLfbMW2j&1RP1Uy-bYN^Sq)vU;#FZ-;Y?YmWoVeM zEGINmbDGSs;lT_5XVbmvs}JmfztJAcoY8xH2M6kN(r2q>JeN=P&K7w=_Abtss)Na4 zMU`SBnD!LcDC^En)Ml+-tDI7HqgGSPTeX92@c1a~kJV7de1Kot1R|R?{6}B!h&@BYx8kcawLBMIOnJ%2#8yhYJ3~QZAbd&FCs&Ux~!D6_$+7<2yx? zBf}g5$n}HG2IxePJG@6~REcxG^V>)K&e|E_?_AGHeO_5>8l#Qs1V!#BanFvMhp0WU zR4Ptma==%_#-=^kJBO;ct5)^2OhK`&crbY^p{7A;SEdQFMKo$nA!=Z)J=yK;4ZE#0 z=*JH46OsACdMi92AYKCa{O&=!2b$mU&ye-H`gg)!-vJaL#5d0qf{h8(m{km4ponSc z?>F6a0I46WDonMwN(O@(=K~N0-7eYn5{yapdLw<0kH)p9@THIRJ6v&FnRL1F563hA9r;gq z^8n_H0b}HU05&A@yPorbTy4(@Y0m4*#*u*Z!=lyp>iSr-dibt9O`NW)Fv}oj`+TLm z*XWI!#xuoX=xU8_kjY`y+EQiv(39!`;dZq}64xne{`iR91P3k;pXK87SC>5eBS~4< zPpCZ0v9*5?@3;KTA1i-9V)^~v@-q`fHA``4oa*Laj!W{)8?P~gUsQqtyIru(WFLuj z+GCq6IhTxXb;)!MC9WlkE>^_I8c5x4{TLrrW-^=#p)SW^n`0i6^^qq~c%*O4f6*&{ z{Mt#DcFD^ZD0c@7@Yg@!h@MTyzwmg3ZXCdzzMbSfXbb%fy<5) zZ1oaL?GH!fpi0cfgt!l_jQ}8@tyYIi_u2-A(OC^_df?Q=jwZ}pqMGCaQcuD@5#7MX z*k%Pcds}5il=N|#4pz%gH};HriLlcy;i>1suCU+NN6rKunq%^=gZLr`R1~(?yM(tQ z@BHI`9NPbXKz6>P_x@LD?77jN4>$CFy9bIpeCQ+or@-{grP|dodZCAMop4ubp}MRO zQQ|KIKP_97R;No@xz{V4cxMszXsHd;@yb(%@?}K^(5sCv=-KSLt#vPvXJ&P zx2*KKJ!3kbVB?<7?Ycv4P4Ua7hYOpDE4HKdvb)$!8gA*Rs~eG89^$lB8MIuYy&Tlz zh|4Yz2RkBF7O-~9iUP?-_@L+g&n&w^3Z3|=ip*S zzl(wQ!hHA#xB}1;a2mD+dJei;^TAu7u7How-vB6{N7)KD|Bh}9_s&@0k6&3Qh2vg( z{b8IJ*cI8LFcaduJp6HM;e2257BBhxs`<@6hfB_B3Io13FtHY)Zr_zD#a((gAN6zP zGb<~_+r7uwS|~C4Vl@&h+|k!jo1Y!Y)}~Xjrn)+wSS;jBL)!NJ)-DuzdkUD7>x0g1 z)=rI7YxH2b=$D#+F-(M*TAwqWvD7q&=BJDe(Gn$h_6n`efBfzoV^*i z&M7Pc^#TPUe3nJp!9)FSSvkR-w<9Ec!4rl8`p2JnAkO|hlXICJioW|_PUZK%-~iZG zwpyWZ^p9VPd%AY1G=MRI8Y&abt|M5of*$)Srqr?z+$g$?FEqfu$=|wpvh2MK?;46S zuZTyt)X6`jg&`{QM<05$P_g&#&Jv*m?v;^ELjS%2*)1L{{qt01k{ga2RJBFNFEr~~ zy0;~votHYJSPK%Vr>}vNpjgF+g*R_XCjO?AnyIh9%sTi2b$B_Ww)x%x4P3Em?Sp;2 z*-4$sakf$Cnmp?WdzHfvx|T}gv6wCo>&7rD*Qewm9UXU#XfdqMDygNe41FP5hu*Lq zuU87IO8tr3g2>#bK{&MeFdq99gS%y%la=sK9K8oeOoQ&9(_y;!34i=5ART9KBDCZ7 znQ`8+Nzfo&guVL-gJ;aYhk0f&93ziI-qHXvRXZ=Ah?vzmosvI){5nd(CO4kI3;~6c zXVh}L=Kt7005tbAi3*xC)5*_N=y?zS!n2tzc{!fhtM^VQJ*W<+TjDsvMzu~jC3eku z)d=ImnDzTZlXJ_Rg)dk9_JkV`>x)IBBL(ddB?s-{-l@!&iN5Hz$7aB}ba~#0TY{~y zGwS0Lnzwdejwr<7Dlnh@Bu@)RG}NFI%27^{>{~8=ZtrJz_(CV)&f$4*gcTE@jrCkr z-bB+?P4jlpwUr+xbcQdU!>L3gk0YL(uouTZJD$qfuDW}$3)V%}2z=)mvQ-co^BMdQ znIM-eHZ;NJB5tD{ZdB~gPr#Uo{XHp>FAzIS#vzOPM#TMvdODYx-yJP@q?7CR$bO5U z00Roo(6j&Bzh*vMQ3iis@78gmPx_*ANV);z*ynf`{p#{&v z4gLL|Xlrr)tU{C-A>9JryyeqEqiOn^gjkNa4S5`QtCP0lml|t-M63I4uf=UBEArQk z?KH4ddR|gTu{a%81B3MrQrc955v6|`BYGfOvZpvpvz+}h>ReRstKI_(!I(F6{B``g^PrZ)OdFF?!y% z(=!I*-m44ScB}1#b%m&m8*6n-h%sNq;@!MPvc2A1I`HO9S(keit8Ya@ZD0ioUGrnC zIUL$uQK)RZ!Z3wv@*@|N&se2EHKc{_26l9mU`D7!K|z#XjKAkBcdMnZk(-RCcDY>r ze%HJF_O}cEJe>6f6OK{f=AQWfjWWvY(Qa41uu>L2JKyiEvdUH86zEOD<2K{7>!@Om z=waDl1aGmc;zFt8g>fn>thWNZFDN!^lm}|t+K?r-#8$-Rbb-|@QRy)I_Eeyq?WSRk z7stju@8*eqEZF4tj@!im|HvXbFM6iU`87ITu;Pp4jp=Ujq+RYFc#+bXUELmyNmc3W zW}}o9b~0UF1U8sG(7qka_Va2Km6}qy1cM{mQfiHNlf7#S+i2OU0$QJMmY|i!v1gC< zMg=v^mgL ztLIo2Zq5J+E@2ujwCRf7mQ9OHYLb@56YW7wQfG9{;VRu8Gz!&6+KOrrf02Wo?ei%R z@m&b~FT?}4NwL3>1qusaIG}LtJqDQdRi{1F5;>|j>*;u=SMU}Re4dW50)VIgBCL5u62 zx2|{%JTzGNg)8FP%UVSq^YpF-5TG#~YRSB|_3d@5RGpI@t|M&MgL!+axX>}GFC32a z9op@;g`Ng5d~(Xjp5Je)oI$Z$Opx2G+HaH}>yU>O|F?fVHQ(mu+4so$*{8VVQ7&1M zn+^T`wcCJvMzzyUTo(MzB;t*IeD4@uY?_ZugX^;A9lc&bNAk6ASqrh@<~SW5v17YG zE-71gDY^$~H*c;rw@DkR&kYVuu`BK*)~O`1B0_y;WDYDMO%+<0N85nx%*uLGFZHl~ zv!owp0ABPk<^OO)|I!HRw@v#?%<9vcS2|}b^`6{YS60<%zU{$yis`V8`EHpQdAhUr z4w2NK_meu=-6Y--Y_7DmC}S|)klN}sQ)>J1!XS-m+aC^A{mME%^i9GXu?gQ3$M@nI z&*EdhqY<+saB-o}_V>k%Jsq#26v;kQ5K*U(JoEmZq#CaqiJ(mIf=haO=TC?|LC?*p z>H#u>7X#qCLjKzwg3~VqC-0}r_*Zh|%?-Y@XYuCm@v1LjEQ7O{kh1P{=Ek&4DotV^ zK|54SV>ip$)JmN8#DPEw?zFnnvOAlU7nO~(A+gEau5h9-T43==!U>whyYgHIV3$vI z^hxx-iYeTyAp86G`J7|FC)O`VK{|utZ(8 z1{;E&ZUu5clr=dGH`4+8*u*QU9N3182A`bycd~P+Y)i5qXYZ~IaXkT-nypTB2t#-t2V=$P=cBzR6D&YxxWm!rLp}Fe@Trag| zs)uvVP9K^pVp9?2xX)XH8u#&$BI%>wjt^cj7>dQEdGzqo;gIcM6Z#*nr#t_IXU7}U z`3jFtBptFM%TR$`&&x^geIW`Y2)N{fKB24p=Ze>S94fB9=+j)9oKoP34dmui_$Csa`L;OAV$?3`dI;n#eJWCw(_j}StP<`E_5>Med%Po`DdOQ*P zG_LKqjvWn$Fpgsc!QGv)4YwHSuW1SMDyEEab$vDT2ZmFTDp<9v$#V!P4y9SeC)q~y zX;9>33;Z<>!ovder)R>0$wAkoJPN`7Pq0}FF_^!OFV2gedE@;0J^tX=GBY4ny-=DT zhylrXA-A#xdq1`Ib4$d81E(9!RNU>=Ry?V*>2ZURR7Ws{F~{h((ZVWz+-a1`-EdxG zy4}cN$TIVLuIyFx-#W4iq_1q{G#&aM4cNMiiT1z%%!JsJe721W2{NggH;kTy#>4E> z-)^>?_wW`&qezG!{PP>gL6`M_buNFug&#E79UFZ^v`MiUGd+8~;N^phFUT$h1*<)) z-EP3p(!dKhgD4nH=<2As9UScTP-(JBvaOkWrdNlOh80I^N>}YS4S%rhKjxZ;5*u2< zZzi1mM^19dnCj|O|JZ;c(|#0(I<0v=zo(b)9p9+tEB>}^q*`gaH~X{2v?_L@PEYGQ zL0L+NbAj#A9Zs(+bTSrko+dblWaq-fJj`tX#^xHkiP0WU=wP!PZAL@>xGPmYHYO2i z%Ks6ax?stfUs|Y0XS@Q`R&)vJJUIPNB1qXDKCn3ezzs%pfyd}Q-W>uC$ik@kcp6n?) z5A6fm>PSpsmWe}`-3Fkk?~+o;7;cE~>}oAp%e+t>RI26A>(d_;+GXu#Ct%IoNG>}0 zr%`GMTHem8zkX%V4>tnip=9|>GiCXX-U{;{zwXCwqn_~(+eB^`h5f$0@Rcq3BKb^v zi{2DxTs2yxhy9qfo4B&*H#xT6GpTT}=fmXygRGfS=j7F3f|J7<+3a~UzO|SWL(g{X zbZt)KWxbJ<`tkH|tVT!tQ;QKikT2bq@}}PRV+a3)KFEa0H+ua)r*U8ZdXfSU4s8fy zeqlN+a!G$|VgX^`ZKZHt51rTZ-*1hi;?&VXx0PO1S)^l=_SsEH##p02i`xrzIASm; zI+AAwHLY0<$=i$o6h(2#Xx^5U1LKKAXpg*7kS}vyo`U`;|A%pEXwxOuY3e(&QUG=!dx`Ttbgl-y*ol@t&H68 zFQCMuzS8HkX2iHD^wObZJjU}(6R z;!{O{7KhMwr{O9n3nAc)kISw(BXwzN*mY*Ad!;R_cGeurV#CpDno{j_xb8P?vt6+a zym$uAcy~{Tn1i!^6~bsgXjce)wH$U+B$CTSc=D4Ev<*!@rq65I5y%@ zxjz>B+>fyuyx?8%6W3D`@^Q#`AC3W7geXyLae%SNIh@XKk6w3z& z%wRX}xfwvTM3XbCA@n3Ma|>6dNS9 zvT!5-0{E0fx%wG5nAr7f zQ6s+`)(^t4Q5J+*BTAcG`_N$`%Hf%EBt-q{ikoM`@v$bj|MVAt>>o;^4hgdl&t<+C zoXGqSK#50K&d=3ED8*7&FVEKMauZDEQ<35#Pmn4mXO0y~lg%+(Ax5gl+A9jT$vwcv zsY1OTI>V;+0<^Qudl88a6$*?NvA8XH;5V3-i!y@fa3|Fn?=biMD<#VixN(X?8unyIO(? z*A29WrdE=&r`Fmq64ImABClH9Je07T^2mGC23E+ZlCi^Co_$O*3noc_xp$#n(46|S z0J}FENLBbsY?s>6PV2Vo^U?utl{I6sQQN!TRH}m9>CU5cSKS|p9@FGzUbOFYOHr)` z&n_*tbAnR>udnrOvb7?Ec)```4Wp<7&sO_Oah}!PJ)IR~*;0bC*>`{#m>Q4Mv5kcT+AS@J}!8`q=>Yi|1sykr}l zKAA-AQVpjxyJ54_;l9yvZjzGsw)dWuRC&t%maWBin?nl9{$2jh)`Am|{hJLFc%_fD z`7pJY48Pz?ql4P*YhF)O2s&D~Szp!kQsAU3m0LsUFmr?f3=xAT__P`LTemY^*I~lg zF)=0$BB(66?P9o@vxi#m#v*!~8=l&dXm}UQclrvo;7Kb@<-<_K?W#bx+Y4D24L}7y zm)Uc%0g(LT$x`JdPfr{tN!Vy!lVjC$+3j)C zO^AuXmr_q~F^M1(#~Ezq%YjrpPxshNc2zV&7HVA1b!QcTs5*<2V#?wY-TmVi)OkR$ zNN$dSF1l#>%R65ZI&0T31hN(j-#0XSmkpan_Tfbnf`w;>AxdgMJ%zc~0Nx8`H#$mm z8Q_Xq2%evTbE@=?4gmf0na0i5LVKA-R?q{y^3MHGl}c1=JC_#Hw0x-V(-j`1N~y&q zwRwjv*T!3-))*$^`jRRQ?WLw^TdfRnJn zjlS|Ktp5Rwcy*sps^$xdgEH)^U;hI=!>LdIrPhIQYo(Rxb3^*0px$rJ z#(}T2tNW&&LcTSs5MI(-w4BaD2wQ%d?tMev8sj><-Zbc_Oj*P=5O4+QdBBOT0&u1v zf9{X4E&yl0O`7Y9h$z=r;7Wj&e?g9@X(VlLSX%AlWI7TOtDY_??`RDDbc6eI+p!zlTtMsEGqOLq5SEvZ3IC z*)O|gTlTkedp28i=d@!B>%Oy0%=UCVYD8woYD|`@ZLH~CrMX<2p>K?pP3kfARobr1 z$fz!3$S8PDibAmH2Q7ZXoV)~nPBEwgG0t~-%g7|s`Y!g4IKPx<)Pf`0tz}0^N)lz% z_S~{QoJ|2+Zb61j%I(7Wj%O>)?J)LTuLC8mD_1kD=m79gTG^0?g5PdoBfp@= zH8A#r8ihF7rF<8-0Jw0KnWpbrgg;{A`iYzwNrOBk+a~8I+T3SP^-e1g=T1Wtb zxzY32%rri75k6})XF|s+O@-Z@P?UBvP1;eV&jxQCliP6T4|*WxI7L4{W{$$rMWPfg zXH3#~AzNKuNTt;gkP|3tMpmbLq9@HL9UF(8`ffi9nArxftwMRza++?i#@iT;5j(QH z-EiyLUKusI^Nz6%LSEdckYMkZ=suG*|Gi+6ONjR_Q9cZQUF1i;YLOnNIw(ZxS3xl> z86ETkRY^8Xbr8t$tfbE8F!$6eH72zROA7K}IPLAaCFfWklr_>Hq=zFJ8qG?*&6jqY zZdY-oz#)>xjI7M~dMQ~9HZPgv6wJOuhKon^A#b1+uOvXPfD@2a``q^C*j%(%g*&4!DhC2c7y z76xiS?fQ%PVj&paWGUcWT^4Jj>AIK5Fc!~P{(tPf*OKa7vMzevZ_zPt71c<{06TWC zSU3qUjD$cJy+RI2$a@p}tY<$dVTzhiK+V$W<*^yNHJAnZtu_yn z4+U^vA9{kf5wZ6l`$X^b;HTG6o%`D9o_LfxL5aSzIVPo>O*R|c=QY7m8zb~^0H=Gm z(=*XTv;gD#PO!@Q2BOWPJ-hE``%VWlo3vyQ2G$$S`#BMC1|vsbru96!6Bd$fgP5It z>`Ed*pS>~7>r%k`So_^fsl1c>I)Lyq@A^UxSbBL0*6?*4LdR)s*+gfH%;?VK2GuXA zflAO#S1&d6Shixh3klf_PsCuiPA}f7P5&3qwtbnsdQq@d zbFD5XdZgZ<#p~+dJc^u0ZQigKS}R>nJ!fU~v4Ga>xo3rqje>Xeg&cXf+ajFpvP;f5 zF|&G|g}plvyQSpJ^2xAmpt{k*!+D3u(`?N(``fX5D~KuUSK&da8aD(Jt+gk|@}NNz z*oPtcpbj3brBfZOKRBPabT0?>_Op+g@C%EDl%Agriq>FZxlXoR`L+g-u3d2lZU|d$ z(#>L_Y^DyWZ8Oedd!=W^!^19;I4d{a`cBRs;Hvzl?II4ER~?gZxA4&s44<;tOa0Qk!|` zHT3f0qy8y)q)X{~{aB}e5#9Zhn^;gam+_;Du&b90*iB{;jONv@{W@!+GhxScODgH4p6CX6z#ryODs58}JRhX`bzK|iGT}Bhx8gQ3-(Eo(&DO~# ziZlB>L7$P#XNMm!OgqwKz^99`-4cl^GUH{-siiw;__;M1e(3- zNY=<#Si7O~+clSO$E?+zVA&d9byJyGN82Mn@ohc&IAA!4A9ONcBkx!)Pm`l;K4W#6 zWDyCU<_AIYm!CBhPfBqhivBcVcWRn|EvY-Tzo}}i_x>EAm6MrQ{pY*?J3kK=4w7CH{Uk zxBnCIxScz6_hh%hx!>i2#F`)e+9|Wfj#siB;}1I0xDzzc9h=P-g?=1zlXihh9-66v zABN>XBKB@RQ_9w1wHCv6>KW}VhFXl#?a2#ew6(}=qzl=t(s*?BkV8p17wT2);M|%h@hFY(momd z#k;K@sxpl*ZS4IC^FCC$I{X#?R2f)UQF+0`Xvq`F zwx#avG!`a#mgS=Xx=c(1rsE7-T+x+RP>Gul`n`_B?^9NGjN zkH|}hEIE!w_I^L?@*Q`I^7^>HUvenaOJEC8pi?435N=^9`c~plokECpGZ_=}rwXWnYaN2mEyMxes2mWkTzzZASTcxx&jhlf{{iW@(@sz7?6B6kwL z`en`3SHi~zGHa3EaHVy{wy+Zl)lNF2$+7GRTNNf6NY1>k?3^Uv_eaihM~w*VO=_(0 zRL`dLdX0_zW4h=~S9r^nC;Gl*0!H~1zTe%dC&KvLOQ@Fzp(-B$<{pN${+MSMqF2sc zK6s0N*)BM4IAk-6TWb{U6q~+o3%x$=ANfLe`s2f()j=E9RyG-j*AIIp>0!juRV;b%$66Mp^s0xNK}xnNb?DS_&m_0vnhgmrd?DWpksbS*;8@cks%m$F*)%tf>mM#}?>AUwmgh)zF` zC|~O*orcALZKws6G-S%yv=n3l5E4((9a6UX9U8d!BX_=)A)5Zv zVwua$`@HIkG6)lpd0|b)9bqX8qdt?g1%$FN(PaE(f-;sj?P<`GewZ$jF5O#fu+f5^ zq?XohMtM3WJQFo z&CPSrYOKo($km>j~smy@%> z#GD4>=BjCC?2Mg;wlkL4fw@_2+A7vQN;XXu&1q9x@(v0)oSO>nKj-|_y}1dTMP{kh zi9!HigIA9=38 zuCc%e`+W@!{(Qfy0OObau0E(w+A9Zn;;c6Ny}#sx9XTmn%-Konj8!EpS+z$?a@yq@ z-e5E9mr&%lUmGhPZ5V?%>S4)2JPe2BT;nO}|m))&F-qUrL zkTNM|F^!$sRKOLk{c zp*<&ed4TQ%$Sgn(z34=Ii_$n#Rt9ld6D^d$o@;lpY`A! z%d5N39~k$F+?myV(c(V)~RoNYPH zK)@NlP}(ihGTX@B-mH%ZVann4pizObWFO$QSH#$M?PRr2!U)wrN#(ClcSjO)AD_dLtYkJ_lPQv z`hGO>MY;`Yq3Zta2NDLr^FNIU)zm6B)-QmK6^$2{qOPpzz3rHY3~Fct^x7gz2jqUN zSS@$c#i>jiwBQbuGlc23(PM-6rtR*Kkp$N*+bPE6o;&Z`v12bHQk=?6YIkI8_n9Yp ze7t2Tf`FBjoN&(myK?fbL35}xPinsmZo_};T%1CnQ@e`wzdiE>hV-}}2k;gnYD^I>Y&E1yXJlwlx@`fU8>&-jR+*PLG zd3m5|1pw;a?G}f|uAwiD9g`m5c*FxS9>^ggTMK@IE;%+nMK7}r+F+Uk_2^%y>u?=m`Ryj$Ihb%a-oE2u{?ARKw#~a_ZCN4*9 ziV3moFI@)aVIBJ&RRv&Wa=IPw<8It(nK?>+Uv}su_Ni_9PIjuhANgU&(dC@HD?ulc zl}@N>gHE^-dLcbU23S?fV6KgjvZJp8GT4v${Q`lkVPp}yr}-j5GP41NAJ_!lD+^6o z6>5;AyWK&X=zqB2UX^jEJGLtV?Gf&^*y=gshXqU8j73r@un)oH$d z4l_ug>*yAT4+8fW{|GLeSM?1g805t`f%d3DEugazy4FuhrOJ$5 zAtv%zb5BoKm#)66Q*LVLzOkwG7Jbzz*Jr;IiE1f74Hy1qXKNBK#DHERetX?(vw~0K zd$HFKm!uwd2Tr`}`aQA>ovTQy7F}dn98;yNU<9eQgdU#0-!5G%@J)Kr<{u-7Fjcg2aTJqFxr zH~p~9`1I#h5z{qPbFK(Km3v)}O#yXE6>mG`9h=o0vwJ|AX zTMS^MB>XhdJT%Tni#Qz?V`|V6)cGr8UV%@9H-H^rrt6#MU;p=CEBE8wqB9V<>p%YH zRF;oVWb2~j-(|5=R;RIqlL&wMf~92}V-{@7b@y|qv1E+SOe-93NFe(V63n9W{QLV|WX zou@B`?2$#fIjymwx#j`NEbY1`tqz->_uw&GA0D?mNxnIK@3Q%xFtGjp!|DnGSLNrD zotd-{Ol&!HKagxa8S)jUY zXWQYVxT9-+H}M@*j$w|ZCT;rdbVD}hNsY(<-QNE`p5<shg6eOrs?4vvO~pP=k%rfhLLu zOGUOIPgLDl%?bGijN(bH%&TH7SBo7fvL1UKKTe#Vsnras>B6Z2A}b#)GsCh7GoG@->1>+0vH@Sgo>%+f^1X)Xmq^b~>mHes`=kB2V0mjHzq8Ayw z{tCEtuj9TgJQ{WooR?<%J?#u4T6BZ{*e#cZfzN|+CbAtRBiqF|=!yor2t!E@_r+er zIY?#4W0Os|-PVX0DQO!@Xc*Zh8jN3@zi$g+swn;$i~empT*=m@2&QJpsQ{)X^+KnL z$N7>T9=17oM2coX9I4VA5i~8ce!Epp2jU`c7sGrqmQj*rXt*@T zo$-hs&wJL|Ca|rVDhpM96}8L^DbDndBs^WqPK|A~ayd0St7808_EHP$Umys2*KT=2ZT=3rx!w=Gc$oTYgU@wo+Ice? ze<62~bf64y&DAaFxx?w%++?luaaV2_?2bW)9Xt~U5xF-fwl42-E?af!QL(Vs(Qf7L zOJ1Uz5~C+aQO*!!-Ii!VWE$ayBU`dC7X}!03_G9N_BXDaw()Uj4MsZGa95{5afO0@ z4TOD})Ormc-{U}D>pme?4gGQ_+5c>8{q>KVPS#4TpXXbCX`lpb1=~B-Go6I#tkYrk zLnu{fpr`t`>s{+p+rb#jYCz$|21qB^KvVYJsf%n%ju?7ZrNh&Fbgii<1F` zEqy;<3jK*ti*-2*-?+GyegLXpZ4ZoT{K&v(fw7R)36m(J)m#E;G{SEfsDt zY1>q=XM1X{?^L(9TZJRjKCD+auJ8{8R@H1x2avW)W~0(P7h!>XsU!pBJVaSF=`=VO z`oS;TaXJRyYP0V~76BIbjeh&dp6XJfKdk+~Z3BB#)6}$J_v-)Gpd+tJ3=SO!=?xd; z(b6diJ%~qJGu7jQ#I{3hhd4`m)f`OFB*nIP$Lr7fa>QsxH*t(d(G{)#-y6K1^N)Ttv@} zL(i`E7pfmG5>WYiX9=k09wjcsrqu`8f+|l2K+sxlp8Bb)<8+-fb0YbXnd)_V83gDr zbgOTD08WffEz6ZWTr&*tC*Vukmn2*jGyI>;OZ{_!yK2!p)loh14=b)t#45{H>*g9d z<<*_Ak@nJ(gi76x$~7b!CfCs8^#S1;tESM4WjM( z%-?f1d~Whnj`wY$Ak!EL)9LuZ9EUGn@MF97yOz6}kgKe`EmW6de99Aj$^;B2mH`vVg0$8q}StD1|6yW9Aa#XG6KH&snd3--PK|68Ge-fWC>HpU6~GPPT%jTZsF zrw9{~G9Ma_BBr+&EGwADuDsL3`2Z=7t z1OI`lfxJZidGx>dmiMOq!n99gfBNK|EreXs(}IuMmw>AxMS$ep?F!VGU6j_3t`#-G z>PS{TMEwQ=S(P<;?ryTA4Ool$hSfZnwJ=ERVsx-=KR|{$ip~Wy7RPeDJb0U78jMG( zP3i|_PZ|4iAh<^~7?5#EHkV_xopb^|-E1|!r+w)|dJ)vCp4J1+d>%Z0#}4SFylCPd zvExGX!ja2+h;#zM7fd;%?yeJy^13A)`V86Y7I?un-2SXMZiN9g*8!3bElGNCSRmrg zp9zaG*HdNlkgu#&lhou8qZoA2($>Pnj96tp95MKddnN$?YA}hnvRrpes7~q+DX;qtydxvyHOmgaWnE)odaBIe$j^%hz{HZjadS-f3PIER|e>C|XWT|UCsemOxV zF*~4-)}UP+XPFBD@;!}d)19I5nHoiFWU&^%l*hi3jQTQg$BUc0!TSQ?SB+%V_2MmP zT~0nytq`EC6-}G@%6b=at#sO5wENj%sf~O3yfviEp5*`ldP^S8GoR7-GbTlk-98@; z`;yd1lYEJek3;ZEsKim{`b!XfNtQ#cV#%*Bg=N2~rqc!KbOZ6@_irChJ5pUQbihj~ zzehJd<-~tvD!vk}*?;>h_0{5)a-uXbB4-gU#Cx7J<1@ZT^{MexURnF*(v=&|fDrcHvA@ogZ1!n9e$deiPTe(*@tvPv zM=I~+wK}_J$KZW=js2Qo08&){`3rUB^-R6dOakk;BD+>E$%xft4^de`Y6M6*%Ex45 zOqSFbfYufqD%t*oj=;ML!$ZH1baJ+3F^8TRe9yF0qn3F|5?)&-o02mlKEKMXfqt@wOX42`(?N^J#=J zjkcW?_VyU6dp+n9YR9eOt_Z4^>)am5*cd|*demd)yNHs^)reO6JZ}f1PG`=~li8sZ z28%&_$Umc3k9qmfp|1|k|HPrcQF&G6*7pwmH|hYk_kz`bw;5HM{->L9p;zt4Q4FG!?S~9cyuJz>$<{W?(~*3WVdh&S2UVPl;!3Q7Xa`kB8uT?OgTt53#Uz9WKCzh zw((tqSSj%~*tEN*c%*}ZWy1MRZoJx(3OpNX;cqK}Zp8Zs*og<3BtIAY-q_&Zi;eF1 zUqxYm$p0@iVGq8%uWM3X?L#<$NinX)yCW>3vv$Ez+YOJG13VI(go;FC9BKRZc84%) z=%l0Q7M&oI#lYJgEPH6nv&qI)aGGC@wi==Eq;W)g3jY~&`Cd!^{k8Eruf}vE{{$&_ z$1-5pb&}t^cI+$FPo|xJrmCT;qRP+3w?vd>E}$!h_fba)lt^C{v+WxALa$`NKk7+A zLASPJeN1q|VigTWVbAARk-c`thc2M>tNSvdczZgDd(GX%=cL8v#<=}J6wf28qlSGn zq)>jAL_Dt?^!r19zB;sjCVv&hPexYn>Poa%vIp(|!wt{!^AIxZ>|r!52b2sD0eHNR z@jN{))b)6U&>Dx@3z?X?(aK z$LPelzg>*AL)Tt^l9V!nVWq$n z(m+1yxhSjKR!9#a@SOmfgculJMzy4FEBCdCni<})pa)WK+NBSkz6wq2dq?!KnNy%T z@&jD|&;EgH&I6`a!AzB^{L+VsQRX!Q4z)s;IAs<8j0#8g>`QR;>X%*{2F~(Y6|YqS zdZV$QXqV3&J>3ufMJMV@L)4vAK%4ZBPt+&HN+v$vfmMAYO}Dj6OUH+cuFuu0Ope-8F!yw$Z#&5#Z1)Wk zu|Bo=V+r_IwIIRbKO4&KczaVx@wVo_5*67pi9AH;$;>OpToJ1Qpkk2` zLXZ990-Y>zwxrEQ(q8Ata7#7>K*JQ69n;R~QcH)e?y+|m1f#UkPG{|46^)IN8?3GH z^Q=9WtA+#rFtmTBR&QHP7u^2WmClyzOPdV?d!cssH^#-<>Cc=7pXdOvO+HY=8 z!zEVqj9&n6c7Y+QS}3k{KBvEVvhU~M$e*h(n2w@W5%kc2GMrj#KE4!yc76zw)&hld z*{9zHs0IYsj#PE9%`}*w1BF$w-Q6IRuTN(-K+u5Y>7Yns(M!UfS2^n}+iR2qb$e8b zWw}C7TN(h&yr73`>tK&5GFoY@&efe5}pJ1Es zI8n`r`>AJjs<8ormBP5bfy@Jtdg0h3W1-`B`>KWS1jpe(hdX%UGyEiq$=w>}natP6 zUD*XN&Kf1Fw$ zVSwJ%ll;rCg9Hd;_4vfdh&8kBn*8rd=+AL?82Eh}MR*##ca1Fkcwk>G{eStDd7=7I zY4|GQ``?v@#ozb0UbK8ct^?4W0mk65vHDE+{x0v>M}mlGFVdud&Xq=_It^Pvw_BVV zx~q$^dZI{QUo>H09BAn($$lq(75v_rt?#-SXKEmO=T|lK-m9oGw`V1Hj%N&XZ$=`_ zq}p=(WjD+SsNZ*YM>22(8k2`!S0NCEZ+Lc#*%~cKRHa8BqZcDJ87cTwoGY}N1MS3&e?{2>;ANl9|RgViiZP;nxVNK?Rs#v!= zqS!#QZa!ra+}qFXvVANX7C>Aq!cA*46?nP zNloMh&l`<)+o6TcByZb!zs%Hbx5rIp&3Pg8uqL97_pSM0*4zX$r)z0bz7yo@R7f@j zcXS|3<@hk;CZP|C)g1>zY0L0~T&8ZrhVQs^{<%`W;`lZHauWL|YUtnQ&-owU%u=ed z8b978pjGb?{J+j)ywYP0`N#&2KID4)9@+DT8ne};w(6uKx#@J6S%D2Z0)ZD=aadBT zRbOQ2g@o+ZiZ&T0gC11|A)-(Hao4eDnmqRlD{IU@_1F(eDJaCSmv5=m)$Mb<$>~}r(`iMMs z6MaefZKlbc8v27Q{BKk%#(n*rw{r7+g=TOuc5}8pR|cl;mDv#Q2HgxJ%R$OOulRAt z5>|O=jjiF-S`m7_LhwkXNmOu*6|ro{+a%g4!D86l;Ja|aue0)&g^!z2JTHdm8w~r_ zAW~FE0U%9(cIE2XFdvs}$JJlF!u?!Ba5`j>lGA9DYpGa0i3Z|!Kb$dht!l1#c$U{w zdGpQA{N-0DWgpep^vcOR8?Ez0M~}v^yjPs~s=n#BZT)K6E?l{jsH*?t%&B+XznT`v zQT=~VnXiFzmurC@C6IQ}2JvdLOkL>Wn!p`5#*S!AvI)dz%H^_*G;2UMMY|pF2YS35 znh}($jnk39Y)7oVLt0EDg|0?JGqU_(y^s?*`KWKn>x^ML&?l$eTsMAxvsWm@Qie876BF0+g$o4pooh~)sHCtYnpnLRi zM)yUL*buuwW7u6krP?uv9A!MU8tX!u3QKg!O$#A*W}7)GBa+HqE$%b~e%;%ysR$9w4 zkSAQImCAHcx+$fbTx-&b#esOybk563K*_iVO~H9t{@E65U)$8@X5V?S35ngZvDc$stWNFb>?AfRh4S`A>gE0 z`N>dpU;pU~mur~}^W~m56DpYZRx)9ul%_a<WJQ(NMdKsv<}MDLdKKjjAOb3Y8hn& zLEtvh88B;^9UFK<+J&v9QJ@^4obJtZ;=zD|Crk)o{@XFCCk#9|kJa7zM>fNkE(Gi4 zU*5o3eC=~fMSq$)4d3W9Icx3LoBq7rGzXayw;NENxf$yHO%5YzTB$}IN4g$?<9!gf ztKM?G&{y8nOtuYAHRzBjS35C-BHw;{{nOOMf69`q*^R3CoW}mwOWwfH);&f+J{1Q7eZaaokI~ z7m(iG)VKe(IDNe+^3gH5Va>bV;EC8pK**1p#0%|EG~)Jnw^<5YvKE7#g2IU92A>U% zgyROYp}dLXh0GZWZ7`vju+aVv17g@Vx$ODP<4Ph)=z3St*0Q%aM$@*q#HS=r-3rH} z+XM`)G_N`OQz!L}9sEK19I)i91hyM4QXm}Ud&N^?XP_9(s$4C*7o&Ut(X&JL!ACr3w2bSv z*%3ON3!R=VteZV_-S<@_tx^bRh@ZcX?S~yIz$ac|_1q_Y>PGj>~3wa3x{D_o*)4ThY#z z+aa;I)XHhgLYdiy@2vKHDT$N=xkmzJxGbkLWN7AFFWC?D*=kCTI!rk8Z;BC7!Pz=B%ipoPQt3a;uGP{6!P zUPCufvZa1hq(2}TXu&@MV44sDO=mJUzQG{^#{h6Xu8QUA8$hC1IW?Z10_5lDj%7pO zCn{W}{)_5YuYSfI0_pXeb9KTmXq&%T!cCif1ygYiT-~(U16=DT{m7QiLxsOQ5hNt* zXMrdA8~)|u_oc(-cL9NvysG6d`&|6Gqx(P3@vHA#^BdXwswS)MUFaMx02>n?^6uyY z80S?}J`&0;hl*p$64xqcwD-j%!#8tz?=%u*5gej!KJ*0^T^>47&~9iQLdbL0UrzH5 zy~b#}=*R4KuwYk6+l_6=yP9hS3CZBIV(GC^p8BFI2vex|t67WvtpnR|V{x7w)TcF= zUpC<@r!I1S$DvgY}*YsL3(}7)dRWAu8TcHJd zCD2V|q4!4{<7o9|WK8#FK}Sx+Y>4HGwc-h1+a#|J?$>>-auU~#1cy6PB)C&nEP69x5QC2b{j1=7*dn<7sOcha$Q_*cm;KjW}SB z#9`c=XmY#VC;DA+nKWTo(w5hE6SRv@B4Rmbg3v`LJSL!X18a!wOf2`yJmABf)|0*d zv&-JM$Le-V!YW~^5s<19AX{cfhXLa>s zwQ^ejnbL#BSCmip;NKUIefXW;*6f(dD%G|)KQ4~=YCKnbF75N*#~!}li7$5O?on>c z(nFEbxa}K9T?S!UzjUs;OovN(N)f|2?O5mAaQZz6} zL6+c@E1u(k?|we!@TZr5aP9Yo(&r`&XLwVKK1cR{qDOBm`rU3+*R6|V{<~mQKG1$L zkopsG==K~%&M^Fts@-`9VpQw|3iQJv;Ro}e7mzM(4uc&Zj52#l^bp+VGim~LRGVeI zL&=;T#rvXxxh9HfO#e1B|LD?skL^>XGtTZt6`{ELMK`(czx)Ek4X{rUbeA4ZNhny_ z+sc#r>;G<@P^6yMP~19|U(Hoj^nS3V3WVW~%{L8RcS4VS#Oj*I`-~Wx6Tvwwn1k(& z+AVvVr05%kP=9J(FYesk!`}E(cMn_3#9_jIo0RByYchux$+m~R<#eN_Su>=O8Pkt;1TD5>CB$W{GgCyUSceGTNk4s~DX&KA zL4Af?*U;4q`OB}%x+*w@t26gweR^~5A2R5>LxX*+)t zj}aBW2=4VMYao#GyV^MXSbFbm(A~-_+jBNacc&ctSWiPnXxehObSBcAJuHrmWT%Cl zw&q=g`0+Wt{BrH%o^4;{L%wI^Kx1G3@gFbx^3xBN{Jl4eeKf5ZYNLa0+;0|zuXuo- zo?CN=Z3OenlAoO0|JjqD@3D7J{7Myz`>BBoMzh40{%{AK4Re3f6VWZ@h@bEp);qkr z$ozQ+MN-K-=@N*$w(T!sDlr&NqjkvC62q^eu;wR(tvAAmUIM zDgv=N&bM)?*qCi*?55|eokCwmOlEDjF(BVbXb{Hp5`j6+6RtZth^sd3Iz3{}5Hq1@ zed%-m%Bv^m@Rhe}KnDUq3HKr@Y3gLd?+!U@z5^c`HIU3VK?-Onzl#=l=a zu@Ai2>uKHIfj8R#|G!z0#Tp_lfpY-ovT`T>pX#~*IIcHUA5gqz)wK&1{N^JT{Yf9e zEzL@9UNxDhC|}Y62K4_6#lAZNw$1MVnFY==srZM5sE} ziM-^H`aILc6VEV7$)#gPZrVn7tB%SMwQda4^i#3ERt~3o)m=KOLOlm2{nE|YNaV}? z`jk@oRn>|{|EtkBefc*CW;Cvt1U)a*GH9#;{(lE>>_5B)w*d|95{7#BL|33Nz7BB4 z6~OLu3pQFhBZ3(bBfQJ{;b6i_r8idmG11x4(WtMrb2~haEWwm~RUS=|(JYpo2D2)6 z`>vQd%VW~8%BgXbHivn)&me6@pD3?9135WV3Uw&2Tr)xb;#q3I4 zu8|;E7X;N^fWa`K?Bay|S^XnO>|A{yprL>G0C7@(0T{yr{4=jfnI&U>&JrPWr)R8Kk*-b zKk?(qUw$nyh1FjF`b6;O@Y>(-^-clZu=#Dj;lY-jB=l}4p-dn4h6U7v0C0fcf5fuM;Wi&~ppB?b*OMlC^`n@Y=7rGg`2YUUc zW)q0uJ+Y^H1-?kt;r?8UQD%RQW?LxHqF8oB zM}?Gb5tEwkXN0|76#H(kvmRjW44Abk7l_)HDQaY9$r48yAKQ#bw!^iX&MN^75;+tY!4(eYWSqff1K$EO=5^b4u;HagB^$o90cue)^n&^dMw>ylLQUA7W!GUy%Yjy{X{c)pwr z(NwFuG(b)s`55}gMX%ni{ZATu&g4!DuPMLP-V<=$t{n~|yB!g%Ib7|jPBuuD`B+^o zs7x(M@3=DAg4(a=N#W+2%Pvrs^!ol}Oxcm4P?4f{_w68^G+8L>Li)Qs%6#7Z9|w0} z>(APwwqw^+i0?%)bY;Os1IA#~vG@P}Y6UOf%SEi!l?Bj+d}{|U->cB{QVC)G^=A&| z@^$4ThG~6UKHjSL16Ofx?*oRjxdylOeOLM~XnUD@VK0%vbaAzK__apVAOQ$h|H@q)ZTWG z(Q29auC$wXo47(6sZDjtUCL!#S#F6)jnj@MBUIlSY*yZai-}z!c;iW$ETbLNyCn@eY~n*xv*Z{q zOa?Yq#!SO*NEpg|AMJRof9i^~S(J%XewmCiyh;cru3sllW)iaYHQjdJrDvCA^Gue3nO)< za)Wb#@pizFaQ-NygZEC#}lTUN~gkR4C(3h254D%ho{zSQdA$rTN`d8jk z@_B*#&Ma94>z>%#4ft8nn#z(H?}M4*b~~ z@^_`T+U~qURRxFKZRc_Ykl5?x?k zng}DA$z8^1Y!(wjar2QmM?)~j+XaDTk=|amOTq0JX#++mqv(1`2&v7&J!9P)Kr*Aq zx3VREa__MU%wz3bAM_Ii_y)THdq08hANw134H$B+wRl%LuLLUwU*7;{E8adgHp30w z#J9v|%24)p!-)ER;meUJbuAc@M2XOxGR>ydX$sf*sU~vb!Hw*=YJlxC~klUsKJca`krvhjlcY=3tlg| z_Nr3#8a_IIcP(;0eR+*PLc^jGpMkOdf!zfbzunRA#?|}-24hua1E=yW?9@T@>^Add zgT5pXz83M`si?XK@MlNoh9bzq&AYc63j2BH$IZ=wD*^sZIk0xg3^lFIA__8hc%2Cs zW>49e6OEM!|WrW`VH7x*G;jCag6yKi!5OfOz~dY)W0l zeY@~C+gn0U(cu2{X3=QIWS+Ss@aBVU&cedRe5bc=gJqdCyspisP;o%af2#_Wie!FY1NzT z6=pu_O}Xg=PbjVzxpNp-Ep8-A(J-wchGE3o?r1%Nj@9{bX7=_|A8`p{*U|VfwdI#m zV)b{UgdskI8NVR~J!cUd^sov?{gb4oW=2i(hB@{7x8$Tigeh(J*6kj%bEAa~BT|{A z=oEtkKA`8`%#aRt*DXYSON9)T10s8-MV!}Mb=K4_+dHw7b?LsPU3=l!uYZ65RsLA5M_*pbF52Py?eHI0ZrrwVyzPv54p2L9 z0lWg{SGV5hZpb2Eqz!APC;e{A$B)CdH)~46UKCCQy(?KgUw8B=W&2BEiwFtp?5VKX zDCO?fT_RjtUfEsLEl0b}WHS-aQP3&?>9qM%lWN&oQs)SvJLCotJA%3v08_Y(^*co! z-(&oXV8aRPM^zuf15~Q>a!sk6WgSwOb?`Paq^e%PwpY;{nj{DOk|T(t8uASmZw0n% z9?W>KM8qs~98vK$(_%JFV=?!OE$TMmF56fTaj)AI8~S9ZihOH24<&DkA&_VNl-I|i z3BFh+g{oH9%|o~AB_aZKy*>4%< zSV8-J3EEkq>Zk`$Ueu1|7XE(0mPQd3Sv!ZpGdGo3kBaUefU8_RwhNHbuWLyDTPUgP z-_!*Jzd?Kb<_Owh@}WrJVAkGcl^OfYD13$MI{$;~K0uPW=I|l(oDY~CTz`KPs(>jf zk1(fdC-q&O_5yn3W{1DHkQZLviBXLi^)u)3{|B9d3X@-tOGf_$bn3f3yA{N{eY=s% zcaQ&-9vuGbYdHGVefhbWn)-|Gdez0pS&AIFE}F#rb}NSlGO@!Dqf=BPDTXP#G`m~0 zRI5R!rZf=Rvyn3;n*&=J5yG6ser z&iU0_Wv3FsGb>40j>wL~?)bgiWtv*%Dyt1)5;TExDL(PKa|Bu+2VG~=Spe`0;}7Pu zus>Q_5zVy>d`fYw2W>b_Uv90vU0&ano*msAn|ZhLN!{F)G@+W4$lB7 zEq2|PyPX3Tt1y-UT}%Bn&MZ?BRpz-8mc*`YkuwgQQEXskM9Y~@hT>|GxZ`-uSwg1A z62I}V^_E_bnU1(K>3!w!e8Y!GO8{A=#zTL=f-A<#yXxM*(5qH|d0k(YU)@UN#y(pZ za@)2rv1}spZs%_rvuTGlBU2Qy%_7>&@&%SR+1++%2+h6~Hd>A_B-5~uiJUpH2OTIF zJql6DIg_Y|ctfAAZYAF=JaLQjz3*<_6};k4Lk4GZ)w0ho;V$;t$nDlpn4}(%Bk9;k z(V&>=Xer7e-DvyGy)MDz6&S_BjrYx+Mta6%Ip{>vU^1C4Q@?{OHa$Pwrdq1*#6otD zO(ku!P{#Zj)%rGo_#c0N+O-lq442oj#UF-%gX(q~L@=uy;*zhbR67>kudS5`cbm z6*XN$gIGj;(XR{1o`NDk;6$&c2?H$I!!SpcqWYm?yCn(ix_t|3y;5<{xi*4eb&hyp z;1#;-!1AZkXhAmWUQq&MqM~$DE$H{cENnE3d`0%Q zYJ=fyQqtM%W<=2w1qZQ?r#kKir1?&us&eHYGwOu-Tr=tP63$R{(Rt3GAei*xVX@UW zsOT&iwNEdF2~LNa7o-d^->z)8VfA&o#o9rK9LubaHhKaK1(em;CAM5@&D;ByW%O6g zoo+Rtk-Wb%Uqv{o>VsOQD*x^p@vI{mH6UXBU3LDiF$^gEa#NThaw z$qUd+MvX& z(`$bgV0>nt9&0^#SV#}sHDrz^RftP>?7%;fpx#ygzfnCg<@R^LYp=B8bKwQBlu^-| zO*O70yoGBivk3yJ?HQH&CavwLhKhTeQM>F5Ek0j10mI#}kd$M37=c5c?l{`us>bQo z6iWXJXBQNXIaWX2m&XSCRwqJx$ZhmE4#E2Vm#S5s-6^_UxnS2&S`wS~2M`T470 zxFgj?^i7F{W%rsz#P?_w2_u>$+$6zi_*M_us-^zP4}LQkznWf(@1F zY-mjAxY3326#dx@Vf4+^NTAeIY%nuvD(;7x0)tEd?NJ9PE z4!BHIsZDt(Fv^xFD;S{jF&~j7Y2;K_no7vh%>8A!Znitf_~!QfDIVX6=Jja-aH&R_ z{xS;qZZj)czgVO94fT^B`O32Uhxj=C;tMOD!ujW^LZ^(jv1~M1Yvtk7R(mi1& zs5d5Jd_+raj0f+BnPk>Fn`7u?sNjizRE^OwYFKS%vd5xz&#=fSq&mG@&Hs)L`ILk6 zL8~O`JtgwAuJ=k8V7{w?h2P9BxJC z^2y3_l&P_^%VYuJf<+qdiO?M4%Qk-Sw9z{B=JJSYG*y-E9V8i#Tb5iZt+eG6nQVXn$}KIC_ySNsuwt2^Q!u=hgp%+<@=I=A-9 zZC+5(WKSyv~Z)Tj{N;J8}}GV z*sv{Syq+NZ4jpTANl;iK$bRZIT#wHw>3w56V1m-s%zWHywUdIl(WUjjKSrP^>#r)m z;CgWdN=E?sJ%>c9Vjj3Vo`ku^$*a|N?YvYO`f84Q@d2YMr04?0asgSZRl~P`0BydxmoQGY)Vb;Bs%p=ID@aRdtNzgw{hOoP~I>G1dg^3uQz0|E5f`bSOQ{x+r!G6m`1E#f}f_FFkbfEtkJd6O%p$06!2!1&Hu~Zn>H(}ZV7^)Z~uxL@5eHBilV3;mDR@y5a$5|D=IqxL78NpjOhIB zy&iDD?YQ52ZdO*+iJN&|x5EO~v*z(pTntTa1#|JsvbW)B@j+pt0@VD8Fj49}{wkl- z{2!2rJfZPRj!{kO9V&~XeLr@gU>sWn`PX=x(b46vEM)nPil*L1h*u>5}c8Oghpn5BK>uvhhOmTn+!;fjuYfNeCHSXA?IE}77(5ZybRnMlgAZyt>LU% z+xF_NA-0%WV~dHLk;2q_siv;jW@|KQX}yEqsmG$>Yu#GQi^d&n=CRD2vR4*e$M_jE zoJVcFr;3_RCBo(^>8=r%{Hgvy%>4`aU1&$=BVt8~fiv6xj9AZ5ulPH^1ELQ})7Lo@ zrec;hN#fM_A+*=`HZ6<5Mhk{4TWzIwB*Yr{_|l9v8csB<2Y7wk?s9ll8|X}rRMs0( z-I&vAD<+m3qG22sSU?|{;Hq$cfWp_M;OG8_JF)}4{TsUaH8QkS zth0NUB=s{~| z5`*s6>XbKRuS>OqWnsAKx9*v@^!E4HQ6|muMD-D!w?M`wbX7k`-EFF=HY zDf|WTmiJW|5DhjbSDVpmZ%exY@EVb6dkzV3sQb-p~R`NEJrfIfl*6Fp| z+bslN#+2qiH)&od*w@+tJ-PRS#Sl;Y&?hT`JmK(sh0K$ESD+yW0>MJ!U=Xa z)LLZ`#?h3LhCm+XO-RX;)X+0)315S~+@6x+EMwIVvx>n=2Vpm|9d|uhF7|6=f<0j$ z#e&I*kDe4wAw4(EeP}`Dll;-cW>8_mg)%ElmDn$>m42xA>^^nWjx{J( zs5Q89XImQS%cUTzB7 z8}m-HZNgHqa8_}LBD0wWGl%2fVgB4S_6x1OJ0;})_6v%3vNlK*jk$#Ow=k8#v$H-; z#C4bVl>-XupHxRSKkpLoKW!gF>rc_iW*?ri>#&+E$X3>%ccCufq=SB`fL=85>=%km zUI4wSm9z33BMb&C;2PD2; ztW0FiJ`-~8*VF1^ptzq7Zu6BByo}#YuYu_h3BBgIy@#&@r%Y`Ia+&D0saa3vYUS42 zhLv8P!TVahQ^p$e9p4Q6txUk6tVV|%6SFblN!vDGG00_4P&U*^a|WBuFrCj}*5&iS z7!(Ra^aYWVhLQ+(at0h)2n+mF&Rk(;&wu?BImjr?@EQj^6)t)coo6-OXGa(euRDNJ zmt%Gj9{anU38N**a5IJye z5?YB`Xf!AeFD{74PqPU=%;i3V%uek3XBPi{cVIB8qqA(b4{NHQj*hlUs#Y|F6!Pro zYEX1DistGNPouKRK{vNv!OO9UGs{JVDS7H{(Qmnpgk^>`H`*@IR|?1xTwK^^=62L+%x77A}x3pvbKRr(f*nkhmxkWwUxbWl(uo?>C~QX>I?pek2z>w65e*~+!X*{v}WdyUHty@ zB&GuA-5PFZ{C%)e>%7eAy2|hY(l55j$3%C#ATdM!&C0}&*w28S6xHL#5rVDdO)73r z_dLD~PUE6tP|aRa+8NHULe&)Big-V^U}WxoweGA1_Go&d5Le3S#vz2TCo~#D5J?kk zYxRn;pHK48X9S_j4dfX8Y&X!$IQVzacbNZ;#KR5D0^YOR|0wy;D3!J(?0-pcypD$* z(QWp6i`pbiI!e$vb{m`dbZ@QZg9F{)64KJ+w^~0vb|VUFY-%-D*p8O_HJkE5eOylW z$EIS)Qsp_;U+9c?$TQ7sQpg?JP$|q0C(;7i5VRa&=oJ_>0OXC7SZT4mkYThe9YKUb zf|_Jf7>`UG>#25x(?j>@)PreVsyPALAPY^i1N3##Jj^oxBAmKL!r|VonYZlP;aQG=e1qt*7;c)xMY7Yqz!7TjR&4k z!K`Sshz|38ty(Tob_YB@T&j-vQNNlbjI$xPR;v~(SVy!ud=WD#m@1Ei^{^&i0Wt~SE|v-tL!9PHyc_!-|u3lEoD=V zpV%cD6h1&s7utOu&yqyM_EYPm2s1-L;TjqBzB5(iB^k75!D4Uf5z!hzv(}2+%u7?X z-#REWt?UJi71vpvR=AY&?7qwJvx-k1gCUz%T(*=%M?5V1s=$oIR;?j54(&-{?A4W$ z{yXCSyKwo&{_( z!jMwCPSmdqVN6%(myB>clZ>*9^@nD&>es}*!nJH(C;LZYT^1VloaC60CFWG4v0toe z)LyDD*hQd__2{tHL#L>?ABi#4lV*XQfjN%w9|tlWdDSawa<~XIV3>0)>?IWeeq@pK zPht#duuRE3%`1CRky4zPE|)~*mF4y z%(}X)M4?b=(s;ZKaGgxaz%!E4@Q860s#$N>#%X)o8*2rr^WF4$VQsv&5-nJk^dg;8 zAk&Y1n*vCLvcjJqjplFF_Ct)`H@%rVH>(LR?uFws@QmC&kUK5ptWha9`*ea zQS)KB&GxKNw0?1-5(s+2db5}nCZ=X`a> z4@!Ee)tnh=U-bvPXNz@PP4!iYJW|o2oX~y)XRAzLcZ4>Vv}m*DhRb(yP0QC76oO75 zunI?=$*Y`tGQ_>jhx{FiLZMmax6%J?&fcBy13Ui5wnugZ5DdCZ`#K*>;XRlkfdbpF zEohM#u3J=z=)i`JO(pF#sfNSEBYd|TrIm1X9JY5|sSyN{8N1tKOC3`T8?I73B#-@B ztx2~17C9P>OzYS)`&EY7b91p!2k@|_<*_&PV8-FaaK5BqU>!~|o_V5f)DZE_8+ye| zZ}P}@xcxt8gy0X3>zX~f@j_qV9i^TM9QS?K+3lvmKW(ny-9WZab4e%S`&79Ub4l;& z0({DtB_&QDLvsZ&=Bo|6T_ZbWe?)dSo7%F*y9zbsyAjb0RwZ4+Bcr@X#o>B}%~nH5 zn_Hvh7?VokmRh3G%OOdNTb*my?L}=ibN2!4s+BwIcp-3GVn@hr z{xFah+8~yz{r${ag+sQpU5+BNKTHQRoa(C0mTCr(ywPT@@tABEmbH90_a4jk(;n7K zLGn#h>-xBvYDV<(+LbsjN4wLckRCXz=}*}<-?WDCn?VIT5Z&8roym1HCLxVP;}<47 zP}1>SgGGP)T{P@2^}skVQF+7(lDBJ*X0cj7Leo`0=2{~dzEp1;(YObTGN-+8r*BPS zxY@t$bvP-KcEFWoE$Vo!nk^*FqW9_@!Ia{mG_!_gUf=4QPkJ*XF(?O;^0 z$>9M$IF7I$CX6Dg-D>ZR+DwkPm_?EOCFNDb88-2PTDyN(u~JAyZrJZ)ARKFy8&uSz z=9vq>u1S2-ME3F%iRPkVK=>nT7iD;VoPEl{p~uc&<&!+$iL#n#kW;S_woIn4wAUjh zv0{y@;XOvCxJC>;c@1!~$TlgixYRfZxVO*~^` zIsa<&?nQrafb6(wF3;_tS9$iB`ThVIFWE_^_rMlazIJJDBHwUfHXH^9h(HO5=x7Ba zITMvoxhdx3YmhJpR2CHZS>5!MM`4Bx?&*rnGx6r)_qzpfKDj*me7?;$Ke{y=3Rlad z!*2{ChSPr4*mW^KKbA0OcsV8Iupx^EfZoU%x7*T=RnnX^dUF#m#d>_en^<+RO7(8i z@OzOu@AEP=ZV}z}G{G9>HK*=dm0ic0w^V3QYWjzm>aSTmp^np_7LX}DNE7{` z1(j0gW!*3$2-u>?6|bcD>%d0d|FoF}@ahF-J#RlQ7fNMGJyN?-}QW+e&7P0GcvYIT-K%@T}aoRaK71UDWVic6`n zs+6Y6PMdfW@+#0iGayb?awq1=QldpSzaWiX;Qfu?cg4%Ci}2*ycf?~$n@ zFcy;*LoSlr?7>-t`|((IS28sfs->%A@%^k`;QAejpNj<_V)3UUC)Fb4nXg8}Xajih$Y94i} z>a<&H>!GmhAGXWJq-?FalCiytk{8%PHB~R=Yc{0KS77+j!_~GRYkq9#7C>f*LSx|a zD}XWg-sm06ay_P%z0(r;V?|5|2|8Ydx~T42VbzQ3vO6E(*1{7Es@wF|)%_T&>gzCu zJ({J`Xjyl)!!q6L)ww!KCw?fGIKTgyGD42n8;{`ol)XEuLiL?L4R_uE%~4jE=wFA9&sIn*hGJ#-&hvbGfApS5M za+1_J%nR~P*8nf;eG7ZZB)rL_t_t*IzuBa<%7XU=C+OR@NNwLaA_Hf@2N!$hJA zx8h-|EU}sKogJaL4S`UGHL|}Kh&E%UAvuuBQF)1RSMK~S%O2a#FohY0G+hda5Sv_r zlIRhgughkjJVgKJXd-a4c3-i!eRdpRJ^ru)Hb3GFVhPyFqUvwa@Fwyq(J|w6H!%fRAeb6D;REb8VfDfmxci1)cvYZT8>vYY= z(Q@T!+6LN%-W9-FwyqVhkIchM6dwA~)zCEaN606g+2HzSj!T{vIXNy5j_FfF?VXIi z9{-)dLDcYLHFl<_(+TCom5qXar^*Dp$<3Cu>>8xkb)eIx6@^RQa>FpH+x&FsP|AuB zDbK@goRV8@lM@N1qq56s_aG${wINGo%(e%Op*IWJn%D0Tn{Q*y9mr4PX&IveybE68btZ$}$!{15>%oZkpuf{J9N%b7CUENYxIY+- z7A<9u*U0u7!)6<`#2l9X%HqnJt-v(sx!GzkbhOj$1r^Vhdw*?}23s%bK=U;A&#eC~bNu=z}00%3>?B5LP z{urGncFxg$tvkw?_oK=pAIj+vH+%c=bsKfy1-9`p#z*{?iHD%&M}S^|tbK3PshdFB z2N5)H)|yFgnZlqD-?k?1j-}1&s4Dv~1+d%IR7?w|YKzd7b)`A(EK_e3PBdAVb4KJ$ z6Jrw?$57W+Ol!2RGex2B$f)}RZcjOAN5v~=uQEM{_E%gKB1F>+P?q^<$*4j)0~Rd8sJw@zSOum3saJgkh)(tb zJqs_rllWS=)f~RBKxN|5oVC&_j3$6->w2fOIf}cIqO>d8$o9oWRiHZyuQIO~-D*qg zcx3fB;Ce09cDJCORq*64t&L|&y$&Ql z&)GiR+O>%l23n%N-p>e`fTCgS@Bg)epEgdvE@{3H$8E^xjM4|z2maF<=L{AQV)ids z9RT2s*En0ONjhAzxY7&e%q%)gga#uUN>I_Upgs+!Py;%f9eu^<)vFt`>9Q(pE9q-~ z%)5h#UQ--Bg^_X%svLDElRY#pC8|;Md>#py|7G&|Pmb(Fd3PsPpu|t*2Lc5LhW-Jw z23hj2y?k~#Gsa4Pg;%`kScAcyoymaS3`Z1X1m*I`(`~hV=$O+WQ0t<;h+J*aZqA_@ zPXex%gCVgcRz4xR8@|&n@scqN_S*dF9NlyXof%9vwa+`cbH4sa1mE((^G@3zh6Dan zR7bo}Kd^k{q4q%~R6p%$Km>~5os|!Ioz-H!YC?{Nw43HMpdF! zXQOJ!>eVUioJ@RkTc#H&6HVFX8kVx{B40?B6Sfvx0|hIO%7ftGur+PyV#;mT)I+|1 zCd#jhGZXW<9{zz0exvfUF<4+vY@E!fg3LIHeaY^AHX15q9x=jOCr8pVm+Dq(Il9;H#Or$#{&EB9uwk>W=nTBT_e zFWwnpkbM18&AcW5q%1!}$ZK~ubaG_up?lN==j~a=<`pBKI==UibE5oyJrHw9zrPl9 zgwOYnT)i}?>&=ekw#pIf?5V}LykI7)*0Rekn2{c<(_Ou?R~Er8q}IKoEOyLY`#9Xs zMXb+FoLL_ZChWwU=CZjKyM@f#X92kfM{u?m&JTO0DKrTC5;)E&>4iu5@`&=}_nmGz z<-&8=AD#(-f-`{sf=B?<>0Mw)Jd}r<`Ekw~o30VsZ77M@k6Tq9V?BxBoW;IPnr82K zg#Nv%CBuYc*;?Vpj$Gq*oMVJLvfji>z4@W3w8>>^&jTzt-VBy~Bom;^EI#B$C?boC zA*cFZH%ZT%4{tuXiNK*xj;1D^?8t)oX&Gp($jOW>7>C#WpJ$`=Gd_d*m{(#4ENi$I z2$CQsgR9;hXu&rA)L6KIiB7h74d5$e9>3_e}+?{7K{=eS806Q?W%CD=@qw#o-5=2NjXq+6{6Q>J)wps|KPWqT%by8Mi< zvRGc8cg)RtR3Uw__dyqY7a6C+{4s;&H}%hq5oG#SNn|tJJ`989f%=~@EmGkpkl7hu z|IEU(??k8Erq;7TI;C0SXj;2wQ;)3%w@CTJc+$`~qB*77lF&2C<9#{lmYpLvGv|Ro z9Cr4AF4tj)nilRUHR>8MQCruKk-9tn}MbmQb7!ei6{4jhTMWY9P<5Lsr20 zv*fTnwkI8HVw%VG3p9dk5^AkbY*CT8d z#`=6LwoW(#hy{$H&ejarJFLO5K)UP>n&kiw_B_*zA?n3WYe&VkiCT$G%O!upEjme! zKfrq2(sa|ZXC;j}Oi0%;Nl&b9SWba*NwI2kYYku3LhfeH{3EQLkbsCbYkdK%{r$h5 zhhV;?#5WmtaJkT)g&?*cBlwc{`y9b%fEj+ze*k*lr#`3s0XA57l~OOR5m*JLVVVS2 z!C*s>q}3a>egw6JQ@L$)s;$9sUbci@rA;hS=vmV@GmY+Ap}kF_9Z9gIXfv&hDs?mA zu5t1g{EF`FWo$gKkh;F(S5O20f}eAekL-1Q(Pd0qA09S16d4AqslFY!_96s(uoF#q znG)RNlsK+8d~>M6hSCEi)OB^YW9E2YABJJGSCg29hovQ1U`R`l1{VKzmz(W>!To}X zfoLY1to3QH!rLNbfcu0Me_Wo0Kp`4|e=_QLSCECPSUBys=kdU$!u7g3=8jN(rE=x@ zvwUoeBaZgXHNBbZwE?B|%{uMlh9T|aQL8OAXwSDoy|lE7BI~S7 zp2#BmD+?`x07H(hcAXkj?4T`}h97gx9bkl&yEi||G?k~~aEK*>=i@yqSqSc^oc81r znUE|e?0Y6Z-Y={OKej6MxJr|i;4rD!7NqBDdXru>AK~fp@gCW5wMUGVCslLl_K2^D`mCWH3BI28y^0*myJ((B(jacI2ELo7 z_3dCAY-(OFQbz9H+cL8fto5K1B1nhWq%W1KR5v{+-7%w4uGj8$mlLDuzl#+@?)?y2 z(kV{;BQFb_iC22gh6xa`5lht`4|qhv^QUG(0c1u`*DGY)_Rc`C>;7^!>>ImsZ!n)& zbPeaQGAyPZd0?d}TZ7#<18Ne93h$^6lsgTTgSmui>*}=JS(zI)=qn|LYWQ_w51rev z8r*Etiw|Y-Ye|d}LSHB`^RP~|V84IPfES1vrY?VFB_i(-MTFZF*^1I!( z*z|AQm`66j`?Q#*C`zMVLmB{5709Q_=w5e|>g!33>c^%X;}PL`HLEK}gyS95c)!Fd zp0P{Gtv;J{gl$Xm8Y742Dy6=)$0{lfYbdDg&O^H8i7xRJ<;&2XS+x+A`sw4I;APKz zdJSxj!dtKXfDtzJ9Ife6&VnkJC)*O;!XmO$!ZrF3DwX4MNm-NWw7aiRBc|c8LoVj3 zbfoDJ0-G;Gs(@^9RSfJuK^jP3m?rv&LLkA` z`mun_!6A(0uh5D{fbs@mlYmQoZe}Ej2P1u1Hlc*Q8YWGn(RAh=oNCh-#ozNZ?&Y&IyREyPhFhw=km0W_L>9{MA<9T)@)FvGPPCLS zX1RO=tyOvOt?O#LGpMiptq0%DmNYsVjPtP%W;SZ~@|(*?w?BId{knNOyQzX=c;1@y zhab!3)8a(%Ly>H$Uof407>oXCKEt;UGhLn096F8vazPbR;pb*9011;7iaP51t=u*| z6>lf=%AR#RozA6rhcCaMA>*Y00_-7A;m#NQ9n=3rEda3~hv2V|jQunod;6|R6XQlb zRRbaNqKW8@`a)^R@&OyM%`&zjOw*(1TqmhiDUF1cu*-mKvRk!ZPSvB)8noTUwBGMa ztGS<;u&VcwLzLSBk3|r~%nc})$fM>s>dZZ#?>0S%mL>zbwvZak81bfX2ZhHW6om4R zxrsuYfB7vueu>AOl>g}m1(}nt=g8hiiR;TPJQj)&`h(lN)Nb6Uq0Cmgestyae*^6R z`Q-C0o<(VP%{x!vk-#{S%`Zp@+{ui5rdr{X0!zN|vCzc7lV6b^(RZGKyUU3^t2_er zd2unGvEhIDoCUL2A%AM*=fHr=@)y8h0OF0V57)XR4hKVg zRhce1CphwriAl_&IqtTpVAv11g}w;IqpptdPEuC}HLL}3Rd+Y(m1^wdU>#xQ`Alz- zF3C)0Zf8SAO6{i%b`zS$i^p?AWfx?9FhcdDq;9eO#~WMX?hp#L#ixhx@)~e9_xuXh zJL0a_Ml4@T+y(7Un(b~-6=_bXSEh;5uF|?Bk7{EVwo)3NHTRE9Win+$HmrvP=O$&$ z+$_0?5jG;&NLDAiFu6SJxAltYcgFjxuli@$WZ6a)D~}x9vF!^M2Ql?pBf;Rg$GuWW z9i0T>r^f?yk%7x~QT8%ZMDO^-nl&Vat;`K8?fDg`Amjy3T&{WqZ#OnwO`0;ezcHk8 z;?H%vJ?EoC&7SE7W+2X|oGMPIRbDH(| zw_oU8$cI8#xT+Or<1;&}U{Jj+e<~=kJMPYPT7Jn-o$j-Hfn2KG(}2Aq$a{ayzR`xa zjx%or?sK=cD%U*DTvhc6H(qzO^0d|)XiFVuVOz|!UpKl#$*5VX$IHZaWB8*T6k@D4 z=I~&LK4gO>38v1o>%~n?%Q>){Kh0x1=8xP;%?~T@!8i|2J`u&uH*Tud(P3plii>&h z0!;qV-S4436&W-ynZ4k>{lED>O2}xQn>^qq?hdg~j&P>jYSTa`26~#0eg`cwZ{v7y6bQgk~pOOzBR&oonfV=Eu5Zg58`#nkLRVX zL}_8e)I%aDF^1W$jOkdh*MYd*1+~GFV|{*<_FTNS-O4XknZFR4uVc?=D!nbnzVA?Y zgwWp*st?Zlg4!D@_(;^&cAe%y#2Tt1bDS|9z^dDt(pV9b>B`XRfbqtP-G)$BDTR1{ z3$3T}A>f#rr!_QjddPsI5+ z6nrC=N=YSYFnFU9z&NJPc1^=Vn^tRh;5vjmfGtgaoyS>(sVB}Mc(Y$nT_8U!utAQ` zPh)x)fatL=e}F**px!+DrfW@^Z8Tl?Is#)J+cs%*OLMFwv1xz0teC;hsf;NW!&R52 zN?S>51s#&DF1D@tQ0r~Tw&3k&`zph#4R5m;g!EzCCKMT-w8TI4$a&*`mkxx<+smm3%a2^D(XXf}5CT;E%+xKS!t7>`0dl!h(0HQEuR28+>$?64;s zu}#Bh?CLj-p&#?%Yhi~TQhie73rTP2wfGIJA%JI`q1Ql@2+|vr1(MrIun7>$$#()Ow{amdDtGP2bkCaO@qN#%EFRzt%`PkC(Q;@y)vjQWvhug(S_zfKZm&;?0TpekoqL!Z;6FovP&)v5)6*><=J+CoZM`W9851lCd|pcFKnwprIMG9ttXBpcxGRF zZMQe!|MM7TR`hy_JwkUGh~7g+;b7cXQK;^8rE{AV%1l79-sNpOP!34$LpZchteJbO z+1m}!{1+&&@*@@V?RfyFkoR~VK2=S$hXK0Spj$GymO-8eH6kbWw8#kc%K^~K(`0s6 zb`RO^)blNep_Z?MXdJgjyjXe|f@G^maKyDyX;ZCMSLC2Ir)QE_m{Q zPpCW541~i+1tF{9S7NXAyvzV%bYF&Ja@i?mBQP3k`ZO9FSllcC^VH5Ab7It zFPuCLh!)*kNYmMU9bju-l&2VOSQ?yzK^s z8$=Y5@nkXnUqlG!M*4ClR^w2C#dhF z@GS}Ugd8&S_-#V$jzm8B*&Wq<@}mMNee(4yeSPxnE75)Q?Gq(_^xZRge)8o4&3^Lr zjF3P3;+48T{QftR|KwL^KKSIj7nb<&%f;cOZ;0~BJfFZm>w>2Y^%BUdNZZNqxrq>g z>dH1u0%vD%zgKf(~*I+EOXDYZP~<4Rv|Z=lt(EcH7(ycdPuFf*@ST9mh`qO<*S zhli}oJD2XCTGtsYKtlHKUv1*&CcZzFbg!1;gA==G*H2IE1P#vY^a@T5fV^=FVkg=7 zt%;p%M5e!FsKI8H_WGjWm>4-+wo7EEB{Ev7Si}7|Hj?>{!1uLPWytJUigs4+tT$Q6 zmL-hBowv{#vlFbNLOto@p#GV&GHsm4ZVR^Ejm3GzQI>Z({dutlf5098Cp3>E(R-=g zc|cT+vr+gdQC$I^+|3+1kQRV?Lt0&IJzrrv^l>Fk7%EM;(MW4l8=l(zglwthKGn4b>ApK|E8 z=TP_nq5$X`Zw{qAp6soPqi+*l<9tWg(?!>tx7(FYgJ{Z&Bh5B(ao|qs(cGQ)*VV}` zO@~ue-i6v?Fdh>%(^m$YfnqAV13jhtVMFM3iy`RS0O@1?Kc(ynH=juYl$5+Iv_F04 zR9c$3-mR+_^f-Nt0tjDFc9`u|$ZH5Me$#36j3|MhhH^i!VLI#eLk?KMd%v1G@O#vL zbn$1dtblIz-)luj>c)Xa^^pYvyQR~IXL=#s$Dd}venNq_X2C5c??@A38qoG#`(Y5O z02C-Pt2sIYdP9M#Gb`yv^~lt?H9?f(_L#IgjG0uV#Oe%_8pNMfq6vBBE!CZdDZA>K zqqXaclNqybB>PD(HBzRf436y->Jw(=+S;DnL_Nuh*F2rW*M&SmbMzl{It{+acAK#9myX{a-%$8o0H)dvTKV) zM^w2Pb+8$Q95sl|wB2sj1}(M!oMUgv^?!<34G&s2K~okFHoVLVLbB$r6nrjA@xK(= z5}&KN+*{8b^$$xVesD#g_8)vZ^BvyFWSCn#b9$!A4cK}qEq9jPq|GckgJoqSSGPS1 zXLYyaFEF;m=&Ta0tIXb(r)0^u7gM3P6x+&idYlf!G}V%QkFYw%VOda=KghtmOj?~E zJ8Qj04a2D4F8${n#?$K*j^OEcK0|zL2Wh>j#Fx=Y47TpJJFcq}vXO4LgtK03 zRy0?m!tQLi?X+2KEE8DZLw`*eDv-O$gu@*hAyMD$?HEesV0tpqmQ9jZ~S#Si08fa)UD9IeH7 zAhnGC_u6LQECL|Z)Z3Jnt00+NQTT(cB&X-`%`i_9W;TEpwMDR0ed{?t`wAWs1Dv3#Z)WdtznX1p0ZW7eg!$w<6Wnx zh75)eD&g@|69nMrxV(VOk$L$O{7(S)hA_PjqYUa@zHM4*#o)9r106lBO2U5WhibewhcS#(HgS2;0ZpitEnb0VUWwJLRnwA`~ z)~v=huBiNO*9O`>iYuUBq~HK>0YH`zr)6M*#Rdcn16Y zc?R`#yXCxu3Wj!B-|9LROD1-%HSqAxz zglpiE|5R&dz!1r1FCaXMV(+hYbi*66X^P|XN-DRYNx9N%TcaT6D_DzctOn}ZTvvpx z-CUa$O{**w8b$}~F`8Cq%BZT2`5|${{H7ug{g&!=!x0l5wwYYLDxEUWK~=2RfV0kqKL$F!izBm-+OB> zCbUh2m#Wo0p)JNtxp}Otbb?n$vs%w*wWL1Yk7ozo(deE%Ozlls+IEe&)76R`{iuEk zEDP&s6;vwaWQL&w9QY|@(oag+?zKt zk@-$F_h-GjTM7A;OcGXB?7p7XV~L&5l0!XdApx)TkBa;lFF0RV*#1pa}E@9%5GOB2|% zIakK(v_!4RY2RukhXX-(dk$tc=AB-{GMmQ{YcZu3KCe$mY+}oO?+_a+gXhSJ#^Ytx z=@O#4Z1(n2d3S6q8p>5H+(_PYnb^5wJ-f?Sc!`={Fe3=Ge>S-95%EIh)lY@zEl|MK z?HgYi$T!lVQ4?w-S7_9XQJ)x)=|G9N*A<3FCy!1`gid=3oGB7c!-r+2mTfnRR+n`T{V7y=fV>yZ*q zjUGR?X4?_8T-7LRIv=G;xb))ze&k1QeS&?z4dN6lJG z3FR5Nk2-cT_El4zN=+jXvoYFF2x%_{@$M@xz`er-D%t!YSH~BC2nUxxvhCRKSlk!; z^~ND|5`&0vTEOci{n&{G5%Y%26yq07W|?ee@oofc>|=w@aZg2ByHZ}U6f?4xoa;9o zsntG2gD&5P!S5r-6IR7Q?<1S?G*0W+zr&+m>r?MfFO%?j+3X8TCEja~`^-_}&ocw6 zUa5Z339}W}Ze_e0%q0dt#F*^*K5efiY?WvXO|KVH8(0Ky!cL)p4TkJ~Dl*o-QmH~; zuSF*btA>m_l#grP9&(c5{X)^=%^Y3p|9SGwhFg^97C? z=v70sM$1(a6BB=<+nq#R#{L0IEQc>RB1Cffm4y8Y{^I_HUgf@5%=Six7f{N4%Fo#l_d!~mvmqYAb=szOogvl#!Fs=mR^sO#H%5TXLWZ+P*r9J0x- zEu~QU9~#7-Z8qjdP7XjxJJf@HRS#?6k*+pk*jUax`#@S*Y#L64RmelL z`{Fd6LRv^)-i#}I%J2UM-cSX; zp7oYgfLOuyIPK_q*~b_^G~${tS>&h3g!)BeAA$mCq~2?xC{byZIYvigX2*SoE0y*n z*4Vdu#6c659>yFy6T8e*TWh~lZ?vmkV{OV6mXucun8@wTq7WFq)@hC?mu$MS<8#wJ z)4fj8d5R<$D2J?+8%6yh4jZbf;-SD!b`}NFg-~~(el@=!9S=jvvar{$e?!LJjeGJP z@@-d5-UoPsp7F_>u7$fxzWmV(`{L3!cgLN@Ho8w$V-5|@K7RpeGt`Rrh5*v#OdIQC ztmKS(YC!LJq1H*U5S$$x#sQCdaaqGzUOG&n8{4TikFJt*S$k&9Nl)mN$`xd~GE2Xz zRr-tdkZA|n$P3?E6=F7n=fC|cYN);VqHx<%sF~ZmH|pP^cJLd4yr3pT5-&p#H^A@E zon7mPY<7j1qx^L5UpcHdXjgltKPVeyKWXenk)+5nR<`#es*b7QZtgU_ls=AE;kp$q z#R>%lLc)4@*!yhKur&pzTFsJIC&bl!z;TLyvq5MTdpjcI@5=Za&#pfcjty<*~Jf4NsG>LqmLfj&Jn~^L^JuVlGj$rlVb^8P4oMz!Y*53*A>Y~=yJK8~{cMf8G ziWUS5AqD-LDa>~<^wCgYD_Wapcy`z34=r|~Yhh`;-lr^2`;qE2EIAac)^^FlJos`~ z4?H#|+exokEnD5S6pVaICkG;IWghtUws!PZ?fz9^zThm>?)gH5rIqGG=LpH*A4YEw zC_oDOCv&pjMQ$)hC6BPOzPDy*X3(})qs6S+i)jca)cuBTw}S8(Z0AXPKbUm4(Xxae zsKLaYZ85Cv>|JJ2#zy=0gk2KlQe)YbT1{c9en2KjcfCXjY!`v>>oZ#UVHo1HA_^fU zhnvyMy8r|pZz*lNN!|LagEedXsK2bQoau7W#$z3dBnIp8KD4UFLXOI{%JNW!m=(57 z<@vf6ZupU+$HQnx^!-TMn%t;F3Vk_fAly7=j&qs%9dkh2_oZ|9Q$3ae%bpjS$G>t2 zZ^UUp2yF(I1sM~V*hmT*7Yw5{du*DenK)dHv=M<@jIdr*sRQj+cY1$4SRVb6(~5Vv zDBuM2km#kII_QsZXF!&ClVMcpN(ztdN5~|HT4sfX5Ik0+47c*>W4ObV-BZPbPzKFq%& z=kTW@@Cp%;!}YJMGVGlw^f<$h`~#=}223nUCX(GOPA5%euXGb%8;zS*686hM*_v`L zqr|gtTCuc|v!dtPVz(N0M@j-iMPaWXC+-5jL0gke^{P6*SM0n%+gWYoCe*dGCu5qs zqMgsj5dB|S8OpB*QtHdBc?6-8;2|fxTg&ol@70L>xwj(3i139 zq=vEy_qxB0mA>5SBy^pTt1ni@oeL|@+8Jix7m};6oc-&HqOLxVOHP41*~WAKQgaZQNQ9y;zA-pI&v_UNGu8vnW-X zN3M+ZYyDI>)bLrO+;F3LJln&}ErV8K38qAGhd|PHmb_|sTONm4Oe^E@v%MSS+%qA(xy<`^a44A9Xa}N z#~ho2I_T-6Wss~kp1>O=W8(%U(Z<5AWoeUgUn(97pBsw=Cjn{ZEvXDO7m z4F4s!-pehRM^^bdmEHamh^Po2NT~SdM+Ahc16TntBZX$4s?%$JQQ9z@@pe5~II)ya zN2WEPVcI7SF2}A*H^U}HFSHtAZFmQlgX4b#6Xm04`<^nlu6t4IYbAZyG&Y@XkD!Su7 z&3Gd^G|SbxY^-U5S~0Pw%@;i3( z1@@J1a9^XqF$)dFkc@<*}XY~ZRq*!04BO_s!-D2kRZuBNj} zuQRZ?7Flx!T^aAw`kW8-wBOXVU1>&kMI~-&e_7A}sob^4qUKK*@}Yy;N&K&?QGlrN z{@su0l2RILSXzxuyA6^S9M9iy_#T@NWM`W)qiCS)O5rM`-GyK^dxYC18C&a?l+=C@A1!VC-l);7hBTgbt^wF5cEQJX?O&$qpA&gP2p1)gFQ_g(@X*v_lx?~bVyIc= z(t+?JRr=@(K#1Qj3f1Y^72fDos?i`vf^4>w9c%aSjkO?Fe5*DYyPdJJs^j|(1x2-Z z$gvDp>BcHGR7DcQ8rIBNYz~7CE=C8YGpG7P0)l&HSB)=uk`UzRypyC>{L@7V` z=ut2kp+Me;2SeF@NwCujmZ3tQ>=QiKAqoE*F2R#)0Hz;Y8IX-G^9I*;Inl>mw^^~B zw!ZA>K||Qm3^Y{86i3zh0oN*Zt3zHE>hqY>EMq#HrP6v8VHQ7&mhnV|TqpG_liTTF0T{CH#ZQPwQiepQ9I2`sCacQ`t5}gH`GFmIxqB`C}#dw&C zJ)H=n{Xk5yWo0~FG9L-qOb z5q1&GH`v{GslAx=9Z7QHv{dSvfj+i-yMSm`YR1+r$%JY|`zjm5o)=qBTAT8w+8b}= zK^QsQ#H;p5i%67+KlW)aX=x2}x~&&Bmfh2DQQsD$R4DF}ISn}yzB#NnPW&fd&0XMo zfEm4>a1>l37f|y6!`#1MKm>G8T!Vw?M^{bq@<;h1weNTN;g8RgBA;DORbV6I7h19Q z1ta*kx!OZFhZizf7cU=8S;FOtj&g#zPdd0Ru-zro}I&I_P|9R z7QcR#URTq#AlLJ++S~LbEpBzeXFvJm5?e(T0lEGc?A-jWa2{eVyRq9}U9a;P+1XD{ zLi<(`Jk%P+uNOd9FXrfXG+oL17E6ycW(L0Slj0>VzS`X-zU6p;Ag<=|!!H-WKL2Jc zLPycrka);1PN-5omcQ+06uIRRl4Pew&vPo+!P5!B3rrlVRlB0OFB* zd!>;dySHb<)VB*(s&9X2rp}aDb`rM~yRy{51KcNu1FOTbYRPpw6L+j`tMP7*&$f=x z(ap)xTMHw)eHg4NVD*#wlw$avR(4~uN%9R>T2I(cWAtgL_%28F)=+(EeSU6N{)YWk zAjF3h_Cqu2A2erv$G-T_XC)x({FU}7s`CF`_48kpMR*mX-<8Sj zuddg5p=t}t?e;1U`Tu{eKK!8`${h56k{*KTDA#BSSVSjX`zBoCO+_^Rp|Zz~m2T3; zAZVLBMJwvK?(4o9<5swz^!G<^(+T&^)Elu)(UCN&>dB1TXm1K3@OVK}{0DltmpIo$FRE})|3nw}FTHqL5&YD-{L2M>q2&HI z*Ngvr&+g9Yc%)XZ^5N(1-R%XCZoPd6DOd#mje>1#jV?_OTF}2quL)t|waQgiB6uTW zTVzPk<<7wzO5)J$LGQHNm^&i5pY7#f%4zjpdD3$dX4f8Rs*;cg1=~h8?r4SiQcv;` zDBfQTL7lAqD?SP`{CzM9)s#Mts6CGjT&3^>PvcXw=|LJIU&H+9u&?If&ky_Yh0vit z{sbL9y55_^AM6_Zp4E&+$2=@n!m7@6sN-4{HV)C`>ybfn1F~!RG#!*(F2yFtmM3l; zt4C|{c3BCDMhcCx>s@ztC`%LA`f?a!6#3S=LWd85%6v7;Cn3;h6z~rmlV)u%ZAIS_ zvw!kAp({N(DD=^%Cq)d+L8o)Hm_wPZ3^haR*0I?TU;56fMb%A%8+F8WT_gl`Dr>sS zt$4LP!42W)!Z_k3rq>2LmFdSYH(d8Os^xghwEn6@>Jn8&KG75Ix?-xpu7AqOUatN! zQ2dXa{{i(|KVs9XulT31sdmtwo&G`l&-)wL zYjI7x+NbAZqa+$7Sii8?xl+|wwX26I%%5H^lI^s9tS^T~I^V6aZABGYAF=5Z@$x`q zUQX=MPfpzSG>P))H+~irML)ToNP)~A{R9;wLM|9ZZC_@jeng@Wj073`1?QO0!7}Yr znatCt`6r00Q()phfL_s+o)By%2~OwnMzJu)zB`;4{e5>?jds1VyQ}Y+nHYr5WHgoB zz;BVf*3-m#mn7n*Ak!ndWUZIco*j2t$_NkbX++XJV?L^cGhVglArsC1vr{aP$cZsN zrdXgvS@F+h5fA0*BSQa+Hz4(L%AKMYCmcRvk1J096mfpK*b@#pefptJC!i>;YP!a> z#njb_xiU*MG?33HgRQ!2S~|B})oZm2RN)TVMYv1Yl0_j}G|CYk$fC!-bw4E`0K-zGfn)+=fbI%@CCl z*4yj*`6^;%m@Y_S`$>Hw*`-6`9N4Kgof@g@F|=jEnTkMwG( z5vnVyKjlBFpt~mhUP+?=^^X6WW`9Hne=?&NulR%@ieLGV<(qYJ-`gBULI>Zv#=0cW zF=-u?CY(F96WdyOjP2rsZq+5M5VpsW9)mfliv9oW{aKT;ToN{n9{1mPPKmn(1;y`Z zD}w?u2rBA9M}UAL^E^a+|9vlqDy=HCsNwE@WAFE%`?(8{)Vwlt<;s-uMCFV?4`Z?-XLDJtQWgwMnG)4e zw)g!$!`TSX1+dA;#R@&bgt;mFwF*ieNiC0;8Uh%m~Wx*4#J`mejlEvvT-_yNl z6xJD{O+=Mkb&K^734=9_e`*v@Chz0d{@-ZPJ=MRiKd;0ZHRttiOYn9q=((P5$jQRY z9iLxRPCX5Gq#)~LznbJGPLG$IGTPOk>GE;C6;0y^PxL7pIU^;T9pSAX9CdDN5G9&r z$a(^16zYB}ow*0^W$FK0fs)1(?k9;8^qh+oxAYwHj zAbd8+CP;8MA?C@_1l+%NiNSZ{Z>UJBBW`(;eTCIDJ`1#84v#Wn;G5^Pk1MefE zUt#^*GM~SpMRyclfVjKVQiryL5ZMsTuIvp>1UPGf^34qgPmPX3U>LTaMq{&!PF7={ zAR`uE(u`{wgOr9Qpo2`Y*m1`)D?-p5Z%r=Nfi}`%4sUn%@d%HWOm0m4{be?PqyZTH z@nTC>>t*hx9^2nDvL#OQ19BWm+wrvP)nQ2Ku5_e8Z!^>r>vfGTdy&MHW|ld`Q4e^3 z!VTwC2wXj|58iDyt^wy|Ajg*dBhhcm>g10W$65sztkZOd=Kapi@_l(tu;0G_#N)SD z0E17j|HQNix-Cstn@lPVP*ZF4>9Vec-V_i$Wgs)f;kwvC6c*Sv z6gN}FPDYFP8JAw|>m!AKec+PI`&+dtZPB@v1bnQE{B6V@(mJ8|@McS73pQMr>dqXK z2h~Y~GM05T>8GHFm!T%qWW#7Hm~-aRFZJe-ubr9_3sJ6TT*Xj;O)JZ zA~2#oUSlY=C)ay;p>gA(+mR_@78J%{OHpFz!D+lH5MsYvin6M9DuYPK#UL~t$tAiN zA?b&ur>+TQgq9MmY{ZpMw(^L7ECOE#>SJy3-$Uvht+!CUyV(*eXg%|LsZVsh&@ebYwW%R90V<4+8Dw;@25GM= z8ixdFb&B;rz^bvL`|rW^k=$FvKHhH$TC#RV#eo_cwj&O@3B?Y`cu549rxjW@Dj9-^ z?2sUoNeJ&v#R=0q-A)gcvS-2eM$wn-+{-Y1r$BW=hxDodc^8xNQycsFS;qYn=i2M$ zP7&|?s*gLI*R}Y6AR}*!>;9f_+|hX}6?ZpUii6qRFJ`Qcxf^Nd%B#Ua=*8To>!QaT z7puJ(OeuHE_O>`DZ9(_!sR%j9!fMqkG)1KOsLibZ~xF&eE z3phPma=&hGn_DIPJ)9coy~V5HftI)}Q_0gsj#_2V(i{*4L(qySii#<%aLKNWUC_z9 zOlZgsFTy6ONAupohu2{|c2(6Z%%IZ~$Mrm>r{g(c$=lVSa+J@@oSz-+ex1+Fg-w5t=?(PWBGB+aOE}VTUtL36 z#949+-^UI;d`-s-q7EX7J1)1g%liOLq-RA7kqVwuroOf@x9q+{vdDHRYy`r95xq;C; znSJh-{U01O-n)(teVugn`uf|O{{Um~xJlXV%YQj&^?}4&LAa1@DG3qcIg~JPHXCE! zn~78Ape?X|;B8EtBr-62m*B*8Mg`c`W*iE$Be>6X#-&;wdln9+E0)R{hj|V0@bw5g z?nH_Y4@xUZxce0!qaP0s7F)|tJ2`l^-+wO#4TDrp=Kk(?oH_rn()v~c^<%`(71tjL zpD=Gx7)Fy;0yOuaA1JP8PJ3i>i2E#Q&v0qb)x#c$vJ1@lPU@_kgSGpeO#wsOa zI#Y&Av@j~Brs=DrnHki4Hs8zAk;mjXApBVe zJ8pVKmJ?fMuv6A%bkGVl@><#3|DVyOON+NAlz(YW1q9wf46d|XPi1U`^r+m}NXCZj zE~25SV#kOvl3lfR=an;G(^TM&$!=hyp;-(T+i=&xG_Bqea2*Uc9GIgX*-IIbK;PBl zj%EinJ#Muv|3y{0b{P1JEIv_q$K%tbmP}R5=X~Qf|`L17dsy|6@N5IB9>5jWqA~(*)t{jx;eVFl4(A( zymL5z;tkx$yyfQYdP|lP({i5_fmj=kNCgZ?ey9Syr<5I(-YoO}_^>pS(R#oOpk{<5 zlf_)p74=wPdb9rM}~@`zZi!WG$_-|@|l@BPZgyr*t^n|Nv7*=CKlQjnfCtIf4!FI%+hz=Gyevd_at7Byua2G#<1eK z{9tmpNfzpCzhUG=t?>_77PkPj$pM?xc;Wn`un7nsT^XZ1L^*j-wV&JoYnr&s)bXd~al|NA_?og7^Fd;7a3Z=^n`4f(Ch9UpdOYOz0!}YWMxEsf?5yT=<)*DpiXTbxtEgX6c4GUFne4Ri+EwyC zU!$dMxo6I6)7QTU%Z0`}RIY>T+illZeuvBTXJmtjchHK{j((pfRf;8D9hf&0s2=Fz7%H-Gm4hr3sShTEC80ueChK9nXOAm>h1(N5 z+4e`vWRnnB4DFsRh;0QD#BM$$Pr9ic)$?#FYhI!XfV85@07`vQMTBK5N*Il}vI!yvTQ3k!k zI<1SfHkMnN-}dPmk8HwQL;Xn|>)VHKVd7`L>TfLoZ*Y0nFuzH=en}$U^yYsr9`|3P zrL1gaIgsRlSQ*ZQOpjTx$B{6aCd$n6*Ib{P#j1yr5ndX*>3pJ7q+o13b3KyRlVK%| zM6_EDD~4T9g)HT3Y}1kY=&qGx^xkWHczAQq=_|4~W`6k$?-$N)-j6+Kg8K(uDBisO z1o3_A=M$`_cYhL_pY-sJy08>_t7AKH+GmQ{F2#EAvcf~(V{?`^2_!TS-{DA9lD9gf zGu;9$*UB2I{f#jj4G?+5^}Dc`t~k~mqo|ZVGo7!hc+_N1|;qF(b|u(%4B;ZW-g2*g5wG#k>Eou4#GYMre|xcUkpo# zkd#`C7pS0Tqj1*mB=P3Jk&|Z;z^}0HLjh<53-787zsJM3L|*v#_UcKrPt}Z{*i(13 z?OPQ&vE`Y@B-~;c9R|{no@7F`MfW2;MmC}{cRH9iO|?a~%u81a({0B10^fmoY3}vi za2KR7OyZ2X$aX#|>CZ&_8_Ya~Hk;kip9&f-7b6{p9$bRW~i1(8VY$7;_%MOSI0qBDV!{(l--4ks5?CL5Myg0 z=0<4cl%BQcH_9Y0FS;8;aBKJ9Aih6l`bR>q%>Q_+olO876p4C0FEF9Mbr$?q*SuxD zLu#l-WQ5hQl&7?Pjg8A}jpnK`7WD;`OMzRjJ1R{)Z7GSG08Usl!}{4k7<|L{OM-(E4*%ZM0l&4|K5uBj>-$u-(7CGrcL6}*6nDZ z>Cvc*&zwrAA`p=Rtp~l8O%yc_Tk4EA)w0u%u#s-(88Zv^M^`Nvd%jv7y#=a4$liBSc0QE*+v&X9p<-YOb}`69m=5_Rwt!>A*_bf& zjKiNh^WdG;cqSpgB2HhCnstl(`Ak$^`AzmXz zu(TF~nuog5DBrVo(RYvJI2*Zaok&>89|{Lv4^0Ty=Fr?k*H$`$%|X?Xrtm(>kHVfP zyU(=x)$)JrC3ZE;H|~5n=KVJ0aed#-7rlGmnUD8Y@Y9F0=j|`PqGea4p7;p2p|s!g z^zJCU6OR|K;6&jQMMG>gO4NL{t|XM5Ns^S{>3GXkHHffb=78I!>x@X5BLnUHiAb2M z*$i5vv(A7cx7KQqFkP~ri$cl-3m-IbbFo#&p`KZ)SJ^m!$@?s_D>}De_Z^gvyt>!7 zUBVf+{o3Vax3I;({`m@c*?mq$!+L#t@Asg)z5fNd+m&`J3>cF^&Omn14LwChXGN_cB(Y8KLV+rlL~?JMIbeait}l*q;+9ZV$W_ z{>&Ty68nIseVG-0H&nTSjXz##?s9yu*7%j5AHG7%l_wLs!PH}uA_Ix&3N*2KW5eKf zeF%vmKj<83I`>E345YTLijcCA)q2R8;OvlwGHj%ciLO&Ki=ZHM38tA=4~~5+VFn~R1TH~!ba8eR%9X!Gy4{h{2bDR6eC*lD=9!4U zB60qbU)WJRLhegC^LFWJ(w5sI_f2%}NW4OGckQGhEshUpZ#PkDI3J9o&_xsqpCFSR z47xyu*&d4XNFXMir1tSXfPm~+ScwPY>Znups9G$$+i7=Y=1V^<`;^+pGk01|q4H@U z;LB`$BH_Qn!#A>hV&IEZx8UBw?rg_KUUyApLAgn`JJtf|L09d&pc@*A#A~l4;R85q zp>bUjg$@iQ+l{Xp7@?EJ(Aj&3s*4*Qmzgl$PxUP_f$do<`|`U>qPCP}@m;opZJ{5IP63iX5C`($_L)MRn@9AAmdv%y@kO|9#%aqpppweqq zMcozO%La%pR-jvzY#(;So?mW2scJP_Ye5ehz&C4Pm^pBS(>OEF1^hr6qs#_zIB@YS zG{D2Y{D_0SKe*t3>B(>Y&y^eRs=Z%+t`}t7dE z;-9c`s(5Qu-AZ6?AiXR%;b7lg^r=e3kHh{H^Z{~9kCT)`pBwF>q9S9f92~ggIvlAT zm_E?ff=y(2lcMhEIAglIfDcn<+QiCR7Rw7q;>R+Dz~AIWd>&L5fV|8zOOekua_pS% zJAF#njcIO`s`*UI-Q4bY(k|R=dyouusY)R!Ug7m{!22j|maeX|tGMjS1Lk;$VPt{t zs|d^_AB|N;+?VFEx_L`2BuVo^5L!K&yR;LVo)(7Jc^#*C``z^F7pC2*8b87Mq|Iy7<1KmBYU>uXc z$Ic(?{u?0qaycFPLlihIxP|8ZevLIk0h(~G*gy6lT7EVl>5SF z!0sF~MUHTaiJ6$twItPv>41&&*2SZxMKcm*C&fBq@~JvmO~w5h8caGlAqWTaP?VPQ zY9s*BcX|S@e6YFT+C|n*dU0u@0yuYK-<5yY`we`$eBuI3Yd(3W39Vl8=ltPMIh0Hs zsf1QXKJ`X@e%&1eBa|M~)Ql#!TU0^UkvS39MBc~K1$5MVxzmv=jZ-C9T5y$`dNYNG zbqHkrFF+sL1d%9h+I_VnZ#eYkC%?*5!_U45*cX5H<%QsVz=FmAsk_m{I`aEYs~=i7ZJt4@$ z+AaepN0gDe*e>~vE_PN}ee>(yY0gKzd1210@BH2f{(r!LL1S+grt6-5+{p^Qu0im* zVbQBe0|ir8lZFA4cE;eD>3aO;25G$~)mlj(P`JSK@=N}lUwwlKh*Oi1^A3HiD%KST^D&5=T@rX5so2`)j&Kz`er^+dr)88=DIHQ77;%QutT&d=e`YQr4Q-uYRd#H z;h~|{17`5d#7r+;%+FjuEi*3*$@>S-3m8BSEa{ioYX5*$ z2`pGwKMEMhH!lXO_hr3%gY@tW>8n+3)Um_GbI^Q0NWsGVM@#;MpbQ3l!Dfy7-tOQ5 z6@cr5JMH!jMkdPP(%!^WSaVDe_H98wf(`6!#Q7{b*d>cf9uXDgsYiHjEMpJTB7vPu z6@{8B%TX?SF(*O7G3t^{48Y?Ha&Y(`{b^ecDd# z%=W$qCK~@aH90ytdVg{|u`do^GYD5#?u%CM%k*#XwExZ*;D$HtY}Cz)p2Hhr3ffD6 zUViwPkc;sQ1i>~-FnYf3=|VCZ1hg5BY7-p4bs*4@ZbYsH(G#(p%@fJ8dSGD0ArGBR zN7#%P@p!&BgxBTuz5DUlh+bI&nkT!bjqwEwO$YukxCC~H$+gGa#l~J`|K`oU^+PY} zc5-3ftYTLh&A$0xz_)?W4akO@?GQ`r8BwjgXlc{#jt)kkO-g4!8!pUEO!tx1Oh|PA zh?A|fF$UVGsDtCqiudlAStI!p9E%NznbgzAF2jRiM+xJ0O?rM8&SYCoiSrwmV?YNr)yUWLMFqpc3z z-h6iqdAW-c#dgyb>i!`zKrW>r=|Z>yLoR06w9nb}!4wB;578vUoy`XZW_p|Lda&9S zQaCJoHPj8l@7uA4Rs2Cv;l=Rzxg7_W)#tY8TtD+5U|?nb?xam%eAGFL`21lZvJu4gAecr@3&d&}8@I&T5q8|CWFNCe2p<5C%hkY2{Lc74^PjE)7n^(Vj@B~%BWLO<$qz!_{LR|AS%cXwoFaukpG{&0 zLUYKMLa1Kmj6)B>U=JflrjC)B2%PSFdr$Uf)o?(r52&)RMGJ{chVd)1Kb+^7!ztUE zBk^%(@C`TX3T+E1zx>(^c+Y27_MiWN{mn~o=E3?5l3H!w{1XOlW!XU1KoBptfuGi7 zpziiI-}Av95xc?m=!y56pGNm89?n@7%1AXfpdmU|q@C0U0iyn(+RxH_RrPmZcy31Z zc`+lCEn@_lH1;he1e;N4wy>?Ev~zTBEoaPdJnn3}ovLRqzOhHW0@mPkyy)-X--DM> z+Di=nvLU&w4u4Lkb+6jnzdigCMf>MJrzqabF6tlP#c9dm-{5Wltkfljh=Og_tAlXO zzCDu%p98D?3;EZD`?S=*M5O+2B=4PL2KJr*HGXK&fDw79c@IAY|lE(JJf1VSMVV`;sMCr2a(+KiI9H^$+kVC_*|8-c;N>S#W-rnD`icrUJL4jLb*g*(}5b7H6`R-Emv zHA(35bT-$S(O`)Q<>4Tf!XWGzDzj^1?j^$c!HPYIt3HqAyg0HizHl=FKibN?A#vmQ zo6GIQ*JAgoyG;im*TYFzWvIbxL(v#?orhHE3k>Kl48<$cQV-a20OB#B1Ww8O3P_uz zIoUd@a|{6q`AS`g&X`@LVu@bwb*J>ZfYJLxwPmy1Wtxo30xMTIG@IpS zBpr+Gs-uH`bzod7Y%Zr{r^G>yl*u7ModrSv_5AJ5B>$$Yf4Y-vX8VtX|2fSY3eTTw zryg=?TcbmF8?2W7fmCsfh>mz0DHf(bv3R*7b~F@gW=}SHnorh&OF3!HPVoSvFplkk zV^`lPvusPR-0#?+x1rnTR=z1k;%^B1`%H`vtiB~_v=eD=BSf21cNQy0hI$WK*SW`Z zJZo3EVy(~8pl}Mvv+{{Fn)e)w@cG#W^n>bc%-sx2B?I?I8+uNI)M0iSc4y_*>9EK* zMEbf9Y;e3@_JR1nA4Hqp3g7MV_e;i=L;|D{MDMlT4g~K%f4W7~=W@39;vHPc+#<^$ zMBt}j9?dlgq%kDbV!`{6^zxn^Us@8MM9rGz_D5^uBWgGCee^^-n=zFz(7<}wv8d_X zF?RZ%CVbu7PqCbtFIc@ibSn!Y3?3hL_U=;fvpU8Hb9}-aCzLNb=|UDwPlP2Cwx!Vq z^eNB8<=xEc+Xm)0SIc+ti)Oa}Xl=ZwaAWoT)pkZg8?U8BPxsPUT!GX{c2;eqwd5)! z8X~SS)HbFJC9EKBk1RW}#ZZSpGps{TaCSsCU@_ERvIRlO(wHgSvv%81{o* z%{faB9KC_;t5a?4{?~s~$G32h{0;=F{aO+7?PwbWF-ylgiK!VY9;cu3it*u_q39(B>O1 z{ZE$K|MpQ0aA)47dj3dc-mm@567!>_?hT2Xz`VKKZc(#^kl8Qx)hH+DA$c5tsU*=J z+E6KONoCoqG-15&DLvRI1Gb`cnIj zYxd5scOK5&T|+6S3bdR~eq~yQWv$ILa2(RE#)tPANPWppq-<7KB6WsEchACfptt9hCx2yP#Y&X6q3>>G;&_ zJ1gqfG$oBe-v6K1g!pE@zoheh?+_7GzTarvar^%Ag~gwiO{`PKQaw}H^lUU8q$t@< z;V$rFrg=22bSYB1j*U1$;^!(+WCU*pIKo=+zKC(`Sap1JY3#8zX_z$C!C`W3i;#b8 z67vT>;Dh~CGuM73txc3}ylcAKPD**tObMqRnn%3vv-1^{&_o$bCh<~V_9D3J>}NZ> zaN=}0kErorC-sH_M{PiJPRH>n5uRjSSVR1SObG5Od8v47Z8j{ zMB&M>!cKih?c2CmsNg6@m6d~KqsMLuaq}<8-FwfqS>TZC`SSPF^bL(0!`@uJswwhG z+GH?Zx_S=9$L;LU<&vSo*{C)fn4C6Rk5$*4*1#d~BzV#v^GjDQm7U`ZQ-yK%B$AK&(d635Ws|DJ)Q+JY6`~E^XUxV379Fci+*G*3~`S!Q>Kpa zfm&2@F_emZHlsy#vv*RV(}x)ewf5vvD?rxkKswHun!2lUZXdb$fWXxXyk<=Pnk#-+ zLD{TK-?Tq3?>#~A^6z#wCL1KFE@qpfCYd#n&5oekte_%!ALYBe(T%c@;v~eH?gpwM zj(X&NcIXX~%vR#M z0LtB8pg{UmWR>pg*IKrw`i#{A-ZFh>D;tXgzNy%v2Z}N`UMGWu$Vx^f6{;X;XAP4G z@0deWElV+!xN=C#2<=uxDy~RDoI|*ux)EK1dJQPXqSr{to6LkWG7nN$c7Y2Lgs+u@ zXRadu1`UJWmQGw=@XreR@Fke+!yxdH$H z7|u^%uXU8Kl`Ajoe+N|q3@7Y*FRyRAUcV866CC$+{+wU=DJ*kqv`h^sr;Slc&vyh) z5Y;9{tc_YK(a7eyJB94mq4%d=RmuO;0maRGaPA&g z|Mo*LdiCEyyub48^wL)*p8fzF1TXuPgM+T6nErt;y3;McSWQi0G~@^`q!_(c?Rjz( zpz(A!)|Fu%BVL+9IeU~0Ct=3I(&I)dzMz++#B!kgVA-1=sG&fu$yev*4F}I0x#af! z>z@NCd9qyXR1@652vF1eYJFSl^~);(8(#hij3Ri^r%XsV)$?(6~R* z@JJ`KfQF^IULE2(;TSf+t4XwSK-&#|YV)Q&ED!=2heL*E6^4VR(p_7xn?njX@y0E` z9!r7Jd&@5WB$@@%b^h1}NVNwxB-??CkW(lFST9hBbE++{{nrD9yCCC>ir)J!_b0Ax z4gPgY@jGAYgu%I#1@xl%(XVUg&XW5wsrDF3m!M6(us89gpD$vH?Dz7x5Dm$za;bI& zp`!<&{7IHDH1vAmq~4MUNaZTx@dzT4PH9YVXT9$8en++#<#qjUpF4Ej1KyuEp4H-t zN3$xt;Zu(PNkI5mGfrVLuui1FAw2j zfs(p1r^KNjNoqRBhcUFKM3q){-1qk>&A`4tpt(vxoACTiI^MtJO6t^+I!FNSO#<** zW%Nw2Uf*yzO@2K}ezhf!;{x9d#lHXQ4+-C-=kqUlHRgBTLSvN&;?dcryATr@Ih6X5 z2+;Wqid^Qnf(IcwMXBYc=z>ncM3m(8s=pe735vtbVXdpavFo5#0Ub6Ims||Y{ibwn zKE%X6^|~m2*%Ex`3Du>3@dO{}F>}|` z<%3!JUWntpD7`1wAVKdRX}5yxGS6CzGz|ImHjV{cw%~NYLn+-)w!1-om=~M*&KX8X z2P?WFRk|dkqd6*vJWFdUWIIrIq`VjVbd;A-IdO{sk{eq@on0xgCckr}-sMs~tJSh?d+NJjHj}97~p8_t;E6s00dQb2nsP_-GgB4hgOoUn3 zo7lLIF%!Nx!h4Yz9e3;!ED>N_mEaSE#8bXqY6S?Na3(9cd+S)25Y5ezxl(OK)f^OF zz=l8;zHbix3ar;az+37r|FST=CDtGaZy#tU z1c;Vpg~vg1jr0`u*z3#CF`^}&RV$7nje$E;4DpBtEC(+a`$=XhqtuCs92{H~-o9FP zq#=sPdDog3TUNl6{yfgs-xq>M>iG=Ew?F%eA%2Zxe5fpXuhSqS;Z(wViaR9XsQ}oD z1MeY{KXM>n7xG4$4S+U2cfs|ulLQA5(rG2~xl59?sShWZbXcyl$r1NDgzc15qo<)iKtACh1Tb4qS0k+ztP{ZQR<~>}Fga_;pwP zZ2a|Kh4<8k?HW~l?92U*vA!qO0OtMecDm`t2$%ut4;|6aH#@kDVbPc_wiwMvN}sf$ zDNNU0ro$F|J@IOmS_q~{N8NB-DMf$X;piDgspQdRGd@{PWLn29FyY~)6z|LaS~G_4 z*V*e+R}Ale^jD#CgS`!^_?sHuJcjaj6!aPC256r>-cDVSF22$E@JPf`4`YB2RdneH zDlu%vOK6v@4?6Mo z^>cN7#)K>MAg!dO>+ENzz|H{#cr}w9UVx#ZM?VAphj)b~;|n%XwXH zOg5VCtT3#{r0*f1vJpNiva?*v-5QroX}gKJg6H zH9({TA5o=ruz8?wNML2DQ7T zgS`|5GY?nCF}B5*JBJA3 z?G#69*x3=3osQkXZ)@~(% z&PY2XIh|v%s!BF~QqN9mDonT{XnC!I<7}*Dl%c9x} zGv3=$gCT`DdJ>I}1x=`^0sQ5!ug70$Y4xO)#={b-=7s*b_5aAzJKb;e-d}6e?xMNZ z&w!@lc)JbQE%K+OyThqPp7AXH`#V;nnP`)soipoBf$95i*Uo;-K^*{fNQNXkue7bT zJRbdiPT@q3PQbwmvB~%eqb_~7oc2)|UQJ3dE7U|vL7abGvJTM!-O=m457%9UAMW`D z%8Lj6zq>JO=F^>AwAy3e-tt$Y`>&g`5A>b_d;L!B3`maoMT#=fcx@lbNuqY=9-;E2 z(i`{mdcrszYQEZn5f}Er>Itli3-yRy-D5&P?|-~)@lDidLB=cj&c;0)*x7>{=YzoYN(s5QvLyC>RdxSyp-?xZA>CW4Q~ z;e<&QVbx7)WL+qbZ!KYYk84EPQ+tBQt!jfmvT_ECm4mR)=$BF`0#0Xb75>*0#08g@rozU`9Sh!KMn0Sn(=#?*uz? zj^EN%zU=9LxzO*g$Va1RaJ3ST(RpzbTE}TK-#(8RdByIWVD^`#tC?tnWHmq7PO7?N zZ-8t%mCE;{*_Y$yd zm7&&naPXei4blf+20#fY-;$OZPiNC==WR=8Vr{kZz{~pDmDbsc4h_{^hj!dmL3fdZ z!tQ0Rb~+~MGHc+_b!SsGn1v(_ro2rn7j%Xf4wbV8(^~dZ)?56b#c{(X0KaCrK8mSd zf4y#lHm#@TxDBTJ6qf%v02c}$*nYWuX7*k7U?Z~&f8o>a1OlDgJY3?~!@^5x+q zmX~NUr8*wzq)3!^H!Q1|%aOV3dKwC*cl%4p+8% zNCL^;NTx7}VvvO|S6_I+c$P)HDg5?7H;_on-J=D?q22B91B(G`B-%CP!NbUh9_vf4^Q~>!;K+&O1C3$h*H7dd9`$@Dh zd6k0nJ-cH=v0o|ZoE%hMxu5pX$ygFdzO$H)54fHARn9TnI<<@06eZX#ESC#sXnOmw zvBvM)I&$V=3rs$o5H{fPJC^A!r4LZNz1_-EVS8hu(}533Nxi9~1P4Xl6b8mN4LVf^ z=Z7XSgn4hCHukEnfs+RrsC7;-1b2{@>qhWsclU-!UekI?a!P+07kPjYnEYWn;NNr1)~{LUJ&X z4>3IvHY*PIL2isgsRvi?Q<)j9)_()`+Yj6r0mi~>M;#ejx++;){uH!# zC|#3Yz!J~Ia<9Lh3BS6ywA8MqL)`|1eo3W1P-_6D;duS?)n+*DZw$-Xah*)`Hyv&O zI&F8$u+~O)B^6gz70(tMIaQP1 zx|jV=l&A6Jv;mRd(V36bJ|Ob(kyaYA4kF$@PPY26>Q&u!;s}t06w8UdD%35;dI2dH zB?k2-9u>Mmwc@);m)zsbjGlXVtnw%x#FGl!gbX%z@g-6XD&sqyTA#VY4|+hnbx?1o zQ}?H~&4HC)0;Tbs_#-flkF^4)zmiB;+97VZhzeNa0#jb__84;1!zfsEQE3D@iK>ia zI(0FHkyqi?ErgyRNb{q47=V|riXy0=WmlZ`{mJ6#4%0Q)g&x2ra zvGT*AQL=;XcFB^f?qF-_%CT=xXF-*2w%(x^)4Nje^Ms{)PU_S%aw}CGZ-fk{lSG>@ zdL43}sGBunAz*l@Lx6VSzY0~`AXplNe_S&+K|*bz*$?9LzXZ@bS|3n(cfTDJhZ2Ia zaF%0BB;IeV!bHmPe0h+)C5i}C9xn4Z#E(v_5Jo;xd>-pWhRlO5CTw4tU?S~|wW*^o zM%=U)bK?$b1Cg)Xx0;4NkoOJhtME z)KM0paW0ynN{np-!`Ms~@^B$o-Q{Gp4{DTM!Pc7M0ykN0$vV+cAtFp`fZ^(vJ$5E! z2JcrO$KlA)HsLNt-u72Fm!HN~Zuw>)XF4calz9FKgNNj9SUh~B9VSBs6llsz)2icB zz>(v1a$OcCHH9`HO_*h=OiPEfk*mY`0ofG;wT~XD8Ih`jBaNjsM)@d~Rba;PBp-D~ zl@cuvIPt4%`d2Uks?oBY^KZfOfnp;vAD(Il&Pb-PVmssf#a>be9mGoKV7xa%cuo{e zgDxp}X`RxCe4mP{LRt|_M8nQ-266sY*eF6=8DrBqsJ*yQ4n}5SLpfM$-(NSr*cHDa z%74c49AkOy0e1DYKQFU=US4@qgL6scpJWG8{f+;gel}BW5{Bj{+X)0!E_Y%SN~#Z< zEbOExHxq0MPSV62w0mY$D^t)U2L1X>U&?sHQz3<)lA7bC${-R0q?fG1&|BKa$Xw)u zD4HbsQV#!D+InNevuxWRrF1t*1t9humQ$U`c|H5AJPu1phLu+cmx3}lJ?&7;xR_Mv z0!Fe86QGXPSLM7h=zQe-WRTG>;cz9>guwMyJKj@{JTF1MVwHvqmt#Fe+Qf;-9|>lr z?MBB`Svdx}Ck~X^b=F6k$oyUv91beR3_^F!9thLp;XRjV6MiS+sqN>)2>ZTi{Bk1P zcls8z?0k6@htnqaTSIJ{?e>F=-nZTCL44!2Wk#c!f6^rSeOA}r4Rp;tv`PePLjc}?koky|C*@xtZBk;N%cpPjS~Lxv3Al9+3q#QO75K^jruUwMV79$qhq_ZWm>2L32+S+|1NKZqq z|6(rd9T<1C8nL*$e}Uq&vY$AlKfjyDg{#GldjAoc0xScbc+s9$`48TjvKuHG>>0}by%jga}r zF{=lutG}pMZ>Tkb`R0jsnq_o#Z%w4z^=5|+JFuepApOEt89_5Nb{(Z)_7YPYD0C1C zM;-4g!ocWGH$|LvurzXskIP!h4_u$(=dvu8NoImUWB)5VcS;KKPjkA?Gu{7k>G4et z9*}K<=)t4yRIjM1bO%G-9gfp0xd+-HdUlQVjgoT8xVy*6x!&O{jn)u$0~-IV68(^m z0-qN8Qn6Bx5E$s>ITd3kIj3s`s?GYO44DlY=gQmvZ3u zzQ)hn``q|%fyTap^>AIg4h8>SzUF%>O`u-rUogZ!IYX!@Ya#o`EOFFL06T~`T}JUr z)j;Z#5#eBLnH7i8awf8(mhC1=hkx&q+lN7LpGl0x^S~Qg8-6hBmiZ z*EnQ-J1*zP%`g^@iv`wOdE95T`?Qi+*R?^sfXA zK2E=VVa7w-_e(+7$CR5Odi->|buLn9#6HX>VlRR^dlYwYEL|Q+xYr}P!-cR|jk}>n z6kBQKiOJC)hJ>4MHZk8_nQS=TboHI!fMj-fv#b_^T*)PvUicT9YqZmuO9(glqj{&c z+RbY7TPU3e%brO!!g9Oa4hJdLFm0W9i$wH~e2>wN3LY=C8BsxyKjG25w*m7m5(kqA z(5iM=o|=JR9#WZ8q$2r&z#hhGr>m_? zGuzF;p*s$DW+S%qeK+OTp?~XszM1QHM*VWSdO6Jf*FS$vP?9PELxZ0P$}dIBUIg=n z-ZMdYd8XY0TW>lmh0*mW4P?-5FzD{cg;~sc;LuWWx0Bq5XPjsa{ZzL~F+W;f6&oo< zi6bK^#H2WEDIH%hCxT%38(mqk(??+}10T@>BCkI`}HT^OM<++7;B3KW?ua7*a z#^7tqAuxYUzOw(`q60`hlPYk#o#ioh=AMeFa%HY}awMdVyzJDt>W*iAPNKZ*PxnI7 zN?szDt8=8X`9J#&7lUfOU%=dqQB~`-_vRW z;{JX+D6)J~_iG0Vw}FCai)}3Cu?_|dgdK-Yg&i|kU})1nZL2itt8c2h;8e>au;SvJc3Ebe3{p2W5(0yG&Gja^Qea1z@WMNmRd=nnmT3)t-4v{j$iJ}v*PxWos7jgVYA`B#5lzEwMI+HH18 zKXUh)waAQ~G^*oR7W8>)g>xLLIuMVgAe^2kLx@Lqjy~->^#Es zzC-v(L$3b+{m*;l$=RI2|3*%8wc438(0bF1!6ddnMG*h3Mrp5K@6_n?j#@Kn_fNC~ zE?9R^zT$%_tfxmhULb@4tR1(7);S~b^tvd@Y1oNj(x|$tEbvlvO41Y0N|D8A)2-|U zXA4Sl=sCynsNV6o1KNrlzrQtn1YA2nk^^Wrf6)9^IWE5x-f5!Q1Wwa)?I1FV*?P@J zIUYFm9`9FR7=SMO$Z*3>m*{$_VOUUi3w?Uf<}1I$^U(T`{eRhevnExwrBU>G{fiUx z@e;KZ1d$VQPiz&iMNw4Hhy4X0BGO8a5%>G;Hv#*mwC0-oJluO?MXXs>K#nnTWah|j zWSYi|6qb9hLb}x|v;)VcI|3bL2%{#ro4J|(`w_)|xJCcLO0^eWDeK`r-G;Ks)klep zHEPm8@g#G{eAsJM_8r$7^@ebdxV;@Ss5hEdS4(0&uDZ$AScDbAWNq9skc!d@6P28} zVW%1q41d^fSL+=Y+WXc%oBV0sc;Ny0X%naq84Q}UnA!gxLpQh@>*-EjJ^zf6%#A_& z^aSBs!Gs<+h-`-%YNUzWrnBj@gAqDto6b7Z!>H1x5NW>2*28wA2bW@&{rxn_@PpZ4 zR1bQ2Gh=O-?e?f{|4xnJZ{tj#s&U|w1Z5o3T22bnOO^T$xhEe6e6}eMFO@s{Id{?dqd%7dnFMPNg(@m21Fh)C= ztl7<#Xv9O3r;#>wAh4KXVs781TG0|bq8T3z=Fl_23~Fv$uUB!@n^71s#19L0FE3ge z(@p~0(xZRS%k24q^JyaA<)YThtw4{xqW@{~!)2&f8*zOt462@;yK+CRqld-2oorX3 zLs-=|c<3`eS0+I+aFZwvDx)2j^ajkndPp>Vno1^$wW;Npr9ka=?YqiLhu<6p2~ift*>9l`2Ja^!HdFi zH{P@Tzk8)*MJNUFJrO{|iFLDwEDt<160U4QA#AbItcMO)>@KP`{N-%xY`Dx6ke-w^ zT8k6`JAn+aO}as?Mz2P|wb~g)Y6rKD2pwNK)LT&S@3+IdulDh0yOP^q=}UI}LyGwc z-^F0xZAkILXBvdgkj?rqB$q>HG#=J?@RyFXRcs*ZhDC@ku1^x&35cstgR}NIoe1ASFuvJt1IE0B`a2qk7FLUtJvf~%~thj)k&v|;dvu*gFTcDl|9P4DQH;GD^){E~^Y5M( zRlI!u4q?}|&n{oRo9uTLxh_!Njr~obs0)yHQ+X(R^!cZc)psu6zMK1{ILck+nh#0k z^8KZ_%JI{8L!atwTsks*IOgfYvj;wJ=zS{w{~?UiF?xn^I=sLC{;0#gL5q-|^zRZyzdgUTEwD&XH;b2?`)=r$eEV+13)4Me+Rs0}<=A)Mz2~}jw0Kv-D}0yFUhw&4vg@16VwVr!;^oB^rVE6(L!a;K9Jk_Lmpv*`m$`m;$Km0-EC1!E zyZ$8n$w?r#iu%H6zt`gS`{qn4?HpU(BW)UV6nZzQ^G1K4w|Y-7L`an<#;U4R|I)&4#@lkXDJ?_RGRUnfpITVB0>PoH`9*6PVc zkPrQ}3t$Sl^PvC<jji&oXnB`*xTbV$yFQrD! zTJlWTEb3Xym%Vv|@`%kqGa1aTj1q@-)$ziQCai!~VvW<+hlp35F;~O6dOJzQ#;#kj zQbs2HmP>2%BqF-q+1d9EgI=01<*v)W@@pf-|NftRdB0AriS7yJA=mJVem+IWQ`i^R z*GbeDkS}<8ilrt&hTHmb+9BO(P2E?ru(E96T-?!_s@CsdEZQG#2T|5Rc5KS%{<_j_ za(!?-v7tRSR*`=|suKFq1TBn;A|!FT8(Os3Dgbk6&H0^wm=>h(hC7O9lJ83atAb8C=3UK&TItaD5r&_ekLa z|3VFyzkTMQ4k*KH)J>_?bZD|(l{2LkscX*}2Fr7eZI2O8#dese} za1O&7lpe72 zYh%y1@OZxca0`!6VdIWJmD}|$?roWSiB@Baoe_S_?2M?6OqOE=?MOb;ox0d?3?<4K zyc0r2L7}%A>zcO@R;@)35{6?$u0zk7Or{oay?lTUnghHQ_vz+Y%)uJ&TVq`vCtnv# z{Q5UYn;P)iQ;eOIftM&dosd7o*$FNn?eyb^PXAdC@!O&6ie0}p>0_kXPdB?L)VC3i z(?drNXfE;SeOp@0WQ&>(z1mb*j<)z{-SVeArcRn}hiW!}4<=Tfue+-b-cNta>A%*# zHa^@2xhA_i54-Gxu6TKVLe^QL6|{Tv{P`~Ua()!QCS3G*>i={Xj&So`IR1Ft1@z77 zGwV>i!C}*iDz=+hy~XzjTK6zgBHZE+V`1fK+(sKQeqeUISwF3ZJ`=O@qOH)er>2lj zL$wB?&G3mKHf%o&Mg|RqOnx4kEV@s=*@Y)c{=-Hb#n6Ag1ldpTzx|*(*y)hHC%Usn zczofJ=#Eso)*u#CP$OQ{7CZj=Rn@WL@e5V*1nP+7 zg8x~mfS`g)f`0b5yC8qM#+zDNH%Pt(>pqL+3jHAN&SD|g5o&K457{}}19jSCBCKC$ zr)(Uk2Wz*3LghafYDZxNERfgT1h>fdhsc8pWq@TD8XM#K=sD|Mq5HLw;R^0i=RSoz za~1e8_g!_h3IuLd7mgoUe|r9a=6teaKi{G|xUf%GqkI)0FU0%Q{Hbo2lZMd3X@xk% zs}?S&Yp&Z#7uD#Lj4DKj-K5A+ zX$wKy^Duqy?{~9>UK!NKjZAeHHKN~3nuq4iWts7@iw0mK^ds$pw~ZS>>0vNHWzTqq zCh(+a|MTy^i^t`e@*qY}MtSb^$WIC|^e%PV&f3%^f#mHwg;+RMiZ8(BS3gQ&`|Drl z8RsTq4(l|<;`h^A1&oTK`dLwL{@1?)Y8F*xJlh$~~CaH^6}eD?Nx18q238h+*V zEWS3umm3l(xuAeBQoq!*M7VE}4I$e^V#c100m&*^vb$fQt2_U<@Byp`IU~ zt7ZWDs;6T3fBlkod1}wEyk7m;g#~~6fe-0ow>YdgKYc?j6+GAuxFPg@3f$F&S5Zz3+(*Q zUod@54Zm!lk5ah8`rzC14p_3SK!ry$_Q`m;{3sB28$d3pI+&XdL4Lk*6N+g5I z0eo^o;|=9N^5Gf3_cZfmg~0{M1z}>FyklZsY^8cxL`kw*sBVwX>VK1`!N4b}Zh;b1 z^R%=&kmKbs^o>_t%k@tay_yc3Oes{W1GT-x+zne5H-EzuQtN=z%gGj$OjNq}%DJA` zm~#gZb1_j^!eu4}+gv08c!(|=aCruvR!Gz!7{Rl&h!E*Z!K8&hV9Qr++o?d+A_oz7*|Chmw;83W5JF%X(bT zX-4@bedSx9e*_@UGSv7vpTB3}J9+(t_inLrMyvM?3w_5Wxk7wR?D zQ$A>4iW^om-^xW&3F7)Bxg8jU<9Xzl(zh#Is4Ww9!a!l3shys5`;wF5G>8a@A4j zl-UE@c&llG*FbiZ$l3)J%azw(PNwDx`o_q;8V?klujDA@KE})I5dcYdV-~1-rGl@)PL+3)hO}$8>xR6fkfE z|5d_zgM$g*GrWQ_Hi4x)+=g2 z5g}Xcu8sA!*=V_SO-}`A&(1FgDkBZgUZbn%?8_sin0=v~6|{Mcfd@75fHB03U5y zyEkb0mOL0AKw5NAs>STvNlh5`0w&q5Os#*|5X#zh7mkQ4T|za(y;kc>NC#UkP|rU-yt-K*JtN%jH|;{lpr7AZME@!<1-&!i8b8E3o^5Qo?fHIz5COgE z^*g@o1i9_{`i)!*diJ!SDk!#77MDB|55P0NuCr6XO1Q|h7o?>cUxu?O&05IKxX_%I z7JUMX(A&k@(0y6eHjxEhfMRC(5NB^eL4q)jqvu(cprJmSefiSqz`MtA@pKEmzru6% zWbwrdpRhs^roUm9E337Da+LC~200x9cX=pJXAGfANYZ)<=^WC1`f=dM9^_p;Bb8#F zFPOS`cDzYb+77qGT0Bp31@Gz1Y(s_9?X3Uh^5*P*0C!LrW=GG;lU4bK?aO(s^j~mr zUdgF@IaBZ%A4*5iAKsS2xs>ln>1F!pl&}tJ zqwUQV!DaCEepa0$I=UazlU-}t<-Im9fx}6naT{tX1>$6F+n&~^4gypS7SJwZ`T;kp zZWPiP_0!-u#+XC(v!0lA zo#95wh{0js>gd?=C*)obB@{8dDDFTRx%hsD$Xl-XgLu3G3~0Ri?K3RWm1JxVF@D^Q z32ckFCNbVsP<`B?xkA2eaGv>lhBrT`xZ|T zj8SC_JKg+A6%@R(d3ovUg%#qN0u$rx*1Gd)oOO*-Y?Mynn?v?&?SOq%Xsvgm<#;3% z&+ZSlXS;g|?Ek@?JpzSYJ^u9Bj!Ntt=W%bF`B__vP)||!+_>5iChAf{dx2~%+w@^N z%C=gVX<5pty;MfgJwKwo#b~I(q1p>ad&XWaCk{Ga9x6nN{)T>fb$k^Yc6;oXI_gUq zRX%>OOP-ctIgIR z5G0S_i~-Lu7>Ywd&{&!=w3{7vb8j`+EE2EU5clAaz@eZE*F5ZQ0)&9j++Fk1Kv3?Y z!o>y@vEY*lS0ebG4UtC&{(~06&NtS&mS~ohCry=MVDEHuDGx267w6*(YvPr?;96E5 z5W0$m7dW^HD7~;9pfh0cE(AtTK9RqEeQQyiJRwj-NV$&i-|3wb9Ayq1$tzR!HB!+)c1L&VL} z96c<}{#?61yUd=d_Gbr|y{hp3@M9 z(n0TWONq^v!BnI(7J6N6?LnXGt^2WAZRkJiLIKAuTn04!BHKrC^YS9OZHzqW$)uIv}{9-*=bK7b+FUiw)Dakj-7}5lPHgC- z$X%Fbo9dAQx(D%RHG+;xkB3l+qABo5%TzmqWGlJZeiC)Y9c{U+W)&mdLDGxCOg%>G zj(&6$7OQxB&V6r=o+Qbme7_Mp5QYEd(0RFS0c1MD{h>m1{^^}N!#-`^`46A%->Ap& z%ziHu6el{gfts--LH~h$uz_Cj{h+5f>jq)37ah}}Hxo*nOlHz}7{onczHuGfY0Z$N zL5Pg*Xl+Ahm^G9=O@GEocT`viq+4C`Ih$M`P2aid?oX$u`*h_6{gYdC0-Nv7>F3Wj zCL-1|Vr?KU+pBLk>Tulc%$gf}p0ZPaH$Y-X=BuW;a1)AKS2%J};nMwt8y_l*1xCzQ z}DuLvM{(jt(pNPks+kz)XEQlb_SUGD8FZDnN z@+~3r<9vb?pXT{o=d6q(hx1qsBJZT~Rc4EpAz*NxfaY+1_n(nkp=Q1J_`XoGzIBBf zQ1AM9gxvT@@2UH^0|{IdgdDj%Jp<}w1LOiNrT+Dl0geLlPZEC)GAI1}-_MACn(d5? zo3H%Ap`s!Oi(|*AXOmT0?ODRC(bUA539VXJTC62Fo~WbMq#H1cvC&?H`oghTmTq7y zFH4!41w=#LV0N_lQC4wrnp`x-d)M004{;*XH|NFu+qdfZ71h0RZyf)gK`V_?sfVOU z$n`kcc=tSUzp)qV3lhZg6x^fj^{~l#IQPhDpKEbXp~HS(ja9^n-`$T1CQ@4tSQD8y zEOE(b^}3i&=`jPsYjMD1fg@0;T3_oz)`KiSe|YSmW6y0D6u&;#YIO#`*(s z=D8<7HZh*;C}8D0PLXf&&dNv~Gti<@ljf>=h$+yVBHoUx9@*ebvW_jC)jEg{?4pV` zMs5cccBs&v#GbI1NvJkHlWihycI2ShT2OnbDR2Xa4Nf^G)|H02|_p&f}A`d!gBY81YS=Fx$6ItMf{277ViqM4+r-3d3{U{-y52xnu& z;r*yiG@2Rh=yFRVji3ijpQiyot+A^u5aO-o8Ljg z0eii}kkS_!(4H-R7TYz!(ZpoRE`|qxTX(j*WS@|;Im@;f?vTVf8IpXP)*L_>o$OtF zG?5N#Pj5*XtJ9)0X(Cu``jHv@>|DDr#Fc0$l!DwMy}047x$>46&WhEekOL|OS3;2r z0GDMTjWo+Mp&oW3ch3Fv-tZI9um?pt^>HL1QULpgMrE3<2{nH}O)y={Dq=GX=T=Wx zM|3Yd5UqKwR;_aslg0IlE8ta`^L)pJaCm49W|^5zN4*xail&^rYC4KP!6)IMlU-=^ z@fOBf3v>S@I1J0v;YQ0WZtvySie4vg+j)?6ZIr?MtE1tsU*DyY!V+bl1&~59e{dJUD3FF-DKaviZ2iwQj59#kaJcP} zp9Al7iN>HqOzCQ8!Qi^;6CG+i~&(;FmEXEDKQrvbW>(`C)jGNwE~gcoMe$j8 zpSc@uXSYXcS7-f}RJ*FH{DhJZnh#E|$jc{PUY(}Xn^4FWfL?AzNH-G6O`1n3~0k9z3 zJo;6_xL_Y{E*xk zN%$?*>X=yWzQO&&*>i=@kG13rL|8fO z=|@CY*R%BitKo=Tbq3qklwSAxB<vRU=5;;q2;yJ5ci6w*4J+3yx9&g~PQw>tLp*%+b1g$hOpA zHiVuS^jKg>Vuf&ri3j;2S53@c)7HrWe8oisfs)K}&$e@s%$RY(`kxWxrpD&{g8I zW~ZOdr!}VMO5qsE7EGOD6mno0sUmAlanqW#sCW^KoQjJqlRBlhL_wej4UE`MM(Yuh zu#E#V+|<_W$f}sBInUGIN)dW=6rZs3WUc>SKQ3}ZzD!2>lZ<_Ynje@Y{Ev=~?#Pa3 ziDpMChVG$wKvxO`k8*aVqt!=fe?p?O7BcDVmvaIV9D{|v6z1FQa=)mHYWF}62Y7c^ zpT#5A)uK98@yFFHxN2Van!W!t2cPKaV{SWr@c%~wd=+%LlC?k8Sjsf2Q`F^?lLb#3 zV=~fwp)+)rZ4_EscP%PxY{^vWIs^*^7xrKp&)QPkNwICaK_irPXe6pKX|is0O_7N) zU+#Mi*RvU&U35}X1?f}DnWL-ss7;+T+&{@~1x#SJ;@^*0Z9^l|vA{w)wlyFXCZ5lr zew;{7_WG{nN&RHe69%g)k8PrZYE9d<`oR>ImW(bFAN8HAn>2%jJTJfac zYV|KZg4e9}TuVFA|Nmi_?-cyUtfdDcDw3G6n209YAJoVpRdtoMw**nXY$y^p zfc8_{5M5Qdk(R_#D#lf}Loc5;y@q4^#7@VQ>9V-?3)jWD{Qgf+QDkBt!4~?8ZNqI! zF!})68$6`uNF6qvO0tqA6rb`|VjR?gq0%PRsj&?kbLO=nIX7+M(9&m#F{>tl%Qm|y z)!!5KO}~jADr7Y1gzagB)`Ky$DeQGGY;`F_`^xK0-6@L%dd`;+{FeBnay))TxM#|8G z>Z-A7&tnYYo@Q&9nO&kjLl7xI8kR#HW*uc5k2*cAidA+OKlOVo{_B*Fe<7}1GUbk& zLUF#L!o3BxCE;#IS^1_crSpJF@KT;s@y}8D06E8GQC|l}0cr%0Z}2#-MOmxTSIj2E ztz^Eo+-Kb`Ipd&y5E+VDTWR-jX47Af+wQ2|?QQq#eoLHjb-CR(#7TwN5J|ez=VXnT zG<#lO+0n6mIQk!sTo}4gdotydEOH>w zVa<)J<-25xhjqH2B6=im^_kP^n%n-mLk8|dn+fbt9M!aq)6EQJ zg|8YG#zbP$AJvW~!+F(3iv}p8qg7l;YJ0Zq+)w}0h%Jy(2#JzsxUlXVeC}_8?f%}` zH&qV(*cu(|>7Gz)<0>^bJS~zO7Y~~#%hU~Xyh~SuY8a)9xQ3$;io`7<|EZ5#2hbW;{J8>JqyVCN`(Z7s!OgV|8dsGh}vji?|U`4!L_87S|)RR#`Bx(AI=_s zHT#pB{@Lt_D&=EH)||4NZkHivbv}x)-Oh9~brZVrR+{d`8rI-xX}0JLjIE`hd}Bq~ z+^So}H6@dGo9U8VYwJxXb1a|j_UDuK@8G`vYW637c{Y1(m0C)#(OCtm+!09ARKd3F z&Spfa`@3$ff;w2APNJYq8S<7Nh}<-u?)pM=MA&U9HlkT)Qn9+uHjWz;bUE{!&4IeD zr0^Q|xrtJ_lze%R?|JE&)7+1d<#z>2k6BGepup(IpFqUr)s(*Hbq|@b!-Gp;o5oyr zTF7V*Ue~!%Co)ZKs?%l7S-Q!*&hZ^Kl>0G5r>et>ei{VA%w&-;K*ic2o6xbo=(UFv z%_bn*=qHx~kF!^-NK*{ISnK&Z+Cv`K-H}-uXGO;2fBo0%C<(~C6D$48rg8#B(>Kl}g;J_`+u9RZWx7W?HQR4R zJ}0LYtJ9b`SV-AIa3cW$i{IZ_lNAl_fgODwd1^tvdEcS*YJZ+!^z0t~Sg*Xn=n41* zp{Kt9K5zW9Pfv6C&|(LgE!9msN)5b!zq8~FSouY8N{3#~svcU}dv3?2R^zApvT zPwaP7NBx~{8{>;)ZMul3XSOaNO>Ewi`+h{#4imVd5JRz*vBD9Wxf-pd_8_E}`{vAI zmX4@z+(vy;hhEUzsw+WGAMJ2+R84G)r+-5@T@!Gw-9N|ZsnY2KBCjem{uGY|%$!_{ zAHE7mZ@6C8LzNxKel%>%Y&G7)bq;Iag?v37N+fMJl|3)2Th`JY5!IRYY*cXu3ah%T z6AzjbP?iSD7HN&^&6*&t`wy5A~qPTL2X1sl(cnV7^c1k_-WdQM&mQ; zp)ot|^vr~-nujg5^c&Q{SfqPAUUsp~q&|W~dc$K5vQYuzsLLI$>G#aJ)>}_|x|d93 z1XCnq7|r`_PuO6$dhRQ2PzWFleOl)`Ny zLwl=?PFlMK#Xj4%S1zc}^uKeN#D^7L6%&2Bz|0cbRA;-Hc1as$=2A;?H(MP@buQYh zHlceXk#L8Rfas~X-pn--KlInyVzykETFQushArl?wVGmP$LVwouPIJR^CvR!JoQ(c z3>W@EWqs@AmRvb~x1JG%XC5!HLu@VLgZ)-YTq zf{Ma0tPfO?$|i*{(M|fo9#9Z#5Pkql*o9(w=$K zsI4K@LqBbiBjz{Ie31mlSoF8Jg6nfoIr^gRywJvPFK|7>&MBYuhlj}(U^q{%euEYp z&>Zj0i6T1#b7-$tNNVF=qc65L_?EFu4wt3~v(lOvN41)!IkVQbn$b(#Rv>rCnd)1* z->r>f!gZHqW!`j|QE0C@0m>+@$@Wh;_cPJ-x{mh)Ca-Fo{}7We1_7+Tcv7_JxJsCK zDjOLg?o!opuRSpb^I8@~(*s*yZn_~cXto)GV8_OsBfzE8aoWhXTC=*HHM4YUhuW;G zBm%*%xxgG|y#O1NoBCKjGgr1zChHqKc~(c4n*3%lVBO_Lrbgb9Zo);P4x-olK1Siwy|!2Pw2=zR9QrV> z7X7JF;SqA#=+NH5WRjuWS*^z2pvTzSVl@f}!Bvj*2N9f71-n7pRacT%C-?dN%PqyH zI6kSLKl4o8L%&Awalit*@3>s8+07Lb4XRe$@*1HX4M`B80|!MiY^^5axtE7IM4zqe zCfe!gh859Mom)=A1RJwzD{l5hE37x6)ln$yQ?ELYs#l%heh<6l0=_xGZ!6+Ipf&e| z{J1Syxyx6O0i{>JffFMK`i5AOaTLSVwGloKa9=whVP+*s(q5omV2l=Hv#)Wr=3JbQ zM7^@3Crb?JG8NFK!3U@!yA}jon!?z|#@d!pQ913pN-`Zh)0pp>I-hBxDK8^ud13NX zFy&{Ib`AN6lG8w61=KevIoS2IHSt)GY+T)?{CZc=X|1OYvj#RBh-%oD7+&f3RY@V5 z1KS{4qtSXOIhv6UaLco#8o%!?)MVIdcbJOV>^K&U|0C__=^0|bXwC>lf6o5+XUgBQ zIZGF*KHZPHb*Ibpf>^JcSj$z>ez!-hpq{NEvTR)8W~RD5)D+avIlBo}la89OS3yDjF!{=qi2ybOEF{=&A^#fHu~1 zwjJ;Hsz@hkjBT_esbu@@NSjTEM0?>5Yr8q#aaG(LFhjIDBbiLA6Due=XW-pw+6bDA zL{J`7M`pU@+W%RxxsrS?hUKdR>}XCr;_Isa!4DCZg9LQt|9q8QfZky%g~I$@OrF?S z9o5oV-B`^yV>8bLCd4~aVjwlZMX^NMI46wwy|AU+QI99X1J)T1W)>?OEk$3A(#-}s z6}K1D4x(B``o_KdET(kocJZ)e?9!a*H&$Hs7CEiE7z8v#Xm|8x@pN~;g?PbEV}xOb zQnTfDD4YE%X^tXW5_c-SPNiTt=lZL9q%{_+{th>X{A9sYFnitI*3#9%7_n&TK_M(F zu?3>mogx>>`6RKfB#q<716>^L$UIf#Yb}Rm`HF1(wBy%(6Gr40XjWwhA?WXBYS7goW z)ue+nU-rC%(%yKJR&DOk)|8kz_8LlXTC+xj3g`U}3t50JmHPS&l&cF_UsTRV9uJ>h zqt30h-wU}rZs-*_fOcL5ls8N7&(+0pM9u7^+T6L#O}qoc58okn2h*0wGssh3T1)e&yT{!xw?gK8y zFf3a(J`sJO`2JR$>I4-KbovpHl&jI-)5jDdOXLXeJ0hV^5-jlIAt_kaCfcBa++F)C zuiZ6TR$JQjtY~AP0yl!jD_E!5yOn)Us1=J)vpeUP`5jNnuaaWTFv1zI3>dk#i+sKzW1 zxS%HTBW2ZNAZcpR-_!#cvZ!MksjZ&+N$$z{&VlzZ@jTD#JGUjnY=dDy*XPi-8qL^k zGtR2*onK!hw#SKkw$)asq)H}>NN34}av%#S9Yzb=(PuqR7wSRWcI^5>P7rRjb?NrN z8E-zC_??&b$;9)fEhnOThI6NFb~`;hAy;~HJu-bJswy#pr=vwhqW2;~XKT3Vp>X3# zVtRBZZFG?C%-WGtvf1i2jD|Bv7fCe<2fTsOh{cc1Ex!B>o%3ikKtku~sQk<=2u>r_ zd@Y@GQSy6kfh)kkc2~a@;_03B+O;s0s-3#{bF?P;(=dwA!o+s`WlG*qx`zTQgau-BX&f*zkJp;T{qE3<0V z*1T9x_hPo)91a}HwB<>qv5^@ksP;BZ^f5jJWthe^+kjb=N#- zE|%*KPce4lp&w(c1Y07j{P`naU8=>M@l+F*9gfs1=Df8!@cXtutqhh;7h$WJ!K+Z+ zke&7ADkluXjGZlJ^SauPD)It{hL~h;v!Q$9-mO!!E{nN%-(a5c# zkt>#ECcT~C>@3I~X)pB7NIA?VwXV?}3~0%!D}A1Z+fqMia(z*czws`f%ELWi=@f)G zc_Kb)i+(&23ZQ_h;@__$q&N7ITX;sz>A5r$xYXuwu8S<4XbRe4+uPRI;iTn?F4w|P zT8P<2Go3D&F2kj@*>H;-=Bp*whO#=wUOpVE6MX7xHFQ%MKhuOx3wkKLQsS$e^V?A2 z-D?l%gJ!sShT3VcA7k$rtUM#JoX}SZ_6;hHF$J{^%~jfUpoNHRE*I69?KT&5#*BOY ziNC<2Rkhwt8D32hJ8T4ri3sGpnfLkW*E&@P$+qLKqQ-ehRTa%0(3Z@ zsY7c%)yxY=J`>V;HvS1C&lH`GCnRwujn(nkT9DOPaSpp3z7dI3tgzrjsyh=VM43@W z+W4xi9t;$zDA8ihH}`gDvp+b&csgPab8e@GptUt*Dva8>n7B;yc}0?k%_}Ra{BZN0 zz=qwsls*A_F|X6|X72>*FhVlKAhJLl?5DYTolxG&k~p z7)v-p%NJR~Ej$J9HlANL!|hDQY-}+|qgbG8G~cdtG6bA8<0d+6MzaR!ozo~zkWsTO z$eP4VkWp7%u%tg8S@pdtr;FM=((FV|OoT*){#CZ!quO=rZ~5=s-%>kjolqxC)7{X3 z>aRu7F6dx>s(oop#_=11obj=gazo!W)CGcq2pR7>I8e}>v zjm02P2XiH8t;A}Z&rE*1n5?%wt(W);Z}$&-ttrqwM+JMR<#?4oxL5UA(7=GN4%Ir< zZS*R+h`U|iS5o#ed?5YnWUCJq&H`Zt!1GFT=&;<}1p0otCSqh=CgOD=sS8R(dz}e~ zfC!(=?I9ZE;NFGK3|Sg@9-gBg|I{bm2V+W55)xf zcDaxd9)2lhf6|BL=Izc-UZZECd%7AWBh_L_gcB+ah1SWcZ0j{_ooTDiDmCb6Vz1J{ zuxU+per?yuhADy%Op|EL$0UtS);impwB0xoq7?%*4(roSUAky^kHovyl&C05hnLdo zJLl}_-C|YXXuNXFLQddmUGU)9%IvY%NCs-WBc-%WHV#8QsjQkveFo>F%V6zF-aCA| zozfWiImr1aY3fiAs^tx*X}fBVwZqWDTh(+ya#giGuJe^~Rob4_I2iO{ZMiG7aDnC= zdFKEvmU(>sWI5#*b;eRVt~bIN zvQuiYS(#??K;)|+YcnylhXPks5P3bHF|iV$JR^6pd^x~352clg*7ByNd9r21PgR1v z_2N%uMNX(^pgAku`~ecGax8q$PAdmj6Kurn*9f&SgauUSQk`8kLFLAB6cLMqE7<8Y${gYww~UeOQX_M3=w*ohN}E zHKV`aHk(&m49ZXAGjaafMz)+^82u_~10Lp>%duYM02iNW&Kg<;7)7P;k~#ob$tO>U zC8zz9y#F{TQNRPF7ykmT^R(JCu3xYaKNZ<-1W6Mb9Zvdu?2MLVUp2K5-Bm+k9E}6^ z!1ISdGid@_S&jXC!}fT_0JU`Ai@RcH(H-j&LUt-~doDhl=jS)^w3GpkN}ZoNO1#?lT1iE1LOHJnOB11HttfN?>=a0QJeq!~mL@xS&he?&=Eca( z&l?aw&`kjxbxv6@HZP;_U{36w+7gYQN1f$eoFj7=g9`ONz)Ur&zb~lqDxX`lpU%6yce@L?EPJ9uxu;w$DXW)Vxem_yLD9$k8n;CV zu2i%C`UO?t!68`KaQXRn-()h!Q655;pW8S&hyL^wzCb+g!4ZDJ?(fcDF|7_#XegO7 zWE*X4O^(s^rNtPVy|@aO@>F-DzUw0*x8|Km#thI}tTSS^7)2f_xSHk;xxmNG4Y94S z$0CaMPy%Xio_%8vD%CGQK!Kb*o8y5X?Y&o)$$a2;h)i7c-Vepzvzy5|lsEisHRfmt zh4+Zbbkt|-Y+PT(8mGZ!1jRyX^XYifaw^ctC7EutMUAZn*(x=6PGtAn9el*a`%OkA zGtzGBiN_0jY}53nS1QRPN)#i6czq}rO}zdaR(jDu%Fx6YU$2c#|ooO3Vj$hS&2R*riBK%83~l=9_yE(HWE?qI(-jZf9UhKDh({(V%(V5u;}pBj|x3f1yh@ z>}v7sDy&vK3(k!x;F}Y-=TAy;{a?_C0uq%9Yd

fdRp(w9jWMiYANgxF5Mk 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

HUx$=|4A3;Yoj-cL1OoX7lTH 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 diff --git a/bundle/package.json b/bundle/package.json index 8432e9931..6adb569ce 100644 --- a/bundle/package.json +++ b/bundle/package.json @@ -9,8 +9,10 @@ "depcheck": "node scripts/depcheck.js", "syncdeps": "node scripts/install.js", "build": "node scripts/build.js", - "start": "node scripts/build.js && node dist/bundle/src/start.js", - "start:bundle": "node dist/bundle/src/start.js", + "start": "node scripts/build.js && node --enable-source-maps dist/bundle/src/start.js", + "start:bundle": "node --enable-source-maps dist/bundle/src/start.js", + "start:bundle:dbg": "node --enable-source-maps --inspect dist/bundle/src/start.js", + "start:bundle:vscode-dbg": "npm run build clean logerrors pretty-errors && node --enable-source-maps --inspect dist/bundle/src/start.js", "test": "echo \"Error: no test specified\" && exit 1", "migrate": "cd ../util/ && npm i && node --require ts-node/register node_modules/typeorm/cli.js -f ../util/ormconfig.json migration:run", "tsnode": "npx ts-node --transpile-only -P tsnode.tsconfig.json src/start.ts" @@ -27,28 +29,73 @@ }, "homepage": "https://fosscord.com", "devDependencies": { + "@babel/core": "^7.18.9", + "@babel/preset-env": "^7.18.9", + "@babel/preset-typescript": "^7.15.0", + "@types/amqplib": "^0.8.1", + "@types/bcrypt": "^5.0.0", + "@types/body-parser": "^1.19.0", "@types/dotenv": "^8.2.0", "@types/express": "^4.17.12", + "@types/i18next-node-fs-backend": "^2.1.0", + "@types/jsonwebtoken": "^8.5.8", + "@types/morgan": "^1.9.3", + "@types/multer": "^1.4.7", "@types/node": "^18.0.6", "@types/node-os-utils": "^1.3.0", + "@types/ws": "^8.5.3", + "jest": "^28.1.3", + "jest-expect-message": "^1.0.2", "ts-node": "^10.2.1", + "ts-node-dev": "^2.0.0", "ts-patch": "^2.0.1", - "typescript": "^4.2.3" + "typescript": "^4.2.3", + "typescript-json-schema": "^0.54.0" }, "dependencies": { + "@aws-sdk/client-s3": "^3.137.0", + "@babel/preset-typescript": "^7.15.0", "@fosscord/api": "file:../api", "@fosscord/cdn": "file:../cdn", "@fosscord/gateway": "file:../gateway", "@ovos-media/ts-transform-paths": "^1.7.18-1", "@sentry/node": "^7.7.0", "@sentry/tracing": "^7.7.0", + "@types/node-fetch": "^2.6.2", + "ajv": "8.6.2", + "ajv-formats": "^2.1.1", + "amqplib": "^0.10.1", + "bcrypt": "^5.0.1", + "body-parser": "^1.19.0", + "canvas": "^2.9.3", + "cheerio": "^1.0.0-rc.10", "dotenv": "^16.0.1", + "exif-be-gone": "^1.3.0", "express": "^4.17.1", + "file-type": "16.5", + "form-data": "^4.0.0", + "i18next": "^21.8.14", + "i18next-http-middleware": "^3.1.3", + "i18next-node-fs-backend": "^2.1.3", + "image-size": "^1.0.0", + "jest": "^28.1.3", + "jsonwebtoken": "^8.5.1", + "lambert-server": "^1.2.12", + "missing-native-js-functions": "^1.2.18", + "morgan": "^1.10.0", + "multer": "^1.4.5-lts.1", + "mysql2": "^2.3.3", + "node-2fa": "^2.0.3", "node-fetch": "^2.6.7", "node-os-utils": "^1.3.7", "patch-package": "^6.4.7", + "pg": "^8.7.3", "picocolors": "^1.0.0", + "proxy-agent": "^5.0.0", "reflect-metadata": "^0.1.13", + "sqlite3": "^5.0.11", + "supertest": "^6.1.6", + "typeorm": "^0.3.7", "typescript": "^4.1.2", "ws": "^8.8.1" } diff --git a/cdn/tsconfig.json b/cdn/tsconfig.json index 94cc7b586..85b35f557 100644 --- a/cdn/tsconfig.json +++ b/cdn/tsconfig.json @@ -17,7 +17,7 @@ "declaration": true /* Generates corresponding '.d.ts' file. */, "declarationMap": false /* Generates a sourcemap for each corresponding '.d.ts' file. */, "inlineSourceMap": true /* Emit a single file with source maps instead of having a separate file. */, - // "sourceMap": true /* Generates corresponding '.map' file. */, + "sourceMap": true /* Generates corresponding '.map' file. */, // "outFile": "./", /* Concatenate and emit output to single file. */ "outDir": "./dist/" /* Redirect output structure to the directory. */, "rootDir": "./src/" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, diff --git a/gateway/src/events/Connection.ts b/gateway/src/events/Connection.ts index c1bb73b67..508b4741d 100644 --- a/gateway/src/events/Connection.ts +++ b/gateway/src/events/Connection.ts @@ -27,6 +27,21 @@ export async function Connection( socket.on("close", Close); // @ts-ignore socket.on("message", Message); + + if(process.env.WS_LOGEVENTS) + [ + "close", + "error", + "upgrade", + //"message", + "open", + "ping", + "pong", + "unexpected-response" + ].forEach(x=>{ + socket.on(x, y => console.log(x, y)); + }); + console.log(`[Gateway] Connections: ${this.clients.size}`); const { searchParams } = new URL(`http://localhost${request.url}`); diff --git a/gateway/src/events/Message.ts b/gateway/src/events/Message.ts index 313287841..71b6f2069 100644 --- a/gateway/src/events/Message.ts +++ b/gateway/src/events/Message.ts @@ -15,17 +15,33 @@ const PayloadSchema = { $t: String, }; -export async function Message(this: WebSocket, buffer: WS.Data) { +export async function Message(this: WebSocket, buffer: WS.RawData) { // TODO: compression let data: Payload; if (this.encoding === "etf" && buffer instanceof Buffer) data = erlpack.unpack(buffer); - else if (this.encoding === "json" && typeof buffer === "string") - data = JSON.parse(buffer); - else return; + else if (this.encoding === "json") + data = JSON.parse(buffer as unknown as string); //TODO: is this even correct?? seems to work for web clients... + else if(/--debug|--inspect/.test(process.execArgv.join(' '))) { + debugger; + return; + } + else { + console.log("Invalid gateway connection! Use a debugger to inspect!"); + return; + } - check.call(this, PayloadSchema, data); + if(process.env.WS_VERBOSE) + console.log(`[Websocket] Incomming message: ${JSON.stringify(data)}`); + if(data.op !== 1) + check.call(this, PayloadSchema, data); + else { //custom validation for numbers, because heartbeat + if(data.s || data.t || typeof data.d !== "number") { + console.log("Invalid heartbeat..."); + this.close(CLOSECODES.Decode_error); + } + } // @ts-ignore const OPCodeHandler = OPCodeHandlers[data.op]; diff --git a/gateway/src/opcodes/Heartbeat.ts b/gateway/src/opcodes/Heartbeat.ts index 50394130d..42b72d4b7 100644 --- a/gateway/src/opcodes/Heartbeat.ts +++ b/gateway/src/opcodes/Heartbeat.ts @@ -2,7 +2,7 @@ import { Payload, WebSocket } from "@fosscord/gateway"; import { setHeartbeat } from "../util/Heartbeat"; import { Send } from "../util/Send"; -export async function onHeartbeat(this: WebSocket, data: Payload) { +export async function onHeartbeat(this: WebSocket, _data: Payload) { // TODO: validate payload setHeartbeat(this); diff --git a/gateway/src/opcodes/Identify.ts b/gateway/src/opcodes/Identify.ts index 13d555597..c6c24fcda 100644 --- a/gateway/src/opcodes/Identify.ts +++ b/gateway/src/opcodes/Identify.ts @@ -83,7 +83,7 @@ export async function onIdentify(this: WebSocket, data: Payload) { // TODO: public user selection }), // save the session and delete it when the websocket is closed - new Session({ + Object.assign(new Session(),{ user_id: this.user_id, session_id: session_id, // TODO: check if status is only one of: online, dnd, offline, idle diff --git a/gateway/src/opcodes/LazyRequest.ts b/gateway/src/opcodes/LazyRequest.ts index 974769e94..0dbdb5261 100644 --- a/gateway/src/opcodes/LazyRequest.ts +++ b/gateway/src/opcodes/LazyRequest.ts @@ -1,4 +1,4 @@ -import { getPermission, listenEvent, Member, Role } from "@fosscord/util"; +import { getPermission, listenEvent, Member, Role, initDatabase } from "@fosscord/util"; import { LazyRequest } from "../schema/LazyRequest"; import { Send } from "../util/Send"; import { OPCODES } from "../util/Constants"; @@ -15,8 +15,9 @@ async function getMembers(guild_id: string, range: [number, number]) { throw new Error("range is not a valid array"); } // TODO: wait for typeorm to implement ordering for .find queries https://github.com/typeorm/typeorm/issues/2620 + // TODO: rewrite this, released in 0.3.0 - let members = await getRepository(Member) + let members = await (await initDatabase()).getRepository(Member) .createQueryBuilder("member") .where("member.guild_id = :guild_id", { guild_id }) .leftJoinAndSelect("member.roles", "role") diff --git a/gateway/src/opcodes/VoiceStateUpdate.ts b/gateway/src/opcodes/VoiceStateUpdate.ts index 7f7db9b02..1f7c2f1b5 100644 --- a/gateway/src/opcodes/VoiceStateUpdate.ts +++ b/gateway/src/opcodes/VoiceStateUpdate.ts @@ -47,9 +47,9 @@ export async function onVoiceStateUpdate(this: WebSocket, data: Payload) { //The event send by Discord's client on channel leave has both guild_id and channel_id as null if (body.guild_id === null) body.guild_id = voiceState.guild_id; - voiceState.assign(body); + voiceState = Object.assign(voiceState, body); } catch (error) { - voiceState = new VoiceState({ + voiceState = Object.assign(new VoiceState(), { ...body, user_id: this.user_id, deaf: false, diff --git a/gateway/src/util/Send.ts b/gateway/src/util/Send.ts index dbe2e7899..2a28d8e01 100644 --- a/gateway/src/util/Send.ts +++ b/gateway/src/util/Send.ts @@ -7,6 +7,8 @@ try { import { Payload, WebSocket } from "@fosscord/gateway"; export async function Send(socket: WebSocket, data: Payload) { + if(process.env.WS_VERBOSE) + console.log(`[Websocket] Outgoing message: ${JSON.stringify(data)}`); let buffer: Buffer | string; if (socket.encoding === "etf") buffer = erlpack.pack(data); // TODO: encode circular object diff --git a/gateway/tsconfig.json b/gateway/tsconfig.json index 70407c6b0..9f855d333 100644 --- a/gateway/tsconfig.json +++ b/gateway/tsconfig.json @@ -18,7 +18,7 @@ // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ "declaration": true /* Generates corresponding '.d.ts' file. */, "declarationMap": false /* Generates a sourcemap for each corresponding '.d.ts' file. */, - // "sourceMap": true /* Generates corresponding '.map' file. */, + "sourceMap": true /* Generates corresponding '.map' file. */, // "outFile": "./", /* Concatenate and emit output to single file. */ "outDir": "./dist/" /* Redirect output structure to the directory. */, "rootDir": "./src/" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, diff --git a/util/src/entities/BaseClass.ts b/util/src/entities/BaseClass.ts index 0cb885fae..1ab75a5a4 100644 --- a/util/src/entities/BaseClass.ts +++ b/util/src/entities/BaseClass.ts @@ -1,11 +1,12 @@ import "reflect-metadata"; -import { BaseEntity, EntityMetadata, ObjectIdColumn, PrimaryColumn, FindOptionsWhere } from "typeorm"; +import { BaseEntity, EntityMetadata, ObjectIdColumn, PrimaryColumn, FindOptionsWhere, Generated, SaveOptions } from "typeorm"; import { Snowflake } from "../util/Snowflake"; export class BaseClassWithoutId extends BaseEntity { constructor(props?: any) { super(); - this.assign(props); + if(props != undefined && props != null && Object.keys(props).length > 0) + this.assign(props); } assign(props: any = {}) { @@ -13,8 +14,11 @@ export class BaseClassWithoutId extends BaseEntity { delete props.opts; delete props.props; // will not include relational properties - - for (const key in props) { + console.warn("WARNING: BaseClass.assign called! This will probably fail!"); + console.warn(this) + Object.assign(this,props); + if(/--debug|--inspect/.test(process.execArgv.join(' '))) debugger; + /*for (const key in props) { // @ts-ignore const setter = this[`set${key.capitalize()}`]; // use setter function if it exists @@ -24,7 +28,7 @@ export class BaseClassWithoutId extends BaseEntity { // @ts-ignore this[key] = props[key]; } - } + }*/ } } @@ -35,8 +39,13 @@ export class BaseClass extends BaseClassWithoutId { id: string; assign(props: any = {}) { - super.assign(props); + super.assign(props); if (!this.id) this.id = Snowflake.generate(); return this; } + + save(options?: SaveOptions | undefined): Promise { + if (!this.id) this.id = Snowflake.generate(); + return super.save(options); + } } diff --git a/util/src/entities/Channel.ts b/util/src/entities/Channel.ts index 5ccb43ce9..a7ca647b4 100644 --- a/util/src/entities/Channel.ts +++ b/util/src/entities/Channel.ts @@ -222,7 +222,7 @@ export class Channel extends BaseClass { }; await Promise.all([ - new Channel(channel).save(), + Object.assign(new Channel(),channel).save(), !opts?.skipEventEmit ? emitEvent({ event: "CHANNEL_CREATE", @@ -263,7 +263,8 @@ export class Channel extends BaseClass { if (containsAll(re, channelRecipients)) { if (channel == null) { channel = ur.channel; - await ur.assign({ closed: false }).save(); + ur = Object.assign(ur, { closed: false }); + await ur.save(); } } } @@ -272,7 +273,7 @@ export class Channel extends BaseClass { if (channel == null) { name = trimSpecial(name); - channel = await new Channel({ + channel = await (Object.assign(new Channel(), { name, type, owner_id: type === ChannelType.DM ? undefined : null, // 1:1 DMs are ownerless in fosscord-server @@ -280,9 +281,9 @@ export class Channel extends BaseClass { last_message_id: null, recipients: channelRecipients.map( (x) => - new Recipient({ user_id: x, closed: !(type === ChannelType.GROUP_DM || x === creator_user_id) }) + Object.assign(new Recipient(), { user_id: x, closed: !(type === ChannelType.GROUP_DM || x === creator_user_id) }) ), - }).save(); + }) as Channel).save(); } const channel_dto = await DmChannelDTO.from(channel); diff --git a/util/src/entities/Config.ts b/util/src/entities/Config.ts index c84ea4aa0..901a5e549 100644 --- a/util/src/entities/Config.ts +++ b/util/src/entities/Config.ts @@ -129,6 +129,7 @@ export interface ConfigValue { requireCaptcha: boolean; }; register: { + defaultRights: string; email: { required: boolean; allowlist: boolean; @@ -349,6 +350,7 @@ export const DefaultConfigOptions: ConfigValue = { minSymbols: 0, }, incrementingDiscriminators: false, + defaultRights: "0" }, regions: { default: "fosscord", diff --git a/util/src/entities/Guild.ts b/util/src/entities/Guild.ts index 328c586ef..058033e8c 100644 --- a/util/src/entities/Guild.ts +++ b/util/src/entities/Guild.ts @@ -285,7 +285,7 @@ export class Guild extends BaseClass { }) { const guild_id = Snowflake.generate(); - const guild = await new Guild({ + const guild: Guild = Object.assign(new Guild(),{ name: body.name || "Fosscord", icon: await handleFile(`/icons/${guild_id}`, body.icon as string), region: Config.get().regions.default, @@ -316,11 +316,12 @@ export class Guild extends BaseClass { welcome_channels: [], }, widget_enabled: true, // NB: don't set it as false to prevent artificial restrictions - }).save(); + }); + await guild.save(); // we have to create the role _after_ the guild because else we would get a "SQLITE_CONSTRAINT: FOREIGN KEY constraint failed" error // TODO: make the @everyone a pseudorole that is dynamically generated at runtime so we can save storage - await new Role({ + let role: Role = Object.assign(new Role(), { id: guild_id, guild_id: guild_id, color: 0, @@ -333,7 +334,8 @@ export class Guild extends BaseClass { position: 0, icon: null, unicode_emoji: null - }).save(); + }); + await role.save(); if (!body.channels || !body.channels.length) body.channels = [{ id: "01", type: 0, name: "general" }]; diff --git a/util/src/entities/Member.ts b/util/src/entities/Member.ts index 7ca50992a..e4aa8331b 100644 --- a/util/src/entities/Member.ts +++ b/util/src/entities/Member.ts @@ -85,8 +85,8 @@ export class Member extends BaseClassWithoutId { @Column() joined_at: Date; - @Column({ type: "bigint", nullable: true }) - premium_since?: number; + @Column({ nullable: true }) + premium_since?: Date; @Column() deaf: boolean; @@ -161,7 +161,7 @@ export class Member extends BaseClassWithoutId { }), Role.findOneOrFail({ where: { id: role_id, guild_id }, select: ["id"] }), ]); - member.roles.push(new Role({ id: role_id })); + member.roles.push(Object.assign(new Role(), { id: role_id })); await Promise.all([ member.save(), @@ -264,9 +264,9 @@ export class Member extends BaseClassWithoutId { //TODO: check for bugs if(guild.member_count) guild.member_count++; await Promise.all([ - new Member({ + Object.assign(new Member(), { ...member, - roles: [new Role({ id: guild_id })], + roles: [Object.assign(new Role(), { id: guild_id })], // read_state: {}, settings: { channel_overrides: [], diff --git a/util/src/entities/User.ts b/util/src/entities/User.ts index 7d5dc5a6e..81017c2d9 100644 --- a/util/src/entities/User.ts +++ b/util/src/entities/User.ts @@ -255,7 +255,7 @@ export class User extends BaseClass { // if nsfw_allowed is null/undefined it'll require date_of_birth to set it to true/false const language = req.language === "en" ? "en-US" : req.language || "en-US"; - const user = new User({ + const user = Object.assign(new User(), { created_at: new Date(), username: username, discriminator, @@ -275,7 +275,7 @@ export class User extends BaseClass { disabled: false, deleted: false, email: email, - rights: "0", // TODO: grant rights correctly, as 0 actually stands for no rights at all + rights: Config.get().register.defaultRights, // TODO: grant rights correctly, as 0 actually stands for no rights at all nsfw_allowed: true, // TODO: depending on age public_flags: "0", flags: "0", // TODO: generate @@ -289,6 +289,8 @@ export class User extends BaseClass { notes: {}, }); + console.log("new user") + console.log(user); await user.save(); setImmediate(async () => { diff --git a/util/src/migrations/mariadb/1659921859145-premium_since_as_date.ts b/util/src/migrations/mariadb/1659921859145-premium_since_as_date.ts new file mode 100644 index 000000000..de173cfe6 --- /dev/null +++ b/util/src/migrations/mariadb/1659921859145-premium_since_as_date.ts @@ -0,0 +1,26 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class premiumSinceAsDate1659921859145 implements MigrationInterface { + name = 'premiumSinceAsDate1659921859145' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + ALTER TABLE \`members\` DROP COLUMN \`premium_since\` + `); + await queryRunner.query(` + ALTER TABLE \`members\` + ADD \`premium_since\` datetime NULL + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + ALTER TABLE \`members\` DROP COLUMN \`premium_since\` + `); + await queryRunner.query(` + ALTER TABLE \`members\` + ADD \`premium_since\` bigint NULL + `); + } + +} diff --git a/util/src/migrations/postgres/1659921826567-premium_since_as_date.ts b/util/src/migrations/postgres/1659921826567-premium_since_as_date.ts new file mode 100644 index 000000000..ac1e2edb7 --- /dev/null +++ b/util/src/migrations/postgres/1659921826567-premium_since_as_date.ts @@ -0,0 +1,26 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class premiumSinceAsDate1659921826567 implements MigrationInterface { + name = 'premiumSinceAsDate1659921826567' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + ALTER TABLE "members" DROP COLUMN "premium_since" + `); + await queryRunner.query(` + ALTER TABLE "members" + ADD "premium_since" TIMESTAMP + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + ALTER TABLE "members" DROP COLUMN "premium_since" + `); + await queryRunner.query(` + ALTER TABLE "members" + ADD "premium_since" bigint + `); + } + +} diff --git a/util/src/migrations/sqlite/1659921722863-premium_since_as_date.ts b/util/src/migrations/sqlite/1659921722863-premium_since_as_date.ts new file mode 100644 index 000000000..788be6257 --- /dev/null +++ b/util/src/migrations/sqlite/1659921722863-premium_since_as_date.ts @@ -0,0 +1,252 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class premiumSinceAsDate1659921722863 implements MigrationInterface { + name = 'premiumSinceAsDate1659921722863' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + DROP INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" + `); + await queryRunner.query(` + CREATE TABLE "temporary_members" ( + "index" integer PRIMARY KEY AUTOINCREMENT NOT NULL, + "id" varchar NOT NULL, + "guild_id" varchar NOT NULL, + "nick" varchar, + "joined_at" datetime NOT NULL, + "premium_since" bigint, + "deaf" boolean NOT NULL, + "mute" boolean NOT NULL, + "pending" boolean NOT NULL, + "settings" text NOT NULL, + "last_message_id" varchar, + "joined_by" varchar, + CONSTRAINT "FK_16aceddd5b89825b8ed6029ad1c" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_28b53062261b996d9c99fa12404" FOREIGN KEY ("id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_members"( + "index", + "id", + "guild_id", + "nick", + "joined_at", + "premium_since", + "deaf", + "mute", + "pending", + "settings", + "last_message_id", + "joined_by" + ) + SELECT "index", + "id", + "guild_id", + "nick", + "joined_at", + "premium_since", + "deaf", + "mute", + "pending", + "settings", + "last_message_id", + "joined_by" + FROM "members" + `); + await queryRunner.query(` + DROP TABLE "members" + `); + await queryRunner.query(` + ALTER TABLE "temporary_members" + RENAME TO "members" + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" ON "members" ("id", "guild_id") + `); + await queryRunner.query(` + DROP INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" + `); + await queryRunner.query(` + CREATE TABLE "temporary_members" ( + "index" integer PRIMARY KEY AUTOINCREMENT NOT NULL, + "id" varchar NOT NULL, + "guild_id" varchar NOT NULL, + "nick" varchar, + "joined_at" datetime NOT NULL, + "premium_since" datetime, + "deaf" boolean NOT NULL, + "mute" boolean NOT NULL, + "pending" boolean NOT NULL, + "settings" text NOT NULL, + "last_message_id" varchar, + "joined_by" varchar, + CONSTRAINT "FK_16aceddd5b89825b8ed6029ad1c" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_28b53062261b996d9c99fa12404" FOREIGN KEY ("id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_members"( + "index", + "id", + "guild_id", + "nick", + "joined_at", + "premium_since", + "deaf", + "mute", + "pending", + "settings", + "last_message_id", + "joined_by" + ) + SELECT "index", + "id", + "guild_id", + "nick", + "joined_at", + "premium_since", + "deaf", + "mute", + "pending", + "settings", + "last_message_id", + "joined_by" + FROM "members" + `); + await queryRunner.query(` + DROP TABLE "members" + `); + await queryRunner.query(` + ALTER TABLE "temporary_members" + RENAME TO "members" + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" ON "members" ("id", "guild_id") + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + DROP INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" + `); + await queryRunner.query(` + ALTER TABLE "members" + RENAME TO "temporary_members" + `); + await queryRunner.query(` + CREATE TABLE "members" ( + "index" integer PRIMARY KEY AUTOINCREMENT NOT NULL, + "id" varchar NOT NULL, + "guild_id" varchar NOT NULL, + "nick" varchar, + "joined_at" datetime NOT NULL, + "premium_since" bigint, + "deaf" boolean NOT NULL, + "mute" boolean NOT NULL, + "pending" boolean NOT NULL, + "settings" text NOT NULL, + "last_message_id" varchar, + "joined_by" varchar, + CONSTRAINT "FK_16aceddd5b89825b8ed6029ad1c" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_28b53062261b996d9c99fa12404" FOREIGN KEY ("id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "members"( + "index", + "id", + "guild_id", + "nick", + "joined_at", + "premium_since", + "deaf", + "mute", + "pending", + "settings", + "last_message_id", + "joined_by" + ) + SELECT "index", + "id", + "guild_id", + "nick", + "joined_at", + "premium_since", + "deaf", + "mute", + "pending", + "settings", + "last_message_id", + "joined_by" + FROM "temporary_members" + `); + await queryRunner.query(` + DROP TABLE "temporary_members" + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" ON "members" ("id", "guild_id") + `); + await queryRunner.query(` + DROP INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" + `); + await queryRunner.query(` + ALTER TABLE "members" + RENAME TO "temporary_members" + `); + await queryRunner.query(` + CREATE TABLE "members" ( + "index" integer PRIMARY KEY AUTOINCREMENT NOT NULL, + "id" varchar NOT NULL, + "guild_id" varchar NOT NULL, + "nick" varchar, + "joined_at" datetime NOT NULL, + "premium_since" bigint, + "deaf" boolean NOT NULL, + "mute" boolean NOT NULL, + "pending" boolean NOT NULL, + "settings" text NOT NULL, + "last_message_id" varchar, + "joined_by" varchar, + CONSTRAINT "FK_16aceddd5b89825b8ed6029ad1c" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_28b53062261b996d9c99fa12404" FOREIGN KEY ("id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "members"( + "index", + "id", + "guild_id", + "nick", + "joined_at", + "premium_since", + "deaf", + "mute", + "pending", + "settings", + "last_message_id", + "joined_by" + ) + SELECT "index", + "id", + "guild_id", + "nick", + "joined_at", + "premium_since", + "deaf", + "mute", + "pending", + "settings", + "last_message_id", + "joined_by" + FROM "temporary_members" + `); + await queryRunner.query(` + DROP TABLE "temporary_members" + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" ON "members" ("id", "guild_id") + `); + } + +} diff --git a/util/src/util/BitField.ts b/util/src/util/BitField.ts index fb887e055..9bdbf6d78 100644 --- a/util/src/util/BitField.ts +++ b/util/src/util/BitField.ts @@ -138,6 +138,9 @@ export class BitField { return bit.map((p) => resolve.call(this, p)).reduce((prev, p) => BigInt(prev) | BigInt(p), BigInt(0)); } if (typeof bit === "string" && typeof FLAGS[bit] !== "undefined") return FLAGS[bit]; + if (bit === "0") return BigInt(0); //special case: 0 + if (typeof bit === "string") return BigInt(bit); //last ditch effort... + if(/--debug|--inspect/.test(process.execArgv.join(' '))) debugger; //if you're here, we have an invalid bitfield... if bit is 0, thats fine, I guess... throw new RangeError("BITFIELD_INVALID: " + bit); } }