From 1065b1d849157fe11c3c1c1505f7bd01b68a3ef3 Mon Sep 17 00:00:00 2001 From: infosave2007 Date: Wed, 15 Apr 2026 20:26:48 +0300 Subject: [PATCH] feat: enhance AWG2 support with additional parameters and backward compatibility improvements --- .gitignore | 2 + inc/InstallProtocolManager.php | 6 +- inc/QrUtil.php | 72 +++++- inc/VpnClient.php | 183 ++++++++++----- .../064_complete_awg2_original_params.sql | 211 ++++++++++++++++++ Снимок экрана 2026-04-15 в 11.15.59.png | Bin 0 -> 101287 bytes 6 files changed, 413 insertions(+), 61 deletions(-) create mode 100644 migrations/064_complete_awg2_original_params.sql create mode 100644 Снимок экрана 2026-04-15 в 11.15.59.png diff --git a/.gitignore b/.gitignore index 4c5b09e..e1e4c28 100644 --- a/.gitignore +++ b/.gitignore @@ -74,3 +74,5 @@ scripts/fix_server_visibility.sh scripts/remote_fix_client_create.sh scripts/retest_client_api.sh scripts/awg2_retest_final.sh +migrations/065_aivpn_prebuilt.sql +migrations/069_fix_aivpn_prebuilt_binary.sql diff --git a/inc/InstallProtocolManager.php b/inc/InstallProtocolManager.php index c5c9576..e34c1a3 100644 --- a/inc/InstallProtocolManager.php +++ b/inc/InstallProtocolManager.php @@ -356,7 +356,7 @@ class InstallProtocolManager $awgParams = $result['awg_params'] ?? null; if (!is_array($awgParams)) { $flat = []; - foreach (['Jc', 'Jmin', 'Jmax', 'S1', 'S2', 'S3', 'S4', 'H1', 'H2', 'H3', 'H4'] as $k) { + foreach (['Jc', 'Jmin', 'Jmax', 'S1', 'S2', 'S3', 'S4', 'H1', 'H2', 'H3', 'H4', 'I1', 'I2', 'I3', 'I4', 'I5'] as $k) { if (array_key_exists($k, $result) && $result[$k] !== '' && $result[$k] !== null) { $flat[$k] = $result[$k]; } @@ -1037,7 +1037,7 @@ class InstallProtocolManager private static function parseWireGuardConfig(string $config): array { $lines = preg_split('/\r?\n/', $config); - $awgKeys = ['Jc', 'Jmin', 'Jmax', 'S1', 'S2', 'S3', 'S4', 'H1', 'H2', 'H3', 'H4']; + $awgKeys = ['Jc', 'Jmin', 'Jmax', 'S1', 'S2', 'S3', 'S4', 'H1', 'H2', 'H3', 'H4', 'I1', 'I2', 'I3', 'I4', 'I5']; $awgParams = []; $listenPort = null; @@ -1333,7 +1333,7 @@ class InstallProtocolManager $resolvedAwgParams = $res['awg_params'] ?? null; if (!is_array($resolvedAwgParams)) { $candidate = []; - foreach (['Jc', 'Jmin', 'Jmax', 'S1', 'S2', 'H1', 'H2', 'H3', 'H4'] as $k) { + foreach (['Jc', 'Jmin', 'Jmax', 'S1', 'S2', 'S3', 'S4', 'H1', 'H2', 'H3', 'H4', 'I1', 'I2', 'I3', 'I4', 'I5'] as $k) { if (array_key_exists($k, $res)) { $candidate[$k] = $res[$k]; } diff --git a/inc/QrUtil.php b/inc/QrUtil.php index 2eef62e..c720ec3 100644 --- a/inc/QrUtil.php +++ b/inc/QrUtil.php @@ -74,12 +74,36 @@ class QrUtil return self::urlsafe_b64_encode($header . $compressed); } - public static function encodeOldPayloadFromConf(string $confText): string + public static function encodeOldPayloadFromConf(string $confText, string $protocolSlug = ''): string { - $payload = self::buildOldEnvelopeFromConf($confText); + // For AWG2, use simple format: header + plain config text (like real Amnezia app) + // For other protocols, use the old JSON+compression format for backward compatibility + if ($protocolSlug === 'awg2') { + return self::encodeSimpleConf($confText); + } + + // Old format for backward compatibility with regular AWG + $payload = self::buildOldEnvelopeFromConf($confText, $protocolSlug); return self::encodeOldPayloadFromJson(json_encode($payload, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT)); } + /** + * Encode config in simple format used by real Amnezia app for AWG2: + * Header (8 bytes): version (4) + length (4) + config text + * No compression, no JSON wrapper + * + * Note: In real app, bytes 8-11 contain first 4 bytes of config text, + * not a separate field. So header is only 8 bytes. + */ + private static function encodeSimpleConf(string $confText): string + { + $version = 0x07C00100; // Amnezia magic version number + $length = strlen($confText); + + $header = pack('N2', $version, $length); + return self::urlsafe_b64_encode($header . $confText); + } + private static function resolveServerDescription(?string $endpointHost): string { $desc = (string) ($endpointHost ?? ''); @@ -181,11 +205,18 @@ class QrUtil 'H2' => null, 'H3' => null, 'H4' => null, + 'I1' => null, + 'I2' => null, + 'I3' => null, + 'I4' => null, + 'I5' => null, 'Jc' => null, 'Jmin' => null, 'Jmax' => null, 'S1' => null, 'S2' => null, + 'S3' => null, + 'S4' => null, ]; foreach (explode("\n", $conf) as $line) { $line = trim($line); @@ -203,11 +234,18 @@ class QrUtil 'H2' => (string) ($params['H2'] ?? ''), 'H3' => (string) ($params['H3'] ?? ''), 'H4' => (string) ($params['H4'] ?? ''), + 'I1' => (string) ($params['I1'] ?? ''), + 'I2' => (string) ($params['I2'] ?? ''), + 'I3' => (string) ($params['I3'] ?? ''), + 'I4' => (string) ($params['I4'] ?? ''), + 'I5' => (string) ($params['I5'] ?? ''), 'Jc' => (string) ($params['Jc'] ?? ''), 'Jmax' => (string) ($params['Jmax'] ?? ''), 'Jmin' => (string) ($params['Jmin'] ?? ''), 'S1' => (string) ($params['S1'] ?? ''), 'S2' => (string) ($params['S2'] ?? ''), + 'S3' => (string) ($params['S3'] ?? ''), + 'S4' => (string) ($params['S4'] ?? ''), 'allowed_ips' => $allowedIps ?: ['0.0.0.0/0', '::/0'], 'clientId' => $clientPubKey ?: '', 'client_ip' => preg_replace('/\/(\d{1,2})$/', '', (string) ($address ?? '')), @@ -249,7 +287,7 @@ class QrUtil return $vars; } - private static function buildOldEnvelopeFromConf(string $conf): array + private static function buildOldEnvelopeFromConf(string $conf, string $protocolSlug = ''): array { $endpointHost = null; $endpointPort = null; @@ -327,11 +365,18 @@ class QrUtil 'H2' => null, 'H3' => null, 'H4' => null, + 'I1' => null, + 'I2' => null, + 'I3' => null, + 'I4' => null, + 'I5' => null, 'Jc' => null, 'Jmin' => null, 'Jmax' => null, 'S1' => null, 'S2' => null, + 'S3' => null, + 'S4' => null, ]; foreach (explode("\n", $conf) as $line) { $line = trim($line); @@ -349,11 +394,18 @@ class QrUtil 'H2' => (string) ($params['H2'] ?? ''), 'H3' => (string) ($params['H3'] ?? ''), 'H4' => (string) ($params['H4'] ?? ''), + 'I1' => (string) ($params['I1'] ?? ''), + 'I2' => (string) ($params['I2'] ?? ''), + 'I3' => (string) ($params['I3'] ?? ''), + 'I4' => (string) ($params['I4'] ?? ''), + 'I5' => (string) ($params['I5'] ?? ''), 'Jc' => (string) ($params['Jc'] ?? ''), 'Jmax' => (string) ($params['Jmax'] ?? ''), 'Jmin' => (string) ($params['Jmin'] ?? ''), 'S1' => (string) ($params['S1'] ?? ''), 'S2' => (string) ($params['S2'] ?? ''), + 'S3' => (string) ($params['S3'] ?? ''), + 'S4' => (string) ($params['S4'] ?? ''), 'allowed_ips' => $allowedIps ?: ['0.0.0.0/0', '::/0'], 'clientId' => $clientPubKey ?: '', 'client_ip' => preg_replace('/\/(\d{1,2})$/', '', (string) ($address ?? '')), @@ -388,11 +440,19 @@ class QrUtil 'last_config' => json_encode($lastConfigObj, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT), 'port' => (string) $endpointPort, 'transport_proto' => 'udp', - ], - 'container' => 'amnezia-awg', + ] + ($protocolSlug === 'awg2' ? [ + 'I1' => (string) ($params['I1'] ?? ''), + 'I2' => (string) ($params['I2'] ?? ''), + 'I3' => (string) ($params['I3'] ?? ''), + 'I4' => (string) ($params['I4'] ?? ''), + 'I5' => (string) ($params['I5'] ?? ''), + 'S3' => (string) ($params['S3'] ?? ''), + 'S4' => (string) ($params['S4'] ?? ''), + ] : []), + 'container' => $protocolSlug === 'awg2' ? 'amnezia-awg2' : 'amnezia-awg', ], ], - 'defaultContainer' => 'amnezia-awg', + 'defaultContainer' => $protocolSlug === 'awg2' ? 'amnezia-awg2' : 'amnezia-awg', 'description' => $serverDesc, 'dns1' => $dns1, 'dns2' => $dns2, diff --git a/inc/VpnClient.php b/inc/VpnClient.php index abb7b51..705a659 100644 --- a/inc/VpnClient.php +++ b/inc/VpnClient.php @@ -142,26 +142,14 @@ class VpnClient } } + $defaultAwgParams = self::getAwgParamDefaults($slug); + // Add AWG parameters (use UPPERCASE keys internal logic) - foreach (['JC', 'JMIN', 'JMAX', 'S1', 'S2', 'S3', 'S4', 'H1', 'H2', 'H3', 'H4'] as $key) { + foreach (array_keys($defaultAwgParams) as $key) { if (isset($cleanAwgParams[$key])) { $vars[$key] = $cleanAwgParams[$key]; } else { - // Default values for AWG params (Fallback only) - $defaults = [ - 'JC' => 5, - 'JMIN' => 100, - 'JMAX' => 200, - 'S1' => 50, - 'S2' => 100, - 'S3' => 20, - 'S4' => 10, - 'H1' => 1, - 'H2' => 2, - 'H3' => 3, - 'H4' => 4, - ]; - $vars[$key] = $defaults[$key] ?? 0; + $vars[$key] = $defaultAwgParams[$key]; } } @@ -176,6 +164,11 @@ class VpnClient if (!isset($vars['Jmax']) && isset($vars['JMAX'])) { $vars['Jmax'] = (string) $vars['JMAX']; } + foreach (['S1', 'S2', 'S3', 'S4', 'H1', 'H2', 'H3', 'H4', 'I1', 'I2', 'I3', 'I4', 'I5'] as $key) { + if (!isset($vars[$key]) && isset($vars[strtoupper($key)])) { + $vars[$key] = (string) $vars[strtoupper($key)]; + } + } // Generate config from template if ($protoRow && !empty($protoRow['output_template'])) { @@ -190,12 +183,13 @@ class VpnClient $serverData['preshared_key'], $serverData['host'], $serverData['vpn_port'], - is_array($awgParams) ? $awgParams : [] + is_array($awgParams) ? $awgParams : [], + $slug ); } self::addClientToServer($serverData, $keys['public'], $clientIP); - $qrCode = self::generateQRCode($config); + $qrCode = self::generateQRCode($config, $slug); $priv = $keys['private']; $pub = $keys['public']; $psk = $serverData['preshared_key']; @@ -501,7 +495,7 @@ class VpnClient $vars['last_config_json'] = json_encode($decoded, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); } - $qrCode = self::generateQRCode($config); + $qrCode = self::generateQRCode($config, $slug); $priv = ''; $pub = ''; @@ -636,7 +630,8 @@ class VpnClient $presharedKey, $serverData['host'], (int) $serverData['vpn_port'], - $awgParams + $awgParams, + (string) ($serverData['install_protocol'] ?? '') ); } @@ -654,7 +649,7 @@ class VpnClient $vars['last_config_json'] = json_encode($decoded, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); } - $qrCode = $config !== '' ? self::generateQRCode($config) : ''; + $qrCode = $config !== '' ? self::generateQRCode($config, $serverData['install_protocol'] ?? '') : ''; $status = strtolower($clientData['status'] ?? 'active') === 'disabled' ? 'disabled' : 'active'; $expiresAt = $clientData['expires_at'] ?? null; @@ -784,12 +779,50 @@ class VpnClient /** * Auto-sync server keys from running container (for externally installed protocols) */ + private static function getAwgParamDefaults(string $protocolSlug = ''): array + { + if ($protocolSlug === 'awg2') { + return [ + 'JC' => 5, + 'JMIN' => 10, + 'JMAX' => 50, + 'S1' => 51, + 'S2' => 125, + 'S3' => 13, + 'S4' => 9, + 'H1' => '1443912531-1981073285', + 'H2' => '1984025557-2135018048', + 'H3' => '2145217268-2146643749', + 'H4' => '2146790761-2146860793', + 'I1' => '', + 'I2' => '', + 'I3' => '', + 'I4' => '', + 'I5' => '', + ]; + } + + return [ + 'JC' => 5, + 'JMIN' => 100, + 'JMAX' => 200, + 'S1' => 50, + 'S2' => 100, + 'S3' => 20, + 'S4' => 10, + 'H1' => 1, + 'H2' => 2, + 'H3' => 3, + 'H4' => 4, + ]; + } + private static function extractAwgParamsFromWg0Conf(VpnServer $server, string $containerName, string $confPath): array { $awgParams = []; $awgLinesCmd = sprintf( - "docker exec %s sh -c \"grep -E '^[[:space:]]*(Jc|Jmin|Jmax|S1|S2|S3|S4|H1|H2|H3|H4)[[:space:]]*=' %s 2>/dev/null || true\"", + "docker exec %s sh -c \"grep -E '^[[:space:]]*(Jc|Jmin|Jmax|S1|S2|S3|S4|H1|H2|H3|H4|I1|I2|I3|I4|I5)[[:space:]]*=' %s 2>/dev/null || true\"", escapeshellarg($containerName), escapeshellarg($confPath) ); @@ -800,9 +833,10 @@ class VpnClient if ($line === '') { continue; } - if (preg_match('/^(Jc|Jmin|Jmax|S1|S2|S3|S4|H1|H2|H3|H4)\s*=\s*(\d+)\s*$/i', $line, $m)) { + if (preg_match('/^(Jc|Jmin|Jmax|S1|S2|S3|S4|H1|H2|H3|H4|I1|I2|I3|I4|I5)\s*=\s*(.*)$/i', $line, $m)) { $k = strtoupper($m[1]); - $awgParams[$k] = (int) $m[2]; + $value = trim($m[2]); + $awgParams[$k] = ctype_digit($value) ? (int) $value : $value; } } @@ -911,10 +945,18 @@ class VpnClient // Legacy attempt: some builds print jc/jmin/... in `wg show` output. $wgShowCmd = "docker exec $containerName wg show wg0 2>/dev/null"; $wgOutput = (string) $server->executeCommand($wgShowCmd, true); - $paramNames = ['jc', 'jmin', 'jmax', 's1', 's2', 's3', 's4', 'h1', 'h2', 'h3', 'h4']; + $paramNames = ['jc', 'jmin', 'jmax', 's1', 's2', 's3', 's4', 'h1', 'h2', 'h3', 'h4', 'i1', 'i2', 'i3', 'i4', 'i5']; foreach ($paramNames as $param) { - if (preg_match('/^\s*' . preg_quote($param, '/') . ':\s*(\d+)/mi', $wgOutput, $matches)) { - $awgParams[strtoupper($param)] = (int) $matches[1]; + // For H1-H4 parameters, expect format like "1443912531-1981073285" (two values with dash) + // For other parameters, expect single integer value + if (in_array($param, ['h1', 'h2', 'h3', 'h4'], true)) { + if (preg_match('/^\s*' . preg_quote($param, '/') . ':\s*(\d+-\d+)/mi', $wgOutput, $matches)) { + $awgParams[strtoupper($param)] = $matches[1]; + } + } else { + if (preg_match('/^\s*' . preg_quote($param, '/') . ':\s*(\d+)/mi', $wgOutput, $matches)) { + $awgParams[strtoupper($param)] = (int) $matches[1]; + } } } @@ -962,24 +1004,60 @@ class VpnClient string $presharedKey, string $serverHost, int $serverPort, - array $awgParams + array $awgParams, + string $protocolSlug = '' ): string { + // Get default parameters for the protocol + $defaultParams = self::getAwgParamDefaults($protocolSlug); + + // Normalize $awgParams keys to uppercase for consistency + $normalizedAwgParams = []; + foreach ($awgParams as $k => $v) { + $normalizedAwgParams[strtoupper($k)] = $v; + } + + // Merge: use server params only if they have correct format, otherwise use defaults + // This is critical for H1-H4 which must have "value1-value2" format + $finalParams = $defaultParams; + foreach ($normalizedAwgParams as $key => $value) { + $upperKey = strtoupper($key); + + // For H1-H4 parameters, only use server value if it has the correct "value1-value2" format + if (in_array($upperKey, ['H1', 'H2', 'H3', 'H4'], true)) { + if (is_string($value) && preg_match('/^\d+-\d+$/', $value)) { + $finalParams[$upperKey] = $value; + } + // Otherwise keep the default value + } else { + // For other parameters, use server value if present + $finalParams[$upperKey] = $value; + } + } + $config = "[Interface]\n"; - $config .= "PrivateKey = {$privateKey}\n"; $config .= "Address = {$clientIP}/32\n"; $config .= "DNS = 1.1.1.1, 1.0.0.1\n"; + $config .= "PrivateKey = {$privateKey}\n"; - // Add AWG parameters - foreach (['Jc', 'Jmin', 'Jmax', 'S1', 'S2', 'S3', 'S4', 'H1', 'H2', 'H3', 'H4'] as $key) { - if (isset($awgParams[$key])) { - $config .= "{$key} = {$awgParams[$key]}\n"; - continue; + // Add AWG parameters (in the order used by Amnezia app) + // For awg2 include I1-I5, S3, S4; for regular awg only H1-H4, Jc, Jmin, Jmax, S1, S2 + // Order: Jc, Jmin, Jmax, S1, S2, S3, S4, H1, H2, H3, H4, I1, I2, I3, I4, I5 + $paramKeys = ['Jc', 'Jmin', 'Jmax', 'S1', 'S2', 'S3', 'S4', 'H1', 'H2', 'H3', 'H4']; + if ($protocolSlug === 'awg2') { + $paramKeys = array_merge($paramKeys, ['I1', 'I2', 'I3', 'I4', 'I5']); + } + + foreach ($paramKeys as $key) { + $value = null; + if (isset($finalParams[$key])) { + $value = $finalParams[$key]; + } elseif (isset($finalParams[strtoupper($key)])) { + $value = $finalParams[strtoupper($key)]; } - - // Accept uppercase keys too (JC/JMIN/JMAX/...) - $alt = strtoupper($key); - if (isset($awgParams[$alt])) { - $config .= "{$key} = {$awgParams[$alt]}\n"; + + // Always add parameter if it's defined (even if empty for I2-I5) + if ($value !== null) { + $config .= "{$key} = {$value}\n"; } } @@ -1122,7 +1200,7 @@ class VpnClient * Generate QR code for configuration using Amnezia format * Uses working QrUtil from /Users/oleg/Documents/amnezia */ - private static function generateQRCode(string $config): string + private static function generateQRCode(string $config, string $protocolSlug = ''): string { require_once __DIR__ . '/QrUtil.php'; @@ -1158,8 +1236,8 @@ class VpnClient } // Fallback for WireGuard / default - // Use old Amnezia format with Qt/QDataStream encoding - $payloadOld = QrUtil::encodeOldPayloadFromConf($config); + // Use old Amnezia format with Qt/QDataStream encoding, but pass protocol slug + $payloadOld = QrUtil::encodeOldPayloadFromConf($config, $protocolSlug); $dataUri = QrUtil::pngBase64($payloadOld); return $dataUri; } catch (Throwable $e) { @@ -1484,7 +1562,7 @@ class VpnClient // by duplicating them into canonical uppercase AWG keys. foreach ($awgParams as $k => $v) { $uk = strtoupper((string) $k); - if (in_array($uk, ['JC', 'JMIN', 'JMAX', 'S1', 'S2', 'S3', 'S4', 'H1', 'H2', 'H3', 'H4'], true) && !isset($awgParams[$uk])) { + if (in_array($uk, ['JC', 'JMIN', 'JMAX', 'S1', 'S2', 'S3', 'S4', 'H1', 'H2', 'H3', 'H4', 'I1', 'I2', 'I3', 'I4', 'I5'], true) && !isset($awgParams[$uk])) { $awgParams[$uk] = $v; } } @@ -1524,12 +1602,7 @@ class VpnClient } } - if (!isset($awgParams['S3'])) { - $awgParams['S3'] = 0; - } - if (!isset($awgParams['S4'])) { - $awgParams['S4'] = 0; - } + $awgParams = array_merge(self::getAwgParamDefaults($slug), $awgParams); // Still missing? Refuse to overwrite config with template defaults. foreach ($needKeys as $k) { @@ -1567,7 +1640,7 @@ class VpnClient 'dns_servers' => (string) ($serverData['dns_servers'] ?? '1.1.1.1, 1.0.0.1'), ]; - foreach (['JC', 'JMIN', 'JMAX', 'S1', 'S2', 'S3', 'S4', 'H1', 'H2', 'H3', 'H4'] as $key) { + foreach (array_keys(self::getAwgParamDefaults($slug)) as $key) { if (isset($awgParams[$key])) { $vars[$key] = $awgParams[$key]; } @@ -1582,6 +1655,11 @@ class VpnClient if (!isset($vars['Jmax']) && isset($vars['JMAX'])) { $vars['Jmax'] = (string) $vars['JMAX']; } + foreach (['S1', 'S2', 'S3', 'S4', 'H1', 'H2', 'H3', 'H4', 'I1', 'I2', 'I3', 'I4', 'I5'] as $key) { + if (!isset($vars[$key]) && isset($vars[strtoupper($key)])) { + $vars[$key] = (string) $vars[strtoupper($key)]; + } + } if ($protoRow && !empty($protoRow['output_template'])) { require_once __DIR__ . '/ProtocolService.php'; @@ -1594,11 +1672,12 @@ class VpnClient $presharedKeyForConfig, (string) ($serverData['host'] ?? ''), (int) ($serverData['vpn_port'] ?? 0), - $awgParams + $awgParams, + $slug ); } - $qrCode = self::generateQRCode($config); + $qrCode = self::generateQRCode($config, $slug); $pdo = DB::conn(); $stmt = $pdo->prepare('UPDATE vpn_clients SET config = ?, qr_code = ?, preshared_key = ? WHERE id = ?'); diff --git a/migrations/064_complete_awg2_original_params.sql b/migrations/064_complete_awg2_original_params.sql new file mode 100644 index 0000000..2d38b92 --- /dev/null +++ b/migrations/064_complete_awg2_original_params.sql @@ -0,0 +1,211 @@ +-- Complete AWG2 support with original Amnezia parameters, including I1-I5. + +UPDATE protocols +SET output_template = '[Interface] +Address = {{client_ip}}/32 +DNS = {{dns_servers}} +PrivateKey = {{private_key}} +Jc = {{Jc}} +Jmin = {{Jmin}} +Jmax = {{Jmax}} +S1 = {{S1}} +S2 = {{S2}} +S3 = {{S3}} +S4 = {{S4}} +H1 = {{H1}} +H2 = {{H2}} +H3 = {{H3}} +H4 = {{H4}} +I1 = {{I1}} +I2 = {{I2}} +I3 = {{I3}} +I4 = {{I4}} +I5 = {{I5}} + +[Peer] +PublicKey = {{server_public_key}} +PresharedKey = {{preshared_key}} +AllowedIPs = 0.0.0.0/0, ::/0 +Endpoint = {{server_host}}:{{server_port}} +PersistentKeepalive = 25', + install_script = '#!/bin/bash +set -euo pipefail + +CONTAINER_NAME="${SERVER_CONTAINER:-amnezia-awg2}" +PORT_RANGE_START=${PORT_RANGE_START:-30000} +PORT_RANGE_END=${PORT_RANGE_END:-65000} +VPN_PORT="${SERVER_PORT:-$((RANDOM % (PORT_RANGE_END - PORT_RANGE_START + 1) + PORT_RANGE_START))}" +MTU=${MTU:-1280} + +if ! command -v git &> /dev/null; then + apt-get update -qq && apt-get install -y -qq git >/dev/null 2>&1 +fi + +mkdir -p /opt/amnezia/awg2 + +if [ ! -d /opt/amnezia/awg2/src ]; then + git clone --depth=1 https://github.com/amnezia-vpn/amneziawg-go.git /opt/amnezia/awg2/src +fi + +docker build --no-cache -t amnezia-awg2 /opt/amnezia/awg2/src + +EXISTING=$(docker ps -aq -f "name=$CONTAINER_NAME" 2>/dev/null | head -1) +if [ -z "$EXISTING" ]; then + docker run -d --name "$CONTAINER_NAME" --restart always --cap-add=NET_ADMIN --device /dev/net/tun -p "${VPN_PORT}:${VPN_PORT}/udp" -v /opt/amnezia/awg2:/opt/amnezia/awg amnezia-awg2 sh -c "while [ ! -f /opt/amnezia/awg/wg0.conf ]; do sleep 1; done; WG_QUICK_USERSPACE_IMPLEMENTATION=amneziawg-go awg-quick up /opt/amnezia/awg/wg0.conf && sleep infinity" + sleep 2 +else + STATUS=$(docker inspect --format="{{.State.Status}}" "$CONTAINER_NAME" 2>/dev/null || echo "") + if [ "$STATUS" != "running" ]; then + docker start "$CONTAINER_NAME" >/dev/null 2>&1 || true + fi +fi + +if [ -f /opt/amnezia/awg2/wg0.conf ]; then + PORT=$(grep -E "^ListenPort" /opt/amnezia/awg2/wg0.conf | cut -d= -f2 | tr -d "[:space:]") + PSK=$(cat /opt/amnezia/awg2/wireguard_psk.key 2>/dev/null || true) + if [ -z "$PSK" ]; then + PSK=$(grep -E "^PresharedKey" /opt/amnezia/awg2/wg0.conf | cut -d= -f2 | tr -d "[:space:]") + fi + PUBKEY=$(cat /opt/amnezia/awg2/wireguard_server_public_key.key 2>/dev/null || true) + if [ -z "$PUBKEY" ]; then + PRIVKEY=$(cat /opt/amnezia/awg2/wireguard_server_private_key.key 2>/dev/null || true) + if [ -n "$PRIVKEY" ]; then + PUBKEY=$(echo "$PRIVKEY" | docker exec -i "$CONTAINER_NAME" wg pubkey) + fi + fi + + echo "Using existing AmneziaWG 2.0 configuration" + echo "Port: ${PORT:-$VPN_PORT}" + if [ -n "${PUBKEY:-}" ]; then echo "Server Public Key: $PUBKEY"; fi + if [ -n "${PSK:-}" ]; then echo "PresharedKey = $PSK"; fi + + EXTERNAL_IP=$(curl -s -4 ifconfig.me 2>/dev/null || curl -s -4 icanhazip.com 2>/dev/null || echo "YOUR_SERVER_IP") + echo "Server Host: $EXTERNAL_IP" + + for P in Jc Jmin Jmax S1 S2 S3 S4 H1 H2 H3 H4 I1 I2 I3 I4 I5; do + VAL=$(sed -n -E "s/^[[:space:]]*$P[[:space:]]*=[[:space:]]*//p" /opt/amnezia/awg2/wg0.conf | head -1 | tr -d "\r") + if [ -n "$VAL" ] || [[ "$P" =~ ^I[2-5]$ ]]; then echo "Variable: $P=$VAL"; fi + done + echo "Variable: dns_servers=1.1.1.1, 1.0.0.1" + exit 0 +fi + +PRIVATE_KEY=$(docker exec "$CONTAINER_NAME" wg genkey) +PUBLIC_KEY=$(echo "$PRIVATE_KEY" | docker exec -i "$CONTAINER_NAME" wg pubkey) +PRESHARED_KEY=$(docker exec "$CONTAINER_NAME" wg genpsk) + +JC=5 +JMIN=10 +JMAX=50 +S1_VAL=51 +S2_VAL=125 +S3_VAL=13 +S4_VAL=9 +H1_VAL="1443912531-1981073285" +H2_VAL="1984025557-2135018048" +H3_VAL="2145217268-2146643749" +H4_VAL="2146790761-2146860793" +I1_VAL="" +I2_VAL="" +I3_VAL="" +I4_VAL="" +I5_VAL="" + +{ +echo "[Interface]" +echo "PrivateKey = $PRIVATE_KEY" +echo "Address = 10.8.1.1/24" +echo "ListenPort = $VPN_PORT" +echo "Jc = $JC" +echo "Jmin = $JMIN" +echo "Jmax = $JMAX" +echo "S1 = $S1_VAL" +echo "S2 = $S2_VAL" +echo "S3 = $S3_VAL" +echo "S4 = $S4_VAL" +echo "H1 = $H1_VAL" +echo "H2 = $H2_VAL" +echo "H3 = $H3_VAL" +echo "H4 = $H4_VAL" +echo "I1 = $I1_VAL" +echo "PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE" +echo "PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE" +} > /opt/amnezia/awg2/wg0.conf + +echo "$PRIVATE_KEY" > /opt/amnezia/awg2/wireguard_server_private_key.key +echo "$PUBLIC_KEY" > /opt/amnezia/awg2/wireguard_server_public_key.key +echo "$PRESHARED_KEY" > /opt/amnezia/awg2/wireguard_psk.key +echo "[]" > /opt/amnezia/awg2/clientsTable + +EXTERNAL_IP=$(curl -s -4 ifconfig.me 2>/dev/null || curl -s -4 icanhazip.com 2>/dev/null || echo "YOUR_SERVER_IP") + +echo "AmneziaWG 2.0 installed successfully" +echo "Port: $VPN_PORT" +echo "Server Public Key: $PUBLIC_KEY" +echo "PresharedKey = $PRESHARED_KEY" +echo "Server Host: $EXTERNAL_IP" +echo "Variable: Jc=$JC" +echo "Variable: Jmin=$JMIN" +echo "Variable: Jmax=$JMAX" +echo "Variable: S1=$S1_VAL" +echo "Variable: S2=$S2_VAL" +echo "Variable: S3=$S3_VAL" +echo "Variable: S4=$S4_VAL" +echo "Variable: H1=$H1_VAL" +echo "Variable: H2=$H2_VAL" +echo "Variable: H3=$H3_VAL" +echo "Variable: H4=$H4_VAL" +echo "Variable: I1=$I1_VAL" +echo "Variable: dns_servers=1.1.1.1, 1.0.0.1"' +WHERE slug = 'awg2'; + +INSERT INTO protocol_variables (protocol_id, variable_name, variable_type, default_value, description, required) +SELECT p.id, 'I1', 'text', '', 'Original AmneziaWG packet template I1', false +FROM protocols p WHERE p.slug = 'awg2' + AND NOT EXISTS (SELECT 1 FROM protocol_variables WHERE protocol_id = p.id AND variable_name = 'I1'); + +INSERT INTO protocol_variables (protocol_id, variable_name, variable_type, default_value, description, required) +SELECT p.id, 'I2', 'text', '', 'Original AmneziaWG packet template I2', false +FROM protocols p WHERE p.slug = 'awg2' + AND NOT EXISTS (SELECT 1 FROM protocol_variables WHERE protocol_id = p.id AND variable_name = 'I2'); + +INSERT INTO protocol_variables (protocol_id, variable_name, variable_type, default_value, description, required) +SELECT p.id, 'I3', 'text', '', 'Original AmneziaWG packet template I3', false +FROM protocols p WHERE p.slug = 'awg2' + AND NOT EXISTS (SELECT 1 FROM protocol_variables WHERE protocol_id = p.id AND variable_name = 'I3'); + +INSERT INTO protocol_variables (protocol_id, variable_name, variable_type, default_value, description, required) +SELECT p.id, 'I4', 'text', '', 'Original AmneziaWG packet template I4', false +FROM protocols p WHERE p.slug = 'awg2' + AND NOT EXISTS (SELECT 1 FROM protocol_variables WHERE protocol_id = p.id AND variable_name = 'I4'); + +INSERT INTO protocol_variables (protocol_id, variable_name, variable_type, default_value, description, required) +SELECT p.id, 'I5', 'text', '', 'Original AmneziaWG packet template I5', false +FROM protocols p WHERE p.slug = 'awg2' + AND NOT EXISTS (SELECT 1 FROM protocol_variables WHERE protocol_id = p.id AND variable_name = 'I5'); + +UPDATE protocol_variables pv +JOIN protocols p ON p.id = pv.protocol_id +SET pv.default_value = CASE pv.variable_name + WHEN 'Jc' THEN '5' + WHEN 'Jmin' THEN '10' + WHEN 'Jmax' THEN '50' + WHEN 'S1' THEN '51' + WHEN 'S2' THEN '125' + WHEN 'S3' THEN '13' + WHEN 'S4' THEN '9' + WHEN 'H1' THEN '1443912531-1981073285' + WHEN 'H2' THEN '1984025557-2135018048' + WHEN 'H3' THEN '2145217268-2146643749' + WHEN 'H4' THEN '2146790761-2146860793' + ELSE pv.default_value +END +WHERE p.slug = 'awg2' + AND pv.variable_name IN ('Jc', 'Jmin', 'Jmax', 'S1', 'S2', 'S3', 'S4', 'H1', 'H2', 'H3', 'H4'); + +-- Fix awg_params for all existing servers using awg2 protocol +-- Problem: H1-H4 parameters were stored with single values instead of "value1-value2" format +-- This was causing QR codes to be detected as "legacy" instead of proper AmneziaWG 2.0 format +UPDATE vpn_servers +SET awg_params = '{"JC":5,"JMIN":10,"JMAX":50,"S1":51,"S2":125,"S3":13,"S4":9,"H1":"1443912531-1981073285","H2":"1984025557-2135018048","H3":"2145217268-2146643749","H4":"2146790761-2146860793","I1":"","I2":"","I3":"","I4":"","I5":""}' +WHERE install_protocol = 'awg2'; \ No newline at end of file diff --git a/Снимок экрана 2026-04-15 в 11.15.59.png b/Снимок экрана 2026-04-15 в 11.15.59.png new file mode 100644 index 0000000000000000000000000000000000000000..3a9f536c9e11e1baa4834ab56050645d55a077e9 GIT binary patch literal 101287 zcmdRWhd-6?|NlW!gzO@O7b$l*HBTp40l65c5p^OAa^4ZlBi6XMp=W_zU9V$CuexY=m>r8 zL4Nma7A5=@os=@;<@3sCPO+5pOjCcLWMC-ED&hqbuiC;WX`(Y9j!-g?AuL6H!ci3H zQ{MPp+ySoB+wDZw{ZHLOI`R+N4w7l_&dgffR3ZQ2(yV7(V2p^v^ViB_h}%C^P|BY z&6nbWHy8UiCy3<848e>ubwXlh*%)Gm75r?xoFN&}2O=xdTy-nfZEwz!5zWgYT zj3bwfp-^9m>h@xSG$i>sf3huy&3lbR&Cp1VWDi!~u~Qx|-`Gh8KXGzdIn(lUG|lHG zuD`wSifRK4(d|zjWbtir(S8skdZy%SX8`1Guz}PaNeHGAa^JE$UZe7=^P6%-k^MVx zaz`bmMRJv`$p>ehpYc7VOmCq&74+ad-NP2;77C5aEIsJ!9b`qfVbD{lpQPZYy@LIJ zotL408SMN0lvt4PuhaHaX}=g2$(w$$Tp;IeIdkf^PXxIhkIr3si7=7N77=IbRABJ) z%+zg4u5jKfVUOT+Ri}kQqB14y#SJNssMEs4ltwb?7RiQaX_b&!;@8OIZ6r;pq@LNe zYQLeRYMojqmtnXUUO6T2!*`$Bq*eWw9FZJN@h7C=m&y7y^7E7-VT*i;XP9jGKHU|G z3%dK7Xo#S2<5gxk59o=w>dTo=B^aSicC<&E4o z{%I6A317dq)X z)}YK$XWQZ#wK{X1a}D*x^wafWg8D2a%(7AFwuGp;D9@-`W@}-Fgck{>nluR&37VLD z&`Cpf!>dB6(8`3mE@4b}g03*$fXg_m@Mr$1qTE7fxNNbTPM$SOsbltXPM1lK!Q^{i zz3T8NIBkKmP;7lzeTHxHSW%dPZNBSJ+z;v>FAJ*+XbXx8$BWbp#r4EZ6mxKDD)v`z z(&?yl`Mepq5@o>YDMeUXlLT5qb=wIkwI_*hv@omc*j#H#;T$=GMPdbt2O#xzbj zHqXR)8?7U4`h~c2$zf;1+QNFmRPOlRsf=-ZQ5eI;&J>f}uF*aoWAQ>U<(hW3_Hgo0 z>eh{$7cSkA%1PPyiFvqelk&ve!T0MqyY`z}*T)@(pU|b=dLxjWl!~tk61^lE!g@RsLAr3;?~UVL;a+TRJK<6f|2$*p8b zJdx@?^%bfx%0x;SjRbw%Y02I&JF0Iuxr2>MGqTgN+n+AKVQQ2lYMkM_qA*)q_py%0 zy?X(BruuBpS(mdpVWQNxF75D42%`;%IcEmXn5nww>dzi_6n4bw;q=t>EcWh?rLV8dEL_%?`C=6%?HolVb>viH^E; zX*Yr6TgfclSNCb*>2M!soEJ_QE71H#@$yq9=Ck{Z6O2)e`%IIJwO8q`psplbp`{*e zm6%F>bTT{H$!+l5fbQLksBG2hf{>w)LxT^ET%(BkDNn}Ys^}s^uUHQx{E5Sg`rl=T zD!d{?h;-O@7^qlqxyI_FCO=om$=6h-!($x4}+}gptZ& zq>Cr^A@=48PHx1rA+YuE%3*;^)8szqN;BI!%?CDfwnXND$(He_M|PH0=vb(Sr^jTb3*0US2KwZMzX%EBo)3bETnVd#u?I@bQe;+{H8b%FmzzA5`*Z$ znVY*zU4N?W^?R<=wHc?t<d*wk7R#TF&|4 zlfF{XvEfofuZN#^EsVx*CqI0Iu#9Rals2Knq2ikRTlmH9Cc#8-}BpIX18T6R^32do&Ua|cO#1uJd}wM;^TLImFXcQGuvO*0jG*o z5c~dRw?*dJ$rq-h-H(}RTC{R6s?~lIAeU5rJYr$zXyS5;Y*iq0wi6iXg!weuaWh@o z->&%T{z6WYm%T;tQFg`&&syNi2O@w>)Ue@7IVxM0L4ZjOf??s=s<+P^cl!0 zGIj_hm?8r&7#YXEr|*zKAryb-lS3fk4vlYtFVZ&ud{V@PL8!ntM)2~< zB>%6q$uXG}|2++sL2etUXlQ^>16wx);)%OG(nHAVH3yh+_UToU}yzy4W@GfA1S?Do>g#2Y2v6 zIGd?DxPWU0jscUBx+ed3{r_Xhe;@Hbwlw{JZuuWe{`W17+!1anNEdKO57>X-u74f& zKNtRMLwRx1ng7R?_~$bJoeQorj9Om&-}ekg9q(zO2yWvg2UT4|@Ch0j>5ohkyg~o@ zBu#(f^sZC_1WO5`p?cfUhwOJ6DwBKW$Jf$feZw<(EKUsUTKU`60yRU%de0-O6VDjk z;>Y}yOf2+|<PCNw!r!I^{LOlm0ys)(R^!n{?5JQj^qXT z1=Qm|dkTHuynEjw-rY-+3!G#=QKrax_Fc*T^3C(?XJ|uCD^t)qK6nSg&^n5Rg@SMY zu`uE^IlNu@pOyYS+dcuztkkaqj8 zWB>oKTXR~dfbQ|Nstf<~H(%p)dH`6g%a0#ana&CO51;vus=9qNl^*+R}%x9N=oTiqQpLucP!C6bc)#^|ykAAhNli0vRl`#&Ns@Kzl z7o?xOz2vn#bk^9?_i*E@*2((R=Y;!stbd-u(_cz$+=>B>Ro-}i@3suPbX4xquV8wi z04v)*gRhNRx`z9K+eOxA=jsWk{r8vN^H%IH7YV2#n~%Jv#H+q57Y5?}cN2Cf z=;bqsR9rrpRdr9~kl4M)vhtf9d^Tq-A15P1US7DayixSzZQ${q1V3g^8s}pxE5A}) z`QWVo_79WL*Gx}hP~0gfOo2ayA61agG7rbdWQ--KUK!4I6YoX;{#8Q z25{iW%*|R!VguNjm$#S|OUuDWR7YhWELA}0=+-m5Ze4-{IJa(5mXiT3@q``j6QX+CF1yiM z!|mYHodqACtTnE42M}#!C!9)~9rR{bKWMFp08h&RJ-FqaH zzy7{JBEjQ^QpRHrf!CI zX{Qs18`iK5FNZKCG_4B-eWPjuQvvMQq{D{q|Bd>GmkVyD89vpLb`bmn~%3k-F}u>NSlT( z8t5wUy9t+6#l=x&(sIffZp6w=pK-|WT`q`<p>{`vr1@ei{E_7j5Q2_J7P zY~MaTe~bHR3z>4X`BS1q*{|m`R~JCD+6_I);XZ#FtUob)Zm>=s@L{+*Tmm{TyLfMQ9zuo`BT3l zbUfkSC%PJ|cx<}iAkw(r>P8&4Kz=IJqN3*#ISS|U&5z@dcob1pGN*smGqW8uJ^>Q~ z*o41S2!hZTol7Qz4$6_5gO=G7NEZZy7}g&3U+Ccsk|;@rV91~r#&;l^O^W1jNB^4> z)Jn<5mZMY_rqDs(b4nM3B$^}!CMpiZ6toNsAYE0D$>FCnoy{(iLAQ_3C>3n?KNW@` z%smm@&fp;b+XfI#U2!rf1-zy>27>Vo*Y*x_1D7+Y`9Vqb@Iau(t?HL@%TQS+Eb48I zNao>2Y@mpWi=kkDycOmbI6u*u$7!C%_bij9om97YT2;x$^GA1ae!8lEns%*JLycEe zBE_d4r@FlBt^C5Mb$9%ZOY_!%R;%Lt8(YlbZu5!1gN3z1$kTN7()Gwc0Sjr~56*6* zp&NUZ*hj>Q<7u{LIDxcUf>(0@7&ZD&!-R+5e{|&T(vccf73;rqqqL$+sI?Z`B#tF! zuV(}vqqg6dV@K}0>$EL+|MJ#L^JHHssZHPNy@f0{FV_-ps_H0h-0X53KFf6VZYtDS z&MwtON_N6yP{&44?(w$^4uKnOY*A~HXCB)q@GY#~Lf;rMv*T0^t?26v$dp^T`LkKd z{#Tc9DMoMDdpwoe-vVC?#&i9!3DEmHvxv|>*@d@-_;K%BzsrI?>lniTM!^fY;Wd`RfKk&}}0r;%{aA&@u~9@V^DSfuIK$)9A1F1>zoNYG*% z)sdI&7H?Qf_nAJM-1<1&hWkU!nBy{YG4hYNN3TS;h+D@I3vBCM>XW$7Cx;7)Wg(k~ zWzAY<+?wel0vYIvl;$S(NAch++=m34-C>~JQNSOY_&~Z`R5?wxzti3(Lj=2#TGu1m zYB<+NGH9i_gCjL)ffWd~Q<*~t59=%8aU(I(=0^)v{?XDma3M0bW;FaWV<}coKT*0- zXE(`m_fJARh+HLO${ILT5egh?%JyOvt2nMPQcjIa(_?p~w3)6*Y>syD4r+uGvv}Bi za-cZ1`7ZT*K}Z{ihf&Z#1GGe96t$9>bCZugE?5+Fa$8al-vBpeFlA%M(!AdF z?_e_egNe1PSZZut28KGR#CSE?4-#iBHDf+JMQ?f;#sB^lpSpeag)UCRvzp@u*vk(x zXyBD7!DYv|;q1N`U7W+@xAmYndnLy+?|&G+ji#UccB8NOv=JqAgD2Fag9%;{-7 z*J?soP&|K;0yn}n72sN}WaNPdML#~K-3y&U^{PbIEvN_AYLb1ySFvc&erlI1|gvrOg zmeQ_pMm!pO?s{MjGv38Q5DJ<5S)L8xgRcW+W^vvpFzSz}LAuQMFI6!HxvA-a={Yk- z+J4a7swp!si9`vS`}WgxomEPahw+U}(4e@;a|^s?HNHSbQe%c`1ju+1uGRooZluWxV`Mc&fQaS^#Ptehx~ zrx9gbWvbT zA)|rGSuVa2dF)y~{qd+#mi#IIQA83;nvmd#)xk@49L4E#cdfz^_g2htT$zWzEBj{k z?K1qm{5ol?b!DbbUG(1SS1;PQ(HJTL$up;~10}FdNazZ{TP1*FRfn`lxxmdWVA7yV zNdH&I5@-GaMmpgukhwCOYzDLyTowYP7;Q$RST2?0lq7t!Z->o=DpRDeVBZZK zZ2#=vVHH6dR{3BkC;wBKmw2hqDw$cZabBgL+j^XJ#eCk_ubfgX?Q0=0BXR zyG_q2$DEk0s$rfX&yR5sY4}|+kj;A2QZ<=L^h`#|pP@5h^wrgoQwH&z)|^CD0WrWE z%0i|G$@ARH+gRg2rz`li3aJ**x&$XgT&-CNm41AXJ@aFe3s95$;W0IByW#fQe&s{3 zTG&%n0j8#2nTk_C@zLgAV-MNwpv$E(!j|d%=e_`R$scFVJDb{AE-E+xauy+YD>A}P&{m$g`;wTz z`Y3Xzo8pLTdnZkxFQ9Uir7XxI`Y{gsc_2JAo=|}|PrV9iE35825>w;3)K&(cKa{vp zNRN1FF0?`is_5dtz8i{~4nSsYfO)OR;qSH?LB~ykV7vv}NS$T>40qR91$aZ&d=DyFMbK$pslYeGH}!JyW82fVV^E~-unT{reD;(>3DDSX1b&Ml?&UgN0Ds4(7}W`6&eVjZ`Twu@W8^ z1K{Ai(|a(_HJs&sfngi^b2xpHipA?Qc%2~0O>h>~KU6kE?ywHplcJ$M=AASExArbRr znzJJOMXjLQxipOB=>!;yG@t}TEkIetRve93TlfCR{e5WEU5PLIzR-iW_o75viDW)9 zQ|hgR4_GJq9?)qO9}RqB;}WOOS5RbK@*J@=@w7pSI$pPXY6|_V+-VNK3CYt}Z;%8% z$cV%@*b=a;ROVvQC%fVf{Shc zRU0YbzD|5?^dv^wAl9mECY;NV(HJXxwLy#>MyE7dwrnnW4Xp3~e_fxnTg>+NexbQX zYz{jzXlUiw8@EeAZc$VRmBbtux2b{v?X{rU`;aO-lk|4TjehgBe5ziZZG`Ji7% zbku)?68XpEZ}I#VMf#9v0AoY%ub{Y;&hNjc?Pq;zMjyx9+~~O(&u%5<^4-iXjeo}F zCReqN3-6>x{MAVG$Op?GD2GNMX1JN&>|>n~;pd*13g>>(5a*JugZEu2d8DWpGJ8wK z{@a`DZuW%U*M0qWlGnicyt-9fg!NnN4K01qo9UjzW@?y?7Y$Qk9J5b>_!P{)wU`sj zsu{{Bx4~b&$GTLD@x1HeIBs2|!z_Z?IOIIq-wx)-Y!d)X5emqm6_R~*?>VYtM500c zD(-kGMj8i4mwv*>aJ?G03Fn+GTg2MFRj>PyWaX<7X-Em}yrp$~&ok~cdy;iP-HQrT z$a_zW^qy(K;pYsg2Q3iUEA&F>*tqb~qU(Pqo12N#G|8KQ)fpT3jpT($&<;G=XuCGZ zA1>u``Dpffb)U*+b;ZdmbzL}d)@J^gIxxY=`1R+n+<})8;m5c>#gqFR94=24;PX?k zK6m=#bMaCURHv9JZ)(;(v$zZfd7viP_utZz$5@PuCvAl0m>VXBwGt>Xru6{3ipcEr0EosLEfUvgDs-i4 zSUD2$6zCwj>0c$v;l5`RQJH2m2%|i<)$Q+~U-8;4^+@AIibZRFDtp?H$*)!oGIP`X zk{r38L$sn$au5Zyk?RD2GZqGzKVKh*YX;2!!Pz|Cuhu8~CT+;7a!?67;X9>jK{GFfyu zZkA}JyGcHg_C0odk518j1vpFKZo1tu0rm7{Oab1X9`mWT{;!p`Bws7Ch2b^luw^RYhoMODt z^fOja0Mq}`pp+q9Bk{Y@+20@-ljuTnIIHFLxmi->Wg%7GF2GzV;H+kb{|HL)q-~-n z#O0IA;JzsZVF2`$d<9ju$*`9e^vjBl?0=Mlv{L{uo6QDHb)L%Hx@kbG2!@E*8|N~w zush>W7ADgICGF@xgg!-aA;&mcxAvgkj$BVYZ~jP4JVs^|FYXQ=bb#VHq0Q-Wj15F3t?| zfnijsxZOH7!kJ5Evdm%i^8;D9Q z+U~7u*cPGX!TDYK&6d`{+1Ki`PkSUsLijy;Wfz#cjt$a!Xoss~QWOc_Zm41K$*zw) zKLULS2x>6Y426bb@EO)A?=X7N6%`Gsb5O#o>S_8wB85oS#6mHS!57F$bKmd$U~F^A z>FXxfgfQ+}_C~L*wLGJ+5sYe#ahyjZDM&G|%DJ2C%K~DsRmfDcSB{9x{i?)64vIRMRJu+hN^H8U(tqS2X{I!m!R!~;i9d7haYBkZy zt&^X(^;jkS$m{!UDzIS^bcZ_)#oD!t542Y8tZ0$h%*Fu~zAWV7QjPWHj#5o?zSCea zNeovlri^n1hSIxBjH|R6;uf{|fLkJ2!Bq6DQIrYy`jj;S)pPK&GzfKrYa?L5PJEhX zkKCHh6DL*fILWv?`R~rKMhIrG-CGti=UO380f(hbzSAL%Fol#GI(#A+!IGOTG=J;7 zbJ;5&6o52)yT$cb1v;ey|C(0iQQhG?rcfu;gHb4&p+%i5z!ciYU=$J>$D&7KWGLk`FBE=TC%xofdP@C0KLA4;tA08vU0GDtkNQ z$ZpKgug3w76tNuAbcxxY!)W8B+&uI*y6S!5TK-v~tjdPam7Y6ocYTtV3-L-^%(ZH zA>~o;p{pifzydnAzoUPNgGw?zkm3kk0hPOF+oytcN>Ic@&Yj)qI^|XS+0J`5Id9F7 z6W*@{d^s}i65(j0RW=s%H#4e^(&}Mzx4VfnL{(|`z~Darv?KBiPhCYcw2$QjH;iT8 znTIyJv*g%pM4tZ5dq-}~?19mRx8WYa6XH|NpaQtr=X_gQv&TGm!11EZ)9WXRx1Y2k zbM1k27NCM*4BA}Fj)Gv4%CCf+&P3nYdH|vTT^>tq5RBx=b3p3H&x93M+?FMS-m=Hk z`pTiHI2vtS>X+Un9D3S*eVKsr$>~Y0B2`sbX@)dnGalu(t`VqOC4G2DFp)BqzVtV` z@ssUs+rz4tQgd=5J(Y0ty~Y~5tgUt%y(?qm@lK-6#i0YYtkd(pa4c*z*&877D8j56 zw8<5R73Mg%(33%07j;;{s)-b{Hq>U&Bzs=1HLF}{9DWRI6?E#EC14+5nKZlruHX(Yn4%+expGx;Xu?8{ru;zdo zzEq$`Qnq?X^f*rsNXmC4N4i`Ail_d!`&34v->iU#w}S3h_3#}-?J`?kMIc~b73@Xg z+(8xCfU#ndkXB9Vy6;Txq;UL0)*YGvV)HY_=k}zcy5oTejMb>Ape3ve_S{JYT93?GrtMC7)p!FQGFX2|O*W*z zqlQ&@=GDUflmXMko$3Lkpx(5Uc^Xs+eQ{N$bQSc5ymovy$?sO8`x?tluLWHw=?agF zx-8`zH}-R~!P{g(K+FWhAxHG^zr-@Wz&|O`ywn zAXg)*54Cy}VSi8axkN<1Q?~gOQ?+&?84>=W`_CRoGWtZYQ-fvAo zHdlfgv^Lm|6i1jeUbwW8*YZ>~@5rJ65{b{E_sht>dIWxdcfpGOu!YgV%eXhi9QR(9 zHf+!BieM&mU&_v3cn8NgGZ{Y4j;GeNQsbT7ger~0kTMx1s$bAwxXv4%Y8Hyptu0aL zJtTvQ5B6t4--*yF$toE>CYg;V;&m9GGSF%Y?S$U#J^=P6&Ku+@%#~Xo;7M)it6P&l zTTq4Z^9w=YIC8kxcPLWCpGn}}Y%TCj=`KN!1k!yTTFT0Go~UAFh%x#ig*Az_(xBB} ziG5S;bB!LA>GP@;{8CdnGOrH5vx$IGaa=<_uHo)}-SgFMZgZ^B#%4+hS2U;7tgb-A zpGYaf^kP?p-^cEhIW-o_k#;qZ0B)C%lGcf%U8j0`6 z4>Lzs(}odx$E^-}i{@4>N2+k%r#_)rZ?4rV1dRHBWosNZ?%Mc31+!*$#&%jDn~YSi zUE{G%j2n3)uJmG|JGQ4tThZZDnc?Tss5pV-!!a)$om191r2@sQjn9;s=u<|_+4A3s zL!Fr*H<0al6M~@E%j}^rH!cF!jeyYS=cdMiB?RjvvQdRmG3@N1AIaX{%lJYx;fAZv2*%@iTm` zK$`!|*p>Pw=8y83_tx1}Q!^^z^jFc@WBEtafo&`%7!`}?ME2exRW+^*9ga{K{_dcXm`31*9>vv&SHq zAfdYWjEW12Su~gHFFmqcti?dLb6(16dNNdNWAc}spPcV;$w^e;)*Pk@EKTdH+32i* zp?^1Udj0%F_qt}G;e{@5f62LksZh4rbwIg;_=hMk9TpifJDj_0l4kCoE8&ck->^29 z`qw7dru;BRhwGo|1=O5-7IWcYk@T=pvc-qZx2I+*pX5w*l0R6mxo_tC(+ z8^iE-fv+?c9!CWzcE4lV(;OP5f}sIsK+W^47^;mST`{T*WKe@5TSqHMSM)n$%^UAO zlXuPj@Op5ye{zR*9mHi`7r}riJHEAC?qddV1thft6}dCd+nCa7^%OEAujwI;G)}*t zgBFQYO_QK+arjU-|2!|>PEb#olHK%$Hx6aTACos?{v1+oiXFt#6oAh>Qe#7@NsCVo+FIhn zWBH#SQQ>n;6MwTofaBLQxQOK|B4_2BSDeEb%%1NC`bGub8GC!+W7$dLhT0wuOK6Y( z8h5nNS)B;rHD9cJMYTbv&n83V342;qjybfcnX22zEP9h<`WtK_p6!+Y!~w~$j6J)k zxFYI>uwyxL@ruhe5cpBkq*dBu>VE|38hcLS-ulQg2*#WnsFZ-$h%#r9LH#09oUh&g z+pX1%EnGo7q|MXF1PCEO1|tWS-j8<73}&`IC7kDfa7!ffOHw4&4M!g8WP3TH>e1~f zY0b#QtL8~4V(tO3m0E$)n!An2d0bv{R+HFlg1Vz)l{p1UY^c5eN&asFDKpiB%ctkZ zYD@VV=%hQqovQLn@8`fUGwm_)m0}>Glw6sl*a&2@N9Xn0z6Hf*mz4L^Z#&i}ZfAj} zdSea)?~U!_gxRle=xt>Ozplh=_iPX9D*JP^^#y#UqCv%0lopGNZ2o2G`dVyQ^`@20 zSq0d^t4vPa-p%fP__SZgz8x0i8}#V_#j`e5j`Ugx$OoKURfnlfOL3GpfMi-TnkNA1 zo;BmPXWV={=#S81Ko8-bQwC4`n>HwOpR)za^no|=(7IVpr5<+|J&dUIu59Jy zk=L-9ohxB50FjOuwjXrV?maNcWrl4l@~LlP`U> z3;iTSO!swLCk#vXF%93C=@7HYIW)80;#=$g%H^kBzphs6Hc=`Pcu3r6t=NC0V9wnI zVxf_Z3oFQlueAXkuXt*To^V(@a@;rahKHt+K{*i>ugKwY)Dpje3j&RSbdbY^s&AH; zlEVXvnE}0Gz5iD+^Rfm0NSu-SA8@PV65KkvABl<&t=A;BOjx%t{L)E~*85^?>1ibU zMFP?+!mrDYV(WfcyO|z3&^1@hQ4OE(aXL`YicH9v%nyy*;EYMEhWn1hs!d>D+sX=Y zxYPq`+gXr~n!o6&DgMdLOe->_>UleV5=P6}>XYCPW`rmPQ7Jt8W7C)|-r-eW{NZyC z)WHX5j5Gm-kw;6#UfUx??Ci9E-mMV+j&#Uj)!YmO3B=ZW$(DIp7-ST)R^GESvd!j ze3`XQ5}0KVw+3}>&iaEI7xLueR9KX5@S@Ey4|-E0j++i!yVhtwNQ#VwjiJ%V#*MJ` zf@i&laL3s(|Jzj+Js*@~^l%d=AGya?t|A4nkGBYZqXQYl zu*xT|kfl)MTK!9f9n(7I%{@0uBXyK};FpmX1X4EE?c?avg)f0X*3F zw$Nz?Gc$Mgq7+v5`_=Ny%?F@?PmG#16n|(u;+ldM1Bu`1I53~-yJ!<==EInS7-NP2 z(FHAo73 z|0)xi^xvIa*3Xx}T~)j69DW+LUiQGmUz6)xqXTOiUdy_bqSl@=suAr2$gzWMO`u2z_<4DT>`(@Kr&8EXroLU*aX2MNN z_ey7m@xe=RbM$@jx0|bvjc7HJ^VG%fN0xnKV^W97CeG2bq9Xw2F_}PA%vjU! zxtwv#fRynUM(W~l)cuG5m+d^l$S|gk#ky9;7e{T;;_HGr;(g(pS>aradf5>d!;#GW zKi3NkLF%%og>k=yg8mHWjmIyhnJm59FWNz2uvDUBVK2~xlwBf4Hof#EqFjgQRwo;z zi|aA=OCWSPlu(&gREn)Hb1q{hToa$kUy4qjni;qEFNi2y!8a>rE0aXvEKCYX&4#3G z_m6^$sfNjyywzJnimcm=+WQap16O|N{PUX;*#;osiFriA#R<$STp41(3NOPoHJ29C z&ux6=7Pl+c+mLyN1cJ=6(7HnFLRjy`ws1!7elg4X_4hQS$Z}}hQBW^%$c*Sfg7l$j zD0C&dm@M=(f5qxdJ0GpkEm`YpAmu81 z#R62LE}4~v7xdU||019x;FG${cjU~HAa48J`(p0R3crFV-Y7#?rbwA|^i~T24)jJx!B_VUoKiJPIq23Qr(LQ-f2JOEaLmK+?Nj7a`{t)aZIea(>subnP7UV{2 zm}L*q%zHTj^q4q3+^l-l-m06V%c(LElpgNR;rLbLRVi*9DI_5=apA&K@SH$*Ru5qa zq{*ko4^3VW76B0BvmBmY=(GkQk%4NEBlqDQ4Czaq9kt6S>0MJxjpL4&b~wE;uer}k zgo}?c(+INa%_=N|1-kuML8eKU!5kmL!UpPfiZLkYAL&5i+j5yf{SuE$c9W4^_VpZ7 zC{tj4S()Max54*+e7O2;+hH3`D z7?Qa{G;T;|M=h$Rtvy30LYU-<01j%``ZF*Bt$)) z0@$%d#6Iwoixc%o7ZeEs1I=lky_TA4uS205hzOWQOSv>!UY6xD)^x4Jm4qrM-eMcPBX+&St?t ze_Q~9l^!&A|xG6v#Qy<5Mk4-hmOz&NcoG(3%H%zLyYFgCd}E)|#&(_ZOT6H}=W zn6z5!lHK6a?hkZX&CB39kDQb!d&lffU`N=Ja&?I@Fae?D?JqL(0)-r~m7cCXX*`q5NWvlu>4PiN9XqoJ&Kfpd2csKuXS^MUh=asOpz^DTh zUAPj?mn^u)NwoZ>a?wuf0}iC9d0Qz?13=GRJO1Pre`^5ACCVkDXwjL@ayh{3GYA_S z`;J2+$oO|Ja-?+~{^lO$IILi{u1NF7nbCsYn&vT}Awho-tO00ug(}>Ueh-jfJ-W!3 zVY;*ki>ct0A5t8rW*Vz*{|-+uvAU?2b&7C%=?XgsUWterB4p+2$2RFA%RZf!;NP8V z+-uU5ov1C`%=$f2nsGm> zB7C@y6w?95FhkHL$HKz{6%eox2Z}3T&BDP{ph#o9-px~HitO@&zPv0s)Jk^Vlm^f} zJUQ6Q^jH;C6SW-A-KGWm|ZK1bU=5T?ebi(3K0TDm;)jTIM`q-}*U zuCDe_WJu2e@0u2PULBD;q)-nlpLkcQw5iC|NI~jy_82MAnJ9LEA@>rg?hAjy&kDStrQeSQ-nH}K+u=@X{HhT_&^^=fzgdBn*uBn?cjE;}e9q1H@!+5eJb-e zPdzC1NpOhfzmWZqJ$iE(;P#BhepQWSV5$xs0p5~-u^?u=z(Anw>(?`y0x+}Tk!Mf` z4n&X4ru3M-fyCqtO&Hp2A3PY)eZKdzkE81h6E(Nywa^kCxrblQFqH3ScihtZ@olC* zFVS4He*HFKR^+6EFP51V7PEB%p4!5wWDo!H!)VG7MR>o)P-WaEs?KaQw1iJngo?8t zf{4R?I>FaeC#1&(R4h2q;DH7vm}JZAU1VN5t=rdM zYU&anef}yCEyA=u0@5pBb)jh)n%&|1d7gLBRdF(B#a`G^@y^(|JxZ??yB3`K#{GED5HBNP}Bw< zje}@GM-6_8doY$Dg%7^3=?z~GWOJKnE}`f5tuQ-x!EPx#T1-f!;{EqNn$Fu)od1ia z^Ny#wfB!fYk|etjrEsj2jBIfbvbTycQ|&| z@A~Nb`|o~~Zt8qK@Aq}RuIKA@9mzAoi%{N@jMk%mdCYHV+4aoThi8RUrjo1Nd`;RJ z!sDe~XLnqww{p->Uu&EvoO*B_s5E>2Z<>G-r`aR&%S$r+;%uN^iIM9iP+OCt>J*Wu zttHUv6*($gDO5sEaVDJa!;o<+`Q@8uRY4vTYfm(3+on?3d>VY0{NB&9%yHK7@UXda zT&8-O7r=jUcV@^gJ>1+?faGzv-U*H*{}z*0c5}xmL77^ovK+}eX#avVo;}9k)W+_S z3pv!22wKHg`z5z%C4cJf-A`0_$;v|fcr!2Vafg&zCV+0`E7-B(cTdXZj}g}@)@mKa zst$Gi!p$rfDnwYW)sE3Ld`naQk<<1eA-kT3jZR^w=sM#ToQo~7pw)&BUFZe|4o2o_ZiP%g@pCFJFLXRtMMP~DoWmGDKE)V^!k9B7T8Ji8v zPrYGHw2C?6jD92*y+j1VG6{?$aZwxUGpdHlLK@4K?j;z#%1Y;Hp9pQP~IZ zx*fQw)+7jb0;Tq^>UQ8kXzm;nbOC&WjF?&M z8K}b}zx>sw&v;HpAyD6UWXff8^CkVl@f16Qx4gWyuYRVUn$qjI=N%t>sKNF-I~`Yw z7LIa6S&pj}sr1m*3BCVyrgQo36bB>XmIfXrb2HtDnuo3DEHAB+61q58zcNNBo8!q$ zMx4M_HKix|ZL?QOb;u!a-~&%GYm_~#eDI4YCEM+0mtVpsLr#7F1a^dNE}F+?H;;su zuDmRKKKOfe%&VtY9{0LapD>%VpsCPBK-fvc7fL7OyCNm38i4BJ_kk<%E>b~)@fx5?PM^+#c$s$jDKx= z{PnNy`ofUOb1;Yz9gfNC4Q1PxsC(4DJeZdTN7?F6u6#L11x)Z%)s3>!O!4JsnTlvc^+O6xDUC*987*Km;f9kvgR9pHkK;I=6lPSJFAnvtN)_t3S6SRuf zN0FG0Z{@iez-PO4|5uUO!)A%@!F=)8B4il`_vMg2OG5o$pS1@{m@OH{Q=d{q;Sz7W|H9_jd@hy_|a)o$^SP!d@ckfIT$pV}r zs8*F9=wiMoQ&=T1yC8${A>m5)W#7xnZ^Ig? zF3r;2XXyb9v?Sjs+tc)K^-t_t+rwK*nR@HO)=ij>U&vvNn302~!;>u!P_L5L$PLS1 zvUEsyc9+$UA0+xL?KZ)gAYk18vRzE5eDz-#%@X*6wir5l2dOxjtam!qdF+*g03d3T8i2 z1VJ>h|L6C6IMTY<_fx~$qQAdFee~~@FBLqG^u!@!C1CrZV@iCbUmUDd4HOe|9o$Vg z!KEKo`ru5W;DXC5>4mJkJl;G2u?TVLv8x~`UrWZxz;;)9W{hKNx1gUWL{j|A0*Js2 z^jWgzeO3=2guOy>{`;qx^PU-X^L&fW6$7fzqkNuWgL8-P z_|x8@cJ2v^8mvGoeh&=aE8^W8wQAUEJQL4B*nwK`cABqfN!} z(2tL>IWMxR%vX1K2LD^RX6<%wP}H<*)r)3^Vi39>X{dx$2+u03_sDGs@}8fK-@b~Q zEbnA?umD5(uV4X<^}~}HE8tI#ZZI;r%?vQ-gH=Vo%SZBkH_>ZDgWooj-7)YrGlro)z2<51?JvP&kDDrjNY+`4lQ`=BOZAcHS}m z`fOgoF1sG3mc&8Cwm<4*5Vk)1L-SQNIrmeZf`asFFx%gf;@J|EQowdEWdx+C6(8-F zeNDVddV0p=_tWI-=j2&f9nD(U+u7?1CKf=Z+Hz9B1g~rTXdQ4HNcco{+rjgSWpW@x z8zT$t7b~ckuNQNyP@mW;5raZ{!k<-bl8=rEChlXJ*(Pl_Vff#(gmkr6e)8L=1xp)& z2x3G*)gz_y>msS5WPkRUq*6};wQa;&gJ@f}YSe8&@lHQ5U}Ui&>2(jl1ng9k z&r@zX@$HBe54;Eq?(*t*C@D{%##EwJX7R6u=L`>hajX$CE~^AXk0z_-b1$b8LV^L#>pQD2)`zfe|#hX(e-$=+|Uz=zxd_RAgt_-H!KQxB8kQv%QNo&6^ zR`4QnmzbT0sk!mF1qyqbCzxg9P2J~o)@=^wuKUF>%Hv0rTg>g!=<(4oox5l88_0tz zfdja*cG0%$iK$nCQ@vBCqN}ZS1#3ykjcO`P{kw3qHGaoRU)f?tg~UCu6WF4j5MQ_1 zDDo!EPGCH^cFn<{^qX_C{P^ik9J-R0OP(Y48%XwQ(}0EL!4C+^`7TomJMENS(%0~< zsT507m6eWx<+A0-BE4q-=DiC(*%&0d^#?jutZ8U1n6|qswrFB>Gp`v+Y|&o1-J(pG zU8YwGUWx2HE{~VBmT*X(UI!tUTYzcmN#fgiq$*fVf$mI$=vXAb^uFBXbzg7PRABw2 zdpgU`Y1`LnnGPV9V}>JrW6DHs{e%XcKS*Y=`ifB6?GI1r5w~??)-|!q^6g6@B=p-Q zGquOg4DZ|lQ zE7?=Z)ZeUqJG{|sHV#>GhQmbF7ag%C`1gZfYD>mb%Ab60fg zGRBuLh+N*?)P9@-G;E@ZA1-PgJEek+R``}VFtRATee0aUd92@-Omn4OUl$ayDgo7D z&2Pc!IVckC> zp+$5*$?$?97EXg_F`yF7pZiOCP}Cj2B|UQ6_1B#+4gZ{q;_N%yv^|?Ns4=`e9(?Ks6ztN*t2f5P1V}!yg^2_J- zq4h^iXZZ4gAkDcbWNzv*Jsy1%O42+0<`Q%n;0fb+^qIc<(_N)L;mV)fK{p?~=MhSS ztcX{-h|c%eA4>m`+L$)SmBv&%`ReMeBBy2Kq=PDG`^Ab!PpR&MvMyE8&xa&2$$+a_ zZ=7Md=}2!?XQl~{mB!*?3UPB@ayu|*w$5KeeEjLx#FSkd!6auG`H130j$l^|e+^r} z*L|RqTh*N@v3wXTKZ?RZs! z__z_Rh9ALjpoy!IMh+f5SCI0hK$I2AdP|0XQ48}!W|+YmH^|6iJM&qBStkktMBx*a zLxYHTC5*6j2^4&_A0Qk|h#|v*+S}Ek23aKsKEpV2cRes-V?%0x3&`B*`>ipGUQF{4wz2wRFJaM=5PdKmM1=vMi zT_yderT3bV6dj#I$1qIt6AOs&;VqFkT39!@!%5B)im6df4v_g7PX(H*aa zAdnspU`E}ByDDlsaNT^Z$=IcGYp#0RU#qh}XkrP7Ri$iUF%VNi+il=~g|^rKD>0JZ z{<|`rF2sJ!x)7tarPX1I>@pXY3sr83;Yp5w=6WhFp&++mBM|-FXxS;kMYwCrZn186 z7zd1~#Gk!A4pxD)K|69wE7OCHZ-u#kcD`(4^#GN`pNENq1f({qw(ribp;yOCj&eXc zOG_G=ZKAi|+E-UTD%)52tjS(amaDnhsc?2dYiZ-xm?0k^S01K5y*dDyf+tjC!HLt4 zbb3IM9OcSZym~t$2c9p;gDI!?(_egff(Er_t!=+h)NrDEb0uY87OoR9NCdLKSO4bm zcypx7J1CPH92h+Tm1?d=dp%|#R4uSmV7{Tf&MUxV4$dXUnGF=C*Hj3427pJ~*_+sz z#cNi^+twu=(pEbjuY3jUIT<%#_Z@&z_v8|skQNw+YF1>|dJMW7*=zWyhC$#f-VieV zPeh{_ZMAIs6CNAxAPJ0vnI<)698|iq2CM{A!;p2GlQVcHqCTiFS2bI5e@}>)k+2J; z9nzZU6S7N+Jf6_(Y9#I?-vz$$`!ER%#^Fr1Qs2wblMRrT1G% zOAF{%v3G~k;Kay3hCA)Jz++gxNGkNtKQ^AGQafJ@gQU9SjnA570nbR~AUz|i(`%)P zFAs=KiV!)}+uagJ4)GAxrhhH56U;wcp{>@af1_-Dz3KBh<)c!3&GG5AwfX-;PJ1+L;rhA(3u{3@c_ zIj9)=d^!qDKaFtN%P79q3cDvJUeH2+w@UZ_(P+!IX~&?IJmWC^^4LX9q2d5G9f~so z;om|QV+sm1zV-ss&#tGk%wy0#`32rnAtA!wnPHf{OcZ6)otM9IOLFDp{kx7$-8zQp z!uF~?C2Irelvngp+Q-aLTUF{qfw*+M7)#H(b#h58Lkauu!%ebi9nadfO}ins#bgmy z93e}JPA}((O8o|^+{c-PT!#}38Yv<{h8=!&M9;aF5pcCWhQ>c(l3bgw)*VKO5+LSz zf8;ZSiz_&D(nr;IfK}=Xa|X7M7cDikeYuk=nH4*AZx?{?d>w-K%48ZBmzURm=CFRr zDOs?F zAtuy_>N&?bA0e8G%p!MUR*H}Lhx|q=zh{k~U-0cuA#lbI*WI-~O^`T#m{}dBi7x-> zmGut#f2nJ1bm|yi!?Eg(BQ(H4++V9M%y(pbqII)mq zYkm`2Re`n*GHWl2hL{>6+{HZ-T3j>ROI9|V@~%T7_NHPjC4REv)kvZk3|}oD_WL5k z*Wf>#m+tt@PPCorBIcHAA8wn5<38h!EDevPY)eYZ+1l&0r$vv%euDzRfplXmfKmHp z>_&#fdGqNdnR{tMt9>>B@Nab>=3zta;NR9pPmGH)bte*a0gyyi>zjy-C^%R3IynQ$ zM=}4KN??Otqt}qEwMaKN26P`}A}}m=V00}AD*=u0UrGy)5dO!Ji8tj#J)l|e6~E8A z6u|||`$68)jRJ7QLJ=@W5Q16XzaW+a`)Q3RM#GSB@sdVytad32+sD~z~< z#SzMLZUo5cZJ_Jmm5^8K2~c^#HUNXJ%R(y4X2tSe`7(3qn$9+;=;9O0@%|}lP~Btb zw`TL+lF)!dUSi*sgYtWZ&!O(yeb)f!@>pk*tYgjaOnOo1xNeZnAU-RJ`>vqF$jW^| zLok`$;?|)ym<$?SXuI?8 z;-+!wWbbt|*V`8UC}#(`^G&-6=-wsBNE({{Nh{H>hz^cYC8odjg_GZy`+oZ7?xOG8 zO))nJvXdI$Bjds*$_4BZ@aA3aAk=rA;||(e*uC?9A~xD*oho{C#WuZN^5;Wk`g1j0 zqZi{1c{MMeb?R+i4Cis4aYof-?3T<(r}SJtBpw}=$7kchbe6*TddaaR(GM-3 zS@t6NDLAEgDh-xXUMX*eyH9_CfF2MT%iYLY3%W!3Tac-&Xw`j>q9wAn^>PlX)LY+k z-=u*%><+WpiO^Udjx%;>hWxQ} zq@LA_;#bezuqcE?J3h~_(q_TyW$w$76Bi<6{#-qM2{;t-Z($NfO3Y&L>`OnfqbS`n zcq#JYEct~HQDO78#7D6bY|ai-P~Zbk)rObd%uP<&BKsmy^$F~q3`c;_%6gRJYM;J+ zf=1u5RPd#5RGE{jh{SjGWVI5Z`yT|PE~N08SbxwwRwe}zL^S`4&BHBV#3+z36vPqU{r!eG5F>SrDlnD)P6CRsmy>Q(Vjun@Gve(D?ccxY1Z)mhn%F*SYdz z37K-|-vyanC<}ZwSFWaB7{q4}yR_Mcis^M%^j>7ZyOec#tlre1HD$lO7M-$#M(6x; zZW@q?!OEso8yTCaJU8Xyz-c-2=Pyd9UdW9;rfQsGSd?ZXxNCT+L@)GeIb%VHZ253b z5^bGhU!lu&^D~=xu`+qz)v?18+w-Ljxd4u?>dypm-_Wv4Eb!B}CI0=w=b9OBb5|hk zh)RFLj~#Cv+2w$!4K}m_B;SQ;1Wc>@utMAL4p`0r@g|PP*%v$EajGJ8?H}>g?edQ< zO6j*;T0wQ?ZKh7NhyZ-eeK$SC%mj(1BW2ndDd<%I#e7=cUG0o3lTca@sUk+F-`%2u z)}d?2yAo!tE!7gav3HUPW?ZPtnq>tarY9-q8cA@=dRZZ#f9@RMAh8l%#3xY{hmNIe zU+LEask`y9ldR* zk7_{EL333;Yhr<&Xm^^R>xx@TdkwQ4Yf)U`Li^9U`M+P(-e8HO};m`O>#wdnE$MuW6>ZJ zv$w>TB(T4&Sx+cx?z7u=W)F*_JuwaA``|%Y8#h^J2ah3K=;{ikMi2i^t{qr90984A zM>x?GwY8e$ovyDt<_eTiEqS$>^sN7dfT+5}a#s4cfV@)br~01|5PQ?*ZDL0{q(p{ugbF;=`W3@}Sd!7&iZ!!lTG9qcxeP3pveSzY z-oX*o$qHrq1)V1l{z=c=8W#x9pZ2o-4R;nO7Pwk4;H0StVD~O6CKsA`$^xB3MgkdL zT03Sn9v|3 zfNNV2y@I@-J%WT{_{7NYD#qHTsK;gFF%}SevfLt5^(1$1H8x4ci{n6olN&#C0G3y( zhOQ$2VRj$9-R)hVX@``2>HE(<+bTqdY^MaTBkEWff017mAH9}#;ctwcV29>HKV)sP z#OiABFsNMTtCjC%eKsxkR^n2Z`F)bDyuurf!rVvWQLQj%Y8K~7=e?)Cs(uiEp30Tu5!OwF3{d+D1E$-__Y#7g@ek?O)eci1A@9;lEU-XIZEv`O7f#l#H8@0kySHhg#N@a*M~LaAwa}B?b=tRpLfD0$5tj6e&oeH8IW|<;gqkxN@Tz4g6%2Ai#eoS z*ndUgh9u$M3jHb)G=ZRULhUg&!uYEOGCPo#7wXrx zYEu_BId#rdrzgZ2YYr@L@vDcw#$y@?bai@)EgqUJeD=bF#M;s^`<0B(rPt5)b!FS8 z<9`2s{b`7D*XlDHjA{qU_f*3os|^P46s?22re~#^4YpuH-K71 z=HuFpdt=oQBD-KvX*;9Zp)WM~?)A6D1)18jq(DY&MAX}^?N5kr)0_y#=U9U?z@8KN znNvhApX!CgRaGOFR_Uzlp&#JOBpOkrzE(42^y|KPE&;CL^$;b;iK^jaic-$LKy!XK z-d~?5M{S2`fLZxX?DIH@>(nuJ2P1EW*<&;rS@}rR0)G=74d_$YZgP~|*D^ZDQ`nw< zKW+ApJrh(}f!GEU;{(aMoOd+3QopG(d~BAHK!9E%M#gFrA#pJKdIWRMFl| z6-RoZL$p!vasI*w{CU#tvzreC>8y}Z;@3HfB8U~Sc4yY9;_qesIO7kLkH&2 zDn+Qp%e&m5Qy$W;3~xU;DcU~7gUJ({W`SE)Dfew=d{OhvJD~>B>-P0%j2mTygwPhW!vw5Qtg12LX)=OnU$bXK8Dh zKZ7`AlVzzzNSMvo6l)dzb>nejAY7ijGvorzv*HIq{O+wW?L+o}UO)jGs>$3DrqSXZY`wXb$0 z_d%bb$sL3;nI%kC|8mzreZNyvY;omw3}=)`Pb|lpHfhm!|Ki!v~5i0ThO+9 z9hHAdH}Szqnvdi*w7qeh5!@6}JOuua9jaKW)E-YlV|XY#D~|Kq|CrSqCfUazuTY(= zbwCA-hpriKkOycjiEzvDpI`AoaO^rsmozB@5ftKg`irc(C%;Q3fj5-E!3k3XXqd1D zrSWSw#qBBlAs;Ox9HMvBk|=1pA${`ArZszYktYIX)|}8W-@WC%$I%FcDedwS{Kyv8_7s6@vzO(VG6#p5VBA5M#tS$}0d2kHW3wBEPHgQHvWV%8-!X&A=8u;~V?P@9NI0yRyB z1(;dN<#Qh($VaTCCgmi7e?dzuLt3^|N75QCXMHrr&EEsU?_& z02f)UFM96sX`F*eLmd*9^iB0w0i^MLQrO!ZqZdZ!?1sNR=?^Nku+(dqH(60bgh@yq z`NzUl1^l;A3 zVnnd!aVsx}w(4b@KY22RZ64&N!R))M@(+Gq6%WWZf-yC7D1xv;N;MMo@M7AA zvH)h)E?1%cXkZA%OdxW^CgOW2t8x{LO%9%Rz^(TH<++(J`8VW5xf$1zUfEn!LSvh7 zC5OS$33oa01ptFw|DkNVgI&!~sBfgD-qI?NdHm%tmk+?OFfrmGSbVjbY)Q{=K=QLg z^cgw1E=ezwmzBSs;T!CytQiTr3L-k1oiNR8X~a9SQ9Kv42Z0LtlBgBg&ENizWH5@o zI8quUi?{o;=)LGw6d=F!@vsuLgC0Pd%;lTA^!0tc#J=f`?8?Pn3oqx>`cJ&+Rc;hu zIyUyU7u!beMaWU+oyyT}Zo*SdbD9nF1{GL?7OL>1A_g7SNE2gt#>S`$`oj zNvGJTihcWGHdhp1ZQlME(X>Zk97w4-J(HDkaTP>x1Ducm85$%jf5{4h9uWekYF{TY z{HG!^!Kbhl5)9nSzZqn&i)LL$H5N&9$#o1D?|mu3f|g#9uQ~TG(@AKXw=FTZT(*C? zta$p)*0avU`(~OgfH4Rf{CDc|vz);I&lKX|`2BeGA;Ef=N&IZltet^4R*;QY+g7T3 zH_c|he3T(dc>n`YMdmD@jsS$O^x78wK{z+=v4CWd&QG&6u1b|-H&mn z$BTjoMINk1*A4mC800Gy9cHvNcIlD{e()bCdB167I4gFTR8NzXO5w zdnmLRuP6U;>6hVn*ya_&N4ti|6(sjo{u9d%?tX*0yXMP>!0CcRjs{^tK=_D|pE`6( zcl3raxJR$&RVkn=BqUwzP{NPCu|mrO&k{ zYdbKe!0l1QWW77ErZvHhTj@zfA3lo~zJm_VtbvG7xbi>5xFS?aawkJq{`!aP>-CEb zICK__6Jv`42u+aU7grmQ{SZeLkI&WsLBU7!QOB@DUV$O&T;tyh9b(^aa0ltcvGx4? zXwv?-b|lQHRIh&->x}yxT%nTes=O+PLows$YtKt>0ik})5XGz-?3NilTs~b3s=0U! zNLEbZE=${Mb9_PQp$5?ZqD~3DJm2<(=(R|jcXAEf<2ogYm(0|lwelP$W|2ut3{m?= zs3AVsygD%MWbe2TWbDwfDE7XgAGiD6}p~u5*gJu5G`8^ z-tu;Wo&3KFkef`DtkB7_1`1em)LcPC&fjWTyaBb_L&~mSz1$7#vR%ZT)26@kt%D?^ zA%X9ld9Z%NHh7NoNv0PeSt(jJVx2bFN3*5!dQZ**T!Y4iT@n~K#0k!lla zcf&%C)=M=j7nhl}$?dA-n6y>t(O3^qCAudeeg2c;{g>zSl)y@1Mg4WiUE}KakNWq7 zRZd4r$Q`-Ex+|*pqqc23-DkZtB_w$FklzHJ^=maY_s_=qFF=@tvq~(__G8Wnqnf_A zLHNV&_C}m$>DD!{&wBduS>9;AIoC3=TwEj%mz+i!;zYUd{dZfNI$sigL_*x^bR7&x zVLQfhQl;)Be`@X?NO5J?jAkSu1c{)*pq$?KzkLzxAxdy)0;{M$=g*Sz0GsA-$qX;E zb~HJvZD#J~Op)$`zXcb~PryLBXW98Y^2fs<$Mj;z2dV?ukp-@Aym123*9ioqox#P* zr92oHqNSN|{~6T1_uKi$2^wotRH>sNBo-f}BMlgJ^)LZ@CvVrtw-|$F?)`B=9^0oO z!J_5V;aMUkkG&b*GkB$)4?~FH(@B2a8!)2p&t}Q=0qlEPQe`s~(;Ifk@{+b*X-=?? zEjiQbFa(W7*H>>|AGG6tz|mXj0?y&cvU|t;W4`M}z11X;3XMlvt>szW8af>9sOmD$eXPO+u+Km=EFgt1E7LKPXFFPn$ePe140>~oM+8Xt{*4l$t9 zct{C(El6`{PE(V&ca4%twGExzvp=4_~rtrcnpmMgS;6t`^x zRK8GBz2sU3t6`Zzj02>{V?-@Xi;A!=SR811vX4wFK)93CLGW>FB5s_%EcPRkulC$r z)0c>=7=}nCsiBLG{KXJfPF^k^Sln|@N{us&ndS24f{J=w08iR97IKJb6uXwOE(;S? z^S7zYnB5>xLgx*G4-CwPJcqHZXY&rliU^vx4KIKLMYPd6?zT;qMg@3NI8$#Vzlje~ z373s*jw#m_EfnHO$t|CbOUiQCI$ay<4z+j`v^GdCagxM!NBddhn+ib4Y8R|{zJ|(Y z0g=lygdi2^ec3hZwJ^9YPp};{OS$$yszb0HltTYcs$)T+Yn#g_23Pn*u5|p*L0TkV z2BX>6V+ARM9r&nVVzJ8zavktcj zcxyrhtKyB?=)Xr7*%Wl>D?|p>xOgnpQ#CMXP(;ID)Ogum7K&FFJ53gbg4<%AQ3h5&WP$ z#_yfH4gOJ3b zTA=Yzz}(Nha1E9XjT#HIc4zTM!7kzvTzYoXb96iYTf2)k|6mABgQcrf90ku_5Eb zS|}J1CHKkZX1)7&)d>V?73Cp|-`cvpu($^$ZRktBk&3@dHIl%hPFNzthvfwVbKOUvt6GGEy<0h_ zvHK^PAGx7(o%70F+M;xzEUytl$?z2E)n->!_+tYRJZAdk^YNmWFZcgb_gtIh3F=vW zo}w1==VF33KSq9N*zTcUQji2oO0O!`pur1? z^J`{3NlFln*tnApN{=%gi=hk<>QSB1yS7c`6<>W;gi>MpoPR7`Ey6fXk$8jQ_4gSw zRPnc^(Puc$HGzro@X}o}rgg4eQ{Lh`^+BY&ZCRMj>W^mrWU(V~&eV8=8FJWQj^> zC#!+b2w3%td-OG_^Xz=S73rG8BoithW3cFyS+u(RD~zx7>g&6mp-8P(HMIFoNs%gR zw5q?VauM?j@>jmU{6hyH*|j+tMtlR8As$)!0n0$lMXVu-0a?NW?v${+0@&6eqQYgB zmMq8C>5kP|g7IAr0?uyjn z?HA#F2m9(=S_7=y;4Wp2m!^c=Ge>K(Be9F+A+v$pL7ksL@*>wnWh^?;+VSA+mZ;nR z>JEnT9p@2fw_w#CsmPp%v|~Qyg3j|R1CoxLoQ*+k9aBcFBOg-RHGAazSOJpntqk`e zD1sAe>)n!+5~yG`scKbV=ipc=^2w&A;c8v1uZGL>2{+Sw`tz#IX$2Wtbu||7zjCKa zxj4SL4FDw_r>yCT2(Uu~!ohn6)TU7Y)jT~%b{t9$(Qa>S%nul-M*6+`$i%I*dRe^k zw3^%Ds*AqcL&KrXkkI012a{;sXDRa+dW0%rI|hJ zr}eL{{zyBKFQk_*jDl|tHivP@!`6!;rnNr?AVO>xWm{xdOE~pkawFw?!TzW;Q^PZRI zkI3AZCnIrE=#I`km}rjmqr0*@@8~1BIWJR^_HhF>2O(;**iA@rTc=*(hHXCO4DVz& zevh?Ul|C&hbS}Fpk6+*F#K|rm_3?*5D$;_q(%b0)cFflBdmW+*^GQFFpc#$Z2vzD1 zMqh+TsqFjndjB1`muJ+G&mQtm!SMze+01&d4{F{4+0pa9LjOAASk7TL@+MJQJ-(Ol z_r}E4@iD|bNJCpa8Y+nHs8wfWyY=*?NgF#2H3t8B7PcY8G=Oc1%lLLHdp@i4EbT?d zv}>^K3oFa#OV0DMoqyxgI`p7^!!&V&=#UAkXj%EGTbWtEnp+osjz-h~8p@RpYf8rCent0my`j{$IM z4ZHwc*0&+GRP==%Mq8C=M&kUmfr|ANiZMRX_Gb6cgtbZ0*vcTnhXv<@vV$e$LZtvr z2V`KHkgVBF^SADP_7M6>j1w6**KEnd{c`P#Ntgw=VBQM#+$EO5Qy$?v7(Pq!7 z34!L$USyF@AWE-ALSzUk3|`o+^YuPDD+)Msy$y+XnO!Ihfw)+;D6f4EUwx-%Hlx%a zOWUPCLz5NGhY#mH+7>W1T z? zGw*RcZm&0l5LF3w3Kq#^wc{iqJf6Uz0RFVlD7S~PW;S{|xnw*uPv=)&tQ1@PXh~!r zujD%PrMiTxG~*dd@mzRcCdL_W?)KU_xtSwnNAvHx{eHHl2)77L1<%}HIjlb zbMXZ_sB)1k7%pDz{}K`cVXj}0`2V#jRI_`RGU75J3Cv;>q8kl&4S9cuhiU_Cnz#=c zm^|F))n1^>v`|}oIZiL#qbzDXLzH8DuCao6WG2ZgCwu*9GS`v6YTn^)WV)|#ylpFK~o^*_f@*s7Y}}Y zsCQtTHABg1QpeoRSCL#CEqciGRXJYLa$paMDSrNvRRkj&Yqf2CAJn4gwBFH)g{s_@ zy2;z_M!UdFitIb4_k~Q9WCxbikm~f~TX`im_BwKbKbI2Pe7ynr|FOythaBO_qEX8< z>M|OR5r#!?NLQaDQoW?)dJNdsxTi?sF=T<}mgss;)w|dWw=}Obj)IH>ku|OArk~(W zy0+I+>%E;zoQS=tJqRGd>(TEBeol_snh}G(9a$5m|29SSrjbH__1y2LEWq8ooLo6H zQw{93(n3 zXE7fRmR62mF~T*cfLBvO3YB(bgM*oK*&YDxQfL1C@ykfuh20MP%8Ng;idewSo39gQ zUOi9fK!6LOw9PkWDVl^KM2qLqd6I0>mN4Cp7}vtLeb+l=Eb?ZjH>eoXYuT7Ij|bOO zlean6bBdvh&Mhn5-M2f*%)@fG?#r{{&)M{hjyX=hcb~=@yX0mgNx2(yo^{^K!lK zuYErSP&*{su%mxy#}mBuxA01a=3P7J5o9bV#31}bC)|+Tc@B8idwp3tT;d8{)|*$m z&Bm2OblM;er2S;ttv=X5lD=vBWx1TN0zz7hGP{-*6KDP1W>!eDOVV1sIu<-wRvs;9 zd9k-LCadE8*XJLxvPj&bdLJmwe?m|`fA}yC-$0VCa7ZRl4lp)r`^nbo;YI^fG~?Yj zmquFBI8!;GwrL*P?g0H<5J%{ZUu|Ty#Q$&A0cIEp-0F^?!?X3IF8g!sD0+r`aXvd} z$l5gwbAL4`?orETD-M!FEy0t&z&_|?QlcexNw3B@*wuF9OrLf7eu~#0srYA8G%L#- zck4dd4v(Ct-V?wy=#wTb-wUdi~-co=Lv>+hXn=kmCz znTQqU5%7X;J-6*JeqQF;e?6&`w1o2I8D+7J=#A~gIuYe%E1P6wBg2WeU=A_On4V0; zTy%lBToIlWLG*gqIpyaUkljn~jt@+oDMl%5wdnNV&>=Tj&#%+gD>&#nrhi8gBg+(w z#@ygOLJXoGztA+TlKkM3Vuk_I9OzTe2`ATS1|eEaa|Os}G9EAPpo*KEt*^uERM+8< ziM2AVo#*&@sm1rYLTo9V5yy>{LmOMni-P|Up#fuiu{f>C zLt%7=8}It`Y`&$wZoZ^#{H1KnQp;OpZ`~&b^ZRLrpIm84VFQw?ol0hshG(KAU+4_y zmR>s?=H{i6C~?)*;5M>S;J+d0juY8B&kETjTi3(-u|o@Sl%!g#%OkQ7A}4YlRu?@} z+Pgl+%M>NLww=b!M&&2~k$a(>lkVCiaGh*=7wrRHz zI_!^{!rw@Q-y0j4#sFZ#Ocop)5Yc(s{?+fX`xX+j5h!h(;VUYQMy8wCK-4#4jn{br zrW9jT5<2bfK!D}AGWHWSUofh#J>>H$6@S~0lB)(=UyOrCx9(3JwtQOoD#(dRVSAwS z4#EKCm*SP|Qt$XEf{PX+;aJ%8{MgugTRjo;(?6ul0X9xn2@4~?-C+uzCP$eIWYz^` zqqpc#Es0_XaO52p;AB8wGSl12U{7hf>`&#RK ziaU|$)7n<}(MJZHEt*M$+4*A`+U9&f?6l;5%QJZ^JtMX8ZOGj;9|;Lt>kQ|R(jV+u zh4dTM$Usr|VIJ+Sm*q2=i5k9UZ5|CR3DecE-s(P+<*Betl!nuv@T}(>V1~#-U-G!4 zn9dl+Yf1VYy}?Msi<{=Kg@yw595fDbLSUQ4-zYM?!b|IZ3w!^;d*NA=Foo|9?WFlP zn(MYaZ|w;sy|AkXCrs6#4`9d#&pR@oQ<*T=$Zb`Q{}8+W8xa{`pBa+g$}4;ZUTfs7 zYZ5Bh9QO{I4!Fb01loNHs}V?m#^`&q-kvL}%Pk9#OSXsq~V1 zCDF9nV%ZB11k)cTNwi8|4lK%6@d9FwpZ=MPtoH;2qJ5>ExKCC91a$*L>%K})%B+*~ z$(?)YS|OvBj~bbOoP3+P1pS+c3tCci8UkUWlyP1oz987SOfSexHZ(;)s(uN;AVG3r zE$SB;4cW@Uh9^7k%%iHOpg|>so&X(UaPv}^x-e$D>ZG`XpcS^fdRdF0dU-`sGe>S8 zjCZjKNHs?<#eSv=_8A{d8C)|7QWLhhuQcC%R~G*;J@Uk*TAnNN*+tsv@(hSp@!YRaUYn*oq8#F4EuiXN#Qn^r2n)lC#$&)8=PyB&sr)d*Xzy4;D}QGQ_AWr zhm(h!m0MoiP49d^{3zubG2L)S3bqHy(l<`kdcfEmB~MG3b8bA3i(c5XNzvsG#ZF2i zpdW@bBmghDb_S@RhyHUOT?3XM?B9QO;Pudt0jU3I|P-Z09si-i3Jr!mN)5QLru{Z2Lr)?68o zOa+RVayxk0AX7Fml)W}wqOtqNo;Id>qVtd4_ggg958yM{cYAV>W2xbHW@^7lVeec} zFX6iHgJ%;zKTn#zD`<2^`Z>+tj2wN38y} zTW{2((G;e+T~sVe+l`@n>zROwN4@@JZuhuTrq2w{xJA}8R4zOM zEUw@O$ayvG55ST_hF^2MB!o8!m3F#utd{ur*1uPNP7nL> z&D%3)&NzW|_xYA6h&T{cR4?O^C*SGs8Ei!Oq|N*EuAv;v97|X~y2eTuSe)$tgQ;<< z^)DyGnF=U}a=1Kk-TbFurq#>yXFGAo+utLtmS= z%)$knL+*JU=leJLgXca;GGI&4Cj)6y)|}Hn%^*P&6W{jsS8s-jWER*>zdwG5~4%^>1PqX>8 z8|f*Y`@sHhhhucQF2m17gI&?aM>aPp!HXbV#MJod-eNSul{eGhZcn|%rST`IqT9T5 z`^7XVki|S$)8YDK1?&oLtygj`ZnwRq289urG)pn)&G9~$^=Safu`x$={XHdWXzS=d z?R3*C>6ns4EIF4`@}gU9iE~NNQg!)Qb8`KnszUMUdA?0f70burNP*ngGMo_JCD(4e9kT*fCf zSHA2+3U}@u53LhiCs4W+MjDxA-Dc`0u zKQ2hv%4=fJZxE|JR`_OnUSQt3A+PgWTmF`EU6voD^^V15>=?2~CFUrW0x8l2Ay=;Y zRBp!!yC;TPR*RNW5PbP&4pc-V?&LrhH(Qe>A^hy<9GlUi%-h%v#LjQaqhtMxN6fXE z6?Tz%Tnq2~SUs{@p)qRZG;TvcnMRtb3!8;6-0J2tQ4d;U-KTTo$Td<|U zZx_Of(n^7v0J;eaLIjd+q#tQ5E*5LaO_gZmPn}Vy;?RYkq!q%va;7@bEND&vP1TYY$AJS?{&Yw z`u%?QU-#p2|8sTKbw!G~oJkYizJ-#G-G#xiBX6Y}*QKR-*8^I{C-Vha@QDF;vPJcdOYx$`CcTtP)Ud1)X|Kt zr{9OEnqwn4GW0NRb&nxwHEHz79Hw>hpE-wKSa=NRK*hFFOA?ANV~f*bktze!UN`Oi z#Bl_f^hRFJ*N(OL;1OZ3p!nm<@A4lhIC#Z_;j@p(D))FnBSQQvjx;%uv=4g={I;Um zG(&lF+W@>UV1pbd<=cZ;g+|r=^<^*5Zs%u6To^VJU@}7>91!vRX+WGpD^5piBw2w~ z+Jg{uPL@6y-CG^o&zRvQaKVx3Dsv3vK3)IoEi?uBZ!AZsC~J-60Vjw1qFOd92M728)qb z9vSA<*(}l)I}H3Iqr^fGSB83h;$g}gR(imQQpMEgE6a`v%43rxQ`7Dq)@Lr5}({ASsQpfxHN4R>W_EBg^E=#r?Pyj66!!I=!H%tHjp$i3`M`6mw@( z!urYQ5SqZ0hTwkkqn`>SYfLcZ%B2K?VM*aE0MP0=h)S$^2aq75T@X{Hq1hkBqHO5o zl(QTxJJRoDkz_CGkL^b+h=M#c#RaZV&SO9pURwrgDCaR4TCUm9kuO*D}bQ)z(UF^Wx{N0V;LWoh(oGg`%Yjc6!HO zc8%&blBSMZj|KutB)@OY?yErIT_s=-W7}s$Nu#gv6P7{k$c?6bj#m>xbOO`*&^j;> z<7uUAf&n#hZ&yI=jU6_qU(YHl|89t#_==XU301Fg5!p27*I1T~Kqe_8fMMl6S~Za+ z9ka`S_1!Dq4Mu(vIwWbccSTGTvvU28ewUuuNtxQMUOZY&g4n${`XLt#s3M4&Jjfv$ zc{;14ulq_!2QhlJ1*BdiO7KudQ7gW9Jo57=yVO--Q|P4J_|wlz|ATWQA`bIxz>|4? zp1>h02AenU<(~`nfE&q7aV&uITf_@j@c>Wjcf*-Ty6HG)2FAqA8Ri^%s@It#2-r9? zP5tXocIKNGh4aW1Zew<4y4Jm~+U+EBv7k0SuBD_s6@p{itS(--YYd0L`7BDET1NN31sPPvQ)%MaqaxjQVD*`h6&rEY(8nmkmIPr zpskVXBs9n}0E%rF$N2*)93ri+0Au8|y4X}X2VQN2DQ4i#i~3{O4@6NeLlfSawqHP_ z5y3#D)?>lXP9`mmX4Tq?HXi&F4x-YB(mNljSRQowYO!UQI$uvuEY?9gs@rz zvB)CrBXW&va6@hqgf$~f2D^rHV7@8ye=cli_%L62wf7zJE&lfeI^6&okfPE)cqm_K zefMcYR-}giOc=nB3cQER#Tz11WOdcve|Uu`hUtgqMoxAEPc9w<?wJqSg`a$_x*TL!<^R(kTM7Q6P zv~>lt46{Dix)`k;myXm5Q}emQ1-mCJC1snnRd+4)FZd-c_+ z)voKekkBMDt>;{F2|p0uap}0(xeFfx@q4ZtIAJ_T4KTg|oP^N}o)Po8*>lY#mt6k` zjc8G3=KiB!ZdzL^d5@3@f==2Dt+bNf*DlRl z2d9PJX1WzA%XyHpy{84#G>Y7N0B8TQ0cN=i#3{*8Z$perO7L?SmZzr(n8Gv8h3v>q znGT#;Qya(w-)1c6Lk^~|l9x6l)|i3Sy(cJ(mmRk!FTf%MG5pvGSw?|~qTt3LGMM&~ z6|4KICi9o$9EQUt>)Ff`qYjUpFC@`TTS4X}F& zabh#^o5qKI`I#|&%!?F~g5zm|Buoo?cAC?7n>m>2;y&?bYd?W&wPLlFc)Hsr?Ai|V zyE7+DCj?c$SFb1+@*c7%^1j9Vhs^76_e~6+A%v5?q+R=8A15+QcNkQQg}4}*y7MLT zV;hsNjg%Z68fD(yuT&n@PvRFG40|e1T$oC>S)8Vq%mQMuB7eQ0>|Ca3BG%$%-dehgb&-xTP-CInO-Z=SP^ zQ<=VSANX+n!+0rfH(k)%gy6wFx5eJAEr7gQ8cm&1i9gtiPM10_EmCO20ORU#QB#`- zSxsJceNk5Qqxa8|F)sN$Uqj<9{`wk7+Zgi$mgQ6@Kkt%-3sJqEyH@55((?D3zU!to zwo^Lv_g8A4L)}$H|1`}b!7Awoc5#}uwJ6L!%rgWN@|kJ;WCx6;ZCRXc4UIB?<80ro zL`nFPDLc#*OflDH2m)xIWjsI>vJZ0m8eJfi%I!$Lo=BTx%7r4B3UP7?;{_<}+pn@Wj`C@)uq&y$O?y(sL1r&?N09qb5-T4IXA z=5$RVsdq0Lm7K+IcT-UBFXW(!Na&vS&CAi|UqJ1uZgtuX>k44({FFy~ujzmvbzU>_ zfF&}%eilrrlX4# z<%ch^hku+U!{A+Y$64>Wj6}gbCS>!aGnVNc9J;#y``#pZ$}VIdr7;6mBCyb=a1nG4 z>=?|G%d!dzbicKxAbH_-mjF!hMNjLp3>AnT#OQL4s|M2lZvnweEoR{c=5S-YTZ!jDkN$Imr}Dbi$mMm9yn7CH6}QXXe~Jf(6K z3tGMg-^Rn@qH2*VcMP`6Ae7Lh(dEZ>q|M}{;>$RO+2wM0gY{%N9>tn_T^j~OF{Na9 z!bKM18mKoO6Pg?in4>@ZiTv#-u9GHRC(dXxHjd|I5Xoma6%_q@HK|9sxat+gu91cT zjde>}#a#!%!)?eAKdJDQ2OT?&NQ@yalO$&6zn%?4pebQSY#y$|`61X-?yzX89B%FW zE<|r`TcoY(8N;xG#Mm?fYLxW}F{Q5_15OIA(j3g%IKmbaL+8*2j(;vqOMn~?#tu$q zW0WMdUnwh@$>Q@4kqxx$lIwH&PP!Q0cZI&7B!v%9Uk9?C(VUuNk2?!1v-uG!RU46>?{n< z9bM`9xWLEsJm;E%S1u~uKE&#cHtDuRp0gtS4GU*EN}RfH2E=TTf=IFgU7a(_a;@=G zAGYU4`8)%mZx1?JsEYR7-Q}3jJhYm<>!zc{YPMrk?X5KQ2W%PUvCEAiWp$)tseDzR z2gGB}=Z!&9lah{1v$k)2!XuvhLgi=!CARCVLORxFd2JlGZg5(-r9XLn+t5G{7ke7F0R@6O-^m zW^(a;h)*lr2C{n}tgwN_W^{$2Zn==U1?e|$tpYQV>){{uJ3X{<&`4E7o{s_cuXPVq z!lCu%jg42X*mMX(NW|xP03oihg5`LFi45|30Z1mh^Fi*)JxP^D7{$st>xPnWwStj- zrz4QPg{1jZaf^}_CG7q17O%=YOju2mThOGhrRm-0At!0xe=LbTN|n37B=L@Y4+0wlwxQ~aTZl0|342%o! z1Ve&xf3{(-hS+jpD6kKkTu}Xxw=KWV^QggP;IEkb%}m!TW}Jf4xGKd6O00y(qTnww zedtx*#yK!hm2n{1<~RuF!}?U}4QYJJ+hNVe-TeDIChfy9B+Jt%z9)serCa4I6zYVn z2Lj(+f(}?F^G4KsNF;YGHZLT&bX0kfvH2n+b+6u_{4tw5?+qP)Yc>p`UgxLSLvmdE z0qm<4hwpiEC&^BN+4>S+*C-)*{eKYD=?9kF{-?>6;ixU-p3{!HlWK)elCWyz9!R#MpKPc`wwLE!=elo9Z3It=8L^o|Ud!RC(Y3zQ` zlg6R_gFjy-#If&8KNfA{CckGFoKUz#jAN{piQj1CHuxqRq6Sr_<8r{e^0$gL!@VfT zsegJ6edp;3+AbncuH5>KCwvAP1@NgwW?0M0wR4PM!qR#fETzTIlFi4^U$=R}Fu|NL zhVLcM8eW^Qgx`R(pL3Q;b-AAeXp^@JB*t1$>9Zf~R^ zUN3gCix`6m+O~`Z2#KXNz$9ACa=m?6nLjgfgn(`mlALv48=jXg{j5g|yWyN}0{;=n zYo=%~B12rGR>))=2}SItpoY;`To^pdQmy!8Li^$sYjBbRsI z3TR*hC>>TkaejaBL{ul#P|?5fTkrcCHAsZm%*?VsMnnJ@(JJ{6O11T}Xl8}$Fn^C8 zO&@gxWt)CrX*WVtD2FzRW@GO=cJ@=_C+%oS3@e%n9tZl2ca(W73ERzz$F-j zM=JN0PXUErk!Ft}cmtfHcqTZ}o3*)ClNvsTk#DVnTTPSBhZ_7Dd{G^J1q zX_>MyUHkf{wBF^4p^0y_7pOLr-_+lSikpzQ z?$VJTUs)=>6FOa6-$roW4TjxUSi%ly7o{E8X-g%;=6;urUf%-N2bOn-$YwTnC$d2=&qDPt1YOhLpM!c%Id}gZ#nLXkA&4xPqd^ ze6`;1DDp;O7_yWfc0`yuZGmh#JVriDT=>~5#Kj{&(&pNvKIH@o;qBPRt?Z5XZU$jqVvJE2&_NCfqKbzBcD);{YQ zu#*)+fhC8Ff`x>hb2~^^g>uUGgTVk?bYtT-&h!Jr9;SAO1b7?zPAcj_*ACf8IU!FW zEy)7RGtj$Ng9u(X$A2cUPG)d~V+9^{D?UlIm~S(5>97tfeI7CayEjV2@SepjPM;%*nA^c5m_Wn78q1Y6LLvTRR)NH z_tOak5cXnZR~(QyR38~csZ8kxKFY}At?-N?uXP9$4%!%)lW@49dKnRZ)!Dy@_TguxZT#3m7_$pPBx|BK1uUYgq*n|WGlHm)&v_Ikp6?Oe1_vAAa z7HN^NpTc_q^tz2U7UQK;fL15*K)pH#7IJ-3FvbyOFjvBt`+NddzPg=w+6eNgN+jT10oa59*u zPoBjwU#QCMS91HBHO=rYBq5a^?kr?+Zo*6Q5J23B{mtk?mm*F}GnR<)&s>Twh+N!4 z(ut+fKHVT;ObO7X8|7HhWutrjNOb-h`R(n2XLQ7_y?%1RhdwFi1ergiOu)Nq`_z7q zc`9%6mt)s`o@+ua&Vbj8OwxJq9|3Vt(f4kIMa8dl0%~LL)b^EP7={uhq^i$k49PTC zye6uzji<9wj2D6>_QJ^vSdjJZWyCk)g^i+f@5jQEtoYdy?B5la1noS=E0nvTNYpA zQzffE>?HN{pla1;C`p-y)SSrT_JdFOcJNWvScge_d?9X+y$~_#ig859i35}|s&{wQ zyr=d4Z=$XWJ1pKCcJS({r90)$>xwCZjkNKQ8Xo0MgI)+Jjp}nou6`s=34&Wd`jV^C z(sEupP58bhnUI9ltOa1}{~Ke$F^P|d)c}}OoXGxffyUlWhImu|8CL%PeEDMo0u<+a zZK0tzQ6>@O?E}&68dr0>UP6vg{M!j1yLbSUNE|6$=2I=`2^0EVaEnIY`o{S9>nHfD z=pT{p$M5k7T9UFf?%KT4SN#JUPpUom=mc>BK*BUxRD?-&5oF0Q7!#lTbW^tHURQ9$ zW3Y`_azOxMsw0|{55W|EQHj+AE=UEW_;rh`w*QgdA*s}qHMg2{H^PU28u6#fkP$xuk&_^nIVp&JbdqOo-%kt9RdZ`>Y7*GDCyqqAbTURpzkB?saOtIu+}Z2DJzUH1*2sjGREt>a5oc7 z4CdGy%iTp*CG-Arv^!3!qedz8w#CSlqiiW=971ulPaTFN)Bab5Tj*MYv!=7yZSUeK zEy6%OD%Mk&iHA!eN%RZAA0EjvQ2drCwd2U|n# zF5cn+nIYM@ZlCGv!nQ27tJ|PH)LQ@(n%#0QvL!XKT%V?jBWN7}X1u|*^!+?@aFaiM zUrc?AM|(-?k&L~gt{?HFIM`cW?=VCxKyJ%QvwE=Rcq@Ok#u3OJh(mWw?mz5KyfbRN zZH%YdTkl$crUHL!$x6>>s#|tDhJQJm%Rk9wFTLei0(E%+KNBX;W2JY!L7)tHqO3#g zibgt?P9+xk=RE!mP{2X9Sln(1k1p3HqqW66h7Y;T31+x++{xh=72*B`0eH(0$7taj z(`nG1m1?!6N7=>Z0`x`Q0!cC5P>IlbtbiC)<=`}k*ZNdB%UNeblbiCs1(R#>BLez`D6Wwj9d-z*wn!a3rX=)qe!UuMHul~ zs*=;h?3B-(Y0S6QeDGFPUROI5z;tf}(~Q+Mf!5phYeM{_nU3QnCPsxxHK=$h9MqAN ziT)jIPC@4SGyK?H=?Brb6nrS!6>mjBE~z)Rs47m@3@v;e`^?6F;|J#lIs9-~hxc4k zg;~J=3-2^SM-O&y6wR}Wojws6aQR1t~6nE6~DMDQT@w zY4T`K)oA-R_B@g)@qyRFO@bz`_2BR=h6+EaJ$uEMOmIU3A_+D>`^(H=BGkHkhiZ$f z(}i}Z{@!dOPVm)Pl>m7y26yjd`K>#b58sy)Fr0+m#qf-)KO5NpsD9%)RR8iCDAhV6 zp$lvV*gJ(;;L6p=&%#VRY!*i{Wu4tw$?*S=}M}@pkUt`c8h#p_eUP5q+$&T*A;~SW1G;y`JTFgk_(2T2f0kJib zsX7gt$n-DlN*`TZUm8zIrkyJiT5Z18=kB@!jetCx=+xTs>?O%Vwg?>=(q-4r)u(f& zFCP3le|X-y-UmSJi2DDL5d}JBq7GoN4|mDRH$CFV;1x-U(?ypayy&}9I0^@ZB3<&= zQc{)mK;1IfKLQ*n7rYn@V@AtKcfDGAj9gL9Mm&-gxWmVTz0gHhLuOrII0%TBYGM2$EA;}(#?CRThg;L7SK%u-mMA+8_ox$N{oB!Egi1`F2w)tW2hZuS)Hv+Usju-(onL`3c?Ls8?Mkk5%8=TE!O-hS7h24NY40(Xws$ z0|on%BJ*bov!0cMp}~AV^`xT$`QHQA%3j#`d=N)Y@sXNXKbz1jQ!x-adhZv(f*iQy z+#p(02HrT=^#k7%a>u8puFHR_PdS)eEcy86OyG;kv}T*2vQ0g}Ui zVj6G*X8H5Dg5orL4u~*jyfL~TUVGSqRGf#)y2)F4l%)5jk{M<_UXIP?DQL{Is&=Qc zKuH4$O!&0xT+?ssQa^aGk%(|{UF;>U)>Q;q=j+}WGGlRUi-gGTXC{{2^RDF6C+tJS z=$V2p!_CN)-PHlT#$D@+HdeE&yIzNe#bd>Ym{ZuMP#nW!(&okJ&G&(93*v`Mi>R)8 zyRz;3qgTn<#w8C;VGgcPOXI)iT{~i3(EgZktNWY_=pZAHRg>>=qOoUphOGEuzj@KY zTuF06U9XR$6PE2mKQj*RP~$UJ7_6MGnVDQR$umC|nsvr^E7Q_^SQ{S!6#`8Ci9+Wz zVd_6OT#}P({qrnUK})tXb~Y{S2in`N!+&Oahl3bzV~wqGpEL*90l0Sg?cDmZ>GHgXcda?n{wY)bjLc7FpUpRJAWnAzioNbZkZ^tX4E+N zV_md4(n&$VVrX%xG8+^e`HB~<-On%D8vz}PYh=G6G{VRF+ME^AtlTaCJHJw>I%<%Z z0-+Y<;W(dvLJ)~w^yN)lL{wa?PmDz~s&tH;S#~aj2$mMG z`tq)1K5O_C%qQvMY-cn5?0w(L>&MeXxTucJt$9#^jR`>vYYj5Hmk9q8#dJlRhhN7mG^B8XsG?-%f<9gX*-7eUQGO8pNnfu9Vd<{p~9PiyMjJFfCHn-CLS z2QN8Ygv9VlQKd^HY_?W1+MRcdPqvKhEUPZQWT-HQ-NIomW&3YO%a?`_D1wPfBKEtj zOZ~@@G7CsB{gpt{SBh+3S!&j9Z**@s=8itusXnRn1~iP+Dh&oGV~UXxE-FC-SwAGtC8yJfq>Pk-U`*7c zhoQsbj)+5~(E{XYmgws|Igop7bdGtAt|--HFMkBydMz)_WY4R7o^JF8w#Ul|OoWi5uH6Q6%?>_@yH&ZlYDU@n4?e`zc=pF+lhhXYuNx1yT&$r%gf30zdjx*erh@|Ak2t z%^ob)h0$Cqp~78NeU3CtS5cw)WV>-7cEDz(i3EsKrLN+8DEp(aI*_-uK%no8r?~mf zXz4^Q>;_fxoSC6G3|?|+)$&zTf(gf2m=rC~vXZey_ZtaUx$J7O0*ZH^m(7=9Odj5O zfv9{OB+sQ+StgE8g)emG0Op+c8*FW9*0^S7fX8_4~!~y&oGy;8&n$@tSP# z_h1V<$m^w%%xe33PO$5HfBfSfEa&~kH(*%fR^_5ZI0e3)D|IU=qI9>wbqi{cmeho! zB{PzHol7i3qx;sctIgut=~cy8Z0CHrvs23|6h$&w7Yj&@a&JG&KA2jzxt>x<1QXgK zihr|BmNP1RNkaFK?luQTGAH{*d<$eaD4dA>s-C=^3cT}>KOL$z%u@lAawU8BaYFpO zfEitB1y?~HPSh7mBAF7~%+gs<+q$yeU5c@m?_D1SiQm*AV#g}8=O5AlnQAnCSVi+C zhn6s@lfBOAi>-X8)@bD_T|ks?&SZ!V^<)g(iC1uc{f&|5w$A52G^*?3>+GMzZI`B4 zJ(Z7@A(>2KL01tN7&`0AB-xd`Vd8TNg>75*l;C;PksWlisf-_S>0jCtm!5BrgiZ$? zJ&kvJz^$#$l~tMT(3F_y?Lhz8pA2_BX^tBPB8e!T9P<9k=eNEeW{7bE%7&tu0(9q0~b-4zV*xsoC zTeWcj`imOn6JqH$7;wQF%25pFp7XiMLWx;GZQ)t$}I_XpDcOUaJy`%G;r7!jSP*zrCS*y z3OII0b{K!bk7!z0kOx%N%FLr0o`57+^;6v`!!0hQEBka(E>QHn)(gUnBM_bJsT?i< z5=@Y_94?BX{`S&8F%10Ar*#7{sAd%5Pxec1t#m^?@iTi-mXA}z6*KQXAbQPNUyGE#QM%|1R(4^#2rd*ow!`zk~Yv*lvUH=ZD9qoA?!m#dpU6`%}wVD====;!DxyKWYwe zP!n3jUCc|Tc$sOX@APVOuFI~n7%ru}X8@3v2+@xC!?ZaHDXq|<8-4i(2*fBwR9DHh zcV9ve(G}mm&#I^X?%%u=d$-(sLLd*^mE5W@=*Q&B&Zpn;Ifp)HQza$~f*9yiGQ39s zKcUoi*`-MW$W&z?=)Yo*s3h^(41p;N4 z>2?miSdMCmIS|{BZqBiCNuMvFlt>cZuSBf?{#IW0C-J)6X15YQ6?yjoRkJbLq@5!u z)nzJU)DbZ$Kd?z|Kte^v5%*YZ8M6%xs{n@{i5_%|oq~Xe;JYz4o)yU|Q@Xa9QoG{) zfQUGjqgnp!(~f)wp9gm&;-chzM3+eNPKV)A>BdH&kg*C+gfk_v5C8jlP-r516;3A^ z+fAe%fLKe}a{J|>EG>%9!5SV_AXdHR+^_SDWL%%P6B(XktkM)8b+>$eTJxvILn2sl z7by?WA4wU~XJ9l8TH!n-1alFQ`b>6+|HwDtPF5kuyV`O7lm(}AYxk_Ylx=S59g$BZ zn~-TlNlkre*mhW>X%Liunlvy$X9tb+9XZ@icZ=yfb6w(Y1S*2_v5C4#5 zNEI|?qA)HZoM&N5fvwyMikOWW*NX7$%jlgby1fv=gYx1KEq zLZ4&s_>4-nN;MBG;$77@krf`#8I|qdQd`%lVR#7e+zMF&%`uzPtPM zaMtaZ1LT^P6yh?oNT9J-8v)c3=%G0YX!;7eiro$;ndGKmP%f=82XiRYX2Qwg*NI7` z8+KFo>l@{N?f*<7plfgW1BikD9sX|NuvKZop;AU0XtaAx$t;+REuvjn>L`p^W=#T{ z@Cd8*Z*=Z+uTYmDOvNx61YUs>+ZQbkoDsxJEo5pq{IS&cbFp^Avw zv@tlTTPA9-G|#`7YrI%C6=eQmvAoT-s%xBbL zYHM`*Tr6-{)TgIJT3Y>m_GADy5YS#M*21bB;PnHJCIyn$JGzlLMxD~GX4wO~xVF~U zo=3Q2$s@w6nsNaSfy!JMY{we!M`PJa7i}E?5)1}y$B*2ik3 zAb@Q;$lMlmuXefMPGpzM#d)eAd%iWm?2asH8Jx_m%s`onNf|r(>u7?CsKBB@)Ta8S zZ~afZ_Vc9826PQ>Jcf@caYhdPOvDY;@jX3LW3^Z83%70*J)LIP(Sikt z4&~clS&No$fuT*NC`EnwLtf$l|0NwRJ6?e{D^6-oE8POSLa_|bkVPwQ8*0G1Ot<=F zO+R#fz$5jkQQ$$m?r!^Ev4#?1;O-iKXqj=|%nm(lJ6q4Jy;b#Ww78pvcp5Z39A6)w zypqJ0LtZ3~5&*cvRK$dKS?s{woK~<}?{99~JBUkCb${rv8}YWp9{u+$Kvny_+%H#! zT9y+y^H6Boe{R5?X<-uS=I$2{@KjuxiB4bHpRIThSo#oNbKNUwX!xP8hpqayCHP_5 z5FjLuNr&kvhSv;SyFEh)j#3qT<7!r12#&$I=$|DG{NY)>FkCxfAsPgQci~ea$f{_k zqfV%>l6(yyx-9S&jy|$z+u1h6tpAPIFu<%oN@t4!9YqU5PwM{ipex+oJ3`N15L$#t1!hP%V!XmK61&EiRJ7{bJ(67}W_Lt^Sqf8hNHU0?F{;)DJjg$>8*;wqJ&2 zl>#}IYgx3mG1VGBZfYv44Te_tX;deh9wr!ZUo~;LHs9#=vyZfafWQS7+wdg%1d?=R z7)W*PpY5vgny|9onphUYlEY<*{&EolStzFeTNGGfKM7tG$jYxmvUFai&C^j{u z!i^yjk+*&fMjoGScH$_wx*m@qk-Q2P7&1a38Sl(XOH#Wq%1Wb;Ff{&D5Jp3hb7mk_ zwFpzc#L;jn&+EaFXN-MP;MA6fJm^+zVY}~>4k4?-ik47%Pz3Q?9kiS&LZ}b3ejxwo zXyi3KHKSVIxeXSpfTxe0!|mqym0^dE;9l>X%yE-*~>G#pVv%ne(MI&}32pIbc zHc>>5prlo;Y}aa04eb%kJ+JaBhL7i#W-ldsr-}a9^U|txl<-2a9!upSa}KTQ*Cz7c zB!4`~>aic|&${w0XTsHg&Ep(N%YLNfK8ioDRJatQkyKQO5VO>LWJRQat#%fH}!_WHL{0mBe#E#)9PH0C~j@UlqW7 zm3(i16(zhZ>S@!;CWFg9sw_hapnY+v9%s(Y0YUB(7Ie*--h)cuJKti0UOp0pGV!cP zY(s&xVt$3`xY7j*IFfl%D7D=K%l@q^(hZ zdYHS!`w!Y~1;7@N$Cu?+lpcldoDksPoScwd>DK#SxWQ7K<2%OsZ;OwQ`n_U#t^Kxy(}TUcN(9ILm)8{Xx4`+s1%V`8Td>-wScSxuN4EmG$xA!jFqhx%5-w^c+#_n>`<2u@n?2uL+Bo4L>-b4z+6JvSdX`hg!> z-3saMX}d;GGO~(8(hjxB2(RjP(AEQLC;f5u@7elr{Xj?yLlsL z;~W_?745<7eX$gFr`pXc@Ez2SdvjbtNYLf0MZA5}Jj$nDcg+9B%E15Ey{R@b8gl-_LP+6{Fh?g{ipzPq1-6sIZr94Kk zFZ=p%E`P3o=_r@vMtgR->(RaseWzn@YSHz*DG6Tg4Dm-eEkZD12g!?p2vRu(#FD{4 zfsfA*YAIZl-z8Y2Hkg$V3W zgGt{y&ohkw+n+P_J4D=>x$YWIbmd6>rs1VOucXT3r~crECp;cVpPQbUVh*mH+L8#` zPPK_GGO2!4ZbLzNI1!_@Fc~1su4OoeeysbjJ~(3M)EebZHxi0OSgiQ^BQYU%%|;m!;lq< zeI6KD2eU&=Y=7s4u0#3EF^q02;|Vi5Y0nnRkqR{4DQhiK$@g#oP21a&|LSwB%&uDf z)EYPKH~f2h>HHFGv`Qa_u8)?1WVq%>NK1gsCBszqr4QNPCVYKYs0PRfq4@|uFZLXX zZk*`1NfKYmt^4furtR`lj@wa&0g^JG`yrqRiOz%9_@)Ssi7MT4KZH~`s8*~OSNI9k zFM?{BcLf{Z3%}|&lzI&wA|)j;ht)MjNvy6m=S0PWdo?)&oErUa;hIyzY+i4XEn96oWKMS3(#0ZP87 ztq1MyLJQTOcvtjg)AFW&kBltb0$&`_>ifxU@7g+dLMEnQUDGHq1YoXZ27U+C0q>UV zTH3uVd<>WMtx+Vg1PjkgrKNigyXp&#DloL$DHMtzdl8?7x~QmQaVPNj-ltj)YK2_@ z?ORBDNhX#mHZfCKyq{SlBssSZWoN4xO8NmY`DjOh=bXbaTE0SJ*#0A(UP*& z+y=3cHpPRVnXCq{n8m*OPz`kC8_!{&dEI#C7Kn3x#!SHh9J*EAL`3XyyXoiTX~-?B$s>I01Nyq7fv z40D8d9g>LGvja*a<^g-_A09V1rR6oT<(+bnMYiX%n7dTArg}dbMj3HXE>|z_t*Nve>U_ zY~OFVWD=l!WnGqF(u#~pF~ZyUaDpcH!%VhV?>8CT1ZT18mgx2Jn`A*8ii~6EUGYHc zTf$or0boV0)wA!Cvk4DFHcUx?yw6KNL1w8Y$9!BqcEuYpPD*IkLGvTn;=8fzL*FsP zt~RqLLw)W;)5j;tnQ0|q4rH#0@jD6rE-3J=%)b42#WayS=?~Mv4&<01JfK3>=(vvW z+F(191*;sg`Uyqq5EW2su)0 zm;g}QTWAix;|N^Eqm80S@4r>hXAMPVX(O`uFwk$kgrftK)_J3mUV*&oJ4ftG8O_c} zm|;n#?OuI@txOX~P)^;FsWC+=-L~=;*`E14LzLf5H}qykzs|OLvb_qHqi$XnP?GGI znRf`lcjq?*C~Dq!{nlk<=#B*`1gYP<_PfnAe0yU-UeJ5>9jy&Ass z&XlO1GNY_j>2~pG1mvofQt`;eIT#!E=9K)+T_Rs@KYEpni0_*KFm0#w-;PWW0-|fyo&xCLc!`i1`^MG$O(6fPPMt+T_l zQ9mLa?_7y{`>z$;B!X35{%vD$Tiwi4v19qPwKfFU#OIO&sVISs6}Ug^_qqk3kWd;F zr4ojqEwTs+kLWBlx?Y9N0r)s1|FwcCPh`G7>5R21ou}e6jHtCe-&RBj|6f=H1g68$ z>2s#Q>?T0F-`wLc!=!iU5zERWiF?Idy4!yerS`TJ zi^Zt1=U)@!Lr1(B-UagWsn)MXjcr%G?FcTyL1V6Ek+E*=zL@xRK4H(QKxdU6sq-#U zE&SHj1`{CTc&+?4uEQ^%GmAC*FW6rAoD>RJ$pSy#q|eH)Qp1MbdVsWwDGl8a`^i zhMI0u-V&W5;HyMjwW>*!S{EW^lBADN;dvK3|By}pH`JD3w2raP_fa{J%l<%wk1cO5 z&`J$avR!O%QDrYH&%Wt74;UN(z{rM)TWJnYw>*K7Y7JcbGoxhdQ~1;P=MzxBp#GwX zP+8%zHKIoh^I%_)W|YSKH}5s~!db1uha(=vk|{N{_+_+g1GXJrTVC{wHU;fM9^g2+ z`F-CCWsnNlKZfCkNiVq?kS7k;gvuco(ivGhjLBG|XDx0OR}{gX2nIq$l+-X3){5iypMw2VlvlU9sWsX;T4Cc^>%j{4 zvh!I3J$+u@yy>{U2iEAu2*+2ZXA^lWllL8vF0$9mk6)w@x8-KX?Yqac*ofU<-bRIc zjLkRAo zLTSjAu7n>-9vZDC$r29nvSX)gjO4Hn8Y56ENI>|p1|8MOLPideTQggvES2wsMh7*0 z_>`^-9A!@kO^yX@HB7)_%jk69sQ`Ua!TgP%TUjO0kOMJE*cU-G>03kgy|(0Z{ZSn~ zLfT~Yzpbr`?+i4D2B}+MO04$66W!pFWV_B+>xJbnhueqJR9lEIX|`GD{T%+FmyTLGGIYBY@>$DgTIqnaSktxD1iviSkie_&U9od-V&s6$|4|6MKY(xpt#b>Zqg|0Z4H3d<26e4Ip=_x*xX zAl_v*gjI{3uHn;H8J0pT$X;l55WdLVtx&imRX))jsKm?W-WVBBO+N9;yU0T|}I6qY@YM5!X|g}~9YMj5;(&j3^?w6is+qVj zNDA35Rj(i-o*u*ofbhF4HG;a+ON|gI9_U$y0Ch0@*_(Hzb|Q6Bptz!wT(BXcB>o{t z1tg<+PxnD~e>K{(|FjpJ9uFNPi+AVSX#$z_NA+(0KBsbwbn#-y{&0&ylnrz7cIz+S zR}Df{radrinX#LXlklbAgw;l*66O&odsFSPrCIaXF7cd+5eN)Bo9{#!U@N*T#S*cO!?NQgT}rmAf-2txgX^q)93qH<$ZJ6$)fRz z-k;*aKdhDoq)?ZSxt&xNRxf6kYe-Rcz=*iC(CLc!+uYT?xZrApx>wfD`r_4yDOMOz^X>gp@pk6p_WNj=UGiHH`>YbfxRuGfYKVL5? zxhK?)!xeKv)QS=h#f)m#O*TR#pf>ClsR}b;h3D!OOFm@KNBF!^lt7DR;b;A=$(7Z> ze_^yw!9(??b-3J^2eaMEh+cOffzm)r9mcCq=kuu_^IY6j6B0D{yr;urU1*`JUiDqf zGU>+|c*!T9-Y|j{0u=0kF7f;1FO=0|fzQlyJC4Bybm?DPem{Q2TQ0c18ElgDpei%o z{tic+y;_vH*TUX+v!if_8T>l*GRQnR{vWE&JD%$PkNX-@gzO|l$*~KOS$6i`t7K%Q z$UbNZsjP!!uW*cP*`+d$6&WEj$DYTY-S4mKci)f4{m<`rJsy`%UGe>X-k;a|^?JT2 zlk=B=y2=RS$S?So6ioOQTvb7(kL62zB17U(CQDWE_8;S{gW*Q_iwR5b4>uU6pMUP& z^uQJB#cce81Y7Xwm_tGDxo^-(BYejV%0u`AYg zs&u7agH}nD_S#iM+_Y9N3BfKZ7n1FpvEsmJ-{1WNtcICnsW;szF9_dRcaW0N+6el!VhT)Ic;$jPo4|p`i*NXA5%G`IOLy{QlTv* zS7E!5h|(X7Qh1tevi%c@VDLK&yPHd662{wZz6oVP5-vv3D0-zd$JPtuZt!y0iV0Ei zV@$d7n&py4mbLbnll?ZlU^umb#{a;Ms}65O?<^&AO7dTJlV}xW=L%mEtSY)DF>$fN zR%96WGxcw%qubn0c=wG13zS$D)zz=>=P9P_1TwGgfz}H8{A$tkVK`FNh3{76^qqgV zbzJ)E`U?Tku8x&d7aBjK{{Fb3v!FMX~~Hh-7FafyfjSkgvzt|^YB zw^di6QOYR~13rPD$Nb^5t?OHIo6q6+W{%P7V=$)3p7dNVmJbhXJT?8Wtk^toc_ z0HnQTJW^>#>Z?6sq*Zuc??6JT5_*dDu@9?euWHJ#O5M(RDM)HjYOlz^uEL^O_uIac zL2zecOb&J&@Co!kA=Or)L&N(oDYJ1tgP#mv+{(`*7arEd^og4_^p1Y${a*hFo}+~e zc<`e5jRMxEq0Z}W;UPF*CFmzx)*;nGdA2V(zrsd(Y{7WMpui!H`Ai?{V(?PAga{}% zMlX#6%9)MnoLKJh`s(vJ!WH11g>`K^R5@(MWV{LV?N;X0-*C^D=(Se_TtB0^Fm3*j zY$XKxa9$ZfRx8MW&yNURaEXuEfhwuORI^?jP`DK3o&7toi@CT1CuH6AYgQGG=2(zv zOD$>`OiikQw3?X}Ck!QOKhoXSkVyGhm+)O~LIRB+`vpb_19cki&kZItuox79wzi#tC`rMMLA^jq}m?Yb7xJkgMa6_oZ zoq-;QDMv$Ppx>~tt`N)}MP>s+iK|jyn~KyJ+mGV_387Y1uI;j|)g|y(0EQ#iN-$Y{ zbGQ?-)R5Ik3c52Y8idHNo2dkpw=y~d7-w~yiRBI}DkFf$e#eB#Ep+ogR zRp-3QA!3RXtb43S{bMiS-&O!@gnU%-B`teq)p)f*{@Z+)1l zBem>4VkrC};IRC1eC_mgSABb^-sJ3+364^Y~IJ&Lvi^B#`>AwvFBm7v; zr*i|6!%gR1))z>VT4J&6KD;47bR5}64_H3>N}P0uL)yDJc(b4hOeZ~lESzSiU z2*RXujsJb2N_%ZzkX5C_fV1koN5ZOlsp$R-N@*khTA`7M7lNa;G!m|U6QCrD%zntW zY+Nm`0W+dD6`K*6cbecLIzt-BBcrW~Y&14b>2Zur-37-n36&51?ik-f99*?!CarK% zcQX6iowCU-#R_mQQb?_9RhD+zYn=Ui;`|OU@ng1tXKRDv&3@wxu<_Q+Sh{0kGqCHQ zj1+1e|C|1~OOffT4rbxX#dZ~rPJ8ss_?lVKz>VM!1#^y?KN&jZc7v86_w2d@d#?s? zA&gZ92(M_hxXrk5`_A}M7}wx*Y^VRT@Yj;tc32K`O)2`5r%crnnCpQq!YmBYx(Od0A7>5V0Q47 z?FfIgbjsi>3c+odi&%m`A{rIOry-f_^MHe$4^(awfkcn>G?tIGfLt_ZV6H@} z_24x81)vA9GStU(zJvu~`dY)^A2FULLPhvmGn4Cae_$*}sopQbFJ|Y$G1#SJ3F}|iD``v;twGeR z5}yLnY9d8r?-D$J3t5F!m3Pf;JNvvHbV?JcoG|4Po350T3u zAu6cbohzg*`-{cNkH?rkq*|g@<&DT@PVCL2%=EMbpGNUnt8~K7uyJSlXvow#vW7Eq zJ&_7uZ1ukeb=z{KBr3I76?Uuea8aSh7F!g*CnbQDKqYAl)yWL1+4cZfDOZkJ8CRMMOq~=X8zbxn zvOXnvX)7RtR$hoA80gZO>w0c)zWa?5xih5b9aWEOEjc;%#Y!0a?F0YA+6{x*7XRxj zKXh-@pRbU+@a|m_et3cEk-TRBm{I;j{sfHjnf9_P*%}vU5r=n9qEm58q|QjFGu+te zcEEVWHP9gl58vP+7hpl)TC&3l^|<$Q9r)n>GSbazS@ooYaRiJM7xGj};YZ4Hf3tOH z4bKgOvZy9z7QSXa1O*w31#UwcccH+B_wXFowFa8%#Tq>d-ZX$0kG1}nhL;Zv^CgH% z%CuaelX9f$+ilq-H3^EksJ`d(iFoHBUEA6LNlcIF;6hc&0VWzia|>f=IGb(EbA7-_ zMa@myocvaRLx15e(nwzTviR@wOdWj@)VX2xBs=+*WO)0dK{uD~Ma&GRS)Vk^1(YM3 z^eo)POXJ*NSm5|@)CrDUj8#LqVKs4iFnfzFD{~N}g(3H@h+Ie>ECP^8mzL&fcUxGY z)`h@*qq7JCC{zd*Ue&?kh3`}13$@bDsDra95M>P~bnojH-st>ln3My7xa+138?m9O zA4W`gh*AJoD4_wCo-ffdq~6CYAs37Uc56m(*nrYk`Q8qGQ=h5`=PPqH7;jI#j&j_2Rgl{m{PU zWc(0>3G^KaV*@D{)0%?^4c=a$h3Cm3XK|n;D{>GnS(!+YM{pT4Z{68YrCD^$k5=Qq!(B?RC>!8E`F(6BiujS z?XQpVcly9NB|2-Y8tX*2)s@uF{_`yZe+ z^>WM)+j1fHR{3|#$1g-kFG0lfC3vNtjVi!o-aOyDtRmG(w(n96B;OE_iuOlc+=-6z>JF4t6rayh(xc=r%|wafo|LXK|uKNyc) z12~DlHnPN}r1pcX<(>9WnC55k7@Z5Wa5BBnIib&yTZL|w@Mg$wgZ~6GEQRFCZMc%# z!T80smYK`VL`!dU_gGFDy=dJwQml0KPU_Q4XQ({Rzck!EVT{@- z-Xx6c&(%CX7b6`{N!fb7YlN=KLB$&6)JPBbACt^Yi>d;IZ8d1xdNa{y{vCWE*ucA$ z%eiyU68(t0&vc)S5jYgsDj01t5*&B56HDo9-0kpAJIew8stb(*dP+*3z)SP%oDPoS zY>dMxyV`+7VcsYs(g>(ec7~Eu<=2x_0r->`W@L|DS5B$%dT!o6rZK`s$!qR4kI?98 zsJcnmmbD3*gNY2#`W9nB&~E6=w1L9mdZg?Hdy|X25(L#n*I6UTtQ~%VcM@R1_k&Qc z7|cvm+udpzp!$wUA?I^&%J}~TJ`+|O4wvERG9-6i?DXzU9_4Lg1=aLcC<9(B>niJh z3VM90t0Zy<_!p~po}Sv*N=fH)H0<>eP|DH#fxP5&k(ZnagsRGbLBbHks^G%P%711zU5L6t5#Fi+V_1r5~A?BDOI>$o|~~s*Hw>r5~<}Q zki5tQ)Q~pll-ucRNUnZwumt@MgEoHl*jboenz?U6UXQo#*?Jh|)fmq0?WsMk`V0&WS{P`G$iDQaqd|Me;+$~{zUo(2GW^XxcPHEGBpV%l-NZJ zjljtKX_CuJMl9%}YjCh6D8j)a3UMSBJp}IDyvT*v9a%kF&=4ovb^yv=^2Irf;0NL@ zZT-OUI(Nt^=gu7;EwDV8Gko32*t~zJN39ShaBknWqNauZZa>3;iOPD7IpzJqphzbo z`B~Rd`M;I{2OEViHExc-l$9EFTJI1~xz2xk|KWU5dYMN>BLA1vNunL04a&#Pa3IVE_ENTqTLV z2tSSE!f~w4CDMEAT|4|@djoZbULAkH!1p8-)oD7v*1i{tju8F;{?EzCZ1?Spi$P%= z=njipM^h`la;bLtee7mk@RBXdPcF{Jb|^!JEB~^0KrT-H9tb52ORP}SAfMkkk#bgG zKG?Zst$EkyKATO_fQNkc~DBO!iO{(drwBNG6avtvkvAXID*?NC2Sxws$zP^uNVHHYYK z+RmmM09a*X5D7EPY-E%*I#+o9Cv7XKH}|+_|M#gs$(iUg)b0-REiZy>aD9e+&?Wgv z3QD=P@)JlPrj8HoF5jz+DGD}fjme@+Q-j5*CA@FI{bLp31;rHl0hPqO$M19Fe8ElV z+S*5b=kTV*>3wssJHkAq%&>j!SF%!(7P6R6y2FR=l&$QP-n;Yf{8`+oZxafSG~&?1 z8%8?$flmr5ry^5t8l}vA&Z|JIwhmDl7bV!Ojqi|hyf<=k7Oz8^sWOZMLO#BZo(H1I zXV2vkY_cs`2Ib_7cm4oTPCPcp$5GE8BMVltkfl?neO*^XM>& zw~txpKl)d5nDxhamI#!u5AQ-JK;6TtG@!*vnM?(OM-ILQ(f$H1(+B|ksLv9v1&9B! z4&j0UqF)pT9X#v6IkP2FF}z_+2YSjJFbquuj#N7z+n#Uaw`XUr!^i+$KV+k)h?H(7 z)k)6&_nJ|IVm^=z*4wg!_TZ9-VZn%!K_nZ8l)|olXlJG+w*B(+%$ZpKm2vExTqQU+RCMEwhJ9HI zDV#-4H*U>97chsu2g@*wEDavxtgz3O;M`>+Qj`qlHSJA$~X`y`~^ zN#D>vzXISq#H73~S~9>(;}_*RSX;p>m~^%LMN|mL&RsLxbv~~8J5abA6dd_5#3O-7 zVMP#KEC<8OKj?5S8QLMrD2CO6tNmk&jbRZS?9`_B6Ojuk7V(yenj0p$|ztFPJ)?f`)k;Q?>Ef|sr) z)9+tbFUo)tjf1=QzO$3Cs*DtHeSCi$YHkCU5X-l#(XLZz4$SDmOO1kB*>jPqgpkPo zNSRh54p-((qicnix>@1TO&W{UCR}#4q9EMgRlB#8&dvM_?)zJn&`fk4 z;^D^4uG*6WH}1Q3ldu?azNBx_tFI*Bf6>2$R+X84 z)^@K23T#E*dFp5wS7SHK%a9d$C|~*e{WF!|{AdCX{j!0+OlMwn79ZZdgt5X^X3zf#qc5S@PSJr6_44{QI~7_qV`jBh%(6V0E93_J_1#NC(g; zzRBj;8W{nnU6HOqR!oI%c#fS2-%ap^9J|3U!97SXgQ+%7_+DyH5&KNR&@Q5a^J3Jx zBVc6LW*VLrN51+#e6_S&ah$}F=4Ll?GUX!tm4!Sk`n`JJZE^zE&BUq?hNUs`$|lqH zu$?^Kr6V#J^+2{`>|?H`w7ta8Mb>NET4}ut#)`kt{M6Y==kWBp*r*>cg+& z;xBGypEC$PUW)D@-PG6~%eYb<{mpn#-ahv$H8DUBAhpcizOO2*4p$NP-PtU|jf;MF zO0Pu2%P`MO8dimfS%Sg@%;!uv{roHU>fTy>k4xCl=^I6i`s^^$nCkSb;c;&Xwg*N) zF`!wM`Fr)fr3jVS1`8li7+~hJZ)oAN@ZCmmjjhm2cREIEy$B|FZfRn4BX(EsSBFmD ziB2+8msUxJ+{2|(y9Dg~JCr+mcqYpjXFNL-?GFF~fPsXbrrojS;>=0Cwacb@nqPfI zN@aZ!_{B@W#qSF8)39~#zWurSp*P|Xb?tvaLizB~R=VN!Fy|-2U5kATOssoQa{g|_ z_|!B+v}o)#ii^}C%20gVNOA+{g?AW4vcsn(JN+6N9g#O}IWgUe97OCLQUEg&2gp|3 z6T~kirHNX74n61m+*G9DFR{3*q{mPaqUYaH=3(t$9M?KjBg(8W*kQjqO5DReFx99oX!sPn)hM=o&p>&H-LbY56yD$2}0>C50~H%djmMR?LD5gYo_IL7jEJL>YT}~oJm3=zX(O@{QNc)3TTJr|<$Uj-+p)+nu zIKuMgwx$0j@OMRe>b&c3E76+pwM%^bSY#_rrS>r(u$IX;N~hJd(r%3R1C&afgNftw zsQ+F|I4p}e<;Z?CeM?%*0s9|14Z&9*ugDA(_ziIp}a{epPu* zYacUF`^d@pj)Hzz;(Cv-`3|nu3Tiis_?|JoBE7dD)LWX{$1KCM-G+_7L)$#@MN;l1 z&GHJzOHB{rV$&}$-<5EZ;R_@l5y@z;ckaF0BHI_lo$=h1k`Xyo&A(lpPsw3yzOdY} zJK^1SaIHQ&h%&!5D6&3m?7?m_4DFMVC11zoz_6(D@TU&TPZ89STp?ko7y~~56<{3d zNczA(Q1gc&UX+Lk@H2hk6+p!-jzwWhZh;s!w{z#r7rLj^Z%ez9&!+SQ7&NI$7UmI$ z?7PAZJmbP7q>5q*^rlX!+e9C#z`v$zyVgN949>Xtn}A0Ip}lt87v4V&$Mt%PW&R<2 zn90a}vlX|T*xxmItZCId-2zd!=Cae}zx&5|FA~{KGOkVXvXU{=)4&VI-4wMmQ4zyO z$TT4fgUt}NA>HYSQ75>^6$M!7;t^)VAaaYxO6_oh$KCLUB~Z^ZfufCdN*g#2`j1#87t#9l<){5y>gvbwpk|L+_SU-6f>}E{jS^@{dZ^=6eBpFUjl^e z^H8GADOT6CP%uxS%4AGmvlof*_Wzzs{BT7>7SFfmz~?;v}Gu>yUrY26s1#hX{W=6Y67BnA1r?5>pyWFg?Le@k_lc-R7>n+qmbx&XKD32bZB2m&1r;`N zQX`@HdCo`nIx*^}#o2E+ksQkYC-X9)b5D!?_&p|p<8=eHvwdw%@M9)jbE^CiQ_%;c zCNShNg1z^@Ujbgvj#s}44^3%66+3jgV*xziPLfv-G}8z(>)`T_ZDsYJ3IB>&GLZyF zwnASJ0d}>~<(p0mF#8TvF}lm$vKVu-@puGY zDU$GknKURVpIvtGbIJUZsWfWWo|&0IxWz+!D5$sq| ze~zwB32AD|!5yr8xc7=NV;HUi*;SipREx)BgrwvB=}T2f-9QqWF}VZ}_B30Lx!K&a zS`)uC>?B1O8C!dxx+CFj4a}UE25D_-HNG z7&X8^w;jG_hJvg>4KSZFlf0i^3m~EOHv}Z+yUJUQTPW#1Bu+;S617C?Yj}Ff=xcTy z@F+M?(mKv?E3&YvOcC$HnybbzAm? z=Epu?mesGcPrFfVTrf@UJ*9x5QRZ6sirKg)DBHyRRBvRcuGLmjRHu||3X{c#2~vQ(_H>^B|>xO3(`B*5m zP;j<3Yl_*Df+{ro5WZzzcjS~su6@4=8jf(iL?XDO$T5DD)kpwpQ|MsxXNue2ny-K* zWXqMSf0M|jps}0q-z0E^*%SrWvX!8;*{C7(u`)dD-?3jYkge@D1#WCdNO_?VX(LhZt`zMBg< z+w#3s2TB}v%dWB~_rZs6#GmXl#|3^}`xmb1H6f=sO*F|PQQ@|YtxEj^PhD$P8>6Z} zKvtHdS z!F!j-yE_#2w*Id*_g+wl-+|Eq%7Rmae@}NDBe{49&9u?HUp8>wC`*Lt2bg-U9{iRp zx7kvtN`q)7R~M8;s_p>!7t*kW5GGZj>(rhE4|Iux7HEU^1j)6@G4MD+cU)ZX${(dV zW1Mf`1IJyqfC&gs0%N)s#HEZ8+nh0Pw^qK2D??F!Uq6y#d2sQ(%L5m(#EXpFwQVsYlSagT~B5UumWpjehJaNimXh{+W--($-T2m&qxwO6*& zrbE-_hWYBYC)ge8-!zs678m4;5;T!piwcKPF|w}uk@fV)(!ez}poG z$ZsU7i+Pi)IuCe3SR=djKO|0m$>Fv{^Q{nKGHGGYVQ+8LY-e{>f8t_&o>>LtOI@JZ z9>dN1JITy*{GSsqrjqmsWO>8RD;1*e_E~=cb*35$c(l1nSP=WkM)&FXf?2DY|Fz*r zkeT*J9C$BFL5W4WERgft0nTqV`%G!@ePk-c!3HVezueSiK+^XpZdFp;o<(@rFm-)| zClX^Y2MK#K6AYy8JC91MLWLl_f!sWI?M|SOX{Kuz41W2gntIIAFZ3p&Y&#D>j_9Dn z4uQDeX`s9lsmf2~ke(R{0S(an1Te*_@N4TzhGtYbu{FkEw{;Oo5@o54To$D6R z^-|7#guZO5YhHCYamj(@a`)4xV!l!1g z^rHI+hzAc2kGp5^PDt~qIdhYxUC4R6JG-2Z!2ED!J`x>e7lWv zdyIe2V%)C`3>=rS4=SX)iBx^ah~M(-xouN zz-oB68ppkce}m6)xKF9&v*^ahG1-azpc(bJ_Q5YmjB3jl-n^Ww8nV>*++oO9K!iuB z67H{W>~a{KePGWVIs<-Pt9W7k#$rdlXBKt{&qMDXxIg-3Lox%ib$7YajlvfgO8N_O zAw{!VbTh$Y&|c+==WtGA$Z-k2`>GgG32M>dC%O}#X3_K###e5-c*u9k8uukvEN!n; zARCfD?$aA5>Pz@AZ*&>j+Y7=a9>xVytBTN%|2d4{TwXxh!fs^1hVX5Vrf`?MvKT?P z1MWX9yB)S3aKi?>6x^3j;{1w;Q~t>7d4oFX%dNj(Tq>jT8O$xlT8iWFl*up#wi028 zZS+1vq}o6S-d%8iHDT3?4eXkr+|C zurP@B z(63&vs4FS`d!+&y*?bZxn6WQ=*#@1Fdn|0k1WQh6ZBpHU))qli6B8mMSeDft&1lE( z$d3DhPvgjedo)k|^5McmWmESnI^x2M1pw2+65Bud&kQk1T;knRb9IsqNi0i7m~5kq z21{iurU561$l_HUgw4hrCM}=8UTDGxWX+p&haM;hh%|lYpM0VL^V!xtaCI8yoFRIX z?{eX&@~ah=?hFQUCbp@Q#Bw8&;=W)2#TR20;?XZMSkqaaD;0}E(hdAj^oSuynXquDJ4?sgzV`JO>f z&;=G$7mT8_A^poZq9y+K`zhX@l~$A;>Aw}ZGV)VtB+kMqa8q`{072ncZAr~)*QEUE zLy9!x#jcF>f|8v^972SJ)EfII=f z2ij4&^CLG6aUat>bp+TUjQI04FLGv`!@ol_;tzydc}p-MB6)V`4$MO^Eqqt{;KZW0 z%2H@&P~xAXl=S=LJQ>b-M8x;hneVmkO7$^<{L4IZ6@v~umB`%@JV?1&URhttrb=23B#ApwFA&FOE zlj#FvYmFILe+V=;WRS%OCs4^gDyUYF>$`m7ZvPjFA z?7~J2^>8f&js~$0jhC8;q6fD{-aaEz8ubz*c~3)7cIVMhGak+D zI6#;jzt8wXhXP8I3$DVe0?x$5qo>p27E67bY>UQ;7{A?0xGPUa(zuOH>-3r0E$>f` z^uLc`{Wbp(95qyQch4xY=7|!nH@L)D4O||q&P%T1!x*jnX0t*Qc!rpH;3d!!X7Bk3 zw+qh8$O_l=w<0>`B~b*B;ef9Lj)R7uM3^nqTTJb5*I%(-hzrs%7|{0E*?t&O6GiSg z=KN=Gyp;vF(OFAaMtw+o|DQHK^B1<0>(8+`qz_3K=|h6lF#>x<5&|FqyRX3PT6P|u zyUeyXa5WVO@0dV%1S0?4P=EQX9$h$n+|nta-=&lud0a7Z_m0^tkJQ4YuwRW8-7GR- zO#{&hPOfv&wt*n;qyMa|W-xCl^jz3S8o&9SOX)XaCWacR9+%gZw8EVownCZ@-=YSK z_a^4pmIWULu3NzrX-Pk}9&QTlr6w=4__ zz5V&(?eV|4FUXFer?&D+I!NJX{qD`{O8U06!GcpxrXMDTzQ2G4)e~UxgnxwS(wn*C zhGg;N&o41C;nm8Y$x%w_ZRi@@ZS?~lfK3|tywq)F;dLZs2pOX<5+~kI#~v_;&^I;3 zYKZY9W?O7aYI?teF5>640%^~jOT`y&zIeZJlGSnx#Yd7T^u2drHULN{~`{Ve>r-livh zG(q2`b76D$K3Qy3Sor$RnIfz`0%HbU;(+A+Z4D%&o1{UPEWjF1Ld8}`>x_ZDY7($x8wRaH`JD6( zc0jDB+5xu9^;~oF2KX-iSp^YP-rkDOQQp%9Hu{z3SMlH=glu-$x*M1Qat{m9B^&wN zG=YL}#L@F6gz(db3OMp=VgoJFLa?-%o6Cb=0^k{g14%VH=8*Z|+n|oT^g1_ZHo!}o$r@r;pE)`yh z5{TNvNwxYqx!o9FZp&o#TaOTCYn6StC+JPEimWJ8OWN%~{LbDq!|fEuwtnfabK0ez zy**H=iwNkrj>LN#n=DTWe%fHca#%wIRw=f?TqUJn?p>DrKG$1?JlwrGOpekO(5exOZfAEJ28u2$vuRX$vJ&zOu}D98;M&>~n~4n*&>S zOd7)HA|)_4;`6IEtoF!Z=w|DJ)RPmZtd~NJ?^eY3se7sGAHAfGf;`1ZaXmM{hYZ89 z(68fKQxAAx=mF6O=q-POQ!f684uT_A{Z-M}5i20U9?Ei*OrgmEJ`q`NY8P*kAm+kA z;!IdE*T<@&(C;o3clq}Gn_#FP)9Hf6qZ&@$7d$G@_)OwQp`*`(#vW4Y`_CrH(?KEL zmf>F^BXmJVdJeJ{iBJR&y7$BgiQYyy-ZeSavM zrtX%$T7z0fGH#9aFskr+N$d#XUFBd8nla)SUv#{{SIlK+ZPV z&!d-P?dz0ZWAy9&Lag?S=ZW>f9z!KH-fV8^S{C26wrd`w!b>@c8>&migmh&eAU|<~ zWFP}_<9{@VQiHAlwdO}iAN4mGc{F|MMf~o}PYKIu!1T!(&^{4HqvooqH}*0Z3x}E` zV&kfsM`#|nCT7osiBTZd=~y7-qxz)=c$(SFA40A%x@yzH$q2RBa`uVJAa!Ttb2G++ zoXKy0Uo^ww!e@mr?oAkuMx3Fz{Cw!KFs|4J*jI2(nO0wPoi%b&9xek)H*asw3CLWD zo|f$frlDK$O6JEB8a5XiHTRq3;Z`yB63~g()AvE`(Nix( zu|mBez`g+L3I_As?o48gV?mtfdYY%D&Hh7RELN{#H;_Buy9A!i)43fQg>7VjN+rT^ zcVc0j9mR83@!$ZKv?N!M{cQpiAd&uxGz~=yl9bX5_BTHp;mb!m1V!O zSVyTN)1aS_(`rzO2T3r{QjRueth5~!@- zo~uW1g9$X;eR~vl+>vr(G1nNluu|aQr7%74Z27cycW{LCNmkPB%ZhKpRnb0Uv0dPE zSCV&H>4aJ+-hGfuwcS?%hN!#)TrYie$0ZKZ4>$y5$srxHGXHV=2~s48okzq|F1J9}=tM>DyX^?dUme^yY&K zIJ;Z%;8r6sl4bRoVN113bdQ;EvlZzYfH2$Kj(pLVAWBvZnpAUQ)M^*ooWZcX;yqAC zY3(~YKIT*`A?ac$nkRqIw5;75gmi&oKFVM34pS2IZao!1^aq>dr~XgU6Yh)251wg` z!O$A~Kn{%P-#B{|(~JEPC|2%cV@mWTZN!MsiU+&ysa&~IsNU@M2W|9I59QkPDD4L? z!*(K+Sk8ch__65$A)&aF?Sf}{pzFst+sM>MWmaZK(V*^AaS-Z}e>}7y2-J`}x8Uzh z%A718?&_8`pftUV>|xZF zPsk-^Z{v@X@m|VD(wG$M-QC3vq&#2nP^Yb*^e=V)Kf^=Uby8 z)zBIzpzb?=@~@Fyt29hQQ3sgA{u1NSKRpz^~3#DJKRQZCa%LD$;k6`TOLPSTs{o)2d(DSiR z&dVKQbTuMWEgr#-pbU5?1Yu2IkyW)vUJyxtIj%~S)mI2h}U zFcvr(Fb=EI7Qkh2|KCTzmS!z= zK^#VC^1#4iJCo~lm4DY~uGu!Gsr z@?icilr&7MHSui|3PiIlDU!=ZYJGVQ;k@9t5&WU6ydtBYOfl$hM$ zKpT|Vjt^zVXI-0Q1i($KlKByMm=VoUc%-V#ZN7zAhV6G$Hj zn!M$I{fW=6^78nO7QBr(Y*6#9wp3o=hf?^yn?{X4o5>nB(Yjbmays&Rf0X}CY>(|3 zHr4Mizl1%IdtK+fe1n!>Z=(7TA(;c5fQ0!;IA(EF(|~f%f2vYJD`t*Y8y;e2U>n_0-eDR@4BC(>YYZxwh$If3JeHfXUYKnwAUqr>`$cs3^}Y z?X-ECA_LxRGC0zlRlvO&EzZqw^pl_gCoQsA4}u+TE=*jjvp@Z%V8K>7on(4QN|0LR zBxe@a<6q5usrf|Idv*+AwYtvYiRB8?dn8(`k#H;es}*C(#;poLs2>pH{sm~~KbP1q zehrpn6-0npdC6BcI%qo%?(gW7?WooI7v4R$xY%M0c#7^&5gVm1CZ$CwLy442C&bUD?tK@c(_Wa$Jikz6`-JvSMzembCC?WLV5b7R>Qg{pMD| zAB}9lE|p0A=DuflbE`6o(I+W1Z=wfhW}9pXM+~#+Zf+>hl{KpxWS#dGj~1<)Sq^ZD z_JE%WAxvTRtk!lBr(d?MS|&NcA1E`(@bUrPiLVgB9Qs3nU_k_@YaH1vW$*`9Cf^{! zGpjsyH&vC*SIpIm=PMgRnA#*LQ=dCre4+j4R-<>wYRy*Lx511$qS32+`4~`P$)2}f&6`&-Fbh>nH`p?Kjh%&xp7?B#pdK5P zg6{d>zZ8Z?cs)6)6Hi91dP*vMIs6IZN-A3U?kvzK0oY@S4c=4)_4r*>E4cb;41yk* zKaCWs0kp}q%GL{x_Njhs&rP{z)k3wyYmQ%=XR0EzfkXa@Ip$4q#~r(ufq!t*it&Sx zQ70tbQ!XMHUBsG;mb2Vxqd6Uu+9Q6_}Z#M{u?Ghv)H|hARrpQQUB@sTAd$Q zoE~s~@dT2$L&`n0NWqsYu6RPrLoJ~6h!&JK7j)5Q-U-aPPTJQCBxd3%Z@Q?`R(7O8 z9$pyaTTM%dEBzuxx`Ck=wA8{C>`ZPqVq%artm|akrJE2o8myd5E|ty#s%5|SDmRj< zf5GN<;55<0!1#_%tpvr$$#?JgRtMP?_^ z2?(*mm#!Y1cGq>4Y2Uw<UCPY@|wpyUltZwyj#jpA5&|jDiJ7C8P&zj|PEQX}S8tjZb)gr=Dx`0}?xbp{gs~ zLqw&tdRNO;_9ysJv(`Izi?#cVUf=xuOc5LcCs6>G$_3DkooF24tm%2zGb>iU|Ymv!tk-W)BYO@$&=W+M$hQm#B#o+!q{CI2sl&0TcDDYkxXqZzvLCxM z#T1L;c&V3c&kln>PE9gxYZ3YPdVdd*v%a3nioU)mPMmBss^OmuDp@o?t&RUs_I49% zfZ5~%bZ-%&wo*@OtsIwigiPnVq&)G6uK3KF6|ZYL%e6qGoHG7zb65G%E25~*tB52e z;Y{>t5L1}CUJzdd4MUiV?<6eEpMdE}jgI9rT1M+_U_ttkM#FIJK(5772^a%rCKZ8# zo@h;fWX%21C+a%+qQvsM`w11^s!g?VGu1O&i`u*?n`-y!?gAZhEEBXgcf>KHLe zk8^4bWE3VJZVL)jmlY83gr)SOeW>T4J!ej__oQooVt>H!{vY=yvd|aA*by)z6t}=U zD>-;mC%Y!qT)2@bwz5>>W>1N(<5~?Y89uN-CuZD9Mw-kyZh24t{DWlC3W~I*4hP{m zyMR1rh?zI8PwhY7&!Gy)={lWZ5939ENOhPx#}9@CeLYCFFLSFy$Ir*Gr)wC1!j#$q zW5!ZjtydCb&o|}vO%_ly5hYi7F@R(@&~)6CVn4!?CtL>7WRK#; z{BMGV1{Y6xO;E5jELfdQ-uy~$!raPcj5IzE1GIH00KDbH9&d8KxQA^NrI5x5eGQR) zk*q3Ey&!1s3Y}q-BKZnQmzd_~Uut$EB!>V8n{CnLr`DtoD2&Gc_f%5?Y?61t~fXhKftS^>WTjSdJ_p4AA6HD^?;#bE_ zUbkJFi<7BFcf?6iN^j1ynWu^FDt($^l&(KfPliTyjmuMgo6g8RY9rIqcvxI#3A;_1 z2Yn2*QjcC0T*xR}fjBK`E;N1uv9?k4eaQgT1h0?Fu<__h@m@o0XtrMCD#~tu@NUx| zccs3QeVL+3c(BWKC97lF<9=Dg=FSTbx5U+Zm-kNoJ$7Eq@uD;>t7so98cnsj7^L|` z*v{@7C+Yjk2IH5NB(|*;?j3#$+FTqm7y*>4%gPLF_Twk!JQO6tWydb|^B&BYjhpayV*$J|Nv1lVHWRJ^w$ zd!mqbUZ?-a(Vzm%Pxxs=4Cz?ZtBoKq$dqT6$*|f$#zkHkUfK)RWHvhU`D(m3H$%^P z*P*dVpuDNJ`~{>`{xW>eX*(p>+9=3-AxZ)*rc$l(0ypC80tIeaJbI&w$teq;GJ%Fq z{yAb2kn_a_Pkt5CZ~7b9r+vF6wyaFvsTRv_o3EFARYl4BnYsLY|(`c>K+ZcOT zLy-NM5^$s8^}T%W*?+wP%#3y>YsY%k)I-k zU9rV7sYf1R2@N=oOKKKf8(6M84gnC)VAIy$i30n z4W3G&P=wE#rH=G>A)r?M(Hl-*dzQbd#pArWa9l$z{>L9#V=vP4N)Lw1rSqHJXiVXR|)&ZqnP zd!FZ?`+mKqL5NPeZE zSjjnX!r$(+b;8dGAsKY2|I47GV>bC5yXF$l0B%iNMB|D4U8B2OVG~;S2H?;pfF=LX zYmxpf|7AjTx+~Cr2(YKqv8jAhCT+d`?T#9X_+5xk!k8YP1_`3zigW}E^;J`0-<#+Y z#tiv7Qf6jX5#MWI9`vtTIDMYcKt=&_WCU@c70(hs>hd#xg0jyXYe4xMIT?;!wq8oc&Es5rl>kic zvH{fw4&drGJK_7K6=ofIE*p;}tKk~s0M-i^F~xrKZ}jG~j*uqx8aFFxI@H`n#^ee- zSY>vuq1|lE&us4hx5`?4vBn=-WM>CokV~(8Qh0U!Zy9fkJLG_6(!$n@&@_O(E!P(> z(dgMV&dv?L0W1g-$6vAF1!;JDJ%Cl(JH`@-tuE!ld{b(1=k-4p% z!FgXn-PaSXwj2>&Ys8_svfr~_n_R0Kg5EXkE)|hXH+P;Zo#O6w{f3?gKZeFjf5s_0 z$Yzh!9%@_wGlN@fRCWAjTC&r*D^^=WtCh;D`-U2qyJvkOZ+G6lIwI@P$BC&0D0#2S z)zrb&DK*QB3R6^wsYwmG19w1MYIZnOK9D9Bi*dV{ps>B?XMTKvpp;T{45{+c9xs@k z2YxCe2Fd1N*fpy6r~cNVSF@RyWryevbxj;#8*6%`?|*;Y)ay_2fv8Tu#|N2j1ZJXH zDIhG#$Q-!p{Q0P&lTTbpUDU;UBcCL3CiCNUzeD)haI9|X#at2t(UwTok6scuYzn!I&3~le?NSPDz*FGeg%J#AgR^cKJzR4w0 zB>bo$QsbZ5Hq4xg>c=GeQgytwo0afjI_S^MLnvPf3PP)0k=K6+t3yb_cn(--ERDNDS z3~3ZBVWHrEJ3;N3!4~f>5P0+OD=8Xk5s=3DED?xgBSS_ecnh3Ccha`yAbQdx(qmi= z&luyJR_zPBQM7lZTfAU(0sRha9?5PHl$(Xb3EUP8+U6|)dsP93x3MxK$P=w6m&2e4 z3d4+0x{zEQCIv78s0Zqm>Mn*+QZe}o7#&fIKa1afhvL=|Nr(mLS3{unf1fkCG)*-C z!lz5969maN1ci$~Sn$htBQ|(G+=4FtvhhFZ??*fRInlOWh|gOA^*RF;?sxr_x_R5~ z0IBkEU8W0q^T!$#Ag@vXriV}xO!>A7{6w^7k8Yn*zG}%o6 zP*RKKK*HA)jR*ybW=E@!>CKY>4Fe}|R1RY_aOHwd%Qb6TbGk8Zkhqw!|d z!kS?kL71hIQM(Hl=uuxP)Ekg|$E{&PpRF@7Z%XlbXhCC-c9|A46evp85zT?l zc}sx-9il;=7bsXcCd+i|oDXATKn6n z9T1>S`I}w~Vm!oY?TK50SVhCeY-LD4&uuDS5G7T7pN%_tBqe{oqH`d_%6smDP#dU# z=GsnJBmqI)^-^N6xZur0vk+8lFHGZt{Rd-Fn+HiucRz7JCRPuF$G|1yT+Gh;E%Mm$ zw-iFW9w;6meIiut(>2wK1FcrR)Qn}New%3i#_8GoQi!!`PMB+G1H44@?}-qtx1}3U zgs|NR8V=uiuVbVpO{rwFzP*^HsdAuPhR+~4J#?D&TmMH%U$6HYi`1||Q&!H2Gdn@Q zhnDB}k1ozrrNIJ~o3YPboR)51B3OR6PL$s``#Q~8%cMapLU8oEF7 zt-R^6+VHkQ-xU$4O!ALmL?ftt48QV^6+1{ZnC^IMzy51$bxP2KG}gKO5~ zmS`>PEz+k#{sGn0Mo@GBEz}htXfiN z#R+6rg}h+Y_!|RDQLmyZ3%E}7SmNMYx!8R&v0*WRR5Md4z`dcVZ2oVEphNQG*Q}A~ z47ag;fYIfAyU+K&qS|=l6=YpFpju$M2p2L8f;giXHkPN>t@26Vx9r}Iw`*}r51c~n zO^6Ggy2GxBWn=ns+BV$vQ0__%858Fgdx7@RD#A)z4A{F>-E-P!oalNKn~Fl?t|rbM zL#43&-Cw0~-{<3>L!@>45%W4922O`Gsq#Cm33$5>V}XsKjZAt)WZ&14;F0mb8brCW zm>@=PVh^dz4{qo`LbC@TK2r{+&Lrma^@G;ocaxAW;~zVb+4__v$Dd&TB(C;HDP z&RD5Ky1d-YLDEW{+(X#ZMndBT0F!+A>;9^=-~}Y3)JwGxwyhv@7p)`WPd2HTe0GdA zb-gKC@mUMv)N#`~dxn6iNzXSg&#ZR1gU=zS9rx1pyOn2nH6{ zI*c+SQwFapG{&7zRVvXg8iby>$J_f5eFrdD(cGYjYOn_nzaHEX?ScQm@N&a~9@u?0_uSL*c>m!pHU41R9$>yI|2bQ8Qp$)GbpOI~pVbzdOBa;>eHlg(XD_^? zIMe=C)oXjt5mUdW$lWNqbL-$ffPBjxw`ssoMRfyL#T_BAGGVtQFX`$$I7+TE7VZ}O zx`iu|KVvH3%%w?jvpzbB`426ihU656L^Z}Gea_tm&2`4w;Tv~OT*|osiFe7!Sg}%( zI#&5TyA(X|ds-sz@3X>AXzXcuF9wq9w!j8x-x#s*F7VV#JSDohCrQ=)&lkU-JY$bh zaB2IG>wuMxUc{%w|9CMt&HWrW;M8N}UW)%GOu_Fn7$WyT|BvP56bGx*H6k)G{-1h` zw|Q+3zqyn2%Y>u1eey2ekG6L?#QXAVa(WGI$(>B^jU}|5Io!~{u?MW^yeEXJY@~&+ zU(jQ^SRR9xQeDU>CJ?fnZhMFC;S~<`RR}Ij4Uc$976-x!#h&R}(S=Dt>?My1Cj)j<5?SX5U`*q`N%wRM~L5xmWK zg~uA0Rs*MCN0)N~Un}Gk6VOK=$bv*VYJ0q(+(s~8r=jui3E3~=liLST!4ir%%EB-b z(ydy!pw(^LK{kE0Oo#{H{E1Uy zHt^1T!{R)UN9@|X_2%J%KUlX?AQ#>Z!N)zdxdm#;hK-_< zz39mjVFy!iaT+M5nS?tdfdy5<)i?KG&&TZlFYWGMdXLPWaS1isq>}NZP46?P|G@=_ zoKL7-3p~D}IUn8_2z={eU~Z9}&~(g<{s=Yn$~`B1*2*te*v;aE({;k@XJu+4$X%!~ z9AuKP@b!PDFo)DFG(f9+N$aZp_6qtR*S&uIjNs_JhS>6f=$ad)RpG}lNXwDDQtPWX z{)m_=D?(e@+(etr_RaJIv?m!dsSl@Lp1&95`!oU*IP}bKsa>WugC!$~gOqPOqpeb@ z0jfV!|MjG4mXMc1bLk zy)xlwuSYb$dvq5aY&l6Q)nK6rYJyydJk|I$X^}@DuHLeM$R`serWaOQ1q;aEYkIc7 ztg*mW7US6APDPQbT2SOoHu1U%ah1k*5PUq*Y8vp||GHvwYRDc^N9apNUJ2w#ZgV^` z)D4L}$2H#0G6=yJ_J2jM=go+^h_abVcc+DYsrSE`R-q9$d+h|XSQpE=jql9PNJ>y^ z{tpGx{zJ#;F%lPdsw6K3C1zZ;a3#KJa?z~xj0N$hv?IAKOuFRvgE%+XiZENHW$u5F z2H&CF9CBRy5QVE=`E&eGlMhI7-1?CPEiqGXZq})WuUzfTzI&BXq6pvbW1MeS2~Oav zbJb=ai@`?}qIOa{O7LofAl=)+NH2JdGIH#KYP%Z3wfir6e0!VLSME7)6KC3E>Ze84 zyTLH1i?Ndb41PH=QG$@O&o@cDPLTni0B+Yj4hQVK`ECg|ILM@Y>jB*?+V?H-je#8E z>uuK)8VqN-1}-9&LU{1Ib+}+I21y93Q3L>L3W^~5-~ocFU)rT%8j0YcWIm5w)oWqx z#(_+IWxmG=$Y(jajI0jC@IYBdZp4Z97hdV`zv**(#_2&-(gM4D9#I-s7(uHkTno{C zd(rKrsi=Pz;p>u}ZD;nP!<4bXd(i<~yQ^Omci!e~?4nL_k>Y#$Zm5bkOSrLf$DJeB z(4Pu6kcujgJp0k^EKgjD`Nu8$=iUwcea2NJi-5CDm2T5D9UW3-KEFHHeexo*K=I&R z+0j4WLAAI&vC?6e1U941#EzNDHCdpB#h*QAY5}JaAre`BnhiLvk{qgzV2tKM(qsMO zMyLx|KcNhNT1;|i%GsO#oDAErcx?rI#QS4${^o(!>CwAS>@TdFkh+q49%*nXykOY@ z2+uwMcCwxpO;flO_&y_gbSKPGvIdfQ#>M%{kc2x zPPg54W3lo#?cS|G--RcrcjBm1;SqFInxTS@$~pRHek*2JGg&cBA**O-=@mxbDq%%5 zPL9ht4@hN7VvR*`?e1J|P23LxBbc@V-B2$T@NPW*9k-XgN6Zfu9LtmpjL4ku{N<^_ zRq?^9MiAY!JG`ucYqoJbjUil2RS&wow)V|_n7i?!KpII@B5wiK$4)-!ht;$+BIM30 z?Wfn+j1N%Oo-jv_J>N87DmiA^!(n%}|1g31=*EoU!l%guSA`C&58BMnrE-PYh*iv| zfbWSp8{D>kW5wk^YxEBfKg781F8%iUF;O+%(OO}YsZ*pThpRb!g*-ShV82ALwNG~<35k1Bq= zbUf7}%68$!ScJ`GljEadC|aW!f{BvL9|g_VW6g)vbzR2NUe@B?3H{!9sot51-Um)2 z{S?c6RAzl}bB!s${^GQf?F7H9&djmRrIHFTCsJZ8R5LGQE;A(ZDsz4AdRZGkMg7t^Cx~Q5iKbQR*gT zxhF$B06$BL&uafQBMs&jm>z#N_{}+5X-}AeLN>3R#XtRRIXAJ3*RV5I*=(a$f24hp)8ABxUNC;7H~8VHrd8(g#%wA^0_=m2{%5Xl&E&eUXf3!U~bziUvy` z6C(MYbGISSn(@IK6VzyIx#9vvh=w$_@1)trwaHFQU(5uem4%3Iv1*;qxRF1Yp*&aa z4{m6?B}6)3lzpEMc`eDK%aK)xRQc@9+yO&$hQa&mX9|pHGMHL=`MHV3r^4bJ4bgVi zxJgaqHMyDeK1oBg_wk!Qj;0%6$xh{$EV7WlP`tt(V*>0xH}%*+8vV)y6T@@uQ@+~$+SFK3Dm&VmsAO{gVc z0qSc|8J~76rTC}{ZZze-E`Y0QES@hxy(`{f!8@{)ITA#iKTqh(jx(96_gmq7_0;f! z_u8HA@s1r%*Pt1vxfE$|cf=6QXj-ejd?Ok*j?{%7X5ND(9|$60$vTT8j~lnqb8~-! zSCit>!g!7nC5RN2LqsO*6;-+zWojhT^V(h~bD^w1yEbVLiBU4l7@w={MgzOBRdL{X zb}e?AP%&!Fisp<^ICVUgMlgd;dSXtjUYT{gP9&+iN7+oyFN;z!%H^}%+02x54V^}K zh+q)yNXU}lB)OPAHZT2rcc3VVwe#sIGi)m1Ve<&vap9=v5mDS@HHcjCCO?UWX{gzs4mv z)xay{n$gmEx@QMnWXEVvFguUEwx6!zofkP3pF2_bCt~&bw~NCO^{<6!Gg7K^D}lRz z(FE?_7}$}!`L}m9_M$Lb7>BH6WaGYIqV%*=_jjka?RhNP+^GaJIl!=QvSviZN>qMm zU~@Fxg$eO_)2*5{tJCye0H@47Cy*9+y}&JM-UlArxIicHTl5N`Y`gk1xk0@e&eXzm zT8KpbJRyYj>5EdPn(glsG!<8~fNSHN5D9O=Q^3@s0B1YHVB)H}Vu2`W^{x-M<~`3NIFO{nYo z(5T8@rBvXfQ#?2!PcY~RCShHiKZ#QcN@$L5rS0Sm0b+^NB=e{Iejk<*fJooe_LHnXl3R#c7K5Tmyliy=X z)TiG&a}48N`}F98i?tCV&`f-Q7s;OX#QclK6;r*0IfRmC2*n&jD|>QT!5Wx{1;27Kh@|6LxlTGjkS$?Gg0 z=03N{dER>={SjI8eS?)>|0n!I6BazTqq2n{iG>;Wr}wcD+R&>a5Z z9D^KX*{_|Mox9Bmaiu>Q2Is^YIu#ZWTI~lnE^8qnRW;r#H7~aPb%(Yd-(6O|rE|QOz8I1Ufdf?uFl*&XQ@kpw@Bm_pt<;5G^AJAQCJ# zNCwzInz*|U=V>{1Xr>BUp48dWvi?)KU)bm5MQv2QueLL;c)q;O{j#u-y5E@`x}#Ke zT9wM2<_a6*-g;0aVhCD`__Jwv9$H&It9rreIfx3r%7173ej>5B*Kd%Ak63&#G*(53 zBzEH+2bR3`hzzCL7AN%(O_Zd&Z8cxMWhOs~CC_q{%kjb|i;Gf@Z_J32_W?dh(&Iq- z|GiR(aw;~MaE&8MMre0in4uFc8`IdHzo`CJlibG3i@eHzl_mp&zbYPecdrknS8)EP zT&LhXhw%05NNYlJ%P@%LxgsC|?~H@XLpzG z&Fcy-h)=m{i^PQz$)F)#;fUt!rcs}ZIf`K&v=kE(+b2~<9{qOR)b}HC*U&Z7FC7bR z(xk2HsKv0ZClN^2%Qv(ITpSEe)@uyk|GkJG{!q{q5OsLp1$WtRv=S9J0x&P}aMMff z2qZZ9+nWb7dX1@Qy1z?#%2rWWwUImD@}3vw{6fNm{RCt+UvUgkspPWD5%h~xdaAfnqi3RzL^ZtT1nkz?ZAxt9;puI0?n#`Vc%ptTW_?WzFww4 zuHUfFn(jKGnLCqvdiL%;tCbAX99uox(+x$#{ksch0idU+5lw^K)jZsezFa5Wmcp`z z6ot%JHely^M&Q#7_mqsy;0VFSJV^NDV&cLK8vacF*&3Da{nMz@#OmM^16W!3Whx~x zwG{GwTKE*BjQ91YmAN8B3K96=KJZ*Qo=1=0F)q0tj`&-yvQw{~quaxE}won zK3Y)z*WdPCk8=F6yAI1&r|Z!*Zmk)70VXv3%sMq#WmBzBEJ^7Woq5=L!KG?wpOr0nEX2Q5Q?*amy|nae zI1H%I=;t`Y3R|g{4B=#ITO|l?R>LIx&OWjbW!K`D}y~dx>}S}Y_R&1dt;(d6zaPzxowi% zmUiL1YZa_}J2D;Z`Oa`?d?wnn>VU<81Pp#M5{|Zl_{LaLqgqPE(g&&f80B~kL!^Fh zwPZKWc@o`bzZX5Qg%x(U-H1KkS1%Y-rTm-aS$i@s%Q4)s;|X?2ilAf;8>K!3^3!%W z#`%`(63*&KoG&HwHsuhz(a7p@Yqif?lcpOuLP$KEgZC_@BEc` zcxQ8H4I{r?(m1Vgc^Mb5?2TPkAo&t}7IdHL8-y1wTn5BJKnf!ln)NGsm*n3{Q<4^$ z^?CGngwhESavqD-ez}u(97w_>)x+MydW5J4Ais|7x8w3%D<3X-)~823j7W~R=qRm^Uy=@j3`?7xRFHl03=t!r^~<3{?5wps8Nza)!&n|FVG z4mz6B0CfMCn_}2}TML`hPbCu8;wLeaX(@|Go$d@5`36Q!lr{am#3Z++x5oKfQ4thE zVQNzE=GUB83lX&C$8c8Awbdeqw$@!0BKNu~amm78pU86WNyk!k0Uduo2Vq%e={oeU z4+1#|!ncY#Mm3mF-w<{FNp9?LpUvSyNWGAV%&OV$-!x#*UW9&__YNsfAi<>yUwhbU zehJ$ne^KyB8T;ELq$DRxad;@z8{g*` zy%1@-Ec?eFPg+}d@X|ea;h{#YPIWzrqHRX(3YzK6sMbR%Rj&`-ygYimz7?+a?S})V z;h@~pF;$n(A5YRTOgs6FDLhp-?eoM1y_i!$q9n7?y8`%gejD8>>O4Lzf@MFjv4`q&utmfTRAY%HD^%Z((Qf|kFTeQl~UEjp)Y%K9c&?uS&WeYd@4_vVS#>{1Ib zWQSaGS4^U8YLjiMZwBR;4du?#bgqLHxwj128>ISF;^?fBT-q$nvW!~M)1uuMaT3ay z@_pOM@H^hxddEwQ^3{L6%Go&xFH*(({d_Hl#Y+q}7OS?4B7E9R$DCKU_kRl)C1v#8 zr;f+{pg(39s)0+E^AOH^`sD$0%h(@tHbZouj1*zu6?0%zT_(z@dF%qbqpS_n6Vh5ySFcE(~S2YQXAAC8ezu$H~UA9w<^bP_}X6nbI^#!mh~ZA z01pwIpubEq-Qa!dxg}HNl*Yd%Z)h@OeJJlupl?{Yjn`04shAmk%9QeRxtU$n3!UN*n%!){jYEOua8}ODF_;=uQUOkzo-vYzerxWA_ zoPEXo+0Fnu%=($s%2Y-Hoi~f=X*Y}cV@+#M|q1tD*#O7;9geC^@mcy#A3`p`m< zUV79C0->4k&X*J*3DwOjGTV6~;8z`ty-T%{SZC|hyVJ=2p}DV{HpRXPl$KLCQFLTx@u=%KHvTV0Im-jo#ro#^SCV7e~RZ|iqjd4 za59$r=kAM$GX`ivZ(+wSjksz6@32sYdv0M)TbTOhIXSY^QGf2JxY(fG#8IOyA*@?TIHw(`&}?i^iHW!gG@UAD|Qb{{lJz?56>!X|rG&)PP4$ zYvI-7+TN>|p|)Qxd#;x>5GYbahS0;C zl4?0bN!CP%8`B9GAFr;>gyF4*fu3bOIa;=#20mPc{z42m(bK9)0!atM5YJM2noNVe zFr@`gdyNmZm}cJ%lDKcrp3jpOq53h4ZSZ=*jukT&TvnvTsp{%GG!ZDJA@PGDNBh*0 z8=*C4xFQyOu&a-f8M^=ogt=p~A+7DVbOL@M_P0F;bqZpV@>Ff!z!>kpPj|jN(?a*V z%TDX1eGf7p*C$HsWsSU+2c@)1ZPhBjS&rVi`hqQ-a;m~>)7tNToEEvqgDl5#Cqh;^ zt#0#ZyML=N*&bu9Fa9&Wd5!$Jb{nk2d|3kX#kJMpprv3RH@Qkgof&u&<3kV&h~+_EJY z$dnN;W`Iyw3y_g;H?XR}o}?`LFbVY4m)+n(VWq32v`stsE_@wa41dmZ@*!12)svE@vsFf=DjV12K^X9hv+HT>>L!ZNFd2 zud4Q)TlBa|UXAdlwxn5_ot;4X4#s(v=8cJ}P=YFAz} z!f$Xma`M#rc{<#j$-_w7$F2&ce=t{1PYQJoj;JePNLA1GZlB~I`~j)gCxiG1!s?^u zx`Kyj2#%vFhn+Jxm=53FV{uOvTD~W4-*4=wbB+f7x{`b34R`;mHVJ@c`5i|&udP_~ z5GAb)F45RtqX6tq=VbovI6QOxUMw&1ZA-zEEQ$cfVxNCGN5ii)dm}BK94~2$&DRbQ zC7Ir92xT>LOcv%AwZXJ_M<}koAx|dW*ZaoQt8}Laown0H1#|OxUmMroy7_+-x&aq- zSxSN|KXq!|zRXM+0@HO%sgYX_d=i`l^yR&nBnGNDzFQ5GYO49CmnnSWaYsm0DT#it zot=j=hRU!$v86YC7_+dK{g2q3Y5GHz+dJqYybakVF{@``g7)!z1QS-G&q2Nz@bo1- zuPj~X;8+O})d`!*>dMxaIh$+js;RRyV_~;;xre1}t8ZSm^`*EJ?~cgmRUDaE|E!nDUe(T{t1~axn?Ol$~)oZQtWnAl#Nb&A> z!Ib;QrBx1j&GeH?-L16*^aUs;%OJj!j%=6y0hX-rS=2k`mYU%AOf41lP?7tC#eCjq zkwxodqGF)|R;L+%e<;*1vNi47H^3kMKjccj<2g5N^>uwIiBsd`Hf=fu7?qh?1g?;o zT5OBYO4|xG>kYNTQHJjTuX|p3ws!qXVeE^40DXmAu6Me@l^f~$L->I-yi!ed8r!FBrOqlpF8;0pKH#!9n!O2uH*RCbR3(8kzc**zvw z+N(s*-Y0a=9Ix}{H`25?sNI?<@^`y!eU4t^$rUovWFM!a}ND+!1jdYZ|2KOKSKhsE2Nq#%>gxPkP!y z=XfYDDrG+9qHAi96ZmNZ+3Nid=mO7!Xg~XLdAyXzJgV*=ca@soYVPQa@wNyygEyRC zq!{RMcGMO7p_r-T|Z-ByD1aJ7oeX+P5 zi3r|Uh6r!T53g$G*YjO`L|9MdyY$uo`^-SiJ+xK|`55O;CP_I&l{AZB1@X8dgE~R> zLw(1UQnxT$mX_jPk-yj0sEi0Op75*3NMAQI*xwB#{;bhUcu!W2xpH(l5;^UtqNUTW zFxJ2Pu+s{wy*7CHFsDt{0zU3zq0glJaE`}O1g&Vsl@HMII0klf;GulRXZvy8^SiCM zNhQc%8=fuiLc3TP|Cyj&?NjlNF}YHtLP@GEOtrytC#c5|da6N{YZh0HQll(n82CR; zgUf-TWIq%zztc=V-+WS|8CQeel05=?d={89Q|xG2VPbqfIwA(o7t48zbOV7O{80E3 zcf6Q6gr6^bQV*2jap{)>ZK3Yx;p`%ts2d6RT(rySA!V(D2M~1rKFHwWkGQxu-I5(Y z&arc;d#c;~n}-_2#GI_&_*NJt^ze71VZ8foHUPTXETW1K^)~x;$i84adG`_800DAu zaJW34Y)>GNLhF=~kf*voR}nG64{DP}b92JZazjP3Vf^0KxcPZ!_E!1WmqTAz%+Qd* zrIWy>_ISzt`uBHj&o=n{VoZ5c2YNo{D;iANOR#{$ zQp)$=bk4jT9(GilEcyhPGqd_|Nq0M}2HpF3hD!NA%QehNfRc0_3iF&kopM)LG zeDF}1Uu3j0YyOMd>xO9g&*xfH0OVA;g8mXwK3?S`{1e8^&5{5MhPv9k9JEXt&jAE`A^jNG;s%FU7ng0{VP~P*7|!W&fR2DM=up>KC$;M?nYLKV0-eh)9`y*3VM4Ks*2y;3&uZg>-|e!)p2a zk#gWDM)D-48|-)mdHT@ukv|KqN zzxG#9t0rn*h`GME)zHDWw#!Gu-7`l`o|@$-g+0{*BK04)2jN+AY_k-jKz7!PuZ@`1 zBGnfX{IEX2u{Ons4O!B+En<|V*S@3uHi;;?X|=o;nVYjapM>f2`ou_Q&kEaNwaJM= z^*7|8L*Idc+(=;~7b)*~|F!zilU-E@ER=N*?;fbS1<0xfJdGpKCVd*u z>?_d0`F{viDKpz6hm~HqpIn)83^fW_P1)VD2Qt&OJ@a!CYB*smDNph zA)r>UrK`_NU?3%1X-vo@NMC?pZ$suY1t&?e@;fmf@D=2xcm$p8-`5aNBWy2@|sH!1<$ z`PVnmMFVb)`SYmXpk?Qh=ljEeA+5+D6q&Qo=HPDl&(c8Q+YG6BIR=NSgOM9((Ysxn(E^yEOJaf;mm;BRmay|3P2J?k@ja zH{TrK)FxNtaVorBUVOEROxJdgTVU?~Kb^)~N8T2d_*2Qp<0B!^`jSye1)jGYj{Koh zSOjstPFEvq!NELI18Okd+Y+iI3u8`a#CN`R-82I zPFNi4{s}PS&Guf>)}x(vREWx8g*SZr*2E5dt*UD-xczNl;%Pgv&BC~GI2igvcg0y5 z(ZHrTNR@c--PqEySop@xF$JVMzM#fSEY6`G9#H-WY5PB_e~CR!+VShG;_cwWr@x+P zteshkIKe5`^USdOM~900nzlscSb6arvR$$PiD`ek?GZm_w2Jp))%P_Ptz9Vk8FiT1 zS18F@jFhoEbt5JY8E8wT;q(}=RwxLOY^%eVS|lqFLYSZE_E_|WA^M2|$?V;2l}v;H z{%9*glniJY8Hbx|)A_%56(5s84%1r^=!jjKe;KwwKdfNg`9uu+CJ(x0j+N%kUAD7; zQd^;tflZUpfWG$Xc{IWL{=&4_H+Zi1`kHhEbGmfYwznsBfPj00KbM`FzY|fR&w@h6zceW+1XxXJ3+^wQc2>kN7 zcr;Tazb3ShW8KyF%WucYU+3GrlrgF69KY%~n(>$muPXILtI~!9J0h}lb=P4N%FLTk ziaZ{roZ51VNIL$@tTt*l=y8iUvAL!IH~7$sg+2vPd4l~Xd@Qr{Q|_uDkpZ(`T?oI~ z8~lbhhvJqsn6b$s5X)x4V>K|c(>QPFsjz1Lw>orlLZ;dwAWc2Y-&QJ@#0X)-$r4@# zh(cRhqOYU*yXP$XI^w3`G;}@Tt7^7(n&J6t3OSvDzF+yYM%$kLlOu3{{46zaifr^8 z*nG9bvD#tQ5aUa^J-C>7J2}u_WaC*J`@0x7fGr*FuaBl1V2&`Apk)mFRHBsea#$qRupr>wg?}MS@87imzhmNZluwDAAjq%Wqr)x#)90-x1IOY{S0q#OuobA~ z)pMdDGj>%~UKkREDaL@K-HC*1to=ELD5;#OXvN&Jy593Q1`!CXT08J&>kpwM-Itro z+j$(O5%{{;R`x02=qmQboN#x%F_yHGCo-VuQN(N16luOoVmhhaFMu~&Jh_O8Tz?kT zpMrmOoc(qHW*~B>OMggP{A2oYTgwUVmoLzA>n9Px+TH88Outm4{=l{;`p2u(7J_IR zvW{aq@2YOrPI_iZ(h^enA^%~o2wAmxaU>(!{vxXKBIJ29E@BkdzqsDIoh%$I5gL~u z=aE}P5L?tFD}de+^lk*z@~F&%zA>;MBWEXC=E7Un4g$d~4dttP)OvI+VoV_=_|!U0 zCyMH}*qnLy;1R-9g>528y*&Q(X#>Jab=M=Eb@K!Cc=ma=5lCb`=Bkg;mk@v><~QO1 z?znfgr0A&sa!H7*Vr^eYv#HGb&)R_E`477_g4g0VPZRz|RQ=M26Oiq-5r3GLzocMP z1;}T*YSM#0D$Q~Y<4>3Tj{Na{4WXSlI+W{Z)6=*PRQrH4i?( zPK{d0mW>t6%7L(Cw-%wGEm#U~>zoqizcM;sdQ9NXKq1S9BH}{~QyUiox)f?mxv~^p zzZsP0Dw`J2j@+s79)3u;w@4o6gOzf@l!={bA2hxI`JfU9&^7r#S)jvz#)OT~R5Pcs zt#T&;@LCICYxUBn1E7i2KiD+Zk7kDXcHuHN^kD_ig9&lHgNN;j+XNet0*i^?mKgLE zH`F==`%ausDay&ziI37@1(ibqz~9#f(en@_*!Um`>9E`?$4Y*H5eNE-GZM_5Lzdx( zUzVO-cornV|N9O7%KKOumnc(%`0C(T0qI8TKTC(zCr4|pusQz&r08vf>se$)Lx&`F z{Dj0x3}U}n@kiJ;YT&PiEp7KOa4CAdoBtE{fOLJYc3_92sRu4n+3Z3=>Go_X?9j}% z7Z#PARXRlHZhgNXO?<9LnYBG4gGKu$-{BO6P*{O|B+nAZBvLGTmUXjTWD3-e$wAL; z_reZGTe4_UgoN*bN#n4|kkb;yCX{8wtNTDx*JT~4_1`kKZONazHcJY9kPI*BB3S_w z%<&~FsI}Vce8i}jXhSZ0P+i~Zy6kVxb6yT;u#B5=9a!e*XUFxh(OqnVxgBJ2f7^i%!P$+|#4ihTr z{Oz_kD#CJ~=6eF7^jmt)-o~WX`>5@|vycpOT!4@Q0;b&Mgw7A9o@;hhutuik zM9w#wlxuGh0hVamNlVp~&1IQmnYYh&PAmjP{e)~=pogxjOeez7%DG{G_0GV?wee7q z3}d$uBh7CQSHmLwZG1Kdy4wO2evb}=`0jzGyBwic2-mn!M87%k14Ip*$@o{DzUdIh zxV=8LhRlAM==^hBX6Tx@6*CW?la`@&n2F2eWsJ?T#>1EmgI^*M5pqkO*q|>fn+5I| z2DK#xYlY6=krFoVs{ED`hQBi*u0kVL+il9`SFQ1w|4^*e$JP3L%JJ$p7J zqrC{+Q<%OprHxc#x^56vUq=_bKyiE5>{0%jKnCY_s(cz zlBN$Amuesm8{hl6^BhyYb3EC<8BwD!Um+pBM*Y|u5JlW~@Qt1j9rG?IJk3^{;fZ+p zDq#gpr0BlVv|ru>(8Q-@OBI@NZ-X8=5Re3D(Tu-1fN;mtaTC{wQ3{qjVPapf#dFV>eLm7)mgRerAqB9*nS9JC?}mwkbpzHepO#>AhBYs(}H3#gPgSn~%w zam_}eduXKyTDk$uegTzPuW^cw_o8lee*vwy(pQ9WQu+k5_hUjTaDi^A-N zXc2BU`n^J=?fvCUEju+Ib3g|sssfM`t0gi635dXKu}{NRg~pa&bwAG;VzJ+iIOTq& zi!vU7UD?8gAzBCAHAjH~L(E*73hLp=UUMPXqxi7cI#6Jx^Yam$O7El$pKu7;9rPV7 zz>vNG9!bV{)p^I%(1p4^V3my>0+O6$uQTk%Q%}43P-CIM7p& z8EsFXU~2;md1YJT0yy3+N6S!G12=9Z3uE0SCFq-s1T)lRF(X;yUlem3(gmU$ma z%&KG_4v;dt{<1=}e@J79LKcK^aHewNx*)^BC`Fh}-%_o5K3HIy*%zp3=OY)Aw%0Yu zTOjCkO2rHdt}kw$Md4ZnliV4=^1?!Rzi*X$x-{zY;PJmRv->yFd`dyjnh*%+Hw$)1 zZGv0-6Fl1oTG2GWK|Y$W;PAEM{z+dUewXu0=Y0S4BnL~3sXf!j=>NUCKpuOt+PU%B zZGG}AzmLR+k$ss{jBG-rsl7HIN5;nL`DSPd%SSVgy9HV9%_h0k%{mX95h6t&^8%p< z4N3W<4oy?J7*idc&y*nOPv;tZHF6BQqgOGg}7}_K?5GJmxo9xYK)4xY`aew z{k1uv=0>YZ^9tSzhKAFv)h8uj`AEZBtVlz&U)1q^DOg&Ny<Cagr^n@R*%RJnG@D98@p9I%d zARMhh5a*>Q+hmj(L1x%nqQXEe2_rLc(g=AXkAp; zIPDH(ZaW27k}ofUW`{6cZ$Es_#YKoJs1YvudYm&UPC|XiE#%-bWQB!4ldg>rB^f^` zgUFevB@XDydsnTnwq%7>)BXRLrCv^61Qwq0np(c-1;mvFnieiAfC+6MQuQ;;=zp9A zPsiS@SK2TIVa>&h4fOQi!z^J-_x?ad>>=i;vKY5(&zLz|kegh-n8fsWi1sF2)u--1 zdebejA36BN&xXhdz}&fc%M3la@G8+hXe!#1i}jx(6d|^dJ8f73uAN`0`a{r!f!u`8 zP?$DDl=PnGwkIur)ida=Jd10Cy6Un7LB%-Y{W&b!mmrw)@pwx1cSJ+@X27uFyp{QA ztX}GQ*fjo_`R>&|2voV_%tdfFl>gqB7zWA|jm1S9E)1tyXVLm;Yurr^+!$!l1Vqy! zDrerdCU7OG25n9$V&?EE+^PJ6`pIofN9*I7tok6z_paN{nsud0{A@;?WpN#Z{i0%V zOvPnYubW3OPV}~%YALsBetC`?^87#5o%uhMdmG2qlUd!6&V&iMnLA0EHC@7K(H zUo-c8f3NFvy+7AQMABcK6k4Gr;8D3W!v~iT0ehWyr-~BGX*;eiZo-npo%(*rZo+K& zYd~dhdgrTECsB-+oI(4HM_p!U2+5EB`^F%CWofPr5u#rhfc)@$&NL1|A4v> zJVlu53k5!y;a1YoTz}zO1N`bzk%ZiLo=`F!dXrB1?AqYoa0cw$0H*e|Ax_AB&mU8s zz7IB<-|;Aju#vcU`h;Qn2HR-EJ1Z(uxnWP!Ol;0Qvh46XXkm63$?DJ47EktdMMxa` z+5^e7gyP!wiHDU>Y`tYJrCMQ*;&(!os+J{DYKXS#6Wyi&kyvmzpRn9LTCqy#tY z<15KA1Wv2iZu-0isFn0IxV~8YH@WqWzlf8);DFNG7Yh{VBT=>V$?Q!}$30~tiy$fL zfU2XDbUoAcGJBO#s`X2mT(o{jtbF)GXXU&imA>B5NYqrOrlh?WSO#jNsl+MnZFTas z1UYd{O%?n=L!jmhaK?q{j6jR_rdsR^<-9;C^HBEvIEKBYjBgB#T>jzt)@i>3>JBB{ zG159jPw1ZdGQx}Ciq~k38hIrrmf;p18D3a6=&*gWK76P*2#JDwibwvHsEMZ;P*Evk z!u2t-VeNv>rvi0dZaa{lRU0gKRQt{OMz1$F%v_sOK_xPkAGUxYgYzNAA9D%?UG4Ed z300FTgz266OE;?9V0>m-1k|h?98QkWYnjocm0v=<9(&=g=Baz_i{~h^eK!x|qVUDRws#3L^z! z7nOf)svjhIhS){1JCGJb;ag<9xemByV~MO0+s0>pN_ zr4w>M0+u`i&N0t`H!eVib4kJzXu!Q z;&AD*v@FMU6Ox~`9H*60zAOxM-R|-mfG6ZGSF}LOxi`*53g-ps=#jBaB{+8%U@EE! z@zU+X(pEdNa5BaU{gl&eh}ly}Gjdbi_I1I~#H9-;J-zT%G>B!T*d_=-lun!L|19-amk5L^GnAI9 zC;1O`IENvFg>4v!lcvT$d7zF@Skz z<||2vn8b7`D7?SiZIll#%;pZ~WKU#ztzV405snh933Jn`Zl!*X{<$OX8@l>ht7pLu(?<&na+eUoz-fqmxatJ=CoD8H#N>8GSnzIAsj@9 zK%rtoi63GybX65NY+OHG6v(YHsjYmP6;&+$8roiUyu0?ngj@OCK*+~qT&HLZBJaMbXbsBwsI}OF?XVg~Bc0lA6rW{Z~MN(wU-XgC=ST z)`o!nLCAzm!xcth+KJh-3BLQlgz|zlt>s5c21ojrhAIJhiHz%g;A%NK0$ZkWjWf{Q zy${oTxh(m7%e0-r24z%SSL(ZGucv3usI75VuW|JL{UgQf696rM?GmsJ-vS)8UYksJ z`9Ova5QLA}at$-@@eMIrXIoFQN{VH52(l~E_^SXhg{ z4xNj|p?nLDN*pZ#KTlCEoLdY7!mubgpkw$=-eYVZjyI+zzc)?S;{nk_<-hA7x~aXzJqx zBz1~xKCJ)(>lcBsrJnCXtWD;z(C8At>Gl-GowU;XzuG_jWN=nEj=}s*f1jXS#Q>hw zb}m7R)`_v`I5dk?V#wR{$^oU~HG1%+xv_%z%zf0X9uS3IY(zIVh2QSk-Gp!$IXab0 z-@XotO+XB|g6`7kMzc=0a6Wo40_=`gGpB^lgC_ueXxHKwHCmYEbtIW60K(hLdd=5HDHvzh-DYKS7Ars7b^SNAi$95BwwAbdxKYB`z zHd>~Kz#bcnrzFTb6x*@JGtOwV$v|**)#~JqrKOQ!GXX+p_TH=QxLGI|t=-v>!!kxX z(x#G2FD;qV+0-aGdkWtYV+OpWg$G{#lw#vXvCOeieEVAdI*dqpA^04P>a|^MG{Zw@ zQ6Ij-PGpCWzM%+;G8-Q@gyB^@?Ba7Mys}-(Io4H=auBrB? z6Dbq%*nK~OC`HHIpwY#{`&D>NB@{zIO80!aOr~2fB>FDfCc0UF9P78lUhWqeeLFDL zY)+djC#Jf!G(rq>WEQJ9PrE-K4)WG>cS0Rvx-NkYob6rD%4}D+aN@{G{K}i>=%3()w;#E8Zn! zO@eoi`lbkvJy5t>>OrEug3|E9>24By-Mt%L!Vn+tIoo8~Ut_IM}tlTH=dd@dT zQ*(=E=lbQ{1YwWO>gW-E4vncVFk(d%AHZ)6(w@EeO^B#M8ZV~&bsk8UaiT8kuNyRiI zFk=;QQ16U9+3~~Ks4>*=^<9QJj;o$D*c#JUP`P%DV9vXHx4MWv>ypD>9ss^q2Lp^P zS+jHY70eSv^bTEePE0P-+_NQxa+Y+ ze5W*qKFp{!#=GmSnGbq5!z9^j!DYpnQJ*tOFvYi<0F$PlWE7_H831Uj_2`D6o1Bg4 zK467s01c$5KDUau`4*4F$ljecVenhiAQO(;GK?8v`DI)NRdlb}-hc^dCe@lq8>5p(l@ojx z?!T5Oeqh#^Ts~yHvhmllHb3;MA}BvFy;lrb=wHhyH3mSH(|AJs?+5=!tFR literal 0 HcmV?d00001