From 17a535d4dcc7d19217a194348578aae388ed72ab Mon Sep 17 00:00:00 2001 From: Ajay Ghanwat Date: Wed, 15 Jul 2026 10:04:14 +0530 Subject: [PATCH] release: WRNexusJS 0.2.36 --- .publish/ai/package.json | 2 +- .publish/authz/package.json | 2 +- .publish/cli/package.json | 22 +- .publish/compiler/package.json | 2 +- .publish/core/package.json | 2 +- .publish/csr/package.json | 4 +- .publish/db/package.json | 2 +- .publish/dev-server/package.json | 26 +-- .publish/encryption/package.json | 2 +- .publish/helpers/package.json | 4 +- .publish/i18n/package.json | 4 +- .publish/jwt/package.json | 2 +- .publish/mobile/package.json | 4 +- .publish/native/package.json | 2 +- .publish/oauth/package.json | 2 +- .publish/pubsub/package.json | 2 +- .publish/queue/package.json | 2 +- .publish/reactive/package.json | 2 +- .publish/router/package.json | 6 +- .publish/ssr/package.json | 4 +- .publish/styles/package.json | 4 +- .publish/test/package.json | 2 +- .publish/tracking/package.json | 2 +- .publish/ui/package.json | 4 +- .publish/uploader/package.json | 4 +- .publish/validation/package.json | 2 +- .vscode/settings.json | 18 +- editors/vscode/package.json | 27 ++- editors/vscode/src/compiler.cjs | 26 ++- editors/vscode/src/extension.js | 217 ++++++++++++++++++++ editors/vscode/syntaxes/wrn.tmLanguage.json | 58 +++++- editors/vscode/wrnexus-0.2.7.vsix | Bin 48585 -> 48492 bytes editors/vscode/wrnexus-0.2.8.vsix | Bin 0 -> 48492 bytes editors/vscode/wrnexus-0.2.9.vsix | Bin 0 -> 49942 bytes packages/ai/package.json | 2 +- packages/authz/package.json | 2 +- packages/cli/package.json | 2 +- packages/cli/src/update.ts | 9 + packages/compiler/package.json | 2 +- packages/compiler/src/codegen.ts | 85 +++++++- packages/compiler/src/parser.ts | 7 - packages/compiler/test/compiler.test.ts | 48 +++++ packages/core/package.json | 2 +- packages/csr/package.json | 2 +- packages/db/package.json | 2 +- packages/dev-server/package.json | 2 +- packages/encryption/package.json | 2 +- packages/helpers/package.json | 2 +- packages/i18n/package.json | 2 +- packages/jwt/package.json | 2 +- packages/mobile/package.json | 2 +- packages/native/package.json | 2 +- packages/oauth/package.json | 2 +- packages/pubsub/package.json | 2 +- packages/queue/package.json | 2 +- packages/reactive/package.json | 2 +- packages/router/package.json | 2 +- packages/ssr/package.json | 2 +- packages/styles/package.json | 2 +- packages/test/package.json | 2 +- packages/tracking/package.json | 2 +- packages/ui/package.json | 2 +- packages/uploader/package.json | 2 +- packages/validation/package.json | 2 +- update-package-versions.mjs | 63 ++++++ 65 files changed, 615 insertions(+), 111 deletions(-) create mode 100644 editors/vscode/wrnexus-0.2.8.vsix create mode 100644 editors/vscode/wrnexus-0.2.9.vsix create mode 100644 update-package-versions.mjs diff --git a/.publish/ai/package.json b/.publish/ai/package.json index 40dcecdd..5300f89e 100644 --- a/.publish/ai/package.json +++ b/.publish/ai/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/ai", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "Zero-dependency Claude (Anthropic) client for WrNexus apps.", "license": "MIT", diff --git a/.publish/authz/package.json b/.publish/authz/package.json index be53332c..fc149291 100644 --- a/.publish/authz/package.json +++ b/.publish/authz/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/authz", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/authz — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/cli/package.json b/.publish/cli/package.json index 207467bf..7046bdf7 100644 --- a/.publish/cli/package.json +++ b/.publish/cli/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/cli", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/cli — part of the WrNexus framework.", "license": "MIT", @@ -28,16 +28,16 @@ "wrnexus": "./dist/index.js" }, "dependencies": { - "@wrnexus/core": "^0.2.36", - "@wrnexus/router": "^0.2.36", - "@wrnexus/csr": "^0.2.36", - "@wrnexus/compiler": "^0.2.36", - "@wrnexus/styles": "^0.2.36", - "@wrnexus/dev-server": "^0.2.36", - "@wrnexus/ui": "^0.2.36", - "@wrnexus/validation": "^0.2.36", - "@wrnexus/i18n": "^0.2.36", - "@wrnexus/db": "^0.2.36" + "@wrnexus/core": "^0.2.37", + "@wrnexus/router": "^0.2.37", + "@wrnexus/csr": "^0.2.37", + "@wrnexus/compiler": "^0.2.37", + "@wrnexus/styles": "^0.2.37", + "@wrnexus/dev-server": "^0.2.37", + "@wrnexus/ui": "^0.2.37", + "@wrnexus/validation": "^0.2.37", + "@wrnexus/i18n": "^0.2.37", + "@wrnexus/db": "^0.2.37" }, "files": [ "dist" diff --git a/.publish/compiler/package.json b/.publish/compiler/package.json index d9c6ded5..05719e81 100644 --- a/.publish/compiler/package.json +++ b/.publish/compiler/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/compiler", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/compiler — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/core/package.json b/.publish/core/package.json index a8c2bcb4..824e6058 100644 --- a/.publish/core/package.json +++ b/.publish/core/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/core", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/core — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/csr/package.json b/.publish/csr/package.json index b147d693..7c45b7dd 100644 --- a/.publish/csr/package.json +++ b/.publish/csr/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/csr", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/csr — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.2.36" + "@wrnexus/core": "^0.2.37" }, "files": [ "dist" diff --git a/.publish/db/package.json b/.publish/db/package.json index 83791d8c..1bab2093 100644 --- a/.publish/db/package.json +++ b/.publish/db/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/db", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/db — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/dev-server/package.json b/.publish/dev-server/package.json index a06bfe7f..3ef44ee7 100644 --- a/.publish/dev-server/package.json +++ b/.publish/dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/dev-server", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/dev-server — part of the WrNexus framework.", "license": "MIT", @@ -25,18 +25,18 @@ } }, "dependencies": { - "@wrnexus/core": "^0.2.36", - "@wrnexus/router": "^0.2.36", - "@wrnexus/ssr": "^0.2.36", - "@wrnexus/csr": "^0.2.36", - "@wrnexus/compiler": "^0.2.36", - "@wrnexus/styles": "^0.2.36", - "@wrnexus/ui": "^0.2.36", - "@wrnexus/validation": "^0.2.36", - "@wrnexus/i18n": "^0.2.36", - "@wrnexus/db": "^0.2.36", - "@wrnexus/pubsub": "^0.2.36", - "@wrnexus/uploader": "^0.2.36" + "@wrnexus/core": "^0.2.37", + "@wrnexus/router": "^0.2.37", + "@wrnexus/ssr": "^0.2.37", + "@wrnexus/csr": "^0.2.37", + "@wrnexus/compiler": "^0.2.37", + "@wrnexus/styles": "^0.2.37", + "@wrnexus/ui": "^0.2.37", + "@wrnexus/validation": "^0.2.37", + "@wrnexus/i18n": "^0.2.37", + "@wrnexus/db": "^0.2.37", + "@wrnexus/pubsub": "^0.2.37", + "@wrnexus/uploader": "^0.2.37" }, "files": [ "dist" diff --git a/.publish/encryption/package.json b/.publish/encryption/package.json index 56cd5b4e..376fc846 100644 --- a/.publish/encryption/package.json +++ b/.publish/encryption/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/encryption", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/encryption — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/helpers/package.json b/.publish/helpers/package.json index 901f0b55..26c57a8b 100644 --- a/.publish/helpers/package.json +++ b/.publish/helpers/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/helpers", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "Safe convenience helpers for WrNexus request contexts and common application flows.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.2.36" + "@wrnexus/core": "^0.2.37" }, "files": [ "dist" diff --git a/.publish/i18n/package.json b/.publish/i18n/package.json index 8d11e303..e723badb 100644 --- a/.publish/i18n/package.json +++ b/.publish/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/i18n", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/i18n — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.2.36" + "@wrnexus/core": "^0.2.37" }, "files": [ "dist" diff --git a/.publish/jwt/package.json b/.publish/jwt/package.json index f2f668f2..e649e195 100644 --- a/.publish/jwt/package.json +++ b/.publish/jwt/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/jwt", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/jwt — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/mobile/package.json b/.publish/mobile/package.json index 4f6792fe..a5fb6bda 100644 --- a/.publish/mobile/package.json +++ b/.publish/mobile/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/mobile", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/mobile — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/native": "^0.2.36" + "@wrnexus/native": "^0.2.37" }, "files": [ "dist" diff --git a/.publish/native/package.json b/.publish/native/package.json index 575bb9c5..7e16e6e0 100644 --- a/.publish/native/package.json +++ b/.publish/native/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/native", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/native — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/oauth/package.json b/.publish/oauth/package.json index 83be7b70..4be3a23f 100644 --- a/.publish/oauth/package.json +++ b/.publish/oauth/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/oauth", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/oauth — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/pubsub/package.json b/.publish/pubsub/package.json index c83faceb..15616940 100644 --- a/.publish/pubsub/package.json +++ b/.publish/pubsub/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/pubsub", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/pubsub — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/queue/package.json b/.publish/queue/package.json index c7c5c3dc..120f2e9f 100644 --- a/.publish/queue/package.json +++ b/.publish/queue/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/queue", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/queue — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/reactive/package.json b/.publish/reactive/package.json index b67be12e..8ce044a0 100644 --- a/.publish/reactive/package.json +++ b/.publish/reactive/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/reactive", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/reactive — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/router/package.json b/.publish/router/package.json index 678917bc..20c02fd4 100644 --- a/.publish/router/package.json +++ b/.publish/router/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/router", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/router — part of the WrNexus framework.", "license": "MIT", @@ -21,8 +21,8 @@ } }, "dependencies": { - "@wrnexus/compiler": "^0.2.36", - "@wrnexus/core": "^0.2.36" + "@wrnexus/compiler": "^0.2.37", + "@wrnexus/core": "^0.2.37" }, "files": [ "dist" diff --git a/.publish/ssr/package.json b/.publish/ssr/package.json index a940e943..0c9cf02e 100644 --- a/.publish/ssr/package.json +++ b/.publish/ssr/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/ssr", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/ssr — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.2.36" + "@wrnexus/core": "^0.2.37" }, "files": [ "dist" diff --git a/.publish/styles/package.json b/.publish/styles/package.json index 26fee7f0..923aa85f 100644 --- a/.publish/styles/package.json +++ b/.publish/styles/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/styles", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/styles — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/uploader": "^0.2.36" + "@wrnexus/uploader": "^0.2.37" }, "files": [ "dist" diff --git a/.publish/test/package.json b/.publish/test/package.json index eca794c3..34f9a4b5 100644 --- a/.publish/test/package.json +++ b/.publish/test/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/test", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/test — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/tracking/package.json b/.publish/tracking/package.json index 8b228f8e..0f2f5a6d 100644 --- a/.publish/tracking/package.json +++ b/.publish/tracking/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/tracking", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/tracking — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/ui/package.json b/.publish/ui/package.json index fef106cf..aa89da4e 100644 --- a/.publish/ui/package.json +++ b/.publish/ui/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/ui", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/ui — part of the WrNexus framework.", "license": "MIT", @@ -22,7 +22,7 @@ "./ui.css": "./ui.css" }, "dependencies": { - "@wrnexus/core": "^0.2.36" + "@wrnexus/core": "^0.2.37" }, "files": [ "dist", diff --git a/.publish/uploader/package.json b/.publish/uploader/package.json index ac5b8831..502f325a 100644 --- a/.publish/uploader/package.json +++ b/.publish/uploader/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/uploader", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/uploader — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.2.36" + "@wrnexus/core": "^0.2.37" }, "files": [ "dist" diff --git a/.publish/validation/package.json b/.publish/validation/package.json index 2300b04a..5d223b9c 100644 --- a/.publish/validation/package.json +++ b/.publish/validation/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/validation", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "description": "@wrnexus/validation — part of the WrNexus framework.", "license": "MIT", diff --git a/.vscode/settings.json b/.vscode/settings.json index 72bfdd76..b5b7edb5 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -42,5 +42,21 @@ "editors/vscode/src/compiler.cjs": true }, - "wrnexus.diagnostics.enable": true + "wrnexus.diagnostics.enable": true, + + "editor.semanticHighlighting.enabled": true, + "editor.semanticTokenColorCustomizations": { + "rules": { + "variable:wrn": { + "foreground": "#8B5CF6" + }, + "variable.declaration:wrn": { + "foreground": "#A78BFA", + "fontStyle": "bold" + }, + "variable.modification:wrn": { + "foreground": "#F59E0B" + } + } + } } diff --git a/editors/vscode/package.json b/editors/vscode/package.json index 1b9d47fe..d74bd636 100644 --- a/editors/vscode/package.json +++ b/editors/vscode/package.json @@ -2,7 +2,7 @@ "name": "wrnexus", "displayName": "WRNexus Language Support", "description": "Complete language support for WRNexus .wrn files, including highlighting, formatting, diagnostics, snippets, lifecycle hooks, state watchers, component functions, completions, and definition navigation.", - "version": "0.2.7", + "version": "0.2.9", "publisher": "wrnexus", "private": true, "license": "SEE LICENSE IN LICENSE", @@ -225,7 +225,30 @@ } ] } - } + }, + "semanticTokenScopes": [ + { + "language": "wrn", + "scopes": { + "variable.declaration": [ + "variable.other.readwrite.wrn", + "variable.other.readwrite.declaration.wrn" + ], + "variable": [ + "variable.other.readwrite.wrn" + ], + "parameter": [ + "variable.parameter.wrn" + ], + "function": [ + "entity.name.function.wrn" + ], + "property": [ + "variable.other.property.wrn" + ] + } + } + ] }, "scripts": { "build:compiler": "bun build ../../packages/compiler/src/index.ts --target=node --format=cjs --outfile=src/compiler.cjs", diff --git a/editors/vscode/src/compiler.cjs b/editors/vscode/src/compiler.cjs index ff6acee3..c6ee2f41 100644 --- a/editors/vscode/src/compiler.cjs +++ b/editors/vscode/src/compiler.cjs @@ -546,14 +546,22 @@ function parseHtmlView(src, pos) { return src.slice(start, i); }; const readAttributeName = () => { - const first = src[i]; - if (i >= src.length || !isNameStart(first) && first !== ":" && first !== "$") { + if (i >= src.length) { return fail("Expected an attribute name"); } - const start = i++; - while (i < src.length && isAttributeNamePart(src[i], src[i + 1])) { + const start = i; + while (i < src.length) { + const char = src[i]; + const next = src[i + 1]; + if (char === "=" || char === ">" || char === '"' || char === "'" || char === " " || char === "\t" || char === ` +` || char === "\r" || char === "/" && next === ">") { + break; + } i++; } + if (i === start) { + return fail("Expected an attribute name"); + } return src.slice(start, i); }; const parseTag = () => { @@ -1340,7 +1348,8 @@ function behaviorAttribute(behavior) { if (!behavior) { return ""; } - return ` data-wrn-behavior="${attrEscape(JSON.stringify(behavior))}"`; + const encoded = Buffer.from(JSON.stringify(behavior), "utf8").toString("base64"); + return ` data-wrn-behavior="${encoded}"`; } var INTERP_RE = /\{([^{}]+)\}/g; function exprRefsState(expr, stateNames) { @@ -1435,14 +1444,17 @@ function renderComponentNode(node, ctx) { const initialConditionalClasses = conditionalClasses.map(({ className, expression }) => { return `\${(${ctx.resolveExpr(expression)}) ? ${JSON.stringify(` ${className}`)} : ""}`; }).join(""); - const classAttribute = staticClasses.length > 0 || conditionalClasses.length > 0 ? ` class="${compileAttrValue(staticClasses.join(" "), ctx)}${initialConditionalClasses}"` : ""; + const staticClassValue = staticClasses.join(" "); + const classHasReactiveExpression = staticClassValue.includes("{") && exprRefsState(staticClassValue, ctx.stateNames); + const classAttribute = staticClasses.length > 0 || conditionalClasses.length > 0 ? ` class="${compileAttrValue(staticClassValue, ctx)}${initialConditionalClasses}"` : ""; + const classReactiveBinding = classHasReactiveExpression ? ` data-wrn-bind-class="${escLit(attrEscape(JSON.stringify(["class", staticClassValue])))}"` : ""; const classBindings = conditionalClasses.map(({ className, expression }, index) => { const marker = attrEscape(JSON.stringify([className, expression])); return ` data-wrn-class-${index}="${escLit(marker)}"`; }).join(""); const loops = loopVarsOf(node); const childCtx = loops.length > 0 ? { ...ctx, loopVars: new Set([...ctx.loopVars ?? [], ...loops]) } : ctx; - const allAttrs = `${classAttribute}${classBindings}${attrs}`; + const allAttrs = `${classAttribute}` + `${classReactiveBinding}` + `${classBindings}` + `${attrs}`; if (VOID_ELEMENTS.has(node.tag.toLowerCase())) { return `<${node.tag}${allAttrs}>`; } diff --git a/editors/vscode/src/extension.js b/editors/vscode/src/extension.js index 10442c1d..c5d9ab7b 100644 --- a/editors/vscode/src/extension.js +++ b/editors/vscode/src/extension.js @@ -271,10 +271,227 @@ function activate(context) { registerCompletionProvider(context); registerDefinitionProvider(context); registerFormatter(context); + + context.subscriptions.push( + vscode.languages.registerDocumentSemanticTokensProvider( + { + language: "wrn", + }, + wrnSemanticTokensProvider, + semanticTokenLegend, + ), + ); } function deactivate() {} +const semanticTokenLegend = new vscode.SemanticTokensLegend( + ["variable"], + ["declaration", "modification"], +); + +/** + * @param {string} value + * @returns {string} + */ +function escapeRegExp(value) { + return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); +} + +/** + * @param {string} text + * @returns {Map>} + */ +function collectStateVariables(text) { + const states = new Map(); + const statePattern = /\bstate\s+([A-Za-z_$][A-Za-z0-9_$]*)\s*(?==|;|\r?$)/gm; + + let match; + + while ((match = statePattern.exec(text)) !== null) { + const name = match[1]; + + if (!name) { + continue; + } + + const offset = match.index + match[0].lastIndexOf(name); + const declarations = states.get(name) || new Set(); + + declarations.add(offset); + states.set(name, declarations); + } + + return states; +} + +/** + * Comments are excluded, but quoted attribute expressions are deliberately + * included because WRN state references commonly appear in values such as + * class:flex="centered" and @click="enabled = !enabled". + * + * @param {string} text + * @returns {Array<{start: number, end: number}>} + */ +function collectCommentRanges(text) { + const ranges = []; + let index = 0; + let quote = null; + let escaped = false; + + while (index < text.length) { + const current = text[index]; + const next = text[index + 1]; + + if (quote) { + if (escaped) { + escaped = false; + index++; + continue; + } + + if (current === "\\") { + escaped = true; + index++; + continue; + } + + if (current === quote) { + quote = null; + } + + index++; + continue; + } + + if (current === '"' || current === "'" || current === "`") { + quote = current; + index++; + continue; + } + + if (current === "/" && next === "/") { + const start = index; + index += 2; + + while (index < text.length && text[index] !== "\n") { + index++; + } + + ranges.push({ start, end: index }); + continue; + } + + if (current === "/" && next === "*") { + const start = index; + index += 2; + + while (index < text.length && !(text[index] === "*" && text[index + 1] === "/")) { + index++; + } + + index = Math.min(text.length, index + 2); + ranges.push({ start, end: index }); + continue; + } + + index++; + } + + return ranges; +} + +/** + * @param {number} offset + * @param {Array<{start: number, end: number}>} ranges + * @returns {boolean} + */ +function isInsideComment(offset, ranges) { + let low = 0; + let high = ranges.length - 1; + + while (low <= high) { + const middle = Math.floor((low + high) / 2); + const range = ranges[middle]; + + if (!range) { + return false; + } + + if (offset < range.start) { + high = middle - 1; + } else if (offset >= range.end) { + low = middle + 1; + } else { + return true; + } + } + + return false; +} + +/** + * @param {string} text + * @param {number} offset + * @param {number} length + * @returns {boolean} + */ +function isStateModification(text, offset, length) { + const after = text.slice(offset + length).match(/^\s*(=|\+=|-=|\*=|\/=|%=|\+\+|--)/); + + if (after) { + return true; + } + + const before = text.slice(Math.max(0, offset - 8), offset).match(/(\+\+|--)\s*$/); + + return Boolean(before); +} + +const wrnSemanticTokensProvider = { + /** + * @param {vscode.TextDocument} document + * @param {vscode.CancellationToken} token + */ + provideDocumentSemanticTokens(document, token) { + const builder = new vscode.SemanticTokensBuilder(semanticTokenLegend); + const text = document.getText(); + const states = collectStateVariables(text); + const commentRanges = collectCommentRanges(text); + + for (const [name, declarationOffsets] of states) { + if (token.isCancellationRequested) { + return builder.build(); + } + + const pattern = new RegExp(`(?F+(T(N6;#<&px z01!C<022TJ0A+Y|Wo~n6Z*DJgWnpA(WiD-GtvhRT8#j{Q=U4R7U;N;Z@?KI`rIJ)} zWINHFlc-F`zO7WM2+lM~tUzEEz>s2W{r9WJV+J!EQrfH27Y*@fG`bu81fIc{kH6x5 zZQuiwtD3D4W_495e{HkuT5T$U7UA;@u2qR3;t=D9z*1@WBLMjG`P$mboKL4aEvez3 zW>Vtz1;trOYZE&ab z9qhPWgGN?ZzC|e1rcx56HDeHLuWI@zlu!k;Si+mz8#9K5e^xt#8kV&zELW1o@+B7g zLLjV_x-(-imRW=yv&9-U!4Mp!%?&RRB-`>8qnTr1vILE_VGDuq`%QwtB+H&XgBxiq z6T*$ovKca6tR013zC1?bmoI@!ulQ10sWfMa@Ndo@K8maLbB2TA3EZxQK_lU}l{yYDp_W<;Qtgf1ki_ z6?QSaR+|lx;+6@t7AM(%Okjor3kxq_w&bR_9aKe$dxJ98V)aMYUec`fHI}hpE zGkA~8)*21{cm}h*wCo<%e6<#QwYFTYvg}jJ6{xh@@)AvFkQ1dSNF^46X@`k%f{B|2 zmL-3S#06+i*moTcF z@Q*Ur?8TRta0!LIpHxhS7JdBpTGQ%b(5ZAH4jN44R+EYO9Lq zhM0P_LSxgJyvznxBeA${taB?H(RdH|5bZ`Inh!>^k3B0DhWRne}Wfx zmm@d&)vHmLB@XU6e09AK2|N7k9z)uVM7PW78>c_Byxoh#FUt>Io-FVCJXzjzda@jF zOIuzuSqk4!C|Pm>zyuV68H1hWn6;WOYTIoU%43yI-g3hiTyVShobfhefGy#uwyYR7 zHA8e?BP&t&Bww=a)vt{McQK{ke+jkYoKvUgYoVmYE|&%lP1sWFp^*9uD#kHte9{9Y z{S#T?eaRmWn3%n9tbsS-Sdv3RPAY5VnEb^+wcdGEjbJ!VKLL&Z%Xvr*cBEKrBOgHH z2Bm%eBI%|-59QS*yl$EwvO@qG4IZ0JD714=sL0+CO_1sx)0@~ca6*rQe+ww~Kz*dv zlVGZ=pbjpkRZqBD#&6i(Nmk?}S+DlA^l9Ia%@kS*@kxDBRfl*x=cZ0#_wz1Ut*Xx9 zY}{#E;F@i@(&sQT8>Q^JHC+!cx>&z4ds(ctlBza|SU9Pq6JnyLczgqlK(yN+*P1Mu z>1?7<(pZv=N=ZYemF*bCe+6iZ_485d^o?Hhrg&E{j*kE)|1?TI@9l+@R!@VbYMIVW z&|OVrY}XpGf5Z~amUyzX)FwEwiQLvzNe8UkCc6V4T6;HlJrugs(twghj9Mr-YR@n? zw0((%j|yC`^L1zw>wW2>vB{J0jHFZoCqk{Bj~bHrVOWlObo|{Qf5mK8ISZzdm5nGz z>%}FvoC*FHxfooRdBwEdgWwCzG!MpR#SQIjCDek6V7UafNpHH0WyAu$@jolnztqC=N+6_i-WlX%ec|*escNf0NsMfDL_JRD z4)aeC+AruwACTK`e@b=)V}VPh@lYr>WCO+?SXb9>&mMoO++edO#ycdVTTh!-cZlFepKdS zDaYu>N_!q{nW%Bd%lrjp-7%?(GA@^}WWu07_CC;c?Z?Ppe``&^{3@fd|9CMx_*UbV zlejjctI+ZyRW^?p&Vc6M=zq`LeNwBHK-i$HAMkf4f5s>(jRGa_6_E4mvc7>BApVRcv$mDf;oJHhCu1CZ&~&xGTMuY*B@(?z^&=? zyVVpoa?1p7e_X3x?naXX+_!|D;TvuYmn$z~O)kQvib`%NGw3E7u#~Krr^Dy4W(K6P zut1azZeC`6ddg}1QWZ71IKe4wv$MgDnb1M*K68q!!4j zlcwL{zEnGTIr4GOf8&0km@a2)rEO8$0~oZew|$az07oL6#|Tg;gLK4CR}f+A*nKb6a!Sk3_Yd3>Z9D8)z*J4q|{7cE_px2VBATXK7$?xX3Z@7#{VI z;fR+Er#)q8y=CYJD}AdA13nit{=pz+vY{QYvV2F9@gWGt^8@X#6YVu%lieno<|m&yNs%#Wg#e<0^|a1^XzyW4>?YQ?@i#la4g=RNeC zP3bm83)D0|!5ViXwta<{Bj3>#w`j9Fvfdp+7B?4cf#T9_#03Yc>JD;wpv%#c-(v|2 zWv$xe--D)vZ2tYg(DO>U)Nbx|WiFM(%hBHgQHLg2&7={`V!qG6J3UlYtl)N^pPe4o ze?x&XikG7&VsLhHWJKWg+0eMIOO%lGF_*|`+r!+O^PuN`|4Jgm72%)@KowO!i*=$fv3P5r;xLjEUmxORscA;Buv!Ks*&@BTgs2ycEeC& zg|b9hP$9yfKX1gGB7p^$C6_CcWi!iUe@TTc6quOw1A4XRr(SHheXsPUN%72FQy=L# zpUbMY@PqqzIr>+PdJmU=nTch3g?8dJ!3d_knJ!}e!7mt{0KZl+{WRdJUv&$)a%b0k zw%pm)w)&RC+;3*?J{@BI(-X>n`(^$2QWdrFp9@iI{}mjk=0{!m&yA`LBC$I8e=U%0 z1K^I|*J<*eT&JnCNY}CIwe`Iwe~Laf0^xjCzKtc=>m%9e)Fq=bQEt|1=OdlK?a#p+ zIIrJDK-@S}ci<*|?54yU*tPJGE(G^$ES0_-g(8nnN+r?MS8ABhIrp~dVk$T>pP(Er zqYWCvRyex4f0$BN>e7aqPm{on0I)6g z#h+kuwvx(NUYMihZM#!YHsdIV78Bsl;GGX~$`s6dW^B0G;6f^2E-cnqxZE0Lk9?@5 zm9m{UE6bslcT(-7%XW?1{#sF%ux~&N8WzWf4W%#zm)OoPm=M&Z7XPGVo8T5Tb1hC*e}kRuPIf(=a^OMf zFx9|$aP9~554m$;8Vuju-ZVnyNeZl;QyYKzA{K*ZYreFv-U$2ZeYm#am=kE8E14U% z#gwCe?6mxIbng7>kx!~jN?fv9*!Pi9qjMPbE?PNXK92X$f0LvKM?UUpYUx3!NEjQ& z4@s2o92BN&C6|0ve`}=pV2PSeu_ODAm&4+@Y-DdzX)f&-8aO(K*Jo#qe7;HQ>RFcl za`*C@vf)zcMm{}fo2q&qYaUHCxuZ>(fbPx|diZW7uhq>og51 zRa(!!+}Lm@b9cTB1Ff$I`(ds!1`dLfM<+x$(pTo>SANh+8Wgp&*-c~xNtdQ8G4 zxrk1{*+}0{6tF;vOIMMh+maO9Tw5((U6XeQ?$V?m^|l%H@};{1XAZ8Inf+#=1ks^u zZm1d`^7XC&f8K8J;QE|%D#U(3hP_FLb>D1?=f}8 zU8Z@-@8R(88{F2qqI;63|GIhbe){`p*Fc(lr)5sZe13pQxTnEW;;H& z=#-+?E5}lsnFN83nko} ze-rCsQmgmm2HUpZplkwvdI&O3MQ;o(65ua{EA4X}=~Zh`+i-zOqNR&M^rqtQ`9=zD z4C$5SapNYBQ;)I#swh1a^adw*qu!wm&r94z#4Nt4NmJatM?B$`N_@xSo&be2L)n-1 zEDk*W@$ZG=01x7GNXI<-a>(W3{G9mMe~7tvKaagK`n2Y;P@RSo!!LsTlt>4{$tMH@ z#DDMkPZxCe2~hL!shzk~qV##%=3x+}0;x0s7k7*D>izc@Q~FQQhG4a%i|(?0)0OfP zepbd#VkGF&)-DU^?&E1n2P@sMY79*5*q&+}@k!THSoek7H94p8wwKeuUJS-`e{bzj zkXv!>h_oy_V(r3ZE^8N6(YYAIqPD|Ip8VTdrm40WdRhA87pCvfR)Q4>?nQ-J6A4x| zFR^`1xZ-v~Yfw&i!sYaf(sv(~veOX${nu=2bTM6MCX2PZoIUlb%}lq3WMF#x`;Q-P zW@6aWYa2mtc4v)&i21`q5{P)i30O{rtm zhXw!uva^{U<^%&ZN$<0QBj^DG_ek%PZ6!H>TW{Mo6n@XI;M4$-(n@J}0XCyuR&EUz`tr zf>Gm<5>IgmO7>rWyoOJ)NPiR_i{SO@ieNGKz?t*aj0j5!oC;%v&i4>P=qmY-kU^*y z#C|gAfycrSs1!zW@%mByNFTfab1Vs??Sm%)^FFSH?jbZzRN@dZK_ue~W3-xQWD1OK zB$ZUx?~{yJn`1TG2?zzpXYnKeTLf5t%rZMBs6%Wnx=l0*&{`dX122~k}(I}-Ut~_a$mL83(2^DLZVzm z3AWHjSj-vs9R+93Qd?Bn()hMcBv47@!cku{v1Qv_=WMgWQ!k9@c)TPqw-X`l8?Vn3 zauL9wiNJCQHCymzm76;9C2tqvj%g)=B~e%z#`ySGVWj@$do4h+JObM zZO~Smk*`{9GNhdlOQuMKy!hPqxWt^`NdOL$GvM_CzT2KbvlXub)4m3WG(%Y@6d_3L zKsW*42j78D5zhs_ehj?IPGl>jbq1{4sPH8(<-u9U*$yV{i;mj7NeNl#D&`ns$yrT&V#dYI}h%w#}~|h8gpA1vY5(c9Qjzn zGN#Gb>fLPF(aK##txl0asJ&B+`Z{)BAfTd8R(0idP@pDYpek^5*RKSSX6^dXJ*veQ zDxd{*pq`R8%_1sjsJOOq3qk4K=Q?sq#&m4!-38hzH1;@Pf6j?4KI`bx;=3;lc)K~w zB@SX(MjS2)i<2aOH18j!jme&|*6qlbir4bi>y3V9{)|h%d9+i<12`fX3;cR=wmg0F z_H23j=h^b~`PqwC%a7+Z?pJ!{?2v9)m1b`sO7Nu@5U9)Xb{YHK z&)9W7YszZ2$#yN+sKiHij1-n$iItqRj^%ZqioFN1R>>|BV@`GllC6^Y!>+bTW!~G` zW}`DGl`)`jx~47;tcQI?ePYOv z^8<~6V@L9T_kiRpd0IPMTF239$SzCotH*X~JauGyXq88(1Rk+KJNAw`2KzbTU?)t} zZ=T1fpBMoLwijU0ufQx%w*{fo0D4K0@JXge-6vQOuPss0mRfZR)%?XWk4NU5P@m10 zKJ#J~zbtcPS;y;Gq(>rk%*9lmvcXx^8eFX%r@zC0xxz?zt*=$F9p=m#V~NyiDrfXJhN(3Q6jpWxB?O#M@-; zM5hgZskj#=IyVAS7Je_+9{jg9==G$p(4Bdf04PEL08mQ<1QY-W2nYaZjO1LiPAuC20`jwyL1iG5t-B0=?OEM#o!MXzrIc~_$FCoM{?~`w51&4KzQ2P2D1L!E%-zKRz(F}i&PaT% z5ySc`SAU~4Q6G4Jx5lyh-0D5D+vpFP6;IRuJh zAt{$qJOFtDR~d5>D03=ywWp107NKirwGpM16I#?O<-ibR*bxNagrUT%0Ote?vL1($8lJiLiS)YBXQK)HC9e;~f$R$XhHHz4n8_R=IcbcJPo%8l$Kz=88SMo6Rd}W*ye#0g zVXEkVe=x#X^D&$}y-!j`=%yC@<5K0y#4!j7O$fyeso}REfYtTnbgvC8=c}246?H7V zH)_F6{WgqH3zo8x_KVghewH@up3;1WcpG;kC@A40h;hcZBgk?>`2&f$2;21X(uAdS zSX_Co1K=i9im(-{s-6g&*%d5Sr+cB<&vAx-5qG72uRPr=c&QkatK~?u2~e;P3EpAK zuT+&+TV)FX;?5PAqypYu4Si^Mo4lO|RQNC<-*9|K=qACpgyK3Sa-1b7!tNww7n98h z9B_Jaf^E|xiQnZIJwqT*pxosfAue! zZ(yY#BvP=reB`bz{`z!pAD~<*A-?Z-L$yPh>(;+L24lw)SBJfmsT>gpoo*@5g6P#>aZDwY0j zn_-xu;?WLstKJdzsYo~x3{9=N<0$9mjVqC;uQaj89thvM&b8yUFj+U2WfeFh(Ja=9 z;Gk*M;#>W`Y82YO()eigBU;wv@j9GzF7S{I=M$fQW5(+n zz?S(@LRv?tUu;iX5Uv-G^W|`^yMya+5>ADx(*wGqw4nSJqnOZ*KFPZrMRxOP&n$XD za;k-cC^bw>5XCzjCQ!d>wKs1J5?myi^l)&uBiZsVLN~HElE7o^BFCt##DCv*0?je~KY6T2dNBa*?y=r;OcgcHy<&i&aAeQAv z*>H9SC#H(Cv$x8}NC`4PWt(QstF_7>j}C!Hm5;~sqq?p6yH@_g_b6{f_fr4=4dH+H zhS0OP`ZFIE_J*)JMU7h6v@R`1vk=yKY!=bJUZK*U+J%a(r&Wm3B*Bq68_6fQTiI)X zOaVFOn$wWxk-=Rw=VR z96_3i4N=bbr5PD9#X(SQ`-C!_^Sex5bplK>z2OF&kUMZC#9U~n`biBvc&jjIh`7p zo2Z|i#ZI@A<@gIp3-*B6y9Ci^>mF-$Hb)?s=43-CO7sZa!GngO&???w~i7=|_hU>#}Q=mBVF8 z-NUo$NR^YD6q76Vk<9HX<$5mHq^FaXyobB&nI%I^vj$Q>A-?r@=&N{UY!E!|)#VxB z5psSpz+D5~@^WWTj1fXx=oE#%i zgX3Y6V+1!ALH~p%ciXU3)tBS=9*K9&?|e&aP--To@B5}$Uyk+-sl33PaE3^KxWB+(f5R;MX12*aE%Y zt=p(Ka!?6guPbzSw$%4Urw}*Qd13F3VY+M;_$nZ2=5{)V)#+Yut7bu5jb%tzvM<=B zagksje^s++pzr@4e~#3MX5qD2d&sHy(fVgVy=1bKv%!A=P)i30fhy&$KnMT;4IZ;5 zH!TPP^0SjwKQDhAYjfK+^1FTo%*ixlEKzaq`r+g%9>>--p8C;=on-DT)uKg6=9nT? z02 z@E`Li!>+?i98ZB9oE;zc4la()POnb)PkN|}ock=npXYzX*%ct4-k)9_@1OqiVgHxj z)zP5<$$Pmt`|awu_px_;_1pf%MeqG7>Z11Vee%kk1rz*blul=9f)n~B4j$4u_4;Jn zz1(m8J81pq>c!x)fB$0e%IlL?{l~V#`EmdF=6o5jRr!BFCCp}Svn&yLP3|LNfBWXfSi9g8spK!h}YZ)badkg^n93K0rz6J z(U5Rxl;MEl!zh>}DWTEGZ6Fk;qxlpk6vj$ukkPa8m|*salQ937VnTumW?=XZXAyls zT`?v69Ob#F^LtsAW=+Pq5H}kh6EPQlsGx=B6tK8V5L(syAemrS((2Dr62XY}sjJcK zHBo;Vgc^qDaRF;X$p-^ppr1%1&nM|T8^MfsKD|E`v$%m!G)69v#Rp}y5EcUd+if7U z0Pqacd6sBUyN!h=l{iXjWCFFP^XWCtHY^1|jJi3;;Cr9Cd4JySIue6+egF? ze+^^7e$NilDGZOeyi1N*G~`8ohG%gw!ft>2=dD)jvQPTwgI9a4)|>XE3FNT$9_qe9 z;&qogL#l93SFQ9Ap8MD2cE&2c-f5sy@ z1jVW?1}~Y#QH-OE&=VXaQ8F3N<6|ymF;X&%BkH#M*~Q&A?hH6+5=^ly`%!R1CNxUss$|j75NU*TyU6MHopPKsn?DUD z8-T6|m`;-m(aUiQ z5pr|cOTyd&G03yA>$F;LWJ7d`L!dN^pqYU7Q>%KjD~AD;pss4bfbnZ3&D9LXC!;dk9@; zIJhmUotTIkXSdOhOGR$!&!bbKRF`FiuBK_s6me1IQdIEyC{h-sbxePOEb_6fO68)A zpg~!o=h!-nKhN-p;_z&S!6l(Cw}Y3e;b7N*PZgXPWjb?BUEY!)U%p6aKPLl>m(}N= ztm{&zcg*79heXna`okBGisVIq=ntQ-*b;dQG(1WsHL5LDS^m3FF2@QWzt+H}cNW+teumK4MGAUVu zwPdwk6g1`d3jz|t@l+sG?TRbO=|ypZyU@Ex7T7r|shaiGX#rBQ#_i!oam>De2RBgt?e zL%ZvMsAS4@o-avb`4dmCaVS4-6ht(gsGrF!&)~#Saw~sNF;)G{f-IP-%nTc!{GwSf zQf=-95d%*f&M3w~!h*2UC11`A8cco*D8*R-qM?}V?~1a+QQm>w!jn#GvnivWxhUoN~B zZbp%P8ceaO-7#w8^d4utu>kaGdJKgJ0l~@}ao~vLc2Mis4C>mBw`;UH$MLwl9Zo{g zs{O`p^)Zb=Cc3iuHvw@a!JZb%E4pll90!Efc~_|anjU|XaojKQn_30hHh5y2AY{2y zX|QQ9K|i-&JPN5T-fYyb-q2~xY&TvdYOGza0FQmCgrLOY_x}RlPa?uv)bbtmq->yE zAMPfEGF2pSq0nHJXlGf_yJb$xAAUeve9A2eyv4wZVRtFVIZrz^d|r5xv|?lioVKH~ zO~eE=D8_$Ec^TSfAB9N34wy7OC>QtB;-!*_x3=@2VER5y>Dx4X;Hhu!%9;pLQYU%V z&j^6uW&z8oDi}3ORLSM*fe-3^B$wfjj_F7lXCxxX53**mOp&4Y$PpOXFy>7WOzv98xxVC?1GMzc>h5yfPt&vWjr zz@+eQL@X{RBu+wbjO{*Y`xF!E8q-ZlHJ_-qffkhNlw>#vk3yW#XdL0Jk`flwGQ4lP zjE;XVU(i-N->9!8Nc1je$)cez=Q4Ip-03GyRZXVNCX;{nVpf#N)!@lr;a6-*zml(cW;g5kpJHcU z-y^Nj=ej-$uj!n`^ufwAp*^M59ag-J{rDh9${ZEsX;e4DdfE#^ZrHUpiLp!+F};6Q zui1E{?7Y!s$tDi-i)J5Op!}Q@%%jq3aS%-Bi8Rcvx1w<>wLvZOzh{bAgb)}mZ>QVI5us{yq#_8y`&QCYdHGt&#Aln*b`kHE*yOK)-)1YXt zO;1w2+BWbQs=SI%DK2(OnOK_YSZnOs$aOR#5Yq?Fm9^YJD!DX`it}aW5rBHtCK4G# z>!6ml)u*RH^qOUR;%={E^C)tiQ%9#N(el*WWnl15jfTP6EYqqF5-r*fo zMG1EF$qk!NFy(c8g}{ro7+inFXvNsH7@nh5LQ>vw(L#R$KlTI*&4cHq(dc*E{M|Nx zx6R*%ZRX4LZ^SlhR^;4H$ZyVeua-!tHQ`%Ti3DK*?IjM<2Gz7ndn%F7$kwWveeSRs zuNPOZXsXvV#;QhBsGnBI@hoGxoinNAyuHfgTEWq)bu!wM9d_7um4Sc3T6CER<;-vG zpw61>u}aC6$*opuLS{No%GaXh>(H{)UhR6!W`60ytk!5$h6jQr<>x2$-6i`7B|lH` zYXquLda|PWTxAf$F*dON#$DD+iExnL(h{K7=ALo(!`S1ymZv^Yca?)6+E!J*FIKm& z#t?~xxmJMXJkSpCaD;zwhDV@QdAKoh#kkm+K3>fNLeohW<+zChK%zS<#Ue_Ltjh31 za+{?033~A;MYE8@f)mpk;m!r={0|Y0ksyud>?y9Q{C$G zjCH3O%g!>gE_{_8E3fM5I*X8Vmc$PzO)wg&A)-g*`#xF>1@#e;M##Kqw8jBNrn%vK z7DuCi;+A%YTmh-Wi8aUkEN<#Hf{(Do{e3f>&KW%9S4^)l8mGd#Uq7Hgw0#zj<&Dy1 z9ImsQ^4hk*z|VgkaoVagplY(9P6@2&&{+N!1*TH;BBg+F@-9tp^_v5dbZg106Kn69 zEKA-SZO!dNd90=!ebp5>PW?@q-Y(t$sqT9V+CO_^7LXWQvJ7?U;~LDnGI-0kZvMzM z>xI}e2PtX`C)&AV%?%XeEjU$0FSu0nfnd}hvNu5b!zO>~5Bbv|eSTfLKNRnSY~o&7 zVV<>sl;x+b^W=uo?r)dzhtgm#W&N}HS>hYk;;5E8RD2D>P~&UGG+k?-uX?(!w%zxa zOZ2#2j zKiWC=<(Yr_HCChyEyS7vzaDJzY?p8CTWl`AAAHp(k^cO;wz+Nms$Y)g6D**HB*c6#M<2zu6aljPU*XdBA7n zIMVPzdw_}M8CEfQpfBzIH9Y#pAM@iI6aZ;o6VUvFENRqfjIAx!eX)w-!ZkAEdfo8i z1{*0h(3~9p#{prl1+dj?)C$`RaT=C_4(jZAJ1M>WG9E=;YRM&`{Y%(J=M3FlpM{+zlv=NkALw#jn}_6 zX*w$I-kLXWr{#(Oe=o%oT=2e|@B7XWa#bm0v>4}6l#nRIC}2-M`Y$(PVs$zop;czN9oEoRJ6Q`_4+9bZFKtJ1vjs9Br;%H zV~;{dUOJ;H0MK@^rfi-KKO|&6o241tTmSU_)DSM1Uwd@V+TV~94G@*=ZY&eTW@LX| zho$VvUG>uC9|&MKWXOWrCi4yt~|`iw#8jH{2THq%MHn=a1b z-Bs*+h9?oBILpqt(NY$e>{2iVs?6_;g7| z6Ycz@9y=A?5I)Q%|K>Znc2+_ng2aT-lKV8fW!Xv}bV_!q@)capIR&~4hX#K>nO~Dp z7R^|;M6)LO2%DVDLVsy;7_rCXF0_ta-l139=->txAx1M7-8oo z7S+yPuRYYFDBH2?WtJb+t2AG(7i->-y^8){P)i30rez0Yn-Ks2;$O2YQtJZ(^0SjV zQXrGiybXV~8*6jhHuAfF1=$99{Wv)l?IAqfoyr~v3k z9sT#4T@WBhk(QjcnMsBM7yEu;!9=BIL>t936FuMC%cRhTT{`SL9XJkY!_6WJ#BZPmDf=*d+M4}a)vuKD*IWv^Q+Q-wM zNVqPua><0DhD&ioqGQFVVT2L~M{<@GRN?!y+N1?vt(ZANlJEy9k-^>5qZ2x3KhY&y zle-F-kVlrMTUi=1BGKUP*-_4Bv@FazdgOp24<5lkSDal3C?Zn*85}m(*7Z;Kc$xk# zxrl$Gv4|2_Sr0c9lgZ^u3MNdKb~au%ROG06MJZNlIxQG!>?POSEQmJLupyb1B7@C( zND4k<*=<%ZvXJtV9+GQnvISFmNT|pOMZx>^T;m62AG=>|jiYLiI00=dM)TV>8Ic(+ zG>dvv?z!yJyL(9ncmF!#f*Vc?{wG_ z%(`RSLC3x?Q`Sn!m2T_GhXIkwU=!={hZ(*fQeR!>s=R+k;njg$a7= zPMTRT^27Q2cXo$jB4^4P9NvIthP8j;hxc0EMTqrfNOikf7?N^Zic>~2!>?GCvV)4d zMIzPQD6d5=PgW`g4jf2i#X-qH+6}oLxsvhpNMK$VVflzKM56Vh9+`aMXv_6l$!pD2 z5KVQB={J~j4JTy1$1JEJ85Ly8NJfi-LYIVJ@d0wlGaDl&RTk-cO zqc(qA><75Hw?u!gu8p-z>|)U$l5&+}M+Js0h3y2;)?_Btu6f%R!@e$~x5F4b-LZGD ze0HLEwkrzJ&&J=<1S9&kecpe0oz%+hG0kZyG?5}>gw708HtBf%b4@ZS1k0eNg1HvA zxuS;U9j@mEeXyTdJ@*Sy+2H|FP%?#tLFBBRU9$xhbJmqdYHL4S0I|gkp_kvAE>Vyv zo5`xuHB6z{QeLqXa^E^z@!?=D3zimg9wWvfambP$742Lrw7K0(rDvI3p`f=r=1_#RnKEn;py1ql z$hYKoGW4aNP`o-nKYf4u`sedE9aD;n=-aH|z%Pl8;lWmLQq^1Nr!BxJ3d(SttfNPl z!)ia86cON47Y2OMkAjO8oUTap79KhfAVB|qT~3!A5uD*u2L=n$k76dXQUiwX;h_To z0`%{n7A3$%uZvQ3?1tCEVO`|k#_8hQ)Hg3&7$V#I|$jQFx2<24t#ygt&Il0^YXKjH$h z3mr%s8@A$AO!GfkfY&bc1t%{~3NUBWr?QT<)DLb9IlZf@yAjfp70 zf5kPQ@`9UN7yo}2!jr23_Os5sfbfs{F>Z1KTPi`}%)GA`@*4Aw6gh{4NsE9i2_e0E0g4Ir~1fM_aJ z&eT2^IiJh@e;*#MM|e7Ku~%pC;}1WbzxnTZXa3I2O}c-giY_sGeRnJ9l4nH8(!fDl z(IqoX>B#YEZqh$Wra(K<&!_JQ{^$XOp*Pc*SC6X-b!wN0oc_)-69Sjo=7?9NSukOE z1|25B)c{H}t?>+1qjXCFR3S53XloLrw~s3X>=89I^YPXB@ejZK^6K5s-PO&Wmji09 z=Lnh-N7;Y%2$+|u=RSDgz#r3~zbhC#{>VlCy;L!F3kkLkd`9fgR2!;{{>aTDj=qhO zr0OgbGo=#MRYQ90alJKc3HZ`C5I4`Es_*sUtNbq^pFfk$x9GiYaruNtBF6 zqu{{o$u-w?v@@yit1X_?)*U~x+iR)v=X>kW1UP?#t)VTq!>UCax)y5K?8q#a){`Kh z$%qJc-A&tJ>@zmp2oc1RTB2lBQGf2%xzJ3Rb9Q5zgw8B;XGU=`k1JNaYD2^!^GzJ@ zsrm$^p+eGx{QS9M#p0?|3@E#__zP7W#@PMZw1QY30#|>SBKs}u7RlByV+&d2R`-EaOS+0<{~H`IXE%Qd8NDEr@!)Q7hrh`a@^pO^Xk)#e1d84* z`kYLl)qtI*UblqNoSCZJd{{BT#r&Ms5ji9)sd+p57&R9Y(V^lC#oXUMg+ zN5J?gbV+fra8euf(^-G5)f@Gy`UP|B%=)`Qh4_kRQq8TN8d#4ZO4VwZ0mo% z7u7ynLn>k~Y6PuPv4Kn%JY#-m(k>LDEQ+T3*^N;&GpEo3onU9=l^?2n#tR%AgsOIH zsbXmT_+UIfm=8&G&=7u!O#$YIG_5z`@~fhV55^bq#jE}Q(fvPv8(dzDuLqZplkw%j zJh==#r$S@B8-Jinu>Cb;l@n?VQ{c@9<0&qW_2cnfd@3b9(?NOzfzp2k)z}9Fwtx$HE=uMMV5fQj4E90b3X79IXhAHUXO|VO zRIdtd;%FEpZlzfrG2Z;I)F{4;6AwG%g<&dwEoH%|*bRkGhNJZH;9y9iC~;_=-#QDY zt5PpwCpWf3&L6!@c4fVh$vu*$A6jeJlHe;`Up1{zZFu8OW%ICADqDXEnCrKAhX=Vn z$EfdMV`$?VU^?SuS80M+F!B=0e}5Y@o+8v(KWUc-><4@+2Br`3xziOm!eOg5#c%d})^dHYfqB@d!PG?;#(h%N ziYi*{sjp((HMxK+wWk{wp*dRtKjaWM2OUDTpirQhf-V71_Z5G;AXEKvBQz|+CnNH- z@@T>exQpD}wcgmZU+-$gfqnl1*lha5E4a)>m#8K;TRa2KEGLT1_)XYW!0Id0JlP~E z92P3w9oE=VFGk~_hOJY}D-QSn^V{I^@!%i@&BrzEmTS}8Mnrw4*D;QO>xojgG`t!0 zFs0Zf69kUJn^AupV7NE3H@wAj4(_t?)pF=NZJxjWntT9cK%2jH;XYERZ~E&i^UFH_ z)nw9YE_QzxRMV>^{Q7IsMuR1%o;&V<^s5dj{z)Oe+C_@dgQNievL(!cwWplbI@zE! z?0Qp;@48;O`Do|1aAM>jlIoh=ro&dK;2HJ7p@OGQ@b8|JZhdfnpgyHwH0+dN+VN0* zr#Gv}Hd~o$(APT;t(ybm8{B}Ym;Rvkr1?6%wHOmxF^mUN)U8RnDz!=g_tH3Pi^*qKP} z1a&6T`n-^IFuPKJ@`~rIIb!YaaB8c%Gw459ZY*BuM}K6r^F+|MB*E@>vmNOEqWhNP z5-igB)ko8D8s^w~canq+aNRQO7=DiO!?MHknwH=GfI8f~zw(Bz6FuHGR<~w-ukGb( zT3?^_8UXd)aaa3ATKBg~jbKv)>kq950{(9B(kaqaC1`4 zbqXrxC55kl4L31Cx$xMKAt#aB1>Z(0;Xmiq*@7)$5vKjs>U!AN*b!8Gud5H5h1WCVFUsU z0O~O`&e>nHKWu-=o~r6cbps$NJDGdVo~sWw(U0ot?&|95>Z zq3hj5rOLN;mPKCW)#FkQZ7$(AUuAKX9NS< zz4%FgMz`Nb%Mf})l?P%b%XqveL^2nBtRC(OVNk#n$kvd};P=<{Km?bUviu%f3I<{= z?xJ)hN1`fLQq-Xa3oVJ~&jk!cJ{S0Te0(f|9LFgTA3rwp^biF!Btp#dLiC}NxAIZs z^XB|gj|hEg_!*y56b@)=u#`J#wWdv0O(#*wzru6@ zx!fTY-8qCQAC`Ghoyn?_ML&xcasV`hRcK0(JR#!(yT?G%;AE>bWpykO6J%(&ii&H0 zSq(&#riPBqJOgNvWSF_g$47 zU#y{&sKqf>9AnP?O_EB{M@Z0r;7ceoOl5Xm-GpYPQ+?IWxh{M$X1pK9xgUoiW8=Eq z!NJ(1#d%gG*-Gk^nt@P*eiXpw#Tya_;;Rdt$y?Zjy$|Fwm}V_ zitA2L|M*0xQMC=?@e?7+U$#LUJP~4?FBZ`jp!>o8$Z2GsHNxcXVIia0Syd$2b)Nu* zcByF&V|lQ{X;N8+3fz7qtNt&>& zn~gtFK9POSX2fQP?In|mvtLlvth=h3_Ka$0fjC8pV5CzjNI{8VB(kUMYB)?`=Ta(h zFuN#7VHIzur%D!!B#VHe2xNnfEU~~OzK^P#Pv5}&`P{bbo}rN7F1Yq>I#{!L>t2bL zIXt`5gWEPRZ}c*Mi^MXjZk$2UK-I{Yxw+%x^ke>AlF2vOYzL9*siU${Na^moMsrvd z$)fMf>eo>kWwD%n4ZCRh>GKN%yJc=Rj`sd~fAdh+oKY#+nhSk)KxcAU-Dq)`l9C2n zgVeGr#Ib<0@Yt#`#)&iPW04#jbTO2~;Ui^La0b%NS_Hs<9J5cKCs?k)!2o<#$;W;- z=CU8`vqQ^1Kio_mBnf={ByoHlSOjqvY&T_EN?x>f8pFbehhwMLY95b|#h32rv3)18 zQ%`@2)L{b4G>K&&X=NaiusOK(Rvvk!R);_#vn0avS*1s+0FUjt3Ui=0+?9_tzDRAF zIKM=)gFbu^IAI@!tm%4=gEaWj@r?Oru5*~oCiP#VOeiIL8D%y(CU%D{_ysj z%QxS>`TotjA3?Pw9tTT*(>zyis|{;#&R4 zmaB?>rb%{7zZSAmP?u2=E$C;NuZmbTQ58|F%HCgp6~W$xJtJG)Maya5=+dx@XEOgf z&EwntRX$T{URvk*s#2ODa{`MJSQbZpbwIyh2lc~?FTzRr#qp&4qJKIH`u)?tgQlz!sZZp|sVIF=s|D3Ix`3rA z66{gu`nZ&=gI4rT9~{9Om;Vq-<1S0pn%k^h0&Ju0t)X}=u2z+}&MP=WR70Eq)b%4& z?@Up(Y{ZV3@Au_D1rlR4TM(7?i~i``vb9W zpzjYvUWk2az!?eN0^r8b_Qpizbje}2Nd}Y5;c?!Bw*<$ECi-eHLS9a1Db-MDlR$1V z0jHC5ZixW|ll^W|QS{e{%!uH^eg8aKrPT;V-Pa`44wSlO>Wh}C-$Guo~G}CQG=&pS=h5nm8r_@7t50Z!rwNl=;9r z1gSaj6+_{Z-EZ%IuOy)8n8G>(O1wKln$VXhFfuKP%N-tuL0Z)$PU0iDs--+y0y7|B)IY7*xw&HfBU2_(91=@lHT0=cglNdl9u?w}6-hx_x?vmJ^(5_KW{AV3DZ}R+h zvtR)wK25CHcIdRa85Ash!fFZ@7M0HvD{RBqea>gGiS5FK!NzJygGIgqrQ`GG!p~VP zXK>(a&C00S?vfg99$pvr73OVQ$BtdH^q^R|1?X1m;2FqzG*;&t4&6tuGIB?l?b^+6 zR?9Srqe^yvbQC~;S~uHJ+({Ptm9|z?J3is;U!eu_ZhPxf#XF?}ReaQymMgTAHq8&5 zTxfz1%~J-TOR#Glgt;roeHO=U5z{uWF;ML@=}eywJ-X{qdD6e_grYRsGESpH&d#(d zUEk~~b0R&n%XNc?8=g6vH%vVCe^)vw0`C`2HrP)RcA;|Y}W+8j)#opJ<{*$FVyE5{{-xo^;XFBPf!Wj zLa=x1FGE^7K_7GUw{ws%IB52v6V!0)&xipqf(msXuk1vO!`GLEF!Kr z=f)O)qG>S2CPWs+a3RYwy4G?a6_Z6VR+a|t9jQ^Fq5jMmNoZRLWurp`m7sob7h`%` zp2r`lO7iuul>xgVS^oCkGoABg+U7PaEi<5)kv9b`2&0t%V|Qky`0S-I=2di!`;+cLo2g{t8BVt?PsTT! zjVG<~a+t_L(;U{{xkBh#Y1D+^YfHH2hL9XjMfp?5jw+dO`eYTMKlLLm_PQ`*sgQrc93hf zh&^{Tcj^v7`Bm8MvmXvfo9MWI&zoMiT17h+P#XrrN6Z&7j=KkZhdyoY%sc|2#`dNr zDQCR{Jn$XlP(Z_)r!vYKL&T*T=$vCljOV{9x*k^fclo`(TWW53pFqBRFVOk=4*y*~ zliwvJSSToX%!rSZ;Y(z$Y{flOB7X}|LBs?t5g4-9H@-;J>!K z@N`o5j-WC3aQY^SZ#>U`of{d=@Y=g^G;ybKA&xoDL-`=%K2>Jp{A|%Wwr{h$C{1R9 z`Y8VI|NcLo3<$|K_*$8e|5n;d(6qPk_*gz;aCu2$OBCOy_2rAb^iK@ z;u~(3DHqG?k?pUFaE7?4mp>)dO+Q$Vuv8tuCeH*&SOhjxpUCuo`APxa&_46vYBYHS z1yze1rIo2FI<@pWr6I4U0bi~Lrh{mMq5;1F&cpymd_V(CH%GO zMvaY}9y$$f!}xiB;>okcqEjX@W2nL6K;j5GGKn5Ky{D>C+jZD>kUP4^&R>sgMPjbE zAiI#I&@rEfq!%8cb5SSr9hY=6_ZBoH_{$lfZCuPqT!y+k7Om+nsAb*diLdcMXG7r(<*hG&FgC_#z-!%zW1E&<=V{!G z7#XVJoo=3^pR-o4`1h=6bKhSiWeHw$(|Q^Pp%|IsIA1gW+SQezHyzD_mu)`VT}O4Q zX^+N7-fbt&ihJ+Vd5P1u&R#w{JZvm7W7~nQ5>N#`0CSJaGuFy}!0e(bie(SOt^q|H$l4w8MYY$65s$B#^N@GJ zWW2}rG{<~>Bog5H+g*O+d?v4D20p)L+e^yV+NTUwH=IGa^XAddaJ=G< zu)T{fdg?w43Oi1caOQi1{-E3aK%ax}XYf2)EXP4;lLJbIn*b;MC8eis>ItP@L#l&G zB^S$oG^(V+=B8St4l&fP}1SdAx0jSL5brT{2G$E;q&KMW=OiK<6{DG zs;xR$V};CSvH(Svg0xmqBrP;2LgiHS)|hI4bYFebQdl1cy)~l-%psDf1N7b1hSIi< zmbR>IH2W^g;@@TEC;bTW5l@So#bT$J_4-vplV`8N#&xKaUJ&|4P;U^?8p6Q1DO-E% zT$6jFW;>6&d9;uYkGxN^S$;pV+qE8lup~IlvqLIyNLo^*hBvjem{(6Vt7&aymd7i9 zP~L24Mi=oKvNd;X>Z-`^OIaLl=unZ#hgEr~OF9ky>o)j{{3=Q14&YTm2l~G-=zcva z2>H&ciDC$k_{uERBDx=#WNZ5{&sQiTqC(Yb!SqdJ5#2Kuv+ke&ysj?}!by!D^7l7+ zDna>>$)a)93(i$=6_%l!FVhs^xeIcCKgfBBCOKf=TUhLd#_+22Phr@iK1UGdp!%g0 z>oslf0n1fdDeEF_&H_|e-C!t-aIN6>193nYABZ3v*Fi|(VJ%8=zO)v{s+I;%5mCTl z2E1id;3>+~Y9wX)vhM6oy{Apd^nnxmcdDjhq=K%ra>i0K;BZOlKuJYhj&AAtxe{S{d2=?NwZ8X zUW8+ROX_6G3X!l5&;|?Gz#&Y3(_wFIX6xXbr735;u0Bad%fszAp;T+^53 zGRg?A%ERVXKI(WMb#U_X2uh;DpCJSi6Ktfr%6I3_U!Ghb7LIY#bM$wABe746ggNPB zDoA(W2G=6c$-5{;9(E?>tW?&EJP-#m4%tQJd9Rq*mI1H*dfi!xkRK zS(nd;{8r3aoiQallvuih96qQu26NH2*{GXzr6y@oQ4!rEjtw5tvMUVBYBahqscbshVliYel9 zM84?dgTL+pcUbYgHMUpll|OFAzkveZ<@r*Ro!#pw8Uo4F6x;(ZuD;aY3%>t>g5D(% z$W`_`3*2BxK@UynjmIB?3w|4CHg;?YhZYCg7403#b`9zJyjI*|*#*&tB>=Hu&p z_SnzNEd(BQ@|k3RK2mr&;2md`k3%YyLO03(@qKzKWE z)>n#urgZ}T@2a5)KB|{|<1ft8dXE&|NU#F5Rdt}D11?${kSW|CZYx_JCP$z8=X9p2 z7}=IATj5f7!^TB(6QNI$ZDw?Sq2pi*^ye&5rdzP|H4T)1^|mXYYT=ziTH(NHa||2` zm)hLAs2F8a;?1w&j`toR&+?@mt(KU^WH0%xw zBOlk^T34vMQ1MprQ>r$5F$LopQ_mNuTNfD<;gpF7)`#DGM(JcpS@;3b{Vp%>6Xp@1 zY(B7%iZQr22&U7(962EU){MHoV^?^8ABwNWw{ZXZDt1e4T?*N&AzbvE)3`V_a7PeFAK_vNH7|Pfpu~Z|!DZO-m6>Y)l9T3u8>Elxb zQ|)z(f!;)%Vb~lelt>irv=GEVlx6XClFgFrn$&6bBU&c*BhA78u3gdADHCz#-*IrZ zvXQ5?>LM__J@1@fM3a%7U-`6y+mG59jCX{8n>>8^$O$}LoQbVqz5bu(t zyiJiNF3OmC+J1XL_hAOJ^DQ^*9QByfE zgpMu+B{5YCBF)=+Hu|~tiSs;hhxc&vvrJHX3+;m-L!jzl>UE1Qq`G^hF05F`)P2=| z#wvJI#p=XcT8SI2#M@elTU&WMqtRAlbvm^7;3_5+&~RCh7OC$L1Cf&Y?y~_$`lcQ{ ze{L}AghSIqL4HOe`1dzIDra4Y_cH?QKIE%PV%Q-9t6qO2do|d4WLYM8hG!?$oGNl7 z)1@p*ux&>jFMb^4^_6Sf5N?lG1{D`!uLfVWkmGS2UTxte67x8p6PE76&uI1tmVcadsBHr_)jhmo8@Xv6=1jf(Pzxz)Qd zPpQ|{gDO-qQ)F?f24XlI#?`~XNVNcIWS@V7pzNW}0lmZd#Q5*d?&m)ZLJWP1uG>GV8`7nYHjtEp0e$JCRqk9HB}KRRBjOQ0RXg z4C%-O37wATSXX+`St^0N%J@ZfRK7-$^=o+(-6c7ls$63{Oc|E>LiW{3%;C1(r%G!W zIa&8lpH-ufE-fatvWfJR?oU2Yx~&*%AqR7{xe)s9*5cZL7^^>hP-xGg^8nX0Tqq!6g zx|=amE(>rJ<~TV66D^Y??+#9t_0}rGGgkAYbG-fKt759}wR>yGtHXb>TOW8V z$@PtAQ0zogUdL2B*azx=dk_m)PmU&6^lNhEjk`EC%{5LOx{QN29HPD@ZqcV3K@z}k zAhMLoa0Y@r-<SjMer4hCeYEr}W)L+{QbJ#Kz$&hRHCqQ9lBpvU zGR#KY^4Elowb!O*u`p^+@-$7syX&@?eS91Scf>~A1lH1f59P3(r}Z#P#gKpLQnV8p zqPG)fN|-&VL17FZZz8B~{za4SrZ0wkSY;60>kJoF-(9Wdj)epdxV?WSc?V{84W?Ej zZD|EY=J*8`Rs(PW*H%_&$R6M)+1wBCX;u+D|K0EZZ5+Vf%HF1LUY9H1v=!;l!jXP% zk|FBYr?>`U!M-vPqo<$R`f?uM;Nw;C4N`m?Hg{3_O;kmFm@0#cc4H)b270d0C;^WF zBN1hfp()SL)w5_>QCWX|LzCYovP7|Vs6L1WO5#0~qdv6o9D~JLUPRZDvU$otJHwl( zV%*fI2R(tA=xJ2wX(75e$L7VcFqs;q@nn)IT_a)Q6jEun5XZ+U$upoh?yh}A3T9$m zhhjaMWN_c3NA&>6C}VeR@L2~T&dI=xC{1BhK4!6KPUPz-O<#X4lRhm^J#l&=>u)x7 z?~8nql=7vT!V_~X05VlR$5Hp8(^jh+_w5#<`zWbe>-8z>IANofuc4S#kt%Nbmk-~m zk^rQTzYJGJ%FbW~P8~HfmsNbzhgu)xFDuyMRz*4x_Gtq0&{lK@uvCJmLvF)Y4)fbC zVI)9yi&F=pNI^vnp^v7Vk=z8w;Z=zjdjN|*{T`B(iUkxBsD=lktiUS(@=0t8_%05~ zOtgxYvFylQ>ioAyRz)-DHR?JJN ztcLVrn2H3hR9blAaPrg>Oy0uNP>lir!Mh4_eO2t-seEmv8J-h&=Gct@@UpRAlg)-K zf2{2A@Nf^JHee-ojG{s|P9wz>BaR zPYtS&O%oS-xH@f`$FUl%G5{K`2_dJib`b{(9qVeQY=mH@i(;iIh%E)MRg&m{jHpMx z;kd08qM}MavFqy4h+aU~s}>Yg!-s#ce<`Cf_?51;!!~`MdAyEL#)$Awp-~GdgPzm5 zUdfZ4gWakF(4DszYs8^{56tH#Pbuh0aCr%r*#F}%XP4jn&v&oBfBX9K?DY@t z-&|e>4(DRpJcI(8JRcldEJJy#yt5~2HB!we3z{$Bi}rRnna`$K*3;0#2@APCe;t_Q zJN~H^1xCPoy>(oc_1;Tz?bH}MxH1B1LAYa$*{!B5+E$uFb^cne^%VvghqbxMTDqA% zX3-*vY4s@gipHulp`)h_Ojt1KdL)c(7@FD(t81WQO50cpFs+{IFCMq`f4=BiRwT0rGNu@)z#XwMTJ@Cdui=;F5*U)+Q>VK$ z2S!LxzRjSd5|qE04P(~z_VR|cjK}Zyca;a;zp*rqYXSLLY%s) zm`47{_qyE4-N*r>cs4v)ejoy6ElS-Qvx2oVLYABJ)b>abttH%`e-W)kc>IXg0&XY? zZ`PF{Fq!t&z%c5`)Kp}^Hpn>qWeZM1Hk~)>C?mFzEKUy>jYc)h4j|Kq1ktaAHAAb4qI zac80|QLmm-Q$Cu_c=_g(J3Vv<^mvy+^QM(kw0(xI>u|vye=>9{%+sg>)lCzd-xugQM*qS{-9?4?^V#KxH)n4?fBf~$H|!BCxabe!G%8Enc>?GL z{!k*4O4XM|_(iDEZ;1T||5KDZ_?5|f4I!14N+hX6Rnb+=LrnC2mnSn-GpGO2|CxSL zv@H4!VXf#F#-CG(>J+ZpyGc}s%GFY;E+q?CVhY~}{=1UdOqIWjROwV!26Cx>0D(VA7*2jE)Akfo(-2~z(0LE_Ba2-mN2Mr1Yq zomUh_`}?E|3j4~TzSvfZf0Hr9cOp-ng85;27?3%p{w6sXbH^`IRfy-Mkm|BM!Y zZ8bI6`n5tFYW%>lRu31d2MaNs^flaQk&@Z8>lSt8-HT0iynY`46taFEg4}RnbzK+Cmd);`wji{rKj?`^yh+ z+Tu$%R&jnP8D=5ga7%@aPe&ADMYJYvC-tc-Kf5`P<&Z(s{9x0$q( zD!0YE6Qi_dt^p}ok81CNk01S}todiy>cMU!5jkEGJ4FC7Q#6EZ$Ekva|FETh{y&Wk zgO@?vuKxM+R=VV6y3txI`^~zgl`g2QJ`o$b+Z{}ZMDGbkS4j#oFX*kwf~CyUJBjih zl@9Bv6E2}^Y-q~JvH?(I&4z;~1QH5@@@!-gq;&t?gLj8eY< z6G-sXt|Lm|#?A$jjlrPR(bujE2OCn&cn5RmQI8JT&IXE2IGbp*TmIYNSmzx++s1%W zz+nYXdoo$Yu=NBOG3Pt2EN;EE-Q=;Uq$2C9Nn=Gp1vYe3sa}2m%?{_yHm^+Gt_QPy8(5V9jX-8a2#%``31Ziry2oeKHjj`-Th#UKwsXuyn(6+ zCyWGSeH)cJ(8?RzmE#6Lk4zfdw_m!Z7T>jv0PDnPi)nFT1bUR*;Q# zYsUi1AL>h#f3UN(c9i}kC+Vh(G#EUo&1kBYs-fswJIJ??j+3V+PA8J5^K|^{#y8QZ zcE&IHt=zmju-GMk9!I-%In%i|P0QtcE^(ya7ep$pR_r7Wl+|zvrIbbmeq(3h2bZ?Y z+4WSp80sC5o~Shiv{0iTrx5!=uur?7qY}kN!A($*-V?uFCQjUvU3qLan`TDC(E=3g z-ClxA5IWsa(uAYyqSM||ZNyq*zhq6-Eup%Zg?1BI=>cnh;?4F&c!SLtHmX2fl08>vX&Sif)59Tn8{qab@b+IGh4X-FyP8wVDazf(HjP+b1%nh;s=Bte2O|^M;hm z%3ch>vYgAvn5h_Q2)8oRRt|&~ZY~$v9a(Ph4$Q}Y#eiAv*1UPmw_wRDw#De`RK@!= z>*b)uM*Jnh=|kq_rh!L`-zAxJaf66rno4~!+O+`W zhA>$78yTm4up_hpkU(!cd2b-3{&fZ4z{OWHb@j=FUF?*@qf1~X2#O=4XhJanHsl1w~vl6{l2?--O!GLw-}WaoWOn%tTozxo@0 zVZk}-t+g;tlM2e5-(INuBHyHVlQHo|GvW;f#GP+8Zt!FEZa8oYFI(pq-~Hi}j3;2r z_m^O9hUd7CAMu4C$nVpR?(AEX)aH%?zwI`N(AC)Y)^_h!pr@)^TPzc|J=mE=ATk}Y zcRTT%FWzDLYZX!$u2qDx;-X6yOXbCXDz5UPzmR1aU7N*(R$(S_tnO)&Qk_*r&}={% zc93C36@gQ;vLc!#cOwz}HBp9dizvzXcPViWc~VqVNemvyHYtl7Ao`Jdn=;Sy%1w#N zWG3Ar#e#pYQvQ`YUunX>mLm~h5G+J^8D-9QRpi+mcNM7lqaOom2?t+ZoYE9 zUN~RBcfS7MeEpO2_0Rn4YE@M@s_#Kj7F{Vz!KjgvWXn~hYQBZvmkMiso7OG5$Yjih>i1f^IURXGsPE0y+Erv-cU7)ctAl9s0FHb(^XD(hg+ zxsqb3Wf8+SI@M95psfj_I0o(IRgxyv<99#~G*;Gyc_ae%g}Ji?#}2~o>Yp?N6k#X8 z|A`U`kg0;pOZcITD2pUIM8XT&+uy6lZGpg=X3+8>iYqdOUTbsaa8f&e#?1P3&sZE* zI~|^Xbz#l&PMdEj0#W?Ad}ubiOk^xw*L!Y|z>a7ObPv`}JVX3^m8Sl~V(eTM)#MhUiFyIlh0`?d)jWcv$drvgk4JW;#dVu)UwZ5SwMqXO2i1BFe) zxL{KkojFtmwa&+G+5Pi>mnRpYiqsU5J`H~C{&*j#P#}nwy87cMYvzvLq|4J&`$${c zG2K0)D+L)YW6XiUsPexoms+=t$6Yvv(-3^6hO^B*yrH$jiuGi2Fqs?}&E2$=Rc{?f z%Ub(?oha|J1MwBOs&4^zc(?^=P+`DJiJY^xmKMA@}ewO`{0?y<1?^Gq2DK=B4i z*DTYJwe?K%4GrplVHlPWKN$b@Pr-e%&>!!m~x$#PW< z1iV*?7E$Pql0r-{%va|T0ruJ=%ETYlBBC{+9I}RPs7A+oQpr;`A~pu`Yk4-!j+c^W zLZ5KeYC2vMpDMsTv7qg&sT5;RubV~SHlw69#~w-T=r7zosA2lVkRm9@YGZzZTe?^k z2`DKs1=uJ~ZrwU{1E!*$wk$e^G76lo{nj&^(PHjHS0w9mPAS832}l2c`euevodUASavr~N}@FHh#d+E#bSLJWv!S#W8HVB8D0T^-3Q)@|-r`>cigwe}~4qZr$=AU+b$J9uf_Rnz+D-%)F0Q zho|;sJvW0|GA_N?+RGCqC%!y70qF_85iLk?<6CuG1)IBix-fU2%PZt;70VCF^-b09 z&!aTGisIXWpnSSw#-EM1?52nt<$05~^FTo_kVg6j6f}Q>c6GlJcmdmi?pF&7O`*J3aY%Bpy%h^%PV(L^ZRrv zOjrG+IXrJSJVFtnfAll>SYPmX`e1~u*H9H*JBvo6`^+>G?rr7p({F$L{yU+Zq6D`r zI)V6iBGZ4&U4Vpm7o{?*oKTO-R?9gW@n?hd`RG9OA-V@J;#>I$O!!tl5)Wn%t+Ek< z(X`q!JJu$Xlx8g%P2H9=BWORRYt-5}OdOFF7qfXQWVX$S%O2}6jro|jJ(bYCESU8$ z0dllU?Si%nM@w&<>Ai#1c2`l$$if*5tB=I=B_w~G^w#iQzdXXPHlx9fV|dbA>wzL8 zG*iN}LZgf`6s#zmxD%J%hVf{aQJ9GAyjHtbOhq2ITCt&tSpXpm4k=^->dI>P%~fS) zS1ouLOs}PxKAYqjv`0#(7Z*yp4948l-+D5nDBrQVv>E;|?*}6rQ9{2v45eR+FL~@4 zKhA%gci!NT=@9(ofST31G^@@!?4L)6e^&~v%YmTV*4RB(Gn_y}r6cq<+aYX0+v8{f zb!U!#K0KYw4*I8~$#60|2v3&}J;mFUB|qz=Zbe^aGi}|M19A9*V?`E+bYa$z;&jl( z-nu&+l2Wa81TqSZu2D;@LQ`m0qgopZ4TFC+i7<5RGyLdzZY+CaTZU`o>_*CJ7#9-k z!2zBdDP{mxT%z$vg*NphuHO-)7=wl zO_kf1=%*C4@5&BMf1?9;GuJ3MhCIr)qX^uiNST#m3N4PXSJyXqz}Mq4(`7;UklBAs zMJ4u)|2Nx=wpo!e05^GlTW$;%+M%ySNZm@?jH|djvv39MT*ni|`}Z9foTvFUL!AR zsv2PQ;9#r^u0=xv7zlkMHV`N`41|BVqZ{@!sApq3HPLNHu8=2{JI+-Wo}baT0zy!7FyXAFFNGTCIll zZkO=5Pr=>0@0v^V^ixvEKP9Pj9>wv3nk!y}F=}+VR&U={U`ph~3m*rBM_PXh2BWOK z-r9-Q?kVOx$&lJvY4ZQz12rHWGi&UojQ(kN{S`x_L3|-1T~k z;($eW(G9LB>ORoY*ycqhbtGl4>*{|$@I$gBladky=ZAz8hr{{JkTb*K@d6M%%vH9LCXFs(#Rm2TAZpsHcr7>_eu?$JHqqz5pG}{u&p3c9UvCaL{Y^&GIDxgWJ{BNV>_bS=&k-(<3k}STLS^X3x$vq zLAIz+3~q{l+SRlU-eF%TEtNJtO-q?y2I=Ck)u25nPW^}~NuAW09J z&x&LcUv0~j?t-R#(59>;)z*CQTJxO6pfLrKMA03NuxdrxHm~RFkeyGK+f%iHRlyQX zBPWp26()xyL)dWsA}2st3Iz5e@$M?YPs@N)&ibSB~6!Cv|^$7TfZIsjw7Xd3&WeA1qiu|GT%NGS+VC$+JkpndBMX zWPE+KBUynH$OY~wFXZ*eb$U_NHKB&SOwXc60)fZSTQ^a4^6#h2Xk&kFw%8&vyJr!V zQAe`V!Cz)Pc?rr`(`h+Rogs5B1>Z{)v7{-Ut<{yi<%HUP$spPgmS!l*tIOjfXD+&hG7`87MRYL0Z7a)v=N-~LN<5T$9MgI=wyBQ{Po$g3!t4f2CLA3YQxj{BFec`U4+C0$hpH^pglHQ7D{mj>X74n5y@h?rE1aT0PY_2)eLt+%k0+jXv~@2YFJNR z%rD z_)Fn8HNh>R*(4`Y?zu=O3bRQevI#4;OB56B<^S?lF?F^xw^bFB`1okdQ8q*$yyLnC zDe%7q6_|ExblWnH(}&MGwPPb0BpH!1T)EPt&cW5~fW3Z5Qxj%7ydk9m%|+zQv6=Cy zHqVla6h(hbSxVPDe!ROYt-hx;z-%oc`(xr22P?J8?q=xXj4rLd4Mw1u7U2oA*)7T|+qu*#J ze&Fs-XQ2LWh@4Y$L|4}y;r5iJd=D}aJj(`zw6uS*r8QBs^`Td2&pKh@E%DS6j|U-8 z(m!z=2us@l;XaH3(OhQ`ge4vUBIQZ3)g1ffugGFcre77>UwRSLv>EPj&<+)~IUQz4 zRVTdRMU|7&$PShxw=h8rLtVRV(F3`7}-`_IMJxWZ3&c_6i|0$X+nH65*};9Qz+E2!j$s@&rum= z;iS+!AjO76*S=4^!I)0ji+hH$k5K+1)r`PK;A*~zZnfwFB`-vR<*lhl>ZhCrM(r~{ z=g3M6ikw0E;mg0^r;pF!l1NVDHJTGpHHUw2{PgkJur(k;xe3XsA*|E68b>z?7N`or z;1`rRXA*DzBRRVYywk`cNl?mi>ZzKSjiRqV{nbM2#I;u$IytShVcMfo;Zgc9l*0 zoAHFV$qw^W-yY@u{wA?R!MWVkV=hvYE%b`Jw{lr%VbVxriB8 zG08H%$22@6rKaSsDUOb$?@mk zrJV2c2xtpl^@{)2ylF<&A^aM6THoe6H#TAW4W5jz&=-SOKFrn9SWZTg@cOM)pSjOj zR6oV@DcpIyMfF?ahU_R8daubX=W64-&q2qJctG`HeEXYck9qnO+E5co(~o~T-TOqP zLWbfhtc*oub-IXpG!~SoXU-AyJ)G{)dhf2@s^2@m=Q;%l-0~g!S6}i$EM~7k^ZU7W z)8qfndA(g_;oq2e(dcwN7he|DjVr^>h)-l&*S)Cgxnh;D*|Y8p*ZqlH-s?o}AM00m zQMLHd@q3Y%=L9bcxKZ8PBbhFBw)~vu+b`!sn+#^YOmA}jllW!LuPFN}H+Q!n4ZC=k z^+NGiYj~#SS+U#BPTvh=O!2hYS`P$O+ zLd>SX9qB7}ID+XnI~w?a{Fsf|mB)4f4^tDcoLsfjSOL@qg5RAd$-p26ZV*9;C5>tl zli!I;On$mki}B-Rfn82aTNNkQD5_7c-o*npv}>0%(<$Z26O|<<@889v0K9B32Kf#k zH6+8fHEva%Y`Es+$-=v}n1Hj6_Pg!C4nQ2-&%hvsqQ_Q$^4#5Sj7KLw*{vxL zax3C2I0gn86s6B5>+JDlIvqIKD@ax+z?+fDo>_zea#7&B7{r!+1_o&qZL2~j2d0Wl zwhiN)e0L9z0&o+5403A`)j1w1K*ciJ=%ypW9o_Vf$pL#k7^^4G+^fZAvjb!?0GmE5 AsQ>@~ delta 33585 zcmV)BK*PW6`U1)O0u4}00|XQR00;;GW3ukC4IKmnW3ukEEd&|@5@WLNT#Vl(i)0Z1 z017q$022U{FS!+ety^t#8#j{vKEI-u{^A!7CGRD5RVqmpN468+If=@2?AuDEir`F> z#0msv0Sqa|)_=e11~6|N$=a*)2WyCFG=N5<`{{1X6Zrh$SG=tqycc?1i#5W$t}0`F zmR*@`rO+dMn!}YT5mX{^fdp2@!XJ^rpHDa5SMKcOWN$TpHT=`fO58nz#cXf&0#;I? zn`K!VPdX49=JOBvN?PZq@MEp>%Iwi%39DME+<8&lz{-j(?v1^Hz4RNfC<-rk2!+{J zMx*v_3Q8PIO%H`prVt)Wcy;~GO<`%x-l2t6tqU)WCR(||;!r4rjWIWF3eF3Uuou4A zpd}tkqV~CelO=){JGmCra|%M2V6k>$sStjD*O|a9%bq-eciMTO6jNu}9EB}5ETQMm z@00QK=O8usO)KIzw;r{lnZi!u9*hNB>$5CdEEXPbeTKIlWEcsepl9(f(PY_MV?h9k zLBX zv+O@+Fh_-jhv(1R>7ONez{;8}e44-epXbkK*>^Lz+8E=)MAoR$@^&ra8uIfUT4HcH z+c|j~)Ml1t|1dQaLW5AwH0zf>Feg?X?N(}`I!h{Ox_KU{^JdjBODdY5&i+38PaX;K zd}VBZ5f}ael@VpLX0h^U)3Ch3ogI0NJ5;7Zdj_%FXQ@lG51gJnfww4pZPC$>Con%~ zFK%HY*Bd3*8!z=b%RY8@1uAQHvP9P-VpU3tRAQlo<(W8EOx!N9EU|3PC@E#sGAzNH zDpxemUeBd$?meOQE&Kv-J!h_whZmztig4?RI+#?waGGTfO?cBB+cQC40Ff13z@%d3pJdz|)K`{p0foPv zRlBzWY+kmn&re$NyQJ!`4_a(x(Fl^fuct#JEP~j738~os z`HeO8deaK*UMX~(QsC+8Vgtf;EGTbRIGZPb$nsBeXrZ5|y(tn5arJtQ&UbstG8-9< z)Z(h~&aG}F=RJZU+J&@s?}{u7Nv^Za9V;~^|7GpH(eOi|WN~vbVd@tzCjBj8zGv`- z-`;h$BlI3@NV|{(yV%~a{mk-zb}c-=EI)=kSw6%(Sv~+gSq`|PC2xc-RcI)TE+sJ# z3JN8h!`^Vhdn=c<@3$%wX4UPylTI$BlKv2OCiskzZHY&<-HLHnGbZ;9iW2QW^R?Jr z{@MVz^Aq~rk#_3y(CPV7811pYOCyISE~!N*Wd5Rw;fiKy za;;)7C@w%>Y@SY9&^LKD=n|k{qE8HF|8zz_9jt|n*1&>x%`%;Tn`pb5$k=Zz;_!%d zEL#W3(oow7Vmo?US0x>=ew*$S-nIU2!EY#ZskH;6ixjm`aMYe*>1g>Hix3s?TgE!H zh|QtoXl(YVc_vXBg)?Q=PbZB?0vVQ*fgFE#NHLo??7=LGvQg#ay`+|23MKy{h#_s6 zSHk)OD7m!4%IIu=*3!|+*2*k}ik?eRn+~qac|ltsx8Y}nme5n;oyN?KRtKQWLX=>T zcoJcdUf;b^SfE2}^-Hb1tQ105&wE6y>r1w$WU9RZqcLqO3-x|E_cs3lL5BeY^^v&4 zqI6F&mbfw&kCnpW*6beI`M&BsFr~=pTYFDL_wQh#P}p{V2TSRq)`D3&w7bx3QK9JA zLyOMTw!p+eLtWjYMp=8HnX;~eS+XRgvbGd(rx12LAru_-ypN+Yj-_~`8!sL9XeU&S zV<__%)OF9L8p^m_z)C2G;n;^jm)q|Xe{C%>3!_Y?;o;dh@wLUBBz0}5tJw0aYiz#Z zIO8<`Mt=u??(U;muNA@;b^R@Ln_|zMu#$iZ*~qW(DgJ`5@VXNcea*f?p63w%&%VNf zm#~1ZkR;HNcA!XWBcf*IeX8tL+QG2@!7yx4gY<5=k*x`Mr*}fh1~UzkGM13-(8YzF z+)C%9UI*Q2k_?;!Dy65CA9r-%DGRaak}qH*9BAWzVTq`lxdmkmc_%jIr73E{E)ngu zY1inWTzo+|Ua*BKrNzRl19^o-fCdX@wMe`cG2)KHB+hYZ=cU}i5252(z!VpgV43Fp z>)JRD2^bxnpOkWU85Taqz@n3XVPZgmFwJ@{|H4OgzrjOk_WEKH0-FEE!_o*_&Ns&T zqV`9BJZM?3ha&4SPC__Kp`9`g>Fho{pQc+I1qB64Q~T7kUvc{pyPrmFBorJxm9Q1M z7D^pbFc5J7xQ(e*2}?`{xgkg%A?Qq#Tv<5B9=;H=!@w1ApOR2n;O@hG7&kbf+)^rl4{B zqms$SRv^mq4Qa;vs2ER=COip?oE$IZ-m#8Jzd$9NlRG>EZ)=3R9>ueMUF4*9tSmO@0$7j;2eS32 zk~8k)@@>P6?0sA^+}SQd5aS`a^#DFxg-Vlq$TKJaPu74^pNHygVJF>tmgc zNWX=3*xDW^)fgHt!pP_RC)Z+&my5uEmZ22Y2O@nFlBh$AE4o_qtu;JWdf(WLN9jS3 zz$-S$Su2(n@3g6XNsvUSn!OrVhf^;rs`X`a>8nfq*bpbp1qdIV`8eBslxEkOpVp+LqOFScJta_>m_T9)qC5a~L)} zuS`+9@VHd94Nnm`H9zVqJZ??x5NWGBzZHsIWZc7jy{3TVdQH7S`oLRdwDVWLJ2mh*LUdvh#d~qpLj~K*2Z~RxO?l?es7?EZ0IOCmNMH< z;7tf|$}XF?!ufb*fkUcL2P`&NaMFy@LLt<$#`s>GmE}nk=p3H z)bF?!Q`VJ|bZh02??Op`ooCm?ru&#@Vnp7Z%Dz|J?am{JrY6F8r%Mb zP>Noe#FeO(f15UH zat4#Z4JyX+i9T@uO_Lp*gt(_El1HT?Wo$NnOryffQDwR^dL`GjMT!qrXz3KQ*!Qv= zSIZ;))_POp3Yh zrL*!8)g3Q-j}^$XSE1%|s2UA!(|%!-dKd7TI}M}4;2dKt@y7K|DTzLE5rWs3HIZh} z(!{b&;PeZBagh&}WP`~k1jOaz2jr#pW5et;K;#v#cgQVc*%3Jl~ zir^jab;v;Vx}kdhoG-VzqswFNuw5EOa_IXTs^QIoGzL`;H^Y>%G-E9YD@shszKm zRO6c0Wk7JpWaZ$VPPbDdj$V&eNDX09?0b3~-;-&(1{={Mk8Z6YaUo$%IeeCVRPE+{ zvlBfo?f$TXI3^#ZZppZ6JW8yG73Fp@$xL<0l^U9_wnI#^b|w;%U3}}Vp^62?-V|bG zZ$PMjj~MDEfz~HwJJ1_BS;Cft4O$*!G589v%97}UoeRw|pFHdngSBCw&^+vu3}p!Z z+fIE0+EGi+ZOBzid5k9p#3B7b9b!$1B8!v=X=scWQXeL z$i`<@ScVD@m!Ep)_#XU7(^(L5pofTBVvUD?j8id!t@|u{0Ah@r9|xf$Oa{P#nY}zc zjdihzKw1th79ml6z`|^|lznM$MHdmlbS^|QU}4bJMPUCv273^N^$EOKQdwwn2H*8x zNbS)2c|}p)XwPWB=WRZPrW13ccMJs|j0_UTd(qxK1mg&6J zK5ft2$afFnQ;9?nSbT~B>o-4|;7mn-=###)5d6u*w?44=xRI%p*Tq}oA47yLNe(op zkTQuJ|Gh6C`mFn3KQ!Nbv>jJQl_8VWd=o**5=!2}`OUJteEa?R3H>EFrbMmjj<0S% zXX)-G{A`?`C9KSeJ^rnu1V!aiA=4`kLi2TlZP|4S|t#(S@ylY*2$K zUD-KSrb<7`HWF^XE@Rm4_gPcHTz#sO9KQH00;;O0OPT06&bhC$$voFa6 zBJ3O?XQEUrj}8w7o_b@dCdnv~AP8p)nDPjZ4kIiSWrDKtp^8Gx#t9z7VT7duVg2I0 zlYg8!4>fs)Bha+}{_`b#NM!n>Bs_+f%PW#6f`B&_%N;RR3IvnR5jx*P2%#JEA0dY_ z5+;G!bdT^T0;Z&6E-oHcuMB{MSYSmtYhFAGIk{R9-9zZYup}Vnk}57{&e3w8lQD4g zk z4Sj#)`|`oy{Hgm7cK?05f3f`Z$o=W<{>8!YIOEA7I97=OTiysck8@wG(@VvLwtqx5 zi;ZoeE0|5W2s~}hf~T@5lcn=*6-i)`pmVGvc^b*L7^ka6aO{~vG0XS4N>UGnI2fg;;nD*IrnJ}VVtCw`8 z!U|mNpdGbh{IkbKsdR9VO^{*JuYZD!97Y@ro(y|q!RD^NqQGMiSaIQDDe0IQd~JaO zmKv5(l!ECDcP*aEZX;PzPKV|jV_6a-Ch8flz&n4G0hna zOD)ym`wPeZt^6d9dhr1)XyT$Jyc^R*VIXKo#Aqz-_5| zQ7>1sC7b`eMdbgOUsNI?@STfv<>Pj{h`VJUkx3kLq0%f|gDMC$b4_A?r+mdq;;Zw9 zSqM9S>B>h7f2qwXQYu8so_}e@JtCz$5|}^>4_i-1^o<*g$GSne?c6xE0{_a7Uo4xd z{3lzt^P#SMY{!RGCmYHI8!Tsx=z3{*oau2`Uq5Xp{49G*5fA7k1sx@3jO1zr)HU+t z`cb)zbd1+#VDpWapC5Is@NH-^5AUU&V#%1@ddNSoPP=eyWk0Tq3+tSfID1*$U)RAwCQ`CBuPdhWWxJ*u=X zRInD*0(#cCsV7kaL&dXQGys&{eXas0v!-QR?>4|zp|K|b2U9^+@mWWk7T;Y#z)zdQ zT;ni-c`V?X^28*ed4K;{Q%v@ZwMrvjDqgEkUT<_0^JhHz$45I=IDliCp}=n^XY2s_0#K> zE$YbuHv%=`MR#h06lpueOW6B_D+oNnlRCuteup@>*A=X%qkokxD=FqAq)?UP?K1Y; zpRwC`R+rUm6YUyoqtrgy+eqQ)rM8lz*0Q|rQn7ac)-u{fV9e2O0kUN@f7sPFDa|`u z+iWz0QW^sa(=}CbV72TkDvz3d{(n^(eU?yTdb;flWN`jwcyZwS!>=@Yz;*e9#x60W z&-_4b;Mjru9e)7%Qk=GiORF$iFWF`3UHRBfji*Pp`&N0BDG)Iat+991GT2Y40M{T< zw|#`Ozz6|{E(x*hR$walpwc1r5tfuRr5F~IW%HwhUx$O^qrsH2fKTTECy9jN!YgK7d zpV_ok?0?LT+do%a+C*x(nx1YpE{T;75lInT)UpKNXTdP0?;w%O8OO{@08=_SN0gHHOUW1WvW zYSOTyg*!}HdcOBH6 z0v8oaMKB)>(jw;q{_@-VU;g&)>fMKTA8)Q9hMYdYH5J3<03aY0CBayJTN6&rw@Uv_ zi%friq5C!6=&w7o$M#$EB`<5Czh*4|tiSE4FkDMgk-h%Pi@HjU2vL#LoPAK@R^faw zxUch6up)t0n#O0u=9mD5LpS?C{QM46^}%mI|P)neIqMQb8+- zHQ`bnUMX<^>>h?%xuaOCXUX-RQLVJ== zx&`Lhwz)^|Gd?uNu=^hGli&oNo_e=}lR&LElC4~KZvL9g7RLoLO+`gr<=VlP&d{2F zt;uXYI3O&Rq~i2vAu6`61?3ot8WF_pK@3X`1ie!dA!wCDtOQM$pAsIN#21UZ)#>o^ zJmI4_;iKW@c_4o!(bMu%unI@P(~0|ivI<8hPna+aFQ;22Ln3-lM7mSI9(F9F#@s`- z46#)pqF-rh6b~IR5wx2tL}kr)ntpkIwu(f>_QNoow`|m$@3B=AxLsS(eDmG};d3#r zZlglQosDCd%&e|P1&hK%W9~w8`xB{z4bF&XET!5iXJhrpu|0*ETnUlGD!L~U8ZNjM zg<*mTL%pHRgBTdYYkz;b7%qRF{FO|;t(M8d@p&{^jl$tF;mP%CbQunl>1DWoIG$?n z7<{5TXmuNV94Y3nn?aE6N3xd@qun^eko3UXhPGm?iGH-cZ<~nI?EY<5aF%bKgr8PA z(53-8$nuQk)EzZSJNw2l++9qMAC0z$#oZhMOyAM$jawMizmXzileCe*u`f^lJos3> zFRDEe2&@CpK9^_foGJTnXeoAo@=IBsakYP1DI~xx$td$`*)}oyNXk4fdwtQ%F zlT@Fd!_sBkyW>ZxNL1015;0WDgooot4Q=h8!`;}NUyTul_`8hmX)ez7qoTJCEu_dN zUqU*U@zRyl2b6aW9Ftd+Lp9=1nu^RHQq0(k%d79N5%7;Oc2UrzsW}}Po zZ-j&7habExKP>E~SEEHc!fiefL1JXWv`X9R-Zqt)s*u3 zDIE0KX(2OL>k5lI=MR7b(2P?o2SK7oiqC$!xWimtIjs)6+Q*1{e$%f@ybGJ7YN&Tw2 z)2Yb?MX48>Vz;kBZyXOl0$G~q^j+|h-tKBQ?1I}HaWQ}uOlKt0D=CS;FB z-=<;Zv&Mi?CzTPWqtO6H@K%womDQlA1!o)G^5+ zkK_xvPAgUlDAvEzROWs`E0QVc)0X$IMOCMwu1MDJc~by$&-ofE-1+~zM*wD9itht~`0OeTx()5aTHICXw} zRUO2oVcmOw`v0Ss|Iz5>*{!?(_*CW*SI^D>FIcWracV_!X(*d36fxb3L=);cQ8RYwd&b&-FJdDJSDDBNtbKo5E_eK;;`_W$ zcYlg=u9bMUzrU^Wp&mSsp(y2sd_^7)*l)6xH4U6O60w}qN?e!fm6fPd`N3T15`sho z=Eu40R&66}$pu+ovu_lhp5PC-WyDhiPoCF&%K3sfNU`>l@KASYx6M_OtG-!wsCti= z857-qmbDgTEt)ZEXb0$T7H;vK2re_6YH~02O9BZ3O;n;BxCx=N9fw1Y@vfqHt!rA(WiW83p+u z2s`9k)wpquTNkGyu^(mT+9 z-^}*nTt5qfZf?ld83lT$!S>_2S^KfmVf%4YV*6>*d9&IC22L1J6k&}bHA!iXsuvpX zaj<>qknPK+%pCGK0xDVqy@ANOxHa@{YuG`U;qp>QJ#n#XYwlMsCIB z*qUiqd+CauPTgy1ELwzQmMKz0LUw!|{reR50}#|^b<$mvJR~BPgM+iY4_;r>v>Q~Y^W ze|Y<%$)^wJH>Zc^|NMCP&+g61v1p=4xw`o6=Cu2J_w?qs!>gJvqM7 zuzx){KfXjAl;THpiHUz*L&&4xy$1cIf5zaSd?2q;>(?!arzijD9{umpY4_%ri;G`N z5GUD8!kA5?kO=UzR92J#o^{XOcRx@-&ozW7Mr{Km#D;wpM1n=gdx-I)s=%3U^OUGI zqggs6ah4XcAe_dkVUf$9!z7mTN65=@n2>nFf%NN*S`8sZq!NbHJewBF5nPB>e-e-I z@M)-9JceX=2gm1h_!fiD_iHuT2Mu!^5_}wo<1{NsJoIY_McHsR!6~5~3KHhzVl*l+ z`^0IaKPI>+!ZBve@B_|c@`O4<(E<(fQq%?AJkRn5qkV)MwK@|LEIhbZeOec0oe1Lkrf3cvQnv-ZH{sFVo^P^u>=n=p;D6&~Tq^8CD^x<5X ziyA`l2>BFKK2M{EFh%sA{Tf1Z+C0Z(mZzZAer*mImBi@+HqqMi+2j`ITV@Oej5?Zb z^!t$bdc6An+DxRKgPgMOPf2O&Ii^S1gwD6{`H&p4=*WwL98Z&QC`7RJfAdbWdEF~| zm;E;f&E~t-m`}$aazJ&|d56Sr)w6Z|uU^`3jT^{AUR}%>qB4rp=qj6@;s=}@<6#o! zAuab6>k&kcb74Z29d*jCD8QfbP|iouZHKj&l;a>qabA!!9HwzP9?gi66YyLU!vy-;dyT$)K^F3_ z0q$}X)ntF!2!eA=1&dEHx$`}0N4*ATVqL=)EaV2Xn?{O0TAGzsfW;Qj>G%1*a<}hl-)%?E@io_H^u1LLtnnQ ztFEi7e2)ige~OjNL~#~s?y63Db{UKJ+9spsdd_QNKd(lyUtLwVvF9?5KTq+H;OJtC zsS86LZa1%0@BY5gK2z<)?6awF%D$TRj%=$?Lb7|Hk)zhnLP9#Mud6dsH}=fp!N*jh zhkAoo&kFN-Zx9S#t{@V4lWIzwju)ti5S*I)d#+rSf61F{#F=9{BstI#ABUw1+$<3~ zqJ}=8GN-=URXwgffcXIxM)2LH5-8-Pika1nEHhE!kg4^dtK4Mg;4CiK)CH*-KP|FY zTwO2jnsE3fR?4NG3caeG|2Aj?<5R-{peEV_B4s)UO(x|GUOfX23V$nn^8xarY<8Pq zkFu7|e>TCI-*eu2b4n`5L6=91C|O!v74Eq77cxn%!ts`(QIX`!;;5TowsNzwSu|CY z<4^{ew_%~uBeyzjlqK>fp4{R{e%z@R@no!irc<5BO5*fh{+?i>#+inBI8kXEHb41A z@^Gm7JPIWGbugV_g2R-Bg3dLmCI$(|zlDV0e>@dNr1f*Jbs+PKeev(x=HG8#wS#8= zP2E3e_X@dOtsnGS2k%;A71pyQ1^aruqw6H!my1e05MNCS4D0oh+NgkSnqY#jLh7LS z!sV@SU<&o~aDr9so>7}*k2vR@MZu09D1vcPZe(E2~p=Q4^14$liJ(5^uf z+cY7|AxlF}!ZG@}_3Bx0ZT@bnp81YU5@yr!D)H;Wl@q0LAcc?$vH1O0p!-=|upSHP zj=GXJv>Z-%8%&uf6gX2zxJtaVEX>|9f7SAbAJ7h0xh0{#m{>W`cT$|ww7r1N^SVT> z9NSS!+i~4CVg(YGV<=sQcG*WMLa+lVAO~)CZx%;66mRVSV2sI!EFxjSnh znjAaR*+?UVexHXl@ymu%?WCrdrPpu!0TuHTnHYHXOsC2yBmlA$E9)l9IBx__f9y9z zL8qmSWF2!cZ4+4)>EbkMOF=LOXNd?9)EnU+2=8GpN2ael1xZne4<{;h?-8DoJC;IQ zGmXcjzs6NZXX4->TwUCWIZ#EDb2Yu5{GOltFUZengTfMZ>QiOFltEcNaVK=JxwozC zRB6erN8?&UC3jsY^AeOMg92tLe^j#5L2n)NW0R@KHUJVBn^^bp^wV8Ta504jfqOt| zk@zqozBjZMrxE($2fmEx6|I2ag7}6))`9M7g|;1lz#3we<1jjja7yA)jPpvYRMLtA zf7f9+iKNv|OCOh5hMd4es@1#(mybD(y%lNUJXRnKTv9cc;!#Z`UeEV+f26i0G36LV zQ0iGjI~na#bjr-(52%Mdqifi_pp($<>^6&@E+ruP(M=Rc_7{D&TgV9l$*&n8(3MO;rkh}H!Rw{o;`-c9yPC`qss)9>8vfgPEgRFa5!#9; zd*LwadAIUlf4sk2W6X6ue<0qL>*M;Sd8PaxI#7DhX2rYcZ_76>)^cnc^TgrmI!5wS zxIeU4-(V~gF7=gK)5}glVOF>FU8Hc78)9by4ZozQ4p#vRS^cTZXNh}k4XXe`Wmr$S zgw@rcXi`cIBP_MO3g+Gf^hu31u~@5sdf-@)axTV@jy*DCXUQ6je+vUYz6Lj&oXy0E zKuJVEE9o5k`ih3g37?;SEAyaZ2T7{F%y`HCl*Rl~%Bdjek!MCODIFF_*~^EcbBBY$ z$?ECC7F>>Gi@8lqw+>cDF+vc_VF=ATMDLSqc)wB@g3v8(%X2s|CSk>T3!ow*S?aPE zGv4Ha!2yH%R@QmBe<4{HaHaWJ)mSbv8!kPep^2irZ7HW&QN*_imKl>Ot$B&D6p@oL zRKM)1OfOrJx~Wnr19*iVSzZ_VT~LU$4>n4rKQ1pvoosR?xV9vkfTj?>h=CzVxn{Xt z2v9~?ak;ACt_yQ+NcS3gkh=+)+{@mu}*H!Ca0a>f74`i5vPJQD-dQ0S;}aj zQsxg3!j#p;iA7sj&6J{)SZLAt%*zIyIS+6Yb?wz93ku}s>{&SFzWt9`V*a_-Z*zo` z0&l!7tL*-Lz4d*)g}(NB%fTmcTSYKRH{CIkWpa6Dg$-QkD5iZXWuD$%+6>Sx`pE{w zExRHYH5$WNe_mwyx-ks}zCv6B?A;nmOpem3VUr!~bL$!unD9Ej^y9@~5vAhb@=~C@ zzCx?40QkUVfANXB-=mv+@Al{ru0rrONxz~bs@5c&K~_I*^#P*}kp;$z13uNag@`!s5XEY%floxMp4+#jMj4u8@&bCHk*o}y1i9R2q^(_C<6^dA5Iy+xYs_U& z9fGR5e_m}LqYe{#VwHME;|Bk=1lrdZMMYC3FzfZclO@tzKY%1xtIw8XTy1YS_DnVr@zNs@`o6bFX{w9Z>O2)t2-b$`gJ{f8 zr0fBiuRamI=sdLRG&CC`P}x&=m9g=Kkav+LPbf<<8mMWaXA}ehnhyl_aUpG+d1-Qu ze3}qe=wikU6$Q%evD!{ayxW@7oVb_K#cPf47Bqp zB|HIW5lOkUg1l9Jo;E*)Els;ntFo<>J9iCPCfpl zMQS?DJskFf#^Jy(vLqc;g6*wSW5aA)6?N|)}koL2P?XUQ3U8(f1$@K z?L}`vpI6(O{^l${UCii(4)Ntui1HqY{q9-XXO%+ljCBe>;Gd{aE4UlO3_ONc}S)s_mw?OypWyw@QnS?*kVe+rUgVY~&oP195H;(__z!Ne^i^v`SY1S5U=GYA52K=XSU z%>pu}pg1k!2&0g_IUKy+N-~NKXs5cjV0VrMebmD@I;7OktcK}$7LM@=mj&zD>1DyA zdL~uD8)I^XKg*mG_vhTs@P|1!4@V;%(uqjV^>s3W^^B`Q{6znx3RGVM{#OqMFa8D zLPZ;w<_EQLHt9l=es$f8$prbq*GEz4%aYU99*h+zs$WFL5SAIb3}OdnN(C?LR0c1F46 zqv$Mw^{=>+p_I^@Nii`0JKK};)=7$rkXKX|WBcP&e1O@Cd%kNp@JD?&daVUT< z=7OQIfxoQcjc|>bI7Ut=NwRRM%G_ifDP4fTH( zOtNT}-~fN7!Jd5O-C^QskLq{|)*b`*W5-9Z%nC7J6^MjjF$e!Xp$F0)vp8 zq%wMbaF8-8B;1IUWf+FQ@qY`#aU7YEsPC7&e)sY8=ig30zCU~S=JJ2-#}5}UgsTI9 z^#K4tjwU!ifoO?lI2!1o3`<1R*r)Rk5RS97SYRrVB#fRwbjmT37!bI1kl{2(T+b(V zlb~d|#PUR=RDT*1^w!T#&d>~hKnuKqwOtJG*wD0Mg@hqQz4dn|8J?mdmz(IZTNL@_ zk^1k3;M)L11op3YTpfSgl&|jbI{6PHG>%3z>Z_5>U`sG5TPzvHR5nRxYqBCDhs_I$ z<3gZGj-j#_Zi$?OkVxVIObeQ-&0+vKnc{Sn<{0LTeHH__MKYaZE(U;T21qmBF6R=y z685Qkt4myqMk5C$ZH`g4+Q1N|C>JLyLq zv{iepPLxt=0KQ-am91Foe-;>|}` zV2Ls$(LLDJGz}obBIRVMmY68SujuB;fb4A>ZS5ayc^@ z$B#cyM9OrVJW8ANJ>)aT@Q=&)@60}qX@kX>|}qAXqIEXiF@nsHjTOT+f+Ob>CS=&>Z^825W&P~;!u#R6etj?-%(vH`$bjS zNV7N|=qX--?J1+wad!*Sb;tmUWu}WfWfcWA#fdf)m@_S4x|&GL9t9 z+O^Wi^#hI3sG*%ltEPK1iD05a60m7Kil=i#XLv`XYPO7r@<;b5G4zrB98U0**-Ttf zA;$}LgR=yF5g3RB$?Oo!ayCIZ%|`w}ap*j;CrjI0 zvQK{)pt}OMb4-Czm)mh>f#_`Nbq$wu4;MI2F}cA4#(L3MOJuy{_=d1TjN3(_0qCHt zaWtM1R6l~{ILX;8*5C)=AostC1ch8}NA8Q1Ej8<_dxdPh-UQ~bq)|z*Q=7x!dzfWh z`{vE7%ggh(uYb9G)6l>%sG=XzoOqt1Q}ush>JhL7gPnS877nAJmWcbdYQ7$X0JUX! zi2AJ!q@L^mlhCCV+Ku zPV&NSieBdhZvm&4b%6F6uQGP)Dz4~fyqYk?Gx&^Ghiak)y4}_dL9uKEUo6{!7t4PR zpckwV7*pxDMrVwuSHR}~M(E|Pt|)ShZg3ri9^8dOFX({cme7pdo`{sQJaw(dG=S*G6-5h@0%wI(Jr#}?SYm%JB15=d z{oexfm0JAE`8&`rEeq8L6D*`!dTMj~xfudB`43KIxVR9?4j_6}$T_Bxr0Ng=dNf!i zun_u0T!M5%!K$34DA)X0e201jl#-%~WInyRJpIRS|9tiCmmTTfv__nsELvC21@&H3 z*RU(Se6Y0dyEZG@{0UqY**Sk!k3SQd{ls{z>#)8q%E%PVYa%4#QhXwE9!Eb!{l2Z) zIF<#c_5)UO>S4W=c%k4WZ^e}pxOGIdaXW5qVfKu3mP95w zrZYK*7jSG(YcF98ac>aBZgJql0Z+2$k=&t@~O>EIqt?f6vk4oIv@yn|EDu(bK`;}TOsXO~E0a4OM; z$pqPscoN^q*Sec@T5!R*aumBMnPJU^HOi8ab5#k(RyM)-nZ*!0R7p-K9>8(mbplEn z)LXxlfuJX87vab-$7G3sqq?Gi`d0O@_CJC9`pxpqx6wrJzdLsy1< zfu)1GkLxPD1_`J#>j47rAxv$5t-{+Gk`i<0BuAr(o*IcKqjh{W5~GXjColV>&Cx6j zfcgWx2}gg5DGfNs(ge)+iV3~?c206^tG~FMv$$ZJiUi-`G&UUc`|xNu)Ycyqf`)(z z%T_Q9&|N(v zUE4-JIxp_hX;q=rgsDYUmnxttrjj`lv04)7LtTO)w7^aYrmR(qm5%gc3&lwwsH6;@ z@2)MZL@aY6<7l9dI(kGqrr#4}@1WdCBqxj5rz5|2N^*&L{F<>GBYH28egwcr=%Zos zq<4QbfXGv)r)$Wa`8(T4mW7zdPFiIV7?x{hWV4lVJdmmd8y%X|<+Jmiy1+vG`YPaf zf94NqCE~6AM6QxlrbA3SrCHW9lQV=I zupOPF*;aSi7Su0Xv`|ten?I0}>LsEUN2`?tW?rZJaqqiVdZUTnF%nPf=}&)` zLk%^oGO7@ZJO3&ZJFb=e`d+Y)wCCIh$K<+#x~%Ow5tf z#e@tm6-{ugHwOh$I!CG`!CVypc0h^0NeY}JS@Bg)ZaJO-_;d)*tiJ%x)fIv5U7M|4 zhvlxCmznt&ip;77y;7Giv;o8SSq61H+&br=%KoR12yp z6m|6*QjHw}xJo?P4=yw{&z!Qgt)EtehG)&C&eUK2VkaKCs{&BH%mn2*QK?z3++UQL8BaG?IAKT@=Ini$ZyV$@6YmLz})C z-JofvY$$I{1)crvZPix4nRiEZ6WMEit@{)Y_iNpDQ2y7__9%~j$cISnt&I`$UjAw? zCr>R6)r!zIo_96x!TmVK$*H8!i}s~|zciHT>p=!5x>@3|BuB?5!Y6%W!Rp|4Sk^7?|%a7Z`zcNq>8N}aOu&GCwT3ESO+Hbs~R*Q$*`rj4&w#e8fWQ!DU3Dy>DT~=0f#tz#; zN?oX1XY=4V*%A;vpM!1?pO^G`xJ?DrgWy)bSbM`QGo`+Y5PUOlTVifsB$bcn4>lle zFAeuS{&;JtEorosTI$f82jQ)M@iWD~0N0*XYy+#LX?$M2)?$8Ha%I1&ZLX7BPRH9} z@4@KDfqEU1@mG^mx4lPyI+v@fnX_e}<=O{{uhK7P%b;wnetWL|@Gxo>WJ`WFTtiSo zS)o@O6?%xpi>pR{sq?2G_d29M9A>e_modGX(;FkM$2x?Y6{N!D&XMbG%T)>Qkg2-wd`OG?z15 z8=@b|8|EkFV^ThTA6!WaX%*=tV^04ImK8Zp@ZFMesVXK#aJ?QJ zlw;bxg7+Y(2BYSHpv$u*R<7IiIXKun{~u6G2MBhBx^v$S001pP002-+0|XQR2nYxO zVw2D}A(Onk41eu??RMKZvfzI|1;VS1skSV4XXftRE5-Jt)0sP&+nvtFJ=42uxhp{XO;Y|Ch3D+k?1Sx-?5Qez6hKmvll0tk_FVr+M0^wqK%r15R2A-`LR?aXOQ|XT7SsW7PlEt95b7BzLRC#RR!{j zWLf2fu6GlaD&N*w7I~Fdk4rhUxrE<*mBm$(XX5fQiep)pkQLs_$G%wa2~o&uRb-;N zNy_tE`FJtjt5q{q{yJYQ^6bxN;#h?9B46~y@d;Lf0y3+LN65LnT;#J=DqlzOjTEP+ z$0C#W;(uou-Tn|Q`_LPzJPKpFi_(=GiK9AB&IH0M)QtqVHnl@QAokS)7 z3eyGTa)(rO=MbiRSms4_CaX#oVHPdq0B8uS(3Bu~LdFGlkAbAY$yRB~>R2Ks$k1*T z6@S;V8i*)O4IP_#2GAnOFmunHCS8xv(i4S~6s0L4rDufC1`wuBkMnGvT(4SkN}6mw z0Mw%hI}|M>;R91skN5VDj>K?yG#nl+qxd$umgP~LFP2Fvi=(oLkCJRAABI(ly(ggM zWmy1Gtn2ZfZYX3~)Td=slyW3O92)!p3|y~eCX1+&@1iQXGudt`FXxwlJcZxSNg@B3 zq^5|M%t{j2j`D6MtL2r0ocGX;H${;bI@6{=KEZlT6`XR-94P<2e2}IHeyCKZuKwPG zDWl~uRKtz5YuPHFh5nOPXCHqYnarxQDx!r% z(2mYu9saNA@b8xwN5e{%RR~>R#oxD<{`&A=oeH)evOqd43)~@=IUxS^80R-Dt6~*b zc@e@usU-*;VMvs%>Hyy=Z%tdf#`|HM!?@pPY+RQ+I2fC>IM1piTS=W#GZ1Rfj{?}dctheq zd~=~Qc?+Ac_kmo9XEeWkwskxO#j8R_x0G0`q0Zz(6}q#*27kO|>?wz)StCL@FdC44 za?Gbg;h}b&HSXaf5y*dh9t^Z75Cj8+So0?I#MwD3?~^LNLCQ399FtM8T{`|(% zt0Ib}Z9jIJ*HG&xLM?WJ8a@@*WmL#)8`S<&aoq{(AD##`so$mkCqj(# z#Uk1QbU)Z1IgRYIMwr|^EMzo0tBNGM4hc}-E;Y?zEDv@#O)7sYaVL&N5a_12@dd`8 zLx)E&A@xoixa{uWz%V?2BocsTN8-*IiCS@oBEQE|f!?sf>0dJWu#|BnXCl6diYTsR zA@+OgxZW30CGz>al$GeMmw8!>FikQkdTT@ne!r@KNA&Cd)QGH0DQ`WdUq*Mb!Cxq= z(&@y;#+Hi_PlA7{V}3fRbUSRaeqH62qzT))+4vLX6WQl%Mr?N2UNV_D`vq0ax~r;b z&!~15h*OjZMmnW}6qFc7B74fNhQrkFTuLPlW)}r1tm5tTRLNqIWD!slfo#x`B^H>( z_fd88=^L0opWBw*GZYfs1=qe!2WvKO-7C>Dhi7+saNBE91A!LkF6SGoH(OC7RkXu7eh%L zK2lZ%XCQywtVICKG5hp+g5?Sv48UiVeC&5)F8jegJGAWc!_Cw|lEBAL635qpMG$Af zc2lOM`N+jkN>_4KDm9VW0$lURmGD+7`An}b_#<&jrv zbqEwPOCmgrV(mi5*XH0m`9tseR7k8i)beDnRAAKtwC2~?agR%fyb&-a7~qC!Ri z9PfjxsFdngLI1~jNMTvhZlO|o11wUCv9x{QiwK|jlURm7@^ zs)&DLRrda>2=*@Q8QJPCT2A{$mxf(Dllix49^Zyn`An&KX`Sb*N@;@32`oxrSsaDx zfPTRa>W3F!^(W<5$CL7_@N^V};pu2H8GbzfC74Vu`d{^fkNY-lpVIa}hUdRbvhl@1 zzkhT+);cz7Y!Si1E1wI%YlvU3(li7d`tE<;0(#eDDu4dX1?Sa8bgxy3l>OpDoSv%R zzhl3DkH7Usl&>mOZ;NBG%48WwOBf}D6l#!aH(}ceQdqvK#(any_3x~nQg2KMu8_+# zie-2-nS|%T{$!FB)kXj4dLY6}#Bm_v8>5R)7(%SgNs%C$& zDsXnv_y#-OA2(4{f@&LGz|s^6_Na4xTuRnKD|)97j^K^Ue+Z>=%FBt#It~B`9m#yFhuZ{djgBETe1CQ@~kxnP+qg z4AST^Usb`yFv;R{HItW4f!H_D_Xi>`#6C6Pj0A51aARnDW1@1pDVYN&5zGeX-@eiiu=w)}I4zm-)~$(Cf98_ttzZ5si{ zlZI`H0S1#0Zc%hYcnFJzv(keA|>yLP{; z^Te#(zL(T@`LHZ@==hcn0gM0K<)U>QSw52`T;b2&gL+LIlYsZ9le2Cy3|Pv1;2nb0 z9QcZ%{*&--?|&B(Q1o$U_syhus*KVt0^CH|ER_X6YSG`**{7ox2?H>lbjMC!@z+bJ5yoJzaXK z;b0CB^QW!2U1`^x#a)56Ac59U&(kCZP)F=S?WDJ$mVdh>wkNb})D!f`vup^TZ0dRLI$xR;BBk zU8SyBM9YwV<5dp+8ltJa0>iE>X(kI`v1(G?OMmNUZe!qm6RJ8xYGS)4_;r+JxoQem zG(jZ9V1OKe^?v(^XtOGnrHrfSjz*<{mRbMK810dMSAU^C&-f=`x2(59u783`$QFXV zTYnkS(h2&QqraVlguy|x51pWfTYp9jfDu%v`*>w1VjR9u7RG1=-HeI?cEt+FI-eU` zh<~QR6q^uP6vKrq%jjCmfmBQu#aLMyxOb#Rg@*bwVPS}bXQE?3S*>XLynfxl7>B4h-af2V2rv>jjIf)HdP?XT2eq}LJIcIXYqj7aMwc2bTS^Jl(stO18M-y2;ZT1K)1M|D}O zjAlCL%e2jHSXyR4F(YpZS`bDn0mkmkO7YoCW6Z1Q8uusNgEmvi#50_3Tb_(>HXBb` z&B;23#~TBOtF{v3JSobmg&4Pu5r5W0!(f7dR5}X0gkF?iQ-2v{jUnQq0Cdi=y~RUQ63D^1x9$@np*|T1*@=>ihTrd#Ej`>n*%wu=@NRb3lYb|6oIQ1%vpd3@ zSFitc`KLFpzI*cl43&SGtp72+t?w=q*hcU;kN-i+>g=2PyaRM;?cTT!e zarx^bif_0rqg*VjN4CEz!WrVGUjCd^H({_IVW~QRO`gdGun26XKE~)ni2}T#edhMm zXz~aOsunj&M^jaFYUy`MLtaknlV^)Xr%YnTP=m#R#1V945#*%0cXW@PzaH6& z#9VJdb|FjgR)0PZNiU{A=b}#LJ1*&D?k#9Y@Ru_{+qjsKxD0i7ELziD&}F*I7tP~d zFzyH(vjPp8b&FJI#B^2Ocn2M294a3wefm0abua{8&xXPo%3B9oY>dx<*SZnMHZ470 z`@m38BSzL;coCZC=p3wd68_~R8mfnjq%6VJY+6tIL4RM2OmUpAnSWR5%FvsRX2Hug zM`!A@mD=2OOxew-8iHoUy)5ax`Dj~bFP|MAHWryNh(P}WsDc~BkMl4%JUoHo;z0b~ zX*3~wN<{MT8*$1{E5WgF{Eo^kUG+JD9l!b$2$h8lo75?~9*x`8=^tX-=r%8Q) z_b!h%A%BPDdEoeF`e(`=95p>p)dnB=C$&ra6SGTyNF3a`L+$Oi>{`3E4idtX+O{hb z`;61PQ9e`Wn{H|9^OlIkCz*F*lY*ONCoX0a_;gG(nQapgw$U0X$vy7J(P|*os?upt zeY?txs6p>SY>R1%$%M#wkL_uW&G$$o!1K5J$$!TAOkT?j9A(Y6mz1xyBNnV~ID>MJ z$D?21c*VU(dlz5z)FluUc03E=%=ZSJD7QOLJ_m=%;CZxIj)T5U4k#Ja=T7=dN>AO? z6H2{?R0oqvE|zIjNrlZ#wMZRgAb~q_BAm$t9N=y8RHaUN;-oiOtMuO5YZWg{Rg-a9 zI)5$3WyyLoIl{6>*U3NxFDL3VXbva2qN>9*US@Nkq{Ep*U^y&<62~+6H6$Co=g+as zkaShY#{}Y3n?kV03YpDh0g5aIX{|ypT4+vK$EoP8G1ch4Leo;eJ`Q?oMh%!lBvA+G z@T#qgZ5=IbS%YHsU6#ea$;waq3FIT57JoO3#ZEEnDyxJh&&Yv|>rg4ZAYO`~-XNki z#7=Qjw)WP!TlPlHb{=>0XdxXQd7osn{C;G&Yd!vO{eGBdhg9H@w4_Q6Z)#~VubygF z)7r=^k5{0)+0cwG;x%Mz?%32-k>8iHINZ>oB9jlR@=%v_8vJkD;4kv4B$YdWSAPW^ z=>Ni?`}L?GR)uI&VOKYa9 zYH9EkMg+V}z{NyGYobi8MpE`7>(1`fd)od=A2_jpr)nxjDpE-+XDl@%j?3ch%nqcA zZ(?T~LVdnfx;Pu{P(i|bZsOc%vSb)HpH&D?fm#ojE3=t3jeqA}VfCN%rTnAKwkhA2pdj zhUbRal4hA&yy%bpEvb_!D@6KrfQC!J1`c7G4tr}eTL%YzEyBmJ@&52{d6I>JBaR_4 zz%J2S>j|z+8^~(nvhd(y9e)5TMusX}QDSvfR!Oz0B(JPQ~7^ih+>Q{oQf`6BH85q_(FNZn` z@lG799JcT<&boX)WnGbp~TW1X@zii+qSacuCAmR(_3 zCV!X8UWhL=fIjY~!!NdbL8i00gMfmJ?DMxZ3~6Q!f;ma(P5Fy%X1nc7mi^!2Hqo}~ zI`%;oh{NTGe9_AXe}CNr?y%x}YizI9D}US!8UqEs&-0}wJG<9W2mz9(DIx}5Tz##- z7kvK%1-(lkkgM!d7P!HXf*zXC%N1HUI2N*uzfZ7nC9OeA1F;~To9?+oR*l=UPO7p8 zeYdquY?A;XDlhu&3{*64-WB|yx4yho8w9}vb5ob3YR4>74S%fauQ(8k^RF+M&fAS` z1aR60tlvJbC}Nm-CFT&_w@C>)LOcOy!+}#a{tu!G7ms!VQS-5V0vOpi^YE!N(1~2% zn+*~LU_QRhXOCfKZXxiflg}h`EW*nH?~voHQY>%X-s*NRbP4N%QCcHVkG^?W7KFzJ z7|FZ?!rOVXzJF5uGp!Twe^(7f@KL?w8-HPz)_bJzuz(eyt*QeJ9dOawC`SDa;0Env6gm#3K!45>Wx54RU(-ODJiGF#7Tzfi z6b_s=$H1X*sm-m6icvNt-uxQwI7{w?JI)@HG*ekqZ+~bW4eDs&cA${7sV|Ra$=yld z5M9%_NW<>1F!FKjt#yUE3l(n_Kc#B37gI2vG4*_bx^hePA5qKF=cNs0d> zgGJzI;eP_`Rh){pR517&Yv2G%Uz45E7p`Wgha+_$AWRuf0`ca6jy;fsLvbMXrxtI} z;qAjzVRsKiFdd7!A0n%7P7>#1M(|NGMlhWQ=Ewo*w`SD!9lOH&P<%7Kh5Og9$Kv+z z(7j*2@@t*nHcWWV@Lhy}`m}vgv0G~EQpjEn;eVpvoW{kefjffW^9UD9sCm(&2PF;! z9?q12;;odRx8|ZtV;Iv^#?|XQtBO2@v82UY4wRs9enF$b&TWtnM>mQ~!|c&FZD6>& z(;b_kCT0!Xj>VA7dGgf`MUh^3+1k2Xbnl8z$F6j*%vAfAoHPgAAjR}bW$~M>CZ<;{ zJ%6gVU~7yenQE_N4D=@A48!K&nna>-r-dK}qAZJVlWdk`*Q8FfAJHDYRK}F z8gd@^q9(lA#`*pD2b_B5T4!EvmwK^Bbn#EI=qLQpJjsDTWB8y83I)YQ?FZeA=TY0 zbz#LirtYgYR>7MpRwv%lO5A8A-quRo+RED*jkX%A)1kcwSAm>>hRcGqNTEXvM1M-^ zJ7fcn^i4f@{@h^J35TYKBIAri@NaK^QXZ}lBxeNJeaKgp#8^E9Ry~H%?2UVzKrpV${4a9IbjH`!%k!k_b$i9D}K-oi`1A2$^iviR^h!=f~ z*)W1({v_67Rv_mw8t*T|HE?Ba<_UIlyfPf@ic66mMNGjsSYP&*Wig_8L}8W2xIR3j z?cSv8Kzj%SM^KBMj&%a%yNBuBuuEXAskQ6$*dcTWY)qnwY1^1?Sw1Qa)c@| zR8bF^K%swgFb*OUBy>8SV_oS%XQ>48D&rT`QTZB0)^FuabeH6Gs&b9-FlAWg3mK}D zn8R(mPnFg%a#bFWXRPK)=Xm?eSH)D{YxmZW zSNDI%ZhhdfB-c0I4zUwWc^y;jU>~Ue?LjPHJvo|O(XYvsH}2xpG}kzB=rRu8aESU7 zaf^^{1W5qDfpAPJ!x;$jd~@;#dUuS9kScQrm{}3&ylP!PUQ~F26_?3mj57E-Im_gJ)NeO+`QJ%O4 z)@&VcNT!ZZoGlxs%3l*UKwX=f#lomP$&Po4y$GVUtOno$uC1)lkUhXpvbi7Nd!{0I{!hRA*Kq)QD|^trd0no2 z(^jNI>yPvsjSNx8KE*W<3-*O&)|d16248%NZ;;~Ku(^xU@1iOSVX6!&+KrL$ z8R)q}qXaw#j6{?@_Dy+yuAW89ipqcL8=Cw!ktK??L-j#4P!jK<9QC1v=NK&3@*=vH zl+9BH+8N%2;^L-8J?II{L{Fna@A1&ZIW{kjg~`+?jVF^#=^6qXWR|}S%0&sdtc;>q?9k!6rPxC0g$QkIgYvyowi!txNo-*-A75)S}&wf-Gq%=zJ_8} zMXI>zUp{=VN&=8V{yJP0DLaD|ICa#_TvqW-2(>=QUstfjt%`IYY&?JR&{lK@uvCJm z``m`F9Ok!O!bpJZ7N-tGk%C1ULLW^zBe@BV!>bZ6_5c=r`aL8m6$>aNPz?`6S%Fso zioAwL zv{0>5R?JJNtcLW=mI|M(R9blAaPrilir!Mh4_eO2t-seEgt8J-h&=Gct@ z@Uj6@lM03`f8p!!@Nf^JHee-oj9u8o*Gmkn~F-m0savSD?ZE{c_=$gdRj zRY{@)GNK;&hU2zY9~D*lU0PR%M)U%@UbUd08ori;e@z*c!56yL?zidl%!_Y?GKNuq z3XNJw8T6da^-7-X9PCydfbP7#Aa4M4StAbpdtg2{c}hV~g3C*|#QqCa5xv!<{=c&Y#vLcy1kTJzT1@4HA(W<9pe+|DZ zm%upgo;uy7IWR(k@@)n+&f0Q>k#pkBYWKdt^SI?9Zd4Dm#e>S>nZ7Qz21LI5I|`17 zmeL}UF6j6~kTiPz=3yC5CzC5>i8`5FP5Y#U!IJ%M&~}6r@#;}fpjxGz4k4;RQCzC( zf7gR1@wMm?p~CLq?Q#;h+S7l zldHITFj_FXTKX@LM(2X#qr-C%b$9MPLqAWOeh ztzM~83bxkqdg9;sG=d@h`@KpeKrfalD_v6DwJ-yz(NeQYgTL6CjY6*n@~ z9c|!25#rQU#WeCqzSreW?nVw6#k1j^?*kDiYf&p~h!vgy20M;Wo@oXbytLg-@wcRA`@ zLOU*=|6DEqxmx@J9jirk=r>*`YE;~tG@xL76SFCWnJgnBM$1ISa&*Yc@dcWih4*Ti zT%swc5-aLUFdmr62W{x$o!y3eHL+s7*IO&>tqf4_`H}>I!0SbI`X4`S zVwKw`0>Miwi#ro#iF);vn)1+RS-07h^pvSumnm4VSqV3ylU55+yfBK(WVV*`6 zsGh=tUIZzsp?P`^$>XMl_Lor+E%0m;+{2~Aa5%gf!qapY-kD2q+b;-(Nu~#N2-n;I zqt?3!Mv?Gk{>lwWG z245}C5zibC58gi4jDjY^w_n7_QYx$ziz&qnNKh*>&kO4}h_-p1t>7%obeJC8v zW={X3|1^#Y$G=0=)6}cLn$3&*8yC~%^f+Fv zuCHYg>_M~_dp91<ng8e=&tF3%p{w6sXbH^`IRf zJ>}>?q$D3CrS1kZYoe*r8c?$qRNX-I>OnF!*!qb-9BTZ)u~x7BsaO6mo%A)_XpxfH zwCoAzrq)jE^XK|3bSocA`wV1XZ}S*)1&V2Wc)E9WrnivVH^1~=Z1bLCQ;-|>lUIr? ztsS{eVX-0He^J44hRJPiO9{-85jbbtdNh_T5i!KD@vD@TM(Lgk#?3$An>~ z-VOg!*uivYAXY@H)OON?x{{C%k;Vo1#hond3oGJCKh8kruce3z zDazGSDQ^;bAsB9qauxun9Eu%zf?bS&Np+j*U%1Gck)ViV3L+U%D9GB(zEhwra3pcFY+!P72DR>Nye z`bW%*PHTNzuU|L0UMi``I$hFOQFMR}-BdbM-x0IJ3$xArlEuPqalF)Cm&UD;xms@a zf3w`#$h&)+r24Uqpp6wH>C;}`?_uAw$MG&%G%QVfKf5H zx*HlYQ9XL=j(vwJ^=mlSHud!a9)MGgfL0!_%IofaU|~a(X!^uCgKLG*(lO`8eoEk4 z3Ce{_h=`!C2nz(1+jHS@^+)0CS`|RW59r5z`Z>rhwjS_2UO(e?JKJ zi8(teH*6H#&;;q#@Y@x6i03nv`ew6SW|SH&K!Mxsg|-A)$Q>n3IJz!6g)PPdR3Yu8}H-VKNuqNJ&UBeq+#&Avrf|4v4z7CVtX4Y58Ihyq8)?Ir(Bdip1&hIA` zVESRy&E2}Hfe5aF2Ll+s`#N#;f5)yqG)8X2ZLSASr&&?ZFTF-D$IS-PT}PTHn>}yU zdwXywxM;&97=n8mRmdlq_HH#GwuZmczPG(;6({a&ZFd2l<#vndt-EczYCdC83R$MD zXUZ;x4G@6+cll_adK?ai?s}tvZ?c=d!zJ3yftm5|o_Y?_?fxseZQP)4e`c1*%9OBi zW&)JD`2<#LHABS(4-QPWPjp!y=MoGgFE5wp4dIKGy%>PyG8f%2Q!&&&X#Jet(bcJnCu!EpL5mGO>Pzr9M9|<^MTrCEc5+Fw;G~{@h+Bsz6XJ3Kf8fe zUGeXJwzcxD<#$ahYn9jTsbC>9uRpay@6f(v05XjB?u)WVqa?e-e}T47A_AMVkC5mM za3<$t*JX4j=Z?{!Df$k-!@GW01#L)ZYEXOlV!CNP2-t7DMISdErCqHcQ)A!ho_0G~ z`}T)-{q83@!l%E<(S{o8P`?0b0mF?BZM&nV5>F`cTH~x-+V{|Gu(s}OcKtSqxanYO z8A^Wjw~_cD-{kB&1`CtSWMmXMc%PFdzpc)%{zh1Ej(Te?Skt6}GUvA!>Kem0S>0r; zy3tH^gMn)2n}8eqBt6ADZsBF?{NlSZe3CI{ndSRSFlWMZf8589_yP^&hqR+R`xYg& zxjVpbyA2|AHTJ!=-Mba&sp{4i%eQS0LS_+&Oo!}UNIc?;cbNWKg{%c_zfe{}r2Ds2 zUaaCOFT#Z^%jnuHCbT*-iDPwrkd*4IDuQMM%5Z@0`>P0?W|fu7EV&zr;ID}?tXf1# z#=lF6bI6mTf1*la@Nl(BS>yoGkD%L>d7f8pN>nB@=@uy#{Ck!1uiW`c6aKXvi2#Ev zA;QZjbH1x0&#rk27yz>TMUHM>DHRnmYGfn}=<3@=e{@aNK_cWs1r<3SOWjzbVJO+& zc(TBl8?2QwF7h;0ZJptVC7@_70acwF&E=~?Mt0iMs3P0T;E!ok!JDi!6mZ^1sz=a= z#Zi?5@w`%LZ*^L*SC5gT;V5Zonl2ecK(Brd_MDp%mRc4ue52DAH456AAc|wqOI{^u zQayeTf8;=8WnE-PB4A&bJ4eO_qOT$W zMWj!IAG<#e2PzZ@(xh&r_{o~NJ2&a_^wd5A)^<#HkLXH4hRYapU@)ruFUzIYZR2ql ze~#fa1mCFPY;!+uXzj3KJ((O#CI?1yH!Wq=TgTC|*8W8&%6sWRd;_k~TfiM2?f~j= zCs30~`PK0Rjo^P7UmWz?0QUfpZv&_uzm-#vXuP3n!uY<>aeVo>vp0F$U(DK$!Uf4=@2W|y z>*j^GYt4YFCncP!sd7VCx{nvL(s_2+oLg^Zw=|e9(Pp+SR;Jrh`natOL|aM09-Ai4P7YBH%(g|h=CjN+uq3$pAPinp0~^RUd}M6z5}0|DQ0R(eea5o%j+zb$$hg(63mRCuL1`-470MT$7UuP0JO2KN zCs~?gs2VrX@HP)Vy;tm$ikBOIR1VDIfD3?ZE~;Fu%rP3lDZ>lsb0DH@rj6w2`U>ss z_BV%YZ}MwyM&yW{n}*5A7d?Q+r;KontHdZxv_3BxA=Q*}Q&Q`JfkX+wXVK|S{^eT#P2ZHkHiWz@4-b$My zZj|Ru+Rg(7y+9fX4Jc@T2F<;`5O@LGf$mogVmf;6`E!J~hpV)zYtPVz_|A`6`q=6X zs)g^(7O4$csed{&M=fICwiQ%)GeOVKyO&q)qUQJMRG6;%NppDKZg_+uLU{BG`0!rv zcttk+N#T|0}$cyF0z`g>bB{Pa&h{qVg|zB+J`&THkZ{s}Tf=w#@(91$%mFu!;Yn|;2a1f)ObO2ljWW(qu%d9)PTX%BCZb_R zVIqF>TJ2gf71`Qq#fHWw9$exN$t50jWi|Zfsxq^y7Cg+N*V0U%P4W!dBc;=e3ng6! zV{Uh41b)5!N^7|(C^wp>6iLZdjrUcW9FTIH#lTE1b;oCX0>xZHO@@=%LH~65&{Mok z8JM$9>Q?k+Hq+L9JrIX4I96nFNEc=eDNYCV>#e)P?I_h+N1&X((KTv`RcH$BYE)}O zp<&P_5r&R`eTE;M&5f0AY|C(soZU!S4dX(BF+0F>BasZiic2&eLC~h2#PvIZ;3BUA z`8?QRvrxBTbnsNpJ4F8W;0+r0WmS^QKTn_+w5f9Y5*?~vyHxDZ^mjTiH1pVjW5}ay zJBq+Pij-M7rqI<0dv$$-2Yfv)GhG&h51GwW)LYko#1FXhCY#YVD>4S)CeLrnjln28 z^tA}7TWOnd6_;o5t$>~Dc$Ij(83?2Lyb#B5P$Sm}FQ}!%@~4hZzB&hNjW6q-fjUf> zkB-?L-6j6#J?|OJlPny3X>lN@6Pp zU|3kTY&#HQp>kq;`eRqr1_H0#c+)jm%u&GEP!*c59uPsUsW(&xNnOSj z#n3l;0Ol);LR&ZdKTt~t2*80OAZs@O0Da^D08mQ<1QY-W2nYbnvF=;|000000001! z;ZYNRZfS6EWpr~dcXDnnYIARHy;@&y<2Dk1-%l|W@{k3rI7v4zf}OiwZ&4hu=q|d! z6^C;lXlZQoB9l6jve$L>-4FaDS+Yq=c3@;n(|%(+qQ>Z*_p!!@Qc|`C0)m$cp&){6QK1-I z6o0p~X&t=5x=>mwZG4(lFo#rqyD_538~5?8?RRv1-_~v^-xi!9Q$eGhC?*h{UWUvi zu#{w(BXnm87^xvJmin=N^X}n7@Iv~3G^j0ScVV+LpS+tgXq(!q9}mePYEPv{xgY&uDe0+0|u{5rtp%1l9F_dmnkd z;!aa5QQ{?CHFE8p)a99M%S)!hQk=`%E5&7J$@=-+2oK zOPoL@ZuZb$h zlrx1)Ri0t53MOVh29;!cClJ|xM!$+0SLR0fbyGWlyM!5~%*{$$L}n2!0#crwz%u9Q zb5P!fPRo3H88Yos@V!J4OPb-uTmc+Gztr+ccgcpZEJsmYUmfo&uTMJPse=})`41|g zt%E@oG*VM$v_M{}hm%SDSlc-Lz=%AsbQqo?>wrA_G60p?i8g{WUdmQ~Fg&sJBkjuf z=kYetBkZFZ3hkzvmwtdIE=<5i7aPIrU~v}SgYGL7)`B7D>UcLcx>&gax!`Cf;pq3` z{bV_5g#_(jNVE-XV|;$)Q+r73UPQyI$mz3JeoLbP*j8+)2fd=n`mz=rH`h2kenXD{ z#70=e5gADArB?B8hae7r|5_UcQfJK}45nWru#JHHznW}}K!#~f1ZFOSHsLZPa-G55 zC5G6WeT+}wMkBSyiIlU9_Ihwb9@ABWUAKGTTg=*(nIr=g2LiIdl&)y{=XF6>V08fV zxy?uPx!{fB_1BM|2eKB4+~iou2NtnrwM9iTqDU~mx~zV+D_?hieU-1vs@Hvg)hm#p zaIp<%C%RK-Ci-`1&wly*^~tgepq;fk>mY?{!?XD!D!5eV2#JZ^bE}CdDd^OG>7Y8x zp}TRZ+c#U5N^u72P~dzK$#S`+YH`j1+==h2={^f`v#I6L8Z(<}SdU)iQdabwYHaTW zBHI|!Z%&q&W9FEDhIDMG&LGWXLD-``;Vdz)W>fPasHgS}?V_yJ+tu;@4~5^<1h<6d zlY&UO=OUXZ%qOMDC#>8qQA~6|`NLbU)rr{L){jh1=A$t?+z@^6_Ume^!2gz1V0LDs zX~#HDA3p0e&X44f=0wVHjZXJEC)l(D_WB{qOaMFM4H*@GXpUUL%8VvUw3U`zWGG_F zGP>sR!|iQl)t)q5wN6Gsf`ZU+RI^wVU$1T2+IbJ)dosPC_T0{Z5>|q5firA{lR=EU zASqRc_^w9xeX^sHF3&t&J>b3>V938aqxb3}r|C1`uDAHAX)JQx=r`$!AGo7p2nP(7)9h2BGF9ak|(%*3$AWPc< zZxC3b&*5ZfO~AnFC(t2l6n`LyXwm+3#XyxaxOL` z`d;DmHkd_F_Ux|s>;+$M0dPiOBXBieL{kk$pyZ`Uv6`Bauf8q2z^*;>=K@*P221=< zfB5o$5BTZhQ@DIo(0GkzC)Ld%d_R4BGHeaFV0EaVhOkL28(`<@xIk432EU*zIFoqu zAIaHu;BHKoX^K)-iRY%GYMs;kiMSS8r_jC1&}nk54bvW#l#kMfp&V9-K8h;P3}6mq zPpC3?vpN?;sjPn9hce5t+H{(n)jo7$IJ&<(!+#`GHcpqcW8|+lNv3QgO?odcd!(_Pj3nXtJF`Ax_43bu z>3U|^nm@mIZXS1_u%lGGk(p!Hy%j$e zmWKotgq;%Ms%H$uT+T0J)Nre*^U;0QDg*HDF+nLeVF$H`!sg8#WT`!x3f4fS$Q$RSQIztAO-=?XN&X3d)X6S-FYiHO{> zpX=HC4h3mYFjOEQC@3Hi$s3*6U*f@+pg=%Ma6mxlKtMny?#?E*P8N2y^sY`8?luOt z7N#an&co`u$`|a2KB0Ph4tmkajEiS@Bjb43yD999RQa2&%)%R-#P<`0x+e!;Z!yS# z;658^{o@|ew>3U-@eSSa^%E0=LN0e^crOQzt0AO3#|{1MNSYj6p9p~$1cZio6_)hD zWKkC2{nHu;E;*il3r&rpU%V#t^1*~`A;L;pm`8Z+(4`Y-!h^U~H2slWbg}I0`)!L? zE7ugB2>v8+#*Ul2j|d3x4K(`YWRr7TWAtou&AqbbSFXH^z3Q|bztzLD;u11Sn6$>9YB?~ldN$e z+9_0|z`NTX1$R#nUm$BJ=@>;@fD7R?SRME+(-uNT%?)W4kg-%+eu$&V%JMgp=Qi~7 zLO+Kb%4*}J7m~0?B>bLBB4Z?rXG2k-F(Jy}=73SA#VQCfW&@X(EYeZr20JuY%KuSW z14*}p7tX!F$Yj2fp)ey$FTyfCl(H86rk$?byFG5a$E1mgaFHu6yP(5uw{nEurO6-Eo*+RfHxsUexgXTcbi#_z*>m-=nN9K;rxg{(JnBkM@u69utZc zmX#3bcpQ(N{~O7TBSR!Ht|$srQdH(JES%%oLgY_W6T?Zb=w~r47+)6y&@b+174jT7 zh{oo#u`t-(k!C!NYS6a|*)$%JeZSSdlcGFXMkclE(;YouRD zim{Kq_P@``LIKoxoEP5GcgiRE0IusEj7QfW!^&lrXJ%f+zDyt5Pxb~!n;vuO3$sny zyBFzC?1up&5Qol((adSBaTxf7=%0f=i7pCAogg2%?$|T8p8<*C+1lhd*x(X#VI_SL zdq=w;p58h42`uw6b~!o|dnx&f@Kj(5T825{PuA|G;a6c=uHi!qT7Mpm*YMku`60h* zl`tdWZt2xpeB^Dc<-+}~Y%W}#JE`|}U~C>F9C&r_=CR?&(7vwUqA!_0z&zF)E2R`{p%3UdMY0F zCQiEa?l#sw@%^@ggs_4)pFf89hyVr|C8T`L??IpbVp&P(IAFFTU%rOjs*<&7FFD39 zqr$(c(;8rSPg7eKf2@a&-!Y$NPEB|6$Ao>oa~P_H@SX_eitUFnt>?rOwh|Fz+&f8t zB>>{kQTl%w2t91L*o{D-8(S1{Kd$-h!*Vd3S3=!)12&{r&YizCw1Yx1yBi7V>!8&X zGH9U#n%3EQ(RB1ftP>*}Vj+FW%MS38N+1>LeiKQoQhi)1#iv3}De7wa>qp^KM;v@L|=golnYnJlfS2};M|KFd#7W&_2$)K#NpdhcLLT_U% z7FTaM#E2;BR`)G z<9XJBSgoshJz#A!wbkd?%dE|z6T9NIlYKDbLw?^;>s!i=#9k9vi(ku&ct5v4#qt5*@OHIvgAv7=*stUO_lba!KWyA=uYYmL8eJ3_dPd(5*agnrc!lqctQ!R($y`)u%$It zgbzm=_Tf`9Z0t)P@h;nRgMO-M^oUU|l_((>vl$^;*IK?&CMke7Y7Aroa9Bb^)Odoh zQ<`aM)e}bU$O3qz$ATz$ZcIPCn3P z&Yqy(*o3~Ix9LHHujX&e{5yolH%< z?1a{-O=iZAN0VBL(S4{3`!I~m0Me0d3ElCkPd8o{P=Nza>~6ZmU-526_ik>{scE=WoaB&de(<#Sc2){Z8D2*sN1q-0lE(kXh-BBR|M zJa2|fg{-;jSpGN?KN{{T@UN|-ohVog^ zr)VWnzoIe^p1wp?zD;YyZf#pq?T}Qn_POcNVkd4IRSWt~(nm=(%$?_?M9%Q#fnKw^ zVrI{J(?WYU!=`=VgpnDi__Bjd7lENeqnF7`v#L3vf<0V=v%Cn!u%Oi48#GF=2|&1- zL7RSNU7)a_kq{*%DN>Srg*gmv9{Kd3c<~th>#@XLoiQdBi2R#XivQ*+BuPy^sKhdT zMs`kD*4TO#yWVdIc{;_tp=pVnvp#%tMO6~A3P9coN}%P%;l_vBv9#cyAQq)X$!R&u z$kF5z9uoUQr}n|c9Oc62te}28@iwYR1%yJlIwux8;nhGR#?$#@i*VRljSHqEJ~^6F z{9>4_H4FL+qa9Nx)nmA6D`*#HniXNhbQtc+nrtaBT)!QxS<5xxs z&0$(cvL14R7VL*-ggCP2xyv+72>8ONTJO@py%b@Q<2KfzvCrNkRk>xQpk$P_izuJm z3H*aR;s(R1I6)l1PRbR`C_uXSPJxoucIg@Qq_e;cq!{RoX?rp60GAewdCRfxkX(YU zEJUdLX&M{6L6pFfwPFSQClvDe`EN{caYOcP8FfwS$zz zHul2GxqD(&_E^jr|Kpugzu8S6rOIT%wY(~V2V0}dc9V?6LSgQE9B=qupk16U*}#J1 z8|`Pf`(uO!0t=^SxMSN?Ck|-hY~&nwjR%Q9F7KdF!LvF$&1Z7vjmYp-0;{CH>a&N= zWmFEwNiaK|%3s$%6G1mygLC$9Y++Mr7z}0U2Z|%4Y^hjI$+7E_s?tgaPwGq|iW=$! zli+NBnfiE6SbQjde-qU^TQsj889ylJNtxbJ)sE&xi&xCiRrFeTCaqxo)7Vh~OfC=6)8}J?Y?Io7% z?DeSdcyQf2%=#Vp=BLq{SrywT0zfgFs#|>$T!6%hvqqs5D1)4bRFmJ5Qxe|B%d{tg|Slu?FxjYo5vNe1gO zTVl^!*kCIE<)rPj9xK|M4U5UEj$=*-2XE+)?mAlj38~ZnVrHRl-!{f{gNgqXxA!|0 zwv^AryxZgylE$YJ29zIz^{b!Iq#+-#uEAS8;f@Gu|&)x43XVH-~vodd%|J`H*gN|R{9GHEOsLWi1`_6X|Pd{X+$y3MEdu|)E2N=KRCj5Bw#qUAQ| z-Hq!_J=zl?)i*ud#52TopS2&Vq&uD7@Ux!*GaIN^jq#Ipw?fYarrptO)w^YLeWm3s zWpLBZ^qL>f@M{re!tdSW^F;}*`7Rem(druwxAa(C_s?u}1srib_aC}A8_?aDomGqb z9G%kgMv2w>^X8{+a=!?Ec91=9wVr6QwF{EpelTptgvHz^NJdUb?5pgOwe;aq*kmV^n7 zUulI$Hl4}}><5%#=qS6hyV(d16R1;Orq*riyTa6Z^t3A)ZJXF8vEF6H$qm_@G?V!$ zZc0~0ldjQ#!%BxvmU}XjqR9Yt=A|;&5$Om|7b`xD_xm4|(wG)~f_)c>6tq|v=hcRUp*KBP2h%gFS z*@DCF~2 zL0D|`(NMTzM)1_N8HO~(rDF8&BIC?mbT%hCIklkdOF37*Y{y-pGsfjU5BqD#2ZVMf z18mrx&23iUW62*?*~&P6e~8h8%&dBvYPX@@&wbij_R>(yb7<0WT85Jf{Vtn6oSd&e z&g11PWTbQ&wANnY6$_m(pXjx?^!Q_5=KKPg;XQU~|jt&Q!JEa8_>gVY!PwQ8q)tN(PJ|`#P&I(`lo=pv|1H~32UMM1XYQcKCFYW{}gReo3_>+V7ozi%JeJan?N!Uk4_!-l@L?ybfgHo}8Bm zWTENtBhj5u*&I4<&`MB5uq)+4i3}Jy>XC$%iJxi*6glP>=Tt0mOZ>P&MicRc%rS|e zk}-sT*2s|Ru~(iJVS`>f0mK63Xa5z{eCv-OL1FAp@ikK({?^lL;hZ%&$`5>Cqujn4Wv-p5r29V=s3YigO7p)y?3Yx z=YPI+&31tnSqaEnkDheAHqg}LkL8zoApe$6Y?h)zrKW<9wrEri)~(y8Z>4Unu#7vS zD*hE+v`o9xjG2tREJWxE>62-D$+ju zY$1sB@o=c>?=-3_5kG?Q?HlaCJaP(OXDuW)JJ034dbPWd*U}i_h#ABZ^7Bx zM~{tT1H@vGa#mmrx5)eR&le2kH~INc{pO;`>jt02SEt7*b!&DD}^|1hpXRBv^<7a119uV7^?H_ zn1cl^gHkyk0Iibp7A#NAw*!oln>n>WG^lH_5KRr;2Hr)=*=8&-eFO0$WpoosYLgW91%uA>#(z@vxfi z6W;MJjQ0nqhQtZ;eR zh*VO$JoEuoO}{$njG>Gt<7)fXp!Yg#n?OQ}tkK-qN5r7-LdpYC6@HLyf+$*(P#@!4 z*xP}Q{9HYL4CF_sl+BbjP}hgAvx-_{bZ*PH=x31Z7t%yHx_`^)`n*1W+q%#2exc`s zkn0b^ez7ytE;KK!s58l%SIcAXv=-veMG}?>?Hq}$66J&vZdj3MZ4kD;G-R&?Tc~EY zDr8g2HzjD&>|Mn+yF=~KTL5+YnY@V|`u8{kW9tF>_K*48=%1si*nl0(&?joeCyWxm5e#5%SbVHs>@LM>Cb!C6hEK5O!Erl>Sa+7+Jh5a z!AMc?r5gDoP!8_96J?-C9K=3>P;$CnVg zM?De|YY(MnkPWie=TqiH`GayBKE^Lt3~tQ4prC!pTUK3TG(&5WiF~xI-9?z?#f_mF zLC?=B`2B5`bGL;F-=Are=p#`iO4Qrl@|ztS_^hKq$V_fjb}o)4?YU5^AsRH#cwvADt-+g$pDS>3P&S_yQ-?k3 zofU6Xi`cPyHhD>{>^#}P8;@FU6!RQh+h|rJC1VC)9v1iX(EPt>c>5 z=Vk;hc-P7J`<%2MCuHJO?a$X44!@tT<~<*9j?5mi8}kaZrZGuGXFp);kRc8B2l#c_ zyS*<|V=jNt$x$R^6P3?tjyZ;x8bAHi1WGT^dr&mvS@>;}Q@} z%g^2N<6ifv+$023ZA%roVdt59uS5yL#6STVb1<1sbcb`1;U`4{Tq1V+Kn{5zjXN~r zLw>zJAHEz%>eN~K`_k`fg6%Nn!V8)|^KD9tp|K0TE#e3EhXz@k(*wp4xfte>!+#!> zVV+k(Rtp?-t)P(2UYy}NQEXzvJu?h!mHcH4^kBBS?6p8^9zpTmBzIkB4-n=%Z3Qti zF8g=Ke5_F;AEA#_nCM9gc(3=|7e-w10FsGLj-`=#&hE~-ihOneM#QZ@H2BP9{&DD7+|EX% z8^qL!5MrZGl+w;a!sKuXwi$kU3a$wyDE*yYFZ{N{Y}f!C3^<}UnH}}`K zTQ~sWRIZcgjqVRuKRJF;;T3XRo2V6@wcqn#jef&_&xctgK!g$E%is5Mpphz$m-{6m z5qh5I)#tpb@fr)y)6bLa%b#`Q_bI|zF$_dD&fM^+7l4dK|Mv5bxz4%LG0)n#=w`|M zZb>(>?X_t_zcWfbeEZAFK%{J;00kI|a-Gk%Vqb?ZH-hG%wpW9=m&w>ISBONyC|8Ez zistSqq}Nz&x=r@X`}jzGpZ)3f@MU zDLXuj9E$@-#D?9opP@R3oPOI8(a6rA&7``bV*WOUQ{x7%X-{`Q6QYu*pQ6Nf&<2Er`TZt&%h;a?i= z6A}>)_*=WOf&EVnJ9%CIL&IeM(6F_Et(nVT9-}j|vo*Cab8$3q{?{zWzvwJkxj!b8 z5wZIL?N_CeFlvh%Dp|#IQ>&^MjcGA(=u$*|ybX3U?DwzrA|lI1?Wb4#2h)#jSfc^V zTG`e7=a>^~8BC)n^@*j@()434n%8Th$=8%STEGLdf%OK2fk{5U0V=wp#x0YIY}e*5 zdnEhzU6;PIKsVr7K9W&`+ha*Ail;m9B3;i}d84RIe70Fl%%{wXWCzT)aB<6x?Nn4Z z(xdl;Cp^iw9?@H#3~eQx?<%938SV1e`7gkyn%hS8*VYwwIZhQ@knLB*jwpk= zDcbMlX^>)D1+UwM)7hYb%*uq07AW{!qhT2LSaxi0pUoN zFx9)RCuKd?N`>2|!=w|s`df1_CJG!2vJnZstvh007{8IL6^TxUn=Akf4bVJRLR?)_ z=Y2VI^y|TN9(7-?Itb!L8_wPHWqeex1`zUd(&xsDl)OP=4Nw!4@MoPvEL^Nh+KW7v zkh)=LZHR*hKY!n?&=}#mIN^~GvHEr6&m_r=|A#0hC#?1d{uZ&g{}#o6P4a--6dkwz z{e|rBG|xX7-N^i}Dom{H%>MSVstH1WoeehR<_itXk&lTnD422uzi=q~Ny z#SZik*+^o81FuVlDTG8bEkga77Ayk(nMk&5V*h*&C3kG#9e_?-m>8EV3$aN<#%K_6 zNhK7Ho_vp?=!KrOCip`PnwUJRjK2evOR58_uO%w9ykgQXf&vg2KXd@^v z*Q0Z`%AB_8_gD=;Qv8~RHigk+;#pgrE_iigtgx-%I`J|@Y__Y*d>#n?dpq_b@z3oT z`9Ge2Cl6a^19uZA1~*4rdS@G%|7{2VVE|X!+I9eTRNvX!-6f#-1t|+RVD>^?wWfY< zee)o;L4Pq@A!!PB?eHZD>KcrbUW6p;kPf}eCX3@Ruof|VJbd319t=fwFDR_{flQ&_ z(MZguNXph82F#Djwo~fsE_Mw*2_W& zR6K}BmUn=Xde-yn3YD*y@I%Fq+L`e772^MWXRO8qA`PN)oH z$d~ynU~~Yn4E3ku-J9a41VI;&6D@S%RS*U61Ak4(H4&?v%042K5a|JoQB#JQ@sB85 z(qxs@o5U!MOd~b`G!*!#*&Qj6Hkif~Gmo*dFl~2whLiIl?lsPO@rC%7Z9MIG`Zy!y zWKLg_0^92uM@x1u*pfPi^}E?sN~OHfR!pd^{xoL#b`1{`32#X8=)iBqJV&fu@W|q$ z4wO|igz1Nq=bg2$m(MTvr?dLc#rMyHMClTV;I7xr=eD7&T}dGLM3&trkRCveP$OC`$YKvf7^{dT1uBumr64Ep z4&+XNJkl(9k1uT3gq$%=kqbl>;Lunm)O@x3Z661V$~8Q3?dsKDh*FZjgiEAAY4pl| z%Sz5&j7#DQqWg%!afH6Wl)<1I#7ktLIzR z>+=)3V%2i-LS@~`QE%L?dW3le@@g(eE(&?%`gzp$&a1Uxai&*q^L!P<7}R;-E_pc# z?9;^5=4EXy4lqJzTPNI(QX|gR7hB*P)U3~(`hGLvwEP#R3;Uf6uSgo#wR<~xJ_9mW?HXU*zGhs8mvxDuV-<<&Jw3Ze3b?uS!wAi) zPUUpdh;70+nLa5@k-ftj+rk}sc9>?iT)?l+%xxy6Zi_Jx%O>w!vEH|4*If9mCM;XV zUFp`!hQ!^XP*Z+|CucRq9J%C1bVJswjng9=$+Nw7P3$#Gv(QL zl+eRhh53jbDR$0&*Gd)6B3mZp*mC%%o!nI2kro>m~fJO%xiQm8Y zAJTYe@#tuc&RdSrOW#zEx?1wO7<-u~io(aN`i=Pv?zO2*$xmWXdrXdu?oDbA;8x%^oE7-o(YKh9FfolfO{FhuL6bu!i* zz0fEUCw7?{R>^7T*IdTdsm3eq9XyCwpF;^@#;vX20!%hRuV5=v-)pnS*DvJvNR9DfK z%i$WXyI{=mocEB?;FoFp2{UdeTNw9>=3GGhceQQpB$m5)GBxt8Wr!BST@d1hrFN!T zqA!NC&19yXiq^^0k@tLCh;#jn1mD9j_QU2vCj6gGC7AdvJwKVH*>Q)lM1si7%*kPu zJA;XMlbqg8xreHYtE}S*7AdXYC#sb+j_*tF!xI$RwuNIOQhwk$Nyf>%?8kg!g zh1~_VvTHaB3g4j>UqD!FF34J*yxCsRpLGh-#{dg!*saLxt>^_WC3AN-lI44NXU_Ww z>u;TbP=?fHEXzy;CCncc3qeeFpM5 zNAhcJHI3uSah4)Q9$rC2@YGlK_Ak?MVRJceo!jpS{{r!1{XgfIDp8z11jZSqyax(blx26RdiuBOit`7!zg!f*$s zr2YnXLwQ*$1FP~gn;?@q$v6h$VQjea(ibmqGBo*+NcUT8NPfkZS7H{DQ z1*xKaTgYld^U3A|G#c&-N^E`Pxb$Img}xpTP#Me|7ernl+N$Z&{)3~#x7c^n+w7Zj z&uXsk+0(RRhC_vGOJWX_E+WuU*hd!KrKjTpz&fz}u0Juirq_W(v}U?5i6i}pKyM;` zXmUo>BHpafMb506%gX@-cNRrn_s`u%LFKZkqISKfgL*q=hlB*PoE|T~C_Z?uiHr^I zNK-WP&jp4{cMdte8Y7w4&C<$S$963n)0Z!|L65KfuDyItRKNes68yM(0{((ESJQgN)BbO z>mwE?IlPY668L?sh5-VlwJkZ0VwwQ2T5>Qk`*R@jbgp%h0NmQO9yZrgWlq zZ7z+rM9;S}Yep(gLeW~HIqE|+UPA)g4bER=NIV(#qfp8jNLqicAGU*`$1z(Ip3Qc0 z_X$b4I|;o?PRTHS_QB3-C!!tg8Y_=587}pBT5;#bNrG5lPGb2$IpNa8z-2)(qy8$} z4gx}_zOa& z0Vk(7BPz#@WnJPANFC2mVfDvT0~s{LYBCL?il@&9n)t@A+Mu2hYXO=yH6{l7RQ}oV znWrwzNd`EdSicOF%Qwiy*TR|V)&{j4VR8{!95BWj6xmFLy((*+ENTls5w6;WSu^PH zIxj9uR=vI@mi>eSJY=XbZCdp1=b(PIcDH-?D|%n-ZI*h%^vt)r^@O*Aa4Y#&j zU3Z)IjtA576cgW}A=6y)MO6o*2j&l0S72|d?j_`1w7bm)6{miT1DX#^S-joyN1P(*w|4XuCNq`(;1bqZD9L8seWLS15c_ z*e`Pyyu;ja+(;-X_eg#_jI@%BIST&)4R416Jl-z^7dva{c+`OIlB-12p;cDoKxM9@ z(W;et<*&~=gd({W`_}Sq(YTjmCRH9uG(s!XAwX{%Ow_6*t81IU0PWA9r4@l}>%#e% zyJvP~L#n(o67AS~i=UGBw+8QXlR0LQQ4U;_8e=3*L*d$cItJP-5{K^`Ve*L(%I9q! z;T(zS<}rp*b@fPP@DIbKBeBWW(h{>uMPRb5LYEt18+a;f=NBGlY6$Q&wpcr>XR0wA z+95fywf}6KT?9OWpWGk~s%lB5VdikgB$HPio%PJ(*y$G&kSf)+c^}r$eZ4u`5#;Gm z5%t`-i8PC(U##@8=%2szA zP@Wt|)5Mq6veu8{L+y0TG#@lGYI3BQpmCDS)2@UctXr60u<`}j+(bJ6_cow#DI4;HhuoNyJR5ni# z#KH%NC&!LH6n0eq=~Vj~e4(@xeNp=UhTHRd37uWV|0%?Cd7tT0EoA$buzYH+famHfYaeTin>tSSQM+RxCOMUqd zQIW-N7kd34t8-A+x&l&v?5OgUoNPiEQgoOcF|p>ZfKdxQ0p`D8-sn@G`IgNSY_c2- z4e?tZel*x=rC0JhsoGbB1=AG2Oy4~bmDYGZ;tFMi!zs?Z6k}mA4GSsQyazL9J#@pUuGHYv+KIQ*Fdo#KsvpmYp)s_2MP_My!dLK+6xH3Zi3<0S zILe|7Wyv*x-rEwY-qq~SG-FI;I7zBQu$B}#{9)@_)V3nLaXd<~a*my3HoS2E4Nb?*&bwz#TNxxcDnwZiR z)_IvuCL+@ap(H@m^W=6~>27L`$a}qfgtd$0=*!fn3%YghXy#pSCa>&oA(6;t^k;7I zPP8iha#3eZ7*2XhzX@{Ud>AaxZZ`{;L?P(FAi)TX16}AlnA{Cer?Q-S@QNSqHhtqQ zZLMHQUUKtZqM;Y_3|HROH|68B&5_s*U65X1ysmiZwM5|U&-#n#3v*)X4FDnzsbWQw zzl~{fZhS6DRQ=#+EVwCJs=3U{;HTPXo_F(&?-#T5+jOs4(`&5!b^gsv zu-mvHsj=VhFLyvf1yCQ=2tok?!QuZ;4gqWU|8dB_-^%#QA>EqNb^r7#@&wZsXb;oIGmCg?_X(q~DHZ`5wQm`bt;X0t1V`0nvknMxZ z8rqBgMl%w3h*g;2%tLN&B-j=ByYGgGd_WjHG$kz>T4+ zM+W-Ot7ZwwI#bbB{ zERK0`fo`GhMXqn(Y^1y|S16y~>D0FIy3?o)w=Ac?kyG$FgACP!?Fqb8=0Vs&F zx&+Zbi>~(!!0x8yK&CBzdAAsB3ip?32u4UrvOQ-BPhvm7DHG!X1CbK2OYQ0w3b-0} z#|tB?G$0)*x}g>SkgACuHpwwoOIiliF*hs_)a(!Ed)?AKlwQi1MuOjqK*eyfOWk8z z35{rP=lyne_5OO^8MTw=&+Z9@CdDC3Ao1htc7OSLyga;LyjVPFJ;6|4EnSpfjBIR7 zJbOADZZBp3>VjgY&=u2t(`vF{Dps8+&@3P{@1%GMxgU+7Y6*s14g52Xmp`WyQH~ny z*3|rGgs0)G0$Xv77;5;7{I@ipCWddIs(D_x-JdQ~!|gh*^R6p&yS2;~RCy`6{3o4r z{L62kfOmTi*K~@xVUSdJD9K@~$MFqQKCJB$gJy0xhY9c1Q-?{cF6yGP*Dl2x9IaIu zj#D%m##|CvqYPGK>hTTU!{~ho;I{(BHSQouz3})na(busLP=)AWqsN}^|-HnvLQ84 z%A%jpueWz)e4E!5D-DVv{f8?9TnlX5iXC>xQVv2KT}8vnDH(akcoqr$m8lFbAt8aR zzgp9Bxt$tvaE46PKYHCUl@i~BXbbj)3kzrxA-9l5N|{{Dblp0(qAiSfjrR{8Kkrm! zrexj0ZH0$*G74Mv?~|8Y%W#$79C1~poUfBk*dn;-M(XqX!5B73XHcDM>{S~l! z0{Luhwtm{|lfKE#xUejS?DL0K{$yB~n};9eU6U!+C?wX$^XxH`ItUMwOz7JcP-kQl z=^b1K5?t&vHc$#;WM6seZVqyohvWT8SSdx)U%B(OCvP`(i^Qz6i?>?D66uvq%@T@< zM1yWykO9cB2(nOc3LvBzMKa`%iYBiB=4_#JkXie!O~he%;a$%`&(eXmPz?#-FG_%o zKb0Wn-N3R1GnkSoNPoPj6?~y#N!Yw8F+|~dj{+ww~x?+L%XfnYQ6*lXYmcrfJ>L38qUe_~<{6=zp7kp7ODC)R7|d^9=sJ0{*j%7oM3 zwVm~tA3_~Y!+No-Y?*D0ujqQzN4#ihfep7usLbA4jiSS(8q+sApOH6<=DirR748(A`;X4b~6i&bEEmnVj-& zct?1lBG$bdBAvFSU1SK(R(0Kt4Pu_Y8mxQAVg7X!zE`i5?YCk; z0MeslIF6N%6hKB%o+nIeR@FAm6BQGZZmv3l`;+gH75N9b|FYHqtbs|WkVP(%6KWZz zi!Y@yn@R-T{H45C&&Qf$M{KF5xh$QruF?F?afev5!Wa|}(qam?kEa-cc$tKExYYZC z_o$k0c>`9M9RaKUrgeWE({l@oA#9@GpKBJ(4YuT$!=_+8^2Dv_c5P!F*^X*`9MBc{ z9k*VC)#ylP`#rp0uAMT+WErhi9fjYD>eXGYK7a1XqUNuw&wShVe(a>3nHi=BM@ajI zLhp2hX)Aw{OGGd%-p$V8=WNPN)GhjcUp~)BWdA%ro7f!`ueCe%`Et3o(+blqgJFC?0ie22K%t?IIUX!a#D_-%oNOvc!mvxMMagYQnpzL8|c9~A4#5u2l zq^%b=0Kuk;D~$&rHoYY{Ms&MHpAsL5ncV^e0AV?1%QL%EpV#OR(u$Jc<+*!%I3ZQf zLZJm8&9V1W%B-NAYx9&KS+9*2>U$wGrAPG+#g5RYOb#vZW ztOyltN7hK|D+U4|Z__3rOO`pGxkCNNk_o6k#WQAw3{V3Ebsf7Cuou$=nEQ?vc!P9* ztW?=5lpcJA#ZV+-_}t$L(|U0G9!iU}-r-{mtwu3=S2s<%yz2WKoV?d($9dp=g4^$A z`bgWOZV5C?zD0l43kbkY0KQ2E3D>_?RdHHY%8|8OM{euzqEi+KrDNP^%EvA z_O~63a!8 z&iQ_I-u6=O=KTct8Wy|xq&hEnzVW%A$OcFGFiDa#vj{|aBZJ3Z;Cgy926S)Qee#%p zo}3TwHu!xT-cDR3s(+5Q4E%BUem%XV9{sqOKilIvF96#qbduSUhP3CAJ*0fR?f0^W z$O$=pJO%s)I^*j2A5#|aLD&dvu=kKSo|z%Pca^Ktg(NqheL zgOq8cRQdB`HiW1pg?~^fP)DT9l&5(Qqb(zRMaF5!{ z9=tSDOl3#f5jk-1QJ64%%kn~wQR~`d5VignS?3fbN)Tn)vTfV8ZQHI_wr#w!ZQHhO z+qUiM*E79V&vfT+{N;+95%-*ZZZ3Zkq#LL&T+AvV^@qKbSI%FtDq;p>g`7G7S_zMX z1MBDIN)XSIpYve%N4fEJ^P@Jl1t_qH(Zvmen=~Py0sU;+5HtbY!7O^Dm@9Nf|0PT2 zkg_xeYA$^|XPsfA0Tqbq;2hoa%I)y*+qvOF3Uc)Y`(sH(g&OS#Yt-*M3%5WC6Wi7$ z9iz!|B@*)3={XSGxM z2j^BHRlZat8Z@e8>g$#ykNt<`?W)H%CI0d_ZiesSmU+)4YTj9nf?e^9uYlbg0?uen zMA#%VR5r=fd@TBW&dpJTdJ19w&?lv-;D|1)ur9fnQdI&(6I%O|gWk4~1hQb$HSdek>U{EFjv>1w6k(!|+Ai|PpYLNE?5>}M0C}tX> z%sl>MQXmt_BgYP^Nm^7OCY&OAbWqyfc8CxIbU_rvYE)dKJ=d5=5}hM}e(J+y5dA9R zpd|r|9P<&-2SgLJ%lxJ8{i9iVgifpRy({{4nkP>JjKYT3xB$2ivf%H#e@lnAM2?bl z88YxBw4y^*!=EHF7O9g8O>~bYl`4Zej1zzX z?7PRrIVOiy3@f8VU(u^hRyQ~*OAIE4)d50+F;Qv;H5)hUp|JdG$bpas?o|j>t|Qp{ zv3a#vrWh^rab*={l(QQp(@)T22aX|M+d{J#vh_#P#*srXjLiDK4;I@?WZ0_sF51*I zy5b(f?r^h5(EE*r9rDJEixt-*8MQIa*RkV?$L$G(J1_mqj3-=j=p~Kbk>zV0DEMtr zL|C%Ra>r?A_l6W5sr}>`RllbKY0@gDV6bz)3N#s%Y;Hgif#tDhC`JSa0_zq?^=DwP zWPG71hBbjCn{z*}dDFSD!+!N!e;l3*4qL%$dE9Cj$sIY*uAeu(>^6{5Wf}!?e71M{ zE{0r=4`^?LYd1h#a@5oCsAMvR(+(m5qLB6Jy3lOJ;(f4W>MOPxEf1gY%)06Uo-90J z{(=McPhdOjg&nynT&}@fY{ax$HF1vKw{_vl3C&l0kJvslMhlR2G`zC|I*|6~piNMB zScl?(2d{Xjm;GkoB|2=;-)CxpZm_xk$s{mtSGK6LU=ZYQ)#rgKr`@q$s@<8hn6hTq zBeks3tp$knDG$yYI(YpB+Lb37&{}%HeJ--j)4{(X3uaO!vCp3~NH#aqoa;1^o5c4O z(Dt67h3p#ci!gMf9OabfX7$!{PiXpM43^bW*dRLu!a^}3<$<|jivL%l4=#;`mjeBD z@t`;%ytU;q*WiOs_I#7Yd#~K?W+DSZNr~KJWfsDJ*A#HFoCo#8~5i%gfweK?Mi+3Sy$cazz$8<~pag0<)ehT>kM zFi#;n4R*7sSXJEY!o8oojcUPH&W09!Gbx#()oJCi-NVkCF~GGB`ecEB@o=4aAqsQ# zrf9A7$S9a{ea)(d!PW7WSfe~U;;?batkX?(U(ubd2n`)MiJXvq)HR>QCkpZf)}pK= zYi?Of09w*Tk}(HFtWegRInI7n0utI1Q`f(QZVbKtoErCTSuLr=6P?+3K|cK{Q&=b} zw97^%W?rqW*0YZ~bI|IeE-a_v0Ynj?$awj}6tBPOt*VCNpMn0x>^?3g;)v{3i#Pk3 z`GMIS9)ouq7UWHHx=o@(?>Y|JG7wvAZxgnyb86F*wH~JIm+!fM%=CAOtLINU_@HXfvxc7fCz$hji*Rf9Ax{-9SUMoc zoQAVZ)wC8kP>4>=N}+me>moU!6p^#;<P zqF*RJE!GLZ?T(zEwamz~&$Id;y%Wx$s-=;aQscZR$-k1U^SGI+%}lDwN^N`7D9hZ< zqM<)JOeqN!Tw+YBeq>l?bS6jxFXoxo%E~KsZ?N5ARCGniQ_{IgrE6qdXjolsjJdE7 zAuNK=BsXsfP_?r}M?9LGAo_bQlObUWU*@H>ESHuFK4qAA9nQ*KBsmoX!c*HDLc%)( z8K-9hEr?aG3>CK*=}bp`To?2o8qsWUn`$=~dR5lQrI9CoT9WrieU{cXioCb1fIxZ#*}yKbJ5ug9=X zqysYhvdl_k(B3=w7Y@x@wUlw~?BlA4Lb^VU!)D4e9J_e`?Tc*2&>1!#UTeb0DO43w z+Hsf{@&n?30fC+lIxU_*bKCsdX7g*E-VL!inS8PvVzW{^+L9Zyn{lm8ktk!`*H#S& zF$BCOg23dE`W=;Q*cWTBG^z7>K-xwLi;6%X_-r#L;t#|H+&3 z>LEJd0=o>lJ|>m3Ibr8A=o+GFM!Ev(qqEFfT$KYUudbeqTr)|hZdK`U$=Qoasib!C zP{3uFf6f{N*o@ZajqfF{ynXQ)rt%bEu!P^hF7Po( zb^-ssNZ{kE+sTh|8)SW;r)ike?4NX8TK#wwvT$RUdLO!AKyUKh_^x??y>d{N!mZ*B zJD_lAHO!)Gm0RoCQPZ;hnkxO&rWe!fdp?`XoN~Q5oqnKsjP(7koiK@(5fVzX`%Rt0 zu8S4hsPg#hKvTm;n|kX_r_H~?`Es28!KzjSLpziK)Qe~RV4Z4rt!+)$b983KWZW~= zmWD`1U7ayZXaof}tOhIdK0TB{WYpoBHO@iV;@JmoDbuXGU!pn5O}Qr9y}*<+7(^hc zRF3vIbU>z|l=%~Aq?6k3SU!u;`ounN&8Dq$ob)9bnNRMNB&(WLFR9+&yNtWAs-X9T z^7)<9yN>P~b@%<@(PwtVv2Z8o+cNUS2+!M+g}ZQ)*tt(zCgZPY?QJbua3^NUPf}jRxIof{&LfKh}0oCRiI(_^V|Ii)LUpb(K zqv06Jiy*6&H)lyPid9&@{Qq z=@Fhb@8)yETxpnZ5 zq4{qbB_Q(ucY(0~x5#5+YGG^fUul47Rhxe(Fv3rbz5{BYkR!_aX6v#tc;UG}kPVJA z7}%66a0u7`G)4nFW;Rgy;>H_Zqea3FZ}JXp$0WbF=-)J78oF^j>TI|*%%^I z+?)I~iCBJPu*2np;m@(F@8i9xgWLE0;OYA6`oZEC7!!t{cDbU+uq!!-D=is}^s}Nq?Lu@fW?i#*md>}MTRom`lybC`IGN;^QB}k}GR-6Z;`QGvzbs3h zGYf3u2%-ENaZYJ^x||$>ul#Tx{62@M)X) z16K`CC;d7oRAYgcVAju!o4;S$*AT-?!N0aTM3Ja5Vuy+ysXQ_pzv6U`U7HbIH43Dh z%3O?i?q#Y8DKhw@h4C)8sZP=?+Zubv8yV1qgpOv-#spBKRpsJ;J8&s4;q#7z_=8{0 z-Xp_s9UHY)cbF?k8wUaGK`hsr#>@6H?y+8*2)Mh#Y{9(v;7Inr` z`hRcPtAxUctb(r6W!wd@II$dH>>8$KB(}(FS&no^?Xrf}swQ(+@usG?=cY@nz>joT zH$0zEtG4B#6PUc_rQta>xd*#228I_GRV*oRqq(NCMxNQ)poMaN89?YlK_#h=ig%o0 zzIaMHwQN45o;4L(*_(|apWv=K5i}>l2@yx9SzuR|&G=d~xhZ=Zacb)gzF6&&S}qMnu$*tVolN~xSfx6}NZzGQ~EA-G0>=beGIj+lc? zXvdCA9wm;vbZMco6e+9jQd6zZaJ-*ij*Yf}$!RL{Tm>(ch=ZBT5hl8GppUqwj6J@} z2OhG#{e%3$A@UX!NK^iSX5*0mZ+ZVu4flVSw~?KVy|u}Im3K4t|CMn4Kqux|jENTI zY;OiRRTqY2OVi1sM_n^B8@Hf{2q9rX%K*;A|Czj*x(Eak@hMp?>5?Hp=%2oZ{UXJt zBG|*s$h^ColSOkOI_EMcQBh%k{E~F)IU1-H4+QmkKkdH`?MCr;a=W~oeqILU&5T9p zULe{xiG$+;+UOb`$Aj}jr2j1$4VM`PBY}%Mrl6|q ze>QCt{qtqhIE51Kz$xSVw-*bMxy<*j87b zpLGtwP4GMQZK4Y;<2V3qsKp*PSux`=X;~sYRc_j^7COBo!Q6hi4g#^|pnu4QCknLN^3C zrVX@P>;LH2ahU1yeD3ie92m(N=aM%ly^STJ=|IZN1>7EA{&|@eWR8R8z;zZo^+1%L zF{YbyF50X$ri0bNs$YQ3Aa&Qjke-)v8JY|agYTbiuAzU3%qFmKcKl64n)gFrwRS|q zo=qfNI<+to9JM2q#h3?cHIf^GB05EhmbWNsMQP>Ls6gRxB#egz#|1WE+ws~H?w=$K z^e_zH!x%&go(u8Pz4y&0pS8xVrd1GRU82v~)0|+*jk`x_$_O!0jVC0;A_I?&OO6ui zsL5p19YA~CKwAbQq9aym0?UFyQ9b&XxbU`kwaHl(Y#yl+K}X!SVzaM5c={DPT0seI z%J9VVj4fTdYd!QTqwE8EEwt}nDGJ&Aw6DP1+FM2ZYHFgJrLX?X<0m*K8;OI4(Ehy! znOiX?TdwigL?7&-D{LLa;MuNstMhg(aBrc8nx7rnT>v5eXz|(c$X=SbW}LR5WQiyG zmt%oZW;=KPc9LbH1ewe$32aAeZ7&Ep#;rL8^{LC%a>z9ZfV7@15iHYln}93+5@;?1~t4K=km$5|qZn~|5uahFT`e&2u&It9%Uk9dU8VJra;^;(CzseN0f z*eqQqKd+VhL?O5-oyi&@Z*R+Mto6u^>8UtZp^J;3-{ zU(H@=S^KP%wvPg8!al32P&{?el0O3laZec?%zHjIFcLMZM&bz#j|+i7;MZ4IE)@qc zYhM{040<8<4_TuUaLDa`J}@BA(`_yqX`g6qq>{^3$m(|{fBmM89`xETac8zvh2ul` z_RZiQ@CK+aJ?~>nVD0vc5!IRxMp~0{Ok}Y9LgexNc!tkgum&to=#jvAYP3H?fBB-` z8t@NU(c8QD7Sa<$0VVhkfa;-fC9ttu4pe0x`8EAl>7EXoZ(9#wqx1-SMvta>zuR;N zI3E&^dD_zy0v>YQ){S?CRCc?hfJkvwPofJseB7wd63j%#7y1OX=1G}l&d2U8Y!~>YN(8v)XG?D(e$D`c^Vt{E)MG25Tr5+= zvVLZmkbzP+PQuiSH5m-u!Enj?mjR@htM6e{3!S9_RS222%&m}$T4Sj}t`J#S9`Bdm z@8NsDA1=0Mx0k1LQh_aNP9ZXo#Mhr8(o!o<`P}#V@E7xXsWEtd#zcR*RTy2NAzR?Q z#ja*muq&c|#-@p4dZH7GE@)7gi;>Cu-xk;r*k|)AZl4b-zvu~b`4gvG z&qm?%+zXB(D4jYblcK~5_xi5JSyx?}n9FY~X>*oVaQPcHt;!!xy)NfKID)G4X`=t?m z(q3V>mr3zzcS@Y&(8nQ((GC)z3!$}p$C;xIy4u|)STFF}Vyy{Ov`aygotO&h#R)$o z$Vl+CLF;We^~H&dbEU@-BZ(qtB+}m#7IAZyhz5ivSyrjaH;p9rY9;v+ss7QB282w`7FqpAJVs;ZG-tXDkhxU#m zKRElKm>YHHfJE%jeq_nyE&FGe=(PsVXQfwcd22BC4}WE?AaasWmwRx3Vz?UV9S-fa zsc2E%Jy{BKnT<6!i}$@zI!ij#*((vo;Qnpe3xpjvL_)Bk?#{znCn=gfexjBCZgnHJz9~4xpWRF+raE7 z8Nb4N1R4h?xWd({{Ezwfn*k4B8oZ?Q9D;ASEZ|8fOEvrcLuEl2{0RE}aOL;!{5QWJ zwvJv@EqH2d;{9+_nvL%f2-Zc0jC0*?E z;k~XmP3*v`oKeX6En_dXaGFfH=cFJ(d zF$tl5wAfkh%rNbE`IOx_1%dtjQbppP00rC>NTWP}-FoRRT?|rvS24@%VPCGj$Tk!~ z9UhRI_DFJ7uR(SPh=5@As-fDPijPgoM%4Xep+0}C3sNsn!H1f$(Km_5xxx$QIY$h= zuk0RY`4lXhu5FsrIn6u3CuAl|itM7GCvd<5=<*skNQ*zT2c6Ujj6ta<0L+Wv9#mu^ zpSd7Swpl7_jY=()?SVN4sco?)F5}Ku?Gi;#6f!*b;a@{4Us{v?vNhPh@*#y!_j?8s z1r!eE*}GiOrIkwbf5_QeglF)(Wn4|VMp}hLx@OIkf@#j}X|wafMp)6!Ovo=>X+lQ9B8gza5EL zXa>lMADSM_2cX&_x3-#h)|&NiEr$bqeu37kKZdB=rbJWA$k?@cfM;mPBc|VE*VOth zs26$GNhop9sJ8!sqe}E*hj}5@%9GS^ufLC*dk^<}1fbKStk)@4i(6tMJ|(M+G5(j~ zO06tin9mHwYoy2^F$0;3I0kL(4eVXRPH;C3_sfoF+%`GAKN;RG`+Q1eb|072kCR-# z%f<_qbgq8rDvOn*UmsQrVnL*(Iovn?PnB?#Kazw!8=?{OK}7(+4Wv^6&81n(T27fxCg%(j~4z zT*wway5gJ}I+Y$GPOCWoT;JMTR(3F-@oU)9=$(uE88_;baA)fzv!trJwKaxRu2v3 zetkx$fd5G5$%fiAPx;=gvc%p~i8QrXGU;ul$yst>-9k4*ovAd<4ebCa3n z^0(j(yE>iZTt0i@cy1o=hlqo>QdIZH{&9LkQCcpOvtChW{DDu+93g3_fUtK`ns$Mr zIwAdA3(L+Z*nYPbM@SyO3A!srwav-||Dpu@H-p<=VW1@#fW5P~d4x_?tP^+60`i%8qf5$CB++T4$ zY>=-%;p+wax-$Fv^M8_V4eoTAs&D`RhW`e>|F`%g^gkwq{qHE$e|D!9*8h@FM*sLC zA1k*_v4%aj?+CUKD?~(5(wuhsg@h3Y9`>9}4n1n-bzMb7!a7Pr5Fi+U3r3cib^S(u zYrpZFiVJZUU;;|+bg!A5N_e*U*o%vsi+@kWMQ0g8YAQ3QpZ<}w1C4LnM`l#zzRXOb zj8Fzm#pwMGE?Q^GGW;uMQBNdVL({Mg7|Q6BX||m)rkiR&7m=o#NB-ruNby9gONyx8 z@$#V(oDJPRyS|A-@=dgBEIfnQg+uml~g5)T`yPOmgoG zdL+;1V>$=gw?{m^kb`$%a-RQG#Q~xt9XD!dy=Lxnz+v6Z;#z1P)e0g%+xhA%vAD6l`YHwDh5;ssP{N=x}* z(6r&Fv!F1deCTf;-rh8UIHQyZ`21{-PY9qaBtlb_{E=vm04%|(=2CGygoi+#qXG+i#+584E;NY9#^$XN5muV8B1t77G1EN2=JCd9 z?Wb~yHR9&y;RBKp3rTSc%mZe?5Xz;a9&GY8>a?7svTXPO7mC5S5oif_0p;bRUS8tj ze>ixs;9^r0y|HyCA1G$fCrOfr6*Y&%CD{_;2P=klkmnv6X#6Qwp55iym&`PmN=;Of z97#SnSl$3J^d@D{6iIhQRUOS5wpH|I=m9;TdUF$mekdhn5$V&DN$PNqw`J5OslhpK z^RewBi0GY5WCOedpEIa9jx#tFez@NWWD&m<%H?#wyTO&kCJoC%uq{>_RQaIyU)rl5 zw9`rbQbDKevcya*Hjp0j6V|Ixo|@H;a+CN4Gr!ZsLejDY@XGkeQ2%LmvL0%PQK(6+ z%;~CTsv^+gdAQlVTwnV0`@8h?F(Jt`m3+2YV?gJ1H1?qyC;o4# zMp?U6RS~K>$D;UPQnZ455W)r4s^D*G9+@m(z6=`ff>leF1wD=J%>yej!lpS=%{!Xh?8n@7w0?Ee|FFwSKiIJz+;EL_)AC0TdL1^DY)ZUJZHQ8#Fzq#4fbKocmy z-W^TP@U!LS4uY(7I}|W^0|y5)_$W>UXzogKlNDcv>PGS4#e;eVTgm?|O@^PsRC6RV z#IA@qoJ=$1Ylpk~NmL=imz&yv)cwpvZ#6HUC=;=RH6O5BOSOk+h$|O8){*qEV)S9+ zOpg8aw}C2K&f40#9pj#)jO(N{QL1&2>@rnVPcoyfIy0JIkuTn7#&pOu^qMp=yis3a zxvH}w<0Z<{EPz8a+@MIANwT-`Dknc~kFM>-hD)Q-<5Dj?g_EaqF=&&G!S0DEa)_zIHcN0` zV0kR9z5Vd;$>>KnVVr&48a)1@ys$x0;{2vl%t-@vyx?}~VpS2#q&~|Bw$uFm{1F{sL znK5Z-pV&mz9&BM+3#1RHQ9hSkqo%JPz*}v6)R+CF0spE|c#@BQO9qz&())|V!5dct z!~xBk-9$@DugMi_a3D0)sC3m5FE(~K_2#VJhrC`{-Y;Uw5NMJm+yvjkgdm}gv+Y?8 z&!bo^RDiINWZ+S=SiAxt_PQO)DUW?CIhM6Y!X|^GSEM0`FJO#NFXK^*8*||94C!?I zFJH{Yd}ztj-f9-O0GOes9j{=aUg6wDeDBZQOXei|Zuk4obSJ*xFr<+SS>?}r4uYV{ z7={0#k3DL#(l^!FFNgejsE*D!=69E($M}KP_gG40gl~zYt8_0~gOWn3A|maXS$b`R z2CE{fV%5ZsK5GBYUtVJEZP7`K-Lr+dNHeBiuIa}airJmO5dxcU4ffG<9k_MW% zkBdOB0r>M^B>jNo`|y3ySAicF)W`SYyfM?4`;QYtx=yfuaQ~=JW{bSVC;sOtzkI{} zupkDWZftW*G?uoA{oTYV&>hynY9-4xFkF6TtN+e(+C;9OOTUK;;+Sk2|DIhp;&CO^^5%g?6_e)3JdzkB;WMj5b7tK&2qlfasuAB%^oN_8d^tNAi29fb z)^LL#OZwAn(DyhAbw%XenJ2+VYS^K`5W5(9ImT=>T5lKet+O4MZ4%X&Qc?4Lr0Vn^ z)xE2tdstU49Cq_^`J?f23Lk|^&}Fs`|6)p{E5*}~wxp^cwI?}zoPO-oUj(T`I_c$% z%_?0W>%!~me0SO!wdA%LY7Su);VgiqXJVCG8O3Jnp_sJW*JJ*pLm$1VJn7cg+&MxQ z38G*Kb_p;I?ia`2)}HR#SN_`6HTpK~{k2nRg_Rb!fCsJ5`zsy|vDLiNe>;_F_6!B1 zXx^x&A~4c0VffsVOd2*=ZTtoo?CcY`-Y)MJUPLd<$FdI-atCN{WbS1|%rh4%P$zxaP zm(ixY7Ttx}3{7>u(qv&u);Dr|4S=a)yTco{-$dzEAf zE~&%hA~L0XS4eM+$BmGFnA+{ySN$|xv(tyZ{Pw|6^J?y%78eNZw|!FdlB2AjB|q@42(Rd`?7K0Iao#<)3dS(fjzpwck;*Q7mZ__8d?rdd(at%@=< zDQQ~CKCq$qtLOfq?%EQHbP8;3#NU7?9A~n@Kpi6qtrYTU1{arF5CXv|**v5Q)xe(! z^A|t;<8YSnUVa;KDWuauJCEsSr;fOGhf1~&Vfg?G!i9P8Me)5WT9~~{@IWEjW>=~S zq=1U02tkf!+NH^Gar zZ>Pg1lZ+Sigye21+?qwndMyxld35&GUAf# zA#+}R4l4;RFDyjc!AgOqPQMm#3uX+ikDto9rm&-VR@5r@+4;OUB#2XBD)*lSS*+`X z<_5YE2%;s-E1!rVfLjmUoVXLHb(64`GgqT1|7C{DX7}*r+Gqes$|qa3=6crDfr&!n zJzxoihL${wOl>{5<}+hfAAUU$+&^L|86?^RRDAe&IxwqAYi7S^H9b+bag%^$gQti7 zf_h@3JsP9i@RX;~4tl0`xraIC$)a|O1-C6;%j77YcD*rer}pn$D3o$_MiKDSV&7EQ zl0^GRZc$U==G(v0&j)?9^}19Z<}L9fKn}*NQF%N{FRtC$HuCu}oZl@me zK^wI}Tx6?dRJdk7m&t|a?YLC%Sm?bDE@0VUk}DLNnQ5ZZ-Myl6nI_VDIcL{9-m4|d z*q~;(nn*Bh06?oGTkdZ1Jz)deVfRrrlaRGu1?i1xpi!6Ik01*R#(;?fuG_K0N3>BZ zZb))K-JUOFnPa-##Vq7qxV@lXI>r12xk`Cf8+(>lfLs@1{?5{VjIP5sNLCCFY_;ICT`)G%{8f>vO`Fia+bHf&Eg$<(pp zNPwCs%BYqCc7t24n4kYMg&}FK4PjC!43eDZYmaW^seL$lhDGI)x%4VFIQUXgTTvlV zqc&s(;}581_o+TBOYJ18tdQoqoM^B`!U>=FI6mz6SXa&|#h*;iH%r;SWg#jF6^C}r zdMWjZby~ejVDze$C5oSOjMu!ZOmjIB6CcTk6f$r0wQQu==Ts+_pWaI81bgRI$}JdFuKKfU_I znHM#jnMX2Yi}cP69PFVti1xh71!R6|iP<;^PU(Z$g!<*Hy$-U!#|~2vf+_w5-I8J9 zGR&I$Da1&u$OVa;Qat*dd6#3wUpVtNnht@Mcs-!7gGNn^Is4IMHFjtP&&>L! z#noH5727qNU2&e_S_MjV@0<$SC(4-(6Hbs|W3f#M z$bChvAg&^E4cf@&#Jq~Kfb*yEzpSj)I32mhS+#`my0N-lzzM#qu3b0c!%1YGwasSg zwQ7lSqbXp64T?{pGsbj+dx!Gb+)VKR<&V6SkWrd-1M}SB9w`V6W|T5bU~CMykYinQcwHD>iK!SUuUZCcD)0zt@6vS^d>5LGgHEUoF+Ot zx;ofn$xQ^64WYP@TsS;;?|0uc8W0G45w174;jx&kZj&h`V#-*=Qa+4=JZ6!xJENuPcz;;Js1WD%(fY7eW~ zh)6E#b9y3c4%EuVl9)}T1+F*`xm8HT?3^hU9i4^81#3I_=5a9II9#Ai#%NU5e;{xG z!NnAg$JJe0p}6U?<{HP{F*>6kYc2Yxrj?*Gu6T|yH?#;HFW*U#{1G?Rndudch2(7# zGtWk6N(Ib4ZWk!#Wo5z}l$!Ig6 z21x;wJq-Wkd++WJBq9>{9=vouSVkCee6V(iQhh0k;Z)$u_o}6C-fxMbXj%~sF2Se9 znh5lDG*-sxjs~JN2EJ6%$N%-FpN%l|$YZZ9{ljbm*ISOabQ28!J$s}0JAA#Ep9Jn^ zEC1z1+qHUI3mkG^(q=O`+-JmMha$K9QMQ%k*+Y8hAaRPjUb5e)2^qZ+(wmDcW2yxb zV$(eO=^O9$(3~~SQuUmrtVg$1YAMf+uw|HK*jUK8YxIR>)Z2#yY43eg*Z0tytkwjK zuh(=_dSZ2>6h@6bOR)X%WPaAZ>ma7CJCfe>f)5&sTQ0%=#4G40Z}VFqH|W;vjz^1T zRM0#TSSlnFfc%@ZxYYInvRF^JB1n=HeUhc3XyBwos|b!MuFppaamE;^=ZnpwLaCI; zVIi|h)zj{}Il`^CV!Vwe8||>cxH}!kaJ}%-m>@6}`5BWXG_lKa*%0gYm{Vb4e~M5H zFGVo?5c3Nwp?&}HRKrxFqvFsA$f2T|OT*~z)W1VkG$pV}O_79_gF_U4ESk#Ib@+FCZ(myhUJrP@?h8GnEV^!0Z~3ObNEkb+Vh91P@-9F z|AP0_rB0$(p(%H4r$i%RksZckMZ{G*rQ%$Ju6;(ewf{0~Iz+XT%rQ3rmSvDGKTtU3j8fzYyL|C6jS z;x;o{<4x{wR}DSffMhh@!z;T7mEe2ac!9$*^o*)KYD#`4{UXYKJG3MJm`6Anr@^ka z##PA3UB#2U;aUNoIKoNZM={DJtIaLoq^cI>C6Ubxkc!5(0Y#*J_1+7xg8&A87y-_z zpv1l*t&~Gg6WVA+3Ya{iVxJ*cmx;MaiF{z?vq< z5hdn>HkzH8D}f3HTGtjr%X97G$i@I{RFbX+@|oxr^$>?g&A$@ZWzY8QOqrUCZ==1xGx*TKz!L9g`@$}Ae%*_dAL_0@{LVX)!B z{icv>^4kwFl7Ov|dRp=JH(LN}%Icuu=~Mw5438=NrIxCynV>3HOa8j|8p;>B4!|zO zT7rzSQX!7D)2R>`70_8sJ!YDKsGS%*QRBOC$9J)Rcz}>97|10AK|;1J>YQ*poz>6L zAwY|9Saf=FBd(W^3g$dFqLOgi16w7U8}FnL#d9S)u2NZv%g8P{lL3!XP(sOnk)O!Qyrg7iR+M<4$%x^o=8vwL>{H~Oky?sf61vI{h zvIR_E)3dY--SZm|xI>CCruxDSy=5RF2rqkf3`L8B1Fbo-OS;yUu##6Cpb-W;)dC2;d5S6u!(2OrQ}D?~DG1(4zGuy0KQZzvsj`1CFGpa>*CG!QZMUKx;aB1U^mAL055ZTF>U~H*wcr_xvLjIk)THW?mk&&*g&jw^ zMPN&V%vxA8%vo?3;gR0QGcAqgbL{_rwaD^xQ(7 zYq_5-q_y8?;RJ&NmAbLjQHEind@x3l1fj`SD<$ zvXu=2H_sX!$#Mk;O^m;~qorQfsc^4$uUx_A#Rz(csXU8brj3q?yq^>fz7o3YEp~1! zsrd#t|4m1Ki+qBZXU$g^7s1%(F|j;TZp~VU=WAVErfS*kqQC7yrIDKYYH#kXiZXx5 zKzZ+HTnB+etK;7tp*)`g1*UHViz9Gu)u8+_unhBTUjzptqBAH-u!A#K51wF80XOus zbO6iM<&#ErbrS$lVx$=AWBfcVdEh+-!6!8WQL@;F!%6VH64lXTr0$L%Q9IIV|NC*Q zv4w}%@j9vQTm85h0y&GxcaNZu+agcpDs7_+wO&c6^OU*R#=&YYjv$V|{|Azl-t#GM zD4=gJ9Z8`p8R=<7$JqkLC}X0{GuuoxzLX)Q$$c^a31x=foMo*Y_F?}_jLpTO|P8Bw{dys zsiIi?8O=Jno<#ZDB`RP?B+GCOhdfCF<)#T?NFd4N-X&o=;VNUv;)Pg??1gx`|F=eW zeuWa*;bhmrzNI0)wE2RFp^Nu6OJ5{0K3o62DQGix10%{UIFrZw{a7AE zh#C2E7L_CMVlj;e=HRLPp=C<8{ z?mFbYItS9Nqs$k$+_7%>T(d33X`(2Lj~9$4xEwY!9Iy*fPXeaP~KJk3}E-*`!Ikd;ZP*PpnQ};8h?0m z8tRxw)X3-RK2{qO`y)svryeGp>u|9|EK!L8P8Ge^WCO-LPeGlOkq$oIf~(zv%alNH z0CCx{+$dMT!}j2l?HXy_%F=dRsO(yZB-7;xQF`;846O}^4R^eH6HdMqj4FUQnZg+k z%=s7yWOmG{hPvmRCRIS!#G9y#N{?9lvy}((HYsOzg^m%A3}(u^(95#q)PBo$sgxB4 zr{=4Cu4-W%9W7aNL-U2OA-Gd>JHp4!%E5*|MkT+Gg86LzBfwE}Y_?{j z;pA{0G134F*Xo>Tg9gE3D2^*~D2>iBmz#t53ssGS!XWTQ<*OZ{1|=FbG9p3%NMHS3a9pG1j*G4=HtFI|^J! zCZjSPv^~lR2PZHxZ6fh4oLutZ6hg%F3e_O9+GCMZ*Y|PdpNiXNFRQW2!Fp|ccbf6% zXfuT?5oNtm749|g3qLOeXbt%oGW91b$K&Wu4%TT_Ih>BD|0wJoqa*9uuix0VZ9D0x z_&wH@yOVt=vzsz;*s+~Qqz1Ez5>^M0cq?Xf# z*!)OcRs=QiBi3NP+?(ldJ{!2XHCQdvI`z>(k#tQc*GW9B+02ONPM(-^+a+oGut(;k z`sa`~+lA9$9P6uTY|7bsgPWpX7atOj@gH)Go`&039(8v#MhL93@&Y;zT~rl5tQz1r zvBktFOk*NzH;eue^@{~Y)eL4bH!M=!t)~si9_~0`PJJS4APX~Y@cUI6h4%~+{n1{> z@^#3VIgQ9h;>kS4{JJpsRzyWsAHs1L1@wXLs)h(_r!eSBn_A@ukpUp^P3>eZ;6{$H z1zAJvI9(ef8wFO{Nz|KlsK--1 zF`kyOgeOadO<;Q69ZZP1g}+x`Z1Fa?c9p(v!?|O#Imx|9DGGm`{ry56^-0{pTq~w1 z0HXkj5e=iVDJLiAYfaST)I0>^Hpyy)svV1XgTcgic;a(;>#lJ8`qj0C7GrB%M)5}sPI zIb4Rh$Hd>{r}iM*(E>0j@eay8X3r{@Vn3dv<-Af9tDoLeo^a^qCRS!AE5%S*z9hkK z7RLhQMR&re2#-ws1eL~RWlmCZpAAyS-=n8q+EEtfM0hX-x|ve82d`4}EfTcsRe`%* zrPC$ha|}}e&k^H?&5kNak68m5+*S%fcLNCHeaDN94+TX*DhdS8DeIyJxcTu5>WL0+ zSh6lOu@0KV#qq8YDdx5XA-&>J!WI5>}rkze3!>cG5QZCnJq z_A4;ME{{xTTi|1tY`MJhm_$)o;GJG_C`g5(y7P|p%^b4iM$fEl1Q0-XE0nE=(%D+E zyG1@`CbHAPQUt(NO|{Ms-cjQydNE!<9j%-c;y_lb3USdeE0Qk@K(!WjO*Va}w%J@_ z8)s*+*jSIUv#Tp>_#C#Mq>hnQ_j|oe^i;1~z*ELn=aj_@IpQUXkyWoG5|q_w8%m|% zR1jTZRd_P6CDBsI=&nti7O8{PSmjIrSQU_jg_Vwo;83`yW(B|ee-?!4XJf>tTT z9(jisiFRx^m80h5h<~p>J(&vD=36X9Ls9Gv@~WcDWqL}esPAR-$aHColpP4ZlF62X zru564ZPp%+%kWz-0iMceMBjt;rZex$_JSWfB$J^$`eE$?nY8q|OK+UC`8MfP+2Qs2 za&vYMf4Qlt4F-3px5DiYl*)~dqfR5}QrcEaZpJDC?^VtP;U7&=hGoSj<;E2+wG>`D@DfswibU22}CC%*ghd{0=Ahro3%8n4{XYJzayw}s2_tqx zp|F(&TtrN^V?1j>O(T-QR=Q2?d;{GXuaUbi;zYN>S@s+E>|+0d_mGp9XgA`tyt>c~ zDDH2FSdq$2ZkpHG;XQG+9BDF@+2}e3Ri-mA3sEt|N<2`|5~Y!2gd8lC{``_EJeH76 z)VeH)ArWk-9T!hzlJ+0evigUxYDxW>DYu+e$qV(cFby`3IYK1$WhMe=Eu5*E{qug) zzRUASEpJN=8$Su8gnd~9RBHFG6PZQb%_`2MxC4VS7t!TIiP9}H^07Oho%GzcPzE0%kNaAq0pmgB%oG&@;)}Xeb^R?`V6tv{Ra#IMT zx0ED{d<;FdtPQUZ0p>chajSU}02$JXuVdBv)-wwvrrpjxh#{7fu4N&X3p>9BF92Cm zKw2#%5HO@XEOarP49_VVbg>O_yct4E3$SIdpHL7tq}x3o%RqS0Y|)8kNSF-v-|Cd^ zcPfYJWa-xz!MzWh3Ppsv#et!OPr9+?GsGDR^_ip;sYb%NeCyy-sJ+srjgw#jRnimo zfE)m3e$Il`YO8HkNbEQh1~!O!syQ4LuFJ1Rg(yN~z>#Y0UYHOmU5JaFs4g@R-FvX5 zO2vM*7u75z=)Pni@G}*xG5Ow>MW$T#=xQF&o&b2lqZ3Pj;M`s${kdBxRc8AtMBr>{ zXk(m1BUhOzufUr+?)-cZ&&6X8e&?LTe_N2CQ0Ea?acbR-$7D}EHd_QVuh5w_C>3gE zqCG8m(`1_cZm1{(&AkfpXno9p17{U@HL?-lbbz$>04<;!d(6KcWNzs#cd7+)6YLJY zLRUuV$tmbeUpd0vA>3=6h2ZB19n!=LE=eyMo0r?%*QD+>0?kry3<#6nREmoj&?tmW z2Om2Y#a5ypp>B?VSEQu#M)4j8c@8=uiDIsVcmt99CXca#DDrR*qwVfjiFO!l92o>| z_1j#8KW=-KUeACMRXMajUJs0<2sPy};2v9OwQWM#8qJ7vEF}}pC}=29Fo6g4@XlOJ z&N-+z`-AL~Jq>;n{fJZKvqx-QIN<4ac|VBV*oyb)Xxb|H9sE-vp6e-L*bSC2Awis^SWszNXprKwzvOAWPL%re{`<#em>Myy9HW&lwpxg9XP>QA(@3U|T+QpCg@<{MW@-M)c z&2x%puw-k|6xaFgPAphimtN`xaLnGis+Hl&_q#3l^l$ZVz8* z?5Xi3UULkK8ePJhf%;i^xz}4cXEnsm({x;;CS58=D2HHQhpB}V7a}zatCkQfW6_l+ zOZvw!rQF+7Ck+|X(Vu%7Q`xG(h*Xtsy6ufNm8RuWR|Jqv zcb=^_-=7Y8Uq|7sR(2#flx;jIFpUT|tR(^>WJFQ)gzLyG$?uD)`HqLoegP$Hlc%A{ zB6(paSp9^iYfPz&rE2VNMb51=ssN-^i!!_PjlzE~D0?v&6k0$ou#FCuo!Dz0R(&?TgZ$`2?e z`lIq;-~6#zu8bYU7DSRCyFC68X13jv@@2Oh(k!vTP|jCNJ}fEcbvm#>Rw& ztSBFE1=yPB&Y7T+3}0F904&YGWItbhi`mLGQpw>y-Jf?JvZ3zgzXGpW`1 zSlv?n+UT}A;4R;!3o7Hrq}E?`4}!sX$W=~b*bp%N)x}>>#^&na9p}Qxf}o{c&7#H=&)1)tFZ_b-_dLFQ=YgunRBG z(#cdKXQvGbs{)T=)aDYGz#{!ygjOa)Ai&4vTo1SSv9 zpW%Eu8_jJ#B@pD{AO;@T37k_S*sBSSW!F;>k!& z$~#v5lx6%8n~bL@TkH_r2KNxleB{^z7j@gDzZibifP0~u>>KI7(f2T%bwy%&a;F%i zCDFH5E-6PxIG7ItjpCn3#CuiM);Y$1kdPl2gt1_77mu5iB$i|!sdEiAMn}dKl1r1v z7T(&woer>17dZ~lKbNnyaaApm;)%98e4A}%lN#N3r?bi1L>HneS3V6Vg>-aziuB9mT=)pGg8 zmS!Z^F|V zR>G$h%cGptyHuZ|g=QN`mek^~xG^IZ5RiWRst=m%nSAPPnZLycvdAA?UJnXF%Av2K zgG(&4!*&f^I9onLI@nqg>fbCm}l`%`6qHV=`)eyKm zJGBZ@FOT`y+0cqLS<}(avXbyk)1##NDS&2nf!UC~4-BH~Bgnl@#s)4((5Zd8i+x$@ z$U4N)&cZ0Yy)g6CzV$QI(vMveoI%3I@MM`I9q7ve2dK0@6>`@X9GrQToT(t#4ic;^ zDQWaJFn)AI8>Xu!eRL?f7{d&rk!e;L&L7Q^4t)hz&GHIvY_Q*3?P8(LWxVm{Fm*%! z(TQUJE6eGAR=+3^s=^aCQTi2SsSFLWI0p+^;Q9Y8dn6_-1trJ%dbJm!T)m4u!nB`ey+_PyD;!EqS^SFdAvU6faSK##F=Ou^ZjNxYeIn&UN-pdcIB_)1r*Ho-I zybcp9b$Fl$>~fp|DN#q2_mKmw-YPkYyJTjMz`X1uiUfizVpV0KySl* zaFNF!*bq+YaElviuphnU+wToVfHuIe07_UW`cVNN#GOXAvuk`ONIjp~Wgoo&x@7r%PRETsq& zFyYoXab2g=Z|J_5qsn7cDEZgys2ZLk-(*6+S8dxjQA6QM#ve{aKcGxZ<$pF5Lha)Gk7MRJa0O|9?7!9 zwnLjkr_-t9W6S+L?)HB2?bJ+3iKFC_Uk*)+Qlh&kCe~n7Dc`IkU^5x2(MygnS45=7 zyP`u&Xi*WDM1WUOHfFbaE`k*+F!nrx96CItN1bw)NJe3P0n<|zDD(hHcD{L9vxCaO zppYkmswM*VBVGixEk!~Q@Gv6J6(nC3N9h~FBz3}rav`YOJ;o2L$k@b!V>VHcJF3&4 zlg+Vu#fFHz?40v*xmo3qIUHc;`%1B7^Se%ba4gCT0WKs!4*|`!AcJr{7bm}2fKhbG zyFNpZprVU?MY@f#lwr-A&k9B@Jk_7TqkPyCO}X?co=sxdq?c6AC_h^$9yc`vp#b zK0p9ZJyKWlJ%Ru@MIalrTeX1pUK=2B3|^s)3V|fyxaC^c^@6q2EHEfca)A~qfdiy^ zn|>;wXM9rxt)CdQTzy2*ZUQdq&ES(F+eaTnwwM1}@^6FC0C)jNFnMB7f_s}Vn`qKz zW8Op4Ic1ah+*HdRx2nT(4)ycb3_B0fnad%@;LlnlKr%PoEXc7o2$EklALyMolJ!0J5$R zX0y*`*<`VBAlOlo8!8jW7e+;0tf30P+Ra^@W(tj?q95`%qu4Oo8SiBZLLRnNf(2<) z2|<%Pii{PIWEfL9LEs4ysQ{SU#2omc#ADJk9835$N3Tc8c&h#OJ6h*#h{tKr;kR9Dk>xe zB_rq(h2=V@18_l3W&;gpAQM!2#rpzt+O*zey6iFh_O-Ill_Z5szP>V6h+BgXXMm%q=VTgEP_s zhlh4YfgCnpX!)rHfRs}ABJ7vzew%pA90$O82D}Ej+PWIoDtM4w5gA*#9gp6s>|1Sj z-}|_*!Rxm!X`XbXdAWqBO^7viWERq*mPJ70gS-<3Vu9X^<8$7mvu&RAZUTA*4YXRW z-w^1Wmg3+c!3L)`bp?;LMJWdrJ{a<_`>8Y0wJ)uVB9oGLaB~74Lv|q2idpY!IB0;T zwYs)2IQ<@_-us0*3O{@=HGeso%hDdYv+9%O-l8|~JEHNdAQ*e!C9dI?kDoqT8Vz$>E^OLI1mGjF_|MEpyR4uMBk=)lY z7UTbxh^qprkPJM`oSrmF|1#-igQOYRNn~;;%1Fubz<&uNX+LT+BC57=C)vL2Z z)Bp&f;V2CNPe#n1#+3|>RA`+sBrEe%c+>VU>qNy1(b2_QUM%bT zF2RYh0Qn+zfYupS?xw2BfRZxbm%bhU>_fnWUY|X?4A(I5p)4v)|`u#M|Qdq}`*u9qFtaFcX{72tZjg=UOa)?VhA!6EP3N<*VP*4VM z(+F-g)kI$!Yw+O$)Se}ku$pvKh*Ebs0w?8_3+%+aNWl@vJ<^a1v6d^AlAsSo8(F2Y z$nM;=xXUza$o~|*EGbO-5b?>r8s4B5!wA6c;;CT?gSL`gDJ-@wz8YTI#9eC*dZsyu z+`l`{hcSN`z!B(&<$~_aFN&M^-9eA6$gXSQsq+G}sMr7bC|C-(M46(`PCIL1A0na^ z757Z84bI0D0Y#gb-mC=c=iS!NGUy6nK_CnW4`Mb13U(O(=3HzD&p0-OhXsqS#7(}g zOtH@#F(w4rzJC6Y7@PzpO2%+SUGbib55i+h-|LMHy6mH;12I-pI7lXjl?|*P5jIGk zoZZxp?f9h@i|XZp_m)XlO)}ldo0Y9Lm4Axw z^+Dr<`-`eWf#sI9Z>)qYTu?qJ1tbm_{jks2H%#bLhUuzm|F!H$&?kV||HLv{Q3MO3 z-F#hOUXz^b-Q}T%@+K{V7Er}+-{-~$(p<11i%H^use&T7c?6hTNdslEe)ajkB1~M` zZXKT30RWB;{@y?M|Ko0BX=-h4X#YQvwts@G+y7*#u_1X)>M)|-L<1;yw74*yt=+qZ z?RX12O~Y1DobXP~EFB1wIgl7uo}PGpzY?q=iHk)7ISleg3F>_wk7n-Oz6K(Axlj5{ zNNyfpVBH1)5Nzv1{X(1Cb2+VDwFDzg!1VcV1^Dk)(*p zqo+~Hf=C3HtUrjz`Bb4m9)w8Ku53KUrHjVy8S3@mS4tBnjO)y%(ocwFLV7A)eQr)x zM77VGW@p4voTXJF*WAb*T+mi;e2c44v|QZsIq+#zzkjwi<}xi<9uL=w^`z`!ZWy?G z)Dx@uAP<3FP|)w)4>`EX>{M5KJ{QCp?h0P9G;c!+Roqius*XS4L!hVLnLZh$ZscAi z7THR2C=4kcr#uw=)SJ+k{o!a26k~B$TI6VGsjR^+=WugbIA)@6*|0>!)M|{FASYTg z+pS~7?E*QXI&1n(=BtEspqmmX)p?Ye@P^+^13=Dyiq*mX(s%#ZRd`)yE6KjQKr3w2{ze;-X{k}2jd!O=_9~98*IEy@ z$E#MOW6dVe8#xp_ph9WU>6v$>t8L1*Q_?F93@Qg)YycctR z&+iR8df1WIuCjwp?_Ng+9?x(0%Qeth8LVKXQ{HC1v(H2$&5Bz7eIP^4^L@0#$K~%c z0`tQ(tJ7ILY#M0dHee^wyY7g?dd>M})B6Aycz5$KP6DH63pXZXDeGpcGTQs{iI00P z|Lds39J3Qkj4?P!3Uab3;)*e+AU_z~evlgNpDnmUoD??;)GC_ZJG!_(No=#TcGG4r zlaR|_G>ef#)&3x?fuwGbKtVp=|GZIVbZB61R6>n=dNLW4V-vz}+id}(yy^r+O?Lcc zzseLj8#KvTuTP9gf*Hf4**udw(LI0e-R>!-fNaFsMwkyYF1$BZopN2wHW?d+A}pyU zzR2y_)=FL8QOL?w9!`i6jf@p3sO;IlXr4yU@B%0~X@oMDxr!>=BYs6|9T;(iFwk!o zE9($^NiDP~^we{soWYpl;#?i(h4mC1YW+7{BT*&tcKG16E05kN z5QTWy%`_b0Pk7;kxY;4NL`Ge2OiP~nd$B`?!17tg-&`XcldninNiyLSznWX5MDlAi zTlJ1(aWIyZH94k>dMqI0Q&41`3`_;wnUV0!dlV?oPzaI{XLx-mGzif|o zZWTsNZpVsA@3N*M%d!SpzujFgSFsWZG(!#-6PC?3V~Mguq7^}PZ=uJ3Ge)xdApX`0 z)iygs^h0*U_M|v9DI%xx`}@4WXEI^C6A`E9uuhWK8nX{T?XseofXXOKz< z8M4NF6bbW_4ivw!OQi~blnxC)H}RS(5ciqar`z1ha?36_C>EF*rd=lkS%o#bVU=VA zNiF(4($5=A-R?1)Ul&)Hox2GQ>XGFZ*Q5-#KIZ`K7fM1AHV0#>Fb*?y46<+&=NIf% zQbtDRT}mrXcWwSe^r$&cOG^_5QE(c!cf!@Wu*{p7R~j^)_KM!yPx*f9-Uq!MOG010 zQ$0h6lVjvm)ih!!+;}G==|Rmo=|Z(df{CP@4jKwIW4aTP@<=$9pMH4@VFImvANsk_ zW-2mI_=e@IzInjO&Zhecn;Bj?h3==qJ2pR~DlHOw^-`|%yLnPg@q7O*<(f;I@V&-P z;28zFYvnNQq1kThB>!NPGvB?Q`)itUl*_7lI(X)9aIft zIw2_#(&}R6G4vR)im;r}Lqb<%wu3Me;Z9vBi3*g>fhd9_*W8`K4Yk>Hg#y_nw}@~| zW2|wfiSxTjC0~Y=V`E>zH{H9k7xnM1BBCPl6ude@m1x(NXL%wKIbPyhu$qTCu(d9~ zdnQAJ5IoIVDCqwulqIbtQ>f%Cwe6YW?@Jyg_w#>+1Ec@TuhUfD%JP4%cdRXq^Hp6q z=FB%cjjJ1`LS|y71f(!E@>BJQMh()Ev&9Ug3@HuF$0+i1X@*l-W5)a=S;@#m6BQg0 z!Su~BRuM#ul3n039z7}!U4Nf?RGzwgHhn&C{JwmDc29ck@Z8+AQf2O?-RTSk259&h zKA{Ex0C*~)hyh^z{9vvE;GNt!O^Oe|W}%~laK)_z=6$ZicsQ{GBySAXrsp`9A2O!Z z#Q{z}=C2tZgH$-%6Ch1oD$MTjOX#d<+J-}gm>5N7o|%!*$}?K*#|YcED)3q<02s6f zz1X>e{%N z!G5i$aLr#cn%H8QhRGEA4Et=)VrEmUGB+UT?9F*!OEp4FQAddfh+pFKOEQTdz^`qh zn;))E*H0M_!XNWv%YY|igJNPJW>){iFm}~WL>=Gz zsq^woK&7dTp=CA2@0I^D6nKR#fp(j<7E5KA6ba$lk_Z_V76KVM0Jg0kHN@T9yj+5b zv3wS`TS_D7FDzKCNxL37gcVb}Z~(%5Lv)_VotWpnO*grMAmDj?dU1CQCu^YP!UWc< z%~031@pdEn2&nC&*tgJ>4Ue!Uct!-DqF{0tQbM%5+saBjqVWMixf8Gd73Vmy zPBh8FZTtPOpRgo!nBBmwT)2|= z>=x97u!@&G{-POA2W1rFKodxK&u`ipb^m}g8%)&-d~#Unmgdd*tb7r(C%<6Of_pYM z_O21SRJjv-2QJNLQ(5_tVmfN)6?UQTz_>+FcntWUM0VA?XUogsqD0+WKcj|n#Y@tL z`yhYD5PxT(0AtDygZU1ZVU&PqAqlbr+^eDUl?ak^QGYqLEC->!Qv6yaxu~c$t0)w3 zhPH)+sUZKYi=21Rw)4RX5ls00a(CpGl0>sr$14wkf+~Crm2K0g+wqO&7SJgpy_W+_K8;g3h98*6p$ze1D%XmxVK^UpU<0jlK0+XabelD$wZg&Z&etB&xaS#Zf`2*Rn zlR*sOxBvh+YNLBE0)_%?ZAbulH{E!3Kk&Z6r+;8S42^}o8?>-C7N;!J#?Hh~SN%FT zs8;}iv-Yz=@<*OaNYYsc+1T831y>l+6z-T{`B0zGVUeLqFShQiMks5a;#E>Ci&y44 zqNIncO1f|=VM{26()@PsF>-)xcXmA_Z>Qo4q>Eo73$S1262{Nhb|9c&MIR*ZVLKB} zh)nemzmJ9_lBIfNt+?@@D^1pQ@gg}i(FYO=d56>iYLxqI71@Qh%ky^*?; z=&Ko%5u01g4tqvIC9U>sqy8A z7Tzi-Gr$W&FXw25TJD6i9=LYTugyiI>o?bCrFj<7Gdo8)IFa{?tvfH0p*ea2L%QeO zqHvJcQp6G>_eH&$hrNVX;4^!&pObMj;PxwnZ=EJxGJbybFAW$M$22b-W?2<3#+5m) z3>!l5gDH(N=3C$o-Xf*jSlIlIlf^+cC7(1oI1t&_6%C(92PJLz~&KmEDY?zU+e-B;!(xx|gL6n0sq7wHZy= zJbjJ7M7}Vf6Ts<QL?l~vdA7tP12j`4{vHy@Nc&mHnz)-Jn!xyWFfs=)c# zrv^Z{Vh%>@`x9>$_>+n_$wK+V>*WPs)nH&-=Qs}(d0)qOJEGB*3CH?hq06o#86OAH zGW1kSkRRgb?Ana|n8_qsO<|du`{UY%Li!3JzAuQX+1L&$e5o4(^i)HTaJTEdcC{bK zZA#z0WeB_|W*8gkw;Sj@zQK@2`~pj~NDLFU=?`w4Ezh`-mP20=Ee!LFP8;#j7^sH# zJAhEz%E_%jkFChaD6Yw3xC3U0JYxg2F~=1h98hzeql2Y?n4H=u;|soV=^!X3i(;o% z_P+Yiu7(trJbe6K)D5j{V2MYaZdd{Qs2Mq>gt6#B>?uS%%AB`4u1vpti{WPE?lH-n zfTbbaX9}zp`ZSH%>hi)dVs{dEpFw~M?mrp({_}?UT(LQf+u6Ee@gPVZsu zlR->8O>IxztFNh?V{JGkZd-|ma<3}w_M5;>ORtPz@m$KL?W0es^HBSC2>H0OlwWTI z<7#F>Noz?Zx8_zn=*tTaGK-IMVTi~O%w<{;(Akf&9x63r-oRag z&{_3KMAFt$ibIjc)j7guD~t&$8BuhfF=m)^Id19&VSftGNd!i2YJIy%9GGGk);T3A zxQ_?JWar!1P+jTXmUVjaZE_dFuKkVno=)-u5krzTLFCH-H6Xx$uB0A_@SAly%soT9 zdQ9JKT$?wEleAwYfczPE_9Vcl_Uo*%D0KeSD?XtYv_F;z;7VV8jwl_ zw{P^n1{0-c%18h$VPV=4brf|Ta;OYN>=7R`K$l1{iZP}arew@LrHM448~pvokY#5i zgjSuu(|&&Y5lHhy2bl-s!!8}1Hln~P<)U}pNdpMIbYtQM6Z_bIS+R{ljfZi!BZgYNkH>8nS|m3i=o=l_pm8ftjEVE5`qM(`T*r@1>=#k|!o7_}i9(S$RG3$7vTr6p zf`2iT&j32dMZbun(p@941r$ocfWkbpu!PlJH##(qL9nm$>Qd$Ir`0cZ$?2ERI*WLn z!4;H<&((ugxx-IgYJob3PwcNB!hol=z?N6w8}Q3E6>n{`?+^!A_vabIE_6@cpaILe zsH_LD_{Xv)q*_|Hv^z!YFu8rV&9fJH4K%^9Y-<54p4wUc_@){MoTd8L7y2gAYoqPa zoPDowgLaC8IP1<_ZWz~?^cH2{x+%_j5c*+@hh zR#TaL#&@U5TMgmgixQ-uSWR^6Z+iKS1Mr3nRYY=pRyyr0quCc% z8uXVsjTu^XHX`Q$<1W)!HD#%Tk4QNC-hON|$n0!*h}^prFxBjkhmCzDi5*E?*AuhWgiA5?W>pY!&^Yb{ zg*VeYd7k%Tzu(~S-MS?+JZ2L{o@EQ>!b;!L=DEx!A=*}jrdq+N12klWnprXvr+5sRYL=P7dI%xSkzI=@8`P(N zFTACr^`}~>c-T;agf?oJCLPH8)cJk(2_@+D=eiPIl_oNO5g*c9p9~l|5maLxh|pu& zy_zF{zv}I^k*{lL?YVu~FYyttB8pSQTo`rA+dpDim?kQjCROl_g8&j`NmmUIqfdTn z048rNRWB4C(hd)ZWtOf}-H-K|$l4X!e=aXSxz+H~r1!?wQ7FDKk-=oFyu4)Q7spn~ zGUPXFDI}b`7CRW>IS_fg;Mzw(&Z)yw?&K;6Tl7~{INl$cSw)#^z~UBX+QKlAuHrrz zh!q)RgP$zHp}zH|6_!3R9YvkV803y+{?LLBso-jj&ut zXz6X|vO(s9xU$_0!M;%)a#N~~SQh9M`yWiyFreg*TIAepYmzHbjIZV(h82_Po-Me3 zuZ%``Gu|#+{fipv@>$g@fpVcS`K_llXJPe@0I;i7aH*U=sbF)F{B@S*!`=frs4j0g zZ)iI#0)U-QVV@EZ$3|V3%rKsU%VCC3mU}O%XY4$S`n@K>tkk{Lig0&)0Lqb0`F`^} z)&s|Qjxmp;EI4hJDq2d9XZYA-mWnMMcP2kJ7j>2GWmn3dTnE>osZCezQ>Kj6l0BNSHB7273Dl|zA)c84_8h2)vmsvPC zP)Ee4StTUg7OiZCKhzuVp0-G%o6~;Qaa?np!+9wpatW_zS3+BJ^>95RNQ$}_ASHG% z8b9D2L6Y$39gmxMVdJ;@v8f|(Z-U3(gi27V1wK@7WLAJUj9*58ux>T6)8*CWjCrao zU*=yV>gs@aAyoY&nf;ENVy-KkcY1MgRf;`1<4j8FfAcAOHXw zf>xGa6nh;-7i&X1Ejnk5U;h9gzC_4;_0i(zP$VY4K1K-$0PrR4Kcm5i7W6L>^a@I{ zvNH0DbQT8x5dN7)wYkec(^sYr!k4Y-za{X1{Y|hn)HSd${0s0$0?$_+O3u(Pg1+8b zgZb||8QHvCFiwzB+3#2pHluo*tuP3j*gh`^n6tT=LS3R`pM5KrQkP8o!XFUq|`hM|gzzZ=}A-7t`>UmGOU7=TYoZbHQbFOzA6^ znnC~ofb8G0zEu9_TS9N=Vrj4IZ1_K&PkRf=|E==>sFq3io@R*`XNS+1F7Pj14F6(k z)Be9QO)bp~_5asY|3Bz|?ne7i?N{)9HEm(PD*wmL_Mg$8>w|A`+lMvRRab3c2n z6(KJL41xjx0099|Bz2>0LQuhZ2@C+B2nzs!1^@tH;_hr>>ttbPOY7=n;cjDKYhh~Q zwqe#~7XA>ZM>uL)7Nv4RyzGJQ;T9at_$r7rWf|5R*}dl`szGChRWvwf(pH<-TLCHTBw67CH<2le z0(7-Kf89F$`2bc+M8hE5_&ozo^PyFN>`g8b=m+akhn;O;>*_7*V zJetME{}t!fmLh@(mk$XdIXq<;0>)u|CPEa>Sa;MV`axX<+S6VO=!fe?i97=qxVG+m zCLxxz3=r-s-%|TzHa-9mL+A&>W!qsmAtoHWJ&hKgBNv26N^J zMv@Dr3|2bi1Fuicgb(yMlxypcHa)X^)(pNsOJOm!le>}Nv+^#_t3F#&1W6lR=mUB^ zl`fzHgThIJ@d5P=fD@R54VnlCJ57$;Fv@rDq)gy$>1{2_iTb?q z%_s9XWT%;jYcj__tjKJ3C-4hQQY<7(&j}y~ckkHXG))3*6cF*Lkdpq;t)sm! z53iiZSekh;n;h+t{lqMJC<+ic4a3Z!Cu`@z;Ij}-hp?eVmA5CObHrAz<&z*nNwE{yhx*C4b)O1j7tHZRM64z*%2rlRi*H>??_|m z5bU)b?u10YM`if|$AkC#@5zApYnF1}SK5Ea|DX2PLjT7s>6BFD<>eHWX>E)}V(Tmi z=@Epze1`Znjb2v36bm8tU>v+0JL87NG`FrPd4GIrbqX^uQ}-C?POT`Yk2kTQhp`&_ z;5{k?5j>R@7r=Ps$X%orPEvvMElF&8gBiVfc??6Qf&_R^HBbeES+FKt9c)>tJkQz@ zs&q82`>kyzw|X6W7`526W0t*kvJR$wNblQgd`mbHS*rtT@M^dbeI=M3ZTaO2IwyYq zK!>&9DzUL>%6h`6iuhL?9RDqj|7;#~jwS}iHYR_kql(MQ37ai`=S1ysUhi`^ z_Fh*}ttejE!I*0Pw+Q)Su_96tixGl#jpaLeqC9AWdVj_SHd9EjDpw#@auYSR zTKw=m3EGF?ugau$CL{V}jUe2HAuN_Y1e~HNSUN=FjeFFBG$Z|bkf`d zn~)c@Ry|0dJhDB$sImGNNnl{Yz~3TMA|BZ$HDvY^;ar+&XalW(LOb+LvuG?Os05Bi zJkGYaUbHqG*6)Rx9v$sBHCQ=eEJ0P`d zk{I#gP$d_mbslO%KMf<&0kmbBLw3CC(u~*mlwm;=dV>_EzT2L9ArnQq_Ts~gr9ksC zP7Iv4FR@4!gdZBlcF2CtR0Fv6D0PCO{Dkw=*Dlj&XwF+JjqLm5T3SW&C>Kumc5(MyqlV}tLrb7#!*Wf*YA;J%wmy?$i+#}0xUwq z90I~JK$A(5r!YzKU=%}0)K!iGZZ9VvGgd9qREV+oDqy$gM^-KgCa~^8c3{t~iluh0 zXRtPxq5C4>zrkHvx0?+;^Hr1X5WWDZm1$_S`!$j=mAgwgnhnm5 zPup{@M?*ZS`?6929P!2K!UyDTc>5Anyfv{G9aIViM7KO%cCgZFy#wVdHR`L}e9m3j zow7|hCcpOS)1-F|;F<)0`TX9Ggv<_uz`!;+iE7Lm2K>jaxdQpFs4`L0)t>dIL!%u7 zgDE+%(p@a)(QDqb+25zGrcxJOl@k>h!1{S$M?a~y)v#d0J_c}F8%wEkwGDOO-|rc=`);}FNpI}ID=h9@lWg4P z6A)|YNri@3fHa$EvwxVaXf9Q_NYxf7i$}(XTAUlgP7-4+)=lJ0o#A(WCcvcUj96BL zpN6D*HVGOnq;*b$sS?$-+EzMIVb8h4zam_TYIeEFqz99y)N;%z3O(vAE>lACp#-42 zr4X^bFI6a{kicDYc)N7LLvnpy;t8!s3Aap~VVCeVbZ$iq&`rSWWK-XKaBFNkdDi3D zOKIscX+Z7BlWRBv^@5-TU%jvFP(ZaWU3Yuk6cWZtnF{ifL~ZLY*% zWf5}LBcf7xA=azETB?Zxc4H{ofowX+R4O^K$}1eAO#y?GSyjBqi+zWt9A>ceo(CrR zLe|*x8N-K9P3^L)^k>^sj~5b@rL;Oq{T$+N+V)V1(r1_D1C08a@DPV}EmXHA!skB# zEAsg!JS*mdKUyN`v`xpa7XrY7#mkT;Z*-C?9o})MmNk5Npw*}3Bfv0O%?_u!LsBDTaXAM(lFDpbg%r9~G29D%!-1xPUPMvmU zoi9JH9v>+wAyk}ng)szb9`W>`aPb(W`&jI*MjssmK>EWh$$N7ZoTw@nSZtX#Ei(`LADhG6NTv8Od*u@Y@ zOD5zudK-pzipNmnR^Tr56f^v==@9IdHOXQ?n0^~blZ0J+q{$#q_Z=VA;vtX7s>77F zL>>4zH3*bvxEPY>xyuw)FzEb!)gGe;og$pf7SUI|M&hQU>sIN#sbIRC{-(*aF(ytR2dz4Cpjtze%%b{+bp+3086Q0LRnKM=q=tXAU zJ}ft)W}n~`qMbR^7V`$K`fXf6G&Xc=|NVKJK~V7Wb2vwj+=;pP9V19+ldAQ@oxtKC z>+i4L*$2tCMcZo^6WXM~iMbshg-}xUsY1j_!|s_LE*@o-%3ar-oGiR$A%Dj3lmaqC zdsjze;oYaT+16^Q#MnoMlu?U~fz6DE+!Nm;=oh*a>p(Rp_+<}mWl@NOj8TzGtscUp z^pWRV<#V3?NU|~il3whR*oI{4s-6W^0QNRw>BZ^txQAe^@t6(Q0eQpVdSMNDg8m#n zyTMFCf6x??6siOhrU_$-U>cOv)JI^?rjrs~>sFtd$6|@QNo^(kGxnT`^5)yX4>yi? zwJ1;c6yLNk6VG7Reda!h;;uAW!>>L%j4Xg2Rr)XH-Eut_=r%{Q74PQFwdLmbfoZs;sI6fX6?~)$uv}*8o0JSvFLpl16&GF;vx~T<6 zHXTaxtOw+wXvn)WyIJrK<0z9}rq-=%yMmN@wA9P$t(#aTG2W#`N%dLmR1C~X?CUI)nB`y$kJ%W$IMi-IwS@|xa+ZGH5fy2R*x!inw)$&hJ07bQW4=5 zfJ$^GDAZ0q1d7;~5f5-utR^~;vME~Gt0z=9a2=$qTfxqW52H%Tu31?2;h|(QGWiLS zZr9@Kd1WmQ{yfnxm_4Nu5tu1H`2h|Y24M+0B+CtGGAG9f^uS&!Tx4eZ3pKW2mQ{u> zjKie_HJAsMw;BZU6GZ|WSW(5CjAQjJy4^~bI$x_BK$1{q1@2p=_CfeiF!w?&45AT9&$BF(4G!5UH3faZ;CXh%`E-OWX^b56i{4iK( zBO$Ow^q?uL({!l_i$!QZg~l1XXe>@NvZ{eum$I%rS&q8`XY@ES#}ZJLSxVS`Z-i)pW>(#eHQNv$=RU2?d#T9g*;HxR%|nR=ewU4(PR`e#=W%l7 z(vsTsnyW8y3I$FWPqdmGdc4suvwjJM;9|Vj7M5oMrQ#Ua!|)P`H#jK8RwOCjDprNB z`eEs^bwnT0DFgd$*2Z><7PMFBSnQmkD`sX<-rW-C=Nif1jxYD=^?QnEqP#q28RedM zR(LWjZ6)?b!RuR&e9E+FqwnfVP^O{;CBP7Qs2G5IO81kr{gLfm6W@_TspSuoQj5#m zh)3Db)}qnXNpJ(do-f3IYQ}uJFX{j?gR4$W`!dY~nai`XEycpWf2s!9w!Phb&vc?3 z^yLrftXQFKU+p;9B*fps#DxO#r?r)v&=eMIJD9j(a2eJq_87a_yS>5QTyD?ziZA(T z_qg?a|1e+SPxme{ksa~&{Vma2(&wFbi$V$~e%3VxR|_J()}g-$xCUV1o|KyaV4>jw zmEitM$s96vz=~gpzccwlkpvJa@{x#{ftO+j7%5tpeKH2AId04#y^-)j`k07c(HQJ^ z=J24(u~)9Ue6V@)uf8jYxfZBEenG4bu~kzp-j>sA!R%F8@=rWKq=(r7ea&C@ z2q|y~9yn=We-?H|T9B*OcJ-hKHOjd`)(}TC>WLw?!{55)Y1l!DgN_3Ey>}>n&56Eu z&U6A7TJgzQkDRo>)>GBtjpmhjApMa`Xp*Erp`?I|vS?5W(y862ZJ}%_w~RfbDAJ88 zT%z9Tbm2cq#hm}z^GZz<;A2;NREKrOSP)C%!SUu<;>8K`6|`}Yt-i_Z4%ophPc+tx z@IS4EZax5-K_jGW*REu1@CPuwzD%3XgY{8HC z`EaQ6+i65cJZ>2M$2Z7=ShW{$&qN6*BZ#r6M|7z z#14iAX_qdD>dFb{OvOrm!`@#qzbHcRv3URXO%%!o<}B&R;ea$oDW>kHoSX;c5sb{e zU^@?HMru=Jkh;4}LTR&0jC(Ih(tBh-8z7iTXf5TL8jkz>?k0F20Dj*|e1!Ymar9{K zGxK%zPn#QGOc&#O<8hsQRtWL{UBG9eIC%dU83^#8-_4sGy7LR9{KIWoR;zOUqsRKO z0YVW_88aZdTg3hO*9*GRyWCueep6w@b-m9*(mj%|>aeUK@#*|BE%fR2frTVE)mE(~ zjP&Jdwk6J;#EO#oOYjB@N6B4t%0jO$%&@cFm3*w0!_}WgYA(a8eiK?Nbd|X_jDh^- z0mlb!99hE~i*Gm`I)oVMwhifn?1MIP8yZz0M7Q0Oxk16G)dZ^J#8!Q|8fIdeeEEG+S+oo!4NC;ulMp*Ou z*$`q?XCo912*~G5h#?a#D3!RP(qu(tDU@klj=grbEj^RHnLMLp@G_M2{?Bo|Z935>0HGXZ~9!wnsJ)IIU{))H1 zhQBuMhRN4UDWx&Z8&ONAnp5ND%z_XUcbo61sSwcuV)I$%qo@(Fxo~5s{GAJ?#?7OY zOYgXBRPCCE9khe>%o@eCp@6x=$#b3OFWqh0X!F>K4!5Zo?Wi`&ZinuN``6K|N9@Y1 z%+*1CSm&}@l9OxUo`2-(YLE}hs7OgtuVSPrdh`{%s*9d4Ubc*V8QMC zT*_HR?ei$v?iv6gDg{&o1!hR*43rc*`4kC!_BGNLG zEkpKJ}ODLA}quWwIH*m3?M9uj53KsNbFQi+{i*PiIy^|nqz;EzQs?IxAnD&^W zqpS9eT7~3kS1cZd``Fu!(KNRzyJ|00s^%?avc#Cgs!_2R?CS858R@L^$sESzA{f!) zN{w!lP$uEXKkZ>|@fcy?!1E>dUh+m*GFnGc@rw2|X@r-sk}0`y$pS?KIXtbNdPCG_ zd7qA6Qz5jUFSJG9CbX-?UARTn z>iI&GG>%E$rIjM9!lii zNYi(7*uS@Q4B+~vuLUs5C5|JC69imiM;5orBYvoITh5L-t%LIQBNy|9B7HXMaqnR` zAE3t+Y@9od-9&xjbmFuQcvlu^+F6RM$^u4{)?5`M$e0-v18-f=K^YI|(->%#TQI03 ziM{ZtE@~E3;lmnM%iBkhwq1RW)#ds0)5Kj5J22l+MO80!En{n_&c#(FNv_by4V&Wk zZyz(ETFEi)*7a|9y}Ea?Qdrq1l5*~H;cp$-!RX&my=I~Ps=Xe`5V6tLaf|D2H~{jl#3I`0Y#6D0J=^~gs1mLja)xr0JO&KWYuXPSL9h3Lm zaB^#ScaP{I3BHB=WH^H^H$KLfr)GO6w`k9hLq}Wl{RXPXM5O&yf|a6Q3aDxu*{ihV z_ZGyb!<}whrogdOg3Rhi9|pom@p=#>dTU{eD8{R-jgMMQG>9czdrSd9)gutZZ4BMI za6nPv`1I-ceYw*#uwifM>_fzbrDnNqPkwd%Y~G3EfkPy_Kwq|h1Kn7-zduw4`k}?K zlJB5n1%XuZVh*~2>=F~^nQnMp43O4ejn@9ruK?S+7}I!4#=*u151(K5)FjUo9Po3N zUX{jlPIbfZe2sZessNNiox`^S-*rc_v8iA!*MED<)2ejt@G8g?eQ%X&z!KE_gE0{K z#$B;kdg;WuZi=f$g|piNpPu&H>oOWAmG{u<$e#H^hpnB+l0ydE4nMW(9(*NUp0n6_ zlfK&#UGV_q{v}5+$zE(Oehwn73_y=U2M9B&AM*^g$3>}K#I4)sh#ZOIXltu3B_SxC zxK)X)e_1-5(VL8-69XjTfLZb)nm`Xo?}~wV$4_pa|2WD0gX`78=$CKtnG(1wA|~!0 z7sZ7Cpc^9=1rKE&pi01gen+eIB)YA%D?Wmx`p+VI zoZ4roe%*&AGA|Ez9^F|H8FvTY2lPMb5JMD_h=kY`mbFQ^x7gEU?L+=x_Amo;`z!M#Rn(rmJ(KgNdZdi4)T zu$6ut@8g)o`FP&}&PgMmeT}96S-S{r_aK$xJK|qp$xo%CE8z2WH6-H53~X>zhO_o&{2{gZ04R&E*44bfDueud zjFpP1kK68d86=IbbP|6>n(3YT_TAzk_oo_Dvu#$Z9K$`LDPFGA5Y^TkdV3pX)lp|6 zYB-rvBzRkZmVXG2ueB7aHpgmc9ZeCjTaztQ1+9D~FbF>2s&?(uaUj6q`2L2FxtNZs6sR?jH^J3J3}M|IO&Kfc$R_J9%CIOT#4p z(y+CGt(nVT)T1%7vo*Cab8$3q{-;djAMi_3>Wj{xN9cM$)vZtzL}_+IAt`@uY*F!| zGA#lOSq!g>v%zYD`O#e~B(QAIdV0lsF#X(yG3v*tky*)mjy|!L#xROh8(%CbNjv7C zdc7u?cul^e-gsa%uwDlD<({N3?I-b?H3|a08s-AsR8bJ(j>E zd%6QH)bX5=Gm6Z>W0}#wc*-bGa=>T}6SG|3PC;=aKKh7%!j*XM7QW?5*HXm(sWhsd z)+&pc``-9cbz86c-nzmn!>(irwEYf${8>TO7N%1(Mg6lh1yp1!?{zzWIuqERQ4!zX z3;~y8Gz9G)!;0nYvsnq>hCp<+92)vW03N}Q%3e6GXoF&)W+1dfJ$5aw_!3A)@)XAT z$j_sGI-1tEEY7=0oJExZrBF0fa!F;(HzD}PDLd%_L#^|ALdJ8oM6h)#R4Tr+uO%CO zJl`=t3jzPfx;^HF{s*Z_f#77Q(PD$H9+JySfTMHryf=H6b}fj;qxRcX8(yq%-MMS7 zl!xNg08DOH>fCsNoI6mY9%6g~?yO^wiGz7jYk|uWTqhK@6=C2&^v~Tgl@X4M6E5i> zvtJk9bfWawe~DsZ+-kr7Z;lt|Kce_QMM9u9g~u&_?~wd06#6&*8=3!Ag^9JD+22&J zO1!{dXM+j8`9=kCB&S~$-8irv2tnhaCg;@eN{_=xi;#vyN+SL7jm0IqQpv~bd3j{L zbrN(FtG7?{B!|jx22qw}<4Oe@n z1__6ICXgu|-#?#4&Kd3h*g&H$NQh060o$Y^p*IM>q!0*0OS(r_@IuR6<%bf1BqYr& z$ zYFSwtH-qM<9UxApp@LOHDpSwb!8t`hu;kE!P{!;}UjxTZe{0WIPVRl&u0?VuZ5l}m zi%u-ToiQwW#c^Qm1X&J!S)-WWUD2O+mEi zIOZ0o3vQigD=aJ64%~Dho9(Jnp9lQ^IqAKK|NEpz`mguj$-~y!z}>`&&dt%5*4ak- z|F(nwGJq>BExQd?6yKSe-9>=7c}WX5K-K~s)y6(fee*z;f!`vw0#anGT49Ugl-1}b zJ@ARv!R>mNjTXnDAk89pxOl!NT<8jFUJ#fc{TTv(q7WHP6-5o5od@qW(~vkK$m#&D z87TcFM~wCq{ENeAe^p43Vo7_d~&p z*nK(=*JpU?O?z01gph*Fgfa@6enAjCrF@Ht6(~g?^kqErAL&OZMGFk;z&ga92eyCVkB z0#To21(m$nH&)XL&tiYtHHcSyV%}{xG{r zu8=d@iVm^WpTbDnuI6GO;tnnv>HnjU>xj7v8c}rAj=X{jKlO0(ytDfK^7ZZhbXNDZ z@bPt*=aPA5?9Lv~0KT;ifhp&x*R%vZ)+(5=qs^>pMqG`i4P#*zf>g11Q0MFBbL(K{ zt^@#F0@LmjQ1?c*Km%$G&_Xv@D6^0T847{;B|kgh4)~709O4XUw=YcRxU4Z%p$k~$ z#-Xuvi1|v_`#v@%g=<*C>eZ{g0J#KjF^5pT;>eZ#mX**?l_yCI_!;1$-9o;e@)TK2 zssDy!qHCefH6@(K`0Cl^Xz{dEMNT9Y%i}m*dTG|h3PpOHZJ{S5~#mJT` zqSpj3;Xb*ccCkh)p~|kK0a@5v*F7ptSj`MJ8sOz;Q4JpMXAwh%c#*pxj5HOVyWlEv zG|%a-!I87@Rx2p?I&68JlL<4{CzYOWopt#`j`ikr==*scE`EF$eIhigI(2EuImre4 zhFC?L@4D=(##6H3aRM|Dr6hG}N(G|)&S=7gS{3>NWxcxIk?{Ffx%56-LF(pU@CJ0b zp;_tlUqIr5zpfZTpTu&~!l+LjH^F&R?`JF?TRGpdUYi@&5vh`m6DaLcihSpE)%%s3 zFQ@8qXMrs&pJg&X;NrrwspekC^_tG zeX#|)PRabtuJ1P;M$LP1I=|mR2jkwsF-Zbvs4j{_3mK6>%zT4i6g8Gzw|q64625Z3 zd=ceq`W-3NEtQmCz=Xo#Bhj6v;cZp*75* zdxv3q%LVl6%-m)|^0o*ap>*QT74u_jX4Qq)YTUAU%#~)fbWqGK5+zwTEGe@w`p6|G zybHWeb&M9tNY)iRzAFB0pt@PYWP4-Xw19~`i6Pg%y_goRGSo-pNTFlqr$(}12FWr$ z+m`Kj>d8&zUEYPJp2g$uiF5EMAH&hu2jD1wBeDCJ--lElnq1nNBXgFcv{E+}Bd(U* zF2-KwNn)iScy;_-&(WM<9~^u7WYUXv*(0Sn7=Yl-==yUtz0`6opm_@bo)U4l62)R$ zWaV#k^CIa4XT4~D2c)K114BNyt0VuUV}L(19peHu$x+EutE zJp+f+eAEwkm%H|3sM!fy~vRJ9W=`0lhsn2P3iJ8)dkY@zh;q0Xo)XT&h zoW)wAwINXDUY5l*34%*xINTDncDhCa9F#0EIlN9f25DpV!M_%`@!GE2DBVV?Cv;NE z2TeMq&v(p>F7}`#&T~xKheHN8jIV@CV9Q$3Njceoln#<-TwH+E-RPbDRipH(nXggY zEiq|Zf`RRuWeRcCN$OZUG(?)YQEZ2pD>FIZfprvYIUKHGyYfdJ&$$oj4RlT0P8e}Q zSVB3MHD>+eeyVJ1CNSN_k|>dGErT`T?*b7nEVVLJ6MWH~Z6-48lr>K#kG$tvgPrT9 z#d#ivupTz&GvMAf6`|v{^!%h3XT}^x6YwK4GA4$U?+nJ{OtO1AWFIOot}>6unItv; zoTyY#IesjD42_d%*%pirOZtIkCmJVle-KeOt6!>N7j)&@%B*6`%m0Lwe*<8$xFBhI za%Xu#e$~oL9dB4z!)!%dZ$-^}DVn>x5iQ-rIkVq~TmNYHhtQ=gVOnOu8?W48!R()* z4plnlKk_`0;F&j&Ktg>XD8Dx*BYhY7jyfQs6irL_WYjhpDt+UxhnY{ngSX$(uzoE{xFm0EB!%WN*(SOX^8i2s(G zzwrUg-6mZztStvx3U@A}lxhyN=xqEdmK&vw{}txIkl0u6ZYU>1VPI8uW)o;qD-laa zc+4Q8*n%m?s&D#p8>ug{YUkPKEKQ2e_32uUkvgfZ&&`vM?05X>MM!UE;qpTh`uP`2Hj)}Al&TwNCqv$-{r8}D}PqmTs>t;#C ztz(;}jp@s`+knUSe&=2uJBlCRKg(P0$Jy=w7p%emg7yD!*nPvl&tZQ94gagu)XCPu z-rmIdzd7um(^r?qmfZm>lHZIT1L}P&fNFQU2gBv&lV`;KZxOdS*lO}~-r4!pV-Zpp zVw0MSb3eXYp?czkcqEXM&>)o1fw!qxrh&aXpkMD#DLDjWR*}W_od5uT9Q~=@Y0~>| z=5%XUVPtr=yqgk%=Gb;JufWj?dP;ZBv`^HLKjWX_!@ELub)iiE!fhMqk<%ox z^2$i13gvfiVJI9%eY|czb8&XxShWP%IZelw<<7~XApeogB5;DFCe|>8xKaTUEr*OO z@~!mTX3B)lmdXKZI=ZB&lsj&Ckq5I;(s&wB{v`pQJ`-+?q-QgccpXseJzHE!ytM3n ztND;Ql*<4bFFc1EU27?_&RTPF5t}8KyrIO-RPC4h8Zo zOpv#I{8H3WC*`rkvwhIXgQmCPAC`FU*qY2f4(lJd)2xyFNxwVs}{ZKMdspx zws9X&R*RzJ;Z?+rPp!`P)6r7ExNLhi)*#-Wc8Ixc?CsM;q~VV|3VKaWclb2w;wiUZ zSLgdyoM3Vwbj#ef2Ps_rM0uk=^^6aJp8ja@YMj1ZaGPA}D9x@ks(hCAT&!<6Z6q(@ z>I@WT^H@>pYGSLZ#irnLe^WAPZe-iMO32t@hM1%vR=?1vXUgpXIj+87!6El|3TZ)i zq)_S#DYC1UlDdw9)_uo*ts^9xl8;wR90+;%5SB+9+Q2{@;DD?SvO(0K#V`iOMh?3( zDxgP+ID-8i1(pgiz^F${olXH1pQLR>%)Aq14Ok5`0awtfRXZr}@>&gDL|Kno%<}y; zY$w<2>4$AVWws63Bk+O*#nl&U@6m~W@l~bmuWiGeVDEe`S}Xu>!eJ2%a-}cc2y1QR z{e7VHvBp}S_jrv~(xS^j6P0bNRhNhNs7(4HiEY@?1a`=)QLksuDmV~5`e$0V!sO?f zHzg%%!8s`^#F*v4v)BgY@N>zS14L1pk&xactt?E`EMJ9U?rTwgX>W6UEeATP&k*@8 zs3GzBU0w)pK_yDI#S2hVd3`MP7A71RFwIC%joAZPvmGb`>DUQ-zy;}Rz4Ybj;KaX` zHZEfl_^nrUp|ZJDToMJcOKrUE=`B>?Z;O2C(|dEXE_`p#2+#O=%P)Y#|k z^J%RfIyZ|2tYY@J<-o!l;dq;}PS7C8Xxq{t&DdGh*Sz4;81=?nE)S~~nxq5RdF+8V z;+SDuk>%VGz%}0E5{#SR#O3n6`DEIbrMjH%kz(@8;roBBI?Ndxk<=u;i?k3Yt1_-Q zQyTKK@xwQX>Cxq~H^g~an_z>o#gnUt_p8(%8%rNe-WoBP;&q!i8B~J=K|Lf@vlI&Q z)zQzrDuYWiQ;P~}!t1N~qynoje&<0u7{zT5C~B&!wetpJ^g`$iXOj^TCNX9lqjuYT z!F1o!)$cA}aV2C^&Q5|Nped2V$-1<=GS->+2ow=%4apU5-_8!Is_qgNuBu1^j96r> zXdzYKp%tr)U(N4;(le$gi`g5f^8J#xH1;7;w+O>SPVw?Ce{QIRcjVlZ=Zl=ICLm9!b!Ggec_J=0VqV+N!l5>C;F^l5kafZT*}U}`hyhVbgx$%&5&3}^NlI84g-d2I z_>F1H)AS^MLLXAK;F`lV&OY;j1eGEeNp9WNE+bl0uiasI7LS9mrmD?8SK4m_nV5zm z?`CWv=*@(LXVtGnzF60v_y9DcfN8QnFL=H0~yKf?n4yewBQ9=p%amVwr^pvRl8osY3 z!HdBrHB3&9sz!tL0>wRrclyKus5v(d&~(5_|4T@f<1BeIe)6QH85i;#>`*riQIQgb-wXNe$A}x<{(mqt2 zGai(?#F$8`nV{iN^A`JIX)gq`MVU7b5a!UjPvJkyofe`?1fN*$nmfmwY^(+!u-TC{ zv*>|pypv1w>awEox9?RdIc+l<%6vl)6q_EMB2QZTA(!Ono;71MCzb~tGXf(q?)*=N z-X9reF&^(I>+;AF3o)EqAHqd~A^Vh-ks`(}?SDL((Gp9|rV$@`GOuSnZ>qP;cer{^ zI6)yc?{UBVoNv*zyXXUNvUpSUzA`Ubi1WU*^-#6UXoY1!Nb1T|C(+};sw48lPY67b zS&t*kMS2XNq^ePNhGTx6dKT=DY-=oJDizDGdPPNInqf`3O+I=qh5;QM{Agl@p+@OpRm1Okxz`g2Wg4FU8DaEMNedsiV2yi=+96)-E{ySEJ2 zy>FiL)Nh=^r=x27kOuKq)ZiX#T820_D&2N2a)dKqMJTsCng;eM2@uIDLdgXU z_n4+4wYQ07z%#q{{Ye^l;4hMCKp2-;Q$FYBA`f7YeFnaMAlrSI_gC*UPT1i4a!@fOE?+wBU8-oPh5Mh8?u9@#Wq_NoXK)> z_X$qEI|;c;N=`R^_QA?*BcLAX94!ks87lF3T6X8eP6V50Ol0~*KH<%2 z4g^4>ytE_}$~?#v1V|V%8qIvz_3YNvZDms40Zf8@Aenow+i4Ze8gUwobcz=1D z$Ik9akIZ&sS`&W*s^uCisQP@WCxHZ8Nuokf_VoEg63G5!W=A&9wWuT)?;hh{}dXBqDJd_4(wBHbGvuHqV>i4L5}L7LEoD=OXAao<8ec*zqRG) zyxX*QJeZOr8~+Ijp5l-ztUMSwFn_?j0(n<)FDC7z-fc1{KlP*U*LYyaCm|bminY3%^%f;x{J-SPv(m?QXV?FKJGbUnanqt z^)h?jJJcQ9jfk9lkLZuXa0}6>qu?8GSR2H~X&+sd9KNYDIZAM8+B_ zwQ7l1-r9^q2%=k&Zw>brm3tXRV#Seo1EhQ{Jmj{)c#U$BnwAMP!2UF9Y9Y|J4y=#4 zdq!s#xbiDK!H&JR*ePjWOVB?0AKT>4Oo&Th$c-XYjDL>8GEYC>koa15pu$TA}=15YKbyn^Elbv~|!W@~4)3{|>A zJ47dzHqnNeg^fqhlN-bV6-|j$jBNJkB+|;Gv+fyeJN+VjV#V54@55@E?{{ZA{9J7c zg6TaAyrnYJXp!mRV=x~R+u#d$`jZbdbO-5>*{ zM#TAo0J7#pBhyOm0*i(7bHc+l|4U?f{Crc&q;J~{gVg-}IXI_^ZN%p?adt!)nX2{! z@{{8zs<_e`=DHC)h@JN7rh_JW4Yp(xRCb~{>gBM5H4F2r?8uSO7x?RK_HBUOT#KcB zt*>rNl=bfUSMw(#&E>;8&P-?8+gR8WT4ZV=g@;FzRt87SovApI=Os3Cy0RM5RP^vPJ=G5J>ky1%6_X zAvWo}5s|q45$2ip)fR>6I!XDrYLB2>A{=Avg%>;a#No^%9Fm345>(4>+;oJxhva85 z4c7!|sFt8Gs$w7Ta$S}l6K-Q(M{#^Mzmku{*6dxu$cn=o8d}Cj#332^O)^ZUE1Jgf zW8nP7l43?43fimQI#j<0UdZi)Ulf0SVE6o9LS`FU-u*L6Zge&V2_ctYOPuQmImZFPG5*Uj_cE5K8y%yPbW@ssVjpL z7Fy_Xq1A_4nT4>{;gfu`qsUWqvI(Y3)@E?Tz?{7TL@DsxFxQ2Cr%ie0Su&5e$#gI@ z#A|+ls<+cjtKfA~u`dq|qAGfsx_crhsrG!t5l9b%RhWJ$!o*}45|Fp~2x829=#bWR z0g`6y+5^js<+3LkZnQkEP-oZNiL+BT9?+Yt8%vL-GPHU{VrqE8llPDi)>*fS4D%2_ z$|MhA$}xf5+Y+eS)#%GGV_d2qd^O|9!b-^~&B+>)ZAmzKg_eMR{=M1(GG}&yXXU~w z_AB++ScqKm5n{71FeGo5GLVkjv^F)cZtknp+U?TNXP)8XQrfFH&7W=xtBj3A5qIPw zaSV^|Q8#@d5cE2iE$K`w6yc)YDk*8eL}F{8;aof^Ap<3W>N#%mit@;lcBQZ+A-OZO z<1&pzNV)+`k&mGJ$?del-P9U^`+DgJa~ILkm!Ve&c0sdD_)q})Qz{4 zwY(*1@y$oEx?c1%Y*}aTq>s}!TS6CPep+48n!=^mBEI);W?h1BjPc3$4InXaWh<(@ zZ48rh<8ujuss~47{!QT$#oZO$nL64srVUeku*-xi>#}e$k76O!t~Jyhh7j=ibfu zyNv4-8~XhIhFZWO{3(yB`TueVEZ+a-kdVK>MEHvy|7rhk4*AbFu75eC3(HCgo8z9V zC!Z;419yO4*3m`94S{R|seVXR7qqSDoIWGTY`r_q6vWnE%p|BGUOj3m<-`WL0KHix5%eDOU!IVieH12-yg(+vb8^4q zF%J~y1gj02wZL3j+u8s#Zat#y9UlQ3jT`?jzRoE~w4mA2ZQHhOR}ouwvaxnpWneX%QrYje&8>c$}kt8*cw8Pfx=ioyw>;^8j zyOVSC<7{B$U?%KC@0q{b%dPI`?e+j1yn3eb%0yPPmCF&%!n*LQ@=&DfPe~qR{-(zS zycE$WkgYY&F}NC3dQsMuQ^~Dlb@bewBxa_Jl`4kZE#A*^q7<%rr7x%yz6de;i-*W+ z6&Z7q2QrgvU26Wwk)?ZoxR3iAf*95t7KktV;xWfL&|^R(7jN!{gm|=Zp6L?4}y6uCV)Ms`&t|zlf8`Na|}2SNvmhL>OP!ilf+FC>I8u z(fi!0&N;;ncjyUFQ>IE!?_6n^cSBT&L~-(}KHrKI&tAwYfC-SJ4PEi@vt87DiZEIN z2=iy~S`T2xE;s^Vqa zOWdiKkJy&RQ3Oizz?_=7IIX!?TkXBN{&Sxqua?L`EaXdxaVnfizHL*)KI`Q~7^iQ} zAA6+AMb`=@lyQKHR!(kr>x`?vx!^sIh(3E8a2yEnQ>H*g!>?%-w=2|@mIuKoo16RA zYo8t?T_4~lx5%RxU-_tU{9Q_O6+h+asLy_kV<8d@VKjh-(YWZ53v2m%Ad}$Hs&2JiR49k=@uvVx<9Ek9V|6kfaUe+?`r2gmVB2RZ-)V z*hcd~pu@^;?CAI?pm!p3Ecq|5W@PTgS1H>jbF?9kPOBBefXl|RwGKoFN_QDFg`u4- zJrbpYOl6VlwWwGNO6f$e;2ZaEKA}?j51kJ$h;w~!0#Zl@NQ$xppwghDVB|yR)EpsW zb#*yfSQ&+vB^0Q^AF45fz`Dg$0SnIvOePfJ<`V>Qsx+vEKRW!?*+&jTXP$h?J|>oZ zl~7S_8CK9sf&>by39EK_3m;OC0`aJ*I(hNatUHOt)D_V~dwb}xr$%gJb<6i`?1KQJ zwc3woIO|}^++zlia-xN{N1JF&%j7mHbx_F5?6q$A@)x19>sq(Z=pEIh4@fS+nXa!p z9?C+slzO&yU##oT8PB=MRJYaLUrlt#Hx6U12z&W1ZHP-Mfs(T#T(4-GJ`*~2bn4$P|#`J5%){n5j_){XHD83>0E8i?5An(>Y-HZHxMhu{X%r5m;YpX zaSR zLBu?gE_M*T*-*i-Zf8l8rRW%8?|=cTXkD0c}? z)xw$!*7kU%}$IBObx!YCqeOG6%);xUJ z(@f&S2c>e?>sv6f3SGvg4EN_MVtlE5ai|KfQ46us9k_oNH?mzx z*FTIq72SXb?gpz)5ogY}pZ!LkbMfOJb8M0_I z#%2UlLys4Zv{#la{@FJc#{b2|#$*I9*_?+Lxw8)c8&b1@W($UbHsMK4!+k}pDn~f@ zl{P9rMoE1K)q*o+X4Z};fO9?+x3Gw?1se~1lA!DDMXmYW+A5kovYK*FC@DKWKUI&T zAtt~Dr2(>?!adzgEw$)vN{cQ&q!b>pzB9-0ruo;*QhUt&$JA5U# zVSo8V^z^b&zjR!a&Q+3LM~zDyBF_V~Xyp`jiB2PAACGOkq~Ylq+D|cOP;R*hoz9}* zX@S1+A6eK>jZ;UM+I=0~256lfah7l@EOL4G`r5Hmc9^N^YFEP8?A_^=By0y4D;_-Z zFB)g`A6gFQSTL*gxOyYLF3!A(y^ljL+@`tuZn@sln}xRbM>k zNEd!zwnJjwI@UmR8A9LIo^w`%qO;|j)?WvI* zcD}y#zRW9fi!z`Q?&au+%3&C|2SUkv&H~I@a3*72SNFN+g*atPYEgG~^$H)*5UGgk zV`w+L1Tow_4nR4M+W0!zgyQ>n3C)6uhU=0E9MDS1YIRGsooA9*1P$H zi7O-7pmW({V-_){*Jn)9UcaNmvA>`i8|PyNb}n_?`^}VYOAavPufR}KweL|o^=zJL zQfW+&KJp=%x1+t>V(yfh(0|Jtn8AtB0S+4qKs|MAJWx8!pjw?@D{J`0S`Vt{uAWa_ zJ30U1!i%-~El?j+Z(LpV+0SZnN}JqOTH*zt;U0r9%DSKEu@O7NHqZ zGUdX8Zf#D*DjOD=pnBMy%@#n3iJyNM0IveCFK$>>k{KiR>Vb-XSPtf=Tg?qU0x7He zB7^3=O{O5c%%EQiK_$GndMLD$Y5m^Gj^>IDywbfia}l~BCVJ7TOSzmq2-6C(YL?EP zNmX*r<|30xYKEf&9jSz3@ZU~OpD+_vbZx&&d=3~NK(kAD7r0!v%!STdAD<@36~fru zJ&{>!N(?lLYq{lnn&n2vXdrd{d}Jfv+jq%qJ^vj6uXDDw;$C=jp43>8HW<1^E>SXi zbypwY58t?N#H}|SACkqbnRPET#%5j6{hf(;3^sft5}cbP`V3U?lJn+`v-D!CeSW!( z1Sjfxzk^$q&Ag0TiS-zqd1s5{L@biOvKRjWNeG#^IwZS5Zqd1nO8Mx+ANaNzW~V~0i$v@4WQ-PE4>DntYnHDu^k-=WTv#n~4= zOM|6g);fn#44Ho#8$FLuNH>0q|3EQNGa!W{7l4z6i~j;g7dtImEBhknSr(P`LDQFe zGPs6Hkh`6$i+hv%eQ)rSy1g`)4>0D{&hc?|-u6=O=KZwsJtT7TMR{KEeB*OJo(+op zX_6#sW)X<|P6~%N&-wIjywSC3_r-1gb#gwm+u-+OcsqWPsP;9|(*Nf0^LlzqHS&2e zceclQUI4OF=p?-*1#ZtRb4c-c+vjBumJ@RNdYao6P7jJK#wCBG+K#@j5nLjsbLx56J_=ZA`GAwBxKi7DdrvDs~ z$ncY9C>RK7s{aaShUoK0hmrIX=cv8x!Am2>RA#sxfgKwUnGxN$EHC63rLIjHL38PY zAYET={(MFesW1GwymIc6RRJ>?EA+$x&`M|w99S?FWQZ-iyyVIEkK?{ zlrDY<+@uKs4d{ErhM)=H7G}XC#azB4CWI`RL(fQwg@sHq!(@_7%|~O-X5AcxsV5QU4t!FY z3J&SQ3+s}LDOJQlG@!LUIOuH)NiOZ*bgp4I%#oz)X+9K^>giwG8Ja^}Fyuek!h?*1 z2ZAyQphZ#4ic}380TC8OQiHt5k+7m|MKIG4rRVS;k^-4X9yqp9P12$RG2wp8`ax;C zTcLss&;`*DE79?d_FSVLNpy|?da3slLG&w#1C|6Vvdo7-?+{JUE^`+;cMoRek=m`s zcdqDHX`Va@F!JkOV}HN}kp+I<{9FEci{~gxl_3L9Kr1*@H5ew5u}B_Q7|+cjSOhzF zjGnz@J7%$D^23s1hr}+VB+hLMcaEkT5c!;S3hQ+fM7^eBT{WPCHgr^hTL|kzCCDLm zIpEf%$tFV2O*lX!Iy$XM^=|?(jyBd`G-=uy3pK@j)4@hR0(wl?qBpxbKbv#i%>3@E z?5t%h{bN6oCE+d*ENLQ}f+7)C6qT|ykT>4qq7IVw;oCY{IMn=mY4X(Age0(Y+IcpR z(O`lxp;=xKI%XVgv=!ND;aI=BP@I&A?b%GBQh{=+Nk~nJ#UzS@!jYo#?Hh$6TCt0C z0L^`Uwd7Gjbe@1l{>ds=6#vX^`2MYRXdh`lU29Nk#h(6(zZ_~7h6$IGjLvoffnK+` zIX^jYbn4PcZq#eAtjWUOL~=w>IO$8@qxtf zIzUJ;CQ6N3BS4KfvDZ5c3{TMy2{|NG> zEi8*6TW=(73^^3T$gJ;cf1$lZnyrfOyiHZTGyXpO7B_nsz0X+4A#c>USYb7aQ48a2 z4f`+gm_30|$Ay2H@wiJ4y@b&lvRthL1-~tdFiUn>?ikI??x2DrwVxcL%GYEdOW%ex5HDx zK`U4-k6Y~mxg+Q4)zgNT-8wR=bmN~KpRJwV^Ff!RecGGg+I0|@9JMq&D(Q@&wEZZ6 zXke?0#?m?O`Icl zZJoHXf^!vL!?sV1F@MPZHN3F{I*|6|pp8@ivkt=n4_@|AEBnd7OLW+zzsuAFU1xJQ z%p@>wSF)(HU=ZMM)#HIGr`@(*tlgfqn6zfsCAF;5sRfAhDG$yY+<*B2+L0sb*Ic~E zeJZlf)5gCh3uaOwvCp5?Pc}ExnC&o;oxu0~qvbtL3)wl;8)@K1Il?K&&FZb|p3r1y z43^bW*dQ|q!a^}D>4CX!iXS503zx>iOM(8fuwR@I(c1EmtN+d?bGE_ay<2W~J)Qxf zs7UUyJOkmsV+uG?PKCiLr95_Y5deSgLz21|7keg-X+}ac3g2MbApJN0WfT!(jp0~^ zi%f^geJGxi*~`$%yUA?GjZ9f$-df}xLt(d3h^LU92D{l*v?_jP{?1R%My230XI+!N znUqYy>ZJ0>?tc5#7~o19eWJj>c&N_25QVvVL!?$}cmzzTzGg*T|MF;4v{8;7amcu2 z#_77cx9HYZn1+s=L{`u~`ijru0|ogUYe7bWHMguK04?b}$(REoPB3fM9A~d80SRr9 zsq@!9DwbYvR+W3Ftd>;#kJVD|VqG>fR>?AmFnTmQ|5 z1$o1qZiDE+yN-jl48#`O+k|cNj9gYlreumN@x@RzX>4hCOm9!kTCyjh*29$j;w{(E zOmBy{dhX;OA5`sG*5G5`ICDO4@e;0TXUuntD^vIO5l{LNsce~55mbngAon)%`}}6A zEuT|kbvUIxuVPIAE=uJCsv}Y+WDHI~P1}VG2;n#m>Y;@)d%x#8w2r2~TWNd(JeO>2Pzg~;TLB&x@j4w4f}5jpE_ zPVLi-0nfz+K&kRbeqsu8sgV7dWcZM!gG+HH`nkg6Lfs#@o#C_7mT5WmIadF}H^OOD z)im-_YMf_9xfhZ(9ye3f=?N7X$t`ahCF$E4H1r3DNkzee3ycYs_YBL7jsz*-g*@|G z89BwSb+%iKiq1$mN;+4`boGpLb*szuQ5O~>gaz>F-N@LS6=D0HwxsCotFFlbeVWec5J!`CS9#MJ z7xj{3$z#>3mV%~Sa^ounM;EgVi@H~ylcv6B{Z-56%Aw$aq(>*@Pg|rP5TyKacUB-3 z@}3O^@7g8^1B`5S-@`h~QW5s?JM&0+%f~qm&jYIm9Vw-J@@~mN1na6Q-Sn!hwZjMz zA?>REM?AA|xAwvIp<;Qe9&L<{Lv5?+e7aLWf(sI8M{NW}H95ahv zAU*FWL>l7<0+AQ6_GY+fc~7>QIJ!^pKX_Aq_4R%i*d@@lQOTT*aXXg**H8^J(q&K| z?IqUYsvJl;HML~qnh82Jt4fCp&K^`sMb-2B0xpC6Gu9x$X0%>!d@nJjt@DRymr~4$ zX{H7`?_^x++VeB6sCcK8L3j!o2CNFg0KV&+Y7Y8o@| z*IRmfXYd@>E12^v8}ei!t4?RtztKQT6d#F-{T=S7ox{H^5cv4&bnv6x1X=IvY8d1+`zIZh zRzDnu&R^T5-i6KU)0=!XzG>`ZFYlM7a4UPm_RAkw4YBB0<<@%st7+MKNtJqR(~WKR zJ)6m8PPtl`O5fKwLi&2sN|->)2o0mz`J&EY*TITwRDSqzps8V_O}+7^)8b#}d_GEl zXH_kNp&iTs>cO+Vw@$UY(z2%OK0LKzGVY#iOG6~1uFe=DG=hQ~QiYX%n;Og@GWzG5 zHO4{N;@JysDc!8ISE4b&O}Q%5HP4hY5JVuMSdR8ExKF08nE4%Oq@CL5SU!W$`p7)ef#z9(Q9_dF@G!IaJ%4aJluiZt66So&-FiDD-I*U0Gl8MsqL zwGip)ZC4S0Mpwz0JZx`I^m^&zP^Fc3sWm+bXKJJ;(grHd?~X5KrH9Rei|TqigWaz5 zC=$Sreh69nwmb9YV;aFxh0?eQ<3u4To??(fUykpco;^X`0C#gI(MRg^9e1dpS|x9$S*|$^*XNoYZtzemzNLb0YVzYl$uwe^mKOp z!-GCq&5OFXQdjoQ$1mG$wo2@5oK3l@GxF)3657W3eHWCy){%rsU(+Z~P)wJrkP2Yd zwZ6nU2bQ12m@l&!b5rZ*@p}=0E=|wNd1iel9vK!P`O=mKdC=5YC#?8AJL$;g;swHn zk1guH{5+^$;s zAgIAvmiD)ytL!vXpK9Y2o&N77|KKfAh%C_j;ZQ8)d63oetFweC^3`V%9yjV10^cOr z&oOtqtEwPT;9&4s&s5C z^X6*vqxVVHjEoHHGo~fyHc4iWsRCgk&@|b~sbQWr@#{c0N0;2xEJi~uP9urdwTZ{kV$zxP( zeqmCC?;1S^)IdQ;l(mi4B_;5}Gk+i(9A_}FNmt-duCYPmdE)YQjpHA_TM>HIES8<3 zgDqb8nqrAat_BYJrO+N>VxEe(J76UJ)=uKZs-?BmVWhkL)5IAys;Bk zED(_yN>dq4DP=z>Oh1;FT{JS* zKnH{|_3bDC)C8VJ3+u9< zgNqibrMcyIPJn%1EgbKQE;1hb&Cn3Y#x44EguBtEVt2o~}@`JHci zGS{fbLMsX$=g&t{d_|nNr=csnT44-)G?L#8U~G50*i#-fRX8axZ$7n7eJf&jO>w4` zkWVj7M!xaL1{onBJoQpGS;;fx=n+?kleFx+s(U)=)j^>e|9K8({m8fu`P90C7+MVe zvDGGuLX8zYQ23Y1Bfb73M(5bM5!qQIPs*vp#fax#rjn2%jXzTO*X1VFNs47lefMZR z1DcS~(X82+0BWSFTrA`tF69M$-cb;L@bl?gR5-31)i z)>pZZ(_&H?DQ`!8y_t*Z^uGXq7_#jJ?Xi@;pBwfn!Ehq0pv!b=_di&iSPn3D4U^O2 zo8+}DhdLv6S%a%p6S*sRlT%x>Qzcg5huW;`o{y+iTXN6|OkQ(R@SGal1DzQCLkkPa zmK3-#T$5SDPi$?_f;m47Aar4%64Zyq+s-hbJS82PHt&*88uG2|&Bll--Ruwe|X+taeE)=MNcS)k8d=BG=T+Z`}r{ zdnPiH%4g8+G(V=#nc;2-u94t*r(mta<{;x*abpsPiNnvGny4&AN-8_lRBO{5Z)X>y zBQ0RE8cIBu!HXqgU?#JKiS8We!>%c#4=-|o2Q06@m^e5@-n=|%$}g%k2Kj%7_kY)L z{~NCK8{S5CHulyg{}tZN*#Aqy^#dKBV=*RLkhQ%Y;8d9(lqpRoiy3jv%xv6*A|ix@ z1uX+O6~p~{$<#q05dWK!)sij|3WWaQYtScLY$}XB#Ei_lvoTRL8>)RKeH;TD|oZ{OBJAu^X4 z{~W1SVh2=OyjV)9mIf9R(cJF!n!>bc6U`)-=b=9lJYFBaT9ytt1(D(xCJx)m@{`<) zd-^wBdw5}eIFh;sJUdF_*pVa@nRKcvn=YI3VVQ>rrK;uc$P0^0(v?k`aJI!d!t`XK zpeavrC_bY#8&!se`1?e>1S`u1P$f_CvQbEpzKyDx$H zgY{zV<;oMV6yqfvvlV+K`c|pO(|2l*<`9C{1UaS+w3}?D}K&^UmLr`Rg z2+`6eMXd;}oGKM49FDm0kigiVb=Y>i_Jq4faeZA3gST)7;ew|^ymaq9^NA$M z1R0l@GxjtmSaRd85t=eWOjP4>anY#2Bjb|8ggR<6X*CDX9yidIfykK16`H`ZU{F+# zzC|v)OR(YETszlIXx6Qcht9PD0g@3J}gf?Y(VtK}vE?u=Ax|PxP0X-I4cP|u$ zY<^mo;BD=#!hSV1G0jq!hI9A{j>$%1prN!OS0J;?#$-!19vkQb-E@Vm0~kD8^=@_E zt_AKb)KGIX!#ndJ#P2OW+aB4A<5!GR7L+W1iGH0BV3gR-+`pV;m?%Le@=5~R(OTOJ zLXU83PC$L?ay58gpcU5k02Sq#LV^VjtFm<(K~bHSlf^8p__YD*hhXwkcQWY|;wdx7 zD&|?G^H&vh>v>4|twh@hMOCGYbw?>_#rv8K0x4r!6sz==g?#23lr>ss_a~-8IX$FM ztL~rK(jjw_Ytf|!a_eOU6I~$S7Woi&s%oi*uaCqq!M* zi5z#hwC?uw>7Y~49Px;U2^~fg@KCR`shirjq>Ihcwe#~@xsT<8o6?!A5%P97y+&IP z-IyMWbLBg^`1yT4-cKIbag`#YPB*G{d+8%$_xe=r6_>P5OKE#4pvLX9stUzY2Q2wB zP!M;O(80Xt;sT>kvuea2(eSts2>$%|>d2B2SpsXdpAW0lyff08 zlw%@;=%U`225>fFs;{9sV>F2yx_|j<>Y{7!|w1YE`v z3Qre)c{ZtycRXsHF+Q5wtUJoE4z#R;itZxZG zlDYa0My1eM3Q(DlS<~DKsi-xM8srj@mF3}g7|P&aoVV!Zj52mb^!Ml#QEYciLeV)53Ue{i zl8TV$r9&61HRS6&I|BPme#Onxe&r`UVJ?5-RO{&oe4cy3VI-wfheT4eXyI<}rX(1;6X%_F3t4Cs(74;At8sGf@Y|IBL}{OQAu+2N|53@^_Hpe8KtP z&(C(lq5TSF7>bUjS7;TS;nlD8ra*N(AT_@rTD#!edK1 zpfwIvUjme+{zV%7VB;{Du|r~Z5hUL2+S-Tpj3M7U`=FQ`b>)CWZqvSJN#`y3XP4-< z2G3=sS8RH#GxiOAW-TLfl2Dg>aDQO98tEPk?zSmwQr$jU3UQf@HaCm)zEV0%IMmrI z62{_&H0=h$ju{{!*id)nVXcuA!jdVvzo0397@&#m2w&NZge+QLbfYivX$eso(p!R5 zE7k`{qw^T~n$6Rp6wpMLysyP5urQa-0%hx)9VX*fcn?G4-~?B=T9q4`f4%DS@TI{^ zIL{*ZM#umjhp|+%@7-4xgu@S`-wjoM{mgyw`(bPAM%RL;#wFez_3^aB@RkZ1bz%GE zNgXTjk!TAC~Tv zAzNJ|M0Li|BS@OTsrzCzPDZwbQQDmXKcJ+Gdpfw&@n&2;Xq*_KPrQ5A$2-R91kwzgw(G z-2FoVHwn@x2Vl2WxRNq<5GIP+IYcIS7MNo$aa4Pl zP0D)o-9(`tf1C?a4^P3nse1u?8;V z_Gj%PMRznZJoiC}0hKSUNnhD2Y=~TF;p5$|zIXwJgL(E27j$W*BE2CwdyCLCewVbX zN!Q=8-&KgOX|K+E(&NotaqifThoMV60{l zsLpVYjO?NdJT15OIWFFX3w1$eBM^(~5^5Bn%CMN(;Ame(3?vbOuvG?!wd z=W}WS@*g6wgX0ReWLkVj6v%B-sPo>MRItdUUSpiyo8_Tekiiyq{KRx3?V z!@c}GZ0z3O?Gk`ajj&#&SS@Ud3j36-Fvj{{L@2hhbYea+6t9vZgT(e{D&Xk1u{W@H z4mrVHH{2~bo^spd^n7P{yX^5Pmf5{uP(Ms?{VW;JThh7up(`&`l77Bh&5H(+mgaC@ z`#)B~QGQDhcCU*>&IJ_#{4|hG1~ivuEpe^ov0Qp8#oYYUZGSUAX|XpvBuF^V*en@P zE!)L>>dOx-mA$>mNwoE`&*LlBXSqx=Sih6^DP^x5Wz$NxoL%9Dug(NMz~1yPPyH_8 zAK~_qiqcik-F@ln1tTM(J4P(;X0h@;K=SzVgs+5Lj15YprTx;ja%|&o69Qp)xNs$N zziin!mUbR+PI1l~!8}g<9w?BbVFm62UQHLj0&yXmfA5TUX6R77k36a3G`za8x2*if ze9EtGOQU-x=4agWAUxYj(s%9JhyQ`hx$` z)iRx|4N7GvLyKQzO{zBVOg=pI!-7c43eQbumdoFQH{|McoOAKyh2yz#v==G{-bzv3 z7iZ}7ilVqwCTqQ{#`q1NnmJ6;Pyu1@q&VdQMRiOXQVYw@DA0bp8c#_6cLQ`slxmOv zWN9ss)&Q~OYw6r`b#+ZA5i4)5^_n}K_+^*xKC0URevo%i;h(`$N-{MLSBIThz(F2Dqo-05D^IhF8i zb8+YA*XO@a#d${=LTV~Ar=Q-Tlmm@#+k0ko<(~9(qO@QJO~uIFHZEF6$`bqwW>I$( zT0_&24H(MEq-nODF{YbJKqrxgsz?6CmT>WSt4oTA?$OeLBAgA~9=o22L-JvITW9pX zdJ3uWliiUK#j=+mN`oe9dYNs){iiCQZuE=gl5}#?+Ly;)dO-*8z~nst z$%=hMM>=}+H|yl_6$NkNp|i94(ZjA+3DMRau?YlEp=5AFvI+N2a$zQPpDMg-NCWv^ zl+oq*soj^Ar#~R6sSTfaT2NqywATgBq+$hBs)~#GV9>M?Co`ZhB7Eqt9^T$GfjA?S z2>ASL5040-EF^-H4}y>RiLLhvhY!b}ig6G=mamw(sRlU3lr9bc4AK&PTqcd+6&mlq z|6(+~YELC$s!jxmO+Un>MRSzspX8A^&&5o5toOX3ix36?1zQsQofAGrq$WVVZI~fmE#Awu{R_1gSGZkUzh&h^<)3nRHLk&s;Wp8?IRIKbnLNlJko|b-k+mq_QDKRUD(~FPQ|%IWh6sT`3A?X%knStzgq)C7-3~ zb~8YMa+U936-&|&%94oG!3$#^PS|sFQ59%xKI#`bLpAvk zE$fjNzm*(xL_;Q91YmO`FJ$F^UWLmPnql|vkO{~2S_E)-5Dl~F(dN+dKKi~#EsS$n z`wy=T2n*LVR7lobasfhI%PruHJn9B46g48a9cTjouy@7KGkkBlxq~1p-V6pzT*JY^ z3_OSt0h+s#Txb0)Lv^FL_u@f4g{|cOk|M)TVX8Tl9%NTQ97?7c^tHoX`5>wg=F3fO zK#+nP*sioRQG{BXO8U2@Zzijkw;!KYH8PY(NEo*IU-HvfbQpR;$ znkd;iKz5O;qAQV6SDhKdufX@$XWDeoH0+8rF``jVeyOUXBI7yQ(ky^OBtpMPiAr1` z!hocq^wN?;+TcWy%7LMSLfin=uC!DVEs7+{zW~BGD3+$am!vzcB2#Xs_w#MD} z^YX$51@W`%4pAp{)Ukq_$@3KjER*^yAJ`7_x3dRm;0_a8w%F%yPrnEGl`I9ywG3z< z*FR>C8e8TLX$c8nT0x5qRD<>Yjkl{6jKdMk=SF{VaGV*F2KR_fRP4d#r!+x&aT?`v z$<=Fm`vAOE$3}eFj~nnW8-*tL_&23-Ng%yHNgTX!)j=H4tl3R8C3Txzu?G6X!i-8+ zEb-#vhElIj>wU=UmE`;)7Y%?WSRzdDElda!>Nwk;RPj8DRm1)eHj?x|XcUW80K{Fj zLpkNKZzjjFc8l9&aP$Z_1n~uo66$6=XmVrr-<~3!jD_&UuFr*)JnpV!f&T$B(6Hkb zDAX;SJ^$PDefyj_!M@Y=_C3{sFE9jY!B!fT~b6zO9Gaw;jSuthFUF zVX<>MUl(P@^uslEu<@rtbQCg$Vvr$-C^q&i6LD(STDG5#3!>w&f)|AJ0 zYk#GZh{!= z;5{|`;LjktD0(@@Obl92C-IH59hYqq)u&=n^Ieq6l%dM*Wzik1D;EyCdAZ!-SUH7{ zd?n}-+duzeN~BALllQiysvy-zS$v#6?9?9w$pbp6rHqX#9U$w%tLl7r+8Wj5wrOe( zA!VT~fW;?b){$DY>iuG$y= z+SFD0Hm$wY6Dj%S7Po+V&5yfF9(B=`ywcy5$~1F|f>AVQ)Lju6Wsop*W=SRm8>~8Z zjSF`A0bFmFcLOi18}4J-iwU_6v^zZeJS=?VJZ8`;0hTzq=dc~r3NjK&_HM}_s4Htm zxg>9H!YsI<;EVc()bi;R)|0HFJeFddjy+wyaE;`#qxi#UQ(lYi!fb}7GFNFbKdFAm z{8l<`X~C3wXOuM#ruovlt|=eBjzwvlq&n75Spx@qHV{Ak82z2(IGL(vcN5`T&Xa0j zcT>)GFEERy`L`e&AYE6`lzFwvo*Z35m5g~-03Zfq-vQe|YH$hEuIN!57!?|U;&vXf z9hQ7^!z;|Zda|@Rz4b+?1-`sbpgK|WFR|F+BO3RY#d&fMh%A?Yeo}4hCEVEpz7h(w z*d@7k{BdqzWJmnz4dr8Bd66YC5_gmed9iicus(E`d{~Fp1wlG4BzPXO+PUfHRCyh7 zVCq^X=Q`Uu!s5`LqssQZokhDk7n@_gy_}^$s%0RKa=yQl=2-x-BBJlLi!0o8y;c_$~@64U&IM+LMMZ%93oF6(roMD8rJHrWEZ18;U=>@9yiaETKpz z!B&U;^?4$2CK~kBFp|(pAs?r4aj69$5S)_DL#t5r{fRJt@YCN9W(e=(wh$LXI~=s~ zn7+5`h-NjLb`Md}nF*Z_&={r6Oiuh?gGmp||4*%E?ukQ6dqe}U0|Fg*?;{`n?xm}E~p9ZEI z_g^Wi+{ultOTou#?m*kHN!c;ubGX6Q9JY9o4dzaGt0l=hJ(#}El(Pi)hfG zg7#f3=qYWK6QiAn?{%KX{`bkVrRB@xjAM|BME$nfamU1NUTo7W1f0D=&9<( zF6O8wi|Pp$+?H4^lcQML)%uj3>hHNwDCz2q^2bk;eM5dz0_{DyMOB%bZ|_nsAN0Z2 z>q2RWyBJ8tdoekMx+#%u3O-BQJP>|L2`o>l&I&iUoqE&)j=y5e?U#U549N?Y9|pT z`83z1MEy+?PWZ%!u_3>Qx^hlQ{$zT-8Opv*3lRyZc(fzd3&{_xi)!>Em#f=U;f+@H zaD4(%I%Jr<1b{>|srB4(be{(G`fh#W;(mW1BOmDHhzXvUcysO78c21+S{UArTHLDk zrn!uUytOgkh}2qzBrcxII%P>sngVtVvSxeoG$sVS^y*`0UepL?9*NLR(pxidu=}1M z+OsMbkh#f4X5%0@#dl^C>gUh)I>^3mJ4^uxroYeVmJIV3;nv)bp+=%bE=b&zVli*b zI~>dYLYX%)bO^M>YXOD-XjDa+vmZ>>kJ)Hwne)>AvV+n>6ea^0xtSKfUKTSRt2oDe zBwh<-mK*P5%C^$V4YOy)kXIiY;|?6e1PrLO#tkmxnOR@AxOxk4*jL_4!#!U^!I6O0T-PQ65YR9Dl>e0Qtqy6g&bv&0h4K;h-CJvugcEmm=u4=pmjAx ztqT>-OgfNgE4`<7xuEK-ko%WeJt4GCg*A#a$;oE6YV~h!^7!k6d>7PTsjuWH(~Um< z4j}|*(bZQ=Eou}rC3f&N;Dywbe>Gx%z8(@XT6=g%;s>9W{fu5lTtVa-u#w4$eGy>+ z=TGB*US6$nI&_Val3QTjjnddKL>w(i|Gwylb7JE_=CR*Z^m+qPX5 z+cqk;?WAJc$<03hv){A#d+xnseOa@$xqhpUKH2&h<9V1zafJH|agMSK#i90C+oB-T94;HI74l|AszW8igzw&>(DG>Utz#(D z-q|>-qQE)l^gJ=La1G+9*7fy#KF?I!>UaiXU-~Y;*qx~8#X^Pna+v7g;9_rwBR3jY z(vRj$dZv>lf8l8qvGM&I{C0O!$CZ=PV@wXyqumR6ge~t>HZJzW)oQyvt9`LOQ4H6l z@H62aKfq+~&1#0b$+o_oQr0Bkh4SO_^W%G?g&UZZ=$r9VW)l^yAh|}?*Si_7=lDo% z0_?c=jyjUTFsRIDXJS=@^T$irF0M@q73SDU{CRbRT}Vr5>UXjQ+3)JHH7ehF$fv+0 z)WO)5e+}O~O95|A^WSb;u)2eR10rz?lS`?&8}E1uiK>f%^{OC>0?h*RfV+Vw`+>y0 z1VCjtp&8OIMO@TGlguLl;CApD^~e;W-iHUW zW+2V%tclsgnvjY!(ChisEKZqX(a~A>-0(JiPwu-T^#ggz@|Ix#fId@4)R> zGBC0an)X<3gc)Y0=pLG{M`2-??PS~h%>PxdTK)7`Vdl7{M`{eM>p16u1CfiBzRRh{ z^0~T@oXhcTA|Tb8e@#c+xy(FvP<+#xVlu+>a?U+`u4z)2pNH3qmf3L4zY0YGoFk0j z;C=h*3M?WL^cu2wCP+pYd8DtppGs{$it$k3&F8GCX2y4(vS30H10lh?%8D5LaVS>C z@ro9zIR>#<(%bLxqL-a0^pE>?OZtoH=r=DpzT!0qg6Hhj!uRl%!tbOA7wfqX4_Ypj z8=8>NJCfFG$>H9E=9`qiN^fPGS?}GY`*#z^d1@tl4I5A~>!H24$uq{AprO{xqVL}E zANS1I;w%8itR-DK%~JC@u0%}(tOG_uMjb;BtV3Sjq$u0ZYdSuAUgXur5d7UHYto}j ztHp4t99e>`w+Ay*b{)GhHJy;Fg$Vzb_bq;A31C90>1(;O|N)0X@>;O5<#Ux zGJz=G$qI{YPM`~Qh06jZ$uP%Q%L;xU6loS9FvsWn(m@$^^nPmKrzQc>@*Swj;$EEe=}F88?B-+aM3_L+8w(+`O))7=71pe;^kchQ#`_fSP&df(k(mPq#cB610HH+F>fS-;k|bTE z7f}UUq#2ywJuOsPo~PQ0p7|y`vF+{+aR{*;@^uH_{EV9a$XA2PT8z4fyV%vRHww&lOQVU8$T!`?JBn)KQmINhs^y#GR zyBaWt%2FWYkrjLNAv%mzwy8$vEl7=D>MqXYI*VmT?)*_-UCW9L3IeJc90rwGc3WsS zC(i`R6zE)L@0o7u7=SZ#9A?a7*s(TA4F7=AMRP1MI!t3tKU@ zc}Wuod#)sWT3z}Kz-{V_1C5KJRgQ8h|ks+#5f}=pRYCix>*18%Pi;bs82dTL zJ6Dog`KTbSV?$~Q*KLR;;^~ogN>O|l^8E^x#YkQxNM?jR->C`=X$8R54LxX|$Kk#L zq{?P^U~(S@{-8$cROp-PxJEV;8BdaWTOb~P2^)mtOw&q9rc)ugxsoFC21yJ&{%jo$ z+}NK>rF8!5V2J6Vjjt8h=elvnRu_ahge0$T*6{iD8fzwUC?3im0FL?%7xJ+WTl-8i zE$45qIT2L54kBGg`+?mTz^>}ooor2Nr^(-K2D|-1w)UTu60DRDqX=Frwb8LGPG zw_v+I{R1}1kcI&dJh1COBm@y^(c0ifkCGzk5>Z)31Uw=R9G zz*$Yeuxp3tqHrwL{djq=>{Nn~?G)QqoOYvwpOPv&yEAfx7W_@}KqR=P`25Zg-0`rT zD};(b2YaVp56e^IbYS?-H|a+FN^V@+-yE_45&M;pdK(BK^!hrCQkGyRGaQIx0awdF zBnM0-kxN zXShT?K+dt^uZfFbYH=T3m@KtotHJlNsw@FmbUN#8xKpdAras!4c>&O7_86(IeT{0M z@aVMtIwO>4QeYtT4B_zvjxFnyUw$vZ-P;u)fQe}LNfK`2P1iyu*ij<%f6VW~b9Z>B zQJ-D-Llqe+hI$*_Pe|^1jYIKE4MG*o_26+4zAr|#bs4I;5kyoEHrsu^?5nTihQqICMXlY%>U+BynFDG9lr(1j`Bp&$T7NqHx()!dd^xu^gir-^c zMc0xlpF2nSZ;E8;FXK@pNuXUcAoU9*8DBdmOeCCT%$q-uXp%pWO!R(M>C7xrq1qp8 z+1oYM#TPf85Hoi0U1sTtB*tg!JvRh?E%V2Uat+Gl^?KfyC)o5q*SD30*YHsiuF6Nc zOepA(jVJ%(?L;Sg-MpfMKR0oFI37=NBs%sd8@)=x)XcaASm)l3YsxQ#y6lF^7FkbG znTs(fh8~=Z2>?qxvF5@4()tj7%WEI{Xm?vLqu>d99!MyhbMoWFIg-Ah&9jicLVal7 zdts2;O?lv?UrRF_x3YgtGh9o{ohN@r)zF!{;c=Uq9DUkOBMzhV5(zXu;pL(pSp203 zpV!xh@ia(yPFT=KjQHu1<2$vfPS_(0$Ql2iaw&slB9L-jUlLEYWe+0_a`zBZiiIp{ z2a>r$TB#aqajw>AD}F$iQ-N?LXwfMM|IKE$p!zQvorKu{k5|?b1^q(oc85bQ$_czA z69n#UUSovON=F5o%)o>6f>=Guwpu<=)bHs;jZ)>mcr82GN46P`ZmX=Y11^m;Ml>Fc1{V4j*E+YPgmW0!n zDqkpz5jTV#+6;BZOAKwo$@U7upl|U)3i}6Wr@Y5@hJZb zkRL}+N8VT$ewTD1&#%x{iDgLy>Dbtc^m4JdyXuEk{@q)_Y%2E_=ucy8wnn}F*gy^m z%5PTgrD@SRb;7w&JQvhZTJ3#qS9|dX>MDDMKG4j@mWS@|DR1Qg;sMx59W6ygM)x$K^WI2&#sWHkA$Xb5eYOv?1I zc4!BjT%f3Qi6oZ@a>;w+ND=po)O{?fw*`(J@B8HjWtWYfmc!+JwORyjv?KS?rV3{w z%DO`;Jj;+LzMe?1>hdwwuE&_qjnGh zyjxjs{+r+O>u}m;^cv$rW9VDZu2cEib6JqjU45|Ucgivi;g2lI49}tMcZz2qI5*ZZ z*;R85hPK4NUOuEBlRgxge2jOlyc_OlO_10Wl!Wx0d#J1Y*|Z?>5=u$Xn8(G|ZHh=!4_vd5%+7di|-kw2jYB>l^Rg7^O{jjq|*3G z1@++wY>7*3KSUERiWow?)QyqWPvI~DTRN2oF~MMnEuG}xft8s>r;b8<(Hfcs-k=n?<&|sWe*+=*QE)<9%!rh)$M^TObU2 zyO@#li+`=YIN)z>?*YDs;k{N zDo5r-ZJa{~1GS9lIEB|n2~;{H`nzaK=1oXLLsTOyIh+?&-Xbt220EbzeCbAZTlwPm zK*N-VuGUu?kVKOsJyDdh`YQY;wPtdEPAO&e=)UIs$n)8I5S`kxJ6}e6#V6eqX8cBV zqyu6G@DC|I=FX{><365asr&Q;r0ph7`UQ!XaN)vzz;=19~L`Nro zfXjVjV@U;g&4p?b{9&M3-c=RlMtU#@xtUgVf~-*qC=s^lQ$x62qt_=DaEVlg%##p= z&y6k0ieCpC+5v=PdIClAzvCw)MS!EBl!QR$RrJsR-AG!&JkcYJ$TUQxG{BO&yWBOS zgnp{PLkNTv@Mox{6-bGmt_!deT(LTsILjYh)W`pzJnipxnCDUAZ=S~1e*BFwq#|z| zsF@WQ?F%I24AH&5fDwAmYrTyh`i6=G3CX8s5*RXupBT-d`wGgq$0r}r5%Soh zP^qLkE?rU)a%Yeh0am4=>9%WkGmk2>`Fl%#IU4Ay zu2xTyf6O$NL4rR}PbV*(B!tbjN=iJ^mh?+eRilkVo88d0V=kY>-px%SA;G)i?CQ!6 zF^~NRnM+K~{hvN&2I|*s&}mcKbE?wCJgG93n3`8oX{uU`O+Yy$HB?Vz4Zb{lS)42? zrbi36b;eLFP9-xCP8Bp!akUFFB+R!{iz2I_A4QP{g;Zg5;5C4RBfqE;@vfbgO7y%u zsqeL?C(~iN0!!r>Xexc7zBN?&%umTxjeYFiKixZG6b8etyxh{(g+Mqo zSmg}@$>1fx)1(!4FYlK+{eJG8NNM6)fO&t!%;-29&M zF=DWcB{#nqUPhhq*n>368Y^QJw%jtuKx*&D`5#eXK0*uD8D>>&P{GsSq?Owa0pAaw zC>o}8KE}$QCk*(__gzPts-*Rh%tcrwJ>P1XH1Ctns&`WNQLqv=m5bY1A;lyVzFfcu zHMC+F9ppMR&NngL@SA!2qfhjk+!VNY=avQ*{f1qA#e0!wlr%+V!N2{2N)W5w;-!6^ z8~G!pktav4HW$~xsLp%_VJ$9!T#XM7UIrLFM#{rM8z?NR!DkKMLT|`{8WzKa*>(3p zCGC`?Q7}A&*GL`snSRS%leX9h57%V>m?uKoSYak~*2bNoJ+Kfs6R@&?()PC8wE2Tj zRy2SuSgrogbqb5Pmqpc?EN@8Y&m~Ny2;wa3>_XfwSXTqjZM31yGMDrmhh>aS^PJ|z z@#YI$|E-GnO`P~rt_1^EstVo`X^&Hg_VS&u%?c2Wmlf;#?Vsai#PP;@z<*La`^k4Y ztyN>?P0HZ$xTAI9|2|)K-K#_Iz!YfP6)S4Xhv%gf%4#c16Z;r`Y+E1M z7zWOFW9QZIAp|j|liI+k4`^f&O3A#Pe~>_~BwNoxt`v293tI%Sp@gvYt& zE2ngwiGmu%Kh+(Mi8d70qC=G+Gvdj%_byI~l`keHOx6|~iT`1?_uW`U z1eSLV?9uL+5f8yO?X_$a+SV<%7Gi2J9Bg9=+YUy=%kRyl>1>yv$g;dce(UKY4 zuy@E$>8nfhIc0vtz+R#d7mhN-D5q3%)3lxwNkQQD*uvq4m&f+N4W2kHh z+?`mnu`Rze3gKD2_0*~&VwOR|GG*Vft((OstTdcK9~Ldjo!uV3&^pl&NWbP8mo&Ra zwSo+=^7C%AbI)l>oM-BJ#7?nE2xDgy!MeLN#p^)j$zr~+n`GFF99&3B(|x89!)`d-Hn zZC7`tIaTd_D6vh5HtnQ?qvgfX3`85qZ7A+bX#|dkEv!J2cPKJ36i|F|lWl*%(l@6! zBv3aGw4>%Xm{b8%X~bGw2E-D)7gao)E}!(;kRWsEqVR|UF)6bKSq+s21b@~PeteIH z4@?zYuljhtRc-rY+%}_0^E%O1m`q<%$&ZZNw)RaXOym+;OidDonc=8%B%pA7jwk#E zKN;b)6qP>L(#mXfxDM!CHUJ`_X#jENy$IslcD6uM?u0d(Z(nvpXr5>Uw`pARJDxSIc4uwGZei z^H}28N*v_2uJAdUZpq+&Z#+(H?Im(lvmN)1qbYjmvvU1y1;6<6ESE+-dUo2Bye9N0 zL1QU>2`VFhY~RH2jo~-rSx*eM4{y3rW-3E_^|ESQw6o<9 z$QZ$ibdqmPeS=HV2PwsIQ6wuCZ|Q_tSxQ;%ktWY@b6iYfF@+pOLh-HB+vy<3Oo_`N z!*k_&2T#p18NPVCGuK=zyX@G$7rlMK7N!VwrRo_eLehdAbYYShxR0Uf4rFT6_{zOX zE7r-k*qA^0j>c_yAyAuzhZh;e6>}3Kv34E$KeansM zIv5Ty)U`v8wm5tzFWSoX-df!OociFE&i{~mR zDQ|T1F;7fDAFAs25+`PxH>KU|D4#6*jBo?0akA$q(sgawu9`wt=BC%c8kMjgyPMi^ zrs}!|SXYy|w7tt}pMq)U7Fmor`XQitK0>`3caKZ zWsMD|m10>yH8antA_QUB&||KC)3CWh7#|w&)3{jdaGz-YF+$TcaCD+F@XC6+pEDp1 zg0B38OPqB@RW2`p#Td0MP%_=79JPNee6U~SFCMu?mhNO97-oSz?R1g+D6#RegXSJt47+ug^CUT_SzveRu7iGX1(%k?N0C3YrYAa#k+at zJp4$%Bht9&Yl+;-luZsm?XA7ly3)(~S!WJLcfZjyL4A0fM!9mDr{NRZ4=%rxA^&W~ zjO5ZT=R7gFhy0v`$pbWNyd#okKbixtBDBmfLn<- zC@b!w_C9(6d*LMCp1tk;I^ACLI+FA;wno*={PnBbjQe~FbO!<-neXmsc;m$9Bf*!_a5-^+DU*~loD z2s4_srCah!yj9?q$aF2nvI`H0a= zCAtz;6(Fc?H%}TvdVher>L#x{&KO%Kb0A1npWMFU!aPAK8z4GuC4lV`r!R``uUub8 zoI&PFg8as&7-AbqIr8L6Wsl&lq@p4Thd<0t6^Tdq67P}8Jas!N8$N18zCkqMU(uXS`6-ak0pr{laNw$%q|XgM}7KZsx`r&)EK#sgL^?S zKc^Bpj}zj2ACN%4u;(g(z^b|!>`n^u5Zqc1HiYo|;^Y@AD4IS+&u2IaOk8QenDkR_ z6lEkSx5#hU)wQkiA#4Ah43p^_q6ix1U|mbc13M+2!SNTTDRn$mo^L;Wo%JVfjuijKZiM;(l_m%lW_9Fa)PFdSq-xoNUH(Z?K$I^qC;2kTG^$51?qNf44@99KI; z27Xv29_=SsAkJgU#j6XkDG?j;R2orcCuWDZwsdEoh)GQ_75ZhjV8N}6`ir`UuQunr zq7=EpI5ZoSF`KnncuiSw5*O55Alz>W0^#;{BG9k5Oy822<9No^yD(F-GI6 zc>C%^Eu;2cz{P9J!7GHE>wCxYq^@`6_VOdBa!CPQhbK}j|8<-d^}>4pYR=a8?Sm&b zD-W!hmfQcym3VGk$1lhYvyizwOCfetb&Lz=+BER)`AFc7s11^FSL+!{=1G+w14sX1zO&QPV`&82%|^^mAG>U-EP( zZQ4B}utS6Nc|a44xU_B7acAIyi<;ut@NaC`^4R`6GSaNO#Veg|-rv>i`MuGGZnIja z{=_7#%D?M{@}pSLDk!sBP*XQTuFcXE)56X=RNGZ$MDd$7YjeXjfQVobsEmM5MlGHu z0LCV2bZ%HO)rIN&nSZbw#HETcF{Rqz2G{4eJeUh8w`$uOus;|tAxUr*g}Qm*3iTow z+|RJTPiB2d?ZzD=z3uyDEVQwfPja9A5)buNgQ*_YC|x0>Y^Ij4i3_JPMLDn}P)Rkq4k~4&Nv?(8IJzpX{*${>wm&k9p2m@F{LZ zMwIL!`jcZVs!1cB35dhpN6Q8dV>P#0RANJFEvmeQx84r?OnV4*U~fVIYvC}MGb9kl z9n(!v{9DR*X9MyQ$DYNf?hEXazM$u$Fj>$tRmy%x-JHdJsOWa|Z)b`f2>#|sXu2c} z7G*d;?zVqaz*dP0gJ3~d?xk_*Bq+CD(yR=* zw@JNfk?-ATzs!)ny;D{i{!Uivgg#oxJJ;a-%|jrwP;fTo75Rw4NZ9K2so{p7RGwx>hpg&Lb-R`IzMp$0UaIubNwK* z*ZIHJ4`TjHq1@ci*5-elxb19A3)S5@=PkFoO>3K`!)N2Cg=Dd{3Ns9d$BZ)5awUvp zjj4<*$0-Z*X-6{H;>Uwx*vQGnQcHK_pv1biy3f(2yv{9vgD zbj1sR@H^LII-J}EQ8I<-FmRbK3?J9&;e@0Z57Lf`M=75B9V|yuF3RC;C303WW6!BZ zLV_m0z`{gi>k}s-Im*se16eN%1c&jUdSq=|%Ss$OZLpj2SaeueR2*}LQ^uokYo2o= zk`3x}Vbo!aLiWcX{}%8J_nU^gwmva_Xh7#FO518y8&~3|aT=u|<39VdgvB(Q{0$f; zM{B{?xJ9@*`WVR|$xBjU*-v69$ZPw!)`zQ-yCJe*|DRLdQXsJ8scG*+gIhmkDz-K1 zMt#>V4pMR3Nho&R9^5tIc2yF8VBzHduAep?Cw)p8)Yv@I8%vc6C&}W_bX3z;YMeG5 zLOd44m4{5j1;@rh{#pA2%hW?R1%2Yr551RXLTYVYEFIfvLEplc;gBm_X^h*P^#p3; z)EFp_wiM{d$Z+V0L5Lm0*kRtj)|E1Btd+CKy>eRNAW`93ZMuz^VVwB-#RD*w8{+d6 z-jo8r9r~$NBq5*U(~G-f1O+1t_UB-r>Q|QLPUss@){RFRQr84dN+QUWf0814LyJJH&Y~3Kvqv(jhAp(d_#z zy{g0*QIt|6Bg=BvMmABI?MS-)UvsT2d-9jhLaS5H_?;^hbfEnIh|V`aiR^G=S_)HT zoobnr^K%!#BgI;7+^(>5n?G!DD@FnQ=C)xbMb&(r2$n4Px~O8A23x?Qe*dDI)eH*G zw8vJjBA|emYir$F$SD-FcnS;yFS=*<4*IPG z2A`1toY=8;?`&lyN}RZN`$z0>zEoM}NI&$Cc#`j|ln~6hk#OG;vQ3hat!2P=LHo4y zzT~m05dR^|hp|ZyM8GD-~ti{WZ^{3tm#aPPQd4Ir_DE_1{;s-ZlQIv7A z7!exvr%1u7*3wMKQAF5F-tlb8|1q^nFUJQqac1di?q)WX+B_yz+6F#tV(@Z+4NMb^ zYHC6tB=Cb=SgtsO9Y33rv-)L18pf!Y;ykZX4l2ncn269$Pn#`*63Ogo3$mcy`MlmCJ-Racx-tTUsW#-!hZVC$-+P5^QaWTJ)$K`z&P+i9gAH(tNJI*7y=<|CS}=C|a# zB~a3I=+EUf@tqza^)KN`04Jg7SrCZR207F)o;whbi!P?$5^x02_NFw5U(1be@0YYid!(R1$AOTtEkmf1x5I1{5i0dV(mn=?SdI>cC`h4dnI_D6itdV&Xvmm; zuS)i8z}oLx@XrryDdYGKKk{3-aC&v7@yETTA+LKlUMct;C)ryU55EDGd+)l-RM;<_ z2h_dWSF^np*(jqX?!DU{!e=B~-OY^MlmPAc?1cPM4)`-tYB`N(d(Fpq|BRbdwpD-1i?KwnZ$7IBd&J*!rpE79HMRL&tP9HgS?|v8pRXtM$q~{fgSE*J->Li zsx5PfpE)=yA&LD~9lZEaj4d&f8MA!mmqbH-m!p@Fc`q6@yq%{wus24``LU{erBuaghYDeZpk`#T=+--7- zBNUfM;($sSJ$iHg4P~C5gi7y3na<`SNqdOMvIaHGUe-O0RUzBcORGLhI&>O-#JoUo z(F2N&V~<~^-JtfA1>(HDz;z|CSfu%b*ddwK);uO&v>$7_ zCMLg@wxiwo>{9Hp^*HV;#)R3|ge=TGH31`(ax&T7pZK{Wo>V2u6e}HGuPg?rhk-h{ zC3>SN1-QIB5|6D;x-?ovtayxOe;mZgGf*!>e@LBk=rRppr;+NkME=y?pU^cHF;or@ zctKXr#dTH_$k-HOpdN-sxZUV;tp7mm0DSk8C-kM9Wol;FX`=V$f+LHzf=IDWi4?UT z2y33J%)XIR#9S3Gj`WGk9QD^4tVIkwfYR8`%df&rsLIYRt;=D&17(akV+Xdk{3bp$ zsNpeB56|#0HN9CO5O(9h~4u8xF@M{__7!=}i93~jX;1*to66zh-OZ)5>fL6WPqs$mb75Xr^czpmyZ$X3{ ztQuFx=(7PF*qD8ii)OBQdx;;|Lz#mOrH{Rz`j&k0yFKpnfjG$r`JeN9#EFhd*8#Sk zVwzcs6fsl=*-G}b<<2pB{aafod4zL1trD(TCK;WpHgyyLnXeoME3PY|SGj{~YdH(* z^5yXCOzX`mNq%f|sTOIsWZz^Xi1{yasL7}4o#}hcb+vPxP1lqiTd4@%HNf708N!U* z>L?E1r9$RD=9DHMO+c53zXxmO^=8;N?Hm|69oe+@{Hg~-CD9=ksj53(DRI$#5(GAfz~-jr+6Bmk4hCFO2srQb}Yi z8M;Gp@kMi3${yDYeS#!k)n{@do23p@1MJ3f+l7dvv(p?y2peGyv6vI`V>b9Q z8CEIQ%;L1XrH>r37Hm^c;5e$nthC6Q+jqK8F3AwuCwk}tIDZbgu*^|qHd+791K&l^ z<&8L^pE{JcaiA$Tg#=~m_P6rV{y5uVNEYS22jm~o324i;Gbby(r?nwJV%hcho@H3vIy+Pfr}mTBB*iyMep`~?K4E>*B2jbf;U(Ol zbpunZJ^b_e#yG51Diotiv_8}uFhA{E!zakEza5&Vf2_k@O86@PNYU1j-;M;<68wQ)V3nZAiUur+C0q1&w z>=IVQNsIUP)@8~iQZSLe^=Sb=fs%ttVf+U%IWGppTmW~?pw=*G$%D!ZETYo3cfFXf zct&9XZfnccd!M#e95OR6pAFVYdPA#d(VuGv?TUw=`ZPif&Y!qn7s8;AoY1y!$Q$U( z4mE#$YrrrkMDOPr;~wnqf*~W;4RHl;P^pgj5WlH0=9actYf(sS6U30dd=B74fbN^KojmWICT{nLystU`+kA!v#1>G z_{hAXR|+Zq+^AliF&ZH#>iGOsqFxf;raveli6bmB-h;sMbc=sel2DEu59OHxTim>dJoi;9bsX^ zLXz%1Y_45l0q-q>GEaUjrfSrf^}YC(o-T-bvFc$H01a!>G($F6@TvFf>=Q=V_pkR# zOm*6r!X*M|KSOd*)D&>74G<#l8LwK-V8NQV*Jgp9;q~XvmB5ro{Hj=PF-uYOX}_T8 z6;ayQG};W|H%>xmv}Jt_e5`(@=|Q-H@eG3qL}*8R5Y{>RZp}cpXJR`K*r54>!nAhd zPqV%o2N#i~<`hP=@yg1wSu4)%vK449J6ROGyEaES(RnZ>{IL2*VD9O|Q{J>1C!4EBXS$+rF&Sjbh`646+y7V&KZ#N ze!tz+T~e9xI_>Z_^w$WWL7U-ujxe%1&J{u}hrTKFGKK}jb}3G)yWm)3Qtp2+)4+jK zJnB&Jvaidm#xlKHf*Ds$W%;yy3w&iV!JqYW-yT@f(p1W+T@6u;h%anEtvicsbOC~2 zt3k-%_RoNrj}dIJu^jOm)I)cF%X`DvWfcPMev15*hB`LsxnzO!5nhQjezN)VqJGA~ zw`AC77RE-?SF3_>Cjg`x<60QFz-KpjjPDZvIL3$-EV(ghCV z_%3>YhW}QF@=fj}j?JeWl35-c4tLTMu9rSk4Q4&UPUM=T}-AA_(#yBd&8qrup=TR7+o8uG?{)K)GFFH-dNzd-Dr8&VCb)L*)M>+KB+%6(#hpYd3j z_Voabw}v@XA-R=REHiLboDje3a}g7&ZPNb+az9Yn@KEM4ip3Y(TKwTXh>Gtwz!wco zJp?gu`8$JTvzSYh>T7JQz3gkwCSQBUaZ~oDzMRF`P=XPW%7AjTJyLl~!T7w@2d$umpnuvL4Zd|B+F{Z+sM2Kf&9^#uwF z=r0K@W1@2IvoGmpr7sIUjDP51HTeIv@gK`QdKX7?H*0+xa}#4nr~hX73G!^Mf9;I~ z0tEE+=l^L9{)AvaKw84KHcrMiPI@ZtcE*l6^lsKxe*>Vtf{_2Jqb1FwNl$+Lj0zYC z=qt4Uv?hN#@P7ospbSt@kXKTnw>J8l@OL+AE!_uOz69oxzBIo69ReT3KM4-T`bO5q z{{Z|If`!zjwgDPhlR07lQ0x z2qfZvBCPanOr5{tp!=#bnwXn9JLvy!7482M)!(TBw=Otn{z8&{9p!)atihj*^q)vW zvoEHxm96Q2W#>`iQhU*TY#aay1VkwW1VsMtu)a3`bCxhTy4yJEyBYsa<W_ArFL#&!S6q-^aWVdj+4^M#`TxN*x3Mrb{9j%D|DpdSJf7M1Q=|+E2e;UKT=r-ndcE(Qs6Y+l^)W1Of)caKeUm$q=|Ivv1KcGm?e}TUA%uQ?^ zto5Coz9i!;9RGQ8gnV6S|Ma>1OKa}$*5r>W_}`rWbpF3Mf5r1pD}}#YG5>B&{(*A; z&H1-S=079)%X;CTs_p+yk=c*`i}X(;hJS+o3hAE$d;bQB8~r!vUy|?t1pRe0`e&v6 z-#OZM_}b~n*7Pi|H=7Rm0m#_{OkG$0z&!v;C$V74m$tZ G`hNh*Ix>#{ literal 0 HcmV?d00001 diff --git a/packages/ai/package.json b/packages/ai/package.json index a92fc82f..a15a8686 100644 --- a/packages/ai/package.json +++ b/packages/ai/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/ai", - "version": "0.2.36", + "version": "0.2.37", "private": true, "type": "module", "description": "Zero-dependency Claude (Anthropic) client for WrNexus apps.", diff --git a/packages/authz/package.json b/packages/authz/package.json index a754a8d6..14281436 100644 --- a/packages/authz/package.json +++ b/packages/authz/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/authz", - "version": "0.2.36", + "version": "0.2.37", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/cli/package.json b/packages/cli/package.json index 82ec07e7..d4a82b8d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/cli", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/cli/src/update.ts b/packages/cli/src/update.ts index 6c063d91..c95a36bc 100644 --- a/packages/cli/src/update.ts +++ b/packages/cli/src/update.ts @@ -402,6 +402,15 @@ const MIGRATIONS: Migration[] = [ // No generated application files require automatic migration. }, }, + { + version: "0.2.37", + id: "loop-condition-fix", + description: + "Adds server-rendered component each/if blocks and fixes dynamic component rendering.", + apply() { + // No generated application files require automatic migration. + }, + }, ]; /** Release tooling uses this to require an explicit migration entry per version. */ diff --git a/packages/compiler/package.json b/packages/compiler/package.json index c4a05fad..037a6bdb 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/compiler", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/compiler/src/codegen.ts b/packages/compiler/src/codegen.ts index 10453459..92952599 100644 --- a/packages/compiler/src/codegen.ts +++ b/packages/compiler/src/codegen.ts @@ -15,6 +15,8 @@ * realtime {..} -> export const websocket = { evt(ws, ...args) { b } } */ +import { Buffer } from "node:buffer"; + import { VOID_ELEMENTS, type Attr, type DataMode, type PageAst, type ViewNode } from "./parser.ts"; interface RenderBinding { @@ -804,6 +806,8 @@ interface CompCtx { /** `data-for` loop variables in scope — their mustaches stay literal for the * client's list renderer (never baked server-side, since they have no value). */ loopVars?: Set; + /** Local identifiers introduced by server-rendered `{#each}` blocks. */ + serverLocals?: Set; } interface ComponentBehavior { @@ -940,9 +944,19 @@ function exprRefsState(expr: string, stateNames: Set): boolean { } function viewHasEvents(nodes: ViewNode[]): boolean { - return nodes.some( - (n) => n.type === "element" && (n.attrs.some((a) => a.event) || viewHasEvents(n.children)), - ); + return nodes.some((node) => { + if (node.type === "text") return false; + + if (node.type === "each") { + return viewHasEvents(node.body) || viewHasEvents(node.empty); + } + + if (node.type === "if") { + return node.branches.some((branch) => viewHasEvents(branch.body)); + } + + return node.attrs.some((attr) => attr.event) || viewHasEvents(node.children); + }); } /** @@ -1004,14 +1018,65 @@ function compileAttrValue(raw: string, ctx: CompCtx): string { return out + escLit(attrEscape(raw.slice(last))); } +function renderComponentIfNode(node: IfNode, ctx: CompCtx): string { + let expression = "``"; + + for (let index = node.branches.length - 1; index >= 0; index--) { + const branch = node.branches[index]!; + const body = branch.body.map((child) => renderComponentNode(child, ctx)).join(""); + const bodyExpression = "`" + body + "`"; + + expression = + branch.cond === null + ? bodyExpression + : `(${ctx.resolveExpr(branch.cond)}) ? ${bodyExpression} : ${expression}`; + } + + return "${" + expression + "}"; +} + +function renderComponentEachNode(node: EachNode, ctx: CompCtx): string { + const item = node.item; + const index = node.index ?? "__wi"; + const list = ctx.resolveExpr(node.list); + + const childCtx: CompCtx = { + ...ctx, + serverLocals: new Set([...(ctx.serverLocals ?? []), item, index]), + }; + + const body = node.body.map((child) => renderComponentNode(child, childCtx)).join(""); + const empty = node.empty.map((child) => renderComponentNode(child, ctx)).join(""); + + return ( + "${(() => { const __wl = Array.isArray(" + + list + + ") ? (" + + list + + ") : []; return __wl.length ? __wl.map((" + + item + + ", " + + index + + ") => `" + + body + + '`).join("") : `' + + empty + + "`; })()}" + ); +} + /** Render a component view node into template-literal-ready source. */ function renderComponentNode(node: ViewNode, ctx: CompCtx): string { if (node.type === "text") return compileText(node.value, ctx); - if (node.type === "each" || node.type === "if") { - throw new Error( - "Server `{#each}` / `{#if}` blocks are supported in pages, not components. Move them into a page (or use data-for / data-show on the client).", - ); + + if (node.type === "each") { + return renderComponentEachNode(node, ctx); } + + if (node.type === "if") { + return renderComponentIfNode(node, ctx); + } + if (isComponentTag(node.tag)) { return renderNestedComponentInvocation(node, ctx); } @@ -1080,6 +1145,9 @@ function renderComponentNode(node: ViewNode, ctx: CompCtx): string { : ""; const classBindings = conditionalClasses + .filter(({ expression }) => { + return !ctx.serverLocals || !exprRefsState(expression, ctx.serverLocals); + }) .map(({ className, expression }, index) => { const marker = attrEscape(JSON.stringify([className, expression])); @@ -1200,6 +1268,9 @@ function __wireAttr(v: any): string { return String(v == null ? "" : v).replace(/[&<>"]/g, (c) => c === "&" ? "&" : c === "<" ? "<" : c === ">" ? ">" : """, ); +} +function __wireRaw(v: any): string { + return String(v == null ? "" : v); }`); if (needsScope) { diff --git a/packages/compiler/src/parser.ts b/packages/compiler/src/parser.ts index e5d28398..0fda6b93 100644 --- a/packages/compiler/src/parser.ts +++ b/packages/compiler/src/parser.ts @@ -469,13 +469,6 @@ export function parseHtmlView(src: string, pos: number): { nodes: ViewNode[]; en const isTagNamePart = (c: string): boolean => /[A-Za-z0-9_$:.-]/.test(c); - const isAttributeNamePart = (c: string, next: string | undefined): boolean => { - if (c === "/") { - return next !== ">"; - } - - return /[A-Za-z0-9_$:.[\]%-]/.test(c); - }; const isWs = (c: string): boolean => c === " " || c === "\t" || c === "\n" || c === "\r"; const fail = (msg: string): never => { diff --git a/packages/compiler/test/compiler.test.ts b/packages/compiler/test/compiler.test.ts index 5536929f..221c3a03 100644 --- a/packages/compiler/test/compiler.test.ts +++ b/packages/compiler/test/compiler.test.ts @@ -689,3 +689,51 @@ component PageHeader { expect(output).toContain("dark:bg-white/10"); }); +test("components support each blocks", () => { + const output = generate( + parse(` +component PageHeader { + props { + highlights = [] + } + + view { +
+ {#each highlights as highlight} + {highlight.title} + {/each} +
+ } +} +`), + ); + + expect(output).toContain("highlights"); + + expect(output).toContain("highlight.title"); + + expect(output).not.toContain("supported in pages, not components"); +}); +test("components support if blocks", () => { + const output = generate( + parse(` +component Banner { + props { + visible = true + } + + view { + {#if visible} +
Visible
+ {:else} +
Hidden
+ {/if} + } +} +`), + ); + + expect(output).toContain("visible"); + expect(output).toContain("Visible"); + expect(output).toContain("Hidden"); +}); diff --git a/packages/core/package.json b/packages/core/package.json index 801732ec..a993bde5 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/core", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/csr/package.json b/packages/csr/package.json index e2d98715..53c1835d 100644 --- a/packages/csr/package.json +++ b/packages/csr/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/csr", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/db/package.json b/packages/db/package.json index c0955a9a..c4341a9c 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/db", - "version": "0.2.36", + "version": "0.2.37", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/dev-server/package.json b/packages/dev-server/package.json index 5743656a..616c57ee 100644 --- a/packages/dev-server/package.json +++ b/packages/dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/dev-server", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/encryption/package.json b/packages/encryption/package.json index 5210c542..8c5f0ac3 100644 --- a/packages/encryption/package.json +++ b/packages/encryption/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/encryption", - "version": "0.2.36", + "version": "0.2.37", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/helpers/package.json b/packages/helpers/package.json index d9e10b91..2fd223e3 100644 --- a/packages/helpers/package.json +++ b/packages/helpers/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/helpers", - "version": "0.2.36", + "version": "0.2.37", "private": true, "type": "module", "description": "Safe convenience helpers for WrNexus request contexts and common application flows.", diff --git a/packages/i18n/package.json b/packages/i18n/package.json index 18a4159c..3a9b5346 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/i18n", - "version": "0.2.36", + "version": "0.2.37", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/jwt/package.json b/packages/jwt/package.json index 60b90467..cecb220d 100644 --- a/packages/jwt/package.json +++ b/packages/jwt/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/jwt", - "version": "0.2.36", + "version": "0.2.37", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/mobile/package.json b/packages/mobile/package.json index 0bdea454..33a0ee95 100644 --- a/packages/mobile/package.json +++ b/packages/mobile/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/mobile", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/native/package.json b/packages/native/package.json index bd273ccb..2041d009 100644 --- a/packages/native/package.json +++ b/packages/native/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/native", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/oauth/package.json b/packages/oauth/package.json index a3bae2cb..819fc28c 100644 --- a/packages/oauth/package.json +++ b/packages/oauth/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/oauth", - "version": "0.2.36", + "version": "0.2.37", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/pubsub/package.json b/packages/pubsub/package.json index 202b2182..c09aa0ac 100644 --- a/packages/pubsub/package.json +++ b/packages/pubsub/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/pubsub", - "version": "0.2.36", + "version": "0.2.37", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/queue/package.json b/packages/queue/package.json index e5b0db00..f30d3ced 100644 --- a/packages/queue/package.json +++ b/packages/queue/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/queue", - "version": "0.2.36", + "version": "0.2.37", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/reactive/package.json b/packages/reactive/package.json index 9adadd60..907e59f3 100644 --- a/packages/reactive/package.json +++ b/packages/reactive/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/reactive", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/router/package.json b/packages/router/package.json index c1742ab1..e7b5131f 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/router", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/ssr/package.json b/packages/ssr/package.json index a29d56fa..5333b4e1 100644 --- a/packages/ssr/package.json +++ b/packages/ssr/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/ssr", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/styles/package.json b/packages/styles/package.json index a8b9e0f8..72edddfa 100644 --- a/packages/styles/package.json +++ b/packages/styles/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/styles", - "version": "0.2.36", + "version": "0.2.37", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/test/package.json b/packages/test/package.json index eff2149d..43bd6a26 100644 --- a/packages/test/package.json +++ b/packages/test/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/test", - "version": "0.2.36", + "version": "0.2.37", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/tracking/package.json b/packages/tracking/package.json index 9647d0bb..fe252a9d 100644 --- a/packages/tracking/package.json +++ b/packages/tracking/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/tracking", - "version": "0.2.36", + "version": "0.2.37", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/ui/package.json b/packages/ui/package.json index e24539ee..27d3c430 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/ui", - "version": "0.2.36", + "version": "0.2.37", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/uploader/package.json b/packages/uploader/package.json index a69c5222..79d67ed8 100644 --- a/packages/uploader/package.json +++ b/packages/uploader/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/uploader", - "version": "0.2.36", + "version": "0.2.37", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/validation/package.json b/packages/validation/package.json index c3a3b9c0..d9587f42 100644 --- a/packages/validation/package.json +++ b/packages/validation/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/validation", - "version": "0.2.36", + "version": "0.2.37", "private": true, "type": "module", "main": "src/index.ts", diff --git a/update-package-versions.mjs b/update-package-versions.mjs new file mode 100644 index 00000000..5ecbc1e0 --- /dev/null +++ b/update-package-versions.mjs @@ -0,0 +1,63 @@ +import { existsSync, readdirSync, readFileSync, writeFileSync } from "node:fs"; +import { join } from "node:path"; + +const version = "0.2.37"; + +const dependencyGroups = [ + "dependencies", + "devDependencies", + "peerDependencies", + "optionalDependencies", +]; + +for (const entry of readdirSync("packages", { + withFileTypes: true, +})) { + if (!entry.isDirectory()) { + continue; + } + + const packageFile = join("packages", entry.name, "package.json"); + + if (!existsSync(packageFile)) { + continue; + } + + const packageJson = JSON.parse(readFileSync(packageFile, "utf8")); + + packageJson.version = version; + + for (const group of dependencyGroups) { + const dependencies = packageJson[group]; + + if (!dependencies || typeof dependencies !== "object") { + continue; + } + + for (const dependencyName of Object.keys(dependencies)) { + if (!dependencyName.startsWith("@wrnexus/")) { + continue; + } + + const currentVersion = dependencies[dependencyName]; + + if (typeof currentVersion !== "string") { + continue; + } + + if (currentVersion.startsWith("workspace:")) { + continue; + } + + if (currentVersion.startsWith("^")) { + dependencies[dependencyName] = `^${version}`; + } else if (currentVersion.startsWith("~")) { + dependencies[dependencyName] = `~${version}`; + } else { + dependencies[dependencyName] = version; + } + } + } + + writeFileSync(packageFile, `${JSON.stringify(packageJson, null, 2)}\n`); +}