From 2d54ea112aab5568c149bb81f428dce70010a151 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Mon, 7 Dec 2020 15:09:02 -0800 Subject: [PATCH 01/42] fix typo in CHANGELOG --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ef36decce..c85c2c81c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ - Fix cleanup code on docker volumes for go - #1725 PR by @fsouza. - Fix working directory detection on SUBST drives on windows - - #1727 PR by mrogaski. + - #1727 PR by @mrogaski. - #1610 issue by @jcameron73. 2.9.2 - 2020-11-25 From 38a4a0aa3b8769976323162b435bfe8304c225f4 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Sun, 31 May 2020 11:30:41 -0700 Subject: [PATCH 02/42] allow configuration for pre-commit.ci --- pre_commit/clientlib.py | 4 ++++ tests/clientlib_test.py | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/pre_commit/clientlib.py b/pre_commit/clientlib.py index 20d44925a..916c5ff23 100644 --- a/pre_commit/clientlib.py +++ b/pre_commit/clientlib.py @@ -297,9 +297,13 @@ def warn_unknown_keys_repo( 'exclude', 'fail_fast', 'minimum_pre_commit_version', + 'ci', ), warn_unknown_keys_root, ), + + # do not warn about configuration for pre-commit.ci + cfgv.OptionalNoDefault('ci', cfgv.check_type(dict)), ) diff --git a/tests/clientlib_test.py b/tests/clientlib_test.py index bfb754b66..ba602362f 100644 --- a/tests/clientlib_test.py +++ b/tests/clientlib_test.py @@ -166,6 +166,20 @@ def test_validate_warn_on_unknown_keys_at_top_level(tmpdir, caplog): ] +def test_ci_map_key_allowed_at_top_level(caplog): + cfg = { + 'ci': {'skip': ['foo']}, + 'repos': [{'repo': 'meta', 'hooks': [{'id': 'identity'}]}], + } + cfgv.validate(cfg, CONFIG_SCHEMA) + assert not caplog.record_tuples + + +def test_ci_key_must_be_map(): + with pytest.raises(cfgv.ValidationError): + cfgv.validate({'ci': 'invalid', 'repos': []}, CONFIG_SCHEMA) + + def test_validate_optional_sensible_regex(caplog): config_obj = { 'id': 'flake8', From 1e4de986a8804aa620a001f4e04c9d4755e9d6b2 Mon Sep 17 00:00:00 2001 From: Paul Fischer Date: Tue, 8 Dec 2020 00:00:31 +0100 Subject: [PATCH 03/42] added warning if mutable rev is used --- pre_commit/clientlib.py | 28 ++++++++++++++++++ tests/clientlib_test.py | 64 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) diff --git a/pre_commit/clientlib.py b/pre_commit/clientlib.py index 916c5ff23..5dfaf7a3f 100644 --- a/pre_commit/clientlib.py +++ b/pre_commit/clientlib.py @@ -1,6 +1,7 @@ import argparse import functools import logging +import re import shlex import sys from typing import Any @@ -112,6 +113,25 @@ def validate_manifest_main(argv: Optional[Sequence[str]] = None) -> int: META = 'meta' +# should inherit from cfgv.Conditional if sha support is dropped +class WarnMutableRev(cfgv.ConditionalOptional): + def check(self, dct: Dict[str, Any]) -> None: + super().check(dct) + + if self.key in dct: + rev = dct[self.key] + + if '.' not in rev and not re.match(r'^[a-fA-F0-9]+$', rev): + logger.warning( + f'The {self.key!r} field of repo {dct["repo"]!r} ' + f'appears to be a mutable reference ' + f'(moving tag / branch). Mutable references are never ' + f'updated after first install and are not supported. ' + f'See https://pre-commit.com/#using-the-latest-version-for-a-repository ' # noqa: E501 + f'for more details.', + ) + + class OptionalSensibleRegex(cfgv.OptionalNoDefault): def check(self, dct: Dict[str, Any]) -> None: super().check(dct) @@ -261,6 +281,14 @@ def warn_unknown_keys_repo( ), MigrateShaToRev(), + WarnMutableRev( + 'rev', + cfgv.check_string, + '', + 'repo', + cfgv.NotIn(LOCAL, META), + True, + ), cfgv.WarnAdditionalKeys(('repo', 'rev', 'hooks'), warn_unknown_keys_repo), ) DEFAULT_LANGUAGE_VERSION = cfgv.Map( diff --git a/tests/clientlib_test.py b/tests/clientlib_test.py index ba602362f..d08ecdf05 100644 --- a/tests/clientlib_test.py +++ b/tests/clientlib_test.py @@ -180,6 +180,70 @@ def test_ci_key_must_be_map(): cfgv.validate({'ci': 'invalid', 'repos': []}, CONFIG_SCHEMA) +@pytest.mark.parametrize( + 'rev', + ( + 'v0.12.4', + 'b27f281', + 'b27f281eb9398fc8504415d7fbdabf119ea8c5e1', + '19.10b0', + '4.3.21-2', + ), +) +def test_warn_mutable_rev_ok(caplog, rev): + config_obj = { + 'repo': 'https://gitlab.com/pycqa/flake8', + 'rev': rev, + 'hooks': [{'id': 'flake8'}], + } + cfgv.validate(config_obj, CONFIG_REPO_DICT) + + assert caplog.record_tuples == [] + + +@pytest.mark.parametrize( + 'rev', + ( + '', + 'HEAD', + 'stable', + 'master', + 'some_branch_name', + ), +) +def test_warn_mutable_rev_invalid(caplog, rev): + config_obj = { + 'repo': 'https://gitlab.com/pycqa/flake8', + 'rev': rev, + 'hooks': [{'id': 'flake8'}], + } + cfgv.validate(config_obj, CONFIG_REPO_DICT) + + assert caplog.record_tuples == [ + ( + 'pre_commit', + logging.WARNING, + "The 'rev' field of repo 'https://gitlab.com/pycqa/flake8' " + 'appears to be a mutable reference (moving tag / branch). ' + 'Mutable references are never updated after first install and are ' + 'not supported. ' + 'See https://pre-commit.com/#using-the-latest-version-for-a-repository ' # noqa: E501 + 'for more details.', + ), + ] + + +def test_warn_mutable_rev_conditional(): + config_obj = { + 'repo': 'meta', + 'rev': '3.7.7', + 'hooks': [{'id': 'flake8'}], + } + + with pytest.raises(cfgv.ValidationError): + cfgv.validate(config_obj, CONFIG_REPO_DICT) + + def test_validate_optional_sensible_regex(caplog): config_obj = { 'id': 'flake8', From 75aa6a0840c46f43dbd2c6176103dc7d25977457 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 21 Dec 2020 16:43:31 +0000 Subject: [PATCH 04/42] [pre-commit.ci] pre-commit autoupdate --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d42bb1b11..0a3855243 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v3.3.0 + rev: v3.4.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer @@ -40,7 +40,7 @@ repos: - id: add-trailing-comma args: [--py36-plus] - repo: https://github.com/asottile/setup-cfg-fmt - rev: v1.15.1 + rev: v1.16.0 hooks: - id: setup-cfg-fmt - repo: https://github.com/pre-commit/mirrors-mypy From b1a9209f9f9a4b4b8d6bdf5d2c0660d70c6b3312 Mon Sep 17 00:00:00 2001 From: Paul Fischer Date: Fri, 1 Jan 2021 23:57:24 +0100 Subject: [PATCH 05/42] extended warning if globs are used instead of regex to top level --- pre_commit/clientlib.py | 19 ++++++++++++++++--- tests/clientlib_test.py | 19 ++++++++++++++++++- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/pre_commit/clientlib.py b/pre_commit/clientlib.py index 5dfaf7a3f..8f35057d2 100644 --- a/pre_commit/clientlib.py +++ b/pre_commit/clientlib.py @@ -132,7 +132,7 @@ def check(self, dct: Dict[str, Any]) -> None: ) -class OptionalSensibleRegex(cfgv.OptionalNoDefault): +class OptionalSensibleRegexAtHook(cfgv.OptionalNoDefault): def check(self, dct: Dict[str, Any]) -> None: super().check(dct) @@ -144,6 +144,17 @@ def check(self, dct: Dict[str, Any]) -> None: ) +class OptionalSensibleRegexAtTop(cfgv.OptionalNoDefault): + def check(self, dct: Dict[str, Any]) -> None: + super().check(dct) + + if '/*' in dct.get(self.key, ''): + logger.warning( + f'The top-level {self.key!r} field is a regex, not a glob -- ' + f"matching '/*' probably isn't what you want here", + ) + + class MigrateShaToRev: key = 'rev' @@ -259,8 +270,8 @@ def warn_unknown_keys_repo( for item in MANIFEST_HOOK_DICT.items if item.key != 'id' ), - OptionalSensibleRegex('files', cfgv.check_string), - OptionalSensibleRegex('exclude', cfgv.check_string), + OptionalSensibleRegexAtHook('files', cfgv.check_string), + OptionalSensibleRegexAtHook('exclude', cfgv.check_string), ) CONFIG_REPO_DICT = cfgv.Map( 'Repository', 'repo', @@ -329,6 +340,8 @@ def warn_unknown_keys_repo( ), warn_unknown_keys_root, ), + OptionalSensibleRegexAtTop('files', cfgv.check_string), + OptionalSensibleRegexAtTop('exclude', cfgv.check_string), # do not warn about configuration for pre-commit.ci cfgv.OptionalNoDefault('ci', cfgv.check_type(dict)), diff --git a/tests/clientlib_test.py b/tests/clientlib_test.py index d08ecdf05..6bdb0d624 100644 --- a/tests/clientlib_test.py +++ b/tests/clientlib_test.py @@ -244,7 +244,7 @@ def test_warn_mutable_rev_conditional(): cfgv.validate(config_obj, CONFIG_REPO_DICT) -def test_validate_optional_sensible_regex(caplog): +def test_validate_optional_sensible_regex_at_hook_level(caplog): config_obj = { 'id': 'flake8', 'files': 'dir/*.py', @@ -261,6 +261,23 @@ def test_validate_optional_sensible_regex(caplog): ] +def test_validate_optional_sensible_regex_at_top_level(caplog): + config_obj = { + 'files': 'dir/*.py', + 'repos': [], + } + cfgv.validate(config_obj, CONFIG_SCHEMA) + + assert caplog.record_tuples == [ + ( + 'pre_commit', + logging.WARNING, + "The top-level 'files' field is a regex, not a glob -- matching " + "'/*' probably isn't what you want here", + ), + ] + + @pytest.mark.parametrize('fn', (validate_config_main, validate_manifest_main)) def test_mains_not_ok(tmpdir, fn): not_yaml = tmpdir.join('f.notyaml') From 42cc56c0f65e48398aef4a277e71a399bd52b79d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 4 Jan 2021 16:43:53 +0000 Subject: [PATCH 06/42] [pre-commit.ci] pre-commit autoupdate --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0a3855243..649aca24b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -35,7 +35,7 @@ repos: - id: reorder-python-imports args: [--py3-plus] - repo: https://github.com/asottile/add-trailing-comma - rev: v2.0.1 + rev: v2.0.2 hooks: - id: add-trailing-comma args: [--py36-plus] From d57207510dedd6303b32ba70374dc01d4880cc77 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Fri, 22 Jan 2021 12:26:22 -0800 Subject: [PATCH 07/42] fix reference to github.com/golang/example --- tests/repository_test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/repository_test.py b/tests/repository_test.py index d513cb71f..860c6dc28 100644 --- a/tests/repository_test.py +++ b/tests/repository_test.py @@ -569,7 +569,7 @@ def test_additional_golang_dependencies_installed( path = make_repo(tempdir_factory, 'golang_hooks_repo') config = make_config_from_repo(path) # A small go package - deps = ['github.com/golang/example/hello'] + deps = ['golang.org/x/example/hello'] config['hooks'][0]['additional_dependencies'] = deps hook = _get_hook(config, store, 'golang-hook') binaries = os.listdir( @@ -590,7 +590,7 @@ def test_local_golang_additional_dependencies(store): 'name': 'hello', 'entry': 'hello', 'language': 'golang', - 'additional_dependencies': ['github.com/golang/example/hello'], + 'additional_dependencies': ['golang.org/x/example/hello'], }], } hook = _get_hook(config, store, 'hello') From cb5ed6276d334fa001443c49f189bb35c5246ac5 Mon Sep 17 00:00:00 2001 From: surafelabebe Date: Mon, 21 Dec 2020 15:16:11 -0800 Subject: [PATCH 08/42] Expose remote branch ref as an environment variable --- pre_commit/commands/hook_impl.py | 7 ++++++- pre_commit/commands/run.py | 3 ++- pre_commit/main.py | 3 +++ testing/util.py | 2 ++ tests/commands/run_test.py | 1 + 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/pre_commit/commands/hook_impl.py b/pre_commit/commands/hook_impl.py index d0e226f8c..25c5fdffd 100644 --- a/pre_commit/commands/hook_impl.py +++ b/pre_commit/commands/hook_impl.py @@ -69,6 +69,7 @@ def _ns( color: bool, *, all_files: bool = False, + remote_branch: Optional[str] = None, from_ref: Optional[str] = None, to_ref: Optional[str] = None, remote_name: Optional[str] = None, @@ -79,6 +80,7 @@ def _ns( return argparse.Namespace( color=color, hook_stage=hook_type.replace('pre-', ''), + remote_branch=remote_branch, from_ref=from_ref, to_ref=to_ref, remote_name=remote_name, @@ -106,13 +108,14 @@ def _pre_push_ns( remote_url = args[1] for line in stdin.decode().splitlines(): - _, local_sha, _, remote_sha = line.split() + _, local_sha, remote_branch, remote_sha = line.split() if local_sha == Z40: continue elif remote_sha != Z40 and _rev_exists(remote_sha): return _ns( 'pre-push', color, from_ref=remote_sha, to_ref=local_sha, + remote_branch=remote_branch, remote_name=remote_name, remote_url=remote_url, ) else: @@ -133,6 +136,7 @@ def _pre_push_ns( 'pre-push', color, all_files=True, remote_name=remote_name, remote_url=remote_url, + remote_branch=remote_branch, ) else: rev_cmd = ('git', 'rev-parse', f'{first_ancestor}^') @@ -141,6 +145,7 @@ def _pre_push_ns( 'pre-push', color, from_ref=source, to_ref=local_sha, remote_name=remote_name, remote_url=remote_url, + remote_branch=remote_branch, ) # nothing to push diff --git a/pre_commit/commands/run.py b/pre_commit/commands/run.py index 1e8fad23b..891488d59 100644 --- a/pre_commit/commands/run.py +++ b/pre_commit/commands/run.py @@ -371,7 +371,8 @@ def run( environ['PRE_COMMIT_FROM_REF'] = args.from_ref environ['PRE_COMMIT_TO_REF'] = args.to_ref - if args.remote_name and args.remote_url: + if args.remote_name and args.remote_url and args.remote_branch: + environ['PRE_COMMIT_REMOTE_BRANCH'] = args.remote_branch environ['PRE_COMMIT_REMOTE_NAME'] = args.remote_name environ['PRE_COMMIT_REMOTE_URL'] = args.remote_url diff --git a/pre_commit/main.py b/pre_commit/main.py index c1eb104ac..ce850c45c 100644 --- a/pre_commit/main.py +++ b/pre_commit/main.py @@ -96,6 +96,9 @@ def _add_run_options(parser: argparse.ArgumentParser) -> None: '--hook-stage', choices=C.STAGES, default='commit', help='The stage during which the hook is fired. One of %(choices)s', ) + parser.add_argument( + '--remote-branch', help='Remote branch ref used by `git push`.', + ) parser.add_argument( '--from-ref', '--source', '-s', help=( diff --git a/testing/util.py b/testing/util.py index 18cd73427..1f8cb35d2 100644 --- a/testing/util.py +++ b/testing/util.py @@ -61,6 +61,7 @@ def run_opts( color=False, verbose=False, hook=None, + remote_branch='', from_ref='', to_ref='', remote_name='', @@ -78,6 +79,7 @@ def run_opts( color=color, verbose=verbose, hook=hook, + remote_branch=remote_branch, from_ref=from_ref, to_ref=to_ref, remote_name=remote_name, diff --git a/tests/commands/run_test.py b/tests/commands/run_test.py index 914d567a9..eaea8137c 100644 --- a/tests/commands/run_test.py +++ b/tests/commands/run_test.py @@ -486,6 +486,7 @@ def test_from_ref_to_ref_error_msg_error( def test_all_push_options_ok(cap_out, store, repo_with_passing_hook): args = run_opts( from_ref='master', to_ref='master', + remote_branch='master', remote_name='origin', remote_url='https://example.com/repo', ) ret, printed = _do_run(cap_out, store, repo_with_passing_hook, args) From 4f39946ea39007d357aa050126e8f877869ff719 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Fri, 22 Jan 2021 13:54:00 -0800 Subject: [PATCH 09/42] produce a more useful error message when non-installable things use language_version or additional_dependencies --- pre_commit/repository.py | 18 ++++++++++++++++ tests/repository_test.py | 46 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/pre_commit/repository.py b/pre_commit/repository.py index 46e96c1dc..15827dde4 100644 --- a/pre_commit/repository.py +++ b/pre_commit/repository.py @@ -118,6 +118,24 @@ def _hook( if not ret['stages']: ret['stages'] = root_config['default_stages'] + if languages[lang].ENVIRONMENT_DIR is None: + if ret['language_version'] != C.DEFAULT: + logger.error( + f'The hook `{ret["id"]}` specifies `language_version` but is ' + f'using language `{lang}` which does not install an ' + f'environment. ' + f'Perhaps you meant to use a specific language?', + ) + exit(1) + if ret['additional_dependencies']: + logger.error( + f'The hook `{ret["id"]}` specifies `additional_dependencies` ' + f'but is using language `{lang}` which does not install an ' + f'environment. ' + f'Perhaps you meant to use a specific language?', + ) + exit(1) + return ret diff --git a/tests/repository_test.py b/tests/repository_test.py index 860c6dc28..516f52e1d 100644 --- a/tests/repository_test.py +++ b/tests/repository_test.py @@ -942,3 +942,49 @@ def test_dotnet_hook(tempdir_factory, store, repo): tempdir_factory, store, repo, 'dotnet example hook', [], b'Hello from dotnet!\n', ) + + +def test_non_installable_hook_error_for_language_version(store, caplog): + config = { + 'repo': 'local', + 'hooks': [{ + 'id': 'system-hook', + 'name': 'system-hook', + 'language': 'system', + 'entry': 'python3 -c "import sys; print(sys.version)"', + 'language_version': 'python3.10', + }], + } + with pytest.raises(SystemExit) as excinfo: + _get_hook(config, store, 'system-hook') + assert excinfo.value.code == 1 + + msg, = caplog.messages + assert msg == ( + 'The hook `system-hook` specifies `language_version` but is using ' + 'language `system` which does not install an environment. ' + 'Perhaps you meant to use a specific language?' + ) + + +def test_non_installable_hook_error_for_additional_dependencies(store, caplog): + config = { + 'repo': 'local', + 'hooks': [{ + 'id': 'system-hook', + 'name': 'system-hook', + 'language': 'system', + 'entry': 'python3 -c "import sys; print(sys.version)"', + 'additional_dependencies': ['astpretty'], + }], + } + with pytest.raises(SystemExit) as excinfo: + _get_hook(config, store, 'system-hook') + assert excinfo.value.code == 1 + + msg, = caplog.messages + assert msg == ( + 'The hook `system-hook` specifies `additional_dependencies` but is ' + 'using language `system` which does not install an environment. ' + 'Perhaps you meant to use a specific language?' + ) From c7cbb1e6ad9fbb43d3124b20806322df9f3f59ff Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Fri, 22 Jan 2021 14:02:45 -0800 Subject: [PATCH 10/42] replace fake_log_handler with caplog --- tests/conftest.py | 9 --------- tests/repository_test.py | 15 ++++++++------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 335d2614f..b36ce5ac5 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -261,15 +261,6 @@ def cap_out(): yield Fixture(stream) -@pytest.fixture -def fake_log_handler(): - handler = mock.Mock(level=logging.INFO) - logger = logging.getLogger('pre_commit') - logger.addHandler(handler) - yield handler - logger.removeHandler(handler) - - @pytest.fixture(scope='session', autouse=True) def set_git_templatedir(tmpdir_factory): tdir = str(tmpdir_factory.mktemp('git_template_dir')) diff --git a/tests/repository_test.py b/tests/repository_test.py index 860c6dc28..660bc6463 100644 --- a/tests/repository_test.py +++ b/tests/repository_test.py @@ -640,7 +640,7 @@ def test_fail_hooks(store): ) -def test_unknown_keys(store, fake_log_handler): +def test_unknown_keys(store, caplog): config = { 'repo': 'local', 'hooks': [{ @@ -653,8 +653,8 @@ def test_unknown_keys(store, fake_log_handler): }], } _get_hook(config, store, 'too-much') - expected = 'Unexpected key(s) present on local => too-much: foo, hello' - assert fake_log_handler.handle.call_args[0][0].msg == expected + msg, = caplog.messages + assert msg == 'Unexpected key(s) present on local => too-much: foo, hello' def test_reinstall(tempdir_factory, store, log_info_mock): @@ -832,27 +832,28 @@ def test_default_stages(store, local_python_config): assert hook.stages == ['push'] -def test_hook_id_not_present(tempdir_factory, store, fake_log_handler): +def test_hook_id_not_present(tempdir_factory, store, caplog): path = make_repo(tempdir_factory, 'script_hooks_repo') config = make_config_from_repo(path) config['hooks'][0]['id'] = 'i-dont-exist' with pytest.raises(SystemExit): _get_hook(config, store, 'i-dont-exist') - assert fake_log_handler.handle.call_args[0][0].msg == ( + _, msg = caplog.messages + assert msg == ( f'`i-dont-exist` is not present in repository file://{path}. ' f'Typo? Perhaps it is introduced in a newer version? ' f'Often `pre-commit autoupdate` fixes this.' ) -def test_too_new_version(tempdir_factory, store, fake_log_handler): +def test_too_new_version(tempdir_factory, store, caplog): path = make_repo(tempdir_factory, 'script_hooks_repo') with modify_manifest(path) as manifest: manifest[0]['minimum_pre_commit_version'] = '999.0.0' config = make_config_from_repo(path) with pytest.raises(SystemExit): _get_hook(config, store, 'bash_hook') - msg = fake_log_handler.handle.call_args[0][0].msg + _, msg = caplog.messages pattern = re_assert.Matches( r'^The hook `bash_hook` requires pre-commit version 999\.0\.0 but ' r'version \d+\.\d+\.\d+ is installed. ' From 74183d91cbd24cac5dfd27dc0f737d40d665e0a8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 25 Jan 2021 16:40:14 +0000 Subject: [PATCH 11/42] [pre-commit.ci] pre-commit autoupdate --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 649aca24b..cd5bd2637 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -35,7 +35,7 @@ repos: - id: reorder-python-imports args: [--py3-plus] - repo: https://github.com/asottile/add-trailing-comma - rev: v2.0.2 + rev: v2.1.0 hooks: - id: add-trailing-comma args: [--py36-plus] @@ -44,7 +44,7 @@ repos: hooks: - id: setup-cfg-fmt - repo: https://github.com/pre-commit/mirrors-mypy - rev: v0.790 + rev: v0.800 hooks: - id: mypy exclude: ^testing/resources/ From d258650ad4a6b0c9845c82e8c74170df337ade41 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Mon, 25 Jan 2021 12:47:07 -0800 Subject: [PATCH 12/42] use comparison with sys.platform so mypy understands it --- pre_commit/file_lock.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pre_commit/file_lock.py b/pre_commit/file_lock.py index 5e7a05862..55a8eb29c 100644 --- a/pre_commit/file_lock.py +++ b/pre_commit/file_lock.py @@ -1,11 +1,11 @@ import contextlib import errno -import os +import sys from typing import Callable from typing import Generator -if os.name == 'nt': # pragma: no cover (windows) +if sys.platform == 'win32': # pragma: no cover (windows) import msvcrt # https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/locking From f75fc6b2a85a61e50a0270d24a3589a083f1c06c Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Wed, 27 Jan 2021 10:08:48 -0800 Subject: [PATCH 13/42] fix execution in worktrees in subdirectories of bare repositories --- pre_commit/git.py | 2 +- tests/git_test.py | 20 ++++++++++++++++++++ tests/main_test.py | 5 ----- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/pre_commit/git.py b/pre_commit/git.py index 50962745b..bec816c94 100644 --- a/pre_commit/git.py +++ b/pre_commit/git.py @@ -61,7 +61,7 @@ def get_root() -> str: 'git failed. Is it installed, and are you in a Git repository ' 'directory?', ) - if os.path.commonpath((root, git_dir)) == git_dir: + if os.path.samefile(root, git_dir): raise FatalError( 'git toplevel unexpectedly empty! make sure you are not ' 'inside the `.git` directory of your repository.', diff --git a/tests/git_test.py b/tests/git_test.py index fafd4a6e3..69fd2067a 100644 --- a/tests/git_test.py +++ b/tests/git_test.py @@ -3,6 +3,7 @@ import pytest from pre_commit import git +from pre_commit.error_handler import FatalError from pre_commit.util import cmd_output from testing.util import git_commit @@ -18,6 +19,25 @@ def test_get_root_deeper(in_git_dir): assert os.path.normcase(git.get_root()) == expected +def test_in_exactly_dot_git(in_git_dir): + with in_git_dir.join('.git').as_cwd(), pytest.raises(FatalError): + git.get_root() + + +def test_get_root_bare_worktree(tmpdir): + src = tmpdir.join('src').ensure_dir() + cmd_output('git', 'init', str(src)) + git_commit(cwd=str(src)) + + bare = tmpdir.join('bare.git').ensure_dir() + cmd_output('git', 'clone', '--bare', str(src), str(bare)) + + cmd_output('git', 'worktree', 'add', 'foo', 'HEAD', cwd=bare) + + with bare.join('foo').as_cwd(): + assert git.get_root() == os.path.abspath('.') + + def test_get_staged_files_deleted(in_git_dir): in_git_dir.join('test').ensure() cmd_output('git', 'add', 'test') diff --git a/tests/main_test.py b/tests/main_test.py index 6738df683..2460bd85a 100644 --- a/tests/main_test.py +++ b/tests/main_test.py @@ -35,11 +35,6 @@ def test_adjust_args_and_chdir_not_in_git_dir(in_tmpdir): main._adjust_args_and_chdir(_args()) -def test_adjust_args_and_chdir_in_dot_git_dir(in_git_dir): - with in_git_dir.join('.git').as_cwd(), pytest.raises(FatalError): - main._adjust_args_and_chdir(_args()) - - def test_adjust_args_and_chdir_noop(in_git_dir): args = _args(command='run', files=['f1', 'f2']) main._adjust_args_and_chdir(args) From c67ba85311be53f4f0f830be22bc153524e07d03 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Wed, 27 Jan 2021 12:47:08 -0800 Subject: [PATCH 14/42] v2.10.0 --- .pre-commit-config.yaml | 2 +- CHANGELOG.md | 24 ++++++++++++++++++++++++ setup.cfg | 2 +- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cd5bd2637..321e83962 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,7 +21,7 @@ repos: hooks: - id: autopep8 - repo: https://github.com/pre-commit/pre-commit - rev: v2.9.3 + rev: v2.10.0 hooks: - id: validate_manifest - repo: https://github.com/asottile/pyupgrade diff --git a/CHANGELOG.md b/CHANGELOG.md index c85c2c81c..1ba7ffadd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,27 @@ +2.10.0 - 2021-01-27 +=================== + +### Features +- Allow `ci` as a top-level map for configuration for https://pre-commit.ci + - #1735 PR by @asottile. +- Add warning for mutable `rev` in configuration + - #1715 PR by @paulhfischer. + - #974 issue by @asottile. +- Add warning for `/*` in top-level `files` / `exclude` regexes + - #1750 PR by @paulhfischer. + - #1702 issue by @asottile. +- Expose `PRE_COMMIT_REMOTE_BRANCH` environment variable during `pre-push` + hooks + - #1770 PR by @surafelabebe. +- Produce error message for `language` / `language_version` for non-installable + languages + - #1771 PR by @asottile. + +### Fixes +- Fix execution in worktrees in subdirectories of bare repositories + - #1778 PR by @asottile. + - #1777 issue by @s0undt3ch. + 2.9.3 - 2020-12-07 ================== diff --git a/setup.cfg b/setup.cfg index 2e77fcf4e..913344bed 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = pre_commit -version = 2.9.3 +version = 2.10.0 description = A framework for managing and maintaining multi-language pre-commit hooks. long_description = file: README.md long_description_content_type = text/markdown From 5e7c6eb31e1572a39661cd8cfe0f2866182ef75a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 1 Feb 2021 16:48:53 +0000 Subject: [PATCH 15/42] [pre-commit.ci] pre-commit autoupdate --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 321e83962..66c04837e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -25,7 +25,7 @@ repos: hooks: - id: validate_manifest - repo: https://github.com/asottile/pyupgrade - rev: v2.7.4 + rev: v2.9.0 hooks: - id: pyupgrade args: [--py36-plus] From 34e0ff349723310e954ddc25a528237cc769c66b Mon Sep 17 00:00:00 2001 From: Paul Fischer Date: Sat, 6 Feb 2021 19:03:57 +0100 Subject: [PATCH 16/42] added recursive repository support for golang --- pre_commit/languages/golang.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pre_commit/languages/golang.py b/pre_commit/languages/golang.py index 91ade1e99..d6165d95e 100644 --- a/pre_commit/languages/golang.py +++ b/pre_commit/languages/golang.py @@ -69,7 +69,8 @@ def install_environment( repo_src_dir = os.path.join(directory, 'src', guess_go_dir(remote)) # Clone into the goenv we'll create - helpers.run_setup_cmd(prefix, ('git', 'clone', '.', repo_src_dir)) + cmd = ('git', 'clone', '--recursive', '.', repo_src_dir) + helpers.run_setup_cmd(prefix, cmd) if sys.platform == 'cygwin': # pragma: no cover _, gopath, _ = cmd_output('cygpath', '-w', directory) From 833bbf7186bbcb3940e08904c24f206b6c77918f Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Sat, 6 Feb 2021 12:50:30 -0800 Subject: [PATCH 17/42] add test for recursive submodules for golang --- tests/repository_test.py | 54 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/tests/repository_test.py b/tests/repository_test.py index 8540db3ce..1b58164cb 100644 --- a/tests/repository_test.py +++ b/tests/repository_test.py @@ -10,6 +10,7 @@ import re_assert import pre_commit.constants as C +from pre_commit import git from pre_commit.clientlib import CONFIG_SCHEMA from pre_commit.clientlib import load_manifest from pre_commit.envcontext import envcontext @@ -346,6 +347,59 @@ def test_golang_hook_still_works_when_gobin_is_set(tempdir_factory, store): assert os.listdir(gobin_dir) == [] +def test_golang_with_recursive_submodule(tmpdir, tempdir_factory, store): + sub_go = '''\ +package sub + +import "fmt" + +func Func() { + fmt.Println("hello hello world") +} +''' + sub = tmpdir.join('sub').ensure_dir() + sub.join('sub.go').write(sub_go) + cmd_output('git', '-C', str(sub), 'init', '.') + cmd_output('git', '-C', str(sub), 'add', '.') + git.commit(str(sub)) + + pre_commit_hooks = '''\ +- id: example + name: example + entry: example + language: golang + verbose: true +''' + go_mod = '''\ +module github.com/asottile/example + +go 1.14 +''' + main_go = '''\ +package main + +import "github.com/asottile/example/sub" + +func main() { + sub.Func() +} +''' + repo = tmpdir.join('repo').ensure_dir() + repo.join('.pre-commit-hooks.yaml').write(pre_commit_hooks) + repo.join('go.mod').write(go_mod) + repo.join('main.go').write(main_go) + cmd_output('git', '-C', str(repo), 'init', '.') + cmd_output('git', '-C', str(repo), 'add', '.') + cmd_output('git', '-C', str(repo), 'submodule', 'add', str(sub), 'sub') + git.commit(str(repo)) + + config = make_config_from_repo(str(repo)) + hook = _get_hook(config, store, 'example') + ret, out = _hook_run(hook, (), color=False) + assert ret == 0 + assert _norm_out(out) == b'hello hello world\n' + + def test_rust_hook(tempdir_factory, store): _test_hook_repo( tempdir_factory, store, 'rust_hooks_repo', From 0047fa35dd463aabe85fbd55bbd97ee03479f34c Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Sat, 6 Feb 2021 13:21:12 -0800 Subject: [PATCH 18/42] v2.10.1 --- .pre-commit-config.yaml | 2 +- CHANGELOG.md | 8 ++++++++ setup.cfg | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 66c04837e..6cc66ebc3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,7 +21,7 @@ repos: hooks: - id: autopep8 - repo: https://github.com/pre-commit/pre-commit - rev: v2.10.0 + rev: v2.10.1 hooks: - id: validate_manifest - repo: https://github.com/asottile/pyupgrade diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ba7ffadd..c8af449d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +2.10.1 - 2021-02-06 +=================== + +### Fixes +- Fix `language: golang` repositories containing recursive submodules + - #1788 issue by @gaurav517. + - #1789 PR by @paulhfischer. + 2.10.0 - 2021-01-27 =================== diff --git a/setup.cfg b/setup.cfg index 913344bed..7e4a1c4a4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = pre_commit -version = 2.10.0 +version = 2.10.1 description = A framework for managing and maintaining multi-language pre-commit hooks. long_description = file: README.md long_description_content_type = text/markdown From 0cd8cbc83daa82dab68df2d821e650e0499af14e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 8 Feb 2021 16:48:57 +0000 Subject: [PATCH 19/42] [pre-commit.ci] pre-commit autoupdate --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6cc66ebc3..95a8210c6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -25,12 +25,12 @@ repos: hooks: - id: validate_manifest - repo: https://github.com/asottile/pyupgrade - rev: v2.9.0 + rev: v2.10.0 hooks: - id: pyupgrade args: [--py36-plus] - repo: https://github.com/asottile/reorder_python_imports - rev: v2.3.6 + rev: v2.4.0 hooks: - id: reorder-python-imports args: [--py3-plus] From c024147ede0f114bd4b1149a91d5c77793b8419a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 22 Feb 2021 17:03:19 +0000 Subject: [PATCH 20/42] [pre-commit.ci] pre-commit autoupdate --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 95a8210c6..75d706663 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -44,7 +44,7 @@ repos: hooks: - id: setup-cfg-fmt - repo: https://github.com/pre-commit/mirrors-mypy - rev: v0.800 + rev: v0.812 hooks: - id: mypy exclude: ^testing/resources/ From 3d31858ee3c92a58f02438c969c76630641981b1 Mon Sep 17 00:00:00 2001 From: "Jam M. Hernandez Quiceno" Date: Sat, 20 Feb 2021 17:40:38 -0500 Subject: [PATCH 21/42] Instruct users how to prevent a mutable rev in repo warning. --- pre_commit/clientlib.py | 3 ++- tests/clientlib_test.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pre_commit/clientlib.py b/pre_commit/clientlib.py index 8f35057d2..962c7fa8f 100644 --- a/pre_commit/clientlib.py +++ b/pre_commit/clientlib.py @@ -128,7 +128,8 @@ def check(self, dct: Dict[str, Any]) -> None: f'(moving tag / branch). Mutable references are never ' f'updated after first install and are not supported. ' f'See https://pre-commit.com/#using-the-latest-version-for-a-repository ' # noqa: E501 - f'for more details.', + f'for more details. ' + f'Hint: `pre-commit autoupdate` often fixes this.', ) diff --git a/tests/clientlib_test.py b/tests/clientlib_test.py index 6bdb0d624..ff3cce38d 100644 --- a/tests/clientlib_test.py +++ b/tests/clientlib_test.py @@ -228,7 +228,8 @@ def test_warn_mutable_rev_invalid(caplog, rev): 'Mutable references are never updated after first install and are ' 'not supported. ' 'See https://pre-commit.com/#using-the-latest-version-for-a-repository ' # noqa: E501 - 'for more details.', + 'for more details. ' + 'Hint: `pre-commit autoupdate` often fixes this.', ), ] From 87dccbb8dc1190a6c7f54499165e3a73997f5c07 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Tue, 23 Feb 2021 18:22:12 -0800 Subject: [PATCH 22/42] fix _path_without_us under test when path segment ends in slash --- tests/commands/install_uninstall_test.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/commands/install_uninstall_test.py b/tests/commands/install_uninstall_test.py index 7a4b90635..36615d11f 100644 --- a/tests/commands/install_uninstall_test.py +++ b/tests/commands/install_uninstall_test.py @@ -259,7 +259,10 @@ def _path_without_us(): exe = find_executable('pre-commit', _environ=env) while exe: parts = env['PATH'].split(os.pathsep) - after = [x for x in parts if x.lower() != os.path.dirname(exe).lower()] + after = [ + x for x in parts + if x.lower().rstrip(os.sep) != os.path.dirname(exe).lower() + ] if parts == after: raise AssertionError(exe, parts) env['PATH'] = os.pathsep.join(after) From f9fbe18abf44a55fb6a67b9601053fcee8979d12 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Tue, 23 Feb 2021 18:52:24 -0800 Subject: [PATCH 23/42] Fix pre-commit install on subst drives --- pre_commit/git.py | 4 ++-- tests/main_test.py | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/pre_commit/git.py b/pre_commit/git.py index bec816c94..4bf282357 100644 --- a/pre_commit/git.py +++ b/pre_commit/git.py @@ -52,10 +52,10 @@ def get_root() -> str: # "rev-parse --show-cdup" to get the appropriate path, but must perform # an extra check to see if we are in the .git directory. try: - root = os.path.realpath( + root = os.path.abspath( cmd_output('git', 'rev-parse', '--show-cdup')[1].strip(), ) - git_dir = os.path.realpath(get_git_dir()) + git_dir = os.path.abspath(get_git_dir()) except CalledProcessError: raise FatalError( 'git failed. Is it installed, and are you in a Git repository ' diff --git a/tests/main_test.py b/tests/main_test.py index 2460bd85a..1ad8d418e 100644 --- a/tests/main_test.py +++ b/tests/main_test.py @@ -7,7 +7,9 @@ import pre_commit.constants as C from pre_commit import main from pre_commit.errors import FatalError +from pre_commit.util import cmd_output from testing.auto_namedtuple import auto_namedtuple +from testing.util import cwd @pytest.mark.parametrize( @@ -54,6 +56,17 @@ def test_adjust_args_and_chdir_relative_things(in_git_dir): assert args.files == [os.path.join('foo', 'f1'), os.path.join('foo', 'f2')] +@pytest.mark.skipif(os.name != 'nt', reason='windows feature') +def test_install_on_subst(in_git_dir, store): # pragma: posix no cover + assert not os.path.exists('Z:') + cmd_output('subst', 'Z:', str(in_git_dir)) + try: + with cwd('Z:'): + test_adjust_args_and_chdir_noop('Z:\\') + finally: + cmd_output('subst', '/d', 'Z:') + + def test_adjust_args_and_chdir_non_relative_config(in_git_dir): in_git_dir.join('foo').ensure_dir().chdir() From 6b73138c73efd0cb5bc923d7bdabfcd9ae36e6e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Sacawa?= Date: Thu, 21 Jan 2021 06:26:20 -0500 Subject: [PATCH 24/42] Add: post-merge hook support --- pre_commit/commands/hook_impl.py | 5 +++ pre_commit/commands/run.py | 5 ++- pre_commit/constants.py | 2 +- pre_commit/main.py | 11 +++++-- testing/util.py | 2 ++ tests/commands/hook_impl_test.py | 9 +++++ tests/commands/install_uninstall_test.py | 42 ++++++++++++++++++++++++ tests/commands/run_test.py | 9 +++++ tests/repository_test.py | 2 +- 9 files changed, 82 insertions(+), 5 deletions(-) diff --git a/pre_commit/commands/hook_impl.py b/pre_commit/commands/hook_impl.py index 25c5fdffd..a766ee9d6 100644 --- a/pre_commit/commands/hook_impl.py +++ b/pre_commit/commands/hook_impl.py @@ -76,6 +76,7 @@ def _ns( remote_url: Optional[str] = None, commit_msg_filename: Optional[str] = None, checkout_type: Optional[str] = None, + is_squash_merge: Optional[str] = None, ) -> argparse.Namespace: return argparse.Namespace( color=color, @@ -88,6 +89,7 @@ def _ns( commit_msg_filename=commit_msg_filename, all_files=all_files, checkout_type=checkout_type, + is_squash_merge=is_squash_merge, files=(), hook=None, verbose=False, @@ -158,6 +160,7 @@ def _pre_push_ns( 'post-commit': 0, 'pre-commit': 0, 'pre-merge-commit': 0, + 'post-merge': 1, 'pre-push': 2, } @@ -199,6 +202,8 @@ def _run_ns( hook_type, color, from_ref=args[0], to_ref=args[1], checkout_type=args[2], ) + elif hook_type == 'post-merge': + return _ns(hook_type, color, is_squash_merge=args[0]) else: raise AssertionError(f'unexpected hook type: {hook_type}') diff --git a/pre_commit/commands/run.py b/pre_commit/commands/run.py index 891488d59..05c3268e3 100644 --- a/pre_commit/commands/run.py +++ b/pre_commit/commands/run.py @@ -245,7 +245,7 @@ def _compute_cols(hooks: Sequence[Hook]) -> int: def _all_filenames(args: argparse.Namespace) -> Collection[str]: # these hooks do not operate on files - if args.hook_stage in {'post-checkout', 'post-commit'}: + if args.hook_stage in {'post-checkout', 'post-commit', 'post-merge'}: return () elif args.hook_stage in {'prepare-commit-msg', 'commit-msg'}: return (args.commit_msg_filename,) @@ -379,6 +379,9 @@ def run( if args.checkout_type: environ['PRE_COMMIT_CHECKOUT_TYPE'] = args.checkout_type + if args.is_squash_merge: + environ['PRE_COMMIT_IS_SQUASH_MERGE'] = args.is_squash_merge + # Set pre_commit flag environ['PRE_COMMIT'] = '1' diff --git a/pre_commit/constants.py b/pre_commit/constants.py index 5150fdcf4..3dcbbaca3 100644 --- a/pre_commit/constants.py +++ b/pre_commit/constants.py @@ -18,7 +18,7 @@ # `manual` is not invoked by any installed git hook. See #719 STAGES = ( 'commit', 'merge-commit', 'prepare-commit-msg', 'commit-msg', - 'post-commit', 'manual', 'post-checkout', 'push', + 'post-commit', 'manual', 'post-checkout', 'push', 'post-merge', ) DEFAULT = 'default' diff --git a/pre_commit/main.py b/pre_commit/main.py index ce850c45c..c66cfb9a4 100644 --- a/pre_commit/main.py +++ b/pre_commit/main.py @@ -67,8 +67,8 @@ def __call__( def _add_hook_type_option(parser: argparse.ArgumentParser) -> None: parser.add_argument( '-t', '--hook-type', choices=( - 'pre-commit', 'pre-merge-commit', 'pre-push', - 'prepare-commit-msg', 'commit-msg', 'post-commit', 'post-checkout', + 'pre-commit', 'pre-merge-commit', 'pre-push', 'prepare-commit-msg', + 'commit-msg', 'post-commit', 'post-checkout', 'post-merge', ), action=AppendReplaceDefault, default=['pre-commit'], @@ -136,6 +136,13 @@ def _add_run_options(parser: argparse.ArgumentParser) -> None: 'file from the index, flag=0).' ), ) + parser.add_argument( + '--is-squash-merge', + help=( + 'During a post-merge hook, indicates whether the merge was a ' + 'squash merge' + ), + ) def _adjust_args_and_chdir(args: argparse.Namespace) -> None: diff --git a/testing/util.py b/testing/util.py index 1f8cb35d2..13644531d 100644 --- a/testing/util.py +++ b/testing/util.py @@ -70,6 +70,7 @@ def run_opts( show_diff_on_failure=False, commit_msg_filename='', checkout_type='', + is_squash_merge='', ): # These are mutually exclusive assert not (all_files and files) @@ -88,6 +89,7 @@ def run_opts( show_diff_on_failure=show_diff_on_failure, commit_msg_filename=commit_msg_filename, checkout_type=checkout_type, + is_squash_merge=is_squash_merge, ) diff --git a/tests/commands/hook_impl_test.py b/tests/commands/hook_impl_test.py index 2fc014686..c38b9caa1 100644 --- a/tests/commands/hook_impl_test.py +++ b/tests/commands/hook_impl_test.py @@ -97,6 +97,7 @@ def call(*_, **__): ('pre-push', ['branch_name', 'remote_name']), ('commit-msg', ['.git/COMMIT_EDITMSG']), ('post-commit', []), + ('post-merge', ['1']), ('post-checkout', ['old_head', 'new_head', '1']), # multiple choices for commit-editmsg ('prepare-commit-msg', ['.git/COMMIT_EDITMSG']), @@ -157,6 +158,14 @@ def test_run_ns_post_commit(): assert ns.color is True +def test_run_ns_post_merge(): + ns = hook_impl._run_ns('post-merge', True, ('1',), b'') + assert ns is not None + assert ns.hook_stage == 'post-merge' + assert ns.color is True + assert ns.is_squash_merge == '1' + + def test_run_ns_post_checkout(): ns = hook_impl._run_ns('post-checkout', True, ('a', 'b', 'c'), b'') assert ns is not None diff --git a/tests/commands/install_uninstall_test.py b/tests/commands/install_uninstall_test.py index 7a4b90635..c7d392ab8 100644 --- a/tests/commands/install_uninstall_test.py +++ b/tests/commands/install_uninstall_test.py @@ -759,6 +759,48 @@ def test_post_commit_integration(tempdir_factory, store): assert os.path.exists('post-commit.tmp') +def test_post_merge_integration(tempdir_factory, store): + path = git_dir(tempdir_factory) + config = [ + { + 'repo': 'local', + 'hooks': [{ + 'id': 'post-merge', + 'name': 'Post merge', + 'entry': 'touch post-merge.tmp', + 'language': 'system', + 'always_run': True, + 'verbose': True, + 'stages': ['post-merge'], + }], + }, + ] + write_config(path, config) + with cwd(path): + # create a simple diamond of commits for a non-trivial merge + open('init', 'a').close() + cmd_output('git', 'add', '.') + git_commit() + + open('master', 'a').close() + cmd_output('git', 'add', '.') + git_commit() + + cmd_output('git', 'checkout', '-b', 'branch', 'HEAD^') + open('branch', 'a').close() + cmd_output('git', 'add', '.') + git_commit() + + cmd_output('git', 'checkout', 'master') + install(C.CONFIG_FILE, store, hook_types=['post-merge']) + retc, stdout, stderr = cmd_output_mocked_pre_commit_home( + 'git', 'merge', 'branch', + tempdir_factory=tempdir_factory, + ) + assert retc == 0 + assert os.path.exists('post-merge.tmp') + + def test_post_checkout_integration(tempdir_factory, store): path = git_dir(tempdir_factory) config = [ diff --git a/tests/commands/run_test.py b/tests/commands/run_test.py index eaea8137c..4cd70fd43 100644 --- a/tests/commands/run_test.py +++ b/tests/commands/run_test.py @@ -494,6 +494,15 @@ def test_all_push_options_ok(cap_out, store, repo_with_passing_hook): assert b'Specify both --from-ref and --to-ref.' not in printed +def test_is_squash_merge(cap_out, store, repo_with_passing_hook): + args = run_opts(is_squash_merge='1') + environ: MutableMapping[str, str] = {} + ret, printed = _do_run( + cap_out, store, repo_with_passing_hook, args, environ, + ) + assert environ['PRE_COMMIT_IS_SQUASH_MERGE'] == '1' + + def test_checkout_type(cap_out, store, repo_with_passing_hook): args = run_opts(from_ref='', to_ref='', checkout_type='1') environ: MutableMapping[str, str] = {} diff --git a/tests/repository_test.py b/tests/repository_test.py index 1b58164cb..da678a32b 100644 --- a/tests/repository_test.py +++ b/tests/repository_test.py @@ -953,7 +953,7 @@ def test_manifest_hooks(tempdir_factory, store): require_serial=False, stages=( 'commit', 'merge-commit', 'prepare-commit-msg', 'commit-msg', - 'post-commit', 'manual', 'post-checkout', 'push', + 'post-commit', 'manual', 'post-checkout', 'push', 'post-merge', ), types=['file'], types_or=[], From fe1f56c08f6432cf281df797780d56992e7f9cca Mon Sep 17 00:00:00 2001 From: Rafik Draoui Date: Thu, 25 Feb 2021 19:11:21 -0400 Subject: [PATCH 25/42] Add support for Go 1.16 Go 1.16 changes the way modules are handled. It now expects Go projects to have non-empty `go.mod` files. This change is compatible with Go 1.15. Fixes #1815 --- pre_commit/resources/empty_template_go.mod | 1 + testing/resources/golang_hooks_repo/go.mod | 1 + 2 files changed, 2 insertions(+) create mode 100644 testing/resources/golang_hooks_repo/go.mod diff --git a/pre_commit/resources/empty_template_go.mod b/pre_commit/resources/empty_template_go.mod index e69de29bb..de3e24157 100644 --- a/pre_commit/resources/empty_template_go.mod +++ b/pre_commit/resources/empty_template_go.mod @@ -0,0 +1 @@ +module pre-commit-dummy-empty-module diff --git a/testing/resources/golang_hooks_repo/go.mod b/testing/resources/golang_hooks_repo/go.mod new file mode 100644 index 000000000..523bfc9f5 --- /dev/null +++ b/testing/resources/golang_hooks_repo/go.mod @@ -0,0 +1 @@ +module golang-hello-world From f1502119a2110ec858b9780eb6a6c04d28e5be6a Mon Sep 17 00:00:00 2001 From: Lorenz Date: Thu, 4 Feb 2021 00:22:44 +0100 Subject: [PATCH 26/42] add support for R via renv --- azure-pipelines.yml | 8 + pre_commit/languages/all.py | 2 + pre_commit/languages/r.py | 141 ++++++++++++++++++ pre_commit/resources/empty_template_renv.lock | 20 +++ pre_commit/store.py | 2 +- testing/gen-languages-all | 6 +- testing/get-r.ps1 | 6 + testing/get-r.sh | 9 ++ .../r_hooks_repo/.pre-commit-hooks.yaml | 48 ++++++ testing/resources/r_hooks_repo/DESCRIPTION | 19 +++ .../resources/r_hooks_repo/additional-deps.R | 2 + testing/resources/r_hooks_repo/hello-world.R | 5 + testing/resources/r_hooks_repo/renv.lock | 27 ++++ tests/languages/r_test.py | 104 +++++++++++++ tests/repository_test.py | 48 ++++++ 15 files changed, 443 insertions(+), 4 deletions(-) create mode 100644 pre_commit/languages/r.py create mode 100644 pre_commit/resources/empty_template_renv.lock create mode 100644 testing/get-r.ps1 create mode 100755 testing/get-r.sh create mode 100644 testing/resources/r_hooks_repo/.pre-commit-hooks.yaml create mode 100644 testing/resources/r_hooks_repo/DESCRIPTION create mode 100755 testing/resources/r_hooks_repo/additional-deps.R create mode 100755 testing/resources/r_hooks_repo/hello-world.R create mode 100644 testing/resources/r_hooks_repo/renv.lock create mode 100644 tests/languages/r_test.py diff --git a/azure-pipelines.yml b/azure-pipelines.yml index e7256da18..34ace234e 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -26,6 +26,10 @@ jobs: Write-Host "##vso[task.prependpath]C:\Strawberry\perl\site\bin" Write-Host "##vso[task.prependpath]C:\Strawberry\c\bin" displayName: Add strawberry perl to PATH + - task: PowerShell@2 + inputs: + filePath: "testing/get-r.ps1" + displayName: install R - template: job--python-tox.yml@asottile parameters: toxenvs: [py37] @@ -42,6 +46,8 @@ jobs: testing/get-swift.sh echo '##vso[task.prependpath]/tmp/swift/usr/bin' displayName: install swift + - bash: testing/get-r.sh + displayName: install R - template: job--python-tox.yml@asottile parameters: toxenvs: [pypy3, py36, py37, py38, py39] @@ -56,3 +62,5 @@ jobs: testing/get-swift.sh echo '##vso[task.prependpath]/tmp/swift/usr/bin' displayName: install swift + - bash: testing/get-r.sh + displayName: install R diff --git a/pre_commit/languages/all.py b/pre_commit/languages/all.py index 9c2e59d78..fde6000cb 100644 --- a/pre_commit/languages/all.py +++ b/pre_commit/languages/all.py @@ -16,6 +16,7 @@ from pre_commit.languages import perl from pre_commit.languages import pygrep from pre_commit.languages import python +from pre_commit.languages import r from pre_commit.languages import ruby from pre_commit.languages import rust from pre_commit.languages import script @@ -52,6 +53,7 @@ class Language(NamedTuple): 'perl': Language(name='perl', ENVIRONMENT_DIR=perl.ENVIRONMENT_DIR, get_default_version=perl.get_default_version, healthy=perl.healthy, install_environment=perl.install_environment, run_hook=perl.run_hook), # noqa: E501 'pygrep': Language(name='pygrep', ENVIRONMENT_DIR=pygrep.ENVIRONMENT_DIR, get_default_version=pygrep.get_default_version, healthy=pygrep.healthy, install_environment=pygrep.install_environment, run_hook=pygrep.run_hook), # noqa: E501 'python': Language(name='python', ENVIRONMENT_DIR=python.ENVIRONMENT_DIR, get_default_version=python.get_default_version, healthy=python.healthy, install_environment=python.install_environment, run_hook=python.run_hook), # noqa: E501 + 'r': Language(name='r', ENVIRONMENT_DIR=r.ENVIRONMENT_DIR, get_default_version=r.get_default_version, healthy=r.healthy, install_environment=r.install_environment, run_hook=r.run_hook), # noqa: E501 'ruby': Language(name='ruby', ENVIRONMENT_DIR=ruby.ENVIRONMENT_DIR, get_default_version=ruby.get_default_version, healthy=ruby.healthy, install_environment=ruby.install_environment, run_hook=ruby.run_hook), # noqa: E501 'rust': Language(name='rust', ENVIRONMENT_DIR=rust.ENVIRONMENT_DIR, get_default_version=rust.get_default_version, healthy=rust.healthy, install_environment=rust.install_environment, run_hook=rust.run_hook), # noqa: E501 'script': Language(name='script', ENVIRONMENT_DIR=script.ENVIRONMENT_DIR, get_default_version=script.get_default_version, healthy=script.healthy, install_environment=script.install_environment, run_hook=script.run_hook), # noqa: E501 diff --git a/pre_commit/languages/r.py b/pre_commit/languages/r.py new file mode 100644 index 000000000..1d42fea2d --- /dev/null +++ b/pre_commit/languages/r.py @@ -0,0 +1,141 @@ +import contextlib +import os +import shlex +import shutil +from typing import Generator +from typing import Sequence +from typing import Tuple + +from pre_commit.envcontext import envcontext +from pre_commit.envcontext import PatchesT +from pre_commit.hook import Hook +from pre_commit.languages import helpers +from pre_commit.prefix import Prefix +from pre_commit.util import clean_path_on_failure +from pre_commit.util import cmd_output_b + +ENVIRONMENT_DIR = 'renv' +get_default_version = helpers.basic_get_default_version +healthy = helpers.basic_healthy + + +def get_env_patch(venv: str) -> PatchesT: + return ( + ('R_PROFILE_USER', os.path.join(venv, 'activate.R')), + ) + + +@contextlib.contextmanager +def in_env( + prefix: Prefix, + language_version: str, +) -> Generator[None, None, None]: + envdir = _get_env_dir(prefix, language_version) + with envcontext(get_env_patch(envdir)): + yield + + +def _get_env_dir(prefix: Prefix, version: str) -> str: + return prefix.path(helpers.environment_dir(ENVIRONMENT_DIR, version)) + + +def _prefix_if_file_entry( + entry: Sequence[str], + prefix: Prefix, +) -> Sequence[str]: + if entry[1] == '-e': + return entry[1:] + else: + return (prefix.path(entry[1]),) + + +def _entry_validate(entry: Sequence[str]) -> None: + """ + Allowed entries: + # Rscript -e expr + # Rscript path/to/file + """ + if entry[0] != 'Rscript': + raise ValueError('entry must start with `Rscript`.') + + if entry[1] == '-e': + if len(entry) > 3: + raise ValueError('You can supply at most one expression.') + elif len(entry) > 2: + raise ValueError( + 'The only valid syntax is `Rscript -e {expr}`', + 'or `Rscript path/to/hook/script`', + ) + + +def _cmd_from_hook(hook: Hook) -> Tuple[str, ...]: + opts = ('--no-save', '--no-restore', '--no-site-file', '--no-environ') + entry = shlex.split(hook.entry) + _entry_validate(entry) + + return ( + *entry[:1], *opts, + *_prefix_if_file_entry(entry, hook.prefix), + *hook.args, + ) + + +def install_environment( + prefix: Prefix, + version: str, + additional_dependencies: Sequence[str], +) -> None: + env_dir = _get_env_dir(prefix, version) + with clean_path_on_failure(env_dir): + os.makedirs(env_dir, exist_ok=True) + path_desc_source = prefix.path('DESCRIPTION') + if os.path.exists(path_desc_source): + shutil.copy(path_desc_source, env_dir) + shutil.copy(prefix.path('renv.lock'), env_dir) + cmd_output_b( + 'Rscript', '--vanilla', '-e', + """\ + missing_pkgs <- setdiff( + "renv", unname(installed.packages()[, "Package"]) + ) + options( + repos = c(CRAN = "https://cran.rstudio.com"), + renv.consent = TRUE + ) + install.packages(missing_pkgs) + renv::activate() + renv::restore() + activate_statement <- paste0( + 'renv::activate("', file.path(getwd()), '"); ' + ) + writeLines(activate_statement, 'activate.R') + is_package <- tryCatch( + suppressWarnings( + unname(read.dcf('DESCRIPTION')[,'Type'] == "Package") + ), + error = function(...) FALSE + ) + if (is_package) { + renv::install(normalizePath('.')) + } + """, + cwd=env_dir, + ) + if additional_dependencies: + cmd_output_b( + 'Rscript', '-e', + 'renv::install(commandArgs(trailingOnly = TRUE))', + *additional_dependencies, + cwd=env_dir, + ) + + +def run_hook( + hook: Hook, + file_args: Sequence[str], + color: bool, +) -> Tuple[int, bytes]: + with in_env(hook.prefix, hook.language_version): + return helpers.run_xargs( + hook, _cmd_from_hook(hook), file_args, color=color, + ) diff --git a/pre_commit/resources/empty_template_renv.lock b/pre_commit/resources/empty_template_renv.lock new file mode 100644 index 000000000..d6e31f86c --- /dev/null +++ b/pre_commit/resources/empty_template_renv.lock @@ -0,0 +1,20 @@ +{ + "R": { + "Version": "4.0.3", + "Repositories": [ + { + "Name": "CRAN", + "URL": "https://cran.rstudio.com" + } + ] + }, + "Packages": { + "renv": { + "Package": "renv", + "Version": "0.12.5", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "5c0cdb37f063c58cdab3c7e9fbb8bd2c" + } + } +} diff --git a/pre_commit/store.py b/pre_commit/store.py index e5522ec33..187c9d353 100644 --- a/pre_commit/store.py +++ b/pre_commit/store.py @@ -189,7 +189,7 @@ def _git_cmd(*args: str) -> None: LOCAL_RESOURCES = ( 'Cargo.toml', 'main.go', 'go.mod', 'main.rs', '.npmignore', 'package.json', 'pre_commit_dummy_package.gemspec', 'setup.py', - 'environment.yml', 'Makefile.PL', + 'environment.yml', 'Makefile.PL', 'renv.lock', ) def make_local(self, deps: Sequence[str]) -> str: diff --git a/testing/gen-languages-all b/testing/gen-languages-all index d9b01bd04..eb7cd701e 100755 --- a/testing/gen-languages-all +++ b/testing/gen-languages-all @@ -2,9 +2,9 @@ import sys LANGUAGES = [ - 'conda', 'coursier', 'docker', 'dotnet', 'docker_image', 'fail', 'golang', - 'node', 'perl', 'pygrep', 'python', 'ruby', 'rust', 'script', 'swift', - 'system', + 'conda', 'coursier', 'docker', 'docker_image', 'dotnet', 'fail', 'golang', + 'node', 'perl', 'pygrep', 'python', 'r', 'ruby', 'rust', 'script', + 'swift', 'system', ] FIELDS = [ 'ENVIRONMENT_DIR', 'get_default_version', 'healthy', 'install_environment', diff --git a/testing/get-r.ps1 b/testing/get-r.ps1 new file mode 100644 index 000000000..e7b7b6195 --- /dev/null +++ b/testing/get-r.ps1 @@ -0,0 +1,6 @@ +$dir = $Env:Temp +$urlR = "https://cran.r-project.org/bin/windows/base/old/4.0.4/R-4.0.4-win.exe" +$outputR = "$dir\R-win.exe" +$wcR = New-Object System.Net.WebClient +$wcR.DownloadFile($urlR, $outputR) +Start-Process -FilePath $outputR -ArgumentList "/S /v/qn" diff --git a/testing/get-r.sh b/testing/get-r.sh new file mode 100755 index 000000000..5d09828e4 --- /dev/null +++ b/testing/get-r.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +sudo apt install r-base +# create empty folder for user library. +# necessary for non-root users who have +# never installed an R package before. +# Alternatively, we require the renv +# package to be installed already, then we can +# omit that. +Rscript -e 'dir.create(Sys.getenv("R_LIBS_USER"), recursive = TRUE)' diff --git a/testing/resources/r_hooks_repo/.pre-commit-hooks.yaml b/testing/resources/r_hooks_repo/.pre-commit-hooks.yaml new file mode 100644 index 000000000..b3545d969 --- /dev/null +++ b/testing/resources/r_hooks_repo/.pre-commit-hooks.yaml @@ -0,0 +1,48 @@ +# parsing file +- id: parse-file-no-opts-no-args + name: Say hi + entry: Rscript parse-file-no-opts-no-args.R + language: r + types: [r] +- id: parse-file-no-opts-args + name: Say hi + entry: Rscript parse-file-no-opts-args.R + args: [--no-cache] + language: r + types: [r] +## parsing expr +- id: parse-expr-no-opts-no-args-1 + name: Say hi + entry: Rscript -e '1+1' + language: r + types: [r] +- id: parse-expr-args-in-entry-2 + name: Say hi + entry: Rscript -e '1+1' -e '3' --no-cache3 + language: r + types: [r] +# real world +- id: hello-world + name: Say hi + entry: Rscript hello-world.R + args: [blibla] + language: r + types: [r] +- id: hello-world-inline + name: Say hi + entry: | + Rscript -e + 'stopifnot( + packageVersion("rprojroot") == "1.0", + packageVersion("gli.clu") == "0.0.0.9000" + ) + cat(commandArgs(trailingOnly = TRUE), "from R!\n", sep = ", ") + ' + args: ['Hi-there'] + language: r + types: [r] +- id: additional-deps + name: Check additional deps + entry: Rscript additional-deps.R + language: r + types: [r] diff --git a/testing/resources/r_hooks_repo/DESCRIPTION b/testing/resources/r_hooks_repo/DESCRIPTION new file mode 100644 index 000000000..0e597a8a6 --- /dev/null +++ b/testing/resources/r_hooks_repo/DESCRIPTION @@ -0,0 +1,19 @@ +Package: gli.clu +Title: What the Package Does (One Line, Title Case) +Type: Package +Version: 0.0.0.9000 +Authors@R: + person(given = "First", + family = "Last", + role = c("aut", "cre"), + email = "first.last@example.com", + comment = c(ORCID = "YOUR-ORCID-ID")) +Description: What the package does (one paragraph). +License: `use_mit_license()`, `use_gpl3_license()` or friends to + pick a license +Encoding: UTF-8 +LazyData: true +Roxygen: list(markdown = TRUE) +RoxygenNote: 7.1.1 +Imports: + rprojroot diff --git a/testing/resources/r_hooks_repo/additional-deps.R b/testing/resources/r_hooks_repo/additional-deps.R new file mode 100755 index 000000000..bc145951b --- /dev/null +++ b/testing/resources/r_hooks_repo/additional-deps.R @@ -0,0 +1,2 @@ +suppressPackageStartupMessages(library("cachem")) +cat("OK\n") diff --git a/testing/resources/r_hooks_repo/hello-world.R b/testing/resources/r_hooks_repo/hello-world.R new file mode 100755 index 000000000..bf8d92f42 --- /dev/null +++ b/testing/resources/r_hooks_repo/hello-world.R @@ -0,0 +1,5 @@ +stopifnot( + packageVersion('rprojroot') == '1.0', + packageVersion('gli.clu') == '0.0.0.9000' +) +cat("Hello, World, from R!\n") diff --git a/testing/resources/r_hooks_repo/renv.lock b/testing/resources/r_hooks_repo/renv.lock new file mode 100644 index 000000000..d7d5fdcc9 --- /dev/null +++ b/testing/resources/r_hooks_repo/renv.lock @@ -0,0 +1,27 @@ +{ + "R": { + "Version": "4.0.3", + "Repositories": [ + { + "Name": "CRAN", + "URL": "https://cloud.r-project.org" + } + ] + }, + "Packages": { + "renv": { + "Package": "renv", + "Version": "0.12.5", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "5c0cdb37f063c58cdab3c7e9fbb8bd2c" + }, + "rprojroot": { + "Package": "rprojroot", + "Version": "1.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "86704667fe0860e4fec35afdfec137f3" + } + } +} diff --git a/tests/languages/r_test.py b/tests/languages/r_test.py new file mode 100644 index 000000000..5c046efed --- /dev/null +++ b/tests/languages/r_test.py @@ -0,0 +1,104 @@ +import os.path + +import pytest + +from pre_commit.languages import r +from testing.fixtures import make_config_from_repo +from testing.fixtures import make_repo +from tests.repository_test import _get_hook_no_install + + +def _test_r_parsing( + tempdir_factory, + store, + hook_id, + expected_hook_expr={}, + expected_args={}, +): + repo_path = 'r_hooks_repo' + path = make_repo(tempdir_factory, repo_path) + config = make_config_from_repo(path) + hook = _get_hook_no_install(config, store, hook_id) + ret = r._cmd_from_hook(hook) + expected_cmd = 'Rscript' + expected_opts = ( + '--no-save', '--no-restore', '--no-site-file', '--no-environ', + ) + expected_path = os.path.join( + hook.prefix.prefix_dir, '.'.join([hook_id, 'R']), + ) + expected = ( + expected_cmd, + *expected_opts, + *(expected_hook_expr or (expected_path,)), + *expected_args, + ) + assert ret == expected + + +def test_r_parsing_file_no_opts_no_args(tempdir_factory, store): + hook_id = 'parse-file-no-opts-no-args' + _test_r_parsing(tempdir_factory, store, hook_id) + + +def test_r_parsing_file_opts_no_args(tempdir_factory, store): + with pytest.raises(ValueError) as excinfo: + r._entry_validate(['Rscript', '--no-init', '/path/to/file']) + + msg = excinfo.value.args + assert msg == ( + 'The only valid syntax is `Rscript -e {expr}`', + 'or `Rscript path/to/hook/script`', + ) + + +def test_r_parsing_file_no_opts_args(tempdir_factory, store): + hook_id = 'parse-file-no-opts-args' + expected_args = ['--no-cache'] + _test_r_parsing( + tempdir_factory, store, hook_id, expected_args=expected_args, + ) + + +def test_r_parsing_expr_no_opts_no_args1(tempdir_factory, store): + hook_id = 'parse-expr-no-opts-no-args-1' + _test_r_parsing( + tempdir_factory, store, hook_id, expected_hook_expr=('-e', '1+1'), + ) + + +def test_r_parsing_expr_no_opts_no_args2(tempdir_factory, store): + with pytest.raises(ValueError) as execinfo: + r._entry_validate(['Rscript', '-e', '1+1', '-e', 'letters']) + msg = execinfo.value.args + assert msg == ('You can supply at most one expression.',) + + +def test_r_parsing_expr_opts_no_args2(tempdir_factory, store): + with pytest.raises(ValueError) as execinfo: + r._entry_validate( + [ + 'Rscript', '--vanilla', '-e', '1+1', '-e', 'letters', + ], + ) + msg = execinfo.value.args + assert msg == ( + 'The only valid syntax is `Rscript -e {expr}`', + 'or `Rscript path/to/hook/script`', + ) + + +def test_r_parsing_expr_args_in_entry2(tempdir_factory, store): + with pytest.raises(ValueError) as execinfo: + r._entry_validate(['Rscript', '-e', 'expr1', '--another-arg']) + + msg = execinfo.value.args + assert msg == ('You can supply at most one expression.',) + + +def test_r_parsing_expr_non_Rscirpt(tempdir_factory, store): + with pytest.raises(ValueError) as execinfo: + r._entry_validate(['AnotherScript', '-e', '{{}}']) + + msg = execinfo.value.args + assert msg == ('entry must start with `Rscript`.',) diff --git a/tests/repository_test.py b/tests/repository_test.py index da678a32b..b6f7fb254 100644 --- a/tests/repository_test.py +++ b/tests/repository_test.py @@ -279,6 +279,54 @@ def test_node_hook_with_npm_userconfig_set(tempdir_factory, store, tmpdir): test_run_a_node_hook(tempdir_factory, store) +def test_r_hook(tempdir_factory, store): + _test_hook_repo( + tempdir_factory, store, 'r_hooks_repo', + 'hello-world', [os.devnull], + b'Hello, World, from R!\n', + ) + + +def test_r_inline_hook(tempdir_factory, store): + _test_hook_repo( + tempdir_factory, store, 'r_hooks_repo', + 'hello-world-inline', ['some-file'], + b'Hi-there, some-file, from R!\n', + ) + + +def test_r_with_additional_dependencies_hook(tempdir_factory, store): + _test_hook_repo( + tempdir_factory, store, 'r_hooks_repo', + 'additional-deps', [os.devnull], + b'OK\n', + config_kwargs={ + 'hooks': [{ + 'id': 'additional-deps', + 'additional_dependencies': ['cachem@1.0.4'], + }], + }, + ) + + +def test_r_local_with_additional_dependencies_hook(store): + config = { + 'repo': 'local', + 'hooks': [{ + 'id': 'local-r', + 'name': 'local-r', + 'entry': 'Rscript -e', + 'language': 'r', + 'args': ['if (packageVersion("R6") == "2.1.3") cat("OK\n")'], + 'additional_dependencies': ['R6@2.1.3'], + }], + } + hook = _get_hook(config, store, 'local-r') + ret, out = _hook_run(hook, (), color=False) + assert ret == 0 + assert _norm_out(out) == b'OK\n' + + def test_run_a_ruby_hook(tempdir_factory, store): _test_hook_repo( tempdir_factory, store, 'ruby_hooks_repo', From 14d3af25ebc06da561e72e8a624919b7f8513f7c Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Sun, 7 Mar 2021 14:43:32 -0800 Subject: [PATCH 27/42] add test for worktree inside of .git dir --- tests/git_test.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/git_test.py b/tests/git_test.py index 69fd2067a..51d5f8c43 100644 --- a/tests/git_test.py +++ b/tests/git_test.py @@ -38,6 +38,17 @@ def test_get_root_bare_worktree(tmpdir): assert git.get_root() == os.path.abspath('.') +def test_get_root_worktree_in_git(tmpdir): + src = tmpdir.join('src').ensure_dir() + cmd_output('git', 'init', str(src)) + git_commit(cwd=str(src)) + + cmd_output('git', 'worktree', 'add', '.git/trees/foo', 'HEAD', cwd=src) + + with src.join('.git/trees/foo').as_cwd(): + assert git.get_root() == os.path.abspath('.') + + def test_get_staged_files_deleted(in_git_dir): in_git_dir.join('test').ensure() cmd_output('git', 'add', 'test') From 54c49abbcb4b9fbf10865cc8e08f1628836a6088 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Sun, 7 Mar 2021 14:58:42 -0800 Subject: [PATCH 28/42] v2.11.0 --- .pre-commit-config.yaml | 2 +- CHANGELOG.md | 20 ++++++++++++++++++++ setup.cfg | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 75d706663..2859e31f4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,7 +21,7 @@ repos: hooks: - id: autopep8 - repo: https://github.com/pre-commit/pre-commit - rev: v2.10.1 + rev: v2.11.0 hooks: - id: validate_manifest - repo: https://github.com/asottile/pyupgrade diff --git a/CHANGELOG.md b/CHANGELOG.md index c8af449d3..eea586303 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,23 @@ +2.11.0 - 2021-03-07 +=================== + +### Features +- Improve warning for mutable ref. + - #1809 PR by @JamMarHer. +- Add support for `post-merge` hook. + - #1800 PR by @psacawa. + - #1762 issue by @psacawa. +- Add `r` as a supported hook language. + - #1799 PR by @lorenzwalthert. + +### Fixes +- Fix `pre-commit install` on `subst` / network drives on windows. + - #1814 PR by @asottile. + - #1802 issue by @goroderickgo. +- Fix installation of `local` golang repositories for go 1.16. + - #1818 PR by @rafikdraoui. + - #1815 issue by @rafikdraoui. + 2.10.1 - 2021-02-06 =================== diff --git a/setup.cfg b/setup.cfg index 7e4a1c4a4..5a4ee6e47 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = pre_commit -version = 2.10.1 +version = 2.11.0 description = A framework for managing and maintaining multi-language pre-commit hooks. long_description = file: README.md long_description_content_type = text/markdown From cf57e35e3753ebe62469998c3fbd6cf48acfc651 Mon Sep 17 00:00:00 2001 From: Lorenz Date: Mon, 8 Mar 2021 16:21:36 +0100 Subject: [PATCH 29/42] install package from prefix_dir, not env_dir (which yields empty pkg) --- pre_commit/languages/r.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/pre_commit/languages/r.py b/pre_commit/languages/r.py index 1d42fea2d..83e600094 100644 --- a/pre_commit/languages/r.py +++ b/pre_commit/languages/r.py @@ -88,13 +88,11 @@ def install_environment( env_dir = _get_env_dir(prefix, version) with clean_path_on_failure(env_dir): os.makedirs(env_dir, exist_ok=True) - path_desc_source = prefix.path('DESCRIPTION') - if os.path.exists(path_desc_source): - shutil.copy(path_desc_source, env_dir) shutil.copy(prefix.path('renv.lock'), env_dir) cmd_output_b( 'Rscript', '--vanilla', '-e', - """\ + f"""\ + prefix_dir <- {prefix.prefix_dir!r} missing_pkgs <- setdiff( "renv", unname(installed.packages()[, "Package"]) ) @@ -109,15 +107,15 @@ def install_environment( 'renv::activate("', file.path(getwd()), '"); ' ) writeLines(activate_statement, 'activate.R') - is_package <- tryCatch( - suppressWarnings( - unname(read.dcf('DESCRIPTION')[,'Type'] == "Package") - ), + is_package <- tryCatch({{ + content_desc <- read.dcf(file.path(prefix_dir, 'DESCRIPTION')) + suppressWarnings(unname(content_desc[,'Type']) == "Package") + }}, error = function(...) FALSE ) - if (is_package) { - renv::install(normalizePath('.')) - } + if (is_package) {{ + renv::install(prefix_dir) + }} """, cwd=env_dir, ) From 8aec369df752dc6bfc498a96eb922f656244070b Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Tue, 9 Mar 2021 16:57:10 -0800 Subject: [PATCH 30/42] v2.11.1 --- .pre-commit-config.yaml | 2 +- CHANGELOG.md | 7 +++++++ setup.cfg | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2859e31f4..bcfde9093 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,7 +21,7 @@ repos: hooks: - id: autopep8 - repo: https://github.com/pre-commit/pre-commit - rev: v2.11.0 + rev: v2.11.1 hooks: - id: validate_manifest - repo: https://github.com/asottile/pyupgrade diff --git a/CHANGELOG.md b/CHANGELOG.md index eea586303..5da78662e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +2.11.1 - 2021-03-09 +=================== + +### Fixes +- Fix r hooks when hook repo is a package + - #1831 PR by @lorenzwalthert. + 2.11.0 - 2021-03-07 =================== diff --git a/setup.cfg b/setup.cfg index 5a4ee6e47..a14e95dbb 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = pre_commit -version = 2.11.0 +version = 2.11.1 description = A framework for managing and maintaining multi-language pre-commit hooks. long_description = file: README.md long_description_content_type = text/markdown From 74bbc72d28d67fcb8521d4b497ce318984e88bcb Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 15 Mar 2021 17:00:05 +0000 Subject: [PATCH 31/42] [pre-commit.ci] pre-commit autoupdate --- .pre-commit-config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index bcfde9093..39eb73834 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -12,12 +12,12 @@ repos: - id: requirements-txt-fixer - id: double-quote-string-fixer - repo: https://gitlab.com/pycqa/flake8 - rev: 3.8.4 + rev: 3.9.0 hooks: - id: flake8 additional_dependencies: [flake8-typing-imports==1.10.0] - repo: https://github.com/pre-commit/mirrors-autopep8 - rev: v1.5.4 + rev: v1.5.5 hooks: - id: autopep8 - repo: https://github.com/pre-commit/pre-commit @@ -40,7 +40,7 @@ repos: - id: add-trailing-comma args: [--py36-plus] - repo: https://github.com/asottile/setup-cfg-fmt - rev: v1.16.0 + rev: v1.17.0 hooks: - id: setup-cfg-fmt - repo: https://github.com/pre-commit/mirrors-mypy From 4a440f67c85d88fee0fee582bde393072ddc32f1 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 15 Mar 2021 17:00:34 +0000 Subject: [PATCH 32/42] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- setup.cfg | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/setup.cfg b/setup.cfg index a14e95dbb..ceb1cd4c2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -33,6 +33,11 @@ install_requires = importlib-resources;python_version<"3.7" python_requires = >=3.6.1 +[options.packages.find] +exclude = + tests* + testing* + [options.entry_points] console_scripts = pre-commit = pre_commit.main:main @@ -45,11 +50,6 @@ pre_commit.resources = empty_template_* hook-tmpl -[options.packages.find] -exclude = - tests* - testing* - [bdist_wheel] universal = True From e8cb09f70f53f83637685b2da15acc74026567dc Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 22 Mar 2021 17:03:06 +0000 Subject: [PATCH 33/42] [pre-commit.ci] pre-commit autoupdate --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 39eb73834..b63d5a9ad 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,7 +17,7 @@ repos: - id: flake8 additional_dependencies: [flake8-typing-imports==1.10.0] - repo: https://github.com/pre-commit/mirrors-autopep8 - rev: v1.5.5 + rev: v1.5.6 hooks: - id: autopep8 - repo: https://github.com/pre-commit/pre-commit @@ -25,7 +25,7 @@ repos: hooks: - id: validate_manifest - repo: https://github.com/asottile/pyupgrade - rev: v2.10.0 + rev: v2.11.0 hooks: - id: pyupgrade args: [--py36-plus] From 3bada745eab83ce19ecc683cce7d26d14d735e6d Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Mon, 22 Mar 2021 19:41:30 -0700 Subject: [PATCH 34/42] upgrade ruby-build --- pre_commit/resources/ruby-build.tar.gz | Bin 72807 -> 74163 bytes .../make_archives.py => testing/make-archives | 23 +++++---- tests/make_archives_test.py | 46 ------------------ 3 files changed, 11 insertions(+), 58 deletions(-) rename pre_commit/make_archives.py => testing/make-archives (75%) mode change 100644 => 100755 delete mode 100644 tests/make_archives_test.py diff --git a/pre_commit/resources/ruby-build.tar.gz b/pre_commit/resources/ruby-build.tar.gz index 4412ed40f48581b1c854711c49c8f991c2b0c4cf..c131f4a93a0af4f759bdf0cd15bcbfa6e5ed4aa5 100644 GIT binary patch literal 74163 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%0DX^HE0 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

?{!SmN`Jv=Jq=lu9 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 literal 5343 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 diff --git a/testing/make-archives b/testing/make-archives index ae7d58462..b2b288cfa 100755 --- a/testing/make-archives +++ b/testing/make-archives @@ -35,17 +35,20 @@ def make_archive(name: str, repo: str, ref: str, destdir: str) -> str: """ output_path = os.path.join(destdir, f'{name}.tar.gz') with tempfile.TemporaryDirectory() as tmpdir: + # this ensures that the root directory has umask permissions + gitdir = os.path.join(tmpdir, 'root') + # Clone the repository to the temporary directory - subprocess.check_call(('git', 'clone', repo, tmpdir)) - subprocess.check_call(('git', '-C', tmpdir, 'checkout', ref)) + subprocess.check_call(('git', 'clone', repo, gitdir)) + subprocess.check_call(('git', '-C', gitdir, 'checkout', ref)) # We don't want the '.git' directory # It adds a bunch of size to the archive and we don't use it at # runtime - shutil.rmtree(os.path.join(tmpdir, '.git')) + shutil.rmtree(os.path.join(gitdir, '.git')) with tarfile.open(output_path, 'w|gz') as tf: - tf.add(tmpdir, name) + tf.add(gitdir, name) return output_path diff --git a/tests/languages/ruby_test.py b/tests/languages/ruby_test.py index 6c0c9e5e0..0c6cfede4 100644 --- a/tests/languages/ruby_test.py +++ b/tests/languages/ruby_test.py @@ -1,4 +1,5 @@ import os.path +import tarfile from unittest import mock import pytest @@ -8,6 +9,7 @@ from pre_commit.languages import ruby from pre_commit.prefix import Prefix from pre_commit.util import cmd_output +from pre_commit.util import resource_bytesio from testing.util import xfailif_windows @@ -72,3 +74,14 @@ def test_install_ruby_with_version(fake_gem_prefix): # Should be able to activate and use rbenv install with ruby.in_env(fake_gem_prefix, '2.7.2'): cmd_output('rbenv', 'install', '--help') + + +@pytest.mark.parametrize( + 'filename', + ('rbenv.tar.gz', 'ruby-build.tar.gz', 'ruby-download.tar.gz'), +) +def test_archive_root_stat(filename): + with resource_bytesio(filename) as f: + with tarfile.open(fileobj=f) as tarf: + root, _, _ = filename.partition('.') + assert oct(tarf.getmember(root).mode) == '0o755' From a1b462c94a94aa15af3d676700c834f79d2b2b7e Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Tue, 6 Apr 2021 08:18:14 -0700 Subject: [PATCH 38/42] v2.12.0 --- .pre-commit-config.yaml | 2 +- CHANGELOG.md | 16 ++++++++++++++++ setup.cfg | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3193b8cca..0c6d63606 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,7 +21,7 @@ repos: hooks: - id: autopep8 - repo: https://github.com/pre-commit/pre-commit - rev: v2.11.1 + rev: v2.12.0 hooks: - id: validate_manifest - repo: https://github.com/asottile/pyupgrade diff --git a/CHANGELOG.md b/CHANGELOG.md index 5da78662e..2d6a35d9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ +2.12.0 - 2021-04-06 +=================== + +### Features +- Upgrade rbenv. + - #1854 PR by @asottile. + - #1848 issue by @sirosen. + +### Fixes +- Give command length a little more room when running batch files on windows + so underlying commands can expand further. + - #1864 PR by @asottile. + - pre-commit/mirrors-prettier#7 issue by @DeltaXWizard. +- Fix permissions of root folder in ruby archives. + - #1868 PR by @asottile. + 2.11.1 - 2021-03-09 =================== diff --git a/setup.cfg b/setup.cfg index ceb1cd4c2..b336e5829 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = pre_commit -version = 2.11.1 +version = 2.12.0 description = A framework for managing and maintaining multi-language pre-commit hooks. long_description = file: README.md long_description_content_type = text/markdown From 5deeb82e0e01ecb7cc5b22eaf2f83dc93a92f7d0 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Thu, 8 Apr 2021 19:22:17 -0700 Subject: [PATCH 39/42] Update azure-pipelines template repositories Committed via https://github.com/asottile/all-repos --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 34ace234e..58dee74a8 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -10,7 +10,7 @@ resources: type: github endpoint: github name: asottile/azure-pipeline-templates - ref: refs/tags/v2.0.0 + ref: refs/tags/v2.1.0 jobs: - template: job--python-tox.yml@asottile From 30649e7feebda48dde0740657af6e11f654d5890 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 12 Apr 2021 17:09:59 +0000 Subject: [PATCH 40/42] [pre-commit.ci] pre-commit autoupdate --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0c6d63606..e61e688db 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -25,7 +25,7 @@ repos: hooks: - id: validate_manifest - repo: https://github.com/asottile/pyupgrade - rev: v2.11.0 + rev: v2.12.0 hooks: - id: pyupgrade args: [--py36-plus] From 4f2069ee9aef78dfd0ca059c338b8b148429b48e Mon Sep 17 00:00:00 2001 From: Adam Johnson Date: Fri, 16 Apr 2021 16:43:54 +0100 Subject: [PATCH 41/42] Include PID in patch filename Fixes #1880. --- pre_commit/staged_files_only.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pre_commit/staged_files_only.py b/pre_commit/staged_files_only.py index 617930102..48cc10299 100644 --- a/pre_commit/staged_files_only.py +++ b/pre_commit/staged_files_only.py @@ -47,7 +47,7 @@ def _unstaged_changes_cleared(patch_dir: str) -> Generator[None, None, None]: retcode=None, ) if retcode and diff_stdout_binary.strip(): - patch_filename = f'patch{int(time.time())}' + patch_filename = f'patch{int(time.time())}-{os.getpid()}' patch_filename = os.path.join(patch_dir, patch_filename) logger.warning('Unstaged files detected.') logger.info(f'Stashing unstaged files to {patch_filename}.') From 8fc66027f78b193a7e940b10a3b9320b1641117e Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Fri, 16 Apr 2021 14:14:17 -0700 Subject: [PATCH 42/42] v2.12.1 --- .pre-commit-config.yaml | 2 +- CHANGELOG.md | 8 ++++++++ setup.cfg | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e61e688db..214c2857e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,7 +21,7 @@ repos: hooks: - id: autopep8 - repo: https://github.com/pre-commit/pre-commit - rev: v2.12.0 + rev: v2.12.1 hooks: - id: validate_manifest - repo: https://github.com/asottile/pyupgrade diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d6a35d9b..2f154c447 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +2.12.1 - 2021-04-16 +=================== + +### Fixes +- Fix race condition when stashing files in multiple parallel invocations + - #1881 PR by @adamchainz. + - #1880 issue by @adamchainz. + 2.12.0 - 2021-04-06 =================== diff --git a/setup.cfg b/setup.cfg index b336e5829..400299870 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = pre_commit -version = 2.12.0 +version = 2.12.1 description = A framework for managing and maintaining multi-language pre-commit hooks. long_description = file: README.md long_description_content_type = text/markdown

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%0AcDMh%UGT>#`||~+1FOtBlZ%SrXoNM@14%S& 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 t?EmIiReVn str: :param text destdir: Directory to place archives in. """ output_path = os.path.join(destdir, f'{name}.tar.gz') - with tmpdir() as tempdir: + with tempfile.TemporaryDirectory() as tmpdir: # Clone the repository to the temporary directory - cmd_output_b('git', 'clone', repo, tempdir) - cmd_output_b('git', 'checkout', ref, cwd=tempdir) + subprocess.check_call(('git', 'clone', repo, tmpdir)) + subprocess.check_call(('git', '-C', tmpdir, 'checkout', ref)) # We don't want the '.git' directory # It adds a bunch of size to the archive and we don't use it at # runtime - rmtree(os.path.join(tempdir, '.git')) + shutil.rmtree(os.path.join(tmpdir, '.git')) with tarfile.open(output_path, 'w|gz') as tf: - tf.add(tempdir, name) + tf.add(tmpdir, name) return output_path @@ -56,7 +55,7 @@ def main(argv: Optional[Sequence[str]] = None) -> int: parser.add_argument('--dest', default='pre_commit/resources') args = parser.parse_args(argv) for archive_name, repo, ref in REPOS: - output.write_line(f'Making {archive_name}.tar.gz for {repo}@{ref}') + print(f'Making {archive_name}.tar.gz for {repo}@{ref}') make_archive(archive_name, repo, ref, args.dest) return 0 diff --git a/tests/make_archives_test.py b/tests/make_archives_test.py deleted file mode 100644 index 6ae2f8e74..000000000 --- a/tests/make_archives_test.py +++ /dev/null @@ -1,46 +0,0 @@ -import tarfile - -from pre_commit import git -from pre_commit import make_archives -from pre_commit.util import cmd_output -from testing.util import git_commit - - -def test_make_archive(in_git_dir, tmpdir): - output_dir = tmpdir.join('output').ensure_dir() - # Add a files to the git directory - in_git_dir.join('foo').ensure() - cmd_output('git', 'add', '.') - git_commit() - # We'll use this rev - head_rev = git.head_rev('.') - # And check that this file doesn't exist - in_git_dir.join('bar').ensure() - cmd_output('git', 'add', '.') - git_commit() - - # Do the thing - archive_path = make_archives.make_archive( - 'foo', in_git_dir.strpath, head_rev, output_dir.strpath, - ) - - expected = output_dir.join('foo.tar.gz') - assert archive_path == expected.strpath - assert expected.exists() - - extract_dir = tmpdir.join('extract').ensure_dir() - with tarfile.open(archive_path) as tf: - tf.extractall(extract_dir.strpath) - - # Verify the contents of the tar - assert extract_dir.join('foo').isdir() - assert extract_dir.join('foo/foo').exists() - assert not extract_dir.join('foo/.git').exists() - assert not extract_dir.join('foo/bar').exists() - - -def test_main(tmpdir): - make_archives.main(('--dest', tmpdir.strpath)) - - for archive, _, _ in make_archives.REPOS: - assert tmpdir.join(f'{archive}.tar.gz').exists() From fb590d41ff11eb65e77b736e0def12715b2b3356 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Sun, 4 Apr 2021 10:00:49 -0700 Subject: [PATCH 35/42] give xargs batch file execution additional headroom --- pre_commit/xargs.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pre_commit/xargs.py b/pre_commit/xargs.py index 60a057c19..6b0fa2086 100644 --- a/pre_commit/xargs.py +++ b/pre_commit/xargs.py @@ -145,7 +145,9 @@ def xargs( # this is implementation details but the command gets translated into # full/path/to/cmd.exe /c *cmd cmd_exe = parse_shebang.find_executable('cmd.exe') - _max_length = 8192 - len(cmd_exe) - len(' /c ') + # 1024 is additionally subtracted to give headroom for further + # expansion inside the batch file + _max_length = 8192 - len(cmd_exe) - len(' /c ') - 1024 partitions = partition(cmd, varargs, target_concurrency, _max_length) From 5827a93c2fc94194ad375c25d0885972975867f8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 5 Apr 2021 17:08:42 +0000 Subject: [PATCH 36/42] [pre-commit.ci] pre-commit autoupdate --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b63d5a9ad..3193b8cca 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: - id: name-tests-test - id: requirements-txt-fixer - id: double-quote-string-fixer -- repo: https://gitlab.com/pycqa/flake8 +- repo: https://github.com/PyCQA/flake8 rev: 3.9.0 hooks: - id: flake8 From d5eda977ce2e4ae586b9ff4146fecbaed7b574ea Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Tue, 6 Apr 2021 07:55:32 -0700 Subject: [PATCH 37/42] fix archive permissions for ruby tar.gz roots --- pre_commit/resources/rbenv.tar.gz | Bin 34224 -> 34250 bytes pre_commit/resources/ruby-build.tar.gz | Bin 74163 -> 74218 bytes pre_commit/resources/ruby-download.tar.gz | Bin 5343 -> 5533 bytes testing/make-archives | 11 +++++++---- tests/languages/ruby_test.py | 13 +++++++++++++ 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/pre_commit/resources/rbenv.tar.gz b/pre_commit/resources/rbenv.tar.gz index 97ac469a77bbd421f59a4d234ffce3e4c47194bd..95b5a364dff06d5fc8f1176a9ee477c817942b46 100644 GIT binary patch delta 33626 zcmX_{Q+VIc6Ypc&wrw;?(^!qs*lBDxNk3_9+qP}nW@FpN_w;wp|2a2vv2(Ng>^`$I z^L|ZDIK)^u1RQBN99)>IjbSVtH!cYVhrF+gNANciGM{HSlVsb~s!+Xy(pWVP;4|^< zGSH=+<9#0Yh3U?GY3tx%v2kDEt3B7!(vMH7&5slCukmzlViupysJC1D^|zULgPYQJ zygUTy>5Sv)k&SEaz=o!t9%$-C_2wlS6kvN|u+(is*h0#)ynJJC;_S2f*)Ax7XaTCW zv#9{dR0!{Xy62Ncb>?QMUsgQ`PMw1i4;l}KvIlO(Ek7BJwp%`;|df(Ev>0GULdXr>nt{NUa|>fJ2`R?<p%+h?wuM2!k;Wl}5q-(Hosm(ii@GO*s`Ls@H*3HZ*dOt)#LAESTUkX&RCzqf4t z1-&o@c0(}|M3-4tyG`laBwH=$cV4{c+&veFPcGyF1GKXzyYH-1p#N*mUr5JtT_|6) zQheK|Ko9474u!Qrx81w%K*=2_z??7@jL$O$aa)Yh?aiSmi8Xl)o{$YrvW|F+k)`(` zTVB%SMzj;HlZ;3{$SzG)I`epSUVy(_N}tPx^~@GbbCFpcyN7}Fa?60n%KGs8!!MmY z;9j2g+GP1IAKFzTxDM7vqOn60!zyJf|a~f(IqyPf`WOjfc}BV>=K*3Dr_rS z`!K5kNk-;HHrI3%sO#SeJgEe7p^C`vFsAQzKMgWKgD(c&U7L4XXKx~O-3y=H7w`5J z+;y+rkq^6{AhPUN55ANB-jjv=KfHc`a56{4b_}<{wLBZVfP>AF0E=#U=If00xO<(d zL78jyjsO;%z(ew-&MM^lb#>?)`6t#9;P{Dq1S0)>@4lBbI+AO2Tz={9 zXi5_T{h`4+0*QH3;P-QTte9P1t=syXE+;d%tSu)aa47xX4gNDn!cXtOmeA(9J&CaW zB?;+8=cZ73WE-l-r+tO3o#`WJ=vOWXNSV%9L4N1EUyJ91+j%Rz*Aot6)uZ<#={i^V zQoA=X8M-G!r;lvb%u0OJgM0H0VLIB3E*~%a(GTvo$8Up{F1Vq&;BGxf>flVn07aur zPowSV0@5GbwGNcU@m$1!@=5GjED>o68hcTZI8o1hGo0ahQ0?-~5DNo%jwSlH;31=H z#nsT-Cjai-+S!4pUF)5&KZI?{0mvF&xe20OgkrFTTd{N}xELOpXFbW-=wn@kZowR3 z4rF$uB#r);jhLR@ealt2t+w`XY>c8qkfg7^25)o0n5rInzKR!s2q+i&8!U$sHapa_ zSU@tDj-&T!$9T`SV}Njg0Eyf&V-i}f9B3?enU-y4R=O+w8+|)9?Y9tik@D14{>UBd z2r8$H5BEzrHfcz!@jqTC;5i=KLw#h#`Vdb49t9nrwK0)6$r{;;>Vd~^bH0-?=3y<2 zYD%V*@AN3Cn^Ky9_3`TmJQ*s&*Z5}wCHA1!6L~mfz3Sz?2gj4qaz`*uV#@;hcX6c$ zSaC2l{60PbV*a8ok?efFfWVLo7g5w@5iY;EY5%E!FVKv;2vSE9Y`U5;LIhRcmmsme z5<~rHz>um5f>~yJWfV_>%gO0o56cGHV+0T-q;+ z^vYtBZ%qKR5Y7O#$i!}8ON4~(h_rUmAz@febCJ88+nnouGBmfw_3Fw+21OZ{S4V&J zQo@`Mt%*Jh6ma??M_OAr5Gxb5^aioL)kJkfQ3kAE>@JnW%rU17@Lh=gm0cN*l}d-v z7SwPSF@-H!fb7XM>IYcM9_n;Lu*pBnJ z;CS1I!l79z*1G`L$ovr&u>v)MOwDY>z;Bv1i{F+DEVoMrY@deR2T`^eEd`q_!A^nq z^>S~9=GNEj89!BGxh2;sO+PrS7}0sg)|X*Q?v=2hQM-ItXFQ}V^-ZX2jgz8wBrKfG zoS}vo)AUo`1~CUXL79W0wN>F#-uyX)SE{SHP9HXC!zjM1lq%eTpV$>IODyJ1q~M{F zp?UQOj;|q~5wWIz;NkZ)O%m~ozijKROZb<~^1*@Mu|3UD>#|j$c8U<}7$BbE<;v_9 zar02ncwL`syA%=?F3UlG3B*!*Z777uQU0pJX+`qb2Pch=xiXJJWEJI{H2))GlDvYF zk9!xK*+Db#)ii8~MFD4Cmi-WU7&WsToH+g($UD>frI&Y$J^`LZ(ekp$F`pA-3Kq+r zP)5Uqa8OXz>Q)%gK>tdWVzDc-an?%{;O6S670Au$GT{~|M*cJJqG(JC`~$ytp}pna zKXlqTh!NLlF9w}m`q+&3By;>sfX3ph5(h;fSaMfi?#VFsO0JA$fv=GDH%eT3-}&?a zfNNTB_0EBq+|SeN*EJ&i-95>6>R+k3#aQvZ3`j45)(d#Wuc{*Y7*-;Bo;9#{ir|Zs zc*bZ$fBEpK*l1=-&Oid*<8?Wp?_4fxfPQKay2noNNfh+tEhKaNTGq17it@joPMb zU5u{86~GWv(rK0=VEy(k*!@K(kZmCbe^{;{2$7Q$EPDqtEMy%0qyb-up@G1MO&LL{ zq4-&K40g87W8ytO7horj5oLHhbNvfur=0*Qj}UG4q<0lxcXnsMx72*~0%`9A77$qm z&qK=ZS^C9-qi%YfHYFz?;Gm09BN;3oa7HrpM=EWa@efXPzDL-EC|&=3{5JH|3OlQU zkZo|fm{8-_VR%5Ir>Z{ohsP`qDgy4_SaBmd7d zo@P#Xn39v!Y)Pd$(GvziAv28WF43ez^Qmk2*be~&ab~zTZDlR{g=Lnh#c0G~nH>92 zfp2_8Ync)kOQ#@kj5yKHA0r@ymn~AgPj`=+cEF_#^mYu=NLtq5cmr%r0O!^ikkEiR zFP_1jk3()fokkL2Ilcy@CWEu^a6NGfKD@5HuuE)ZHC$Xp?+xl-u@FB_S2?p@f4H@g z{_Tx*XdFlH$#+!WP(OX|z#k&U;*@RjWaBf)z924dVFD}(V{lElVwW48rgaxE+%aL zfr9$0SS_snA((vJWru6rA~+)onxLhJ(1t)4?lAa>U{&9pm0S`R8|r)r0QJ<3HwA9la?~^t-+Yu56Wu z_~&o*FMGjC35S>~0awS*--$>%1oKnz@*xZXtUP zf)gG%3D4{ov$8tkzW)q(ZT5OUO^){`)z1jU9S-(-yS`rS0-QZ+?#>;u)BQv)NG^#w zDndFllLds&RVz(=ohWKjPB#=;A5YL5njt}3LIQkWoxo_@ho#JEuj?W51^GGEfiHX; z)ghVj{;J|5ckw1*(Z>M@#3v}24eaoaAo1wZ z<6Ri^1_~V*h2ry;gRdxPZBg@W_ac`0jPgENIqSe?S)Sn#TS#j7T$JTWB1-YwM`H=yVR~Gn`oRXnN{(=_3Nqh(Y=^X>=J?>GH&``^qQjun$og(eL%ZepX`0f?^3;3+zQ&5`Nm95|L5DG0 z@6rL^+~xRE^!mj4ZhYn{B8Jt{uunr6Z5u)>_#X3UJ`s}|pW)fCKBhqrAP6kVPziN3 z1!#I5O?NOns2B%lcvdaa8;vk$yf%>|zLqlAP39%ADRwOQPL}XVRmdPY(kx1y-Ru>v zw8XaGR-&vMGh(SMMvqj-9hH*3GbV+a9K(R`ngNF#tWx+T4W>$4jrLOhGlHp)Xq+d3 zI9rs}E^WPvrOPi%!)FAwjJ}V+;Kb0g9@7|*MC8v8ZUXn1U${#8i>|ofDBpGPe@;u? zq3=8@zwF3$6*PX?z?t@dm1O?JZ@8Ij5Qq_KiFNB>FViA&p^l_sgM)GjJ^jp8K_&zi znI^b);~rRfl5#mJl(__N1eV!UlQ}5F@KVNa(9mxFyKySQ7m&D!RVgADkwyM4sbdJk z3m=|mCc?>Is8WjDx)89`%s*PHTzbP_r&>5Z@ph@$!-Ui%`(#m-m%-=hgJtjfztupv zk*;xU4}e<+)OBziz|LwE$c8=-slY$zBEviJ@%I@r~3tcfU5GkQ@{|Jo8O@#pyQzrx8*7_II-%|-ro)*Gx5`(o0 zw|N3+4lYTa)je=#EIi&D!Y$u+{N@tTVPEC3xA3Ap7sohxZ@=uqvi@ebq{Pn);ZrJ) zoGurfS0|=7*RWRdX(KPOPQ0SQ6SL)^_lQJbZ3Kr`;q4{GsfOt+qX)9m;zkV5WSO;6 zI+~?#4TI-UqG7&8FJSBui&K|r=7mw0sfqR~-{pG>ABcVlmB5JGQ2clxoIt zM5@z{)J#}+AagSYu{lHFl^yr+v|!A!vmP?tG+{T0CW&^%WGjtU-nTTyRR(v z(0CO0Xl(K%lMtPa(@F%U6w@lfvS3~)`hP>julBiaiQ<%Ex7kxi1S#6`>80je?_7z` zA%{Xn!5XoFo3;f_xCou26ZFRsbspvN^fo_B7`KJS++;$Ed65|$NVKvc$#MI8x*Fyq zfrk@(h?7%a14l4pjT*9O9=7SC9>Y7R>;nk139nQLXAO6BCAc32tk= zx)2D*+KlPE2H?>5G{H%bv~$ZbPX(B`(0-)d$0F|<+JXV!k`br}iWTzz81I7_EXC^8 zC82~YKCD)uq{^!k<0)?+d27%~^GKAVCC|x5SDA5F0`h5bjvnMg9^sCK4O|4;7AaDw z*HV`dlwW%s7jTA=X+8ADlu~=BBm1t?2FSTwx4^x=$_rQV2j7(cJnTN>{`sq9Xz2pe z_2*K-E=Hg>g*=VgOnlMi(;6Lp9y7^}tfL9-32mwx`J4RE3H>RVZi^b2$M5_m(uVw} zwzfC$Enw@mkEdc1Cqv>{>VoD?-W9= zz0T>W5gv5gLM4lpqt{txCj^n8f$0{6DSLRjJ!Con9txoh?OAf2cdxVon~sdOv2AS; z?vMM~0yzD0@Lm`zj8bY%CgSGq811*au7zx=Jsw-ETM5<(0@&#K(laBl^<*|Gzw4|h z0{VXOF#%*y5M{9nm`V2tPw6G$7K=6{<%8pSxINeqmN4-Yk?&ZG+l2maDv6g>8md5Hji?kejiVLi`(Z@>uNSd0IF(p4dLP4n5QE zP;BZWw?$SlQ5np&KZog(&7k4Iq1te`9+R6JL_KJHqw}!VC_cF0)f(m>%Gc8?2j(=& zze`5Y#iJ%!#9q!~Q4>+6(YQxi(Dh4QwrfEgN-P;kA+fO-U|mp+2aAJG zEii;=bKelz`fywOIkV;E%L|D0h^KtxEyDkzUzEE@*mz}?zIb!`Gk-HpeYd(%ovyZy zzkER0GMLLMof~SGjzZBKuC~T%79h(X4rbns++rZ9OgBb$mXiMwdvC+aoNIyfo6Z1L zv((Abk`aBMTc|r<7RfB$eSb8X)%y7E2qI0=p`#apa+bPoZ9mV9r9e}yH6aHQeibaW zoEG^zu>jMcDzE!-w-nA^_uAuE+f}jAACI5qNe>Cf1CA&m-x719eoK-B`2sYz+9wKs zb`g6$DWqrTSl`wC*UciQgov3mc@-yi01)qeX4e$rX|Q?noLR}WGMe0lkKfN(F~erH zlaN(5oUctGjz9d&>K@(OmnX>ajwif}2jC!VQy20qV6UDh1OlC%Id~$H1J66akBu3^ zYA>IidE(7iXghg@Y<^h*1DL1iSJSMBCjVos?sYs-*?P6HcDy-8XpI}DNK?R7D z@r3C7aR}LmIt*Na7Pf~^j(RtFSar+(LcK>2HuOagb{Q3R_bxFz*V-j^idfYL%3RXa zc^5D()t6XvR$suE!T8`#DRGGnZg`ZMdzl!Dj2K}r9B@!18gVm8!T_&k?6x2EX&9v9 z>*_r+6Tv2Dvz-KTiH^i%M{S9%E=%#$>19dRgUTuo&sQgYm00!$Fnw&2@ip%}_k07Q zb*Hmy4$huFW{GAt?Z+bG@1?nqrHftARO87EP)GP_XDCRpANL3CW)quy1FLhij zR#F|$gpM)PT4M~T555Hc;ym6f^kJ{7E_=F9+@jfYM5m7FGn_`zbM+Clh!{pKVMpNw zJ6~-Q6kcbJVycr=qNsZ22w?ktg}x4m`A4N!#Vh~C%K@7u0tZZ*@0OsyfO&ntV3mk> zwWJo|V&)I9{37KPxEJOB?l)eBTM5Z=1j~u`D(RfHn)_5t=$yLs4dDe&Y_pcO6tYU# zX!@EBEU6?y5-MMTz)0@&9evp3F`iWahxmk3Y}DMjYxN&Ozf`d> z*bKdh&ou98XnidAcTGg{M~EC0D3nVgI?fYxOh4n8VHnsJG2?gKE9#omKJ=zEG+X)F z_M+llRsbDuFGhFsbp)jsaz9Gk71w}@^3R?}@p@wkYADbb0q4Gnq3t5=Qs9PU--ZJ* zXY4(<+@FZ)$vgCdQQIUZ7XoXzpOUd7n350H#w_6fE#W|*V1gmG=RJHc`As8O?aQA! zk5{bVkjC_5p~zaIz(^>g=GU}7{%|4u&Pe|ob320_w(bK^BK~D{_S{;vYUHZC(34>( zdVQQ#?GZpNPa&Y}^AVNB{f8kyzT=Ms#d=lBbb>U21j{i?74xdWU7x=E0~e%u+V)TJn{3==oRbiy zmUh4PH~0NZ9;>|8oan~EqE?+ETcw6)Je>Q&Wivoo7KJbgPBv1FB#g1}H zc}>4AjD}&7g6qR)5?s@Qp)u4I=XFJc>JwObpl_J_fD&B@(ym8)#fNkxhq73Xm*8J8 z2o1o^BUXeuCuh;hj6DaEcbWNcNfcpWW;ag9mX_!UtDdq(F=;=C60<3h$_Ss}u5*wP zMq=4$1M`NWRBTKc2{NiH{4Xt2mWC5o<28R2*LCpnNu%5s=0*p89C1Y?NNsx*Huv20 z<2+6wS{+vZ;doL5jRo~$^U#;IIe1?O2@N0veMQ4gz5@(FHOfP+G^;IBlk|&AwZ+U1 z(N1aJnq-@dv4#fax>$dKmj1{r0*1;sZr$d9`Tc1>L#)CXey}T-gAaCx-}(DJGgD<; z#xA+my>pI)T+1_ENPua()`lX|G+JJye$H`>g`%`R@vudHa5DjtJB5NWu6VJpB`*Mu zOMgf_U65p)BlBYq1CaxN8S7&SgY`*+t(yXCU=g%SiNaqHA|Xaw@GVhRM;mk6vfqQU zi0pZJ#rXC;C@z|W8Hx6SXcX&)BS*_`VpDud$hek<*}lp7-eSn}(BXOMftLQ>asBg9pPWpWJ(&0cgsQR`<= zYgtWLSo+Tm3JP0yqtb1*FqlDJ<3QQ6{07)-q)QBvnStckJ%cu)Tf|=IHJX$O19}^U zqsmF7K0ne(6OuHkV2mkVTMd*`al#}T*#`SG96YD7M30&qA=*MK?-spb;zqtAtMAgacpm!TALk7C z_e^3OZk-vfn$|YPHK;m5SvY$bSwugrVqwXg*la7y#6n_J5TxwrWqg&quv`bIg-Aty z_@UTdBs;*zdyL#Tj~HRi_{9Rh8v+7jPQ@WBf9FB6qQt3sMxl!Do5o?zvbj!q2Q`-U z{oyqKUHAc0Bv-wVWIeukGqy%UdMhBd9nG(}dA+8aRE&CNE%u|@Tkty{5861YW|ip* z7J@d8{2G0sebibJ^bb!i_^{DOKikl_FW+$~8ZGkA&~xsYQ_;;`w0=baMEnu^*s(HZ zPxjUtiTVc2$tY}n(T*yqOAM80FqKX*yh}dDrc}gDuH9VHW?>1Zu|IEbD+m*V9KvSv zBhzE2=tV0Y(tkmqf1mW6g84djt|ztUXRRNCQBGftPV6v3RKYQu*;JjWa2RIH)rHs+ zd}WE)8dCgaZ9`zKLdM-6@D$NOv}Nws2&9y%`x;9}Gef*4>jJ_5*n@r{zLM}gG_eJT zce&Wml!3JHR+X&F))F2yoh7U~g-J5ruBL%2P|MLx=uowS;~>V!Sc=+8{_zQ}Q`700 zp>S>x6E{;H>P`o58+FOp;1tedVD5V)iU!I?REjfVf^14MSM*nL05R=;G9-j#jXGCd ziqRk8P+1BCZs1Xsy%RcnfKe!4?M3v@iI+0b8}K zseD&iG`c?lPAC=@C~u6+`+1cq!EIJ)AlL2E(C6h-ufA8$>;+fbAJAIWc9_GRW^`6Z zz(?PVK!6^cMfnt#F{%oqGLSmMjB8R&Lt%5caoyoe`4z1~`VUq!_7xS;2%EBcdU!H> ztL4m~wWW+Y`zP~^ZFBTTPGp>Lyj9stURImzj870jJ+%oPzyP_VA{VU}E-?%ptYL&S zn>0`5{QWxS#2m6~lPW8w>RrWF=h(b5tRncW54Y%HO-=ib8 zAPvH}EPmXL-h^h_5HT}iM&}|-8h?rAg!GQXyu`FGHDUKptLuKv#RcKAA*~)L< zP1zC5E_Pe`S~9b51(8{0;;iQ5N@@<0l^eV2bo~g~dqQ!syECJkQn?hdl*igu?zPYn zCbk?t+C%;0R$8tp4vK~&t;sx- zNeb=9x0i8Ndl6-EWwJ=Cu|c0=LC#zR@WTLoK)INT$Cf+@X2m!SbpmFmuSLn4Q~XTY z0cQq9DgJn%Yaxjz*W&rJTnb-(ZG4!0TuO7CR;ZBM>$R~Y?n&Syt#jC3q$0jOdG598 z-X-1kVqc+Vhj0;|O9;+uDh0BJ2}~F!T2?o{9+8;r4im%sXOMt1s*}|16InN>7hA0n zP# zJKah<)xB*wjZ-z>wXS{qdj}2}J`&xcW7)f#RaYE$sxCcBC*1Nu!Y}xP!>-yBH56R` z?J!D8)uw=B=Iy)8(4)k2#N>Y8qiV`|fGc|g2YCkdQ(NZ`;+a8m;*+uH(@j#uvV}4b z>9_Q2KZ--mUKzYLxRNjRQQ*1LIF2<~MWgj1@jx=asUyvwrW^ zTfrKe=K?=cFdLacM4D}c7%GJKzLM{It}OYl9aL-yTPPhX@z*+cAOq#(cfqB68L-;Mf? zaj#u)KX}VSRf{!X>L(RMC`Re7~3SbFCBS)`&1SFgs=&5(!`$;)#VN^p^GVkE@(*)~<&=0}}7u6rWF|LZ75g zItEq9e^JxV&g$<#EarQl%F4>Be~=UI4Jhon`hU0**sJ1J7tzPo-wxpq11){Mt><{n z(nY25=;R>QfBLuIC+`1an?Pdoz&g{L^)`rCLxTVsWbhvr_0RV#$n>Gu;q~?Cvzr>U zemit3n*<7elK2b`e&(`l!^Ii&k_y?_ORiRUG$8)0>-5zCvx#)Y4%oPud-w8QeLs0N zy}Hlny4-yVPscbF?8xH7EqvMcluy9yA{djgug)RI{BQ0pDHRj{z?3y z9o`AISbmL{&ccjvj`%8vmQbKN`zYF`vn6J~^6L+?o~+ub_e&nv$INN@uSws^%o%-FSbV#=t6Hmtmk=2JBji!hC|H&;l zL$gbSfc0!ykkrQ{KqbTk|3C0a_%;3;Ee??LkILyi1|`?lwfO%>omKsO0LrZc-=9Rj zI&U3&OS*P2DCfw8Suzky=}i()*D}kFx#pQ}OsH%+?Z?+fW^v5+oDI6@P=TqF8fuz3 zk#&60TW0|nr;fIS*ZF;B1%-b5)U^xqHmh~7rU8J5Lj&OA?MyxfN7()t<=buxl$5b# zTs?3*MO{UYw;|6u=0fNp-$ad|8_P9JG!MLE$o&RSL*v~&G0-TH(`O=}ONEX(pP(xf z>d4jhd2{wTDN>tGqg7|u#+C>=)9**j1;P@GAF4Vk-r{#=kTz_kCaZAsvZDzCx_C{n zUqcO!amshLb(x&9J<0B_ZulPnnBeUaFE+A|AO83Gnf3mpPw8*M+2DtR!Ki*{w6b`x zsr^ODAqBk58{f5ZbVSczsMdxTw%MS8tt^9(>S5pT+T%UuEDEAj)+M+>*fA}pvPg+b zgvoBdxJ%LDhgqWlic~x$^;@hRwBP8kv4X!MQ^lx){_%YpyX(KOkXX$COl!RRR1G-g zfEXS0jaJdYq4MlUS^RT*Ri7v#p>JDg+z8%MuuxgELbnE_B3O)Zt1bH+>6@t*Q9 z;D$Bc@U@u1n59Ln;UdbO?7FVR^Az_P!^!6y8P`vtKb9gpC*y`!NF%;`=f5|~{u(U^ zr|SNU*a*^4@gg?ZZ)kT19OCAg1Q#`z#_x0|(%p@{bQY2apew__NB&Yl3YHU7%qqau zb5kxQ^JG|$kuKEqnwRZKkngERj9kaUpYUJGLw~^%7wX5FRqYpm0K#kbQPZ_jeA2sfm|5_xQv`Vwc%>8)9&ph zP1Jb?6kc@Ikm2E^;mlgrG%O7AuK(nz=@7bc#(LC!3&~Hnkps6r+0Gk-osZ;G5u7Er zc08ePE$?zUacmcc8pZ#I9jvC$i1ym5PszJqemDS}nRYX^@yZ@fBgJ zU5Gq?KG&*t25c4aF*@#)O#JZ=gjK^MH344QX#KOxereD zc(6l`su+yp%=hJ48@Gs4q8DKf7uBQ^>rXwG6&5!17_4~5k+Io-ujDN({c8Sm+=~39 zj9wwIK3*veq#wF#S!A~F7ItP%4x--|4ty_u7OZ)vM10?HqbY^tmrwH9<#ViMFGs_1QC0Z|pWV{*}y z;3gsCUxP00D+Cd_t)e;hR3cD`IS5rrQp)rjp#POEdHn+#+2735Mr=GBp}KQiI0;%5 zbFqfYY_+cBv;0iKP9sAEk#OcYV)?cYA;^rIw~BkdaLAe_F<#_(D>F6EIr=ooMQZ0a zsW{aLwB4=uXzu8Rn;~dfs-89>qIs@RMod9x*lT~zp&n?efd=bgn8?9_ZiKfjKM><{ z_wJq4Ht0U~jqH8vb|?XKHFRjz3;Ou|Zje;SdC95hvY_jD8T7BJz54ePS&{Z`U66Ep zw>mcrzaEOymXoZTcNQvDXwa_YtNlFyy{Wb{Uvw9m8HVrUMl!(?3e3rm?|Z1b2 zvY*y583XF(M7fe|XRqBfn}q@i2}AK`bSxa~c$tZiX4Y9RHAwrg@kKO$+02i>S<-8J zP{?IW#T9g3G+qGG*cVxUW)D>8tG0~aRPC<}KTA1PbpidcBA5IibMur8KdSYHlaqS? z{0Q4hh!$HTeBnz)xvjgLtsAe4Es$TWg08MHh^WLg5 z>v2GxBYIA-TUD|rs_97$GlifnE=@(WSx_;3VdP$uSpaaXbAc87v2n6GDyZ}Wstp$l z*0L9b`wsjw*&wjbY-i1{c%UuKt-m9;Ai_w=UJ!u&4x)F68!0n{5n${+xnSyMFs)$2 zH>Gi}My425E5ochG<$J10o!|BhM-T%JYAIc_$d8b;cZZ>ik}RQaIoD;t#0EfiK0&w zf{$Yim~ot|7(1g6y2#ki&Rd*SR9;H z-aN=eD;iL)%#U!xpJLoas$F)j^{<&Zbk9E_#KY8R+qUOUbZT+Qo=8m|!3Mvr<3|fX zmvCLU*=g>bKZqKrvw?K5=f%cth^N}~d9*NRtd+n;`^es?64h?#8y$04GL&O~?)aaBixz?r3rV=|YMd|p_6TJ?CV)t#z z^)5KX2L=9+LWX14E=Pk$wH|1_1{O2i=?R3=Qw?E1uxmNcfg8@GlBL5K>>NKC0}6%Z z988?zrn_rB@0}9G#0jLRy2lX~Cq_xJi}` zCt%5eFHztWg{;F^2k~wJ@IQ0aA6UfM^iB&7KScSRgvP=u1XERr2iY0E=Nf^@qJt~y z!CUY`9*Pg6+Um&Fdxe(N_XoZl zgjq1LmMwps2#K7374|Tv28)pk3Rj4yep}DW%{tq9Z@wR54ShLCRl*&Zdxtgq+pamB zm=*N)$@?vHQA{r@WQhk<3y_zdc7`ejh>n!(MIAtpna}o|LpI@@9#!(%AIjlAAS?t= z8^~gJJTj-bS(a_fuxPfBM$LVLKNQ}4mV;wM4%hEZe>wT_GI>sVf!|VdjN@@#v$zmI zTiJISoX!x`v(3A1FH6n&Q?I4KL_+fbzCbTcQd|-D&YG;Om|?r$1$ZH>Cme4fRBf+; zhy7tiyPNBWz_5n)zF2o^Rg`Z_{UoEuQx9vOFT5*LMl#n(#9=fiGLw>y;NPsQ_`8Ic zLNNg$k%DyxIpQY*w1#2SAeBAr8zfuKeNPFekg{JjQ1!{(CydVG8IDBD?Hs&4DvjKC zYs#j8SlU~ZA5;V01;7MBzSWJe#g5gag{ep)P7@d+7%hY_co3o#Tkk_@D_<4umd%V~ zg`0KY+EuJDxG|Q2R3i)4^Ho-xQ~8+HZn@z4&k)`mY5yi0MA=rIX%97O1^-LZ2zDXA z?^dUd%9!A_^?MqogpWE1sj3bvl!*nhaHZ9V-UPzWhR8#mWf}f5nmAj)Ik>v7~aT z;P3WRcHLJiF5t?II=0~wTM&s}vCf8od!}PqG}cy+q9A8y;+i-n$4yAHIo2iFkN1<%Y5ATfVcv2~B(nSgDWzy4 zNE_io6LOD?vs+ty#o~5;Y_o460Kv6MV2?~8MEU)`H59HhQ;nk4LSf{@ODbXMrl65g z5NR7InmQm7Xu6NY9tHbhts2ZZGLSGCX%ho)9kbAEt5g42t(lXxD)B%)CT6W<1}(ab zQ)?xCKkeeNzU%!D$n*P;%Gj$i6|+8~qB=7&m10pT;6br}H7K${ZPXr%k6^Pv6+hrmf-JBmR;bl%fNFOcRe4dm zHd|2+k5bwFxy3VVa3DXzI-hB(+FSnuRPVT#1G_3sIQV3Wyx(G9>4l*T=nn_TH}O2fi~6*3Ivf9u zGmtKxx?$w=yG2qo)Ix$k5!#*nWTYQGu`e>`=9YzSKvEOR%2BSxRj(WviXMfa zmq`0cCzfAVrr0lwmIHnm+c>CFgkjWw%1WCkyTvbM->yHR!)Vs6`%94}3Bazj6A6zy zH=O*2?<`L6cD2IUlmR2vGq#H?5Tl^Jlh<$(VAaD;&$AF>o7~HF&*9H&=Whlnd=MqG z-OTMVtS}w%hWB(QuW;$ucxR6h898@X>g4H%XvU<`6qcAMt9=w-6B3x4s7foYb*AGo zW2F+PMOAIH&PSbJ*`H#tC`W0p6#0`6ypS_}f!wpU6hL1?_c@E6i1n zVW0QM!e_%DA}ba1cq0Ayz8JK%$ka6`(RCKI_<{c16fq_zk40h2DJ^G|1+Cn+qkINK z=01QPqi$lap$bKp=;GJpQrqTF28zoxa9vO!Y_49wCdGfY}`8%I)-*r^rgH zx|wb8pD|~{GBB+fl&MFL@(l7(BV<{ju$Ym&X;!91VEWz$+Dz=7dL58AYJB9ayaBq`aOGEv$ zc;48Rly<)CY)`|npcH<0h4K+IZ#%G}WW=kyfEqU&=dO(ho->OOIbJXK&>8>DP7J^W z)ls%v;7Ou%2%7CztWWaYNCu)_6u%nGpuD&wui@XAte|16OIy}T(V@yPyADU4ecWU< z(Q9%F+2lg27sxn;l(LC6$ZKLER=D)lO}kAt?j+jPcbl~3d#%jo&9GD=)`f6;JvpcC zW50I)7d(J}(WCtauangPwcCb8ywhTbUoq(qdT@YQrX;F)}`t{#y zcieeP2u%GH)$3MOcAP|7h(jfstd-q^9cFw|4X*Yf<|NE!V;{2+^}0T_BoTqS{3xM2 zR~Qi)k8()`vTmZ^3iT%4n?q3>tQPr+)aGdd82}0koP?sj@EbMn426>?{m=x<%jUbZ z&1y^U58AhB)ZbH#uyPMW8l;wk0qQ2@WtGPbpzkc<#Z_R3Ng+6auXTleg-4vO3cpE< z{b$8pKQzg&B~SFb(HE&?BcRQT2JJ9WScvYzxstMg#C`7h3IlY7^~?7uBqHiu;O{Gd3w<4B0q;Oj3(3=DTp*(_ zXaC+x>JlW<&fK2_H#AV4*Rv4$hZ%o(3@512%yGLWbAk_P*EfUF!GeewHr2E)S42zG z>btUpgtEh6BB60N8WLMBd&VRAcwVfsQm&J?Avlmo-X(RHN-%9i_Fb6R>a)9zp#@?Bvy$L&H60;%_c( zW7d3B1jQ*7S*DeV-Id%bmpYK9W(GR)=e(C5^(>B{)>IO(b|a$ZoYs=SqB3YVRf;H3 zQel8=i5he;KkZd<8m)%uU(2UWL9ptzUh0;7!*W`VayYJ}V)KYL!8tJyuP*VAGxU)q8$#Rex_k3w2qZBe7f7Lc({jrrvwZeo7_M5w(T)<7uqci< zuc3ro*f5?UQUjF_#}oD#A8@dogh5Ro&wihM>w9x+&JkQ5CjvajW!|pMog>O4`pNta z99%2pCMZNIz7BP3QR%FMcNCJLkV6UK>(fFcyr|fYXq*cHZw1LwHu7OSPn zpz9y5jAA{)Dr5F_4N7a?lT*8kR_b!nFBi0xI-W6dPU&c%7g94@R6Q*b{@BPpqWE|w z+r$HeRB+YBkOA7n_#fpS<_2$z%Y+nQrQ)61Hh*^zeBfmyrg{s>S$PI?<8X+4JV{y74^z{*;()!TRNnSP{Dc>5=lfh=&D+2kF&Hd&%+5tFKak)oqFq z{Z_1#^gQ@k`_Vpu;zsD)k+uY%tZv^;%V#DJLDe~89gy*U|z=X3N^dsqqM)*5v_xcOydNeTck&9l6 z0UR@|Pg*3hB~frZz63p->XPz^xU%eUW~lZ&nCW&vd;&|mS_fT^Kfxz12&xoCO>_7( zT$A92*as1c!L(ZDq7WPH7=jBwJPKIHA4xOuZ=G}mP>2y19P&r;TuGWBx$3`1M6j{W zNsiw7u>4PO*u8_E0`hcGT|fo~I;#^|pmB-!t*x6+ARWY78S(b|etW||f0S(S!(4Ex z4Whld(MO8s$AaO$XZ5eIUV#{urnSePMpMwN6WnS&3Oo9JH)LVsx5p3JKNN@}865QRL;1WEzyAvch zH132D+}#tL;O-LK-QC^$vew@F+?RUjx9+dHs^%PH{FR^-+FgF=)lTZ7_`=HIl@duT z#a2UYZJ4@uxw-b+k20>lV6c%*2}XUJx=7S<9X5?)ZZz;WW2u5xx1hudDU56erN6l8 z(>y2nN#mB|Ua^6=t=(AMDObCl;#a!VZdo(-TYA#gufpz0&PSYoNQ`AntbJcHf3k9yqGv@Ka|qRAbzH0pJ-%YvP@P`u|ukVNr}<3l+O6F3^Tvh zSNr){SCaK%(SGJ}tr}D0*Bh`qfHNcT5OZk!tK3m4y6;)FZ^bCc>vnZ2D=q7!Zdxx% zRoErut@tO1b(Ot!4VMUdl)omIKw=4e&R>j?~Am_rt!a z=LMs#JN`4Q3xl(_hh1afznDb2*YP7cr#Ap*A1u{)KHx2)gMrB`I7saA#FSNo#wKqG zCH`hz#{OCQ+$H%%LcKbTm!o}l$0@s5Q4~g6-ZHB?A2(6tvqB|>SQ(bjWA#thPb538 zY<}%p!-xi7-zW5X@;;SSF+m*PZB3m2-sxG=6nXTFK(#;g2X#wPXQSf(BMk_?|M2k4V@H$D0`T%x3po0+^q4`A@5QG}ZKiR4fa)L`5H3Fdf> zhI90bVgDB^wZ7l|2_0W*2CSBxGSnOz>6P%Pwg7X@H^+nqrdI#!hmJmxquXm>h9zll zsCMpZNHQW|NFgCoIWs08w-WS}tWU3qrpaYVIz521>0QCR`mGpfcJN~Hpb0mntOAKu z0^58~9qyVVj6R>Ed|Wo5N`-XZx{h zvpv%*xPatNK0T`IK*(X9eXtd=+X2JfcIj6r#iuhpScBxxJh|P7=JG)hS+RUJx!#NL`Kp;-aL_C`8BJ~!S@>{*-0 z7U*`hj*rXBSf-~YMSTVPhRx#R?5KGj<8GS6)UCCN-c-rrUq(XY_+aCQmkM(N{{Q!Y z0eKj-=W%zzBp&YCH$#S)-9Ye}{!!$I)Ia2$-G%Rt2CVj5>ED3h#a2oNIw0Y<3Wt*h zUu99F4ED(v)PVz~p!{LNG4=lF*!tx$JbTOL^c08qWd4EczpiOr!7FjBc256>ZryX0 zd-y0`T`~0kPbhxOc7Mxf>e^od8-{?nU-WcMI-2);{R58?7Ao$UgyJHJ)_`QxC_2ijxZtsC|{D!r`_t@2_cID}?}w*sAPM2j#@LAr~x z%!A@5KhGXgbZKFjWZTwi*kLL2!U|)ZPE2ruO!6)@Po&hoZ)+r9yFy7~v(XG?rSRr1 zZ?>vGa2+=Yolv&ohvce6?BkSrFQdG&CWbn&%^K^=gpH*BnTagwDP4?|a{>2jb)klC^&AIF&q4#1u^n}qBWkRaT8*Q}oYl6aN|QhSClne6C;cCBIVV_i zw)!C7>?216;x!evr8Y9{xuGc=@r@#6vw$O$P8Us1c>?M-z@HKxCq1OrhbCQV+!x{u zHADHdJen28ju@I;6QP{Yst7-gl3VbdM=xR0II`NP(q(p)yXgMuQ_^&v@GG);D(b6+ zBLbJWRzj#PJ1)J*(EUTd-1vYWB=yB2yw8 zAfTH|U9^AL03lyGweX3lAxLD|P758z^(>GWQ@GMg^CWtQ%KC(Cp$R;k;%D2JvFs3O z_-;k@Q_`e{BhiF9I5J$#<6-I_6rAq38>!e}l*9FYdj2S<fC#x1dt|!8{7L5D6kNvbHm)^71E6q+H~#48r91Fd*N1^1DvJM= zJcctaru+m*Sx6gnV2v1vZ_K;$ukBn+TjwmADgC9vQzBC)$h^Rs86Y}zJ(^KM_xp%7 z>+zG^#YL|9!Q*10mJ$qgZlC>KajL%=(cPu-OLTcyQ+=>eN6x5JPGHm>DloolMN@mO zWC2Y6phNQ^8^p905GqvpNkv9aAK5?9i@2Dlku9`LWd!j?mGm#g*^}T3^7o>6bOmfv{iI z!Q(wph#H(I(KXk2R-=aWyd+f4t;lQa91upzX(Wnv{c81B{`g)F+oa-rh|K1gzO(5` zdcx?PJli=#A)KIP+qQy)EWk?9cVPFg1E_bo%QFD3*KZ$j2UzYM|NeTA+K=Q@OH6bf zV-=y=z2vBz(y^)cCOW*T_b+u8Iy*LJS#tp<~c_sX(cRWr{y4>^g1w z7;U<560}6BnUijzD^OQgkckH6(w~_BBy#k5=Gn~v_sJ{&`s62jLR?*qb}t;m8PNAy z*$851k9&jLAKv|K$;)8FB3Nt%c?#YpCeDgPyd!lq|DR9k<15Xl4NXyyhrl-dzvd?~ z5b4R#ha~0gez$~RIDio4DBBSPuwD%VFmrN%|KU0P7uX~NPF6$uN&UP0Hg*4^v+(vu z7aF>GJO^YTWGKgf>S)&90libu=~;x*^H&10{M`b^OOz6hd_(7hAVfc+N{)J__# zy5VI6(?%%QVRzgrn4K`^WI|E)3tFD%1ex;5BQ!5&m*!N4kRt8Q2G6`UNedE?;F|Av zOMe(KOmL71zb4%&nM)LMXOB*YC_WCs4j6xUhVsjlV3%-D=!;5oMtWTSJoN#qAQ_R; zmKUb-4o86eQGd?CJppYbk?={1il*mdD8#k`cZ61ow+Q&<4~J`hNvPLuI+K`^6#M7I zTND9)NUayN*(_G5@#NJGCc$*zLH}TOZZ6<#gWQIpm~=izWV`d6dwatXN!Nx~{Vv@b z$HBn!k}Re73xQ00%MYu;QYCTgVR`qGQ`mzDkE;(ZoOf7fgDo;Eum&CK*hULaLr_J$ zWvt|add%49(VmNTQTIGi7X9(J1EifZwyNo;U7sHE+pC9+*6ZH6-8F3|sv|(Xu(8l~? z{J8g_@8+%vzmFQE4$llw$mBKRc zhbQuZ6zytp6?=K>d3E)i*z*2ya}2HcCcfSGoQUN7jEFma|L*)ev+Z^N1`9l@dD6Z@ zf+U2$MtZP9f1`%^WvGV?lso=#dD?nd1h|^wpPuiZN)MA?bvuMs#2M(< zxBXHm5lgvFu7wKJj+^x9+RWPdIe|Bn?aJ>qT}jtgeqyl@VOIC4p}#vc1o8;NAJ6+< zFiUhs9xRH3>>W}UV(ZDQH@>l0i{1)*UetPa|DlBV#m`FH>1#==Px?gsgY|761FOob zwwIW8Ec~60_1}Z3&)eyv2o`WV2Ww~pu2X~SD=Al?4$BrGIBGd|{AiUjY4>Xdl&n1* zt@e$49TZ#!J%RgM{32dH-?o+(z>7Y~Wld zbsY6a+OxF4IO_dO+%aD&MIdOozqRhAn)DB?H^5V4RF2|Ax z@N5-t#|s(JD7lmF_u!e32?Vpd=wk;`)vzOMFyejP~i z^;5jEU)(F8`!XN%&+er%X7=Cbw`b+x+vYoBSz&thJ}((Cg{Tm3#+}iHJvehvix- z_v!i}dzkmob5Gkz3o^tlnf}p!sfoyb5=ER56rx|@Izx31T~|l0f~;1pne2AobSrN5 zp)2#lyEO1#_5^~*Gcn{j*PU0{{ZDmoj(@5FjSB#c0-VH;*Lu@*9*w6_St0g1UD~jI zO2yrvfRn`X`e&ux4<)CLLoAOMh(;oCo++)RCl#A1&6w7ib}Cy*p41;p?6Higj$5n1 zWZF0*9eebhN!VKTU_3;!Z+*t6PZ6Zyv~0(f4;0op5h zX}tN$?VX={`XgyrvHbTWP4Lg*t*ta23gA#qgo_TIzJ>G_H7^B}XTM*_OwQV0YBHWEb0C{@w39#B4OgA4DD-*SDf2qL`!?`Et2 z9=`aK^frul-;J)v$I~zCI-fvqvd3()&1}SHN2IVadhMcbl9ZFCnjeIm4ns*o4&3tx zkDmvTCGa{sm?Sx^rK@q3OcuZIk$mdG75&Oo*{QW4)%&}Buc}~%gB{yA6=BFDRI}S}Jwq8#x>dS*4(G0)l zW&w2zrUD09uLEm4YTFwb4pK{0-sOCUgSuuCp)C|u&=%)GpJvMOAs;aON&l`w_(Fgy zkl8;SYAxad4j6F2+om)^+_YqEL@X5bz=4pb=~E<)cgk%4*<)OG#f$uuE71Kkh!rVQ z-ze#c<$wPHrwr-E@u1%Lh?Sx2*!|f5Qe`4!=#%KhM=u(28_tI zx(`<;jrEW4nDb@%xE|kU~YOdK|!4rM600bO{ zU<>2B^>w!OGMW${LYAYX*Fei(o#9i`G9RUT;`ZUN=X%2lVdeC2!8AXbz56u&c)cDS zmCfDL)RUdehXKe`Wg>kfD#hw6q40hS-Q%ZL>?HBuNJvOY1k?TOki}G<9OXS5VvP6Q zmU>+TOedS{7abi0%7~w--W1zb1caBF=ZA;N|D)_RjC`Z|o0Zw_hdQ2@b3!@pN)X9T zpsurv^S!ODr>B&i#r^I0;e#A+rQ#2u^LWw?=^(kF92j_U9?4y1-n-VQ1d#gZjp_Nv zaM?v@%3krV4^)#vrRAn4$zTTZkIuFz@OrmL1~QINxzJ+Eh}EPT1of$9lEsK6 z{|=fr!{57>Elh1uB#Qfg6l*59Okqi5(CU=?R@r}Lz~!k{j|KPjHYL3&ck^j-*``=6 zCg5yn63Dxzt#2VQRA+tqh`A5_2Oh_PW1ybN8AG%7Nc4gO~EUiP;rG!n#Mpd&&;-*XaIUT4R?s9&PtN9s)mPb0whW_~SVKVnJqfIrP9fev%Uf!bLJ_La z3NR&tCt6P??9W&Tz&2M+hSGEj*RiVZWH&Wi3}_1v%BfJ_jQae=h*H|%yDN$v40UsN z-<=7Dn=Pt!wK0zmgd!B!s&6B`N~LbwgI35Fmi@ss?PX#sbxo|{PcUt#y~J^6Djo$Z zw-)i*v+spmZh@h1l$CrY5G1ilYnqU|^v!!)K5y(w-R4V&tqMO2-wD+nee78W!C5`g zaM8+uJ*ni@l|cOZ(@-%NKbM;5Ccs`>4_g}&k@+Aj$rIK|YOu`V(XR1&9Fp4C|5)>i z$=Y_4OW5q&sDV}~V&ZkqM{}PMr}W9nZbJkLi_}O}%-4s}tWzX+(yAHgkB2e|E%3nx) zo-g6`XsdX@^_-TFaZb0_1zLOCRlm^c_+Pq?y|r!m%)q1)W8yzT5?uCIy-x9lHzfMWTnA3zVpT5gzf?KJ) zj_N!tHaJSZ9TG7`nlu$1+krE#-<zY4P@ysnz{=51p-s#q<5aQtRW%uftrgiq5`vc&6zZ(BTcNm!O4MNNeIKIEk zyT}TM@Gl>13`$j>d^6kmVLVqQoQhUelk+)K)ZYf00R~cmWhF`gLnmPRkMC>w@j#XR zD0;HX2dfVie&`=6=8`~Kcs)}b*%-`68IeYeGNWK*%6d=!%UGpy6(6C5v=qqIriv+{ z_Nb3FTBQgzDAJ>z8G-=+XX8vlx0nwz$Z*FEK07aA=4FM@NDL~xs_){+$G2w4NR)$i z9T$>4>c^kS{bWZ}pQ$!3+S~`#AwlVI73X+|aOvDm*Z#cK>%1}1(DiJ{S>UYwPupGF z5r-10xe{tiecS7J6q?DBNYqCt>1K}sCawFZ=U|V@VfR69ZdqVX);v9ecfOZT2X^3%9e{=)I8{sQ9}+oiUx%h1oN!?19!`YR95GzA??%~q z{aIq6zYn>|CpAgtF)FHG7?Q@~gJ+;JS^w@0Y1?dIRNu^j}kW^s75FuzXXbvmqGB0 zBE#we6JFM8DT`bn?DkMg#}ZAC6-M8a9vOb>hUmk$cDFjuGJb0(@(piIzpUHYB9V2e z+NAl0)0e`+n~EN#{y=S8&y0TxS#WVh8c^(ZCuN}?-j{MGM42Sv`cWK{ZaA2vg~FmS zR*p*KLjWUj6=%3o^|#J)#JE2t?YJyy=E8-T+1{Mu+QODc2ThN6^ELJQDHe*3*?&7d zQ$|#9YqNVM{LjK&ad-r%>~djGVFyuK}$(A2`b6quX z7F^&?ZGqdY5H81i1`KMBlt%m7iLFv!eUn@DPu=-2AbR?KfjUV(uEhFdb)1`$oZe1O zl_H8=&SAq@%`PH$oYJ*F4|V}ougCSZWW_2S-6p+`%=Lltowc{?%=s|O;;oaEI*$%9 zAK(#THQjg?;-2kOSX;}_yCC{xZrca5l`g>wr3!A5dHuuMn_V8}a?*AP8-wSymTV)V z`?|}gsRg#x$4KSi00IM2;+L1ioI%(9V^Ng`B^<#H4vP}p`>L{Lm`~Y};VLsIdFzA9 zAN|L^8{(5{;pr}{>bGv2=$j{pl?g-yl>t2DLn>=X4J_rfQFAPGqzc%l_zz;N5#?rc zYin7C4}R5qODEX665_Zn3aFtC93~McH^i{WTDx}O&hFV5!;5{YTTTG?P<@c{hqkQw z%avRspRPZ)w8rWxl9VX;$9{k0%+VlJqaTtD@O}y)(d$R&BbH;k3XPu!V~pfLh5*2q ze$3v@(^h^_+Jexy6fBj-o$)0%0msUfDnf)m%S3sCd-C{h8-1U&M+}3BUeg*veEA^q?e#;NYhqIc^zak~C6PXFH)UyXSx#-7+c#ARP z?_^@RFDHH_vrCvNHs1a;Ue36F&ITZ|KYM=tK*b5L>TL4tPPM+Nc&RD2?HcG(9f%cS zA@k5VHS*kYBS{DiB|LjJZ;U@uS#xM@Y|tc4NUA3DFjkh|?wnPTvwvC9eRe8AKoOzQzt(nN2T=#ToyPR)) zXj@jwIwgHwkZ=LGe4N!PZ`)F!;0EF^yUEQ3@!C$kKEYY|IlVZOZX<|)qT>5FOW%^7 zKgIDoZZn=XGxrBaYkdJx)0%RE3?YGEEMU`JITc!b^iiL*Mk^ z0U`&q-7@aA#rg`P`IV1gU_Or@gX&4@wiI7wiuu_lI{_X@aK;qDT@Nqg{FhDCGpniB z`TT7QX>8S;JEe3snwpriJ``?$-^8GAd2tPgs_c^-P~HXh_JyoQh)VgTny|QiDZygb z7vDsm7f+A>g-`2MR$6IQh$Fx0)5i5}6;|EE$UP(F_wNO&KIuq)s@PN^%4x8&Cb7Zr?*eEK zA|2NcX)fS{90+sXDgL!LY!5Oh`roN==l#A3G#|dU&C6OGVfQ1|=>M+<-M7zi4Q%I9 zT0V}CK&_>MROz6*xu<8_Ao$F631AU^=APxN2rf~ki%kz0z~`0}Qi0UdluMXA5fW@G z9p_<3mcR0dY%>ZSMw6&f1?tr}IfxDo=!X(aG9;|e(mfTdGR#OgiM~dvOnUnp?hoFS z!8-}o0@-s-e3$gd%xx7rsM-_ca_t_>Yok29+^nicF<7{`hZ12cj)`WIlpHS$PSj`# zCFeu&+w+#FXltAN4`f}RS>PA#RNAA&=XW9_gdHBXmGFeakfgepfIc&%XT0TF*IX}}1NR%?+?)o%^rPWB3iXp^t99>5gC8;|HZ66kx{4e);ero~?KrbwN1NrT!!qw(i(enC#%DSv*|?g5ltiCj z+_Kv))4Vi_%PXc$+!CL$DrEerMCBv%KtD?hz&&8KZ%ZsPVb{!QN$bNM8;5|_=;+wC zFEjVXh8B7ll0?u+$^8v6@$9*T-q9maR&|}JXD$eV=aq* z4j~=|$4Cqsq)*;={Nw)p#J#F~tlZZALptfo5K`qiop-U|TXXrBdRzEiN;1UXPAYT) zfah3`Y|t(PtFS);$FD(pM4CjdYZmA>eAU2`PL#DmRhl0)1vwG%_MePG6@+j0Tb(hR zARaL9ww5&|&~D(ux8?PD2Lw0;aD4>SMGqhFcATFwGfpxb&M(U1yWxGj(wO@(KM`eT zNeSb8x^i>(bnSIt_W@r=FqIBDAFwQf0m25K&UwT3rXH_tR`JEp7j_{RSY#rL4%O2) zoHnUMFu+V&0v{`MnuotA8vFqy++xvy(Lq}7yIX`o;&bU1{C6`)`ALq8!E^vR_cZARmq??I#|pwC|> zv(3CJ8+!dM$!*V)q=;+;tEqraAnD{ml*|h$TpWKC38YKKBW;M7V&xeNtUXr9G*8%( zX*C(>IXv(@g+h-DI)rk8sddkDjLPg9c@U1?kHJ-*6jw@__uKWYILg`A8jtkIB5i`G z1aHPW-dNu7>XZ&QcE>PnJ)2j7^;>wxO$jOU5?1b?QYwGxtvcS1uKNMyH}vvmnh^7@15%x1S9YO5NlqJe(MQrUIVFRlsRvK@lW(5;7S zU3|p`Qa6pP=lBk5jLG;dX(sy0;zQ-a0=O3m@96Xl~mMDy>VO)bcuQZL{Yg} zwethKyVpE0EGL>;p8_;($MvNeE7|56H47=}@FHNjFBA;%)PRi$lTLS!Phk*UVf=NR z0da$$^W#F2H?5^TNKkJhu-Sf(1|cdnWhD!q+q`jfOHrQ&Dy2wCIc)G#yWG2YJVdfA z`nO#<7QBv#k6eFgec%v5%=@96cURGi^M;i`O;G^!#20SM2AD)METr29Gc}NlpCfKG z5I}#}F45_?3j`b<>4c>kDr}#8|xp5YoV4kCn|`|qgrQg=Tm8IPvs2=aWeH$k%XRb z6}|~XN%J@&Ds4xg%|Q5tV+eX^J5aTY>ue!C8WAdB+W@oS_H>;#j^gc+{7OPevwC;` zXj_Sh_GwNe<>*esoDxii_`AKi5lY;=r*aj38Fp0&UGKknoQ*SYto8Wu$dOeBc#nKY z)0qFyWO0A$Xz`PN5_y8Q?}kv$2hT->R(NhfagUQ5P`Vh5s^d(x6ENMr@co!;z(`z( zXv5_UBueJbiOem~YTh%Yexo-2Ec+L`nCpi0Xc6kChcKbDZ5Ow%ZaNw9m7C*Z_(T%V zU_8VCh4PgskK1P-?zWQF(?qVZ9TV+s=Y3Jvq&CJX|}6{ z())2wj%n9NOU~fC~}#5M)frQEI1BbI0gU|(m=gWpP7*uLISJLRowx_&`ibp#Ua}@rX6pIJ+F7It@#aqz@vCAvgU1g6MbPCbyXCAL zG#<;0$pkfa0FeVBA;t`lN-Nze3~Xd-@bItDx>WM;&jx<%~v1r?ax<~yZ$f7mC|V)77Y zY)oK<&OD)67UN7DE?`Ck2@%`@TsRpwf2;ZCsGm=H+=R6ylB+y6!+m6pGo8?@yZkTR z%9a@*#LkMY`;>h}T#dMtjpZB(-CkTFW7vusi|ybtnsi>+Y#Vw$NXbA84#RTYurLDN zFxY;kP+Tx29#W--Mh!V!B}?oc+^vl2rTlQl@%BBWF*|F>*VjaVoN@**V~JGmTim(= z{V0TY0dBmDou0@|Q%N-gIs_k??8ogd|9DpUj`VEnB=TD8wQA1{FX&0f`1CGs+oI}^ zTuoZDkvtan(LAG@@6S1<_q+T?g&*It!qakMjAowV6Mk9Z6w9@#PwFy@m+!i#G^>55 z53n^wsDjNqv-Y1CaQpy9jNb@9J^eydY)80PDj8xmdZFlM$1=uvah}FH5bcehcIXv6 z(^McuM-~d?#9Y0SYC+!T*jljh7=0NiaBGOW2b!LMu-708O>q1abO7C-J6cFQKwRy> zP~1!CQ}Fc_ngirmbG`%7j6t|B6BoENwY$f64Ff$$z}pLe@;t98Vjn>%BM7JZtjh$g ziZMz{wUGl9oB6iCe(5Ms@qq7RPDI&953d-8gUG`tOU-t!9@7MLw zu3x3q9^fv(vvX4HF%a#U85|FLd|Ms|<%geiGQ=&f-<=1>X~a1iTtoKrDth|r_jdyT z;9E@N4RGm0h5IsyH#}|@DCqP=A&JMMOQIFykx^&j)s=PV@HqX*-6y3VcejQ3n$>NI zMcsoZJt)5hRePyw;u@G4H1{FUC+1fl{>$N}HFHJSLleQzP2R|TG4iq1OF!S|Doz4z~T7c0kE;(kjFo{Uf2hYnWb!mD$&3!_@ zQ$}@Ek=>@0nVQT%db<;`sNllDn;Xr>s+EXDW9!nIYbYmofJm~ z5X$oq%|zxfK7VwFttcSWD)+;q+k?5-g<#AUoQ8^!$ywqwm%)iO|AHS_dKv>o`}Gt# zn2Pp`jDy#t#zrW;QbTx7U$s((rkQY4;-B8qcbcb{WUT&9N9*T+&BSG&4R4iFd1OKJ z(`$2!-)35g`oYtys8SPci4iLwS69hhkr~UIjaknxFL_uxR^yqRr~&a2kUe_8>$-yo zXB$M-f9)8c1+%}r9AFei;Zas7V2l-n1-2^Rj3UFr6v*}<5tqL~7>{8^iH`scATcS*2@(jDz1;=g;h}w! ztZ36l>M*iASrNGIK*(cl`|g1y_nVLFuf*EoK4Y=&f|6=yg&Hxj*6|>>w@XtM7IjVt zC!5?X*omfo4FAcGk`}fQ31iGzR5po5p0x!2-%kW?D6p~~A0d*KT6(emE(UyrUCU_i z8PW+cs`?mTWgw|gg6gG}0+~u<>KIAjB8LB1_v~2|i;Q^532@%p)!+pcpa~!a+DH^E zMk%{`W(U_*apQClZjR052)S!thvDY61?W64i{X1EF_jVMbHIEb=cHSRV{N&WZ?SGH zG2^PqWu2Hc5>&v3j&6nb@F-VBn8{*?TVs{GmAbu$UF8i)j^FpIRsDCc7VN)-jN@GD zGWUyW#8FK#3}7Wt#Gx3)lc-Xg?B&kNaE^3lpJ0oVMIMn?j&els4`TltH=g*dhmjOx zZO%_Q{UUn(C)QFyL5BdAZhP)^cG(L{m^9qk%f8bwV1B#a zgempC`rbe?;QquvP}AUi8L8%ewh~~?EacHK2q{VhESwqKWyfH8tP8xV=(bFJD<115 zPZ=hBOLCad;(3UghR6Q)D*qzVDr+hb9T{V%HyHN_wJW}Se>`NwWdt{etJsR%e&CxLi11I{-x@=LCNx zJqZ575S`snG24!Z?Gn$mC}j8%dRjy3_+D=2M}$NNvq1Xhdp^;qYzFd*%7)o#t9q1@ z0|Yke?l);^Br`LH+ z=+YgdE4*>cvc6*6%=7?Tl-G~w?@_aAQhaDVQ&wy;$vm`AH1Pl(Y%f}c!fU3(ROiOb zona28d+I)=a8d-3iejy8pH>P8X-=COt5&n~RvK7LoPWB|%~qx4>dq)S z4qb&daONmB+-00(TegV${8i?3tc3(yMYgXxL=o(*MZmK;}!)1mY||E z>T+nw$ZkLzvWT2$$G852id^24d~_`g!~{th%S_S{NaX;e6+*knB-1Q7LtHcNMv?Do zp?|B0;qupe2-69|W+EeOA{x$69^zc3HFJuJ^gO5^=Ni-)ZJi7@K8c_^>tfakK{xFv z$!oXA)j^qM*U&|rEyTC?`O{#|Kc;Bp_S7*AX1<+QtmnUxDvC(F-mk5xRKGo|X@ckI zM_>WIg(4tc_6>@sy!_HQmqq1ygxAxmA4Y2O)+w6N)#i3;WdXrfv%{~v$O~5JMg=^N-pZFVgV~hb z@jLS-)U1865`Zdv7j6V%4Z*LFJ%Q;F&XlpblFXBfg6k2M4v!+k5{t=k(Iu*EWB-)w zPl-j_S2K}=Qvq|?Mx!p4uFz;HFQsGYxw-)|bK|gtH`{&e@cpoFe4N58&Vf^55?%M0PMY7WsPW63#~L2L@Sq3 zL4!6%61^hMTCDG14k`<@cDR&+EJj?DHA(F?6#vRzPyNNNS4yNW4W}aUHHhtZTz~fX zFuazVRpi8;&p!e_?jCn^gpgiXbPIfg@&T5;?{T>!`yxUcnEEd+EU?TzU2btd+7v>z z?p=PR%zI|VUwv80>WHQ1igIhnz-~LGX)U?RG82&-o!?ve5z^jAcwd-&Jx#2kg38MA zm{Uay{Wx#LsO?Nr5asy+8G-DeEXrR}^w+FMQ4jsC{YR=Ib7s6t?wkSP{qHJo+CKnM zmW;qPUao$Q+Gu57^qeGU+8-Kn5bB48P=mIHaQMN9-;N>ZAI`h856Er>?}iXwmggH{ zb*t?#av-;Rb_t_I6pX7NU-r;5e7+)}x#*zA;Rw+WB>LNlu%*aw^P;D|ce1%lgn!Xm z3}S}*|FGNM#es(*o3TbRvx<$dmE#5+OkadieWJE0D;vBW&+3HuS;EKWan{VI@_J~` zgCPkXR1wn8etGDomWQ|Ks^x&#s~ z#1lO*!PpVm1TrRbaf?VnsdlB~3b)#7>-Kx^Ecb-M)9GLh!5T`+spCuWAzT9MNjn~y zXY`Kyl&`^ejav-=*3CSC_R;wr1n(h)&01?g#Bp(mz?!rITw$+XN~GV7q9R7T+^Fl* zgmExg{x2aAYRoCLuN=|te>=ssr5?r1F%*B!QBSaT#$cHC{PbD5rh;|Keja_ehPX@q z*iQTA4S^+nZdbbaIi`X8Ckrvq5x}G*s7>SZQ)EL{#McNh__NPMjY7_{0MW!>rAnKP zQws(e`=7H1XbMGnP6Vsix=CDey1F(g>vxOmYjKhTR*f|J+6BL7?W;9f>KW$stEan^ z@p&NV!xN(&O>iN@)gKUGb8S9EyF`#$z9o03s=Bp|QNzl7%ODSe!lsx56eCeKVIjzY zJ!IlYk=o3Fh{DD8KA;7fZvq1B{RHbij6~C1s-J~i_u0YYSgrMY@-9qg)!(Tj)>K-! zsyoI#xznaWNYS0g;QD{(1XNFd&g3c+)lM>B#}~nj*Kz%Sr$9GxX-r7*L;{=6y!JQy zw|QTRxAOI6@1v~_lIcg_yy&f4x}kxCS%i<1@?h49^P;>7*a z+yb@~sp?BgK_LfW7+Hn!#TkRnGTuLPRW@>VnN^e-W7Gi}tctAbl!#vQDp*Ic+s74X(ia?i+C!G2@*2A~b7P(IWWPPkf&|a!tt1UJx zdc)gz&U5Ky?tTtRi7B1OsOzM^U67M8e5vX)7Jtm3Hah&;3e#{7LmU0>n$5@$AuvS6 zhdWs7#6$All+H(>>wv5bm62+ug}p^KK>WahSkdT~-DYovy05i*-&an9QTTQ-5KuL& z&MLg@fbLd&J*Ptl1k-7L%T|wv9QP&a%vQhfDc)YSq`}yS56$OuzBp`YHI1T?uNhw# ziro$i5M!u5RHDB8`gxd1K9J4Vv?}%_tH8ym9B~+OVU+`TQ_c~1{h!9g{5y;<1(IDW z9!hH;e6D+s7(Bs^f%g;>;HZmn?sa0a_lSI$*|32Kpm~p1$SS`;4p~~JDo=4&=c5Zo z2*GVx(6W(PSVr(yySrS$S$xlZza=3eD z`tw&CKo$2bY2B#@$k^f8>@%vIPbzH=Yp${X$Y47o) zUv5?~`$FMH!*fD7h>6A7bjS%?usa+D7r5pdu97N*ipk?gE*Jfo4UcbXT{Zf$D>lR{ zPsHi;cNDOLn&Hg)vQ4>*6f11c0l|w0Gs$WNRdc5B*rzc(VR=TEZM$vpjnvtHRK8s!_v7xg- zVIz~YFdtLfchu+puTkYk^F%7Qg;oyU-bFoSzwa|CHzJqcaT!&Q;4S9-w&j+aQPC1& zJunm`6qM{Cc@e&(<^`WP0C7CQXQgS6p0tu~2IJ5yqM}3wCJ7pXmfcS*l72#-83%r7 z5I4Pc;vy!NdgR$*6d%VI7g4@uOzyBD*gKH32!ABewuvCX=HB|CUA(6iwk2`HY&7DV zNI;=`VW*w@`v>ebH17Q7_wT=Dp&$8^G*>4(Lka8ovA2fhtKF&{NcboZ5`%oyu&Nm* z13L7>v6^Ew#?ZtjIDX*&ewcv@&?(L~hQKK1ZC>PnIOS=5nxYtdtr!Dqv``X$-kP$z z8cSn(r_`trDZd^jDh@>&ej6Jq&j`eai`Jl_DGayMM(vjyxqr=_#`IXGY&0+WgF9r$ zx&!qWBP2ItB`uLIDG!<$F=6SRibEwuN$h&o^|P>aB0&9ox2weR_O=xkzi7rL#dYLY zmyrKkG8elO@S*<$;qyoC&kA|>0eMOoT`d#&K72?J(|M?#BgrU-&dBrO|8^hrN$X!a z-jFZqFG)l0N%1ZxhQRj<5ONGiBYxG2PBM2Ju(YAeCg5;O&2{_AQF>rLyt6AU%%GKG z3mE^6IOV2AYW_-`l4x<~?Qe_!{XX{B#@Z0@zp8-qqvI=;zs*iZ5H!bIgL@sY^PfLe z_K`&v*V3^`{SK!PkqMnnm{Im16ML|FAk9dL#DP4f!8OeH4xi9KVH^E zS`q~NW^1uknwDAexV8#^;na{7ATh2NE&6-NxzTw-V(F5YE1Q99<(8g?nE~nObvaww zn6t>HOJp;6g^VZ~FWe!ex)^>R-y#M3m7&Cg zh|lb9jGv$kRSB8(EHhTjVEs`T4}9zXJy+K16EkV+Ja9Ki;*IXXS0{Wo^8G-I(9A#) zqA(nqN@%Wtmes&SK4BZP3j8r6{KMbfPU*?n}cXB*7 zhlcyUqP&dc6hIDU%u^QMT> zaK5Zc#y+*9XI2$zt{;rn`->3)PHUBBH#YZL4SRhQzz}=}j)Ur;MTxHxUWgJi8|b+YN{MDYg#{{qU51lM+lT*OET(>x zc-6hNDvrgz^_dkoHH?mpa!MgN3KKRb4BH{7Q5~5D(I^=0esEIN)ti3wwDf0>jFkA# zz}oAvlQNlMb&^NTla_nkbUN#*1-S+lOK?hMLO;|(fX`IwuSe{&@?44GPm%%qSm>~|_45VRB&X-C>^bdLj8w@A=l~KnIb=y{41|vn zotqnnxhq7aa-<$O7!?pqMMSC=bJ~dG{OAS|8aGJh(mV_`Ooo_2NJ)>1F{i~0GBsi2 qjWP&%_1wJDXQaTsYgJjCS=p0+g(Q=Wg$fMX@b&-7CI0jP5Cj11>wd`q delta 33597 zcmX`SV{oQT*S4KxV%xTD+sVYXIk9oXHYT=h+Y?S~TN6y2NpgPI{nT6EpZ!O#uCA`` zRn>df+SXJoL}M%jEJ-XZZ1=I9aWX6y4jwwYQjoiMq$n|Iz$>hIhT}$kwBbp8vIaYF zlm71}+`WhWV+rSt@xgj^@8o1<(k`hhvx#FN%Cwe$3~=MDna;NOksL5!cqAbl|qNab;0_2qD=)DYzQ4{!_k zq&Nq?PfhuXfe`*TE948OAhHCcE%w^ZgIHhuezprDkpb~&b8G$IBL9US2VOsj9|w+B z>SacLcYt_SSFIL7vnOqjU&gvd`VpT4A4&f}DDt2HFUpS5n_!GrK>yHRFd7<*Egvy* zR^^L5S=Il57X-h#@RLH)?+~fyRVvE)P)4(s4fNHA+vRfJR|A#Y*;Uk`O4!|WZS1C7 z1b=QU{`%wEaH`xNMAB~1J=2?69ScgqT&)KLj!5jWz@OG z3|+4B!qbf9&h!%*usCyMjUMPRP`&jjg%O^4ai-n;L0Cm?%Bl~+9dwTP%{a!cjbY+m zlyj6c0o=cDE~jJ_PWlNphfr1o{)0bcFg`T|V84fYR{IvYlaBatyz#YwGFy_@5=!!% z^G_tN>@LGZ>PXe&&&u3J>>suG&6*A&z@E4utul*0?Uhm-Fw6ywy&3;c3WPusd}%)@ zMG!EY*WL#5`w;3mS5>~Wb3rH`Uj=s#6c}JMD6ZiCHe)|X=9d4SsPUP8gC3G?m+%>* z>ilY%v|%)=#3{xJE18^Ea)YnJ5c2b-IeYmP8*yXVhXhvBT~-aDb29STGcD~nn_Fe% zq>$Es0SN?N`v$fa&RwcJ2h~;n#8EI)mUQZC!i`j`yZE)-7cx9~!RS6wBS^c6f9iNi zievWjdNLi_((;*lx^XY^ocKzaXhD-Uh-qPT=wq}EihUU11;zee^ZW7(5P?0(*aUUt zf#TbwwLl$B|Ak48)k#oj0(g1zd^zu=@6OaB05rnpQ-ppvYEzhmS>K6p`!;nFU&l9P z&r5~28!rDy2-AwM#Q+AsAd;^(4TM}@V~9bs*npLS!w;4@(BTJYqyUt$OMC5K#eKsM z%2;du2N2nayL^d^(xk8%ghm>ke)aFHRs;rAiB|*!R26>ve`js%|K;`@v~$!4e4gGv zoZj3o>|X7(Y*zjYIs=Vwo=RJRoN962L6L7W(K~~Q5)DGpp{V`F@_SF_uZ!vA=Lgd_ zr5FNp+qt~?VTUU!p8pnIkp0n6O7A{&BG_Y^Y*?c9BhOyKuVPIY175eVv|ZQXq+c;t zvv8olWZzw&h!J>P`Q?_-(uunO;>r79I5cxR`B8AefLO5cAGm%*PS?fgVA2LC_4$y?76U@hbpf_FtIuWc*=ylmlXP_N6xk0g2km^37x2QWtvB4B1sC`Pr-A=O7%wadS`bd$dPcUjgo^Y3n9^i zB{63y1{X+s8)u}F0db3HF!)UdYf2f%%xq3{8ey*qM-2^Zo;+BL*>%syEeOhe` z$IQ8KBt1>!g}}Dqs7IJmsdpK+h;Ecz}DBxI`I}0SOxG}1?&@& z5*i%k;qoI0FnjLFn|k3PJQ<)w5=Ero@YV2}awc3tsEV%*jO!-aGR+vIw|(3XD#-OA z_k9J?TCod~JFSb;$~Z%V6Bs3>iPJp)0s)6 zSQLvyA&Ue71EL51;mP0*TQkWLX(+pGhMbl7@u8@!C~hc*!%#=>^8}@6Uu}&EXxWrM z^vo&Dnqhv|OKDH3`u1rQs>_0xeb=W4!#|t&bG`sgu`gCZ zB=c3!y3-Yn8yOERG|b2|b+@ax-#p~>8x@5btn&o}VRoQFC{cErH2iuCG^cAa1aF_5 z?8A0CAcV4pMxNPG0W*-q`u!F>e=>m5kVuYmj<2yJbu0hwm;>vWst9{I9mbCpgsCDF zLI!O*6Q3#uVGa=w58f`6{M-%+q2O`M+F2c)cYwN1o~fQOH^G47h?R_dP*f#-@s{B{ z>LYr$@{JzqHDoF1yg=3lnlS+8CnmE$?X?0fU~^neF;OnoiV$4uYiiA|hFi6OR{oDr z0q0ry7_u>_%hqhxo0NB#n1gn7d!AawKRu#u9s|ADW!9@weAefO6}l*rEqRhlQ1mqz zgV|{eawGB&j&U9)rE_V@1K0>;qy}r${u(jTZg8|b;@rF;EFxvZOy8e7bFBG+sP06h zz!WRIL*1E~s#HY%MenjC>;x6Kz5BXk=Zz_$cj;R%y3IXrOvNw8Fm^=|IHUbIqKCuf zZ{AsmU|G@XqF+@_LRjDPb$(XvJ-JL52V5>ys60|-&4UH8f>}L*{tXnd>aQ$Ie^jPc zHIn!`6=_-TPnl{6MFf)jTdeMu%bUG;0%j7wt>?wPk3DzT<`h{Fr8&1BdKJdU`0!uj zf}y%AVX3?@<2UujTv&=!H_b$;=N1sXYK%H6{o6`JmqQvGu+pET1O6Nue0DnLLcag( z{1#?jy`#JQqwb4@l$`Du2>)nE0(~x=0Ff{~|70ru4J3X!S^79qwSd;Rxib*nfISI+ z&(M3WJs2GRSToD6rfgHLpfdIsH^HsotmMI!M+uyb_ZZSid_vHmP#7(*dWQzKU{qne zAmVPHp$Xc=+6)LRllFW}+Z&5gnzMKdvKes)?DhM|ONp2&C3aA_vwTIhv~4o}g?uk# z6Rz3-doxs;T!c|%IEMe(kns5$Ac69uaXX|7C6(0yeG>kugQ@e^N6N`q>xr z-?)%}pO^DvpEvYVLc(ug^k8T@lmpDyld(|@>e7VdQpn5brr^3is6gO1GBV0sV13jX zjI|8x10UE9T7#$Z9I~e|$xUvQcEfigqJkTV2fw+6`-P!}2Mila(8)}&)g&&%h1|qg<_w&`PfLP2=;10CY5_&`d`*tA{d!Dvu(dH4uVI93{4<7%x_- zgXs>q399JuELE>Xz^Fdmoas4q-qC*bs!xZ`H{J;q%ExX-?(ayr%mLmB4$*+=l8x5o zdlg)ty9A15ci2X1;X^w*(BjNJ7A8H2oPoJ&QX-T7`D?*JY-0Ef|EP7MIGX; zjwYFvFI%`M3qD{_ae;rqA=aX<|CTEDg~OHov}Us{c4;W;qq$}X$;;|!nJGjvD-*UQ za}vq&ma=;3t}l2*gxmJ2JwL9nbR+t_FTHs`UTNhrpU#;*NQyd7RsAngp36a_g>@-P z0azVa*NK>FlwP+z>oeSe*fKjsQ<0F$} z5BgF!jMA8}DRKx4PiQNp1$Ux{Z%D{PAP`SQ<>oiIWnyC5`odigSg(w#m6&cAGl~HfbdrYDs zKCttiAsfW4xB@8cK==SO+g2!D%OpMWunf%@dsmkP7b%S%+L25!S6R04P5kAYm6`g; zX}1;XAMHbNtPDbC2DupZ)pw6`Z8G6DC3*66(%`izZYPCh=b;p`M}Y%UA2Brmgy@;S z?Zw1U+c{#$VA3tv{9*3L-QQaUg_lqm)au8F-!;E+z8p8kHX@n{GBGsrv7jL@VVnssFO+2VzT>r`+_wL})+f zh7Dx;YKD90X9x5Mt8Yx_U5+#WLoD_PD||3S&0xqNYb>47duzMWJ#~h0ZDOnRkS)~g zv>v~G?E_uWl7sst=JG$02=dy}gy%e({^o+Gnhd|Ue_ci0_Pvgk##=;@ABxs-3pe~# z)b=RN)vXhIx`-&O*X++RL2TP7-RGk3U52KV-GKyjdhs8t%f0R7$wTV^hBgb+zq{m< zp+xcmg7{!UY6@{)sOgnv(eytn)!?9HW@D)pJR1Zb?7CsPJQljxDu{)-YgTi1c1H*5 z#vB~+H#M02Wv?8yi7shUa6=MCJ?4H_7X_B@vlF|ZQS9PcKQcV^iy&@lfq!Mu7qR_@ za$tP$v#*V5Et|-oPiIO4=rN{(36K=g{tJs)nU#ZmPW5WbEVtm!2ABY!DS(AM+zOA@>e(qA#e$$Gwmd{{;J|CpjV`)!W!2Skw~qo@p$>X)gswM%m)g+`C5{evP2E!H0JV6J|n|L7fP zuVRX>(I_P2%%QwlZNlr7D{mX;MGb5hWw@h4+rU4-4e8TR3;5%qW0Jr5>&kde>hY6m zty%Z*TX1W7m`DZ}Jm?mYZeZ4l8^|*Vb^lyx<+ha{KL`hKkC?{O7Z+`8icE=x21&XQ z;$FcfRP_mYa`!#xBrG8^IN?X^(Ie-V17NP-I6pg23CA0 z1Jejwjog5~Gxh;VTgQF_Puw}e4}smsMkAYl=*+f0NG@cCa@~>ZoKc=AO@G!T>D9u> zi!c}|Q7eL}IArCA$`!aqcIJUQ&dkdFYoZK?BX8Y}(281=8zzsMqN9Dg6{ zGT~1hrO>Jdc|KKlKf$W#DXrrv(`MC#5~QNRP{K=M9TyG9E=qWiIB<))hc*;3AsfAp zd`(^q-K#QW@Qa@qxh^l?QKR$>O(5@&7c*#2n~~_@eGL`DI(f2dxl?&`usfQH_`oTP zqlW;fu$9vMN;-=S+fK#I#hNWXwb(4NMqt{orFe=loPX6dLK_UoFT-{-e`HVP63~eE zh@yT*HrwPN91{ze7tncU$vh}#L^q2|;zCAzH0I~53b^|}b$A+>L)aGCO%}hBY%Nq7 zkqg$8Sb6HIE04MP)y$3P`^k(B8<9vl>Ei*&nhhwTi})1Lc}{^%B1Dp|TPwIs9NkDFw!uz+)z(x-5_BkD^%_#U zl~K3Wr=PwgK3{BVAmZ}YVBtWCuM#o@#Z@ypRS;w zA5GeD@kXR+Mw`=1@jcL6SE4`!XPz_U2uTY!nmKue8i&b^Y^->y43bFp7xXU!AzPEn zbyK?h?k)+CP%|!QrTxWrnpnQS`Ng=cwnCC7!A%sh8qwpC<1Z^DXY!i77d(Jz3_FJ* z7V|UkpaFlI+1~x;!epr1#|-&@zn9xb4=V(_Ti4GbB+Qb=5eJiGr3a z!D-=1AoLxrIVr#VL9m%%5op1i4y+tA@|v`Gt=u9i7EST>k$!}MWniT=w8`I&`jxEl z%DJajL?>y_F_3r_gHx8&M|=$@jANp}R_AqO;Zaf%iWs>j?%`ML&6HRyMvvymGZ^4e zk)*W**9ko+rb5zn{uKL=c;=v2pDf$^=?&6Ks|Gj3?Kg|Q^0R8N3paU9CL|FNS+uw{pxbQDdHVW(&&u14fc zUoq4$nr}&=kRN_WYWrUI%tWf&uR+H9dma(3ijo+RwO=Hl02iZ?Kqg{d!=#)g!{z@8 zA?X@JyDo2RF)HsU1%#7woe%o%DTrpea>pT#ds5qEW#DI~T;!0q-mWH>xu^;pj_pN- zGES;#`BcIz<5D&sj3}!v|1Kvu>ux}MPdimf+zQKw^GnOO6x2WK@2QA`{oo(&N~%{y-3K^8Oaky&a*L!KHF4s3VumoCDkjV)F1O4ja3 z-rB~U&^l1U_N=U7&gouHo;wo8iMaiPk9=bSHOx2zpJ}Usd3G~DF1uh9;xf}UVue_2 z(Kn(mfh(`aS~v|dheISr^bOB3|8mJiT30bI7stu3Y@BDi>IytwdqkA6;ku$0=1r9` zZetRt8Gx)=eJ1;Kd35+*rJ-fs17+O3w(OAgR#~iEXy51-WsMwYMr45UAu*X7#Gr135m+F<;$$_ao zaq}Hy%|du7Yn86kBow~Y-3{3@$AlZA2{%2TdCO$PM%#^il^^w= z9ac*)!*zZ%JQg;+Z%rww3jgg=8Z6SQ++et9TNOUtMCxmXJMZfj)P=AkiIaE1x8aK? znE!FtTwKpDq%gDgQyDCbq4_Xwu-(-jID}HkbR8{`e_H-C`aWOeCl!i(2Kyarg?mv6 zy`>p{gBYKB_OEz?R#K8)f6^1RaEUgFRV@#CE;(~8X zdc$KfVw99yvzLKp-Vvydj}TIkl78ZUFL|X2gnCy@Ix$>gx=Hz=6no%0W!Y}M0qQo) zZ%WeeMp6)*8f{Q=08Y;cnLweb6;aB;7sxO**RH# z69*+cgl5v^HC|T*If$^$l1d8Zi#OPAbaxy3fiQ*4 zQHg{C3FML>?6}7gD#kDkfCk^@34_SnB`J5x&7YKJ8cfqs30_A2*V(jFcJFyr$#V(qk9FhIwcpxgK4$aJ_VSSN7Mm1?A1Wxm;FQJF5l zZJC>?bE-s6MX?>nK_P9~v>UZbioh@ttjuXLj<;lb(e3z`DP=$d~dIEy)&qGp|*Q@v8|Y!G>nI+(N!~w5_vC7>YvujW)di z;@(j~!F%0Z)ql)_E!#b`tc-3ZrsayQz$~3E5)ngyUe&&NK<0cbWkj1UojJer+<`oE zZx{?{#QvuyGf45%%Feyf_1tqbSHDnWxVO~jkxXyC)Ja+rc${a3tK-+h(_l^HPZ1?; zFNnEddL8XA5FBHq9Q~)3o$OnurQp50@v}ozg4~Me9sF%ugI%_TmX2cnk2`fHCL=ea zQ~o&Dh65LRFawhf>$R0v%;rFyGi9}DL%NeoF;0mi#~>+&aA`$drdpdJRwBADVY%da zw4hF%BPN$0aLZUtXaA}9URHv&dzDj%U*NbQ5k*8jd~KFs|j!w!KxQO1z$N>6We)0q*^-HsLO0Kd+!_-eH`lZs;ED4uc!6IDIWpj`ov z!v|Xb+#+n(PFr%Sky{RwS+Rhy^a@W`!i4=a!UT@;Rz}6)!YfRlTo&Kix)Y@mjU0yl$b`IzddS+=ikNKDnvuk zeIs{#)S&X^(~l?);jsII-5`#q^-6e~9ETaH{45NQ6-_9%rq&b7Wa2)rB0OM}iJ4HI zQOotP)Q)H)#qN>MKSyRr{@yss(B4gc;0E3X1Za=pK<`d%3vX7gk64C&`8n)C3xbXL z9c)d|M)5AwG9%QG=Thk_64knGxSX5aRI6_`D^_RU1=GR98s9%IH4{7bhmUj3)a*?7 zGxg-gz14L?N%3Ku^=c;Dbj*5GF~A{tf09ZFC#VqYEiIzIJu-@&{mV^V|FuC)99J?5 z2+HZEA2MlOfg6U>0wF{240OzuWrsY{+}sgs2@4?}ngrP`t;{p$QRgj5qU8#XCr{0K zWsA>Y9KtJc-znDDEARVU(5Z&(VHuLSUJ|%o#D5DFx%@;c68de2O=OR~(7gBCIM4?n zhCBwsRzscnM&Kk1P7{`u<}rq!s>v1sVB;LbUh+5LhQ%2V*UKT(lL=`F@(jwBq=2ubn)WcR82pWUg3NpyhdqSE_LB#D&x*#LH@?l5_$u zxK$KvurTfDuq{Ck#8(~ zl#s*NWb5A0Emo>OUt05&V*?`(e%r|k;bS3Xv{JNQSS6D z+2-D0lJTHl&t<7A2U%|Mb8)4RyFYCevi&kn)7YaH%;lx!F2`m{3+Y&FIUnV0-hS)& zdYa|l7lUt;&^HtQS(S1BJwgic)*JaZ3U2HAh1;H6ZFMP%y*Bx>+e+l2Bj+GeEkLgG zs>&$YNgww5uSKpdzw$0L@XPRqd@Xd@1@WK^ArTjsiBN!7uBPWFN`e-%z)V`;;QlGI z^wYQ#BlLua(b(_E>MzQ@eGaKV!h;~?^z=YZq7I6KOuO%!2TMePw6aN_IVA}{j*nko z5%p!ShxR9kp)3;Fo8kI}lmuv{Vi*sN5U5VwWnU;foYZD-{)qT}0z!$`-sp)mY`!e5 zGyyp_lq%ac3KCUXUE8V0uJ_BL0WSU@iPSk30jOt64umDdoNUS-cii1U6+Pzzx=OkH zZS0wjf#`|SCGREKTuZm17{jX{H6$;v>g{_ZTl18JIJ(})cZu{-eJ7DKxdqwGu1Ce& zh_s^N_3Cl%I-Ip&K#i5Zy!y0_RE@_ih2p2ps#jWk!% zs0F5V3U}>&&TtQ>q08@rE|)+>M22pkKBRE$S+w{8NPJ`qV6A}EGk^6i_=vV5JU>kW zS#?T#A$c(|RVTG4TpY9aY^a-6%zKV5H5?<7GfW`V+<6xPu!to}PDygyF$1%ZpDo(B zfelBpD{_qf2YIxf1vY}KR*I;FG^hJh?*(~RYZSzA2*SDteVyNflD6Jm9rpv*4U7x& zKwf+VASXvhkI(OBeNiCoQGn?j5c`iq`8E%{KcAd~PES8CKvRD&-^U9^>4O^T784VtU*A$)ly+ z{2|iI@>fJ~v_fvFuaS0FK>V6`z~7@8ba{972dWjq#J;wM^!i7}>E6-wY2pNpU&Yy@ z2hM=;cACoB!P96L?JUi2g<^UD4awy`^O}7F$l?xWKE-jKd@5t977-tV(lWATdM4Ls z7&dq4Zl!HxIcE`5Nl}*CLb&)50MloB1=a3Or&{%J61(^)QPXhA^{w4=xP67`6OsQZ zADl9Nhn>0R^fAdd-|dKZb5&ELAhvwbBjw)G{RZ#= z_?VaQf=CWSXZEG$iJy2t$&gL|aY7HkCG5wZ4$~Y+WI0ug1{>%EVHLoXfQ-kd4w2sn`q|q+ zJX&k;Z?~cTr~M0WahKkj#iFU0OB(zM-Pv67X8LJqSCW(6S!KN^zi7+}ge;4L*J3Z) zWx=Y22OFo3MZG<`+YP_8a(@p1?QZYIKE5CC7GA)QA60=ZT%fPJeH+mE>#2Ae8n@>k zB5(dPbYEyjitxI(60!|h zBt=NLU;~`S=^rr$=9#ochPrf)g&#!!OBc6GBmj9x^~FT=y#e|{M!*_IZ%{v(9p-DoPnHP@2_Fd_0XR5H2N(Um zvawoYnulyeh(VJ#bTb-c8Z{+1oY3OGW}TP(&;0$rY`t#x0m=$p@9L)7jI*vxp4-vq_DYs$1U;NA{HIb} ztZ#rzZ&gi$?{Fl<>^6m8Gn7N@dbppOA2%$Mdc=j8g0xAnUe>J3y(UE zz=#|#FWRt)gY?Gp6uN#*>Q_Xw6$y!O*iu(oN9Rhfh^r^p?$K~1GassF66ld#07+}N z9xSzH%HtDES(Xp53R?lDVyujuOvOtkwpFoC?XwOhK7NO1wAWqFXfiw-KOt5ZhosU` z$_ZRby^AGQ4;R&4wShm(R74RM-QPVJ(wgD~y5F_lVbX_G)JJKP-8Aip?ICPGofT;+H$(3}@69WG;Rcjkv<`<=v%bL~pj5JoPyN)GFPca1Q_JJnQvCNO?&sgA zo%*#k%1Nfp9i}F~SgX}th0^D_CwB*j zCDLU{%OIA47)Q+rK-{{}^})7VCbk?e!zKBz)KMR#pzriPM4s$)x4V{2sH_|On~Nt%UEtn?lL$FB|7?J;CrwoU)nE5?MzQcWzss|Mp*wVHv>jp?}OW{59a%jzL9ntrLV6V_m5 z+3rQKt_A$-AT%=&sW*bINoRPM9;yz=yI@JrT2%dDpc{07WL$lCmbxfFICBH~!EW9q z`uZztzN7S{A!hL#q4P!9%yi=SIduDnP--ne(8Fiz-T_b`?K@!XOe7sN(oovii76h&M6p*+xyL9}=N*znH)T%pngK306jPiK zV0>bP)Z$)jGeWu@F|@MizsfgZSgT=9WLr%HEvHX$mK@yjjBsDsYElYlvJB*wa_7FM z3h+XvS-_cUws6TRA69cDs8D2jd}c&@T_97H-5>ME#3~|6Tc3z-WLpa}etR1#t%Bp3 z!Q)rai^0zSg{_Z#+u8`zsBh^C7i!+)6g1A{s^r=mPgc=mZ!}#{a&KxVi(eyRt9nzcffyZdii>? zqby?u-$0Ft>D_^#K*o3f83~af&>7)Rl=1(VXda&C50G?;>K(`!3IxFCQa00P4$a9s z`wC1qz~eC}LT63x*oVrpr(cHE_~-`i;0|_vwTZ@9R`_~g7yRf5HulRLg)#1O0H|UTyirVZvd`O%3 zy)P3`zoMnuc%soDJezxR=;kUA*2kqc`>QtbhQ9%f*pkx1`0hTFMDuDvV0#&eQBgpfAB^ zOtv?vyVt*Q>}Ys9pc8ANkc*nFzslu%6JWPn~nhxBg(@Q4#5+zQe*ZAL7qw{i+%t5ZUZtH-C zD1|^ia=L|WSHivm83eDzAmN$K4I*VNr;e33*SheIq3#cdedo@+=HZ}SN^Ig+I7Tdk z3ztsT0Ry!76RD@oNW3N&JrK=pEhL!hr1OGpvjw2fx$O3t1Nyo9O2sxHh;bRBlMO12 z^TWC7TwHSA13_1|_*PD1ENq^Na08T@eLVNkDzJDS+f4>w$Bg)y0fVdJpS@3~v;G&w zM#1lQZwgf*YyDD7%t}~-lTZjRBdYkcLmy`Z033L^=>mf{hsY=WK-Oo8&^H|H9S9WS z_U!DtQcaytXZ0~u+z+dNN>vu)wFnvRwXijU!L15QQRf$Cfk={18c_b3%m85SX^!V* zZimBturL2dQcy!hOo||6Ku^nX*1fgvSh#B1>UrPsQASX1MWXws1hpbREWVq%=^gjw zB+8TYakN^I+A&pc@PcB|ApA^I=J6jB01P^f7}ukmM*i;U_sW3OE6p&KQ}RKn)eWj3 zUX_?mKH|778P~e|GAj4r8ZhW=VvLPPt%j$it~zCNp!-dcEDm24%4y`lJw8{I;c`dA z0LwSatSRngI37!X?1$77P@U}Vr$PUZ8>1pzJ|EiD+t5_xChXte>84o^!|6`$t420A zSqc9jxeqQ5K3hZyFJ2TxH#WR_YrB|Cz4S_8qcdW_RjLgF_g6cAEKspt{>Z4eiu!%K zkwmC3bH(RTmtDQI!h%wjdOZiRMOk~$>IYfr47MUXYeKq?rVI;t4urdl>Yg~<_Wj^5 z%J{GZt}|`c>V(|Ov^45vw7ht$DE@Oazd!0=;3Q*ZdWtnus+5!w;SqR3$02G5 zkjRJLgpMm$0VX#ze*pYtt)i~;JwCzq;5j>RL#t@2ElP#URLw`Wo;AIVjY64KZe^Qw zqU2-;qnmax6{{LL0a%E~tG=0)&7F`g<;rwfS;U5&@k0!!w2_2O|AC1A4`uSkJ(L%_%u@5Lp30x3-`Sg0F>=3` zNK=#*gBN~C1U+20S<-j+F}JZMBn7|_zpQ|lyP-(p{cAML$0OEQ^Z#!A^eT)HagXK?id1}FV>tz_N zeLyU-o>Dby>~XpyLB;6OlFjvaF^NYE2#Q` zYeOJs($=rNT{dC#{6dXi_?BvZbn0IGd9NB+_G(DQ3vXC#c{2 zsJ}^52^(K<5YhFMcak*2jq+i;U#@Ht4R4g=-lX_mT0MRSb1?Q+K9;JyBi4&FAD)Kt zCF1Vxf*Eq`bD$H1^8z~ja@qq$?+O=wIR!ZS$b&lcMnV5RZ$KSy0KLNLy*I3bQ2tHy z$jKk!B7+52xD~7X=PSE(ptfc4tN6tModx%NG{XX$?M;>yio$@wfc?3&z;K~DTt!#l zHhp7kUuFg`mcA5qWS7<315(?4PTYNxuvk7#vj~qDEDS$*YXD1SJVq*XqQ^bhhoI+z zhs$Mt$w~wop5B0l@B?pXtSGH2q0s4EvBSX80;;4f&!o$ti`o+%7+7)_limvu{LioS zr{fN(cv|2fjr&j2~Y$g5{R1-&@ny3o{&|Q-K@Lx ziR>ZkBn7VK-Ub z1}dlaivMTa|MQuEvHyP_odo$I|K;Z42DEiJ;BYz$1h4(a^8UL5wZ5>hz>T3=X3k({ zG{EN*eBGGwE13)73`%t8i}!5>l|}E)T(VjY?9Z?oMN|; z@my}Q?w=#2g>zc@1$Ue=^4r$)dTndH=^vD1YxA+9TjUZj1XXlCd1Wnf2CXN_%rcg_ zLA94d63s-w^Ll9kdK>!gb7E4pyM9Sgm)U6NpxK6%_gpY(dB2P`xQ)J0tYX}*(fR0K zJ~w%L?Mxl6lq#Z#Ou8Qru$)9SsP=f5;1&Zs^yn=skrs^OjeV}|Z^AOytl zKT&u9fZ9iY)-NZw05|%t>2bUNEGE*&9^BPH*46>)JOV8~)kWl1tYzhQV$3e8`<{}q ze;k?>EXYQu#Kp@-lRh4<{+|BN4>g}w)unGP>J3z6)pRXWKWKM!a%xQr>SXsZNy`aj z|C)M6(qeRvkFdwsx7$VpD}%j!!aD9lkgQJ(0@^N}a_d#DrZqyL+jNB!G#gYwYr*iU znD*iLl$Kl(bT6TEtTr8%>*zz7ubP;d-E56iM>-qBjjfExgzc$#kz#~NZcxbaB}b&G zirk#E2nz9Z)s?jH^_{K~*Ek{I)SMAZ!WO!m?C|s&2`G&F4eX;YHp1#he28He6(!gH zKz{KrM_(iPxp*C)cd>P7GnMeS#Trb#+c>jf+#PhEKb1qXKX)xnDY-U$h>~NjG_s;_ zJ)@C4otO7EOQ1`^V;U$wNNyP@Uyvo|6AV#SAaT!%AmX2j)X|+}UCtAlB&}%;jTOf) zkyEk+9!pog3o zHgRwEdk{;aM`s=#VxbN{3aon20*5i8h^ckZtowhMj z3lV7jT-Z)eqo=c(GS$@^h`Ckz!1?YFoCl^n^&0O7sy9t)3Wp=TOnH^M%SZB8#b1gv z!t{JQG6HP7rc!oo-6%4BJYH?*eCU!whW-Grs|4Qp`wk6ScC17Or&RYoBb0VtD2A3R z6IorQFg8c16&3lO89Yb@))&6m~ob5FH9G3qbAGNsku>ux!vZFwOSQ zw~}U#8tT*<>XoQYIl~v&L^7-}q)60UX_lwBQeBm*bMQO**^hcHu~hXILr#62`dn6s ze3=&$Q4Ztp*C;$xxt5&)H9nuV7_a9xWSmZL+ zNpTu(aIWssh!vV$*h!HF)xubCXX!!3EMN8HjBBds0VLPEw`Wek&RxJCx?0NSfF6&Y zrxS?*i_N<@zeQ2yC|RcdS=IQR-Q9dwPK)84GcQCCB>eB%>MP(#+D5I|ta2Zi-0e6$ zTy$IF9UBa-D%X$EKy0v2$ZoT0pRGcw*Y4_@K5J=9p_-}I$cfCSc`!fn*Gs2&NPp%h z`dtpEmz>SGV?F?kTz7CekB<)arAgkPM{7diF^s~_#X*K_mW{<@VkyD>rFDxaUL8#U zW*K5}apbFLP0vhvou$H38ASbt4@i>5O7nH{I0-1&6bkFosN2_F-m21`3Cn6W@W>HX z%To3?3Ykdd6%G%{Ge$213T%8J@8;=(bT4MpffMHmXAAgi}2-azDX2`Cp%8{%v3;>V|w%# z>;t)D8spyC|LYrO5jNicpqY9SeE~hSrO#f!4H%4qK8bGsa~Pn-sm_MqEF=XS0fBEG z9^*%~42^#JTV57!Qb^MIFV$x)+O%R?R`mGAbCLv9yR|;dzv$q8xi4;l06{P9BbuG+ zcG;EjY#R;#!f}JD^TnMS+OgE$#}GM5W!$Ed<)YTrL0l;p)Z(t+iN_7KtD-e292IrC zZkrQh;!pJOg+`d3E}{$smPJ(r)s&`>i|qS0y7o;{Q+EK0jPX;Pp}25DsPeXqJM&I! z;)G#86(1hs;{Qj~SB2FPC{5z-?hpv>?ry=|T>}Avy9^K{xVyUr4-kU8I|K`E!QBt% zEcfpJ@4ocI%slotUENh(P3pCl#y2tqP&>`)sUl;0me{PfOFvsPbY|Bby>cE6Vm22? zR;^gz(KsYOq}fwYUQC_H;}|GK$CBP^OYnZRM7eu#DipMuVi_Gz9uK3PlpcK3NE}pv z5#T8|E627N!3Vg-?@0`;+~XbVuWj6`702*YsZ*--p0{gn+M83gD(rQV1@oE!!p*l2 zGYHi*)|``z-I)ldjhry7I-8iHgv@l;EnG1Syb69Kn`+SDhmEN_f_y=n)`UNJL9Mru z`Im8g?$d7RZ)fe}2KQQ8p8UO84Vi8MYjDuPiy-T^-CUn2FV-aF!Y}=f`$EFIj%#ec z9@z5n*S45K`)0nDOh3lwJtf@%?BcD3n|;p8m?_4A+?Fhx8BB)=q>D9|=?{x{))je& zO{q6o%y;79po&BYUV(TeXoOVM99(g5{{vjn*xqXJ4+s)}R-=QYTuU|lg{q(xwR>@m zpL5>%)a~=HhO6a^yQv^wgD%1v*+L+Rgk@!cefIXzhNsG+o>g7G>!)S__O4p}Y`pTm zhN|Iz_snx456|^=YM5SN=dVAMj{#l1=vxT007R{2O@4$^g^}UkN7;I^>6}m5B$ZgJ zyl25mT4~rqegz%-^u^IjgIU+LbP2B_o-j-ThC;WoXuJKrk47_d)^`tExlLm(t}%i6ZXNv`1AxM<1t}ZoZtv!7aH(&@AVpF09!1sl{CK$?RZ zdDQY-($&}$(UfhAwZl#v(a-|lW|*rtJZwae0~;OX#novJ^AkUN;(U}o;veV{N{om` zDU{%y?czs9%QC0Ohy6$?dwi1}m}#;y_)v(}f2pErc`C@5%W=b}w&tkMq;`WYr6}*D z>@EWU3`-Mw*Z&_A<_tkJ=EK-0A*}45pL>Rf*9_k=VK|8LXx1mxtY9-IY5{?K1{34) ze39nkeS_JWF`C?^Ye%}|p$?W;$}gjZbRIHf*CVd0-*~@~@pT!DNZ_u>pxnMEJYF4@ z^OyzU7BeFE$F>p*^4nWsc>T3NZ zzsh?FU)d}tav7c7Ap~vdjX_*_zSu&sj@0?zhT7w9g#k2^hqML?&n4Dz*-_2o zzPv-S)#lD_0&)Nena-w5IhSp~j}5P3JK=?mL64lyMZx^GvIR7{{rE787zfq59@KD> zY2xFGg@6D1lbnWh-cmXti!FnDRKU&MBKQy+_u5eiNH`zz*bHfZEP^!pj`5f!rkr>- zdU)di+`_946#j)$Rh1&2DG53MY?5lZT8Yy-o{@J>zu`18in9cL&5?EpBs-cKMNO&0 zFF(r7I;(3q{I@&ydz9y2RlIFnX8AnmFyvDQ*L0HGy)BA%P?d3p7;~T@T~&+QIrpTo zrAV6dQHwyH`Fn}N1DUxBa025d;SmH#=O@*A=~)4$T4PGHTe-ui|(p?&6_ zItP2PmHvmM{*R-@t@sfrLF@?Ja{w|kGTO+DhO9H3_4GvC7JzzEI$W7>{-TLu1HK_v z0!^rHh;2j4fs}FIs9?^iVx+K z24?(!*kuXi`f95=`7tV69Q;Eirs*ak_067POQC;xFdp8UhCf5qB=i``fniS$Y?_4R zis;J((}8Hz1Gq|syT>e1OdC8jb{pIx2H!laa#AUU)33i6N(S((`b>|iJDij+@1byupkzC*_js$SRV`H^~H;e@4*B({C8D zqxv{+kb=*N?+lILp>@{Ln8iEvjMA!#npAHU!qLc^v|;`(^l_Cvfc_lP%-dtHT%|=@`&B(j+t;|kLI^e_ z`6x?JLrZ_jLgZFDb$ds8V)nL~xiKF_St@4zOpP0QOyF#9;E7ld)7=5NFGw;gP6D3r zoE)4#F{f&~RWJ!IW+JD2l1QYV_wrLLp;D62*2arVh{A7@trhccRqBNTQKwI3x_xGK zZv!W#WGS2gdnn-gZODJaJg8uqIN%dB@OVG$NQi8XIA=3^v|U6L_kD;vZET@>3wcCyS7Ix^96)p5{T&vM zaKkemr+ca9XKfFl4t5@vOhL5=&-jgGeNQ$A z0&>t4h>ER-(Tl?YJD(4Iv-)t@t5d;}Z*$}q$=nRr{N3H5TrvV!tFuuvwQ`P^7mFPD z{@YJ5E?CB+z7DUQ%GSWHBEqet4vGuC;XaZZ}o-$l`y@t>r^jl zQoZ%T;CJgNzW?=WdN*Ve;dr~8(BMsl{!af(6B9 z@9mUcKDRWy8MPrGcoaxN-kqJe-Z8sp^C;wzgHrn<%8AoM{=AO)cgRzrj{Xj!{P)%~ z{~u`CxQOp=KV`l5y(oVCsX?oMe0{|jYxf4_v}qC3zpfB}y1Pb`C7n=POX8E`IbY%! zw`FaF`3`)k1Kzx^GkO>{60wf9CNyf9{V%ME_@PyoQJG;1t{>q+LQ&S=FBoD7c@GF~ z9>YtK89uS&fBNHsVtUT%C3Dm9W8;E>GM$2N3;sYA=aF!!ZBgbP9ILGkwKRFHb z`*D7w(EM2IFs4&dFAtc8C(3G33%Gpt4#3QZ?;7Zst*Nbr-RP5D)KwL)lLUrCww#9h zwg_7nT`J$DH!OcUZ+0a)qH=f=>AcD36155<=2J5+)Ys8xaj*B05ADtv|0a1S{X*{y zs$%MGxKDvscGb3!@%d%UL``(tv`TR4OfVHof0`g3Eb5P*xL%cI%bRML1HPFMu#<}+ zfC4@&zJseDY3`TRNn8cNCo`NoP*viP?!x7?r;e4|{_MNG*_0$-1f_z2$+!Bs%vOk@Gv2j0#eQ=KbL)_IN5_`n^u_H!-lf_xec#BY4T?zImSzh7aqI@M?}4q=NFX=NA!JcZ=-kZs@uh^2Lq*{_*loYk~c> zEy({@MyKFkrF>f^pbGKjO-&0vXgoF8p}~Ya=$OCav+(EoT5k~Pu-WNiDC^N2D3k&k zWA1_*-2kZdlHtX=-HLjqS8qwbo>E0z|I5`#=^#1ZyJI>Zd=hxGO@A9^qyY8N(_B6H zbz1$m*qtz$1!#tr!TjDfN?4r?=Y6{U-{0*MX#EyoI00(WyBGh1ta{ox4EG?{^7LYD#`D8_ zYPmvq>oO+ozK3o$ze`L&L|EX<1?9Pj@ZYU(HyCoq!(bU#f#bnlCZvw3x>zAR$r5fC z>Bg`bfI>@qPya6BtGM6U-|v(OY7fDAA{&9Zm{#9I&aj3T2WZW@W3cm~i*nS}F)>wV zSSnW>dF-l3_og-nFM0OhwKQ2+r7V`BnXEl2S|ACG*2V~-`u#n2I!VMiby3$34IKl$ zm;4=)k(;wLL2B3Xlc;_?*Yrt)Arc9PrCaxYfa?DfB_7{W+9~{p;ChyQfH+;7@$)rb z_n1Qy+!RC#Lfm(ODk4LSA1HY=)>#Yu`jR9fve=6s4jp*(J^Qp0)3!9l7(RL$9GA%z0HQVXDj}D!)*Od*w%JiV1H_q+awb zcrE6!1&O4CJ+7hh4+&;cN&Ue4CM}n0iWsy3uA|=x5!AEwQVgnL3ueK3_}(3r7fiW2 zoB|1d6Oo#CNskjFm;#xuhh(FPD!gS`~O;55_zDU&W z#jL|Jg4)7NClsY1L-DMG+yobadU4Y~{eG-~s}-mMhGi|;Q50r`dY1cbkE2KyPY%Ed-@irx)tP%&DBX|ceYXxQ~|BuO>D_8B%;Ch9{9 z>0pW+r7D~`YZglO;MZBf9tlL2BMpVfx3sUHC6d&D1TWJIE89Wj!;f{9)70N6OcK`m zW>1kOcL|mTiNkN;2}t;KMM8?8c-V0!eB?h#cev4r+L=Fc$}ZP)p~*lQ3t!DA{jk`8 zzu2dy&V(}{p36S&@|)gRR>PL^O6o6(-JWBE`&6k9#bC|GxpDMjRIA$|@oQow5Ac35 zdskZl|B+k4LzWx&VKA8?MkYpP1&5G7D9>B4V-PrGi1rF#B%rM`#ud&?9YxVW{Vz(1 z|BgYXhg8;dOWu~M9}4WmSgar%-Q|NbQOEs=MBEKk{lyo4xSx;O7JrzW9Ne|pqS&K< zKHhlO0hLq(tHfWd4}-^72uts#3_`eq%>>#T-`H29bTUJ*U6^KJl`$Q83zB5mim zd}AkgCXqigHOTp!Zt%MGq5kZnw%7kGBDtEG9Ba|w_2P%TfhHCDQ#i3v0J?6QB* zVE>UXSC^?CVjVAm>ZET_H`xZH>(R9$4Kz%8j1XfJLfMotphF{Pg^4x&8`0!{5?mpA z9rzzl%#ugzrSRQ^M4HOKVAo-B4$}j3P~|mK!42bQu1c5&;F};uN`E0zrXv z|8X7?zsSu!Bg=aO=`(!x{lJL`-+v>wSA~gz1p`S$!_%jG>u2xV*Y7 zN=Lxl%IrU`#u}IrE@*ABPd{PmJFTRW>nD59P)WWkIwm_9S`(2sg#Q&mk=HTKPSJl8 zpm1I~)zi~!=@zeox9AbGW&kwa7$3e1mF@D$Tn!KeeU(qS&J4S~db-+Py|c1Hik=6I z#ygzQgxePA^4E!Drky5&+}AbESJkX!CnB zV$em_nse<=d=}I=AIX%@XyOsk%#KH36rj-YCZyER>=@~%qA(LX)b_6Q_0c}h-R9Knw$e^hO zd&i$J_de@oKny8m1IsFz&_et0wR6&3bqVC1uSU z315`G7PLicAc{OPxa+3Y&|3yU$3vr;YJt%msJl>-pMe>+KW_JwFuygX+4TLxR-uE~ zt2Z1LXZND<1%^X-1c?k zmwR>1is2gecLN^D0=zHAF{RuCgOOCi2y^X*7;|Yse*`K=(g0kD>0aMHR zn}6V%9n*;-$ML|w4;mlYdbpo!3jz#Fw7B8%*th{B2M(jmm8eTC4|gQcPK)TbBZs9P zlS~80T=sQw=mjOp-$m<@4)<3tH06)^?rt;0&v>E32x9jcUyq)&LHiB%nDKBIuYGoK zXofhbaWgb%gTq57G;K7&w?Usj?c(WNK10*t!wEbzXk}(D-F6!MP%-1Cu(_b$uL(~) zf?EgRP*=D;@}yVm*@FC(ALE<)EW2by_!D_mmvy3BH#@7A(py^4MwVu`f3Uy%jg1f5ev*z|UD`t00Ob^t~I z23&vISD0T{*LD3jiR%O*g*<6r&sw^Q2+d|HVITXNexqa>JTX_ZJIU0Gs=kTzKUSa3 zwK@3U!(u&a)o?=eN)bWimC{xRp(hN+m$_%%zi>-dR8Ed)8hZ&kHIQ>?6_J{1wS&OO&iD2262k7+)09M`almF* zGJLxC{?$jrM@Fc-gGaLa~HlEpQ#2er-M(# zy|@0DzM9@=(MLAXM{cZbf{%s}InN7ZkwR!pI`;^Eybc9Qb?O}mTa)H|1WrG4f7CE! z3f!stz1h*S_Kaehl?sKGpIbk0nVrvKZ4gn(3D?b#uA%(Gea(J(?oFOqP>2u%#$c52 zU75) zk#$;GjS0L4JzZTrjeIM)1cs)^x_tsYS^>Y-o=7-~V*|WiDcJ+QHAE&U#k+c8nRxgO z8JiV%VVrH>57dr(mJ!C?%1Wi6Az7<}U|jA{5lIHDJvYB^Gb)~c=NrDC^qzW^)$pv-aZAp!V-f!wnmgdXv&cplfpmmTL}h^8kau6& zYDb$~{QWze)Ta`p=W36zD(I_BC&szo5f$(;RJVfu;^x3*JHXt)z6=J`dcQ;$4T_ER6C3^kZTI0H{>B~JGH)qK6^yxse zmaCVtVdoZAHvkH|m}>YE{F<3Kuxaw?)ig~hhc|%h!kl86UN5KMwC>K}<%Tq4>Cp^| zw?6Q4BY~sAf6XV*{w(t%K$f9j0=+%~Bj`m@-TL>fXJO?!J!<|IG52DOzrM~!Xrh|z zAj1j5oU=6plEk~WODrZ!EbG|?+oo${UDJg0Qr@8C5 z26`7;=x{kWJI}BOwCTG$Jw&q>7sUwDAr7n)Hx44aV89~$aBBr_+`NzQ!L7=|vl2P` zYmyA1rZcBL7wR0{+kbddIjSqElOtk1dvwd15TO|5KuYXrqj~UYY{MGiODMndkG!R# zY-WS|fgZX&Z%Dc!e&Z?-pOf2#RKSp z^R(1pvsIXv#ZMu9^ny+wR6g+|s<}a($R;t>WVn(1XxXm)N{6}y^R+e`E(Amc%cH~O z+Y9v0O4~fwc$Tw)AgB;XKLnC+0ZAwxV$Xm&;M1m=0BjN`WyYv4S|=* zS4jF3z#Nx$KMCG4HrZgA_d=cI%4>E9x|DD=|_wY7d8)Eym5XAWQrbkfYWIAp`;c3F23f zPY)(Nq=8=_Ak$A<%%lq-h$1%R)!}{P*QhuH$(;<@yAUWiat%0vhQDI`@J(}E4DFyd z4nZq{#xD2Qi~0lIJJnosC|fOXV&zDn_!yP>!+^Xz!?#PdC2QSbDJB;oWSLqI9VMGE z&ID@gd~cz%W8t46(c~_x?c$K8{)=4MTeyamyCh>^Z86sJ6$8es(N7*sUgTbLJddHa z%R5}3FiD^deYVyYWbi^1P#RJ9J2}Qd{1^Gg9eDG-F5aW;!LPFY4`;i3oAumtt)AQr zI$IiwE|sST>u7_*7vJ=oK%6#-7wVxGq-5jq}KE=-bmrlHDzqP_L*)_yu+ z0{N>wYNvm5eee<9i>y;ElBDzhw#S(FA^XCs&u2|N{#Ss519RLli2Yr{|Nht| zO4-umMV*BzoD#9T_WChL^8`xuI-(M-r|Q(D!1GOi)p)C)vzu^#BzO#EpFQ^nRD$1} ztCfb097gjFAdvzo?#QftzN#m=`JrM1DdfznVW4V0ms}^L%$(O0~ElYT& z$0O2|-wC=fmPYg28e8pR`a&!`HD*w2z3e@g1u2$*?Vv@3-9)9|)=#Kj$kt}FSDO>r zYhI5fEOSw6dg&(v%_&7Og`Cp+cKg4$6;2n8#-!9AQ1m|b;uHe3I&(k|cXLPYh2=Gs ztY|KaDrrown5`{hOxCLJPtIOgs~%Z5ISD(`8utOBHAh2+XqLI=1vJD6*!gFn^sH;; z8T5sm;=wVg(fqdy)IwLnMs18(6%zBNKXiD(b4&~k_m4o}!b15PXP6rf7W|)Im8p3m zM?0l`H~2)9y&*I=#_)=Se9COhInx#F#eH2t9pL zg6#LsJaP*1>t*L22>8CS!h<9TgS$VDRBU^_esjaJ%N58ha{S=aD&>QcNa@_Ns^Evy zq7ok}{zYY+Ec1hkh)iK5++E@~#|0}6kEvP9KYRGpMcS@mLQU(M9(eyiXp6CP@N`kv z;=@;7IOjG=N+$yjws8R-U~G}u3pghcJ*-8Wvs*ZV5C$|F|4s@N`Z`a_-`1uH@l5l- zIk>}fFj-S2zfEjWL)$1nUL0JVp>5Q z=ao4-z954R37LKK)_Z7Z(0g3$J4_u#efW~~lAH+{^ih5ix$X{OFUl4t8Z z6$kIBL1M%s@^FQG+V2Mq^BvK>L|~Kzk~D~!V$p$8jnvxcd1UO-QQk3MmlJv1f5;8F zC6xLV2@a}VA_lkLvX5lNxsZq_W4`Z;8iItgjpUHdKV%yQO%lpO$&P(;9ct@ApE z7VtTMdQGt?J>@RHPwW02PyrEs+d766Lfq+3{TrYb^B{MR7%Fd&tKKCbQ1PYb0?PTf zx65=@2DT{Mq<=&X|AftOez`v3qWVqsjB4`BhNO1_C7pqsKBkmdIg=y8@t3Ou&3d95 zBzeBLsq0D%Th!P}$r2K^d)G3*9xjd3q94HgVv&uJ-eO)wdn0Szy>Ft|Pb%c1EqUs$0UyC1iBK*RXgC*@ z9v+Y?0-o!(!`~2?KVE$~Z=XPVWHA#Cesh4FD1EG98hT&hKU8`~{Zp>VFbx_?) zL{vobOI(Lq9s{47If{Nx_UVww0Q!zO!F%y9p-G(3hZW5-n6i&T0z7Uh=Rv7-oi6`y zBH#8iH@6ds)J#-i*Y1k_ye>VEPBkg}-PD(Atr32EeR?IMWbGr#AP~JMvS(zw=CF2V zyx+1H=?>EKAyEq~M7Vlq{`)4rFkkDH(sn0ew)SZk>Bi|RLF@XH-smj)0w+~J4y&Ez zb`G`$#I5Qz745~NOYoHbU~k^qOSG(~u-PPoNW9M5d#>nFfgp@WiiZvj7+>_ithjcD zCjXNz7ccn7kbjsSlnB8jZvf`g)FK3PyKwq(P>;d&t|J;Lqs{&LdNat3 zKQ^lhw+|mgfZaQ>S^RNk?=*U(pJ0wv>?mJy)1GXm3G6kB@KB_dA^GtG^T-#52oAk3 zv_}J)^C|4U>?M*W1G$;CYiYZpZXYKC2EJ2&x3WwaxXge9c5fAQEkCp(6BydZ;a~V& z(el~<9LM3ZL3Y2G)l*L$Q05@*DTvT7#MDcwH^yG7ZtICZ42Sc4Aii34s$ZXq_$sGy z$ZP9A69Kr14n&9Xw$tEw=#VGVC-mBj_|u7HaY>m+o;b>7*bfRpiJ7B820prsTLoU_ ztIj&Amkk{QFwDf>ElIcja#otlCjzf^WKQPBZNfIaVsltx6%fIY*?KJz2M$Z;rI#qu#74v}-y5F{dOKf5xo zkL^rp{~oQugVw(p8`+hQqpQv5${24L#>b5sM+4B?FbG^VSut5{B23Am(Qls6298|> zKc`+Qs)SJ4#_!>MEIOadbb32JE!ebno4_=KoEs&stPq+tJRkUsG)pL0$hH*HUAu9j z==+}{9Q{66hy5P9aFzOz`bjH9@spB(o6$^qu4Q9odrxnrOnzq!me02${gFZU&tk*Q zb;^Je>v$yQ=jgfg)n@|)Oj`r-=_Ja5$vW9V9NEz#^Gx`cme7QMBEC&6wYzW=AEE_@1d(zaNx?oWkG7cwM^9RzyQN}A`sYRm2NdI%eTe`B z5tyqUw;F9}O*Q%RC)m!x|7(u()IcpM1;ujRpu*nnt88uTl;`58d?$DN?raMyWgg#N z5?~n6M5*ERmAuWMv-c$UiX~ny1b?LeA9dc|K)nhsUbU_RzVd}T<5PZ^;~x!0Ho9ev z6SK6=-zrG!!wIsXywF@T^&DT?90%U@66bT#`c!2?SqsD?Qd`fFP!rQ zNxVYLowp_-v2D3;5Y975Au7eWIyS!_8n4L)OOS`)!bc02WRes(dacgk#Jlu;*WM}`jQ0;ZYaK8 zd`0Y1k`=|;v8}0fJ%k;vQPqNYQXzs>GHpJ@bUIqIwd}j>4$K0u6N~vle>&qXVC0f5 zy>c~_JUOASg|gvvIcUSZg>PlmrT3Pu8gLTSZmB-8mo$~_bPw{@6CfDwA$fAl@fF7n z85dd7Lxi8V#vrO-!W;3k=g&J!14j@tG_R>g2v#c;Jw*J&vpDLo48b+u4}>4ol6>i3 z1uF3+4IVyxMK=Z%_#1TJI5a0wwMG;I!6B;nl0xh>?`k zvlIW`71#En>*SkaOU76g2-J@TxG@_=X`x5g-A7Y&i~_#lFaykO&%NHonh8Wc!$O~H zCiTY}m^zRuI-Ft){n>HbKl~P!{im<%Ibgn7QsQg|EaRkzy3zuT2LSQ#?e?=7M)Wm+ zSO?zHN`F47S|vxJdyqp|SDRh1~`!3(ZA+LAupKs?8%wVc^wYgI${k%JoZ8 zKEiDKFiP+omaMG8#ZxCfx9zTRe;_NgN&MiXHa9Dy?~& zia2JM%te&(VPiYde0*v&kr(s15H~p#@8#|vBf12_Gg6L%nl-2XZH5J}p%J)Mx&KL~ zop9DtjRZJIR5Gk4iDVkI<_0nHbKRodxMn$%6woG=)MK2Hg9o@;lV;Lf2HwrGH~$2w z=Uk<3CF1>7!(TlHR3Yv!1q%>$NXg2LzYwHq9OCBk>v9^%Zw2e=Lh^(yvs)^0d_ z2a;;e9F@>$$3n`ol}J)cY$ybgWkdN%xh8yAlpAJ4;0$JzK2_1H*BK7tVu_|iAQ45X zk82g(dtHr`b83v(mbTiXme_F3M;F%Me}CN&_bEp3uz{^6cXSF)t6-MLLgz3o(4-&` z0VrcKud^2~N%+dC$5lviiDrKvuT!t7q|7flr=}!j)Q^lg$(|ARvBofB4sf^$UfBNj}JL|(-^l65)wjOGs#EfpvA#)Li8CW zTf7oO^d$~2@xksg>qX66Y<58;K{PGG0QeucJ-so&Dx2qzcSlYGtw?GEt-%Ae-Gesg z&kdaewi!_im!_tM!MbJvPj;3cXm*q&w(Ro33fjM@Fx2Ni7^UNxR*x3I2l7#hi2vB^ zm05t!rV)$ivw;M)HIJ+njq_C`_4MX?vzUhA7QX(sjkC#(z${DtVXPv{(p?Jpo*0{U zhy70vmwE?ME@c)IRLDp<<}LaA>%EN=58=J@^7^$5Q;zK)c*d9)Q819}vKN8*^ibp7 zmiZO6JEW?z5r&H5e;T;cD*c~IH-eEoU@Qw#97k!4EM3&vlo<4itX|#MJRaN*MhRPK zL){$P6PCq0{Y-6u#e@acq@knwa1aNMLuHx-Nj64Su;f7HK7^u%R%~~z{Uf( z1av?^4;G{i65zdkCZ1pk3Aw~Mm__x86+e~9>I4lei+8;owO#hSJ<~sd_IJQB8tgG; z(s5|kdVij|H%ExT1bM>6CdfbU#Cu4XH?(9RDtL?eQu-wfiHw7Jexdx`NHH8Y#{ATk9xFSzKXR(VxR*E^@+2jz`R47*x3m zT5SeZZL>4;j23rEkX#PLgdBh*=JJC`~wG93QGT=bi(M5XSoRe59; zc~TYP{nE4WUZNcqAp@&ci@@b21;J^Lxc5CIzYwgJZE?s`ibC(w{F{W5;033pCl&0^*@t66!niCG(Lo9S zp zD<{YR<*EPyJ;`P|(ZE0spph6p7_+`#lZJ4WJ(7|1{bIn{BZk`_ELOe9vbN!(d)JzO zT|C~A{Kmj(7U?cb@Iv7HSI=}>txaE6uy=BQpuZUHz-%DOdQ3KvjS!pTV{l;&8w>%o zg6>`xM$KZIWNK!5yZPXHFvV-`vh4F`L6|NV6u*>3qM1o9sU4YMz!0NQz>pDIy(|NT zsy>k18jGpd38r#eTnVWDw)nX6dF1L+VoU7nV3R^{L@Z{8GYgm@yf5M^N8aT|hgM|L zUQovHu98d-rs;mtoO*Rz-N)hQBIp1 z9X2=gDYqMonyu*!)2gKo>T$9-JHe7^mb883a< zjP1362r4wv_?P7T*MHb4ERDM`Z^1h&A3>j-We9v=ZU|wN+s)r+@*JDTIG8rX2Z(73 z0+NO~QUg%@im~X@H?A`oM1z4B+vg{tuZ{}7Oht$^AMUI~H z=AIVTnD{xD8Na4a1|7?`=c@klbsd%!--@`tLTO_$6K@Sp!(vrk;i5?`5fL51h)=%{ zYq`tLywX(A61N3p5#X8Rex%@$_M=0|fZq+b@Bmw302WuN+4CFZA;PWj12{?=%{h%w z)kCX8g!D`J->W}IKBs&WsKFLaWlI)Z8W`s1Mw4l4?n$u0qqoGTnOnSycSaj&rpy&9 z!mkC*5W&}ij_h?vn6M@ys#+1FRcBT6_8O?(Ukg15cQtZ=8vzK;$TV(REImys)%GKSkXS|P`UDn+G&^5b14F{?j z8$J7zUHA$R4EqGI^Hnu9#YlvOgl=9o2yNqHZL!{S({$yuPo>D=Lsb|$!tez&ifXJt zwrNU)2Lapmg-s{XZCIwt=zP|rnFxgGo*oL=qWm3sCekVVeKpgMRTA}wWL#k+(Hh^rD(T!f-eDr)?|gkuvRQ*?UZp9r67b(5^Cb(VxmQEA4aTB zhF|+@fe)=kg1J_n%Y^m$pHg223gG&gwECVLYgAV9Sk_3(u*!}50yR|-I}i1~OwC3o_kZT%TBze==Ke zEfWKx`J?LFkaWn!o%nwz6(*SV5DSD+b7>UwJjms3kR*ikOc=7ICIR7|2@jvvGreGC zCr@Vd|7N^lmDg;SP(;S67ig}!R<35|>N-DSGmWO zjiOh`nxChdRDl)9@ovQ-mSKG|z-MGa)tW)ksZua`a{BYl>!#rUjvN7TY4Exok$&DA z06exIL)Iw;o-g%iA;|L3`?b3q>(r4P?f=g9yAhfK&Xq3u$_W^izF{Lpr`QLas2Lco zDQn|?5wnPr&}4h%ttF|=+5O~!k2UvmhnR#}=Qg09d(P-U@)fPMb2N^2#PbS?hR=|V zfMI|n4TUHAgyRRSWDr1Y9b4AN^{9tPyT{@>JGjaPaiuIQzYZXvXEgJ+PL(-&Xm>rqXFItU0WY5j(Bv7AeU|6`eOrhm(Z6l=v^>Z0Th>PPwSFX zbBJ(r^=!zXp?@Modoj6M`$A~tRvy2tVyFyM7o@JLiSpuAFA@MKOOU?}>|LnxPjs}} z#jCEcXJ)f8O_uXnTg5y#pHAef=OV6`DUw$gL6R~k>V=HlaiRarrQX5+a=i>hS^;En z-vc()fVe-47bJt}yDvgz70LT1*PM;**B5s}Zm`uttG*vsu|m-oF>0kIZm`}&%!=x8 zi({6JPM`X21Mo=SOHgCyqY0JuA!VcW^a;2dmr%j^nNIuiXQ@j2F)nDkg2G+p(cIZ0 zbVXAt`$LHRG)k-*CH-=_RHut%$LeG;oA8e9^_o`JsQIi8sY`R_LEF1RoptfN_Ecsg zH`T%`}kDV zsKfr4gCM-V1!_V3gZ|z1m@Pe<5!8g>GzBR~u$|diVrucl!&ZxT{b4k?Mx7S)&C}x8 z3!XdKFU3n@o#@lIf9@9c@Pl#AfomK8c~6~%9%0<8Tg;J~V${qvr07v79isW#ZB2)A z%V^h~tvY&CId8qy1HN7|GktRrDPW@qD&;of(%n+y7=FS$si~FW2Rmz5r5VW(PJQzoCiNB116}R|^pK9zlynGx0dzMX*lOkqa!QHeg_#R_Z~iE@ zK^3cW2}5=Uw%!3n={HrJRvE-!mU&a6P0N){gZ7&v!rKXKb5_27YbrEa3NZleZF^vU zrE7QxF(Y5({f7hi55Qy3fbf~YRLX(ZxA^yf*GT_JRj~U_K`JEK!}ld$$>vg{dKM>X zcOW@z(;$S*{|EBJ{tn%|kCOL)W|MQzEELUKCS(4(j652}_Q+JY)56i^QLBM58*2-rtuQ@-Kqe zKiVbVGQwc4Cp6ldn)uYig~WlOfjR_cU-9tAi_OpP<)+QF%#4$a%Z;*(jg!&ELO$Qs ztHRD|KOvkH{|aHLu&=bnR??-Cl#XmV>nrS7-`Jp9H3z4UG9W;J`F{u>2JFZ}Z-U#i zWt3A6FXkPK91`tI|MAKtD!}zvGdqOR$`mfM@#nZluOPdbtzA!9!!uet09?cE7+ zL;W2H-IQJLd=*+>noBMVcXpQ#>-$UjLAMFRF&>Im(%YsqQDK$Cy(IRy@3z$j&abwy zBh9fyNB);WLVWo@!1xMd{hUX69*(2HLh7o#H!4tfADZx(i7DCf2a@%%(i397>nzpJ zzY19RQOLIyMFnuwE7c1MZ2i9Sf7i)$HRE%JT$L1JrWZm6U3D%Amv}fO*pe%A|D^D_@F+MO6%3-rd_ z7=cx$#bBQDe&|+Pad4!i|Cn^p>**ST2P(m0FO&)ThbKRR_T(fV@slo`1Cn%tEl%iQj>G865^hfi2Vu_0$I z$7U2Y_--}3sAgMRe(4xdw2`@y6nGN*Z2c<-_p27l^F2d=wQ zMmeRB9EAy+6NYUQ)ToZkgJ>L#cOIQob@is7JT3kC6C)-5Gqm=4>ZDBOSe@ia^Q7fo zFP+VMYC*1H#S)xQnb5~ti2RgwG+mB^VkS*YT0o1$m&{w!Cq{k*izs9t!r~*V3rJyo zcJ9i?W=05qqv4Rr%Ij2TnQHi25dP2b`vzMMqwBtqRoN?EY%Y66q)HqD=Nh@A z3?++Hp_zhAjPPj<$t}>8e)H`-L}s(5jB{sr3&6rV6@#Eza*(>B8SsTl{mqDdR-P*{ z{7Euk9}68?t)I@ZCOJKCXU}P8q)Jvm2avGIAxlz9V<>!#=-k{m%v~cYl_T}Q!Ki>> zDk4&~nA1ia=SSCw(4;{!m*!!pVKTxDLP~m6j5#f4kf{k9Z#L z-*-3PmAqH-RaJLOEm;PV$z*1C<(&<-)Q9Ts>N<5*wNW<8KkQpKuU*S=gTMVDp9=rX z`&+5h>dAL}ZkqK*^>6IvZ(rau4I?Xn?mzb+|3yC4HXB9W$Xz#^W~)`Lw9KYaF{{;1 zvsLJl!_J6%uZT*ckzU2P5LO+VU zp*yeKWAFb(_rFol|APLf=zqiLv@6w4t6k9l|1A1%oO{v5v|s*1_W#Gx|EAe2=zl@~ z3;JKs|Kjtd>HoDKTn>i*by)t4`~Rcpf3;Gr)(iSy(Eoz|7xcgQ{Au*x_Ke%n@U!gy zX1zX_{?}Ty4E;B2^~T>=DrVvKMGzc3a|$DxijsIoq^usM1YM(!l!g>*Iz-EfUrcI5eE zz^x0{zVxTj4_8(39-3KWfP>5)`eT>ry5mj&B9mQ25wub+bNn=He^d^!96{kHi_eRFSX>%T>LQ0b=u zK)G{tc(t`(^;^|(zq`40{c||D9*17{=w^M2zXa?HVa`hNKHe_xbMcXy}rF4!HmUv6ETzw?iN`*B!3f7u-T<3;%2 zH}>m;@zufMFZOTU^(RvAg8vu%zu^A`{|EjL6tCOcd)eFE+ueG*d1Q>7FT?+v^;TB@ zZ`JFC{{KZj3vAOLM}gO$Mt%U_uiUXUj^K;qGJk+Cov9s_N(&2YZyK=uq3fKxrPB78 zMHepf#*rJK?*J4X_#h4h-uRqZW9CoXG5mGdwL1h+0iOcP_5y!Aa>vmsJZ4r{vXibu zDh({3?D#JHo={gT^5N+vHZZY*$g{l(i3rd&^8uhq;JSb_x>{p$|Bb7}?v4c(h5lu~;t`PgDatr_v^97ga8MiQ1v-5YBJGe`sKyB8qX zLqpMp1%jQNba)AqYX>g0f~&?Re&|Ksm8&il2!-}=>bPsA(sTAU#Dd9^;*jZmh_$3N z2L)fa_!_2S0&6pv(lj{UV8HR?%5$$LKCE;oCr!*x2vuL<1VEJ`j1xq@3Bd+1hfx5C zi2Z;7iFgo>p!7@Mo)S=i5!X06FNEO&LJnxSZh{X``0&ENCQKXw4qe>B=&y0Im=6V2 z%o(|(J}gao5~pJhj@2K!$&B`I6STzfsIzqh-A_Z>MtlVUo1A!-aACa>dmVJqh?N9qd&!)G5cV$JcvT5Y&@PZ~7Cn;Qt%XwowEh7Y6Wgwkjz=lQ~y0{Ig z58PlwSbe}F&jvZ#avaj9n91;nykQT4I|3d6gwF9I zBtFnRHI$$ge)ISj$HnEm^r$pEfmNKk0`ugi62u0zx)RYJoDNX-80?4hv6zty*tQv# zLzEBR^?{p2uw(rIW**iaKthDE#sCe{i195`*a$5W?^@1A$jKf&yJe2+j?(zD3P2$R zbjP%%e4tTdq-NAT?1d4KB2HirZD4Ap(oqhqxSB)2Bj6gKDH#R-9`q}VyE^LKrFgpnQ;0axwo>IopZ<(s=`BQke>&!ChM0?Ok63bd^*q`EDE zz)~G|=wBObV>kq{2-egh{&?*The+-M7n!CQr8m9;7Uu!M7Z0cu%olJ2qJJ!*8G!mF zKq*9gC_Hx2h++wrqtYPSg+Nxlz@Co8j2OhiB+QX(!QKf=J|HmfnnW``5FGD-3n(Pq zaA#63SIM@;^aM1~i1Rj8FiJ1um4v2-v=Asbpg9Ock$A0$f!Vmt_*B3r>d?Gpn;GO<8F(=+IL6+UlFrIVYcS=B%$tCs{$TJodWayUor6fW)E*EBv zm`#Xy592_VHs+W>$WszBMFtU;VEM`L0z7uYky8%fO)>x!CJtfp4`Xv1`}SMK`1Zp& zZdo+RefJ#{eM2rZ&_LjWu=@Y~A1KVdYK#$oWM?XL1Md=Q*%y{O4D~&L6Wd2&?J`vo z!P|&pdOn91!XwMECb%+#z#q|YkMop_(_?h-nScm%y2?Nn$N6KXQC}@tSI{YKF(4Di zXn9;KmlZ0n+oB1>56;V?YS}E;Pmjfq(^4sEeT_ZRL@BQJXi>Gd^1p$Fq_F=L_P@gZ zSJ?lCPI+g0v%7oP{bTn31NOgarQXWy|3;bZn-|VY_G6t#jNV^Pc0*F zfLs+T>B!(gqH#gAIS(w9?N=F@*FXjU5h6hAnNU@^^?~_)6lAzo0!q{^Dl4S&h5jJA zMtzW^(U4RMlp7o$gwR;{A9$$XETbHu9f}&-3U%VRs47x^l@u(-w{G(}QcEmBHwIAo5T_EABINNWU% zp2XhFFhQ0*dfjD*doPcE-Z<#8?L)SIu=msUR(FeO8;9^)TV+3QAHCjtd&Ho`!N%^< zuWaun+t~e;{kXlmwaU7`>>qRw582*9Y5UFo&UP1`ZSQXGyxrQ~eZ^itz1_VdwzK_a z`v@96+GE(EXllEAh>gAJ9&EmbpBpc>ceamyT`j%bKH9}LU+x{S4Yt2=aJ0Soc4y;& z?Y}+P-#hF=_gm2H?)L7>1L&purn`G&K(FwOb$@~%?C|x*&JK1}+IS1lA0T{eb8r9G zgY8$ZkJ#(IovkiBe9;BSHeT#>c~>x~&7F+%Gd)JU-Bq@6uziRV^73Hs&1wm!6Kd>HBT#R* z%Ui*zW~mi{BKZ65VK;7&ZFM(xpsho!j6;-#jY1Uocl{LdePP}fijmBo}8FnutI zIJGc~6X?&OvsO8=KY3O>t#US}69*3+{{DCQ6KlConOq!)zWIddpu80lFj!r5Odt?n zSfOXj2NKBKzETLrbRAD>SoX6(2RI?>ND3kgybmSf&$L!Gsz!z7v?dCKR816v?e#xp zgRhco`QhbO<^f%J2cUj)J?+y#Pg>&u{SU_nKHXv{4}hL6%$G%J)$w6dIz6YhwA_S@Bc?keGC{GTK@0<{(sS+G8y857ahA&=MtFl z6pyiB)NeyR!^cqH!gI%LYcPlE4^EPCoiGBNR+y%dgHuw98hO*ViN}lQ)4-AkPp;?? zP#%vo<&mH*%AvjFBJii@7a0?Y;@ZTnV6AaY(OU9>{Um;|IiC;g<#f!wGXAK~2LMBV z_`@D8@w-0+#@W%E{jKeTv-z{}Ga3PvGf{4)!_5Ng1`A+(j@dXnc>Chl-ix=}J6qyk zj3PLj0fX;x-n}Fb;&2@CBr@3Y7Dv=IL_<(`V4IC5czQhT1G{!@a-IT&mjhp!2gc^c z=IibpFp&IMK*LlRCYF7P{$4acDja7qO{Y3%%p2g*zJG~;hbd;XG7HA*qoe)a=FWC^ z_vkDEV~_h9oFOh(?Xy*OW>16R83{#a*XM3@hA^U68ty=akg9+UyZ~J~$5?2}-Bxh8 zD|xfAaj?Bn?d|O!9jddj;cz=7`hiV2<3W?B71Cb`-7E~Bj2oM84|Xz8JPrm;&F=tW z7L1=?b&oz848AO%6O1?82M2oxJ(v@9Q3OHdkuVHilJI1FUh z=GlXwvV9?_kXw$F<$^y1NjG2aY`i)=%LPN3jWbzJ?%m}cqUmZ6!Sq2e3P2@gXZl|4 zY{mFEFgEvgUv9s8d(h3&j65)maxC1$uzVgK`)1?E?%6|&B2e@UmHt@KPUhk4oL;OL zzaI=S5oP`>H7n`a;Glf2X_x_Hd-w2YV`nF4U1q^ZOc0+590f(^BFN*o!Iq_0sy`l* ziAK?ep0ZX67|O~#h@z=Q`Q82JgOR&3Pgs=S3(g0jmTW*P8=RkZOLNvR+2%2bGiIq__qxI00o|g<)dIa z7z|x}xFSYD9@$b!rfyM?C<#D?Kf5K|^3D#AwzhZA))E_tB}Zm4w1o{_4n~e4go9@q z9iygC>eUYWmX(odlp~*5lff&d+vJs~Z-D5NnxJlv6T!MPV1p4!h!s-qEx zL`)>`E?V1cP@D(ejcEuFyql`{`r%O+V$&8Vq-dK6rz7^08^oc?u`(Zf*CUIDQYd?4 z6jT^W@f)638%=x#E9(zsr|3VSm_pE(w`5I$-dYr_F(l<%>hXuKH>%u7f`DLf5vUG% z+6Ko08Pbgt1JhP2$uV$j;9CO&LI7KZ%Pm(vtg(H8uJgh9;7?|(^R*cHR{alV9R`&Nr2X9FJf=zYgBS6r^bP^9QOidKYXMol@(wQaYxC`zf z49m1JvfjgBHi!Pyc^UZVV-8)w;sex?l<7R^K^blc$P`AZ9R*`F1nA1f5hCiEob8?j zNfRcorqR%tCJnFj5W|4TpEN0AMCb1pzQq;(PMfiik&8E1%%XtE7ne`D8;6_%+SrS^ znn0Pid{$Z>`w^!6#fn}igQU1D4&_!>*){31XQDz}NMfA~t-=X6*mhLnu#w*g0Ky$r z5(}M*Ke0n_EIFfTkVm=<)=GM+@U;~RpKVk^1t#)^{YDfO%Zv{0(4%}BOY>exAvM!U zw8}gKfR$h`g~@Qx_BdX`6AhS8Y+~$-{i&WzkY+!$r)0fSr{f!pNYUr38_=W` z{K5)d8+PC6vfN#L@q`q{6-i%yblr(WM$vR^^sxpQl;EXKg#=Gm_%~1el9MMNW{RC6_n^iW)&Z4*1bfnVSe5`w~NyFteQ@ zi5Qo75K%m0>ga)!IfEhkhZhvhr=nm?1B4S!>I#;Qt#E`i7Lz*Co$p9a1X z`2N}*PD&+lMi9Efx}BoHm)_|y{mTz1{NXe<=HL*0iur=>iLD8-0G4bCr4Mv)#89vB z8UtWBEyK1}WvDa{o|CVR`L8GdTIdF+$EQZ=1%Nf>Hb%)tiJVPw841Fnf3E2210Y>c z9$_gld6K&J!0{jcizQXF{n}HG3(JTl<&lN)-{q`<0$Zd>dsZtz90{`0wiq^VjhIs?GX;nT7w?7xDjU<=p>U0mY}d{`Wu4|Euqf z%YWGZ|G4`f8?{z(|6}3*ThRZ)|F`&jN%~LnuP!vVFGK&$daGq-?|(GSBL45o`2T)I z?wz>ysI&Jiv}l$V*x?j(_TY9+ddp@V!MJj*sCf$|;bpm&v8f;HgAaOm3V$yrSEuY- z(ZY97UVI)dpQxicn(pS-(}y3pi{{({y6BoE| zBsH)j8ql%%qyhZJ{bgfkO)5Ts;ymeu{K(10tS4yCL4{t#_L~|2@CpuC>P-; z@oVHefVz{w8%M(JfZL=1^k~YxAtJ}0a_ovxDH#AJ7gK#UGh5@OFY}vFNM)Qmi&2uN z_>e~3VNK}*~Zg`Y;u z_@B@L*3c(!x#`3xg%^Odup!uZIviqN;1W&%Z@NeBuU-N!~_XrIZ+bW+Q%>sQ)BB) z({*V_hh_K%r*DjzlkE#%xT~jsA)QK|5GhK2rpQS07`J`$iy!R9KgCu`Js=7T4{lt0 zt{Zx3;Nd8D(6mo;kIqAV?nWw{Y{Qa!1r!t={nbXG*osyv5n3*eMiC6#cnN zUhW-icExu(QtJM)eR#CJ`$|0fvD@7jUw`Tzyx2RGg7kr&g@A)GPo0!9G;!aQqig)(E)DzFND|K=Mk zGo&(zYqCsc^~Bv@cj6W;L>uKR)ArCgBh7*3wOwfr%sfQ=BufA}9s>;?8(OMCbW~r; zi{v1tT?Qt;M8qA*_blTUjomZzyT9{$N)daM0q?{E#`batt>S%73j=C_HlwUgE5A;- zl9UUnTxyrf@+s`d*1M#7xQ%6TLB#K}?D}48knHpIxGa^DELl@JxuQ-4IgtGbtX$Xh zE4A!|$`U1!C1Z?*vXfN1d>v%DS)!5<98u+Y3O7wA*NtAfp=EQLTtXsxx3F>W>MaKO zbLK?p6c=(Q||>7Lq&;cF@p&nIufA)RHO4f zDMH4~ODE$cafd^=zI-NlFO5;o|4NBh z; zX4wF%ZVZWoYCi%C)knAql71H!o|j=8h#1KXg_P{0ym+U!0OheS2Pc77ycgm#|HWze z;kt<<=VT%eU`F&Gb92I6On9zi^8b`N#dM6htf38TKoFLC=Y6?2HCbIb$NkNVEk) z5qTU!CCu$RncT+G1&L%JVsj}Q5NSp+M~2}>0O;`Ax(#_O3Mu$XfQk|iTuLS@S87O9 zj~P`b@zq$*t310y7zwr@2mlS@13(&(8-SIy6;K@2sO#bT6JALCN0S`+CE30ABOA#80EZn#4UFZok^zJ)#XtL4ULE zW`Mqaz!8>qwJ=4YrS0%&N z_IcrCXrWzggt8AReK;E<%pQ!=+L*sJ*SGTp2*hN9DW#?`FnHuRJS1znAY5@|3ijCgeG)=20pzI5xTo5uTl#DS#~D ztmBaBYUs3vndr&%FGh>&^?gC#H9DmZz>R2~{-R7>;>6ZS0MG0<&7h zROV(-D7!L!urFYiHTKmyPA`66SX`#`47x7l4rP0;+-K*POs9bGYbWEAae9W>6SF>u z5e^lh1mU=+t7$)~KanOv)Tdk!vhmQ(G+@Z;v|RTjlW-aw6P=8Lkxz57qVxkK=U_S( zUXps?URdG9nb0gOHkbC~?5T=6Cu(ygF-$>gXgI>`CF+-o^Z(-fzc~Ld&j0hy|EJ^6 z>H+YG|5wedSF`8;b$DHz|Nj-v|KE<2lr-_J463p*d-5Nn4?oN2_J`ETKR*T52Mq5M zz}!8_)iXQ-AXaOnR3o$Ya+8NV&!tb+{2?u@aosq(5Gg&Y;x34!0Y?hEpcYY>i4b!Q zJ`-*n(IDkCo~=O%Vv#4Y$ex_r+_}GqY;VHP_ZQlx9V)t`S$da{r`Waao zwhK{21(zQRC7{ZKAp%4>%u2U3$Z1KOgCtF*&O*WqZxB(dSZ6_lY5gtNV4t!=!zhHc zNL7ElaY;jYUFRnT>GOhbzA2HR=%Wm}@!Wo1lkVfq{((l_xbx3x*8Tie)mbBD+J5;J zS0|*xJJ(JrNd_o?Y8OjHKH}Y-*e$tjkz3nJiWyThCrFy;_j`7HyL-yCQm*wfW4p{+ zE(sm6mru5IBwE$%G|X5lGWtYL$4^yv3K^^L|1R{ue;xe~#c%Bs zVwCD`Jjb(m#zFY^xd(rmb8sD6@g`SwIf?@}^oLjc?0^by@54)R!=^|`#A`Nr&E`Wj zo4GZ!Nq#eq=-HK+@qN$ne9!m0%lChN(EGWhoPNe9f7MFWtkfzUEvu1mb-7z2{kHb) z->Yna(Pf~)m6A6E<{NZ%ydQAjuo~zTL$5FNqm<91c*dCUa$H~L?qRVvlYAijtAg{y zInr@&xUT_e`|ySY-yfutq;hg{2XEIZYvw)IVzWmT>2l@+CcQpMtL}qJbD1hNA3#wtRhk2} zxV+5!{n}hvQQnh+5ZiIQQqH&%x3iSHp6C)rB>NN9MU(fXQatM>KP}Pq#g}h)H-&eP zGV!sFj|xy+L{SdohwMZ6?y zV^8biolwH*jEpzEtPTm9z|xv>LNBHrH{Ug8e4u^+RvL?KO}vP1KbIR+9K1aXHNHC7 z4zoag-_ZYoH9`w%)kEdcWm*f%$Nz*HP_d$S4E?m+E1!SE!g89g zrxwsdFMyHV07{4Ql$VY|WozMe4=HSZO9D}sWg&eM_;?-bF09lFn|=Nhr`0Q(;tLh9 zvK!fDKhz~m>Mjx7H&aCIobRmIaI(EsQuZ=OGoOz8F(DhZb7#Bb$PZTo*SWBw)q(5y zfwjt0tKY{^P*KP2d)Bxoc}&VvB;G%%O?&5uYx?5ylspFXFj%=yR?Z81Bg>BcIJBhL z3X$e5E4cO~4Gi398jQ)zbIcYO$mm!}Oqa`kcq8Fj(TGE^Q|tsdWydgqTYkqn6%&4% z6{ABx%}S-if14Hl+pLt7W>R}zr(E#x6Pcue-`AJf*_;JEBV%UTQYU5vh%j5cgG%VY z`y4=EUyI-7={*Cw3?LKB?hPnRNdR$|xE#pM1lva=cFtaIZ0~fp)M;nSI3eo3SP{X3 zi_3D7lyxde2ZXO!Fv5E?VBHdzG2oNcTy&ScZIAJ&fM0TsXWf`Cj#BIR!6kX#k*pZ8 zbfcw&d!zqS53m8m%pM*@+yVeQd#|XVmSN8E@M|@u9nf{#Atv29=Lwh=?_@=VN5|wv zaZ-@L?^qyg0Rmv&9=u^CTuVw|q!`j0c&z}GW_7W@Lah{AB4G_@hLpl4d@G2(nXnM- zzDIYsWW0vZ9lQfa$uCNqN2pFprh~p4ovFSCrlr#N2!hNMu4Q1=` zjXR!>diG=r?Ep(k4Gi8ShE;VtlXaDEXdo5OUmR|U{-Fkr7RZeq(PUp-8)ImE&S>K( zg2U-}?=aoQIgluSJYc)~2YZ{{!^6FU!`|NR&hBGPJx@1t$7DmjnU+3$NC{Rv(nz=2 zKZWx-Y=JU0KrOHMx3nR?;X_~Cj`Ag^AkR0>t(8|19%eW1SSjgb|v3yz2X-LX*6TrOat~fg)x?)bU8BPT^EE`6$RHqrRtUPnLyxED3<(WSxt5X^^lVf8tQX zF&`wBBhGk}PH#pm%^;^R%lQ$s>F1z7Yj!)NHQ-5l25hKWO{!^ z%gAAhkVloCF|N)e0<*}yJEtoF9xp>8sYq(BUm^EMyFJRLa%nl4&SVMsH!G1QBSS5j z%4p0v4>4ewvI3_m^&^7?{fuQs8|M~&%G8RIPnp(aUgt4nx%MNc@$k|^fjPk88~wMB zSiNL4vK%z=Dbohko-${m*yourK<%DP9@`UH!P7dvd?|1;&7o4&udHBQL;vp0*WJw@ z58uA&9lqV)-#a)00+?;)UXjq3 ztECiHu8DlVB2=+>e)8bq;s?)u9lv;RsvePY-5XRETqka9T|$pco|_?#H}rp;vSUks zf667?I1(#yN|LR|nRkU_kr<0`;pJX6Zc2_mO|i~IUcFnGf$d&Mu9cOz0*Gn=4p&o> z{KGT7)~YKxNTh63jmvz^`a|WAP>6!hxsZA{>q9>sOSqGS$}raR=wglK4hq!6yV<8J zY5(oG%?eu{`*F)Ft1vXS{AR1MLK)SYb+(K-s&yb}sTM@cHfN5>7E~l%xvo$+BqI>{ zWhsNOhUcK`MHeIH(F(`6t>vt8-j2@Q2${8yF-uIj(miI4#$}Fs6WLr7%okM>R6dg? zpqY-@w<-><%p&?(DK`Gjw41eoBxco_WfZXkc}*zfBnOM)VUN6!(r_d4NPq!lD99*D z<~9(oujUIkU3Td`ywmfYGoOGe4(fhlm7_?P=MeB= z7HPWLi_xtOc(IkLVGzp&{Gh_x9Il&0)$n5CAsaOaZ!FW`nehvKG`{*6zb`?c=yo0NA-V>7 z<#GTr@aR%Pf#uDIO<8~pLZhu#R#xSjfyKWin}kmkPQ4frzq;eMaC>I}-Nsk6Jv1Y; zwFU4nAv&6f!o$4A(jefPi$?G(HKK-7_02UX*XgW92#@n4EQID9WIvyO(a~>*dq;JxA&Q7z(smUB> zXl(-2eR(m<6=c}n@S*W2mm$p9In-Vsu9*-t?m)_y6)=d~ezcqSgIQEjgxjk1XU|}e_Xfbu=P#MA#XI@E{J#87p7)gG0fRdY-JXnmmitthq(n|nq&IEG zY9Q*V5H91b6CyHIo$=Ix)RuB73IUpG<=!xi#IG0$5w{^|iwQab&-}YMh2f9491Hlfb?5{AoD6Rc~sMAoAOO6%c3nMUwAfRz(mqf{nyx z*%al=Pe4)5LA}J5> z@-?Fb&Be}YE_T*vQu#K~zhmjfDawd2l1Memh)~j^XPDz>!DVhHAS#|a8FMg9(7R7T#KZ`YH@RHL;nIC_iussi4<%=% zdVCnTgA96Y4*f9~3q++v8c;0gnA9L&Y5u5%O3sqz6qXWMqUr<3kON$n&RI}j0IS8U zHzCk>Nu~Q)4tgg%(bPi9={63OUvDRqS0#Nh?Q1?uFpHRPRenwCE37q#A7k6ptq7LH zKLK8MDEff5v{ZMQp=8>QofebT&YjhA?qK6XG*uQ+CNU-5XQy#FcIQ(ImGUOhaVOCQ zGllzXY6{a8h|XY~E$YlKQd7d~mS=0Oq~}DLZFR0C2#-&9X3(j|X}a@i-Gn=fB}O1< z^MohT!R#m2xrGj0d4YTJ-cCFX9^2bca&~XyLy#7-dmE>evI|bp4@uO_-Qe(U&IZRf zwvR4)+M?)26JH;nHszS`YCOan1Lt-^Z+}NePgt14X+O?O{-m`@9a=yAz+5Q6B1pKB z$E&z`9P~zjZ0uNpqs@9OCWRKCCn`_M6@XLjv?i{suAt0u8YUsD(v7t}G-333a6(o? zk+xM~#K*Kx5|~&G&{C6wr+)IVFGt}a!T%nU0`uqGU;Bv|FBY< zk^m<#XN62@y^Vu|jbAmzr6sU1@v?07_=nTP$)>7wI-I)X8*}#+RS}kJa*h#Es4-y6 z)}nC{VA$PHyHW>m=Sn%MKB9pdkWug zMTVu&m~lL*%^9uI`)3{X*tG(F>2PY`*%8uJ-0|S%j%O98A|CpaMkjZ4j~+ihHW{EH zubrQB79QV(4i#ll)rI=KY@_$IM)Y@VaXIDFxS}a4=%F}F{B`5aPUbTBRhDx@{3-)J zX3UHfHbN}E&EKKVp6N298m}%5m2n@cEl#$1pS+%}sW?OB*HsEU(65~FhdS@crFf_f zPHdji5-%x;Pr6AJ2XfkpUq4XuAviLHazWU9xwG+V-i*+@JR7hqL*9LeJz0qoEjt(f z$VK<3o(NBId2S8Rl>*o8hp@vg&*70UYjH$fj<*l*T*Z6oC4cu-8u&STBhHu^50QUi zGY#CQd^k}baK)&Y+W6e zg34?9V#*DWorrE1(@2)vS9~@#?;XdB`>ZRHB8C&K<^)P(i!nl}-Ng^nJ!O!O<~VJt zoI_^wQj|P?==G6=DStz4?;aj)?Cdm5%eEx+KoMX-5_`T2xBj@htXxSLqz!Nx<>v2oDu>}j31MSKxB{5eZbbT z^@Qq?TobaGBWy5X(woCL?_(t;?sQRRm)32jM2kwV?gjRJ>yvOf{ z@kmUx!V8`%Ro9_zB=4)!c~Oa_qf3k@!fZS$H7-L#l;)s}#mc79rY~ZBjB=8_Sl4l4 z)3vn+x@7V2GGzX-1@7NG1$F4W3~1vkcZ6n38J|nrncvKFv3>=zwjY%F!%wjc#&gD7 z%2-tAG$DEgo`?gBQpT(ptCU~5#bRcPN@y4dS^IG^sRuDD8-aaHQ;$Kux{i3E3%6h$ zj|_9%0#e@J;#~0#T3C3#uGquUFk<*|=E)BfgDkoPw4&~?p}5_9#I{duQQY#L*Q$7x zd*JxQPH@KZLZ|5)&OS^zfD+(V;n*!6YD|%ZR8c6kO>zka+EQm=;Xnk|Wo#l62y}xx z1Nl_1k1wYEFtZm^<-DLj`}(16H&SReZv2rq_7I9vY9HkEXiu0vIN&t6eBp;t`MJ23 z&CM&0n`aO*>MlcyWX6?r!I_azIe7Z$h^+IWdzH%~Y=3gg$%w7o^`J(n#FWnnFO*nu zwIJOLp(ya1pd!$LZFoDPz;N8cIG*R}0TEa_jUWGctOXcpZUZxB7V6Oev_f0VT1;0k^X~6kS!rtOK4JAf)18)SMH#N(fD+RYvm1k#C8 z1Ft*8^7s(*LncpZRZVpg=WoV78++#$(eRc}SD0iw&)Rttr|g+of2VBG+*zML=VC73 zsaR)UjC_ZEeItKM34;pth8BpP7ZhmC^UZ*~41Dc6q*KDM#7PY=8(z45P#Z%v+%VmW zT$i~3BFQ1(fWXCi!aL#77DJMC6UhRgI*16DguMRB&$E$!%RE5IX4Q&t4i|3Wy2F-E zDoY#;>2{v(3ruu7|?64HO(})MyNXAcP zb|(hY!2raw2Qede=CQx*w-q;gyU@p$POI=ZACw zWG-+$k}1<*h<3Dmz?0Xsd|aAWy*E*#8b|Ip3d^tkk*gR67Qc^;G`NW8(-_qV_fiF8 z0hES@b|7)}A$?z8T$bz##n2_54C$c1Neq2$jkEe=jSpWtU0UHH{TpQL&~I|v0pKWI z-m=VPXZ5x-AI20gw8%`+C3{72E7|{ftIUUh_!EOApUq!#*}z>~XCcj9HF4#UF*6-% zKc9dpz;ryIhL`Sxh&o425oF>~3TGJQxF1Q_lvfGU%qt&%o2`WZaDT5^TBs7YjJ(5r z<8V=)8}5xOzB#bA{9E6O=o^s&6g4n}FuQL=`vQ4Flrtl`{0PtM@l?beMCkEOG>>11 zqJS}*&Qw4*vp`}yitZv`8mW{eiF{fGF7g@TL2g5zKm=x>%Z=krDTgQrubVUXy**Mk zPnb^YoKlEa{a4(PP>uN8d#*7{^rJHHBU2{zns}1vkRNCW$>(4SPrYfl#Li@+JAoPapYK@Js4Vedl)&+A@y*L?T3(DR?x^a$ z1AdVLUA)Ld!(uU+GzX2y_?ziTlAynv%6XP}+~c=BQrZq&ttF}?UM{h3zx`HQRNK{( zaBld<7uaV@$Cz~L^yKTMR9+8ZY)N+|Y&G-xN7eqFbNRVIpyWS>rY1%S*OxOOf8mM(#}}>L$Jnz9v^c^mk^){PzFxoz*JL9Y@szUy{H5xoy1=i@Lz>eUrtOdd zGh^F!3Y}Xr8^7|5wN#`(x6{F3@Efs&+>7aLUhW+{^MY3o1X<2bSISd-jU8Q(qXJL$ zFv2?r`>x1y3Bo;DT3>B$^0`yeciR4R=!}=5baUv-PWKpjJdNbZ89;Y(CN5N^NBowm zfbm3M2HQ`22ti-zCR2Vwsr#K3@BJCEI6L&M?$O5f&S5qS(;DRnbro+5Va(x|`1*r^ zXL}YwCFdmIbMgyb7MpF(3enj?;#J+K8VucpVDqk0dpXmAcSy!I0WNT;EuNeWLHO6H z+A7`1=A`e&fc_A;>kE+OMAm|k?d<&YhV^eF7lAa=ZDu-niC12LNQ+_6plXal0cg^# zGH^e*3>lu>8tk=yjaL(|W&w_`qX59@rVxMV(5<-^Y#gIw)bxp2ZICbrQ!Vz(kYD-v z(BKVrAum_w4da6NBKnN#k;DgC_Kv8YjFy{6w=bly-8>n!EV*Eb&=}`_o_9fzKubxGmXHI zy9}oEhq}?3n@%(f()`W9jcD*bbaUa75w`OILm&EZtz15b@lE>%v|PS)$746T2wX3E zU-rWrL;*cMoGD9xc4a1#Se_g#&n*A1fGF1x2R(F4A?^n#<+B@1fc-1{x$ApNn(3-HhEEB~4heBXk zqaPs8EaP9$e@Mw%nU!af02ge5`-PCOnR==w{z)-d{B{@X6!?nU*09&?8C0r8;>G-q zL+etuH=NQlG4+9(n? z!UILhHXq%R{Jd1lJD;Nf;pe(eq+#aRR2(s=9me-=GgdRIEXnMg_AutQ#>|-^9Tn^R zjGH=y7Ic2>prdQFt2=abVb&!<&93l^GE(oeH=X?+na&?kAHL{VUJ zg5e3SE_oHAu8vX84$EtkbH<2R5zNWnA^XK(bD1pdgVeYH>w_>dW}BWnyobcDMpc@vX% zewdZsNHg?J0G6{~lN|VJ{PZk4!}PR(>0$5I8c9#c$7rqe9lBsNJHBPDHi2*cw!6xI5}kl zMn|MH`_eB*=7TK5|BZ`m@a0n`Ms;A)k`A<#ZXrOhk;wg>m)o*gPee zuR&aJ{=7eV5@lQYvnYZ#R44%fUB`IAP|N4P{>5ft4 z?unf%rn7J4omD;L+jX4g>AlXlvg;ryNQ-<#s%n zD=4TXOy^06kae$|L9p~Bh||b$n2Q^t><^}4K7l*&R-VS4X2k8( zV5nOucA}9tIfTHRaZ4$&QK`73<+Hx5vtJh177|mPPX_pYlF|j{!vK zVMyhO8;%r|!{D*K{q8PcMK*dX<%A%!7;`6&{b?jeVBj>aGTQ~JNa1KGGX785pzB1F zD_ozeJTmEXYx@AZN`9^Bi#gz6rF+r$kqaXxlN$^hsWS@m$=ahsAqFAdMDPG_hc126 z>TG=lRFvEIHjRRcMGM%JgtVk6f|PW}phycyHv=jlEz%7l-7PsZ(n$Bv-8I0(`3Cjg z`}?o;t+Uq4P4=MKisacRgaw5 z;@sbHjN}?nF2XAG1SI+A`dI2@Gi!=480MWpZM zyvOM1Z#{qi8KwAW7ya4V{MG2s@Te=&W9e=d5Ka14f2teK4c4Biw@o}fimr#Phy3(m z;yp5YM`@v)QW=D9W&6HBTWdq#qJ4?BpE0lYx%chLC59K3uTQ@)jI_K@iT2rCm6qQp zTCQ-%F@(#R`^YG)6|BlRGkkyJqIieEegbM=a(m=ls@Tev|P9|ult3> z-5-V3ycN4+wsbo($h9A~IkrEp(!)EtX!9=mzJHNI>d~&hP#xrrKke~Dvkv9eTZ{Io z>2jNH3?f4ikrC>Iv?{ap>X1bibN-TKs)@VVNY?^i;6F&1>3VdhB*8JzENK7sm+6{j zT^vP~Ah#9sdy$cJyUnCFh71bsWxYvy3|-Qp4_~^~e!)$8p>-3!@ zH<@bw-ik0x%Qpj41-*&|omZ50x-Bm#Ps=|MB{rBlt3D4ho4c|;W1>#iW3?Y7@?AA&NBa_(l|sWPzpCDReod!#KI3P)iV#V^ zp{v|Q|K21Y8@DqyHwxu#-6VBMzSSR`jW53okI~roU2|&-34iN;OXLR6wFPRe8;^)Nu3_RDCQUErdi*ZEfBJe) zSyBx#MI0boTt0L6j zngsf3s^HaMqNWl2nCkE<`dWqv(Ow+2oM7N0xxjUuoB2!{SLfBtP%@cgR4;WkKKq4I_8k#&4OM2Gpfnurn7_dM+ckjZ$r}+lzTw5+WgmAlUK?p*i zIkfPy$G7W!7EA5n`~BS#qp!X_enBFqjQqZ~8Xa^^GDq|_ht!EOMR!knE}PZ%&cO+^ zpwQAJcS)kTsQCpC$@&@6Xs{-V!?;2T)E_akW z>M@nQ{-D(_Sy4U@=;k?!memmQJ4Z9L%B088nQ9K&72S~VfRKKxw@>zO>3u925P@8V zhN*m!501DP>cjY%I-Q#4*+Z|Drpll<1UgAsA6Hp$ zz~lvcVeDoa-@gM)NJzU2YaGpSKtWXa9TMh^1WUWV9{AXRn1h~)x{H6dTG)LiwQd5@ z+eU#M@dB(#+v)2jR(1K{ma@a z<;fko?YuF;PzBdc%UK(oM>H}O21$;Ud#_9qeSTy)3k#OZy$t~M^S^o?%l7dG96gpo`fIYoK# z4mL=ol)a$HNc2aZUBB`E>qW9LaSF!L;2w1rvA#{8@1l3xl}{R-^)b7znU5ri=u@<_ zi2160lSLuA^RU+M-x;0}2g;5+T#XfVbuSnukF9)WXWk+yo#)3bZTuv52H!Lc>QA9W z9K$ekA)ui3<$F#CD*ar;YrI+p;y|*HI`K+ImtFqth?lo-;&45GO8f@?NN*P1*M4R; zKC2;48y>#2u)y2?G5Ck0t80le-wZ9IF*Tg6$?0UD1eP4sm6ss5+G|X9q5bS3v3}^K z3<#IqaEsXR@H!P3QMWj(tk=$j1rN6gSa}tyoQ?_jI9`01;JR??rk;@u2#QuOqDc*c z@pf9?;%MQ0a`5Pg+HUa*rR-6usMqv)vA%6}t%4m=owezY$2mO}E2HjJnIcq-d{C{V zqbKask0N{+L>B(BUUO+SD#P&RGcU>dF`>->NNnxqyjg;}5^81!WGA^>M#>RXRmvoUG04bbaS$+O$lMu$hX-sh4#TyvbK( zuT4?X+WY0+9ddsH*1K0xcy;|e{W6SkU)%`zU`n2D>2$o z9f{W+ZWXxNTH+H|qR7oWl;EwHL+}K9JF%$rd*M68bR!(^Zq>R57L>ZDGiRDb9=O-P zeW<{nQ*@o#m64bEGoy`3cZ3=*Te*DL1c`>;4MLy4Q@$HGE6xvo{ z0`iwT0VwA5S$Y0gC|cMY3SWvqAM4cBAW9BloPvj~ZF3vQ0dRft3_5q9nrD(xkdUgS zJFij_;x%7;8dDg9ML@nytyM~N6XaeGVXjH!9|*GsNFO;G|fd*9aYie2J- zL~G@>*;%}FQ8HVw!5Y8>H8Hpd=+>{ ze$5{>QWY%XxWskyo!Xmq?s-0I=Dk#At`}CT3R4gub(SpBzT3XaX8*fbnBPdG~NzfLj%5uu5r?`Z6v})e&zTr zRqDYzsat$s9VqT~q1H})8n3J+K$gpNzjSDDuCM#@UH6jh9Ac@-`0VOY=zHTqoKB>l ze=6_$RK_Mgo?C|eL}FJLm)~+|&kyh?z8iF#d;65#^cFis>NU0}Ej$8Rt-`7C7S)#b z7;0WS&Rez~ZhusXVR+U$t@eHII?x~KG)eddNPcd07!RPd6w*V8}n)F-beSX2)7V{*^E@H6U}XNjyC z?$`${i;5TAQuagcuT&jA`x#V5NX5#5L20VSv}7+8y+1;vv*l35ckhTdtgfH>csUjHB<@GV24KjO>hAp70^&}oOQTRO5@ zt}2B~lSAgB&ezCd;SMXz{(H8h-F3e{oy2*4-MCZL%B9J_(j+XL;t3uj`j#q6>50dl z!1OBH)0~d2!<`nQUX!7-xi6q>-UjKBEF`*-F%%I$&UhlyU8TQ6-IvV?n?BueI9WLM zbSJ$nT@6`+l;_T9CVYN6o~>Z;hOGA?Zp2hrEOo4_%kn&(IUZ!Adcnt@zHyo1QdAb)8`hZg_LIk49qMeh zaw0u?Eo^HtG1}+p!RNXx?1tX#DSd9~Ly(nN*P_OJ&xktENfXRaovmm~yE5giEaqS9 z;NpX3^gbNDLR7M1^#O$(y}86uJTmyOK73c?Iny?|Tiw%1)nQbK>C&2MHioU!sYLp+ zDY@Xa_r$j#x{AKKzg{~KI{6f2J5)uLv;2vhJ)#jXP<9& zP~d%1_S||0V~V_B>^a7qz*bF6{NP22IwRjJaSEY=|}%4SzSn3N?)6r~>)@p-)$A zRwCUt(Xdqvn``gX;sAQ+A1ARSW(>qyfJ&Ly z0kl*dNo#Qv1xo>hXpU9v-+VZPF3vTMQ+@|Wu3g=mK)vn_#TlG(01VO6pGDc zd!@a8ddls<82M6cY|LXAeT77JbV&6zef>#GQxSm@6>HG^v3}C6C!oxqde7`bzi8xz zEai)JQ?6ldH$*zpwH>nBgw*>3Bk?KPamNR7c>N1?)-(lY`hiU~0hA4mW_}{y84(k! zyL)j{D26BQP40I;XWiEM?3mXb%C|eyDo$`=2UBt;&I%CXtrGn?yq+~WG>=ww zr|z?VqbM8A^=k~sPNi_=3c9X2({d4+v zF$2Db?Qzoe1`y2!yHV+B=+jh!83Qkup8PObKQm{sTfzgWx{E{`*yq`=%oj!ZhdS9i zQjD(A|Tb#`IMReg_J3VY+FJ}U?t-`JrUbsJ{J;cnmE$SCoNOG0^TMMe={ooKE3FvZwT19`Y% z6R2Xh!#Y=uf*{ZC@olKT(fp0G8{&TTclP*NlfpYZ28KKjTRJ=LghV*88vdxiwD4*x zf1FLrv;G--eXa4L6vbsb@rpZzbvL+!#lJRQU^0GSeH?jFfjzC~yLqBeqe9y$!G+r* zU3(nIyxbb<%eO_u5ad)0;jgHvS#B`VXn*DAaL|~1GbQU1w#+nRF2S}H_G2UUK5Bdp z_em+~lf{n_k44{~dK(L0w7a?VLUVy19&t#@l)b@3tN2UvB@^?^sN%NEndJoXi_916 zW0*e*vI=}Kzc0zFpegmBYYhym=SB_#TH{h|e?yitSi=Ru(_x=H?+Mn^=HR@mbRkG@ z-U<#0TvgpB0hc@JmtL7|L`V=F4&Z!}^6gF-J&?LL)U{ecxlb=;?P4A@qmVJ@L)&=; z*2Xo~%gW&@vZZoyAT2dvSGP?-srzF465%_x-ZnqxoQ&szzV>C6<&|wI4BbtfCG1M8 zpQ5ixPO@(IOrbeip1;F;QmpYa-h|n(x3x?`qqmx!1Y(1Csg{kgVUg9D8NX1xa{Ch{ z#({~;P01j4^}RgnYuS0qL8orzi%0TFu2MkWx8UP|&6OM7j6O2`XS3^1?=0>8yxjYE zmd;*fKn40EydM7jrt9nbJKsMv36xj&E}$J)zu}yc^InxukGV`Z-jMhF`voP{x_SF6 z!5>7s^1iUK&2$iLN88Q|;pqHuPL`z2|0L-9l_Pw_LE1T&9oK6=gmu+iuSUC8rSs!c zIi-FK&tl=}OFI?Z)#_nlo+|Ca3mSwk27%>zRoIVRUpyLySF#k1*A zN;%W+M^N5l)rPoY>mPk>eFf31x!6Rbv$PQD+^Xxve=RKTOC=|eE0kNKw{yJzo+Mg1 zSfTanK9O-U%1YK&VvJ=A&opxU=Md^>Y zhdNdRM$6w%w0}2Z?PH<9MAxn&d$$6DI@GiMf+-d717JhkbP*({urGl0{6c=39Df5g zdkQHRWCa?zN6#?eUf1r zAN|r9T*bTLrXt}W=wIa|`mp2j3tG=`bB=wt6DkEcPGRL;_@8SmbWM5+kiGI|%M zaCshyEN`v(VU%=@#Y)CLS@iCwrIHUif-F3-Ax3JYP)GXu6?xmwTw7I!@oT8dk$Y`* zVS~;^D$afKi|eaK>H=2dt)<^)e)?$HmqpZ35|VG;USUoWXAV`WQ1F~t9a*ij8gDLt zaUvzler2!|+f~40O>*f)l5~)j(t=++)of4d&Hk--#~~GP`%(VbAiGlaac)168iPJh zqrQ-_QUnc5H1@5A3hQ3QDQ+eSli1WF<^^3i)J+v{Y^1!SOziMowc1lw=BKGP`cCMxIGfMXFn!*GZu%VVTi7gykb>=Zgm%Z-6X-oMOF*(98I7{oAm}z%O8qwJq5{aARXr^)SYkdA$#@N zMWWD3*ID@xZbq1j6_0Knrwv}mm1?2s;AZxRvzu1*TXd+L^uEU`i0gsPIr{Eqbd}Zb zb-IK6jNHHY`kC&#MmTu>h^dt=xWb^dgG%AwZ`&>0RM(YExM{)=6HL5vMTaYDm#JSj zzuW-7Y9ByzHXKaK$Tgg*mfpa4Hc7;hc^eevGVm zvMPW-nIAKfGLfem|IsmRO+C(GbbWNIVnaReIAzB4h&Dx8^ULy2 z=uUkMO2f?P0I0GC%aou0+`1lxU}vSxQoaqnXxJI>VP&VhOn~1`Q<u>1*-x)Vmg* z%u25or?=`#3m%Omkq6C)yx{uwEcBw#?+Ed{d#hM8_=xFQnK}oQ8q3imz;Drd+Lzo2 z{Ec27H%BQNj%0dQMhHLSxc=5yc1<}&gTtnsT6jhLm}H8#-d#yjX?5?$Y`LW7;M`<6 zt)we&vu|DT!VJ|f`R|dO5V+tZe`>7weM2u41hG^nj1TNiX<9!DD?Yw+TmzAQg78clUFSEfmb29>m zp9-m5pR=_Gerx#Al&W6Pt<@f=8d7b2?8FyRUChLDOFvk%$5iC)at@UmFznXV)Q_vu zt>H5rON`Rm(TVg{u^vNL>zGxVlMimimun9e#IjY+tFodcb6>{}6EQI#skd5cOwd(s zqeQti9CLVUFYCpoBYk`%itrB`ZqD2K&I-vt?%BNbDvxVRTc--idD1}C<}mxBfNK=- zp!RL`><1q-78k#L2I;9-6o{-T0S2dVf>&{2peITT+r6g=!w<(~>Mtdg;Avl3C4A1> z)F3@~%mMA}Hu6v9gpr@Hl?-1A7H zRw5aMjecQbf7m^7ojU%Sz>1uH(lsUK&TzOvIO0@YwsX+#+f<0}xT|CB-l4HiPPXhv z%H}50X__ZJ)#{x-?p-7Wb$cY!CTqv+5}TguRQ%KTUygg87=-r~^G-6nk-*pgl3hm^ zsPkQyxLFU6_1jq5B&V&EMRw!tGiI~7xAZB{z2?Pd7}iDD?~C7}82bG7so_?`F?*Q31VM(2}j*Ys7bqO zkWJ0TwnQe&al!sHErH$Yy!DUymLp81c*?k3jh2TtSTcQ>pVhI(nip9xX_K!$Z29CU zM9(hXI9=J2$2?=&dXkr^zeFgcEivbx*4D|;7Z?b*aRSYq1<=RXm-ZM)=&2YdDsHJ_ z+OuxyP-j>?S7fy^Pu*lTZcE*R^F8rVz;KTJ`p2lr0vxh(%L_ zhMl;JW8f!fodv^FXzpi#&fNoTnFm0!8(5$vVZ&iv zx2^>4LB|51oS?AM_yji2bOIm&fIla>6GJ;3gN$dZoN=0}n7lQXs9iJuu6*69)Qq2| z$9vKgt5s3cvEGJv>f*PuMp@L`x60zI>c$^?@2Qh)|Lq%&oiQ^8j*>$HaSX(wX9~QD zBLrY$7c4XGVT`*GtoSt-&xD!4tI2W;y0Sx!e96Ha?Fusui(vB_i{eQA;Frn?0k#HEV=mZ9`2t8%pgEoCoxPg~t{^(-ar23@!$gQp| z)t=sloO0r*;WCTJia~}kx-KFgI3MlDj6r&y$)k$P2`TVmq2Yk>g4muWQ21|c;VTOC zVIL*m1W;a#wWlCZ=mnFPYsRzrbsD-YEK4nUS+=y{^a4E@OCuAB-g;(3XTdUqYYhxt z+5E)i>ZLPg@fBM6m(I}t_PFK{g?s_v;vUoo07wWJ6-xw+dr*h20)a^Lt~|93NBp1e z_!Msa=DbsF4Mb?zh^@t|NiJ6Ot3k60OOx4ZwDw?G{72(y^O66>**PH4)W_Iat?~LY~Pn(qs($!4Z=ThD7cZ{Q(^lm5bDn`D7a+<~* zHQh-0pS8oLQCRfeJB4XwWBZ(AB~SJ!EQ76<8~tVrt{Os-0TywWXHf-4RplXSmAS#% zrFt708%M4++Ql^Ik9koj-tWpA=aa1%#uzHxg_iciW&p@X^nB-@|9>{uMk zAGDr8^G~TO+S=QIM&JQ}QGh~^k~4^G88mlr2gfISgeKUrm5>mol3&R-O2@^OqkZc5@?oOPjc z?1tn9%hV}b#(m`D{H0zuv8}4ZR->2CV-d9!mtVc4nJAvGY?I?LnxlD?V<}XjHw9Gw zS{k;S69#^YC7NphU>Bc=U3_8;AUo^1!in&l%n`6ko8XkM)U&RR65;I8u2bLQ&l!#y zwyKzlyG$sbIc{1`6LYnn*MhC~<3Ib<2mUF7`0x6$lz7U00xiW7EgSZwJq9j)0?nMx9=lu# z-?k?*ZZ|u$B(=wQrqAr?1i$KfyiqVspuXWKs5Y8k9%o!U@|g2kRwv7Q&sEQOn*UV zw_15jc??{No$JF;s?=6p_aby(>@*qG_v0?GwgF-Xz}*}rhV79lHVxY6)n^`^@)Phc z5{;BMo9D($l|QLlh(R8-Yef3wmOfugFSaS30?8-^3?tw!Xooh@E`lx;ESU-*)ZViL zM5+^NB_=*Rt$nwV^PLUD<#cn4Ig#4fT^i(_cU(dXQydI;y#;C_>%W2ya6XR(LDZDIMmX=7k`>;qlSS%0rZzH0NH!6Bo3TR zG+3V-@?)4hqj_dw#j|X{sw(rN?GknFVNS(a!W$$%b*rQm_n_gGyO(cc_fP?2q8kkC z@i8lBKmq$g6s*mhfod^r-)`LPoD7eAWyY&=S9MFCn%pSND^p!Au4g}cG~;gnh;j>@ zZ(%rg8-o1y81}AJw>@70cMgE3HcCpE5`1<#WE_^4W?@q_xfa}75@WM&TSkwht!%iM z@k74BB$usio~d+O_8TMmTm)95yr&A4KLLIRPzVG=y%actOCbA(h26dyA7lAO9{Kl4 zrl}$hPIGcWANoOzxTcL7tM@jcZ&2jIKbnxo!0!Tu0sw|i;C(BA87RV-h1@>{W_wTw;mSUg z!L^fsXJr#PNN7W!%&(eYL+iyhNy5oyx^Av6J2}fwn>K>mTi(p%bKI`{ub434?1F^@ zOd$z4ivk5!9M+w%dj9wAIX&;4eYS73n2B+k5PW%^>k*3Z_9k9G^cpa}#@Vs=pFwW0 z?SrK=m_iUZ+C)K-{exG$9u_#<%=_q5YkIS>;p!N}*)Idh(coS*iT3h0kB`t`Q$whL z+Ex`fH|g`0goDa4(1+cJpmR7VAc4gy9=<+49ces*%1E1aNQVvy&2`aYC1SrFdo>N) zi=4Jb*WUPn*B@4}d4V}#TgKu7Ytg5uQ>bVUKvXdaMySWLC%$~hr@dl(AHhM3?pbM6 zkKgZ-eEO}K(mvOVJNN!?C}D9xep(pq6g&kGi>HMv*sK=UOV9Kr@3!D74s&IO8k50R zBldpy42t%JVl&vDHJ47AaaNN$@9(*vGs;h(vk0<(&wk7Od>>V+k@tsg2fv6vHu@M& z(4H4k%vsjF{P2=Qj_F5Ic6#<-*+Op#Q~sU&2HOZ&LIK7$s0b9DoHPQYmqcZFclj08K+;DJsp`p_-NwBWimi1CJ-b!SQ-2h)*^^Y}UO@VbE5FtS+2F}RKSeG~S*+cCkd=EW|LS(PC2Pa=tkP$Y5&!-Wvk(6YxC;tlfMWx= zyQ0LP0FM3tkKevVk*Gz7@WyR7iun9e+KD!gpRfPiIX1hZhE(@Xk@iM*eN*~lhFC%k zK&^y!LEpG011*3sMuE9x4!DsRkm_cYi zK6HEc&_JnY#Kzoq#zTcW0dBt7*R1xJ@|@{UwCB z?zjvlGrd-3>Hd|U1(IQ);^ z^t(STU3x{@zNwmmMKZzS4FbFjCR%m_dlKas?mo;P@wLWRxwl}MhISQLY`DVNdFW@xo9>`