From 4dc79b96ed37ab7a2a59938af2c678678bbec7df Mon Sep 17 00:00:00 2001 From: terrafrost Date: Tue, 14 Jul 2015 19:05:52 -0500 Subject: [PATCH 01/30] SSH2: limit the size of data that expect() looks at --- phpseclib/Net/SSH2.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpseclib/Net/SSH2.php b/phpseclib/Net/SSH2.php index cb2ca255..48772f3f 100644 --- a/phpseclib/Net/SSH2.php +++ b/phpseclib/Net/SSH2.php @@ -2670,7 +2670,7 @@ class Net_SSH2 $match = $expect; while (true) { if ($mode == NET_SSH2_READ_REGEX) { - preg_match($expect, $this->interactiveBuffer, $matches); + preg_match($expect, substr($this->interactiveBuffer, -1024), $matches); $match = isset($matches[0]) ? $matches[0] : ''; } $pos = strlen($match) ? strpos($this->interactiveBuffer, $match) : false; From 374f8db2e34fa948638a1214a2966c2bb903481e Mon Sep 17 00:00:00 2001 From: terrafrost Date: Thu, 16 Jul 2015 11:31:20 -0500 Subject: [PATCH 02/30] X509: use a random serial number --- phpseclib/File/X509.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/phpseclib/File/X509.php b/phpseclib/File/X509.php index 3649c3e7..8fcd9c9c 100644 --- a/phpseclib/File/X509.php +++ b/phpseclib/File/X509.php @@ -317,6 +317,10 @@ class File_X509 include_once 'Math/BigInteger.php'; } + if (!function_exists('crypt_random_string')) { + include_once 'Crypt/Random.php'; + } + // Explicitly Tagged Module, 1988 Syntax // http://tools.ietf.org/html/rfc5280#appendix-A.1 @@ -3277,7 +3281,12 @@ class File_X509 $startDate = !empty($this->startDate) ? $this->startDate : @date('D, d M Y H:i:s O'); $endDate = !empty($this->endDate) ? $this->endDate : @date('D, d M Y H:i:s O', strtotime('+1 year')); - $serialNumber = !empty($this->serialNumber) ? $this->serialNumber : new Math_BigInteger(); + // "The serial number MUST be a positive integer" + // "Conforming CAs MUST NOT use serialNumber values longer than 20 octets." + // -- https://tools.ietf.org/html/rfc5280#section-4.1.2.2 + $serialNumber = !empty($this->serialNumber) ? + $this->serialNumber : + new Math_BigInteger(crypt_random_string(20) & ("\x7F" . str_repeat("\xFF", 19)), 256); $this->currentCert = array( 'tbsCertificate' => @@ -3566,6 +3575,11 @@ class File_X509 $crlNumber = $this->serialNumber; } else { $crlNumber = $this->getExtension('id-ce-cRLNumber'); + // "The CRL number is a non-critical CRL extension that conveys a + // monotonically increasing sequence number for a given CRL scope and + // CRL issuer. This extension allows users to easily determine when a + // particular CRL supersedes another CRL." + // -- https://tools.ietf.org/html/rfc5280#section-5.2.3 $crlNumber = $crlNumber !== false ? $crlNumber->add(new Math_BigInteger(1)) : null; } From 693804e62ae856bcf026b65db0581e0b1fc83fe8 Mon Sep 17 00:00:00 2001 From: terrafrost Date: Thu, 16 Jul 2015 11:50:22 -0500 Subject: [PATCH 03/30] X509: move where Crypt/Random loading is done --- phpseclib/File/X509.php | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/phpseclib/File/X509.php b/phpseclib/File/X509.php index 8fcd9c9c..f3c86d3f 100644 --- a/phpseclib/File/X509.php +++ b/phpseclib/File/X509.php @@ -317,10 +317,6 @@ class File_X509 include_once 'Math/BigInteger.php'; } - if (!function_exists('crypt_random_string')) { - include_once 'Crypt/Random.php'; - } - // Explicitly Tagged Module, 1988 Syntax // http://tools.ietf.org/html/rfc5280#appendix-A.1 @@ -3281,12 +3277,17 @@ class File_X509 $startDate = !empty($this->startDate) ? $this->startDate : @date('D, d M Y H:i:s O'); $endDate = !empty($this->endDate) ? $this->endDate : @date('D, d M Y H:i:s O', strtotime('+1 year')); - // "The serial number MUST be a positive integer" - // "Conforming CAs MUST NOT use serialNumber values longer than 20 octets." - // -- https://tools.ietf.org/html/rfc5280#section-4.1.2.2 - $serialNumber = !empty($this->serialNumber) ? - $this->serialNumber : - new Math_BigInteger(crypt_random_string(20) & ("\x7F" . str_repeat("\xFF", 19)), 256); + if (!empty($this->serialNumber)) { + $serialNumber = $this->serialNumber; + } else { + if (!function_exists('crypt_random_string')) { + include_once 'Crypt/Random.php'; + } + // "The serial number MUST be a positive integer" + // "Conforming CAs MUST NOT use serialNumber values longer than 20 octets." + // -- https://tools.ietf.org/html/rfc5280#section-4.1.2.2 + $serialNumber = new Math_BigInteger(crypt_random_string(20) & ("\x7F" . str_repeat("\xFF", 19)), 256); + } $this->currentCert = array( 'tbsCertificate' => From 0d3a117608db561a5e43e428a3f890aa94c40bf6 Mon Sep 17 00:00:00 2001 From: terrafrost Date: Fri, 17 Jul 2015 00:45:20 -0500 Subject: [PATCH 04/30] X509: add a comment to explain the bitmask --- phpseclib/File/X509.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/phpseclib/File/X509.php b/phpseclib/File/X509.php index f3c86d3f..6f8de788 100644 --- a/phpseclib/File/X509.php +++ b/phpseclib/File/X509.php @@ -3283,9 +3283,13 @@ class File_X509 if (!function_exists('crypt_random_string')) { include_once 'Crypt/Random.php'; } - // "The serial number MUST be a positive integer" - // "Conforming CAs MUST NOT use serialNumber values longer than 20 octets." - // -- https://tools.ietf.org/html/rfc5280#section-4.1.2.2 + /* "The serial number MUST be a positive integer" + "Conforming CAs MUST NOT use serialNumber values longer than 20 octets." + -- https://tools.ietf.org/html/rfc5280#section-4.1.2.2 + + for the integer to be positive the leading bit needs to be 0 hence the + application of a bitmap + */ $serialNumber = new Math_BigInteger(crypt_random_string(20) & ("\x7F" . str_repeat("\xFF", 19)), 256); } From 862b63e9e5cea128ded042da53c883f465701e97 Mon Sep 17 00:00:00 2001 From: terrafrost Date: Tue, 14 Jul 2015 15:23:04 -0500 Subject: [PATCH 05/30] SFTP: stat cache updates --- phpseclib/Net/SFTP.php | 10 ++++- tests/Functional/Net/SFTPUserStoryTest.php | 47 ++++++++++++++++++++++ 2 files changed, 55 insertions(+), 2 deletions(-) diff --git a/phpseclib/Net/SFTP.php b/phpseclib/Net/SFTP.php index 2055de25..6be9174a 100644 --- a/phpseclib/Net/SFTP.php +++ b/phpseclib/Net/SFTP.php @@ -901,7 +901,7 @@ class Net_SFTP extends Net_SSH2 } else { $temp = $dir . '/' . $shortname; } - $this->_update_stat_cache($temp, (object) array('stat' => $attributes)); + $this->_update_stat_cache($temp, (object) array('lstat' => $attributes)); } // SFTPv6 has an optional boolean end-of-list field, but we'll ignore that, since the // final SSH_FXP_STATUS packet should tell us that, already. @@ -1072,6 +1072,12 @@ class Net_SFTP extends Net_SSH2 $temp = &$this->stat_cache; $max = count($dirs) - 1; foreach ($dirs as $i=>$dir) { + // if $temp is an object that means one of two things. + // 1. a file was deleted and changed to a directory behind phpseclib's back + // 2. it's a symlink. when lstat is done it's unclear what it's a symlink to + if (is_object($temp)) { + $temp = array(); + } if (!isset($temp[$dir])) { $temp[$dir] = array(); } @@ -1161,7 +1167,7 @@ class Net_SFTP extends Net_SSH2 if ($this->use_stat_cache) { $result = $this->_query_stat_cache($filename); - if (is_array($result) && isset($result['.'])) { + if (is_array($result) && isset($result['.']) && isset($result['.']->stat)) { return $result['.']->stat; } if (is_object($result) && isset($result->stat)) { diff --git a/tests/Functional/Net/SFTPUserStoryTest.php b/tests/Functional/Net/SFTPUserStoryTest.php index e4fdb389..0b93bd37 100644 --- a/tests/Functional/Net/SFTPUserStoryTest.php +++ b/tests/Functional/Net/SFTPUserStoryTest.php @@ -594,5 +594,52 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase $sftp->stat(self::$scratchDir), 'Failed asserting that stat on a deleted directory returns false' ); + + return $sftp; + } + + /** + * @depends testDeleteEmptyDir + * @group github735 + */ + public function testStatVsLstat($sftp) + { + $this->assertTrue($sftp->mkdir(self::$scratchDir)); + $this->assertTrue($sftp->chdir(self::$scratchDir)); + $this->assertTrue($sftp->put('text.txt', 'zzzzz')); + $this->assertTrue($sftp->symlink('text.txt', 'link.txt')); + $this->assertTrue($sftp->mkdir('subdir')); + $this->assertTrue($sftp->symlink('subdir', 'linkdir')); + + $sftp->clearStatCache(); + + // pre-populate the stat cache + $sftp->nlist(); + + $stat = $sftp->stat('link.txt'); + $this->assertSame($stat['type'], NET_SFTP_TYPE_REGULAR); + $stat = $sftp->lstat('link.txt'); + $this->assertSame($stat['type'], NET_SFTP_TYPE_SYMLINK); + + $stat = $sftp->stat('linkdir'); + $this->assertSame($stat['type'], NET_SFTP_TYPE_DIRECTORY); + $stat = $sftp->lstat('link.txt'); + $this->assertSame($stat['type'], NET_SFTP_TYPE_SYMLINK); + + $sftp->disableStatCache(); + + $sftp->nlist(); + + $stat = $sftp->stat('link.txt'); + $this->assertSame($stat['type'], NET_SFTP_TYPE_REGULAR); + $stat = $sftp->lstat('link.txt'); + $this->assertSame($stat['type'], NET_SFTP_TYPE_SYMLINK); + + $stat = $sftp->stat('linkdir'); + $this->assertSame($stat['type'], NET_SFTP_TYPE_DIRECTORY); + $stat = $sftp->lstat('link.txt'); + $this->assertSame($stat['type'], NET_SFTP_TYPE_SYMLINK); + + $sftp->enableStatCache(); } } From 00f17aa956781e67040b895beaabf2a494824112 Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Wed, 8 Jul 2015 16:13:13 +0200 Subject: [PATCH 06/30] Update PHP Code Sniffer to 2.3.3 --- composer.json | 2 +- composer.lock | 27 +++++++++++++-------------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/composer.json b/composer.json index 08e25ef6..2f01622c 100644 --- a/composer.json +++ b/composer.json @@ -52,7 +52,7 @@ "phing/phing": "~2.7", "phpunit/phpunit": "~4.0", "sami/sami": "~2.0", - "squizlabs/php_codesniffer": "~1.5" + "squizlabs/php_codesniffer": "~2.0" }, "suggest": { "ext-mcrypt": "Install the Mcrypt extension in order to speed up a wide variety of cryptographic operations.", diff --git a/composer.lock b/composer.lock index 789eda30..093f4d6a 100644 --- a/composer.lock +++ b/composer.lock @@ -1,10 +1,10 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "c3ab2e2443c6993fa0d240a3db7f6545", + "hash": "a6903cc16470e835846865fb57ea29f9", "packages": [], "packages-dev": [ { @@ -1201,32 +1201,31 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "1.5.6", + "version": "2.3.3", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "6f3e42d311b882b25b4d409d23a289f4d3b803d5" + "reference": "c1a26c729508f73560c1a4f767f60b8ab6b4a666" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/6f3e42d311b882b25b4d409d23a289f4d3b803d5", - "reference": "6f3e42d311b882b25b4d409d23a289f4d3b803d5", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/c1a26c729508f73560c1a4f767f60b8ab6b4a666", + "reference": "c1a26c729508f73560c1a4f767f60b8ab6b4a666", "shasum": "" }, "require": { "ext-tokenizer": "*", + "ext-xmlwriter": "*", "php": ">=5.1.2" }, - "suggest": { - "phpunit/php-timer": "dev-master" - }, "bin": [ - "scripts/phpcs" + "scripts/phpcs", + "scripts/phpcbf" ], "type": "library", "extra": { "branch-alias": { - "dev-phpcs-fixer": "2.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -1235,12 +1234,12 @@ "CodeSniffer/CLI.php", "CodeSniffer/Exception.php", "CodeSniffer/File.php", + "CodeSniffer/Fixer.php", "CodeSniffer/Report.php", "CodeSniffer/Reporting.php", "CodeSniffer/Sniff.php", "CodeSniffer/Tokens.php", "CodeSniffer/Reports/", - "CodeSniffer/CommentParser/", "CodeSniffer/Tokenizers/", "CodeSniffer/DocGenerators/", "CodeSniffer/Standards/AbstractPatternSniff.php", @@ -1266,13 +1265,13 @@ "role": "lead" } ], - "description": "PHP_CodeSniffer tokenises PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", "homepage": "http://www.squizlabs.com/php-codesniffer", "keywords": [ "phpcs", "standards" ], - "time": "2014-12-04 22:32:15" + "time": "2015-06-24 03:16:23" }, { "name": "symfony/console", From 9283aaa36b53934e81f6ac5b80a29c88f8b9acbf Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Wed, 8 Jul 2015 16:48:57 +0200 Subject: [PATCH 07/30] Base code sniffer ruleset on PSR2 rather than PEAR. --- build/code-sniffer-ruleset-tests.xml | 10 ---- build/code-sniffer-ruleset.xml | 83 ++++++++-------------------- 2 files changed, 24 insertions(+), 69 deletions(-) diff --git a/build/code-sniffer-ruleset-tests.xml b/build/code-sniffer-ruleset-tests.xml index c3694258..cfdf7e80 100644 --- a/build/code-sniffer-ruleset-tests.xml +++ b/build/code-sniffer-ruleset-tests.xml @@ -6,16 +6,6 @@ - - - - - - - diff --git a/build/code-sniffer-ruleset.xml b/build/code-sniffer-ruleset.xml index a0a5fc8a..91171e5e 100644 --- a/build/code-sniffer-ruleset.xml +++ b/build/code-sniffer-ruleset.xml @@ -3,35 +3,30 @@ phpseclib coding standard - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -42,34 +37,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 6c76df46d4a6dfa5dc018b1403ac581476408ef6 Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Wed, 15 Jul 2015 04:08:21 +0200 Subject: [PATCH 08/30] Ignore coding guidelines in ANSI switch block. --- phpseclib/File/ANSI.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/phpseclib/File/ANSI.php b/phpseclib/File/ANSI.php index c8496e1f..fa75195e 100644 --- a/phpseclib/File/ANSI.php +++ b/phpseclib/File/ANSI.php @@ -353,6 +353,7 @@ class File_ANSI //$back = $attr_cell->reverse ? &$attr_cell->foreground : &$attr_cell->background; $back = &$attr_cell->{ $attr_cell->reverse ? 'foreground' : 'background' }; switch ($mod) { + // @codingStandardsIgnoreStart case 30: $front = 'black'; break; case 31: $front = 'red'; break; case 32: $front = 'green'; break; @@ -370,6 +371,7 @@ class File_ANSI case 45: $back = 'magenta'; break; case 46: $back = 'cyan'; break; case 47: $back = 'white'; break; + // @codingStandardsIgnoreEnd default: //user_error('Unsupported attribute: ' . $mod); From 2013a31ecd70fc37c5413c4379b8a32922cbae26 Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Wed, 15 Jul 2015 03:52:31 +0200 Subject: [PATCH 09/30] Use phpcbf to fix PHP code to ruleset. --- phpseclib/Crypt/AES.php | 2 +- phpseclib/Crypt/Base.php | 6 +- phpseclib/Crypt/DES.php | 1 - phpseclib/Crypt/Hash.php | 16 +- phpseclib/Crypt/RC2.php | 2 +- phpseclib/Crypt/RSA.php | 107 ++++-- phpseclib/Crypt/Random.php | 6 +- phpseclib/Crypt/Rijndael.php | 4 +- phpseclib/Crypt/Twofish.php | 4 +- phpseclib/File/ASN1.php | 8 +- phpseclib/File/X509.php | 47 +-- phpseclib/Math/BigInteger.php | 191 +++++----- phpseclib/Net/SCP.php | 6 +- phpseclib/Net/SFTP.php | 68 +++- phpseclib/Net/SSH1.php | 14 +- phpseclib/Net/SSH2.php | 356 +++++++++++++----- phpseclib/System/SSH/Agent.php | 10 +- tests/Functional/Net/SCPSSH2UserStoryTest.php | 2 +- tests/Functional/Net/SFTPLargeFileTest.php | 2 +- tests/Functional/Net/SFTPUserStoryTest.php | 22 +- tests/PhpseclibFunctionalTestCase.php | 2 +- tests/PhpseclibTestCase.php | 4 +- tests/Unit/Crypt/DESTest.php | 4 +- tests/Unit/Crypt/Hash/MD5Test.php | 4 +- tests/Unit/Crypt/Hash/SHA256Test.php | 4 +- tests/Unit/Crypt/Hash/SHA512Test.php | 4 +- tests/Unit/Crypt/Hash/TestCase.php | 2 +- tests/Unit/Crypt/RC2Test.php | 2 +- tests/Unit/Crypt/TwofishTest.php | 2 +- tests/Unit/Math/BigInteger/BCMathTest.php | 2 +- tests/Unit/Math/BigInteger/GMPTest.php | 2 +- .../Math/BigInteger/InternalOpenSSLTest.php | 2 +- tests/Unit/Math/BigInteger/InternalTest.php | 2 +- tests/Unit/Math/BigInteger/TestCase.php | 2 +- tests/Unit/Net/SSH2Test.php | 4 +- 35 files changed, 597 insertions(+), 319 deletions(-) diff --git a/phpseclib/Crypt/AES.php b/phpseclib/Crypt/AES.php index 308ad746..7adc5307 100644 --- a/phpseclib/Crypt/AES.php +++ b/phpseclib/Crypt/AES.php @@ -7,7 +7,7 @@ * * PHP versions 4 and 5 * - * NOTE: Since AES.php is (for compatibility and phpseclib-historical reasons) virtually + * NOTE: Since AES.php is (for compatibility and phpseclib-historical reasons) virtually * just a wrapper to Rijndael.php you may consider using Rijndael.php instead of * to save one include_once(). * diff --git a/phpseclib/Crypt/Base.php b/phpseclib/Crypt/Base.php index a686d6a8..9f324843 100644 --- a/phpseclib/Crypt/Base.php +++ b/phpseclib/Crypt/Base.php @@ -743,7 +743,7 @@ class Crypt_Base $iv = substr_replace($iv, $block, 0, $overflow); $ciphertext.= $block; $pos = $overflow; - } else if ($len) { + } elseif ($len) { $ciphertext = openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); $iv = substr($ciphertext, -$this->block_size); } @@ -1050,7 +1050,7 @@ class Crypt_Base $plaintext.= $iv ^ substr($ciphertext, -$overflow); $iv = substr_replace($iv, substr($ciphertext, -$overflow), 0, $overflow); $pos = $overflow; - } else if ($len) { + } elseif ($len) { $plaintext.= openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); $iv = substr($ciphertext, -$this->block_size); } @@ -1326,7 +1326,7 @@ class Crypt_Base $buffer['ciphertext'] = substr($temp, $overflow); $encryptIV = $temp; } - } else if (!strlen($buffer['ciphertext'])) { + } elseif (!strlen($buffer['ciphertext'])) { $ciphertext.= openssl_encrypt($plaintext . str_repeat("\0", $block_size), $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV); $temp = $this->_string_pop($ciphertext, $block_size); if ($this->continuousBuffer) { diff --git a/phpseclib/Crypt/DES.php b/phpseclib/Crypt/DES.php index 5db790c5..18e1ee82 100644 --- a/phpseclib/Crypt/DES.php +++ b/phpseclib/Crypt/DES.php @@ -1449,7 +1449,6 @@ class Crypt_DES extends Crypt_Base // Creating code for en- and decryption. $crypt_block = array(); foreach (array(CRYPT_DES_ENCRYPT, CRYPT_DES_DECRYPT) as $c) { - /* Do the initial IP permutation. */ $crypt_block[$c] = ' $in = unpack("N*", $in); diff --git a/phpseclib/Crypt/Hash.php b/phpseclib/Crypt/Hash.php index 4ab75b2d..2c7fb199 100644 --- a/phpseclib/Crypt/Hash.php +++ b/phpseclib/Crypt/Hash.php @@ -153,7 +153,7 @@ class Crypt_Hash */ function Crypt_Hash($hash = 'sha1') { - if ( !defined('CRYPT_HASH_MODE') ) { + if (!defined('CRYPT_HASH_MODE')) { switch (true) { case extension_loaded('hash'): define('CRYPT_HASH_MODE', CRYPT_HASH_MODE_HASH); @@ -242,7 +242,7 @@ class Crypt_Hash $mode = CRYPT_HASH_MODE; } - switch ( $mode ) { + switch ($mode) { case CRYPT_HASH_MODE_MHASH: switch ($hash) { case 'md5': @@ -278,20 +278,20 @@ class Crypt_Hash case 'md2': $this->b = 16; $this->hash = array($this, '_md2'); - break; + break; case 'md5': $this->b = 64; $this->hash = array($this, '_md5'); - break; + break; case 'sha256': $this->b = 64; $this->hash = array($this, '_sha256'); - break; + break; case 'sha384': case 'sha512': $this->b = 128; $this->hash = array($this, '_sha512'); - break; + break; case 'sha1': default: $this->b = 64; @@ -314,7 +314,7 @@ class Crypt_Hash $mode = is_array($this->hash) ? CRYPT_HASH_MODE_INTERNAL : CRYPT_HASH_MODE; if (!empty($this->key) || is_string($this->key)) { - switch ( $mode ) { + switch ($mode) { case CRYPT_HASH_MODE_MHASH: $output = mhash($this->hash, $text, $this->key); break; @@ -337,7 +337,7 @@ class Crypt_Hash $output = call_user_func($this->hash, $output); // step 7 } } else { - switch ( $mode ) { + switch ($mode) { case CRYPT_HASH_MODE_MHASH: $output = mhash($this->hash, $text); break; diff --git a/phpseclib/Crypt/RC2.php b/phpseclib/Crypt/RC2.php index 63c5effb..ddf8f2d6 100644 --- a/phpseclib/Crypt/RC2.php +++ b/phpseclib/Crypt/RC2.php @@ -415,7 +415,7 @@ class Crypt_RC2 extends Crypt_Base if ($t1 <= 0) { $t1 = $this->default_key_length; - } else if ($t1 > 1024) { + } elseif ($t1 > 1024) { $t1 = 1024; } $this->current_key_length = $t1; diff --git a/phpseclib/Crypt/RSA.php b/phpseclib/Crypt/RSA.php index 85477e89..dfec4b49 100644 --- a/phpseclib/Crypt/RSA.php +++ b/phpseclib/Crypt/RSA.php @@ -499,7 +499,7 @@ class Crypt_RSA $this->configFile = CRYPT_RSA_OPENSSL_CONFIG; - if ( !defined('CRYPT_RSA_MODE') ) { + if (!defined('CRYPT_RSA_MODE')) { switch (true) { // Math/BigInteger's openssl requirements are a little less stringent than Crypt/RSA's. in particular, // Math/BigInteger doesn't require an openssl.cfg file whereas Crypt/RSA does. so if Math/BigInteger @@ -592,7 +592,7 @@ class Crypt_RSA } // OpenSSL uses 65537 as the exponent and requires RSA keys be 384 bits minimum - if ( CRYPT_RSA_MODE == CRYPT_RSA_MODE_OPENSSL && $bits >= 384 && CRYPT_RSA_EXPONENT == 65537) { + if (CRYPT_RSA_MODE == CRYPT_RSA_MODE_OPENSSL && $bits >= 384 && CRYPT_RSA_EXPONENT == 65537) { $config = array(); if (isset($this->configFile)) { $config['config'] = $this->configFile; @@ -606,7 +606,8 @@ class Crypt_RSA $publickey = call_user_func_array(array($this, '_convertPublicKey'), array_values($this->_parseKey($publickey, CRYPT_RSA_PUBLIC_FORMAT_PKCS1))); // clear the buffer of error strings stemming from a minimalistic openssl.cnf - while (openssl_error_string() !== false); + while (openssl_error_string() !== false) { + } return array( 'privatekey' => $privatekey, @@ -796,19 +797,39 @@ class Crypt_RSA $encryption = (!empty($this->password) || is_string($this->password)) ? 'aes256-cbc' : 'none'; $key.= $encryption; $key.= "\r\nComment: " . $this->comment . "\r\n"; - $public = pack('Na*Na*Na*', - strlen('ssh-rsa'), 'ssh-rsa', strlen($raw['publicExponent']), $raw['publicExponent'], strlen($raw['modulus']), $raw['modulus'] + $public = pack( + 'Na*Na*Na*', + strlen('ssh-rsa'), + 'ssh-rsa', + strlen($raw['publicExponent']), + $raw['publicExponent'], + strlen($raw['modulus']), + $raw['modulus'] ); - $source = pack('Na*Na*Na*Na*', - strlen('ssh-rsa'), 'ssh-rsa', strlen($encryption), $encryption, - strlen($this->comment), $this->comment, strlen($public), $public + $source = pack( + 'Na*Na*Na*Na*', + strlen('ssh-rsa'), + 'ssh-rsa', + strlen($encryption), + $encryption, + strlen($this->comment), + $this->comment, + strlen($public), + $public ); $public = base64_encode($public); $key.= "Public-Lines: " . ((strlen($public) + 63) >> 6) . "\r\n"; $key.= chunk_split($public, 64); - $private = pack('Na*Na*Na*Na*', - strlen($raw['privateExponent']), $raw['privateExponent'], strlen($raw['prime1']), $raw['prime1'], - strlen($raw['prime2']), $raw['prime2'], strlen($raw['coefficient']), $raw['coefficient'] + $private = pack( + 'Na*Na*Na*Na*', + strlen($raw['privateExponent']), + $raw['privateExponent'], + strlen($raw['prime1']), + $raw['prime1'], + strlen($raw['prime2']), + $raw['prime2'], + strlen($raw['coefficient']), + $raw['coefficient'] ); if (empty($this->password) && !is_string($this->password)) { $source.= pack('Na*', strlen($private), $private); @@ -875,8 +896,14 @@ class Crypt_RSA if ($this->privateKeyFormat == CRYPT_RSA_PRIVATE_FORMAT_PKCS8) { $rsaOID = pack('H*', '300d06092a864886f70d0101010500'); // hex version of MA0GCSqGSIb3DQEBAQUA - $RSAPrivateKey = pack('Ca*a*Ca*a*', - CRYPT_RSA_ASN1_INTEGER, "\01\00", $rsaOID, 4, $this->_encodeLength(strlen($RSAPrivateKey)), $RSAPrivateKey + $RSAPrivateKey = pack( + 'Ca*a*Ca*a*', + CRYPT_RSA_ASN1_INTEGER, + "\01\00", + $rsaOID, + 4, + $this->_encodeLength(strlen($RSAPrivateKey)), + $RSAPrivateKey ); $RSAPrivateKey = pack('Ca*a*', CRYPT_RSA_ASN1_SEQUENCE, $this->_encodeLength(strlen($RSAPrivateKey)), $RSAPrivateKey); if (!empty($this->password) || is_string($this->password)) { @@ -890,20 +917,35 @@ class Crypt_RSA $crypto->setPassword($this->password, 'pbkdf1', 'md5', $salt, $iterationCount); $RSAPrivateKey = $crypto->encrypt($RSAPrivateKey); - $parameters = pack('Ca*a*Ca*N', - CRYPT_RSA_ASN1_OCTETSTRING, $this->_encodeLength(strlen($salt)), $salt, - CRYPT_RSA_ASN1_INTEGER, $this->_encodeLength(4), $iterationCount + $parameters = pack( + 'Ca*a*Ca*N', + CRYPT_RSA_ASN1_OCTETSTRING, + $this->_encodeLength(strlen($salt)), + $salt, + CRYPT_RSA_ASN1_INTEGER, + $this->_encodeLength(4), + $iterationCount ); $pbeWithMD5AndDES_CBC = "\x2a\x86\x48\x86\xf7\x0d\x01\x05\x03"; - $encryptionAlgorithm = pack('Ca*a*Ca*a*', - CRYPT_RSA_ASN1_OBJECT, $this->_encodeLength(strlen($pbeWithMD5AndDES_CBC)), $pbeWithMD5AndDES_CBC, - CRYPT_RSA_ASN1_SEQUENCE, $this->_encodeLength(strlen($parameters)), $parameters + $encryptionAlgorithm = pack( + 'Ca*a*Ca*a*', + CRYPT_RSA_ASN1_OBJECT, + $this->_encodeLength(strlen($pbeWithMD5AndDES_CBC)), + $pbeWithMD5AndDES_CBC, + CRYPT_RSA_ASN1_SEQUENCE, + $this->_encodeLength(strlen($parameters)), + $parameters ); - $RSAPrivateKey = pack('Ca*a*Ca*a*', - CRYPT_RSA_ASN1_SEQUENCE, $this->_encodeLength(strlen($encryptionAlgorithm)), $encryptionAlgorithm, - CRYPT_RSA_ASN1_OCTETSTRING, $this->_encodeLength(strlen($RSAPrivateKey)), $RSAPrivateKey + $RSAPrivateKey = pack( + 'Ca*a*Ca*a*', + CRYPT_RSA_ASN1_SEQUENCE, + $this->_encodeLength(strlen($encryptionAlgorithm)), + $encryptionAlgorithm, + CRYPT_RSA_ASN1_OCTETSTRING, + $this->_encodeLength(strlen($RSAPrivateKey)), + $RSAPrivateKey ); $RSAPrivateKey = pack('Ca*a*', CRYPT_RSA_ASN1_SEQUENCE, $this->_encodeLength(strlen($RSAPrivateKey)), $RSAPrivateKey); @@ -990,9 +1032,12 @@ class Crypt_RSA 'publicExponent' => pack('Ca*a*', CRYPT_RSA_ASN1_INTEGER, $this->_encodeLength(strlen($publicExponent)), $publicExponent) ); - $RSAPublicKey = pack('Ca*a*a*', - CRYPT_RSA_ASN1_SEQUENCE, $this->_encodeLength(strlen($components['modulus']) + strlen($components['publicExponent'])), - $components['modulus'], $components['publicExponent'] + $RSAPublicKey = pack( + 'Ca*a*a*', + CRYPT_RSA_ASN1_SEQUENCE, + $this->_encodeLength(strlen($components['modulus']) + strlen($components['publicExponent'])), + $components['modulus'], + $components['publicExponent'] ); if ($this->publicKeyFormat == CRYPT_RSA_PUBLIC_FORMAT_PKCS1_RAW) { @@ -1005,8 +1050,11 @@ class Crypt_RSA $RSAPublicKey = chr(0) . $RSAPublicKey; $RSAPublicKey = chr(3) . $this->_encodeLength(strlen($RSAPublicKey)) . $RSAPublicKey; - $RSAPublicKey = pack('Ca*a*', - CRYPT_RSA_ASN1_SEQUENCE, $this->_encodeLength(strlen($rsaOID . $RSAPublicKey)), $rsaOID . $RSAPublicKey + $RSAPublicKey = pack( + 'Ca*a*', + CRYPT_RSA_ASN1_SEQUENCE, + $this->_encodeLength(strlen($rsaOID . $RSAPublicKey)), + $rsaOID . $RSAPublicKey ); $RSAPublicKey = "-----BEGIN PUBLIC KEY-----\r\n" . @@ -1801,8 +1849,7 @@ class Crypt_RSA $RSAPublicKey = pack('Na*Na*Na*', strlen('ssh-rsa'), 'ssh-rsa', strlen($publicExponent), $publicExponent, strlen($modulus), $modulus); - switch($algorithm) - { + switch ($algorithm) { case 'sha256': $hash = new Crypt_Hash('sha256'); $base = base64_encode($hash->hash($RSAPublicKey)); @@ -1928,7 +1975,7 @@ class Crypt_RSA function _decodeLength(&$string) { $length = ord($this->_string_shift($string)); - if ( $length & 0x80 ) { // definite length, long form + if ($length & 0x80) { // definite length, long form $length&= 0x7F; $temp = $this->_string_shift($string, $length); list(, $length) = unpack('N', substr(str_pad($temp, 4, chr(0), STR_PAD_LEFT), -4)); diff --git a/phpseclib/Crypt/Random.php b/phpseclib/Crypt/Random.php index 918b97bf..bb968374 100644 --- a/phpseclib/Crypt/Random.php +++ b/phpseclib/Crypt/Random.php @@ -171,9 +171,9 @@ if (!function_exists('crypt_random_string')) { ini_set('session.use_cookies', $old_use_cookies); session_cache_limiter($old_session_cache_limiter); } else { - if ($_OLD_SESSION !== false) { - $_SESSION = $_OLD_SESSION; - unset($_OLD_SESSION); + if ($_OLD_SESSION !== false) { + $_SESSION = $_OLD_SESSION; + unset($_OLD_SESSION); } else { unset($_SESSION); } diff --git a/phpseclib/Crypt/Rijndael.php b/phpseclib/Crypt/Rijndael.php index 9678efe0..dd5c75d3 100644 --- a/phpseclib/Crypt/Rijndael.php +++ b/phpseclib/Crypt/Rijndael.php @@ -387,7 +387,7 @@ class Crypt_Rijndael extends Crypt_Base $length >>= 5; if ($length > 8) { $length = 8; - } else if ($length < 4) { + } elseif ($length < 4) { $length = 4; } $this->Nb = $length; @@ -690,7 +690,7 @@ class Crypt_Rijndael extends Crypt_Base // with 0xFFFFFFFF (or 0xFFFFFF00) on a 32-bit machine is unnecessary, but on a 64-bit machine, it is. $temp = (($temp << 8) & 0xFFFFFF00) | (($temp >> 24) & 0x000000FF); // rotWord $temp = $this->_subWord($temp) ^ $rcon[$i / $this->Nk]; - } else if ($this->Nk > 6 && $i % $this->Nk == 4) { + } elseif ($this->Nk > 6 && $i % $this->Nk == 4) { $temp = $this->_subWord($temp); } $w[$i] = $w[$i - $this->Nk] ^ $temp; diff --git a/phpseclib/Crypt/Twofish.php b/phpseclib/Crypt/Twofish.php index 9ff79a53..191edae1 100644 --- a/phpseclib/Crypt/Twofish.php +++ b/phpseclib/Crypt/Twofish.php @@ -604,7 +604,9 @@ class Crypt_Twofish extends Crypt_Base $u^= 0x7fffffff & ($t >> 1); // Add the modular polynomial on underflow. - if ($t & 0x01) $u^= 0xa6 ; + if ($t & 0x01) { + $u^= 0xa6 ; + } // Remove t * (a + 1/a) * (x^3 + x). $B^= ($u << 24) | ($u << 8); diff --git a/phpseclib/File/ASN1.php b/phpseclib/File/ASN1.php index aab31f0f..3b8db023 100644 --- a/phpseclib/File/ASN1.php +++ b/phpseclib/File/ASN1.php @@ -306,17 +306,17 @@ class File_ASN1 $tag <<= 7; $tag |= ord($this->_string_shift($encoded)) & 0x7F; $start++; - } while ( $loop ); + } while ($loop); } // Length, as discussed in paragraph 8.1.3 of X.690-0207.pdf#page=13 $length = ord($this->_string_shift($encoded)); $start++; - if ( $length == 0x80 ) { // indefinite length + if ($length == 0x80) { // indefinite length // "[A sender shall] use the indefinite form (see 8.1.3.6) if the encoding is constructed and is not all // immediately available." -- paragraph 8.1.3.2.c $length = strlen($encoded); - } elseif ( $length & 0x80 ) { // definite length, long form + } elseif ($length & 0x80) { // definite length, long form // technically, the long form of the length can be represented by up to 126 octets (bytes), but we'll only // support it up to four. $length&= 0x7F; @@ -1088,7 +1088,7 @@ class File_ASN1 if ($outtype !== false) { return $this->_encode_der($source[$typename], array('type' => $outtype) + $mapping, null, $special); } - } + } $filters = $this->filters; foreach ($loc as $part) { diff --git a/phpseclib/File/X509.php b/phpseclib/File/X509.php index 6f8de788..0869deb6 100644 --- a/phpseclib/File/X509.php +++ b/phpseclib/File/X509.php @@ -2523,7 +2523,7 @@ class File_X509 $asn1->loadFilters($filters); $result = ''; foreach ($dn['rdnSequence'] as $rdn) { - foreach ($rdn as $i=>$attr) { + foreach ($rdn as $i => $attr) { $attr = &$rdn[$i]; if (is_array($attr['value'])) { foreach ($attr['value'] as $type => $v) { @@ -2590,7 +2590,7 @@ class File_X509 break; default: $delim = '/'; - $desc = preg_replace('#.+-([^-]+)$#', '$1', $prop) . '='; + $desc = preg_replace('#.+-([^-]+)$#', '$1', $prop) . '='; } if (!$start) { @@ -2747,7 +2747,7 @@ class File_X509 break; } } - foreach ($chain as $key=>$value) { + foreach ($chain as $key => $value) { $chain[$key] = new File_X509(); $chain[$key]->loadX509($value); } @@ -3212,9 +3212,9 @@ class File_X509 { $year = @gmdate("Y", @strtotime($date)); // the same way ASN1.php parses this if ($year < 2050) { - return array('utcTime' => $date); + return array('utcTime' => $date); } else { - return array('generalTime' => $date); + return array('generalTime' => $date); } } @@ -3268,7 +3268,7 @@ class File_X509 if (isset($subject->domains)) { $this->removeExtension('id-ce-subjectAltName'); } - } else if (isset($subject->currentCert) && is_array($subject->currentCert) && isset($subject->currentCert['tbsCertList'])) { + } elseif (isset($subject->currentCert) && is_array($subject->currentCert) && isset($subject->currentCert['tbsCertList'])) { return false; } else { if (!isset($subject->publicKey)) { @@ -3307,8 +3307,8 @@ class File_X509 'subject' => $subject->dn, 'subjectPublicKeyInfo' => $subjectPublicKey ), - 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), - 'signature' => false // this is going to be overwritten later + 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), + 'signature' => false // this is going to be overwritten later ); // Copy extensions from CSR. @@ -3329,8 +3329,7 @@ class File_X509 // ) //), 'keyIdentifier' => $issuer->currentKeyIdentifier - ) - ); + )); //$extensions = &$this->currentCert['tbsCertificate']['extensions']; //if (isset($issuer->serialNumber)) { // $extensions[count($extensions) - 1]['authorityCertSerialNumber'] = $issuer->serialNumber; @@ -3373,7 +3372,8 @@ class File_X509 $keyUsage = array(); } - $this->setExtension('id-ce-keyUsage', + $this->setExtension( + 'id-ce-keyUsage', array_values(array_unique(array_merge($keyUsage, array('cRLSign', 'keyCertSign')))) ); @@ -3382,8 +3382,11 @@ class File_X509 $basicConstraints = array(); } - $this->setExtension('id-ce-basicConstraints', - array_unique(array_merge(array('cA' => true), $basicConstraints)), true); + $this->setExtension( + 'id-ce-basicConstraints', + array_unique(array_merge(array('cA' => true), $basicConstraints)), + true + ); if (!isset($subject->currentKeyIdentifier)) { $this->setExtension('id-ce-subjectKeyIdentifier', base64_encode($this->computeKeyIdentifier($this->currentCert)), false, false); @@ -3443,8 +3446,8 @@ class File_X509 'subject' => $this->dn, 'subjectPKInfo' => $publicKey ), - 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), - 'signature' => false // this is going to be overwritten later + 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), + 'signature' => false // this is going to be overwritten later ); } @@ -3508,8 +3511,8 @@ class File_X509 // crypt_random_string(8) & str_repeat("\x7F", 8) 'challenge' => !empty($this->challenge) ? $this->challenge : '' ), - 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), - 'signature' => false // this is going to be overwritten later + 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), + 'signature' => false // this is going to be overwritten later ); } @@ -3561,8 +3564,8 @@ class File_X509 'issuer' => false, // this is going to be overwritten later 'thisUpdate' => $this->_timeField($thisUpdate) // $this->setStartDate() ), - 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), - 'signature' => false // this is going to be overwritten later + 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), + 'signature' => false // this is going to be overwritten later ); } @@ -3623,8 +3626,7 @@ class File_X509 // ) //), 'keyIdentifier' => $issuer->currentKeyIdentifier - ) - ); + )); //$extensions = &$tbsCertList['crlExtensions']; //if (isset($issuer->serialNumber)) { // $extensions[count($extensions) - 1]['authorityCertSerialNumber'] = $issuer->serialNumber; @@ -4415,7 +4417,6 @@ class File_X509 if (is_array($rclist = &$this->_subArray($this->currentCert, 'tbsCertList/revokedCertificates', true))) { if ($this->_revokedCertificate($rclist, $serial) === false) { // If not yet revoked if (($i = $this->_revokedCertificate($rclist, $serial, true)) !== false) { - if (!empty($date)) { $rclist[$i]['revocationDate'] = $this->_timeField($date); } @@ -4533,7 +4534,7 @@ class File_X509 if (is_array($rclist = $this->_subArray($crl, 'tbsCertList/revokedCertificates'))) { if (($i = $this->_revokedCertificate($rclist, $serial)) !== false) { - return $this->_getExtension($id, $crl, "tbsCertList/revokedCertificates/$i/crlEntryExtensions"); + return $this->_getExtension($id, $crl, "tbsCertList/revokedCertificates/$i/crlEntryExtensions"); } } diff --git a/phpseclib/Math/BigInteger.php b/phpseclib/Math/BigInteger.php index 8e54f741..94362a69 100644 --- a/phpseclib/Math/BigInteger.php +++ b/phpseclib/Math/BigInteger.php @@ -253,7 +253,7 @@ class Math_BigInteger */ function Math_BigInteger($x = 0, $base = 10) { - if ( !defined('MATH_BIGINTEGER_MODE') ) { + if (!defined('MATH_BIGINTEGER_MODE')) { switch (true) { case extension_loaded('gmp'): define('MATH_BIGINTEGER_MODE', MATH_BIGINTEGER_MODE_GMP); @@ -334,7 +334,7 @@ class Math_BigInteger } } - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: switch (true) { case is_resource($x) && get_resource_type($x) == 'GMP integer': @@ -364,8 +364,8 @@ class Math_BigInteger $x = ~$x; $this->is_negative = true; } - case 256: - switch ( MATH_BIGINTEGER_MODE ) { + case 256: + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $sign = $this->is_negative ? '-' : ''; $this->value = gmp_init($sign . '0x' . bin2hex($x)); @@ -401,7 +401,7 @@ class Math_BigInteger $this->value = $temp->value; } break; - case 16: + case 16: case -16: if ($base > 0 && $x[0] == '-') { $this->is_negative = true; @@ -416,7 +416,7 @@ class Math_BigInteger $x = bin2hex(~pack('H*', $x)); } - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp = $this->is_negative ? '-0x' . $x : '0x' . $x; $this->value = gmp_init($temp); @@ -439,14 +439,14 @@ class Math_BigInteger $this->value = $temp->value; } break; - case 10: + case 10: case -10: // (?value = gmp_init($x); break; @@ -476,7 +476,7 @@ class Math_BigInteger $this->value = $temp->value; } break; - case 2: // base-2 support originally implemented by Lluis Pamies - thanks! + case 2: // base-2 support originally implemented by Lluis Pamies - thanks! case -2: if ($base > 0 && $x[0] == '-') { $this->is_negative = true; @@ -551,7 +551,7 @@ class Math_BigInteger return $comparison < 0 ? ~$bytes : $bytes; } - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: if (gmp_cmp($this->value, gmp_init(0)) == 0) { return $this->precision > 0 ? str_repeat(chr(0), ($this->precision + 1) >> 3) : ''; @@ -692,7 +692,7 @@ class Math_BigInteger */ function toString() { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: return gmp_strval($this->value); case MATH_BIGINTEGER_MODE_BCMATH: @@ -849,7 +849,7 @@ class Math_BigInteger */ function add($y) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp = new Math_BigInteger(); $temp->value = gmp_add($this->value, $y->value); @@ -891,7 +891,7 @@ class Math_BigInteger MATH_BIGINTEGER_VALUE => $y_value, MATH_BIGINTEGER_SIGN => $y_negative ); - } else if ($y_size == 0) { + } elseif ($y_size == 0) { return array( MATH_BIGINTEGER_VALUE => $x_value, MATH_BIGINTEGER_SIGN => $x_negative @@ -899,8 +899,8 @@ class Math_BigInteger } // subtract, if appropriate - if ( $x_negative != $y_negative ) { - if ( $x_value == $y_value ) { + if ($x_negative != $y_negative) { + if ($x_value == $y_value) { return array( MATH_BIGINTEGER_VALUE => array(), MATH_BIGINTEGER_SIGN => false @@ -980,7 +980,7 @@ class Math_BigInteger */ function subtract($y) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp = new Math_BigInteger(); $temp->value = gmp_sub($this->value, $y->value); @@ -1022,7 +1022,7 @@ class Math_BigInteger MATH_BIGINTEGER_VALUE => $y_value, MATH_BIGINTEGER_SIGN => !$y_negative ); - } else if ($y_size == 0) { + } elseif ($y_size == 0) { return array( MATH_BIGINTEGER_VALUE => $x_value, MATH_BIGINTEGER_SIGN => $x_negative @@ -1030,7 +1030,7 @@ class Math_BigInteger } // add, if appropriate (ie. -$x - +$y or +$x - -$y) - if ( $x_negative != $y_negative ) { + if ($x_negative != $y_negative) { $temp = $this->_add($x_value, false, $y_value, false); $temp[MATH_BIGINTEGER_SIGN] = $x_negative; @@ -1039,7 +1039,7 @@ class Math_BigInteger $diff = $this->_compare($x_value, $x_negative, $y_value, $y_negative); - if ( !$diff ) { + if (!$diff) { return array( MATH_BIGINTEGER_VALUE => array(), MATH_BIGINTEGER_SIGN => false @@ -1047,7 +1047,7 @@ class Math_BigInteger } // switch $x and $y around, if appropriate. - if ( (!$x_negative && $diff < 0) || ($x_negative && $diff > 0) ) { + if ((!$x_negative && $diff < 0) || ($x_negative && $diff > 0)) { $temp = $x_value; $x_value = $y_value; $y_value = $temp; @@ -1115,7 +1115,7 @@ class Math_BigInteger */ function multiply($x) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp = new Math_BigInteger(); $temp->value = gmp_mul($this->value, $x->value); @@ -1159,7 +1159,7 @@ class Math_BigInteger $x_length = count($x_value); $y_length = count($y_value); - if ( !$x_length || !$y_length ) { // a 0 is being multiplied + if (!$x_length || !$y_length) { // a 0 is being multiplied return array( MATH_BIGINTEGER_VALUE => array(), MATH_BIGINTEGER_SIGN => false @@ -1189,11 +1189,11 @@ class Math_BigInteger $x_length = count($x_value); $y_length = count($y_value); - if ( !$x_length || !$y_length ) { // a 0 is being multiplied + if (!$x_length || !$y_length) { // a 0 is being multiplied return array(); } - if ( $x_length < $y_length ) { + if ($x_length < $y_length) { $temp = $x_value; $x_value = $y_value; $y_value = $temp; @@ -1306,7 +1306,7 @@ class Math_BigInteger */ function _baseSquare($value) { - if ( empty($value) ) { + if (empty($value)) { return array(); } $square_value = $this->_array_repeat(0, 2 * count($value)); @@ -1402,7 +1402,7 @@ class Math_BigInteger */ function divide($y) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $quotient = new Math_BigInteger(); $remainder = new Math_BigInteger(); @@ -1439,7 +1439,7 @@ class Math_BigInteger } static $zero; - if ( !isset($zero) ) { + if (!isset($zero)) { $zero = new Math_BigInteger(); } @@ -1453,16 +1453,16 @@ class Math_BigInteger $diff = $x->compare($y); - if ( !$diff ) { + if (!$diff) { $temp = new Math_BigInteger(); $temp->value = array(1); $temp->is_negative = $x_sign != $y_sign; return array($this->_normalize($temp), $this->_normalize(new Math_BigInteger())); } - if ( $diff < 0 ) { + if ($diff < 0) { // if $x is negative, "add" $y. - if ( $x_sign ) { + if ($x_sign) { $x = $y->subtract($x); } return array($this->_normalize(new Math_BigInteger()), $this->_normalize($x)); @@ -1496,7 +1496,7 @@ class Math_BigInteger // $temp = $y << ($x_max - $y_max-1) in base 2**26 $temp_value = array_merge($this->_array_repeat(0, $x_max - $y_max), $y_value); - while ( $x->compare($temp) >= 0 ) { + while ($x->compare($temp) >= 0) { // calculate the "common residue" ++$quotient_value[$x_max - $y_max]; $x = $x->subtract($temp); @@ -1532,7 +1532,7 @@ class Math_BigInteger $rhs_value = array($x_window[2], $x_window[1], $x_window[0]); - while ( $lhs->compare($rhs) > 0 ) { + while ($lhs->compare($rhs) > 0) { --$quotient_value[$q_index]; $lhs->value = array($quotient_value[$q_index]); @@ -1563,7 +1563,7 @@ class Math_BigInteger $quotient->is_negative = $x_sign != $y_sign; // calculate the "common residue", if appropriate - if ( $x_sign ) { + if ($x_sign) { $y->_rshift($shift); $x = $y->subtract($x); } @@ -1652,7 +1652,7 @@ class Math_BigInteger return $this->_normalize($temp->modPow($e, $n)); } - if ( MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_GMP ) { + if (MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_GMP) { $temp = new Math_BigInteger(); $temp->value = gmp_powm($this->value, $e->value, $n->value); @@ -1675,17 +1675,23 @@ class Math_BigInteger 'publicExponent' => pack('Ca*a*', 2, $this->_encodeASN1Length(strlen($components['publicExponent'])), $components['publicExponent']) ); - $RSAPublicKey = pack('Ca*a*a*', - 48, $this->_encodeASN1Length(strlen($components['modulus']) + strlen($components['publicExponent'])), - $components['modulus'], $components['publicExponent'] + $RSAPublicKey = pack( + 'Ca*a*a*', + 48, + $this->_encodeASN1Length(strlen($components['modulus']) + strlen($components['publicExponent'])), + $components['modulus'], + $components['publicExponent'] ); $rsaOID = pack('H*', '300d06092a864886f70d0101010500'); // hex version of MA0GCSqGSIb3DQEBAQUA $RSAPublicKey = chr(0) . $RSAPublicKey; $RSAPublicKey = chr(3) . $this->_encodeASN1Length(strlen($RSAPublicKey)) . $RSAPublicKey; - $encapsulated = pack('Ca*a*', - 48, $this->_encodeASN1Length(strlen($rsaOID . $RSAPublicKey)), $rsaOID . $RSAPublicKey + $encapsulated = pack( + 'Ca*a*', + 48, + $this->_encodeASN1Length(strlen($rsaOID . $RSAPublicKey)), + $rsaOID . $RSAPublicKey ); $RSAPublicKey = "-----BEGIN PUBLIC KEY-----\r\n" . @@ -1699,25 +1705,25 @@ class Math_BigInteger } } - if ( MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_BCMATH ) { + if (MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_BCMATH) { $temp = new Math_BigInteger(); $temp->value = bcpowmod($this->value, $e->value, $n->value, 0); return $this->_normalize($temp); } - if ( empty($e->value) ) { + if (empty($e->value)) { $temp = new Math_BigInteger(); $temp->value = array(1); return $this->_normalize($temp); } - if ( $e->value == array(1) ) { + if ($e->value == array(1)) { list(, $temp) = $this->divide($n); return $this->_normalize($temp); } - if ( $e->value == array(2) ) { + if ($e->value == array(2)) { $temp = new Math_BigInteger(); $temp->value = $this->_square($this->value); list(, $temp) = $temp->divide($n); @@ -1732,14 +1738,14 @@ class Math_BigInteger // made uncallable // is the modulo odd? - if ( $n->value[0] & 1 ) { + if ($n->value[0] & 1) { return $this->_normalize($this->_slidingWindow($e, $n, MATH_BIGINTEGER_MONTGOMERY)); } // if it's not, it's even // find the lowest set bit (eg. the max pow of 2 that divides $n) for ($i = 0; $i < count($n->value); ++$i) { - if ( $n->value[$i] ) { + if ($n->value[$i]) { $temp = decbin($n->value[$i]); $j = strlen($temp) - strrpos($temp, '1') - 1; $j+= 26 * $i; @@ -1817,7 +1823,8 @@ class Math_BigInteger // calculate the appropriate window size. // $window_size == 3 if $window_ranges is between 25 and 81, for example. - for ($i = 0, $window_size = 1; $e_length > $window_ranges[$i] && $i < count($window_ranges); ++$window_size, ++$i); + for ($i = 0, $window_size = 1; $e_length > $window_ranges[$i] && $i < count($window_ranges); ++$window_size, ++$i) { + } $n_value = $n->value; @@ -1837,13 +1844,13 @@ class Math_BigInteger $result = array(1); $result = $this->_prepareReduce($result, $n_value, $mode); - for ($i = 0; $i < $e_length; ) { - if ( !$e_bits[$i] ) { + for ($i = 0; $i < $e_length;) { + if (!$e_bits[$i]) { $result = $this->_squareReduce($result, $n_value, $mode); ++$i; } else { for ($j = $window_size - 1; $j > 0; --$j) { - if ( !empty($e_bits[$i + $j]) ) { + if (!empty($e_bits[$i + $j])) { break; } } @@ -2027,7 +2034,7 @@ class Math_BigInteger // n = 2 * m.length - if ( ($key = array_search($m, $cache[MATH_BIGINTEGER_VARIABLE])) === false ) { + if (($key = array_search($m, $cache[MATH_BIGINTEGER_VARIABLE])) === false) { $key = count($cache[MATH_BIGINTEGER_VARIABLE]); $cache[MATH_BIGINTEGER_VARIABLE][] = $m; @@ -2116,7 +2123,7 @@ class Math_BigInteger return $temp->value; } - if ( ($key = array_search($n, $cache[MATH_BIGINTEGER_VARIABLE])) === false ) { + if (($key = array_search($n, $cache[MATH_BIGINTEGER_VARIABLE])) === false) { $key = count($cache[MATH_BIGINTEGER_VARIABLE]); $cache[MATH_BIGINTEGER_VARIABLE][] = $n; $lhs = new Math_BigInteger(); @@ -2177,14 +2184,14 @@ class Math_BigInteger $x_length = count($x_value); $y_length = count($y_value); - if ( !$x_length || !$y_length ) { // a 0 is being multiplied + if (!$x_length || !$y_length) { // a 0 is being multiplied return array( MATH_BIGINTEGER_VALUE => array(), MATH_BIGINTEGER_SIGN => false ); } - if ( $x_length < $y_length ) { + if ($x_length < $y_length) { $temp = $x_value; $x_value = $y_value; $y_value = $temp; @@ -2258,7 +2265,7 @@ class Math_BigInteger MATH_BIGINTEGER_DATA => array() ); - if ( ($key = array_search($n, $cache[MATH_BIGINTEGER_VARIABLE])) === false ) { + if (($key = array_search($n, $cache[MATH_BIGINTEGER_VARIABLE])) === false) { $key = count($cache[MATH_BIGINTEGER_VARIABLE]); $cache[MATH_BIGINTEGER_VARIABLE][] = $x; $cache[MATH_BIGINTEGER_DATA][] = $this->_modInverse67108864($n); @@ -2314,7 +2321,7 @@ class Math_BigInteger MATH_BIGINTEGER_DATA => array() ); - if ( ($key = array_search($m, $cache[MATH_BIGINTEGER_VARIABLE])) === false ) { + if (($key = array_search($m, $cache[MATH_BIGINTEGER_VARIABLE])) === false) { $key = count($cache[MATH_BIGINTEGER_VARIABLE]); $cache[MATH_BIGINTEGER_VARIABLE][] = $m; $cache[MATH_BIGINTEGER_DATA][] = $this->_modInverse67108864($m); @@ -2429,7 +2436,7 @@ class Math_BigInteger */ function modInverse($n) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp = new Math_BigInteger(); $temp->value = gmp_invert($this->value, $n->value); @@ -2495,7 +2502,7 @@ class Math_BigInteger */ function extendedGCD($n) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: extract(gmp_gcdext($this->value, $n->value)); @@ -2545,7 +2552,7 @@ class Math_BigInteger $g = new Math_BigInteger(); $g->value = array(1); - while ( !(($x->value[0] & 1)|| ($y->value[0] & 1)) ) { + while (!(($x->value[0] & 1)|| ($y->value[0] & 1))) { $x->_rshift(1); $y->_rshift(1); $g->_lshift(1); @@ -2562,10 +2569,10 @@ class Math_BigInteger $a->value = $d->value = $g->value = array(1); $b->value = $c->value = array(); - while ( !empty($u->value) ) { - while ( !($u->value[0] & 1) ) { + while (!empty($u->value)) { + while (!($u->value[0] & 1)) { $u->_rshift(1); - if ( (!empty($a->value) && ($a->value[0] & 1)) || (!empty($b->value) && ($b->value[0] & 1)) ) { + if ((!empty($a->value) && ($a->value[0] & 1)) || (!empty($b->value) && ($b->value[0] & 1))) { $a = $a->add($y); $b = $b->subtract($x); } @@ -2573,9 +2580,9 @@ class Math_BigInteger $b->_rshift(1); } - while ( !($v->value[0] & 1) ) { + while (!($v->value[0] & 1)) { $v->_rshift(1); - if ( (!empty($d->value) && ($d->value[0] & 1)) || (!empty($c->value) && ($c->value[0] & 1)) ) { + if ((!empty($d->value) && ($d->value[0] & 1)) || (!empty($c->value) && ($c->value[0] & 1))) { $c = $c->add($y); $d = $d->subtract($x); } @@ -2640,7 +2647,7 @@ class Math_BigInteger { $temp = new Math_BigInteger(); - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp->value = gmp_abs($this->value); break; @@ -2674,7 +2681,7 @@ class Math_BigInteger */ function compare($y) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: return gmp_cmp($this->value, $y->value); case MATH_BIGINTEGER_MODE_BCMATH: @@ -2697,13 +2704,13 @@ class Math_BigInteger */ function _compare($x_value, $x_negative, $y_value, $y_negative) { - if ( $x_negative != $y_negative ) { + if ($x_negative != $y_negative) { return ( !$x_negative && $y_negative ) ? 1 : -1; } $result = $x_negative ? -1 : 1; - if ( count($x_value) != count($y_value) ) { + if (count($x_value) != count($y_value)) { return ( count($x_value) > count($y_value) ) ? $result : -$result; } $size = max(count($x_value), count($y_value)); @@ -2732,7 +2739,7 @@ class Math_BigInteger */ function equals($x) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: return gmp_cmp($this->value, $x->value) == 0; default: @@ -2752,7 +2759,7 @@ class Math_BigInteger function setPrecision($bits) { $this->precision = $bits; - if ( MATH_BIGINTEGER_MODE != MATH_BIGINTEGER_MODE_BCMATH ) { + if (MATH_BIGINTEGER_MODE != MATH_BIGINTEGER_MODE_BCMATH) { $this->bitmask = new Math_BigInteger(chr((1 << ($bits & 0x7)) - 1) . str_repeat(chr(0xFF), $bits >> 3), 256); } else { $this->bitmask = new Math_BigInteger(bcpow('2', $bits, 0)); @@ -2772,7 +2779,7 @@ class Math_BigInteger */ function bitwise_and($x) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp = new Math_BigInteger(); $temp->value = gmp_and($this->value, $x->value); @@ -2813,7 +2820,7 @@ class Math_BigInteger */ function bitwise_or($x) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp = new Math_BigInteger(); $temp->value = gmp_or($this->value, $x->value); @@ -2853,7 +2860,7 @@ class Math_BigInteger */ function bitwise_xor($x) { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: $temp = new Math_BigInteger(); $temp->value = gmp_xor($this->value, $x->value); @@ -2933,7 +2940,7 @@ class Math_BigInteger { $temp = new Math_BigInteger(); - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: static $two; @@ -2971,7 +2978,7 @@ class Math_BigInteger { $temp = new Math_BigInteger(); - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: static $two; @@ -3010,7 +3017,7 @@ class Math_BigInteger if ($this->precision > 0) { $precision = $this->precision; - if ( MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_BCMATH ) { + if (MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_BCMATH) { $mask = $this->bitmask->subtract(new Math_BigInteger(1)); $mask = $mask->toBytes(); } else { @@ -3018,7 +3025,8 @@ class Math_BigInteger } } else { $temp = ord($bits[0]); - for ($i = 0; $temp >> $i; ++$i); + for ($i = 0; $temp >> $i; ++$i) { + } $precision = 8 * strlen($bits) - 8 + $i; $mask = chr((1 << ($precision & 0x7)) - 1) . str_repeat(chr(0xFF), $precision >> 3); } @@ -3129,7 +3137,7 @@ class Math_BigInteger if (!$compare) { return $this->_normalize($min); - } else if ($compare < 0) { + } elseif ($compare < 0) { // if $min is bigger then $max, swap $min and $max $temp = $max; $max = $min; @@ -3210,7 +3218,7 @@ class Math_BigInteger if (!$compare) { return $min->isPrime() ? $min : false; - } else if ($compare < 0) { + } elseif ($compare < 0) { // if $min is bigger then $max, swap $min and $max $temp = $max; $max = $min; @@ -3228,7 +3236,7 @@ class Math_BigInteger $x = $this->random($min, $max); // gmp_nextprime() requires PHP 5 >= 5.2.0 per . - if ( MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_GMP && function_exists('gmp_nextprime') ) { + if (MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_GMP && function_exists('gmp_nextprime')) { $p = new Math_BigInteger(); $p->value = gmp_nextprime($x->value); @@ -3294,7 +3302,7 @@ class Math_BigInteger */ function _make_odd() { - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: gmp_setbit($this->value, 0); break; @@ -3346,7 +3354,7 @@ class Math_BigInteger // ie. gmp_testbit($this, 0) // ie. isEven() or !isOdd() - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: return gmp_prob_prime($this->value, $t) != 0; case MATH_BIGINTEGER_MODE_BCMATH: @@ -3383,7 +3391,7 @@ class Math_BigInteger 953, 967, 971, 977, 983, 991, 997 ); - if ( MATH_BIGINTEGER_MODE != MATH_BIGINTEGER_MODE_INTERNAL ) { + if (MATH_BIGINTEGER_MODE != MATH_BIGINTEGER_MODE_INTERNAL) { for ($i = 0; $i < count($primes); ++$i) { $primes[$i] = new Math_BigInteger($primes[$i]); } @@ -3399,7 +3407,7 @@ class Math_BigInteger } // see HAC 4.4.1 "Random search for probable primes" - if ( MATH_BIGINTEGER_MODE != MATH_BIGINTEGER_MODE_INTERNAL ) { + if (MATH_BIGINTEGER_MODE != MATH_BIGINTEGER_MODE_INTERNAL) { foreach ($primes as $prime) { list(, $r) = $this->divide($prime); if ($r->equals($zero)) { @@ -3423,7 +3431,7 @@ class Math_BigInteger $r = $n_1->copy(); $r_value = $r->value; // ie. $s = gmp_scan1($n, 0) and $r = gmp_div_q($n, gmp_pow(gmp_init('2'), $s)); - if ( MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_BCMATH ) { + if (MATH_BIGINTEGER_MODE == MATH_BIGINTEGER_MODE_BCMATH) { $s = 0; // if $n was 1, $r would be 0 and this would be an infinite loop, hence our $this->equals($one) check earlier while ($r->value[strlen($r->value) - 1] % 2 == 0) { @@ -3433,7 +3441,8 @@ class Math_BigInteger } else { for ($i = 0, $r_length = count($r_value); $i < $r_length; ++$i) { $temp = ~$r_value[$i] & 0xFFFFFF; - for ($j = 1; ($temp >> $j) & 1; ++$j); + for ($j = 1; ($temp >> $j) & 1; ++$j) { + } if ($j != 25) { break; } @@ -3472,7 +3481,7 @@ class Math_BigInteger */ function _lshift($shift) { - if ( $shift == 0 ) { + if ($shift == 0) { return; } @@ -3488,7 +3497,7 @@ class Math_BigInteger $this->value[$i] = (int) ($temp - $carry * MATH_BIGINTEGER_BASE_FULL); } - if ( $carry ) { + if ($carry) { $this->value[count($this->value)] = $carry; } @@ -3516,7 +3525,7 @@ class Math_BigInteger $carry_shift = MATH_BIGINTEGER_BASE - $shift; $carry_mask = (1 << $shift) - 1; - if ( $num_digits ) { + if ($num_digits) { $this->value = array_slice($this->value, $num_digits); } @@ -3546,7 +3555,7 @@ class Math_BigInteger $result->precision = $this->precision; $result->bitmask = $this->bitmask; - switch ( MATH_BIGINTEGER_MODE ) { + switch (MATH_BIGINTEGER_MODE) { case MATH_BIGINTEGER_MODE_GMP: if (!empty($result->bitmask->value)) { $result->value = gmp_and($result->value, $result->bitmask->value); @@ -3563,7 +3572,7 @@ class Math_BigInteger $value = &$result->value; - if ( !count($value) ) { + if (!count($value)) { return $result; } @@ -3593,7 +3602,7 @@ class Math_BigInteger function _trim($value) { for ($i = count($value) - 1; $i >= 0; --$i) { - if ( $value[$i] ) { + if ($value[$i]) { break; } unset($value[$i]); diff --git a/phpseclib/Net/SCP.php b/phpseclib/Net/SCP.php index b4ef4902..d73be75f 100644 --- a/phpseclib/Net/SCP.php +++ b/phpseclib/Net/SCP.php @@ -303,7 +303,7 @@ class Net_SCP case NET_SCP_SSH1: $data = pack('CNa*', NET_SSH1_CMSG_STDIN_DATA, strlen($data), $data); $this->ssh->_send_binary_packet($data); - } + } } /** @@ -339,7 +339,7 @@ class Net_SCP return false; } } - } + } } /** @@ -355,6 +355,6 @@ class Net_SCP break; case NET_SCP_SSH1: $this->ssh->disconnect(); - } + } } } diff --git a/phpseclib/Net/SFTP.php b/phpseclib/Net/SFTP.php index 6be9174a..5f79caf1 100644 --- a/phpseclib/Net/SFTP.php +++ b/phpseclib/Net/SFTP.php @@ -434,8 +434,15 @@ class Net_SFTP extends Net_SSH2 $this->window_size_server_to_client[NET_SFTP_CHANNEL] = $this->window_size; - $packet = pack('CNa*N3', - NET_SSH2_MSG_CHANNEL_OPEN, strlen('session'), 'session', NET_SFTP_CHANNEL, $this->window_size, 0x4000); + $packet = pack( + 'CNa*N3', + NET_SSH2_MSG_CHANNEL_OPEN, + strlen('session'), + 'session', + NET_SFTP_CHANNEL, + $this->window_size, + 0x4000 + ); if (!$this->_send_binary_packet($packet)) { return false; @@ -448,8 +455,16 @@ class Net_SFTP extends Net_SSH2 return false; } - $packet = pack('CNNa*CNa*', - NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[NET_SFTP_CHANNEL], strlen('subsystem'), 'subsystem', 1, strlen('sftp'), 'sftp'); + $packet = pack( + 'CNNa*CNa*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[NET_SFTP_CHANNEL], + strlen('subsystem'), + 'subsystem', + 1, + strlen('sftp'), + 'sftp' + ); if (!$this->_send_binary_packet($packet)) { return false; } @@ -464,8 +479,16 @@ class Net_SFTP extends Net_SSH2 "exec sftp-server"; // we don't do $this->exec($command, false) because exec() operates on a different channel and plus the SSH_MSG_CHANNEL_OPEN that exec() does // is redundant - $packet = pack('CNNa*CNa*', - NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[NET_SFTP_CHANNEL], strlen('exec'), 'exec', 1, strlen($command), $command); + $packet = pack( + 'CNNa*CNa*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[NET_SFTP_CHANNEL], + strlen('exec'), + 'exec', + 1, + strlen($command), + $command + ); if (!$this->_send_binary_packet($packet)) { return false; } @@ -806,7 +829,7 @@ class Net_SFTP extends Net_SSH2 static $depth = 0; - foreach ($files as $key=>$value) { + foreach ($files as $key => $value) { if ($depth != 0 && $key == '..') { unset($files[$key]); continue; @@ -1071,7 +1094,7 @@ class Net_SFTP extends Net_SSH2 $temp = &$this->stat_cache; $max = count($dirs) - 1; - foreach ($dirs as $i=>$dir) { + foreach ($dirs as $i => $dir) { // if $temp is an object that means one of two things. // 1. a file was deleted and changed to a directory behind phpseclib's back // 2. it's a symlink. when lstat is done it's unclear what it's a symlink to @@ -1110,7 +1133,7 @@ class Net_SFTP extends Net_SSH2 $temp = &$this->stat_cache; $max = count($dirs) - 1; - foreach ($dirs as $i=>$dir) { + foreach ($dirs as $i => $dir) { if ($i === $max) { unset($temp[$dir]); return true; @@ -1540,7 +1563,7 @@ class Net_SFTP extends Net_SSH2 } unset($entries['.'], $entries['..']); - foreach ($entries as $filename=>$props) { + foreach ($entries as $filename => $props) { if (!isset($props['type'])) { return false; } @@ -2214,7 +2237,7 @@ class Net_SFTP extends Net_SSH2 } unset($entries['.'], $entries['..']); - foreach ($entries as $filename=>$props) { + foreach ($entries as $filename => $props) { if (!isset($props['type'])) { return false; } @@ -2416,13 +2439,20 @@ class Net_SFTP extends Net_SSH2 } switch ($type) { - case NET_SFTP_TYPE_BLOCK_DEVICE: return 'block'; - case NET_SFTP_TYPE_CHAR_DEVICE: return 'char'; - case NET_SFTP_TYPE_DIRECTORY: return 'dir'; - case NET_SFTP_TYPE_FIFO: return 'fifo'; - case NET_SFTP_TYPE_REGULAR: return 'file'; - case NET_SFTP_TYPE_SYMLINK: return 'link'; - default: return false; + case NET_SFTP_TYPE_BLOCK_DEVICE: + return 'block'; + case NET_SFTP_TYPE_CHAR_DEVICE: + return 'char'; + case NET_SFTP_TYPE_DIRECTORY: + return 'dir'; + case NET_SFTP_TYPE_FIFO: + return 'fifo'; + case NET_SFTP_TYPE_REGULAR: + return 'file'; + case NET_SFTP_TYPE_SYMLINK: + return 'link'; + default: + return false; } } @@ -2681,7 +2711,7 @@ class Net_SFTP extends Net_SSH2 { $packet = $this->request_id !== false ? pack('NCNa*', strlen($data) + 5, $type, $this->request_id, $data) : - pack('NCa*', strlen($data) + 1, $type, $data); + pack('NCa*', strlen($data) + 1, $type, $data); $start = strtok(microtime(), ' ') + strtok(''); // http://php.net/microtime#61838 $result = $this->_send_channel_packet(NET_SFTP_CHANNEL, $packet); diff --git a/phpseclib/Net/SSH1.php b/phpseclib/Net/SSH1.php index f1fae02b..3fa599af 100644 --- a/phpseclib/Net/SSH1.php +++ b/phpseclib/Net/SSH1.php @@ -621,7 +621,7 @@ class Net_SSH1 // get a list of the supported ciphers extract(unpack('Nsupported_ciphers_mask', $this->_string_shift($response[NET_SSH1_RESPONSE_DATA], 4))); - foreach ($this->supported_ciphers as $mask=>$name) { + foreach ($this->supported_ciphers as $mask => $name) { if (($supported_ciphers_mask & (1 << $mask)) == 0) { unset($this->supported_ciphers[$mask]); } @@ -629,7 +629,7 @@ class Net_SSH1 // get a list of the supported authentications extract(unpack('Nsupported_authentications_mask', $this->_string_shift($response[NET_SSH1_RESPONSE_DATA], 4))); - foreach ($this->supported_authentications as $mask=>$name) { + foreach ($this->supported_authentications as $mask => $name) { if (($supported_authentications_mask & (1 << $mask)) == 0) { unset($this->supported_authentications[$mask]); } @@ -691,7 +691,7 @@ class Net_SSH1 $this->crypto = new Crypt_DES(); $this->crypto->disablePadding(); $this->crypto->enableContinuousBuffer(); - $this->crypto->setKey(substr($session_key, 0, 8)); + $this->crypto->setKey(substr($session_key, 0, 8)); break; case NET_SSH1_CIPHER_3DES: if (!class_exists('Crypt_TripleDES')) { @@ -760,7 +760,7 @@ class Net_SSH1 if ($response[NET_SSH1_RESPONSE_TYPE] == NET_SSH1_SMSG_SUCCESS) { $this->bitmap |= NET_SSH1_MASK_LOGIN; return true; - } else if ($response[NET_SSH1_RESPONSE_TYPE] != NET_SSH1_SMSG_FAILURE) { + } elseif ($response[NET_SSH1_RESPONSE_TYPE] != NET_SSH1_SMSG_FAILURE) { user_error('Expected SSH_SMSG_SUCCESS or SSH_SMSG_FAILURE'); return false; } @@ -786,7 +786,7 @@ class Net_SSH1 if ($response[NET_SSH1_RESPONSE_TYPE] == NET_SSH1_SMSG_SUCCESS) { $this->bitmap |= NET_SSH1_MASK_LOGIN; return true; - } else if ($response[NET_SSH1_RESPONSE_TYPE] == NET_SSH1_SMSG_FAILURE) { + } elseif ($response[NET_SSH1_RESPONSE_TYPE] == NET_SSH1_SMSG_FAILURE) { return false; } else { user_error('Expected SSH_SMSG_SUCCESS or SSH_SMSG_FAILURE'); @@ -1299,7 +1299,7 @@ class Net_SSH1 $crc = 0x00000000; $length = strlen($data); - for ($i=0;$i<$length;$i++) { + for ($i=0; $i<$length; $i++) { // We AND $crc >> 8 with 0x00FFFFFF because we want the eight newly added bits to all // be zero. PHP, unfortunately, doesn't always do this. 0x80000000 >> 8, as an example, // yields 0xFF800000 - not 0x00800000. The following link elaborates: @@ -1398,7 +1398,7 @@ class Net_SSH1 { $args = func_get_args(); foreach ($args as $arg) { - foreach ($arg as $key=>$value) { + foreach ($arg as $key => $value) { if (!defined($value)) { define($value, $key); } else { diff --git a/phpseclib/Net/SSH2.php b/phpseclib/Net/SSH2.php index 48772f3f..28d7bfb9 100644 --- a/phpseclib/Net/SSH2.php +++ b/phpseclib/Net/SSH2.php @@ -1323,14 +1323,32 @@ class Net_SSH2 $first_kex_packet_follows = $first_kex_packet_follows != 0; // the sending of SSH2_MSG_KEXINIT could go in one of two places. this is the second place. - $kexinit_payload_client = pack('Ca*Na*Na*Na*Na*Na*Na*Na*Na*Na*Na*CN', - NET_SSH2_MSG_KEXINIT, $client_cookie, strlen($str_kex_algorithms), $str_kex_algorithms, - strlen($str_server_host_key_algorithms), $str_server_host_key_algorithms, strlen($encryption_algorithms_client_to_server), - $encryption_algorithms_client_to_server, strlen($encryption_algorithms_server_to_client), $encryption_algorithms_server_to_client, - strlen($mac_algorithms_client_to_server), $mac_algorithms_client_to_server, strlen($mac_algorithms_server_to_client), - $mac_algorithms_server_to_client, strlen($compression_algorithms_client_to_server), $compression_algorithms_client_to_server, - strlen($compression_algorithms_server_to_client), $compression_algorithms_server_to_client, 0, '', 0, '', - 0, 0 + $kexinit_payload_client = pack( + 'Ca*Na*Na*Na*Na*Na*Na*Na*Na*Na*Na*CN', + NET_SSH2_MSG_KEXINIT, + $client_cookie, + strlen($str_kex_algorithms), + $str_kex_algorithms, + strlen($str_server_host_key_algorithms), + $str_server_host_key_algorithms, + strlen($encryption_algorithms_client_to_server), + $encryption_algorithms_client_to_server, + strlen($encryption_algorithms_server_to_client), + $encryption_algorithms_server_to_client, + strlen($mac_algorithms_client_to_server), + $mac_algorithms_client_to_server, + strlen($mac_algorithms_server_to_client), + $mac_algorithms_server_to_client, + strlen($compression_algorithms_client_to_server), + $compression_algorithms_client_to_server, + strlen($compression_algorithms_server_to_client), + $compression_algorithms_server_to_client, + 0, + '', + 0, + '', + 0, + 0 ); if (!$this->_send_binary_packet($kexinit_payload_client)) { @@ -1339,7 +1357,8 @@ class Net_SSH2 // here ends the second place. // we need to decide upon the symmetric encryption algorithms before we do the diffie-hellman key exchange - for ($i = 0; $i < count($encryption_algorithms) && !in_array($encryption_algorithms[$i], $this->encryption_algorithms_server_to_client); $i++); + for ($i = 0; $i < count($encryption_algorithms) && !in_array($encryption_algorithms[$i], $this->encryption_algorithms_server_to_client); $i++) { + } if ($i == count($encryption_algorithms)) { user_error('No compatible server to client encryption algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); @@ -1385,7 +1404,8 @@ class Net_SSH2 $decryptKeyLength = 0; } - for ($i = 0; $i < count($encryption_algorithms) && !in_array($encryption_algorithms[$i], $this->encryption_algorithms_client_to_server); $i++); + for ($i = 0; $i < count($encryption_algorithms) && !in_array($encryption_algorithms[$i], $this->encryption_algorithms_client_to_server); $i++) { + } if ($i == count($encryption_algorithms)) { user_error('No compatible client to server encryption algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); @@ -1432,19 +1452,23 @@ class Net_SSH2 $keyLength = $decryptKeyLength > $encryptKeyLength ? $decryptKeyLength : $encryptKeyLength; // through diffie-hellman key exchange a symmetric key is obtained - for ($i = 0; $i < count($kex_algorithms) && !in_array($kex_algorithms[$i], $this->kex_algorithms); $i++); + for ($i = 0; $i < count($kex_algorithms) && !in_array($kex_algorithms[$i], $this->kex_algorithms); + $i++) { + } if ($i == count($kex_algorithms)) { user_error('No compatible key exchange algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } if (strpos($kex_algorithms[$i], 'diffie-hellman-group-exchange') === 0) { - $dh_group_sizes_packed = pack('NNN', + $dh_group_sizes_packed = pack( + 'NNN', $this->kex_dh_group_size_min, $this->kex_dh_group_size_preferred, $this->kex_dh_group_size_max ); - $packet = pack('Ca*', + $packet = pack( + 'Ca*', NET_SSH2_MSG_KEXDH_GEX_REQUEST, $dh_group_sizes_packed ); @@ -1471,10 +1495,13 @@ class Net_SSH2 $gBytes = $this->_string_shift($response, $gLength); $g = new Math_BigInteger($gBytes, -256); - $exchange_hash_rfc4419 = pack('a*Na*Na*', + $exchange_hash_rfc4419 = pack( + 'a*Na*Na*', $dh_group_sizes_packed, - $primeLength, $primeBytes, - $gLength, $gBytes + $primeLength, + $primeBytes, + $gLength, + $gBytes ); $clientKexInitMessage = NET_SSH2_MSG_KEXDH_GEX_INIT; @@ -1572,16 +1599,25 @@ class Net_SSH2 $key = $f->modPow($x, $prime); $keyBytes = $key->toBytes(true); - $this->exchange_hash = pack('Na*Na*Na*Na*Na*a*Na*Na*Na*', - strlen($this->identifier), $this->identifier, - strlen($this->server_identifier), $this->server_identifier, - strlen($kexinit_payload_client), $kexinit_payload_client, - strlen($kexinit_payload_server), $kexinit_payload_server, - strlen($this->server_public_host_key), $this->server_public_host_key, + $this->exchange_hash = pack( + 'Na*Na*Na*Na*Na*a*Na*Na*Na*', + strlen($this->identifier), + $this->identifier, + strlen($this->server_identifier), + $this->server_identifier, + strlen($kexinit_payload_client), + $kexinit_payload_client, + strlen($kexinit_payload_server), + $kexinit_payload_server, + strlen($this->server_public_host_key), + $this->server_public_host_key, $exchange_hash_rfc4419, - strlen($eBytes), $eBytes, - strlen($fBytes), $fBytes, - strlen($keyBytes), $keyBytes + strlen($eBytes), + $eBytes, + strlen($fBytes), + $fBytes, + strlen($keyBytes), + $keyBytes ); $this->exchange_hash = $kexHash->hash($this->exchange_hash); @@ -1590,7 +1626,8 @@ class Net_SSH2 $this->session_id = $this->exchange_hash; } - for ($i = 0; $i < count($server_host_key_algorithms) && !in_array($server_host_key_algorithms[$i], $this->server_host_key_algorithms); $i++); + for ($i = 0; $i < count($server_host_key_algorithms) && !in_array($server_host_key_algorithms[$i], $this->server_host_key_algorithms); $i++) { + } if ($i == count($server_host_key_algorithms)) { user_error('No compatible server host key algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); @@ -1601,7 +1638,8 @@ class Net_SSH2 return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } - $packet = pack('C', + $packet = pack( + 'C', NET_SSH2_MSG_NEWKEYS ); @@ -1833,7 +1871,8 @@ class Net_SSH2 $this->decrypt->decrypt(str_repeat("\0", 1536)); } - for ($i = 0; $i < count($mac_algorithms) && !in_array($mac_algorithms[$i], $this->mac_algorithms_client_to_server); $i++); + for ($i = 0; $i < count($mac_algorithms) && !in_array($mac_algorithms[$i], $this->mac_algorithms_client_to_server); $i++) { + } if ($i == count($mac_algorithms)) { user_error('No compatible client to server message authentication algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); @@ -1862,7 +1901,8 @@ class Net_SSH2 $createKeyLength = 16; } - for ($i = 0; $i < count($mac_algorithms) && !in_array($mac_algorithms[$i], $this->mac_algorithms_server_to_client); $i++); + for ($i = 0; $i < count($mac_algorithms) && !in_array($mac_algorithms[$i], $this->mac_algorithms_server_to_client); $i++) { + } if ($i == count($mac_algorithms)) { user_error('No compatible server to client message authentication algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); @@ -1909,14 +1949,16 @@ class Net_SSH2 } $this->hmac_check->setKey(substr($key, 0, $checkKeyLength)); - for ($i = 0; $i < count($compression_algorithms) && !in_array($compression_algorithms[$i], $this->compression_algorithms_server_to_client); $i++); + for ($i = 0; $i < count($compression_algorithms) && !in_array($compression_algorithms[$i], $this->compression_algorithms_server_to_client); $i++) { + } if ($i == count($compression_algorithms)) { user_error('No compatible server to client compression algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } $this->decompress = $compression_algorithms[$i] == 'zlib'; - for ($i = 0; $i < count($compression_algorithms) && !in_array($compression_algorithms[$i], $this->compression_algorithms_client_to_server); $i++); + for ($i = 0; $i < count($compression_algorithms) && !in_array($compression_algorithms[$i], $this->compression_algorithms_client_to_server); $i++) { + } if ($i == count($compression_algorithms)) { user_error('No compatible client to server compression algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); @@ -1992,8 +2034,11 @@ class Net_SSH2 } if (!($this->bitmap & NET_SSH2_MASK_LOGIN_REQ)) { - $packet = pack('CNa*', - NET_SSH2_MSG_SERVICE_REQUEST, strlen('ssh-userauth'), 'ssh-userauth' + $packet = pack( + 'CNa*', + NET_SSH2_MSG_SERVICE_REQUEST, + strlen('ssh-userauth'), + 'ssh-userauth' ); if (!$this->_send_binary_packet($packet)) { @@ -2038,9 +2083,15 @@ class Net_SSH2 } if (!isset($password)) { - $packet = pack('CNa*Na*Na*', - NET_SSH2_MSG_USERAUTH_REQUEST, strlen($username), $username, strlen('ssh-connection'), 'ssh-connection', - strlen('none'), 'none' + $packet = pack( + 'CNa*Na*Na*', + NET_SSH2_MSG_USERAUTH_REQUEST, + strlen($username), + $username, + strlen('ssh-connection'), + 'ssh-connection', + strlen('none'), + 'none' ); if (!$this->_send_binary_packet($packet)) { @@ -2065,18 +2116,36 @@ class Net_SSH2 } } - $packet = pack('CNa*Na*Na*CNa*', - NET_SSH2_MSG_USERAUTH_REQUEST, strlen($username), $username, strlen('ssh-connection'), 'ssh-connection', - strlen('password'), 'password', 0, strlen($password), $password + $packet = pack( + 'CNa*Na*Na*CNa*', + NET_SSH2_MSG_USERAUTH_REQUEST, + strlen($username), + $username, + strlen('ssh-connection'), + 'ssh-connection', + strlen('password'), + 'password', + 0, + strlen($password), + $password ); // remove the username and password from the logged packet if (!defined('NET_SSH2_LOGGING')) { $logged = null; } else { - $logged = pack('CNa*Na*Na*CNa*', - NET_SSH2_MSG_USERAUTH_REQUEST, strlen('username'), 'username', strlen('ssh-connection'), 'ssh-connection', - strlen('password'), 'password', 0, strlen('password'), 'password' + $logged = pack( + 'CNa*Na*Na*CNa*', + NET_SSH2_MSG_USERAUTH_REQUEST, + strlen('username'), + 'username', + strlen('ssh-connection'), + 'ssh-connection', + strlen('password'), + 'password', + 0, + strlen('password'), + 'password' ); } @@ -2136,9 +2205,19 @@ class Net_SSH2 */ function _keyboard_interactive_login($username, $password) { - $packet = pack('CNa*Na*Na*Na*Na*', - NET_SSH2_MSG_USERAUTH_REQUEST, strlen($username), $username, strlen('ssh-connection'), 'ssh-connection', - strlen('keyboard-interactive'), 'keyboard-interactive', 0, '', 0, '' + $packet = pack( + 'CNa*Na*Na*Na*Na*', + NET_SSH2_MSG_USERAUTH_REQUEST, + strlen($username), + $username, + strlen('ssh-connection'), + 'ssh-connection', + strlen('keyboard-interactive'), + 'keyboard-interactive', + 0, + '', + 0, + '' ); if (!$this->_send_binary_packet($packet)) { @@ -2209,7 +2288,7 @@ class Net_SSH2 // see http://tools.ietf.org/html/rfc4256#section-3.2 if (strlen($this->last_interactive_response)) { $this->last_interactive_response = ''; - } else if (defined('NET_SSH2_LOGGING')) { + } elseif (defined('NET_SSH2_LOGGING')) { $this->message_number_log[count($this->message_number_log) - 1] = str_replace( 'UNKNOWN', 'NET_SSH2_MSG_USERAUTH_INFO_REQUEST', @@ -2305,13 +2384,25 @@ class Net_SSH2 'e' => $publickey['e']->toBytes(true), 'n' => $publickey['n']->toBytes(true) ); - $publickey = pack('Na*Na*Na*', - strlen('ssh-rsa'), 'ssh-rsa', strlen($publickey['e']), $publickey['e'], strlen($publickey['n']), $publickey['n'] + $publickey = pack( + 'Na*Na*Na*', + strlen('ssh-rsa'), + 'ssh-rsa', + strlen($publickey['e']), + $publickey['e'], + strlen($publickey['n']), + $publickey['n'] ); - $part1 = pack('CNa*Na*Na*', - NET_SSH2_MSG_USERAUTH_REQUEST, strlen($username), $username, strlen('ssh-connection'), 'ssh-connection', - strlen('publickey'), 'publickey' + $part1 = pack( + 'CNa*Na*Na*', + NET_SSH2_MSG_USERAUTH_REQUEST, + strlen($username), + $username, + strlen('ssh-connection'), + 'ssh-connection', + strlen('publickey'), + 'publickey' ); $part2 = pack('Na*Na*', strlen('ssh-rsa'), 'ssh-rsa', strlen($publickey), $publickey); @@ -2429,8 +2520,15 @@ class Net_SSH2 // uses 0x4000, that's what will be used here, as well. $packet_size = 0x4000; - $packet = pack('CNa*N3', - NET_SSH2_MSG_CHANNEL_OPEN, strlen('session'), 'session', NET_SSH2_CHANNEL_EXEC, $this->window_size_server_to_client[NET_SSH2_CHANNEL_EXEC], $packet_size); + $packet = pack( + 'CNa*N3', + NET_SSH2_MSG_CHANNEL_OPEN, + strlen('session'), + 'session', + NET_SSH2_CHANNEL_EXEC, + $this->window_size_server_to_client[NET_SSH2_CHANNEL_EXEC], + $packet_size + ); if (!$this->_send_binary_packet($packet)) { return false; @@ -2445,9 +2543,22 @@ class Net_SSH2 if ($this->request_pty === true) { $terminal_modes = pack('C', NET_SSH2_TTY_OP_END); - $packet = pack('CNNa*CNa*N5a*', - NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[NET_SSH2_CHANNEL_EXEC], strlen('pty-req'), 'pty-req', 1, strlen('vt100'), 'vt100', - $this->windowColumns, $this->windowRows, 0, 0, strlen($terminal_modes), $terminal_modes); + $packet = pack( + 'CNNa*CNa*N5a*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[NET_SSH2_CHANNEL_EXEC], + strlen('pty-req'), + 'pty-req', + 1, + strlen('vt100'), + 'vt100', + $this->windowColumns, + $this->windowRows, + 0, + 0, + strlen($terminal_modes), + $terminal_modes + ); if (!$this->_send_binary_packet($packet)) { return false; @@ -2481,8 +2592,16 @@ class Net_SSH2 // although, in theory, the size of SSH_MSG_CHANNEL_REQUEST could exceed the maximum packet size established by // SSH_MSG_CHANNEL_OPEN_CONFIRMATION, RFC4254#section-5.1 states that the "maximum packet size" refers to the // "maximum size of an individual data packet". ie. SSH_MSG_CHANNEL_DATA. RFC4254#section-5.2 corroborates. - $packet = pack('CNNa*CNa*', - NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[NET_SSH2_CHANNEL_EXEC], strlen('exec'), 'exec', 1, strlen($command), $command); + $packet = pack( + 'CNNa*CNa*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[NET_SSH2_CHANNEL_EXEC], + strlen('exec'), + 'exec', + 1, + strlen($command), + $command + ); if (!$this->_send_binary_packet($packet)) { return false; @@ -2539,8 +2658,15 @@ class Net_SSH2 $this->window_size_server_to_client[NET_SSH2_CHANNEL_SHELL] = $this->window_size; $packet_size = 0x4000; - $packet = pack('CNa*N3', - NET_SSH2_MSG_CHANNEL_OPEN, strlen('session'), 'session', NET_SSH2_CHANNEL_SHELL, $this->window_size_server_to_client[NET_SSH2_CHANNEL_SHELL], $packet_size); + $packet = pack( + 'CNa*N3', + NET_SSH2_MSG_CHANNEL_OPEN, + strlen('session'), + 'session', + NET_SSH2_CHANNEL_SHELL, + $this->window_size_server_to_client[NET_SSH2_CHANNEL_SHELL], + $packet_size + ); if (!$this->_send_binary_packet($packet)) { return false; @@ -2554,9 +2680,22 @@ class Net_SSH2 } $terminal_modes = pack('C', NET_SSH2_TTY_OP_END); - $packet = pack('CNNa*CNa*N5a*', - NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[NET_SSH2_CHANNEL_SHELL], strlen('pty-req'), 'pty-req', 1, strlen('vt100'), 'vt100', - $this->windowColumns, $this->windowRows, 0, 0, strlen($terminal_modes), $terminal_modes); + $packet = pack( + 'CNNa*CNa*N5a*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[NET_SSH2_CHANNEL_SHELL], + strlen('pty-req'), + 'pty-req', + 1, + strlen('vt100'), + 'vt100', + $this->windowColumns, + $this->windowRows, + 0, + 0, + strlen($terminal_modes), + $terminal_modes + ); if (!$this->_send_binary_packet($packet)) { return false; @@ -2580,8 +2719,14 @@ class Net_SSH2 return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); } - $packet = pack('CNNa*C', - NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[NET_SSH2_CHANNEL_SHELL], strlen('shell'), 'shell', 1); + $packet = pack( + 'CNNa*C', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[NET_SSH2_CHANNEL_SHELL], + strlen('shell'), + 'shell', + 1 + ); if (!$this->_send_binary_packet($packet)) { return false; } @@ -2728,8 +2873,15 @@ class Net_SSH2 { $this->window_size_server_to_client[NET_SSH2_CHANNEL_SUBSYSTEM] = $this->window_size; - $packet = pack('CNa*N3', - NET_SSH2_MSG_CHANNEL_OPEN, strlen('session'), 'session', NET_SSH2_CHANNEL_SUBSYSTEM, $this->window_size, 0x4000); + $packet = pack( + 'CNa*N3', + NET_SSH2_MSG_CHANNEL_OPEN, + strlen('session'), + 'session', + NET_SSH2_CHANNEL_SUBSYSTEM, + $this->window_size, + 0x4000 + ); if (!$this->_send_binary_packet($packet)) { return false; @@ -2742,8 +2894,16 @@ class Net_SSH2 return false; } - $packet = pack('CNNa*CNa*', - NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[NET_SSH2_CHANNEL_SUBSYSTEM], strlen('subsystem'), 'subsystem', 1, strlen($subsystem), $subsystem); + $packet = pack( + 'CNNa*CNa*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[NET_SSH2_CHANNEL_SUBSYSTEM], + strlen('subsystem'), + 'subsystem', + 1, + strlen($subsystem), + $subsystem + ); if (!$this->_send_binary_packet($packet)) { return false; } @@ -2753,7 +2913,7 @@ class Net_SSH2 $response = $this->_get_channel_packet(NET_SSH2_CHANNEL_SUBSYSTEM); if ($response === false) { - return false; + return false; } $this->channel_status[NET_SSH2_CHANNEL_SUBSYSTEM] = NET_SSH2_MSG_CHANNEL_DATA; @@ -2997,34 +3157,48 @@ class Net_SSH2 extract(unpack('Nlength', $this->_string_shift($payload, 4))); $data = $this->_string_shift($payload, $length); extract(unpack('Nserver_channel', $this->_string_shift($payload, 4))); - switch($data) { + switch ($data) { case 'auth-agent': case 'auth-agent@openssh.com': if (isset($this->agent)) { - $new_channel = NET_SSH2_CHANNEL_AGENT_FORWARD; + $new_channel = NET_SSH2_CHANNEL_AGENT_FORWARD; - extract(unpack('Nremote_window_size', $this->_string_shift($payload, 4))); - extract(unpack('Nremote_maximum_packet_size', $this->_string_shift($payload, 4))); + extract(unpack('Nremote_window_size', $this->_string_shift($payload, 4))); + extract(unpack('Nremote_maximum_packet_size', $this->_string_shift($payload, 4))); - $this->packet_size_client_to_server[$new_channel] = $remote_window_size; - $this->window_size_server_to_client[$new_channel] = $remote_maximum_packet_size; - $this->window_size_client_to_server[$new_channel] = $this->window_size; + $this->packet_size_client_to_server[$new_channel] = $remote_window_size; + $this->window_size_server_to_client[$new_channel] = $remote_maximum_packet_size; + $this->window_size_client_to_server[$new_channel] = $this->window_size; - $packet_size = 0x4000; + $packet_size = 0x4000; - $packet = pack('CN4', - NET_SSH2_MSG_CHANNEL_OPEN_CONFIRMATION, $server_channel, $new_channel, $packet_size, $packet_size); + $packet = pack( + 'CN4', + NET_SSH2_MSG_CHANNEL_OPEN_CONFIRMATION, + $server_channel, + $new_channel, + $packet_size, + $packet_size + ); - $this->server_channels[$new_channel] = $server_channel; - $this->channel_status[$new_channel] = NET_SSH2_MSG_CHANNEL_OPEN_CONFIRMATION; - if (!$this->_send_binary_packet($packet)) { - return false; - } + $this->server_channels[$new_channel] = $server_channel; + $this->channel_status[$new_channel] = NET_SSH2_MSG_CHANNEL_OPEN_CONFIRMATION; + if (!$this->_send_binary_packet($packet)) { + return false; + } } break; default: - $packet = pack('CN3a*Na*', - NET_SSH2_MSG_REQUEST_FAILURE, $server_channel, NET_SSH2_OPEN_ADMINISTRATIVELY_PROHIBITED, 0, '', 0, ''); + $packet = pack( + 'CN3a*Na*', + NET_SSH2_MSG_REQUEST_FAILURE, + $server_channel, + NET_SSH2_OPEN_ADMINISTRATIVELY_PROHIBITED, + 0, + '', + 0, + '' + ); if (!$this->_send_binary_packet($packet)) { return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); @@ -3500,7 +3674,8 @@ class Net_SSH2 ); $temp = $this->_string_shift($data, $max_size); - $packet = pack('CN2a*', + $packet = pack( + 'CN2a*', NET_SSH2_MSG_CHANNEL_DATA, $this->server_channels[$client_channel], strlen($temp), @@ -3541,7 +3716,8 @@ class Net_SSH2 $this->curTimeout = 0; - while (!is_bool($this->_get_channel_packet($client_channel))); + while (!is_bool($this->_get_channel_packet($client_channel))) { + } if ($want_reply) { $this->_send_binary_packet(pack('CN', NET_SSH2_MSG_CHANNEL_CLOSE, $this->server_channels[$client_channel])); @@ -3601,7 +3777,7 @@ class Net_SSH2 { $args = func_get_args(); foreach ($args as $arg) { - foreach ($arg as $key=>$value) { + foreach ($arg as $key => $value) { if (!defined($value)) { define($value, $key); } else { diff --git a/phpseclib/System/SSH/Agent.php b/phpseclib/System/SSH/Agent.php index da20697d..ea6d55bf 100644 --- a/phpseclib/System/SSH/Agent.php +++ b/phpseclib/System/SSH/Agent.php @@ -378,8 +378,14 @@ class System_SSH_Agent return false; } - $packet = pack('CNNa*C', - NET_SSH2_MSG_CHANNEL_REQUEST, $ssh->server_channels[$request_channel], strlen('auth-agent-req@openssh.com'), 'auth-agent-req@openssh.com', 1); + $packet = pack( + 'CNNa*C', + NET_SSH2_MSG_CHANNEL_REQUEST, + $ssh->server_channels[$request_channel], + strlen('auth-agent-req@openssh.com'), + 'auth-agent-req@openssh.com', + 1 + ); $ssh->channel_status[$request_channel] = NET_SSH2_MSG_CHANNEL_REQUEST; diff --git a/tests/Functional/Net/SCPSSH2UserStoryTest.php b/tests/Functional/Net/SCPSSH2UserStoryTest.php index 295e982f..4ba69f14 100644 --- a/tests/Functional/Net/SCPSSH2UserStoryTest.php +++ b/tests/Functional/Net/SCPSSH2UserStoryTest.php @@ -12,7 +12,7 @@ class Functional_Net_SCPSSH2UserStoryTest extends PhpseclibFunctionalTestCase static protected $exampleData; static protected $exampleDataLength; - static public function setUpBeforeClass() + public static function setUpBeforeClass() { parent::setUpBeforeClass(); self::$remoteFile = uniqid('phpseclib-scp-ssh2-') . '.txt'; diff --git a/tests/Functional/Net/SFTPLargeFileTest.php b/tests/Functional/Net/SFTPLargeFileTest.php index 1e85b1fa..0da85ab8 100644 --- a/tests/Functional/Net/SFTPLargeFileTest.php +++ b/tests/Functional/Net/SFTPLargeFileTest.php @@ -10,7 +10,7 @@ require_once 'Crypt/Base.php'; class Functional_Net_SFTPLargeFileTest extends Functional_Net_SFTPTestCase { - static public function setUpBeforeClass() + public static function setUpBeforeClass() { if (!extension_loaded('mcrypt') && !extension_loaded('openssl')) { self::markTestSkipped('This test depends on mcrypt or openssl for performance.'); diff --git a/tests/Functional/Net/SFTPUserStoryTest.php b/tests/Functional/Net/SFTPUserStoryTest.php index 0b93bd37..53cc548d 100644 --- a/tests/Functional/Net/SFTPUserStoryTest.php +++ b/tests/Functional/Net/SFTPUserStoryTest.php @@ -13,7 +13,7 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase static protected $exampleDataLength; static protected $buffer; - static public function setUpBeforeClass() + public static function setUpBeforeClass() { parent::setUpBeforeClass(); @@ -137,7 +137,9 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase { $r = substr(self::$buffer, 0, $length); self::$buffer = substr(self::$buffer, $length); - if (strlen($r)) return $r; + if (strlen($r)) { + return $r; + } return null; } @@ -335,7 +337,8 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase if ($sftp->is_file($file)) { $cur_size = $sftp->size($file); $this->assertLessThanOrEqual( - $last_size, $cur_size, + $last_size, + $cur_size, 'Failed asserting that nlist() is in descending order' ); $last_size = $cur_size; @@ -386,7 +389,8 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase $stat = $sftp->stat('symlink'); $lstat = $sftp->lstat('symlink'); $this->assertNotEquals( - $stat, $lstat, + $stat, + $lstat, 'Failed asserting that stat and lstat returned different output for a symlink' ); @@ -419,7 +423,9 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase */ public function testReadlink($sftp) { - $this->assertInternalType('string', $sftp->readlink('symlink'), + $this->assertInternalType( + 'string', + $sftp->readlink('symlink'), 'Failed asserting that a symlink\'s target could be read' ); @@ -434,12 +440,14 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase { $stat = $sftp->stat('.'); $this->assertInternalType( - 'array', $stat, + 'array', + $stat, 'Failed asserting that stat on . returns an array' ); $lstat = $sftp->lstat('.'); $this->assertInternalType( - 'array', $lstat, + 'array', + $lstat, 'Failed asserting that lstat on . returns an array' ); diff --git a/tests/PhpseclibFunctionalTestCase.php b/tests/PhpseclibFunctionalTestCase.php index c8143239..0fcdf8df 100644 --- a/tests/PhpseclibFunctionalTestCase.php +++ b/tests/PhpseclibFunctionalTestCase.php @@ -7,7 +7,7 @@ abstract class PhpseclibFunctionalTestCase extends PhpseclibTestCase { - static public function setUpBeforeClass() + public static function setUpBeforeClass() { if (extension_loaded('runkit')) { if (extension_loaded('gmp')) { diff --git a/tests/PhpseclibTestCase.php b/tests/PhpseclibTestCase.php index f7fce154..4dc28b9a 100644 --- a/tests/PhpseclibTestCase.php +++ b/tests/PhpseclibTestCase.php @@ -53,7 +53,7 @@ abstract class PhpseclibTestCase extends PHPUnit_Framework_TestCase * * @return null */ - static protected function ensureConstant($constant, $expected) + protected static function ensureConstant($constant, $expected) { if (defined($constant)) { $value = constant($constant); @@ -86,7 +86,7 @@ abstract class PhpseclibTestCase extends PHPUnit_Framework_TestCase * * @return null */ - static protected function reRequireFile($filename) + protected static function reRequireFile($filename) { if (function_exists('runkit_import')) { $result = runkit_import( diff --git a/tests/Unit/Crypt/DESTest.php b/tests/Unit/Crypt/DESTest.php index 20ebf0e3..2a51d6cf 100644 --- a/tests/Unit/Crypt/DESTest.php +++ b/tests/Unit/Crypt/DESTest.php @@ -35,7 +35,7 @@ class Unit_Crypt_DESTest extends PhpseclibTestCase $des->setPreferredEngine(CRYPT_ENGINE_OPENSSL); if ($des->getEngine() == CRYPT_ENGINE_OPENSSL) { $openssl = $des->encrypt('d'); - $this->assertEquals($result, $openssl, 'Failed asserting that the OpenSSL engine produced the correct result'); + $this->assertEquals($result, $openssl, 'Failed asserting that the OpenSSL engine produced the correct result'); } else { self::markTestSkipped('Unable to initialize OpenSSL engine'); } @@ -69,7 +69,7 @@ class Unit_Crypt_DESTest extends PhpseclibTestCase $des->setPreferredEngine(CRYPT_ENGINE_OPENSSL); if ($des->getEngine() == CRYPT_ENGINE_OPENSSL) { $openssl = $des->decrypt('d'); - $this->assertEquals($result, $openssl, 'Failed asserting that the OpenSSL engine produced the correct result'); + $this->assertEquals($result, $openssl, 'Failed asserting that the OpenSSL engine produced the correct result'); } else { self::markTestSkipped('Unable to initialize OpenSSL engine'); } diff --git a/tests/Unit/Crypt/Hash/MD5Test.php b/tests/Unit/Crypt/Hash/MD5Test.php index 598bfe2f..a2969598 100644 --- a/tests/Unit/Crypt/Hash/MD5Test.php +++ b/tests/Unit/Crypt/Hash/MD5Test.php @@ -20,7 +20,7 @@ class Unit_Crypt_Hash_MD5Test extends Unit_Crypt_Hash_TestCase $this->assertHashesTo($this->getInstance(), $message, $result); } - static public function hashData() + public static function hashData() { return array( array('', 'd41d8cd98f00b204e9800998ecf8427e'), @@ -37,7 +37,7 @@ class Unit_Crypt_Hash_MD5Test extends Unit_Crypt_Hash_TestCase $this->assertHMACsTo($this->getInstance(), $key, $message, $result); } - static public function hmacData() + public static function hmacData() { return array( array('', '', '74e6f7298a9c2d168935f58c001bad88'), diff --git a/tests/Unit/Crypt/Hash/SHA256Test.php b/tests/Unit/Crypt/Hash/SHA256Test.php index d006b18d..b4b1995a 100644 --- a/tests/Unit/Crypt/Hash/SHA256Test.php +++ b/tests/Unit/Crypt/Hash/SHA256Test.php @@ -20,7 +20,7 @@ class Unit_Crypt_Hash_SHA256Test extends Unit_Crypt_Hash_TestCase $this->assertHashesTo($this->getInstance(), $message, $result); } - static public function hashData() + public static function hashData() { return array( array( @@ -46,7 +46,7 @@ class Unit_Crypt_Hash_SHA256Test extends Unit_Crypt_Hash_TestCase $this->assertHMACsTo($this->getInstance(), $key, $message, $result); } - static public function hmacData() + public static function hmacData() { return array( // RFC 4231 diff --git a/tests/Unit/Crypt/Hash/SHA512Test.php b/tests/Unit/Crypt/Hash/SHA512Test.php index c3c4e933..0a0e5818 100644 --- a/tests/Unit/Crypt/Hash/SHA512Test.php +++ b/tests/Unit/Crypt/Hash/SHA512Test.php @@ -20,7 +20,7 @@ class Unit_Crypt_Hash_SHA512Test extends Unit_Crypt_Hash_TestCase $this->assertHashesTo($this->getInstance(), $message, $result); } - static public function hashData() + public static function hashData() { return array( array( @@ -46,7 +46,7 @@ class Unit_Crypt_Hash_SHA512Test extends Unit_Crypt_Hash_TestCase $this->assertHMACsTo($this->getInstance(), $key, $message, $result); } - static public function hmacData() + public static function hmacData() { return array( // RFC 4231 diff --git a/tests/Unit/Crypt/Hash/TestCase.php b/tests/Unit/Crypt/Hash/TestCase.php index d33d2d00..df64a5da 100644 --- a/tests/Unit/Crypt/Hash/TestCase.php +++ b/tests/Unit/Crypt/Hash/TestCase.php @@ -9,7 +9,7 @@ require_once 'Crypt/Hash.php'; abstract class Unit_Crypt_Hash_TestCase extends PhpseclibTestCase { - static public function setUpBeforeClass() + public static function setUpBeforeClass() { if (!defined('CRYPT_HASH_MODE')) { define('CRYPT_HASH_MODE', CRYPT_HASH_MODE_INTERNAL); diff --git a/tests/Unit/Crypt/RC2Test.php b/tests/Unit/Crypt/RC2Test.php index 17c2e729..8bf5ecd7 100644 --- a/tests/Unit/Crypt/RC2Test.php +++ b/tests/Unit/Crypt/RC2Test.php @@ -95,7 +95,7 @@ class Unit_Crypt_RC2Test extends PhpseclibTestCase $rc2->setPreferredEngine(CRYPT_ENGINE_OPENSSL); if ($rc2->getEngine() == CRYPT_ENGINE_OPENSSL) { $openssl = $rc2->encrypt('d'); - $this->assertEquals($result, $openssl, 'Failed asserting that the OpenSSL engine produced the correct result'); + $this->assertEquals($result, $openssl, 'Failed asserting that the OpenSSL engine produced the correct result'); } else { self::markTestSkipped('Unable to initialize OpenSSL engine'); } diff --git a/tests/Unit/Crypt/TwofishTest.php b/tests/Unit/Crypt/TwofishTest.php index 26cc0e28..53cfecd8 100644 --- a/tests/Unit/Crypt/TwofishTest.php +++ b/tests/Unit/Crypt/TwofishTest.php @@ -17,7 +17,7 @@ class Unit_Crypt_TwofishTest extends PhpseclibTestCase CRYPT_ENGINE_OPENSSL => 'OpenSSL', ); - foreach ($engines as $engine=>$name) { + foreach ($engines as $engine => $name) { $tf = new Crypt_Twofish(); $tf->disablePadding(); diff --git a/tests/Unit/Math/BigInteger/BCMathTest.php b/tests/Unit/Math/BigInteger/BCMathTest.php index ebb215f3..109f81d0 100644 --- a/tests/Unit/Math/BigInteger/BCMathTest.php +++ b/tests/Unit/Math/BigInteger/BCMathTest.php @@ -7,7 +7,7 @@ class Unit_Math_BigInteger_BCMathTest extends Unit_Math_BigInteger_TestCase { - static public function setUpBeforeClass() + public static function setUpBeforeClass() { if (!extension_loaded('bcmath')) { self::markTestSkipped('BCMath extension is not available.'); diff --git a/tests/Unit/Math/BigInteger/GMPTest.php b/tests/Unit/Math/BigInteger/GMPTest.php index 94328c87..2ec2042f 100644 --- a/tests/Unit/Math/BigInteger/GMPTest.php +++ b/tests/Unit/Math/BigInteger/GMPTest.php @@ -7,7 +7,7 @@ class Unit_Math_BigInteger_GMPTest extends Unit_Math_BigInteger_TestCase { - static public function setUpBeforeClass() + public static function setUpBeforeClass() { if (!extension_loaded('gmp')) { self::markTestSkipped('GNU Multiple Precision (GMP) extension is not available.'); diff --git a/tests/Unit/Math/BigInteger/InternalOpenSSLTest.php b/tests/Unit/Math/BigInteger/InternalOpenSSLTest.php index ba721795..7f86fd63 100644 --- a/tests/Unit/Math/BigInteger/InternalOpenSSLTest.php +++ b/tests/Unit/Math/BigInteger/InternalOpenSSLTest.php @@ -7,7 +7,7 @@ class Unit_Math_BigInteger_InternalOpenSSLTest extends Unit_Math_BigInteger_TestCase { - static public function setUpBeforeClass() + public static function setUpBeforeClass() { if (!function_exists('openssl_public_encrypt')) { self::markTestSkipped('openssl_public_encrypt() function is not available.'); diff --git a/tests/Unit/Math/BigInteger/InternalTest.php b/tests/Unit/Math/BigInteger/InternalTest.php index 76f68bd7..f1fcae51 100644 --- a/tests/Unit/Math/BigInteger/InternalTest.php +++ b/tests/Unit/Math/BigInteger/InternalTest.php @@ -7,7 +7,7 @@ class Unit_Math_BigInteger_InternalTest extends Unit_Math_BigInteger_TestCase { - static public function setUpBeforeClass() + public static function setUpBeforeClass() { parent::setUpBeforeClass(); diff --git a/tests/Unit/Math/BigInteger/TestCase.php b/tests/Unit/Math/BigInteger/TestCase.php index cce63bbd..9f3eb158 100644 --- a/tests/Unit/Math/BigInteger/TestCase.php +++ b/tests/Unit/Math/BigInteger/TestCase.php @@ -9,7 +9,7 @@ require_once 'Math/BigInteger.php'; abstract class Unit_Math_BigInteger_TestCase extends PhpseclibTestCase { - static public function setUpBeforeClass() + public static function setUpBeforeClass() { parent::setUpBeforeClass(); diff --git a/tests/Unit/Net/SSH2Test.php b/tests/Unit/Net/SSH2Test.php index 7c3ff2e2..95361625 100644 --- a/tests/Unit/Net/SSH2Test.php +++ b/tests/Unit/Net/SSH2Test.php @@ -44,7 +44,7 @@ class Unit_Net_SSH2Test extends PhpseclibTestCase if (extension_loaded('openssl')) { $this->assertContains('openssl', $identifier); $this->assertNotContains('mcrypt', $identifier); - } else if (extension_loaded('mcrypt')) { + } elseif (extension_loaded('mcrypt')) { $this->assertNotContains('openssl', $identifier); $this->assertContains('mcrypt', $identifier); } else { @@ -55,7 +55,7 @@ class Unit_Net_SSH2Test extends PhpseclibTestCase if (extension_loaded('gmp')) { $this->assertContains('gmp', $identifier); $this->assertNotContains('bcmath', $identifier); - } else if (extension_loaded('bcmath')) { + } elseif (extension_loaded('bcmath')) { $this->assertNotContains('gmp', $identifier); $this->assertContains('bcmath', $identifier); } else { From 5eb205b2372bfe5f4e744bc1f7c7501c62bc679f Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Wed, 15 Jul 2015 04:32:19 +0200 Subject: [PATCH 10/30] Remove PSR2.Methods.FunctionCallSignature.SpaceAfterOpenBracket exception. --- build/code-sniffer-ruleset.xml | 1 - phpseclib/Crypt/Hash.php | 2 ++ tests/Unit/Math/BigInteger/TestCase.php | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/build/code-sniffer-ruleset.xml b/build/code-sniffer-ruleset.xml index 91171e5e..cb582633 100644 --- a/build/code-sniffer-ruleset.xml +++ b/build/code-sniffer-ruleset.xml @@ -22,7 +22,6 @@ - diff --git a/phpseclib/Crypt/Hash.php b/phpseclib/Crypt/Hash.php index 2c7fb199..b8e23215 100644 --- a/phpseclib/Crypt/Hash.php +++ b/phpseclib/Crypt/Hash.php @@ -511,12 +511,14 @@ class Crypt_Hash // Extend the sixteen 32-bit words into sixty-four 32-bit words for ($i = 16; $i < 64; $i++) { + // @codingStandardsIgnoreStart $s0 = $this->_rightRotate($w[$i - 15], 7) ^ $this->_rightRotate($w[$i - 15], 18) ^ $this->_rightShift( $w[$i - 15], 3); $s1 = $this->_rightRotate($w[$i - 2], 17) ^ $this->_rightRotate($w[$i - 2], 19) ^ $this->_rightShift( $w[$i - 2], 10); + // @codingStandardsIgnoreEnd $w[$i] = $this->_add($w[$i - 16], $s0, $w[$i - 7], $s1); } diff --git a/tests/Unit/Math/BigInteger/TestCase.php b/tests/Unit/Math/BigInteger/TestCase.php index 9f3eb158..78a01d7f 100644 --- a/tests/Unit/Math/BigInteger/TestCase.php +++ b/tests/Unit/Math/BigInteger/TestCase.php @@ -63,7 +63,7 @@ abstract class Unit_Math_BigInteger_TestCase extends PhpseclibTestCase public function testAdd() { $x = $this->getInstance('18446744073709551615'); - $y = $this->getInstance( '100000000000'); + $y = $this->getInstance('100000000000'); $a = $x->add($y); $b = $y->add($x); @@ -78,7 +78,7 @@ abstract class Unit_Math_BigInteger_TestCase extends PhpseclibTestCase public function testSubtract() { $x = $this->getInstance('18446744073709551618'); - $y = $this->getInstance( '4000000000000'); + $y = $this->getInstance('4000000000000'); $this->assertSame('18446740073709551618', (string) $x->subtract($y)); } From 847082ac743ab3444bed9c1061ff8c7d3b9c7c1d Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Fri, 17 Jul 2015 00:38:17 +0200 Subject: [PATCH 11/30] Fix indentation phpcbf did not fix. --- phpseclib/Crypt/Hash.php | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/phpseclib/Crypt/Hash.php b/phpseclib/Crypt/Hash.php index b8e23215..ce440635 100644 --- a/phpseclib/Crypt/Hash.php +++ b/phpseclib/Crypt/Hash.php @@ -276,26 +276,26 @@ class Crypt_Hash switch ($hash) { case 'md2': - $this->b = 16; - $this->hash = array($this, '_md2'); + $this->b = 16; + $this->hash = array($this, '_md2'); break; case 'md5': - $this->b = 64; - $this->hash = array($this, '_md5'); + $this->b = 64; + $this->hash = array($this, '_md5'); break; case 'sha256': - $this->b = 64; - $this->hash = array($this, '_sha256'); + $this->b = 64; + $this->hash = array($this, '_sha256'); break; case 'sha384': case 'sha512': - $this->b = 128; - $this->hash = array($this, '_sha512'); + $this->b = 128; + $this->hash = array($this, '_sha512'); break; case 'sha1': default: - $this->b = 64; - $this->hash = array($this, '_sha1'); + $this->b = 64; + $this->hash = array($this, '_sha1'); } $this->ipad = str_repeat(chr(0x36), $this->b); From 33a97391bc2b01ed77d2f62990d301fae8856475 Mon Sep 17 00:00:00 2001 From: terrafrost Date: Fri, 17 Jul 2015 12:30:44 -0500 Subject: [PATCH 12/30] SSH2: make it so you can connect using open sockets --- phpseclib/Net/SSH2.php | 41 ++++++++++++++++++++----------- tests/Functional/Net/SSH2Test.php | 13 ++++++++++ 2 files changed, 39 insertions(+), 15 deletions(-) diff --git a/phpseclib/Net/SSH2.php b/phpseclib/Net/SSH2.php index 28d7bfb9..daa77557 100644 --- a/phpseclib/Net/SSH2.php +++ b/phpseclib/Net/SSH2.php @@ -874,7 +874,9 @@ class Net_SSH2 /** * Default Constructor. * - * @param String $host + * $host can either be a string, representing the host, or a stream resource. + * + * @param Mixed $host * @param optional Integer $port * @param optional Integer $timeout * @see Net_SSH2::login() @@ -978,9 +980,16 @@ class Net_SSH2 34 => 'NET_SSH2_MSG_KEXDH_GEX_REQUEST') ); - $this->host = $host; - $this->port = $port; - $this->timeout = $timeout; + if (is_resource($host)) { + $this->fsock = $host; + return; + } + + if (is_string($host)) { + $this->host = $host; + $this->port = $port; + $this->timeout = $timeout; + } } /** @@ -1017,19 +1026,21 @@ class Net_SSH2 $this->last_packet = strtok(microtime(), ' ') + strtok(''); // == microtime(true) in PHP5 - $start = strtok(microtime(), ' ') + strtok(''); // http://php.net/microtime#61838 - $this->fsock = @fsockopen($this->host, $this->port, $errno, $errstr, $this->curTimeout); - if (!$this->fsock) { - user_error(rtrim("Cannot connect to $host. Error $errno. $errstr")); - return false; - } - $elapsed = strtok(microtime(), ' ') + strtok('') - $start; + if (!is_resource($this->fsock)) { + $start = strtok(microtime(), ' ') + strtok(''); // http://php.net/microtime#61838 + $this->fsock = @fsockopen($this->host, $this->port, $errno, $errstr, $this->curTimeout); + if (!$this->fsock) { + user_error(rtrim("Cannot connect to $host. Error $errno. $errstr")); + return false; + } + $elapsed = strtok(microtime(), ' ') + strtok('') - $start; - $this->curTimeout-= $elapsed; + $this->curTimeout-= $elapsed; - if ($this->curTimeout <= 0) { - $this->is_timeout = true; - return false; + if ($this->curTimeout <= 0) { + $this->is_timeout = true; + return false; + } } /* According to the SSH2 specs, diff --git a/tests/Functional/Net/SSH2Test.php b/tests/Functional/Net/SSH2Test.php index f6ed5252..c8917de5 100644 --- a/tests/Functional/Net/SSH2Test.php +++ b/tests/Functional/Net/SSH2Test.php @@ -85,4 +85,17 @@ class Functional_Net_SSH2Test extends PhpseclibFunctionalTestCase $this->assertInternalType('string', $ssh->getServerPublicHostKey()); } + + public function testOpenSocketConnect() + { + $fsock = fsockopen($this->getEnv('SSH_HOSTNAME'), 22); + $ssh = new Net_SSH2($fsock); + + $username = $this->getEnv('SSH_USERNAME'); + $password = $this->getEnv('SSH_PASSWORD'); + $this->assertTrue( + $ssh->login($username, $password), + 'SSH2 login using an open socket failed.' + ); + } } From a19e2a0d215d151f819ada053f29bc5d69a15073 Mon Sep 17 00:00:00 2001 From: terrafrost Date: Fri, 17 Jul 2015 13:08:24 -0500 Subject: [PATCH 13/30] SSH2: move where $host is defined --- phpseclib/Net/SSH2.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/phpseclib/Net/SSH2.php b/phpseclib/Net/SSH2.php index daa77557..d5f15f23 100644 --- a/phpseclib/Net/SSH2.php +++ b/phpseclib/Net/SSH2.php @@ -1022,14 +1022,13 @@ class Net_SSH2 $this->curTimeout = $this->timeout; - $host = $this->host . ':' . $this->port; - $this->last_packet = strtok(microtime(), ' ') + strtok(''); // == microtime(true) in PHP5 if (!is_resource($this->fsock)) { $start = strtok(microtime(), ' ') + strtok(''); // http://php.net/microtime#61838 $this->fsock = @fsockopen($this->host, $this->port, $errno, $errstr, $this->curTimeout); if (!$this->fsock) { + $host = $this->host . ':' . $this->port; user_error(rtrim("Cannot connect to $host. Error $errno. $errstr")); return false; } From 1473da35e674bd8be10671aa97e981d6a368cd43 Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Fri, 17 Jul 2015 18:20:42 +0200 Subject: [PATCH 14/30] SSH2: Introduce _array_intersect_first function. + No more empty for-loop bodies + No more counting variables $i leaked into outer context + No more unintuitive $i == count(...) comparisons + No more array / hash table access of the form $kex_algorithms[$i] - Function call overhead; not in the performance critical path, though. --- phpseclib/Net/SSH2.php | 95 ++++++++++++++++++++++-------------------- 1 file changed, 50 insertions(+), 45 deletions(-) diff --git a/phpseclib/Net/SSH2.php b/phpseclib/Net/SSH2.php index 28d7bfb9..46df01dc 100644 --- a/phpseclib/Net/SSH2.php +++ b/phpseclib/Net/SSH2.php @@ -1357,16 +1357,9 @@ class Net_SSH2 // here ends the second place. // we need to decide upon the symmetric encryption algorithms before we do the diffie-hellman key exchange - for ($i = 0; $i < count($encryption_algorithms) && !in_array($encryption_algorithms[$i], $this->encryption_algorithms_server_to_client); $i++) { - } - if ($i == count($encryption_algorithms)) { - user_error('No compatible server to client encryption algorithms found'); - return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); - } - // we don't initialize any crypto-objects, yet - we do that, later. for now, we need the lengths to make the // diffie-hellman key exchange as fast as possible - $decrypt = $encryption_algorithms[$i]; + $decrypt = $this->_array_intersect_first($encryption_algorithms, $this->encryption_algorithms_server_to_client); switch ($decrypt) { case '3des-cbc': case '3des-ctr': @@ -1402,16 +1395,13 @@ class Net_SSH2 break; case 'none': $decryptKeyLength = 0; + break; + default: + user_error('No compatible server to client encryption algorithms found'); + return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } - for ($i = 0; $i < count($encryption_algorithms) && !in_array($encryption_algorithms[$i], $this->encryption_algorithms_client_to_server); $i++) { - } - if ($i == count($encryption_algorithms)) { - user_error('No compatible client to server encryption algorithms found'); - return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); - } - - $encrypt = $encryption_algorithms[$i]; + $encrypt = $this->_array_intersect_first($encryption_algorithms, $this->encryption_algorithms_client_to_server); switch ($encrypt) { case '3des-cbc': case '3des-ctr': @@ -1447,20 +1437,21 @@ class Net_SSH2 break; case 'none': $encryptKeyLength = 0; + break; + default: + user_error('No compatible client to server encryption algorithms found'); + return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } $keyLength = $decryptKeyLength > $encryptKeyLength ? $decryptKeyLength : $encryptKeyLength; // through diffie-hellman key exchange a symmetric key is obtained - for ($i = 0; $i < count($kex_algorithms) && !in_array($kex_algorithms[$i], $this->kex_algorithms); - $i++) { - } - if ($i == count($kex_algorithms)) { + $kex_algorithm = $this->_array_intersect_first($kex_algorithms, $this->kex_algorithms); + if ($kex_algorithm === false) { user_error('No compatible key exchange algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } - - if (strpos($kex_algorithms[$i], 'diffie-hellman-group-exchange') === 0) { + if (strpos($kex_algorithm, 'diffie-hellman-group-exchange') === 0) { $dh_group_sizes_packed = pack( 'NNN', $this->kex_dh_group_size_min, @@ -1507,7 +1498,7 @@ class Net_SSH2 $clientKexInitMessage = NET_SSH2_MSG_KEXDH_GEX_INIT; $serverKexReplyMessage = NET_SSH2_MSG_KEXDH_GEX_REPLY; } else { - switch ($kex_algorithms[$i]) { + switch ($kex_algorithm) { // see http://tools.ietf.org/html/rfc2409#section-6.2 and // http://tools.ietf.org/html/rfc2412, appendex E case 'diffie-hellman-group1-sha1': @@ -1537,7 +1528,7 @@ class Net_SSH2 $serverKexReplyMessage = NET_SSH2_MSG_KEXDH_REPLY; } - switch ($kex_algorithms[$i]) { + switch ($kex_algorithm) { case 'diffie-hellman-group-exchange-sha256': $kexHash = new Crypt_Hash('sha256'); break; @@ -1626,14 +1617,13 @@ class Net_SSH2 $this->session_id = $this->exchange_hash; } - for ($i = 0; $i < count($server_host_key_algorithms) && !in_array($server_host_key_algorithms[$i], $this->server_host_key_algorithms); $i++) { - } - if ($i == count($server_host_key_algorithms)) { + $server_host_key_algorithm = $this->_array_intersect_first($server_host_key_algorithms, $this->server_host_key_algorithms); + if ($server_host_key_algorithm === false) { user_error('No compatible server host key algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } - if ($public_key_format != $server_host_key_algorithms[$i] || $this->signature_format != $server_host_key_algorithms[$i]) { + if ($public_key_format != $server_host_key_algorithm || $this->signature_format != $server_host_key_algorithm) { user_error('Server Host Key Algorithm Mismatch'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } @@ -1871,15 +1861,14 @@ class Net_SSH2 $this->decrypt->decrypt(str_repeat("\0", 1536)); } - for ($i = 0; $i < count($mac_algorithms) && !in_array($mac_algorithms[$i], $this->mac_algorithms_client_to_server); $i++) { - } - if ($i == count($mac_algorithms)) { + $mac_algorithm = $this->_array_intersect_first($mac_algorithms, $this->mac_algorithms_client_to_server); + if ($mac_algorithm === false) { user_error('No compatible client to server message authentication algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } - $createKeyLength = 0; // ie. $mac_algorithms[$i] == 'none' - switch ($mac_algorithms[$i]) { + $createKeyLength = 0; // ie. $mac_algorithm == 'none' + switch ($mac_algorithm) { case 'hmac-sha2-256': $this->hmac_create = new Crypt_Hash('sha256'); $createKeyLength = 32; @@ -1901,16 +1890,15 @@ class Net_SSH2 $createKeyLength = 16; } - for ($i = 0; $i < count($mac_algorithms) && !in_array($mac_algorithms[$i], $this->mac_algorithms_server_to_client); $i++) { - } - if ($i == count($mac_algorithms)) { + $mac_algorithm = $this->_array_intersect_first($mac_algorithms, $this->mac_algorithms_server_to_client); + if ($mac_algorithm === false) { user_error('No compatible server to client message authentication algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } $checkKeyLength = 0; $this->hmac_size = 0; - switch ($mac_algorithms[$i]) { + switch ($mac_algorithm) { case 'hmac-sha2-256': $this->hmac_check = new Crypt_Hash('sha256'); $checkKeyLength = 32; @@ -1949,21 +1937,19 @@ class Net_SSH2 } $this->hmac_check->setKey(substr($key, 0, $checkKeyLength)); - for ($i = 0; $i < count($compression_algorithms) && !in_array($compression_algorithms[$i], $this->compression_algorithms_server_to_client); $i++) { - } - if ($i == count($compression_algorithms)) { + $compression_algorithm = $this->_array_intersect_first($compression_algorithms, $this->compression_algorithms_server_to_client); + if ($compression_algorithm === false) { user_error('No compatible server to client compression algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } - $this->decompress = $compression_algorithms[$i] == 'zlib'; + $this->decompress = $compression_algorithm == 'zlib'; - for ($i = 0; $i < count($compression_algorithms) && !in_array($compression_algorithms[$i], $this->compression_algorithms_client_to_server); $i++) { - } - if ($i == count($compression_algorithms)) { + $compression_algorithm = $this->_array_intersect_first($compression_algorithms, $this->compression_algorithms_client_to_server); + if ($compression_algorithm === false) { user_error('No compatible client to server compression algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } - $this->compress = $compression_algorithms[$i] == 'zlib'; + $this->compress = $compression_algorithm == 'zlib'; return true; } @@ -3877,6 +3863,25 @@ class Net_SSH2 } } + /** + * Returns the first value of the intersection of two arrays or false if + * the intersection is empty. The order is defined by the first parameter. + * + * @param Array $array1 + * @param Array $array2 + * @return Mixed False if intersection is empty, else intersected value. + * @access private + */ + function _array_intersect_first($array1, $array2) + { + foreach ($array1 as $value) { + if (in_array($value, $array2)) { + return $value; + } + } + return false; + } + /** * Returns all errors * From 65010d08e6d4b72c38450f69477176b8a6572ac1 Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Fri, 24 Jul 2015 12:31:50 +0200 Subject: [PATCH 15/30] Add encryption_algorithm_to_key_size method. --- phpseclib/Net/SSH2.php | 125 ++++++++++++++++------------------------- 1 file changed, 47 insertions(+), 78 deletions(-) diff --git a/phpseclib/Net/SSH2.php b/phpseclib/Net/SSH2.php index ef0d4f22..35866f05 100644 --- a/phpseclib/Net/SSH2.php +++ b/phpseclib/Net/SSH2.php @@ -1370,87 +1370,17 @@ class Net_SSH2 // we don't initialize any crypto-objects, yet - we do that, later. for now, we need the lengths to make the // diffie-hellman key exchange as fast as possible $decrypt = $this->_array_intersect_first($encryption_algorithms, $this->encryption_algorithms_server_to_client); - switch ($decrypt) { - case '3des-cbc': - case '3des-ctr': - $decryptKeyLength = 24; // eg. 192 / 8 - break; - case 'aes256-cbc': - case 'aes256-ctr': - case 'twofish-cbc': - case 'twofish256-cbc': - case 'twofish256-ctr': - $decryptKeyLength = 32; // eg. 256 / 8 - break; - case 'aes192-cbc': - case 'aes192-ctr': - case 'twofish192-cbc': - case 'twofish192-ctr': - $decryptKeyLength = 24; // eg. 192 / 8 - break; - case 'aes128-cbc': - case 'aes128-ctr': - case 'twofish128-cbc': - case 'twofish128-ctr': - case 'blowfish-cbc': - case 'blowfish-ctr': - $decryptKeyLength = 16; // eg. 128 / 8 - break; - case 'arcfour': - case 'arcfour128': - $decryptKeyLength = 16; // eg. 128 / 8 - break; - case 'arcfour256': - $decryptKeyLength = 32; // eg. 128 / 8 - break; - case 'none': - $decryptKeyLength = 0; - break; - default: - user_error('No compatible server to client encryption algorithms found'); - return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); + $decryptKeyLength = $this->_encryption_algorithm_to_key_size($decrypt); + if ($decryptKeyLength === null) { + user_error('No compatible server to client encryption algorithms found'); + return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } $encrypt = $this->_array_intersect_first($encryption_algorithms, $this->encryption_algorithms_client_to_server); - switch ($encrypt) { - case '3des-cbc': - case '3des-ctr': - $encryptKeyLength = 24; - break; - case 'aes256-cbc': - case 'aes256-ctr': - case 'twofish-cbc': - case 'twofish256-cbc': - case 'twofish256-ctr': - $encryptKeyLength = 32; - break; - case 'aes192-cbc': - case 'aes192-ctr': - case 'twofish192-cbc': - case 'twofish192-ctr': - $encryptKeyLength = 24; - break; - case 'aes128-cbc': - case 'aes128-ctr': - case 'twofish128-cbc': - case 'twofish128-ctr': - case 'blowfish-cbc': - case 'blowfish-ctr': - $encryptKeyLength = 16; - break; - case 'arcfour': - case 'arcfour128': - $encryptKeyLength = 16; - break; - case 'arcfour256': - $encryptKeyLength = 32; - break; - case 'none': - $encryptKeyLength = 0; - break; - default: - user_error('No compatible client to server encryption algorithms found'); - return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); + $encryptKeyLength = $this->_encryption_algorithm_to_key_size($encrypt); + if ($encryptKeyLength === null) { + user_error('No compatible client to server encryption algorithms found'); + return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } $keyLength = $decryptKeyLength > $encryptKeyLength ? $decryptKeyLength : $encryptKeyLength; @@ -1964,6 +1894,45 @@ class Net_SSH2 return true; } + /** + * Maps an encryption algorithm name to the number of key bytes. + * + * @param String $algorithm Name of the encryption algorithm + * @return Mixed Number of bytes as an integer or null for unknown + * @access private + */ + function _encryption_algorithm_to_key_size($algorithm) + { + switch ($algorithm) { + case 'none': + return 0; + case 'aes128-cbc': + case 'aes128-ctr': + case 'arcfour': + case 'arcfour128': + case 'blowfish-cbc': + case 'blowfish-ctr': + case 'twofish128-cbc': + case 'twofish128-ctr': + return 16; + case '3des-cbc': + case '3des-ctr': + case 'aes192-cbc': + case 'aes192-ctr': + case 'twofish192-cbc': + case 'twofish192-ctr': + return 24; + case 'aes256-cbc': + case 'aes256-ctr': + case 'arcfour256': + case 'twofish-cbc': + case 'twofish256-cbc': + case 'twofish256-ctr': + return 32; + } + return null; + } + /** * Login * From 58f8affcad26c208cadf1b40221e90b1c54eecf0 Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Thu, 23 Jul 2015 03:02:28 +0200 Subject: [PATCH 16/30] SSH2: Add support for curve25519-sha256@libssh.org.txt via libsodium-php. --- composer.json | 1 + composer.lock | 2 +- phpseclib/Net/SSH2.php | 242 +++++++++++++++++++++--------------- tests/Unit/Net/SSH2Test.php | 6 +- 4 files changed, 147 insertions(+), 104 deletions(-) diff --git a/composer.json b/composer.json index 302edb2d..0a133cc5 100644 --- a/composer.json +++ b/composer.json @@ -55,6 +55,7 @@ "squizlabs/php_codesniffer": "~2.0" }, "suggest": { + "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", "ext-mcrypt": "Install the Mcrypt extension in order to speed up a wide variety of cryptographic operations.", "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations." }, diff --git a/composer.lock b/composer.lock index 5f5be9b1..c98c8a4f 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "a8adabfa04c250bbec41c87f79a59b31", + "hash": "b24ab20be15b6312e532ee2ffa18d5fa", "packages": [], "packages-dev": [ { diff --git a/phpseclib/Net/SSH2.php b/phpseclib/Net/SSH2.php index 832f861b..14d5b515 100644 --- a/phpseclib/Net/SSH2.php +++ b/phpseclib/Net/SSH2.php @@ -953,7 +953,10 @@ class SSH2 31 => 'NET_SSH2_MSG_KEXDH_GEX_GROUP', 32 => 'NET_SSH2_MSG_KEXDH_GEX_INIT', 33 => 'NET_SSH2_MSG_KEXDH_GEX_REPLY', - 34 => 'NET_SSH2_MSG_KEXDH_GEX_REQUEST') + 34 => 'NET_SSH2_MSG_KEXDH_GEX_REQUEST'), + // RFC 5656 - Elliptic Curves (for curve25519-sha256@libssh.org) + array(30 => 'NET_SSH2_MSG_KEX_ECDH_INIT', + 31 => 'NET_SSH2_MSG_KEX_ECDH_REPLY') ); if (is_resource($host)) { @@ -1110,9 +1113,13 @@ class SSH2 */ function _generate_identifier() { - $identifier = 'SSH-2.0-phpseclib_0.3'; + $identifier = 'SSH-2.0-phpseclib_2.0'; $ext = array(); + if (extension_loaded('libsodium')) { + $ext[] = 'libsodium'; + } + if (extension_loaded('openssl')) { $ext[] = 'openssl'; } elseif (extension_loaded('mcrypt')) { @@ -1141,11 +1148,24 @@ class SSH2 function _key_exchange($kexinit_payload_server) { static $kex_algorithms = array( + // Elliptic Curve Diffie-Hellman Key Agreement (ECDH) using + // Curve25519. See doc/curve25519-sha256@libssh.org.txt in the + // libssh repository for more information. + 'curve25519-sha256@libssh.org', + + // Diffie-Hellman Key Agreement (DH) using integer modulo prime + // groups. 'diffie-hellman-group1-sha1', // REQUIRED 'diffie-hellman-group14-sha1', // REQUIRED 'diffie-hellman-group-exchange-sha1', // RFC 4419 'diffie-hellman-group-exchange-sha256', // RFC 4419 ); + if (!class_exists('\Sodium')) { + $kex_algorithms = array_diff( + $kex_algorithms, + array('curve25519-sha256@libssh.org') + ); + } static $server_host_key_algorithms = array( 'ssh-rsa', // RECOMMENDED sign Raw RSA Key @@ -1359,115 +1379,124 @@ class SSH2 return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } - $keyLength = $decryptKeyLength > $encryptKeyLength ? $decryptKeyLength : $encryptKeyLength; - // through diffie-hellman key exchange a symmetric key is obtained $kex_algorithm = $this->_array_intersect_first($kex_algorithms, $this->kex_algorithms); if ($kex_algorithm === false) { user_error('No compatible key exchange algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } - if (strpos($kex_algorithm, 'diffie-hellman-group-exchange') === 0) { - $dh_group_sizes_packed = pack( - 'NNN', - $this->kex_dh_group_size_min, - $this->kex_dh_group_size_preferred, - $this->kex_dh_group_size_max - ); - $packet = pack( - 'Ca*', - NET_SSH2_MSG_KEXDH_GEX_REQUEST, - $dh_group_sizes_packed - ); - if (!$this->_send_binary_packet($packet)) { - return false; - } - $response = $this->_get_binary_packet(); - if ($response === false) { - user_error('Connection closed by server'); - return false; - } - extract(unpack('Ctype', $this->_string_shift($response, 1))); - if ($type != NET_SSH2_MSG_KEXDH_GEX_GROUP) { - user_error('Expected SSH_MSG_KEX_DH_GEX_GROUP'); - return false; - } + // Only relevant in diffie-hellman-group-exchange-sha{1,256}, otherwise empty. + $exchange_hash_rfc4419 = ''; - extract(unpack('NprimeLength', $this->_string_shift($response, 4))); - $primeBytes = $this->_string_shift($response, $primeLength); - $prime = new BigInteger($primeBytes, -256); - - extract(unpack('NgLength', $this->_string_shift($response, 4))); - $gBytes = $this->_string_shift($response, $gLength); - $g = new BigInteger($gBytes, -256); - - $exchange_hash_rfc4419 = pack( - 'a*Na*Na*', - $dh_group_sizes_packed, - $primeLength, - $primeBytes, - $gLength, - $gBytes - ); - - $clientKexInitMessage = NET_SSH2_MSG_KEXDH_GEX_INIT; - $serverKexReplyMessage = NET_SSH2_MSG_KEXDH_GEX_REPLY; + if ($kex_algorithm === 'curve25519-sha256@libssh.org') { + $x = Random::string(32); + $eBytes = \Sodium::crypto_box_publickey_from_secretkey($x); + $clientKexInitMessage = NET_SSH2_MSG_KEX_ECDH_INIT; + $serverKexReplyMessage = NET_SSH2_MSG_KEX_ECDH_REPLY; + $kexHash = new Hash('sha256'); } else { - switch ($kex_algorithm) { - // see http://tools.ietf.org/html/rfc2409#section-6.2 and - // http://tools.ietf.org/html/rfc2412, appendex E - case 'diffie-hellman-group1-sha1': - $prime = 'FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74' . - '020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F1437' . - '4FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED' . - 'EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF'; - break; - // see http://tools.ietf.org/html/rfc3526#section-3 - case 'diffie-hellman-group14-sha1': - $prime = 'FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74' . - '020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F1437' . - '4FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED' . - 'EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF05' . - '98DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB' . - '9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B' . - 'E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF695581718' . - '3995497CEA956AE515D2261898FA051015728E5A8AACAA68FFFFFFFFFFFFFFFF'; - break; + if (strpos($kex_algorithm, 'diffie-hellman-group-exchange') === 0) { + $dh_group_sizes_packed = pack( + 'NNN', + $this->kex_dh_group_size_min, + $this->kex_dh_group_size_preferred, + $this->kex_dh_group_size_max + ); + $packet = pack( + 'Ca*', + NET_SSH2_MSG_KEXDH_GEX_REQUEST, + $dh_group_sizes_packed + ); + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $response = $this->_get_binary_packet(); + if ($response === false) { + user_error('Connection closed by server'); + return false; + } + extract(unpack('Ctype', $this->_string_shift($response, 1))); + if ($type != NET_SSH2_MSG_KEXDH_GEX_GROUP) { + user_error('Expected SSH_MSG_KEX_DH_GEX_GROUP'); + return false; + } + + extract(unpack('NprimeLength', $this->_string_shift($response, 4))); + $primeBytes = $this->_string_shift($response, $primeLength); + $prime = new BigInteger($primeBytes, -256); + + extract(unpack('NgLength', $this->_string_shift($response, 4))); + $gBytes = $this->_string_shift($response, $gLength); + $g = new BigInteger($gBytes, -256); + + $exchange_hash_rfc4419 = pack( + 'a*Na*Na*', + $dh_group_sizes_packed, + $primeLength, + $primeBytes, + $gLength, + $gBytes + ); + + $clientKexInitMessage = NET_SSH2_MSG_KEXDH_GEX_INIT; + $serverKexReplyMessage = NET_SSH2_MSG_KEXDH_GEX_REPLY; + } else { + switch ($kex_algorithm) { + // see http://tools.ietf.org/html/rfc2409#section-6.2 and + // http://tools.ietf.org/html/rfc2412, appendex E + case 'diffie-hellman-group1-sha1': + $prime = 'FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74' . + '020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F1437' . + '4FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED' . + 'EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF'; + break; + // see http://tools.ietf.org/html/rfc3526#section-3 + case 'diffie-hellman-group14-sha1': + $prime = 'FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74' . + '020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F1437' . + '4FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED' . + 'EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF05' . + '98DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB' . + '9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B' . + 'E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF695581718' . + '3995497CEA956AE515D2261898FA051015728E5A8AACAA68FFFFFFFFFFFFFFFF'; + break; + } + // For both diffie-hellman-group1-sha1 and diffie-hellman-group14-sha1 + // the generator field element is 2 (decimal) and the hash function is sha1. + $g = new BigInteger(2); + $prime = new BigInteger($prime, 16); + $clientKexInitMessage = NET_SSH2_MSG_KEXDH_INIT; + $serverKexReplyMessage = NET_SSH2_MSG_KEXDH_REPLY; } - // For both diffie-hellman-group1-sha1 and diffie-hellman-group14-sha1 - // the generator field element is 2 (decimal) and the hash function is sha1. - $g = new BigInteger(2); - $prime = new BigInteger($prime, 16); - $exchange_hash_rfc4419 = ''; - $clientKexInitMessage = NET_SSH2_MSG_KEXDH_INIT; - $serverKexReplyMessage = NET_SSH2_MSG_KEXDH_REPLY; + + switch ($kex_algorithm) { + case 'diffie-hellman-group-exchange-sha256': + $kexHash = new Hash('sha256'); + break; + default: + $kexHash = new Hash('sha1'); + } + + /* To increase the speed of the key exchange, both client and server may + reduce the size of their private exponents. It should be at least + twice as long as the key material that is generated from the shared + secret. For more details, see the paper by van Oorschot and Wiener + [VAN-OORSCHOT]. + + -- http://tools.ietf.org/html/rfc4419#section-6.2 */ + $one = new BigInteger(1); + $keyLength = min($kexHash->getLength(), max($encryptKeyLength, $decryptKeyLength)); + $max = $one->bitwise_leftShift(16 * $keyLength); // 2 * 8 * $keyLength + $max = $max->subtract($one); + + $x = $one->random($one, $max); + $e = $g->modPow($x, $prime); + + $eBytes = $e->toBytes(true); } - - switch ($kex_algorithm) { - case 'diffie-hellman-group-exchange-sha256': - $kexHash = new Hash('sha256'); - break; - default: - $kexHash = new Hash('sha1'); - } - - /* To increase the speed of the key exchange, both client and server may - reduce the size of their private exponents. It should be at least - twice as long as the key material that is generated from the shared - secret. For more details, see the paper by van Oorschot and Wiener - [VAN-OORSCHOT]. - - -- http://tools.ietf.org/html/rfc4419#section-6.2 */ - $one = new BigInteger(1); - $keyLength = min($keyLength, $kexHash->getLength()); - $max = $one->bitwise_leftShift(16 * $keyLength); // 2 * 8 * $keyLength - $max = $max->subtract($one); - - $x = $one->random($one, $max); - $e = $g->modPow($x, $prime); - - $eBytes = $e->toBytes(true); $data = pack('CNa*', $clientKexInitMessage, strlen($eBytes), $eBytes); if (!$this->_send_binary_packet($data)) { @@ -1495,7 +1524,6 @@ class SSH2 $temp = unpack('Nlength', $this->_string_shift($response, 4)); $fBytes = $this->_string_shift($response, $temp['length']); - $f = new BigInteger($fBytes, -256); $temp = unpack('Nlength', $this->_string_shift($response, 4)); $this->signature = $this->_string_shift($response, $temp['length']); @@ -1503,7 +1531,17 @@ class SSH2 $temp = unpack('Nlength', $this->_string_shift($this->signature, 4)); $this->signature_format = $this->_string_shift($this->signature, $temp['length']); - $key = $f->modPow($x, $prime); + if ($kex_algorithm === 'curve25519-sha256@libssh.org') { + if (strlen($fBytes) !== 32) { + user_error('Received curve25519 public key of invalid length.'); + return false; + } + $key = new BigInteger(\Sodium::crypto_scalarmult($x, $fBytes), 256); + \Sodium::sodium_memzero($x); + } else { + $f = new BigInteger($fBytes, -256); + $key = $f->modPow($x, $prime); + } $keyBytes = $key->toBytes(true); $this->exchange_hash = pack( diff --git a/tests/Unit/Net/SSH2Test.php b/tests/Unit/Net/SSH2Test.php index 73ac8182..df9651af 100644 --- a/tests/Unit/Net/SSH2Test.php +++ b/tests/Unit/Net/SSH2Test.php @@ -39,7 +39,11 @@ class Unit_Net_SSH2Test extends PhpseclibTestCase public function testGenerateIdentifier() { $identifier = $this->createSSHMock()->_generate_identifier(); - $this->assertStringStartsWith('SSH-2.0-phpseclib_0.3', $identifier); + $this->assertStringStartsWith('SSH-2.0-phpseclib_2.0', $identifier); + + if (extension_loaded('libsodium')) { + $this->assertContains('libsodium', $identifier); + } if (extension_loaded('openssl')) { $this->assertContains('openssl', $identifier); From 4244576104eaaf10bd086db53ce26f5e2e204be2 Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Tue, 28 Jul 2015 11:22:17 +0200 Subject: [PATCH 17/30] [2.0] Add _encryption_algorithm_to_crypt_instance method. --- phpseclib/Net/SSH2.php | 152 ++++++++++++++--------------------------- 1 file changed, 52 insertions(+), 100 deletions(-) diff --git a/phpseclib/Net/SSH2.php b/phpseclib/Net/SSH2.php index 14d5b515..c25fb1ee 100644 --- a/phpseclib/Net/SSH2.php +++ b/phpseclib/Net/SSH2.php @@ -1605,112 +1605,16 @@ class SSH2 return false; } - switch ($encrypt) { - case '3des-cbc': - $this->encrypt = new TripleDES(); - // $this->encrypt_block_size = 64 / 8 == the default - break; - case '3des-ctr': - $this->encrypt = new TripleDES(Base::MODE_CTR); - // $this->encrypt_block_size = 64 / 8 == the default - break; - case 'aes256-cbc': - case 'aes192-cbc': - case 'aes128-cbc': - $this->encrypt = new Rijndael(); - $this->encrypt_block_size = 16; // eg. 128 / 8 - break; - case 'aes256-ctr': - case 'aes192-ctr': - case 'aes128-ctr': - $this->encrypt = new Rijndael(Base::MODE_CTR); - $this->encrypt_block_size = 16; // eg. 128 / 8 - break; - case 'blowfish-cbc': - $this->encrypt = new Blowfish(); - $this->encrypt_block_size = 8; - break; - case 'blowfish-ctr': - $this->encrypt = new Blowfish(Base::MODE_CTR); - $this->encrypt_block_size = 8; - break; - case 'twofish128-cbc': - case 'twofish192-cbc': - case 'twofish256-cbc': - case 'twofish-cbc': - $this->encrypt = new Twofish(); - $this->encrypt_block_size = 16; - break; - case 'twofish128-ctr': - case 'twofish192-ctr': - case 'twofish256-ctr': - $this->encrypt = new Twofish(Base::MODE_CTR); - $this->encrypt_block_size = 16; - break; - case 'arcfour': - case 'arcfour128': - case 'arcfour256': - $this->encrypt = new RC4(); - break; - case 'none': - //$this->encrypt = new Null(); - } - - switch ($decrypt) { - case '3des-cbc': - $this->decrypt = new TripleDES(); - break; - case '3des-ctr': - $this->decrypt = new TripleDES(Base::MODE_CTR); - break; - case 'aes256-cbc': - case 'aes192-cbc': - case 'aes128-cbc': - $this->decrypt = new Rijndael(); - $this->decrypt_block_size = 16; - break; - case 'aes256-ctr': - case 'aes192-ctr': - case 'aes128-ctr': - $this->decrypt = new Rijndael(Base::MODE_CTR); - $this->decrypt_block_size = 16; - break; - case 'blowfish-cbc': - $this->decrypt = new Blowfish(); - $this->decrypt_block_size = 8; - break; - case 'blowfish-ctr': - $this->decrypt = new Blowfish(Base::MODE_CTR); - $this->decrypt_block_size = 8; - break; - case 'twofish128-cbc': - case 'twofish192-cbc': - case 'twofish256-cbc': - case 'twofish-cbc': - $this->decrypt = new Twofish(); - $this->decrypt_block_size = 16; - break; - case 'twofish128-ctr': - case 'twofish192-ctr': - case 'twofish256-ctr': - $this->decrypt = new Twofish(Base::MODE_CTR); - $this->decrypt_block_size = 16; - break; - case 'arcfour': - case 'arcfour128': - case 'arcfour256': - $this->decrypt = new RC4(); - break; - case 'none': - //$this->decrypt = new Null(); - } - $keyBytes = pack('Na*', strlen($keyBytes), $keyBytes); + $this->encrypt = $this->_encryption_algorithm_to_crypt_instance($encrypt); if ($this->encrypt) { if ($this->crypto_engine) { $this->encrypt->setEngine($this->crypto_engine); } + if ($this->encrypt->block_size) { + $this->encrypt_block_size = $this->encrypt->block_size; + } $this->encrypt->enableContinuousBuffer(); $this->encrypt->disablePadding(); @@ -1727,10 +1631,14 @@ class SSH2 $this->encrypt->setKey(substr($key, 0, $encryptKeyLength)); } + $this->decrypt = $this->_encryption_algorithm_to_crypt_instance($decrypt); if ($this->decrypt) { if ($this->crypto_engine) { $this->decrypt->setEngine($this->crypto_engine); } + if ($this->decrypt->block_size) { + $this->decrypt_block_size = $this->decrypt->block_size; + } $this->decrypt->enableContinuousBuffer(); $this->decrypt->disablePadding(); @@ -1893,6 +1801,50 @@ class SSH2 return null; } + /** + * Maps an encryption algorithm name to an instance of a subclass of + * \phpseclib\Crypt\Base. + * + * @param String $algorithm Name of the encryption algorithm + * @return Mixed Instance of \phpseclib\Crypt\Base or null for unknown + * @access private + */ + function _encryption_algorithm_to_crypt_instance($algorithm) + { + switch ($algorithm) { + case '3des-cbc': + return new TripleDES(); + case '3des-ctr': + return new TripleDES(Base::MODE_CTR); + case 'aes256-cbc': + case 'aes192-cbc': + case 'aes128-cbc': + return new Rijndael(); + case 'aes256-ctr': + case 'aes192-ctr': + case 'aes128-ctr': + return new Rijndael(Base::MODE_CTR); + case 'blowfish-cbc': + return new Blowfish(); + case 'blowfish-ctr': + return new Blowfish(Base::MODE_CTR); + case 'twofish128-cbc': + case 'twofish192-cbc': + case 'twofish256-cbc': + case 'twofish-cbc': + return new Twofish(); + case 'twofish128-ctr': + case 'twofish192-ctr': + case 'twofish256-ctr': + return new Twofish(Base::MODE_CTR); + case 'arcfour': + case 'arcfour128': + case 'arcfour256': + return new RC4(); + } + return null; + } + /** * Login * From fe5671fef7b52f9d7cb1a5365fe04867bd56cf7e Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Tue, 28 Jul 2015 11:47:48 +0200 Subject: [PATCH 18/30] SSH2: Remove all static variables as loadable classes may change at runtime. --- phpseclib/Net/SSH2.php | 155 +++++++++++++++++++---------------------- 1 file changed, 73 insertions(+), 82 deletions(-) diff --git a/phpseclib/Net/SSH2.php b/phpseclib/Net/SSH2.php index 14d5b515..5fee2bcb 100644 --- a/phpseclib/Net/SSH2.php +++ b/phpseclib/Net/SSH2.php @@ -1147,7 +1147,7 @@ class SSH2 */ function _key_exchange($kexinit_payload_server) { - static $kex_algorithms = array( + $kex_algorithms = array( // Elliptic Curve Diffie-Hellman Key Agreement (ECDH) using // Curve25519. See doc/curve25519-sha256@libssh.org.txt in the // libssh repository for more information. @@ -1167,91 +1167,88 @@ class SSH2 ); } - static $server_host_key_algorithms = array( + $server_host_key_algorithms = array( 'ssh-rsa', // RECOMMENDED sign Raw RSA Key 'ssh-dss' // REQUIRED sign Raw DSS Key ); - static $encryption_algorithms = false; - if ($encryption_algorithms === false) { - $encryption_algorithms = array( - // from : - 'arcfour256', - 'arcfour128', + $encryption_algorithms = array( + // from : + 'arcfour256', + 'arcfour128', - //'arcfour', // OPTIONAL the ARCFOUR stream cipher with a 128-bit key + //'arcfour', // OPTIONAL the ARCFOUR stream cipher with a 128-bit key - // CTR modes from : - 'aes128-ctr', // RECOMMENDED AES (Rijndael) in SDCTR mode, with 128-bit key - 'aes192-ctr', // RECOMMENDED AES with 192-bit key - 'aes256-ctr', // RECOMMENDED AES with 256-bit key + // CTR modes from : + 'aes128-ctr', // RECOMMENDED AES (Rijndael) in SDCTR mode, with 128-bit key + 'aes192-ctr', // RECOMMENDED AES with 192-bit key + 'aes256-ctr', // RECOMMENDED AES with 256-bit key - 'twofish128-ctr', // OPTIONAL Twofish in SDCTR mode, with 128-bit key - 'twofish192-ctr', // OPTIONAL Twofish with 192-bit key - 'twofish256-ctr', // OPTIONAL Twofish with 256-bit key + 'twofish128-ctr', // OPTIONAL Twofish in SDCTR mode, with 128-bit key + 'twofish192-ctr', // OPTIONAL Twofish with 192-bit key + 'twofish256-ctr', // OPTIONAL Twofish with 256-bit key - 'aes128-cbc', // RECOMMENDED AES with a 128-bit key - 'aes192-cbc', // OPTIONAL AES with a 192-bit key - 'aes256-cbc', // OPTIONAL AES in CBC mode, with a 256-bit key + 'aes128-cbc', // RECOMMENDED AES with a 128-bit key + 'aes192-cbc', // OPTIONAL AES with a 192-bit key + 'aes256-cbc', // OPTIONAL AES in CBC mode, with a 256-bit key - 'twofish128-cbc', // OPTIONAL Twofish with a 128-bit key - 'twofish192-cbc', // OPTIONAL Twofish with a 192-bit key - 'twofish256-cbc', - 'twofish-cbc', // OPTIONAL alias for "twofish256-cbc" - // (this is being retained for historical reasons) + 'twofish128-cbc', // OPTIONAL Twofish with a 128-bit key + 'twofish192-cbc', // OPTIONAL Twofish with a 192-bit key + 'twofish256-cbc', + 'twofish-cbc', // OPTIONAL alias for "twofish256-cbc" + // (this is being retained for historical reasons) - 'blowfish-ctr', // OPTIONAL Blowfish in SDCTR mode + 'blowfish-ctr', // OPTIONAL Blowfish in SDCTR mode - 'blowfish-cbc', // OPTIONAL Blowfish in CBC mode + 'blowfish-cbc', // OPTIONAL Blowfish in CBC mode - '3des-ctr', // RECOMMENDED Three-key 3DES in SDCTR mode + '3des-ctr', // RECOMMENDED Three-key 3DES in SDCTR mode - '3des-cbc', // REQUIRED three-key 3DES in CBC mode - //'none' // OPTIONAL no encryption; NOT RECOMMENDED + '3des-cbc', // REQUIRED three-key 3DES in CBC mode + //'none' // OPTIONAL no encryption; NOT RECOMMENDED + ); + + if (extension_loaded('openssl') && !extension_loaded('mcrypt')) { + // OpenSSL does not support arcfour256 in any capacity and arcfour128 / arcfour support is limited to + // instances that do not use continuous buffers + $encryption_algorithms = array_diff( + $encryption_algorithms, + array('arcfour256', 'arcfour128', 'arcfour') ); - - if (extension_loaded('openssl') && !extension_loaded('mcrypt')) { - // OpenSSL does not support arcfour256 in any capacity and arcfour128 / arcfour support is limited to - // instances that do not use continuous buffers - $encryption_algorithms = array_diff( - $encryption_algorithms, - array('arcfour256', 'arcfour128', 'arcfour') - ); - } - - if (class_exists('\phpseclib\Crypt\RC4') === false) { - $encryption_algorithms = array_diff( - $encryption_algorithms, - array('arcfour256', 'arcfour128', 'arcfour') - ); - } - if (class_exists('\phpseclib\Crypt\Rijndael') === false) { - $encryption_algorithms = array_diff( - $encryption_algorithms, - array('aes128-ctr', 'aes192-ctr', 'aes256-ctr', 'aes128-cbc', 'aes192-cbc', 'aes256-cbc') - ); - } - if (class_exists('\phpseclib\Crypt\Twofish') === false) { - $encryption_algorithms = array_diff( - $encryption_algorithms, - array('twofish128-ctr', 'twofish192-ctr', 'twofish256-ctr', 'twofish128-cbc', 'twofish192-cbc', 'twofish256-cbc', 'twofish-cbc') - ); - } - if (class_exists('\phpseclib\Crypt\Blowfish') === false) { - $encryption_algorithms = array_diff( - $encryption_algorithms, - array('blowfish-ctr', 'blowfish-cbc') - ); - } - if (class_exists('\phpseclib\Crypt\TripleDES') === false) { - $encryption_algorithms = array_diff( - $encryption_algorithms, - array('3des-ctr', '3des-cbc') - ); - } - $encryption_algorithms = array_values($encryption_algorithms); } + if (class_exists('\phpseclib\Crypt\RC4') === false) { + $encryption_algorithms = array_diff( + $encryption_algorithms, + array('arcfour256', 'arcfour128', 'arcfour') + ); + } + if (class_exists('\phpseclib\Crypt\Rijndael') === false) { + $encryption_algorithms = array_diff( + $encryption_algorithms, + array('aes128-ctr', 'aes192-ctr', 'aes256-ctr', 'aes128-cbc', 'aes192-cbc', 'aes256-cbc') + ); + } + if (class_exists('\phpseclib\Crypt\Twofish') === false) { + $encryption_algorithms = array_diff( + $encryption_algorithms, + array('twofish128-ctr', 'twofish192-ctr', 'twofish256-ctr', 'twofish128-cbc', 'twofish192-cbc', 'twofish256-cbc', 'twofish-cbc') + ); + } + if (class_exists('\phpseclib\Crypt\Blowfish') === false) { + $encryption_algorithms = array_diff( + $encryption_algorithms, + array('blowfish-ctr', 'blowfish-cbc') + ); + } + if (class_exists('\phpseclib\Crypt\TripleDES') === false) { + $encryption_algorithms = array_diff( + $encryption_algorithms, + array('3des-ctr', '3des-cbc') + ); + } + $encryption_algorithms = array_values($encryption_algorithms); + $mac_algorithms = array( // from : 'hmac-sha2-256',// RECOMMENDED HMAC-SHA256 (digest length = key length = 32) @@ -1263,7 +1260,7 @@ class SSH2 //'none' // OPTIONAL no MAC; NOT RECOMMENDED ); - static $compression_algorithms = array( + $compression_algorithms = array( 'none' // REQUIRED no compression //'zlib' // OPTIONAL ZLIB (LZ77) compression ); @@ -1277,17 +1274,11 @@ class SSH2 )); } - static $str_kex_algorithms, $str_server_host_key_algorithms, - $encryption_algorithms_server_to_client, $mac_algorithms_server_to_client, $compression_algorithms_server_to_client, - $encryption_algorithms_client_to_server, $mac_algorithms_client_to_server, $compression_algorithms_client_to_server; - - if (empty($str_kex_algorithms)) { - $str_kex_algorithms = implode(',', $kex_algorithms); - $str_server_host_key_algorithms = implode(',', $server_host_key_algorithms); - $encryption_algorithms_server_to_client = $encryption_algorithms_client_to_server = implode(',', $encryption_algorithms); - $mac_algorithms_server_to_client = $mac_algorithms_client_to_server = implode(',', $mac_algorithms); - $compression_algorithms_server_to_client = $compression_algorithms_client_to_server = implode(',', $compression_algorithms); - } + $str_kex_algorithms = implode(',', $kex_algorithms); + $str_server_host_key_algorithms = implode(',', $server_host_key_algorithms); + $encryption_algorithms_server_to_client = $encryption_algorithms_client_to_server = implode(',', $encryption_algorithms); + $mac_algorithms_server_to_client = $mac_algorithms_client_to_server = implode(',', $mac_algorithms); + $compression_algorithms_server_to_client = $compression_algorithms_client_to_server = implode(',', $compression_algorithms); $client_cookie = Random::string(16); From 844134df95e42b93ed5506a2d11ca5accda99412 Mon Sep 17 00:00:00 2001 From: terrafrost Date: Mon, 3 Aug 2015 21:22:12 -0500 Subject: [PATCH 19/30] update phpseclib to 1.0.0 --- CHANGELOG.md | 16 ++++++++++++++++ README.md | 2 +- composer.json | 3 ++- phpseclib/phpseclib1.0.0.zip | Bin 0 -> 264571 bytes 4 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 phpseclib/phpseclib1.0.0.zip diff --git a/CHANGELOG.md b/CHANGELOG.md index 2dd2c096..f0b03dc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## 1.0.0 - 2015-08-02 + +- OpenSSL support for symmetric ciphers ([#507](https://github.com/phpseclib/phpseclib/pull/507)) +- rewritten vt100 terminal emulator (File_ANSI) ([#689](https://github.com/phpseclib/phpseclib/pull/689)) +- agent-forwarding support (System_SSH_Agent) ([#592](https://github.com/phpseclib/phpseclib/pull/592)) +- Net_SSH2 improvements + - diffie-hellman-group-exchange-sha1/sha256 support ([#714](https://github.com/phpseclib/phpseclib/pull/714)) + - window size handling updates ([#717](https://github.com/phpseclib/phpseclib/pull/717)) +- Net_SFTP improvements + - add callback support to put() ([#655](https://github.com/phpseclib/phpseclib/pull/655)) + - stat cache fixes ([#743](https://github.com/phpseclib/phpseclib/issues/743), [#730](https://github.com/phpseclib/phpseclib/issues/730), [#709](https://github.com/phpseclib/phpseclib/issues/709), [#726](https://github.com/phpseclib/phpseclib/issues/726)) +- add "none" encryption mode to Crypt_RSA ([#692](https://github.com/phpseclib/phpseclib/pull/692)) +- misc ASN.1 / X.509 parsing fixes ([#721](https://github.com/phpseclib/phpseclib/pull/721), [#627](https://github.com/phpseclib/phpseclib/pull/627)) +- use a random serial number for new X509 certs ([#740](https://github.com/phpseclib/phpseclib/pull/740)) +- add getPublicKeyFingerprint() to Crypt_RSA ([#677](https://github.com/phpseclib/phpseclib/pull/677)) + ## 0.3.10 - 2015-02-04 - simplify SSH2 window size handling ([#538](https://github.com/phpseclib/phpseclib/pull/538)) diff --git a/README.md b/README.md index f56f6ae9..5ca89f24 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ MIT-licensed pure-PHP implementations of an arbitrary-precision integer arithmetic library, fully PKCS#1 (v2.1) compliant RSA, DES, 3DES, RC4, Rijndael, AES, Blowfish, Twofish, SSH-1, SSH-2, SFTP, and X.509 -* [Download (0.3.10)](http://sourceforge.net/projects/phpseclib/files/phpseclib0.3.10.zip/download) +* [Download (1.0.0)](http://sourceforge.net/projects/phpseclib/files/phpseclib1.0.0.zip/download) * [Browse Git](https://github.com/phpseclib/phpseclib) * [Code Coverage Report](http://phpseclib.bantux.org/code_coverage/master/latest/) diff --git a/composer.json b/composer.json index 2f01622c..2f4129d2 100644 --- a/composer.json +++ b/composer.json @@ -55,7 +55,8 @@ "squizlabs/php_codesniffer": "~2.0" }, "suggest": { - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a wide variety of cryptographic operations.", + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", "pear-pear/PHP_Compat": "Install PHP_Compat to get phpseclib working on PHP < 5.0.0." }, diff --git a/phpseclib/phpseclib1.0.0.zip b/phpseclib/phpseclib1.0.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..39074f565a6c0ddd38849677236f7dae6d87c8bf GIT binary patch literal 264571 zcmV)2K+L~TO9KQH000080LushN7OY>rb!6^038_s01W^D07G(laC9$0MN=+tXmGVy zZExDh7XDtT|KV&m5=l!S$#$zY>2^zq({Psn0@B`oLW4cPG{&|(<52D@|NTB^#x`$h zn|sx@T7?;(dCvRG`0by`EP49m>67~N=TD!|bLwTOJnUWdNX?T_&ShkTQE^1^gc{zU z#x$1hMoUd|KV2rKN@_ylPN-0fLs?H^trdP$NkjqulZuQ?BN1*vRw*_!nJ$!;D_G`y zCsU30nqFFj-^-Vs?$A4>fr@--g@Nd#H0@8~l>B&}0CucGWtR3F-fHQGYJ50T+Qg~y zAwnvJ2J`{lsnld543`%9OQsD8TBIULWJ)HczWNdcLWY*fGR|l&mS7TT6@VbqDw=N6 zs7M zd3`umMpw(t(DJ8+a@-06oQ4h%0%v}EWw$KnQmiNo!^1=b0px;3j^CVEBI_S4$Sw-h zEoNC{RQM<*98Xu^twvp8gv10(4CsLJy7>=}z=i*j!@XcZXgs~;jGD2F= z!|I=hv46WBAsZX_RpNx;cofhGAWewF@yha)l2F;^ zo+@JO2XZo!eYmqGfoIF~w*wg~ULm5lOL33K42r$2M^)k{;_b-UH{ zIs=r|o=oRTbK&JwVyBLmG))CSkW!OWS}*xCkxmgM#>NMsSZZz#V*_p+D*|zzxSASI zoFjESF$H5C^UEKBh^RCASc;p3^A&hk3t;;m|BuF^aX)P(;^t74LkL#1cPRK@V)%wSXV zrq9V~+glx;)iQMA0YyQFc(Ng-YlGmFuz^i(GR-^4`1z(r%E>j!(g>_w(L^fh*mC|N zeZxC^WDYSyge#DFS_SxF z;dr~yE@er$v>1hcnjnj98Qju(mGQ$Xj|Sb#;ipF5qt<|W{qD!sg?B;E8Uw7KRq0b} zc-6fb5-9qO&hRsJFR9V_On<2(I?eXYMXU3H&T$r_ z0Ydq@H3aamYnkS7Efg;RUVHuK6_$#U;(Wl-` zzt>?_gf#XhIG|! zUwGI&_aI^8yzM!5P_WrRKS2?RXA}&A;g-kns9u;FX|s;WgU8 zgUdQQZe2P1y^qwM#_5t=t#zA;@NdOb60Hibdm%DpXvzicUusUD)O3oPg?N06fiV>r zWVCsYdR~j9d6(mt;e2v*^m_A{qsY?}m@{LN(|UceSk&SKdvTVc9meUjp3~?$67n!# z)MjQL5+Q`B?RE-0^k4hrc;#GKbBL(!Q^_JSeSLkFZspx+bArgpFmmnx;)f`RBl#5- zM(IUjMLq{};y2@r$9yiLYso*5wqP9|leW_pPatUj3m!yV%kHBd#dAABXMCjq zwTc4y)qxKCTY%0TxhG^)Tc}%=$Uq6}S6pa_JCh=Nk_Gl z*TAoxyvemh&sULz7y6%jLpH?dx_jY`KvSub+blM?r9Q?eUWkgF#*y-29|XdA9N+$Y zg;rcf+}p=s!peEg^B*b)noZ@f@mS?n8Z~Em_y6gtHSL?ju_MdbSkIj|f2bU2wmf&< ze6(_wF5>OMlJ?zT?dQm0?v zA8wY^$9|qDd(JmH&SU#cUP{+$Da5f=`-eBhr%&?g?PTZ24Q7#;OAYxXS3KONmhOJ& zykoC!xD@lJ1|G6>tvFj^td;9?q2=kRr5%;9D?(htXn@%@ny&VW=8&p8^y*^2?tbur zy)8Jt%Ro!+G`sp-Wb^s5yi@Lo`q(?Q9Y_llOu^W}6({0PHX$bR@_t<YPa)5B#LkV8%al8}|=c z7OhineG=JG@S_M-utwm%MjW5KuJYFvck?*;{gwMn!&v#9ov+udD%x@6$YIjrGfay9 z$g_Wzpc$8}K=lyJ6nB4a`vsC^siHd;>_OBZUPQ$m#t&n(d_$I+#GD)R+ksSk(qS->gaTHo1gp$e?oY3a<=<^44dAbJpgxd^76ZIaP``; z`_)hAk4m}qZLyI2u|c@&nevm5&Jw-|B83&MoVZ0#Br{x(%qrJsilcD3qBgTs%KydT z>#k;^|0@h!L8Lth_x%vqXOdmdZyM7Pm9>!{JK67XNjrQeza|htnGvW)-w2hJ1GP!< zyM$aPD&ozgncP9($3{p2^%k-9>Va6{Czp%`D!ydBI(wM(p-ALso7aPJ$9xTk7n@Oc1qoEF7p#3xX+8GJddoK`o2sC{QECZO9KQH000080LushN3JaL zus1;f01=4+01f~E07G(laC9$1VRL0JaA>(psv zS+2FUEsvxmx6|!vC=#+zQ=~3IT5&u1@An)WfNxQ<>vU)DTy|$8lfc1wzX0<4A6ARi zXMg+bZ=L7QKl>Yd&Q2`JSwEZct_VxW@wiKamKygLuw3^MU$6I1cwZ_|x?*hdU``5ZaV`HZF7G`u1(T zk$dRyiieVi(ds9DpMKC{T@Z{PB1viV{8b2Iu-q!l(oimZ|CU)HlEtJS1vY24@4&>l zx@AW}z`am2PqKx-#{2i>oI`w3`k{3T5Ih5A$t*yQ$kbIV?6N#9vPhZqz?zZmrTSL6N>yXL`C zNYq;<2*m83-2@h>tkY!kfGY~@g%#ZJrqW68o}tFV1b-Glx1)Y9WVPu7W5$MY(y*)&fY0Lg0%G z17RbaCJeIO$U$7pV^=JNUInKI;${&lgGJzx1ZoiHCR_TBnB%`(k+_Oxu8@l+a|D8) zMIqdjc+=({&H{Qmz+cH-LJyz_ph0Vk!LmtO;3Ka956v=(ch(DknWab&Uh^pMU}>@` z#|IXwm4D-Qh<9*GV(qr?IRdFmnLOINH3KbIq$!HgNdV@A4a#Me2wXps3sf$!6yhN) zFFXYfZyV|Y#01pW3k6u#$`91id8!ljot*dCcz8B>-yQYYV9c&Z!*_$z{waIb9mC(x zn(X~xaz1=JVK8FUy_)>YhG(pM^)vfvaCO>b{r|om^~Ym29FYsXyuKLp;r`&Nck%Xg zaP=cQfw@=138?brU;=9Ld zBgB>UhSxuj20xxp*!l3{v=28=`ha2g=gANy+75Fm}TT^dZ; z`}02D#&x^!zusgpyh4(C!>h>%{%iupqe(pd{b1a0vhHXwM&_K2hL=PvvKVF!6(E>< z)h9^E{;ZT>2>$(c+>e2>(|-2?;DN}l3Sv!!{l*5N zz@S_DkM<&5x{QGevJ1Ln;CZ)9T^e2-_1gpyeDn=R3UPc#XCGg@d7HxT%Kfws7!0&A z{99p7f*XUFsaEWaz`OX%Hjs#pRXI7~Is5|wos4n-i8-1t+-tAJtyn3EA(!#5j>-b2 z6d9*DTTcD?6jLST(ZA4`PTPmy0{r&jcbZCv&xOb9wchCG>&f(Tc-o)B^I8+IZ@k)# z34Is*tx_Z42c!Wfm>xVi0m&*;Og3h)2olrpom3J7&w-eoX-Np^Ep(`Ua!PvYNoz*K z^fF2?C%tOHob-T}!<}iNH0g|UX9k|-QxP(q>je}EXVv0>=Rm?&yOJ=B!WCpDpN<4t zAVb1%3kgF-!pmJqfP9Es%Zw70!yHdW{q7}z{aSdgpYDBmi#t;PUvC^ zlO2hPj;FE`O8qhMjR$}$f(+cf&pAL<+}&Aj#N#YHo+6e|S|!=(9`_(dK!yZ4rM)Pn zw}18H;Hp0zTuu6;tL{bKI7=2=5=$Sw)TR0>Z#g9k4Iz4s#}|)ZX?P7a!uTSk;b}Q0 z%RZ=5j?;ooNx?%?f=49;TK7@`7RaJ%DUH`3@B}WR7B9-NwSgcvFToPbvv|xlHP)k` zE>pdM8y+M#3s#}-cjyPs*hAxcg+eGpO?e1*0WuC3COcQIS<9n{>m#use=o)FoE@`+ zZ#E(XMf-OCKzVP9`xI7V5TSST5TtIQEI($?{<&ZM-?NR_4m^Pcj`*EynOkbBn5{&~`L zwmNwCf0jZWD>qP>AjW7#>;;99d3 zgo#(&`JoE`$=aU_xhP9^$_EuQibptk(B*~Y-2leNEDWM@=N=PlSn?lAEGWlzV#}<~ zxc34{G`J??5xCR9>KGERw1htzI%dG4sLlLC*ob%1~ys{ z*rep{Jb?iQ?UBu-ibw3UsqH7Tabw+C!o@tHXhH)IY~6vNMw<$H!IoNZ?FYB4KDT7p zNYIOCVgYRdIx7o}p7ncrR*r)uR-5i*Y;1gX?D?z(8s}raN4WiRKVNX{c+(N` zQ&lwEz5li4IMmC0NcE*>JpqaP+;2f2k5dtu%D}s=-}Fe7aox)L z@Z5JDNfyM&muT0NScX1u0xE^O@9|8Uvlg@m?eGvcs6CLP6@~s1j91wr8rpQKy1hYU zr;H?q)1z}5FfA?Cu^;K|h^z{wL}OY799)b_(o)L#RP@52YqLOc^dsq7Wg%{CS?bU&SKJnJ zVKdKKCTEw*d%h~$03&o%rtz>GB9q(UCb{m)cXV(Cw-vb@_oTd?=eRPRCq=HpR z+`~I|dLIoLHmxWHk;&S~pPtLw`RvYSjY;cyTr4PS7B|G#ge}*4eC_%|kURMp~ z@%EI1S%~L@21hGASCj<5HLu}m!{A<}m+H_KtM?|OMDV(UAwwNK_%d>-$pDHJufC-~ z`L}U*x~Ybks8U?DQXuL}31ynYZuvcJwQObBK@>G{=EOo%(d4i#8t;~EdcRQ6{CS`JR7FLO-D2V0VZhvU@2Y2ar)CmAT`8?RWWLxWZFs(YiVH9DVV++G#P6ga#9q;MdO#jJO` zNo>yZA8rvj$y6%7@$^74@ONo>HgEaV_`nnk5_WaIWgdBUX)F7!Hkmk4OwO952%!$! z=GbX+-R*pOTtZr&eGEJZ9=x}0@E&L(6yZ2_svu|O)6+b9h=kJ6DvL0VZI=zg$v^?d zL;UPyDl_MCt%^tRb2E3A;zP=WcVJDP+2w_Gl62^O56aFcPnkvPur&UOM;6z#xuP=) zytSPzabUN@V7dx?#QF&e@Hkx{To8I?Eq-chXnjbNUWiaduu3PWwG%@nS$4F*wo@tO zJMh#S3Y`Z_&Y+=@+&~az4?R=<`z3xnLp50dxPFvqs&Sqaz1wtN9kYpJ%2DBYD;z}c21h9v{)`Y4!+tf{kdWu4Y0g-VKs>Nf{^uaH@FvzQ+)C|T~fq(|=;>%! zUZ>h^x<$BQU=e?STQYnWaO?I}HAbL*M_Wdm<#EoB7;YUw=R!A=t|>An-14J#BIKl( zgRc|(Pr`6mEj9e3@m;Ao=?2oP^m9-v&HY-Vpt+mi7FhL>ets---(#*fI&)hxcj{gFonF?pLA%cfo zf9HW;E2-+ry^wKXl$7H+zvM~0|I#B#<2#D$K!gydP~aB6cV*uD#1tiNmn^J1P8bx5~z(Hk0peqwn(rGCg`O>{y{0&Oq4Yh zvOssy?UYU@lss0iZM%cglpcUeNNh5q13q1h-($qS}PkJ z1I8gcDq`w+&SB$|YBe>Tq_T_@RS`Mkdz6XqQ8N*RBh_0~&1@5_CR5IkDdu8~pw!)x z`t?s4XQS%>|JdQhk?WJ6PR|b6YIf_)4?kiCr+yw}At^R2EPVTQ54&GY>Ol4O|S15-z+_7m=~x~1F6GHd`n(s#c5m~0W0_sDM9BPZnf20`MDL7 zYNRkGuZ>19`R8#WX$HpcM(bhZ>NZzuIUD$NiXJOQOiMFXA#7DDY1T^2fDE9PbT9Er za#RJO;NeZ8gsF*vjhaHg4{F)bY8^y&Y6Umg+)}@9c&Pr)B|GK<$SAdZV<-($>CiD) z2+&_o7Wn1x*9QB6Wp1z|Rznr5ZCdO7byu||;on2Gdw?Psj|Zn{OZXd=yaWf`3ohXB zRUU`05QjL8Ea@n3!fbTbJN)*$Z@-XS@uBsyeMqlP9yIs&_rXi+H@al%RON0YzHIJ) z_f5NmC}qiIRK3ho^%AK%*iW4r$t?;Fm_k(XDJB+$6~6wpm|2>OJPW$(^!Sn_{3GL- z$8H50THn@PQsd!vMZkZ`O@TY-w zU)M=pG7*gDKg{i*MI2PjrDL{r&=CktR34!1kg{$=cyF<^?1y=@c-jM8T6T^qV~l6m zI&F@29Vz2h0LZdcrqYH=!M?56u4-Tz;>C+fqr!`P47%_`@G-x!?~l_?=C`fv!mEf& zv~5{6ZT>H$W6Q`2MZgQC+s2IHk-C(1YgxBcMMPNx(p;O{jONnIrrn7two>VRS>4rC z{;LeL6qRNDm~^q6ag#;2SX$)vX>SPXPqu{8$GRywOS89fEumg~i2L~1Q8oP$JnyRO zEjmgrBgmBKOe-Eor$kb{!vGbN8w%Wg$h^3WiCCKrReLmdC_MXWyJSo29xE372P-hZ z!+bqT;;!}5@;n~2nE~c6m*~h>tH8JH1%0^09MCoA%|Ybq!%geOefE60$FUl;f_qh* zJ3`u#)Z2-f@;09Ec64!6;NBmFqezZuEpI}6SG{dT9mRhikfIOG>^SaYVVy3}>8d(4 z6x25~gbJzq5cHY{9($Ku6Ypl;Bgc<*0rS+!eWCXj$K!MLO3d7{L0z#qnRM5TFOC(Y zK^j8GwNgjSt0dpV53b=`ZB5|wOoRb)T)j6SO>>;I4L~jNqiZ5m+7)A=J8lJz?6PCM zQ`ajdFBzcC%Zwnc%?|lQT?4Z-pJF^VjTs6dV7ERUgN#F&Lc&obpE*=aYgT zpWG-v_E=apHB~q2N`sL>DEl65iGM6K{mN4LT&RfqBuRg~6p5X8xA4*$k=t}nakClY zT0AHiKcnQAe&;sM%c$RN-x069fJ^Gx{k0h4rCIYieS^fQ*R*m>N8R_+)9$2O!~TSc z)`X}E*e$(I@+pc2*77uB2X++q3eELbup_?D&8HDIF(_>mxtC@tQ?)$&RL*0#Si-^$ zNNmWb{(ZtL>{#beGCrd0OiqauV=krc&?|7eSXOa&++0vz;&DLN_a(=7{QM|XXHC@UaQ(=Ony*^e@wibWJFUmmYLJW(-+T1?BB{k^E}uQp9qT5bST8(l(gyO=hVkfLH>0=msK z3%M26pZ#Rogii8OS8Afify!#e=@#wR|WgjdFd`XVnmYGiw9+sIs=9$YRL^yjmu$pts{-*za0>HW$-TLEWYh%8}M7SwJ9a0dA*B+9<05KlC3 zGnZ&wWyO(BF0N=jy91>TI?8;5vPd z!lw_shHIZWLVXp+```ASMY)aR$X{8jXaS4>l5(8fm1HR;(NxTe^(awxs!k`PKwwF3 z1Y%(H3Gg zTZudC!FU+y!f>AR5HM^}XJZj1?&yc3+`X%iBt?uj6F>S+Ql~|-z~5TXZzEeLs5L>+ zyHV^;6uG6iohoRz60%bS>@?xJNzrK(s#65&G-0|ykWNxzR~K*821^f4Ksk&5@dpF`v0@EcMwuuQCJz*Km64_W0TUNpur$wZEq@O~ zOf={3PTi~F^pv11v=wcCSCz|}B{J#(2K?4QsFgW@xQ=gwqq6Wi0-zfm^CtV10s>yz zT4^LxrZ@c7z4Zn6Y=n<$P~1zc9>6KjXRqwss6r$`HN?6Sw6RI}>O4&ei*=B$dr7^^ zf2w#v*Qjzht<2-4iO5Z{#O#SYZQ6)m?KxtD$n7jH3XYJH6Veh4HN{a-8kLie-ofl> zBzII1MWy6ZD>PWIE0@bvx*Y+ij)0uKecH_GKV+^vS9E=-S4tI}Ba&*$-DKLWpX+Dn zk)nx#rSNWxLdC8NSU$z}J`U>|VB zufNd>gI$Q#NBL(Os||^yEjSq#dn0gmFv+w5lhD9>OPG!ZxG1^tQeLbf)QR}DZx(^D zYygR{7)!zy+aTtzwnkaJ%|d)2hM`zu!nNqHfd0rZG9WlKbSV7p)KSDn?dq&JS@;*6 z3`!rdAPt&vK1oUZ3B=Z8OMv0I-6^%DgQ%kHB?pRH?S9WSdliEh=JYUKIwR$tZ0mWKoJ3(r=SF z$^MjbKKie#*HcQM@t3QOG%QXQ6N2qTQfhCEw-XiVu*5W#6rF>HNru#B#NV4%HrCh@ zbHNE{Cd?n{(7+;hD%tF?l63fq)CCKr6BGrimkz-dIbb*um?0U=vYa85-sQKlb!WQdzF|HzhrZYnD*209hKR6PmF zI+Nm>>IKy`tiUF<6?F~#`x@e!WN?-aX0D>4zebwDz$TD!FDXKi!xKkm^X}fZ=Vf#A zqJ<;dGTfTqm*pbQPUhvgCwNch5tsAc;coh(n~x8i$=rDZfEW)KL;1vq44gzCP!-fx zE$6u>B2TuP0_2qhzH`SM#FD)+3;OS`uJ08zt7N79140)yJo^dmz#$}OY&-IrcAb;r!Y;zCkeV9&^*%>FoHG4)ERwZ zL{Z<>gTtYTt|F;ovHRD=#?|&P0I_7$4u<*}Fqf>|8}R3WzgnO6B^>dGC3(VMQZ%3r z;%g2D)Su7}wlIB!n+)h!QVg$}5v#>4TH04Fqq-(S1^W3K3z%Yer<(B%!P1NdSW;~8 zR4>U6Pc`GVcq|c1(i%2-Z6m{$c`OEvhmG@&+U)HsXr1+)A$w%#?KK+%sB{a6e015SEz7u>xw}rw67*@5KzP zG_(_Dc^g6~^_@1aH~bKacGilT41`GzY@BU8QZa_>o0WubBvR4$IaL%4hbBg4S0g}i zE!p*B$iJ7HsmBlgrslAmT6umjFNg19wyo(V5b>yA>wClxYdtOPJl7l_sa~A-P9oy0 zJEtM(& zPF4w-3U}4)_tNCd;(nCELdY-6X=KpRxi}PT2x^C)$=c1n$Z*}}MB4ay`w4`nFDH^p zKvj#R@}J`dB$|amy{;X0B_#{3_po%3a$A>n$rbjS(N~Gsi-NWYP0@B`i)Gw!&1@?C&Wp`cG%~V zSntYeo{1~r29{0W2bLt?#I#k)ve8H>>QFRn7fKT|tfhD^>a$Mpla_{nkU z6NF1`0^B#vzOZ=RAGHl^;s5v=k<+lRK82R* z7QY>ri?d8nqI|1MK$!C20xastA^7(^@8i4g=v+%p_vxA-6di@V={2P1%Jxq7WKxwq zwS0^Tnsyd-o?eTa~Ko9`w#j)Z1YPFcJgy*gr-?cI;sBlKR!V`RSQW9kSqY*q-f0n^$^Wp;5Ex+3V zV2$s%+^y%+Q%bGpZS0!(GUthGUAI%j>y<9e^2Kq#4DM?alUY9J9N16bhJ#{BW9s0sRR*1$i$G!enkJOkUyK%H-NMLAf zPuwaOvqoXCwNY3jMMEHj!I}k`upoHr@LoXg=CD)@n24TGIfk45-JoIG?lQ$T zQf$p#!?LSaZq9B}-9vSfr_AxpGmw75oziElBpY0&m+T>u26GNY^21UuQ> zukLw_IjTWByN*_O(wzC!XZ=yXdBRBpL+Lvh5mOTwT=a1EKs({_$!kBeY2xPX$_mFe zmNsXq8aY87^tq&%(xF%PVZFYF?h5Z$uCyYXSkqP&Hl&!;6&Crf4?R`_gTAr;XbJPi z&AT~qgbQ0H){qy}!+_Zj{l`ioc#dcN^WkikyRyS`IGd(9XN)@r^$rk9z8?q&Gv!mu zE0J?e9pmMc#EGheqaQD|DyLg{yd45GPW5B2<@vUl52qCwy-{H4x+mD?Jn+SgJ0LvT z0f1@F?6QN=@u;x_udlS~U@>p(!0SJuIyh-ug5Lo{c2Jrfe2k#ntKm4iGaHWH=Zor& zD~!=~rMkAdEa&eLivYDWN%1&eT;@5wPFc*eYL<_RlLAokt=QCey1@ZcA})$^g*uo& z@v2;AIbg2BWYKvBCxeje2w4~W#wF(FE9lxy2mGx68OyM3xYL@BH{BIS6B__(MMimukLihMHGUgj0= z=ss}f_XBqFSp5klADxxi*1Y)FbUe%_DwVHKwnpLl{$FeDrEUBBf3@5HuxrjIeR>}C z#p$lzWwZ#ClciMhi5D}oLZ0MoYnDBkEPxH1p0Q*>FrMeo#RWIv*NOojN1$2^r=u%k zgd;?zTI>MsQ$l6f%OSqAd=5yqKynvc4f|1>o3c}BKu*~sWw=V}QEuB>`?l#J)%Sl& zSUTG%`Ng;=P6d9-nrTHDiI`Mi%c&#SMRD}?nDQ;kQo{-ggLa5qu<;e6)_9rAG{+}! zs_>D*$8xbKhLhso{O0vVK3ae_Q)L|4nhj6j1R`;v7DAxft{PApt>7bD#K?2Tzwr71 z$8}*na@aB8aRrk;AF}zaS`4QPk30Z!guvkpj=x^okj%QE%Y{k~%}2nWy4zWK{4ZFz zSac;LG{Hui|(2aY(4ZVGi**N6YpDMSsNl8u<5a~k^#e)+q(apb z1q&sU+F}JBBh8Y<8;_Kbu-9?W-uzZK;NHgfTJJ46<-)2+W9KH2HC6J0wXq5>wDDR) zWTLu&17!^Crx_3Gf4jE{!W@DIChWBlHH1F?v@9q2a2nd_qWTqQCzd7pj+jbBg@~EN zOqA|16vR=69h=)GgTf*f9C|(7XH7M&f|`${2TfEX<$o78JHqt+bL2vFSpoP5lX5u5 z%T>{?v)#~gcNcH$vcK&7d1o){(|^AMY8?~NPx1vFGJvMp;jf)4))AazGyyng0lo4r z^g8(U;Puhr%NM<@gZ=)w1OIsZs1q`bej@;}#(uaTVSTfCfigiU7WzFb)V_MAGgf~5 zpM%#g2d|#|_~YS=zh{?dqd-`QYwI0MZM?{b^pr*ZVFqFi-!I~Utyve%DQpS*ux)e} zJ)of>J7&59bQoR^@F9eq0GQfdpkwiyt4)1hFAX8Gq23(0{^5mc>gH{sm8=|BnzjBk zUkn6&h#$Ra@DNbNbTGv0&Tg2jdTNL;=mge<0Oj3pdMt%~<|QGzj`R3wIh&Pp5EvGq zeV&lyT2`K5Pw0{~igAesD!wL{e)Yw|t)F6umL<&`EK4F_h1WwPaAk=y&H(8365k|Q zJe%eD6k#*&sl+)TJpeO9TXYa{;-(m1cG)?%iF5PVw#Z~rBBRu#s1}3aPayM zgl|;$k8{_y()S7!S@xFH?~`G*c-Pd1w;O(Wn^au_Eqhx{%1gKU;Ynn%>eZ!-VKGr= zD;yWa!TKv+fXN4!P-%5Wxkjnbmi|CecqJFJt_Zlhn<@k*l4UETmPTcBHQ6Hx7!RBA zh1m(+t<3v#jX>-yK-9~*50rD5gPYjm$CRE~ z$%i$uDoi1D1^ooTtF|GLrZYo;ZirqrHO#LB#(WtSl-iM(>8T+9scZd#$=btu*+Piw zw3UhuzVW7p)|AeC%15t<%VqnMQr!p%auf$O-99Ymqr6*f?_}Z>KjMsu#PfSN7rbcB z$33Ut?mXW{iHgjQ_3Z;lgG)FzP%apgV|++lFgp~Y1GgTGV9t5hUfjdvCNh7e>-cQ+ zSd)#XlI+7rTUhjM!hEeB?29c5ns~6V{?$LXknfCyvTYPHD(ZagfK^0%u8~|09ezoOkKtZLdtvqoUEL8yG>?;y`4R2HpsHS zWrM-5>ZetEI~2C5DQ@as<20jfYlrDmt3xn>>sku*pAi#K??mmLg# zIXZYfIC%Z~!+TV5*a;`7p15BXz~f#)qHU^ zE3m~CUsax=JLI(Di`FH{0;trLbH4X0Pc(NB7OXR2S$W{htdBaFhA{R|hrfD%X}lcN z>OL#xfE@GXlx(0fo}s?CC9r_7F)iu(yAPwHk<{aui9}{kSAErI${!minLw0k=K$`* z$>s2>l6xmy%<}1OegC}U>0z@sVF?bci?xK&6B?VWjl66G&v1$5wjly3k+okMVLBrQUfzOQvu0V$XE+yM51toF^ zOiF4|!QhS><{?mO=Gx*xj z?3o;`Gesxyc^AzgjI#{)xp^G);vOwdc)FUiPa<~_9o#H;D%8uvddrSp| zugI#rQ|v1TV=;fv#}pyzbP4R_f%SB(iaFWgdBcf*n$rvRFhC!@G4VFcS;*#lBmR;5D*FnZP9;Nk(^|yd9khnstcm3@V=h105*p7eH zf{s!JiC4ohs@avH7W;n{=P9D>>!T;xtAFetWzq*6y#dF=`MA;|BC6Ui-%28ZUC>-{ zsKsr28U?^(u zPZFJ|8+ES~hJkeEBrr=sNW^B$^HTsU`Y5UqDe;CFlC6>;?u;lB8$(!71r~m(&SYIZ zn^XQd_fpb^Vun43LAU!5D_?KcxUM@sIMKz~!(bl9f88(G4|Q1bI0x_0T2MfAA7r)#hcVk=Bh7mPp&_C#@8+ z31Gj8HHt*bxftxN$u9fZ{dYc+6%GIRL-q04$H)D1^1MXlBB4rlqk_`~)y1%GA2p1s zHfdSftyvGCwhPi3n^sIym~>=E?vL6gg%=oMitKAG}R;7$S)eMLTK zA|c3eO8y1?a6BQiz=`Ay@O7)Wcwp48bxdq0QuIh2Q+-m{Prnow+jzXVTveslEiSSL zDZ-mq*=?8zF&jk(VmQw4?)2~Z*2{1*adR>=t|LrR;Go;#w3<=y#qkyIBPTO((b8ms zrrariWd}#VQRN&{Ovm{L7q?gAmX)4u;jWlNPYeRkyzfC@hHO@61dy%vWJ6=uged1$ zck4>l%QX`=;8i(G0RPNW>lOhYQ*^8g`hFY0?|JK|1OHIwelpw!Oc2(vNJuf1kf_Mq zu8U#&R0?Lss=L^S3*kE9>Gz!QwB~GBpL3mN-+QdsoHR{>8Y&Zzdr;SsL~93GOnK)M zrO8?B&i{UR_DuiZod<4BEI5`Lxqj+`W&oY+?dku!6PlGQ(Z|@KyZ_q6oc_DroSfho zS;8J}Smd6dL^yii?Yx*S&nah{C)J>86PdW^MRxJFgZ;e&@&5kyN-GGeBpg{dCP6^Q zK2SuycSK6PwojpJiY)TNsIm@GT0gRPH5e@Udp;<8+0mQV=w3hg`QX_b!`fm|MFRlq zzV$958zK@qn)8aD8tSTOmd}CI&xg}d-bXHfj(&$VvpAuI8M_W2s(V_L^IRmDpcrht z```VDVh1 ziD2aVS_#dnfI|Kb`i&RUs1Syl+P8krWtG*SzTwiYC3`I5cfZ+oeG%#&jGo?{kxE=G zd2@yfFCfl_>i%_TG(TBV)ctUL_1$Ty$4`^Dn*X++!j6qzC}6n9L31C5Xjtw^uMr$~ zLIY&vKBD=~aa*jjtI5l-RU?W=U=6=ojyzdZupFXot!G{p@;>*3U7(tk)2cWwCKx;n zBEJVRAyinD6o=)(Sk8*eb_FsJED={_dK-rbjD9onm(9B5Ru0@v5H|@H9C0Y9FM0{c zGko##4Fx9?Edn>207WCvoEcOw9$taw=j9v&(lJoG`exgj*tE>fhZJs&Nmoih!)Xdh z?PO0l!H(74tSqLKWM_C@E?I24VmB9PD$Lv&=Yd46*uTSl<~C?T_wOF25~%XYNzaC| zFb&Z_Ljx+@+RyIq?R}e7!xMYO;urD>S`^2eq(^P&t}6q| zX7ZvMun4%_U+!fmu%k%MyOZJcv`^9Y^W|t!;eAVAMXO+hv(;CoMrV}oj?2p_rbnu`bZ>X<3euj%Q_6;XbG}ZoU-H!3+I8vBka64s0{h0WqF_l>_6^kX!ov324s|iqGa&o z=Svy1n$0iru}w&HXhOdLQdpeT5S{Of54lL<0@%UGHv$R7MkeY9c>qWwocDqp_i66| zih@Dx$W%(0$$^+U+rGG^2r~6{4J@I{TnLbzSsH%B1C{7oqN{|O#&R$Y&n*nIH~55;A-jAh+t~Cl}DpZ(2EqW(^`G=zz}Gw}h!3w*Gn0);i`?V2U(isZ@*SLeAo>;qrj- z&qX_&wgkpXnDxZPyY%zCic7UTE6mrjs0?`+CGZ(~$q4<`@D!~l>B+^Du@J*yvS)mz z$lF$_y2@Dx<#n?+@@&^=xl>>N7WKZAFbQ?N!hWmM4_qjL8%$^`-4Sic`)K49ez=njz43M~JAm%q5&;(8~ z!Fj0``QO0im(e$v1H_Uj8`)ZwjG#)?%IO|AyUM;c%R`#WAZiao2OxrRbYdHLYZPug z)%1ISG^XqzkX8U;^%>IV)q#j1KYXXbA9l=K{J1bI1>ku9X4=tW>ApPQmgD2H&eh%( zM>+h9xXkRMcRa{Q{IL|CF;zOhbR))aROGe z`Z}B*4lehvP{+2*-p@M%uQzMhwzFa8RNu_*t9;1Ff;EqqIUD$ez+|y8z&K}uRxH$6 z^=hbbX#yja(W5X~-LnD3VRE1b9y)9c=qP=wcW5k%qbzD|w<@;ZPCBLyKz4U99KlvZ zHmt=2N}PP$DJDl8_?c3{UylBuJ{J*J2t-lkCCKB9d_6e;EA+??$=Im?q}l<(uCcD- zLq`d!WFjsNeN0EEs1g}j)W1JT5nmt(40g!p_!;vE1ZrkJ6ZtO^DcVB9)LSQyWa^vG zrT5hU1|)}9mC(o6baC$&(+zpM-RC=0l?3`e?t3<-gW-fKYxvPjyv>|lO28d^ z;iN=Dgm9VeV`E4W>zpz;lNo9FRh_0vZsMdojV5-jGBrUix3*~4@TyiW1V3yusIfVSQB5J)L18Jn0$S` zA2!6OmB=NspDTY}gk#HG+)rXtD{h(Ur>ojlcM-a7C9{)Yv5a9)|Jo7hwRh$e!G)=6 z`Bj~z*lFyqk0T9O^KPwu@oe9)ls0i?n&# z^S6m6KFkg#DulxR?l`m2k4p6{AcX4VkZ^x0E&=&O&mm6wkvj{kB}z$x7`PL=>juoz zuT_otRrrgrtL*Q_;jM1r5Ubo8D!DIyWJy*#g_PU_SgbB7Cwt2rQDey}C7o!O0e+4c37DtJL=~&0T}wZCK`AgYC6I zr)5ffCILIhi(^V4AU2OL)r#&Fp?QA&0Dhp{ro~+?3Zj@ian(mqA!G>W;W7%MKqX-b zuh@gxC*q8?MnJt5TG}dRWf7mSFrSQBG5yZ5yGH=s_LA~w)ro!T`ilV(MhCL7s1BB= zWSBWG%zW_}6V`p*!`|ClZS(T4-Q#YyVPrrP)8K zCdV|#Zd=Eh&%yj7H)*^(R}Qv7h9GNwvvi0ph<>=f+Bd|3)>sIA`r8QeNcRORv+V1e z7ELc&Z9@qrFB$(WD?)7+lg^MUtQV}Z65^t>0@4qviK5BvNaUc^?VNPm1Km%5KeLTA zmDWYICSp{5%EWN+>e8WQWWWTGttsH=%ek}3V6QP;bVyHw#$?0alP?&0Rv;_7~ zQpJGGg^AZqUG>W}-!O>m=SYwk7WgrqpEvmAN#Oih_$u1jiU3ClQcPR(T?}j^dwuR< z>v-MTCmY}r3yQxbN9n=f{tF&w5vCRoN-;4!DFm{R?I7ZjT|E-b7k{xtaKwWCz;80%2;*ePM0s#ffJJmg2_-kNfc86Plqj*M74| z2P;C&^jXLHuWTzToZ7GhGJy?#4cg>SgY4=%*p8lqNzTi<%;uiq#%ZX7rMx!A!H}Gj zEfY1hWsxfyA4qFcMrQchUWbZUhdx(nYBh+NH8 zbvdaV*y{5uqFa){s0i6P+r98;X~9_ykKAC zkpWt}XJzYIU-&KIb)@~yj2>}EMc6!d2{C7IO@M`7E^3nYU@Y6GF5dC5h%wu7;E3U)o=xtiZF^qK6C)=jD z4YIpm^bYWcgVfXQGRh%r_Ona}H+%caV$U>6Pwunw@5Ao0aq;M-6V^TK`jYT&eZ zNb||;1sZq2fgf9%j~+ay-&<4ImZ=?s8qWb+aP|1<92)Avd>@E8)UtPt*%o=XT8qS0 z5}xDg-=90=TJ{Q{5+u=1;GJ(*8$#$DVZHYlyY1_m3$R<~-Hnc0ZsOI}0!S{Od_ra= zwbB>0Ub1ZyYR&ry|c4ciO$kWgeJoHCs2IK zM{99;xubk_ntutlXV^58NS5N`{a#jR_UO1U>V6lt%I#GS7qK`J6tqv!KX4 zO2vOH2fXDf$V3aFYlp=nVWk<3vh9C18c-9~{* z*G+$^_T#BK^~rbm4nP7azbYB+QJJkcbJYCIb%HaWx{I;1Q+IB$7yYeRm#!wv>D+!6kH9R=KNe^vSIq~z0l*$8 zpc4w9A6@YVPWEAVmZfP6ZC9xLbw!A=0x%MtFWcu2xw^zwg({4QNHGWBXhKZXVwWZY zmx zAD8#nLuDGhA0E%!)A+wxx!iB>IR{vlt%iC7`U||YBje7jNijFD|6E59It<_zb{cXa z$gKjEOp`O41Hj(B0E#XR(%E5)b@cPL`lAR;h3c>^V(L2`el~d@WTz%PKh9Nm)5+Ap z(@qf2SCSY}oGLd;)Fas6nD~A9Vy{1~5V@O-+h=rhr^x|nM002KH005-_gIKV(b2GJY zGXD=|;mXI#4SO`@>P3V4r{KUmq)9nHe-il^Yc`Aa&Lc%edMlY-~mxu^q4*In|W9HFL^ro5xL0=EUya*u%3Hr7EOXtHi_&4ee$|4Sbu#?V6lD zgNt7VJSR)!vo>o=)q>G!vHBRUfk7TSf8cF@qVhxaCr{^OO5b^$MRj#lm@N+oTlgQ-*T+4;LfYq~Sa z;IlIcM3iJwE$1hP;X{Kg( zms1rwYUUhs)$A&mQR8&zP7L}j@C26Sj z==p7TXH?0apjYlURt}TI?=EVl)mQcA%Fd8grz!d{dbo6Gu7Hgvz@4YVcQkrrAKu$l zDDm{(Dy=={MGE(``Sr?|ul1wX= z+fMex>;O~7T>H(CQE0V%CCVwi?)mcsMfFIw{EvY~3FdJl2W8`C_CH5RwzUl+g{X#Z1+gh_$3Sy0#J#^&!8P0*mf$^29T7i=z zcCqcK(l}k;pS?E)x6eYa=g+g7xL&^Zj*ruR=+Cct!I!VQNxNL%mj&qbxPo#5Mz;In#o z{GZo%K_}adH@W;?@B0vguUIntoWA#`oSt0o&!^*)UZkC!@Vz$0je+i=%q@|BltfF#ZMA;^8Z}rSA=n!pHXVp7!|OUIp#q zEo;inFFc^7T_m{f`Z+1vrupLU{owcT_`VlQpZ!}Tr_Vc>1)h3+o18q~#qZ_dI>qDR z_f?2~IDK2RvuGF|Dtl^T3+|AME&FTueMeOw{`S#{E|wPKs)x_(9{pTrELTH&v25sv ziLg<79OZ^9NdEf{_}A=}(qRiNcc$eQz@UTT{ZTuPnK)Fb20+JgWF~G6oreB!bS?$( z)UBcEQ?GM?&8~&_y($8^hKW#>-)Hf%&Z*)$LHCOu3<*w!=~=S z15aW3+ILkFAOpGsRo;W6mx87g;1R5@OB@vj-XkoqU=FYq$jm*+uWa>WHo)cAZ&wcV zfa*xzn7*S}M4xBJ>dvi*teY1`&kk5c$mvz{*zm0lgfBBPGf+Z z`*XKGnN*9%|Mfk87iA~gZLY!Z82*3ZP=2fzO*%GZSg9C zw>x{SwucAD=oVa}WzzbkNBgB9w+jvguNbr+UFh;bk*@b%~|D`yj8##*r3gFk7}8Qj6XoC>Snhz zO7UPuMM+-fc(FlolbH4sz4C^xgkUTEHtUVZwRVxaBE%Shy9~Rm#q4S_Gwyo?Wd$~; z3cI8IbSCxZ8dC29<3aU(Bw}_;LvsMSmdvwRehxOuwm}nZSzhAverGq=oz}~7{nDL} zelMs|4WB8e`j{c3+r|2Nn}c!##-&_*nJW1r%SRZmbz}X$cJy`|g2z3Y zEGR65nYOF%cgxr_x0H6>bzLR8W3T0nEX6h;4Y~+B8M6%w9wX z%FAl#nHdBbD~xZH+iRGQ9F-O26TL_;B|sEqC}b>)&TZ(o6FP~|GnQ{yU|GZTq|Qro z*{b9E!?D#HSCsP}jB{}2D$qRO1J!~S9(JQII|udGIXWL{Qcf$+HQyDdAW^LbaF!-N zwA7mDqggc(Jdh23C*QgK)`7g2J<&*l$b3CRnth;rO84#|sM>x&fOW^lm}X=rgj zF_EGi*x)w855(m3b7Lo0u;F{!lFT+2#m~tQf!FQ8s5+igh+X9*8`I5)Rs9<8WuZu6 zOG)b{P7N?zNV>;O7Mcrhx?5Q`=00G6m9wm9_uyF^r;7~OmPQ)Uw=}e{Z>ABnnQMVc ze-UB|Vw73BBAE&eqOcRIk&FIGBrLW~F6kp+E)PRHH`X zQRXm%iZhaxu)6>R0dSC_sz!#wv~WbIo%qE0E-=$t=a%)=*ids%@SpN4_n@~A2OQFp zhkOXdXejNv0<`M@J0H8s-&EC4hu|=uNTjr7AjL@@n5vzV+nn?;&tCKveE}S=Z3N7@ z##kz*no+i`gUh&#b=1G z4T3IN47NE4kv|k_%wT9;LT$^K<@%wy%d$oKcnIn;=Qhdf#Az}0wsi#=;oN)m`pd!! z+%xLtWPgZ|g=|1prU91EW7Z!oNeY4`WJ$9&-z5o!@j6>!g7)jgsxeqsbJZ3jqEmnq zm6e3S#$1g>-H}7D%XsV!&FhFs@p(8CrK5+fM-Ytb!!2){6ZV|h`WZ8GFq6?-4jGBt ztfel(EzBU?Lj=uDBXRe(2tYOZg82p&wPy5DnGi^sZV-z@O#znzG$4QjI-?)h002Ux zK?c$h_jXpTs%&l}5rl@uij)sn8)V0qlD_`=3aD3`JII_@*P;R*?!cuY;m0vTONQ6L z`-;<=Kvbn)Qm+8=y!)$f{ITl~EQ&W>t(}1K0Bg8cM$KD!Xn2QD>CD7>m zJKKBnvEi0r0Dy7s51>jz$fxhK_>*aQs3 z9#{&61uA1$aUJW7i`~Cq=}eO#*EG0IUUohW1MAJpzApew zbA^lVP&CB37Np+^Ay+H@{Tx))k_-nFEp!1~a3Y!#I+>J&uGm*=bgatLD%_U}{uqUl zi#1W?9FnSz?H0eol?Uq3JkoT|Wt_tDgQ8CjnU*6^ZkS=Dm`^yEFQoI#KzOR%l?0Xr z%7jfo1L&m2)HodQ%EX9$M=*E=b6mdw3sSRbRXvvWcF}Z95z~>8!xCw!9K2ON@fH#) zI=~!mi33|&PMqg3U0X3m7^eP4saq81l;)E|(BpLYv@GFIiH3ecjmKWbDN+zhAIUk5 zw&9$(FbrwpCBU?LO$bx|F-aitX(>Q{3^7J~z@&C5{J4<_S)jfbB|sI4Yd~(Dr3+XD zC5cEKZJ7Td_P9Y`FStx1Vz%zc>Btgl`hwNYqNcGtpM)hw6p$IoO5B_>4ULjeM% zA|Y*LwMBOyRClR)=qxFGCW~t*NCFh1F4UvE+744<5atFY(}p+z4=p{zvOno7-5;@<1?TQ^gWd?IjRL}*`~&TuOxv{y25pF z-L`%4`g4|OGx1YN74=4K(1QZz`2xLdHi6}7{?F3JfQrm8$<)RIm_k_M8i1T_r1bfO zjtfmbCSfpqX<3HPGiD1EJPxD@?dJf_iQQNbi+zvrRUF%9w_b`cP#oabe8*$MhyoxH zg=i8*<-{axeJQngCbW{mg|eZjh4ZFR!EmDSk^owuPzm>NIDj>yT9om(`uHR_)_EWh z*b-2nGvEk?n2g{^YTeL0@F>&snU(}qX~h9m!c+zQ_SpHJk1NOV2uKj(G`@R@(30(^ z+-O;e5r5Vv3O*K$zGw~d@w^#I;6{jh1qhVhkHDOjqwDF!Az1~yOnb~_#M(uvP5R`| zHaP5LHdQ46v8u-T?9D5UiQ(cW6Hcq|Lqvhg#G;Wv2CO#51^VDKTSG+O0ag^maJY07 z2%H#X!f1pWSNvr+K8)kbIh%8+MvGImqLJhwQYGRSz>N_F2Uw_}J^ID#JgT@f!TavyBQ7WHzTxyGp;(b1i^h{^G_0 zkY7uvOeS91RG~qPC5z7)K{V(-O)cWVESb1Q$FEnwu(2vD`KJl5<>7!?j5aOB)z*9)uLm;xD zCS@T2V_R;9`VpAu(lmbBQ?}HB7RZd66$^-kVxfFfnXDMaN}l7y$4at_aMF|(uXD?r zcmN0=U}u9cg%h=EKU>BJR;cT9)4v@dl^-9vh3S^e z>d(I#o6N3YE_s1T2#+S7wa){iFYi*)rxVg7xUlu7v zSKw$)0uszxD&Qdo4p3NHolH1HQm}C$&70c2O4}1X5g5o$GDlvIS|=NXz(f=;fCYij z;KxKMR)hr-AOj$9UR4b?PQZzQqMlzO!ySH$2N^v^Vy;iYVvSO#KHSf`?4L~LbjZ&e&(2s|uC~uc(Q(F5ADDUiF7_DF$Z)Q~v(Gj)G=->{Z7b>n0)!zwBglcqV z(mhI?e2Z*S`k44N)u&CZ+Zhx?btsOZaGL=Zlx+*Got6k<=2fdOmY^kFGg@Y(dZL^P z#n79kHluJZzUY4XQENq`s9QpPZp7|FoOU9}nPdhcd8!sDu0QjtUhA|g3i5$WZS)p- z04#Kaz@xbJgq!+VVh$@pnX3c5zu`$P&>k?j!5JSfK1`}M7l6r(DJ&<=!v3K zys^XuVEhud`RqZ#VxFlUDPWv&gx2W76WRP_JnlJXGaRz`dU?z;JD5OgG!f6Z3ycM}wUUFURdlL8uqvZUm`C3`S}P zcROyv)}6`Gv3>-91J-PW1Ea1cu(}`s6o8!Y#S!bk$$(-)*A^@jMZoB}&0P@Ye4S5p zhH=|)66Gc`pZwc02)IyCr;jpr`L@!&YO^OY`Nz@=VC*S>Ylz4t zE*uk!4X8U?L8jERk1Ip@r4J@!RM(6U7e>hjm>#~sMh@+p-Tj_oIv*D^he`wjcZmJY zoECPrsgWC|+p#<+4(|5HaAZ1GUg8uiJwp)2b00ppf0~1^G1#qKm>3@{%;1fS7(W2F z{OV5t_u~aKwmDV8W3x~5y|su9iBMe-nkqUd+6(2PZx$wuvUyS2n4*A~V{QXs8W!PM z0yC(>Hr_*oNU5zWOIw4VR3y}W%Md;#a~)yo81TRCxvxhQg<2QI6@*T+9(r<-X76xu z73W7#MmnNYi=~9tsWfX{v7-bGR7T91`h_b9KY5{>O!0f*WNB`9aeW#Sq2`(*v@y40 z8KHIdWk(u7WMOti;DUOQU^1YQ1txK{2sL3nS(}6Ylt$q~GmJtJ@;9MEw&SIC06&`u6lPlwi_PltS;KXbjPwU8Lh4 z3v41lijd@vL&(W6w}PHCl;QsQC5NXz^F~9MbzOi%5st`1NYX+dazZrb2aw5GeE}rS=H4B_I$kB)X$I07DD)jHkBuWO3beBFoewS*|d8 zTt`_rX^0((&tL@V8e|_2#p)Bz_W#;Lc_Dc9Wtw-?=8pbBQ??4QilKr5DT0D6kXy8C(X4i}D6zLkb=p#%VbmnGpfY%t6(qOqEkI9@3dMto+C zaK-oTcap$nv|k+qzVZtoY?xb2;_1oWes|3u$JOJfg4CDFMSfSs%lk|}O)-1c_F@1y zICTN;@?QulDQ#>zr}fUgZ#NDBT8JhH?CYe+Blt|%J9mL!m^UgIjb4zPN^D{7+rTB^ zQOE_ztyS`35D+YpzX$YhUu(l);)YqsrB0$0Vp@0ug%UgSmkT8V}!P9TWb3oVp~*!XBrE2H=# zik~QAwDD3nOs3qs&lg_jp<88QJ|y*gM+t|wsTiSvmVi7Y0~cTtGbIOU#>3KB1Z$$1 z6{hkWW6-GMsEgDj8^;R}bypqR5I~#)kv?4JIMR&KydnSxz{;_Wg3csIwuy%GXGMh6 z@SvNeX+{V?l20Je;~ZPdjcv&9hgsS|BNG(){X2?w1~6FRKsP-BLVRd&$iiiXNTn6B zJNGdtRul3HUJwqk7B6Yk&#{PlfymPNHmWT021^FuLhU~zZP%crpCn%KXssQjAh{#s6y%D zWh^9UW^u3qd;`bq7*-_+Eh7CucYwT-C<+Wsx@wmZZb}Nsg`q6tg?X&97BG#t(qIxm z6VPU7_1`3IjebQR!@@uHm&r_|flNHoFR~0APn9WphOlxB0~3AR9pWkRAI_9TzzlH}k`lfeE10~ok5!)G)E1vwGFk$F#nSdRfM z^iU0s*cB|iQiXV>D+s$fkS-G*v6UW1M2s7QQx^RTv(}wR7Z1n%g8~t!sZ0Dsb~egI z7Fb~^#+(>_yw%cd9GGi==#me0#2D!5hXC1CmtzcIDJ^GZMr2-|-~UPz1ondKM&hsT zV?=ROP_$<3M)el%C?Bdjmq!4xT$f9jhFC@v z=D(wo2G-{9dmf6R-9D0o{1W|i_!rGsqh$%e*K}oeaey+>=!-+&B~`=I(Wrc{_Ns&D za@0tUju&PuS7tF^Y5H^yrCe%4dKTQB9yd6rRPedtw5fiT(MTZ8QUnwn*V>9l3UQ+* z(I{RdmaPg59H7+^r1i{0rp`J$@UK^YFH@OeqHJR-w2_gvq5-3}9+h5;7SUvy`(DiZR1f8|g@ObO_Ampbu= z4>((xI|&TnWKNc;;ix@;xk+)>pvyt5#u#h6t$H#1i#Hzcs1=TcGLZI!14YjeK!M1;J|k^WLy!yz z8?D%g$R52R#c%?SC#sqk+r1L|-8ZL))W0c~fg%q~790}LTO4ZPol#1dbr@0FSj6kF zkOx8~s40_iTsyY`dm18xfonOO4X2N#JG}{mMi7C+0}JVjhww}waUsAhmgrVoj1p`B z!%uNSpaa41;)DS~8-gU#Rvd$|skALVFj~1OtCD5Nha@AsYI0&;tNW%-{bI0dXp-J! z3|IywXlnyLoPm#t;RqMbt-d}-h}xe)aIP;%wIheuio!o2H!9U6tczUWT4mr+d>k}m zc<*W@2x5hkbh8APC#E@w>jrU?lXd8p5eiEBkf(swiUs49)Epdf=TxYKBamr1geI1< zKDb39Ah{mQP;%e;w}=x?-41;zq&`m!PAairWI4|xmiixH3~kr!74fTu0M2MmPf0YM!KVh@Z-|b zD%2$0Tr4R^FpBfKSogUBkEDe1zOciTu@m)%fgzKu$|R>?R|ZlDB8RjxUze(;vvBxJ zdci4qc&Y3}$$D^(ixLi}nnfhtyFy2kjz@&Xtz1PUaiwCkp+aVHsZLGlct)S z#O$dTXJ{~)4hc5l!3id#1S+A;XeriK#@VU8B5QaParG+&;HRHW;_{GFQplL-&L}}n zu}CB$ZP&@`NO<820amE7oWZ#XoWotjix<}(JLqSJG&WXS$5zDWn>a1Ojg_x=TM>@X zgY|g5-@*pjABHdPk;lNZj=O1|r@gV#o?3IxuG+Iw)aLa=I`C)wtZ!;1j&26iXOzAi zJ;eEiKMl_OKFMi|;453XOYK=(%C%}v*;_ECu5IzX&0A|rJ6q8fEZcLRpY$%jYd%q! z+cZ4f;CVW`GAuOx{`%B*eulgYzOCD38lIt__0p3?316k4Tcl7e_wZHk6tf6vD>LV{ zx4v}ru#<|XZaedN{fFeAy*fx)8P@{_6NB+28^Osvozp~sZqtxi(VYU9|j6_yx@%8sj(8EQM zi(9Xonz~+$Uej^%Xc+Tz)I~de<90*-NGdr)Cpqv&)nfIgsdaZ^!S?2r(bI!-edJ~i zP~p1jYYUSut%W`Bez>YfrqW79DnYfo8!g{^LdTKW(+jhv{O~V$nw$^zw95R~G}=ma z{+SpJMg^}Qj1^r53zcBFZUM2 zGjKikXRjA|tzE$zo1d(HKAVe+)|QdhgT2i#;+|6Ze6cCmZtc=k0{Xif5I6!slK z$@;BP6MP-`zFg?JsZBzazIJu$np!2??1GEZB}U!QSq!uRWY}BpJsp``q)AslFZg^9 zk8q60yZ#(ZaFx{p<(%*%;1|UB`7vg!Y)Zv_SPfb~s!$BW{hma7op|Y-W%g|Huf4mT zz0~w{U!PTfy*~#9z4%V={xrM)tU7*PeJ|%}g?8-fOig&%$1j-L-qjd~8K#fJyrd!ZNYl!@V(%JG zyS-jUViw&Cwc6Q=S8c>=8H;;jPoHENv{o%r_&=(cKem6W8-M=I(MIIsUrYO5ehVA*LLTd1KW`*i_VpGI zf5vb9WmtZ&@DPGoDGXjODbUKf$5UYOt!wNyORRWOTb_{8q1WQ3xLEo~UC^bL*L_1=lFf@TOo>-I8(VpqT1J^YZXxM}TKZ7-g#>xqxx zG4w-0ap~He3{u!rLbvdYYUn+4r|n#e$y+ts*hP@XW_-1{Yo48mGC2ResY;&hU1B(5 z&SaQtp2GO~aC);X4cXDMNGqQ>Ik8IJ%qZKGTAKKXz38l7(bGn2y94l$J|xGc2eQ00 z_>?TNYWK9R8Nc+L=yCEj+2*>7o8jLO&O)-a6SNpGku6n}`k9YAI;y76%j5C#eLQ`I zC;#=L@SRS4eaT5xlL~JfNkvMEN%;-5d{9+?_OX3X55LYBdUvL;X-He6CviuO=?M+ZP588Jh`jWqd=%WTV?{#%>Ph@zvVt zaT)OI1L%3rNA!HSjP4wN8m)dEcR;fPw+v|Op?)vQgosdYWw`wN%F;^x%iyE=Z@$T@ ze%OAFYd2#3jcNB zCGoL(<_8VE0gdwmNb~9jYrwaJ5n7q*2me$3=k<1%D0tlzq?g~nR{6z4vrlYhi>7#x zv-=U=`H5*S@@L4|?;&TrIi#{}yLuwdOo`$r>_8H~WX6r99`jhq?YM|rLrv2)@8^BP zD_c(Y@A84>^?b+LwiVIs#}er2gGynw@l40!cqrw>WN;-cnP zo^#wpNhWk@G3-g>l8$sgONVyLHn|H_nDFB&aX0(<*Y#kO$U1k%pHiF45}oU?G&H@x z8Xj3RV2!+1(Qw;)yAO*_E^m|j-_L`VGL^4~%@CYLJopYZHQS(Q*7Vj*Ai z;dqDlSQqz&=MDAR&;DtZ4T3w-k4k}v=a((k%FmONv5t3C>IkOk+3m~4Jv+TTM;Y|A zDlN$qLu@n-;7&Z8IobKs@9(AnD?0pnaxXVEtPjtgH|SggHCFGtiS-+mcDPjxZ#U4< zW3+M?2*>DAutBLkY@!O^Jmn&U1ubd&wXofjw|+ZIN-jnARzR!$E{#|BdGj1@ch}3) zz+-n`F)?k9cEms{-<|E193x?O_P*<`buHD;gDP?S*Lv6oNJPlc&Th?ZZF~XukViJx zn@V5C=*3s!Ln4hnovky1wr=(GT(|1BQl{+ zCy6A>qZ#@mlR{{E}nJyv#%J?n^c z?9m zRh`y#H@L|@fe(QIUaMHdKwh1H-#t3_z(@ieYu$2Ohpuv-w|l=y%8rR?+=Yqx-huI2 zlDHU?*pb?$YtKFPTvL6`v9kJ8AEZ;i)AO+#_moxmh344oJ%ar9Gw)kz&i~0C_xv(E zz)!uiUOo7A6Z`y<_(6T`^Jl;&Exm2$LME*B^-{;-Z}+_$XHZW^vsa07DIgUt-p#f? z3f0ESz8wlKAxlnZob9%}P1BsRjkDD#QM8?nM9q^4GfVlG6x-X*kp=9R_7Ah_5B&c$ zzdmSW4YV@>0C-aX{$Dj+h5x&z>y^)!+F@JD^9?8YPf)5o(A2HLTM+~AViIK}ku6}41@3@Qz0=biMf;<#t7mkX)RIGvHtN7&of zXKU}P2_y>tk1i1$aIa4L3PEzo}C>vd{iLc~gOb?8| zddF{M61EbLl#*og(3C5YDXDpdZ>1^XPy>W}BBvI6CHMdIHrkCEL-ue)A z6`P}w5(n1L>9Oe>6fqLX3BL!eOkNW^DWKzMZ=)|s#_tJRCvTtIGqOC}zLI=o5ANB* zn~jgQVSbwiPi-@JCm{-FX%}JP8JP@9esq$(2hF6Cl#0pk%T9T%81;*n_pqxY${T1QWze*@5)!mGq9PKNPs^rL1$C3&y!Z!=ZV^I~2XC zH6Mhs2du{$iQBUa*+ct0c26Jc$m3>*j8PK4dB(WQuCO-|Y3-Uge4o5dzH2%&V~w`D zy;wE>(YSv}M^p&&DUH4GQ_9VdBie!HKe>F|(9H1TmKuMz9AL_^gZTJVwZDB_)w7HD zLpf58wHZNFA?Y>5-k<-H*5r=u|G3!K;z`++%!D=IeG78lls)_N>g&ydk*f`}o6yMN zBhJJ}1o6Oy&3HGB?wBSTZQLbcyNID_=8XT>&3dXHEwV&!EIWpfPu zoJTL4R7%pD$9wEud~CslRHWk!YAfa7naD$;2pv{BzU`9>Sa52VrT;+Yksgzz^^GZn zx-Oqdvi?PeNuK?E%xIQ@Ig2yAC_R*eyV9V+gLurC8oUg6uA@P@kG#lo0ypz_k}3DW zncqv^DjA~F7GH_2;>M^i#%wAi|Be4ZVaAC=7=&1Ndfu8#*8NJ}xWkyVFl)UOqXLYT zY*Ax|27Tq$HA4-SPR`_I-uRF0z9C192GFUyt3qe8R$_g8!UF)CSrK}mdG(4)S@)-b zIGrp!z29{n{P;X5CpZ7s^G*cs;>?w7l(H;eI`7E;B}Iy} z7|kcc0Djm>5dPZg_pdK<{)j$Hz}4N^W1t;gZdM{M`)QW`x6m2x%k22N+=*E!x{&Dz zU=bfD7blNdW+*?L99?UMX{uPLpMl=k@bAvRs0Qx!oxeUa+evGD@9{G2p@{$6Uc#4y zmk*<1>Wi?kuGfzT3RJpXtHP# zS@&=M+4vFXN5{COx39*4A72NCZQ}RaJgD2uzqhlv!iKG37#ApE7%wIi>8&qI>UyHj z4>|O~#AK1XZ^i>78P`HqtL3%bxV5>Stom`OA@u~#I8pqf&h&Vy+eqYjV(bD+cym8V zyftHYw^2j1i@4o}2>KY?MU7Oy+5OjNmYLq9PZKv+Tr;(h2qZ^$CRrB0>0=srQ>XM) zlML%H*fH8SktwZU7eYrGM<_lv)B(b`bU_Us!^MRbedGBrx?{5Ydv13dClWK#Us|iU z`~c;5NOU4+RHHGAfr3Kd`h@8hKfwXl_td^@OOI;7D%+5;f{goWBPDjL)u%Dzzb`7< z*XDXZ)3K1iiu0*Wt^!J zo=-F5C!IOYgH19N>d#qw-YRpQV)L8GDX2`Wy;86%C04+&XkOYzlFslf3060OsbVF zI8LMUvr9wPZrRuEYI3TIR^v>bYPMI126?sfc-~dO?oF-4P>?MPOkTljQjbn7Y1;bD zwL22I;*Q+ChK9VXR;)i&D+9Q2S=%wFmZ+8vUc)|bxN!MQoy4^(mM+4%a8<9KHB}+Q z+3B0CUYt29wn&fbkQ-x4D$tl5_kpM~Hcoc(k_ho|NMAT!AXQ3YySemf-R4c^-wGZIQ(@oOxxv(o=OCs%9#Q=U`RdULwh+ zbrpL;H?3)s%{V4@ms4NJbXpVN0Y2LJ!997a!6S({k6Yb1cz@2Sztx$RMN}6N4d4ou z)5PjND#~bHz!Fy7IrMa07g>GH3>l(jAi`4SoyOY7LsrE3k7`1AW7XvTrTi-J;g_5I za<#j2V~YjNFxg7O(y6I2wTrq#jIE7!Y1vYAN(I!_^+EAGu%VX_kmQ@SVcrE#zvP~RlC^wmr4I)SE z{9{xp3H~;E%GRC!4yB!=CEL$XP`@?T+khQeZ3AUkdw7?hoTbvu{4ba2v)FG-*=&$B z`ERrpPK2)Dz=P(b8#3*eP?yYy(ZZ!8AmDB5c!g+_Vxp#z!DBD#)3Yt>mP) zB%SEX-Kzsq>+eVE`tJrUd3N<%E%bPsumH3*eK_$G(ZU!w&%9*rz!<=#na=~<1 z$#487&E=&~v!>~vls006q>$G}WP>bthySJTdS7tP&-|Z`|73;yYC&Xqm$6HW{eM-8 z;8l7ve9WmAGwN&$s-?;QB*EMK_mJ1asOF^0O1P2OG{XNg;s-*y-$v5|vV2wCJHln` zvSPm~9e;8EqvGdEV%=ER2(N;l0l94HMq=F{FXKjF{ZJsek?K(Pe4TF zgW2Yh~K#YoaHCQyS&VL{Zf{KsR3_b zV#x6?R&DBKKnr*Y{z#JHhX#GbHU|3S9 zE)c+G(*aWqrS%Cp;8GTtHIzh^Z!BoQ6r*U?D%V*HsvnDZw)n3U0J#29bO&?}7&n0r zMrNs-f2Eh)Z@);Z=iLX!AqoChvY7>ash0-Ma8v#BvY@7xdE38vg)u6x>GxNNp0|V} zfosQpXFt1Ex%Mj1lRkOP#6M$gq>qydVnkmOBP{ukW;C`&lD%@)a$)&)<8`BYDWsW| zVEFc^-*i=ZPsSweEsjMf@)l)x;wv16@*)Iyqk31Fcw0JVlhej>v>ZIA=Z$(+O_PFM zsfvX<6ZV2!Nk)pY;by}IhzXG9iSDtP<|K?ox z^CrlHSS2v*d;XRL!&nI!ApW8!83F_aKNgN_tIC4Q0hJ`m08ii>U4>i?$aGcjrHD>O$WL1dImmF<5BTK^Ax#K2pSeUJuUz z?*9()f5i?7a=H;Q??qn89;aV}R={(G-7eNbct(<# zAQoD02K!LTBp5f8GV20_CF0erY?IC;sJA5=xCjKnoSE34&XO5MtR)>}dAg4!-8p8r z?i^Jq91}t`F$0AUlUk&eCWMm#AksVwWD1lp%gQ~POAyJ<*f27mtg{;Cug+j+bsah9%L z9=2AfE*|Ed1n)p{#xk`dph&|qc1HaxQa8e~^2WPFm1t06w_1VbxOEvbFx425>m2vY5FyxCGJA{Y0J5vNp_Jp3i;IcrAfT^u0 z2;B7J^DL}hL#gAwQt==&f|+$P?2PNsN2st(n)4lB`9iQKt1vA<@Wdh;w;5UXs|>JgSb5TIKZQa{9|x%VhB#YtbX8OUZWu8-Fd8%yt$*<$9AX(8 z)z>`ZGO`LX&E2=Gk)T8@Q@ccDq#uJ`N?3xV8uXX8k%1HsIr8YKpsjMzeP;zty?Jhp zkqnD1A~o9ypYYu7VvAwbiQd>Qa!F6=VL8+3)b|Y8VfjAodiMe)XkcZ*nYlF$2gFJY zh8Dva52rYlrlA#3*;sv>tooWGPR-~Od=ttMyE2c*;8!n_exLq?9W8a(9rSj`@GPZG z(1e+j8t)0{{E9LaQL6DpR=C!}Kx+DNPPbT$CTZbBcO`-;RS715u0c_S7-)5gBTQ{w zKUcfpK~B_=VWoX;T}DKeiDR60{sq-YwNee1+N8?*@~n$1{fey#v?AWxMl^0`&YH-{ z9euM-chpPST2Gu*(U$&7a(hg{k!l#Ar_wS&U-HU;@#EvS1Y~J44ibdB#ra0*JL#A5 zdYEiAT(qptB$c1R(me7JkR8^QD%KUrmTPW?fXn)Cq`f~wfSb%w#Yo{NSF99wy33Y( z0V=qLBo2*)MO-qn3}Nebn}@ly^=#b&5*aL9gXadJV#PpP&f)#qFYs#$CY~8)U8HXl z?vKJkcOXTC4GqXSchg}R6{S9`>(NXs2AYA&?nZs0fraWsoDY_Qqi>G^8-gq^++1#^ zEuA0#h-Ky4Li3|^iS@*4WFOy_kb=4;1u!R9!?X;y_q>(`&NJS>CWjk)uJ+KXRHU8% zQ7J1NH?RdUKRZIowQe_8gHzZ!lM{()5L=4-+%aHeKi z!Xb`fu5Cm2((ZQhYGrSI)6_ zQ=gaEjOp7Q#dc3hm5WPiH^l@)#H%4~H0Yg91OZi0w~R)csw!xPGFdRsDR-8;?sjK|rpc62h9V1~ z1~8#9zruCLt=v*y(IbWvQehp`84+#H%n7}$q=1!%?HyOZg|F9D0R98f>YS_HvD<2q zW-%yB0|96oG=uG|vKC;`CCA$@HTU*w0&X1{FuY`jp7RGD~y4e6XV@jqOXwj;07t~Ox@hzibRguaVyId8QE`7+5ipqzac~yX|i3?}BU`-F(c`N~OwN?MV zcY4*G6rUXvz&dx0RgUC4^R%-kSC=o~xy&*tCRsNC>4`kRH0jqnGWqNI+56L|BZ`-F z5f`r|*WSA7)e%jZ2aZ<`IJy6wZ_=+Y79=5=bUQjakRBmvTt4(Vvrqacbt9F=+i00z zzCD?6AFRL0?w0$We}y+{i&t4GNhp^lZ(IBoKmN;?qh9R|{&>mb#Ab0j*%2Iz?!&Ty zsQ~ZO-rU&L^G{n(XD6p>qel{q9RmC)Ipp2B*o|+X_w0{{TsvUx;;qrjHy0I(LF;*$2v=l*Q|AIy5B{|?y4%#^oKe;*V4RH0_YBBuG8TOD>{PO z_HTdDQ`Tcmv47Wrv%UEuygPPYx)M=!N5ldWJhu7HZhV({pXkI=+Xl51Y4d ztTX1tiizymi7mjy>bLKZaD;@%qW-4*7^6lpL6?%e`cvKmW?Psf%arBt@!eZi*;ARz zc&QQB4+a0>YJ>S!V@M|q!QxG?;vScUtRp*WO|;{?L#cf<=67~^3tyHME<9x^{vdj* z_VwkV))b{QKK@8KrYDZHrw7h2HEyfTV%t-F%>KjWSnK#yc;t%_^`@bROHdcnh)-PR zh;b4`9^&y_wq-PU{?k)OA)bY2E}`DVeYfYxnzsWwzYcQqZc`k{)j;x4zo%Z?j=zV- z{HQymB&DJvxaBd1q0-h(SpU#3pGQrsm9xz%Jh!3-MOy_%Xb<>o{Adi#j-cIPg0)SD z?QU-EaAwnSDKTgcRY<&bpg>!A4o)SLfmLyro17o3V7j6FFkSvY39t-b_DS8RF05!Y z0|&P)oRZm}j*5-ri_AOM?6A761-}ZryV~RcF?rLQPA5BtmU04T z@a$BLAMIwdo`}+fztRMAc2#p(JH^F%sUG%(w3c_tOy#C1;s=Aj2R5Y^p+f7?WE0gd z+IUV6CIipS;RVjHU+It@%yDFdO@gvK{VZ-ciwGanr_WPw z0ddg^?h)HpPk_A?#AA?1^i;YJsO75P(&;w-@;&5{wyv-jGot6{E8fo@5`%#5tc*Ia z@mlx0pnw2_+Vg|Yv`-j|dNmY8{22_;j+ADi?wC)@RurV`H$<)0yJ>0@31@In#O9j6 zGOpquOsm#VqKRzzoEcT#Hr{?r{#?G#33kv2=8%MKe%%*Yclr4iIUFU&30cjrx&~kB zRgT5IWUSeGwX>`JcFw(8(rW$sK!p0EYRMc}T%Fz?Lf=USpzk|wmS+kUemaKN%x= zEI|>W?Zr6lk+R3bv3q?;CS?~!u>GdphlFVS(pB796XbUDM!h6%%Ugev5Bj|U^qQmN z?K`F3d9hI-C^empbdT{qDSz+2iah%@B)I{KF|tA3UkAXIr?+E8->~$BY<^HuhP#{i z$E^n1ob8m}YaMVvX{e|uNE%r$V}Y*)^2Igchg&&y4_)GpZD)@%HNAda`cc?_3Si7G z%vS2H3EC4=?ndqVnwGGPsRk3CnrK(5V>rK@F?H=1q_u5(DbZCPeJ^0mhgj&Ah& z5rteC21t}Rw2E)e%pKY$X$>V1ProkbTEM;Ddpc97#`8%%J@i^k-NKVkK15j#XntmQJcgL%l3wh`D{)!R(uC_+hq#MnjJ+)r0IJdHw6!Ojb6xpKtqT z6~b>F5{4sMR2cDIykvc)SqdCa@3r^6TulR6a#``^PXy$zJEwtD(&3WNl8D8NeY>A1 z!_LT7MVzV32exKgx znJGpCB?@63)aWP*7i#?-S2Rw7yOjA!2@NNc_!j^kjBIf1tUjzRkP!8mO`ti5Gam>F2j)4P6xH34T$7Eay%HSdL)Gw0v3HZ`l(9s&0 zQvZidxAjXI`a!5Hg(QhT37ndZ@kdHyyeZOHL5kZI|BsYE<_stN3w^m15z`?#>HpZz zmC}gF4+8w?|L?fvtBms}@qLU?Uh3ZkMEp;-TlD{BAMixeRJ#lOka!Yi^;D38;*fnz zy0Wc5K=s@RF<=IKimOx$oKOcPTUZwhO*~+c6YKQFo)der|MgiMQWhnHlu^vEGQ@5s zvQx6jW}#X@K?=xov@209wjpHhwiT*$PWbZLrx4CXMUcfO`saLW@ZJ*hDAr37JM@wV z+brt&uMy2kDXoFq%1t3#&dAF9b}5JzQ|rz1xjjV9+r5D}4?X z9k|&1xY%m`RJT)GrKyK-_{5He|7Hh0IGNxMNDvU_tmwp!HCmt>ISlx?fbBySFw-!Z zv{(T1+u3@vG+&*6;Nw9M^5$R?-GLZHqfe^7kOwfi^le;WTcHtiIk?`p2EeliJt zDja<(>9<|%GCei_h~q!)Z=FthXUU?q9R#!<^O-BB^0HSo8x&KIm&M&=m0^MWHW%ng z51eMoNPx*9X_KC5>&t*)R3ADp)(aY-JoPj**`Z}0nnV^=3#N>sLx3~zTf_j8PS!1P zm4SI(%v^_{mH4lTkLvrW)^|fegq~#8E2)y=;JTu0h!n&JagV&>gHg{25Hs%@wZ+P` zb6W}iH-0o!_#d(X7GV8zwus@SS|0;0_8+nz?9;?QBdL$*BLwrQ19KlD@qfmWr~_(H z@Oq05{+C4!ztPW0n>Mka{^{2WN=N}?{Qn;ZoVCM*nKxGw#t256V1Vf!Cy4Qlwe^Un%{zW*V1_?Y2-pzSa~Cmv9D;MN^m z?7YS56%R&D(B{!gzQZW_m#=}450TYe_8TN1N0L> zRVL^^aTqyf#N?DqwJPIp=s_J}9TyJVhz@#rH8b?sq%geo(7pA1Ky_PW_s!||iM5Uac3nFUzojiu z3z4isUz%G3LRl0}L6E5Vewh$z=4{d?V6!%<{|~Nu6BZ=T)vd#EJu;hGs)89X*{Fd( zID$%R*7t>mQIn;kw!ntHDIHn``1=%C*bF!m>yP8y7g0jI3@>n1{&x{>Pb)?-a}`r| zV3WQ2A3zeWGXq8>)|E7Q!bs#j}jv-5$2%~u3Uo|e=6{@D}{+E)db%DH-X0f zr-r}y2F?Dv(j~?{f3XZI9 zsuh&YCP&T4tjh5+X5ba|dmuWCra8O&zXhVRDuFx1?!Z;`pctH~Y3rKq(Ozq;4mc9V zP7q`~y2n_(GQOZEXE@ADia(%iS2D>1KaPGs^2K{%{e1I$=s#R~>E%83xD-9LJ=X)Q zYEuVuE7IODCZPUyvdA8pV*dTh{4^9#Gq9F(26q&+t4>ZY!lz4R(^!)!sk##<^|RTH6VmXS5^eH!zn&?(>1K!`H#Q zfBu^6w7tCd<$Kn5&|~+}(Tv~XkJag=ua(H^cvO3TiB#r|tK3`c%1VXk17 zLmfrPqq)j;NP+h2Gkd1&(&`$L`_P(Vf!k&NxfzEM`02w?k!6uqj}1r8inoI9?foX% z&3W5pH2v0N?OG`TdjU$uE2ZQXsBN#d6VaAIen@Z=McHdRFR{hvEwrb*z6r1vGb?+nP zShHK%j>24Ml+%p1Ea3nQG$MB2>FdYs9S*wtH;ghnB?QE9;~uf;U6{D!lwDI`XqHC^ z1lkjwKNtfLixN{ikFYbsrUPeeHz#6S|%31t{J zX&UjPh&NUMM_S`oS*_skk-nMpToHD?k&K^>sPQS*~-EcmaMiK3uC_$8R%?uIz)?7}Ig%qQ(q6 z!gMxk9RJddmPW9?Sb;_+4}h~LR+E?wSQ^h%!^fYJxpk-MHH?5vqS&c-=R=RnCs{HV zrb~$hrLSz+M`I#451zW`*AvU4d!Ce->#G_*5b3gM2x0N1$)>nSs~(A;OsV`SsA|k$==~3TU0oHnWC%%(TUip z*Y`k5;TkeIuPrpAIxE7b$z|3)qR4V(VUBNmE=yQAvmVO5&o4B^niXqeSs3wXl;&?_ z6HH}d!**jbxnzGiO2UICLH9gBJ`e*)ar?=cYMijE!=rm z?u{U}os6-_rAWE`@jc;7j>hgX272Bj=Jz}AjEl-^{pvgKi<5!Dk|Ob@h-_1BRdF&f z0h%QtyrS;Wr*G>`Wz>n^?Je+iA|m$DV`res*x6-fOjP<)$0Uoiu=GmLXxG=x9s)_a zl;!}>!-$n};yQ?!yNy5a&`(fS(KLL}Zsj>Kn9TVn8u!J!k`!^f+PSpMZfMUC8ud8Q zZWKX288ddqYh_oa$a?|zz%64sjko%Gm(icGNXFlFA7mUrEYY^1v2*+q8Jq8`?#Vl* zB<7j^g499p_vO5@axwxzMSwS}QBg^JBU@{lhMouRC)ujjiN6f?nRbe|!qT|hj)QsL zap|M$K^dih-xJR0Oz!JOY97fuI!7|_#hQWuxy#@H3=KUxu7h@9s$-|-fo_w{(p{=) zR+HNsoCdOjeOnJ2JQO5((7OB%JF4e7gg#l&w)_qUD#SU25SdWjm;7bP`gQsGbxGt_ zv{1b5>P#H>9^+_e_Xfp#8cY&rOzT?B%jbki95S8S1}FQVA|1<{Z<%Wv2Bmm>xOhY;8br7&ouC z7byh>$zcSDearP_e^$fF39r=CfPmogd5NgQMG9FyzdUKi#FzG8+maBC8q$uNKL zyfc{y!xEUpG61ybJe+}UMK_p$m?FE+|7e5yef>oWf?cg%ZX`edZR^1E$z zwMcdUFE{*vxTf=SyFoq>f4VJ!GXaVp_0Q)iZqaP5m>K~ZJ09-`xZMr$_M;%3+$X34 z0$KLI8p^-DAh_HDa1FA_c^w1l-N<6gI`1^DV!E!d!6*cp{bwe3)B8wKb#kucj{5sw z5@T!1BU7hXgZ*ou-Fk8lZN^Q#HR!?jjxqILkC$Pp5(4~KGGi;Jtsf6y)qkGuHXlaF zb#vJFf#Bl!KxPjinKP=Ip;Jm&@E-E>9`26h+@yWruP?D>f|s**e;7p#66~zS)u{q>!hHnzz{Tsc3TW}K0+9FB*Q|FuA}Ghask*1$YZ8#o zn@Q@(2s=!SaNj$&@v#PQq0^1;(O&Dsd9K(k2qEeQ7~tk${ock=Lw#+nSy_ocIIMfd z%^K3TZQ1DXhh0AiY&$6Vc12(l-kiL8ruV}W8d}Ahdhxc=SKOVFtQ|NSZvTHQ_2=@Ayx8@CRwC3x zDjSY*_e*Tr8c;V|mRML{eLK6o6GGiAnH#+K^9DGHyahE8$~)^eoV8D;b6}fX3P_wi#&z{Ze;+zm zOqPEO36i6nuv4Fax*W#ra>lYTUYb4R!Y8sVcbd99m?FTm%IH!ozt${&%Kqv!sL;7K zX8v}A+-5KRMyg8c-@C6N&mSQ`^%Sib|L8;B>wLrY+NCl3WnXCzsV;xBC3!X@IZc1T zH7+(W1G4a&kv&{EOdg+@i}Pd*cN-RqKw4(wCE9w7k=C$4vXqYKZ4st$@^KlbS$bj% zTcwddBLs{lW|mxyxmG)ZX|^Sn9*p(RL$}4kQ^BUYPp$B*I(2iOI^lqSKFwq5LS)qh zG_V=QZgqz0Il`9DW!EXLsRyR9VZGURhsUyT{eYG5j+*-rjtW zAiL${D2eUu%eHS-Pl%{uFngByon^#&5nSsLzH|%-gizqzyB|X_<4qFZ6r#~rS zi+l79MnfKaE@S&XQk*v!2QVGWsJh|k1xyZazb4w_$?d|_%Bk6y2Nd`ObzC+HY=!s# zOd}}54KE{Jh{pOX`A$M8*!sFl`$15N7d~vc8aJUr`0Z)@BAC&%LGtK2MO3(k1u+eb z3GI6WE9ve^n1~=&-v}#MawzDJPxxX^32~H?u9y-AU`S(y^{7o`EBLc?^db7!VneVU zAws0t(bEE34AoBH5OZgymDJE0M!c9q5?~&q#@tYd{r;f46x{OqBQYA=o3IECx`eX+5|@kBs}sF z(4nb9+KqOGc>ReNnlyei3rxsx;qAa_GrA3SP_BSx?!d^+2494ve+ZtnX2sKQs%WRp zsPqrC=C!O2A$-fhc?smHrF>O_m2BUORrc>aQ z=z*cu=hI4RB&AR=g$T=FHS#ogh!#vMn8`~6@vn9h!gx_Mx1lm5TPX2x(8Ofmzmf|n zgG0G|$mW3*7!-+lTLoHH3=~rPQ236_pPY}PGe=*EhdcvI1KhvFdM*(Q=kAag!52Rq zZtnQ*5Zt2k@<{FVrLt(_f_sg14H}}Fsyce&$9%IQCCH`Q{FrORAfdmrXCOp6eJGFp zagX8_O!RV6#WQ0^L_^jIebfcQi4vv26saD9G|~A}M+yre)s$ktRcRwc-bQTESfyyt z{zSxQxMC~w;9S8l(I*c_Yu`rH)WEaF4^*rS;OO#n7or9bpT$uJeZzNXYXsdh=@D|> zf@sHAbGVw*XLx*bWU$C6rQrNg`ryAYWgaxpwrcXq>fs{cCvHrLB()wtDL3)OvUcx zy&ZD&D|)X9iSk#p!3qzykCPX8t?yPZ=nzM`D67cwr5@S9?bgmCx_#H>v&FA$gY3{V zzxP8hr`}%tdWNnOMEmCvqUla>_d6p;H?K`_c6pFHvG?6yAXInLK3E*|`S3HEmwAqZ zwF+Gp7LsvSZUTWH!S_=M4D^3-|9E%y9+dwyBkz56rH90M*28lubR4dcy#Eeb(1~ zrZLG#78~8e=z$nud1w8_AiQvE+aa(o*fHYu?13UZ!H}ef{`lm_I+4XS6_NqdFm$h4 zDk=9TjIfDQ3VoS1XdWIOHI`5_gV>`;UfW1!>>G z!wtQHQVYnLo&%MLqhSJ4N+boo`sIH9(U}0+--+W3x;bhA3$d{4tfz^Di<87V(fL`N zEGCAtgWZ&A6(;h&Uv&{F4!T!=6JDWfxoq%uB6+Jmz-a+b*L4OlOLn*=AMTdagQi5n zBOy4Ji88R9xD@%bMS~-?cSxdRDu<4@jMvs${{WXhn4jeu1!k+WBi3-+SW@ZQy!*Uv zlBu`&ZA4qdhZp2u@7{1-8MxUL-+C5EZ<#wRJ2I^|kki&N76Sy4Sg8frN5d2cXbDAn zAXjcjqA%DC!m3Tbm*c=hPCf5r7acsp^_Cq;+<-|awhD(D6v~bJcKb*U8&Q=OxypW) zUEQXInIH3&L3tU5v#NV`U0)-=K&0CVmqc74RdZ zC`_`r2@SK(om^)7D6=qUvLbx0>I`vwsc)+&_tT<7&|dSx`4MEY9sdMr@c*EF#W3W7jVLrEIy&!^WmK#WVTq#9}& zGsXvqz1{TbRCnDt(^d6;G{huqfaI@wm#d}UTH6H^Q$xYj0RuqMsk$X7R=XLy6sU$s zvxE(SY2t*VJRq|)I?Z}EAjaDbu0c&`1FR*&^u=6&#?U^qJF-5B(|r*Lqg3FY$fL-m z~-1COR4AB zYzGb4Lfbr!Cu=57C#?63mu=#IME!as zTU-=DWCMtNab&kDL~RqYl$gJl;|4XKXL&SZ^ooTz{T5?^RXk?Y9=D z6p-d<<~q>I2R+ytMBNg+zkDa*Oi=6mR_S%8ft#A&_M;`~_N!g2tW4lJ#WqH&h9Ub< z@YkC0G>z5l{D*{d9qw4sd(ns|^V2ZXvDN0zx<}-xsa3Wz{H+Jr@?L6m zcMiJ)z8|r879z`-k_!A-KPhOP!I>{qIw$MJkZwt^bRItIEOiM~NVY^ph1w&=9iusV%OZwLN)j82a@RJx=8?U%#H6y&zyxY%`JKm~lOL_j0*RB??voU9ohR7C0y7n5 zHGH3s%vQVyuWaX#O=BWBU&b-@5WSV!eL6k|6vE1VBZw4iW^0MzkP{awpYx>tUhq{x znaSh?%9UDHQdk2%ymw5l8txHaZ&)0(6<+VO#T7sUPfIURcDZZcg$Nq8KQ)Kbb*RA< ze2KZV5hV}DlX*^G-4fkZGaz05Z343Mo~CoRmJW?Xw&oql=x26lc{k?@_Q-psWJei6 zRdb`21fR~_Edsw(VCy4u&i5r&6T!g`*>$TEi{6Z>1)aNqrF*-*`Iq@9zdaVx2A3nw zjc*Sl88hbfl{>USx5>Vk>Wm%F6g4>n^!mMNt3#ngrTyZB*MdU7c7B$Db7w~-=m2z0 zv1lJ1W>krFN{+#?`I3k_Eu??gbNLzGZkukHn~b1-OFD!DqOr zH-)O5gBXs8_puu@q9{hJ$At^bR#jff4)<4no`DY)L6!@n1+-33t&hgn632tgxZ+xo z3UJO3ASQ>C-43;ddtwmyI8{f{;gL62+LL`mTuiXQ@VWqDUMi(cQDnPPqLB}Cl9AX*B2tNF1LX&cMXF8WooQS?_iC@L64d&Btst`boB)m z_vCgiM!`8d-=SaqP@;s;&YapP?}onm5usoyfmTjJpSzfrHT1J8_DMua&37cHg>MaZ zNuzX4HhYdGA=V%_hZm!!@y z|HKK$R34LB8)f0DlWPL;VME19bc5kQ730c4PuQm_8lJ0`TR=kykFoy2F-dVmg1%2) z?6f~A2u>x66TodI&xV>v5h#R)cb$Z(x(LmUUIZKU43cAswFowa85SC3bh=dbc~PA5 zBP|JZR`@_6v{kW97$^B1u{bM3k)`lA!1xT;Ab9|6Qdz%OpObA|i!@yk?kY^Vkj!Aa3^ zWz;@fHOEQYhnkMY+NK2gQ@tJA5QeEFS+RZ^O;&Q)U*Y6Z+sz3smEY>b-_WecBgbimdQS3rJ^5I{aJDxYj_| z5!I#k$)||dT!bfr@N!Ij-T-|q@<51H)Od@HBF=DcoZg2ZHciuY@R2nKF_2eq4k@j^V52PgVZU7=4C&2L_L!39?I7qBZ1X4)f3%bMR3Ek zE0M#ks@^-$qhMbB$YyIBhs?8hxjwBeYa@^X?34r|Qd$zgpfF;Fe++KGtFj#wU zRy16@8>!rNdzSG@6}!?cQYEgtD7iGCBx318C@9|xAe@YTrdVJHAyzJHmvBG0nrka%8*R0>dm!jtV7s2_=~^XzX{ z6lITN?Qtl`_DNbDAS+bdXXuhxUnJDI*T{ zkYMzc%x;bj`619(BqGRVYsF49Kb6okl3hw)!;(X8d?DsJ`Nb@-disETq7Szk#C4Sa zQ1$&24b@Y4MPuZE-Sb^?%$P4ed4Kb6v$@%MCdu~W2_(E;B;S)q^st%NLD)2n*umDW zw1lRn9rZ(;NlQmxs8YwWp3Eb6>Bcx82f{XoTikMKC5(#Ai|3{j`a+`}R-M}RQa7Rp z%r}&%(~2+THKY$!@MS+!$=j9ir;LtE2fYmYO(A<29(vqjxr90&D<|SRvIztrOz88v zTr_QVsb~b}9VY~7_l|P3t4gY@O{B;^c{p&KjDZ*|`c`wLys)DyhX---|Cn^e*mja4 zD%{J+9V~g{Eig&{u6##i4&eUoK7+I{F=>}KnIIL?SiZNvn4K-@_@nea_je7)~zu~lVM@jY&>*6FqjY;Z)!A|pe zGX}#iEwsuaB>6X^gj{DB3 z_QS`4!^#xdgEX^QLk$-E_5MPH+VwP>N?qw9FmXIIm-bd}g5mkddIu_D4)O&>aHrbl z2{C$C*Y@wq9dOIS(9LjCr9oV4b|D`Z5G0&*DR0FAYPu0Hcmqvb9K};Pai`89wpOcI z^}fBjSAjI}c)IEdk9OJFX$-Lrc(t3YYR7K1>*}myq7qJ_moK7$coZ4Z2^2e45vTs< z%dKmzzXm4aTSR}rspn+M2B$d~tbPm5XGC?D#gW@FhQp~097C!a`gl{W*nN|VtqdGE9Z5=uv%=lLboGxjM7Vhl|?rp*|&9fgCpN5PI5MNnM;F&MQ-8vi}q)G!Gajjc?%mBks&u8CH zF2=z3L3N|4>6D9mc_i0RU)h-pb0b6qvPNjXWSgcn2G6E7h*=W9Vb0?rpW!aa#DfpK zS;Cz}taH{N(&vSFF7{}j~w zvbj>J+nivdMEV#O;UaVq-n`FiK!6SfJBbFf%?7j1rYU1xFS<X|zaS0f9ax6a;6V!4C3?h*t~llN+UkpP!U=+F+uV&+mJ~Y<|+&`pydGf!^M@ zBo2U6o`Az$fDpPIuF}cTTmAX;Rmj2>+f6mhFO<(;Ek2&Fuu>ugX85+&GpKUv0sT#urB;6R?)%<#}9Sy*IXw#RcULGB_-- zZ$ocM_7efMuncl;zwDmdRt7=8;ypONiNBlnD{c%9WGo_0dvO!Km33CV#O|^0UP3+# z=zPL$iSL&1sBRcfn>(yQLU+o#CZqIc@*_~2Uj zwj8W{4}Dv@alCClXWxf(oIlobi94N)?un_qlmbmv1^L!ANi&r7)@@F4Dt{+^lsVLK zZdUG_32rfx4KMB)GHXfaM7~hTjy9(en9nS+3JC^IQglbPP#LNC_l*0M1h@jIOv7@~C9~Oj zz);G9d0#C@Oezm|Mn51(vtFH|8*Ftvh&DywdVD~f^3n3z`AR!}$ zH=T`Fod>}mFg9NmJV9gDeI0VfY#CU?I*C$RZwzi90rMUz4u#O?CNvB2UcjVEtl=U} z?%@Z8uo%1ZOSn@AC(1zLrI*XV$YNvOwlGqLQ}%ShC;b!w&%Y*G2-qf3JtavTrLK`3wEo<@O&gFV)?<3yF_5r2W$5N zj|+2A!hw1QfuY@hH3|t>TCQje+?7VaeHzY?Elpl zBak17>u7HU_KTMF2r5718w5wgr5s-4^kbiuDOF*3eFRJaM2suGDu$JZVNL$tZZyp< zBA;ZX(c1lyjXViG@<QlWFk&x!hTNPb zeZpKQG?w_#IYL(lDc}|r8I0wM7jmHqqsoj>SOoXzuIR*;7&|eru!VKt-@D;w85oPH zG6t8-vA)Gz!|F1IYOK&^e#PsGrh=rgXg#U%{PMjME> zjx2IxP7`lDM&E~GqWwMfFD(2rG*IZn?$E|X{0}CU`}p#x{X-Y#3EzIkJU^G*$xw*t zP1!so3l>`)@GyHV&UD$Lcci#`r~$lv=Boyt)pF@|TR-Z!n6jjdP+PU+L zVWU@gO@^RT3`>S!Q2d!JR5bXxLed;XyejPE;4fg`7o)EBxOR=?3V)EN zCD$E|GBLwTKqe<}%QyXN*g4J0v*_5ObEJdF>KW(4=|UpQ-`pqXC9yPb zj_~L$Y2nR}WtFRK{^5)2VFtdXr`|DcR@J~G`{Q8S# z>o?S?P?K9jXaa$Yt8-36AC|e3uPJUaPfo{KH;1VQ&90=YIZT8FIlZP-7CkXDzuGgu zx!jIag^dtV+w*4c)W=;M{(6rlnxb-1p~ZK|9X-`hB^FVPkA65?AM5rV_w+F`ac+L} zl3>EWbO6g;e*8IIps*f6^!*zJkq=ySyeumUS}5X6PI6Z<&Qe9Qh8I06NhN)!D8Gd3 zBePj|EqgC((sG@Q$qhxtuVoOXMm2lTQ0NV^u*)v(XH%; z#wTy$80XX53t&VJaG)~Ujz06mt~Xz6^zYXll4Zl^Xq(r{Z&_1jX69gbk1JYo`-e_I zAk(9Eo7dCGrjGkT*QP6e8}sg6qLcwh*XFnLc#WWVWX-!uw84X+hoa@~?m_4*6IE8` z+X)+AkNncTz3c0#l@N@SbJN&2H=Igp2Uy^%`{N1ClNB1US?qW-LuRI>gT`&LdIs1Q$ z;%Tw93=9A4&PUh*01*CH6jwB`HMX<)kLP)}mao%>#KMnnLo;%zUooQPgXPEKT{GoNa`d#MoWq{!$~%r3mypSPR@!zxpsvvA`RY(`08 z_InqKJKpqhk+*PrlQ2dh$wP1{#7c^|nunnQIa9;(MfEdLiY<3c(!#XAG15q%`%OFg ze4LWvW#z;tj*yyZWTp?QkOw&=akGALl|eZWsATmqDTW0`@+wS#lw&{!!u1o<5*^-44sA77e#{($_%Ignw*Iq3AWDpi(XJk!#n;qq>dc%V~GCFn%+M644P zgmYri6>6NA_6E45TUxz_ zZOr_FH3eac!XV0jR6U{B7=Om%zdUES4wsRBAd&LrvN!u31uYZ%eNMwDJ$Lgb(Zn{Q z{pAbtTcvA=0vEg|oi+Fr`Q0I7FF!xD2Fe0$WicQd16BQAV3>R{J*nu(VTh6llstU` zhF4>1PpBC6oviVK1H@|hkp~u)>C~5kJ)fM#q##g$-aNeqjyG4;O!m(W`6w2jfYc#s zq&#`t)*s}Pcu=vYO|?O}f>+h1TE6hz4mC5G`S(kg zUS^Ci-P~~(`da!9T%Oy1Wf)!jm%81^b_}l->_L=zuAu}xSB#5M+O5n40jb$P=bSz* zyUz3-gK{!tFD=|%L>qRV-t%ay*FSZhA3p`#=&QG%tKEX&hFShkDz6td_*q=3*_HXg zGwx(u_;Low&gyGEqm2`X7HHT=(=w=!cBxH-$f#Xcvg?L`NNe?#$*ciDd2xUODm%q2^^D-H1ZGu0h@)un&eaGf&> zwr}AiIPE^Wr8?CW8BL$l5KeSmXh;=(|E4ko`SjvDLlqoUE%pHLTCb~^XsKm>S39K4;03 z_8QYbMe_0SeAV+z$Bglyu$W0AWjAR?4iC&D<~ZQlJM-9>7)e9({f+y!Hy!6e08%BP zyGqQ`btisHoDUQbYY#h&DGsw{QXwIVwsXj_4i^}a5CRlc8ZS3OnrzoRdmAC^Ww{6b z)w3^0Z8n69#;Tml-e>*yXJeH!0K_{msk3JCmUS4`7E!GWU*=chS4B}h?+3~sNBjv= zG=$wB7UqNA8x6xEb1_Rp7{+4snc+l^io@5*COR6O5{l?n!X)DIs{?04DQG!4;Pu~L zNTTYm`k|PeAa)5|v$$xcO|*;-d1HSHjs-=1`b+fE0k#?L0NqF)7oPYf!+4-}-Z3Fy zQ|}9HHJRIbg)S%aCBJM{`YpFQhzQiDaqGB*8^uSI_QVHg2~i}Ob;cs}R_R0%dAXLQ zU^j;nDszvb*zNKBXNjRlEWMG+0L&FacMTM>lc1Eyf;$g{B|E(Rc0^Mg5^27-C_1%h zf>H^}&oj<2?-fH}%c(JTd? z$i2XtMjQg4dWIq{90aiuMHgE$N*r(}ms*J?5fOdA>?e=bmY_}tuCV^1L^NTl3VJak zV9h6Q;5=igcZ5oC1{rw8*rk&5()P-^KEVbpozZ+PKRtUs^vWsJhGk`R9vqKBZB0lH zhtt?row|X({lV$9T;)`#)PEGp$f%4R1VmH)6EqA;$E49^m=K5{KOV-*!V)&;R@wb? z0@3Qwnt)Pun$cJ=7IML(eDa(twMIG$O$X7y_IZRtJ^D*)?7ozrm%u_)^lALXHc_`8 zoIkbHYp3|gNZdY-O|U0D%%;3l{E$@eA=}CY4zy3hBrwaY$Ri+pfrXlf@g|p2TCYoc z*g0aadNCcQ^g>7uJ_mWrXDZ3ZBBEOYm?j$VeAM67ZcI*ob4-h2+iA>VpMa-j;G#zq z5o=Q!hmem6D+!^`6HGGD8uqL1Qp4PNje|ov%4J`iI>kCJ&Id%v%Y!GQVt_x*rrV)` zvsfr#$uKXKvOtQX;6s@kWKf9U1xTy7M;=9lj}o_a$> zSe=Wt{{eo599ry`6hTnR!{IFt09q8mk0#K1TrLCVa(r%VDC4h7F}e2f`dBc6@NCtE zew+mA-(ZO{ft^46ad+YL5bUq+{?R-dCcFWraWp7q$M66%ePuEVMyoqTHxL*L{{&h&m3NAS8_!6e@GlEd}`=|^m-a< zTO%aVNR6mItiq;yXmJ#5#UX|*B!+oL83KXmsJlufvJwk;vTb%WF9dxiZNjm@v1!9t z;HUuada>_ZhwlraHWL(KL8g*BgfLrVB<8DIghsU*7>>;Zppy)?xQvy=Bux{0hxJgD zsEOpwpIDMX*0Rc@c-;dnnDndq<(whLN2o&AeOAbc*9^4@K1AArs0K9$1O=+F^X~Lz z`{*uztm0A^$=<+%I>rn^pvzUQbMT6#7c)xd@iC;c7nBZXW_@iI4vr{*gnq(F;F-cpl<`Mau1HWSNIA z&kW`gj@l3Y(b+*{)951#I~iC)WLZOQ+iW$=AJF1oA#`H`cAz%OMJmv+6LCyOr4|@o zLNVq|AFILySCTkPvwXQS2?vCAUdc_`nW1Itmp%r>Cl>=n)|AL&&9q4AukADgWu`jJ zh{7JPLTAoBpvx2FRRu&EtcFU7en2YLNEj)lL^Wb^03i_Z5dUYeX1M`@{=5#07R_Z} zWpFWb1icsNL(}F%xq=VfVsX!M06xuU(61ZZP4R?@&M?*_w5Ofau<)f_2cR*jibux_WpXtCk?_~)n+@xj-Qjv zlZj^1GLqTeS#kC&(qwJ*9qM+HQuh>}svwGWM>4lP`%zII*uk{jp2}ezG*kG5Ay;PDfcB3x;CCZ6Z>Ud-ewI6gWs6tdt|H4jWQ)%JzFloso#zb(MvYDWa@b@s`{L z6D%wSVo7XO!G^tBnPNu-*~(J$%fBluMy%JLt~RcJHZ1H*~TUN{}^rxNcT%W8SIMP8(%>4Tdk`O&xn< zdo}_gyRleDlw)!~cwf1Vn2Te4cYWVOS%q2>Ld~qVQ}smCd75R}~_u35qS@$oiUV#PQ&Wzj{<^S_{Fl{5mZ1*B(_^DP=Fa7*>RZp-s=hgfdA@tj{+Pk{v$1~$&&}E6= z`^AQ9V5oLMVdm`h5+bQ(h2Uwu7*S5f7>k4(O;V=~F}KCKn)fd;E9?YuaC&IfM{$`fIG)- z4gl6)yb#U)D{kAh3|t3lj6%A?%mRPS&r%cyVGQHFz{d}MjrG6O%#oF!?@(&D zk4Cz`a0Ok{sPe7IZ#DlA@9Z`xs9rG*chQ$%AQox)9NgaRPW%D8w(X64qHrox(W6Qnxx+oY(*P(AWN-lkx7UAFME;(;?Rox6B1 zA4g8ji5c!XCHTXZTucgk@_1F~8#lOI zWVE@w5|qiz3I^6*2}g%|H(jv?H%)@VlP=}FJkOo7U0ubf0)w>|AerIU&XBG=i{f}3 z)pcbY?1$pdsy1)4gs$YQCOo3gXk=TuH>6Lz3eQw}0QMQ^&5p&f4_j@&yH}|vw0e(W zOs=g+)oTW^u+e^j|2zM+=6SXWiU|PFW(@Fuj87DWnf{afy82H~$VkGjp32W4k2rP& zqv(BH*Nd*PxdXm~C(0G0r1jrkJd_y8fulFYg05bpuWqqSv>jX_E5xBRT zoEyApU+Qi(T4n9e{W8C6@ApfkZSJIbonDc@ib7u{(JnLQSY) zEXCDj)rplF2-DMQKg!yMKZ+~GNzdiS>%IdJh3k-At<(*N$vlv(dh=^$0U7*C+E89dQ6#bVc;=3X4A4J+L`L-F7xjd8PnWHaLg$aOaZS3hUJ|Ig2lqlf#1Xqx|;)t?UEKjnwEIKbycd~Jp%`X{` z3oW7Ask8&`;(gl!T5o<_=junPOLgrr{qvwRc0e$o-idK=2jn#YV^zdQfds-*Xzn)u zF#w~D9q@V}IU@-fqP-J$cKy%t-VcE!zzl2LkH@ndoalL!ke{V`|B|%#MHj4Or_o^d zwGcm~Svu5_MkdA#$xYIT81g$0FO4nk`2js~3^|28X-=|rD+(#Eb(fTwgMc%Cr^YZL zqA@}R!gOlG^VuxUpX8zgOJ0X;dj&*h@Nu~nM3@i`j%3}jMx#}D5egkN_%e<>;PdQ1 zh3-u35_ggsVW!tE|l79HPmEGF<+Qo1dbdyR_J*o1|Sam0%Gd@B8BBS z^IS3zYIZaZoL73^OL!WF_LOvDgZSXQmE<|i^!uNU5pNdu&!%rLe*lKcynUVi1+)ZJ*?Dnm?n%Q%;eY6V=eFRoI6>a0kh-hgyiK_+PY%ab?Xm{c2z|hko6oMDc zf}egP+BeKpJyufLhcFs^L+A}1XTF?MHV}JUx8{vQn4oU&56>3%zuMIdW$s(d2K2{( zBDHXrqBR18c9vfEYluE=m|fq}4qyQl$7iJ07af$cqrnmHvVC3Z!iJodDZ07)um;qk z&bd1$=l!y@HBlAtVrdsRd=&0uQb&@3RS_ZrZ8=3!=D*9(148)tdRmZ*h|XH(0`c0f z|DCBWZ`6}Bu-tv?2cHSyX=x~JeThb~2sv`_gneZ8vvxH&eCkFu>p30oiy4|+et4dW zxv~%bTgIhhf8$YIk`q=r@cr$*tk;i_j9dW&MY0v#-cs13T(1oQI8P}1mxK%)6ihDy z$M{uVHlIy7eGdm>qJms9R;RlKPT4{~nu|@TNa{^g8aGK>T4&4+3X|&ch2KJ-W>;7Y zvQ>)GwOkvm7f@f*Wuyn3xgiMsu;Nic^6vTabiz-mET53Pf)YMhvBZ>*FJ@A({mxRG zYvRw4I(KCKP>no794X`C9?0#7)fE_nhGpWHqN3qOIW$0)VSF=j+0g5qc-aNy-%-5+ zsx(K+Z_XX*9p~W+bu3?PA6+eCZEmgwx1{0sT4e7SB{rcBZyEx$M4lY z3l7Z=5KooS#KojZdZUT@-}AHRYUW}0>vd+)fM9=U;YWbgxpECrCWEJN-g1~hKLymC zy?$RFsgoQrjbL*DkdQP%*4cxDK!r%UHO!42l7ltiyadI>ox+sPw?!h`W(^L9 z2q4Q+4C1%$8O5E?zNnPaxVim+fLxeJ<4zv>+5?fWVs9V7ht~c`_9N}zfof7yQ?_{5 zO}J}UZK8zHR~$>OCp{otG`KyQ1%V7;lVS_uU+ghCdR|vwVLqiE&yvx`Tnx)%uT*Z4 zpPvMN9fqO=wY9F&HN7F2zWOjA15CjMCa@#dW}-0$-*G0MONFnj<2r;DC<1WM5qdaz88S!me4b!!j#fbGoV) zETEt}DSI1$GYF?U@`8ia7y8p$G{M87lbkMl)-rF#T88{%-Z?Y%P}lK`&sc^icS+zU zE7&+7tfHtbi|*LsioAl2iWMk!sp2ntO;Fdo@Z>%eXl#%#O%dzW+rZm_k345M{;sm! zG>}nV=v&d)LQ%IAG^v+tSB_v-Psvp(upsWy*@9b|~8p4$g^_Na@! zyU8j;40A7VZ6z8zDYvJJ+x|AegSrXN60oV!V6@Mw96*B zKoWzSP&&`FE%?O!q)Yt4d(b(mnW$t*^77-4S;?|y_8fkT2rbzaBN4)Tpvw%LCkLoX z{@f`YN`_P=c=pLNPr;C38pl4i_xZF#9wUCGG-J&(V9V5~9c}(1(Fqo= zLmsU;R6N`mIM-Pc!waV$BMrw-WEk%dGd5t8kZ+*bEE?t_RE}t$Xfp|v7#B(+xp}01 zxFoJGu&@t6Z~(i=p~EDbTZ)QI*r?93W9o*` zA2`)?P%)$td_7JYJLTBtlz2E%rK)#vnEFA{vouQod@tqwrHJ3VBwiI8rADVM1kc0c zMlv0I6DV~K@@%L1#kI2?c&R75eZAC`CA$76D+cbM$oL4kK{4==zcWonrpW!lQPeim z!r!cBf>1gLL8W8wj!!X$fsArh)h6cA*Z|$>=AgxZKe6~6Y4)GFGzaEG*9s6!R*qbY zc2}Fa)Ac3dXidry{1nr)q#rdRxoeC7t45QgCi`Sl@i86UsCFBtg1yrKt^DlKnz0fy z)Muo$0=aG$MH}Ts=Ey!=bRy3ztE|Y@p2I&V1dWo-U$n=p1M6|hfKSXD`!>3!srD74 zcnRg2YM$NphDVyi536)8$HL)g(o}d`f_65C&Aw~Z5<2_UQJY!9^MUQ)2|}J%$`no0 zv1Z6OiOKP-B#vSy(gUcp@|G-eD;%(_-*JwtPOK}enm?wmlO`FJz@_V4PN(X}Xki9Z z7Q^MqnSio^TjTa7rzh>Y%HeSCboO?$c*aU~FgSQui_#6p2V+WUlPnJVXkn48uWaI? zF8-VFH<0b#$5=z%?6s^f()^B}6V0*IaO`mvt*10HTrJZ~HV&4Cf%XaHbX#JM%p=o~ zO~PCSnj7}UNC2(6+Gg$a$5gu$EcGa~+I;TygOj;fYP_~Zf48Opwu0;}PF!OukzO~q zHtr)z%w&z5efFDS2rEh=k%`6W+aV{?_u&f0qXAbvZi4=f4}OEu_cP&wwyJCuJpPGW z4e3(fbCq(5O4m&?12@CC$qwUtjrg~vc-H3({)*Jqx9`(a8^P4$)H(v4BAiI<=Dk(w z;5oj{+UlzP-JaU08KtJZ>uKrM9J%S%?}7C$*pu*T95jl>8y*@dMOx|LWk6&Nojyq+aq+ne5t7n%UezSx}J8?&N+evKTA@@MQItaj-A(lIrsFy@wO-8uzut$13a9SYG*Vi4qJ_BoTc>8Z~>=9XwNFhPDy!B+}QtiD+;resJiC%j^?23fC zyV?+MUEkFx{JI3A8_+*b8uc?_kfVOtu#7n2Rr+r~KVDq82ALr_8T}0r9FHxKShU?f z#SJYZK_L0OGz4IO!nGquR8(~X2DyW2Na)KP=p&y>U=aA%+s6xLY!el8M-Qjc4UP~ac8n*L+KsM(Ve^D@%9)4dFn7* zk}k%P=P@*-2RrGj<&tqlIk`rXG)@QT2oNZR)i_tT^E^<{S(MmND_DXY8Vej%)`qGM z#OK}nL3;lN0_PSE$f0`o7rnV*e$Ra9+ye2bPr7KeqN?IJ*WFTyk>dg zJ1z&;h$*H69ewvl69|RyL(`IgUHXm^I^0x;OB*X|i~y9vy2NtCj~@ls+pZ2y!$5+EnVH06&zOhr*05fH%PPMRMtY!dTp1)A z^Fk677TxB{rG|6bRX1nR(pkp(mw{mB*gRu35V0UUC8iQLD59rS`9#yNCj2Bn!lv*! z?#HSVaX>R{*+x{H03SuxKX}A4fXa=S!uC>?fyR-t{mkVs@iql(!It$dj*4ya6lHMo z&x-(iLMA{%=!z8A6s>?*V+eMPStRlD1fPRPf@v^*4XFj)lsn9{U#305{VR#Nglo!C zULJL*I77aQb;rV#=r--{Q(#&T9L|5Pe&w1_A%A-X?yYD(y?29l<^*)RvbnTVq7KnanE^rzLhtd)xCp$CZTtvmRGvp6QK{w zYtLrAn*VDU+tXO?g8DEN4)QQc7W=zv^ZoF}`GU5|p*>23$1<^on#Xvj)g7f*FLUu~ z-~w?iMYmyf@QVBa?5*6L+^MZ5eK{nOJ@#CTTSE*H7TeP8K>Q#%afK&2bDt#aKZ~69f<^M?^iSSr1$58 z#Z`Y<()h>#S?u3yb|MA5@=aBEvfaCj*+We>dou*z?n{&x6*4og63dLlIC2d?0Q z*j(gAhYB2WV#_VM@gxKZ|DBP4~e+MdWe=V-tOE zGT-I+1n&F8M3pLIv3@B}lJ2Q~jKTKcjrA2~9}9D)C4fv@{sdAstCSpD%x|gnaZ~xY zxwiPUhuF#ep%~VPU%>dCcSk4X2Gt(>tcTIm2BWZh#E*7Ua8>II?!u?W1VxP)TTXM6 zIn_~~L9r*i9ko0<9iM&ow7b8YEinrl5l42Wn`okGpRb6@fJUN4=MTtutWUYe7o2XF zsHBE3{P{%wBIR=$nSH#3PGtT_+1{3_d(g(C%F(Kw@q22 zqu~A|AXD_XFs1nxQJQ~Qs~0o~b4y&ruKjA;Lvky3NF0ndCV0k_bCXZZEP1hYYnU`) zRgpku_tl#2nha+@_~Uy1k<|(v-LEcztYa8f!$d^o~7!e~68l zjU>SzvPQS%B){p%>Og!xnj-MYW5e}?Xm{lB+Ef>ax%1G!YhS1b(iJagE-$`0Pl;V! z4N1+y6OVZF!&Ov3uz8V#aQkDv^dmfVjgVJU3AQ|wF{@8=jO42ZRRZvHu+z z`nmkQIt_MH@H1brElUt`|N7`oE<$Iqc@*mbTU&Hj&Fe>R1qZHr7|aZ2a(3!dmn7r0 zOKbPIvg|6`%4CbRBrlFdJ!0{{e7!18Irw5*)xuL_00@ND=`6R-#XnmiV z;q6YhU)Xai3j0Uw$?Iit{Gb-M=4#!QOC3?hJZs?)fum$PhNG`F@=<}!8?KCN?-pL@ z?y5@IQJ9b6Z4?yvJv&_bw1~>1OQ!q?LVP!PuF)sup;Nj3(u+_44-W*YJ*^}H-ycvJ zs6bvJvgiuR--pvbUsi-t<6tkONAn;lN}^BAi;o;?;BE`fN4fL|CW0&$5#OMIl;ajLaDKh>qXW?SHI<&Jc6k@CX%q4nFSt`)5;{^l zxyr}-_71b|i|tk5{z2#O`LT8aR)_(ESMm)LOb{j%bxl8DhhcvR>gG=Nm!kH2zM6K3 z@2a{Z?q+;Jt%WX4#=x{$WS;$FrKn8Xd$k>2>n@vx*C5%ZH~;esx%P$nalw*fR&>JV zm^fjjP^gzIl#A4B6&)%jn|v~RURZUV1wfslYT(+qzgTiBlvN~< zIkhQkS2m7$5V>-n7K)!PW2OJ?kpOW>q0oK-AY5!JS&}dU`y>ik2n`xwISeD8w|-7p5rxX<2gQ5k#vajck2km}NeNF2VRyZ(+0z0yOA6tl@-s21U>xEhfk^*wSm_;lzK5D@-6KYUmbP#!Wa5~>m`+Rmik>V z006IK|E-s>{6{Zo#NAY5d)~~GPUI}mPZ^5aI^atj!kj-!ev+!dS zD!>{~yK?aLyv@e!MtG~Y;EbW2-fF*H)qXfx9d^F|4?t`6?Y#81H!wF3JJhS!a~<@b zb&1!^cbF*A9U+GB?UhNkKFU_}5z>ilo2CdWf{}i!w7d1uJr=|6urI+^SSa7)3d1r% zSP73d)Ht)X$X!Y((kp3~GKTK4WV8{y5M3aLa~uscCj;bR-(x^Ak1U`8zK`!Iq%YVa zg(eO=*5q*mAAAqgtkE+;77Lnz{b05P8;RS2yh!DUAsJRr5-hv%p}FtKfySPb?=B+r zkwb3q42H!G{#P;Hw&>hdwvKa+=iCz+U{21=Eqmgzk2j^MVZToP`GOYka%dcWVzkl1 zsrLl;H5AHpBH+}Q{&`{$WIsXCXsU}}e^Mb)nn)x8i+D6RVPqThJy5E8(!N?B#G$+N zAE1|Yoc%Dk@>O^uQMYK2sJ21Fab%y8ek2hQIYRtL1`!wqzY@?U!l%#FPy+NVM5BF* zLsPWwBf{D|9)eOq48UHaBhVwUAS4Hb_%Mv8AqwODKk0}&9R8EL7vk3$Mfw5}G3cE* zRAxsGMUz}Ns=8(^;A^nisrEp8dI14gM9MC;APv8&4`=K>6{>4v4)5+v)m4C!_sPTs zgTP+=JRBbHT-zG%QCnEv`yf=w&fZZQl{Zk@Jnpb>uhAodv-G-G{kM?Xh~l^obui=J zIp8_`$>$$ zhN}BHjwZNfl7f+844V)h)$024iq7ywC1l=^S;~-URH2xKsDUT+acEVf75AhtIfUAa zusIx31V#o1=c*HSub!sEvw20wj;E9`kbD0i&@qk$a1_kN3hkdgRYSkpEa_OSa*jsMaH*n!4nmhGN1Lek3# zOZW>3%+lRHB*?lYBLK5Bs)ETaAIo{9jV*ontYA0xPIohMTzZ(rKoG5oy z%T2YG_B&mcJ*`XSaE2G@ZPFaUv8iaZ$lGK;S+G~KnIc@5P2jv<)%io+f*xOm+pU&q z)z^HKrvLhPsJsJ%%DhrCaOwo!q^U!B(LaF*r7+S>_@RkN+w+y#qmZaP|>x;ug z)b4|Qqixl5riynru;9KPuLBh8{Us2CyeO^aINfBNv(^q?JWHZRvkd+!a&I`4uY4}x zAdF2L7ww9Hz*OWWeooYY93%juzP)A9r7bb#oz@O1r5zFRTBi=9VI`Z{D9mhlh_5;t z4Dkx}Cz*WaboBP7a|b^p8D!{YLdccFqa8flhu@I;7tjKAL@PEP_ z#fW-hVjF=mr)Z()rx{KhNhZ+LE@8g~$X%V9$|(t%t0SdJL9V9^;jPf9Y%qi9rr!SK z4m6wtu|cd+yG)lj=8B6*AiyGvYznd){tN=8LMQ>dJxyAfvnW%$1yxt))#x`8m2sw= zrKaztgO|O)%_|Xha~1Aq{Ocut7Uvx?^-tQkF^)H?x>WaSj%>;nNUZefAVIy9UQfW|2$6 z;heDFZ6JEmJ#!h)kz>%r7E+vQZ#lej8WIf~;Ne1Xjzr?B&4i)PA}AHM7L?F*ve_|{ z=qlqK=$N=UVf3&`~M&Nz3dWR7-nh#oRM}?p&@=fJ*3+v^dmixDuE-KG93%e@Hjn+h~ zD!2??xsm+tL*Ye;Ri`hPa|dQV)6S4*R3EbeRE$!EhlNo`ZWjmnmDq&ILQ;wdPM%wAcF58p@fJdig;1>rCU&tvXQ4mO+}Vcv-#S<@>w zloiA2<{T0=S_3AQi0Uq2OnAK80k)C(B!dQ=W9l)iw&);9CBQ4;4YfTT7gFU@SoEg6 zz0ndrp5OXcA%2oF@=hi?k&|Y<0&Z@!61&y{)1FqxpL%CE+r zD1#a>lBkO&zf+PNg?Kr=#C@XCmK{Z}*Q4tO>uD?e4%r;-ZzcFfRqMrZF&U#uxJnTna$&4{ z)6rI_@G-7VP1ttYl|WNtPEd?bAlA2!T^wemHRK4| zkK|jl0~wh^kRdQr5-a}1)^G=EwMVV482h=#dU+wEQ$}q{3$BXo9QIdGKi2P$Xpv z8}RC(GB0oN7{=h5x3s5>;7#aDTFyxd?*C;7+QUe5c3-C|-*=GgYeC zD2Zfg9?uj<#zLY!o$ow*yqP-Ue*B`hFX<3xJFSeU1lrVFv9x(fP}LGiH9`M+r~mJ7 z&ISCedM7ggfPFUrz`yQD0Aa_!_RjQ*7M8Zg1}4`3zc$Ru4NE*__cZG(6iXDDK#U-c zX7Yhp3@IXgEDxAt2d6f4(HUJ{by4PnuxR|E_qMyWqO(#DVp!JI%O@S>+u zlipXIR(1F5IJ1|f_xC5Wx9)abc&pKB_+KL71X9jq0bBMz+h zwS6|F#H|(TLV7CA!3bhAZKJE*(Oa)iDjPEf^w(?vvh5VZ70fofy+6RyYX1?0rl5B} z2mYInn*>7caAqg!`(*@ehLu~mD>1Ah5jhvUw8ctS&(REzrh+xarp;`?jS7$%cJl;H z9!J?aQ-+h-i(lI@5|r-8vN?8L8N??LkZC|8=8oK_v~bZUg(wh=xhWdpZkosKogn~& z1pqVy#BNV>u%X_{2V6aFkC&tkk9|V~L<>5c2}=Nnkd)8B1{X)cNhlL}<7MYxRcJd# z^{EXfKr4XHT*Ht&^Oz7h!pmWs;6dRt<4FjB0|QWtE`(FRDqUDqi#47c8XaPC4>kh; z!lbEKmjG8Z_ep4F@+D}MOB4ON1MiA0KGlksp>ae2QvJfxTL5b$i5J-8TeUyNMbNgR z;14dlA7l0nMEG+%FL1i+6-H$)&~+hEzTbWXnMA<}S53oG`paTrNKZy2fqFJeX31?j ztoWOt(ajDE?5uVe_6|$i?$Z(yOJVaGb4ndTU2=3X>!+*9)O+O$-{zX*%_)yH8$OgMFhd zjMiAOm1!NsX=Ux|{(i|b7f%;IVbb=dAGdLh>>9vzdI3y2Co;A58>NPy7)kpV2yK~W zY)OIy4x}MA&?>?6m#Yc15(tGHj^@pRD%i=g0P`0rJMiA*j5F|gW+vEe+^vAlYE%x~7m6-w0*61)V81;{40qq-iCCYsSg9fN02pFG zN4ll{nb2zF+Xu$m6`IIy%1SVGWbgX?Wy3Zj&@#RBo@U!WWu5~yZLKJLmOvSf{-h*5{grA-|4>@hF3OOX;KtJZTc>T_1@R0eH?ZU@VMa~20_{a$uO`XXZ5I#dA~7BTy8v$;O!uzPX4@R>0f zubxJG>-s@2pL`AYpFd7rR=#5^4cu4^0}1^vyE{9sT=KhD`8&OQcP@X&WDRV68Nd{L zR0RjfJf7b*BP3G>9Vg&T= z#&$6N4*+LCn7>eV-tAlhJlL{+Zd;Sheglq#L)3A{r2UnRE5p17Pr+EmD9c_W1U2>0 zzWrS+*#|M7gW&?9d!RSAB{z@v>5|AVwbWdf(I^?9t95w^0^5ftRW$Sv7d7!5yv<6tgNRT zm}LFbkRYiGe=t)98Kw=UQB8&vq54;9nDARLK7O^5%&yd=??`;(#C1S7w1RrqgFm7aym6dY{X|*PKD4;jR4b%<_WFBnHysGf)-Y@ z3?oj~Y_G*&pou|&0qG4`MMxx+w+Cb8E|Dp;(_}LR#BsM0=y;d`n2L0`(^!jZvEr66 zXut7Slak7bT=NOe_9yOa0+Qj8gZNfaI%%|z0e++XTyZI*SlEZ*FIVHqu=n@=d8d0h zc{e!kPGDfA&SX#2fKGRtmFe1G(>>P_CM*(2$*JpJe|@eJEEDwpQ$T_ocF#_?;}8a> zIfRC7IZW6(Tc{x6tMexV^}VSarqIwHo}O*TAq>py;py4d97+wofJA5tmhO*YZ!%K| zh_Q<;w+;qo7`xbh>;7oQ24S!YgA`+fZ5bP685_imefwrFZG#_G8H?T3CTF#+t5SAX zGrT|;nf45LNR%KEwfvNyP%>Ivm1U?nY;XgEwGpwT*xOYX2 zQ@RV=lQ4>6syry>TUZr>c$mUdO4c7>oW@RKuxWlq5cNCr$FP$DhxuS6w3Sk(WQmGl zAwbN)58(7DoR+NR_;@F$KoAe>K!pHgzSTZ%ww||}?Wa^5WV_NH;<7e(qXllT3mhto z7E}O>p=Jcq;sIs|SWyD0cbA|tSn#_82hFKavdmHuLjnv@HHo+gJr8uQgrIm<&taxP zMU^@%r8FA27!!pkDqdnW#kzwYMGu4vUI@9J!0Lx-f;hpp*>~G)e-26cSnhzbXB0#D zKVwO&OI=xY_#NVt=NTj@PVQlU%cUr?3BF+mUu*^xun7YDU8dmiycgm|_TxyqnD@7; z2&`4JwZhw!bBE*w)7FI>+K|#xan9mEiYntr^P?j055+5$J|jr;3-OK34d*coM^uvO zQ+fk0EYdNQE_7*_Q5$rAx6(;}+}MAsPcJr8faRY~-;#(Ec-l6 zmvTF-YJuPQ96D6MqNu@+oI3Rl_N9>?VJpD)?$^nCWpD>v;UvPd46(8bKW)fe-kM750_KO?L_5BS)3S z6gW2cy7=^`xY`>vN{U0N$doGmR}+|HAn~AGDlo?s6g?m?{p&wRP?9)eOEHNfyZ^;P zvR(9<$jX++=8u=0txQd!T3l~bi@w}-%#YjB6=i|w?2&e8=1@2g`7TLXzY;yyb|FFMD(E}Iyu%C4!1eM` z?|Bl(N0GaV&x0iU;L$N?6edk&j+FC|+>)&G~6{Iako}Hd;J90eScI3sj z*arn8dox-s8L+A2+@%G2b8(%LLG|~ zRHnJKPi5+-u;GxrZqY%{E(S|`uM6_Qnm!hv-8fGKa}Vzl?2GguA0)^%i?P9Z;h+H|E0JNx5st(rMQl_$94QjT&g0n zHG+e72FQK#Q+tgJyDp*I+VqT7i^u$&v1RgZlDr*vw6Ctnfh9=p$;IX@G02I%rHLX) zD?V3hA0vfPMPTNb&~Pt?L@0$r=C%;3<*uD#<7_PPSg_2x#TBZ!h9B2ZtBAAH9o487 zDofczN=7x`VlaQRy=NWqCqXpx5-W>V@Cf*hK4nps5=5xCKLMpP`t}9A-Ufm z1bLz>FP{|ENDAxM zv3eKH*1bl&ak9KIfjp#2SIs?bQ|ktPhgt z<(H@Iv?E;`656c*wUO!D5xI3z!8-ZcD$Fl1ftdN2z%`1bpK-B#xe6eimwmOor<5JA z$lpb3Kj*=i8dI8{a-RF}-&fJxkNcle4zHE!Y^6Kfsm^w~^B~oEkm~fO?yc5&h@E;j ztO2@d1J6=Ygzw@#5@axR@G4)m(*M3v$Bn3^A(#YR+M(3+q}x0b3>2v zch><$^VwbsE9mhl7KrQeG(EOcV`U2-DoX;VE zqAJIb&kefzmBRe9;R!eN*%i1mJeBizfEb#j*nsGX+93dgkj})9UJA-57WYk0OzD%D z;_nI@DYP3tJ!}{7VbEuQJ{{ST4_SFG8W$HA-4ebT`gs4{4?!{@Nx*}lrTC|zC-f5U zdpvp!LI<|VzLQ6*l5~0IKNna_z^V$5{MxUf2(a?vc|ZZACs%md&;15c)VMil9qE$7 zK)dTHg#6b~vQT~2IBYztAz1o+)|Y1lcwl3wN(!ucOvE#Fm#_LeI* z1qrO9?60|vS94P+frjYX@od$Y+lI9?oW{xy{RRkNlZ>Z3hroDoHwn18a9rD+-z6W7 z=D5=>5?IedqawfNlgBy`9=>4e{Ux1CGtfKwomW%!0U*%5Yl7j#!oz-M$Y<1HGi^Aj z<63sKa~-zqI7r(>eAWvAQA$;QZ`hv}MzO@@$6Z0TBiR3_ObIr;e$Cp4>^ru9yHC%> z#V7WUJcKl~Rt(`YL1-O47D79Qa7_@{@nazz#1QOHs_}6U3T$WeK!+%3rhTizf1j{c z4Fb*Glv9XDUDK%R2S(X6$}S(3$tz<2N1M69;De%l0QZoUh zMLy|;R?mNJTJLHOQqiVEoR87_<00h)5FlYj_jpJ-Wx#5{VQtfTM-C3Qve@%)wg`pR zpwJSetU%QGkpAnsU)6X;E-x-5pS4ZO5>NX4NiB_>w%w%bPw{%#+86=k+Dh)i;8McHjKpp_ZW&JJj21{`Duq!V2cWxC0L zKO)&pQq)woYia4O^)Ht1S`Q_>q$h>zmX7CB)C$w zH-)ApF?@Mg`p|@2Nczx(Y&e?J&a~!HJPOvTDh>Td$)bE7pE*TO8rtv8o=Tzpt_-Ra zT1gg_jgS5vrT;rhSLpv=M(N2h9iDp+wn&d65R+G z+xRynE@3x(Iy|BC-2WYC4kx&$)Km* zvb9d%>sI+k$s^}?rM~tX$YRH)lT4KvYbEU z3^{?1>8S8QUt(zX#|liSe5$eUzDuEh6(>mXnDh{J%_ujH+Eat|TS@8RNe@zx@mH9M z*^pdWcZ@8F#jW%JY0mPt37;5AtSZC-bhbpo{kNo(Qu(YJ}&g~BL8 zBNYp+U@12Kh0i=-Ok0=6Z8b&|?>hSXC+z4&CZhKBZwo1Bq@?(1ojp^>g7S}>mK_R4 zq@>Tx@Y$il1jG~R?-vmgHF)kiK7KW9`g{`YTKdxB&Njpz*4a@VqQmX!ZI#p8&eDr$ zEHRsLykAjDT^v^>t6dabW$)t_di~P)BdTs_)}6KLtX(g@EmV4gsVKB6hkf`c*c&bc zXJH>?V5bWk>uB_ZKAZKcN&SZkDHYwI)iQb(UzUvb1Hy%Pb36)^HO$G0QLH%8$&tEA zsr^k;?VXB?)F`YaxwxIqq#j@-PP4q zr%ufbSBd^qn*R}i2%AV=iMu;49#1exv*0$(c=7Jlwx_MgmGkmg*-{e49G6xwT<>dK z5l3itch-YauNJYk9v}Gf=Jwsv;1?M07hA#d=Ea%x7g+rV$uD;^kZ%CJefxUB&2K*Z z_w%EBbGOm)$y8pv;Mtn;%OmqY3I3n^UnQk{`6vrtWB>5(<7Kh)asP**{o7F$Wq&Uh zm$-1@GSh!}FviE`diE&ty}kb7CP=7$V#QCNQU3XHJeK!pJAFEF3deqW80eb7>fxHZ zfNC&3AmWer>BaqrALKI)-`xDy>-GBh+9SU?+`-`pPEV?@PyS*dKYn=g)9ITN(f~^T z#5ZEsjoqvG(;U>*+gK>+Pq@FtpwNf7?gGjs3&T zi@VoMg#0V}%D%jm`FH<%sOvr%yN}AJFX0?t$-@>n`_wr<&wKZe7o8o4esxpczyEm_QEL7_K zY%VKGr-RPqT2~JbZji`*SojNG_xBgST^ZG1L^1mxPkiiOmeQV8!Rfdt7@hgAW3Ed} zUoRGR2aE3e5MpFewWrbqI{g(jiPOQ_1pD~hqQvQ7ae{q(ZdKxRusVT0cwF@HoI3vU z+uvUKdGj{GIvy-d^nLTRHgML#CJLQ)%jPHa_hdAW1JR?!MsN3F>6ud8(;=UC^EmZt zj8})d*I(Vf`B5CPID@;J7yteaA?TaCZ{g9==H*7vJwpEQTKv|F`(G{#s5kcw-@ki* zZ^;*J&N@45bJ@{DCG+IPRxR^`{n2c8?oA{rPLD;C}k{cbi{t zKmGYkqoU)rE>8f=#oFB8eHyRy|GOtYaKqo%hPTw^A5Txw{^_gw?k9dC{>{g~$^*2g zM)!?>=3#^Tw~IbKK)DTTdGb6`E#|LhiaXJLs}ONErLzYL)-O+=C6G||B@W*DD17ao zCV2RtgCRaWDEIl5o)^FQwN;(RcmDDU&f`0uf97q!{2$(}4`T7v%ZKN>1%j;3*Ds>F zr?#;9#`xtM5HFu^E9~_@z5M~mt37@(W!wI+o1f*$@1JmyuQjdbN-k#b*dYJ@+&-?F zU;rx%`5%#%O`RlzMpn`Ea2(8J@WCZ;~(TWTk!Yae{;9~k*l|Sj{E-0 z0PE8RUwn|S$GrJ&VdRhM)vH$@?Rxh6iB$gkHK%{ohX2M5pAY}*-Rnom<9dhW9A{{r7La`<|aZ+q^Wk2>D=(Z(-5jvBj3$OmdDR z=P~5G#+v$+Hq%U_`kcbY*HCNkay`s2tL}r8dh_08y&)ddPgYswRbZh*<3Fp6bPz)< zxk(46ni{*Oz%hr;BMRvsdkm&}mM2Ob!F3rRZq8-2t-w}VaX!h2lSw9bE$1z_>{QCq z0eVhx78VL-(SAr9pM4&+$^cz-vE?KKoN6jnXWa@cz4XzXW|^Y95UZ6Dn__17(lKPr zfniD20VAo?u#GEjMla{lM3cjCGFa7=uX!&J%M+W4(%I~@>o!Dqw%L|pMMWl<5Q=N- z97`U22|S;6IvqKyIHNLC`e`^|3U+)5eOrV-eei2u?ACdVkpfv>qnN^>ZGyMmPMVA zL(x_Y2$tuubh6I5S%BFt9?QgkuH%0SSznr^xGMu7A#>xtDU zV^nEVR8h0~z0r7sxx*r49jdJkTT9j_^bm9vb>XsYBXS_wt33CH4Hn@!Il+X55UEk(K4V|Jt0 zuoW0efQ#tdKebgCl8hKjHF^#*L+p_3YUBpT=IbL%d)Hj+E{ocI@@b^XY9U7AO7dHQ zU3CSINaKLtGNsW~;TYbD5lnau9fk}9yT~@5L?iGMy~iw;X>oWT5_&GJE47QtYLa+Oc-#XU4B^f2A)U?ywd+=4(8(EXlMl-X? zpfGsErz+~rF~?%82y{4FOS~8U&t^0B0%2-CW_tfv;xt}5h$D^!DWa}!yNglQIk?~o zdKTf`_YtdH*I8#%t!N=y$n)dMwt!_6Oik7bjxr}LM&qVK=*Th?D4`)7%AgF65S$nj zB3OwqWtlBpR)L3*e%4{t-e@r3&`Oe-3>+pmdY1%LVS{u4HDfOrnH7A%z)p}h2q?Ir z%Dt+py8MQ;slCQf`c~jjLs>Ks)geS+E78rtWZj5z4iywVG&g&8FwHEgQ-^wFw$5PW zj;aQz8Lp=N8p2Eap2ZrmR2J@7EDgw`jp;;koIYrbx^YYX*pB4+^xU^VbB>P zqB;|0CJ1T1xhS0l9MH5}M{LC+W&-B}MavQZdMiDtQkXux;T{MF9dyAa6M=}v9^qfs z6ToBwK8x^NGlG~{W(p}}t)*jVSNoLZI`&{UfN<+P58&f$uBa3n%%(0kt)KwSiF$K_ zWn06IkHcES6aY{S2?b#y!bMbt16ga6l?()1)s<-X5Cem+H5fubNHQg#jh5|# z0cWF{bPPW}5aj7;a7>u>I!Bg(TRa~$0-}zk>?3|!n{O&QZ@{yOU@ZdI6qRBy1}s1X zkd6`jXD@*R0c^9ni*Ps^13WET1X^E?alb9#CUvt(RFrX4Wkd)!P>o{W|tx$>|?bBB}*Rfvu{raf3+BXNk z^Y}UI)33rporgJ=}DtcokP}TP8E|y?wo2$pD{>0BJkaT_8>e`&v zv6zKrT=Z!KZ8XEly)NhU??lP=pakT)w5Nw4bmcx_+8B4hhC&%}xIfyF+Dj+&bObum z6~jp(B4lhLtR+}wNF;)0Z#zv>D3c|EO9DCKL}q71zx2=amMhN_0;oMecxrlyH@C=>XyM3exgOFqv#ImlKs521}yHXN1zbagL0;1fN_@CK+;t zNe0tJVnp&pq(bPln9mt9Gw!NTvLR#@PHCdtc%+8Xt^Dda3>g3;Ie|Hm7C{3k5GK@Z z7nv!v9}kMkT$o@VvQ_v*1 zY9fL(4>2X765%-EE~%<4!zKeodM@rz^C6T<AktMo@T2@H^U6e>a)rQe z98ge(L0wTB*PR1%S>^}n0C_TgQQF|F8RlrcG?)XaNqcEYPKoI>X(Jt;%6xfwY4f(n zI*ww}Wd-Qxi)p7vr5+X4PM3d0aqZ%b?4K)^eQt5>7r%w_YpQE!4-fI@|Dyt%yrTVi zMWnU&OZ18n!Rg?=rL)zsxMmr4P4puNy0TJ3Z3i8byYol^=>LmP$fd<%2hzrTjoY&d zO+ABZL~1Yt!BJ}wX&~LOGOigv59HG0Y;@kHw2F+GIL@KkRgI!XPDel;4H+$iikVP|AOQw79xRN0d!&*)t^! zJ(f|qdA;$u7y9-(k~N*+Fgl~VC2SZ-kWFUPXt^cK_X@XXQVxZMnKWXKi5}f2J3^&D zs5$E1iNA(+6U#{FlnTPr zk_8vzPy|n*mXRFYP|`)|Hjgl4YIbwa3ppgK{vdK;b6sa5mOjGb=&8CoQ;mdz(ROQ& z>W@S6It`MAR6OIhNhwal+@iw3 zt07ocHego}sp*i6Z)300Hgz+V9DB^wWkcwr&@B>e=`7@7ie?n=WxCcGt<|bd95jt} z!RSd8Tf!Wvv>oJKk=onbnIlXKWhf>lsSIrmA^i*k8fAI{TWU5F`~)>-DTIzu=cxjr zQ5YJor0!>EbSg75ZuhQ&Jy2j<${QEl}u_38L{fnnaRG|bOKmo^t#1iD+yJ_ zMaFAq)Et>xkBOz?1ChDr)%ZJF$tRYFPxjaoqfsTqstMw;kD{7PLsk*L_EvM6DJ}LMAwc?J@;Pg@t^`MZg%ER z2oE7orrps@UmHPv2o|SIXl8}WaaRhY&YBzpQLnKr^v0BO^x1HkxYAoXSpJnB~WA z8pchh0arAp*_SO`cB4hYZUk)IGy!@m#lR!V=(|(ZhJ0kX2~mjY3M^)rMAD?jG)!Q| zTRPmjvwM!+7T^mA~uPpXci5~Q+??MOtt0jeO~WxO`kvQAQ3#!g~(s8j4EGIs}vv0*SRv$fV(w|VVi znqpF!IXrwa00vo@TxwLBnLL7bDT%C2_F)9i6lKm4;vl9NbJeOMLLf<=;tzc-S}ElaEmj;IWWV8x7$&GW}{;do{?)WIcnKdcQ4P?;#yeLyTFK>m+>; zSi5(m@N&TA$>hK5>W5|F6y7Z9N{-1iJ!@hf3;Yf+=k}P!4?tc=dM7o6{7x1$Vb;-- zx>VI^Gsr;&cvWB|8C0*`cte5+F+Nz!e6|DHX&bJ<#29pH+L5)lY&|JY-G(2XDY!%YvFK?p(DdmuN!5vn&e+r!k3kK8!dYl8J}1!9X@_zqfWYR(RF3&vTvgQHAnoq{8v>N;%9 zu(mvm@v4zqvklf%NeHN(z0-5QElN@db|e~cv+aXVD^)ifw&zheZ8|IRWUVF_G#PPg zkozc7K>=YZI#MPzd88fv(WjrDEzH~=m6_YCrJ37@+RW|q#hKgBsm|O!lxJ?Aug~0m zPJ!n3p+a-}e2M1vm)2;WXzy1QX*Rsc(ao(?Yi_sYn%jN7=5}AOx!qT6Zl5dJoW}Jx zm2Uh2*~B1a579W8MiH_y5_2apb!OT@^hIyT{QO{`>0z$3v+h%k_iXyDrop8L9}9b0U3W4*CWrj0Ek(ne^`@37B{h>d{pn48?WM zlAeKRf=LO9(t~$A9M$@J6lCOA7B`p+l6yFaWVz17(p)dyFwbVLLx4j^#FROl6R3ng z@+(u!gAQkQAwrqo5(MY#wFQ#d2R%R^$kGIrN$ARW#oR}9LRN;9KLI~eZc;o)oV;Ey zB4ne>CDU+Zbut+Gb&>;2xR@g_mXqLNl1*68FiSQ{T`xTTZ+X}E+qMma{}sV7BD=Gd zA6~N|U4|7~vp%fFfIjRY3k)Ta8zG6jSET_KlOnzgx64;QxNUywqnjp!m%vI8qQq3-8kAL1pJ#B|lzd+To%-N$b)Lm+lj+OD z!mvY?nF3T(4{;4dN5Lz3CSfrP9UxajqMZU1&0_j)$)FAtQj@OoxLiksWrs-mD!t3q z-Sm&ghy+!>pH}M?^@jl9Sl`*^5K0G_2Bd(vA?o5-7?7f8Q)h|l=j2B3WjFRZ^Ai6FL1-sI)EqD3d za`h<4qe=88Ps{2gIwPPt+KDi<__EBS``h&@MGw%!DNwKUliD&JeSg2AL_dTr(jd&~ zF6_U2^=`sk8$q{wuAY#y5s;XlC(pl|9Z`Oek6$0$Tq=!Ntn!@m45`QGbIy;4GrH5z zAAhOn$JRr=TnKvNdLm(B)tVGlv zpkR!s>f-#mm@A%h=5|UU$;;dENY%bC*CS`h$I&-5T+WF82w9PA7}@^5EPkiBv+A0k zfN*shaZ*#pL(tDTlb%KcdoU)^pQ5?+^dFj^Z&&7z%MXLrVQIT(?s2Kvs?M_3T%1I+ zqp<-hN7syHMC-PZkS!Qa%lPP$aIG!Q^QOfM_ei%V2zsllp5#naWb0;4Gl{(~JvUglP1n@}AqC?_i^+z0$!W9H)coBMNt|Ni+G5ry5 zt`kbX(3Yr-R+Zl_Xta6@SOyUFGPk1p!K#yb-M$-2+0J*{IpFQv#!^(i*ND-PXIfaj zPgF15&IZ56(51&$8M>H&br4h_5?>e3pmhS+HAEdib`4Pnpj|`M0c=+j`2g-rg4p$h zRjlxNTTO;JU$30&t)%bJ(QJHfrbzNt^$Dee9BP2HBXDBfkSoiWL?s_`mXuc4n|@uXG)ewMmd?k&~N zJ*Bs!QBkhP#+g$R2XVKATVNLN)pQ3nDuepbpW9KG8~AO-ZPvw&_;qpP`8+Hxb{q2X z3-^_7TV2{T3|d`6&~0`3kd$=khp41W3t6c#zx;Xpbn#hWn~;_a!fwPRgRmQU$sp`T zV5$j2NK7Wtzr-pNMfj(zGP}8cR#}a+lf=PA(&_vE#WJ%5`Y9~4tlKn0+0H=AEDKHP z>lf6$=~L{q%rew0mb;p3nPsn8EO)osvj3Xd)=QuI=#pUfJi%@&o@%&x8Ej*@c^T|# zx_Oqq&tbZ?25__KmiX>cd5QrSp5(imap76MyD=A@<~x{lS#O)p)dinT*XgT{nuL-# zpz!&|-AC>CAShgl&p9MGQFblt^FYI*azYDwSCT5>5+%QAq0|6yGURI_A^ zYStyUR=-nR&p95AMb}sfBgI7V`5RD60|XQR000O8%LoETy*gAS08{_~g|z_y4FCWD zLvnd=bT3jn)IJ)UU?{6c&y zhLJBD!;7I9{(L%qa3rcXkD5m{VY(~NwhSi}7Cy+8bV4JvTt~QbF&ejrjQ>DfKa z$~XMm=M3uy)1Ao^^-(PXpKw`@X-6|DDyIaZMa1E0W=18)jIgVT}{hmqsXmmbcYfEf2-B4a;E~k3}VvzHiKZHwd?JHBM~Tm=TBr&$n&> z?pofa_zq0VTS{L;QWG>gswtA%PO#CHZJ9Z!(pC-UaOdIL08dCQj397L3ygzNyJnR7jk#q*N2=jcim%6d#@97QG?RwS z5G_a0^Y}4qlpBQt+7tf~3z+wC= zd5J8JU|AP4i@;w+A#MgNBk9mAtf%GrB9OKs4^S+uf!Cc<$>Ruv8>~?U!+dsX0eb(*25-%~gKbSz3d))~DPX>%sgX?z21hCf`onGK;`(^jC zJ9%4YVCUUQpJ1O4Mxrf-?a`!r`uegx62sS{;b7bW8D{|9@Al6}z|`q=`jaLwwQt>Sbrd^_sCx|oQI!R1*8H(z!@Vf*D}N1?+4PcPfuUR|8E zd+k>po;3iZk+#d2Qt{@ZL$?WU8~>e7x`RF~>2%PajPSLN6^|y#^f%pcr!Lx~?wFW! zJ{t7YVu{6=HDExP+wUky#QwaLFoeFp9(NL;;;hrY1U!hWza`dG*gu&t?S<>#3gwX1 zP0ui|jfE5<_0sBr5y3)za&-T&R^pAdSirSGAAd-l@K131O-F_&8h)bAj}8yN&ree$ zw0Q#NG7P=vt=4+IZn_@sxsh+mrt2?SdQ8xQK{oW4<}zH_LO_MYrMeTtbFKwn8XgD= zq=^{TR1oKYD2YTG-^%7rT^+*os$qHVN)Kwa*j!8-4sj|!z{3R98ax&Z&2{WsGC~tp zM<%EYiv#x5XBboRN3i^P8frv#nDH7LOATa5tSn&! zp7vgyrvtzXrSp){=zn z0!oflny1#W%^^-CpeIXr#*1_*8N(8g*Kzs~!pteXaAX6P-LT050v8kDB?5ACz%Y;O zi~|b&TkU`1qL0Q4TP_S!<&{Ag&FA&vDVDKtz*l5ew_L0!y#ysIV*Y{>EOL~wiaLwB zkfFI3pO6N0z^3msn;!hsNSysWY@F+XV!hT0eyP&uG(M}xl~rZ3h~}HIX3L@QaX$9lPq)GebsMIUXMD{;doqVm%JWjK!GB^h`<6X&4J$6 zMm1ah0vmm_Wuvs>eN8m8m<LT(8`G-%rGPdcwU zBa$1goX=n&FJbayj>o&(sx^M24*PtgETmubW&K4w;`#rsXIfdN%im@ z3mm-s2l8UQKJj!5+*tk|Ns9JW-Or#B%Yjca$<170`LKd=?Pnb0&M&XwSvrj6@v~19 zYo_zDA=U|(w@jlKxAF4rx>7oOgR>3`d(>}Vg3g?gX5bExSdYh-aZ4w$&MMrqbc`#c zcrS#Dk^b7EnptIpNbema85^xb&Qw)Qn3Z#oDH{wseV{Ed3Z~#pISk=y3L&MrwTS$* z-B50O8vGPh(s`HEYG#4pm8?#u=iSTBbXpTlQE4@sEiNnqyJ$2GeGUg=KPejP-~00mZ?DCSZCx%mB21amp&YIe{D}XQ`D%v_9XE=hgta# zqY0|?Qha;CeGL$sdi7iH^3$LKz-A`H%z5@{UhOqu?Wu9My$WSM%L^45wUluU}qvPh-iA+HW#)E3uY@ zpQ7p;>)MvdoWobNetUBGeN(rm`6<$zjYiy3QpuVU-k|Gc=T)~)TOvYHCVuX`!Lk8L7SgFuhi;|m6jfjgJZW-AmxyYt%3Wlh2eAorXxwYCX4~T(wwcqx zJ%~`2`6LTbd!kaPN?NvIlD3G0i$Sl`YJxv4)itvIkh3Xs4ef1?Si4!tP@RijO{gqn-FZ?}(*?@8=Jp~|-~W-m8$U<}{B&dZqD>JZy|tBD z^8J?jK;sYo04PprcHtX1@-v}B%qYR8G!9WwsIXX!Fs)zqM(J&&R^nLfOahLI2~;Zj z(e%aQ-X<@f4dkiYR_;RLdOGe_E!h-oECr-(F5#3=D~;sJpq$62WXSaq*qJ(X$zkDvjVs;hNcIwJG!i%*pdB1m^o6kj=nZaF19JR9q6@SGDlNQC^7?%Lp2fT7@ z@peZs#@uGby|5NyR2@A&&ymGV8#D0m#Uy-$!7PF24*Y>(e?ELc8NM8cS=%V(>KVbc zcqJXF`vd2Hfe2QM`NiE*=)F4sYb8Nslrbl>*8|61qVgYsGuCKLXCSLit+_CNSYgVP?8oQFI>C+tQhnC-IAx_?L>Nt zv`;zmEwso{xGSjI;f5bjA&{>cRpPJfCVDi)FgW*E(*p(&g_cdlooJx$3qn*tWEN`D z*`Svh-AIsMNzwmSmx!ab^sBXW!bgUwnDLMg_j;+(P?SC5_|ah2~p)<%?_I zmHI2B)Op(FeW*#Hc3VRbChb{)+&<15#88h#B{}cXSg80YXH3)f72?Ttek2ZNB6Gy7kZ~@6l^%L>Oa3bnF@F>{3J%@WC z63DpI;GIecRxH&HuuGfMR*-m(SYhG;bHlRf_@hbt)AlXkCXF5}e(K0|wMM&%WJIB5 zMz-PCf%f;v@@3*2<2kfFKwVD{&xotErOhsg((Jm399Ul%Ar?tm3p0Wa0bvz3SanP5 zo?8wdmLZx$*A>*0Dv-7>5zm}lCt^e9MJku18u`5>T)NvpSHYQ>jRGojFeaIlJ0L^j zTj}`ZK(D_3j5Ug`13FvKI7tm57ohVyG%vCfnNEEQYIEbLfWiQ-&|HctG*)gsq^s2u z8+4~#zgXfc_RM_9RoGS-+H_(8+*U`ENaP{Bo?>qc#8eOm^SZMS-b6VyRyyL4XxMzA z+*=&l5?nm137sR(Y(Ol;Y8r$iYZO+pIRFg~!&^E}c4KkR59$!D=!7t|)~Tx=UW!_Q zk``?MHn)+P29PA8>a`~q)0f>>dXG7g@mY6F$0jSa=i3nID&8Zk)J6VAvYlCbQ4Hq_ ze7i1qMkmv#OAG2_aqcpUk0`VGdfdBCm_gc3gMx&um~5oS0n}`2 zKt5?cY95wwYx^u*8EyYHeleYi2cPmuzF9(Nr6&INxA>KiDIcZqWfjYw{@NLhQ3ljS z4pCp-Ab3~-G9HsoS!YMY!clVN z;6ROTKHEfRwvk2_qjRrR?pH127qxpWxcbro6!k+Dbpeb-sc!_OQ!q|Cv#DuI!^vcX zn-|P>G3C`xVYSuDgLswI3*KS)-%GWBUlYG7R#cnc)*e_Z$RH*PpA@@-ax@1CBeO|r z(MWdEa^;1$)fnu%qxak1IeSs9UOlh?`|yRpzds<;h@3D7fF3-2xDyOr2NcxxQUMR{ zY*mG?p8ArFwpuwpA@#%mXtPLPikCSjGfsSIDmunhsBex!5_`hiRh9wS0EhP(}> zs`l95JuJp>XL=D|%DY+e8N+ws4PHvnaSjIGF!$*(n35vLvTc`FeizZFXN(%gf!nyO?aM17cCk4eb;^)qnPM$t_ z^4;I3-#mKeM5`<5fAi@3{QPaVl^{d<#j|s^mvK`-?SVNzX#8d%*Yc_vnZc|nXHo0_ zmhO#l)1r4bTS4UCKmb-islRi*+5CZLEadT%le&6yK~W{B*Bk1W7XmsnN~O8l!$pZ; z+u1sqU)+KPK6>($PWz&;hK?EB^NLRfYi%dZ-+Dtqzbp;hBq@f#Tdg$kMsjy6vkTE{ zUtV^`6FQ2}>*Q&0#dpv2e5$--Obb^df)fH+dW>3)dI48FeSDa?SEV5j6*b?`_!?Fe zB3(5C@L`@qnvW&=_!3)Ragb>eEB2kFgD0=11Z$oj1j<@Ct`9fB+rle|&T6P-QS%{) zJj&K+9KQrW=Z^Wc6qcCos|B9qbdG1JlV>UFMY8}ZFQkQ8FG1Q$i(=YET6y@J>FP(-a3;6J`&rokW3GI4G-Jw*6Eo+T>?Pw3fu%Wd=> zQAFh>f@o{l7|Y@?KD@Xe>c&4bNH)l`iM-OtrF55lT_OY$XF`*GM zQy(L&KV)X~-HcAo>=8BDV{#l8VhI#S;se`UB@YXXI&?i{`dh0kasgLv7`m%_oBsi~ z<3R>hL;1ddbx5H=b&u6jC>$T<#4vL=S&}xO0YJ5&kFyH7qxq~1PFH2+emB12p^cb$ z6x(V!FG?nqt~Gn*r~vJUJ3Eqh`26g(>HjO00y*X3HdmX>hwPJDF`g2BtGHu z9XNSbR`b=|?45lez!ua*eAs7vVt8s+@^$yrTCM!~Jz9{3t#Z~Ii(A5}wwLM-B_&k~ zVs-6V$zU=eu5qGbSM|WzrKn%=4#|)n$Lo&cN7{=iTI%jilY1dt-HEGIuvs)2&%~^n zi?yW2gf9)=Ddlcju76bkal^49W7#dR)U>hAN~KI$@7!ThIr@Lv`xd`8Ze`(rMJ0T( zNo-@AXJ|+-1k&<5A;}48zkat#xr@EPUTm-HwF8{f-oO3R%t%^EEA7KJ>Em|KX=`@% z7)hhi%xE6tc&z&NGzE{@Yc+CGos=v_MyimIImkywVv>*d-mK)&Q0Z8xbR^ivfwr3N zN~O1ih|F{uO_C|o)(F%{TzKq}Hy~%fK~CfE2lphBP0{Quacm1gax`OBihv|HUguNu z#W3!lfY6zQYCm>Afq@x#*rjir1v{S{giMg^7p&`NGIR`-RA%Jt06EYxR^?XuB{5J zAn859`VmavX#kw0`-#sERiT(1&u-_eBvsRsE9>e~zjpp_+m^>fCj6*IO^_mhUd{*7w1z>x?^hrGj> z#_=F&Md9=kkq83Ptxqm{8=IRukH9uz)Q|3(2dz%4`(n>%g=2lHO=Ej|`%H!y(f2+t z2#>hbXXzu2MlwaE(|-DhtL_G4%_bXVDp>vtc7-rofxy;k7!~@i3d69&w8yA0c30?n zEBunFATd4d!~_Xuh1JK+&YHJs+MTQFFRrTkN#m$mj|i85PW`fm?PQ0FaaNEkJQ-ca zuxxLwH*e9==HRta)!3#vCwoT8Co~`#eJ*G0IWG#gj{Sz>k2Dg}F!zov^V^Jo-H%ku zif*#ib2WyNUbye%sS6euxA7w6D&K;Wn7@bDAGXY>k9{mE%19@X}x26YKZKaH|K(bNd|_Y=fbu8^sx3Bih^6((OZOd_X)yltvp|s<;%1!cayhqYqQEe zRJ}5tyz{qCdsDXhu2ggX%x|u%n)_#|=8pW}rJGqcc~lO>BR`Dk9#?IagHy1@{+4wD zAlp`z%JguQH?aooRiGEQ`+Qx;cbAsRWxAQae=!W&m*2swr1V9u-&ZP4I;N z?^9Lr5f8#qy(VU~=DOa3M-|9#$3w|HmE5Jv^pFzb+@@8rY$2zbg5sr@ozpKkttmEn z2b>luXv;t`Z*xYef);57y-gX$soLXQ0)^HVaTI;zY$jrBny(=;3+<+Q-GY!kW!oET zV4|?SmbyBbaS4J2hmhE(O}z~Zn%Xwwlv)F9S8Y)$u3^94`L09n#NM4TkMu< zv0JW1^Tf?<)+kyI>)igX4<-Wbhn$f|RrbI@EBz(+xw*w3gb-`7SsxERMK$ z8qcQF`=+P>9_~%>I&2Puo^*G&YZqVNK~sR~Xq|4PE2ww2S(DXmklAC_+4A1UENj@_ z^acmVXAa|2qpIQ1P0p>nmhH-|Kfe1^WiSm6eZDgH!-8u;q1%;{Ko!>5bGG5?{bO6yt6G=ua9OT{j%E(zs^^^ zTF@M~P*J1#A_=FcBoeci-vKD=6A0}r(n0wBSyQU5s)j0$+0u4q%Gk-Za&y7iml}Zf zdFY2uoL;qe0v>T9*31)8?&n30L~6r#CVDrqm7^q6&#{B`%q4btm;6xHW6P+Z&@8h_ z#9C)fcd@QD-=_yJX|^w-QTIB$tBc0r-*rJD*Nn-|wkbp=Xxi#gy4itRC%kGE7#lmF z^+f8i%U#B3Qo-;521ESS5qhY-V5?|koOf$0JNOCfd{RX0W$*;aSPHWqvtLm(f#kwR zO=2wd3Wo>%D!qry%cp(3euX_$Bj<4mteXnif^P18wSAkBb1I~!dK=XY_2dH%6IOS| zz1rEye;(I6t=8$mk87A#%P5@JZiPO*S9y+_@Zji-55^_ZBr0q{xq_(2yum7N!F!R# zumxM`ZnfY!5#h0xe>qrB_&^2+Qmc$kyK8Iep2YPvj~OuGY%K*&e_%|K;O)r~GuZOlM!Vf_Z?~UygWc`T-QDfW9sYL*|F_j{*T_bc^A*Za0)lcL zw7-3M_RF_tCl?z>|2#fC_~-WrWfnbOUjYxzwwQ8%G0!&iS6KPj?tE;wS8|Go>B%Xv znOD0C667@Fy63hYuZ-|J;jar8-6f-<_B-cXUxk>s%&kD!%_Wi1RCunwgzI(QM7O=U z>)d}Yzl5Y1wPAk? z1%E!z4SUvdJF;;vE8&))d#W`Rn;&m17EhF;QZ>kzM54;`AlOt1J_Me5miXa0 zk_r&5XgP#L?DgX#CirTVPN>KlBKzp7OG}w*f{XghN=?@gq~kY7IRMY^HIzF;f0B7A zJsa-VQXOglR91>yKIgj{eXh#$rdKAKsKp6tH%5{KfFrm zTP0cc6dHv&Z<9Hjj^vH=4i=@o`mbs9NzH!h|d0kz*>-sgy>!rhATC^@m;22cp(< z%tGF^m5)w~4P4~fkR}iCdN#;vs(PVggS2}7B7P0F3ka3dP$uiHV8Um4E7-Xz4VFsg zIAi-xuK;cSv-w+G{s2bfwmrBBW}!K_o$b_NOKN!Z)I#N^AmVMXn)ITOuWVwP+o#(C z{UJ=m#VRb>Hr!mX%0}VKF$#7iDs{|iNq@o3?$!ndI&5~fUbvefb_)Jj5hju=&T_+X zB(Cwog6}S$R@mwipA~1O8R$9eI5m?^%l=UyL}wN1KcVF=YIB#1wr=ftg7j% z3htVfIgIW=^pv>@WK8G1wyw@*%M`Y|C_B6Q6{y9l?E85YMH~FWw6$s(e%Z_;U3B6Z zPXV{A2xlc`+2WN=@Tv<8aM}s0&Uzg6>z!7&wY%AFbvheco6msKwZK6Xf@!WnR04hw z94if`2jt)FVp&^9;o{oLJ!0}IZ>*&!nP2g!*3i{exz0-6fLFNuE}_}Z9hO);YdHD0 z)b2X&3Vwxb-dw{a8P?&x>nWh5SHF;Zql>omDGmRAKi0YyGh`%$%!s{doY@<&0>>uY z@!RoJo^T6nq~&yRgS*=zpB|^e-`uh*z_SEVRRm`hQF+~f$!89)$C9SGrBb%w=tLaZ z8;Fh^=I2?-Ut6F2Xphi}Xa%nuCumhP58p=HCFi@4pkV7GmQAIFenBY?& zXo$wBB$zmJ1}RviT?A(735R_0oXfcq&!!1P_6Eg#!dER^!Ti_QIb_c!C@|^AB)kNR zG03RPIU)MeMG)xs7M!ReGYF*IrQ9ISZuzLDVQ*@{-hg=GA?JB0uV;k-<0HOjkQ<7NZVaUtK-Z+l_ex0p zVzraw53kt8Y|179rd|=4S99+s6cdbikQ@kz#tBWCAJ~&9c|yBx%BLup^eJHuMAM&L zCA79hIonC|m`912GfqBx5bR$x!AElf z8*?^|AbM>dwi?y>4xz`8aIh=?8+YXshxZXM-FkA#N9lcZz4dgh0sndgHnJpp$RwZz z)*G5)1hZ>u$uo1@n@byUNXOXdvoNMumPtniTMict?&djQ6G{ULi>QbgTTiK*AQp+p z$#V}Rdla)lJOZI{go)BTu!|{!B~0nWtL$cNkF}mWg0!wRv7+9!=tX0W zIuKYjy+l11IRy@n-`Ddhqa>;~P#EwY9;?e6uQtnLr=rABEgx)Nf5;Hj4mf#($TOU} z)p8gtcouM*S4~uRpO;ULr93=&-rsrkic)N*v()MC{`qGq&$Yg@T{Kw_JIU!u`|5D+ zSuSfOrW%^pT1-AgGwztO)PRimaWDYKL}7g3%bv;w5cUr@m3he9bp{DAs^_jmQSI{c zzQ~j>HrY#>X2(1&V}{BlD=yG$!sD~klpaVW?Jl+A1*Vt%5bhGtno3sUugE$uJ+z(5 zg?wW^t>N+o5cYV37A>H;bv;9kVqJuJ|++OoOAf^(SevPT=5Ci2y%tuOrUkDUpve%cBln zjtKY?5$si@L-y$aSbML(-{wO6V1JVh_SyDE2k(&flr@XH+9t2o!D?No#u#XWqT!xy zmm;6NcH7;^j@3wKL-bwH`7>Uxt9SlPcFxF)OE0`dD8C|{?b;vjHrgxx z&F@1-Xvaqb370+lwd{__8C>DkS4lGb(EIm!o}}jApA@{xL8l1ea?j}n&anXkt_{^3 zk1q`dJeE1FV>}Jnem`akUC;qd727JZ)O+7_?LaDCFpA@^ceJOzf%ZFh7N&a{K zygNL8r}Cv2+4(shbX?a-0;^-loZUiCJn>i#>~ilH@NO;zm;TI&?}eLFe@bA!d*H4+3g^_%;4O#> z1&2Y7fFmDRZk@-4rIlyE^4GE$mcN|f`^AE8U}raGxD6$Umc#_AUnn5zPc;O{`z-C@ z1S(s0UHKQ_d4qds)xv`dWbjx*S@&7Hlu!nbEtr*+so>dOvRnmEXJ-!C3M)P{<*V+F z5-|@?6f5Q9a!Lx^cu{r}jamFTq^$E=+v_IR##{9DVd&1|4bLs zquKC+*NHE^(C~gB`3q%N#|vOEKp1h*KpsUa^C>~u0`mmfB0+o+$|{p!bQLnlWJ`J5 zKZm21!~aTl+H6W|gWKENRy3Wp`0&Uy%@=7^|#6=~J-ukrkxKqZ>Xu&hO5p5}c2nE2H}m9G#=K&HyUGsRO|&XbSOFL8erjT-?(jFOTlkiOS+T!G1O8YE?wU^0S=js0tBZ#$X&q(trLjJ-~Lzboe_A3R0hc zQukjSa8zArSbwN-{q&buB^3_(ueVUz(Eb{0rANZnmaDsz<#Hc^GG13MlRDp7`M?Z# zrD=vo=Kd}-Vt5{K)bNxTIXpRfq{=gZm2M2XAw-s3jnbTmt*U=9(yDr_vTaqRC64l; z>5}U7_a3N8uO4iyjxFF6DGNn`Iiu}B#8)));R{O%O_;KR-*A&wvCD*86xK&0fVd+uh#HyrUnPV&F`3!$|A_$^kDy=YC6*3XbaDSXAeju z1GAqp%C&0K2TzGZ*>fN-b1LCkorJ;Qba_+i>O+jyn4)iJ@O-!DMMr|ih>)a%n`74D z3T-42C$E|yQ8EiW{^2g}8f(7o=`v@b#86x_V7`06i7;P56q@ut;dTQ(7eBmTzZ(wv zNp#ih#glLyyce7A)7W;tCc;tcHoA$%VLuA6A^21+p#HTr$_oR@#`9B|?V zTv7$S9-3jno$pFN7+noG?OB1_!GsN>n~*&}jHYMP3DTbztyb&#y8eQkC&3RgiHG47 zQ@!zCTrO=Wo~osga3eSvdhZ6k@oEHGj>$yvv6y{n`n}s&QZ`N@EN zn3}zoFwUEDl>bM|vgn&Ht$f)CD1whgmqH3ERC@#giGKY!`Ss&SI)l2ECwP58KA)CL zq9@zD^e?Tgc0|JvT*Jo~sQ@==(8&2QzvDrUqUatQNX4EbSqEf`&G&B`Mi%XwBvEQLYJGJ0o9C13}KNaWo5?mnX zw=&Tb-+Xm(Fsgo`)(f8bBzNajR;I`VsFx(`Y6v-Sj`xzhE|F_l-kq}=(*qn}f7Iz( z=r-FoVSoJ@tEl(S!7N9I(%j40F+?-tl$It_^u`MnvPIrI@m&6|`GT`kClL7)q*3oV zkq>fragcGot3v9W-MeP=3R1wYsuki?VIw@2T<{{GA*n@C;NY%(FG#p66(m}BpH zbDq?We|-1$&GDNLb9ZYKy-K~mo4?!i@Tt_}KNs(@Tdl{V`3I?=HWkNtH2*;LUMr6E zN)q|15OVK^e0b9Ts79hdejc@HACf z#Ytu=T|9zirC~PdG*+379G#bB3XXzlP+^%o7dsEOTF{GkwamLEwMy{Xy-Hs>mq{cD zm6vD*YeNp0DHX6)0 zD_4hbCjq1>=*1i=2(BxGN8SdoJn`oU94h09;tS#ZFc?5w;jo{xvKB{YF5FE)@&Oj3 zt|%DzR(HVXD?nb*a7w$4eNMNrP^+U9$Az#ofbd6+s}%_<#_f^Wi7~iOe>Z2Z=H+ zGU_zl0pd#xU-ECcy~;uC z3}K+>3neJ{v9XFjb7uj|k{$_vmz#UL%XCQ4t6KdMi!b`Fw)A%Q#zX-G+KW6O^m$# z=5|!ct>R9yCIHuSwmWb0y?U=od3xX}pSX(e*>Ri*;#bRNMy#!+q{h)vemn2YbfP8N zf~V|sX=KY-@+`~X*4>3uy5W(MmHeVgyi4^GlvU^=lsSdMKI2n-4QdQg8}j4Cq@6Na zZQw5%hz5NkWis%1LUW-mlGxjcNV1aFT2+!@GUH2%X1&6*Qd!~H`32Jt5ot~wS5=T; zk&LeYk3JDs4T75w1)VaXp$2x#Kli*b;-?YCgzw6N<$pEz^xdwR9E_ zLnFl{C6`JlPfn;;SH~2nof4?mk4LpB=0u8$;uHKUymp8#USLZ@Us_*kRQAlmT)`?6PQ#O6URv4*U>2W0C=Rp8H|_w?8xngBgV78wgV8GAfdnl!z8)uGZxCI8 z&ND=iuVzp^x>SnAix3tBmRWTkW#$aBDoM)lnZV+R#Bm3k3zJln$-zO`qN{5N;}{JF zm|qOK=5X=$A}At>4=#Q}FsSaS-z+IOiXqXJKw>~rPSrqXazkl-fEI)_5wxFrkr8hv z(Udsqc+e-zBwklT)M)fM7(|+fshA`MH}6s(T1kSSn{wueb019Bn!^*1I7>{O@clF6 zduM{FZ+p?CHyc7iPma&5DMzAHj_aUr^~Z(oix3=WQJ&&Vdo)#DLvGefyF3sd;Kx5l zfypzjK?+eSE{rEQm|~L)$dlO^G9LGV(p-dg%P^~|@07;iT1kgmh`0;BLMZ2Onl%X~ z9A_?t<-;&erkEhLp@gP>lt8xPS(IG!E~mG^jEX+(49gyE!lGoO8ntj(&uVPBAOm?E z-L9KFc+dMvM4}9LvC4N+YAT_(`wxe$gu4LNg{;!tUnv;-en`{*8`_JCB@?6#WPgQ!yq{(6NY&z!Betp>ATH9kQ zz0Tf6XK$mu*L}9v-`Ts^-Rp;Y+r7PKJ9|4jd!07C+}z&V?CfoC?CtKXusV<6IhVhd90Z_Frwl%bYf2i>jhT8q81 zXCWn0Kq2XLV4oqlMM^`&J{HsK+|IAkHLh!5?-LNe`!?1%cuOLXH(#iR*Edv_i*~`2 zZ9r>+6E!tKO!L^J|5KU~xQ$D__8X}OzxrxHvevL+OH0a0Y^V{N5UHCMwL%^{c!4i_ z<~JOa+iXbIa7nAHU_r{1mof#ZudkAg(KXup=riSXrxB|xeMzAy^dyxdhZk#{Psn)2 z(|7<09fL7j?Oo4CHzKqHrnxqtYOpR}ojq71-fuJ0kw4o+5r!6%-W(C@gT)nPc&aFe zjRB2z5Q$zOH^elWVz_?1I~0-n|G2z_CSjCdCORdk5Z#&1Nn~8Sg5N6BQ=$U5pbx(U zyP#f&_6r(y=6m`^zx#D@9gZ<9gY5{o%s+~T0px7r2T$HM@N5?p1o*Ko-z%h6*dC1V zLWkq!tjC+cONFQ(;swqCgZ!9meUOS2oOA(KjyhqGB7#EsN9~(*=^Pu!ZK1xjopYW7 zpfQ|7GJbt9ZaiG<0ACUxJ~WMa=jFrIU`lnm$W~zI=hK*$zP`qW!4=1>VaRbhdll{` zyqVS4+RH4bP}GQ_*d*4u*KIurHsRMt%W?Bk=32W!aO0|TrX5-f6Be*bf){%Q4nus3 zdIP?^%bIV|m~XQEY9%P3X=Y&5o?OU ze*N06fG|M?szJ>{4XhB{>HEfgN5fnFsr^Z`(!Semd+%bzvbgT%YP^-2*KeGEB-gKo zT`RcDsTJH&t+bK^&3(^s{Ju$kXNbJyjh?|sUW&AF5Sf_DBw*^m5AS;S$&=l+Cr>)v zod&y(Z^O@Ew{siT1_NS~MLkcoP2dc|6vzMlAA@LgBcnXdn{?{Yc)zp3@Es`lf~!d| zzGl0vPHW>g6vKz$^B#@J)`jnk9542KUV)5_GP|(A$=!^C{aCc(*oXre=*k}&UewK; z5~Av3hUm%ujhbw@RRR?@eQYo^je%LP@SDCr-shEfUfKI6Hz^YRl?FDjD$C@cGDw4! z6qLloq+D)LE+cNPSsPFOl%$*bDcS)fF#o*+j3JjjhRhjLTj0#t8JQhGQ!aLZM2E}< z&@uTrVWW@X0Tgi{oppUns5?L}%@ps_C>(@n4kmyKzeJ@H>?roDnFG1OjO4g(V@o0$ zXRuQ;(|s~Z#?gednj(Unvs?iIqOVdyNmmIkO$!#ux8x3|X>H3tPWL?B%fyHHt2;nHA!kMXIPyk4dEhPspePG#rmQ z>aJCk;{zM^x0=tk$*h=2j`xd0ORv6d z>~4C$ZFMqWz$38P;~I>^`Z~AP8;Zk&MI9wwW@vuJc`h_GFXh0YvTj~XmKLt&X9?=wHw5Jhr^*Z+rg@5EhWP`KM)8ydLZg7;OCD(F z3yA*S{MNVmH^1L2-?#tg+ST4}vKu?QTea8_Mr-rzSwi5!)F)hhh}kbQu>Hdj^riqb zjpISmio)q7rg^xY4hQR#%ihN3=FX!r7kruf6A8UXbCQP-IuZaYtfKX z)p}<{=5o%Zycmu^%0wxGA8hi%^yM`W$B?}bhe3p9nVboU`BA>43EpaT99s_F&N0b( zo37$)huWk#C*5Z=kh$?RF3r97p?+fn*u-2mdl%o@b<{niX5=F)n;NCjYhL^bejgtSDC`{%B>l6D z5g=)Z!$GH8)KE9mQ1{cC*^W)WRxtr2AAl7@8Q$>9&eELG7;^3=8V{Vy?WiYJ%cxa` z`uzw3oz*j=w)-1O=pbBj(C6gS(Rn&nb49U*Ny;XvZmeE_rLC{R5^j9W_$n52 zo<4Q^G10>3Ey-$>Srh&$3nw;*uui-K zmc~%8^8#&o?)ub)ZiO}OR$F6KbIX1xWGClG9pmK;MceCv=7*G5bxiYbnVGOg&e4mx zBUW~Nn}AnozL;tdrdSoQ zc}|MuocY!0Z@N^KE;;N8R)?azlka>NPC$@MFkHeR%)ch_q@^ZY=I(*)dj%${Q#R!s zK3Km`r$LWGDuj^e=pJ6`Ev0t-(kO6_(O z>GDqO+40zoYSW|RL)v1sDK@Y$-C%mQ21k{=ap>RWZn#?$<;v{_#e0`RV4Uu-kLZW4 z#nJShaiM!!3ZVmZ?}~aeE>|-$-Mloh99&&{ljy>AZ;}9yZ7 z(0sTKM!dSzY+r{EKzKF=54WpvJh&eQUsc^w4$0a4pxMESWh?MXJ(up^us`nIqMfE5 z`6>;U=18nu%4~HKCLBGPnGGyGy4rMfv9wdq!6h5|RoL3x5x?~_{dI3|4kt~Pu%y5^ zk(=Z4@w*b(wwRE=49(gwEm4t7PLd!T!x`*E0XPILCih?AB!=`YZII&~-<8?3iv!lx zX<|e1MHy3ModA?ppu>gD&soz&6l{{GF?AS<)9@|#(K44it2SGfPA8kJrNVOe`EvI> z%iSwj?(Fx{%l$GMUxyQj8ucYtyjQg1XYV>oTk@`Rhj)Mf9iEIke{XTI;6E&N!Cia2 zyOceiwHU9k;Gbc^9R}m1zbIJn?Dx_Ou5!A6$t6#6m;ChGSBoxqFdjq1y1V9~vBk~T z)t6i{Z^Nrg4o~0yoNoQA%Q>#ccrDoU)OG{R<&zudH5tYElHb`a+GpHHA^$g-@+EZJ z1?+4vVw>L{Hl&e2GP?q97~IoVPQfSxuf}4?{Ei3#W*&4W+cJ1TU;~Zpv8$9lexLQi zXi!(MtXr4dI^twmM{2~!HbVAj&5$(8=xQJ-h}K<@y5x#UWG$ASC-AsqTtlSrcqin!;9PL41{@XvfKO;@jU0>$QK2M#E9-HoA$%VLuA6S@>)H?RW~Fhvx^$ z{csp^l<1uwD=WBjk?@sq_|F#D1HKR0csm7n4-9Q`9&@htT-fUI1>`F+K%8@E0fuz{ zE(MRFDFyT0LAUs^q#h>2+`s4(#n@^y}VQbfUwElt%T2HCdO>pZF7PC-|FE2e$;E0?9UjJU%@}#Aawk zZcX0mKv=y<$h0jtFcci)gt`5g(h<_2-6PeT>Z9Kh_1waiTjY{NK1F)b1ok{9NtB5O zRplyXZQ6s?I+DRur%F^fArh=XYd~l?&?CtR`$vb+3WxS**{ThivnN@(!F(W6i8C4- zjq&HSLA_)MYEYVLoSU>_D}~bDEU5oc)WKNpp$4tE$qxb{ImriVE z=f0&VCg{?iiXSgsDuG@}3Vn3EYzm!aA$Lejq)@h(K~Dr)MPp@+4yfR`XcT2dMZ%zP zXr=|1L%}G9C^76B?H3?s@C7F}5t!*;%=l3?H4M9)@a$!V%%3;B4u|t47-bD-3C5(G z1~(k5A=2w80ZtHM=QJ@Mi})eEV8p@Eo6(~=!6^IDF5w2xYBH~wfYH!Qf2j`QRV z(^st@pYq|q1t4ytBs7LO3=F9F%*a4}@dXA^<^=b0Ht=+m8k7qgHoYw!nQ;gdP8mG( zdl2Dy)YM7{{VB!{6n^;}K)t#60wX1(-RvoF=o9wS#`dS|VSYer&DBAx#fLpz#2T=( zV_E}tcHGv0ha7QjGkrKl?Kv6?W8eg)E8VY%je2`f4`cd3xqu(qaL&GliHSyVm@?1= z13dwUfkaF{9MJ3$KdE2qVU|Q|dXV(58SS$fL_-#~htvh^5WcoaB;41MUW{69vo+pr zKkm&6jD+)9DX;nPBCM2{Y9hBjR_ag4D@m@ehdOR`LW3AAe?QOg6i*Adr=t`v@y)#4 z6P%?fjvHrbFMF2u%wyg>O8a&JVia>C&Ms*{@+WZ<*4aJGIlC3>h%UHuvyKo~0B;7u z;ZJSz+RWgDq}&#Am^ww=6EbId4HG*|er^F?O>m$(q#j;v8H^{f#%hF4#uMkgtBt;Y zL4vMtzO162a^yaWYxh8#O3V5s&!ON} zljU88^roY`Ac&^uV3iT#h3*Orj{wLfROH{T(<&&OBP(E(t>zD%^R1=pbX>O#I}2(c zE3XK02IHGv(mDUk2bsS-i)dIp3XM+wPF$w`f|e3S>DFS5r2~gXWrZ@rh{l3S3`6UA zdkq;-6%R5_hzY?4vkFXsz)p1p!O&z{Q}&2ueW6Af1ii4n^6{?SUTJWs8Z5IFu+lg| zt!NsW2_Bt>ifD6P?K7V@@JU9goAS3IFPudh$yBa^D1iZwAJ#z=CPcB}}Ey<<%pAO8wS?vi}cBC&U8 zz`_m&7;lXWyf7y>&5h=-zaDWo$h)btYadp$&UzbAE(R=DnzX9ekD|%&S)` zne}3Zri`yJFVv7oz~Q;U~Q=e?F_*~chtlj>=# z#d8o2!HCr;7>A(kVITxbzuGWDp}GyaoQ{zG%lDN=P$QEC1gRBCuCLbJo*hIdaYwRC(IJYAS1 z=#}CSL{rQ^Ma=;-FgDanp}gY*1qcQ_b}D@Wq*>uFvk-!`qh14AHPct5E1+#Y3c(;l zGmvX5P>f-4kNl*7Lv<$7)B#YKMM^_7oU1_uX{4Zq2%L_Gbis^K7v7}{?E;14i1aXb#A0o5#6@WOjc!Aw%nXOAuWENKbH6sUYU<4GQ?`*^ zHNC)dw)^m-OBn^1P@QkDe|&m&(0q4x214E2qhtAAeV>mZc;>vPe>R_Os6(c+>`B7m zp%#!bYZ*LDg7a~bsOaQ?)>OxDJo1N8>T*a)9IFeMQ6ER4F%jCZC5%kO=XEB7`C@fb zn4`b+u&J8y`;PvXzubwnGTqIir@pGf?rvj29Rr9fsNEg@-s~Bj(BUsu}!|D)} ze=8r`=KoeuG?16-(4bz&Hxnl1@LuwVLYiI`LawR9bY1UTxB50b9%bpZ-dB#Ew9Ey) zEJMLZ|3?N>rMRa8^B%JuE>u1?3hQmq5u~{+`7iQl#kE!5F6_TKnF@8EmvUGWTK^w|=sXq*J>vWESLtCZ7#1XyWiFKZ z7o|uf7IRFG2M&2ubgfCs+*-*ga-BQ$Q8M5h0(|4U2r4n1;-EF}!(beEWr%uH6&;O6 z0AxT%!g&tgZkf~9Hn0}nVX)HIs-RCbHsrTtN z(m?~$yOv?fKouI_C^(`Vd= zYr2!y&hT`lS>@{m6N8Hj*%H%@rkI->X;l@UfXDQ z+Z*k6uf5&g?FPHso4dQ)mpkn~f8A|wwcG8@PTLvJ))iheH?3WjuD9mw+7*}-9#`KT z-uE-!_g43!9k$^`AbQ=b-m5P!VYc55=(o@Nea45)$K390Z}HwY`KUY8e|L^iI|8f1 zCMq!xfnu4Vz_iFAI=GJ*jaiqKtMMIpCo3|;E{1D=ad{<0;3bPK zE}M|u`FzQjh{AteAtlM8Vj214k1BpFOaT@F&zSX+l&!lkX)8PNOQmfuDKbL(&Z9XK z7YO;fv$Jrj8)l#KLCbHd%nw=`au$txgIPZ;o!vnDiYt;sO7g><4>iyn!Oqh`oYKPa zf4l6oagIWxFsg{tT%_K4N<&M`Gfmkv56*8eM-Mbb3jPu^l;~y4PLO8kCd_WDuC_ck zMD?7(yrdF!S=2ic@g2q>e&!A1+XaVF>Xf@m!Owzi?&cC8rnIiAD*qCV(8R76fW2mF#(8q7e+}7Ae&$gaGl=`e|uTi@Yay*F>)9PgQh;n9|aB(Y>Xh;)eDN1dv!*;HCy z1oF9zxvY#MNV^IWPCGKdI~r|itd8kz?^r%(iXoiJ7I|Kt{EH1oSJfC(C@mRXc{o^?5HgGkmTBwvcGr?$~*B%Y9G63LthQ-x=%h6-F{3HCf~1N>`lN~=%@GQ!sw79K*VE6X2#!$bQe8KxF*4hzxQV`$H}e^z zSsT}o7K`?+CG0xz)lz79)!Jefinfg*d6(Wa9w1UfoNVuTC)W?C1q7j{2%oU|g|W%9 z60y518>L%mU#b0u*3|!6?8}>zFO7>OVadbH<2%fP!T15m4v*iH&*mWqdwWyUoKoQ| zR_5#fIaiUvxFS0S0*6C_iM$;e|0nFn)>iu&>xC1Mjge2sY=}ZXDik!>Lv*%dNjwav zn0X7_m}}C98Qi0x*I)qtgb-&mg3wFKz?%RME@CJPE{@@SEOZjQb6yqo`g-C~UK~uF zp+EF6RDE-FWKXnpY;$7Uwr$(CZO+8z#I}=(Ik7ddZQEbx_ttxBegE84cb_`7YoC3p zS6A*mrJ9qIc4LUN^|vUR!ib^BQS03gHK%{iL1D8lZTLzctCQQy>w4$MR)Y{LjGL{e z@x99r!;(O$0mvWZLlmA6P7FWZNje3%R!uGtY+6pf#M?~WZ?=pa+Iv3T1#)!33y%#v zW$Hg4eV#KX#b;eV4l?}|g>QvKMdupszxG^nu!FO<$kIRrRz zKkr@c=I0ORCHjlVg+U!y060RQ#3JlHcW?o;QFC4>U0toG98=*5P}dUwk6|D>|~Jj;8@C3rhi z5a3(+^5~fTuzN_TnCeE>*}?Vu5Jt8My)Y}QEMS-!)o5Sf>s;@c;p#0s#SuID0v|GN?LRIog_uim7}T3?0;Yb6FL~|LS7-Ab6aU4N@Jd zWtGa72w{qC=kr%Qe;QF-gT%a=FSE7{^*HE&dqS_S+`%YZ@1EQ)gSvDJihgt&=EyYGCXEbg1Vz6e6L~nS<6* zi;}as39PZYt@dq=rR_W=XmSfsyF~2y=dd#z514igJ&{wHrZ8?_*3h`A25+2P{9Oi@ zZ~y+f7IVuAwH&V}iRU%W7CX-CI^&CRTZ8|XZ7tr?TR*0dXUEGNB`wOL2Ez5Qgr@*M zx7RE4%kB#I&AUwCG~lu1Zb!dGUt6Q=W3v9OS~R%Vk9h^U$6QZ+d~qDcd$f@jT7-4Y zHsr?y$Ba`t6eSk$dFACs1CmsH^7E9dr4M@t#*^%N$c>q`neA>R=BzOY`Tz3sJR)hzztdpXd|4OmXvrV9T<()D8s@xU8`cG8Y7`CS@U-B zbn2JC4Ma`kR@;SAO}k1m_NLAosYoR7F#?S-=vC{ChWwa84p`DHDH%xgHx_H!In*93f|7yKkZci+;?fRu#}4#T_kY{$B2tEAqk5H8?noM_An>&b@;g^`` z3golMl(UV0@q0M5k;*Ag;Bo*R!r&xErNQvNlB&1cHFCwtO%5PJ$Nn-o_5CXfHUkTr zGZ&N$r(IX@C3ff0Op9-UnCxw*x(4&^DEdbb$hBjCFj?WN=I+wKBN>(vYi5iC)#ikw`c&xLN(cv1MA#pRN})wyr_&|y0&D!p%p`Orr5TH zOhXbiRg8Mr3|D2AwwMpR7V=7Qav#Vns*Yn9EcimRU-uV3?WFzG-9uMDr_ybj4K<03q3#F zg2Tag8tUmC3^ynFJ!e^77yqm4_gSwn&Tr2ry4C%#76CC|Ryg|5Tb*CnC|Q_Z{_g6L z5y-+!fBDcwmWiT_VY5iNu*aQR6_5qnUquf;))~POpH-8Hyk*HXAcyC63>`GS2l5iYMkzo}6YWO-(qmy5f-{IPCSr8L0Va>wh!Y1-I_Mn7%VXFY9EG@WF z>%%ts=dKd<-QLa3Q+`@B`QL9RhUZkiXBeN{_yVc|mV~Z36>Na75Aop_kR7UgBuN7uBJS_B3F}7@|i+w#kRIN&8wUJaRGK=o6o8Tz-4tGp@mQUMkgUhTEDzt5CXA#5Vw z<4{z!#&-v#5hSFWq3~9Gsod6*>kKeil>bnVH6J76&@igYPCA(N%(!?$6{Q0=jT)&r zYMJ1iYH0$`586*k=8uXemuHaIe?f`O(f?EgI%;ZCHdd_v(DKLT+onRv)PqPIAZ>?<>crI-|ICn0ZX6)!q17uRJjd?$p@~Y*4&>}N<#gd0f_bT z7B~h^yqwffY8c}**Fb2VD5i@STDzb^m!o=*<)WwWrn~s)b04s={ z7Wjiu?kft)2-k=M7}%t{(g zNXWVXJXxNX55g}!>o_@S%5l(C2L6@uW?$GHENi{@8CG?9sVHAOM=fL#SG}fpTE1;0 ztVL!5T%^K`lJu$_Zry>#>YkMn2y++vl;zQ2qo1uKjRs28IAMdvS$60aW*Tf8iqNO% zMi+ukn)%ownFU1&D<@ycg`>2tVsdrTds6*F?Jh=4;|k6Bjx zIgR*oJW68gPX38rp^9#XC~&Cik~VjZ?e?jVSJEf3xs@%4$4P+rRd#&0t&q~s%PYkT z9+`QVOsa_y9f=b88b(BIYB5#j_+e?j?YD+RT5KuS6L=q`W<=u*UA~a;%-j3PG(}eT zq6Ge#uRJT79*n&M^cQinTAqP` zB-UeKd#JAx@}cCbpBqi2HB%$(b&nt_$K2y=0m3VruZBYw?_d&lYXjp?*p$rD!K|;mTzY!8s6kXM zC?%9%FCs$5vDIa-BmbweVnnktO9&ccCsCqLHH9^zmJs;yOj4=#u56em=loaQ+tH(l zlEK$$_-_&(Y+Non=Hg)DaZxyZU)4_Wz1hz%IsbJ(n4uPt3NsO^T9&eZ8Ic`f}-BcnlQ<|MK(X6Ji?90&!-H=U$lV^sfqYGD)C1V7B+dB2Bz&<6%O+kjC*`H+T0yXSH<`w z!!zgv`RssCMhvy8^+k!PmRN@ry-{(myQ)J#3h|_Hn5kx^fW*^m?%vz6!dy_kCY1dw=VB<4Q|WscRhQ>@z2tps22cF4;Ye;z$#0P)&YDidY6$sE4mVX+9U!F#-)N$3OZNKn5%y6hdHy2Y|Vl^X_g%&eQ5ykF3+I$w+b}=-y zgIOt-5$(FpR4| z#kZnBSfo$jiPCspMW=NVrcvqk8=7Qm=A#S=bP0s+r7i1bE`78K{maFb(yNlZ8N0#L z@E%=0JkO zDL^VkRAeIg(w|gc=9<<(iNdJ1*w=;(yk5|(#&ux4kDBk}8^Tt`5;UEf_Ne_Sr7G?u zk>(lGf&|a$K#j8!L#YotJkJM7sc>l-x+v!Iur{aRjuWb(73;m7#Y+*12pcM`=Ytr(K3nQ$6la1(4}%Lf#EHMjA1Z?H?kP#BJrhn^Ec`*p z$gGuzr$@EmOw^YDEgb!J*&4YmEDu(_ryE~Z2a#{mSI%M2|G#HaLq&iR!UP0#lnVp|*gE;& zJrfTHb1N6i?;Vp)Ejz#wD~X>u74ML`4QkCU4d8~1pwSFz51m7+DP-BC4)nRIXy96% zibb(SRnN_jJq8{E@nnossV-@Hj6r>UvI-sw9s&v~Tc0ary-4jc1u&0UHeLNt3p1l&NWhCmXlU&E4L8cczzXZawrhrIm;rnc2qfTC$r8 z=69nnom*7oQLwK)>2&NL)=a-0q}HfXGb{bwICP#6=RD`1KCI=gmc&RX|VR94*^PNPQKTXm<7#ycLy<4~iH1`P}*EuwNGD<=;R4=(L{Je@e+tlZ}fCde65 zD?K{i?L6v=pLaghoMvlFD_15{>jT~>pWS*+b7#5-U#;6#(LSb8*&|Bz>8>It8(Q_A z1`n;9=?@$47EB+6T&cUW=^0+HuAvMX6T!XAxqG^fqbPzlJZh(5Gj8^`@S~|B1#BVY zzPdE;J$_E`ffV4D-ejk4l>>KSLYQdPoHgm~)z+4@yaS|Hn>N1^YKnn5esUpFXE1e$W~@LZ9#t#<3*CS(DTe-a zRF`xL1H7jvKyQ7LU1NL=KJ3_>Et7b{X{>7enU@SQ>=R{bx`jq(vFtx`zH{8}uY6cA-B||5KHVv-$~q{ z5&e2!++gk#!mfP6=iM=9b{1OLFtPpBx^#ho|Ybu*S%P%ai3C1S{?#?%o)Q}tvk5yX(H`6S~9E(vl`Dp*0NU~7_`xuJtM)>S+e*hza*d~Oj6sWtdG+rFXN`NBqbip+Q0 zic`2d8235%daPu*yg6OTJMBt=rit1xP8Tx!ErX+xT-RwP-oNmoq{ekpjKW_Flfh|* z!MK8?)>;@)cXG*u-hRNAIl!iWdSUA{`vsR@I;;aC5Yqen;`};~#p^#*xnwau&Jr1w z5;(pTQewey8oS?9c42rR7Qm%*?+P<4fS;X{{ppzgB(I;_#T9)LeTY1@H~0ax_i)5X zJ_(ILIxs4MM(p4Ae)7a|YLv!8j&RfjjgubyMGI=Rxh#nNtP4s|1)~Al^}I0&dwcl8 zRRX^@0{wce1u@rIje5V+2rqhj*xkcfit-ZIaCz>$EO*2`iFkbWi0{Ilze0J^b z;?jY&;`aR89nXHv?RmDQ)_{)yb8BlZ-4Cp-2h^ztefv}4n*HCY#9)Rk3g?eX@r!>Y z2D()eGt7dZxV@NV`^L^2wWGZ`GACj}F~9_OfqY>4gSL(4_|#2~AG`h+5?FC{flpp9 z%7;0AXm5-+AEs(q@qSSrh$c_RjTv1O?oI;TQIPuAVRTOar1`KAvUkqs+4Cdl7dbv$ z-KE%)HMSZxH6O9e35C5*u=YQC=w5z`vYT68@!L%hvCS+se(mi02>jks)^QcL{uv@2v3T?kuf*Us=Ix&rH42zu|N9Wx(k^8u6gmt6uTyoZ-fAV%zFaCLj4r z3R_4UjlQMEp{+SqX}F()LDW!}=z}4rj8y&C(g>8zG$PUJ57cOZ6q!Ty`DV1oM1d(9 z84ttw4Q&z|+7z*342JqHZVXvLb7}&uPaCO+XC6KsD|0^D9gkOynRBQhRts@6-rDg% z0cmZP=Bb$x*G&;1$G9gQNihN4eS-!`hbt5W*6gyFs25nj z=P;={snSH03wA>80FhRzrv$DchHw83E76Vu?~*aG)> z)ce+s`U+z)8m2lPCnp8EO}Xflk*;y-2B`&{FmxM8{|gCO#X&Ug-s-(T(9 zGh!u#7!wP_$v0xHQCfrjMiL#>-nR%XfTB%c*c)+T&QBRtB3C7@Kqexi4y0Y$`^jdV zf!iW%hdjuQr9s@B;KRi)!GKD9i*N+>vWzz+#5+7IOg9e#_#U)M2>Fp_K?69lGM0`y zdZgAV)_DmCWFVTdc1WMCK`|;3c`A(z!iZr}%t;mBLL%Nu{*vt!F?1x6wjlX3kksH0T%*rIP%P z?EbSN+;Hqqu4@QtmPjsY7n(!RtxP9#c&yOBAcVha_wRLDu|KgiBnhc}bCB;END|Rz zqF0ND#DMspn1Ll>vczoDC|xC|ow7)7oHWa1Bt_zp1_VQiytBsR1PPR4?!m$}!BWnT zhgg9gFeD?hz%77Ygi?vh?o(X`h(?SBiy&B|kkE9tWAQ|ag#3UKh1C>kw>eQDfAb$A zg2D!iF=K%P2mZ7!M-tlu6EY9d&SNf=2NCVfR-F6b-0#(dNWA;OuV}64i!^GY2K*r@ z3q)LpQ%opiH%nxQKmpg(!ZPB5(K=YbWo#xmeVT#HpcP|K zrvkmO_sp@F!Ign{`KuwDf!BdzfxKyZgpdxkVrnz~fvR^<^L+`;mRy1O`?&GI%3=H< z1E4=t?N-9Me-RFwDuQH@6H9N}&jQu)$Ga%17{Zq^2cpcJ4;6z>0P~{$fFw@aKZdjp z^Te-&nSp$POaq!Khywx%CRuR;0@4xkoXMp8hqX*5)9bm%Ssl2&-DC+fV;Q&>ViKZk zKg$)!zlwElN$6&YB<%%Z<7|RMk`>n}h%rJ>2q8j3wTZANDy|Yz17`Xo2B-|-nSGT& z$7rKe=wW^Acvj_PeYqyl)7sz_18i_+U|g|fFvLm!+c@K02Ys?)W;mPa>Ug;s?P z;&bz8$$7IN@3NuFkG#$ZIV<2}H4V2R(8WqsvP|I1=0?5WKsViwe@=n!r#Mkq?v=oMp!_VHW=1KU~Z?lpjT5nk<=fc~U3!CFHR{hM~LBtlc9gEx;+9`07< z0`|w!1m_F|tbeAMdIs(w*#*W_M8~euQGv_x#wDCc8~jy?OIy=E0Vz$l0<=srbM2fL z3c77845Mj);#D&~Nws7yC66-uOjj+qOtI4waO+|E5bLI0LhABh&DnZjM7f*y^8)c% zR(sHp=c_6qi(8pUnUIz9NFN6wdxf&vM)0OT7(T-rh}47b_=ow91jDix?TTE@&WP_XJeI`>RbS>Y7k zNMam61o+rLSGgtkCq3&aq9Fc+bj4;J(u(qo3cJbPVBt(SD0Bju4Y(%inbLBI)3QRP zJk6p!BEOlbrV@CvV~m4JH?JsHHdiy)Q?b7p`+~j4;Z0AV@P++l-0@5)Y9%a~9tox6 zMS>IB+s@S11Q;mg|Kz1yBs&peb7lj#cFiSt_iy%Z} zm8)klTSoC*_SGT`Rrd0t z0?_-=6k>wRt&63P`{!{p>T(bwbP%MMNOz4&@ z`4Ted$iRYPj5dmvr6==2l1ItVL4u`ntg~ly%5wOpx*&fLxGhnI>MAt{i-a1>+kY$t z+9r9Zz~!xra&%e=b(UXZ|5d{UzNq+Mhps(I5*(DX8p{(Ji2&g=2u?*!3111!LJg1_ z4K7g0D`pQYvuU>l)1zpTTD41X-wdmyP@q&R*Mh^GL-s%1~XIC%V5MYXn00eBvYkQsQ4 z;At5nc@wByNdrMk28gl3B4-l>8g=o4B~thZtDAVH;82@-p;n#=T(kJNVV9ZuPyLh; z$P>_K!X?qh1yQ6cnNWAaN3f)9F%h9UhgEDlF&V(I@$}*3NY90Xbwe2qLWM%$ttR;7 zE|dw@9Sg3CZ3W?Y{tiXT_LV!eh-mJ5QS70-v#bb{P!}jPF{z;i>C}YSsMCkwO%wy$ zr_AVMWB+VJ2rrkf1c!R~` zVn&dwL;~3kZPvw%E`v(=VTM&ihAl6TSH->w>jHf?ELF1q$1^UdZ`U%y^2ZoMaV+onCpxCmrwe*~ zqoUoQA-TG1{h_|4W19KXjZ19vd_NZo$-+kOv`(b%ucQPVx&-83F1X%WEFb6|N>+w7 z#IQWnfe2M8GnCBeNKfJh&P1t4V-^r%(9yAyiAslAL8i?S|N9Db^^Tbs-ybXnU~S=^)V z)X=qIi2#|7S7{_$`KE;VHxo@w)iKqexSjo=9`LnR{T&f`#(QC+Xn5kbO|LYBQ`)w$ zV?q5B-2<@sS= zZ9oc88w?q&uoV=Gf}x(`aMw9c-;5l$fXIWI4BI-_dUBNN$oQBj@2`s1#DuF^wQ>dy zgg?7lb?a_4JN99L06cvuaAxwEbV<)Hy`2q&z^u9(x<`buRhf=G!-1B{WAZVxbguSc ztVygyf>~H|JrT@bQBn3kzxg5^AMVNWAreDqQ6;cE@{N{}DsgPu_#=%|>|Qv+XT?Q- zp?&=zI>gy~SwhwNAu?QDLYX%{(33NgwMu%4D{6>J`;|;`Czt&jCLDy^vt+|$>1S43 zO9JS^s1qdRA!^Frqj(kL01wD#CpwPuWXL%3rB}(+t*jrAM!@fR6m}%x=(`croAR5Z zhrF`t(`%2W*bxjB`dRg`i~ta%s1epfEM@`JZuNcwIp@sQ(nJf5w0DuwWw$BT^`jA? z7QKEvJOLUT;zmt>_Z3cadFC49hn@>P8^C^I>IcnoGIb(~mJr8gL^d`r3)R&nWTktz zrx_-l61z#Ht0Xn*lI>y372gv(K724KWo3h!PQUa3`%KQIBDKw$}QBWcpyJk({ zl#J=gdfe?c#f1%8(vBeQ6go<+VB%0k;Tmjr7$h}i0PW8;GFT--ufrh9G~wfkB^oIh z(VD9ER@#KZRTh}t84fEG{35bl=N$h;%#mHilJ#YY^g%NLD5S`G#-V}63M#G8J<|u} z+X%FO-A3qxfeC`9XfCaiy`C6U2hY;FzFGrZAjp@zMQ(>MKqzfSu}!()^W5OX{Vc@L zL8vQ>I&E0as`iqV&`>0Z`$LQliBpt4AYi>ql0T7|VHN`)MFwE1<|sXY9rLmj|H4j; z#A@royO7ZnMpJ{~`Z{euT2-B_nOux@aA^7q(%;I*}QjWMUgXmMqw-F5owr%C)^gA?r=T{q0~e zF6eKFG?sP-k)RT{l+tkN7w-cuFpLE;Aq3uFHB2zFTe9TBWM4M94oul0o=LjB7FjlChEm(!2AKbx`laDVcWaVz78CwDv&6XYLX;xX$Su`PD1fQ zBam2@Do2>6Eb&xbu%8J~S-Q3Kfkc0fHPQe@a17E_5P3r$_*RFzP88{NlR=}>Rfi!!ANU2P%%oxn~ERJT2f=%io(?D|2T9}Szl=IrreJM9?z;{Jt>CwG0 zW(|xZVAKE~6qRVL%-tnQ<-I8@?$b}YfVZ^T&|8@=L!(JsnYG}kK{bYkD>*?lhAL<( z&~&i~Jg6ER$%2dbYd|#2;YEeSplhOO0Qd9Nz#TBk$^ZuPv5E)4F+yQJjaWxuS4lnC z9@AV%jtQY@)Dy?T*dFsF3|vl0$ICW@(Z!OH*#Qidyb~*9LS{JvqKgG9vO*2OKgR&# zX!aOwoY6I^M%8=Qmr}o<0(&e^To7%4Dod=Bt>VyT`co~Z_1jxyGT>t%`_mwrM))cT zn_*PXl}Rd?i8H$be}tN7vI!6Y*83m@XheY9p(tMfKni~J_hr-AAP|j3mot61n&<~v zzCaq2QMMCdnQH|n2N*yUG-q(()^>;U&oU{~){`Ls6x@-5X)MB$_v7kfA)>ut>taS9d?6BC=}Rn;hh4#l4d6Ct%S+h-1NwKDq<8hCAwwTk2x`1TjY`;31h zMc3+*PGqYs$jnF4$m!TO(k1F7)`kI)^h3b8FJ+|y6i~|sOGdb1A{LD%pFlj~kj{!hf9_DEwG|Y9JnQ;NVznIXCBOs5*+H!<6#sX2EdTl|d z5&;y$ityv>VtL@JY-2{X6i={2YM2irGRYBP94nI)tkmI3SqdK>UQ6$yYGCqKPpK*&n~-%&J; zwMxh409Vuua{xkO3zOTJ)nx=dln7^S#qa_BD$^1z9nE-=R-gb^#Z$nj=Qc&V0JjE~ zFf@Qn5M+wLlbJbA&;l@Qt!f643V2}?mM+#(sURbJr;#uRK>ap^Es+3y+G`F0k}5|` zGj)6H*;`CI2#|)v%*qL*_EbN|zVVQ)B+jv%C?o{ZG{#uVUb3ZTQ6ftI3FGn^4-OC--8LBA-)u-^4gmM51I48M=z<}^r+_pV^Unw5 z<~o9_l0`red$Trk&4@Ze}Mvfrx>J)l_)4vuDJ+lj~k8Cdsi!Y_*8HVXZ8;lDW+o|zHx5E_#{ zkg;RX{L`^z_}&yJf#emyOdulbABd1~b=uHKTS17$k`F>?_7F~L0J*?IoQVKP_t3wD zfNVPZ`>kq2du%`#H3@9MxQUAUS2%g26e_Sa(U38|fOu9WGtd45><4Yae8=KkWrD$r z9?Sl4>^waP0garGlq?NEtZ*eOptJS88W2G2XlRh=!ArB&5wMLqgfi=Zbq7|;3!{~J z4eX~8V8JP_c!vVWB$%`){#;?653vT$OnL^?(Tp|_Mg@>Jx(Pn2!H>g234leXR;ic` zpu2>zq!C4+p?I7U+R^U-D0|*U8deyh1C&5J)&S7Ju*|KmndMty@?Q=BvqzYPdxKuaO;kQAuQW;G_aoNX2df=TVMg$HS*5~m7L;<214!t)ih;DC+?GnGus!Ka_Jo5wSt5XwC?uoaq#m0~P<-4(|Z-M%4ZO#$JDFJiw3g^8NPEsq)AkSrjAy zVDz}*%%An=Zv!pR|3*@o+KxBdBm2)MH~2iwFU)U*mvzGGq|tDm%%a7#MPctGO{f;v zriSC16)-!$z;M31-_U}rXE>V#|L4Dgb1EeTgHSKt6!^dSCCcbA6`?oa5_$D~^MPg6 z%73?}`4d-(S@heDBE&aWX5Y>8!T3JY48DHozev!+|FIB6-HQWa|Bd_Cf4u2Z1i7)k ztAc?M*F%1D9PO3~%!9lS_C1ig67;!fJnFZjR(TLY2}9iP=CkLoJf0Rm)c+_eM0?3K z4fqf7IdQt?9gQJ)9O-AcSA*_f^KWBK#%t4rwee48K?!pXLQiIe-<{CFX`wp*^phs6*-dX5oL(^1_0D(QaaWgG>IN zd!t$!5lXGBVI11zJHA%mUHBI8_Z*7p;<;sZ;c{p>co4tMOde7LYsWSb6@)|MQ3U@Z z6$N8t2dobK+Zr4SDf~Cy8{p>wHeaipnK3VEUQRXlH+seY_^vr8nN4Oz{l7s?QVu0w z!R@|Tj{Z3-7y*Lg`CssPCIT5?+M&Mn3#$kW6n{_f-Gv{YSQ+UVoA)>SHpDk&j}`rg znoG82Wk~jtb->@oGCCk|NR&X|#`u&XBMiU--*&XJKesC}z5i2DqG_)@7#FYtM!Fr* zf6M{yzlN1259h_P#cG-4vQJrO7h^ts@aNDY@=xf3-ySt?1V{Mxm#RpFnJkO+-MrK# z0ZzP!{BC|z=i9(%8=a>qZ2Vu8^tiS~L@ay+1Hr!jBe2#a5KU{w|JpPk`1(JdKN8}S zmw?WpZ{bFn(<#QmVE@y~IKCiT(7*q5)k-$ZWhAAN! zXfm+xu?&Xc_CpjAzeyhD?3cpI3BGfFU1@87VeIltSGW+ZDt~Ony)erz$i5(WcYn2N z?=2*+B^7gBr$E^r^Q!_oEhklsOA!=E0eh`S@l+rS@(>K}p+9P|@jssPZP*;SE9RHa zwMO^PLPYRp+Zah_oqL?GkR-A>GH>WjQcUxB&suwNz45=>Y4AT^0>}4c%ihxCtURej zY+O+F?%xZa1=?6tAXSA*RV}#LR>cdQ-rP~rx;xnQW2w2j)1!mU>EszsF1snH{(LHL z)aJi-(J2*2JK9nCAYIOUapogi_+bA%t?5xRCdSfRI!Y&i^aMt6qpE9h6A0PmzbU(v z*0pn$R$0#X4nDM1Wqw<>dU93elC`{;wXt9vVZk1dF>P<2`C?(gw;||IdKiyxU zu;dK_@8nVNhb*^<8xOe!Q{*cs`Oxv}xB6lJ#F1T$Lej$iCU08Q!>kUQ2O_M0Y@JC) zL8O&^PRuXF*o?DY1-p`lfA9I#jpSlmzK&Dum0>4dElm6zp6(W85%<&eyX zze=J;OlGW!8Lk%sIt<(-Dh008=SPPL5D-c}>O+79UJLqg72@z<0H=I5#qngA^qU0LA+c6*G@D{;53bmdsn)WGRdDYvr+&eIj*VtAc7mxKD7injz zOR~v+N%T%Fs_vYF#d-Tb?hU`3si0imzplT$+LZD`{ps}Fv0XZ;UcBlq@GKBEazE-dj1@>gMV?j#*Vr6H{KAc>1?*FrDf0RO2S@Hbr?B zeVH}8h*j${be8k-hh?gEk+a8r=tWJdeXmz0m;hRk6zYfj!1F)%3U-r=tg!0EyzGqW z5#a3XDykM9t*~d*?YMx=v6shB_pXf1T(+fyKkeO?wR1Lpe6DLtcs|GSdvSjWJRF8| z7U~6-nR2wf+?fmQN6@m~g||*2!#+ROZ}iZ*$w<7MZehEd?-c{&l_j07x=UopzNTxk zIXaW|c}Cq-)F}}>h(6Y7=6{~L=dU-z`qjbGP1;cAxoCSr-*c&8-J!hdJ9v&s}lsirlO>@TTS@9*`^GvFmaa z(E7d?w=b1lOU2UBfukL}etmFeW64x3=8*{V^k!_M5DxN*aQvO4?yyRiA-2n2o*u7;@?yQ=u2jM{G%Kn0_ zx<&nsJCVVm>>=>f{TFG-teV~EW}m;@HAP?U^Qi2;QnN>Ngm3Z%d{u1!@S6US<=$GO zj*?F!|LTvY_Gq3B-bKzQI9H8^VQiZYnT>?=`k}REpLUYv!WggG@mRw+_RHp=CA?95 zyK^5scha}Co3v?!y)CA~dSAXdL|1O<{j&u6{5=fv+Xu<3nUmveU%sHi*6d9={KL$v z1YIxh4mmsDD?{hfXO}1e4uwPd*jtg|)~LewnI9fElmcj4c*6nB1Pyp$m+6HRcQSmH zTTBWHho#;kuA~9XJqs$T61SzdCVa#5$nT@?85eAwHDkGB(+|InB|lC5r`3~}65b8` z9p4&<5#4o{V|@MEWX?JBbzWYbua-|-s0|D*DS2Fal4|#S4+${R$re9~LlX2q>)ihK z>R$F@1$F-eT>9^OvBY<4tl{jD&e&p0ei|KAa~#G{K17jBW-5{2J&iBe-tBbTZ@M;u z?p@rWp46af`3To(WMZ%VjkI}6*Wb2JXv}t#V;Tvd&wff;0b%jdtV+FW1F9x0N*z~7 zv)j1vA=`8+Rjd_|{cw21{lp8KTX?4Jp2OLpqFys2Vm(A-~6qNHXj}h^Ty>c{W z#HFVbu=J}>l^(p`8GFU0k?y7l^~h;>+#PKB2!oWB#u`-{d(8aH;_dY6!$Gq5`TNO4 zI8u4SxB1eV@8-mwFVNF7JJk})y`?^hlQV;Z{Sj1(j$jSA#p@DJ*8g_$7x$_!NB-?0 z&S|Fi2jCpp+7axH(J;5Jpqd54tCNch{1`r3d&KeywKr9E==kr zYxlzc7fvFZ{PwhzCCl^Db9C{-seuXqjxEZbA0^=;90NHiE1#L6@lGVgP35=kSpJy4 z3f5C%`8vlKj+rQb2=_&MhnV?B=Jbz*g^?F8xr3?qSK^*ITLZlYLZmMpT~X%*0t-;K z6`5H~@BL5fJF20dQ}J#$|59sr2c5);7}3k<7V;LySZ|lha&sGhT5wGfLJ^!tHrl0C zqZgbNLN4ej7==Q(sd$~k%t}-tU8SS%E_~sWG;lck>#KNe!8onN!OuHr-D_ly?z%U$>wUfZ*XzoiaO zE9Yyx8cRkzgq=!x-;MF8Dk!IFT;_Wx{_1RS{o_J>@YmM$$9>M={nwaJhKBuT&rQy! z{}tBxQ_c?H&&5NIzXk{1(+kPvefDOfTMp!;>>f9w+Jc)JI)26Jf*KB|S&N)))?vQ< z!r7u(ERtGGW{QS}oyDJvQEZ2m7QyKpcy77whM^(tMcQOZWY_BxAZz;2 z*2B`r+^RNYtt9Hg8es-o$W6ZDHyRPex2GO_UyYROKc<^}XaA@-|bYJ%Ld|ter z9B#E~t1X>gl#o1p4DUb5NVH7_Omb9?Hug+$Yp2(PP49PgPYR~VdxvqXn+$WZ>zIVy zuXwX$PETiNE+iiwytC{1xnI@^;WHTZIBxRUdit=p)0u^EA3A?%Sd}H9c)v7B+Zjd&ZolLN2qqu6(CpE>PAP z=Oa8f;h)V-Kz@eEJ9*Gw!NLHyfDH2GJFaHHY4Ct{8|TeHzVNbFIhEbltD^9Jft0`I z*4WX;HPR8AJb!a^5MUn zKH@*m{)to7UmI+{Y2LL)U40Y$fWuh{+e-8f3~VEo^?`U6qZsH)i2b^=>TRxA+hj0fsYE|d<#VrJm{b3V)dv2h;uJRksC$IW}wz2OYu%HV~l=%dsfwCCn?Do~G$>1fkg zny+f3|F@Y+l1SIQ3_=6FLRiB@b45jEMe`{kICVLg#)92~khzL8dd=w{wGaP=?oU%K z*v_a?uCNt$U)uw{OWlmPz@W^M;od&GLK4HB=Gh;ft>u2avg@pT5cKvqc)&O za{rI2Z;B3O>za*i+qP|I$F{R$+je$r+qP}nwr&48PxpTBvtD|Pp1rzO!8#U1}K7(hg_#zj3?&#(93n0cK^c4*XAx&lvrjHclb*+pSr^ za&0VZftQF^c8vrtnnURUYT(B?c5B;zaEv5|pq;%C;LowCeF-wy@okV6WuD2Ox5x~( zjD4ebtdW*vnpu3>onzLw*K?-=x7Ra09c*MAoZao@XqO0+bs_y)9?ylG8 zw=rCKkz8%CqDOKz$O`OFo5u`z+RHp?=(c_XgXLOe#10m%69(Lzm0ZznrY^*9`zLfL z=MESyo1f~`n@JZiN_db~{zJF?hra$rcXs@uum3~){)gWE5AF7grsK0I;sqnN)xwWV zvaM?LNeR`yfhgd(^tgbzfmqQp^$>5}<~rc+e_Br4!C2`)pK!z~y{ZBj5MJGDRuxFOzHE*&`YjYv`O;SSO$9FDsaw981o2V<(44|5XpRcR& zdRpwURe#k5a{)cR57COHacal+@vL_KpT`HeDRMcV?{FT%7RMO8P2KJI=c!yNy3%Wm z#ew8nRIF~r8Ft(a@)3~+*n1kA%jmK3G-RCyntg?-(&aGo1Z=ELc(4@lO6%gP(IBwH z4a+5)R`MybCT!@3$TP)(MXYFc^ZgbwCObKA9mg|X2Sf)HRfNi0{85R89u|zd zy~JuNusWO*=(?Mk)_H=Yj)4JbU2+aE~C)71zhM6 z?m-6c6(Cx{ncs9kS+iXBQLTmi7ipgba!tbPZ_H*mc*u_*gRD9+9!s^Yhv}(YM8ubSy;#3;B24IWDvDJb^4x{0(pyfD~DP2VLK|jE0idpH6M)Kaw>sIOzn65xd zfwyT6b+g}AjQqFmf(!;oFh(42z5LL{C<+(cJVQgucvLUJEj4 z=2Wf+fXXR&9wqTiE~ojbHvdkMsbo%OPE?%hv;^~AW&wbl4+7YGZF1%jhLP74Cd93` zQKm0*+!K&p@dp4Z@5;rpr~-j(vdMIKlL7KMRzWZ_*M8EA&_r!zyIz%JqbbAl$$6wS zLcN1FQ(*J)VNAHvScPxtCjiUe$5lsT>Th@+ZJkPy<%={!waPpvHmx=;VuXae0qOS; zi=Bzio@TdwC})2aO|e24%We%8x)kSx=dcg1k4}b>c;WWXN%efNHzWm@>9h;C+xCUK zkei_8Yny*7avF5a5`OnXH>>joj^6Vo1jOTUgM9$L@C6O+1N`3g!8V=4#Jp&y zZ-07YyS46iAqSY6FF2Aj;+n%w*N?oNuLlPSI!`rp+)}RvK)4OtYA!-fgxk;Zt*+{X z$YfBS@0cQ*eGY6uFRJMD_jzr_`?G`uHac*<}V$< z%F`P@H(V%aDli2eFc8DrPC_Kgz8=ZB&_2HGr-QkN`3v1ZJgM~=P3AIWA5Cylp8Iap z{a&i-CjlwTWQnnZF~P9wIB2EdPlxo5V%r%B;pX7_(IvYzJl2<-KDSuUB_T3_DL8!1 z#{~n+3LfgKfi<$dhu6Qx7Zx1!^USsqrDFnj{2s`QJ3n7@>A*Bm2z7)uC`%%q+r~;e z9{tgh_P^0sghZ{+kfLaHz74OsSQVmqiTPA>PFe4KkXuR9X|uF;jYRkCW`0QZAxDsH z%gF-05XA~IoA>V($8mHV-;f6>Y7Roxrar-v(dQX^;5c>s3&}4N=%qlIRZJx$w_ zGNeT+Z)jY^B&+AL|6Xd6j4+{41BPEIk`$7lS6B3GV$4{(L`x2}+I(1qb+oU|UOS<)MK{T7+_$_VV# znY<~_{k0Kx0-A%{nzbDy%7^tPXiRg16A&619}TEM6;*@CF`IX0WCboiKi?bMO1TdO z$0DI_Cpj(Aik7K>6tni8EWWk`_QJZQZS`<+qYw;&Lnp(rT2qQY?}58GJmollCTJ)D zgpEgj2O?&2k;oW7DB=SJ;^Vdwh2A8GE|YU+mCF##fVylLM;m(|Wu0ye`Ycjz`9fV zP)dHWdkN4<#r^qnZwnZVkUI{Tcxj5Ju}+|MAx78$hz{4S;o%Nt)=@2ZbyEpUsYXQ` z)?wcnzaRzPjG(y1o@PsM`+}0zQko?J(^+6K_R(t9#ks*97t@<>CtIJ-?V`W# z_$L}A3j;hJQbaa-)V3!W`R@K74}Ww|R(6~(e`L=W(zN1HwW88(W#JuDjL5~Qdo-LF z-cmP(F;o94lc`g+CSGDPb#+09+?eVZ@kM??A#-wS-SI`SJAxT;B%71zvdClLtRK9W zO~-fN%5JW++p2z935}|;C*|LhG=he>%uA9;zhBxV<86ikIkMP4b;t^c{e@xr9!ACn zs$9`(u^HorVr5AEbQvmr9o9ABILV5Yhv$MAy+p%aMZ4Rj17$R$qtlrc061#Y$!5x} zKE=mwu#Dp0pK*IUhfyi5!ZiKkZ=M6=cR{bJii*c>=w*1gq*C$jDx%ZB@7)n_l_fERAe{qXg;0eRe6kJ~266@!R%cPoeH3^d%P1tk) zDpOkh8++hI6%ka>YbwsGM3@tIc>=w`=D>g&=!}r7anO&>7Uj59?PFO#V~eWnmK>e2 zMs~dM$py8W%)o&X%$IY7=}IldH9!YDvucNlm^$l{L06lt)6^eM*1Al~7^o1cvsF$# ztQIGKVTKh`q3+2? zbj-ONl1EJ>E#8->B{$~2H@2H1j%Sb+lM#3n(>xv7U#<@xj$axch+i3Qm*vs+t}h3J zo5Gui$0-Pqr}#QLi-{aXBfSyEY{mIkN;OAWFRRm!zlpp_gRW)lx;Ytig0k#$+}4n% zS1Ae`&?MR)kXxrc`Ioys5-rM>J}M4Fhb|Unae*_DPoH66w~OJ2ERU& zZO-9kGn$a}&liPcHYBsZhNxFzXA^;f&%HS0oj8$5V(zB}*5cZqFp{OW$ijAzNcCr6 zE=PNCq$U(ovxxvnL8enlMOWxYWs}q~d8EoqC$Z4L*V2%bdMS@~6Gz`mPM25(36`81 zeeO8wTavANH(0SlCA%GzO=ToFs$L;dLM=jgQp&*7FjZ*>0|z-}E=o!Md|hcfh53X= zym6@S(c29-RV4Sl~lcVT$j65jC^j4q7@Nkq0wZB zGX*2dUSdSM0P*fBLSJ-3H5A)1+bH);)uT+Cs8?x`Omk!}ctgwC6Qa`Y`DV3ad?KQr zOk`m`q(=FSga9V64#+~y6kj$YYJ|B(D(m zbr9r#>j{6d)l!F(!rfIA3XSTE1X_S}A}~bnAf;rcx7h`w;9uJ}dD5z4w#7Ybj1~W6 zHP2*}o{|X^pAlNN<4`3{$Q?ZoCS&pWeVc({N{y;Hfo!Wb;Euf~sOeTxXABy?iC3FSi03+gYK&F+QF5E91r7!_c4Mj_cAt0TtP2AGLTa=@IeZ2z5Z z+Gm1JF=n3m3)WEiC@59bX@Y$9neu2|%Jh0);Y`T#jbB`%Gm<1k(WWR}zAK3RX|b*= z$sXIopQuxUol<%#Haaoc)NpB`M2##p{f9n{dS>OCt-7!ioAOu)sue!?LVjm(R2uf@ zw+aO%EmVf{LgKYVPNhMh6g0XJfRt6FUGsIEf7})X+YK8-j|ma!O{n4MfR$SqnxZ2v zHeD&1WS>>Zr^AW`KgRr1S*BGz^TSZq%avnoZU9V>FwZlBMN)Q1^3Si5vnxvZWHN(9 zZ!gF|0r2rC4NIl>Ul6TbQZ-fE4vIxhv&$4&m;U}msyj_$*EE??XcKiCsFm zlIYB{I-4JUZ_y~M;+iKVcZuY0#xy586UJGc!@3BXUWl~8k;y&$8y31El6e$4tSC!% z$X?9b9}Av7b)^n~o~U&xhd17(XwJib{dwiFA~Fbda&%pi`xS&e0-&saFa%h_;nw$W(@j^#`KOQuFI`lYf1;ZW>@6s z`O}uRy+s4cLm#$#r88cOCzGY5%aUS@$3%|O;@*6Clh@DuQhE_mG=wdCVW7qA&N~s zPYa2#!}a3-@_)Cagzu``Jq3i#fo{CM2#Jq4Q_qUWE|ASebeT&|-R@`?7>DZ~SDa0L zEt1avM(oD-VAI+&_eL0LD4bilR)-HSZ_mSUF@HQ1vm^bzhDH$tK-O>0G5uz=3>QIjc zHx&ENrfYec4~?xmjQ_fUf!c;tYBMHG`{%%EDBz5ORv<|zg88_FoB*<>vaz#Sgc)H;jeSHjL}KKD z_~A|z+H_n)x?41uoqrr! z2Z@nsHj01>=&)*dY88MO^@iKr&AiA(rfweYQLa6Gg+^BGkX415qxXWhap-I-L=yt! zrx)@URo+@xdsC_}V<%06ohVWrppH(iY4;Rn3%fu9U2Y6&foM9%C6Mtv?sM@ngHzsKdwIg?a$nNdJ z+n$Ap!FUF1dNX<&@fdP5>U%mc!8PZDFV}dM_>T-I%ZC~76l-%O^sDcxh|f!y4#0&Y z-Jfdblv#iW8!{g%t6BzeFN*Cz}w1Y_UCLY3Tc{1yEumwl#+((BD?^#+KV)=^D>K!1#pkGc=C0U2REU79aMx9qpOX zCo_O!9#V9y$y!&&SrShDTK>~Bc4vpRjgkVOavnM55hX3`!VOE>JZ=UqMD;+T+8 zMPHUonO#d!M|3?Mx_vP}q- zZiU+bw|()j%oA9&&oxpES5a5n$a}koyd&y9ATOd4hmVKA1K_~Udwg%;8*w|UCId9^ zi+83m?bUTIzk&Qv8R851+m^w6i^nz{3o-#?h~r#^u_1nV6Dyd;7k%UBKrf;=-p=-F=W-EzTM?hAW47eVu#kt#|flR~xxzw2A>e z5w9Vub}~%)o3O8JKHL{Hs(M^^kKIcu$Qtr3P3A0){@|Ml-8#;;ojLh%FYW}$K7%E3 zDX4Wkm%Dk{!lLyg5}qJyCbT3vAWj9fW^3voGYYA>4zEKr66y zXRBWg;lujOWDpD{_f%oWu)3n9Nv52D?bi*aN z6U!hOMjsX0UlFuoc49{yO^ClM_?DIu=Ap&p@5F^cO7OqX!2FK%^(#mXoB-4FD1w%q z9$ar6C!}jK_sx&#V+S03P=xU2$a)I#2Izt+dCq^1Xw=;OHeEMf#YUO7&3|J0{8a9b zVe1U;0!X}K3Oa9;GA-HCHcLsVy8}>Y-fwBBKraJ5bCRNzZUkIi*4ovBFLfGU_A386 zsRFx?m^qamr*;FW?gsHnPF6p02jD}FjoTZVydDlgIQkiVUKdZzR_E-(Pq97`4NvW@ z*bRYy5ekz{vzTo32eYA$?%7CoNXv3AMgY;w5YmUS5R*K$DbqXUmD+G`nWW#Get$^w zLDqY)NsI2B3&}kO{_1I*0I1eFM&Fk9IJhXZ>-g)lM>~iPIoI!26!`As^!#|~*SYwK zbUQQg3g27_k^hmuSWd7#a4V59NHCuKvu~2A8%KTx+#x?>EVhY6a2v8az|6*k{yAEi zM5x48-!z3f_)R3&M5yXARBMukh?*hv<55U{nZq)k2%A5ZIKD3V>8hLX@= z=YswMx5{G-6`PpOBsX+8F!YIz+`!Q2`KCx#hwz|kiRdVZppF29hYdi5Id*7OX51*^ zieiu*>iA=e0g!SCQ!`?0cnO&_GnQrW&f%dg*wbmGe!coFONC6Y4)a zZMRSSjrS7=YU~c`k=w*GkV9ulB(Nj6@qCS|pgQ?(Qoj>mrN*|VWJtri!!YHk0!=bW z4EA$mIc`J8IAg#baTu>|IVML}!)#1+II5m%=nR@O3UR+WDeXd)iSHJUx*X$mQSkSM zmQmFvAxsXf<6o*%Vgb}#oYurD?dtG|Lp8{@yj-jIbl^zaZl^YmJAX?$tJwbre z9~2^h5(7v_zA&OR(xKyB!QS0DIdH^6rXmQy?DN$T{V)e|B%LsS%o#W!@NkrHJqOU_ z){;cOV#jg>Ct+H3_Xh+wqM-Gp)0$bFJR$&7XYlNp(AzR6>ufG3I0vu<)56+Y1jP-&xF&2ARGcf#kEvr>!j|!~M)f8Dt>(sVV>D6x5s_obUifN+)QW zC5Y*>V&2J?d4?`SHn$j&sRtc&L{9~;MH&&>?6>h2Lc$SE(9PJNy#Y@$X)C$k!Z*-M z4k;Y|oB1n`97W9k4KZ=;(QJN07!k_gMz>6gr6A0&)Ti{s$;7TU=0)0ZDcB*BcpO^h zYo#Le292RYFe)$%ph@fWH)OyYSxLZ3rMB<^5pqCOPizCDYvY&-Ni0Y(T$PJP)PZhf z3cc5P&{8>tLrh%aDLoyI<3pdcpM+u_%afc*FdB1hyLPb7Gu8^Ax)i{qMzBRdyw|}? znSN%KrHHl-uhl6ASwdCS%>*7(cQ&q;^?LBz5I812+$;uS1vuukZnB#w(i5Ylm`?No zvYuAL%`1hOXFt>l(OmuBz~0VQJ#If)fM)zLzSKvYe&tuS9@a2LwM6%zf;g;949<|KBc zS|}^g^D@(RZGFO`$PX!1RxY75xv!hRs+3Bh$44gH-#bAzqOwkq8(G+gB8 z$IP{v_=iCgkfgFw*%-U_!xg?^JLVaS$>+&=Dj_a=}<1Qn9vfV!u?oS zWsaidgk5PAB=ygdQ1g}6#NzytkL~dON%Ero<%KBlf{r06Ps;1pOrf>5LH(Y=1%^ck zQVE>|VG?dx4>|JBvgf%McSsRXA**%#sOAEd$iOmexUEc# zTpq!w8mS)x_!3KHS(dDXFOyYXkjJ$gFW)OgWWiw-g*N^*r2y9FswpRDh^}G9gd+88 zzfL}4Nvo6+;@ls0ih|QI;*1P#;_gR*VFd=lE!-R5)KyaGSGGK~g(_-@Mh(Idrm=<+ zj=M!$TS&ieC;Rg#8cVb8z`K{1Kys%)07T@f>^~a#*v^w8Pf8=NX(x?+2^t!!r(hP3 zXu)jpFR}LMz*`v{iW1D`6I!j&WC9}V?z7386c;}jmv|ywW{Hh5mhAwIkZu(*=DPH3 zJb9QvZ1^HB)17CTX8__%a?;37z3d20EUXTbKM+%p#(lIAyqm|cRWaEpq!=4giNS4b zT#ROWlvZ#zNrK`bbXP@iO?gm!(qMx=W2@oU$RPx%J zs>D1fW70FJ)oXMlX`AZqJ#&t}6;Hzn{|b3-%*iBE%C-K?7ePe-t%FWiP$DbDU1mMF zA}LyZzf6aqMLi-pk_ZM4wEo4Pfgj}`I%}lLfG#@_WGO?HAj7r{Si#J_eJ)qI9TD3U zLH%V!`{Wq^#*bAFibHftfZuGM7J~+3InS;nOw{tzSEv9H=>a;zoHvczcbmZG$P`%> zXjC8oe5!|!eu8dTLDe2a${m2KePczh8@Apa!cl$czhd3#v5Fj0O&UeD@iUQmni9Hv z_R0YNH$`eE)tdx`OYl@gG5{*PzPIqbI&FvwaD(qvniC8;`Q&|-0wfP(%bPl;P;U@3 zJDdq;tt9thMU`0O%VJWLgEgE1^nNb{QZVZXObEn1EwwHd;kppYKqhA&VqjFrgGfc( zVtWJwg)kDR(_)@?;7>Q$uWl?=oP!caxU%d&J4}dOkL7g|m=B$1A{ej)m;UMm+byvT zaz@^OMk-B}JhxT%Rm6=j5SPk0;8Ktu!5Fbsz)nhg?frB(HGdLNqOjhsGo2j1XqIuI z8j8*2qe~*us2HdpB~|9ki6+?n_nY|--_m$S(#a*4CKT{Ui@1;+2DABfZUIT0U63E* zqplko=+n5^R69iwjc6)P1L+k+|J9=4bo@ahQk&?{cj?Zb5*dpKS6d81qohrMtfp8K zBs&Qlx1OCupJdwf>{k}mdaC$UF!<@ZyDZBC_q7 zta1-J?bdu;4*TQjuYnGO0Q8Nv0NyS^>56IqNhksD}ni7xvp1tq^eRE{_{I z#o?uya>IADM@8`P@;4nW zQO?&oB`&f${u&k{G;~boU7fmBc{y!tc%2CTe0;bCX0ecz zBKNlNr+gjZP}9-R5_DO3NXxh}4%y7e(HE%Wn9R|JFLSu~Tc*pvfv5E%zXzS3{>7^9 z$F91zi1qCtf(-V{xd9tOs5}q6vo67RlF_Zv8vJ$$4^ddQMMLN5nr=-UMCOh0J+G?$ z6pfw42n0AiPoqwP)rsh7W*tE-yD@%}&RG040ML&ds0t9G=x~I#wsITS z6#3KcCF`pl89z?~zqNvB5}M4z@HC@2Y<3oF&T$!-uA!>|jbk)L>xoD^#XEe%NAFj7gs)Zz6GF_>|eh!RY&JJ^hR{xNn{ZB_!JG z2ng#_vxmd{C2yUo&svM`+VaJ*^+sz{&p0&qh>@=Q3HVo1_!>9+St>iIDru#u6z%}} zguve1W9>ynWc&yEru(5TX16@jA32t5QF~JSnor)Z!ZNe$#H-_?{o#vNUM13#y5{2C zzrYJ(R)Y|R6q^8q(Nr|dlGSyNXFIhuO?b#t>NW>5=XKXlwaN&Mu=@({SdnR3z=48P z@6s{@MHQ9aT`}W6Ieeoz%V!tNL_&N-!rh(u9K(R_xH4Phh3OQFeI^PMf(&RS>tJqm zyj88rVV*`6(W6P9e<{@+n~_j&$Q0=34FbDfG0Qyrr4wvmnByhYb>iyBl1=oDq*=;o z5LG^{P-;FQsJ_Q#d}x-cUC+1P6W$lz8{Rd(+`mM>$lKT*M%3pASmwR2-;`}|tu#d& z^Dop4nJBYY96yuFVIOvD2p|`6u|*8HwO*~}n^xlaGk_<6n_G%9`{YLkcSMb_E9iWn zrbg+_tZx7zVKhEct=yV{S*+A?a)?vId)h>Q9_tE88NSYx==S5Y_I!9IJ?c$+TGQDR z=+TF&0GgfEANkBKEBo)zv51aottiC&w7oEn6T3Sq!n}9j!=~JaqfQtTJQ~VUGg{7N zN|0RAvs|Ttt0;E?ZTTua=~kkta5X{ zJ^J`xFr=UAWEI3f{;}X3332bca1k%mKU=wo&M_g{9d5ZrimT^&jwsL=V|O$Ji4Qef z3%oofB>UTl$-VI}%cVmKY90Uk&*yH~py!l|F;7n(`y4T&Gr;W?3d;)(dHLJKVJsWusUX75Rs z>rI_sHZl1$HHySTWIW2V?Z;;oTp(5(AhELW1>*RlIvRoot!Aj(KidU?IhxKak>Rf^ zU%ElG4C@{Hn8XxdlZzOkK91mGew6~W&~D9U!vVFcf>)RDY>cc#F5-FmbVqT4Q0Oic zgwS2uMpo0oub3qDkcNwVjdNtu4u9F8EE1y~38%p0tD&3rDG4r|4OTce)e4J_!T4%l zL8jyNbHrDoL|ca!#Y7=jgaAaycq%N4|4pM5^X-;!9txZY8707XI7=S(OGcawCHGaN zOOVjC=O%g1P08XU@L}D&c5QS;Y1KA@Wr*0xkwIYik5CRpdN}}Pc=;1u_Yh&> z3I@Y*I?+v9Ep+~5N4$PAdllDk{|y6~c>=UBm9tZgf!xrf%1l-XI0Z>Qx|Uq7!(wRD zE?zi(MB}WBhNHerOOTExJ2q~bXsyj=$rRnt<2HysH%kH@aOg0I$E}gk(s5jNUmL=8 zq6On?V8s$=Yfa8Tu)6=kkw^F2gL>5Xp(MUK{h)~lvCQfO;L@)b-HJk-iMge2@WF%5 zw#?&+V1KVNmdoJdPf5x29-{!o$ju3HFFV(BS;S{*pO4NLzTl`9=MQ-UfyW9cO-3U(0~B<*_XabS+f21 zKfoeHZeT%GP($k*q_VR6lvO&H#+Z@38p14tEUJPm_q0yx54nw(g@68%i|gno7{O3S zXfZch%l?}7x^-335te#ySCZ%pUgl}e=7m)AS;Rpd_Xwmxg%wT5;_&CrzY)5`SZ1~% zUepNjiP_l5i=P>fVjz%QetZ^&yeY@<8!szv6J6_SzaRQ z)Ep|2+(*p9M1JZyu?T&8cV@e=9?bj(Gbd|O=;Z#gaGI%4b*g|!Rws2LidR5C2LRu@ z1tRpIY@%Dl?$|ejWD7w7g$O#lE(S_4TShBf2ytZD9U?``{}c#R$1n5rk~TT5DA3A9 zDAPFTd&#q8U}i#5kQPqF?uzG9&*b0J&n2v%me+0B_$v-NsMYE@%lrXuJjt2eZ%Tycq50c}V7wbV|MD%?EX2Y}=6efO`UlNa{XQ+(S}pZVaM zZs{ej{1arL0(oc272JFyyD@gq`n;ObnbvT#bx?NAkk?(gAPBDFHK^arB4ZjH!5CHg7+Lot=KhDs!{*WXB?quz2E{4$>e~$f9_^4B_fhYM z^v1wAW8^x`u$Qyq;G91*-r*XhYioe-v1wb4>UYjzw+Bp&IK(6PbI@OM(+cOKxF*m@ zIVyRM6-y-tro{U>OOK^KDAEVb{68J9H*^DV5NC8(^^$w5^zK2=(tv+;FrOP*TdpN3 zfIn%jz0qF2#Rt0p_AE&b1T<8-1M3Yi;RUNnPXr;Shq{gv5bO0lKi+8=(T3RLWJF73 z?x>peS7Q}4w6cSdV$FG}?bJBY#&zC4!T8(KzMTU@F!H;p;&OY1rA&cLXa3dqL>p!W z=V0r1XzZv-ay_M)JI5JI3Y*VZ=d5}BRwJ!$%*sWg?^$xJdmxSiH&PQS2UES%f5iKQ z<#T`SWnm-lgy*T`0~azEMr1ou^tT2X2)>73nUP}!q|iMb`8Bs3@aWU`&OP6BjSN`y zPVF6(Ht?T%17;IXFKhV@42sSz#}sJryh+9T<`};vPjADHV?falt!xk~grn++$o39b zrRaVD!y|aX<8^wGCzKYrm5B04+3s7DBbCPibz#sVjY4qssN648qybIxk%}wS0>HhZ z*e1}k6qS?sCSX{cLy$`oNBBPHpZv<`pNNYcHBRN-esBJzLD&NV(rD2$>l$ti=5%LR zRHaANJGElg4C;&8r7)&;YLK4bEo3^$M~G0(^&ic)DCSrmn-8&;1W0u>Ib4VDX)nDF z8|@4D7Brber^Cp*q>C41doC=yq@p?ojoM{}@`538Ko{q55~@vHS8DbtkQzFoO{njV z#R)2XfHg?R2qb3VphGG29XE?>tw5hf@m*{+(vPmU5H7#va)1ZK zjuz3to?LRjj&^Bs4E&ox7a1OfqFS^z?51c(I=E;jQP$eZqju%ch?@~X5tzT9SXnqb zg1p5pd~<>(2k^W|$RxT9*}*}0^FyuI6t=RSoW=YgCKs6vzFyF3mdk8${92pyWB;9Q zhQYD!Ac;Ft%;k6r`D~H%o3a?BZu4fb?-kz38Fj>_-P~2V;A$ z{M{K#f8z^R#Khy@-I#?nXQrs&m#&~&w&@i9{o7_S1FM=>#w;2gI_Xr4tKZYYmsR$< zB-u@*EzjLz^J|*|2DS`C=iL-W71qcw(H_g+V;w`&$!P+~q<5ZBQ_EmkL2-o@1h5vl zz>(bVMpTGS=ffQM({LH#Db*l~1b2&n1RlCr2T)P?SPK=BR{^&FuC4^BAY!`=btz=p zm*N(=Dz8qN!b^}nbo~w)VG2WekP3+_qHClfp+#}9C?Hr_0wbLd5tBF?<}oVimMj*_ zItuGlP;p=U1ZS%9gNJo=>O82G&1{cAkbtWJTEPl(a+#2gc)lXJs7s*1YT#bMlCf1s z0$S1O9|Hv~<`zKJm3A3J|C%UXkT@PV&0Ee#aXSd)z3)L7arfjOA{07{Q^WD=7Y1SG z<-u84wDiO;(*KnCkULZeZ64?>FK!Ih8UrQasd>v76Valg5J5IJ+kuLX2@K=vcqwvL zm&vl7`t6zB)GK;EwHCF4^M`r$Z`NC`YEnpA_47F+CbVH;|mf$>zb9B|Dl&gD&$iArL zVE`J^`Yd>zeOiB26=BFpB-z{YT^z=4&K$~D{ zpDdfKWMz!>FN^QzI;s8mi-YIq=&=MpJExnc?;OPh>UNeP58te{RV9lk0J6mCBqd{5 z&77%td}|)u?J>m{&Oo1iO~&Q0cg@S*j{#sAwZpai_5^>Ed7j+z1g4q!s+kEwUa0*w(%2)Jf=DA@{?l z5<#Gul4`a#I`M?97moGqINB3cNLFqDV*zVXwWRT+D>aYB5lz#z757gs#5UKh3uOt& z+APSbWG}D#QeI^-IJ^U^P)G4uRwg9M1s~WTmwH zt$5&><0YXCo$aT4PQ;|lD}qY{T>5=-eAj5YN3b)oJvjlz zbGQ>HE9b#eVIY=I7&JJ~${8K0l(XTQaDQjiv!>!}n=UM~vwLBcan;6(c(G21-?;5u zU4Q(gs^9p+`3r!(=_576)=W`bn#I95m~Qp?z341_-`$hoW3XdMs_HvE#0*9NH`~ug zI597LbMsmJQ@ohj3g#wT-AA&cHs!&2^Znpm8}I>MPW#L;bvudTT^FwHb5 zj~;XJ^R!K-(jjB{>W}t-qpj_UoF^$$1l4sP{$7&A15x3s_Z#jTiQe;K>9c%BTguVI z*wuz;d*}4?@R`-^(6%z5ZuIu>TK41lz;0b>KMQ%HH}RP5_y`+Y7f{BaU*kN8bnZ&z z>lNp)ob&n%_e^$YHjmfVhL2m1jy9BlUFw|o{ytIUD*~kLAx>Qn!A=;P=OoCSc~9m} zFE;v|9DR>DI8LkTZ84Qrk)>XZcx0ytt_K4ulsjY~QXKE4IQJ$VNLA?jjlaYTR78hf zapNk5h<4K;bu=JUeeFMi(J^)44UerIhq#`NZB}JswR;FOObg`O)_9mdA&YMK1375V-|=W0nR@;60AI z9I=Wyo)~kDK%FU2OY{~koHjM(2b-15ww|Bv%)pK`H88_8=z5wZjf~J6gfHmA z+b5WO(AGUiM5M?sy6z^n?9lAy`M=R@C*|>yf$T6qq?p`_0qhP#Y9$~bC>W@$;f^m{m zVOT>A;amTyG;qVa2Kpmz!m>fX8DX7;tP=uZ)HEAXO@{0MgUQL%IL6dW8-cMKwxlK= zXUM?uAPMJxO4}%r86K4uCkZDmLj=A*79(bklK@J<+WDeO6r#_tiJ z7j+N}>ap)v=pY1&36|L`Vc<0*xJ~Z;JtA&z2md#}K0fal+FEZJFyd53dzu7U+Uqb; zzlXOeb|H`xt#Z)iuwu@{a7BbSzU^`g{-q(8%Fco))Q$$0%B#M0^&p274gZDEyIlQ!YkgNntDg`B+oLzO(t|zyM}YpRUv~Y0yxgz zy5h~1NKa)dzkuM?!MV@tTH>%}w10~iv3 zqI4m0$E9JTvSfN1Z&Iy$av|7|@Z}h4qOSl?plXz8N06*#4&`&1Enwr@qZOCPhGSsa zr5o>PS0;)GY1TN#z1_>?_a*PzZvOn?-gwzqiq)>XF`L^s%lvw`dx^4GZP$Y{s9!wB zTCp*<29ZryV{4U3pt&iHY5Btw!d3p9^nPOuG99B9apRAl@WupwCm>_X1->J}A?;h} z7<&x6iKKoHeLt-j)kpvbfbiq#g~EFdJi+>kF_D&2i+PKD~$EURrHwg`~h=)4bbcn9`8kp z|61+FJrm{2*-u-^Q|)=Nv16U}=k^wsXu~jyk|%%u5z1f^vI{eSf_4K09sF<^s0CtW{Pgp z{FHuYw?|IgY;@lC_q3Di%#=OMu8$mS!J@fqcW>O8SuXsp4YQ!!(_@0n$JPJP2xlJ$H})mC|Plk#xMrGbDw*sfTo%bMSf^dqa+1mA?p&7U)f9hqGs z3)wdfJe)U?RXTtX2;(6Esa#-Wpigy#In0h+r=QK2_bMnkn1(b|3FQcQh4X z@hxA>9UOJt(o;?h_-KskjVYCNVWc;XyhspKo(PR7PPBFclJjkO5ri;k#04tcws4RS z72$P*)22|jO_59gv5)UyM@eN+J1VSpK3fn)SbOrMH;%0~i5Zjjz<^NK&p1Odthi=_ z9H_X!r&4U0O^nfKqPS2HhTmV^0qe>b-&+qZzGV~GEh&VI@9&b{5Kl;>1$-|ktI`y( z)yIzkIX~Fvc?fKkJ7oO@{Ix7R`e}e2w-rvaY=K3A(g&)5R7cu+jL$yp6 z^YqMFB-{t(WG51?7|-H^JW&Zl;W#RM7cZ`_8&`CIom>$G>3t`<;ste*+KyG7OK5_( z34XQ6rI#J=pRK+E@f}}ryf}r^x#?4{{{vn?p}$1l?>{+wPDY03QxEU(yKv)%dcNg4 zJ~<(VW0EKFP1TvYCS?~*%Kqdqrqm0pnKd;6>hH(B^#vvLQ$QUK%j!KOG&O{B(G75cRyheZ23`z@Hi`x<7T72h^D#_;eb2R&aNK^ml+% ze;?74f#^uO$-Iaf&*ZOUiUSw!1Pdb|wriM{GY3kGJYfv;sBhe04=W%`gj~;t+-*(~DR>xi)-i66jCSU`=%!Nq+6v(sYKc%1UgD7edr z34t^KF!J1Mn=avMTLwr#LG}Pweh>YC_%2x(s}-=C1o-ET42c+q1l+ph*0}Q{7Qz1# z1XIId#9V_OGR;Mjv;eQCu7QrOY-?%-_8oCOV$)eb+%O=9Z378&ipZEyfZkg-v|+$( zMyGj!aLRBh!6Nh}B4(uIC6h)%LdT}QU+4pPVZ|aQm_V$0eXXkwChE^*M7^cuqh?}H zB8{lw2e$PoIA1tp`)%`qe?Kn1^rmvG004T0F>{}f?Gq# z$MAi3Y5_U0^xbK=q@YYp-DVaLO&%iA4<=&7gFS}Gq=wBPS`M33bem}#vKZDx;8|0I z1Nz}i?U1dZ=(cSwErA7xd)9mraP*L=Jj&CWwg`~dXA!nMz>MPb${^L?(8$?!~nr;JsiO~`0Ge5>`;9(kZl z;P-F0kA$~NCh}eoglyqb=*CNpUSD$*Ypo<2JB4J2MGIYI3@}iDPvvh zUiOtS8C{M?!-)!H^Z@ig8=Q>+lX{^J^nJh#*NFNSevrwz((fZW22Z(!nT(NE(jAUI zjI}rCIyoQqdn#N!Re?g~w6Ah>Fu`tL(JtDgr(7s+R5oe|kj7$NMwF6w=PF)CybAo+ z)wSUOr_>z|^fCNw!;HszJp7$DQQJfrYZGM7*?4%tCyOkGQ9}j@#tu{t3E7{O5_G}e zmlHJxN_wi&2Y4W|K|!pEuwSF4nY-Q{A!o3l`L&fX{bh6j&4RfFN-AwspPFA-0fDr|dClZisnhV2UfJ^gO7yvRcVPUKXd9F;(0pb$@@rT!)c=2ta8W2lU{EKUc z^mcbLUUzrgFKE^TqfNsnBlRLyeGGvO7HU5|=|mADbl?%Q0r8e$Lg>aqBwz&O177Lu z!F^mP`W1}Mt6zk<$DPQ!(aB?lr@wu1Kd%VCUQ1@#cju>fPDOe6Fq zqsHo}uXI%$_LvXr+SI`H;Q0YgjzWHx0aP^;kKJ#H^R4Q7#bU}DZ|23)kcIE!q+xp` zEQNmuHuV!*Kl)FeFJk>gsl>nqSfqKH!vo;e!&00{y(PjZ005eCEOmA5Ca1( z7ZRtA<@Hzy@uE$qc0y2>~=YRUJgEN1^n~Q6izH}CPzS5Y<9P84Z(N1Lz<~YQ}!Z;{qij;=X3lz9UO36sdv!V)Dz^!A! zwB-}WCG*f=Rnt_&g>mWJWhHnQQcN1{f25QlDsHmG`WCCc0sMpYHVZ;C%*tb2QTpJ! zvjV{Qub!-HH7K`>6Oa11_=nU zmx~9bxK+r!n#4>UvlQ_Rv;hMN_0kH6*oEFQpG`is#Y2g%G6A;|3T6}DxXH3|BB{~4Ki*u*}&6{`5Y|lg=>a3 zZIh$t&z=#UresD`&}6m=X-g zuL+K7ZuFC zwgf6D9kA-!rV-rDP)7hv$IX#-a6`w!GX;iS9q#2od#jEoN`EcfVD>Cw0ja`;Oa1KG zI*`}PRR&@Okf#@;2x1ms>gV1Ii4LVI3}0G*EaSlkNd7X*VKUn|=&DO+!e z`BX}#GWd{#6GPBp$Yub;(|@U5{YvYp16@1Q)bToSko9Ki+CqL4_1~B3psoaC^0NfV zM8hhNtwbJKmR1zU!K37F%>n;pOtF;G=35Eka0zPi61-4iUhe+5DBU36X}^yw_b$}S14CH2WI)>f&-j!y6sAr_0{ z!P@+RM=|0Gu!zthJn+~Nk2^O^u-rn(kI_AK{LrIGsLgsqV$d5TCue+j8IvK>vOAoz zVWa(pCh~4q*6wBINhpuDw;ZCgHpc@-ZZe8`+#UXj7 z6S0*~A;ssa7HVsi0i{VzUa{v`AXzMvOrj1Kb~EcnL`18KPcHf@X;>GZ^IMBs*4EAx zT&)D1thJ&uhl~J7OX%itRfDOtV}hn+s$QXw_SwJl1G*#^mlK_M^!MoSUgnV93|A;t zXhJ+#;AdbOWQvtD+&+)Do1z8H)<48I?%c8dOJ9(MdrKkMZNnf3)GQj9ftLWmV}f{Y zYwoxn9@}D6SUI3(#;FjpotmdqJmWv&?W!-Y6nGpnU7)l@uU^Og#}c8;gRVP91S zl~lZ_;MInSbFF-_vr59IVbbX%Lzz3Rl3ESBx~kX9SduNyCY5Gwi~&|Xpwk6Aykg(A zVSPYQcA>m)v-t3qws5oG_roRDW$%DYSnt1(LtI4AE01Zd69rVT08={5k2*v2$)?IT z^EtJ6-h)G1;;H3pDnbA=hcN4wWA>G@SyWu(T{YZnZIad1)@RxYkqCp#Kgx8`&rP9< zN}g(4E951M@+Gdi3X&`+-TLzJP8duPZ47#2*`j-;YZt0?_0Oq8J;UbkHp6W(&}-8rw>~<$L#-)TkFIQ_7&#$@JIc0 zlA7p$67K)@pH{qS)cTFQe3{`$Nypfpw0=t=&mq~!f~J)v?{A_fPpsw2X6NXIqfh%E zk^VvGX87WfounH?fwTjzqk|83wE0smfh$FfJB*;FQ&EPP8S#c?s%f?0LehRu08{;(|Jcn*Gw!G)Z;DuXUSy&^1fC1Q&YlEno z#N{|Ws^aPWw}fwOiO1jq7sD@)-U1&XylTUrbHg*)qg2sJQZN>!Tor*tFPd)Mm6Tsg z`RKAj+kG|Rtd_a;v=s=p9`do(8exAf?j6^d`M1M8Q1oBc$5O{9PoDpP72?iMC$Hkl zVd(SIBI^55U+Zc*o{GA4J(Kw&YbIY&L5tTD*b`VVNaRov42f)$Gqrhx)rf2#*N{sS zvMqR;tw1o@=F{LTgiY!5*Nkfb^tGQNAV!i4xMX~l#cW%+FS!FuBGC#7+je}8P8n}x z@;aQGLukp$F|D~381^KduRPCi#&i{$7TYnBc7b)RI#X-4pdKDNmi94?z}VOc04Z~b zE7x^E=_AF``_pm1^d1%1@j(+gi8R$=I~nGW!Ecmh(+j3GRq_GX4i<0&rQ6gRbFB%} zNa|D~<5sfi5G?xCNhG-5I&Es366jiUuCXg2+V%!%n@UxtLYsv*^yY?R{ny}xL#V-? zmuPf#Y_a8g(#8lQyzaOevN|EqmGh0VMOVsz!l|NC{*KsF`H+0o+_RKyc~`Rze(2!= zhhmacL&YoeVLL6~DYxI%tn3s?%gdbB4Rtzsrr%?ZZQa&r7{}CEC^A~j;=NIAlmbu*5<#@Jlxl`MLP{&$#v*XS< ztIA@^dp>?byyq?qz)|1hO9j-fcBXan>W8!y^K(8{8DZHL@|6)l`dO+bLcaO}@xvBD%>P zLEIh}ww)JZvF((X$E`W3Y`uJoZHEP2vs$>zvmwV%o<^lYiQ=p+6-p*hI@i z3zhV!HRa)bq4tR_QHFwbVmsEU)Ib(&8kux6;xI?F33OSiD#PRO9JyogBsnvSUHnA@ z{m7TCwaeESuFLGWawB&%c{O;&9QUK$~12c zv2*umgR!$vaFlT~y%CtVSIu#A%c?VP4RNy}<;>TErACt%qdK8az5Hr#j+rO5*l@3y zDJ|Gb7rWRlmbudAIQpa(FYXmb)BEb1*16d5XFT(dk|T3On;Z7eNG zrK`$O?P(*!3u>3>cN8TqO~q⋘3_oxn7K2dl}YQd8xy>xwp;8kU}=OiiLrX5F`)$ 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⁡t9@2v&0ns&&0ddnx&*Fub$!`t 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

gZj~Uq?Q<{!JGQ4rRx9_3B6&q2d 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ˆ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Ξq5Yx%+T%Q_uKU_@EkD^*R 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 literal 0 HcmV?d00001 From c6e9dce8d67b53679909740ca70fb62b962db346 Mon Sep 17 00:00:00 2001 From: terrafrost Date: Mon, 3 Aug 2015 23:24:59 -0500 Subject: [PATCH 20/30] rm accidentally committed zip file --- phpseclib/phpseclib1.0.0.zip | Bin 264571 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 phpseclib/phpseclib1.0.0.zip diff --git a/phpseclib/phpseclib1.0.0.zip b/phpseclib/phpseclib1.0.0.zip deleted file mode 100644 index 39074f565a6c0ddd38849677236f7dae6d87c8bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264571 zcmV)2K+L~TO9KQH000080LushN7OY>rb!6^038_s01W^D07G(laC9$0MN=+tXmGVy zZExDh7XDtT|KV&m5=l!S$#$zY>2^zq({Psn0@B`oLW4cPG{&|(<52D@|NTB^#x`$h zn|sx@T7?;(dCvRG`0by`EP49m>67~N=TD!|bLwTOJnUWdNX?T_&ShkTQE^1^gc{zU z#x$1hMoUd|KV2rKN@_ylPN-0fLs?H^trdP$NkjqulZuQ?BN1*vRw*_!nJ$!;D_G`y zCsU30nqFFj-^-Vs?$A4>fr@--g@Nd#H0@8~l>B&}0CucGWtR3F-fHQGYJ50T+Qg~y zAwnvJ2J`{lsnld543`%9OQsD8TBIULWJ)HczWNdcLWY*fGR|l&mS7TT6@VbqDw=N6 zs7M zd3`umMpw(t(DJ8+a@-06oQ4h%0%v}EWw$KnQmiNo!^1=b0px;3j^CVEBI_S4$Sw-h zEoNC{RQM<*98Xu^twvp8gv10(4CsLJy7>=}z=i*j!@XcZXgs~;jGD2F= z!|I=hv46WBAsZX_RpNx;cofhGAWewF@yha)l2F;^ zo+@JO2XZo!eYmqGfoIF~w*wg~ULm5lOL33K42r$2M^)k{;_b-UH{ zIs=r|o=oRTbK&JwVyBLmG))CSkW!OWS}*xCkxmgM#>NMsSZZz#V*_p+D*|zzxSASI zoFjESF$H5C^UEKBh^RCASc;p3^A&hk3t;;m|BuF^aX)P(;^t74LkL#1cPRK@V)%wSXV zrq9V~+glx;)iQMA0YyQFc(Ng-YlGmFuz^i(GR-^4`1z(r%E>j!(g>_w(L^fh*mC|N zeZxC^WDYSyge#DFS_SxF z;dr~yE@er$v>1hcnjnj98Qju(mGQ$Xj|Sb#;ipF5qt<|W{qD!sg?B;E8Uw7KRq0b} zc-6fb5-9qO&hRsJFR9V_On<2(I?eXYMXU3H&T$r_ z0Ydq@H3aamYnkS7Efg;RUVHuK6_$#U;(Wl-` zzt>?_gf#XhIG|! zUwGI&_aI^8yzM!5P_WrRKS2?RXA}&A;g-kns9u;FX|s;WgU8 zgUdQQZe2P1y^qwM#_5t=t#zA;@NdOb60Hibdm%DpXvzicUusUD)O3oPg?N06fiV>r zWVCsYdR~j9d6(mt;e2v*^m_A{qsY?}m@{LN(|UceSk&SKdvTVc9meUjp3~?$67n!# z)MjQL5+Q`B?RE-0^k4hrc;#GKbBL(!Q^_JSeSLkFZspx+bArgpFmmnx;)f`RBl#5- zM(IUjMLq{};y2@r$9yiLYso*5wqP9|leW_pPatUj3m!yV%kHBd#dAABXMCjq zwTc4y)qxKCTY%0TxhG^)Tc}%=$Uq6}S6pa_JCh=Nk_Gl z*TAoxyvemh&sULz7y6%jLpH?dx_jY`KvSub+blM?r9Q?eUWkgF#*y-29|XdA9N+$Y zg;rcf+}p=s!peEg^B*b)noZ@f@mS?n8Z~Em_y6gtHSL?ju_MdbSkIj|f2bU2wmf&< ze6(_wF5>OMlJ?zT?dQm0?v zA8wY^$9|qDd(JmH&SU#cUP{+$Da5f=`-eBhr%&?g?PTZ24Q7#;OAYxXS3KONmhOJ& zykoC!xD@lJ1|G6>tvFj^td;9?q2=kRr5%;9D?(htXn@%@ny&VW=8&p8^y*^2?tbur zy)8Jt%Ro!+G`sp-Wb^s5yi@Lo`q(?Q9Y_llOu^W}6({0PHX$bR@_t<YPa)5B#LkV8%al8}|=c z7OhineG=JG@S_M-utwm%MjW5KuJYFvck?*;{gwMn!&v#9ov+udD%x@6$YIjrGfay9 z$g_Wzpc$8}K=lyJ6nB4a`vsC^siHd;>_OBZUPQ$m#t&n(d_$I+#GD)R+ksSk(qS->gaTHo1gp$e?oY3a<=<^44dAbJpgxd^76ZIaP``; z`_)hAk4m}qZLyI2u|c@&nevm5&Jw-|B83&MoVZ0#Br{x(%qrJsilcD3qBgTs%KydT z>#k;^|0@h!L8Lth_x%vqXOdmdZyM7Pm9>!{JK67XNjrQeza|htnGvW)-w2hJ1GP!< zyM$aPD&ozgncP9($3{p2^%k-9>Va6{Czp%`D!ydBI(wM(p-ALso7aPJ$9xTk7n@Oc1qoEF7p#3xX+8GJddoK`o2sC{QECZO9KQH000080LushN3JaL zus1;f01=4+01f~E07G(laC9$1VRL0JaA>(psv zS+2FUEsvxmx6|!vC=#+zQ=~3IT5&u1@An)WfNxQ<>vU)DTy|$8lfc1wzX0<4A6ARi zXMg+bZ=L7QKl>Yd&Q2`JSwEZct_VxW@wiKamKygLuw3^MU$6I1cwZ_|x?*hdU``5ZaV`HZF7G`u1(T zk$dRyiieVi(ds9DpMKC{T@Z{PB1viV{8b2Iu-q!l(oimZ|CU)HlEtJS1vY24@4&>l zx@AW}z`am2PqKx-#{2i>oI`w3`k{3T5Ih5A$t*yQ$kbIV?6N#9vPhZqz?zZmrTSL6N>yXL`C zNYq;<2*m83-2@h>tkY!kfGY~@g%#ZJrqW68o}tFV1b-Glx1)Y9WVPu7W5$MY(y*)&fY0Lg0%G z17RbaCJeIO$U$7pV^=JNUInKI;${&lgGJzx1ZoiHCR_TBnB%`(k+_Oxu8@l+a|D8) zMIqdjc+=({&H{Qmz+cH-LJyz_ph0Vk!LmtO;3Ka956v=(ch(DknWab&Uh^pMU}>@` z#|IXwm4D-Qh<9*GV(qr?IRdFmnLOINH3KbIq$!HgNdV@A4a#Me2wXps3sf$!6yhN) zFFXYfZyV|Y#01pW3k6u#$`91id8!ljot*dCcz8B>-yQYYV9c&Z!*_$z{waIb9mC(x zn(X~xaz1=JVK8FUy_)>YhG(pM^)vfvaCO>b{r|om^~Ym29FYsXyuKLp;r`&Nck%Xg zaP=cQfw@=138?brU;=9Ld zBgB>UhSxuj20xxp*!l3{v=28=`ha2g=gANy+75Fm}TT^dZ; z`}02D#&x^!zusgpyh4(C!>h>%{%iupqe(pd{b1a0vhHXwM&_K2hL=PvvKVF!6(E>< z)h9^E{;ZT>2>$(c+>e2>(|-2?;DN}l3Sv!!{l*5N zz@S_DkM<&5x{QGevJ1Ln;CZ)9T^e2-_1gpyeDn=R3UPc#XCGg@d7HxT%Kfws7!0&A z{99p7f*XUFsaEWaz`OX%Hjs#pRXI7~Is5|wos4n-i8-1t+-tAJtyn3EA(!#5j>-b2 z6d9*DTTcD?6jLST(ZA4`PTPmy0{r&jcbZCv&xOb9wchCG>&f(Tc-o)B^I8+IZ@k)# z34Is*tx_Z42c!Wfm>xVi0m&*;Og3h)2olrpom3J7&w-eoX-Np^Ep(`Ua!PvYNoz*K z^fF2?C%tOHob-T}!<}iNH0g|UX9k|-QxP(q>je}EXVv0>=Rm?&yOJ=B!WCpDpN<4t zAVb1%3kgF-!pmJqfP9Es%Zw70!yHdW{q7}z{aSdgpYDBmi#t;PUvC^ zlO2hPj;FE`O8qhMjR$}$f(+cf&pAL<+}&Aj#N#YHo+6e|S|!=(9`_(dK!yZ4rM)Pn zw}18H;Hp0zTuu6;tL{bKI7=2=5=$Sw)TR0>Z#g9k4Iz4s#}|)ZX?P7a!uTSk;b}Q0 z%RZ=5j?;ooNx?%?f=49;TK7@`7RaJ%DUH`3@B}WR7B9-NwSgcvFToPbvv|xlHP)k` zE>pdM8y+M#3s#}-cjyPs*hAxcg+eGpO?e1*0WuC3COcQIS<9n{>m#use=o)FoE@`+ zZ#E(XMf-OCKzVP9`xI7V5TSST5TtIQEI($?{<&ZM-?NR_4m^Pcj`*EynOkbBn5{&~`L zwmNwCf0jZWD>qP>AjW7#>;;99d3 zgo#(&`JoE`$=aU_xhP9^$_EuQibptk(B*~Y-2leNEDWM@=N=PlSn?lAEGWlzV#}<~ zxc34{G`J??5xCR9>KGERw1htzI%dG4sLlLC*ob%1~ys{ z*rep{Jb?iQ?UBu-ibw3UsqH7Tabw+C!o@tHXhH)IY~6vNMw<$H!IoNZ?FYB4KDT7p zNYIOCVgYRdIx7o}p7ncrR*r)uR-5i*Y;1gX?D?z(8s}raN4WiRKVNX{c+(N` zQ&lwEz5li4IMmC0NcE*>JpqaP+;2f2k5dtu%D}s=-}Fe7aox)L z@Z5JDNfyM&muT0NScX1u0xE^O@9|8Uvlg@m?eGvcs6CLP6@~s1j91wr8rpQKy1hYU zr;H?q)1z}5FfA?Cu^;K|h^z{wL}OY799)b_(o)L#RP@52YqLOc^dsq7Wg%{CS?bU&SKJnJ zVKdKKCTEw*d%h~$03&o%rtz>GB9q(UCb{m)cXV(Cw-vb@_oTd?=eRPRCq=HpR z+`~I|dLIoLHmxWHk;&S~pPtLw`RvYSjY;cyTr4PS7B|G#ge}*4eC_%|kURMp~ z@%EI1S%~L@21hGASCj<5HLu}m!{A<}m+H_KtM?|OMDV(UAwwNK_%d>-$pDHJufC-~ z`L}U*x~Ybks8U?DQXuL}31ynYZuvcJwQObBK@>G{=EOo%(d4i#8t;~EdcRQ6{CS`JR7FLO-D2V0VZhvU@2Y2ar)CmAT`8?RWWLxWZFs(YiVH9DVV++G#P6ga#9q;MdO#jJO` zNo>yZA8rvj$y6%7@$^74@ONo>HgEaV_`nnk5_WaIWgdBUX)F7!Hkmk4OwO952%!$! z=GbX+-R*pOTtZr&eGEJZ9=x}0@E&L(6yZ2_svu|O)6+b9h=kJ6DvL0VZI=zg$v^?d zL;UPyDl_MCt%^tRb2E3A;zP=WcVJDP+2w_Gl62^O56aFcPnkvPur&UOM;6z#xuP=) zytSPzabUN@V7dx?#QF&e@Hkx{To8I?Eq-chXnjbNUWiaduu3PWwG%@nS$4F*wo@tO zJMh#S3Y`Z_&Y+=@+&~az4?R=<`z3xnLp50dxPFvqs&Sqaz1wtN9kYpJ%2DBYD;z}c21h9v{)`Y4!+tf{kdWu4Y0g-VKs>Nf{^uaH@FvzQ+)C|T~fq(|=;>%! zUZ>h^x<$BQU=e?STQYnWaO?I}HAbL*M_Wdm<#EoB7;YUw=R!A=t|>An-14J#BIKl( zgRc|(Pr`6mEj9e3@m;Ao=?2oP^m9-v&HY-Vpt+mi7FhL>ets---(#*fI&)hxcj{gFonF?pLA%cfo zf9HW;E2-+ry^wKXl$7H+zvM~0|I#B#<2#D$K!gydP~aB6cV*uD#1tiNmn^J1P8bx5~z(Hk0peqwn(rGCg`O>{y{0&Oq4Yh zvOssy?UYU@lss0iZM%cglpcUeNNh5q13q1h-($qS}PkJ z1I8gcDq`w+&SB$|YBe>Tq_T_@RS`Mkdz6XqQ8N*RBh_0~&1@5_CR5IkDdu8~pw!)x z`t?s4XQS%>|JdQhk?WJ6PR|b6YIf_)4?kiCr+yw}At^R2EPVTQ54&GY>Ol4O|S15-z+_7m=~x~1F6GHd`n(s#c5m~0W0_sDM9BPZnf20`MDL7 zYNRkGuZ>19`R8#WX$HpcM(bhZ>NZzuIUD$NiXJOQOiMFXA#7DDY1T^2fDE9PbT9Er za#RJO;NeZ8gsF*vjhaHg4{F)bY8^y&Y6Umg+)}@9c&Pr)B|GK<$SAdZV<-($>CiD) z2+&_o7Wn1x*9QB6Wp1z|Rznr5ZCdO7byu||;on2Gdw?Psj|Zn{OZXd=yaWf`3ohXB zRUU`05QjL8Ea@n3!fbTbJN)*$Z@-XS@uBsyeMqlP9yIs&_rXi+H@al%RON0YzHIJ) z_f5NmC}qiIRK3ho^%AK%*iW4r$t?;Fm_k(XDJB+$6~6wpm|2>OJPW$(^!Sn_{3GL- z$8H50THn@PQsd!vMZkZ`O@TY-w zU)M=pG7*gDKg{i*MI2PjrDL{r&=CktR34!1kg{$=cyF<^?1y=@c-jM8T6T^qV~l6m zI&F@29Vz2h0LZdcrqYH=!M?56u4-Tz;>C+fqr!`P47%_`@G-x!?~l_?=C`fv!mEf& zv~5{6ZT>H$W6Q`2MZgQC+s2IHk-C(1YgxBcMMPNx(p;O{jONnIrrn7two>VRS>4rC z{;LeL6qRNDm~^q6ag#;2SX$)vX>SPXPqu{8$GRywOS89fEumg~i2L~1Q8oP$JnyRO zEjmgrBgmBKOe-Eor$kb{!vGbN8w%Wg$h^3WiCCKrReLmdC_MXWyJSo29xE372P-hZ z!+bqT;;!}5@;n~2nE~c6m*~h>tH8JH1%0^09MCoA%|Ybq!%geOefE60$FUl;f_qh* zJ3`u#)Z2-f@;09Ec64!6;NBmFqezZuEpI}6SG{dT9mRhikfIOG>^SaYVVy3}>8d(4 z6x25~gbJzq5cHY{9($Ku6Ypl;Bgc<*0rS+!eWCXj$K!MLO3d7{L0z#qnRM5TFOC(Y zK^j8GwNgjSt0dpV53b=`ZB5|wOoRb)T)j6SO>>;I4L~jNqiZ5m+7)A=J8lJz?6PCM zQ`ajdFBzcC%Zwnc%?|lQT?4Z-pJF^VjTs6dV7ERUgN#F&Lc&obpE*=aYgT zpWG-v_E=apHB~q2N`sL>DEl65iGM6K{mN4LT&RfqBuRg~6p5X8xA4*$k=t}nakClY zT0AHiKcnQAe&;sM%c$RN-x069fJ^Gx{k0h4rCIYieS^fQ*R*m>N8R_+)9$2O!~TSc z)`X}E*e$(I@+pc2*77uB2X++q3eELbup_?D&8HDIF(_>mxtC@tQ?)$&RL*0#Si-^$ zNNmWb{(ZtL>{#beGCrd0OiqauV=krc&?|7eSXOa&++0vz;&DLN_a(=7{QM|XXHC@UaQ(=Ony*^e@wibWJFUmmYLJW(-+T1?BB{k^E}uQp9qT5bST8(l(gyO=hVkfLH>0=msK z3%M26pZ#Rogii8OS8Afify!#e=@#wR|WgjdFd`XVnmYGiw9+sIs=9$YRL^yjmu$pts{-*za0>HW$-TLEWYh%8}M7SwJ9a0dA*B+9<05KlC3 zGnZ&wWyO(BF0N=jy91>TI?8;5vPd z!lw_shHIZWLVXp+```ASMY)aR$X{8jXaS4>l5(8fm1HR;(NxTe^(awxs!k`PKwwF3 z1Y%(H3Gg zTZudC!FU+y!f>AR5HM^}XJZj1?&yc3+`X%iBt?uj6F>S+Ql~|-z~5TXZzEeLs5L>+ zyHV^;6uG6iohoRz60%bS>@?xJNzrK(s#65&G-0|ykWNxzR~K*821^f4Ksk&5@dpF`v0@EcMwuuQCJz*Km64_W0TUNpur$wZEq@O~ zOf={3PTi~F^pv11v=wcCSCz|}B{J#(2K?4QsFgW@xQ=gwqq6Wi0-zfm^CtV10s>yz zT4^LxrZ@c7z4Zn6Y=n<$P~1zc9>6KjXRqwss6r$`HN?6Sw6RI}>O4&ei*=B$dr7^^ zf2w#v*Qjzht<2-4iO5Z{#O#SYZQ6)m?KxtD$n7jH3XYJH6Veh4HN{a-8kLie-ofl> zBzII1MWy6ZD>PWIE0@bvx*Y+ij)0uKecH_GKV+^vS9E=-S4tI}Ba&*$-DKLWpX+Dn zk)nx#rSNWxLdC8NSU$z}J`U>|VB zufNd>gI$Q#NBL(Os||^yEjSq#dn0gmFv+w5lhD9>OPG!ZxG1^tQeLbf)QR}DZx(^D zYygR{7)!zy+aTtzwnkaJ%|d)2hM`zu!nNqHfd0rZG9WlKbSV7p)KSDn?dq&JS@;*6 z3`!rdAPt&vK1oUZ3B=Z8OMv0I-6^%DgQ%kHB?pRH?S9WSdliEh=JYUKIwR$tZ0mWKoJ3(r=SF z$^MjbKKie#*HcQM@t3QOG%QXQ6N2qTQfhCEw-XiVu*5W#6rF>HNru#B#NV4%HrCh@ zbHNE{Cd?n{(7+;hD%tF?l63fq)CCKr6BGrimkz-dIbb*um?0U=vYa85-sQKlb!WQdzF|HzhrZYnD*209hKR6PmF zI+Nm>>IKy`tiUF<6?F~#`x@e!WN?-aX0D>4zebwDz$TD!FDXKi!xKkm^X}fZ=Vf#A zqJ<;dGTfTqm*pbQPUhvgCwNch5tsAc;coh(n~x8i$=rDZfEW)KL;1vq44gzCP!-fx zE$6u>B2TuP0_2qhzH`SM#FD)+3;OS`uJ08zt7N79140)yJo^dmz#$}OY&-IrcAb;r!Y;zCkeV9&^*%>FoHG4)ERwZ zL{Z<>gTtYTt|F;ovHRD=#?|&P0I_7$4u<*}Fqf>|8}R3WzgnO6B^>dGC3(VMQZ%3r z;%g2D)Su7}wlIB!n+)h!QVg$}5v#>4TH04Fqq-(S1^W3K3z%Yer<(B%!P1NdSW;~8 zR4>U6Pc`GVcq|c1(i%2-Z6m{$c`OEvhmG@&+U)HsXr1+)A$w%#?KK+%sB{a6e015SEz7u>xw}rw67*@5KzP zG_(_Dc^g6~^_@1aH~bKacGilT41`GzY@BU8QZa_>o0WubBvR4$IaL%4hbBg4S0g}i zE!p*B$iJ7HsmBlgrslAmT6umjFNg19wyo(V5b>yA>wClxYdtOPJl7l_sa~A-P9oy0 zJEtM(& zPF4w-3U}4)_tNCd;(nCELdY-6X=KpRxi}PT2x^C)$=c1n$Z*}}MB4ay`w4`nFDH^p zKvj#R@}J`dB$|amy{;X0B_#{3_po%3a$A>n$rbjS(N~Gsi-NWYP0@B`i)Gw!&1@?C&Wp`cG%~V zSntYeo{1~r29{0W2bLt?#I#k)ve8H>>QFRn7fKT|tfhD^>a$Mpla_{nkU z6NF1`0^B#vzOZ=RAGHl^;s5v=k<+lRK82R* z7QY>ri?d8nqI|1MK$!C20xastA^7(^@8i4g=v+%p_vxA-6di@V={2P1%Jxq7WKxwq zwS0^Tnsyd-o?eTa~Ko9`w#j)Z1YPFcJgy*gr-?cI;sBlKR!V`RSQW9kSqY*q-f0n^$^Wp;5Ex+3V zV2$s%+^y%+Q%bGpZS0!(GUthGUAI%j>y<9e^2Kq#4DM?alUY9J9N16bhJ#{BW9s0sRR*1$i$G!enkJOkUyK%H-NMLAf zPuwaOvqoXCwNY3jMMEHj!I}k`upoHr@LoXg=CD)@n24TGIfk45-JoIG?lQ$T zQf$p#!?LSaZq9B}-9vSfr_AxpGmw75oziElBpY0&m+T>u26GNY^21UuQ> zukLw_IjTWByN*_O(wzC!XZ=yXdBRBpL+Lvh5mOTwT=a1EKs({_$!kBeY2xPX$_mFe zmNsXq8aY87^tq&%(xF%PVZFYF?h5Z$uCyYXSkqP&Hl&!;6&Crf4?R`_gTAr;XbJPi z&AT~qgbQ0H){qy}!+_Zj{l`ioc#dcN^WkikyRyS`IGd(9XN)@r^$rk9z8?q&Gv!mu zE0J?e9pmMc#EGheqaQD|DyLg{yd45GPW5B2<@vUl52qCwy-{H4x+mD?Jn+SgJ0LvT z0f1@F?6QN=@u;x_udlS~U@>p(!0SJuIyh-ug5Lo{c2Jrfe2k#ntKm4iGaHWH=Zor& zD~!=~rMkAdEa&eLivYDWN%1&eT;@5wPFc*eYL<_RlLAokt=QCey1@ZcA})$^g*uo& z@v2;AIbg2BWYKvBCxeje2w4~W#wF(FE9lxy2mGx68OyM3xYL@BH{BIS6B__(MMimukLihMHGUgj0= z=ss}f_XBqFSp5klADxxi*1Y)FbUe%_DwVHKwnpLl{$FeDrEUBBf3@5HuxrjIeR>}C z#p$lzWwZ#ClciMhi5D}oLZ0MoYnDBkEPxH1p0Q*>FrMeo#RWIv*NOojN1$2^r=u%k zgd;?zTI>MsQ$l6f%OSqAd=5yqKynvc4f|1>o3c}BKu*~sWw=V}QEuB>`?l#J)%Sl& zSUTG%`Ng;=P6d9-nrTHDiI`Mi%c&#SMRD}?nDQ;kQo{-ggLa5qu<;e6)_9rAG{+}! zs_>D*$8xbKhLhso{O0vVK3ae_Q)L|4nhj6j1R`;v7DAxft{PApt>7bD#K?2Tzwr71 z$8}*na@aB8aRrk;AF}zaS`4QPk30Z!guvkpj=x^okj%QE%Y{k~%}2nWy4zWK{4ZFz zSac;LG{Hui|(2aY(4ZVGi**N6YpDMSsNl8u<5a~k^#e)+q(apb z1q&sU+F}JBBh8Y<8;_Kbu-9?W-uzZK;NHgfTJJ46<-)2+W9KH2HC6J0wXq5>wDDR) zWTLu&17!^Crx_3Gf4jE{!W@DIChWBlHH1F?v@9q2a2nd_qWTqQCzd7pj+jbBg@~EN zOqA|16vR=69h=)GgTf*f9C|(7XH7M&f|`${2TfEX<$o78JHqt+bL2vFSpoP5lX5u5 z%T>{?v)#~gcNcH$vcK&7d1o){(|^AMY8?~NPx1vFGJvMp;jf)4))AazGyyng0lo4r z^g8(U;Puhr%NM<@gZ=)w1OIsZs1q`bej@;}#(uaTVSTfCfigiU7WzFb)V_MAGgf~5 zpM%#g2d|#|_~YS=zh{?dqd-`QYwI0MZM?{b^pr*ZVFqFi-!I~Utyve%DQpS*ux)e} zJ)of>J7&59bQoR^@F9eq0GQfdpkwiyt4)1hFAX8Gq23(0{^5mc>gH{sm8=|BnzjBk zUkn6&h#$Ra@DNbNbTGv0&Tg2jdTNL;=mge<0Oj3pdMt%~<|QGzj`R3wIh&Pp5EvGq zeV&lyT2`K5Pw0{~igAesD!wL{e)Yw|t)F6umL<&`EK4F_h1WwPaAk=y&H(8365k|Q zJe%eD6k#*&sl+)TJpeO9TXYa{;-(m1cG)?%iF5PVw#Z~rBBRu#s1}3aPayM zgl|;$k8{_y()S7!S@xFH?~`G*c-Pd1w;O(Wn^au_Eqhx{%1gKU;Ynn%>eZ!-VKGr= zD;yWa!TKv+fXN4!P-%5Wxkjnbmi|CecqJFJt_Zlhn<@k*l4UETmPTcBHQ6Hx7!RBA zh1m(+t<3v#jX>-yK-9~*50rD5gPYjm$CRE~ z$%i$uDoi1D1^ooTtF|GLrZYo;ZirqrHO#LB#(WtSl-iM(>8T+9scZd#$=btu*+Piw zw3UhuzVW7p)|AeC%15t<%VqnMQr!p%auf$O-99Ymqr6*f?_}Z>KjMsu#PfSN7rbcB z$33Ut?mXW{iHgjQ_3Z;lgG)FzP%apgV|++lFgp~Y1GgTGV9t5hUfjdvCNh7e>-cQ+ zSd)#XlI+7rTUhjM!hEeB?29c5ns~6V{?$LXknfCyvTYPHD(ZagfK^0%u8~|09ezoOkKtZLdtvqoUEL8yG>?;y`4R2HpsHS zWrM-5>ZetEI~2C5DQ@as<20jfYlrDmt3xn>>sku*pAi#K??mmLg# zIXZYfIC%Z~!+TV5*a;`7p15BXz~f#)qHU^ zE3m~CUsax=JLI(Di`FH{0;trLbH4X0Pc(NB7OXR2S$W{htdBaFhA{R|hrfD%X}lcN z>OL#xfE@GXlx(0fo}s?CC9r_7F)iu(yAPwHk<{aui9}{kSAErI${!minLw0k=K$`* z$>s2>l6xmy%<}1OegC}U>0z@sVF?bci?xK&6B?VWjl66G&v1$5wjly3k+okMVLBrQUfzOQvu0V$XE+yM51toF^ zOiF4|!QhS><{?mO=Gx*xj z?3o;`Gesxyc^AzgjI#{)xp^G);vOwdc)FUiPa<~_9o#H;D%8uvddrSp| zugI#rQ|v1TV=;fv#}pyzbP4R_f%SB(iaFWgdBcf*n$rvRFhC!@G4VFcS;*#lBmR;5D*FnZP9;Nk(^|yd9khnstcm3@V=h105*p7eH zf{s!JiC4ohs@avH7W;n{=P9D>>!T;xtAFetWzq*6y#dF=`MA;|BC6Ui-%28ZUC>-{ zsKsr28U?^(u zPZFJ|8+ES~hJkeEBrr=sNW^B$^HTsU`Y5UqDe;CFlC6>;?u;lB8$(!71r~m(&SYIZ zn^XQd_fpb^Vun43LAU!5D_?KcxUM@sIMKz~!(bl9f88(G4|Q1bI0x_0T2MfAA7r)#hcVk=Bh7mPp&_C#@8+ z31Gj8HHt*bxftxN$u9fZ{dYc+6%GIRL-q04$H)D1^1MXlBB4rlqk_`~)y1%GA2p1s zHfdSftyvGCwhPi3n^sIym~>=E?vL6gg%=oMitKAG}R;7$S)eMLTK zA|c3eO8y1?a6BQiz=`Ay@O7)Wcwp48bxdq0QuIh2Q+-m{Prnow+jzXVTveslEiSSL zDZ-mq*=?8zF&jk(VmQw4?)2~Z*2{1*adR>=t|LrR;Go;#w3<=y#qkyIBPTO((b8ms zrrariWd}#VQRN&{Ovm{L7q?gAmX)4u;jWlNPYeRkyzfC@hHO@61dy%vWJ6=uged1$ zck4>l%QX`=;8i(G0RPNW>lOhYQ*^8g`hFY0?|JK|1OHIwelpw!Oc2(vNJuf1kf_Mq zu8U#&R0?Lss=L^S3*kE9>Gz!QwB~GBpL3mN-+QdsoHR{>8Y&Zzdr;SsL~93GOnK)M zrO8?B&i{UR_DuiZod<4BEI5`Lxqj+`W&oY+?dku!6PlGQ(Z|@KyZ_q6oc_DroSfho zS;8J}Smd6dL^yii?Yx*S&nah{C)J>86PdW^MRxJFgZ;e&@&5kyN-GGeBpg{dCP6^Q zK2SuycSK6PwojpJiY)TNsIm@GT0gRPH5e@Udp;<8+0mQV=w3hg`QX_b!`fm|MFRlq zzV$958zK@qn)8aD8tSTOmd}CI&xg}d-bXHfj(&$VvpAuI8M_W2s(V_L^IRmDpcrht z```VDVh1 ziD2aVS_#dnfI|Kb`i&RUs1Syl+P8krWtG*SzTwiYC3`I5cfZ+oeG%#&jGo?{kxE=G zd2@yfFCfl_>i%_TG(TBV)ctUL_1$Ty$4`^Dn*X++!j6qzC}6n9L31C5Xjtw^uMr$~ zLIY&vKBD=~aa*jjtI5l-RU?W=U=6=ojyzdZupFXot!G{p@;>*3U7(tk)2cWwCKx;n zBEJVRAyinD6o=)(Sk8*eb_FsJED={_dK-rbjD9onm(9B5Ru0@v5H|@H9C0Y9FM0{c zGko##4Fx9?Edn>207WCvoEcOw9$taw=j9v&(lJoG`exgj*tE>fhZJs&Nmoih!)Xdh z?PO0l!H(74tSqLKWM_C@E?I24VmB9PD$Lv&=Yd46*uTSl<~C?T_wOF25~%XYNzaC| zFb&Z_Ljx+@+RyIq?R}e7!xMYO;urD>S`^2eq(^P&t}6q| zX7ZvMun4%_U+!fmu%k%MyOZJcv`^9Y^W|t!;eAVAMXO+hv(;CoMrV}oj?2p_rbnu`bZ>X<3euj%Q_6;XbG}ZoU-H!3+I8vBka64s0{h0WqF_l>_6^kX!ov324s|iqGa&o z=Svy1n$0iru}w&HXhOdLQdpeT5S{Of54lL<0@%UGHv$R7MkeY9c>qWwocDqp_i66| zih@Dx$W%(0$$^+U+rGG^2r~6{4J@I{TnLbzSsH%B1C{7oqN{|O#&R$Y&n*nIH~55;A-jAh+t~Cl}DpZ(2EqW(^`G=zz}Gw}h!3w*Gn0);i`?V2U(isZ@*SLeAo>;qrj- z&qX_&wgkpXnDxZPyY%zCic7UTE6mrjs0?`+CGZ(~$q4<`@D!~l>B+^Du@J*yvS)mz z$lF$_y2@Dx<#n?+@@&^=xl>>N7WKZAFbQ?N!hWmM4_qjL8%$^`-4Sic`)K49ez=njz43M~JAm%q5&;(8~ z!Fj0``QO0im(e$v1H_Uj8`)ZwjG#)?%IO|AyUM;c%R`#WAZiao2OxrRbYdHLYZPug z)%1ISG^XqzkX8U;^%>IV)q#j1KYXXbA9l=K{J1bI1>ku9X4=tW>ApPQmgD2H&eh%( zM>+h9xXkRMcRa{Q{IL|CF;zOhbR))aROGe z`Z}B*4lehvP{+2*-p@M%uQzMhwzFa8RNu_*t9;1Ff;EqqIUD$ez+|y8z&K}uRxH$6 z^=hbbX#yja(W5X~-LnD3VRE1b9y)9c=qP=wcW5k%qbzD|w<@;ZPCBLyKz4U99KlvZ zHmt=2N}PP$DJDl8_?c3{UylBuJ{J*J2t-lkCCKB9d_6e;EA+??$=Im?q}l<(uCcD- zLq`d!WFjsNeN0EEs1g}j)W1JT5nmt(40g!p_!;vE1ZrkJ6ZtO^DcVB9)LSQyWa^vG zrT5hU1|)}9mC(o6baC$&(+zpM-RC=0l?3`e?t3<-gW-fKYxvPjyv>|lO28d^ z;iN=Dgm9VeV`E4W>zpz;lNo9FRh_0vZsMdojV5-jGBrUix3*~4@TyiW1V3yusIfVSQB5J)L18Jn0$S` zA2!6OmB=NspDTY}gk#HG+)rXtD{h(Ur>ojlcM-a7C9{)Yv5a9)|Jo7hwRh$e!G)=6 z`Bj~z*lFyqk0T9O^KPwu@oe9)ls0i?n&# z^S6m6KFkg#DulxR?l`m2k4p6{AcX4VkZ^x0E&=&O&mm6wkvj{kB}z$x7`PL=>juoz zuT_otRrrgrtL*Q_;jM1r5Ubo8D!DIyWJy*#g_PU_SgbB7Cwt2rQDey}C7o!O0e+4c37DtJL=~&0T}wZCK`AgYC6I zr)5ffCILIhi(^V4AU2OL)r#&Fp?QA&0Dhp{ro~+?3Zj@ian(mqA!G>W;W7%MKqX-b zuh@gxC*q8?MnJt5TG}dRWf7mSFrSQBG5yZ5yGH=s_LA~w)ro!T`ilV(MhCL7s1BB= zWSBWG%zW_}6V`p*!`|ClZS(T4-Q#YyVPrrP)8K zCdV|#Zd=Eh&%yj7H)*^(R}Qv7h9GNwvvi0ph<>=f+Bd|3)>sIA`r8QeNcRORv+V1e z7ELc&Z9@qrFB$(WD?)7+lg^MUtQV}Z65^t>0@4qviK5BvNaUc^?VNPm1Km%5KeLTA zmDWYICSp{5%EWN+>e8WQWWWTGttsH=%ek}3V6QP;bVyHw#$?0alP?&0Rv;_7~ zQpJGGg^AZqUG>W}-!O>m=SYwk7WgrqpEvmAN#Oih_$u1jiU3ClQcPR(T?}j^dwuR< z>v-MTCmY}r3yQxbN9n=f{tF&w5vCRoN-;4!DFm{R?I7ZjT|E-b7k{xtaKwWCz;80%2;*ePM0s#ffJJmg2_-kNfc86Plqj*M74| z2P;C&^jXLHuWTzToZ7GhGJy?#4cg>SgY4=%*p8lqNzTi<%;uiq#%ZX7rMx!A!H}Gj zEfY1hWsxfyA4qFcMrQchUWbZUhdx(nYBh+NH8 zbvdaV*y{5uqFa){s0i6P+r98;X~9_ykKAC zkpWt}XJzYIU-&KIb)@~yj2>}EMc6!d2{C7IO@M`7E^3nYU@Y6GF5dC5h%wu7;E3U)o=xtiZF^qK6C)=jD z4YIpm^bYWcgVfXQGRh%r_Ona}H+%caV$U>6Pwunw@5Ao0aq;M-6V^TK`jYT&eZ zNb||;1sZq2fgf9%j~+ay-&<4ImZ=?s8qWb+aP|1<92)Avd>@E8)UtPt*%o=XT8qS0 z5}xDg-=90=TJ{Q{5+u=1;GJ(*8$#$DVZHYlyY1_m3$R<~-Hnc0ZsOI}0!S{Od_ra= zwbB>0Ub1ZyYR&ry|c4ciO$kWgeJoHCs2IK zM{99;xubk_ntutlXV^58NS5N`{a#jR_UO1U>V6lt%I#GS7qK`J6tqv!KX4 zO2vOH2fXDf$V3aFYlp=nVWk<3vh9C18c-9~{* z*G+$^_T#BK^~rbm4nP7azbYB+QJJkcbJYCIb%HaWx{I;1Q+IB$7yYeRm#!wv>D+!6kH9R=KNe^vSIq~z0l*$8 zpc4w9A6@YVPWEAVmZfP6ZC9xLbw!A=0x%MtFWcu2xw^zwg({4QNHGWBXhKZXVwWZY zmx zAD8#nLuDGhA0E%!)A+wxx!iB>IR{vlt%iC7`U||YBje7jNijFD|6E59It<_zb{cXa z$gKjEOp`O41Hj(B0E#XR(%E5)b@cPL`lAR;h3c>^V(L2`el~d@WTz%PKh9Nm)5+Ap z(@qf2SCSY}oGLd;)Fas6nD~A9Vy{1~5V@O-+h=rhr^x|nM002KH005-_gIKV(b2GJY zGXD=|;mXI#4SO`@>P3V4r{KUmq)9nHe-il^Yc`Aa&Lc%edMlY-~mxu^q4*In|W9HFL^ro5xL0=EUya*u%3Hr7EOXtHi_&4ee$|4Sbu#?V6lD zgNt7VJSR)!vo>o=)q>G!vHBRUfk7TSf8cF@qVhxaCr{^OO5b^$MRj#lm@N+oTlgQ-*T+4;LfYq~Sa z;IlIcM3iJwE$1hP;X{Kg( zms1rwYUUhs)$A&mQR8&zP7L}j@C26Sj z==p7TXH?0apjYlURt}TI?=EVl)mQcA%Fd8grz!d{dbo6Gu7Hgvz@4YVcQkrrAKu$l zDDm{(Dy=={MGE(``Sr?|ul1wX= z+fMex>;O~7T>H(CQE0V%CCVwi?)mcsMfFIw{EvY~3FdJl2W8`C_CH5RwzUl+g{X#Z1+gh_$3Sy0#J#^&!8P0*mf$^29T7i=z zcCqcK(l}k;pS?E)x6eYa=g+g7xL&^Zj*ruR=+Cct!I!VQNxNL%mj&qbxPo#5Mz;In#o z{GZo%K_}adH@W;?@B0vguUIntoWA#`oSt0o&!^*)UZkC!@Vz$0je+i=%q@|BltfF#ZMA;^8Z}rSA=n!pHXVp7!|OUIp#q zEo;inFFc^7T_m{f`Z+1vrupLU{owcT_`VlQpZ!}Tr_Vc>1)h3+o18q~#qZ_dI>qDR z_f?2~IDK2RvuGF|Dtl^T3+|AME&FTueMeOw{`S#{E|wPKs)x_(9{pTrELTH&v25sv ziLg<79OZ^9NdEf{_}A=}(qRiNcc$eQz@UTT{ZTuPnK)Fb20+JgWF~G6oreB!bS?$( z)UBcEQ?GM?&8~&_y($8^hKW#>-)Hf%&Z*)$LHCOu3<*w!=~=S z15aW3+ILkFAOpGsRo;W6mx87g;1R5@OB@vj-XkoqU=FYq$jm*+uWa>WHo)cAZ&wcV zfa*xzn7*S}M4xBJ>dvi*teY1`&kk5c$mvz{*zm0lgfBBPGf+Z z`*XKGnN*9%|Mfk87iA~gZLY!Z82*3ZP=2fzO*%GZSg9C zw>x{SwucAD=oVa}WzzbkNBgB9w+jvguNbr+UFh;bk*@b%~|D`yj8##*r3gFk7}8Qj6XoC>Snhz zO7UPuMM+-fc(FlolbH4sz4C^xgkUTEHtUVZwRVxaBE%Shy9~Rm#q4S_Gwyo?Wd$~; z3cI8IbSCxZ8dC29<3aU(Bw}_;LvsMSmdvwRehxOuwm}nZSzhAverGq=oz}~7{nDL} zelMs|4WB8e`j{c3+r|2Nn}c!##-&_*nJW1r%SRZmbz}X$cJy`|g2z3Y zEGR65nYOF%cgxr_x0H6>bzLR8W3T0nEX6h;4Y~+B8M6%w9wX z%FAl#nHdBbD~xZH+iRGQ9F-O26TL_;B|sEqC}b>)&TZ(o6FP~|GnQ{yU|GZTq|Qro z*{b9E!?D#HSCsP}jB{}2D$qRO1J!~S9(JQII|udGIXWL{Qcf$+HQyDdAW^LbaF!-N zwA7mDqggc(Jdh23C*QgK)`7g2J<&*l$b3CRnth;rO84#|sM>x&fOW^lm}X=rgj zF_EGi*x)w855(m3b7Lo0u;F{!lFT+2#m~tQf!FQ8s5+igh+X9*8`I5)Rs9<8WuZu6 zOG)b{P7N?zNV>;O7Mcrhx?5Q`=00G6m9wm9_uyF^r;7~OmPQ)Uw=}e{Z>ABnnQMVc ze-UB|Vw73BBAE&eqOcRIk&FIGBrLW~F6kp+E)PRHH`X zQRXm%iZhaxu)6>R0dSC_sz!#wv~WbIo%qE0E-=$t=a%)=*ids%@SpN4_n@~A2OQFp zhkOXdXejNv0<`M@J0H8s-&EC4hu|=uNTjr7AjL@@n5vzV+nn?;&tCKveE}S=Z3N7@ z##kz*no+i`gUh&#b=1G z4T3IN47NE4kv|k_%wT9;LT$^K<@%wy%d$oKcnIn;=Qhdf#Az}0wsi#=;oN)m`pd!! z+%xLtWPgZ|g=|1prU91EW7Z!oNeY4`WJ$9&-z5o!@j6>!g7)jgsxeqsbJZ3jqEmnq zm6e3S#$1g>-H}7D%XsV!&FhFs@p(8CrK5+fM-Ytb!!2){6ZV|h`WZ8GFq6?-4jGBt ztfel(EzBU?Lj=uDBXRe(2tYOZg82p&wPy5DnGi^sZV-z@O#znzG$4QjI-?)h002Ux zK?c$h_jXpTs%&l}5rl@uij)sn8)V0qlD_`=3aD3`JII_@*P;R*?!cuY;m0vTONQ6L z`-;<=Kvbn)Qm+8=y!)$f{ITl~EQ&W>t(}1K0Bg8cM$KD!Xn2QD>CD7>m zJKKBnvEi0r0Dy7s51>jz$fxhK_>*aQs3 z9#{&61uA1$aUJW7i`~Cq=}eO#*EG0IUUohW1MAJpzApew zbA^lVP&CB37Np+^Ay+H@{Tx))k_-nFEp!1~a3Y!#I+>J&uGm*=bgatLD%_U}{uqUl zi#1W?9FnSz?H0eol?Uq3JkoT|Wt_tDgQ8CjnU*6^ZkS=Dm`^yEFQoI#KzOR%l?0Xr z%7jfo1L&m2)HodQ%EX9$M=*E=b6mdw3sSRbRXvvWcF}Z95z~>8!xCw!9K2ON@fH#) zI=~!mi33|&PMqg3U0X3m7^eP4saq81l;)E|(BpLYv@GFIiH3ecjmKWbDN+zhAIUk5 zw&9$(FbrwpCBU?LO$bx|F-aitX(>Q{3^7J~z@&C5{J4<_S)jfbB|sI4Yd~(Dr3+XD zC5cEKZJ7Td_P9Y`FStx1Vz%zc>Btgl`hwNYqNcGtpM)hw6p$IoO5B_>4ULjeM% zA|Y*LwMBOyRClR)=qxFGCW~t*NCFh1F4UvE+744<5atFY(}p+z4=p{zvOno7-5;@<1?TQ^gWd?IjRL}*`~&TuOxv{y25pF z-L`%4`g4|OGx1YN74=4K(1QZz`2xLdHi6}7{?F3JfQrm8$<)RIm_k_M8i1T_r1bfO zjtfmbCSfpqX<3HPGiD1EJPxD@?dJf_iQQNbi+zvrRUF%9w_b`cP#oabe8*$MhyoxH zg=i8*<-{axeJQngCbW{mg|eZjh4ZFR!EmDSk^owuPzm>NIDj>yT9om(`uHR_)_EWh z*b-2nGvEk?n2g{^YTeL0@F>&snU(}qX~h9m!c+zQ_SpHJk1NOV2uKj(G`@R@(30(^ z+-O;e5r5Vv3O*K$zGw~d@w^#I;6{jh1qhVhkHDOjqwDF!Az1~yOnb~_#M(uvP5R`| zHaP5LHdQ46v8u-T?9D5UiQ(cW6Hcq|Lqvhg#G;Wv2CO#51^VDKTSG+O0ag^maJY07 z2%H#X!f1pWSNvr+K8)kbIh%8+MvGImqLJhwQYGRSz>N_F2Uw_}J^ID#JgT@f!TavyBQ7WHzTxyGp;(b1i^h{^G_0 zkY7uvOeS91RG~qPC5z7)K{V(-O)cWVESb1Q$FEnwu(2vD`KJl5<>7!?j5aOB)z*9)uLm;xD zCS@T2V_R;9`VpAu(lmbBQ?}HB7RZd66$^-kVxfFfnXDMaN}l7y$4at_aMF|(uXD?r zcmN0=U}u9cg%h=EKU>BJR;cT9)4v@dl^-9vh3S^e z>d(I#o6N3YE_s1T2#+S7wa){iFYi*)rxVg7xUlu7v zSKw$)0uszxD&Qdo4p3NHolH1HQm}C$&70c2O4}1X5g5o$GDlvIS|=NXz(f=;fCYij z;KxKMR)hr-AOj$9UR4b?PQZzQqMlzO!ySH$2N^v^Vy;iYVvSO#KHSf`?4L~LbjZ&e&(2s|uC~uc(Q(F5ADDUiF7_DF$Z)Q~v(Gj)G=->{Z7b>n0)!zwBglcqV z(mhI?e2Z*S`k44N)u&CZ+Zhx?btsOZaGL=Zlx+*Got6k<=2fdOmY^kFGg@Y(dZL^P z#n79kHluJZzUY4XQENq`s9QpPZp7|FoOU9}nPdhcd8!sDu0QjtUhA|g3i5$WZS)p- z04#Kaz@xbJgq!+VVh$@pnX3c5zu`$P&>k?j!5JSfK1`}M7l6r(DJ&<=!v3K zys^XuVEhud`RqZ#VxFlUDPWv&gx2W76WRP_JnlJXGaRz`dU?z;JD5OgG!f6Z3ycM}wUUFURdlL8uqvZUm`C3`S}P zcROyv)}6`Gv3>-91J-PW1Ea1cu(}`s6o8!Y#S!bk$$(-)*A^@jMZoB}&0P@Ye4S5p zhH=|)66Gc`pZwc02)IyCr;jpr`L@!&YO^OY`Nz@=VC*S>Ylz4t zE*uk!4X8U?L8jERk1Ip@r4J@!RM(6U7e>hjm>#~sMh@+p-Tj_oIv*D^he`wjcZmJY zoECPrsgWC|+p#<+4(|5HaAZ1GUg8uiJwp)2b00ppf0~1^G1#qKm>3@{%;1fS7(W2F z{OV5t_u~aKwmDV8W3x~5y|su9iBMe-nkqUd+6(2PZx$wuvUyS2n4*A~V{QXs8W!PM z0yC(>Hr_*oNU5zWOIw4VR3y}W%Md;#a~)yo81TRCxvxhQg<2QI6@*T+9(r<-X76xu z73W7#MmnNYi=~9tsWfX{v7-bGR7T91`h_b9KY5{>O!0f*WNB`9aeW#Sq2`(*v@y40 z8KHIdWk(u7WMOti;DUOQU^1YQ1txK{2sL3nS(}6Ylt$q~GmJtJ@;9MEw&SIC06&`u6lPlwi_PltS;KXbjPwU8Lh4 z3v41lijd@vL&(W6w}PHCl;QsQC5NXz^F~9MbzOi%5st`1NYX+dazZrb2aw5GeE}rS=H4B_I$kB)X$I07DD)jHkBuWO3beBFoewS*|d8 zTt`_rX^0((&tL@V8e|_2#p)Bz_W#;Lc_Dc9Wtw-?=8pbBQ??4QilKr5DT0D6kXy8C(X4i}D6zLkb=p#%VbmnGpfY%t6(qOqEkI9@3dMto+C zaK-oTcap$nv|k+qzVZtoY?xb2;_1oWes|3u$JOJfg4CDFMSfSs%lk|}O)-1c_F@1y zICTN;@?QulDQ#>zr}fUgZ#NDBT8JhH?CYe+Blt|%J9mL!m^UgIjb4zPN^D{7+rTB^ zQOE_ztyS`35D+YpzX$YhUu(l);)YqsrB0$0Vp@0ug%UgSmkT8V}!P9TWb3oVp~*!XBrE2H=# zik~QAwDD3nOs3qs&lg_jp<88QJ|y*gM+t|wsTiSvmVi7Y0~cTtGbIOU#>3KB1Z$$1 z6{hkWW6-GMsEgDj8^;R}bypqR5I~#)kv?4JIMR&KydnSxz{;_Wg3csIwuy%GXGMh6 z@SvNeX+{V?l20Je;~ZPdjcv&9hgsS|BNG(){X2?w1~6FRKsP-BLVRd&$iiiXNTn6B zJNGdtRul3HUJwqk7B6Yk&#{PlfymPNHmWT021^FuLhU~zZP%crpCn%KXssQjAh{#s6y%D zWh^9UW^u3qd;`bq7*-_+Eh7CucYwT-C<+Wsx@wmZZb}Nsg`q6tg?X&97BG#t(qIxm z6VPU7_1`3IjebQR!@@uHm&r_|flNHoFR~0APn9WphOlxB0~3AR9pWkRAI_9TzzlH}k`lfeE10~ok5!)G)E1vwGFk$F#nSdRfM z^iU0s*cB|iQiXV>D+s$fkS-G*v6UW1M2s7QQx^RTv(}wR7Z1n%g8~t!sZ0Dsb~egI z7Fb~^#+(>_yw%cd9GGi==#me0#2D!5hXC1CmtzcIDJ^GZMr2-|-~UPz1ondKM&hsT zV?=ROP_$<3M)el%C?Bdjmq!4xT$f9jhFC@v z=D(wo2G-{9dmf6R-9D0o{1W|i_!rGsqh$%e*K}oeaey+>=!-+&B~`=I(Wrc{_Ns&D za@0tUju&PuS7tF^Y5H^yrCe%4dKTQB9yd6rRPedtw5fiT(MTZ8QUnwn*V>9l3UQ+* z(I{RdmaPg59H7+^r1i{0rp`J$@UK^YFH@OeqHJR-w2_gvq5-3}9+h5;7SUvy`(DiZR1f8|g@ObO_Ampbu= z4>((xI|&TnWKNc;;ix@;xk+)>pvyt5#u#h6t$H#1i#Hzcs1=TcGLZI!14YjeK!M1;J|k^WLy!yz z8?D%g$R52R#c%?SC#sqk+r1L|-8ZL))W0c~fg%q~790}LTO4ZPol#1dbr@0FSj6kF zkOx8~s40_iTsyY`dm18xfonOO4X2N#JG}{mMi7C+0}JVjhww}waUsAhmgrVoj1p`B z!%uNSpaa41;)DS~8-gU#Rvd$|skALVFj~1OtCD5Nha@AsYI0&;tNW%-{bI0dXp-J! z3|IywXlnyLoPm#t;RqMbt-d}-h}xe)aIP;%wIheuio!o2H!9U6tczUWT4mr+d>k}m zc<*W@2x5hkbh8APC#E@w>jrU?lXd8p5eiEBkf(swiUs49)Epdf=TxYKBamr1geI1< zKDb39Ah{mQP;%e;w}=x?-41;zq&`m!PAairWI4|xmiixH3~kr!74fTu0M2MmPf0YM!KVh@Z-|b zD%2$0Tr4R^FpBfKSogUBkEDe1zOciTu@m)%fgzKu$|R>?R|ZlDB8RjxUze(;vvBxJ zdci4qc&Y3}$$D^(ixLi}nnfhtyFy2kjz@&Xtz1PUaiwCkp+aVHsZLGlct)S z#O$dTXJ{~)4hc5l!3id#1S+A;XeriK#@VU8B5QaParG+&;HRHW;_{GFQplL-&L}}n zu}CB$ZP&@`NO<820amE7oWZ#XoWotjix<}(JLqSJG&WXS$5zDWn>a1Ojg_x=TM>@X zgY|g5-@*pjABHdPk;lNZj=O1|r@gV#o?3IxuG+Iw)aLa=I`C)wtZ!;1j&26iXOzAi zJ;eEiKMl_OKFMi|;453XOYK=(%C%}v*;_ECu5IzX&0A|rJ6q8fEZcLRpY$%jYd%q! z+cZ4f;CVW`GAuOx{`%B*eulgYzOCD38lIt__0p3?316k4Tcl7e_wZHk6tf6vD>LV{ zx4v}ru#<|XZaedN{fFeAy*fx)8P@{_6NB+28^Osvozp~sZqtxi(VYU9|j6_yx@%8sj(8EQM zi(9Xonz~+$Uej^%Xc+Tz)I~de<90*-NGdr)Cpqv&)nfIgsdaZ^!S?2r(bI!-edJ~i zP~p1jYYUSut%W`Bez>YfrqW79DnYfo8!g{^LdTKW(+jhv{O~V$nw$^zw95R~G}=ma z{+SpJMg^}Qj1^r53zcBFZUM2 zGjKikXRjA|tzE$zo1d(HKAVe+)|QdhgT2i#;+|6Ze6cCmZtc=k0{Xif5I6!slK z$@;BP6MP-`zFg?JsZBzazIJu$np!2??1GEZB}U!QSq!uRWY}BpJsp``q)AslFZg^9 zk8q60yZ#(ZaFx{p<(%*%;1|UB`7vg!Y)Zv_SPfb~s!$BW{hma7op|Y-W%g|Huf4mT zz0~w{U!PTfy*~#9z4%V={xrM)tU7*PeJ|%}g?8-fOig&%$1j-L-qjd~8K#fJyrd!ZNYl!@V(%JG zyS-jUViw&Cwc6Q=S8c>=8H;;jPoHENv{o%r_&=(cKem6W8-M=I(MIIsUrYO5ehVA*LLTd1KW`*i_VpGI zf5vb9WmtZ&@DPGoDGXjODbUKf$5UYOt!wNyORRWOTb_{8q1WQ3xLEo~UC^bL*L_1=lFf@TOo>-I8(VpqT1J^YZXxM}TKZ7-g#>xqxx zG4w-0ap~He3{u!rLbvdYYUn+4r|n#e$y+ts*hP@XW_-1{Yo48mGC2ResY;&hU1B(5 z&SaQtp2GO~aC);X4cXDMNGqQ>Ik8IJ%qZKGTAKKXz38l7(bGn2y94l$J|xGc2eQ00 z_>?TNYWK9R8Nc+L=yCEj+2*>7o8jLO&O)-a6SNpGku6n}`k9YAI;y76%j5C#eLQ`I zC;#=L@SRS4eaT5xlL~JfNkvMEN%;-5d{9+?_OX3X55LYBdUvL;X-He6CviuO=?M+ZP588Jh`jWqd=%WTV?{#%>Ph@zvVt zaT)OI1L%3rNA!HSjP4wN8m)dEcR;fPw+v|Op?)vQgosdYWw`wN%F;^x%iyE=Z@$T@ ze%OAFYd2#3jcNB zCGoL(<_8VE0gdwmNb~9jYrwaJ5n7q*2me$3=k<1%D0tlzq?g~nR{6z4vrlYhi>7#x zv-=U=`H5*S@@L4|?;&TrIi#{}yLuwdOo`$r>_8H~WX6r99`jhq?YM|rLrv2)@8^BP zD_c(Y@A84>^?b+LwiVIs#}er2gGynw@l40!cqrw>WN;-cnP zo^#wpNhWk@G3-g>l8$sgONVyLHn|H_nDFB&aX0(<*Y#kO$U1k%pHiF45}oU?G&H@x z8Xj3RV2!+1(Qw;)yAO*_E^m|j-_L`VGL^4~%@CYLJopYZHQS(Q*7Vj*Ai z;dqDlSQqz&=MDAR&;DtZ4T3w-k4k}v=a((k%FmONv5t3C>IkOk+3m~4Jv+TTM;Y|A zDlN$qLu@n-;7&Z8IobKs@9(AnD?0pnaxXVEtPjtgH|SggHCFGtiS-+mcDPjxZ#U4< zW3+M?2*>DAutBLkY@!O^Jmn&U1ubd&wXofjw|+ZIN-jnARzR!$E{#|BdGj1@ch}3) zz+-n`F)?k9cEms{-<|E193x?O_P*<`buHD;gDP?S*Lv6oNJPlc&Th?ZZF~XukViJx zn@V5C=*3s!Ln4hnovky1wr=(GT(|1BQl{+ zCy6A>qZ#@mlR{{E}nJyv#%J?n^c z?9m zRh`y#H@L|@fe(QIUaMHdKwh1H-#t3_z(@ieYu$2Ohpuv-w|l=y%8rR?+=Yqx-huI2 zlDHU?*pb?$YtKFPTvL6`v9kJ8AEZ;i)AO+#_moxmh344oJ%ar9Gw)kz&i~0C_xv(E zz)!uiUOo7A6Z`y<_(6T`^Jl;&Exm2$LME*B^-{;-Z}+_$XHZW^vsa07DIgUt-p#f? z3f0ESz8wlKAxlnZob9%}P1BsRjkDD#QM8?nM9q^4GfVlG6x-X*kp=9R_7Ah_5B&c$ zzdmSW4YV@>0C-aX{$Dj+h5x&z>y^)!+F@JD^9?8YPf)5o(A2HLTM+~AViIK}ku6}41@3@Qz0=biMf;<#t7mkX)RIGvHtN7&of zXKU}P2_y>tk1i1$aIa4L3PEzo}C>vd{iLc~gOb?8| zddF{M61EbLl#*og(3C5YDXDpdZ>1^XPy>W}BBvI6CHMdIHrkCEL-ue)A z6`P}w5(n1L>9Oe>6fqLX3BL!eOkNW^DWKzMZ=)|s#_tJRCvTtIGqOC}zLI=o5ANB* zn~jgQVSbwiPi-@JCm{-FX%}JP8JP@9esq$(2hF6Cl#0pk%T9T%81;*n_pqxY${T1QWze*@5)!mGq9PKNPs^rL1$C3&y!Z!=ZV^I~2XC zH6Mhs2du{$iQBUa*+ct0c26Jc$m3>*j8PK4dB(WQuCO-|Y3-Uge4o5dzH2%&V~w`D zy;wE>(YSv}M^p&&DUH4GQ_9VdBie!HKe>F|(9H1TmKuMz9AL_^gZTJVwZDB_)w7HD zLpf58wHZNFA?Y>5-k<-H*5r=u|G3!K;z`++%!D=IeG78lls)_N>g&ydk*f`}o6yMN zBhJJ}1o6Oy&3HGB?wBSTZQLbcyNID_=8XT>&3dXHEwV&!EIWpfPu zoJTL4R7%pD$9wEud~CslRHWk!YAfa7naD$;2pv{BzU`9>Sa52VrT;+Yksgzz^^GZn zx-Oqdvi?PeNuK?E%xIQ@Ig2yAC_R*eyV9V+gLurC8oUg6uA@P@kG#lo0ypz_k}3DW zncqv^DjA~F7GH_2;>M^i#%wAi|Be4ZVaAC=7=&1Ndfu8#*8NJ}xWkyVFl)UOqXLYT zY*Ax|27Tq$HA4-SPR`_I-uRF0z9C192GFUyt3qe8R$_g8!UF)CSrK}mdG(4)S@)-b zIGrp!z29{n{P;X5CpZ7s^G*cs;>?w7l(H;eI`7E;B}Iy} z7|kcc0Djm>5dPZg_pdK<{)j$Hz}4N^W1t;gZdM{M`)QW`x6m2x%k22N+=*E!x{&Dz zU=bfD7blNdW+*?L99?UMX{uPLpMl=k@bAvRs0Qx!oxeUa+evGD@9{G2p@{$6Uc#4y zmk*<1>Wi?kuGfzT3RJpXtHP# zS@&=M+4vFXN5{COx39*4A72NCZQ}RaJgD2uzqhlv!iKG37#ApE7%wIi>8&qI>UyHj z4>|O~#AK1XZ^i>78P`HqtL3%bxV5>Stom`OA@u~#I8pqf&h&Vy+eqYjV(bD+cym8V zyftHYw^2j1i@4o}2>KY?MU7Oy+5OjNmYLq9PZKv+Tr;(h2qZ^$CRrB0>0=srQ>XM) zlML%H*fH8SktwZU7eYrGM<_lv)B(b`bU_Us!^MRbedGBrx?{5Ydv13dClWK#Us|iU z`~c;5NOU4+RHHGAfr3Kd`h@8hKfwXl_td^@OOI;7D%+5;f{goWBPDjL)u%Dzzb`7< z*XDXZ)3K1iiu0*Wt^!J zo=-F5C!IOYgH19N>d#qw-YRpQV)L8GDX2`Wy;86%C04+&XkOYzlFslf3060OsbVF zI8LMUvr9wPZrRuEYI3TIR^v>bYPMI126?sfc-~dO?oF-4P>?MPOkTljQjbn7Y1;bD zwL22I;*Q+ChK9VXR;)i&D+9Q2S=%wFmZ+8vUc)|bxN!MQoy4^(mM+4%a8<9KHB}+Q z+3B0CUYt29wn&fbkQ-x4D$tl5_kpM~Hcoc(k_ho|NMAT!AXQ3YySemf-R4c^-wGZIQ(@oOxxv(o=OCs%9#Q=U`RdULwh+ zbrpL;H?3)s%{V4@ms4NJbXpVN0Y2LJ!997a!6S({k6Yb1cz@2Sztx$RMN}6N4d4ou z)5PjND#~bHz!Fy7IrMa07g>GH3>l(jAi`4SoyOY7LsrE3k7`1AW7XvTrTi-J;g_5I za<#j2V~YjNFxg7O(y6I2wTrq#jIE7!Y1vYAN(I!_^+EAGu%VX_kmQ@SVcrE#zvP~RlC^wmr4I)SE z{9{xp3H~;E%GRC!4yB!=CEL$XP`@?T+khQeZ3AUkdw7?hoTbvu{4ba2v)FG-*=&$B z`ERrpPK2)Dz=P(b8#3*eP?yYy(ZZ!8AmDB5c!g+_Vxp#z!DBD#)3Yt>mP) zB%SEX-Kzsq>+eVE`tJrUd3N<%E%bPsumH3*eK_$G(ZU!w&%9*rz!<=#na=~<1 z$#487&E=&~v!>~vls006q>$G}WP>bthySJTdS7tP&-|Z`|73;yYC&Xqm$6HW{eM-8 z;8l7ve9WmAGwN&$s-?;QB*EMK_mJ1asOF^0O1P2OG{XNg;s-*y-$v5|vV2wCJHln` zvSPm~9e;8EqvGdEV%=ER2(N;l0l94HMq=F{FXKjF{ZJsek?K(Pe4TF zgW2Yh~K#YoaHCQyS&VL{Zf{KsR3_b zV#x6?R&DBKKnr*Y{z#JHhX#GbHU|3S9 zE)c+G(*aWqrS%Cp;8GTtHIzh^Z!BoQ6r*U?D%V*HsvnDZw)n3U0J#29bO&?}7&n0r zMrNs-f2Eh)Z@);Z=iLX!AqoChvY7>ash0-Ma8v#BvY@7xdE38vg)u6x>GxNNp0|V} zfosQpXFt1Ex%Mj1lRkOP#6M$gq>qydVnkmOBP{ukW;C`&lD%@)a$)&)<8`BYDWsW| zVEFc^-*i=ZPsSweEsjMf@)l)x;wv16@*)Iyqk31Fcw0JVlhej>v>ZIA=Z$(+O_PFM zsfvX<6ZV2!Nk)pY;by}IhzXG9iSDtP<|K?ox z^CrlHSS2v*d;XRL!&nI!ApW8!83F_aKNgN_tIC4Q0hJ`m08ii>U4>i?$aGcjrHD>O$WL1dImmF<5BTK^Ax#K2pSeUJuUz z?*9()f5i?7a=H;Q??qn89;aV}R={(G-7eNbct(<# zAQoD02K!LTBp5f8GV20_CF0erY?IC;sJA5=xCjKnoSE34&XO5MtR)>}dAg4!-8p8r z?i^Jq91}t`F$0AUlUk&eCWMm#AksVwWD1lp%gQ~POAyJ<*f27mtg{;Cug+j+bsah9%L z9=2AfE*|Ed1n)p{#xk`dph&|qc1HaxQa8e~^2WPFm1t06w_1VbxOEvbFx425>m2vY5FyxCGJA{Y0J5vNp_Jp3i;IcrAfT^u0 z2;B7J^DL}hL#gAwQt==&f|+$P?2PNsN2st(n)4lB`9iQKt1vA<@Wdh;w;5UXs|>JgSb5TIKZQa{9|x%VhB#YtbX8OUZWu8-Fd8%yt$*<$9AX(8 z)z>`ZGO`LX&E2=Gk)T8@Q@ccDq#uJ`N?3xV8uXX8k%1HsIr8YKpsjMzeP;zty?Jhp zkqnD1A~o9ypYYu7VvAwbiQd>Qa!F6=VL8+3)b|Y8VfjAodiMe)XkcZ*nYlF$2gFJY zh8Dva52rYlrlA#3*;sv>tooWGPR-~Od=ttMyE2c*;8!n_exLq?9W8a(9rSj`@GPZG z(1e+j8t)0{{E9LaQL6DpR=C!}Kx+DNPPbT$CTZbBcO`-;RS715u0c_S7-)5gBTQ{w zKUcfpK~B_=VWoX;T}DKeiDR60{sq-YwNee1+N8?*@~n$1{fey#v?AWxMl^0`&YH-{ z9euM-chpPST2Gu*(U$&7a(hg{k!l#Ar_wS&U-HU;@#EvS1Y~J44ibdB#ra0*JL#A5 zdYEiAT(qptB$c1R(me7JkR8^QD%KUrmTPW?fXn)Cq`f~wfSb%w#Yo{NSF99wy33Y( z0V=qLBo2*)MO-qn3}Nebn}@ly^=#b&5*aL9gXadJV#PpP&f)#qFYs#$CY~8)U8HXl z?vKJkcOXTC4GqXSchg}R6{S9`>(NXs2AYA&?nZs0fraWsoDY_Qqi>G^8-gq^++1#^ zEuA0#h-Ky4Li3|^iS@*4WFOy_kb=4;1u!R9!?X;y_q>(`&NJS>CWjk)uJ+KXRHU8% zQ7J1NH?RdUKRZIowQe_8gHzZ!lM{()5L=4-+%aHeKi z!Xb`fu5Cm2((ZQhYGrSI)6_ zQ=gaEjOp7Q#dc3hm5WPiH^l@)#H%4~H0Yg91OZi0w~R)csw!xPGFdRsDR-8;?sjK|rpc62h9V1~ z1~8#9zruCLt=v*y(IbWvQehp`84+#H%n7}$q=1!%?HyOZg|F9D0R98f>YS_HvD<2q zW-%yB0|96oG=uG|vKC;`CCA$@HTU*w0&X1{FuY`jp7RGD~y4e6XV@jqOXwj;07t~Ox@hzibRguaVyId8QE`7+5ipqzac~yX|i3?}BU`-F(c`N~OwN?MV zcY4*G6rUXvz&dx0RgUC4^R%-kSC=o~xy&*tCRsNC>4`kRH0jqnGWqNI+56L|BZ`-F z5f`r|*WSA7)e%jZ2aZ<`IJy6wZ_=+Y79=5=bUQjakRBmvTt4(Vvrqacbt9F=+i00z zzCD?6AFRL0?w0$We}y+{i&t4GNhp^lZ(IBoKmN;?qh9R|{&>mb#Ab0j*%2Iz?!&Ty zsQ~ZO-rU&L^G{n(XD6p>qel{q9RmC)Ipp2B*o|+X_w0{{TsvUx;;qrjHy0I(LF;*$2v=l*Q|AIy5B{|?y4%#^oKe;*V4RH0_YBBuG8TOD>{PO z_HTdDQ`Tcmv47Wrv%UEuygPPYx)M=!N5ldWJhu7HZhV({pXkI=+Xl51Y4d ztTX1tiizymi7mjy>bLKZaD;@%qW-4*7^6lpL6?%e`cvKmW?Psf%arBt@!eZi*;ARz zc&QQB4+a0>YJ>S!V@M|q!QxG?;vScUtRp*WO|;{?L#cf<=67~^3tyHME<9x^{vdj* z_VwkV))b{QKK@8KrYDZHrw7h2HEyfTV%t-F%>KjWSnK#yc;t%_^`@bROHdcnh)-PR zh;b4`9^&y_wq-PU{?k)OA)bY2E}`DVeYfYxnzsWwzYcQqZc`k{)j;x4zo%Z?j=zV- z{HQymB&DJvxaBd1q0-h(SpU#3pGQrsm9xz%Jh!3-MOy_%Xb<>o{Adi#j-cIPg0)SD z?QU-EaAwnSDKTgcRY<&bpg>!A4o)SLfmLyro17o3V7j6FFkSvY39t-b_DS8RF05!Y z0|&P)oRZm}j*5-ri_AOM?6A761-}ZryV~RcF?rLQPA5BtmU04T z@a$BLAMIwdo`}+fztRMAc2#p(JH^F%sUG%(w3c_tOy#C1;s=Aj2R5Y^p+f7?WE0gd z+IUV6CIipS;RVjHU+It@%yDFdO@gvK{VZ-ciwGanr_WPw z0ddg^?h)HpPk_A?#AA?1^i;YJsO75P(&;w-@;&5{wyv-jGot6{E8fo@5`%#5tc*Ia z@mlx0pnw2_+Vg|Yv`-j|dNmY8{22_;j+ADi?wC)@RurV`H$<)0yJ>0@31@In#O9j6 zGOpquOsm#VqKRzzoEcT#Hr{?r{#?G#33kv2=8%MKe%%*Yclr4iIUFU&30cjrx&~kB zRgT5IWUSeGwX>`JcFw(8(rW$sK!p0EYRMc}T%Fz?Lf=USpzk|wmS+kUemaKN%x= zEI|>W?Zr6lk+R3bv3q?;CS?~!u>GdphlFVS(pB796XbUDM!h6%%Ugev5Bj|U^qQmN z?K`F3d9hI-C^empbdT{qDSz+2iah%@B)I{KF|tA3UkAXIr?+E8->~$BY<^HuhP#{i z$E^n1ob8m}YaMVvX{e|uNE%r$V}Y*)^2Igchg&&y4_)GpZD)@%HNAda`cc?_3Si7G z%vS2H3EC4=?ndqVnwGGPsRk3CnrK(5V>rK@F?H=1q_u5(DbZCPeJ^0mhgj&Ah& z5rteC21t}Rw2E)e%pKY$X$>V1ProkbTEM;Ddpc97#`8%%J@i^k-NKVkK15j#XntmQJcgL%l3wh`D{)!R(uC_+hq#MnjJ+)r0IJdHw6!Ojb6xpKtqT z6~b>F5{4sMR2cDIykvc)SqdCa@3r^6TulR6a#``^PXy$zJEwtD(&3WNl8D8NeY>A1 z!_LT7MVzV32exKgx znJGpCB?@63)aWP*7i#?-S2Rw7yOjA!2@NNc_!j^kjBIf1tUjzRkP!8mO`ti5Gam>F2j)4P6xH34T$7Eay%HSdL)Gw0v3HZ`l(9s&0 zQvZidxAjXI`a!5Hg(QhT37ndZ@kdHyyeZOHL5kZI|BsYE<_stN3w^m15z`?#>HpZz zmC}gF4+8w?|L?fvtBms}@qLU?Uh3ZkMEp;-TlD{BAMixeRJ#lOka!Yi^;D38;*fnz zy0Wc5K=s@RF<=IKimOx$oKOcPTUZwhO*~+c6YKQFo)der|MgiMQWhnHlu^vEGQ@5s zvQx6jW}#X@K?=xov@209wjpHhwiT*$PWbZLrx4CXMUcfO`saLW@ZJ*hDAr37JM@wV z+brt&uMy2kDXoFq%1t3#&dAF9b}5JzQ|rz1xjjV9+r5D}4?X z9k|&1xY%m`RJT)GrKyK-_{5He|7Hh0IGNxMNDvU_tmwp!HCmt>ISlx?fbBySFw-!Z zv{(T1+u3@vG+&*6;Nw9M^5$R?-GLZHqfe^7kOwfi^le;WTcHtiIk?`p2EeliJt zDja<(>9<|%GCei_h~q!)Z=FthXUU?q9R#!<^O-BB^0HSo8x&KIm&M&=m0^MWHW%ng z51eMoNPx*9X_KC5>&t*)R3ADp)(aY-JoPj**`Z}0nnV^=3#N>sLx3~zTf_j8PS!1P zm4SI(%v^_{mH4lTkLvrW)^|fegq~#8E2)y=;JTu0h!n&JagV&>gHg{25Hs%@wZ+P` zb6W}iH-0o!_#d(X7GV8zwus@SS|0;0_8+nz?9;?QBdL$*BLwrQ19KlD@qfmWr~_(H z@Oq05{+C4!ztPW0n>Mka{^{2WN=N}?{Qn;ZoVCM*nKxGw#t256V1Vf!Cy4Qlwe^Un%{zW*V1_?Y2-pzSa~Cmv9D;MN^m z?7YS56%R&D(B{!gzQZW_m#=}450TYe_8TN1N0L> zRVL^^aTqyf#N?DqwJPIp=s_J}9TyJVhz@#rH8b?sq%geo(7pA1Ky_PW_s!||iM5Uac3nFUzojiu z3z4isUz%G3LRl0}L6E5Vewh$z=4{d?V6!%<{|~Nu6BZ=T)vd#EJu;hGs)89X*{Fd( zID$%R*7t>mQIn;kw!ntHDIHn``1=%C*bF!m>yP8y7g0jI3@>n1{&x{>Pb)?-a}`r| zV3WQ2A3zeWGXq8>)|E7Q!bs#j}jv-5$2%~u3Uo|e=6{@D}{+E)db%DH-X0f zr-r}y2F?Dv(j~?{f3XZI9 zsuh&YCP&T4tjh5+X5ba|dmuWCra8O&zXhVRDuFx1?!Z;`pctH~Y3rKq(Ozq;4mc9V zP7q`~y2n_(GQOZEXE@ADia(%iS2D>1KaPGs^2K{%{e1I$=s#R~>E%83xD-9LJ=X)Q zYEuVuE7IODCZPUyvdA8pV*dTh{4^9#Gq9F(26q&+t4>ZY!lz4R(^!)!sk##<^|RTH6VmXS5^eH!zn&?(>1K!`H#Q zfBu^6w7tCd<$Kn5&|~+}(Tv~XkJag=ua(H^cvO3TiB#r|tK3`c%1VXk17 zLmfrPqq)j;NP+h2Gkd1&(&`$L`_P(Vf!k&NxfzEM`02w?k!6uqj}1r8inoI9?foX% z&3W5pH2v0N?OG`TdjU$uE2ZQXsBN#d6VaAIen@Z=McHdRFR{hvEwrb*z6r1vGb?+nP zShHK%j>24Ml+%p1Ea3nQG$MB2>FdYs9S*wtH;ghnB?QE9;~uf;U6{D!lwDI`XqHC^ z1lkjwKNtfLixN{ikFYbsrUPeeHz#6S|%31t{J zX&UjPh&NUMM_S`oS*_skk-nMpToHD?k&K^>sPQS*~-EcmaMiK3uC_$8R%?uIz)?7}Ig%qQ(q6 z!gMxk9RJddmPW9?Sb;_+4}h~LR+E?wSQ^h%!^fYJxpk-MHH?5vqS&c-=R=RnCs{HV zrb~$hrLSz+M`I#451zW`*AvU4d!Ce->#G_*5b3gM2x0N1$)>nSs~(A;OsV`SsA|k$==~3TU0oHnWC%%(TUip z*Y`k5;TkeIuPrpAIxE7b$z|3)qR4V(VUBNmE=yQAvmVO5&o4B^niXqeSs3wXl;&?_ z6HH}d!**jbxnzGiO2UICLH9gBJ`e*)ar?=cYMijE!=rm z?u{U}os6-_rAWE`@jc;7j>hgX272Bj=Jz}AjEl-^{pvgKi<5!Dk|Ob@h-_1BRdF&f z0h%QtyrS;Wr*G>`Wz>n^?Je+iA|m$DV`res*x6-fOjP<)$0Uoiu=GmLXxG=x9s)_a zl;!}>!-$n};yQ?!yNy5a&`(fS(KLL}Zsj>Kn9TVn8u!J!k`!^f+PSpMZfMUC8ud8Q zZWKX288ddqYh_oa$a?|zz%64sjko%Gm(icGNXFlFA7mUrEYY^1v2*+q8Jq8`?#Vl* zB<7j^g499p_vO5@axwxzMSwS}QBg^JBU@{lhMouRC)ujjiN6f?nRbe|!qT|hj)QsL zap|M$K^dih-xJR0Oz!JOY97fuI!7|_#hQWuxy#@H3=KUxu7h@9s$-|-fo_w{(p{=) zR+HNsoCdOjeOnJ2JQO5((7OB%JF4e7gg#l&w)_qUD#SU25SdWjm;7bP`gQsGbxGt_ zv{1b5>P#H>9^+_e_Xfp#8cY&rOzT?B%jbki95S8S1}FQVA|1<{Z<%Wv2Bmm>xOhY;8br7&ouC z7byh>$zcSDearP_e^$fF39r=CfPmogd5NgQMG9FyzdUKi#FzG8+maBC8q$uNKL zyfc{y!xEUpG61ybJe+}UMK_p$m?FE+|7e5yef>oWf?cg%ZX`edZR^1E$z zwMcdUFE{*vxTf=SyFoq>f4VJ!GXaVp_0Q)iZqaP5m>K~ZJ09-`xZMr$_M;%3+$X34 z0$KLI8p^-DAh_HDa1FA_c^w1l-N<6gI`1^DV!E!d!6*cp{bwe3)B8wKb#kucj{5sw z5@T!1BU7hXgZ*ou-Fk8lZN^Q#HR!?jjxqILkC$Pp5(4~KGGi;Jtsf6y)qkGuHXlaF zb#vJFf#Bl!KxPjinKP=Ip;Jm&@E-E>9`26h+@yWruP?D>f|s**e;7p#66~zS)u{q>!hHnzz{Tsc3TW}K0+9FB*Q|FuA}Ghask*1$YZ8#o zn@Q@(2s=!SaNj$&@v#PQq0^1;(O&Dsd9K(k2qEeQ7~tk${ock=Lw#+nSy_ocIIMfd z%^K3TZQ1DXhh0AiY&$6Vc12(l-kiL8ruV}W8d}Ahdhxc=SKOVFtQ|NSZvTHQ_2=@Ayx8@CRwC3x zDjSY*_e*Tr8c;V|mRML{eLK6o6GGiAnH#+K^9DGHyahE8$~)^eoV8D;b6}fX3P_wi#&z{Ze;+zm zOqPEO36i6nuv4Fax*W#ra>lYTUYb4R!Y8sVcbd99m?FTm%IH!ozt${&%Kqv!sL;7K zX8v}A+-5KRMyg8c-@C6N&mSQ`^%Sib|L8;B>wLrY+NCl3WnXCzsV;xBC3!X@IZc1T zH7+(W1G4a&kv&{EOdg+@i}Pd*cN-RqKw4(wCE9w7k=C$4vXqYKZ4st$@^KlbS$bj% zTcwddBLs{lW|mxyxmG)ZX|^Sn9*p(RL$}4kQ^BUYPp$B*I(2iOI^lqSKFwq5LS)qh zG_V=QZgqz0Il`9DW!EXLsRyR9VZGURhsUyT{eYG5j+*-rjtW zAiL${D2eUu%eHS-Pl%{uFngByon^#&5nSsLzH|%-gizqzyB|X_<4qFZ6r#~rS zi+l79MnfKaE@S&XQk*v!2QVGWsJh|k1xyZazb4w_$?d|_%Bk6y2Nd`ObzC+HY=!s# zOd}}54KE{Jh{pOX`A$M8*!sFl`$15N7d~vc8aJUr`0Z)@BAC&%LGtK2MO3(k1u+eb z3GI6WE9ve^n1~=&-v}#MawzDJPxxX^32~H?u9y-AU`S(y^{7o`EBLc?^db7!VneVU zAws0t(bEE34AoBH5OZgymDJE0M!c9q5?~&q#@tYd{r;f46x{OqBQYA=o3IECx`eX+5|@kBs}sF z(4nb9+KqOGc>ReNnlyei3rxsx;qAa_GrA3SP_BSx?!d^+2494ve+ZtnX2sKQs%WRp zsPqrC=C!O2A$-fhc?smHrF>O_m2BUORrc>aQ z=z*cu=hI4RB&AR=g$T=FHS#ogh!#vMn8`~6@vn9h!gx_Mx1lm5TPX2x(8Ofmzmf|n zgG0G|$mW3*7!-+lTLoHH3=~rPQ236_pPY}PGe=*EhdcvI1KhvFdM*(Q=kAag!52Rq zZtnQ*5Zt2k@<{FVrLt(_f_sg14H}}Fsyce&$9%IQCCH`Q{FrORAfdmrXCOp6eJGFp zagX8_O!RV6#WQ0^L_^jIebfcQi4vv26saD9G|~A}M+yre)s$ktRcRwc-bQTESfyyt z{zSxQxMC~w;9S8l(I*c_Yu`rH)WEaF4^*rS;OO#n7or9bpT$uJeZzNXYXsdh=@D|> zf@sHAbGVw*XLx*bWU$C6rQrNg`ryAYWgaxpwrcXq>fs{cCvHrLB()wtDL3)OvUcx zy&ZD&D|)X9iSk#p!3qzykCPX8t?yPZ=nzM`D67cwr5@S9?bgmCx_#H>v&FA$gY3{V zzxP8hr`}%tdWNnOMEmCvqUla>_d6p;H?K`_c6pFHvG?6yAXInLK3E*|`S3HEmwAqZ zwF+Gp7LsvSZUTWH!S_=M4D^3-|9E%y9+dwyBkz56rH90M*28lubR4dcy#Eeb(1~ zrZLG#78~8e=z$nud1w8_AiQvE+aa(o*fHYu?13UZ!H}ef{`lm_I+4XS6_NqdFm$h4 zDk=9TjIfDQ3VoS1XdWIOHI`5_gV>`;UfW1!>>G z!wtQHQVYnLo&%MLqhSJ4N+boo`sIH9(U}0+--+W3x;bhA3$d{4tfz^Di<87V(fL`N zEGCAtgWZ&A6(;h&Uv&{F4!T!=6JDWfxoq%uB6+Jmz-a+b*L4OlOLn*=AMTdagQi5n zBOy4Ji88R9xD@%bMS~-?cSxdRDu<4@jMvs${{WXhn4jeu1!k+WBi3-+SW@ZQy!*Uv zlBu`&ZA4qdhZp2u@7{1-8MxUL-+C5EZ<#wRJ2I^|kki&N76Sy4Sg8frN5d2cXbDAn zAXjcjqA%DC!m3Tbm*c=hPCf5r7acsp^_Cq;+<-|awhD(D6v~bJcKb*U8&Q=OxypW) zUEQXInIH3&L3tU5v#NV`U0)-=K&0CVmqc74RdZ zC`_`r2@SK(om^)7D6=qUvLbx0>I`vwsc)+&_tT<7&|dSx`4MEY9sdMr@c*EF#W3W7jVLrEIy&!^WmK#WVTq#9}& zGsXvqz1{TbRCnDt(^d6;G{huqfaI@wm#d}UTH6H^Q$xYj0RuqMsk$X7R=XLy6sU$s zvxE(SY2t*VJRq|)I?Z}EAjaDbu0c&`1FR*&^u=6&#?U^qJF-5B(|r*Lqg3FY$fL-m z~-1COR4AB zYzGb4Lfbr!Cu=57C#?63mu=#IME!as zTU-=DWCMtNab&kDL~RqYl$gJl;|4XKXL&SZ^ooTz{T5?^RXk?Y9=D z6p-d<<~q>I2R+ytMBNg+zkDa*Oi=6mR_S%8ft#A&_M;`~_N!g2tW4lJ#WqH&h9Ub< z@YkC0G>z5l{D*{d9qw4sd(ns|^V2ZXvDN0zx<}-xsa3Wz{H+Jr@?L6m zcMiJ)z8|r879z`-k_!A-KPhOP!I>{qIw$MJkZwt^bRItIEOiM~NVY^ph1w&=9iusV%OZwLN)j82a@RJx=8?U%#H6y&zyxY%`JKm~lOL_j0*RB??voU9ohR7C0y7n5 zHGH3s%vQVyuWaX#O=BWBU&b-@5WSV!eL6k|6vE1VBZw4iW^0MzkP{awpYx>tUhq{x znaSh?%9UDHQdk2%ymw5l8txHaZ&)0(6<+VO#T7sUPfIURcDZZcg$Nq8KQ)Kbb*RA< ze2KZV5hV}DlX*^G-4fkZGaz05Z343Mo~CoRmJW?Xw&oql=x26lc{k?@_Q-psWJei6 zRdb`21fR~_Edsw(VCy4u&i5r&6T!g`*>$TEi{6Z>1)aNqrF*-*`Iq@9zdaVx2A3nw zjc*Sl88hbfl{>USx5>Vk>Wm%F6g4>n^!mMNt3#ngrTyZB*MdU7c7B$Db7w~-=m2z0 zv1lJ1W>krFN{+#?`I3k_Eu??gbNLzGZkukHn~b1-OFD!DqOr zH-)O5gBXs8_puu@q9{hJ$At^bR#jff4)<4no`DY)L6!@n1+-33t&hgn632tgxZ+xo z3UJO3ASQ>C-43;ddtwmyI8{f{;gL62+LL`mTuiXQ@VWqDUMi(cQDnPPqLB}Cl9AX*B2tNF1LX&cMXF8WooQS?_iC@L64d&Btst`boB)m z_vCgiM!`8d-=SaqP@;s;&YapP?}onm5usoyfmTjJpSzfrHT1J8_DMua&37cHg>MaZ zNuzX4HhYdGA=V%_hZm!!@y z|HKK$R34LB8)f0DlWPL;VME19bc5kQ730c4PuQm_8lJ0`TR=kykFoy2F-dVmg1%2) z?6f~A2u>x66TodI&xV>v5h#R)cb$Z(x(LmUUIZKU43cAswFowa85SC3bh=dbc~PA5 zBP|JZR`@_6v{kW97$^B1u{bM3k)`lA!1xT;Ab9|6Qdz%OpObA|i!@yk?kY^Vkj!Aa3^ zWz;@fHOEQYhnkMY+NK2gQ@tJA5QeEFS+RZ^O;&Q)U*Y6Z+sz3smEY>b-_WecBgbimdQS3rJ^5I{aJDxYj_| z5!I#k$)||dT!bfr@N!Ij-T-|q@<51H)Od@HBF=DcoZg2ZHciuY@R2nKF_2eq4k@j^V52PgVZU7=4C&2L_L!39?I7qBZ1X4)f3%bMR3Ek zE0M#ks@^-$qhMbB$YyIBhs?8hxjwBeYa@^X?34r|Qd$zgpfF;Fe++KGtFj#wU zRy16@8>!rNdzSG@6}!?cQYEgtD7iGCBx318C@9|xAe@YTrdVJHAyzJHmvBG0nrka%8*R0>dm!jtV7s2_=~^XzX{ z6lITN?Qtl`_DNbDAS+bdXXuhxUnJDI*T{ zkYMzc%x;bj`619(BqGRVYsF49Kb6okl3hw)!;(X8d?DsJ`Nb@-disETq7Szk#C4Sa zQ1$&24b@Y4MPuZE-Sb^?%$P4ed4Kb6v$@%MCdu~W2_(E;B;S)q^st%NLD)2n*umDW zw1lRn9rZ(;NlQmxs8YwWp3Eb6>Bcx82f{XoTikMKC5(#Ai|3{j`a+`}R-M}RQa7Rp z%r}&%(~2+THKY$!@MS+!$=j9ir;LtE2fYmYO(A<29(vqjxr90&D<|SRvIztrOz88v zTr_QVsb~b}9VY~7_l|P3t4gY@O{B;^c{p&KjDZ*|`c`wLys)DyhX---|Cn^e*mja4 zD%{J+9V~g{Eig&{u6##i4&eUoK7+I{F=>}KnIIL?SiZNvn4K-@_@nea_je7)~zu~lVM@jY&>*6FqjY;Z)!A|pe zGX}#iEwsuaB>6X^gj{DB3 z_QS`4!^#xdgEX^QLk$-E_5MPH+VwP>N?qw9FmXIIm-bd}g5mkddIu_D4)O&>aHrbl z2{C$C*Y@wq9dOIS(9LjCr9oV4b|D`Z5G0&*DR0FAYPu0Hcmqvb9K};Pai`89wpOcI z^}fBjSAjI}c)IEdk9OJFX$-Lrc(t3YYR7K1>*}myq7qJ_moK7$coZ4Z2^2e45vTs< z%dKmzzXm4aTSR}rspn+M2B$d~tbPm5XGC?D#gW@FhQp~097C!a`gl{W*nN|VtqdGE9Z5=uv%=lLboGxjM7Vhl|?rp*|&9fgCpN5PI5MNnM;F&MQ-8vi}q)G!Gajjc?%mBks&u8CH zF2=z3L3N|4>6D9mc_i0RU)h-pb0b6qvPNjXWSgcn2G6E7h*=W9Vb0?rpW!aa#DfpK zS;Cz}taH{N(&vSFF7{}j~w zvbj>J+nivdMEV#O;UaVq-n`FiK!6SfJBbFf%?7j1rYU1xFS<X|zaS0f9ax6a;6V!4C3?h*t~llN+UkpP!U=+F+uV&+mJ~Y<|+&`pydGf!^M@ zBo2U6o`Az$fDpPIuF}cTTmAX;Rmj2>+f6mhFO<(;Ek2&Fuu>ugX85+&GpKUv0sT#urB;6R?)%<#}9Sy*IXw#RcULGB_-- zZ$ocM_7efMuncl;zwDmdRt7=8;ypONiNBlnD{c%9WGo_0dvO!Km33CV#O|^0UP3+# z=zPL$iSL&1sBRcfn>(yQLU+o#CZqIc@*_~2Uj zwj8W{4}Dv@alCClXWxf(oIlobi94N)?un_qlmbmv1^L!ANi&r7)@@F4Dt{+^lsVLK zZdUG_32rfx4KMB)GHXfaM7~hTjy9(en9nS+3JC^IQglbPP#LNC_l*0M1h@jIOv7@~C9~Oj zz);G9d0#C@Oezm|Mn51(vtFH|8*Ftvh&DywdVD~f^3n3z`AR!}$ zH=T`Fod>}mFg9NmJV9gDeI0VfY#CU?I*C$RZwzi90rMUz4u#O?CNvB2UcjVEtl=U} z?%@Z8uo%1ZOSn@AC(1zLrI*XV$YNvOwlGqLQ}%ShC;b!w&%Y*G2-qf3JtavTrLK`3wEo<@O&gFV)?<3yF_5r2W$5N zj|+2A!hw1QfuY@hH3|t>TCQje+?7VaeHzY?Elpl zBak17>u7HU_KTMF2r5718w5wgr5s-4^kbiuDOF*3eFRJaM2suGDu$JZVNL$tZZyp< zBA;ZX(c1lyjXViG@<QlWFk&x!hTNPb zeZpKQG?w_#IYL(lDc}|r8I0wM7jmHqqsoj>SOoXzuIR*;7&|eru!VKt-@D;w85oPH zG6t8-vA)Gz!|F1IYOK&^e#PsGrh=rgXg#U%{PMjME> zjx2IxP7`lDM&E~GqWwMfFD(2rG*IZn?$E|X{0}CU`}p#x{X-Y#3EzIkJU^G*$xw*t zP1!so3l>`)@GyHV&UD$Lcci#`r~$lv=Boyt)pF@|TR-Z!n6jjdP+PU+L zVWU@gO@^RT3`>S!Q2d!JR5bXxLed;XyejPE;4fg`7o)EBxOR=?3V)EN zCD$E|GBLwTKqe<}%QyXN*g4J0v*_5ObEJdF>KW(4=|UpQ-`pqXC9yPb zj_~L$Y2nR}WtFRK{^5)2VFtdXr`|DcR@J~G`{Q8S# z>o?S?P?K9jXaa$Yt8-36AC|e3uPJUaPfo{KH;1VQ&90=YIZT8FIlZP-7CkXDzuGgu zx!jIag^dtV+w*4c)W=;M{(6rlnxb-1p~ZK|9X-`hB^FVPkA65?AM5rV_w+F`ac+L} zl3>EWbO6g;e*8IIps*f6^!*zJkq=ySyeumUS}5X6PI6Z<&Qe9Qh8I06NhN)!D8Gd3 zBePj|EqgC((sG@Q$qhxtuVoOXMm2lTQ0NV^u*)v(XH%; z#wTy$80XX53t&VJaG)~Ujz06mt~Xz6^zYXll4Zl^Xq(r{Z&_1jX69gbk1JYo`-e_I zAk(9Eo7dCGrjGkT*QP6e8}sg6qLcwh*XFnLc#WWVWX-!uw84X+hoa@~?m_4*6IE8` z+X)+AkNncTz3c0#l@N@SbJN&2H=Igp2Uy^%`{N1ClNB1US?qW-LuRI>gT`&LdIs1Q$ z;%Tw93=9A4&PUh*01*CH6jwB`HMX<)kLP)}mao%>#KMnnLo;%zUooQPgXPEKT{GoNa`d#MoWq{!$~%r3mypSPR@!zxpsvvA`RY(`08 z_InqKJKpqhk+*PrlQ2dh$wP1{#7c^|nunnQIa9;(MfEdLiY<3c(!#XAG15q%`%OFg ze4LWvW#z;tj*yyZWTp?QkOw&=akGALl|eZWsATmqDTW0`@+wS#lw&{!!u1o<5*^-44sA77e#{($_%Ignw*Iq3AWDpi(XJk!#n;qq>dc%V~GCFn%+M644P zgmYri6>6NA_6E45TUxz_ zZOr_FH3eac!XV0jR6U{B7=Om%zdUES4wsRBAd&LrvN!u31uYZ%eNMwDJ$Lgb(Zn{Q z{pAbtTcvA=0vEg|oi+Fr`Q0I7FF!xD2Fe0$WicQd16BQAV3>R{J*nu(VTh6llstU` zhF4>1PpBC6oviVK1H@|hkp~u)>C~5kJ)fM#q##g$-aNeqjyG4;O!m(W`6w2jfYc#s zq&#`t)*s}Pcu=vYO|?O}f>+h1TE6hz4mC5G`S(kg zUS^Ci-P~~(`da!9T%Oy1Wf)!jm%81^b_}l->_L=zuAu}xSB#5M+O5n40jb$P=bSz* zyUz3-gK{!tFD=|%L>qRV-t%ay*FSZhA3p`#=&QG%tKEX&hFShkDz6td_*q=3*_HXg zGwx(u_;Low&gyGEqm2`X7HHT=(=w=!cBxH-$f#Xcvg?L`NNe?#$*ciDd2xUODm%q2^^D-H1ZGu0h@)un&eaGf&> zwr}AiIPE^Wr8?CW8BL$l5KeSmXh;=(|E4ko`SjvDLlqoUE%pHLTCb~^XsKm>S39K4;03 z_8QYbMe_0SeAV+z$Bglyu$W0AWjAR?4iC&D<~ZQlJM-9>7)e9({f+y!Hy!6e08%BP zyGqQ`btisHoDUQbYY#h&DGsw{QXwIVwsXj_4i^}a5CRlc8ZS3OnrzoRdmAC^Ww{6b z)w3^0Z8n69#;Tml-e>*yXJeH!0K_{msk3JCmUS4`7E!GWU*=chS4B}h?+3~sNBjv= zG=$wB7UqNA8x6xEb1_Rp7{+4snc+l^io@5*COR6O5{l?n!X)DIs{?04DQG!4;Pu~L zNTTYm`k|PeAa)5|v$$xcO|*;-d1HSHjs-=1`b+fE0k#?L0NqF)7oPYf!+4-}-Z3Fy zQ|}9HHJRIbg)S%aCBJM{`YpFQhzQiDaqGB*8^uSI_QVHg2~i}Ob;cs}R_R0%dAXLQ zU^j;nDszvb*zNKBXNjRlEWMG+0L&FacMTM>lc1Eyf;$g{B|E(Rc0^Mg5^27-C_1%h zf>H^}&oj<2?-fH}%c(JTd? z$i2XtMjQg4dWIq{90aiuMHgE$N*r(}ms*J?5fOdA>?e=bmY_}tuCV^1L^NTl3VJak zV9h6Q;5=igcZ5oC1{rw8*rk&5()P-^KEVbpozZ+PKRtUs^vWsJhGk`R9vqKBZB0lH zhtt?row|X({lV$9T;)`#)PEGp$f%4R1VmH)6EqA;$E49^m=K5{KOV-*!V)&;R@wb? z0@3Qwnt)Pun$cJ=7IML(eDa(twMIG$O$X7y_IZRtJ^D*)?7ozrm%u_)^lALXHc_`8 zoIkbHYp3|gNZdY-O|U0D%%;3l{E$@eA=}CY4zy3hBrwaY$Ri+pfrXlf@g|p2TCYoc z*g0aadNCcQ^g>7uJ_mWrXDZ3ZBBEOYm?j$VeAM67ZcI*ob4-h2+iA>VpMa-j;G#zq z5o=Q!hmem6D+!^`6HGGD8uqL1Qp4PNje|ov%4J`iI>kCJ&Id%v%Y!GQVt_x*rrV)` zvsfr#$uKXKvOtQX;6s@kWKf9U1xTy7M;=9lj}o_a$> zSe=Wt{{eo599ry`6hTnR!{IFt09q8mk0#K1TrLCVa(r%VDC4h7F}e2f`dBc6@NCtE zew+mA-(ZO{ft^46ad+YL5bUq+{?R-dCcFWraWp7q$M66%ePuEVMyoqTHxL*L{{&h&m3NAS8_!6e@GlEd}`=|^m-a< zTO%aVNR6mItiq;yXmJ#5#UX|*B!+oL83KXmsJlufvJwk;vTb%WF9dxiZNjm@v1!9t z;HUuada>_ZhwlraHWL(KL8g*BgfLrVB<8DIghsU*7>>;Zppy)?xQvy=Bux{0hxJgD zsEOpwpIDMX*0Rc@c-;dnnDndq<(whLN2o&AeOAbc*9^4@K1AArs0K9$1O=+F^X~Lz z`{*uztm0A^$=<+%I>rn^pvzUQbMT6#7c)xd@iC;c7nBZXW_@iI4vr{*gnq(F;F-cpl<`Mau1HWSNIA z&kW`gj@l3Y(b+*{)951#I~iC)WLZOQ+iW$=AJF1oA#`H`cAz%OMJmv+6LCyOr4|@o zLNVq|AFILySCTkPvwXQS2?vCAUdc_`nW1Itmp%r>Cl>=n)|AL&&9q4AukADgWu`jJ zh{7JPLTAoBpvx2FRRu&EtcFU7en2YLNEj)lL^Wb^03i_Z5dUYeX1M`@{=5#07R_Z} zWpFWb1icsNL(}F%xq=VfVsX!M06xuU(61ZZP4R?@&M?*_w5Ofau<)f_2cR*jibux_WpXtCk?_~)n+@xj-Qjv zlZj^1GLqTeS#kC&(qwJ*9qM+HQuh>}svwGWM>4lP`%zII*uk{jp2}ezG*kG5Ay;PDfcB3x;CCZ6Z>Ud-ewI6gWs6tdt|H4jWQ)%JzFloso#zb(MvYDWa@b@s`{L z6D%wSVo7XO!G^tBnPNu-*~(J$%fBluMy%JLt~RcJHZ1H*~TUN{}^rxNcT%W8SIMP8(%>4Tdk`O&xn< zdo}_gyRleDlw)!~cwf1Vn2Te4cYWVOS%q2>Ld~qVQ}smCd75R}~_u35qS@$oiUV#PQ&Wzj{<^S_{Fl{5mZ1*B(_^DP=Fa7*>RZp-s=hgfdA@tj{+Pk{v$1~$&&}E6= z`^AQ9V5oLMVdm`h5+bQ(h2Uwu7*S5f7>k4(O;V=~F}KCKn)fd;E9?YuaC&IfM{$`fIG)- z4gl6)yb#U)D{kAh3|t3lj6%A?%mRPS&r%cyVGQHFz{d}MjrG6O%#oF!?@(&D zk4Cz`a0Ok{sPe7IZ#DlA@9Z`xs9rG*chQ$%AQox)9NgaRPW%D8w(X64qHrox(W6Qnxx+oY(*P(AWN-lkx7UAFME;(;?Rox6B1 zA4g8ji5c!XCHTXZTucgk@_1F~8#lOI zWVE@w5|qiz3I^6*2}g%|H(jv?H%)@VlP=}FJkOo7U0ubf0)w>|AerIU&XBG=i{f}3 z)pcbY?1$pdsy1)4gs$YQCOo3gXk=TuH>6Lz3eQw}0QMQ^&5p&f4_j@&yH}|vw0e(W zOs=g+)oTW^u+e^j|2zM+=6SXWiU|PFW(@Fuj87DWnf{afy82H~$VkGjp32W4k2rP& zqv(BH*Nd*PxdXm~C(0G0r1jrkJd_y8fulFYg05bpuWqqSv>jX_E5xBRT zoEyApU+Qi(T4n9e{W8C6@ApfkZSJIbonDc@ib7u{(JnLQSY) zEXCDj)rplF2-DMQKg!yMKZ+~GNzdiS>%IdJh3k-At<(*N$vlv(dh=^$0U7*C+E89dQ6#bVc;=3X4A4J+L`L-F7xjd8PnWHaLg$aOaZS3hUJ|Ig2lqlf#1Xqx|;)t?UEKjnwEIKbycd~Jp%`X{` z3oW7Ask8&`;(gl!T5o<_=junPOLgrr{qvwRc0e$o-idK=2jn#YV^zdQfds-*Xzn)u zF#w~D9q@V}IU@-fqP-J$cKy%t-VcE!zzl2LkH@ndoalL!ke{V`|B|%#MHj4Or_o^d zwGcm~Svu5_MkdA#$xYIT81g$0FO4nk`2js~3^|28X-=|rD+(#Eb(fTwgMc%Cr^YZL zqA@}R!gOlG^VuxUpX8zgOJ0X;dj&*h@Nu~nM3@i`j%3}jMx#}D5egkN_%e<>;PdQ1 zh3-u35_ggsVW!tE|l79HPmEGF<+Qo1dbdyR_J*o1|Sam0%Gd@B8BBS z^IS3zYIZaZoL73^OL!WF_LOvDgZSXQmE<|i^!uNU5pNdu&!%rLe*lKcynUVi1+)ZJ*?Dnm?n%Q%;eY6V=eFRoI6>a0kh-hgyiK_+PY%ab?Xm{c2z|hko6oMDc zf}egP+BeKpJyufLhcFs^L+A}1XTF?MHV}JUx8{vQn4oU&56>3%zuMIdW$s(d2K2{( zBDHXrqBR18c9vfEYluE=m|fq}4qyQl$7iJ07af$cqrnmHvVC3Z!iJodDZ07)um;qk z&bd1$=l!y@HBlAtVrdsRd=&0uQb&@3RS_ZrZ8=3!=D*9(148)tdRmZ*h|XH(0`c0f z|DCBWZ`6}Bu-tv?2cHSyX=x~JeThb~2sv`_gneZ8vvxH&eCkFu>p30oiy4|+et4dW zxv~%bTgIhhf8$YIk`q=r@cr$*tk;i_j9dW&MY0v#-cs13T(1oQI8P}1mxK%)6ihDy z$M{uVHlIy7eGdm>qJms9R;RlKPT4{~nu|@TNa{^g8aGK>T4&4+3X|&ch2KJ-W>;7Y zvQ>)GwOkvm7f@f*Wuyn3xgiMsu;Nic^6vTabiz-mET53Pf)YMhvBZ>*FJ@A({mxRG zYvRw4I(KCKP>no794X`C9?0#7)fE_nhGpWHqN3qOIW$0)VSF=j+0g5qc-aNy-%-5+ zsx(K+Z_XX*9p~W+bu3?PA6+eCZEmgwx1{0sT4e7SB{rcBZyEx$M4lY z3l7Z=5KooS#KojZdZUT@-}AHRYUW}0>vd+)fM9=U;YWbgxpECrCWEJN-g1~hKLymC zy?$RFsgoQrjbL*DkdQP%*4cxDK!r%UHO!42l7ltiyadI>ox+sPw?!h`W(^L9 z2q4Q+4C1%$8O5E?zNnPaxVim+fLxeJ<4zv>+5?fWVs9V7ht~c`_9N}zfof7yQ?_{5 zO}J}UZK8zHR~$>OCp{otG`KyQ1%V7;lVS_uU+ghCdR|vwVLqiE&yvx`Tnx)%uT*Z4 zpPvMN9fqO=wY9F&HN7F2zWOjA15CjMCa@#dW}-0$-*G0MONFnj<2r;DC<1WM5qdaz88S!me4b!!j#fbGoV) zETEt}DSI1$GYF?U@`8ia7y8p$G{M87lbkMl)-rF#T88{%-Z?Y%P}lK`&sc^icS+zU zE7&+7tfHtbi|*LsioAl2iWMk!sp2ntO;Fdo@Z>%eXl#%#O%dzW+rZm_k345M{;sm! zG>}nV=v&d)LQ%IAG^v+tSB_v-Psvp(upsWy*@9b|~8p4$g^_Na@! zyU8j;40A7VZ6z8zDYvJJ+x|AegSrXN60oV!V6@Mw96*B zKoWzSP&&`FE%?O!q)Yt4d(b(mnW$t*^77-4S;?|y_8fkT2rbzaBN4)Tpvw%LCkLoX z{@f`YN`_P=c=pLNPr;C38pl4i_xZF#9wUCGG-J&(V9V5~9c}(1(Fqo= zLmsU;R6N`mIM-Pc!waV$BMrw-WEk%dGd5t8kZ+*bEE?t_RE}t$Xfp|v7#B(+xp}01 zxFoJGu&@t6Z~(i=p~EDbTZ)QI*r?93W9o*` zA2`)?P%)$td_7JYJLTBtlz2E%rK)#vnEFA{vouQod@tqwrHJ3VBwiI8rADVM1kc0c zMlv0I6DV~K@@%L1#kI2?c&R75eZAC`CA$76D+cbM$oL4kK{4==zcWonrpW!lQPeim z!r!cBf>1gLL8W8wj!!X$fsArh)h6cA*Z|$>=AgxZKe6~6Y4)GFGzaEG*9s6!R*qbY zc2}Fa)Ac3dXidry{1nr)q#rdRxoeC7t45QgCi`Sl@i86UsCFBtg1yrKt^DlKnz0fy z)Muo$0=aG$MH}Ts=Ey!=bRy3ztE|Y@p2I&V1dWo-U$n=p1M6|hfKSXD`!>3!srD74 zcnRg2YM$NphDVyi536)8$HL)g(o}d`f_65C&Aw~Z5<2_UQJY!9^MUQ)2|}J%$`no0 zv1Z6OiOKP-B#vSy(gUcp@|G-eD;%(_-*JwtPOK}enm?wmlO`FJz@_V4PN(X}Xki9Z z7Q^MqnSio^TjTa7rzh>Y%HeSCboO?$c*aU~FgSQui_#6p2V+WUlPnJVXkn48uWaI? zF8-VFH<0b#$5=z%?6s^f()^B}6V0*IaO`mvt*10HTrJZ~HV&4Cf%XaHbX#JM%p=o~ zO~PCSnj7}UNC2(6+Gg$a$5gu$EcGa~+I;TygOj;fYP_~Zf48Opwu0;}PF!OukzO~q zHtr)z%w&z5efFDS2rEh=k%`6W+aV{?_u&f0qXAbvZi4=f4}OEu_cP&wwyJCuJpPGW z4e3(fbCq(5O4m&?12@CC$qwUtjrg~vc-H3({)*Jqx9`(a8^P4$)H(v4BAiI<=Dk(w z;5oj{+UlzP-JaU08KtJZ>uKrM9J%S%?}7C$*pu*T95jl>8y*@dMOx|LWk6&Nojyq+aq+ne5t7n%UezSx}J8?&N+evKTA@@MQItaj-A(lIrsFy@wO-8uzut$13a9SYG*Vi4qJ_BoTc>8Z~>=9XwNFhPDy!B+}QtiD+;resJiC%j^?23fC zyV?+MUEkFx{JI3A8_+*b8uc?_kfVOtu#7n2Rr+r~KVDq82ALr_8T}0r9FHxKShU?f z#SJYZK_L0OGz4IO!nGquR8(~X2DyW2Na)KP=p&y>U=aA%+s6xLY!el8M-Qjc4UP~ac8n*L+KsM(Ve^D@%9)4dFn7* zk}k%P=P@*-2RrGj<&tqlIk`rXG)@QT2oNZR)i_tT^E^<{S(MmND_DXY8Vej%)`qGM z#OK}nL3;lN0_PSE$f0`o7rnV*e$Ra9+ye2bPr7KeqN?IJ*WFTyk>dg zJ1z&;h$*H69ewvl69|RyL(`IgUHXm^I^0x;OB*X|i~y9vy2NtCj~@ls+pZ2y!$5+EnVH06&zOhr*05fH%PPMRMtY!dTp1)A z^Fk677TxB{rG|6bRX1nR(pkp(mw{mB*gRu35V0UUC8iQLD59rS`9#yNCj2Bn!lv*! z?#HSVaX>R{*+x{H03SuxKX}A4fXa=S!uC>?fyR-t{mkVs@iql(!It$dj*4ya6lHMo z&x-(iLMA{%=!z8A6s>?*V+eMPStRlD1fPRPf@v^*4XFj)lsn9{U#305{VR#Nglo!C zULJL*I77aQb;rV#=r--{Q(#&T9L|5Pe&w1_A%A-X?yYD(y?29l<^*)RvbnTVq7KnanE^rzLhtd)xCp$CZTtvmRGvp6QK{w zYtLrAn*VDU+tXO?g8DEN4)QQc7W=zv^ZoF}`GU5|p*>23$1<^on#Xvj)g7f*FLUu~ z-~w?iMYmyf@QVBa?5*6L+^MZ5eK{nOJ@#CTTSE*H7TeP8K>Q#%afK&2bDt#aKZ~69f<^M?^iSSr1$58 z#Z`Y<()h>#S?u3yb|MA5@=aBEvfaCj*+We>dou*z?n{&x6*4og63dLlIC2d?0Q z*j(gAhYB2WV#_VM@gxKZ|DBP4~e+MdWe=V-tOE zGT-I+1n&F8M3pLIv3@B}lJ2Q~jKTKcjrA2~9}9D)C4fv@{sdAstCSpD%x|gnaZ~xY zxwiPUhuF#ep%~VPU%>dCcSk4X2Gt(>tcTIm2BWZh#E*7Ua8>II?!u?W1VxP)TTXM6 zIn_~~L9r*i9ko0<9iM&ow7b8YEinrl5l42Wn`okGpRb6@fJUN4=MTtutWUYe7o2XF zsHBE3{P{%wBIR=$nSH#3PGtT_+1{3_d(g(C%F(Kw@q22 zqu~A|AXD_XFs1nxQJQ~Qs~0o~b4y&ruKjA;Lvky3NF0ndCV0k_bCXZZEP1hYYnU`) zRgpku_tl#2nha+@_~Uy1k<|(v-LEcztYa8f!$d^o~7!e~68l zjU>SzvPQS%B){p%>Og!xnj-MYW5e}?Xm{lB+Ef>ax%1G!YhS1b(iJagE-$`0Pl;V! z4N1+y6OVZF!&Ov3uz8V#aQkDv^dmfVjgVJU3AQ|wF{@8=jO42ZRRZvHu+z z`nmkQIt_MH@H1brElUt`|N7`oE<$Iqc@*mbTU&Hj&Fe>R1qZHr7|aZ2a(3!dmn7r0 zOKbPIvg|6`%4CbRBrlFdJ!0{{e7!18Irw5*)xuL_00@ND=`6R-#XnmiV z;q6YhU)Xai3j0Uw$?Iit{Gb-M=4#!QOC3?hJZs?)fum$PhNG`F@=<}!8?KCN?-pL@ z?y5@IQJ9b6Z4?yvJv&_bw1~>1OQ!q?LVP!PuF)sup;Nj3(u+_44-W*YJ*^}H-ycvJ zs6bvJvgiuR--pvbUsi-t<6tkONAn;lN}^BAi;o;?;BE`fN4fL|CW0&$5#OMIl;ajLaDKh>qXW?SHI<&Jc6k@CX%q4nFSt`)5;{^l zxyr}-_71b|i|tk5{z2#O`LT8aR)_(ESMm)LOb{j%bxl8DhhcvR>gG=Nm!kH2zM6K3 z@2a{Z?q+;Jt%WX4#=x{$WS;$FrKn8Xd$k>2>n@vx*C5%ZH~;esx%P$nalw*fR&>JV zm^fjjP^gzIl#A4B6&)%jn|v~RURZUV1wfslYT(+qzgTiBlvN~< zIkhQkS2m7$5V>-n7K)!PW2OJ?kpOW>q0oK-AY5!JS&}dU`y>ik2n`xwISeD8w|-7p5rxX<2gQ5k#vajck2km}NeNF2VRyZ(+0z0yOA6tl@-s21U>xEhfk^*wSm_;lzK5D@-6KYUmbP#!Wa5~>m`+Rmik>V z006IK|E-s>{6{Zo#NAY5d)~~GPUI}mPZ^5aI^atj!kj-!ev+!dS zD!>{~yK?aLyv@e!MtG~Y;EbW2-fF*H)qXfx9d^F|4?t`6?Y#81H!wF3JJhS!a~<@b zb&1!^cbF*A9U+GB?UhNkKFU_}5z>ilo2CdWf{}i!w7d1uJr=|6urI+^SSa7)3d1r% zSP73d)Ht)X$X!Y((kp3~GKTK4WV8{y5M3aLa~uscCj;bR-(x^Ak1U`8zK`!Iq%YVa zg(eO=*5q*mAAAqgtkE+;77Lnz{b05P8;RS2yh!DUAsJRr5-hv%p}FtKfySPb?=B+r zkwb3q42H!G{#P;Hw&>hdwvKa+=iCz+U{21=Eqmgzk2j^MVZToP`GOYka%dcWVzkl1 zsrLl;H5AHpBH+}Q{&`{$WIsXCXsU}}e^Mb)nn)x8i+D6RVPqThJy5E8(!N?B#G$+N zAE1|Yoc%Dk@>O^uQMYK2sJ21Fab%y8ek2hQIYRtL1`!wqzY@?U!l%#FPy+NVM5BF* zLsPWwBf{D|9)eOq48UHaBhVwUAS4Hb_%Mv8AqwODKk0}&9R8EL7vk3$Mfw5}G3cE* zRAxsGMUz}Ns=8(^;A^nisrEp8dI14gM9MC;APv8&4`=K>6{>4v4)5+v)m4C!_sPTs zgTP+=JRBbHT-zG%QCnEv`yf=w&fZZQl{Zk@Jnpb>uhAodv-G-G{kM?Xh~l^obui=J zIp8_`$>$$ zhN}BHjwZNfl7f+844V)h)$024iq7ywC1l=^S;~-URH2xKsDUT+acEVf75AhtIfUAa zusIx31V#o1=c*HSub!sEvw20wj;E9`kbD0i&@qk$a1_kN3hkdgRYSkpEa_OSa*jsMaH*n!4nmhGN1Lek3# zOZW>3%+lRHB*?lYBLK5Bs)ETaAIo{9jV*ontYA0xPIohMTzZ(rKoG5oy z%T2YG_B&mcJ*`XSaE2G@ZPFaUv8iaZ$lGK;S+G~KnIc@5P2jv<)%io+f*xOm+pU&q z)z^HKrvLhPsJsJ%%DhrCaOwo!q^U!B(LaF*r7+S>_@RkN+w+y#qmZaP|>x;ug z)b4|Qqixl5riynru;9KPuLBh8{Us2CyeO^aINfBNv(^q?JWHZRvkd+!a&I`4uY4}x zAdF2L7ww9Hz*OWWeooYY93%juzP)A9r7bb#oz@O1r5zFRTBi=9VI`Z{D9mhlh_5;t z4Dkx}Cz*WaboBP7a|b^p8D!{YLdccFqa8flhu@I;7tjKAL@PEP_ z#fW-hVjF=mr)Z()rx{KhNhZ+LE@8g~$X%V9$|(t%t0SdJL9V9^;jPf9Y%qi9rr!SK z4m6wtu|cd+yG)lj=8B6*AiyGvYznd){tN=8LMQ>dJxyAfvnW%$1yxt))#x`8m2sw= zrKaztgO|O)%_|Xha~1Aq{Ocut7Uvx?^-tQkF^)H?x>WaSj%>;nNUZefAVIy9UQfW|2$6 z;heDFZ6JEmJ#!h)kz>%r7E+vQZ#lej8WIf~;Ne1Xjzr?B&4i)PA}AHM7L?F*ve_|{ z=qlqK=$N=UVf3&`~M&Nz3dWR7-nh#oRM}?p&@=fJ*3+v^dmixDuE-KG93%e@Hjn+h~ zD!2??xsm+tL*Ye;Ri`hPa|dQV)6S4*R3EbeRE$!EhlNo`ZWjmnmDq&ILQ;wdPM%wAcF58p@fJdig;1>rCU&tvXQ4mO+}Vcv-#S<@>w zloiA2<{T0=S_3AQi0Uq2OnAK80k)C(B!dQ=W9l)iw&);9CBQ4;4YfTT7gFU@SoEg6 zz0ndrp5OXcA%2oF@=hi?k&|Y<0&Z@!61&y{)1FqxpL%CE+r zD1#a>lBkO&zf+PNg?Kr=#C@XCmK{Z}*Q4tO>uD?e4%r;-ZzcFfRqMrZF&U#uxJnTna$&4{ z)6rI_@G-7VP1ttYl|WNtPEd?bAlA2!T^wemHRK4| zkK|jl0~wh^kRdQr5-a}1)^G=EwMVV482h=#dU+wEQ$}q{3$BXo9QIdGKi2P$Xpv z8}RC(GB0oN7{=h5x3s5>;7#aDTFyxd?*C;7+QUe5c3-C|-*=GgYeC zD2Zfg9?uj<#zLY!o$ow*yqP-Ue*B`hFX<3xJFSeU1lrVFv9x(fP}LGiH9`M+r~mJ7 z&ISCedM7ggfPFUrz`yQD0Aa_!_RjQ*7M8Zg1}4`3zc$Ru4NE*__cZG(6iXDDK#U-c zX7Yhp3@IXgEDxAt2d6f4(HUJ{by4PnuxR|E_qMyWqO(#DVp!JI%O@S>+u zlipXIR(1F5IJ1|f_xC5Wx9)abc&pKB_+KL71X9jq0bBMz+h zwS6|F#H|(TLV7CA!3bhAZKJE*(Oa)iDjPEf^w(?vvh5VZ70fofy+6RyYX1?0rl5B} z2mYInn*>7caAqg!`(*@ehLu~mD>1Ah5jhvUw8ctS&(REzrh+xarp;`?jS7$%cJl;H z9!J?aQ-+h-i(lI@5|r-8vN?8L8N??LkZC|8=8oK_v~bZUg(wh=xhWdpZkosKogn~& z1pqVy#BNV>u%X_{2V6aFkC&tkk9|V~L<>5c2}=Nnkd)8B1{X)cNhlL}<7MYxRcJd# z^{EXfKr4XHT*Ht&^Oz7h!pmWs;6dRt<4FjB0|QWtE`(FRDqUDqi#47c8XaPC4>kh; z!lbEKmjG8Z_ep4F@+D}MOB4ON1MiA0KGlksp>ae2QvJfxTL5b$i5J-8TeUyNMbNgR z;14dlA7l0nMEG+%FL1i+6-H$)&~+hEzTbWXnMA<}S53oG`paTrNKZy2fqFJeX31?j ztoWOt(ajDE?5uVe_6|$i?$Z(yOJVaGb4ndTU2=3X>!+*9)O+O$-{zX*%_)yH8$OgMFhd zjMiAOm1!NsX=Ux|{(i|b7f%;IVbb=dAGdLh>>9vzdI3y2Co;A58>NPy7)kpV2yK~W zY)OIy4x}MA&?>?6m#Yc15(tGHj^@pRD%i=g0P`0rJMiA*j5F|gW+vEe+^vAlYE%x~7m6-w0*61)V81;{40qq-iCCYsSg9fN02pFG zN4ll{nb2zF+Xu$m6`IIy%1SVGWbgX?Wy3Zj&@#RBo@U!WWu5~yZLKJLmOvSf{-h*5{grA-|4>@hF3OOX;KtJZTc>T_1@R0eH?ZU@VMa~20_{a$uO`XXZ5I#dA~7BTy8v$;O!uzPX4@R>0f zubxJG>-s@2pL`AYpFd7rR=#5^4cu4^0}1^vyE{9sT=KhD`8&OQcP@X&WDRV68Nd{L zR0RjfJf7b*BP3G>9Vg&T= z#&$6N4*+LCn7>eV-tAlhJlL{+Zd;Sheglq#L)3A{r2UnRE5p17Pr+EmD9c_W1U2>0 zzWrS+*#|M7gW&?9d!RSAB{z@v>5|AVwbWdf(I^?9t95w^0^5ftRW$Sv7d7!5yv<6tgNRT zm}LFbkRYiGe=t)98Kw=UQB8&vq54;9nDARLK7O^5%&yd=??`;(#C1S7w1RrqgFm7aym6dY{X|*PKD4;jR4b%<_WFBnHysGf)-Y@ z3?oj~Y_G*&pou|&0qG4`MMxx+w+Cb8E|Dp;(_}LR#BsM0=y;d`n2L0`(^!jZvEr66 zXut7Slak7bT=NOe_9yOa0+Qj8gZNfaI%%|z0e++XTyZI*SlEZ*FIVHqu=n@=d8d0h zc{e!kPGDfA&SX#2fKGRtmFe1G(>>P_CM*(2$*JpJe|@eJEEDwpQ$T_ocF#_?;}8a> zIfRC7IZW6(Tc{x6tMexV^}VSarqIwHo}O*TAq>py;py4d97+wofJA5tmhO*YZ!%K| zh_Q<;w+;qo7`xbh>;7oQ24S!YgA`+fZ5bP685_imefwrFZG#_G8H?T3CTF#+t5SAX zGrT|;nf45LNR%KEwfvNyP%>Ivm1U?nY;XgEwGpwT*xOYX2 zQ@RV=lQ4>6syry>TUZr>c$mUdO4c7>oW@RKuxWlq5cNCr$FP$DhxuS6w3Sk(WQmGl zAwbN)58(7DoR+NR_;@F$KoAe>K!pHgzSTZ%ww||}?Wa^5WV_NH;<7e(qXllT3mhto z7E}O>p=Jcq;sIs|SWyD0cbA|tSn#_82hFKavdmHuLjnv@HHo+gJr8uQgrIm<&taxP zMU^@%r8FA27!!pkDqdnW#kzwYMGu4vUI@9J!0Lx-f;hpp*>~G)e-26cSnhzbXB0#D zKVwO&OI=xY_#NVt=NTj@PVQlU%cUr?3BF+mUu*^xun7YDU8dmiycgm|_TxyqnD@7; z2&`4JwZhw!bBE*w)7FI>+K|#xan9mEiYntr^P?j055+5$J|jr;3-OK34d*coM^uvO zQ+fk0EYdNQE_7*_Q5$rAx6(;}+}MAsPcJr8faRY~-;#(Ec-l6 zmvTF-YJuPQ96D6MqNu@+oI3Rl_N9>?VJpD)?$^nCWpD>v;UvPd46(8bKW)fe-kM750_KO?L_5BS)3S z6gW2cy7=^`xY`>vN{U0N$doGmR}+|HAn~AGDlo?s6g?m?{p&wRP?9)eOEHNfyZ^;P zvR(9<$jX++=8u=0txQd!T3l~bi@w}-%#YjB6=i|w?2&e8=1@2g`7TLXzY;yyb|FFMD(E}Iyu%C4!1eM` z?|Bl(N0GaV&x0iU;L$N?6edk&j+FC|+>)&G~6{Iako}Hd;J90eScI3sj z*arn8dox-s8L+A2+@%G2b8(%LLG|~ zRHnJKPi5+-u;GxrZqY%{E(S|`uM6_Qnm!hv-8fGKa}Vzl?2GguA0)^%i?P9Z;h+H|E0JNx5st(rMQl_$94QjT&g0n zHG+e72FQK#Q+tgJyDp*I+VqT7i^u$&v1RgZlDr*vw6Ctnfh9=p$;IX@G02I%rHLX) zD?V3hA0vfPMPTNb&~Pt?L@0$r=C%;3<*uD#<7_PPSg_2x#TBZ!h9B2ZtBAAH9o487 zDofczN=7x`VlaQRy=NWqCqXpx5-W>V@Cf*hK4nps5=5xCKLMpP`t}9A-Ufm z1bLz>FP{|ENDAxM zv3eKH*1bl&ak9KIfjp#2SIs?bQ|ktPhgt z<(H@Iv?E;`656c*wUO!D5xI3z!8-ZcD$Fl1ftdN2z%`1bpK-B#xe6eimwmOor<5JA z$lpb3Kj*=i8dI8{a-RF}-&fJxkNcle4zHE!Y^6Kfsm^w~^B~oEkm~fO?yc5&h@E;j ztO2@d1J6=Ygzw@#5@axR@G4)m(*M3v$Bn3^A(#YR+M(3+q}x0b3>2v zch><$^VwbsE9mhl7KrQeG(EOcV`U2-DoX;VE zqAJIb&kefzmBRe9;R!eN*%i1mJeBizfEb#j*nsGX+93dgkj})9UJA-57WYk0OzD%D z;_nI@DYP3tJ!}{7VbEuQJ{{ST4_SFG8W$HA-4ebT`gs4{4?!{@Nx*}lrTC|zC-f5U zdpvp!LI<|VzLQ6*l5~0IKNna_z^V$5{MxUf2(a?vc|ZZACs%md&;15c)VMil9qE$7 zK)dTHg#6b~vQT~2IBYztAz1o+)|Y1lcwl3wN(!ucOvE#Fm#_LeI* z1qrO9?60|vS94P+frjYX@od$Y+lI9?oW{xy{RRkNlZ>Z3hroDoHwn18a9rD+-z6W7 z=D5=>5?IedqawfNlgBy`9=>4e{Ux1CGtfKwomW%!0U*%5Yl7j#!oz-M$Y<1HGi^Aj z<63sKa~-zqI7r(>eAWvAQA$;QZ`hv}MzO@@$6Z0TBiR3_ObIr;e$Cp4>^ru9yHC%> z#V7WUJcKl~Rt(`YL1-O47D79Qa7_@{@nazz#1QOHs_}6U3T$WeK!+%3rhTizf1j{c z4Fb*Glv9XDUDK%R2S(X6$}S(3$tz<2N1M69;De%l0QZoUh zMLy|;R?mNJTJLHOQqiVEoR87_<00h)5FlYj_jpJ-Wx#5{VQtfTM-C3Qve@%)wg`pR zpwJSetU%QGkpAnsU)6X;E-x-5pS4ZO5>NX4NiB_>w%w%bPw{%#+86=k+Dh)i;8McHjKpp_ZW&JJj21{`Duq!V2cWxC0L zKO)&pQq)woYia4O^)Ht1S`Q_>q$h>zmX7CB)C$w zH-)ApF?@Mg`p|@2Nczx(Y&e?J&a~!HJPOvTDh>Td$)bE7pE*TO8rtv8o=Tzpt_-Ra zT1gg_jgS5vrT;rhSLpv=M(N2h9iDp+wn&d65R+G z+xRynE@3x(Iy|BC-2WYC4kx&$)Km* zvb9d%>sI+k$s^}?rM~tX$YRH)lT4KvYbEU z3^{?1>8S8QUt(zX#|liSe5$eUzDuEh6(>mXnDh{J%_ujH+Eat|TS@8RNe@zx@mH9M z*^pdWcZ@8F#jW%JY0mPt37;5AtSZC-bhbpo{kNo(Qu(YJ}&g~BL8 zBNYp+U@12Kh0i=-Ok0=6Z8b&|?>hSXC+z4&CZhKBZwo1Bq@?(1ojp^>g7S}>mK_R4 zq@>Tx@Y$il1jG~R?-vmgHF)kiK7KW9`g{`YTKdxB&Njpz*4a@VqQmX!ZI#p8&eDr$ zEHRsLykAjDT^v^>t6dabW$)t_di~P)BdTs_)}6KLtX(g@EmV4gsVKB6hkf`c*c&bc zXJH>?V5bWk>uB_ZKAZKcN&SZkDHYwI)iQb(UzUvb1Hy%Pb36)^HO$G0QLH%8$&tEA zsr^k;?VXB?)F`YaxwxIqq#j@-PP4q zr%ufbSBd^qn*R}i2%AV=iMu;49#1exv*0$(c=7Jlwx_MgmGkmg*-{e49G6xwT<>dK z5l3itch-YauNJYk9v}Gf=Jwsv;1?M07hA#d=Ea%x7g+rV$uD;^kZ%CJefxUB&2K*Z z_w%EBbGOm)$y8pv;Mtn;%OmqY3I3n^UnQk{`6vrtWB>5(<7Kh)asP**{o7F$Wq&Uh zm$-1@GSh!}FviE`diE&ty}kb7CP=7$V#QCNQU3XHJeK!pJAFEF3deqW80eb7>fxHZ zfNC&3AmWer>BaqrALKI)-`xDy>-GBh+9SU?+`-`pPEV?@PyS*dKYn=g)9ITN(f~^T z#5ZEsjoqvG(;U>*+gK>+Pq@FtpwNf7?gGjs3&T zi@VoMg#0V}%D%jm`FH<%sOvr%yN}AJFX0?t$-@>n`_wr<&wKZe7o8o4esxpczyEm_QEL7_K zY%VKGr-RPqT2~JbZji`*SojNG_xBgST^ZG1L^1mxPkiiOmeQV8!Rfdt7@hgAW3Ed} zUoRGR2aE3e5MpFewWrbqI{g(jiPOQ_1pD~hqQvQ7ae{q(ZdKxRusVT0cwF@HoI3vU z+uvUKdGj{GIvy-d^nLTRHgML#CJLQ)%jPHa_hdAW1JR?!MsN3F>6ud8(;=UC^EmZt zj8})d*I(Vf`B5CPID@;J7yteaA?TaCZ{g9==H*7vJwpEQTKv|F`(G{#s5kcw-@ki* zZ^;*J&N@45bJ@{DCG+IPRxR^`{n2c8?oA{rPLD;C}k{cbi{t zKmGYkqoU)rE>8f=#oFB8eHyRy|GOtYaKqo%hPTw^A5Txw{^_gw?k9dC{>{g~$^*2g zM)!?>=3#^Tw~IbKK)DTTdGb6`E#|LhiaXJLs}ONErLzYL)-O+=C6G||B@W*DD17ao zCV2RtgCRaWDEIl5o)^FQwN;(RcmDDU&f`0uf97q!{2$(}4`T7v%ZKN>1%j;3*Ds>F zr?#;9#`xtM5HFu^E9~_@z5M~mt37@(W!wI+o1f*$@1JmyuQjdbN-k#b*dYJ@+&-?F zU;rx%`5%#%O`RlzMpn`Ea2(8J@WCZ;~(TWTk!Yae{;9~k*l|Sj{E-0 z0PE8RUwn|S$GrJ&VdRhM)vH$@?Rxh6iB$gkHK%{ohX2M5pAY}*-Rnom<9dhW9A{{r7La`<|aZ+q^Wk2>D=(Z(-5jvBj3$OmdDR z=P~5G#+v$+Hq%U_`kcbY*HCNkay`s2tL}r8dh_08y&)ddPgYswRbZh*<3Fp6bPz)< zxk(46ni{*Oz%hr;BMRvsdkm&}mM2Ob!F3rRZq8-2t-w}VaX!h2lSw9bE$1z_>{QCq z0eVhx78VL-(SAr9pM4&+$^cz-vE?KKoN6jnXWa@cz4XzXW|^Y95UZ6Dn__17(lKPr zfniD20VAo?u#GEjMla{lM3cjCGFa7=uX!&J%M+W4(%I~@>o!Dqw%L|pMMWl<5Q=N- z97`U22|S;6IvqKyIHNLC`e`^|3U+)5eOrV-eei2u?ACdVkpfv>qnN^>ZGyMmPMVA zL(x_Y2$tuubh6I5S%BFt9?QgkuH%0SSznr^xGMu7A#>xtDU zV^nEVR8h0~z0r7sxx*r49jdJkTT9j_^bm9vb>XsYBXS_wt33CH4Hn@!Il+X55UEk(K4V|Jt0 zuoW0efQ#tdKebgCl8hKjHF^#*L+p_3YUBpT=IbL%d)Hj+E{ocI@@b^XY9U7AO7dHQ zU3CSINaKLtGNsW~;TYbD5lnau9fk}9yT~@5L?iGMy~iw;X>oWT5_&GJE47QtYLa+Oc-#XU4B^f2A)U?ywd+=4(8(EXlMl-X? zpfGsErz+~rF~?%82y{4FOS~8U&t^0B0%2-CW_tfv;xt}5h$D^!DWa}!yNglQIk?~o zdKTf`_YtdH*I8#%t!N=y$n)dMwt!_6Oik7bjxr}LM&qVK=*Th?D4`)7%AgF65S$nj zB3OwqWtlBpR)L3*e%4{t-e@r3&`Oe-3>+pmdY1%LVS{u4HDfOrnH7A%z)p}h2q?Ir z%Dt+py8MQ;slCQf`c~jjLs>Ks)geS+E78rtWZj5z4iywVG&g&8FwHEgQ-^wFw$5PW zj;aQz8Lp=N8p2Eap2ZrmR2J@7EDgw`jp;;koIYrbx^YYX*pB4+^xU^VbB>P zqB;|0CJ1T1xhS0l9MH5}M{LC+W&-B}MavQZdMiDtQkXux;T{MF9dyAa6M=}v9^qfs z6ToBwK8x^NGlG~{W(p}}t)*jVSNoLZI`&{UfN<+P58&f$uBa3n%%(0kt)KwSiF$K_ zWn06IkHcES6aY{S2?b#y!bMbt16ga6l?()1)s<-X5Cem+H5fubNHQg#jh5|# z0cWF{bPPW}5aj7;a7>u>I!Bg(TRa~$0-}zk>?3|!n{O&QZ@{yOU@ZdI6qRBy1}s1X zkd6`jXD@*R0c^9ni*Ps^13WET1X^E?alb9#CUvt(RFrX4Wkd)!P>o{W|tx$>|?bBB}*Rfvu{raf3+BXNk z^Y}UI)33rporgJ=}DtcokP}TP8E|y?wo2$pD{>0BJkaT_8>e`&v zv6zKrT=Z!KZ8XEly)NhU??lP=pakT)w5Nw4bmcx_+8B4hhC&%}xIfyF+Dj+&bObum z6~jp(B4lhLtR+}wNF;)0Z#zv>D3c|EO9DCKL}q71zx2=amMhN_0;oMecxrlyH@C=>XyM3exgOFqv#ImlKs521}yHXN1zbagL0;1fN_@CK+;t zNe0tJVnp&pq(bPln9mt9Gw!NTvLR#@PHCdtc%+8Xt^Dda3>g3;Ie|Hm7C{3k5GK@Z z7nv!v9}kMkT$o@VvQ_v*1 zY9fL(4>2X765%-EE~%<4!zKeodM@rz^C6T<AktMo@T2@H^U6e>a)rQe z98ge(L0wTB*PR1%S>^}n0C_TgQQF|F8RlrcG?)XaNqcEYPKoI>X(Jt;%6xfwY4f(n zI*ww}Wd-Qxi)p7vr5+X4PM3d0aqZ%b?4K)^eQt5>7r%w_YpQE!4-fI@|Dyt%yrTVi zMWnU&OZ18n!Rg?=rL)zsxMmr4P4puNy0TJ3Z3i8byYol^=>LmP$fd<%2hzrTjoY&d zO+ABZL~1Yt!BJ}wX&~LOGOigv59HG0Y;@kHw2F+GIL@KkRgI!XPDel;4H+$iikVP|AOQw79xRN0d!&*)t^! zJ(f|qdA;$u7y9-(k~N*+Fgl~VC2SZ-kWFUPXt^cK_X@XXQVxZMnKWXKi5}f2J3^&D zs5$E1iNA(+6U#{FlnTPr zk_8vzPy|n*mXRFYP|`)|Hjgl4YIbwa3ppgK{vdK;b6sa5mOjGb=&8CoQ;mdz(ROQ& z>W@S6It`MAR6OIhNhwal+@iw3 zt07ocHego}sp*i6Z)300Hgz+V9DB^wWkcwr&@B>e=`7@7ie?n=WxCcGt<|bd95jt} z!RSd8Tf!Wvv>oJKk=onbnIlXKWhf>lsSIrmA^i*k8fAI{TWU5F`~)>-DTIzu=cxjr zQ5YJor0!>EbSg75ZuhQ&Jy2j<${QEl}u_38L{fnnaRG|bOKmo^t#1iD+yJ_ zMaFAq)Et>xkBOz?1ChDr)%ZJF$tRYFPxjaoqfsTqstMw;kD{7PLsk*L_EvM6DJ}LMAwc?J@;Pg@t^`MZg%ER z2oE7orrps@UmHPv2o|SIXl8}WaaRhY&YBzpQLnKr^v0BO^x1HkxYAoXSpJnB~WA z8pchh0arAp*_SO`cB4hYZUk)IGy!@m#lR!V=(|(ZhJ0kX2~mjY3M^)rMAD?jG)!Q| zTRPmjvwM!+7T^mA~uPpXci5~Q+??MOtt0jeO~WxO`kvQAQ3#!g~(s8j4EGIs}vv0*SRv$fV(w|VVi znqpF!IXrwa00vo@TxwLBnLL7bDT%C2_F)9i6lKm4;vl9NbJeOMLLf<=;tzc-S}ElaEmj;IWWV8x7$&GW}{;do{?)WIcnKdcQ4P?;#yeLyTFK>m+>; zSi5(m@N&TA$>hK5>W5|F6y7Z9N{-1iJ!@hf3;Yf+=k}P!4?tc=dM7o6{7x1$Vb;-- zx>VI^Gsr;&cvWB|8C0*`cte5+F+Nz!e6|DHX&bJ<#29pH+L5)lY&|JY-G(2XDY!%YvFK?p(DdmuN!5vn&e+r!k3kK8!dYl8J}1!9X@_zqfWYR(RF3&vTvgQHAnoq{8v>N;%9 zu(mvm@v4zqvklf%NeHN(z0-5QElN@db|e~cv+aXVD^)ifw&zheZ8|IRWUVF_G#PPg zkozc7K>=YZI#MPzd88fv(WjrDEzH~=m6_YCrJ37@+RW|q#hKgBsm|O!lxJ?Aug~0m zPJ!n3p+a-}e2M1vm)2;WXzy1QX*Rsc(ao(?Yi_sYn%jN7=5}AOx!qT6Zl5dJoW}Jx zm2Uh2*~B1a579W8MiH_y5_2apb!OT@^hIyT{QO{`>0z$3v+h%k_iXyDrop8L9}9b0U3W4*CWrj0Ek(ne^`@37B{h>d{pn48?WM zlAeKRf=LO9(t~$A9M$@J6lCOA7B`p+l6yFaWVz17(p)dyFwbVLLx4j^#FROl6R3ng z@+(u!gAQkQAwrqo5(MY#wFQ#d2R%R^$kGIrN$ARW#oR}9LRN;9KLI~eZc;o)oV;Ey zB4ne>CDU+Zbut+Gb&>;2xR@g_mXqLNl1*68FiSQ{T`xTTZ+X}E+qMma{}sV7BD=Gd zA6~N|U4|7~vp%fFfIjRY3k)Ta8zG6jSET_KlOnzgx64;QxNUywqnjp!m%vI8qQq3-8kAL1pJ#B|lzd+To%-N$b)Lm+lj+OD z!mvY?nF3T(4{;4dN5Lz3CSfrP9UxajqMZU1&0_j)$)FAtQj@OoxLiksWrs-mD!t3q z-Sm&ghy+!>pH}M?^@jl9Sl`*^5K0G_2Bd(vA?o5-7?7f8Q)h|l=j2B3WjFRZ^Ai6FL1-sI)EqD3d za`h<4qe=88Ps{2gIwPPt+KDi<__EBS``h&@MGw%!DNwKUliD&JeSg2AL_dTr(jd&~ zF6_U2^=`sk8$q{wuAY#y5s;XlC(pl|9Z`Oek6$0$Tq=!Ntn!@m45`QGbIy;4GrH5z zAAhOn$JRr=TnKvNdLm(B)tVGlv zpkR!s>f-#mm@A%h=5|UU$;;dENY%bC*CS`h$I&-5T+WF82w9PA7}@^5EPkiBv+A0k zfN*shaZ*#pL(tDTlb%KcdoU)^pQ5?+^dFj^Z&&7z%MXLrVQIT(?s2Kvs?M_3T%1I+ zqp<-hN7syHMC-PZkS!Qa%lPP$aIG!Q^QOfM_ei%V2zsllp5#naWb0;4Gl{(~JvUglP1n@}AqC?_i^+z0$!W9H)coBMNt|Ni+G5ry5 zt`kbX(3Yr-R+Zl_Xta6@SOyUFGPk1p!K#yb-M$-2+0J*{IpFQv#!^(i*ND-PXIfaj zPgF15&IZ56(51&$8M>H&br4h_5?>e3pmhS+HAEdib`4Pnpj|`M0c=+j`2g-rg4p$h zRjlxNTTO;JU$30&t)%bJ(QJHfrbzNt^$Dee9BP2HBXDBfkSoiWL?s_`mXuc4n|@uXG)ewMmd?k&~N zJ*Bs!QBkhP#+g$R2XVKATVNLN)pQ3nDuepbpW9KG8~AO-ZPvw&_;qpP`8+Hxb{q2X z3-^_7TV2{T3|d`6&~0`3kd$=khp41W3t6c#zx;Xpbn#hWn~;_a!fwPRgRmQU$sp`T zV5$j2NK7Wtzr-pNMfj(zGP}8cR#}a+lf=PA(&_vE#WJ%5`Y9~4tlKn0+0H=AEDKHP z>lf6$=~L{q%rew0mb;p3nPsn8EO)osvj3Xd)=QuI=#pUfJi%@&o@%&x8Ej*@c^T|# zx_Oqq&tbZ?25__KmiX>cd5QrSp5(imap76MyD=A@<~x{lS#O)p)dinT*XgT{nuL-# zpz!&|-AC>CAShgl&p9MGQFblt^FYI*azYDwSCT5>5+%QAq0|6yGURI_A^ zYStyUR=-nR&p95AMb}sfBgI7V`5RD60|XQR000O8%LoETy*gAS08{_~g|z_y4FCWD zLvnd=bT3jn)IJ)UU?{6c&y zhLJBD!;7I9{(L%qa3rcXkD5m{VY(~NwhSi}7Cy+8bV4JvTt~QbF&ejrjQ>DfKa z$~XMm=M3uy)1Ao^^-(PXpKw`@X-6|DDyIaZMa1E0W=18)jIgVT}{hmqsXmmbcYfEf2-B4a;E~k3}VvzHiKZHwd?JHBM~Tm=TBr&$n&> z?pofa_zq0VTS{L;QWG>gswtA%PO#CHZJ9Z!(pC-UaOdIL08dCQj397L3ygzNyJnR7jk#q*N2=jcim%6d#@97QG?RwS z5G_a0^Y}4qlpBQt+7tf~3z+wC= zd5J8JU|AP4i@;w+A#MgNBk9mAtf%GrB9OKs4^S+uf!Cc<$>Ruv8>~?U!+dsX0eb(*25-%~gKbSz3d))~DPX>%sgX?z21hCf`onGK;`(^jC zJ9%4YVCUUQpJ1O4Mxrf-?a`!r`uegx62sS{;b7bW8D{|9@Al6}z|`q=`jaLwwQt>Sbrd^_sCx|oQI!R1*8H(z!@Vf*D}N1?+4PcPfuUR|8E zd+k>po;3iZk+#d2Qt{@ZL$?WU8~>e7x`RF~>2%PajPSLN6^|y#^f%pcr!Lx~?wFW! zJ{t7YVu{6=HDExP+wUky#QwaLFoeFp9(NL;;;hrY1U!hWza`dG*gu&t?S<>#3gwX1 zP0ui|jfE5<_0sBr5y3)za&-T&R^pAdSirSGAAd-l@K131O-F_&8h)bAj}8yN&ree$ zw0Q#NG7P=vt=4+IZn_@sxsh+mrt2?SdQ8xQK{oW4<}zH_LO_MYrMeTtbFKwn8XgD= zq=^{TR1oKYD2YTG-^%7rT^+*os$qHVN)Kwa*j!8-4sj|!z{3R98ax&Z&2{WsGC~tp zM<%EYiv#x5XBboRN3i^P8frv#nDH7LOATa5tSn&! zp7vgyrvtzXrSp){=zn z0!oflny1#W%^^-CpeIXr#*1_*8N(8g*Kzs~!pteXaAX6P-LT050v8kDB?5ACz%Y;O zi~|b&TkU`1qL0Q4TP_S!<&{Ag&FA&vDVDKtz*l5ew_L0!y#ysIV*Y{>EOL~wiaLwB zkfFI3pO6N0z^3msn;!hsNSysWY@F+XV!hT0eyP&uG(M}xl~rZ3h~}HIX3L@QaX$9lPq)GebsMIUXMD{;doqVm%JWjK!GB^h`<6X&4J$6 zMm1ah0vmm_Wuvs>eN8m8m<LT(8`G-%rGPdcwU zBa$1goX=n&FJbayj>o&(sx^M24*PtgETmubW&K4w;`#rsXIfdN%im@ z3mm-s2l8UQKJj!5+*tk|Ns9JW-Or#B%Yjca$<170`LKd=?Pnb0&M&XwSvrj6@v~19 zYo_zDA=U|(w@jlKxAF4rx>7oOgR>3`d(>}Vg3g?gX5bExSdYh-aZ4w$&MMrqbc`#c zcrS#Dk^b7EnptIpNbema85^xb&Qw)Qn3Z#oDH{wseV{Ed3Z~#pISk=y3L&MrwTS$* z-B50O8vGPh(s`HEYG#4pm8?#u=iSTBbXpTlQE4@sEiNnqyJ$2GeGUg=KPejP-~00mZ?DCSZCx%mB21amp&YIe{D}XQ`D%v_9XE=hgta# zqY0|?Qha;CeGL$sdi7iH^3$LKz-A`H%z5@{UhOqu?Wu9My$WSM%L^45wUluU}qvPh-iA+HW#)E3uY@ zpQ7p;>)MvdoWobNetUBGeN(rm`6<$zjYiy3QpuVU-k|Gc=T)~)TOvYHCVuX`!Lk8L7SgFuhi;|m6jfjgJZW-AmxyYt%3Wlh2eAorXxwYCX4~T(wwcqx zJ%~`2`6LTbd!kaPN?NvIlD3G0i$Sl`YJxv4)itvIkh3Xs4ef1?Si4!tP@RijO{gqn-FZ?}(*?@8=Jp~|-~W-m8$U<}{B&dZqD>JZy|tBD z^8J?jK;sYo04PprcHtX1@-v}B%qYR8G!9WwsIXX!Fs)zqM(J&&R^nLfOahLI2~;Zj z(e%aQ-X<@f4dkiYR_;RLdOGe_E!h-oECr-(F5#3=D~;sJpq$62WXSaq*qJ(X$zkDvjVs;hNcIwJG!i%*pdB1m^o6kj=nZaF19JR9q6@SGDlNQC^7?%Lp2fT7@ z@peZs#@uGby|5NyR2@A&&ymGV8#D0m#Uy-$!7PF24*Y>(e?ELc8NM8cS=%V(>KVbc zcqJXF`vd2Hfe2QM`NiE*=)F4sYb8Nslrbl>*8|61qVgYsGuCKLXCSLit+_CNSYgVP?8oQFI>C+tQhnC-IAx_?L>Nt zv`;zmEwso{xGSjI;f5bjA&{>cRpPJfCVDi)FgW*E(*p(&g_cdlooJx$3qn*tWEN`D z*`Svh-AIsMNzwmSmx!ab^sBXW!bgUwnDLMg_j;+(P?SC5_|ah2~p)<%?_I zmHI2B)Op(FeW*#Hc3VRbChb{)+&<15#88h#B{}cXSg80YXH3)f72?Ttek2ZNB6Gy7kZ~@6l^%L>Oa3bnF@F>{3J%@WC z63DpI;GIecRxH&HuuGfMR*-m(SYhG;bHlRf_@hbt)AlXkCXF5}e(K0|wMM&%WJIB5 zMz-PCf%f;v@@3*2<2kfFKwVD{&xotErOhsg((Jm399Ul%Ar?tm3p0Wa0bvz3SanP5 zo?8wdmLZx$*A>*0Dv-7>5zm}lCt^e9MJku18u`5>T)NvpSHYQ>jRGojFeaIlJ0L^j zTj}`ZK(D_3j5Ug`13FvKI7tm57ohVyG%vCfnNEEQYIEbLfWiQ-&|HctG*)gsq^s2u z8+4~#zgXfc_RM_9RoGS-+H_(8+*U`ENaP{Bo?>qc#8eOm^SZMS-b6VyRyyL4XxMzA z+*=&l5?nm137sR(Y(Ol;Y8r$iYZO+pIRFg~!&^E}c4KkR59$!D=!7t|)~Tx=UW!_Q zk``?MHn)+P29PA8>a`~q)0f>>dXG7g@mY6F$0jSa=i3nID&8Zk)J6VAvYlCbQ4Hq_ ze7i1qMkmv#OAG2_aqcpUk0`VGdfdBCm_gc3gMx&um~5oS0n}`2 zKt5?cY95wwYx^u*8EyYHeleYi2cPmuzF9(Nr6&INxA>KiDIcZqWfjYw{@NLhQ3ljS z4pCp-Ab3~-G9HsoS!YMY!clVN z;6ROTKHEfRwvk2_qjRrR?pH127qxpWxcbro6!k+Dbpeb-sc!_OQ!q|Cv#DuI!^vcX zn-|P>G3C`xVYSuDgLswI3*KS)-%GWBUlYG7R#cnc)*e_Z$RH*PpA@@-ax@1CBeO|r z(MWdEa^;1$)fnu%qxak1IeSs9UOlh?`|yRpzds<;h@3D7fF3-2xDyOr2NcxxQUMR{ zY*mG?p8ArFwpuwpA@#%mXtPLPikCSjGfsSIDmunhsBex!5_`hiRh9wS0EhP(}> zs`l95JuJp>XL=D|%DY+e8N+ws4PHvnaSjIGF!$*(n35vLvTc`FeizZFXN(%gf!nyO?aM17cCk4eb;^)qnPM$t_ z^4;I3-#mKeM5`<5fAi@3{QPaVl^{d<#j|s^mvK`-?SVNzX#8d%*Yc_vnZc|nXHo0_ zmhO#l)1r4bTS4UCKmb-islRi*+5CZLEadT%le&6yK~W{B*Bk1W7XmsnN~O8l!$pZ; z+u1sqU)+KPK6>($PWz&;hK?EB^NLRfYi%dZ-+Dtqzbp;hBq@f#Tdg$kMsjy6vkTE{ zUtV^`6FQ2}>*Q&0#dpv2e5$--Obb^df)fH+dW>3)dI48FeSDa?SEV5j6*b?`_!?Fe zB3(5C@L`@qnvW&=_!3)Ragb>eEB2kFgD0=11Z$oj1j<@Ct`9fB+rle|&T6P-QS%{) zJj&K+9KQrW=Z^Wc6qcCos|B9qbdG1JlV>UFMY8}ZFQkQ8FG1Q$i(=YET6y@J>FP(-a3;6J`&rokW3GI4G-Jw*6Eo+T>?Pw3fu%Wd=> zQAFh>f@o{l7|Y@?KD@Xe>c&4bNH)l`iM-OtrF55lT_OY$XF`*GM zQy(L&KV)X~-HcAo>=8BDV{#l8VhI#S;se`UB@YXXI&?i{`dh0kasgLv7`m%_oBsi~ z<3R>hL;1ddbx5H=b&u6jC>$T<#4vL=S&}xO0YJ5&kFyH7qxq~1PFH2+emB12p^cb$ z6x(V!FG?nqt~Gn*r~vJUJ3Eqh`26g(>HjO00y*X3HdmX>hwPJDF`g2BtGHu z9XNSbR`b=|?45lez!ua*eAs7vVt8s+@^$yrTCM!~Jz9{3t#Z~Ii(A5}wwLM-B_&k~ zVs-6V$zU=eu5qGbSM|WzrKn%=4#|)n$Lo&cN7{=iTI%jilY1dt-HEGIuvs)2&%~^n zi?yW2gf9)=Ddlcju76bkal^49W7#dR)U>hAN~KI$@7!ThIr@Lv`xd`8Ze`(rMJ0T( zNo-@AXJ|+-1k&<5A;}48zkat#xr@EPUTm-HwF8{f-oO3R%t%^EEA7KJ>Em|KX=`@% z7)hhi%xE6tc&z&NGzE{@Yc+CGos=v_MyimIImkywVv>*d-mK)&Q0Z8xbR^ivfwr3N zN~O1ih|F{uO_C|o)(F%{TzKq}Hy~%fK~CfE2lphBP0{Quacm1gax`OBihv|HUguNu z#W3!lfY6zQYCm>Afq@x#*rjir1v{S{giMg^7p&`NGIR`-RA%Jt06EYxR^?XuB{5J zAn859`VmavX#kw0`-#sERiT(1&u-_eBvsRsE9>e~zjpp_+m^>fCj6*IO^_mhUd{*7w1z>x?^hrGj> z#_=F&Md9=kkq83Ptxqm{8=IRukH9uz)Q|3(2dz%4`(n>%g=2lHO=Ej|`%H!y(f2+t z2#>hbXXzu2MlwaE(|-DhtL_G4%_bXVDp>vtc7-rofxy;k7!~@i3d69&w8yA0c30?n zEBunFATd4d!~_Xuh1JK+&YHJs+MTQFFRrTkN#m$mj|i85PW`fm?PQ0FaaNEkJQ-ca zuxxLwH*e9==HRta)!3#vCwoT8Co~`#eJ*G0IWG#gj{Sz>k2Dg}F!zov^V^Jo-H%ku zif*#ib2WyNUbye%sS6euxA7w6D&K;Wn7@bDAGXY>k9{mE%19@X}x26YKZKaH|K(bNd|_Y=fbu8^sx3Bih^6((OZOd_X)yltvp|s<;%1!cayhqYqQEe zRJ}5tyz{qCdsDXhu2ggX%x|u%n)_#|=8pW}rJGqcc~lO>BR`Dk9#?IagHy1@{+4wD zAlp`z%JguQH?aooRiGEQ`+Qx;cbAsRWxAQae=!W&m*2swr1V9u-&ZP4I;N z?^9Lr5f8#qy(VU~=DOa3M-|9#$3w|HmE5Jv^pFzb+@@8rY$2zbg5sr@ozpKkttmEn z2b>luXv;t`Z*xYef);57y-gX$soLXQ0)^HVaTI;zY$jrBny(=;3+<+Q-GY!kW!oET zV4|?SmbyBbaS4J2hmhE(O}z~Zn%Xwwlv)F9S8Y)$u3^94`L09n#NM4TkMu< zv0JW1^Tf?<)+kyI>)igX4<-Wbhn$f|RrbI@EBz(+xw*w3gb-`7SsxERMK$ z8qcQF`=+P>9_~%>I&2Puo^*G&YZqVNK~sR~Xq|4PE2ww2S(DXmklAC_+4A1UENj@_ z^acmVXAa|2qpIQ1P0p>nmhH-|Kfe1^WiSm6eZDgH!-8u;q1%;{Ko!>5bGG5?{bO6yt6G=ua9OT{j%E(zs^^^ zTF@M~P*J1#A_=FcBoeci-vKD=6A0}r(n0wBSyQU5s)j0$+0u4q%Gk-Za&y7iml}Zf zdFY2uoL;qe0v>T9*31)8?&n30L~6r#CVDrqm7^q6&#{B`%q4btm;6xHW6P+Z&@8h_ z#9C)fcd@QD-=_yJX|^w-QTIB$tBc0r-*rJD*Nn-|wkbp=Xxi#gy4itRC%kGE7#lmF z^+f8i%U#B3Qo-;521ESS5qhY-V5?|koOf$0JNOCfd{RX0W$*;aSPHWqvtLm(f#kwR zO=2wd3Wo>%D!qry%cp(3euX_$Bj<4mteXnif^P18wSAkBb1I~!dK=XY_2dH%6IOS| zz1rEye;(I6t=8$mk87A#%P5@JZiPO*S9y+_@Zji-55^_ZBr0q{xq_(2yum7N!F!R# zumxM`ZnfY!5#h0xe>qrB_&^2+Qmc$kyK8Iep2YPvj~OuGY%K*&e_%|K;O)r~GuZOlM!Vf_Z?~UygWc`T-QDfW9sYL*|F_j{*T_bc^A*Za0)lcL zw7-3M_RF_tCl?z>|2#fC_~-WrWfnbOUjYxzwwQ8%G0!&iS6KPj?tE;wS8|Go>B%Xv znOD0C667@Fy63hYuZ-|J;jar8-6f-<_B-cXUxk>s%&kD!%_Wi1RCunwgzI(QM7O=U z>)d}Yzl5Y1wPAk? z1%E!z4SUvdJF;;vE8&))d#W`Rn;&m17EhF;QZ>kzM54;`AlOt1J_Me5miXa0 zk_r&5XgP#L?DgX#CirTVPN>KlBKzp7OG}w*f{XghN=?@gq~kY7IRMY^HIzF;f0B7A zJsa-VQXOglR91>yKIgj{eXh#$rdKAKsKp6tH%5{KfFrm zTP0cc6dHv&Z<9Hjj^vH=4i=@o`mbs9NzH!h|d0kz*>-sgy>!rhATC^@m;22cp(< z%tGF^m5)w~4P4~fkR}iCdN#;vs(PVggS2}7B7P0F3ka3dP$uiHV8Um4E7-Xz4VFsg zIAi-xuK;cSv-w+G{s2bfwmrBBW}!K_o$b_NOKN!Z)I#N^AmVMXn)ITOuWVwP+o#(C z{UJ=m#VRb>Hr!mX%0}VKF$#7iDs{|iNq@o3?$!ndI&5~fUbvefb_)Jj5hju=&T_+X zB(Cwog6}S$R@mwipA~1O8R$9eI5m?^%l=UyL}wN1KcVF=YIB#1wr=ftg7j% z3htVfIgIW=^pv>@WK8G1wyw@*%M`Y|C_B6Q6{y9l?E85YMH~FWw6$s(e%Z_;U3B6Z zPXV{A2xlc`+2WN=@Tv<8aM}s0&Uzg6>z!7&wY%AFbvheco6msKwZK6Xf@!WnR04hw z94if`2jt)FVp&^9;o{oLJ!0}IZ>*&!nP2g!*3i{exz0-6fLFNuE}_}Z9hO);YdHD0 z)b2X&3Vwxb-dw{a8P?&x>nWh5SHF;Zql>omDGmRAKi0YyGh`%$%!s{doY@<&0>>uY z@!RoJo^T6nq~&yRgS*=zpB|^e-`uh*z_SEVRRm`hQF+~f$!89)$C9SGrBb%w=tLaZ z8;Fh^=I2?-Ut6F2Xphi}Xa%nuCumhP58p=HCFi@4pkV7GmQAIFenBY?& zXo$wBB$zmJ1}RviT?A(735R_0oXfcq&!!1P_6Eg#!dER^!Ti_QIb_c!C@|^AB)kNR zG03RPIU)MeMG)xs7M!ReGYF*IrQ9ISZuzLDVQ*@{-hg=GA?JB0uV;k-<0HOjkQ<7NZVaUtK-Z+l_ex0p zVzraw53kt8Y|179rd|=4S99+s6cdbikQ@kz#tBWCAJ~&9c|yBx%BLup^eJHuMAM&L zCA79hIonC|m`912GfqBx5bR$x!AElf z8*?^|AbM>dwi?y>4xz`8aIh=?8+YXshxZXM-FkA#N9lcZz4dgh0sndgHnJpp$RwZz z)*G5)1hZ>u$uo1@n@byUNXOXdvoNMumPtniTMict?&djQ6G{ULi>QbgTTiK*AQp+p z$#V}Rdla)lJOZI{go)BTu!|{!B~0nWtL$cNkF}mWg0!wRv7+9!=tX0W zIuKYjy+l11IRy@n-`Ddhqa>;~P#EwY9;?e6uQtnLr=rABEgx)Nf5;Hj4mf#($TOU} z)p8gtcouM*S4~uRpO;ULr93=&-rsrkic)N*v()MC{`qGq&$Yg@T{Kw_JIU!u`|5D+ zSuSfOrW%^pT1-AgGwztO)PRimaWDYKL}7g3%bv;w5cUr@m3he9bp{DAs^_jmQSI{c zzQ~j>HrY#>X2(1&V}{BlD=yG$!sD~klpaVW?Jl+A1*Vt%5bhGtno3sUugE$uJ+z(5 zg?wW^t>N+o5cYV37A>H;bv;9kVqJuJ|++OoOAf^(SevPT=5Ci2y%tuOrUkDUpve%cBln zjtKY?5$si@L-y$aSbML(-{wO6V1JVh_SyDE2k(&flr@XH+9t2o!D?No#u#XWqT!xy zmm;6NcH7;^j@3wKL-bwH`7>Uxt9SlPcFxF)OE0`dD8C|{?b;vjHrgxx z&F@1-Xvaqb370+lwd{__8C>DkS4lGb(EIm!o}}jApA@{xL8l1ea?j}n&anXkt_{^3 zk1q`dJeE1FV>}Jnem`akUC;qd727JZ)O+7_?LaDCFpA@^ceJOzf%ZFh7N&a{K zygNL8r}Cv2+4(shbX?a-0;^-loZUiCJn>i#>~ilH@NO;zm;TI&?}eLFe@bA!d*H4+3g^_%;4O#> z1&2Y7fFmDRZk@-4rIlyE^4GE$mcN|f`^AE8U}raGxD6$Umc#_AUnn5zPc;O{`z-C@ z1S(s0UHKQ_d4qds)xv`dWbjx*S@&7Hlu!nbEtr*+so>dOvRnmEXJ-!C3M)P{<*V+F z5-|@?6f5Q9a!Lx^cu{r}jamFTq^$E=+v_IR##{9DVd&1|4bLs zquKC+*NHE^(C~gB`3q%N#|vOEKp1h*KpsUa^C>~u0`mmfB0+o+$|{p!bQLnlWJ`J5 zKZm21!~aTl+H6W|gWKENRy3Wp`0&Uy%@=7^|#6=~J-ukrkxKqZ>Xu&hO5p5}c2nE2H}m9G#=K&HyUGsRO|&XbSOFL8erjT-?(jFOTlkiOS+T!G1O8YE?wU^0S=js0tBZ#$X&q(trLjJ-~Lzboe_A3R0hc zQukjSa8zArSbwN-{q&buB^3_(ueVUz(Eb{0rANZnmaDsz<#Hc^GG13MlRDp7`M?Z# zrD=vo=Kd}-Vt5{K)bNxTIXpRfq{=gZm2M2XAw-s3jnbTmt*U=9(yDr_vTaqRC64l; z>5}U7_a3N8uO4iyjxFF6DGNn`Iiu}B#8)));R{O%O_;KR-*A&wvCD*86xK&0fVd+uh#HyrUnPV&F`3!$|A_$^kDy=YC6*3XbaDSXAeju z1GAqp%C&0K2TzGZ*>fN-b1LCkorJ;Qba_+i>O+jyn4)iJ@O-!DMMr|ih>)a%n`74D z3T-42C$E|yQ8EiW{^2g}8f(7o=`v@b#86x_V7`06i7;P56q@ut;dTQ(7eBmTzZ(wv zNp#ih#glLyyce7A)7W;tCc;tcHoA$%VLuA6A^21+p#HTr$_oR@#`9B|?V zTv7$S9-3jno$pFN7+noG?OB1_!GsN>n~*&}jHYMP3DTbztyb&#y8eQkC&3RgiHG47 zQ@!zCTrO=Wo~osga3eSvdhZ6k@oEHGj>$yvv6y{n`n}s&QZ`N@EN zn3}zoFwUEDl>bM|vgn&Ht$f)CD1whgmqH3ERC@#giGKY!`Ss&SI)l2ECwP58KA)CL zq9@zD^e?Tgc0|JvT*Jo~sQ@==(8&2QzvDrUqUatQNX4EbSqEf`&G&B`Mi%XwBvEQLYJGJ0o9C13}KNaWo5?mnX zw=&Tb-+Xm(Fsgo`)(f8bBzNajR;I`VsFx(`Y6v-Sj`xzhE|F_l-kq}=(*qn}f7Iz( z=r-FoVSoJ@tEl(S!7N9I(%j40F+?-tl$It_^u`MnvPIrI@m&6|`GT`kClL7)q*3oV zkq>fragcGot3v9W-MeP=3R1wYsuki?VIw@2T<{{GA*n@C;NY%(FG#p66(m}BpH zbDq?We|-1$&GDNLb9ZYKy-K~mo4?!i@Tt_}KNs(@Tdl{V`3I?=HWkNtH2*;LUMr6E zN)q|15OVK^e0b9Ts79hdejc@HACf z#Ytu=T|9zirC~PdG*+379G#bB3XXzlP+^%o7dsEOTF{GkwamLEwMy{Xy-Hs>mq{cD zm6vD*YeNp0DHX6)0 zD_4hbCjq1>=*1i=2(BxGN8SdoJn`oU94h09;tS#ZFc?5w;jo{xvKB{YF5FE)@&Oj3 zt|%DzR(HVXD?nb*a7w$4eNMNrP^+U9$Az#ofbd6+s}%_<#_f^Wi7~iOe>Z2Z=H+ zGU_zl0pd#xU-ECcy~;uC z3}K+>3neJ{v9XFjb7uj|k{$_vmz#UL%XCQ4t6KdMi!b`Fw)A%Q#zX-G+KW6O^m$# z=5|!ct>R9yCIHuSwmWb0y?U=od3xX}pSX(e*>Ri*;#bRNMy#!+q{h)vemn2YbfP8N zf~V|sX=KY-@+`~X*4>3uy5W(MmHeVgyi4^GlvU^=lsSdMKI2n-4QdQg8}j4Cq@6Na zZQw5%hz5NkWis%1LUW-mlGxjcNV1aFT2+!@GUH2%X1&6*Qd!~H`32Jt5ot~wS5=T; zk&LeYk3JDs4T75w1)VaXp$2x#Kli*b;-?YCgzw6N<$pEz^xdwR9E_ zLnFl{C6`JlPfn;;SH~2nof4?mk4LpB=0u8$;uHKUymp8#USLZ@Us_*kRQAlmT)`?6PQ#O6URv4*U>2W0C=Rp8H|_w?8xngBgV78wgV8GAfdnl!z8)uGZxCI8 z&ND=iuVzp^x>SnAix3tBmRWTkW#$aBDoM)lnZV+R#Bm3k3zJln$-zO`qN{5N;}{JF zm|qOK=5X=$A}At>4=#Q}FsSaS-z+IOiXqXJKw>~rPSrqXazkl-fEI)_5wxFrkr8hv z(Udsqc+e-zBwklT)M)fM7(|+fshA`MH}6s(T1kSSn{wueb019Bn!^*1I7>{O@clF6 zduM{FZ+p?CHyc7iPma&5DMzAHj_aUr^~Z(oix3=WQJ&&Vdo)#DLvGefyF3sd;Kx5l zfypzjK?+eSE{rEQm|~L)$dlO^G9LGV(p-dg%P^~|@07;iT1kgmh`0;BLMZ2Onl%X~ z9A_?t<-;&erkEhLp@gP>lt8xPS(IG!E~mG^jEX+(49gyE!lGoO8ntj(&uVPBAOm?E z-L9KFc+dMvM4}9LvC4N+YAT_(`wxe$gu4LNg{;!tUnv;-en`{*8`_JCB@?6#WPgQ!yq{(6NY&z!Betp>ATH9kQ zz0Tf6XK$mu*L}9v-`Ts^-Rp;Y+r7PKJ9|4jd!07C+}z&V?CfoC?CtKXusV<6IhVhd90Z_Frwl%bYf2i>jhT8q81 zXCWn0Kq2XLV4oqlMM^`&J{HsK+|IAkHLh!5?-LNe`!?1%cuOLXH(#iR*Edv_i*~`2 zZ9r>+6E!tKO!L^J|5KU~xQ$D__8X}OzxrxHvevL+OH0a0Y^V{N5UHCMwL%^{c!4i_ z<~JOa+iXbIa7nAHU_r{1mof#ZudkAg(KXup=riSXrxB|xeMzAy^dyxdhZk#{Psn)2 z(|7<09fL7j?Oo4CHzKqHrnxqtYOpR}ojq71-fuJ0kw4o+5r!6%-W(C@gT)nPc&aFe zjRB2z5Q$zOH^elWVz_?1I~0-n|G2z_CSjCdCORdk5Z#&1Nn~8Sg5N6BQ=$U5pbx(U zyP#f&_6r(y=6m`^zx#D@9gZ<9gY5{o%s+~T0px7r2T$HM@N5?p1o*Ko-z%h6*dC1V zLWkq!tjC+cONFQ(;swqCgZ!9meUOS2oOA(KjyhqGB7#EsN9~(*=^Pu!ZK1xjopYW7 zpfQ|7GJbt9ZaiG<0ACUxJ~WMa=jFrIU`lnm$W~zI=hK*$zP`qW!4=1>VaRbhdll{` zyqVS4+RH4bP}GQ_*d*4u*KIurHsRMt%W?Bk=32W!aO0|TrX5-f6Be*bf){%Q4nus3 zdIP?^%bIV|m~XQEY9%P3X=Y&5o?OU ze*N06fG|M?szJ>{4XhB{>HEfgN5fnFsr^Z`(!Semd+%bzvbgT%YP^-2*KeGEB-gKo zT`RcDsTJH&t+bK^&3(^s{Ju$kXNbJyjh?|sUW&AF5Sf_DBw*^m5AS;S$&=l+Cr>)v zod&y(Z^O@Ew{siT1_NS~MLkcoP2dc|6vzMlAA@LgBcnXdn{?{Yc)zp3@Es`lf~!d| zzGl0vPHW>g6vKz$^B#@J)`jnk9542KUV)5_GP|(A$=!^C{aCc(*oXre=*k}&UewK; z5~Av3hUm%ujhbw@RRR?@eQYo^je%LP@SDCr-shEfUfKI6Hz^YRl?FDjD$C@cGDw4! z6qLloq+D)LE+cNPSsPFOl%$*bDcS)fF#o*+j3JjjhRhjLTj0#t8JQhGQ!aLZM2E}< z&@uTrVWW@X0Tgi{oppUns5?L}%@ps_C>(@n4kmyKzeJ@H>?roDnFG1OjO4g(V@o0$ zXRuQ;(|s~Z#?gednj(Unvs?iIqOVdyNmmIkO$!#ux8x3|X>H3tPWL?B%fyHHt2;nHA!kMXIPyk4dEhPspePG#rmQ z>aJCk;{zM^x0=tk$*h=2j`xd0ORv6d z>~4C$ZFMqWz$38P;~I>^`Z~AP8;Zk&MI9wwW@vuJc`h_GFXh0YvTj~XmKLt&X9?=wHw5Jhr^*Z+rg@5EhWP`KM)8ydLZg7;OCD(F z3yA*S{MNVmH^1L2-?#tg+ST4}vKu?QTea8_Mr-rzSwi5!)F)hhh}kbQu>Hdj^riqb zjpISmio)q7rg^xY4hQR#%ihN3=FX!r7kruf6A8UXbCQP-IuZaYtfKX z)p}<{=5o%Zycmu^%0wxGA8hi%^yM`W$B?}bhe3p9nVboU`BA>43EpaT99s_F&N0b( zo37$)huWk#C*5Z=kh$?RF3r97p?+fn*u-2mdl%o@b<{niX5=F)n;NCjYhL^bejgtSDC`{%B>l6D z5g=)Z!$GH8)KE9mQ1{cC*^W)WRxtr2AAl7@8Q$>9&eELG7;^3=8V{Vy?WiYJ%cxa` z`uzw3oz*j=w)-1O=pbBj(C6gS(Rn&nb49U*Ny;XvZmeE_rLC{R5^j9W_$n52 zo<4Q^G10>3Ey-$>Srh&$3nw;*uui-K zmc~%8^8#&o?)ub)ZiO}OR$F6KbIX1xWGClG9pmK;MceCv=7*G5bxiYbnVGOg&e4mx zBUW~Nn}AnozL;tdrdSoQ zc}|MuocY!0Z@N^KE;;N8R)?azlka>NPC$@MFkHeR%)ch_q@^ZY=I(*)dj%${Q#R!s zK3Km`r$LWGDuj^e=pJ6`Ev0t-(kO6_(O z>GDqO+40zoYSW|RL)v1sDK@Y$-C%mQ21k{=ap>RWZn#?$<;v{_#e0`RV4Uu-kLZW4 z#nJShaiM!!3ZVmZ?}~aeE>|-$-Mloh99&&{ljy>AZ;}9yZ7 z(0sTKM!dSzY+r{EKzKF=54WpvJh&eQUsc^w4$0a4pxMESWh?MXJ(up^us`nIqMfE5 z`6>;U=18nu%4~HKCLBGPnGGyGy4rMfv9wdq!6h5|RoL3x5x?~_{dI3|4kt~Pu%y5^ zk(=Z4@w*b(wwRE=49(gwEm4t7PLd!T!x`*E0XPILCih?AB!=`YZII&~-<8?3iv!lx zX<|e1MHy3ModA?ppu>gD&soz&6l{{GF?AS<)9@|#(K44it2SGfPA8kJrNVOe`EvI> z%iSwj?(Fx{%l$GMUxyQj8ucYtyjQg1XYV>oTk@`Rhj)Mf9iEIke{XTI;6E&N!Cia2 zyOceiwHU9k;Gbc^9R}m1zbIJn?Dx_Ou5!A6$t6#6m;ChGSBoxqFdjq1y1V9~vBk~T z)t6i{Z^Nrg4o~0yoNoQA%Q>#ccrDoU)OG{R<&zudH5tYElHb`a+GpHHA^$g-@+EZJ z1?+4vVw>L{Hl&e2GP?q97~IoVPQfSxuf}4?{Ei3#W*&4W+cJ1TU;~Zpv8$9lexLQi zXi!(MtXr4dI^twmM{2~!HbVAj&5$(8=xQJ-h}K<@y5x#UWG$ASC-AsqTtlSrcqin!;9PL41{@XvfKO;@jU0>$QK2M#E9-HoA$%VLuA6S@>)H?RW~Fhvx^$ z{csp^l<1uwD=WBjk?@sq_|F#D1HKR0csm7n4-9Q`9&@htT-fUI1>`F+K%8@E0fuz{ zE(MRFDFyT0LAUs^q#h>2+`s4(#n@^y}VQbfUwElt%T2HCdO>pZF7PC-|FE2e$;E0?9UjJU%@}#Aawk zZcX0mKv=y<$h0jtFcci)gt`5g(h<_2-6PeT>Z9Kh_1waiTjY{NK1F)b1ok{9NtB5O zRplyXZQ6s?I+DRur%F^fArh=XYd~l?&?CtR`$vb+3WxS**{ThivnN@(!F(W6i8C4- zjq&HSLA_)MYEYVLoSU>_D}~bDEU5oc)WKNpp$4tE$qxb{ImriVE z=f0&VCg{?iiXSgsDuG@}3Vn3EYzm!aA$Lejq)@h(K~Dr)MPp@+4yfR`XcT2dMZ%zP zXr=|1L%}G9C^76B?H3?s@C7F}5t!*;%=l3?H4M9)@a$!V%%3;B4u|t47-bD-3C5(G z1~(k5A=2w80ZtHM=QJ@Mi})eEV8p@Eo6(~=!6^IDF5w2xYBH~wfYH!Qf2j`QRV z(^st@pYq|q1t4ytBs7LO3=F9F%*a4}@dXA^<^=b0Ht=+m8k7qgHoYw!nQ;gdP8mG( zdl2Dy)YM7{{VB!{6n^;}K)t#60wX1(-RvoF=o9wS#`dS|VSYer&DBAx#fLpz#2T=( zV_E}tcHGv0ha7QjGkrKl?Kv6?W8eg)E8VY%je2`f4`cd3xqu(qaL&GliHSyVm@?1= z13dwUfkaF{9MJ3$KdE2qVU|Q|dXV(58SS$fL_-#~htvh^5WcoaB;41MUW{69vo+pr zKkm&6jD+)9DX;nPBCM2{Y9hBjR_ag4D@m@ehdOR`LW3AAe?QOg6i*Adr=t`v@y)#4 z6P%?fjvHrbFMF2u%wyg>O8a&JVia>C&Ms*{@+WZ<*4aJGIlC3>h%UHuvyKo~0B;7u z;ZJSz+RWgDq}&#Am^ww=6EbId4HG*|er^F?O>m$(q#j;v8H^{f#%hF4#uMkgtBt;Y zL4vMtzO162a^yaWYxh8#O3V5s&!ON} zljU88^roY`Ac&^uV3iT#h3*Orj{wLfROH{T(<&&OBP(E(t>zD%^R1=pbX>O#I}2(c zE3XK02IHGv(mDUk2bsS-i)dIp3XM+wPF$w`f|e3S>DFS5r2~gXWrZ@rh{l3S3`6UA zdkq;-6%R5_hzY?4vkFXsz)p1p!O&z{Q}&2ueW6Af1ii4n^6{?SUTJWs8Z5IFu+lg| zt!NsW2_Bt>ifD6P?K7V@@JU9goAS3IFPudh$yBa^D1iZwAJ#z=CPcB}}Ey<<%pAO8wS?vi}cBC&U8 zz`_m&7;lXWyf7y>&5h=-zaDWo$h)btYadp$&UzbAE(R=DnzX9ekD|%&S)` zne}3Zri`yJFVv7oz~Q;U~Q=e?F_*~chtlj>=# z#d8o2!HCr;7>A(kVITxbzuGWDp}GyaoQ{zG%lDN=P$QEC1gRBCuCLbJo*hIdaYwRC(IJYAS1 z=#}CSL{rQ^Ma=;-FgDanp}gY*1qcQ_b}D@Wq*>uFvk-!`qh14AHPct5E1+#Y3c(;l zGmvX5P>f-4kNl*7Lv<$7)B#YKMM^_7oU1_uX{4Zq2%L_Gbis^K7v7}{?E;14i1aXb#A0o5#6@WOjc!Aw%nXOAuWENKbH6sUYU<4GQ?`*^ zHNC)dw)^m-OBn^1P@QkDe|&m&(0q4x214E2qhtAAeV>mZc;>vPe>R_Os6(c+>`B7m zp%#!bYZ*LDg7a~bsOaQ?)>OxDJo1N8>T*a)9IFeMQ6ER4F%jCZC5%kO=XEB7`C@fb zn4`b+u&J8y`;PvXzubwnGTqIir@pGf?rvj29Rr9fsNEg@-s~Bj(BUsu}!|D)} ze=8r`=KoeuG?16-(4bz&Hxnl1@LuwVLYiI`LawR9bY1UTxB50b9%bpZ-dB#Ew9Ey) zEJMLZ|3?N>rMRa8^B%JuE>u1?3hQmq5u~{+`7iQl#kE!5F6_TKnF@8EmvUGWTK^w|=sXq*J>vWESLtCZ7#1XyWiFKZ z7o|uf7IRFG2M&2ubgfCs+*-*ga-BQ$Q8M5h0(|4U2r4n1;-EF}!(beEWr%uH6&;O6 z0AxT%!g&tgZkf~9Hn0}nVX)HIs-RCbHsrTtN z(m?~$yOv?fKouI_C^(`Vd= zYr2!y&hT`lS>@{m6N8Hj*%H%@rkI->X;l@UfXDQ z+Z*k6uf5&g?FPHso4dQ)mpkn~f8A|wwcG8@PTLvJ))iheH?3WjuD9mw+7*}-9#`KT z-uE-!_g43!9k$^`AbQ=b-m5P!VYc55=(o@Nea45)$K390Z}HwY`KUY8e|L^iI|8f1 zCMq!xfnu4Vz_iFAI=GJ*jaiqKtMMIpCo3|;E{1D=ad{<0;3bPK zE}M|u`FzQjh{AteAtlM8Vj214k1BpFOaT@F&zSX+l&!lkX)8PNOQmfuDKbL(&Z9XK z7YO;fv$Jrj8)l#KLCbHd%nw=`au$txgIPZ;o!vnDiYt;sO7g><4>iyn!Oqh`oYKPa zf4l6oagIWxFsg{tT%_K4N<&M`Gfmkv56*8eM-Mbb3jPu^l;~y4PLO8kCd_WDuC_ck zMD?7(yrdF!S=2ic@g2q>e&!A1+XaVF>Xf@m!Owzi?&cC8rnIiAD*qCV(8R76fW2mF#(8q7e+}7Ae&$gaGl=`e|uTi@Yay*F>)9PgQh;n9|aB(Y>Xh;)eDN1dv!*;HCy z1oF9zxvY#MNV^IWPCGKdI~r|itd8kz?^r%(iXoiJ7I|Kt{EH1oSJfC(C@mRXc{o^?5HgGkmTBwvcGr?$~*B%Y9G63LthQ-x=%h6-F{3HCf~1N>`lN~=%@GQ!sw79K*VE6X2#!$bQe8KxF*4hzxQV`$H}e^z zSsT}o7K`?+CG0xz)lz79)!Jefinfg*d6(Wa9w1UfoNVuTC)W?C1q7j{2%oU|g|W%9 z60y518>L%mU#b0u*3|!6?8}>zFO7>OVadbH<2%fP!T15m4v*iH&*mWqdwWyUoKoQ| zR_5#fIaiUvxFS0S0*6C_iM$;e|0nFn)>iu&>xC1Mjge2sY=}ZXDik!>Lv*%dNjwav zn0X7_m}}C98Qi0x*I)qtgb-&mg3wFKz?%RME@CJPE{@@SEOZjQb6yqo`g-C~UK~uF zp+EF6RDE-FWKXnpY;$7Uwr$(CZO+8z#I}=(Ik7ddZQEbx_ttxBegE84cb_`7YoC3p zS6A*mrJ9qIc4LUN^|vUR!ib^BQS03gHK%{iL1D8lZTLzctCQQy>w4$MR)Y{LjGL{e z@x99r!;(O$0mvWZLlmA6P7FWZNje3%R!uGtY+6pf#M?~WZ?=pa+Iv3T1#)!33y%#v zW$Hg4eV#KX#b;eV4l?}|g>QvKMdupszxG^nu!FO<$kIRrRz zKkr@c=I0ORCHjlVg+U!y060RQ#3JlHcW?o;QFC4>U0toG98=*5P}dUwk6|D>|~Jj;8@C3rhi z5a3(+^5~fTuzN_TnCeE>*}?Vu5Jt8My)Y}QEMS-!)o5Sf>s;@c;p#0s#SuID0v|GN?LRIog_uim7}T3?0;Yb6FL~|LS7-Ab6aU4N@Jd zWtGa72w{qC=kr%Qe;QF-gT%a=FSE7{^*HE&dqS_S+`%YZ@1EQ)gSvDJihgt&=EyYGCXEbg1Vz6e6L~nS<6* zi;}as39PZYt@dq=rR_W=XmSfsyF~2y=dd#z514igJ&{wHrZ8?_*3h`A25+2P{9Oi@ zZ~y+f7IVuAwH&V}iRU%W7CX-CI^&CRTZ8|XZ7tr?TR*0dXUEGNB`wOL2Ez5Qgr@*M zx7RE4%kB#I&AUwCG~lu1Zb!dGUt6Q=W3v9OS~R%Vk9h^U$6QZ+d~qDcd$f@jT7-4Y zHsr?y$Ba`t6eSk$dFACs1CmsH^7E9dr4M@t#*^%N$c>q`neA>R=BzOY`Tz3sJR)hzztdpXd|4OmXvrV9T<()D8s@xU8`cG8Y7`CS@U-B zbn2JC4Ma`kR@;SAO}k1m_NLAosYoR7F#?S-=vC{ChWwa84p`DHDH%xgHx_H!In*93f|7yKkZci+;?fRu#}4#T_kY{$B2tEAqk5H8?noM_An>&b@;g^`` z3golMl(UV0@q0M5k;*Ag;Bo*R!r&xErNQvNlB&1cHFCwtO%5PJ$Nn-o_5CXfHUkTr zGZ&N$r(IX@C3ff0Op9-UnCxw*x(4&^DEdbb$hBjCFj?WN=I+wKBN>(vYi5iC)#ikw`c&xLN(cv1MA#pRN})wyr_&|y0&D!p%p`Orr5TH zOhXbiRg8Mr3|D2AwwMpR7V=7Qav#Vns*Yn9EcimRU-uV3?WFzG-9uMDr_ybj4K<03q3#F zg2Tag8tUmC3^ynFJ!e^77yqm4_gSwn&Tr2ry4C%#76CC|Ryg|5Tb*CnC|Q_Z{_g6L z5y-+!fBDcwmWiT_VY5iNu*aQR6_5qnUquf;))~POpH-8Hyk*HXAcyC63>`GS2l5iYMkzo}6YWO-(qmy5f-{IPCSr8L0Va>wh!Y1-I_Mn7%VXFY9EG@WF z>%%ts=dKd<-QLa3Q+`@B`QL9RhUZkiXBeN{_yVc|mV~Z36>Na75Aop_kR7UgBuN7uBJS_B3F}7@|i+w#kRIN&8wUJaRGK=o6o8Tz-4tGp@mQUMkgUhTEDzt5CXA#5Vw z<4{z!#&-v#5hSFWq3~9Gsod6*>kKeil>bnVH6J76&@igYPCA(N%(!?$6{Q0=jT)&r zYMJ1iYH0$`586*k=8uXemuHaIe?f`O(f?EgI%;ZCHdd_v(DKLT+onRv)PqPIAZ>?<>crI-|ICn0ZX6)!q17uRJjd?$p@~Y*4&>}N<#gd0f_bT z7B~h^yqwffY8c}**Fb2VD5i@STDzb^m!o=*<)WwWrn~s)b04s={ z7Wjiu?kft)2-k=M7}%t{(g zNXWVXJXxNX55g}!>o_@S%5l(C2L6@uW?$GHENi{@8CG?9sVHAOM=fL#SG}fpTE1;0 ztVL!5T%^K`lJu$_Zry>#>YkMn2y++vl;zQ2qo1uKjRs28IAMdvS$60aW*Tf8iqNO% zMi+ukn)%ownFU1&D<@ycg`>2tVsdrTds6*F?Jh=4;|k6Bjx zIgR*oJW68gPX38rp^9#XC~&Cik~VjZ?e?jVSJEf3xs@%4$4P+rRd#&0t&q~s%PYkT z9+`QVOsa_y9f=b88b(BIYB5#j_+e?j?YD+RT5KuS6L=q`W<=u*UA~a;%-j3PG(}eT zq6Ge#uRJT79*n&M^cQinTAqP` zB-UeKd#JAx@}cCbpBqi2HB%$(b&nt_$K2y=0m3VruZBYw?_d&lYXjp?*p$rD!K|;mTzY!8s6kXM zC?%9%FCs$5vDIa-BmbweVnnktO9&ccCsCqLHH9^zmJs;yOj4=#u56em=loaQ+tH(l zlEK$$_-_&(Y+Non=Hg)DaZxyZU)4_Wz1hz%IsbJ(n4uPt3NsO^T9&eZ8Ic`f}-BcnlQ<|MK(X6Ji?90&!-H=U$lV^sfqYGD)C1V7B+dB2Bz&<6%O+kjC*`H+T0yXSH<`w z!!zgv`RssCMhvy8^+k!PmRN@ry-{(myQ)J#3h|_Hn5kx^fW*^m?%vz6!dy_kCY1dw=VB<4Q|WscRhQ>@z2tps22cF4;Ye;z$#0P)&YDidY6$sE4mVX+9U!F#-)N$3OZNKn5%y6hdHy2Y|Vl^X_g%&eQ5ykF3+I$w+b}=-y zgIOt-5$(FpR4| z#kZnBSfo$jiPCspMW=NVrcvqk8=7Qm=A#S=bP0s+r7i1bE`78K{maFb(yNlZ8N0#L z@E%=0JkO zDL^VkRAeIg(w|gc=9<<(iNdJ1*w=;(yk5|(#&ux4kDBk}8^Tt`5;UEf_Ne_Sr7G?u zk>(lGf&|a$K#j8!L#YotJkJM7sc>l-x+v!Iur{aRjuWb(73;m7#Y+*12pcM`=Ytr(K3nQ$6la1(4}%Lf#EHMjA1Z?H?kP#BJrhn^Ec`*p z$gGuzr$@EmOw^YDEgb!J*&4YmEDu(_ryE~Z2a#{mSI%M2|G#HaLq&iR!UP0#lnVp|*gE;& zJrfTHb1N6i?;Vp)Ejz#wD~X>u74ML`4QkCU4d8~1pwSFz51m7+DP-BC4)nRIXy96% zibb(SRnN_jJq8{E@nnossV-@Hj6r>UvI-sw9s&v~Tc0ary-4jc1u&0UHeLNt3p1l&NWhCmXlU&E4L8cczzXZawrhrIm;rnc2qfTC$r8 z=69nnom*7oQLwK)>2&NL)=a-0q}HfXGb{bwICP#6=RD`1KCI=gmc&RX|VR94*^PNPQKTXm<7#ycLy<4~iH1`P}*EuwNGD<=;R4=(L{Je@e+tlZ}fCde65 zD?K{i?L6v=pLaghoMvlFD_15{>jT~>pWS*+b7#5-U#;6#(LSb8*&|Bz>8>It8(Q_A z1`n;9=?@$47EB+6T&cUW=^0+HuAvMX6T!XAxqG^fqbPzlJZh(5Gj8^`@S~|B1#BVY zzPdE;J$_E`ffV4D-ejk4l>>KSLYQdPoHgm~)z+4@yaS|Hn>N1^YKnn5esUpFXE1e$W~@LZ9#t#<3*CS(DTe-a zRF`xL1H7jvKyQ7LU1NL=KJ3_>Et7b{X{>7enU@SQ>=R{bx`jq(vFtx`zH{8}uY6cA-B||5KHVv-$~q{ z5&e2!++gk#!mfP6=iM=9b{1OLFtPpBx^#ho|Ybu*S%P%ai3C1S{?#?%o)Q}tvk5yX(H`6S~9E(vl`Dp*0NU~7_`xuJtM)>S+e*hza*d~Oj6sWtdG+rFXN`NBqbip+Q0 zic`2d8235%daPu*yg6OTJMBt=rit1xP8Tx!ErX+xT-RwP-oNmoq{ekpjKW_Flfh|* z!MK8?)>;@)cXG*u-hRNAIl!iWdSUA{`vsR@I;;aC5Yqen;`};~#p^#*xnwau&Jr1w z5;(pTQewey8oS?9c42rR7Qm%*?+P<4fS;X{{ppzgB(I;_#T9)LeTY1@H~0ax_i)5X zJ_(ILIxs4MM(p4Ae)7a|YLv!8j&RfjjgubyMGI=Rxh#nNtP4s|1)~Al^}I0&dwcl8 zRRX^@0{wce1u@rIje5V+2rqhj*xkcfit-ZIaCz>$EO*2`iFkbWi0{Ilze0J^b z;?jY&;`aR89nXHv?RmDQ)_{)yb8BlZ-4Cp-2h^ztefv}4n*HCY#9)Rk3g?eX@r!>Y z2D()eGt7dZxV@NV`^L^2wWGZ`GACj}F~9_OfqY>4gSL(4_|#2~AG`h+5?FC{flpp9 z%7;0AXm5-+AEs(q@qSSrh$c_RjTv1O?oI;TQIPuAVRTOar1`KAvUkqs+4Cdl7dbv$ z-KE%)HMSZxH6O9e35C5*u=YQC=w5z`vYT68@!L%hvCS+se(mi02>jks)^QcL{uv@2v3T?kuf*Us=Ix&rH42zu|N9Wx(k^8u6gmt6uTyoZ-fAV%zFaCLj4r z3R_4UjlQMEp{+SqX}F()LDW!}=z}4rj8y&C(g>8zG$PUJ57cOZ6q!Ty`DV1oM1d(9 z84ttw4Q&z|+7z*342JqHZVXvLb7}&uPaCO+XC6KsD|0^D9gkOynRBQhRts@6-rDg% z0cmZP=Bb$x*G&;1$G9gQNihN4eS-!`hbt5W*6gyFs25nj z=P;={snSH03wA>80FhRzrv$DchHw83E76Vu?~*aG)> z)ce+s`U+z)8m2lPCnp8EO}Xflk*;y-2B`&{FmxM8{|gCO#X&Ug-s-(T(9 zGh!u#7!wP_$v0xHQCfrjMiL#>-nR%XfTB%c*c)+T&QBRtB3C7@Kqexi4y0Y$`^jdV zf!iW%hdjuQr9s@B;KRi)!GKD9i*N+>vWzz+#5+7IOg9e#_#U)M2>Fp_K?69lGM0`y zdZgAV)_DmCWFVTdc1WMCK`|;3c`A(z!iZr}%t;mBLL%Nu{*vt!F?1x6wjlX3kksH0T%*rIP%P z?EbSN+;Hqqu4@QtmPjsY7n(!RtxP9#c&yOBAcVha_wRLDu|KgiBnhc}bCB;END|Rz zqF0ND#DMspn1Ll>vczoDC|xC|ow7)7oHWa1Bt_zp1_VQiytBsR1PPR4?!m$}!BWnT zhgg9gFeD?hz%77Ygi?vh?o(X`h(?SBiy&B|kkE9tWAQ|ag#3UKh1C>kw>eQDfAb$A zg2D!iF=K%P2mZ7!M-tlu6EY9d&SNf=2NCVfR-F6b-0#(dNWA;OuV}64i!^GY2K*r@ z3q)LpQ%opiH%nxQKmpg(!ZPB5(K=YbWo#xmeVT#HpcP|K zrvkmO_sp@F!Ign{`KuwDf!BdzfxKyZgpdxkVrnz~fvR^<^L+`;mRy1O`?&GI%3=H< z1E4=t?N-9Me-RFwDuQH@6H9N}&jQu)$Ga%17{Zq^2cpcJ4;6z>0P~{$fFw@aKZdjp z^Te-&nSp$POaq!Khywx%CRuR;0@4xkoXMp8hqX*5)9bm%Ssl2&-DC+fV;Q&>ViKZk zKg$)!zlwElN$6&YB<%%Z<7|RMk`>n}h%rJ>2q8j3wTZANDy|Yz17`Xo2B-|-nSGT& z$7rKe=wW^Acvj_PeYqyl)7sz_18i_+U|g|fFvLm!+c@K02Ys?)W;mPa>Ug;s?P z;&bz8$$7IN@3NuFkG#$ZIV<2}H4V2R(8WqsvP|I1=0?5WKsViwe@=n!r#Mkq?v=oMp!_VHW=1KU~Z?lpjT5nk<=fc~U3!CFHR{hM~LBtlc9gEx;+9`07< z0`|w!1m_F|tbeAMdIs(w*#*W_M8~euQGv_x#wDCc8~jy?OIy=E0Vz$l0<=srbM2fL z3c77845Mj);#D&~Nws7yC66-uOjj+qOtI4waO+|E5bLI0LhABh&DnZjM7f*y^8)c% zR(sHp=c_6qi(8pUnUIz9NFN6wdxf&vM)0OT7(T-rh}47b_=ow91jDix?TTE@&WP_XJeI`>RbS>Y7k zNMam61o+rLSGgtkCq3&aq9Fc+bj4;J(u(qo3cJbPVBt(SD0Bju4Y(%inbLBI)3QRP zJk6p!BEOlbrV@CvV~m4JH?JsHHdiy)Q?b7p`+~j4;Z0AV@P++l-0@5)Y9%a~9tox6 zMS>IB+s@S11Q;mg|Kz1yBs&peb7lj#cFiSt_iy%Z} zm8)klTSoC*_SGT`Rrd0t z0?_-=6k>wRt&63P`{!{p>T(bwbP%MMNOz4&@ z`4Ted$iRYPj5dmvr6==2l1ItVL4u`ntg~ly%5wOpx*&fLxGhnI>MAt{i-a1>+kY$t z+9r9Zz~!xra&%e=b(UXZ|5d{UzNq+Mhps(I5*(DX8p{(Ji2&g=2u?*!3111!LJg1_ z4K7g0D`pQYvuU>l)1zpTTD41X-wdmyP@q&R*Mh^GL-s%1~XIC%V5MYXn00eBvYkQsQ4 z;At5nc@wByNdrMk28gl3B4-l>8g=o4B~thZtDAVH;82@-p;n#=T(kJNVV9ZuPyLh; z$P>_K!X?qh1yQ6cnNWAaN3f)9F%h9UhgEDlF&V(I@$}*3NY90Xbwe2qLWM%$ttR;7 zE|dw@9Sg3CZ3W?Y{tiXT_LV!eh-mJ5QS70-v#bb{P!}jPF{z;i>C}YSsMCkwO%wy$ zr_AVMWB+VJ2rrkf1c!R~` zVn&dwL;~3kZPvw%E`v(=VTM&ihAl6TSH->w>jHf?ELF1q$1^UdZ`U%y^2ZoMaV+onCpxCmrwe*~ zqoUoQA-TG1{h_|4W19KXjZ19vd_NZo$-+kOv`(b%ucQPVx&-83F1X%WEFb6|N>+w7 z#IQWnfe2M8GnCBeNKfJh&P1t4V-^r%(9yAyiAslAL8i?S|N9Db^^Tbs-ybXnU~S=^)V z)X=qIi2#|7S7{_$`KE;VHxo@w)iKqexSjo=9`LnR{T&f`#(QC+Xn5kbO|LYBQ`)w$ zV?q5B-2<@sS= zZ9oc88w?q&uoV=Gf}x(`aMw9c-;5l$fXIWI4BI-_dUBNN$oQBj@2`s1#DuF^wQ>dy zgg?7lb?a_4JN99L06cvuaAxwEbV<)Hy`2q&z^u9(x<`buRhf=G!-1B{WAZVxbguSc ztVygyf>~H|JrT@bQBn3kzxg5^AMVNWAreDqQ6;cE@{N{}DsgPu_#=%|>|Qv+XT?Q- zp?&=zI>gy~SwhwNAu?QDLYX%{(33NgwMu%4D{6>J`;|;`Czt&jCLDy^vt+|$>1S43 zO9JS^s1qdRA!^Frqj(kL01wD#CpwPuWXL%3rB}(+t*jrAM!@fR6m}%x=(`croAR5Z zhrF`t(`%2W*bxjB`dRg`i~ta%s1epfEM@`JZuNcwIp@sQ(nJf5w0DuwWw$BT^`jA? z7QKEvJOLUT;zmt>_Z3cadFC49hn@>P8^C^I>IcnoGIb(~mJr8gL^d`r3)R&nWTktz zrx_-l61z#Ht0Xn*lI>y372gv(K724KWo3h!PQUa3`%KQIBDKw$}QBWcpyJk({ zl#J=gdfe?c#f1%8(vBeQ6go<+VB%0k;Tmjr7$h}i0PW8;GFT--ufrh9G~wfkB^oIh z(VD9ER@#KZRTh}t84fEG{35bl=N$h;%#mHilJ#YY^g%NLD5S`G#-V}63M#G8J<|u} z+X%FO-A3qxfeC`9XfCaiy`C6U2hY;FzFGrZAjp@zMQ(>MKqzfSu}!()^W5OX{Vc@L zL8vQ>I&E0as`iqV&`>0Z`$LQliBpt4AYi>ql0T7|VHN`)MFwE1<|sXY9rLmj|H4j; z#A@royO7ZnMpJ{~`Z{euT2-B_nOux@aA^7q(%;I*}QjWMUgXmMqw-F5owr%C)^gA?r=T{q0~e zF6eKFG?sP-k)RT{l+tkN7w-cuFpLE;Aq3uFHB2zFTe9TBWM4M94oul0o=LjB7FjlChEm(!2AKbx`laDVcWaVz78CwDv&6XYLX;xX$Su`PD1fQ zBam2@Do2>6Eb&xbu%8J~S-Q3Kfkc0fHPQe@a17E_5P3r$_*RFzP88{NlR=}>Rfi!!ANU2P%%oxn~ERJT2f=%io(?D|2T9}Szl=IrreJM9?z;{Jt>CwG0 zW(|xZVAKE~6qRVL%-tnQ<-I8@?$b}YfVZ^T&|8@=L!(JsnYG}kK{bYkD>*?lhAL<( z&~&i~Jg6ER$%2dbYd|#2;YEeSplhOO0Qd9Nz#TBk$^ZuPv5E)4F+yQJjaWxuS4lnC z9@AV%jtQY@)Dy?T*dFsF3|vl0$ICW@(Z!OH*#Qidyb~*9LS{JvqKgG9vO*2OKgR&# zX!aOwoY6I^M%8=Qmr}o<0(&e^To7%4Dod=Bt>VyT`co~Z_1jxyGT>t%`_mwrM))cT zn_*PXl}Rd?i8H$be}tN7vI!6Y*83m@XheY9p(tMfKni~J_hr-AAP|j3mot61n&<~v zzCaq2QMMCdnQH|n2N*yUG-q(()^>;U&oU{~){`Ls6x@-5X)MB$_v7kfA)>ut>taS9d?6BC=}Rn;hh4#l4d6Ct%S+h-1NwKDq<8hCAwwTk2x`1TjY`;31h zMc3+*PGqYs$jnF4$m!TO(k1F7)`kI)^h3b8FJ+|y6i~|sOGdb1A{LD%pFlj~kj{!hf9_DEwG|Y9JnQ;NVznIXCBOs5*+H!<6#sX2EdTl|d z5&;y$ityv>VtL@JY-2{X6i={2YM2irGRYBP94nI)tkmI3SqdK>UQ6$yYGCqKPpK*&n~-%&J; zwMxh409Vuua{xkO3zOTJ)nx=dln7^S#qa_BD$^1z9nE-=R-gb^#Z$nj=Qc&V0JjE~ zFf@Qn5M+wLlbJbA&;l@Qt!f643V2}?mM+#(sURbJr;#uRK>ap^Es+3y+G`F0k}5|` zGj)6H*;`CI2#|)v%*qL*_EbN|zVVQ)B+jv%C?o{ZG{#uVUb3ZTQ6ftI3FGn^4-OC--8LBA-)u-^4gmM51I48M=z<}^r+_pV^Unw5 z<~o9_l0`red$Trk&4@Ze}Mvfrx>J)l_)4vuDJ+lj~k8Cdsi!Y_*8HVXZ8;lDW+o|zHx5E_#{ zkg;RX{L`^z_}&yJf#emyOdulbABd1~b=uHKTS17$k`F>?_7F~L0J*?IoQVKP_t3wD zfNVPZ`>kq2du%`#H3@9MxQUAUS2%g26e_Sa(U38|fOu9WGtd45><4Yae8=KkWrD$r z9?Sl4>^waP0garGlq?NEtZ*eOptJS88W2G2XlRh=!ArB&5wMLqgfi=Zbq7|;3!{~J z4eX~8V8JP_c!vVWB$%`){#;?653vT$OnL^?(Tp|_Mg@>Jx(Pn2!H>g234leXR;ic` zpu2>zq!C4+p?I7U+R^U-D0|*U8deyh1C&5J)&S7Ju*|KmndMty@?Q=BvqzYPdxKuaO;kQAuQW;G_aoNX2df=TVMg$HS*5~m7L;<214!t)ih;DC+?GnGus!Ka_Jo5wSt5XwC?uoaq#m0~P<-4(|Z-M%4ZO#$JDFJiw3g^8NPEsq)AkSrjAy zVDz}*%%An=Zv!pR|3*@o+KxBdBm2)MH~2iwFU)U*mvzGGq|tDm%%a7#MPctGO{f;v zriSC16)-!$z;M31-_U}rXE>V#|L4Dgb1EeTgHSKt6!^dSCCcbA6`?oa5_$D~^MPg6 z%73?}`4d-(S@heDBE&aWX5Y>8!T3JY48DHozev!+|FIB6-HQWa|Bd_Cf4u2Z1i7)k ztAc?M*F%1D9PO3~%!9lS_C1ig67;!fJnFZjR(TLY2}9iP=CkLoJf0Rm)c+_eM0?3K z4fqf7IdQt?9gQJ)9O-AcSA*_f^KWBK#%t4rwee48K?!pXLQiIe-<{CFX`wp*^phs6*-dX5oL(^1_0D(QaaWgG>IN zd!t$!5lXGBVI11zJHA%mUHBI8_Z*7p;<;sZ;c{p>co4tMOde7LYsWSb6@)|MQ3U@Z z6$N8t2dobK+Zr4SDf~Cy8{p>wHeaipnK3VEUQRXlH+seY_^vr8nN4Oz{l7s?QVu0w z!R@|Tj{Z3-7y*Lg`CssPCIT5?+M&Mn3#$kW6n{_f-Gv{YSQ+UVoA)>SHpDk&j}`rg znoG82Wk~jtb->@oGCCk|NR&X|#`u&XBMiU--*&XJKesC}z5i2DqG_)@7#FYtM!Fr* zf6M{yzlN1259h_P#cG-4vQJrO7h^ts@aNDY@=xf3-ySt?1V{Mxm#RpFnJkO+-MrK# z0ZzP!{BC|z=i9(%8=a>qZ2Vu8^tiS~L@ay+1Hr!jBe2#a5KU{w|JpPk`1(JdKN8}S zmw?WpZ{bFn(<#QmVE@y~IKCiT(7*q5)k-$ZWhAAN! zXfm+xu?&Xc_CpjAzeyhD?3cpI3BGfFU1@87VeIltSGW+ZDt~Ony)erz$i5(WcYn2N z?=2*+B^7gBr$E^r^Q!_oEhklsOA!=E0eh`S@l+rS@(>K}p+9P|@jssPZP*;SE9RHa zwMO^PLPYRp+Zah_oqL?GkR-A>GH>WjQcUxB&suwNz45=>Y4AT^0>}4c%ihxCtURej zY+O+F?%xZa1=?6tAXSA*RV}#LR>cdQ-rP~rx;xnQW2w2j)1!mU>EszsF1snH{(LHL z)aJi-(J2*2JK9nCAYIOUapogi_+bA%t?5xRCdSfRI!Y&i^aMt6qpE9h6A0PmzbU(v z*0pn$R$0#X4nDM1Wqw<>dU93elC`{;wXt9vVZk1dF>P<2`C?(gw;||IdKiyxU zu;dK_@8nVNhb*^<8xOe!Q{*cs`Oxv}xB6lJ#F1T$Lej$iCU08Q!>kUQ2O_M0Y@JC) zL8O&^PRuXF*o?DY1-p`lfA9I#jpSlmzK&Dum0>4dElm6zp6(W85%<&eyX zze=J;OlGW!8Lk%sIt<(-Dh008=SPPL5D-c}>O+79UJLqg72@z<0H=I5#qngA^qU0LA+c6*G@D{;53bmdsn)WGRdDYvr+&eIj*VtAc7mxKD7injz zOR~v+N%T%Fs_vYF#d-Tb?hU`3si0imzplT$+LZD`{ps}Fv0XZ;UcBlq@GKBEazE-dj1@>gMV?j#*Vr6H{KAc>1?*FrDf0RO2S@Hbr?B zeVH}8h*j${be8k-hh?gEk+a8r=tWJdeXmz0m;hRk6zYfj!1F)%3U-r=tg!0EyzGqW z5#a3XDykM9t*~d*?YMx=v6shB_pXf1T(+fyKkeO?wR1Lpe6DLtcs|GSdvSjWJRF8| z7U~6-nR2wf+?fmQN6@m~g||*2!#+ROZ}iZ*$w<7MZehEd?-c{&l_j07x=UopzNTxk zIXaW|c}Cq-)F}}>h(6Y7=6{~L=dU-z`qjbGP1;cAxoCSr-*c&8-J!hdJ9v&s}lsirlO>@TTS@9*`^GvFmaa z(E7d?w=b1lOU2UBfukL}etmFeW64x3=8*{V^k!_M5DxN*aQvO4?yyRiA-2n2o*u7;@?yQ=u2jM{G%Kn0_ zx<&nsJCVVm>>=>f{TFG-teV~EW}m;@HAP?U^Qi2;QnN>Ngm3Z%d{u1!@S6US<=$GO zj*?F!|LTvY_Gq3B-bKzQI9H8^VQiZYnT>?=`k}REpLUYv!WggG@mRw+_RHp=CA?95 zyK^5scha}Co3v?!y)CA~dSAXdL|1O<{j&u6{5=fv+Xu<3nUmveU%sHi*6d9={KL$v z1YIxh4mmsDD?{hfXO}1e4uwPd*jtg|)~LewnI9fElmcj4c*6nB1Pyp$m+6HRcQSmH zTTBWHho#;kuA~9XJqs$T61SzdCVa#5$nT@?85eAwHDkGB(+|InB|lC5r`3~}65b8` z9p4&<5#4o{V|@MEWX?JBbzWYbua-|-s0|D*DS2Fal4|#S4+${R$re9~LlX2q>)ihK z>R$F@1$F-eT>9^OvBY<4tl{jD&e&p0ei|KAa~#G{K17jBW-5{2J&iBe-tBbTZ@M;u z?p@rWp46af`3To(WMZ%VjkI}6*Wb2JXv}t#V;Tvd&wff;0b%jdtV+FW1F9x0N*z~7 zv)j1vA=`8+Rjd_|{cw21{lp8KTX?4Jp2OLpqFys2Vm(A-~6qNHXj}h^Ty>c{W z#HFVbu=J}>l^(p`8GFU0k?y7l^~h;>+#PKB2!oWB#u`-{d(8aH;_dY6!$Gq5`TNO4 zI8u4SxB1eV@8-mwFVNF7JJk})y`?^hlQV;Z{Sj1(j$jSA#p@DJ*8g_$7x$_!NB-?0 z&S|Fi2jCpp+7axH(J;5Jpqd54tCNch{1`r3d&KeywKr9E==kr zYxlzc7fvFZ{PwhzCCl^Db9C{-seuXqjxEZbA0^=;90NHiE1#L6@lGVgP35=kSpJy4 z3f5C%`8vlKj+rQb2=_&MhnV?B=Jbz*g^?F8xr3?qSK^*ITLZlYLZmMpT~X%*0t-;K z6`5H~@BL5fJF20dQ}J#$|59sr2c5);7}3k<7V;LySZ|lha&sGhT5wGfLJ^!tHrl0C zqZgbNLN4ej7==Q(sd$~k%t}-tU8SS%E_~sWG;lck>#KNe!8onN!OuHr-D_ly?z%U$>wUfZ*XzoiaO zE9Yyx8cRkzgq=!x-;MF8Dk!IFT;_Wx{_1RS{o_J>@YmM$$9>M={nwaJhKBuT&rQy! z{}tBxQ_c?H&&5NIzXk{1(+kPvefDOfTMp!;>>f9w+Jc)JI)26Jf*KB|S&N)))?vQ< z!r7u(ERtGGW{QS}oyDJvQEZ2m7QyKpcy77whM^(tMcQOZWY_BxAZz;2 z*2B`r+^RNYtt9Hg8es-o$W6ZDHyRPex2GO_UyYROKc<^}XaA@-|bYJ%Ld|ter z9B#E~t1X>gl#o1p4DUb5NVH7_Omb9?Hug+$Yp2(PP49PgPYR~VdxvqXn+$WZ>zIVy zuXwX$PETiNE+iiwytC{1xnI@^;WHTZIBxRUdit=p)0u^EA3A?%Sd}H9c)v7B+Zjd&ZolLN2qqu6(CpE>PAP z=Oa8f;h)V-Kz@eEJ9*Gw!NLHyfDH2GJFaHHY4Ct{8|TeHzVNbFIhEbltD^9Jft0`I z*4WX;HPR8AJb!a^5MUn zKH@*m{)to7UmI+{Y2LL)U40Y$fWuh{+e-8f3~VEo^?`U6qZsH)i2b^=>TRxA+hj0fsYE|d<#VrJm{b3V)dv2h;uJRksC$IW}wz2OYu%HV~l=%dsfwCCn?Do~G$>1fkg zny+f3|F@Y+l1SIQ3_=6FLRiB@b45jEMe`{kICVLg#)92~khzL8dd=w{wGaP=?oU%K z*v_a?uCNt$U)uw{OWlmPz@W^M;od&GLK4HB=Gh;ft>u2avg@pT5cKvqc)&O za{rI2Z;B3O>za*i+qP|I$F{R$+je$r+qP}nwr&48PxpTBvtD|Pp1rzO!8#U1}K7(hg_#zj3?&#(93n0cK^c4*XAx&lvrjHclb*+pSr^ za&0VZftQF^c8vrtnnURUYT(B?c5B;zaEv5|pq;%C;LowCeF-wy@okV6WuD2Ox5x~( zjD4ebtdW*vnpu3>onzLw*K?-=x7Ra09c*MAoZao@XqO0+bs_y)9?ylG8 zw=rCKkz8%CqDOKz$O`OFo5u`z+RHp?=(c_XgXLOe#10m%69(Lzm0ZznrY^*9`zLfL z=MESyo1f~`n@JZiN_db~{zJF?hra$rcXs@uum3~){)gWE5AF7grsK0I;sqnN)xwWV zvaM?LNeR`yfhgd(^tgbzfmqQp^$>5}<~rc+e_Br4!C2`)pK!z~y{ZBj5MJGDRuxFOzHE*&`YjYv`O;SSO$9FDsaw981o2V<(44|5XpRcR& zdRpwURe#k5a{)cR57COHacal+@vL_KpT`HeDRMcV?{FT%7RMO8P2KJI=c!yNy3%Wm z#ew8nRIF~r8Ft(a@)3~+*n1kA%jmK3G-RCyntg?-(&aGo1Z=ELc(4@lO6%gP(IBwH z4a+5)R`MybCT!@3$TP)(MXYFc^ZgbwCObKA9mg|X2Sf)HRfNi0{85R89u|zd zy~JuNusWO*=(?Mk)_H=Yj)4JbU2+aE~C)71zhM6 z?m-6c6(Cx{ncs9kS+iXBQLTmi7ipgba!tbPZ_H*mc*u_*gRD9+9!s^Yhv}(YM8ubSy;#3;B24IWDvDJb^4x{0(pyfD~DP2VLK|jE0idpH6M)Kaw>sIOzn65xd zfwyT6b+g}AjQqFmf(!;oFh(42z5LL{C<+(cJVQgucvLUJEj4 z=2Wf+fXXR&9wqTiE~ojbHvdkMsbo%OPE?%hv;^~AW&wbl4+7YGZF1%jhLP74Cd93` zQKm0*+!K&p@dp4Z@5;rpr~-j(vdMIKlL7KMRzWZ_*M8EA&_r!zyIz%JqbbAl$$6wS zLcN1FQ(*J)VNAHvScPxtCjiUe$5lsT>Th@+ZJkPy<%={!waPpvHmx=;VuXae0qOS; zi=Bzio@TdwC})2aO|e24%We%8x)kSx=dcg1k4}b>c;WWXN%efNHzWm@>9h;C+xCUK zkei_8Yny*7avF5a5`OnXH>>joj^6Vo1jOTUgM9$L@C6O+1N`3g!8V=4#Jp&y zZ-07YyS46iAqSY6FF2Aj;+n%w*N?oNuLlPSI!`rp+)}RvK)4OtYA!-fgxk;Zt*+{X z$YfBS@0cQ*eGY6uFRJMD_jzr_`?G`uHac*<}V$< z%F`P@H(V%aDli2eFc8DrPC_Kgz8=ZB&_2HGr-QkN`3v1ZJgM~=P3AIWA5Cylp8Iap z{a&i-CjlwTWQnnZF~P9wIB2EdPlxo5V%r%B;pX7_(IvYzJl2<-KDSuUB_T3_DL8!1 z#{~n+3LfgKfi<$dhu6Qx7Zx1!^USsqrDFnj{2s`QJ3n7@>A*Bm2z7)uC`%%q+r~;e z9{tgh_P^0sghZ{+kfLaHz74OsSQVmqiTPA>PFe4KkXuR9X|uF;jYRkCW`0QZAxDsH z%gF-05XA~IoA>V($8mHV-;f6>Y7Roxrar-v(dQX^;5c>s3&}4N=%qlIRZJx$w_ zGNeT+Z)jY^B&+AL|6Xd6j4+{41BPEIk`$7lS6B3GV$4{(L`x2}+I(1qb+oU|UOS<)MK{T7+_$_VV# znY<~_{k0Kx0-A%{nzbDy%7^tPXiRg16A&619}TEM6;*@CF`IX0WCboiKi?bMO1TdO z$0DI_Cpj(Aik7K>6tni8EWWk`_QJZQZS`<+qYw;&Lnp(rT2qQY?}58GJmollCTJ)D zgpEgj2O?&2k;oW7DB=SJ;^Vdwh2A8GE|YU+mCF##fVylLM;m(|Wu0ye`Ycjz`9fV zP)dHWdkN4<#r^qnZwnZVkUI{Tcxj5Ju}+|MAx78$hz{4S;o%Nt)=@2ZbyEpUsYXQ` z)?wcnzaRzPjG(y1o@PsM`+}0zQko?J(^+6K_R(t9#ks*97t@<>CtIJ-?V`W# z_$L}A3j;hJQbaa-)V3!W`R@K74}Ww|R(6~(e`L=W(zN1HwW88(W#JuDjL5~Qdo-LF z-cmP(F;o94lc`g+CSGDPb#+09+?eVZ@kM??A#-wS-SI`SJAxT;B%71zvdClLtRK9W zO~-fN%5JW++p2z935}|;C*|LhG=he>%uA9;zhBxV<86ikIkMP4b;t^c{e@xr9!ACn zs$9`(u^HorVr5AEbQvmr9o9ABILV5Yhv$MAy+p%aMZ4Rj17$R$qtlrc061#Y$!5x} zKE=mwu#Dp0pK*IUhfyi5!ZiKkZ=M6=cR{bJii*c>=w*1gq*C$jDx%ZB@7)n_l_fERAe{qXg;0eRe6kJ~266@!R%cPoeH3^d%P1tk) zDpOkh8++hI6%ka>YbwsGM3@tIc>=w`=D>g&=!}r7anO&>7Uj59?PFO#V~eWnmK>e2 zMs~dM$py8W%)o&X%$IY7=}IldH9!YDvucNlm^$l{L06lt)6^eM*1Al~7^o1cvsF$# ztQIGKVTKh`q3+2? zbj-ONl1EJ>E#8->B{$~2H@2H1j%Sb+lM#3n(>xv7U#<@xj$axch+i3Qm*vs+t}h3J zo5Gui$0-Pqr}#QLi-{aXBfSyEY{mIkN;OAWFRRm!zlpp_gRW)lx;Ytig0k#$+}4n% zS1Ae`&?MR)kXxrc`Ioys5-rM>J}M4Fhb|Unae*_DPoH66w~OJ2ERU& zZO-9kGn$a}&liPcHYBsZhNxFzXA^;f&%HS0oj8$5V(zB}*5cZqFp{OW$ijAzNcCr6 zE=PNCq$U(ovxxvnL8enlMOWxYWs}q~d8EoqC$Z4L*V2%bdMS@~6Gz`mPM25(36`81 zeeO8wTavANH(0SlCA%GzO=ToFs$L;dLM=jgQp&*7FjZ*>0|z-}E=o!Md|hcfh53X= zym6@S(c29-RV4Sl~lcVT$j65jC^j4q7@Nkq0wZB zGX*2dUSdSM0P*fBLSJ-3H5A)1+bH);)uT+Cs8?x`Omk!}ctgwC6Qa`Y`DV3ad?KQr zOk`m`q(=FSga9V64#+~y6kj$YYJ|B(D(m zbr9r#>j{6d)l!F(!rfIA3XSTE1X_S}A}~bnAf;rcx7h`w;9uJ}dD5z4w#7Ybj1~W6 zHP2*}o{|X^pAlNN<4`3{$Q?ZoCS&pWeVc({N{y;Hfo!Wb;Euf~sOeTxXABy?iC3FSi03+gYK&F+QF5E91r7!_c4Mj_cAt0TtP2AGLTa=@IeZ2z5Z z+Gm1JF=n3m3)WEiC@59bX@Y$9neu2|%Jh0);Y`T#jbB`%Gm<1k(WWR}zAK3RX|b*= z$sXIopQuxUol<%#Haaoc)NpB`M2##p{f9n{dS>OCt-7!ioAOu)sue!?LVjm(R2uf@ zw+aO%EmVf{LgKYVPNhMh6g0XJfRt6FUGsIEf7})X+YK8-j|ma!O{n4MfR$SqnxZ2v zHeD&1WS>>Zr^AW`KgRr1S*BGz^TSZq%avnoZU9V>FwZlBMN)Q1^3Si5vnxvZWHN(9 zZ!gF|0r2rC4NIl>Ul6TbQZ-fE4vIxhv&$4&m;U}msyj_$*EE??XcKiCsFm zlIYB{I-4JUZ_y~M;+iKVcZuY0#xy586UJGc!@3BXUWl~8k;y&$8y31El6e$4tSC!% z$X?9b9}Av7b)^n~o~U&xhd17(XwJib{dwiFA~Fbda&%pi`xS&e0-&saFa%h_;nw$W(@j^#`KOQuFI`lYf1;ZW>@6s z`O}uRy+s4cLm#$#r88cOCzGY5%aUS@$3%|O;@*6Clh@DuQhE_mG=wdCVW7qA&N~s zPYa2#!}a3-@_)Cagzu``Jq3i#fo{CM2#Jq4Q_qUWE|ASebeT&|-R@`?7>DZ~SDa0L zEt1avM(oD-VAI+&_eL0LD4bilR)-HSZ_mSUF@HQ1vm^bzhDH$tK-O>0G5uz=3>QIjc zHx&ENrfYec4~?xmjQ_fUf!c;tYBMHG`{%%EDBz5ORv<|zg88_FoB*<>vaz#Sgc)H;jeSHjL}KKD z_~A|z+H_n)x?41uoqrr! z2Z@nsHj01>=&)*dY88MO^@iKr&AiA(rfweYQLa6Gg+^BGkX415qxXWhap-I-L=yt! zrx)@URo+@xdsC_}V<%06ohVWrppH(iY4;Rn3%fu9U2Y6&foM9%C6Mtv?sM@ngHzsKdwIg?a$nNdJ z+n$Ap!FUF1dNX<&@fdP5>U%mc!8PZDFV}dM_>T-I%ZC~76l-%O^sDcxh|f!y4#0&Y z-Jfdblv#iW8!{g%t6BzeFN*Cz}w1Y_UCLY3Tc{1yEumwl#+((BD?^#+KV)=^D>K!1#pkGc=C0U2REU79aMx9qpOX zCo_O!9#V9y$y!&&SrShDTK>~Bc4vpRjgkVOavnM55hX3`!VOE>JZ=UqMD;+T+8 zMPHUonO#d!M|3?Mx_vP}q- zZiU+bw|()j%oA9&&oxpES5a5n$a}koyd&y9ATOd4hmVKA1K_~Udwg%;8*w|UCId9^ zi+83m?bUTIzk&Qv8R851+m^w6i^nz{3o-#?h~r#^u_1nV6Dyd;7k%UBKrf;=-p=-F=W-EzTM?hAW47eVu#kt#|flR~xxzw2A>e z5w9Vub}~%)o3O8JKHL{Hs(M^^kKIcu$Qtr3P3A0){@|Ml-8#;;ojLh%FYW}$K7%E3 zDX4Wkm%Dk{!lLyg5}qJyCbT3vAWj9fW^3voGYYA>4zEKr66y zXRBWg;lujOWDpD{_f%oWu)3n9Nv52D?bi*aN z6U!hOMjsX0UlFuoc49{yO^ClM_?DIu=Ap&p@5F^cO7OqX!2FK%^(#mXoB-4FD1w%q z9$ar6C!}jK_sx&#V+S03P=xU2$a)I#2Izt+dCq^1Xw=;OHeEMf#YUO7&3|J0{8a9b zVe1U;0!X}K3Oa9;GA-HCHcLsVy8}>Y-fwBBKraJ5bCRNzZUkIi*4ovBFLfGU_A386 zsRFx?m^qamr*;FW?gsHnPF6p02jD}FjoTZVydDlgIQkiVUKdZzR_E-(Pq97`4NvW@ z*bRYy5ekz{vzTo32eYA$?%7CoNXv3AMgY;w5YmUS5R*K$DbqXUmD+G`nWW#Get$^w zLDqY)NsI2B3&}kO{_1I*0I1eFM&Fk9IJhXZ>-g)lM>~iPIoI!26!`As^!#|~*SYwK zbUQQg3g27_k^hmuSWd7#a4V59NHCuKvu~2A8%KTx+#x?>EVhY6a2v8az|6*k{yAEi zM5x48-!z3f_)R3&M5yXARBMukh?*hv<55U{nZq)k2%A5ZIKD3V>8hLX@= z=YswMx5{G-6`PpOBsX+8F!YIz+`!Q2`KCx#hwz|kiRdVZppF29hYdi5Id*7OX51*^ zieiu*>iA=e0g!SCQ!`?0cnO&_GnQrW&f%dg*wbmGe!coFONC6Y4)a zZMRSSjrS7=YU~c`k=w*GkV9ulB(Nj6@qCS|pgQ?(Qoj>mrN*|VWJtri!!YHk0!=bW z4EA$mIc`J8IAg#baTu>|IVML}!)#1+II5m%=nR@O3UR+WDeXd)iSHJUx*X$mQSkSM zmQmFvAxsXf<6o*%Vgb}#oYurD?dtG|Lp8{@yj-jIbl^zaZl^YmJAX?$tJwbre z9~2^h5(7v_zA&OR(xKyB!QS0DIdH^6rXmQy?DN$T{V)e|B%LsS%o#W!@NkrHJqOU_ z){;cOV#jg>Ct+H3_Xh+wqM-Gp)0$bFJR$&7XYlNp(AzR6>ufG3I0vu<)56+Y1jP-&xF&2ARGcf#kEvr>!j|!~M)f8Dt>(sVV>D6x5s_obUifN+)QW zC5Y*>V&2J?d4?`SHn$j&sRtc&L{9~;MH&&>?6>h2Lc$SE(9PJNy#Y@$X)C$k!Z*-M z4k;Y|oB1n`97W9k4KZ=;(QJN07!k_gMz>6gr6A0&)Ti{s$;7TU=0)0ZDcB*BcpO^h zYo#Le292RYFe)$%ph@fWH)OyYSxLZ3rMB<^5pqCOPizCDYvY&-Ni0Y(T$PJP)PZhf z3cc5P&{8>tLrh%aDLoyI<3pdcpM+u_%afc*FdB1hyLPb7Gu8^Ax)i{qMzBRdyw|}? znSN%KrHHl-uhl6ASwdCS%>*7(cQ&q;^?LBz5I812+$;uS1vuukZnB#w(i5Ylm`?No zvYuAL%`1hOXFt>l(OmuBz~0VQJ#If)fM)zLzSKvYe&tuS9@a2LwM6%zf;g;949<|KBc zS|}^g^D@(RZGFO`$PX!1RxY75xv!hRs+3Bh$44gH-#bAzqOwkq8(G+gB8 z$IP{v_=iCgkfgFw*%-U_!xg?^JLVaS$>+&=Dj_a=}<1Qn9vfV!u?oS zWsaidgk5PAB=ygdQ1g}6#NzytkL~dON%Ero<%KBlf{r06Ps;1pOrf>5LH(Y=1%^ck zQVE>|VG?dx4>|JBvgf%McSsRXA**%#sOAEd$iOmexUEc# zTpq!w8mS)x_!3KHS(dDXFOyYXkjJ$gFW)OgWWiw-g*N^*r2y9FswpRDh^}G9gd+88 zzfL}4Nvo6+;@ls0ih|QI;*1P#;_gR*VFd=lE!-R5)KyaGSGGK~g(_-@Mh(Idrm=<+ zj=M!$TS&ieC;Rg#8cVb8z`K{1Kys%)07T@f>^~a#*v^w8Pf8=NX(x?+2^t!!r(hP3 zXu)jpFR}LMz*`v{iW1D`6I!j&WC9}V?z7386c;}jmv|ywW{Hh5mhAwIkZu(*=DPH3 zJb9QvZ1^HB)17CTX8__%a?;37z3d20EUXTbKM+%p#(lIAyqm|cRWaEpq!=4giNS4b zT#ROWlvZ#zNrK`bbXP@iO?gm!(qMx=W2@oU$RPx%J zs>D1fW70FJ)oXMlX`AZqJ#&t}6;Hzn{|b3-%*iBE%C-K?7ePe-t%FWiP$DbDU1mMF zA}LyZzf6aqMLi-pk_ZM4wEo4Pfgj}`I%}lLfG#@_WGO?HAj7r{Si#J_eJ)qI9TD3U zLH%V!`{Wq^#*bAFibHftfZuGM7J~+3InS;nOw{tzSEv9H=>a;zoHvczcbmZG$P`%> zXjC8oe5!|!eu8dTLDe2a${m2KePczh8@Apa!cl$czhd3#v5Fj0O&UeD@iUQmni9Hv z_R0YNH$`eE)tdx`OYl@gG5{*PzPIqbI&FvwaD(qvniC8;`Q&|-0wfP(%bPl;P;U@3 zJDdq;tt9thMU`0O%VJWLgEgE1^nNb{QZVZXObEn1EwwHd;kppYKqhA&VqjFrgGfc( zVtWJwg)kDR(_)@?;7>Q$uWl?=oP!caxU%d&J4}dOkL7g|m=B$1A{ej)m;UMm+byvT zaz@^OMk-B}JhxT%Rm6=j5SPk0;8Ktu!5Fbsz)nhg?frB(HGdLNqOjhsGo2j1XqIuI z8j8*2qe~*us2HdpB~|9ki6+?n_nY|--_m$S(#a*4CKT{Ui@1;+2DABfZUIT0U63E* zqplko=+n5^R69iwjc6)P1L+k+|J9=4bo@ahQk&?{cj?Zb5*dpKS6d81qohrMtfp8K zBs&Qlx1OCupJdwf>{k}mdaC$UF!<@ZyDZBC_q7 zta1-J?bdu;4*TQjuYnGO0Q8Nv0NyS^>56IqNhksD}ni7xvp1tq^eRE{_{I z#o?uya>IADM@8`P@;4nW zQO?&oB`&f${u&k{G;~boU7fmBc{y!tc%2CTe0;bCX0ecz zBKNlNr+gjZP}9-R5_DO3NXxh}4%y7e(HE%Wn9R|JFLSu~Tc*pvfv5E%zXzS3{>7^9 z$F91zi1qCtf(-V{xd9tOs5}q6vo67RlF_Zv8vJ$$4^ddQMMLN5nr=-UMCOh0J+G?$ z6pfw42n0AiPoqwP)rsh7W*tE-yD@%}&RG040ML&ds0t9G=x~I#wsITS z6#3KcCF`pl89z?~zqNvB5}M4z@HC@2Y<3oF&T$!-uA!>|jbk)L>xoD^#XEe%NAFj7gs)Zz6GF_>|eh!RY&JJ^hR{xNn{ZB_!JG z2ng#_vxmd{C2yUo&svM`+VaJ*^+sz{&p0&qh>@=Q3HVo1_!>9+St>iIDru#u6z%}} zguve1W9>ynWc&yEru(5TX16@jA32t5QF~JSnor)Z!ZNe$#H-_?{o#vNUM13#y5{2C zzrYJ(R)Y|R6q^8q(Nr|dlGSyNXFIhuO?b#t>NW>5=XKXlwaN&Mu=@({SdnR3z=48P z@6s{@MHQ9aT`}W6Ieeoz%V!tNL_&N-!rh(u9K(R_xH4Phh3OQFeI^PMf(&RS>tJqm zyj88rVV*`6(W6P9e<{@+n~_j&$Q0=34FbDfG0Qyrr4wvmnByhYb>iyBl1=oDq*=;o z5LG^{P-;FQsJ_Q#d}x-cUC+1P6W$lz8{Rd(+`mM>$lKT*M%3pASmwR2-;`}|tu#d& z^Dop4nJBYY96yuFVIOvD2p|`6u|*8HwO*~}n^xlaGk_<6n_G%9`{YLkcSMb_E9iWn zrbg+_tZx7zVKhEct=yV{S*+A?a)?vId)h>Q9_tE88NSYx==S5Y_I!9IJ?c$+TGQDR z=+TF&0GgfEANkBKEBo)zv51aottiC&w7oEn6T3Sq!n}9j!=~JaqfQtTJQ~VUGg{7N zN|0RAvs|Ttt0;E?ZTTua=~kkta5X{ zJ^J`xFr=UAWEI3f{;}X3332bca1k%mKU=wo&M_g{9d5ZrimT^&jwsL=V|O$Ji4Qef z3%oofB>UTl$-VI}%cVmKY90Uk&*yH~py!l|F;7n(`y4T&Gr;W?3d;)(dHLJKVJsWusUX75Rs z>rI_sHZl1$HHySTWIW2V?Z;;oTp(5(AhELW1>*RlIvRoot!Aj(KidU?IhxKak>Rf^ zU%ElG4C@{Hn8XxdlZzOkK91mGew6~W&~D9U!vVFcf>)RDY>cc#F5-FmbVqT4Q0Oic zgwS2uMpo0oub3qDkcNwVjdNtu4u9F8EE1y~38%p0tD&3rDG4r|4OTce)e4J_!T4%l zL8jyNbHrDoL|ca!#Y7=jgaAaycq%N4|4pM5^X-;!9txZY8707XI7=S(OGcawCHGaN zOOVjC=O%g1P08XU@L}D&c5QS;Y1KA@Wr*0xkwIYik5CRpdN}}Pc=;1u_Yh&> z3I@Y*I?+v9Ep+~5N4$PAdllDk{|y6~c>=UBm9tZgf!xrf%1l-XI0Z>Qx|Uq7!(wRD zE?zi(MB}WBhNHerOOTExJ2q~bXsyj=$rRnt<2HysH%kH@aOg0I$E}gk(s5jNUmL=8 zq6On?V8s$=Yfa8Tu)6=kkw^F2gL>5Xp(MUK{h)~lvCQfO;L@)b-HJk-iMge2@WF%5 zw#?&+V1KVNmdoJdPf5x29-{!o$ju3HFFV(BS;S{*pO4NLzTl`9=MQ-UfyW9cO-3U(0~B<*_XabS+f21 zKfoeHZeT%GP($k*q_VR6lvO&H#+Z@38p14tEUJPm_q0yx54nw(g@68%i|gno7{O3S zXfZch%l?}7x^-335te#ySCZ%pUgl}e=7m)AS;Rpd_Xwmxg%wT5;_&CrzY)5`SZ1~% zUepNjiP_l5i=P>fVjz%QetZ^&yeY@<8!szv6J6_SzaRQ z)Ep|2+(*p9M1JZyu?T&8cV@e=9?bj(Gbd|O=;Z#gaGI%4b*g|!Rws2LidR5C2LRu@ z1tRpIY@%Dl?$|ejWD7w7g$O#lE(S_4TShBf2ytZD9U?``{}c#R$1n5rk~TT5DA3A9 zDAPFTd&#q8U}i#5kQPqF?uzG9&*b0J&n2v%me+0B_$v-NsMYE@%lrXuJjt2eZ%Tycq50c}V7wbV|MD%?EX2Y}=6efO`UlNa{XQ+(S}pZVaM zZs{ej{1arL0(oc272JFyyD@gq`n;ObnbvT#bx?NAkk?(gAPBDFHK^arB4ZjH!5CHg7+Lot=KhDs!{*WXB?quz2E{4$>e~$f9_^4B_fhYM z^v1wAW8^x`u$Qyq;G91*-r*XhYioe-v1wb4>UYjzw+Bp&IK(6PbI@OM(+cOKxF*m@ zIVyRM6-y-tro{U>OOK^KDAEVb{68J9H*^DV5NC8(^^$w5^zK2=(tv+;FrOP*TdpN3 zfIn%jz0qF2#Rt0p_AE&b1T<8-1M3Yi;RUNnPXr;Shq{gv5bO0lKi+8=(T3RLWJF73 z?x>peS7Q}4w6cSdV$FG}?bJBY#&zC4!T8(KzMTU@F!H;p;&OY1rA&cLXa3dqL>p!W z=V0r1XzZv-ay_M)JI5JI3Y*VZ=d5}BRwJ!$%*sWg?^$xJdmxSiH&PQS2UES%f5iKQ z<#T`SWnm-lgy*T`0~azEMr1ou^tT2X2)>73nUP}!q|iMb`8Bs3@aWU`&OP6BjSN`y zPVF6(Ht?T%17;IXFKhV@42sSz#}sJryh+9T<`};vPjADHV?falt!xk~grn++$o39b zrRaVD!y|aX<8^wGCzKYrm5B04+3s7DBbCPibz#sVjY4qssN648qybIxk%}wS0>HhZ z*e1}k6qS?sCSX{cLy$`oNBBPHpZv<`pNNYcHBRN-esBJzLD&NV(rD2$>l$ti=5%LR zRHaANJGElg4C;&8r7)&;YLK4bEo3^$M~G0(^&ic)DCSrmn-8&;1W0u>Ib4VDX)nDF z8|@4D7Brber^Cp*q>C41doC=yq@p?ojoM{}@`538Ko{q55~@vHS8DbtkQzFoO{njV z#R)2XfHg?R2qb3VphGG29XE?>tw5hf@m*{+(vPmU5H7#va)1ZK zjuz3to?LRjj&^Bs4E&ox7a1OfqFS^z?51c(I=E;jQP$eZqju%ch?@~X5tzT9SXnqb zg1p5pd~<>(2k^W|$RxT9*}*}0^FyuI6t=RSoW=YgCKs6vzFyF3mdk8${92pyWB;9Q zhQYD!Ac;Ft%;k6r`D~H%o3a?BZu4fb?-kz38Fj>_-P~2V;A$ z{M{K#f8z^R#Khy@-I#?nXQrs&m#&~&w&@i9{o7_S1FM=>#w;2gI_Xr4tKZYYmsR$< zB-u@*EzjLz^J|*|2DS`C=iL-W71qcw(H_g+V;w`&$!P+~q<5ZBQ_EmkL2-o@1h5vl zz>(bVMpTGS=ffQM({LH#Db*l~1b2&n1RlCr2T)P?SPK=BR{^&FuC4^BAY!`=btz=p zm*N(=Dz8qN!b^}nbo~w)VG2WekP3+_qHClfp+#}9C?Hr_0wbLd5tBF?<}oVimMj*_ zItuGlP;p=U1ZS%9gNJo=>O82G&1{cAkbtWJTEPl(a+#2gc)lXJs7s*1YT#bMlCf1s z0$S1O9|Hv~<`zKJm3A3J|C%UXkT@PV&0Ee#aXSd)z3)L7arfjOA{07{Q^WD=7Y1SG z<-u84wDiO;(*KnCkULZeZ64?>FK!Ih8UrQasd>v76Valg5J5IJ+kuLX2@K=vcqwvL zm&vl7`t6zB)GK;EwHCF4^M`r$Z`NC`YEnpA_47F+CbVH;|mf$>zb9B|Dl&gD&$iArL zVE`J^`Yd>zeOiB26=BFpB-z{YT^z=4&K$~D{ zpDdfKWMz!>FN^QzI;s8mi-YIq=&=MpJExnc?;OPh>UNeP58te{RV9lk0J6mCBqd{5 z&77%td}|)u?J>m{&Oo1iO~&Q0cg@S*j{#sAwZpai_5^>Ed7j+z1g4q!s+kEwUa0*w(%2)Jf=DA@{?l z5<#Gul4`a#I`M?97moGqINB3cNLFqDV*zVXwWRT+D>aYB5lz#z757gs#5UKh3uOt& z+APSbWG}D#QeI^-IJ^U^P)G4uRwg9M1s~WTmwH zt$5&><0YXCo$aT4PQ;|lD}qY{T>5=-eAj5YN3b)oJvjlz zbGQ>HE9b#eVIY=I7&JJ~${8K0l(XTQaDQjiv!>!}n=UM~vwLBcan;6(c(G21-?;5u zU4Q(gs^9p+`3r!(=_576)=W`bn#I95m~Qp?z341_-`$hoW3XdMs_HvE#0*9NH`~ug zI597LbMsmJQ@ohj3g#wT-AA&cHs!&2^Znpm8}I>MPW#L;bvudTT^FwHb5 zj~;XJ^R!K-(jjB{>W}t-qpj_UoF^$$1l4sP{$7&A15x3s_Z#jTiQe;K>9c%BTguVI z*wuz;d*}4?@R`-^(6%z5ZuIu>TK41lz;0b>KMQ%HH}RP5_y`+Y7f{BaU*kN8bnZ&z z>lNp)ob&n%_e^$YHjmfVhL2m1jy9BlUFw|o{ytIUD*~kLAx>Qn!A=;P=OoCSc~9m} zFE;v|9DR>DI8LkTZ84Qrk)>XZcx0ytt_K4ulsjY~QXKE4IQJ$VNLA?jjlaYTR78hf zapNk5h<4K;bu=JUeeFMi(J^)44UerIhq#`NZB}JswR;FOObg`O)_9mdA&YMK1375V-|=W0nR@;60AI z9I=Wyo)~kDK%FU2OY{~koHjM(2b-15ww|Bv%)pK`H88_8=z5wZjf~J6gfHmA z+b5WO(AGUiM5M?sy6z^n?9lAy`M=R@C*|>yf$T6qq?p`_0qhP#Y9$~bC>W@$;f^m{m zVOT>A;amTyG;qVa2Kpmz!m>fX8DX7;tP=uZ)HEAXO@{0MgUQL%IL6dW8-cMKwxlK= zXUM?uAPMJxO4}%r86K4uCkZDmLj=A*79(bklK@J<+WDeO6r#_tiJ z7j+N}>ap)v=pY1&36|L`Vc<0*xJ~Z;JtA&z2md#}K0fal+FEZJFyd53dzu7U+Uqb; zzlXOeb|H`xt#Z)iuwu@{a7BbSzU^`g{-q(8%Fco))Q$$0%B#M0^&p274gZDEyIlQ!YkgNntDg`B+oLzO(t|zyM}YpRUv~Y0yxgz zy5h~1NKa)dzkuM?!MV@tTH>%}w10~iv3 zqI4m0$E9JTvSfN1Z&Iy$av|7|@Z}h4qOSl?plXz8N06*#4&`&1Enwr@qZOCPhGSsa zr5o>PS0;)GY1TN#z1_>?_a*PzZvOn?-gwzqiq)>XF`L^s%lvw`dx^4GZP$Y{s9!wB zTCp*<29ZryV{4U3pt&iHY5Btw!d3p9^nPOuG99B9apRAl@WupwCm>_X1->J}A?;h} z7<&x6iKKoHeLt-j)kpvbfbiq#g~EFdJi+>kF_D&2i+PKD~$EURrHwg`~h=)4bbcn9`8kp z|61+FJrm{2*-u-^Q|)=Nv16U}=k^wsXu~jyk|%%u5z1f^vI{eSf_4K09sF<^s0CtW{Pgp z{FHuYw?|IgY;@lC_q3Di%#=OMu8$mS!J@fqcW>O8SuXsp4YQ!!(_@0n$JPJP2xlJ$H})mC|Plk#xMrGbDw*sfTo%bMSf^dqa+1mA?p&7U)f9hqGs z3)wdfJe)U?RXTtX2;(6Esa#-Wpigy#In0h+r=QK2_bMnkn1(b|3FQcQh4X z@hxA>9UOJt(o;?h_-KskjVYCNVWc;XyhspKo(PR7PPBFclJjkO5ri;k#04tcws4RS z72$P*)22|jO_59gv5)UyM@eN+J1VSpK3fn)SbOrMH;%0~i5Zjjz<^NK&p1Odthi=_ z9H_X!r&4U0O^nfKqPS2HhTmV^0qe>b-&+qZzGV~GEh&VI@9&b{5Kl;>1$-|ktI`y( z)yIzkIX~Fvc?fKkJ7oO@{Ix7R`e}e2w-rvaY=K3A(g&)5R7cu+jL$yp6 z^YqMFB-{t(WG51?7|-H^JW&Zl;W#RM7cZ`_8&`CIom>$G>3t`<;ste*+KyG7OK5_( z34XQ6rI#J=pRK+E@f}}ryf}r^x#?4{{{vn?p}$1l?>{+wPDY03QxEU(yKv)%dcNg4 zJ~<(VW0EKFP1TvYCS?~*%Kqdqrqm0pnKd;6>hH(B^#vvLQ$QUK%j!KOG&O{B(G75cRyheZ23`z@Hi`x<7T72h^D#_;eb2R&aNK^ml+% ze;?74f#^uO$-Iaf&*ZOUiUSw!1Pdb|wriM{GY3kGJYfv;sBhe04=W%`gj~;t+-*(~DR>xi)-i66jCSU`=%!Nq+6v(sYKc%1UgD7edr z34t^KF!J1Mn=avMTLwr#LG}Pweh>YC_%2x(s}-=C1o-ET42c+q1l+ph*0}Q{7Qz1# z1XIId#9V_OGR;Mjv;eQCu7QrOY-?%-_8oCOV$)eb+%O=9Z378&ipZEyfZkg-v|+$( zMyGj!aLRBh!6Nh}B4(uIC6h)%LdT}QU+4pPVZ|aQm_V$0eXXkwChE^*M7^cuqh?}H zB8{lw2e$PoIA1tp`)%`qe?Kn1^rmvG004T0F>{}f?Gq# z$MAi3Y5_U0^xbK=q@YYp-DVaLO&%iA4<=&7gFS}Gq=wBPS`M33bem}#vKZDx;8|0I z1Nz}i?U1dZ=(cSwErA7xd)9mraP*L=Jj&CWwg`~dXA!nMz>MPb${^L?(8$?!~nr;JsiO~`0Ge5>`;9(kZl z;P-F0kA$~NCh}eoglyqb=*CNpUSD$*Ypo<2JB4J2MGIYI3@}iDPvvh zUiOtS8C{M?!-)!H^Z@ig8=Q>+lX{^J^nJh#*NFNSevrwz((fZW22Z(!nT(NE(jAUI zjI}rCIyoQqdn#N!Re?g~w6Ah>Fu`tL(JtDgr(7s+R5oe|kj7$NMwF6w=PF)CybAo+ z)wSUOr_>z|^fCNw!;HszJp7$DQQJfrYZGM7*?4%tCyOkGQ9}j@#tu{t3E7{O5_G}e zmlHJxN_wi&2Y4W|K|!pEuwSF4nY-Q{A!o3l`L&fX{bh6j&4RfFN-AwspPFA-0fDr|dClZisnhV2UfJ^gO7yvRcVPUKXd9F;(0pb$@@rT!)c=2ta8W2lU{EKUc z^mcbLUUzrgFKE^TqfNsnBlRLyeGGvO7HU5|=|mADbl?%Q0r8e$Lg>aqBwz&O177Lu z!F^mP`W1}Mt6zk<$DPQ!(aB?lr@wu1Kd%VCUQ1@#cju>fPDOe6Fq zqsHo}uXI%$_LvXr+SI`H;Q0YgjzWHx0aP^;kKJ#H^R4Q7#bU}DZ|23)kcIE!q+xp` zEQNmuHuV!*Kl)FeFJk>gsl>nqSfqKH!vo;e!&00{y(PjZ005eCEOmA5Ca1( z7ZRtA<@Hzy@uE$qc0y2>~=YRUJgEN1^n~Q6izH}CPzS5Y<9P84Z(N1Lz<~YQ}!Z;{qij;=X3lz9UO36sdv!V)Dz^!A! zwB-}WCG*f=Rnt_&g>mWJWhHnQQcN1{f25QlDsHmG`WCCc0sMpYHVZ;C%*tb2QTpJ! zvjV{Qub!-HH7K`>6Oa11_=nU zmx~9bxK+r!n#4>UvlQ_Rv;hMN_0kH6*oEFQpG`is#Y2g%G6A;|3T6}DxXH3|BB{~4Ki*u*}&6{`5Y|lg=>a3 zZIh$t&z=#UresD`&}6m=X-g zuL+K7ZuFC zwgf6D9kA-!rV-rDP)7hv$IX#-a6`w!GX;iS9q#2od#jEoN`EcfVD>Cw0ja`;Oa1KG zI*`}PRR&@Okf#@;2x1ms>gV1Ii4LVI3}0G*EaSlkNd7X*VKUn|=&DO+!e z`BX}#GWd{#6GPBp$Yub;(|@U5{YvYp16@1Q)bToSko9Ki+CqL4_1~B3psoaC^0NfV zM8hhNtwbJKmR1zU!K37F%>n;pOtF;G=35Eka0zPi61-4iUhe+5DBU36X}^yw_b$}S14CH2WI)>f&-j!y6sAr_0{ z!P@+RM=|0Gu!zthJn+~Nk2^O^u-rn(kI_AK{LrIGsLgsqV$d5TCue+j8IvK>vOAoz zVWa(pCh~4q*6wBINhpuDw;ZCgHpc@-ZZe8`+#UXj7 z6S0*~A;ssa7HVsi0i{VzUa{v`AXzMvOrj1Kb~EcnL`18KPcHf@X;>GZ^IMBs*4EAx zT&)D1thJ&uhl~J7OX%itRfDOtV}hn+s$QXw_SwJl1G*#^mlK_M^!MoSUgnV93|A;t zXhJ+#;AdbOWQvtD+&+)Do1z8H)<48I?%c8dOJ9(MdrKkMZNnf3)GQj9ftLWmV}f{Y zYwoxn9@}D6SUI3(#;FjpotmdqJmWv&?W!-Y6nGpnU7)l@uU^Og#}c8;gRVP91S zl~lZ_;MInSbFF-_vr59IVbbX%Lzz3Rl3ESBx~kX9SduNyCY5Gwi~&|Xpwk6Aykg(A zVSPYQcA>m)v-t3qws5oG_roRDW$%DYSnt1(LtI4AE01Zd69rVT08={5k2*v2$)?IT z^EtJ6-h)G1;;H3pDnbA=hcN4wWA>G@SyWu(T{YZnZIad1)@RxYkqCp#Kgx8`&rP9< zN}g(4E951M@+Gdi3X&`+-TLzJP8duPZ47#2*`j-;YZt0?_0Oq8J;UbkHp6W(&}-8rw>~<$L#-)TkFIQ_7&#$@JIc0 zlA7p$67K)@pH{qS)cTFQe3{`$Nypfpw0=t=&mq~!f~J)v?{A_fPpsw2X6NXIqfh%E zk^VvGX87WfounH?fwTjzqk|83wE0smfh$FfJB*;FQ&EPP8S#c?s%f?0LehRu08{;(|Jcn*Gw!G)Z;DuXUSy&^1fC1Q&YlEno z#N{|Ws^aPWw}fwOiO1jq7sD@)-U1&XylTUrbHg*)qg2sJQZN>!Tor*tFPd)Mm6Tsg z`RKAj+kG|Rtd_a;v=s=p9`do(8exAf?j6^d`M1M8Q1oBc$5O{9PoDpP72?iMC$Hkl zVd(SIBI^55U+Zc*o{GA4J(Kw&YbIY&L5tTD*b`VVNaRov42f)$Gqrhx)rf2#*N{sS zvMqR;tw1o@=F{LTgiY!5*Nkfb^tGQNAV!i4xMX~l#cW%+FS!FuBGC#7+je}8P8n}x z@;aQGLukp$F|D~381^KduRPCi#&i{$7TYnBc7b)RI#X-4pdKDNmi94?z}VOc04Z~b zE7x^E=_AF``_pm1^d1%1@j(+gi8R$=I~nGW!Ecmh(+j3GRq_GX4i<0&rQ6gRbFB%} zNa|D~<5sfi5G?xCNhG-5I&Es366jiUuCXg2+V%!%n@UxtLYsv*^yY?R{ny}xL#V-? zmuPf#Y_a8g(#8lQyzaOevN|EqmGh0VMOVsz!l|NC{*KsF`H+0o+_RKyc~`Rze(2!= zhhmacL&YoeVLL6~DYxI%tn3s?%gdbB4Rtzsrr%?ZZQa&r7{}CEC^A~j;=NIAlmbu*5<#@Jlxl`MLP{&$#v*XS< ztIA@^dp>?byyq?qz)|1hO9j-fcBXan>W8!y^K(8{8DZHL@|6)l`dO+bLcaO}@xvBD%>P zLEIh}ww)JZvF((X$E`W3Y`uJoZHEP2vs$>zvmwV%o<^lYiQ=p+6-p*hI@i z3zhV!HRa)bq4tR_QHFwbVmsEU)Ib(&8kux6;xI?F33OSiD#PRO9JyogBsnvSUHnA@ z{m7TCwaeESuFLGWawB&%c{O;&9QUK$~12c zv2*umgR!$vaFlT~y%CtVSIu#A%c?VP4RNy}<;>TErACt%qdK8az5Hr#j+rO5*l@3y zDJ|Gb7rWRlmbudAIQpa(FYXmb)BEb1*16d5XFT(dk|T3On;Z7eNG zrK`$O?P(*!3u>3>cN8TqO~q⋘3_oxn7K2dl}YQd8xy>xwp;8kU}=OiiLrX5F`)$ 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⁡t9@2v&0ns&&0ddnx&*Fub$!`t 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

gZj~Uq?Q<{!JGQ4rRx9_3B6&q2d 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ˆ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Ξq5Yx%+T%Q_uKU_@EkD^*R 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 From a74aa9efbe61430fcb60157c8e025a48ec8ff604 Mon Sep 17 00:00:00 2001 From: terrafrost Date: Mon, 3 Aug 2015 23:48:03 -0500 Subject: [PATCH 21/30] composer.json: rm bom --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index f3807c89..3f456b4d 100644 --- a/composer.json +++ b/composer.json @@ -1,4 +1,4 @@ -{ +{ "name": "phpseclib/phpseclib", "type": "library", "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", From 761173bb7f26efef05b523835594f55214f46ce6 Mon Sep 17 00:00:00 2001 From: terrafrost Date: Tue, 4 Aug 2015 07:15:35 -0500 Subject: [PATCH 22/30] composer.json: rm pear-pear/PHP_Compat --- composer.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 3f456b4d..750af23c 100644 --- a/composer.json +++ b/composer.json @@ -58,8 +58,7 @@ "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations.", "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", - "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", - "pear-pear/PHP_Compat": "Install PHP_Compat to get phpseclib working on PHP < 5.0.0." + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations." }, "include-path": ["phpseclib/"], "autoload": { From 3d6fc716125137803a59997f5f9293f481811977 Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Wed, 5 Aug 2015 13:27:02 +0200 Subject: [PATCH 23/30] composer: Remove include path. No longer necessary due to PSR4 autoloading. --- composer.json | 1 - composer.lock | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 750af23c..db9e3031 100644 --- a/composer.json +++ b/composer.json @@ -60,7 +60,6 @@ "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations." }, - "include-path": ["phpseclib/"], "autoload": { "psr-4": { "phpseclib\\": "phpseclib/" diff --git a/composer.lock b/composer.lock index c98c8a4f..daed47bf 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "b24ab20be15b6312e532ee2ffa18d5fa", + "hash": "3c1701cdae74c93eba5311e59f11cdb6", "packages": [], "packages-dev": [ { From 15c9f9972128fce19a0f0113b630bcf9ba3a705f Mon Sep 17 00:00:00 2001 From: terrafrost Date: Tue, 11 Aug 2015 07:27:56 -0500 Subject: [PATCH 24/30] RSA: fix regression for PSS signatures --- phpseclib/Crypt/RSA.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpseclib/Crypt/RSA.php b/phpseclib/Crypt/RSA.php index dfec4b49..b8602bd8 100644 --- a/phpseclib/Crypt/RSA.php +++ b/phpseclib/Crypt/RSA.php @@ -2637,7 +2637,7 @@ class Crypt_RSA // be output. $emLen = ($emBits + 1) >> 3; // ie. ceil($emBits / 8) - $sLen = $this->sLen === false ? $this->hLen : $this->sLen; + $sLen = $this->sLen ? $this->sLen : $this->hLen; $mHash = $this->hash->hash($m); if ($emLen < $this->hLen + $sLen + 2) { @@ -2675,7 +2675,7 @@ class Crypt_RSA // be output. $emLen = ($emBits + 1) >> 3; // ie. ceil($emBits / 8); - $sLen = $this->sLen === false ? $this->hLen : $this->sLen; + $sLen = $this->sLen ? $this->sLen : $this->hLen; $mHash = $this->hash->hash($m); if ($emLen < $this->hLen + $sLen + 2) { From f591962fc4fd4d908ae4e1dbf9958049d332ed95 Mon Sep 17 00:00:00 2001 From: terrafrost Date: Tue, 11 Aug 2015 11:47:19 -0500 Subject: [PATCH 25/30] Tests/RSA: add PSS test --- tests/Unit/Crypt/RSA/ModeTest.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tests/Unit/Crypt/RSA/ModeTest.php b/tests/Unit/Crypt/RSA/ModeTest.php index 99d2806c..065a2045 100644 --- a/tests/Unit/Crypt/RSA/ModeTest.php +++ b/tests/Unit/Crypt/RSA/ModeTest.php @@ -43,4 +43,24 @@ U9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ $rsa->loadKey($privatekey); $this->assertEquals(trim($rsa->decrypt($result), "\0"), $plaintext); } + + /** + * @group github768 + */ + public function testPSSSigs() + { + $rsa = new Crypt_RSA(); + $rsa->loadKey('-----BEGIN PUBLIC KEY----- +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVx +wTCpvKe4eCZ0FPqri0cb2JZfXJ/DgYSF6vUpwmJG8wVQZKjeGcjDOL5UlsuusFnc +CzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ51s1SPrCBkedbNf0T +p0GbMJDyR4e9T04ZZwIDAQAB +-----END PUBLIC KEY-----'); + + $sig = pack('H*', '1bd29a1d704a906cd7f726370ce1c63d8fb7b9a620871a05f3141a311c0d6e75fefb5d36dfb50d3ea2d37cd67992471419bfadd35da6e13b494' . + '058ddc9b568d4cfea13ddc3c62b86a6256f5f296980d1131d3eaec6089069a3de79983f73eae20198a18721338b4a66e9cfe80e4f8e4fcef7a5bead5cbb' . + 'b8ac4c76adffbc178c'); + + $this->assertTrue($rsa->verify('zzzz', $sig)); + } } From a56e0daf074baf030340355e5d513c59739b178e Mon Sep 17 00:00:00 2001 From: terrafrost Date: Thu, 13 Aug 2015 10:22:01 -0500 Subject: [PATCH 26/30] Tests/X509: add unit test showing need for return by reference --- tests/Unit/File/X509/X509Test.php | 49 +++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/tests/Unit/File/X509/X509Test.php b/tests/Unit/File/X509/X509Test.php index 375a4549..5a166b28 100644 --- a/tests/Unit/File/X509/X509Test.php +++ b/tests/Unit/File/X509/X509Test.php @@ -9,6 +9,55 @@ require_once 'File/X509.php'; class Unit_File_X509_X509Test extends PhpseclibTestCase { + public function testExtensionMapping() + { + $test = '-----BEGIN CERTIFICATE----- +MIIG1jCCBL6gAwIBAgITUAAAAA0qg8bE6DhrLAAAAAAADTANBgkqhkiG9w0BAQsF +ADAiMSAwHgYDVQQDExcuU2VjdXJlIEVudGVycHJpc2UgQ0EgMTAeFw0xNTAyMjMx +NTE1MDdaFw0xNjAyMjMxNTE1MDdaMD8xFjAUBgoJkiaJk/IsZAEZFgZzZWN1cmUx +DjAMBgNVBAMTBVVzZXJzMRUwEwYDVQQDEwxtZXRhY2xhc3NpbmcwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMdG1CzR/gTalbLN9J+2cvMGeD7wsR7S78 +HU5hdwE+kECROjRAcjFBOR57ezSDrkmhkTzo28tj0oAHjOh8N9vuXtASfZSCXugx +H+ImJ+E7PA4aXBp+0H2hohW9sXNNCFiVNmJLX66O4bxIeKtVRq/+eSNijV4OOEkC +zMyTHAUbOFP0t6KoJtM1syNoQ1+fKdfcjz5XtiEzSVcp2zf0MwNFSeZSgGQ0jh8A +Kd6YVKA8ZnrqOWZxKETT+bBNTjIT0ggjQfzcE4zW2RzrN7zWabUowoU92+DAp4s3 +sAEywX9ISSge62DEzTnZZSf9bpoScAfT8raRFA3BkoJ/s4c4CgfPAgMBAAGjggLm +MIIC4jAdBgNVHQ4EFgQULlIyJL9+ZwAI/SkVdsJMxFOVp+EwHwYDVR0jBBgwFoAU +5nEIMEUT5mMd1WepmviwgK7dIzwwggEKBgNVHR8EggEBMIH+MIH7oIH4oIH1hoG5 +bGRhcDovLy9DTj0uU2VjdXJlJTIwRW50ZXJwcmlzZSUyMENBJTIwMSxDTj1hdXRo +LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxD +Tj1Db25maWd1cmF0aW9uLERDPXNlY3VyZT9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M +aXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnSGN2h0dHA6 +Ly9jcmwuc2VjdXJlb2JzY3VyZS5jb20vP2FjdGlvbj1jcmwmY2E9ZW50ZXJwcmlz +ZTEwgccGCCsGAQUFBwEBBIG6MIG3MIG0BggrBgEFBQcwAoaBp2xkYXA6Ly8vQ049 +LlNlY3VyZSUyMEVudGVycHJpc2UlMjBDQSUyMDEsQ049QUlBLENOPVB1YmxpYyUy +MEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9 +c2VjdXJlP2NBQ2VydGlmaWNhdGU/YmFzZT9vYmplY3RDbGFzcz1jZXJ0aWZpY2F0 +aW9uQXV0aG9yaXR5MBcGCSsGAQQBgjcUAgQKHggAVQBzAGUAcjAOBgNVHQ8BAf8E +BAMCBaAwKQYDVR0lBCIwIAYKKwYBBAGCNwoDBAYIKwYBBQUHAwQGCCsGAQUFBwMC +MC4GA1UdEQQnMCWgIwYKKwYBBAGCNxQCA6AVDBNtZXRhY2xhc3NpbmdAc2VjdXJl +MEQGCSqGSIb3DQEJDwQ3MDUwDgYIKoZIhvcNAwICAgCAMA4GCCqGSIb3DQMEAgIA +gDAHBgUrDgMCBzAKBggqhkiG9w0DBzANBgkqhkiG9w0BAQsFAAOCAgEAKNmjYh+h +cObJEM0CWgz50jOYKZ4M5iIxoAWgrYY9Pv+0O9aPjvPLzjd5bY322L8lxh5wy5my +DKmip+irzjdVdxzQfoyy+ceODmCbX9L6MfEDn0RBzdwjLe1/eOxE1na0sZztrVCc +yt5nI91NNGZJUcVqVQsIA/25FWlkvo/FTfuqTuXdQiEVM5MCKJI915anmTdugy+G +0CmBJALIxtyz5P7sZhaHZFNdpKnx82QsauErqjP9H0RXc6VXX5qt+tEDvYfSlFcc +0lv3aQnV/eIdfm7APJkQ3lmNWWQwdkVf7adXJ7KAAPHSt1yvSbVxThJR/jmIkyeQ +XW/TOP5m7JI/GrmvdlzI1AgwJ+zO8fOmCDuif99pDb1CvkzQ65RZ8p5J1ZV6hzlb +VvOhn4LDnT1jnTcEqigmx1gxM/5ifvMorXn/ItMjKPlb72vHpeF7OeKE8GHsvZAm +osHcKyJXbTIcXchmpZX1efbmCMJBqHgJ/qBTBMl9BX0+YqbTZyabRJSs9ezbTRn0 +oRYl21Q8EnvS71CemxEUkSsKJmfJKkQNCsOjc8AbX/V/X9R7LJkH3UEx6K2zQQKK +k6m17mi63YW/+iPCGOWZ2qXmY5HPEyyF2L4L4IDryFJ+8xLyw3pH9/yp5aHZDtp6 +833K6qyjgHJT+fUzSEYpiwF5rSBJIGClOCY= +-----END CERTIFICATE-----'; + + $x509 = new File_X509(); + + $cert = $x509->loadX509($test); + + $this->assertInternalType('array', $cert['tbsCertificate']['extensions'][3]['extnValue']); + } + public function testLoadUnsupportedExtension() { $test = '-----BEGIN CERTIFICATE----- From 785b37b50578bd9135c917977c496fdbdeb25fd7 Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Thu, 13 Aug 2015 15:12:20 -0400 Subject: [PATCH 27/30] Remove include statement from BigInteger TestCase. This was previously required to load MATH_BIGINTEGER_MODE_* constants, but these are autoloadable via \phpseclib\Math\BigInteger::MODE_* now and the include path was removed. --- tests/Unit/Math/BigInteger/TestCase.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/Unit/Math/BigInteger/TestCase.php b/tests/Unit/Math/BigInteger/TestCase.php index e417b059..0b236d2e 100644 --- a/tests/Unit/Math/BigInteger/TestCase.php +++ b/tests/Unit/Math/BigInteger/TestCase.php @@ -9,10 +9,7 @@ abstract class Unit_Math_BigInteger_TestCase extends PhpseclibTestCase { public static function setUpBeforeClass() { - include_once 'Math/BigInteger.php'; - parent::setUpBeforeClass(); - self::reRequireFile('Math/BigInteger.php'); } From af939f9aa53a172e31540a9eafcbc0a4694a420b Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Tue, 18 Aug 2015 00:00:47 -0400 Subject: [PATCH 28/30] Make paths to runkit_import() absolute due to lack of include path. --- tests/PhpseclibTestCase.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/PhpseclibTestCase.php b/tests/PhpseclibTestCase.php index 4dc28b9a..8f594e04 100644 --- a/tests/PhpseclibTestCase.php +++ b/tests/PhpseclibTestCase.php @@ -82,7 +82,7 @@ abstract class PhpseclibTestCase extends PHPUnit_Framework_TestCase } /** - * @param string $filename + * @param string $filename Filename relative to library directory. * * @return null */ @@ -90,7 +90,7 @@ abstract class PhpseclibTestCase extends PHPUnit_Framework_TestCase { if (function_exists('runkit_import')) { $result = runkit_import( - $filename, + sprintf('%s/../phpseclib/%s', __DIR__, $filename), RUNKIT_IMPORT_FUNCTIONS | RUNKIT_IMPORT_CLASS_METHODS | RUNKIT_IMPORT_OVERRIDE From de896a7169a564797ad3f12dd18297127b76664d Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Tue, 18 Aug 2015 00:36:36 -0400 Subject: [PATCH 29/30] .travis.yml: Remove outdated comment about .scrutinizer.yml --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3fb1d730..3469c380 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,5 @@ language: php -# When adding environments here, the number of runs specified in .scrutinizer.yml -# may have to be adjusted. php: - 5.3.3 - 5.3 From 2813e2cd3b829b3fd3e89bb66762f7b38e234ce6 Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Tue, 21 Jul 2015 13:08:08 +0200 Subject: [PATCH 30/30] Add PHP7 to Travis CI. --- .travis.yml | 8 +++++++- travis/run-phpunit.sh | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3fb1d730..329f6d93 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,7 @@ php: - 5.4 - 5.5 - 5.6 + - 7.0 - hhvm env: @@ -22,7 +23,7 @@ install: - sudo apt-get install parallel - eval `ssh-agent -s` - travis/setup-secure-shell.sh - - sh -c "if [ '$TRAVIS_PHP_VERSION' != 'hhvm' ]; then travis/install-php-extensions.sh; fi" + - sh -c "if [ '$TRAVIS_PHP_VERSION' != 'hhvm' -a '$TRAVIS_PHP_VERSION' != '7.0' ]; then travis/install-php-extensions.sh; fi" - travis/setup-composer.sh script: @@ -31,3 +32,8 @@ script: after_success: - sh -c "if $TRAVIS_SECURE_ENV_VARS; then travis/upload-code-coverage-html.sh; fi" + +matrix: + allow_failures: + - php: 7.0 + fast_finish: true diff --git a/travis/run-phpunit.sh b/travis/run-phpunit.sh index 600a1d94..5ee69d66 100755 --- a/travis/run-phpunit.sh +++ b/travis/run-phpunit.sh @@ -20,7 +20,7 @@ then PHPUNIT_ARGS="$PHPUNIT_ARGS -d zend.enable_gc=0" fi -if [ "$TRAVIS_PHP_VERSION" = 'hhvm' ] +if [ "$TRAVIS_PHP_VERSION" = 'hhvm' -o "$TRAVIS_PHP_VERSION" = '7.0' ] then find tests -type f -name "*Test.php" | \ parallel --gnu --keep-order \