From 4ba0fad000b5507587d6bda6b2228917cd49183f Mon Sep 17 00:00:00 2001 From: scito Date: Wed, 28 Dec 2022 22:28:54 +0100 Subject: [PATCH] capture QR codes from camera and major refactoring - add GUI for QR code capturing from camera (CV2 is used) - support different QR readers: ZBAR,QREADER,QREADER_DEEP,CV2,CV2_WECHAT - support several input files - add option to ignore duplicate otps - write warnings and errors to stderr - add output coloring - rename project from extract_otp_secret_keys to extract_otp_secrets - improve help - clean verbose level output - use Python type hints and check with mypy - use f-strings - clean up code - add more tests - calculate code coverage - use src-layout: move files and folders - support wheel packing - enhance README.md - bugfixes * fix -k - * fix utf-8 encoding on windows --- .editorconfig | 9 +- .github/workflows/ci.yml | 30 +- .github/workflows/ci_docker.yml | 46 +- .gitignore | 9 +- .vscode/extensions.json | 4 +- .vscode/launch.json | 39 + .vscode/settings.json | 8 +- Dockerfile | 27 +- Dockerfile_no_qr_reader | 16 - Dockerfile_only_txt | 42 + Pipfile | 9 +- Pipfile.lock | 319 ++++-- README.md | 386 +++++--- build.sh | 407 ++++++++ conftest.py | 10 - cv2_capture_screenshot.png | Bin 0 -> 540450 bytes example_export.txt | 1 + extract_otp_secret_keys.code-workspace | 4 +- extract_otp_secret_keys.py | 451 --------- mypy.ini | 4 + pyproject.toml | 66 ++ requirements-dev.txt | 10 +- requirements.txt | 6 +- run_pytest.sh | 2 +- setup.cfg | 12 + setup.py | 63 +- src/extract_otp_secrets.py | 774 +++++++++++++++ google_auth.proto => src/google_auth.proto | 0 .../google_auth_pb2.py | 0 .../google_auth_pb2.pyi | 108 +++ test_extract_otp_secret_keys_pytest.py | 756 --------------- test_extract_qrcode_unittest.py | 92 -- tests/conftest.py | 22 + {test => tests/data}/empty_file.txt | 0 .../data}/example_export_only_totp.txt | 0 {test => tests/data}/lena_std.tif | Bin tests/data/print_verbose_output-n-v.txt | 51 + tests/data/print_verbose_output-n-vv.txt | 71 ++ .../data/print_verbose_output-n-vvv.txt | 97 +- tests/data/print_verbose_output-n.txt | 27 + tests/data/print_verbose_output-v.txt | 51 + tests/data/print_verbose_output-vv.txt | 71 ++ tests/data/print_verbose_output-vvv.txt | 223 +++++ tests/data/print_verbose_output.txt | 27 + {test => tests/data}/printqr_output.txt | 0 .../data}/test_export_wrong_content.txt | 0 .../data}/test_export_wrong_data.txt | 0 .../data}/test_export_wrong_prefix.txt | 0 .../data}/test_googleauth_export.png | Bin .../data}/test_plus_problem_export.txt | 0 .../data}/text_masquerading_as_image.jpeg | 0 tests/extract_otp_secrets_img_unit_test.py | 89 ++ tests/extract_otp_secrets_test.py | 914 ++++++++++++++++++ .../extract_otp_secrets_txt_unit_test.py | 93 +- utils.py => tests/utils.py | 56 +- upgrade_deps.sh | 236 ----- 56 files changed, 3793 insertions(+), 1945 deletions(-) create mode 100644 .vscode/launch.json delete mode 100644 Dockerfile_no_qr_reader create mode 100644 Dockerfile_only_txt create mode 100755 build.sh delete mode 100644 conftest.py create mode 100644 cv2_capture_screenshot.png delete mode 100644 extract_otp_secret_keys.py create mode 100644 mypy.ini create mode 100644 pyproject.toml create mode 100644 setup.cfg create mode 100644 src/extract_otp_secrets.py rename google_auth.proto => src/google_auth.proto (100%) rename {protobuf_generated_python => src/protobuf_generated_python}/google_auth_pb2.py (100%) create mode 100644 src/protobuf_generated_python/google_auth_pb2.pyi delete mode 100644 test_extract_otp_secret_keys_pytest.py delete mode 100644 test_extract_qrcode_unittest.py create mode 100644 tests/conftest.py rename {test => tests/data}/empty_file.txt (100%) rename {test => tests/data}/example_export_only_totp.txt (100%) rename {test => tests/data}/lena_std.tif (100%) create mode 100644 tests/data/print_verbose_output-n-v.txt create mode 100644 tests/data/print_verbose_output-n-vv.txt rename test/print_verbose_output.txt => tests/data/print_verbose_output-n-vvv.txt (57%) create mode 100644 tests/data/print_verbose_output-n.txt create mode 100644 tests/data/print_verbose_output-v.txt create mode 100644 tests/data/print_verbose_output-vv.txt create mode 100644 tests/data/print_verbose_output-vvv.txt create mode 100644 tests/data/print_verbose_output.txt rename {test => tests/data}/printqr_output.txt (100%) rename {test => tests/data}/test_export_wrong_content.txt (100%) rename {test => tests/data}/test_export_wrong_data.txt (100%) rename {test => tests/data}/test_export_wrong_prefix.txt (100%) rename {test => tests/data}/test_googleauth_export.png (100%) rename {test => tests/data}/test_plus_problem_export.txt (100%) rename {test => tests/data}/text_masquerading_as_image.jpeg (100%) create mode 100644 tests/extract_otp_secrets_img_unit_test.py create mode 100644 tests/extract_otp_secrets_test.py rename test_extract_otp_secret_keys_unittest.py => tests/extract_otp_secrets_txt_unit_test.py (69%) rename utils.py => tests/utils.py (66%) delete mode 100755 upgrade_deps.sh diff --git a/.editorconfig b/.editorconfig index 9d6e0f0..cc9621a 100644 --- a/.editorconfig +++ b/.editorconfig @@ -5,4 +5,11 @@ indent_style = space indent_size = 4 charset = utf-8 trim_trailing_whitespace = true -insert_final_newline = true \ No newline at end of file +insert_final_newline = true + +[*.md] +indent_size = 4 +trim_trailing_whitespace = false + +[*.{yml,toml}] +indent_size = 2 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b341585..791248f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,9 +1,13 @@ name: tests +# https://docs.github.com/de/actions/using-workflows/workflow-syntax-for-github-actions +# https://docs.github.com/en/actions/using-workflows + on: push: pull_request: schedule: + # Run daily on default branch - cron: '37 3 * * *' jobs: @@ -13,9 +17,7 @@ jobs: matrix: python-version: ["3.x", "3.11", "3.10", "3.9", "3.8", "3.7"] platform: [ubuntu-latest, macos-latest, windows-latest] - exclude: - - platform: windows-latest - - python-version: [pypy-3.9] + # exclude: runs-on: ${{ matrix.platform }} @@ -36,13 +38,31 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install flake8 pytest - pip install --use-pep517 -r requirements.txt + pip install -U -r requirements-dev.txt + pip install -U . - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide flake8 . --count --exit-zero --max-complexity=10 --max-line-length=200 --statistics + if: matrix.python-version != '3.7' + - name: Type checking with mypy + run: | + mypy --install-types --non-interactive src/*.py tests/*.py + mypy --strict src/*.py tests/*.py + if: matrix.python-version == '3.x' && matrix.platform == 'ubuntu-latest' - name: Test with pytest run: pytest + if: (matrix.python-version != '3.x' || matrix.platform != 'ubuntu-latest') + # && matrix.platform != 'macos-latest' + - name: Test with pytest (with code coverage) + run: pytest --cov=extract_otp_secrets_test --junitxml=pytest.xml --cov-report=term-missing | tee pytest-coverage.txt + if: matrix.python-version == '3.x' && matrix.platform == 'ubuntu-latest' + # https://github.com/marketplace/actions/pytest-coverage-comment + - name: Pytest coverage comment + uses: MishaKav/pytest-coverage-comment@main + with: + pytest-coverage-path: ./pytest-coverage.txt + junitxml-path: ./pytest.xml + if: matrix.python-version == '3.x' && matrix.platform == 'ubuntu-latest' diff --git a/.github/workflows/ci_docker.yml b/.github/workflows/ci_docker.yml index fb01f8d..52e7042 100644 --- a/.github/workflows/ci_docker.yml +++ b/.github/workflows/ci_docker.yml @@ -1,4 +1,7 @@ -name: "Docker: build and publish" +name: docker + +# https://docs.github.com/de/actions/using-workflows/workflow-syntax-for-github-actions +# https://docs.github.com/en/actions/using-workflows # How to setup: https://event-driven.io/en/how_to_buid_and_push_docker_image_with_github_actions/ # How to run: https://aschmelyun.com/blog/using-docker-run-inside-of-github-actions/ @@ -6,9 +9,9 @@ name: "Docker: build and publish" on: # run it on push to the default repository branch push: - # branches: [master] - # run it during pull request - # pull_request: + schedule: + # Run weekly on default branch + - cron: '47 3 * * 6' jobs: # define job to build and publish docker image @@ -22,6 +25,15 @@ jobs: - name: Checkout code uses: actions/checkout@v3 + # avoid building if there are testing errors + - name: Run smoke test + run: | + sudo apt-get install -y libzbar0 + python -m pip install --upgrade pip + pip install -U -r requirements-dev.txt + pip install -U . + pytest + - name: Set up QEMU uses: docker/setup-qemu-action@v2 @@ -44,33 +56,39 @@ jobs: password: ${{ secrets.GHCR_IO_TOKEN }} - name: "no_qr_reader: Build image and push to Docker Hub and GitHub Container Registry" + id: docker_build_only_txt uses: docker/build-push-action@v2 with: # relative path to the place where source code with Dockerfile is located platforms: linux/amd64,linux/arm64 context: . - file: Dockerfile_no_qr_reader + file: Dockerfile_only_txt + # builder: ${{ steps.buildx.outputs.name }} # Note: tags has to be all lower-case tags: | - scit0/extract_otp_secret_keys_no_qr_reader:latest - ghcr.io/scito/extract_otp_secret_keys_no_qr_reader:latest + scit0/extract_otp_secrets:latest-only-txt + ghcr.io/scito/extract_otp_secrets:latest-only-txt # build on feature branches, push only on master branch - # TODO push: ${{ github.ref == 'refs/heads/master' }} - push: true + push: ${{ github.ref == 'refs/heads/master' }} + build-args: | + RUN_TESTS=true - name: "qr_reader: Build image and push to Docker Hub and GitHub Container Registry" + id: docker_build_qr_reader uses: docker/build-push-action@v2 with: platforms: linux/amd64,linux/arm64 # relative path to the place where source code with Dockerfile is located context: . + # builder: ${{ steps.buildx.outputs.name }} # Note: tags has to be all lower-case tags: | - scit0/extract_otp_secret_keys:latest - ghcr.io/scito/extract_otp_secret_keys:latest + scit0/extract_otp_secrets:latest + ghcr.io/scito/extract_otp_secrets:latest # build on feature branches, push only on master branch - # TODO push: ${{ github.ref == 'refs/heads/master' }} - push: true + push: ${{ github.ref == 'refs/heads/master' }} - name: Image digest - run: echo ${{ steps.docker_build.outputs.digest }} + run: | + echo "extract_otp_secrets: ${{ steps.docker_build_qr_reader.outputs.digest }}" + echo "extract_otp_secrets_only_txt: ${{ steps.docker_build_only_txt.outputs.digest }}" diff --git a/.gitignore b/.gitignore index 3edc334..19ff843 100644 --- a/.gitignore +++ b/.gitignore @@ -9,10 +9,13 @@ venv/ !example_output.csv !.github/ !.flake8 -.vscode -!.vscode/settings.json +!.vscode/ !.devcontainer/ !.devcontainer/*.json *.whl build/ -extract_otp_secret_keys.egg-info/ +dist/ +*.egg-info/ +*.xml +pytest-coverage.txt +tests/reports/ diff --git a/.vscode/extensions.json b/.vscode/extensions.json index ba653bc..500cc75 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,5 +1,7 @@ { "recommendations": [ - "ms-python.python" + "ms-python.python", + "ms-python.isort", + "tamasfe.even-better-toml", ] } diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..eec54ae --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,39 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Python: extract_otp_secrets.py", + "type": "python", + "request": "launch", + "program": "src/extract_otp_secrets.py", + "args": [ + "example_export.txt" + ], + "console": "integratedTerminal" + }, + { + "name": "Python: extract_otp_secrets.py stdin pic", + "type": "python", + "request": "launch", + "program": "src/extract_otp_secrets.py", + "args": [ + "-", + "<", + "test/test_googleauth_export.png", + ], + "console": "integratedTerminal" + }, + { + "name": "Python: extract_otp_secrets.py capture", + "type": "python", + "request": "launch", + "program": "src/extract_otp_secrets.py", + "args": [ + ], + "console": "integratedTerminal" + }, + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json index e46fded..b3addfc 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,7 +2,7 @@ "python.testing.pytestArgs": [ "." ], - "python.testing.unittestEnabled": false, + "python.testing.unittestEnabled": true, "python.testing.pytestEnabled": true, "cSpell.words": [ "devbox", @@ -16,5 +16,9 @@ "qrcode", "TOTP", "venv" - ] + ], + "search.exclude": { + "**/build": true, + "**/dist": true + }, } diff --git a/Dockerfile b/Dockerfile index 5c2403e..7d5f5fa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,32 @@ FROM python:3.11-slim-bullseye +# https://docs.docker.com/engine/reference/builder/ + +# For debugging +# docker build . -t extract_otp_secrets --pull --build-arg RUN_TESTS=false +# docker run --rm -v "$(pwd)":/files:ro extract_otp_secrets +# docker run --entrypoint /extract/run_pytest.sh --rm -v "$(pwd)":/files:ro extract_otp_secrets +# docker run --entrypoint /bin/bash -it --rm -v "$(pwd)":/files:ro --device="/dev/video0:/dev/video0" --env="DISPLAY" -v /tmp/.X11-unix:/tmp/.X11-unix:ro extract_otp_secrets + WORKDIR /extract COPY . . -ARG run_tests=true +ARG RUN_TESTS=true -RUN apt-get update && apt-get install -y libzbar0 python3-opencv nano \ - && pip install -r requirements.txt \ - && if [[ "$run_tests" == "true" ]] ; then /extract/run_pytest.sh ; else echo "Not running tests..." ; fi +RUN apt-get update && apt-get install -y \ + libgl1 \ + libglib2.0-0 \ + libsm6 \ + libzbar0 \ + && rm -rf /var/lib/apt/lists/* \ + && pip install --no-cache-dir -U -r \ + requirements.txt \ + && if [ "$RUN_TESTS" = "true" ]; then /extract/run_pytest.sh; else echo "Not running tests..."; fi WORKDIR /files -ENTRYPOINT ["python", "/extract/extract_otp_secret_keys.py"] +ENTRYPOINT ["python", "/extract/src/extract_otp_secrets.py"] -LABEL org.opencontainers.image.source https://github.com/scito/extract_otp_secret_keys +LABEL org.opencontainers.image.source https://github.com/scito/extract_otp_secrets +LABEL org.opencontainers.image.license GPL-3.0+ diff --git a/Dockerfile_no_qr_reader b/Dockerfile_no_qr_reader deleted file mode 100644 index 9ca838a..0000000 --- a/Dockerfile_no_qr_reader +++ /dev/null @@ -1,16 +0,0 @@ -FROM python:3.11-alpine - -WORKDIR /extract - -COPY . . - -ARG run_tests=true - -RUN pip install protobuf qrcode Pillow \ - && if [[ "$run_tests" == "true" ]] ; then /extract/run_pytest.sh test_extract_otp_secret_keys_pytest.py -k "not qreader" --relaxed ; else echo "Not running tests..." ; fi - -WORKDIR /files - -ENTRYPOINT ["python", "/extract/extract_otp_secret_keys.py"] - -LABEL org.opencontainers.image.source https://github.com/scito/extract_otp_secret_keys diff --git a/Dockerfile_only_txt b/Dockerfile_only_txt new file mode 100644 index 0000000..b44e665 --- /dev/null +++ b/Dockerfile_only_txt @@ -0,0 +1,42 @@ +FROM python:3.11-alpine + +# https://docs.docker.com/engine/reference/builder/ + +# For debugging +# docker run --rm -v "$(pwd)":/files:ro extract_otp_secrets_only_txt +# docker build . -t extract_otp_secrets_only_txt -f Dockerfile_only_txt --pull --build-arg RUN_TESTS=false +# docker run --entrypoint /bin/sh -it --rm -v "$(pwd)":/files:ro extract_otp_secrets_only_txt +# docker run --entrypoint /extract/run_pytest.sh --rm -v "$(pwd)":/files:ro extract_otp_secrets_only_txt tests/extract_otp_secrets_test.py -k "not qreader" --relaxed -vvv -s + +WORKDIR /extract + +COPY . . + +ARG RUN_TESTS=true + +RUN apk add --no-cache \ + jpeg \ + zlib \ + && echo "Arch: $(apk --print-arch)" \ + && if [[ "$(apk --print-arch)" == "aarch64" ]]; then apk add --no-cache --virtual .build-deps \ + gcc \ + jpeg-dev \ + libc-dev \ + py3-setuptools \ + python3-dev \ + zlib-dev \ + ; fi \ + && pip install --no-cache-dir -U \ + colorama \ + Pillow \ + protobuf \ + qrcode \ + && if [[ "$(apk --print-arch)" == "aarch64" ]]; then apk del .build-deps; fi \ + && if [[ "$RUN_TESTS" == "true" ]]; then /extract/run_pytest.sh tests/extract_otp_secrets_test.py -k "not qreader" --relaxed; else echo "Not running tests..."; fi + +WORKDIR /files + +ENTRYPOINT ["python", "/extract/src/extract_otp_secrets.py"] + +LABEL org.opencontainers.image.source https://github.com/scito/extract_otp_secrets +LABEL org.opencontainers.image.license GPL-3.0+ diff --git a/Pipfile b/Pipfile index 899e049..90e9ecd 100644 --- a/Pipfile +++ b/Pipfile @@ -8,13 +8,20 @@ protobuf = "*" qrcode = "*" pillow = "*" qreader = "*" -opencv-python = "*" +opencv-contrib-python = "*" +colorama = ">=0.4.6" +# for macOS: opencv-contrib-python = "<=4.7.0" +# for PYTHON <= 3.7: typing_extensions = "*" [dev-packages] pytest = "*" +pytest-mock = "*" +pytest-cov = "*" wheel = "*" flake8 = "*" pylint = "*" +mypy = "*" +types-protobuf = "*" [requires] python_version = "3.11" diff --git a/Pipfile.lock b/Pipfile.lock index 6a11ca0..7125a63 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "2f4059c8dbac6be85b1e3b2c2032b884d48dc6a7fd520ffdebb951e23246a23e" + "sha256": "25b244c44cb891ac15ef20c4011eb043b87fb1f112396d68f470d0bb362e97f7" }, "pipfile-spec": 6, "requires": { @@ -16,6 +16,14 @@ ] }, "default": { + "colorama": { + "hashes": [ + "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", + "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6" + ], + "index": "pypi", + "version": "==0.4.6" + }, "numpy": { "hashes": [ "sha256:0044f7d944ee882400890f9ae955220d29b33d809a038923d88e4e01d652acd9", @@ -50,85 +58,107 @@ "markers": "python_version >= '3.10'", "version": "==1.24.1" }, - "opencv-python": { + "opencv-contrib-python": { "hashes": [ - "sha256:0dc82a3d8630c099d2f3ac1b1aabee164e8188db54a786abb7a4e27eba309440", - "sha256:5af8ba35a4fcb8913ffb86e92403e9a656a4bff4a645d196987468f0f8947875", - "sha256:6e32af22e3202748bd233ed8f538741876191863882eba44e332d1a34993165b", - "sha256:c5bfae41ad4031e66bb10ec4a0a2ffd3e514d092652781e8b1ac98d1b59f1158", - "sha256:dbdc84a9b4ea2cbae33861652d25093944b9959279200b7ae0badd32439f74de", - "sha256:e6e448b62afc95c5b58f97e87ef84699e6607fe5c58730a03301c52496005cae", - "sha256:f482e78de6e7b0b060ff994ffd859bddc3f7f382bb2019ef157b0ea8ca8712f5" + "sha256:1a48c2f24440cfd6e49c84dbe39c39feff5efbc90be8299c76e7141973d403b6", + "sha256:2b8e3a1a7af31ebed28487d161ca4be0edd0b0e241667c6e9c842ac683313b2f", + "sha256:2f0c32b0f2f55255632a44bdcfa185f88c7fb6d2616869942aff9d5a39df4997", + "sha256:35e9a3809da10a47189c06d4d78b8e7821b9a3578dec8cbddf6ee1675bd83557", + "sha256:3a00e12546e5578f6bb7ed408c37fcfea533d74e9691cfaf40926f6b43295577", + "sha256:6d1c993811f92ddd7919314ada7b9be1f23db1c73f1384915c834dee8549c0b9", + "sha256:7a08f9d1f9dd52de63a7bb448ab7d6d4a1a85b767c2358501d968d1e4d95098d", + "sha256:7a75f1775790106e54bcfb101c0e00e1f801a57d9baebc82d0b6758fc83a4ca0", + "sha256:86f4b60b9536948f16d2170ba3a9b22d3955a957dc61a9bc56e53692c6db2c7e", + "sha256:9829e6efedde1d1b8419c5bd4d62d289ecbf44ae35b843c6da9e3cbcba1a9a8a", + "sha256:abc6adfa8694f71a4caffa922b279bd9d96954a37eee40b147f613c64310b411", + "sha256:b4033a164b2e2ea0049ba8c1194dab82dca680953ac36f33d1cc2c060906555f", + "sha256:e3967b1f3d74b8c70be724dbc07921faec87e8806cc87b2db5e7057815d6a08c", + "sha256:e770e9f653a0e5e72b973adb8213fae2df4642730ba1faf31e73a54287a4d5d4" ], "index": "pypi", - "version": "==4.6.0.66" + "version": "==4.7.0.68" + }, + "opencv-python": { + "hashes": [ + "sha256:3a00e12546e5578f6bb7ed408c37fcfea533d74e9691cfaf40926f6b43295577", + "sha256:6d1c993811f92ddd7919314ada7b9be1f23db1c73f1384915c834dee8549c0b9", + "sha256:7a08f9d1f9dd52de63a7bb448ab7d6d4a1a85b767c2358501d968d1e4d95098d", + "sha256:86f4b60b9536948f16d2170ba3a9b22d3955a957dc61a9bc56e53692c6db2c7e", + "sha256:9829e6efedde1d1b8419c5bd4d62d289ecbf44ae35b843c6da9e3cbcba1a9a8a", + "sha256:abc6adfa8694f71a4caffa922b279bd9d96954a37eee40b147f613c64310b411", + "sha256:e770e9f653a0e5e72b973adb8213fae2df4642730ba1faf31e73a54287a4d5d4" + ], + "markers": "python_version >= '3.6'", + "version": "==4.7.0.68" }, "pillow": { "hashes": [ - "sha256:03150abd92771742d4a8cd6f2fa6246d847dcd2e332a18d0c15cc75bf6703040", - "sha256:073adb2ae23431d3b9bcbcff3fe698b62ed47211d0716b067385538a1b0f28b8", - "sha256:0b07fffc13f474264c336298d1b4ce01d9c5a011415b79d4ee5527bb69ae6f65", - "sha256:0b7257127d646ff8676ec8a15520013a698d1fdc48bc2a79ba4e53df792526f2", - "sha256:12ce4932caf2ddf3e41d17fc9c02d67126935a44b86df6a206cf0d7161548627", - "sha256:15c42fb9dea42465dfd902fb0ecf584b8848ceb28b41ee2b58f866411be33f07", - "sha256:18498994b29e1cf86d505edcb7edbe814d133d2232d256db8c7a8ceb34d18cef", - "sha256:1c7c8ae3864846fc95f4611c78129301e203aaa2af813b703c55d10cc1628535", - "sha256:22b012ea2d065fd163ca096f4e37e47cd8b59cf4b0fd47bfca6abb93df70b34c", - "sha256:276a5ca930c913f714e372b2591a22c4bd3b81a418c0f6635ba832daec1cbcfc", - "sha256:2e0918e03aa0c72ea56edbb00d4d664294815aa11291a11504a377ea018330d3", - "sha256:3033fbe1feb1b59394615a1cafaee85e49d01b51d54de0cbf6aa8e64182518a1", - "sha256:3168434d303babf495d4ba58fc22d6604f6e2afb97adc6a423e917dab828939c", - "sha256:32a44128c4bdca7f31de5be641187367fe2a450ad83b833ef78910397db491aa", - "sha256:3dd6caf940756101205dffc5367babf288a30043d35f80936f9bfb37f8355b32", - "sha256:40e1ce476a7804b0fb74bcfa80b0a2206ea6a882938eaba917f7a0f004b42502", - "sha256:41e0051336807468be450d52b8edd12ac60bebaa97fe10c8b660f116e50b30e4", - "sha256:4390e9ce199fc1951fcfa65795f239a8a4944117b5935a9317fb320e7767b40f", - "sha256:502526a2cbfa431d9fc2a079bdd9061a2397b842bb6bc4239bb176da00993812", - "sha256:51e0e543a33ed92db9f5ef69a0356e0b1a7a6b6a71b80df99f1d181ae5875636", - "sha256:57751894f6618fd4308ed8e0c36c333e2f5469744c34729a27532b3db106ee20", - "sha256:5d77adcd56a42d00cc1be30843d3426aa4e660cab4a61021dc84467123f7a00c", - "sha256:655a83b0058ba47c7c52e4e2df5ecf484c1b0b0349805896dd350cbc416bdd91", - "sha256:68943d632f1f9e3dce98908e873b3a090f6cba1cbb1b892a9e8d97c938871fbe", - "sha256:6c738585d7a9961d8c2821a1eb3dcb978d14e238be3d70f0a706f7fa9316946b", - "sha256:73bd195e43f3fadecfc50c682f5055ec32ee2c933243cafbfdec69ab1aa87cad", - "sha256:772a91fc0e03eaf922c63badeca75e91baa80fe2f5f87bdaed4280662aad25c9", - "sha256:77ec3e7be99629898c9a6d24a09de089fa5356ee408cdffffe62d67bb75fdd72", - "sha256:7db8b751ad307d7cf238f02101e8e36a128a6cb199326e867d1398067381bff4", - "sha256:801ec82e4188e935c7f5e22e006d01611d6b41661bba9fe45b60e7ac1a8f84de", - "sha256:82409ffe29d70fd733ff3c1025a602abb3e67405d41b9403b00b01debc4c9a29", - "sha256:828989c45c245518065a110434246c44a56a8b2b2f6347d1409c787e6e4651ee", - "sha256:829f97c8e258593b9daa80638aee3789b7df9da5cf1336035016d76f03b8860c", - "sha256:871b72c3643e516db4ecf20efe735deb27fe30ca17800e661d769faab45a18d7", - "sha256:89dca0ce00a2b49024df6325925555d406b14aa3efc2f752dbb5940c52c56b11", - "sha256:90fb88843d3902fe7c9586d439d1e8c05258f41da473952aa8b328d8b907498c", - "sha256:97aabc5c50312afa5e0a2b07c17d4ac5e865b250986f8afe2b02d772567a380c", - "sha256:9aaa107275d8527e9d6e7670b64aabaaa36e5b6bd71a1015ddd21da0d4e06448", - "sha256:9f47eabcd2ded7698106b05c2c338672d16a6f2a485e74481f524e2a23c2794b", - "sha256:a0a06a052c5f37b4ed81c613a455a81f9a3a69429b4fd7bb913c3fa98abefc20", - "sha256:ab388aaa3f6ce52ac1cb8e122c4bd46657c15905904b3120a6248b5b8b0bc228", - "sha256:ad58d27a5b0262c0c19b47d54c5802db9b34d38bbf886665b626aff83c74bacd", - "sha256:ae5331c23ce118c53b172fa64a4c037eb83c9165aba3a7ba9ddd3ec9fa64a699", - "sha256:af0372acb5d3598f36ec0914deed2a63f6bcdb7b606da04dc19a88d31bf0c05b", - "sha256:afa4107d1b306cdf8953edde0534562607fe8811b6c4d9a486298ad31de733b2", - "sha256:b03ae6f1a1878233ac620c98f3459f79fd77c7e3c2b20d460284e1fb370557d4", - "sha256:b0915e734b33a474d76c28e07292f196cdf2a590a0d25bcc06e64e545f2d146c", - "sha256:b4012d06c846dc2b80651b120e2cdd787b013deb39c09f407727ba90015c684f", - "sha256:b472b5ea442148d1c3e2209f20f1e0bb0eb556538690fa70b5e1f79fa0ba8dc2", - "sha256:b59430236b8e58840a0dfb4099a0e8717ffb779c952426a69ae435ca1f57210c", - "sha256:b90f7616ea170e92820775ed47e136208e04c967271c9ef615b6fbd08d9af0e3", - "sha256:b9a65733d103311331875c1dca05cb4606997fd33d6acfed695b1232ba1df193", - "sha256:bac18ab8d2d1e6b4ce25e3424f709aceef668347db8637c2296bcf41acb7cf48", - "sha256:bca31dd6014cb8b0b2db1e46081b0ca7d936f856da3b39744aef499db5d84d02", - "sha256:be55f8457cd1eac957af0c3f5ece7bc3f033f89b114ef30f710882717670b2a8", - "sha256:c7025dce65566eb6e89f56c9509d4f628fddcedb131d9465cacd3d8bac337e7e", - "sha256:c935a22a557a560108d780f9a0fc426dd7459940dc54faa49d83249c8d3e760f", - "sha256:dbb8e7f2abee51cef77673be97760abff1674ed32847ce04b4af90f610144c7b", - "sha256:e6ea6b856a74d560d9326c0f5895ef8050126acfdc7ca08ad703eb0081e82b74", - "sha256:ebf2029c1f464c59b8bdbe5143c79fa2045a581ac53679733d3a91d400ff9efb", - "sha256:f1ff2ee69f10f13a9596480335f406dd1f70c3650349e2be67ca3139280cade0" + "sha256:0845adc64fe9886db00f5ab68c4a8cd933ab749a87747555cec1c95acea64b0b", + "sha256:0884ba7b515163a1a05440a138adeb722b8a6ae2c2b33aea93ea3118dd3a899e", + "sha256:09b89ddc95c248ee788328528e6a2996e09eaccddeeb82a5356e92645733be35", + "sha256:0dd4c681b82214b36273c18ca7ee87065a50e013112eea7d78c7a1b89a739153", + "sha256:0e51f608da093e5d9038c592b5b575cadc12fd748af1479b5e858045fff955a9", + "sha256:0f3269304c1a7ce82f1759c12ce731ef9b6e95b6df829dccd9fe42912cc48569", + "sha256:16a8df99701f9095bea8a6c4b3197da105df6f74e6176c5b410bc2df2fd29a57", + "sha256:19005a8e58b7c1796bc0167862b1f54a64d3b44ee5d48152b06bb861458bc0f8", + "sha256:28676836c7796805914b76b1837a40f76827ee0d5398f72f7dcc634bae7c6264", + "sha256:2968c58feca624bb6c8502f9564dd187d0e1389964898f5e9e1fbc8533169157", + "sha256:3fa1284762aacca6dc97474ee9c16f83990b8eeb6697f2ba17140d54b453e133", + "sha256:451f10ef963918e65b8869e17d67db5e2f4ab40e716ee6ce7129b0cde2876eab", + "sha256:46c259e87199041583658457372a183636ae8cd56dbf3f0755e0f376a7f9d0e6", + "sha256:46f39cab8bbf4a384ba7cb0bc8bae7b7062b6a11cfac1ca4bc144dea90d4a9f5", + "sha256:519e14e2c49fcf7616d6d2cfc5c70adae95682ae20f0395e9280db85e8d6c4df", + "sha256:53dcb50fbdc3fb2c55431a9b30caeb2f7027fcd2aeb501459464f0214200a503", + "sha256:54614444887e0d3043557d9dbc697dbb16cfb5a35d672b7a0fcc1ed0cf1c600b", + "sha256:575d8912dca808edd9acd6f7795199332696d3469665ef26163cd090fa1f8bfa", + "sha256:5dd5a9c3091a0f414a963d427f920368e2b6a4c2f7527fdd82cde8ef0bc7a327", + "sha256:5f532a2ad4d174eb73494e7397988e22bf427f91acc8e6ebf5bb10597b49c493", + "sha256:60e7da3a3ad1812c128750fc1bc14a7ceeb8d29f77e0a2356a8fb2aa8925287d", + "sha256:653d7fb2df65efefbcbf81ef5fe5e5be931f1ee4332c2893ca638c9b11a409c4", + "sha256:6663977496d616b618b6cfa43ec86e479ee62b942e1da76a2c3daa1c75933ef4", + "sha256:6abfb51a82e919e3933eb137e17c4ae9c0475a25508ea88993bb59faf82f3b35", + "sha256:6c6b1389ed66cdd174d040105123a5a1bc91d0aa7059c7261d20e583b6d8cbd2", + "sha256:6d9dfb9959a3b0039ee06c1a1a90dc23bac3b430842dcb97908ddde05870601c", + "sha256:765cb54c0b8724a7c12c55146ae4647e0274a839fb6de7bcba841e04298e1011", + "sha256:7a21222644ab69ddd9967cfe6f2bb420b460dae4289c9d40ff9a4896e7c35c9a", + "sha256:7ac7594397698f77bce84382929747130765f66406dc2cd8b4ab4da68ade4c6e", + "sha256:7cfc287da09f9d2a7ec146ee4d72d6ea1342e770d975e49a8621bf54eaa8f30f", + "sha256:847b114580c5cc9ebaf216dd8c8dbc6b00a3b7ab0131e173d7120e6deade1f57", + "sha256:8f127e7b028900421cad64f51f75c051b628db17fb00e099eb148761eed598c9", + "sha256:94cdff45173b1919350601f82d61365e792895e3c3a3443cf99819e6fbf717a5", + "sha256:9a3049a10261d7f2b6514d35bbb7a4dfc3ece4c4de14ef5876c4b7a23a0e566d", + "sha256:a1c2d7780448eb93fbcc3789bf3916aa5720d942e37945f4056680317f1cd23e", + "sha256:a2e0f87144fcbbe54297cae708c5e7f9da21a4646523456b00cc956bd4c65815", + "sha256:a4dfdae195335abb4e89cc9762b2edc524f3c6e80d647a9a81bf81e17e3fb6f0", + "sha256:a96e6e23f2b79433390273eaf8cc94fec9c6370842e577ab10dabdcc7ea0a66b", + "sha256:aabdab8ec1e7ca7f1434d042bf8b1e92056245fb179790dc97ed040361f16bfd", + "sha256:b222090c455d6d1a64e6b7bb5f4035c4dff479e22455c9eaa1bdd4c75b52c80c", + "sha256:b52ff4f4e002f828ea6483faf4c4e8deea8d743cf801b74910243c58acc6eda3", + "sha256:b9b752ab91e78234941e44abdecc07f1f0d8f51fb62941d32995b8161f68cfe5", + "sha256:ba6612b6548220ff5e9df85261bddc811a057b0b465a1226b39bfb8550616aee", + "sha256:bd752c5ff1b4a870b7661234694f24b1d2b9076b8bf337321a814c612665f343", + "sha256:c3c4ed2ff6760e98d262e0cc9c9a7f7b8a9f61aa4d47c58835cdaf7b0b8811bb", + "sha256:c5c1362c14aee73f50143d74389b2c158707b4abce2cb055b7ad37ce60738d47", + "sha256:cb362e3b0976dc994857391b776ddaa8c13c28a16f80ac6522c23d5257156bed", + "sha256:d197df5489004db87d90b918033edbeee0bd6df3848a204bca3ff0a903bef837", + "sha256:d3b56206244dc8711f7e8b7d6cad4663917cd5b2d950799425076681e8766286", + "sha256:d5b2f8a31bd43e0f18172d8ac82347c8f37ef3e0b414431157718aa234991b28", + "sha256:d7081c084ceb58278dd3cf81f836bc818978c0ccc770cbbb202125ddabec6628", + "sha256:db74f5562c09953b2c5f8ec4b7dfd3f5421f31811e97d1dbc0a7c93d6e3a24df", + "sha256:df41112ccce5d47770a0c13651479fbcd8793f34232a2dd9faeccb75eb5d0d0d", + "sha256:e1339790c083c5a4de48f688b4841f18df839eb3c9584a770cbd818b33e26d5d", + "sha256:e621b0246192d3b9cb1dc62c78cfa4c6f6d2ddc0ec207d43c0dedecb914f152a", + "sha256:e8c5cf126889a4de385c02a2c3d3aba4b00f70234bfddae82a5eaa3ee6d5e3e6", + "sha256:e9d7747847c53a16a729b6ee5e737cf170f7a16611c143d95aa60a109a59c336", + "sha256:eaef5d2de3c7e9b21f1e762f289d17b726c2239a42b11e25446abf82b26ac132", + "sha256:ed3e4b4e1e6de75fdc16d3259098de7c6571b1a6cc863b1a49e7d3d53e036070", + "sha256:ef21af928e807f10bf4141cad4746eee692a0dd3ff56cfb25fce076ec3cc8abe", + "sha256:f09598b416ba39a8f489c124447b007fe865f786a89dbfa48bb5cf395693132a", + "sha256:f6e78171be3fb7941f9910ea15b4b14ec27725865a73c15277bc39f5ca4f8391", + "sha256:f715c32e774a60a337b2bb8ad9839b4abf75b267a0f18806f6f4f5f1688c4b5a" ], "index": "pypi", - "version": "==9.3.0" + "version": "==9.4.0" }, "protobuf": { "hashes": [ @@ -167,10 +197,10 @@ }, "qreader": { "hashes": [ - "sha256:fc75684088b4bef2b268eefda7006cb4b0276e53d6cdd678bc7d2bbb7d8fcd21" + "sha256:f96d2879c9f47f9641da55dc3e1df765cd4d6f1cfbc8b7fa811b70c1e27d4fba" ], "index": "pypi", - "version": "==1.3.1" + "version": "==1.3.2" } }, "develop": { @@ -190,6 +220,66 @@ "markers": "python_version >= '3.6'", "version": "==22.2.0" }, + "coverage": { + "extras": [ + "toml" + ], + "hashes": [ + "sha256:04691b8e832a900ed15f5bcccc2008fc2d1c8e7411251fd7d1422a84e1d72841", + "sha256:1a613d60be1a02c7a5184ea5c4227f48c08e0635608b9c17ae2b17efef8f2501", + "sha256:1d732b5dcafed67d81c5b5a0c404c31a61e13148946a3b910a340f72fdd1ec95", + "sha256:2b31f7f246dbff339b3b76ee81329e3eca5022ce270c831c65e841dbbb40115f", + "sha256:312fd77258bf1044ef4faa82091f2e88216e4b62dcf1a461d3e917144c8b09b7", + "sha256:321316a7b979892a13c148a9d37852b5a76f26717e4b911b606a649394629532", + "sha256:36c1a1b6d38ebf8a4335f65226ec36b5d6fd67743fdcbad5c52bdcd46c4f5842", + "sha256:38f281bb9bdd4269c451fed9451203512dadefd64676f14ed1e82c77eb5644fc", + "sha256:3a2d81c95d3b02638ee6ae647edc79769fd29bf5e9e5b6b0c29040579f33c260", + "sha256:3d40ad86a348c79c614e2b90566267dd6d45f2e6b4d2bfb794d78ea4a4b60b63", + "sha256:3d72e3d20b03e63bd27b1c4d6b754cd93eca82ecc5dd77b99262d5f64862ca35", + "sha256:3fbb59f84c8549113dcdce7c6d16c5731fe53651d0b46c0a25a5ebc7bb655869", + "sha256:405d8528a0ea07ca516d9007ecad4e1bd10e2eeef27411c6188d78c4e2dfcddc", + "sha256:420f10c852b9a489cf5a764534669a19f49732a0576c76d9489ebf287f81af6d", + "sha256:426895ac9f2938bec193aa998e7a77a3e65d3e46903f348e794b4192b9a5b61e", + "sha256:4438ba539bef21e288092b30ea2fc30e883d9af5b66ebeaf2fd7c25e2f074e39", + "sha256:46db409fc0c3ee5c859b84c7de9cb507166287d588390889fdf06a1afe452e16", + "sha256:483e120ea324c7fced6126bb9bf0535c71e9233d29cbc7e2fc4560311a5f8a32", + "sha256:4d7be755d7544dac2b9814e98366a065d15a16e13847eb1f5473bb714483391e", + "sha256:4e97b21482aa5c21e049e4755c95955ad71fb54c9488969e2f17cf30922aa5f6", + "sha256:5f44ba7c07e0aa4a7a2723b426c254e952da82a33d65b4a52afae4bef74a4203", + "sha256:62e5b942378d5f0b87caace567a70dc634ddd4d219a236fa221dc97d2fc412c8", + "sha256:7c669be1b01e4b2bf23aa49e987d9bedde0234a7da374a9b77ca5416d7c57002", + "sha256:7d47d666e17e57ef65fefc87229fde262bd5c9039ae8424bc53aa2d8f07dc178", + "sha256:7e184aa18f921b612ea08666c25dd92a71241c8ed40917f2824219c92289b8c7", + "sha256:80583c536e7e010e301002088919d4ea90566d1789ee02551574fdf3faa275ae", + "sha256:8217f73faf08623acb25fb2affd5d20cbcd8185213db308e46a37e6fd6a56a49", + "sha256:87d95eea58fb71f69b4f1c761099a19e0e9cb27d45dc1cc7042523128ee56337", + "sha256:8bd466135fb07f693dbdd999a5569ffbc0590e9c64df859243162f0ebee950c8", + "sha256:8e133ca2f8141b415ff396ba789bdeffdea8ff9a5c7fc9996ccf591d7d40ee93", + "sha256:8e6c0ca447b557a32642f22d0987be37950eda51c4f19fc788cebc99426284b6", + "sha256:9de96025ce25b9f4e744fbe558a003e673004af255da9b1f6ec243720ac5deeb", + "sha256:a27a8dca0dc6f0944ed9fd83c556d862e227a5cd4220e62af5d4c750389938f0", + "sha256:a2d4f68e4fa286fb6b00d58a1e87c79840e289d3f6e5dcb912ad7b0fbd9629fb", + "sha256:a6e1c77ff6f10eab496fbbcdaa7dfae84968928a0aadc43ce3c3453cec29bd79", + "sha256:a7b018811a0e1d3869d8d0600849953acd355a3a29c6bee0fbd24d7772bcc0a2", + "sha256:a99b2f2dd1236e8d9dc35974a3dc298a408cdfd512b0bb2451798cff1ce63408", + "sha256:ac1033942851bf01f28c76318155ea92d6648aecb924cab81fa23781d095e9ab", + "sha256:b6936cd38757dd323fefc157823e46436610328f0feb1419a412316f24b77f36", + "sha256:b6eab230b18458707b5c501548e997e42934b1c189fb4d1b78bf5aacc1c6a137", + "sha256:bcb57d175ff0cb4ff97fc547c74c1cb8d4c9612003f6d267ee78dad8f23d8b30", + "sha256:c1f02d016b9b6b5ad21949a21646714bfa7b32d6041a30f97674f05d6d6996e3", + "sha256:c40aaf7930680e0e5f3bd6d3d3dc97a7897f53bdce925545c4b241e0c5c3ca6a", + "sha256:c5e1874c601128cf54c1d4b471e915658a334fbc56d7b3c324ddc7511597ea82", + "sha256:c8805673b1953313adfc487d5323b4c87864e77057944a0888c98dd2f7a6052f", + "sha256:da458bdc9b0bcd9b8ca85bc73148631b18cc8ba03c47f29f4c017809990351aa", + "sha256:dcb708ab06f3f4dfc99e9f84821c9120e5f12113b90fad132311a2cb97525379", + "sha256:dfafc350f43fd7dc67df18c940c3b7ed208ebb797abe9fb3047f0c65be8e4c0f", + "sha256:e8931af864bd599c6af626575a02103ae626f57b34e3af5537d40b040d33d2ad", + "sha256:efa9d943189321f67f71070c309aa6f6130fa1ec35c9dfd0da0ed238938ce573", + "sha256:fd22ee7bff4b5c37bb6385efee1c501b75e29ca40286f037cb91c2182d1348ce" + ], + "markers": "python_version >= '3.7'", + "version": "==7.0.2" + }, "dill": { "hashes": [ "sha256:a07ffd2351b8c678dfc4a856a3005f8067aea51d6ba6c700796a4d9e280f39f0", @@ -254,6 +344,49 @@ "markers": "python_version >= '3.6'", "version": "==0.7.0" }, + "mypy": { + "hashes": [ + "sha256:0714258640194d75677e86c786e80ccf294972cc76885d3ebbb560f11db0003d", + "sha256:0c8f3be99e8a8bd403caa8c03be619544bc2c77a7093685dcf308c6b109426c6", + "sha256:0cca5adf694af539aeaa6ac633a7afe9bbd760df9d31be55ab780b77ab5ae8bf", + "sha256:1c8cd4fb70e8584ca1ed5805cbc7c017a3d1a29fb450621089ffed3e99d1857f", + "sha256:1f7d1a520373e2272b10796c3ff721ea1a0712288cafaa95931e66aa15798813", + "sha256:209ee89fbb0deed518605edddd234af80506aec932ad28d73c08f1400ef80a33", + "sha256:26efb2fcc6b67e4d5a55561f39176821d2adf88f2745ddc72751b7890f3194ad", + "sha256:37bd02ebf9d10e05b00d71302d2c2e6ca333e6c2a8584a98c00e038db8121f05", + "sha256:3a700330b567114b673cf8ee7388e949f843b356a73b5ab22dd7cff4742a5297", + "sha256:3c0165ba8f354a6d9881809ef29f1a9318a236a6d81c690094c5df32107bde06", + "sha256:3d80e36b7d7a9259b740be6d8d906221789b0d836201af4234093cae89ced0cd", + "sha256:4175593dc25d9da12f7de8de873a33f9b2b8bdb4e827a7cae952e5b1a342e243", + "sha256:4307270436fd7694b41f913eb09210faff27ea4979ecbcd849e57d2da2f65305", + "sha256:5e80e758243b97b618cdf22004beb09e8a2de1af481382e4d84bc52152d1c476", + "sha256:641411733b127c3e0dab94c45af15fea99e4468f99ac88b39efb1ad677da5711", + "sha256:652b651d42f155033a1967739788c436491b577b6a44e4c39fb340d0ee7f0d70", + "sha256:6d7464bac72a85cb3491c7e92b5b62f3dcccb8af26826257760a552a5e244aa5", + "sha256:74e259b5c19f70d35fcc1ad3d56499065c601dfe94ff67ae48b85596b9ec1461", + "sha256:7d17e0a9707d0772f4a7b878f04b4fd11f6f5bcb9b3813975a9b13c9332153ab", + "sha256:901c2c269c616e6cb0998b33d4adbb4a6af0ac4ce5cd078afd7bc95830e62c1c", + "sha256:98e781cd35c0acf33eb0295e8b9c55cdbef64fcb35f6d3aa2186f289bed6e80d", + "sha256:a12c56bf73cdab116df96e4ff39610b92a348cc99a1307e1da3c3768bbb5b135", + "sha256:ac6e503823143464538efda0e8e356d871557ef60ccd38f8824a4257acc18d93", + "sha256:b8472f736a5bfb159a5e36740847808f6f5b659960115ff29c7cecec1741c648", + "sha256:b86ce2c1866a748c0f6faca5232059f881cda6dda2a893b9a8373353cfe3715a", + "sha256:bc9ec663ed6c8f15f4ae9d3c04c989b744436c16d26580eaa760ae9dd5d662eb", + "sha256:c9166b3f81a10cdf9b49f2d594b21b31adadb3d5e9db9b834866c3258b695be3", + "sha256:d13674f3fb73805ba0c45eb6c0c3053d218aa1f7abead6e446d474529aafc372", + "sha256:de32edc9b0a7e67c2775e574cb061a537660e51210fbf6006b0b36ea695ae9bb", + "sha256:e62ebaad93be3ad1a828a11e90f0e76f15449371ffeecca4a0a0b9adc99abcef" + ], + "index": "pypi", + "version": "==0.991" + }, + "mypy-extensions": { + "hashes": [ + "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d", + "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8" + ], + "version": "==0.4.3" + }, "packaging": { "hashes": [ "sha256:2198ec20bd4c017b8f9717e00f0c8714076fc2fd93816750ab48e2c41de2cfd3", @@ -264,11 +397,11 @@ }, "platformdirs": { "hashes": [ - "sha256:1a89a12377800c81983db6be069ec068eee989748799b946cce2a6e80dcc54ca", - "sha256:b46ffafa316e6b83b47489d240ce17173f123a9b9c83282141c3daf26ad9ac2e" + "sha256:83c8f6d04389165de7c9b6f0c682439697887bca0aa2f1c87ef1826be3584490", + "sha256:e1fea1fe471b9ff8332e229df3cb7de4f53eeea4998d3b6bfff542115e998bd2" ], "markers": "python_version >= '3.7'", - "version": "==2.6.0" + "version": "==2.6.2" }, "pluggy": { "hashes": [ @@ -310,6 +443,22 @@ "index": "pypi", "version": "==7.2.0" }, + "pytest-cov": { + "hashes": [ + "sha256:2feb1b751d66a8bd934e5edfa2e961d11309dc37b73b0eabe73b5945fee20f6b", + "sha256:996b79efde6433cdbd0088872dbc5fb3ed7fe1578b68cdbba634f14bb8dd0470" + ], + "index": "pypi", + "version": "==4.0.0" + }, + "pytest-mock": { + "hashes": [ + "sha256:f4c973eeae0282963eb293eb173ce91b091a79c1334455acfac9ddee8a1c784b", + "sha256:fbbdb085ef7c252a326fd8cdcac0aa3b1333d8811f131bdcc701002e1be7ed4f" + ], + "index": "pypi", + "version": "==3.10.0" + }, "tomlkit": { "hashes": [ "sha256:07de26b0d8cfc18f871aec595fda24d95b08fef89d147caa861939f37230bf4b", @@ -318,6 +467,22 @@ "markers": "python_version >= '3.6'", "version": "==0.11.6" }, + "types-protobuf": { + "hashes": [ + "sha256:7df483d34ad3fcb1fa7fff1073560d596c9ac1f419cfa851b220c9a93386c998", + "sha256:aeefcf39d637016998b3c7b699750847071b555f7c2e0c9873d42ab6103d1a39" + ], + "index": "pypi", + "version": "==4.21.0.2" + }, + "typing-extensions": { + "hashes": [ + "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa", + "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e" + ], + "markers": "python_version >= '3.7'", + "version": "==4.4.0" + }, "wheel": { "hashes": [ "sha256:965f5259b566725405b05e7cf774052044b1ed30119b5d586b2703aafe8719ac", diff --git a/README.md b/README.md index d5deba5..0e25aa9 100644 --- a/README.md +++ b/README.md @@ -1,159 +1,197 @@ -# Extract TOTP/HOTP secret keys from Google Authenticator +# Extract TOTP/HOTP secrets from QR codes exported by two-factor authentication apps -[![CI Status](https://github.com/scito/extract_otp_secret_keys/actions/workflows/ci.yml/badge.svg)](https://github.com/scito/extract_otp_secret_keys/actions/workflows/ci.yml) +[![CI tests](https://github.com/scito/extract_otp_secrets/actions/workflows/ci.yml/badge.svg)](https://github.com/scito/extract_otp_secrets/actions/workflows/ci.yml) +![coverage](https://img.shields.io/badge/coverage-96%25-brightgreen) +[![CI docker](https://github.com/scito/extract_otp_secrets/actions/workflows/ci_docker.yml/badge.svg)](https://github.com/scito/extract_otp_secrets/actions/workflows/ci_docker.yml) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/protobuf) -[![GitHub Pipenv locked Python version](https://img.shields.io/github/pipenv/locked/python-version/scito/extract_otp_secret_keys)](https://github.com/scito/extract_otp_secret_keys/blob/master/Pipfile.lock) +[![GitHub Pipenv locked Python version](https://img.shields.io/github/pipenv/locked/python-version/scito/extract_otp_secrets)](https://github.com/scito/extract_otp_secrets/blob/master/Pipfile.lock) ![protobuf version](https://img.shields.io/badge/protobuf-4.21.12-informational) -[![License](https://img.shields.io/github/license/scito/extract_otp_secret_keys)](https://github.com/scito/extract_otp_secret_keys/blob/master/LICENSE) -[![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/scito/extract_otp_secret_keys?sort=semver&label=version)](https://github.com/scito/extract_otp_secret_keys/tags) +[![License](https://img.shields.io/github/license/scito/extract_otp_secrets)](https://github.com/scito/extract_otp_secrets/blob/master/LICENSE) +[![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/scito/extract_otp_secrets?sort=semver&label=version)](https://github.com/scito/extract_otp_secrets/tags) [![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://stand-with-ukraine.pp.ua) --- -Extract two-factor authentication (2FA, TFA, OTP) secret keys from export QR codes of "Google Authenticator" app. -The secret and otp values can be printed and exported to json or csv. The QR codes can be printed or saved as PNG images. +The Python script `extract_otp_secrets.py` extracts one time password (OTP) secrets from QR codes exported by two-factor authentication (2FA) apps such as "Google Authenticator". +The exported QR codes from authentication apps can be read in three ways: + +1. Capture from the system camera using a GUI, _(new!)_ +2. Read image files containing the QR codes, and _(new!)_ +3. Read text files containing the QR code data generated by third-party QR readers. + +The secret and otp values can be exported to json or csv files, as well as printed or saved to PNG images. + +**The project and the script were renamed from extract_otp_secret_keys to extract_otp_secrets in version 2.0.0.** ## Installation -git clone https://github.com/scito/extract_otp_secret_keys.git -cd extract_otp_secret_keys +``` +git clone https://github.com/scito/extract_otp_secrets.git +cd extract_otp_secrets +pip install -U -r requirements.txt -## Usage +python src/extract_otp_secrets.py example_export.txt +``` -### With builtin QR decoder +In case this script is not starting properly, the debug mode can be activated by adding parameter `-d` in the command line. -1. Open "Google Authenticator" app on the mobile phone -2. Export the QR codes from "Google Authenticator" app -4. Save the captured QR codes as image files, e.g. example_export.png -5. Transfer the images files to the computer where his script is installed. -6. Call this script with the file as input: +### Installation of shared system libraries - python extract_otp_secret_keys.py example_export.png +For reading QR codes with `ZBAR` QR reader, the zbar library must be installed. +If you do not use the `ZBAR` QR reader, you do not need to install the zbar shared library. Note: The `ZBAR` QR reader is the showed for me the best results and is thus default QR Reader. -### With external QR decoder app +For a detailed installation documentation of [pyzbar](https://github.com/NaturalHistoryMuseum/pyzbar#installation). -1. Open "Google Authenticator" app on the mobile phone -2. Export the QR codes from "Google Authenticator" app -3. Read QR codes with a QR code reader (e.g. from another phone) -4. Save the captured QR codes in the QR code reader to a text file, e.g. example_export.txt. Save each QR code on a new line. (The captured QR codes look like `otpauth-migration://offline?data=...`) -5. Transfer the file to the computer where his script is installed. -6. Call this script with the file as input: +#### Linux (Debian, Ubuntu, ...) - python extract_otp_secret_keys.py example_export.txt + sudo apt-get install libzbar0 -## Program help: arguments and options +#### Linux (OpenSUSE) -
usage: extract_otp_secret_keys.py [-h] [--json FILE] [--csv FILE] [--keepass FILE] [--printqr] [--saveqr DIR] [--verbose | --quiet] infile [infile ...]
+    sudo zypper install libzbar0
 
-positional arguments:
-  infile                   1) file or - for stdin with "otpauth-migration://..." URLs separated by newlines, lines starting with # are ignored; or 2) image file containing a QR code or = for stdin for an image containing a QR code
+#### Linux (Fedora)
 
-options:
-  -h, --help               show this help message and exit
-  --json FILE, -j FILE     export json file or - for stdout
-  --csv FILE, -c FILE      export csv file or - for stdout
-  --keepass FILE, -k FILE  export totp/hotp csv file(s) for KeePass, - for stdout
-  --printqr, -p            print QR code(s) as text to the terminal (requires qrcode module)
-  --saveqr DIR, -s DIR     save QR code(s) as images to the given folder (requires qrcode module)
-  --verbose, -v            verbose output
-  --quiet, -q              no stdout output, except output set by -
+    sudo dnf install libzbar0
 
-examples:
-python extract_otp_secret_keys.py example_*.txt
-python extract_otp_secret_keys.py - < example_export.txt
-python extract_otp_secret_keys.py --csv - example_*.png | tail -n+2
-python extract_otp_secret_keys.py = < example_export.png
+#### Mac OS X + + brew install zbar -## Dependencies +#### Windows - pip install -r requirements.txt +##### zbar -Known to work with +The zbar DLLs are included with the Windows Python wheels. However, you might need additionally to install [Visual C++ Redistributable Packages for Visual Studio 2013](https://www.microsoft.com/en-US/download/details.aspx?id=40784). Install `vcredist_x64.exe` if using 64-bit Python, `vcredist_x86.exe` if using 32-bit Python. For more information see [pyzbar](https://github.com/NaturalHistoryMuseum/pyzbar) -* Python 3.10.8, protobuf 4.21.9, qrcode 7.3.1, and pillow 9.2 -* Python 3.11.1, protobuf 4.21.12, qrcode 7.3.1, and pillow 9.2 +##### OpenCV -For protobuf versions 3.14.0 or similar or Python 3.6, use the extract_otp_secret_keys version 1.4.0. +OpenCV requires [Visual C++ redistributable 2015](https://www.microsoft.com/en-us/download/details.aspx?id=48145). For more information see [opencv-python](https://pypi.org/project/opencv-python/) -### Shared libs installation for reading QR code images +## Usage -For reading QR code images the zbar library must be installed. -If you do not extract directly from images, you do not need to install the zbar shared library. +### Capture QR codes from camera (since version 2.0.0) -For a detailed installation documentation of [pyzbar](https://github.com/NaturalHistoryMuseum/pyzbar#installation). +1. Open "Google Authenticator" app on the mobile phone +2. Export the QR codes from "Google Authenticator" app +3. Point the QR codes to the camera of your computer +4. Call this script without infile parameters: -#### Windows + python src/extract_otp_secrets.py -The zbar DLLs are included with the Windows Python wheels. On other operating systems, you will need to install the zbar shared library. +![CV2 Capture from camera screenshot](cv2_capture_screenshot.png) -#### Linux (Debian, Ubuntu, ...) +### With builtin QR decoder from image files (since version 2.0.0) - sudo apt-get install libzbar0 +1. Open "Google Authenticator" app on the mobile phone +2. Export the QR codes from "Google Authenticator" app +4. Save the QR code as image file, e.g. example_export.png +5. Transfer the images files to the computer where his script is installed. +6. Call this script with the file as input: -#### Linux (OpenSUSE) + python src/extract_otp_secrets.py example_export.png - sudo zypper install libzbar0 +### With external QR decoder app from text files -#### Linux (Fedora) +1. Open "Google Authenticator" app on the mobile phone +2. Export the QR codes from "Google Authenticator" app +3. Read QR codes with a QR code reader (e.g. from another phone) +4. Save the captured QR codes in the QR code reader to a text file, e.g. example_export.txt. Save each QR code on a new line. (The captured QR codes look like `otpauth-migration://offline?data=...`) +5. Transfer the file to the computer where his script is installed. +6. Call this script with the file as input: - sudo dnf install libzbar0 + python src/extract_otp_secrets.py example_export.txt -#### Mac OS X +## Program help: arguments and options - brew install zbar +
usage: extract_otp_secrets.py [-h] [--csv FILE] [--keepass FILE] [--json FILE] [--printqr] [--saveqr DIR] [--camera NUMBER] [--qr {ZBAR,QREADER,QREADER_DEEP,CV2,CV2_WECHAT}] [-i] [--no-color] [-d | -v | -q] [infile ...]
+
+Extracts one time password (OTP) secrets from QR codes exported by two-factor authentication (2FA) apps
+If no infiles are provided, a GUI window starts and QR codes are captured from the camera.
+
+positional arguments:
+  infile                        a) file or - for stdin with 'otpauth-migration://...' URLs separated by newlines, lines starting with # are ignored;
+                                b) image file containing a QR code or = for stdin for an image containing a QR code
+
+options:
+  -h, --help                    show this help message and exit
+  --csv FILE, -c FILE           export csv file or - for stdout
+  --keepass FILE, -k FILE       export totp/hotp csv file(s) for KeePass, - for stdout
+  --json FILE, -j FILE          export json file or - for stdout
+  --printqr, -p                 print QR code(s) as text to the terminal (requires qrcode module)
+  --saveqr DIR, -s DIR          save QR code(s) as images to the given folder (requires qrcode module)
+  --camera NUMBER, -C NUMBER    camera number of system (default camera: 0)
+  --qr {ZBAR,QREADER,QREADER_DEEP,CV2,CV2_WECHAT}, -Q {ZBAR,QREADER,QREADER_DEEP,CV2,CV2_WECHAT}
+                                QR reader (default: ZBAR)
+  -i, --ignore                  ignore duplicate otps
+  --no-color, -n                do not use ANSI colors in console output
+  -d, --debug                   enter debug mode, do checks and quit
+  -v, --verbose                 verbose output
+  -q, --quiet                   no stdout output, except output set by -
+
+examples:
+python extract_otp_secrets.py
+python extract_otp_secrets.py example_*.txt
+python extract_otp_secrets.py - < example_export.txt
+python extract_otp_secrets.py --csv - example_*.png | tail -n+2
+python extract_otp_secrets.py = < example_export.png
## Examples ### Printing otp secrets form text file - python extract_otp_secret_keys.py example_export.txt + python src/extract_otp_secrets.py example_export.txt ### Printing otp secrets from image file - python extract_otp_secret_keys.py example_export.png + python src/extract_otp_secrets.py example_export.png ### Printing otp secrets multiple files - python extract_otp_secret_keys.py example_*.txt - python extract_otp_secret_keys.py example_*.png - python extract_otp_secret_keys.py example_export.* - python extract_otp_secret_keys.py example_*.txt example_*.png + python src/extract_otp_secrets.py example_*.txt + python src/extract_otp_secrets.py example_*.png + python src/extract_otp_secrets.py example_export.* + python src/extract_otp_secrets.py example_*.txt example_*.png ### Printing otp secrets from stdin (text) - python extract_otp_secret_keys.py - < example_export.txt + python src/extract_otp_secrets.py - < example_export.txt ### Printing otp secrets from stdin (image) - python extract_otp_secret_keys.py = < example_export.png + python src/extract_otp_secrets.py = < example_export.png ### Printing otp secrets csv to stdout - python extract_otp_secret_keys.py --csv - example_export.txt + python src/extract_otp_secrets.py --csv - example_export.txt ### Printing otp secrets csv to stdout without header line - python extract_otp_secret_keys.py --csv - example_*.png | tail -n+2 + python src/extract_otp_secrets.py --csv - example_*.png | tail -n+2 ### Reading from stdin and printing to stdout - cat example_*.txt | python extract_otp_secret_keys.py --csv - - | tail -n+2 + cat example_*.txt | python src/extract_otp_secrets.py --csv - - | tail -n+2 ## Features * Free and open source * Supports Google Authenticator exports (and compatible apps like Aegis Authenticator) -* All functionality in one Python script: extract_otp_secret_keys.py (except protobuf generated code in protobuf_generated_python) -* Supports TOTP and HOTP +* Captures the the QR codes directly from the camera using different QR code libraries (based on OpenCV) + * ZBAR: [pyzbar](https://github.com/NaturalHistoryMuseum/pyzbar) - fast and reliable, good for images and video capture (default and recommended) + * QREADER: [QReader](https://github.com/Eric-Canas/QReader) + * QREADER_DEEP: [QReader](https://github.com/Eric-Canas/QReader) - very slow in GUI + * CV2: [QRCodeDetector](https://docs.opencv.org/4.x/de/dc3/classcv_1_1QRCodeDetector.html) + * CV2_WECHAT: [WeChatQRCode](https://docs.opencv.org/4.x/dd/d63/group__wechat__qrcode.html) +* Supports TOTP and HOTP standards * Generates QR codes -* Reads QR Code images * Exports to various formats: * CSV * JSON * Dedicated CSV for KeePass * QR code images -* Supports reading from stdin and writing to stdout -* Reads from various import image formats containing export QR codes: (See [OpenCV docu](https://docs.opencv.org/3.4/d4/da8/group__imgcodecs.html#ga288b8b3da0892bd651fce07b3bbd3a56)) +* Supports reading from stdin and writing to stdout, thus pipes can be used +* Reads QR codes images: (See [OpenCV docu](https://docs.opencv.org/4.x/d4/da8/group__imgcodecs.html#ga288b8b3da0892bd651fce07b3bbd3a56)) * Portable Network Graphics - *.png * WebP - *.webp * JPEG files - *.jpeg, *.jpg, *.jpe @@ -161,23 +199,27 @@ The zbar DLLs are included with the Windows Python wheels. On other operating sy * Windows bitmaps - *.bmp, *.dib * JPEG 2000 files - *.jp2 * Portable image format - *.pbm, *.pgm, *.ppm *.pxm, *.pnm - * Sun rasters - *.sr, *.ras - * OpenEXR Image files - *.exr - * Radiance HDR - *.hdr, *.pic - * Raster and Vector geospatial data supported by GDAL -* Errors and warnings are written to stderr +* Prints errors and warnings to stderr +* Prints colored output * Many ways to run the script: * Native Python * pipenv + * pip * venv * Docker * VSCode devcontainer * devbox - * pip -* Compatible with multiple platforms (tested by CI): +* Prebuilt Docker images provided for amd64 and arm64 +* Compatible with major platforms: * Linux * macOS * Windows +* Uses UTF-8 on all platforms +* Supports Python >= 3.7 +* Provides a debug mode (-d) for analyzing import problems +* Written in modern Python using type hints and following best practices +* All these features are backed by tests ran nightly +* All functionality in one Python script: src/extract_otp_secrets.py (except protobuf generated code in protobuf_generated_python) ## KeePass @@ -224,10 +266,12 @@ The data parameter is a base64 encoded proto3 message (Google Protocol Buffers). Command for regeneration of Python code from proto3 message definition file (only necessary in case of changes of the proto3 message definition or new protobuf versions): - protoc --python_out=protobuf_generated_python google_auth.proto + protoc --plugin=protoc-gen-mypy=path/to/protoc-gen-mypy --python_out=src/protobuf_generated_python --mypy_out=src/protobuf_generated_python src/google_auth.proto The generated protobuf Python code was generated by protoc 21.12 (https://github.com/protocolbuffers/protobuf/releases/tag/v21.12). +For Python type hint generation the [mypy-protobuf](https://github.com/nipunn1313/mypy-protobuf) package is used. + ## References * Proto3 documentation: https://developers.google.com/protocol-buffers/docs/pythontutorial @@ -247,40 +291,49 @@ The generated protobuf Python code was generated by protoc 21.12 (https://github ### pip ``` -pip install git+https://github.com/scito/extract_otp_secret_keys -python -m extract_otp_secret_keys +pip install -U git+https://github.com/scito/extract_otp_secrets +python -m extract_otp_secrets +``` + +or from a specific tag + +``` +pip install -U git+https://github.com/scito/extract_otp_secrets.git@v2.0.0 +python -m extract_otp_secrets +curl -s https://raw.githubusercontent.com/scito/extract_otp_secrets/master/example_export.txt | python -m extract_otp_secrets - ``` -#### Example +### local pip ``` -wget https://raw.githubusercontent.com/scito/extract_otp_secret_keys/master/example_export.txt -python -m extract_otp_secret_keys example_export.txt +git clone https://github.com/scito/extract_otp_secrets.git +pip install -U -e extract_otp_secrets +python -m extract_otp_secrets example_export.txt ``` ### pipenv -You can you use [Pipenv](https://github.com/pypa/pipenv) for running extract_otp_secret_keys. +You can you use [Pipenv](https://github.com/pypa/pipenv) for running extract_otp_secrets. ``` pipenv --rm pipenv install pipenv shell -python extract_otp_secret_keys.py example_export.txt +python src/extract_otp_secrets.py example_export.txt ``` ### Visual Studio Code Remote - Containers / VSCode devcontainer -You can you use [VSCode devcontainer](https://code.visualstudio.com/docs/remote/containers-tutorial) for running extract_otp_secret_keys. +You can you use [VSCode devcontainer](https://code.visualstudio.com/docs/remote/containers-tutorial) for running extract_otp_secrets. Requirement: Docker 1. Start VSCode -2. Open extract_otp_secret_keys.code-workspace +2. Open extract_otp_secrets.code-workspace 3. Open VSCode command palette (Ctrl-Shift-P) 4. Type command "Remote-Containers: Reopen in Container" 5. Open integrated bash terminal in VSCode -6. Execute: python extract_otp_secret_keys.py example_export.txt +6. Execute: python src/extract_otp_secrets.py example_export.txt ### venv @@ -288,8 +341,8 @@ Alternatively, you can use a python virtual env for the dependencies: python -m venv venv . venv/bin/activate - pip install -r requirements-dev.txt - pip install -r requirements.txt + pip install -U -r requirements-dev.txt + pip install -U -r requirements.txt The requirements\*.txt files contain all the dependencies (also the optional ones). To leave the python virtual env just call `deactivate`. @@ -302,41 +355,51 @@ Install [devbox](https://github.com/jetpack-io/devbox), which is a wrapper for n devbox shell ``` -### Docker +### docker Install [Docker](https://docs.docker.com/get-docker/). -Build and run the app within the container: +Prebuilt docker images are available for amd64 and arm64 architectures on [Docker Hub](https://hub.docker.com/repository/docker/scit0/extract_otp_secrets) and on [GitHub Packages](https://github.com/users/scito/packages/container/package/extract_otp_secrets). -```bash -docker build . -t extract_otp_secret_keys --pull -docker run --rm -v "$(pwd)":/files:ro extract_otp_secret_keys example_export.txt -docker run --rm -v "$(pwd)":/files:ro extract_otp_secret_keys example_export.png +Extracting from an QR image file: + +``` +docker login -u USERNAME +curl -s https://raw.githubusercontent.com/scito/extract_otp_secrets/master/example_export.png | docker run --pull always -i --rm -v "$(pwd)":/files:ro scit0/extract_otp_secrets = ``` -docker run --rm -v "$(pwd)":/files:ro -i extract_otp_secret_keys = < example_export.png -docker run --entrypoint /bin/bash -it --rm -v "$(pwd)":/files:ro extract_otp_secret_keys -docker run --entrypoint /extract/run_pytest.sh --rm -v "$(pwd)":/files:ro extract_otp_secret_keys +Capturing from camera in GUI (X Window system required on host): -docker build . -t extract_otp_secret_keys_no_qr_reader -f Dockerfile_no_qr_reader --pull -docker build . -t extract_otp_secret_keys_no_qr_reader -f Dockerfile_no_qr_reader --pull --build-arg run_tests=false -docker run --entrypoint /extract/run_pytest.sh --rm -v "$(pwd)":/files:ro extract_otp_secret_keys_no_qr_reader -docker run --entrypoint /extract/run_pytest.sh --rm -v "$(pwd)":/files:ro extract_otp_secret_keys_no_qr_reader test_extract_otp_secret_keys_pytest.py -k "not qreader" -docker run --rm -v "$(pwd)":/files:ro extract_otp_secret_keys_no_qr_reader example_export.txt -docker run --rm -v "$(pwd)":/files:ro -i extract_otp_secret_keys_no_qr_reader - < example_export.txt -docker build . -t extract_otp_secret_keys_no_qr_reader -f Dockerfile_no_qr_reader --pull && docker run --entrypoint /extract/run_pytest.sh --rm -v "$(pwd)":/files:ro extract_otp_secret_keys_no_qr_reader test_extract_otp_secret_keys_pytest.py -k "not qreader" -vvv --relaxed -s +``` +docker run --pull always --rm -v "$(pwd)":/files:ro -i --device="/dev/video0:/dev/video0" --env="DISPLAY" -v /tmp/.X11-unix:/tmp/.X11-unix:ro scit0/extract_otp_secrets +``` -docker pull scit0/extract_otp_secret_keys -docker pull scit0/extract_otp_secret_keys_no_qr_reader +If only text processing is required, there is a small Image based on Alpine Linux: -docker pull ghcr.io/scito/extract_otp_secret_keys -docker pull ghcr.io/scito/extract_otp_secret_keys_no_qr_reader +``` +curl -s https://raw.githubusercontent.com/scito/extract_otp_secrets/master/example_export.txt | docker run --pull always -i --rm -v "$(pwd)":/files:ro scit0/extract_otp_secrets:latest-only-txt - +``` + +Docker image from GitHub: + +``` +docker login ghcr.io -u USERNAME +curl -s https://raw.githubusercontent.com/scito/extract_otp_secrets/master/example_export.png | docker run --pull always -i --rm -v "$(pwd)":/files:ro ghcr.io/scito/extract_otp_secrets = +``` + +### More docker examples + + docker run --pull always --rm -v "$(pwd)":/files:ro scit0/extract_otp_secrets example_export.png + + docker run --pull always --rm -i -v "$(pwd)":/files:ro scit0/extract_otp_secrets_only_txt - < example_export.txt + + cat example_export.txt | docker run --pull always --rm -i -v "$(pwd)":/files:ro scit0/extract_otp_secrets:latest_only_txt - -c - > example_out.csv ## Tests ### PyTest -There are basic [pytest](https://pytest.org)s, see `test_extract_otp_secret_keys_pytest.py`. +The script is covered by [pytest](https://pytest.org)s, see `extract_otp_secrets_test.py`. Run tests: @@ -348,9 +411,19 @@ or python -m pytest ``` +#### Hints + +Your tests can run against an installed version after executing pip install . + +Your tests can run against the local copy with an editable install after executing pip install --editable . + +If you don’t use an editable install and are relying on the fact that Python by default puts the current directory in sys.path to import your package, you can execute python -m pytest to execute the tests against the local copy directly, without using pip. + +https://docs.pytest.org/en/7.1.x/explanation/pythonpath.html#pytest-vs-python-m-pytest + ### unittest -There are basic [unittest](https://docs.python.org/3.10/library/unittest.html)s, see `test_extract_otp_secret_keys_unittest.py`. +There are some [unittest](https://docs.python.org/3.10/library/unittest.html)s, see `extract_otp_secrets_txt_unit_test.py`. Run tests: @@ -358,6 +431,8 @@ Run tests: python -m unittest ``` +Note the `pytest`s are preferred and complete. For each unittest there is also a test in `pytest`. + ### VSCode Setup Setup for running the tests in VSCode. @@ -367,7 +442,18 @@ Setup for running the tests in VSCode. 3. Choose unittest or pytest. (pytest is recommended, both are supported) 4. Set ". Root" directory -## Maintenance +## Development + +### Build + +``` +pip install -U -e . +python src/extract_otp_secrets.py + +pip wheel . +``` + +Note: `python -m build --wheel` = `pip wheel --no-deps .` ### Upgrade pip Packages @@ -375,6 +461,59 @@ Setup for running the tests in VSCode. pip install -U -r requirements.txt ``` +### Build docker images + +Build and run the app within the container: + +```bash +docker build . -t extract_otp_secrets --pull --build-arg RUN_TESTS=false +``` + +```bash +docker build . -t extract_otp_secrets_only_txt --pull -f Dockerfile_only_txt --build-arg RUN_TESTS=false +``` + +Run tests in docker container: + +```bash +docker run --entrypoint /extract/run_pytest.sh --rm -v "$(pwd)":/files:ro extract_otp_secrets +``` + +```bash +docker run --entrypoint /extract/run_pytest.sh --rm -v "$(pwd)":/files:ro extract_otp_secrets_only_txt extract_otp_secrets_test.py -k "not qreader" --relaxed +``` + +## Issues + +* Known issue for macOS: https://github.com/opencv/opencv/issues/23072 + +## Problems and Troubleshooting + +### Windows error message + +If you see an ugly ImportError on Windows you will most likely need the [Visual C++ Redistributable Packages for Visual Studio 2013](https://www.microsoft.com/en-US/download/details.aspx?id=40784). Install vcredist_x64.exe if using 64-bit Python, vcredist_x86.exe if using 32-bit Python. + +This library shared library is required by [pyzbar](https://pypi.org/project/pyzbar/). + +``` +Traceback (most recent call last): + File "C:\Users\Admin\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pyzbar\zbar_library.py", line 58, in load + dependencies, libzbar = load_objects(Path('')) + ^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\Admin\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pyzbar\zbar_library.py", line 50, in load_objects + deps = [ + ^ + File "C:\Users\Admin\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pyzbar\zbar_library.py", line 51, in + cdll.LoadLibrary(str(directory.joinpath(dep))) + File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.496.0_x64__qbz5n2kfra8p0\Lib\ctypes\__init__.py", line 454, in LoadLibrary + return self._dlltype(name) + ^^^^^^^^^^^^^^^^^^^ + File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.496.0_x64__qbz5n2kfra8p0\Lib\ctypes\__init__.py", line 376, in __init__ + self._handle = _dlopen(self._name, mode) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +FileNotFoundError: Could not find module 'libiconv.dll' (or one of its dependencies). Try using the full path with constructor syntax. +``` + ## Related projects * [ZBar](https://github.com/mchehab/zbar) is an open source software suite for reading bar codes from various sources, including webcams. @@ -382,11 +521,10 @@ pip install -U -r requirements.txt * [Android OTP Extractor](https://github.com/puddly/android-otp-extractor) can extract your tokens from popular Android OTP apps and export them in a standard format or just display them as QR codes for easy importing. [Requires a _rooted_ Android phone.] * [Python QReader](https://github.com/Eric-Canas/QReader) * [pyzbar](https://github.com/NaturalHistoryMuseum/pyzbar) +* [OpenCV](https://docs.opencv.org/4.x/) (CV2) Open Source Computer Vision library with [opencv-python](https://github.com/opencv/opencv-python) *** # #StandWithUkraine 🇺🇦 -I have Ukrainian relatives and friends. - #RussiaInvadedUkraine on 24 of February 2022, at 05:00 the armed forces of the Russian Federation attacked Ukraine. Please, stand with Ukraine, stay tuned for updates on Ukraine's official sources and channels in English and support Ukraine in its fight for freedom and democracy in Europe. diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..5cc913c --- /dev/null +++ b/build.sh @@ -0,0 +1,407 @@ +#!/bin/bash + +# Upgrades Protoc from https://github.com/protocolbuffers/protobuf/releases + +black='\e[0;30m' +blackBold='\e[1;30m' +blackBackground='\e[1;40m' +red='\e[0;31m' +redBold='\e[1;31m' +redBackground='\e[0;41m' +green='\e[0;32m' +greenBold='\e[1;32m' +greenBackground='\e[0;42m' +yellow='\e[0;33m' +yellowBold='\e[1;33m' +yellowBackground='\e[0;43m' +blue='\e[0;34m' +blueBold='\e[1;34m' +blueBackground='\e[0;44m' +magenta='\e[0;35m' +magentaBold='\e[1;35m' +magentaBackground='\e[0;45m' +cyan='\e[0;36m' +cyanBold='\e[1;36m' +cyanBackground='\e[0;46m' +white='\e[0;37m' +whiteBold='\e[1;37m' +whiteBackground='\e[0;47m' +reset='\e[0m' + +abort() { + echo ' +*************** +*** ABORTED *** +*************** + ' >&2 + echo "An error occurred on line $1. Exiting..." >&2 + date -Iseconds >&2 + exit 1 +} + +trap 'abort $LINENO' ERR +set -e -o pipefail + +quit() { + trap : 0 + exit 0 +} + +# Asks if [Yn] if script shoud continue, otherwise exit 1 +# $1: msg or nothing +# Example call 1: askContinueYn +# Example call 1: askContinueYn "Backup DB?" +askContinueYn() { + if [[ $1 ]]; then + msg="$1 " + else + msg="" + fi + + # http://stackoverflow.com/questions/3231804/in-bash-how-to-add-are-you-sure-y-n-to-any-command-or-alias + read -e -p "${msg}Continue? [Y/n] " response + response=${response,,} # tolower + if [[ $response =~ ^(yes|y|)$ ]] ; then + # echo "" + # OK + : + else + echo "Aborted" + exit 1 + fi +} + +# Reference: https://gist.github.com/steinwaywhw/a4cd19cda655b8249d908261a62687f8 + +echo "Checking Protoc version..." +VERSION=$(curl -sL https://github.com/protocolbuffers/protobuf/releases/latest | grep -E "" | perl -pe's%.*Protocol Buffers v(\d+\.\d+(\.\d+)?).*%\1%') +BASEVERSION=4 +echo + +interactive=false +ignore_version_check=true +clean=false +build_docker=true +run_gui=true +generate_result_files=false + +while test $# -gt 0; do + case $1 in + -h|--help) + echo "Upgrade Protoc" + echo + echo "$0 [options]" + echo + echo "Options:" + echo "-i Interactive" + echo "-C Ignore version check" + echo "-D No docker build" + echo "-G No not run gui" + echo "-c Clean" + echo "-r Generate result files" + echo "-h, --help Help" + quit + ;; + -a) + interactive=true + shift + ;; + -C) + ignore_version_check=false + shift + ;; + -D) + build_docker=false + shift + ;; + -G) + run_gui=false + shift + ;; + -r) + generate_result_files=true + shift + ;; + -c) + clean=true + shift + ;; + esac +done + +BIN="$HOME/bin" +DOWNLOADS="$HOME/downloads" + +PYTHON="python3.11" +PIP="pip3.11" +PIPENV="$PYTHON -m pipenv" +FLAKE8="$PYTHON -m flake8" +MYPY="$PYTHON -m mypy" + +# Upgrade protoc + +DEST="protoc" + +OLDVERSION=$(cat $BIN/$DEST/.VERSION.txt || echo "") +echo -e "\nProtoc remote version $VERSION\n" +echo -e "Protoc local version: $OLDVERSION\n" + +if $clean; then + cmd="rm -r dist/ build/ *.whl pytest.xml pytest-coverage.txt .coverage tests/reports || true; find . -name '*.pyc' -type f -delete; find . -name '__pycache__' -type d -exec rm -r {} \; || true; find . -name '*.egg-info' -type d -exec rm -r {} \; || true; find . -name '*_cache' -type d -exec rm -r {} \; || true; mkdir -p tests/reports;" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="pipenv --rm || true" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="sudo pipenv --rm || true" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" +fi + +if [ "$OLDVERSION" != "$VERSION" ] || ! $ignore_version_check; then + echo "Upgrade protoc from $OLDVERSION to $VERSION" + + NAME="protoc-$VERSION" + ARCHIVE="$NAME.zip" + + mkdir -p $DOWNLOADS + # https://github.com/protocolbuffers/protobuf/releases/download/v21.6/protoc-21.6-linux-x86_64.zip + cmd="wget --trust-server-names https://github.com/protocolbuffers/protobuf/releases/download/v$VERSION/protoc-$VERSION-linux-x86_64.zip -O $DOWNLOADS/$ARCHIVE" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="echo -e '\nSize [Byte]'; stat --printf='%s\n' $DOWNLOADS/$ARCHIVE; echo -e '\nMD5'; md5sum $DOWNLOADS/$ARCHIVE; echo -e '\nSHA256'; sha256sum $DOWNLOADS/$ARCHIVE;" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="mkdir -p $BIN/$NAME; unzip $DOWNLOADS/$ARCHIVE -d $BIN/$NAME" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="echo $VERSION > $BIN/$NAME/.VERSION.txt; echo $VERSION > $BIN/$NAME/.VERSION_$VERSION.txt" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="[ -d $BIN/$DEST.old ] && rm -rf $BIN/$DEST.old || echo 'No old dir to delete'" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="[ -d $BIN/$DEST ] && mv -iT $BIN/$DEST $BIN/$DEST.old || echo 'No previous dir to keep'" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="mv -iT $BIN/$NAME $BIN/$DEST" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="rm $DOWNLOADS/$ARCHIVE" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="$BIN/$DEST/bin/protoc --plugin=protoc-gen-mypy=$HOME/.local/bin/protoc-gen-mypy --python_out=src/protobuf_generated_python --mypy_out=src/protobuf_generated_python --proto_path=src google_auth.proto" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + # Update README.md + + cmd="perl -i -pe 's%proto(buf|c)([- ])(\d\.)?$OLDVERSION%proto\$1\$2\${3}$VERSION%g' README.md && perl -i -pe 's%(protobuf/releases/tag/v)$OLDVERSION%\${1}$VERSION%g' README.md" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" +else + echo -e "\nVersion has not changed. Quit" +fi + + +# Upgrade pip requirements + +cmd="sudo pip install -U pip" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +$PIP --version + +cmd="$PIP install --use-pep517 -U -r requirements.txt" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +cmd="$PIP install --use-pep517 -U -r requirements-dev.txt" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +# Lint + +LINT_OUT_FILE="tests/reports/flake8_results.txt" +cmd="$FLAKE8 . --count --select=E9,F63,F7,F82 --show-source --statistics | tee $LINT_OUT_FILE" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +cmd="$FLAKE8 . --count --exit-zero --max-complexity=10 --max-line-length=200 --statistics --exclude=.git,__pycache__,docs/source/conf.py,old,build,dist,protobuf_generated_python | tee -a $LINT_OUT_FILE" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +# Type checking + +TYPE_CHECK_OUT_FILE="tests/reports/mypy_results.txt" +cmd="$MYPY --install-types --non-interactive src/*.py tests/*.py" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +# change to src as python -m mypy adds the current dir Python sys.path +# execute in a subshell in order not to loose the exit code and not to change the dir in the currrent shell +cmd="$MYPY --strict src/*.py tests/*.py | tee $TYPE_CHECK_OUT_FILE" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +# Test + +cmd="$PYTHON src/extract_otp_secrets.py example_export.txt" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +cmd="$PYTHON src/extract_otp_secrets.py - < example_export.txt" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +COVERAGE_OUT_FILE="tests/reports/pytest-coverage.txt" +cmd="pytest --cov=extract_otp_secrets_test --junitxml=tests/reports/pytest.xml --cov-report html:tests/reports/html --cov-report=term-missing tests/ | tee $COVERAGE_OUT_FILE" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +# Pipenv + +cmd="$PIP install -U pipenv" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +$PIPENV --version + +cmd="$PIPENV update && $PIPENV --rm && $PIPENV install" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +$PIPENV run python --version + +cmd="$PIPENV run pytest --cov=extract_otp_secrets_test tests/" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +# sudo pip + +cmd="sudo $PIP install --use-pep517 -U -r requirements.txt" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +cmd="sudo $PIP install --use-pep517 -U -r requirements-dev.txt" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +cmd="sudo $PIP install -U pipenv" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +# pip -e install (must be after other pip installs in order to have this environment for development) + +cmd="$PIP install -U -e ." +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +cmd="extract_otp_secrets example_export.txt" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +cmd="extract_otp_secrets - < example_export.txt" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +# Build wheel + +cmd="$PIP wheel . +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +# Generate results files + +if $generate_result_files; then + cmd="for color in '' '-n'; do for level in '' '-v' '-vv' '-vvv'; do $PYTHON src/extract_otp_secrets.py example_export.txt $color $level > tests/data/print_verbose_output$color$level.txt; done; done" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" +fi + +# Update Code Coverage in README.md + +# https://github.com/marketplace/actions/pytest-coverage-comment +# Coverage-95%25-yellowgreen +echo -e "Update code coverage in README.md" +TOTAL_COVERAGE=$(cat $COVERAGE_OUT_FILE | grep 'TOTAL' | perl -ne 'print "$&" if /\b(\d{1,3})%/') && perl -i -pe "s/coverage-(\d{1,3}%)25-/coverage-${TOTAL_COVERAGE}25-/" README.md + +if $build_docker; then + # Build docker + + # Build Dockerfile_only_txt (Alpine) + cmd="docker build . -t extract_otp_secrets_only_txt -f Dockerfile_only_txt --pull --build-arg RUN_TESTS=false" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="docker run --rm -v \"$(pwd)\":/files:ro extract_otp_secrets_only_txt example_export.txt" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="docker run --rm -i -v \"$(pwd)\":/files:ro extract_otp_secrets_only_txt - < example_export.txt" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="docker run --entrypoint /extract/run_pytest.sh --rm -v \"$(pwd)\":/files:ro extract_otp_secrets_only_txt tests/extract_otp_secrets_test.py -k 'not qreader' -vvv --relaxed" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + + # Build extract_otp_secrets (Debian) + cmd="docker build . -t extract_otp_secrets --pull --build-arg RUN_TESTS=false" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="docker run --rm -v \"$(pwd)\":/files:ro extract_otp_secrets example_export.txt" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="cat example_export.txt | docker run --rm -i -v \"$(pwd)\":/files:ro extract_otp_secrets - -c - > example_output.csv" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="docker run --rm -i -v \"$(pwd)\":/files:ro extract_otp_secrets = < example_export.png" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="docker run --entrypoint /extract/run_pytest.sh --rm -v \"$(pwd)\":/files:ro extract_otp_secrets" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + cmd="docker image prune -f || echo 'No docker image pruned'" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + + if $run_gui; then + cmd="docker run --rm -v "$(pwd)":/files:ro --device=\"/dev/video0:/dev/video0\" --env=\"DISPLAY\" -v /tmp/.X11-unix:/tmp/.X11-unix:ro extract_otp_secrets &" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" + fi +fi + +if $run_gui; then + cmd="$PYTHON src/extract_otp_secrets.py &" + if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi + eval "$cmd" +fi + +line=$(printf '#%.0s' $(eval echo {1..$(( ($COLUMNS - 10) / 2))})) +echo -e "\n${blueBold}$line RESULTS $line${reset}" + +cmd="cat $TYPE_CHECK_OUT_FILE $LINT_OUT_FILE $COVERAGE_OUT_FILE" +if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi +eval "$cmd" + +echo -e "\n${greenBold}SUCCESS${reset}" + +quit diff --git a/conftest.py b/conftest.py deleted file mode 100644 index 9c66a08..0000000 --- a/conftest.py +++ /dev/null @@ -1,10 +0,0 @@ -import pytest - - -def pytest_addoption(parser): - parser.addoption( "--relaxed", action='store_true', help="run tests in relaxed mode") - - -@pytest.fixture -def relaxed(request): - return request.config.getoption("--relaxed") diff --git a/cv2_capture_screenshot.png b/cv2_capture_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..b469f4f1cd73369d1093a0b730da52b57b8dd6a7 GIT binary patch literal 540450 zcmb?>g;$i_7cPhrQYzi3NOyOLfS`oZIdn*Omk3BJ-65s)kVBV%%+N8^&@jZ%H8gk7 z?|1J%aMyyx;+=O+>~r?BpS|}Jp{AmM|CsVI8X6kD;@dYL(a<m+prJiz!p1~BiTsEl zM*YEYdaLV-hDPxF{ue!ojerUbjUG+$jf{qu(N30U<}10np!SkIv6|qR4o>!{+_$`v zPfnkwX5$Qq<k3HS6Y=@ySNg}FbD3X!#b(CTIKhdp`TThkBjN?cQ;!+63^EV+!d?kd z!F~SMuiZA2uHNIDfL25Ip<mm3O8zRIi@Hx9%KU%*F{#Tl4dyO+>x=uD9{V$WZEx=b z6SpUQZs%{Q9{+t(M$2GLj=A!?USam_-<eHz-#iE<{hGjLfByyS&sA;JMp%y#8AL5@ zhL!&wjnE*JovJv+dTm$g$|E)y{=LTtWE5SoT@k_0a3AC`G@Pnwie>xX2u+#ClkTvm zR)$W-+LHohC98iwpvUeu(-c9JZVTsk&2GbD&%EP2ZvL(cyQ{>aHtTG(BJj8F9QDGe z=;COJ_CLeu@KJE|`PXjKI71n+yb6Zg3$`f~p}$?9{k0sqGW1QjcfpVi>Zv9a6U(h& z$hly9D^b(G#iPt-<K_LlUFnc?_@9dHV~Ss^F&Yy2UFkd21V~tzej8DkYxHs=$={K5 zQpjVw#WSn3cwuIE4c9-bibV6fMJksQ?d2LyJ!}CzZzunb_PMHrf&~jS=hIZTpSV0B zmRXG&5N=Me;TNVZSTx=wS{Jfs7v5bW8vECH2)a^m+Adr;Yu4k_6i)XqTVV@@M1dX~ z>LG8uV!OA^KC@eSd{nAJ_5bXE;GGxl%bKpQu_?YEoiDTcWmo!AG{Gr#m>y?=CQZ2; zw_odjr$Vut318mS-x9U>>5f+i`&!kMHJL{p$ZYXiFR5}&vp=uSfjQdE|KGs2k6-Sd z*Oyc(X}=1GHmQ&+UF0QFJk=^57fCcDEQ~HL*?HTqKdPMOVE5?njf65bIr}sNPc@P# zSiG6=3U}1Nco~!HZXUichg}KH^``GB{Uz2Gb4p}mzq0-=sB2cfn81;(S*t0PcaE3B zjmuG?VZEu2PO!9lYv(L=epc2!jn})lnisqSHqX`)wXP)lXZSgrjf48Jlr6BiMdFM* zYse>WwkD48@|!B1$ylp~J_M8&4EbFxOt@a1I?XsF+lW`PE^ASMAo_O!SYPgTXiaJ} z##uPGMe}CpkZ$A|Kw}*sZnje9T7`TwyFmFa$>cgn%F{Ww3`d3Hv#eR1za}Yj5Ouc{ zt2_REHV=n<wVz!_eJ^sfp6*#GxN+x9xVvs&knS0xX)xu3r8*<7O>w2^&-K4kKAGjw zz^XHB<n>QuXRP1)_f~^h?QXNBrbtW{ZLzwTs@<Z!B*R3HN4eW`izd{XBs5+An)Qo& z3@ejRa-TPIiuY?nyD25I`zado)vr``!v?Iya^@!%V>rs}7Fp>KuS<4H#-0OP=KRE( z>caDqp8lPE^Glv^@qBW`Zu6jT3H4ox+k3WVj|&esv&9&D?dbaPY2}-&+2k2bkzI>= zHGB0Wf?w6Ylu|wvR>u3zZt3%6R{z^P0I%=DPP<+S@CvCR0@vL7#+p&$_BKg5%|ERy zT4gs^Y_5V_d82B)Nvtj;$zES%(RpEYUDE;rPTF#hU}sEjfcTcI{dcw4Gzsk49aE5B zT-0B%v1u0~x2k!os$0tJG}}o2-g}b#Ehi5>q}nbx^H`W>W!<9Q!a@Uh;RcEu&t~<v zquPLwvrzrB&u9S=lRLAZ=8%US*7~K>V#)i`Y95Pv=O%WP2hO?oSc}GIP0UB&m)U8r zoA-H)%tplRYSNd^hS!$Xl;I^pAm(Zu;ZV_kgK5gJG1Vz)Gjb)!G<F*@;zsOt`P<RW zY4nR*c-)UD$K;VU?KWsF9G?Xh(P-vX5UUS{dH^|xQg$UQj(F3G2RKzy*2PSiE&d(6 ze0-kpFXuGYaMAh@7pB(tr0~^N)xL{r|I9NtQ?iXxa+~H@a(spA1W_?yaMCWAdTSa} z3)-{Z)bFdybmdVkOvC%}$bmdU^zU#w%@jBr)g`gZe;{M!=9<27G3HrokTcYUndThQ z9*r<$5~Sgyj5TI*C+I243faA1z3z+}?G)MEZ+9=l8A%o2k`thP=6=}!FpSwuSjF0) z9_$>un`=O~FCjSF!p@MGGLzW9>i^b2Fga-*W$27p3Y&0X!evw476T0&a%QnUyLAJ2 z6uApAKU^T1A_1GuePcCDqSizFZ_`=?Hc1sq1nUHDGk^z=k2SA&b#)B||MdCh#IB>h zl46@uVOn4(`Xc6$Ee>#;N^EMm?L8?%T=ZMdCCJYj5n;dL|5kS%WpF7C`4ZZH@Zvu! zl96>u;w-UCy~>-z?9sOBLb|b8`YbEuBD{J5iU5Oy5<>fs9;op*rXGv#{#LQk1~mBO za8VIEx7h)b2#_PXXiw(6^d{#W=!#`a)->I031!*-0e(}D8uhdTL}Mo0C1=kPpxKrn zgtpMTvFfkcWVas?M+N~O@pMmm4!jlnT)u5vc$_Hm$D&%8Zcj|n*L0&zJ<If<ST=76 za^1EA%2qLVZljr>{TEN&lp0j5?dUf0>dFRikY7ZJ3e2)BEQ;HchW5o2!+ll#Xf>;~ zYO8Gu5s}|LDD@|&l(5*uW}QVj=^$psVk+V5W=xXM9*b7-<fL6Q-PBm5^DGf$cHL}t z>mTYi6=q>jBIeffU^1~tAUiZ=t4ruXo}|Ym1e~~~SJ>TJ{N5;uGe4;<se(-&Y+|Ra z+Hg5-viD}cft#+_q+>J=!JN=gA~ewFF5@n}9D(>1uQ{r;sKoR){BjfPiR6~MsqH;X z>F@HhCKKBVpqmY?<~C%ElA?)R&nsi4fp@nuC2Mb$l2^2Gyj<t5FD*`L17C2s#&-Lm zeAQVJ8hUiD7}ydj_@)VTt40UzGE3Z*EpgjD`iBIiQPV8t;64`}-3_GXkWU&rO#Dzk z*vr<62yB+YYY0Ln_Lq+Fl)H@>EhdlNmdePwYn6g~R9tr4!ZT7jmx^yR&zz;7h~613 z?3D+ngp20HhD31FY(O@DW9lJHn}B~KwaI(|Rd{uhJrjY09nprwZ6%tww;h>d9_-GD z{-m{KU@lD1sOSL|KsBk-oWd`lt!%MRqhJ3iREkx@(4awMQvDwB8YF2_w1dmoX&|}c z*k5Tbxv{aOwhmF7s*Z^iFQYd9(v-^TpBYC{Vf2@UbdC>Q>}c&D17Sql{!QC4(z<P* zqNGj_(b0lA>p9r=A-_+<tA%%Q+=1*Wf3encz`Fe@`Qvix<>}>Ecc8e(ikWUPx^!Ar z14n|lx1SwX95QcVyyX4+B!hn}toEnNn>mrT?CD?vB=<qBWbMm8;VS-V15%?%mq!dT z3s;^CGgHA?#qZ&VeTSk{g%Y>a*8wqkJ3qo+>q=Nuf76O}Fc3_<8dQhxs27-FwGK2+ z$@t)L3LjNhyDXDVsTLqFcpHlc1XWN`AWzRo{y)M|mf^OVsWsCZ>+?QsL2UoI5$SAV zzigW4?J9>~x?>~<#^vM2lnXcA#;O3-86MNd;qc!_pdqcqEr_`xuxSC?ZDqtqPh<=j zviIRTfx$!a*-K@Nfy~C9s0NtN6-GksnNne@R^q?N^#qDuW)YBWb%)%PMdpZDL09ig zmt?9q#ug&9rHyu2+)TKiT>X$F$6jyC)*ABp>1ZX!`h`iH8obSt;QcyFwa+)sbGmeF z8NQzN5Pgv8He(2OB&Y9qwSs$fnUj%ffnTP(e)EqT(MP{fVjHXNP32ilmb~upr(^ky z?nK}<qaP|h5-ym>4twpLdG@8riLTfT>}FA2aqxX)yGv}l{3tJkZriM{?R}As2=+)Y zo-ypWVHW;p9g_0iZUXV_;XfK%7NTQjGl5_S)SIu|fBx3kAn)kb^tw=SNA_|sCBh<4 z9A)NpZI=9}*olU2Z__HWP_8V{rW&3_?)j5bQ1!tCrLGy7?JKnZDDD&x8gCIZh1Mzz z7+JmfJ?+W<j%da^jcK4ybkhLNBGy|)G359#%$L{XW!Tj>5b&n0<Yju!)x&DFjSw`) zV)U$yn1$Dz|1ECS+*`2dt<U1fisa4V#eqV{<6>l+*}0kNzNb%PN@&x$jq6WB<opT( zMJedC=((x8h`3%tuUb5}&0553aYH^=qvcWHCHfO2GT>x5wuvMZznA${Evsc#ZgKcS zPW)mmVXg75<^6w4C#vf0Si<TqdK*sAe%D#Wxn{IM(>)!Gx87EvMm85-J0ADARP@Qu zqo0tqwmki<uG+XIzgdL8XzelYoy4?~UE2km`tqWCb89O?ljcL^)Wt1QW%aO+E>80w zq;zd7ton7fyzO2RLN^Io8W)Uj@IBgR8Sml!nH=}HQ00Idn+rq)-hr5NPp2UTHN683 z4+*7K=;>=|ey_2phfzO7J2^Sw_68^Fu>WTuio}aAz{Sl#*(YF}F$-_5D3*kje!bCh z|94vJRKe%JyTjNLdd{+^i|k6ru2iBiJ||&IVd;U4(UCBJAw658s!7~wJ2;%ppEGeo zBu@PL37=3P?P^~f7UmQW_1WBpI$Ead!bP6WKMRqI-Ub8jcKYt*=>uL=KGxlt4!x)z z4i;bFtj9s%LwYVg<e%7_GZP7!vbB^)3aX|ew?<|N-A&$*$p_dETOB2`z})+!&L_D7 zJ5`57!mY9cL<N^~kP8r5LW$oX=Uc81F?d(I$1G=yR*tCOeM{+k7r={YU%Y0jhq*-Q zh_m0X$-w`j$H2Ge70Nkv%Sa!ZJe+Zuv-i4y7(I*1Xt}oFGHJGNi0IM$(q??#=yh%d zhxkFJktgSVcH=Db)3Mm4M={cGXF_{pC^!5?lS40@j<YC4uM~ma-qWK=*5%&AR|~^G zj)yGvV2uWz>lS`T_LW6eJ32?%_+Bo~AqsRpK|*a8<<6rf%OPlSs*sFe_c+zvMl3Aa zsyq6b#oOCJ>g$V_SpBAqs@cCGMn}(X{f;?+pWb*O#TJJOQveiEScjd+_7r40a^6nT zmG2VazSq1T5a73<+PDuu)?7I_u2c2V(vYDq{g5&MD;8&hIfRT<(;3OlbZWhL?m(-Y z0Z#C^RKPQ*z@t^V^$<EQu5rPIRJkZJ*C|8f!Q^UeABfJs{8{~?gFa;pW}Nt?PT6+) zop(3l;#@)MH*SLux{|HsVEW*eRc6nkW3z<dZsaH}nPx2|ZnnNdOLlg)UQPRc3xZZf zYLy*6kVQ4Y-;v0YFtb1Idpv9CVcCseT<x~SdmAvfOYM0bQHB$E<{h<RKV+11F1&wt zK+A4a{l%x1Hlyqr^u*)Ym+wCs8p738CBNs#ip0)2w3~g~OA_1tqu58+_Y`mmruW7r z#t1N>Eo|kYXn%$6KdM72IUi?{T`h#B@kc&OlLT8sWDY1k6#fOD&cTA0t1@zFB`BAJ zODVa!4<fW4O-1J1N8@?)13!C}WdDMnE!z+bxb@<2gq<eYHOXYPftH>`grJ$sZzSvA z^*#kq>$HeAdbeK$F8uMBbKqkoSWMP;=qx^i<y+7@jaW%_?=`oEs<*jPdM^5Mt@g&Q zaySOOw7Oa1ClKAiu4sdcR<!P6qMe;jD|oG|h`CHZ1w6n6EEb<h1Yyznq$(GwZX9$I ztbokgx;6+d{L~2#(z5`AlD_->ojFqR_pjKD3tB=pBpj14(b0VO4tZ|<Ab@ZhY(Lad zTI{z<_S;AaCuBG_Cb2`N1Dfr<cNXLNiVXSESARr$m@Q}f-p$m`ACF%NT^)>sNcK&| zibP@%i1Ys(<gpoJ2nbk+^IjY66TXg8I9w~6c|Yg%(sCembo5$>1O-m-;R9*<l%NV$ zXqd+{C}I7a2bGVnFX$>e_`;|c0yukid4&)^Sds;naCj~rtHz4Lg;hjvK{A~|gbz^v zfa?1Qu@})gq|uiA73dzG(_xOA?*DQ*kwE1bsQl@rl7h+s_A?<ZrgMS_$fe);Z>gP@ zs!Y?RBvtGE<D{SRSvU=V-h#Qi4#CR#n5mYtI{xa+Mc5^I+>I4!VACmQcKhzTw5E$Q z@_7hmOrKi)Q|<AmWH)CIj2g#dlVm#LhOd6L;Om5=!pnxYD_?JJ9h^z(_W9Mm7&mR~ z?a}v4mzBeoT@J^Upc~{ehvO|BXY1x`0*OsmGy|W}&=%{f-SaIGD`!NGqw(d5&CX?d z*2RTtz`$gR;XqQ#ZMKBe;i09!goFTr)Cqk>+qJ2~?RZ_L=UJLv-6Zb$9t#t%*|>7! z$q!r+q=J>;t^}1z7MKZn&fG`sDK2!gZb`~z)TQnUKd1p*N5121&J2-4rpZj1#{|>U zi5>KkXQ%UpN8LG5%-J1x$%qDRjTiCQo~gsGhOd53AqLU~GBWObY}MPB!_+T^`WM$O zOSx7f-`%Ff`LD?;8_o!PD)*ie^VrzrqU-OIJbHfXHAq5zV}Znk7jk*?NQv#+-9Nd8 zr)(UTXtzBG8m4ohuMC{8pbq#W^LO`KF^<M#zaujJR)j#8)lrSNCGYO{!Rrntu7zGN zd$z+v_5&S{#l;gCl~-zVW>Sb$L_^<kwa14>kpkV)d_P~E@C~EY?$lKJpE66<ZO~pH zoa{TVx@#ZJ0dAtF_AV)dz|MyoR23#yyY==^;El)JQL$~MH5}5bTq=lfBScCdau5W< z?j?s0W%XHT8}viDV60jgRmg1LD!U7p*z+-Muk-H;TL{Ez1e4WaL;D?I+!8sz01hR) zj;5+?j$gb!DjxJeBNy^u@AF%KhXUq81MjW<ixI2^vCRno^df4XkqywL%akYJVvKBa z*Zr>iy=Hq@%Z0Mz8g7nMVj7>&>R1$~`JF$~vbQM1Wz><&xR}OsDSq)TY!TpvzBGH4 zSrgEKKV>kqPIecI0(6CAPxF9m|MQUjjr*gZs%(!mi@SZs6)<{seRS>Gcz9WQzJ9S$ zJ&9}dgtkqw*+XeO(UIDhKgG!H`IMnI%f{^{p5UAvCU>ow_8_5?*>RTRVoW8SFMk8f zi>A4KmqXm~IPH3=cHgPz)g7cx+n@^vAeF3F4rPB?CU#zYS_!l1)0tem$I4$!Id2{J zNABn$_6>`pc$oJt5%M|coI{4{wbaN}TzW8<d>6+FhpcZ70S?3+f~s$&X`agGMjyOh z4Z|OQ?%W-Aq2k__;IGht_t3|3et0b-pnsh1mesCFz;Vw1C9Ut;Q`EsgG^Y&uEHk9y zQueDbSQUTqg=SyA{&eH|GtS${KvQ2ubX`M5Wb2_IbATQ73z?3~2%a#r_Cw_WkA<1* z3$6xk?;~>$@4>)hplU$+t9Qv&r?`MWYyAnr%LVF~Nn*DkGvTeZ{e#LYI%7Ei-95H~ zR#n%4fl@<)`t9Fx?$-JYd~fgvvc%$s_uA>iuBRX~$e@r^sXH6Xf$79Px;w(f+dbsP z%5wN&8zG@^?sKuda{#-3eYDtKi<p-44V~j!H=Ump%7?d4haRjlC{FvqE&bMH>6Xp{ z%UZtOojL|?EDh6ibYjtVaB-dsM3He(6i8iU^c^qB5+2rjwxlQvrVXhE`jOswui)JJ zAQs<Mj$*y24BV}l_$07^T#g%`n(9MELXq8xgbQdxJH&nJ?z^GqOqydLBBNzLgl^Th zIHw<lq#rr27o$Mi+qUS)vmrgm+~P4hTK&AGEh(qo!w#vvmMEs2Ot}Fz01)HUCrfI< zOTFw9@6|7nB!A3<h`7MSVOlqGRMaMS^t(ZvLva8bA#^tkQwE;0>mX|dafcxhL^SxX zQ%N4>5sr+H*Nj>5-7^4W>&86nXsR7Q-q+)HU)#0cLc5HZ-^XLt8H+$_jh^84n#}7U zFMMW;MC>3dLDhV5nEFq5oH!UA<?tJhjgRQAH<@%sr}~z|X@95k+}=I;d?VRP#uYg8 z?);$dtl+zV@UB>K)tzL{3YL_324UdlP14PF<87GKcL7SjGrp_C?-FMZGR-9XXWh;g zJsk<ePq4GSEz$2W1*_N}#R0C+rwn{0_$=+fHj5%@RyqE$i#NBXXoB<RMD;LJ+=Z*o zI3D+HV$Sm!Z`A1ndhcVVh%5YP{UzbX5{A^cUq0zrMOHQYYC6JUDT666Tt2^3sQpkt zvUQ3{<o0($@Lufvr-1V_kxkc}<zlI;SBsZtzsz-2R8<M3u6im#t3%D?QUTObQu}=^ z>nLCVn-bt42sBj@60&}u0Fi{4ZT@38Xw=>l+S;N<SY80`-%_J-{$N(`pU2hJOt(gK z#Vkkpw<qn<$tnk*I)vW8)eY&p(ApYVCd?PfahSne-D`j3_IeS{^{6nF*Mhau{{}JR z){93Qc<r3br7!xYE!*LbFkgmzKHmn@TK(MqQj~(f`>Q_1&q1dlhJYHrhMUtOc>VB# z?*ndIs9oD#2;I@CSsc6+AQ|tNdBBm(PO<Z_&)~dy(e(;Nd0>$wI<^<c)i@z35%0}q z1uuBoBfF-4MzozXsF3TB_XZzoknK~^IH}v5+@ep6s_B0|hlbF+9PSE@8qwo(Uiqz~ z3HG+i=~tct^dQ@PAKzd5SSe=<ERThj3%{fBD<1DL2F}~vO5v?9mB%fERu8yc;g&5s zg<NojjZB5?je+bN;=rb@;g-YGN(?<fJ}_)mRXh#l`Xh^r!w8T0P}JeM%%286T!QO6 zSlnJ0d!Lqid`iYi6R;KJ@;;36GCX9syv3rm+m4kwTpQcJDSn?e&~i~O^~z?_3Qg$d z!jd*%?L%4J^<i(ueR!C0Pq}m04u37|fC5%|$X_2w{P;e#N=6-pK~_go85MuA8a1s3 zCc8SLswHY8Kv4gjXCPGyz*~S&{QL=2&!PE-;MV0B;EiJ17)yZ*2ciL&$AD_{t&b>U zZQPz%g@D^vcblDWhq;Wmsx8WNM*H@;+P(<2bs7Rn1MC%4Rbvv`k0nqHS{VSKtDLv6 zLJ=#7rZymoCrr1-(zUaaYi)kt?<&`&9kevXPl*p7%ox5Q6#sJ?*z$d*CZ~(MJ0|e< zooh>9tu2#N4(%BdX%@W<ZNJH);1i@N*gu)h8i;G&Z%n}rMEYu#ZRU?!AMDf&yIe`_ zb&z*gTR<8&a*)6oJf!?<9pu*>sBhTeL;ydIf9Hr)G##n-MXJS?Fr7N1zJ2rrRd7kv z<8@8^@e;eTD2S%LbDz(Z4(;~450BlT;U$$F6TRGlw|?1vD>z2LaTNpCNlln9Qo^og zw|=K;m2E^X-{#xT74@&r12Sf;LB*CRXvKK|ed%zEDEGU?1;qBC83e3P`gz>>>sC2E z54>uhGd)$h-jGto1Gk?JI<83U`(Um1HMf5fumBUg9qM*X{8DEP{5caT7nM@AJaKf# zX0|=Sg34=}+?;X^dL(m1s$MGCp6wJ1qn!C-Vauu-#Sab=T!&UL=q?^oIo3W!Yri_> zO0TceE5ERLQ)-(jarH~)4&%HwMhJeP@6bP)(#%wcX6EBNV;qvSIDu~9KIqP_+mzTU z3B*#M_Q009nBfAQ$3skOWZ3mu3cQCjYq$A=<f2H0#?g-9!&cqDs0iZge(VfWg|8MF zW`w!%l6DCRx3#N^E+bCP&MHodI%>T7O^fUe=2bG@=L~fdO7XrGv>GxfQk^3YiV=i; z6LH17yh*bn#q;^pb|_EfyfX@T!FDM%igRjuL!;ClcD)h7l(DrnUd$upGO;m`bstZ# z`m=Sba?^&Y?bPV3bmh~N7pv#$#^tH(|48P{)?C<37eo-H-PK+_930;Qilx!TDIkWU z0JRc1u+@A!UVqW0h4gEOGih&=`ImT@_q09eDd7V@W9PLGfJb2l?Z`*={gM+`i;uq? zjkIfg=ls0^$?U3jxs8#T$-q!eYOw`tCnZI2ed3RZBN23K;d<x0Vf4s`rqE3H)v*0B zt03r3o^iqdm1{#F?v$ZFiP(NM+i+kfZtCe;0?c#K|Nhq43A!?7*j2M6AdoewTMUY0 zO)Jk<Wc<O3Oiokt$TwPDmw(!P_j^$2(7C3VfO+#Or^I+1)3*B^;K(#qa{KL>*b+T0 zYi3a?7ZnJHORpsrWuU`@mvMp?Xe63KjmJaHY1}3cDyNs*&-=1G@yA+G`CG?464pF6 zSN`4f;%Gh785(!dakbD5)o%?d&hZWtANEFGNqyYb&@y~k=9e|huG4{X!Hza8YJQy$ zYEXD!>*@aWDYU%?MO9rcJ=+HpREJj1#P*^G(_!9I^U-utvG<W3m5B*xHSF>kzv^?W zq2Nmw>Zo=dsKzUI=W8DgW5dE<2I+#FO#UI!t#hAY$Y+jW3ahNa(01{hs9Pr%Ldg@S zGB}+ltOu1>CM{m?Aq%HY20lM}pCf7i&8|0EIaT0_1&x&5;7_d$l~CZcgh>}>$gJ^l zmmKv~3=u0$xWknIgZSbjT+-?-#vz=ufoZpdr0f-K|Jm_akKL2HO4=S+<MH&JYq(nF zl=q$Q;^5rE5nM(vi?(_G8VysqBs-hZD&VeeruXiDS^$kU&&xCepNk|^@PG@&;zx(N zlhEPa6MFQ6Mp;RK$W&9|&hG0{)p)(78yS5&;P}2pfSN7lUG8*p0pu)OSSmiTG0Q$q zpz1}1k>ATOvZouZ><cOOc|&5?c>{No^f?s;j!`MVP4^t*l~(Q1z!~I>LqddjAcSK? z?>N@8H6xABs@nYU#a`1EZxLr>#BEEs)i}r7_=if_AkC+QpYGB|J^;jD2$DcQBz{EQ zC0I-M(F&RUaJbaDWLrR&BK6fNk?>mXaP`G|WO_jV*sB(&QnGJFTl82==H0*4b?WVO zkNFa&cCJ4O!kj*-2j1WZnl82?O;KqdYP9QR_)1UIjCDT#jMMhSSQ8n__9!-p54f8h z-D!dhp`r=;c(JnCu&Q6CXFGx>GXNg9@}k=`{LV*Y&Y?yCRUET|O#@pt4ENCrz1Dzz z=fgy*M<`OebRbJ;dVPM#T$l>nDzf`14A7j?=~WJFOWTkNe7A5K+mKMiq8MK_2<0;0 z(Lvf@tn|E__OL~oS(Xdvw>z<+%0&-55^5}K%(uqio|^#4qk}QJK@Od&Z-5)Pr{C^o z{`8H#qY0||!W(eybx$W5l{2U7htZ6XvxZ)yXLIO#SY5-5F1WWY5J2#e^WpCV)uWOu zSe&SB9p!%DVzZ$fNv-YpH!ZVe!+k$7De<dJ5cbkS@AVmy%yn%!yoVKS=&t9HUHuH6 ziukRt5oi*ZT+9RSo><y9%uohFDnRj`J8e{R_RaW8EFL~Ru{%fUS&iH22(<I@m_W-) z)t$~SI8<t-ljkQ!d#+-`g{U;o3b~j<k<m14&ZwL|as9!rG+;M5<JN^Q!;UwrVgF34 z7J5IQ<n1V7!*!Iw{76NXV5Vpi7Ome`pVpyN9y2e5{sQsjh{!HnVIXyZ2j!O8&HFb@ zP(4e#CKj<)({+*OWf?G!D;mGOZ^LocPY#Y!S_>wY2^U}2UIt>mcnugSZas$I^zkn8 zF0^pMd|zj9)6JEWiu%9g{^;g23N+NsPb!pc)`5#nc(Q(I%B&5ysPtk&4(k7@oe5m^ zC(0=d*nf7(G;F>yjk8mOkZ1RC5xm)!ak$zLuJ<}s81d<dKqTh3dA-@n4Y&(OVwZh! zPc!tmb-X<zL(X%6?i7}y03u<Ie!HcaXCZXFo_peO-njeoqz;5>&us8vxvXnW9feJ` zCfin=W1!eEMsenLcFPx-3u4h5B7r;#U%W}bP?Z|o^@NFR_GMdTo|>VG8Z`z^w~eTP zbkq?-2wb!xgm;G1!kegWe}|G~4!2yW*7O-&;c3jW`wF^l46b%yoLRvw`F;vf-WMFs zcVxm3QTO%hV0e!upWym<&Lsot!r!xu4p~B16p<8^61iCU(C2h+g5^9T*DlAD-srmF zGR9JjT7L`JmfdXmha9!r=2Pl`O&P!C1KB?{nF_T2i7(r)HBoeB^%`&;Z`O8Xu>ibs z@I!$xz2dVr<gVlB__!<}kWL%mE71VE6sm=`nD)_t_5tg=PM2v`Je~{UXP0Yz8G+^2 z(486T3sfWVjG`k+8vyCdxx$-sY~VPCOAV66i56XaX|yx&yJ}wCU;|t}aP&oFc<(i$ za{pO`_sl!JMRxr<oA<(`f;o*8t*x!%CkHR7z5XnR+|mW7=G^X(8MrN1PWv}B2nGi2 zrU^NsN^`zwIX43V_W;P_yz(%a)3CQE#i%!gP+|a;ZFeG7q(X?=0@zUnpRS!^_`!N5 z_1rc7A6=^)2pNG?VpQN2+jb1*#_gI_h~&&+j$yX%8HF8p00t?S?!a*1g)OcB4iCy% z5n}-~kE2LA;7i?Y9pA(0z+`d4(WvUm;Z+nD4NyAQP%H}tG{Q#*vVX%E3L8L2CAMCD zd(AzQZf}||p4Pa{@D2$h?1oTD7&{6Sn5+ij@es^gy`-u=zK`fZ#qI4wsCuf>R$PoD zis0T?R5te=Z%Fw%uELk^sL=Kln^?>jINx6t-_UX$+f-74=Ymvr<-b5x4$yXYN={7j zHFxz3yO}PW%}L?iUpXgUbxOuwUJIIpYwx;<JQdpky}a6M;6h{5DqGTSzkXEdb6PrM z?Z=fsbxhIsIDUaLCR-8acSpVFyD2sCiG}X+PhTo3W-GA_No*MGwV0VR1)=0iQ*A!P z$MC@oRQ^C#3MF5-8ESBy?!<B#F;R&2Qe(#c%>4{@5!lc|q!Whwuxk+0hG<7Q7Z;hw zIYhK&o#0Rx_v>Ezp?yIW%-TgyKh!W5df|l|5~fD#;B2T|R;Oe8LFq&3q}SYDvzcp% zvU;*Tcj!iZVr_DK5sTO@vcBb7bI-9Yj)D)fP@|>=wI1t{o|N#?zoo7i!P&2TDq=|( zgc2?JbRnoFd70_!yAiRq<lqK$;6i1~@`9MJkyf%}p?-O^CB2$^MoGLc_@s@fD~wQx z>)6YCXD3_+4X@>uPJ|pTS+(DV3#z*M;j!SXwOKNUp;G>+Q)^Kq(3C?l{o^=gVTYb< zs}btVa!~Ke*P--mWm4B`*Ez=t$APp_s0KQen0SaRI*^_k^MUgd>F;ONBf}@WgG)jW zXaN<Gto})U(}|*;uWD=9#{2N$$A=4I>%f>4U#m8|{qb9(T(x9Un>!q}OqHmUa~h*M z$g4Nj<!K_Wj6_V0!+vOGz_s3>2Zh9x>tj6&s8-lkyalQRS-RT(`@fE3ndshiyZ!=( zc+}NzCbK2J+=B%AoFQ`TXV+S1Hfl53^r}FlO(mgw0G;TaMX+=ldqGx!#v-=c>m^CT z7s=u1uQLfOP?t<bh8-6Jlg<ebmGKa%ia)*I7fOfm#XaPFnHR4GpMGTK1&t^as7eVg z*?~|WvtF>~P2kYVbjg2`vnDErfcs+T989c|x4xd`&tv}ALrYiK#0tBb4m>$xHB2Rl zSl8TQT{(I=RO0cu8<P#CCNMPf@}Gf=aqj%C;`?vD(<qgj-__-jtgR_YTe+<P8ak7~ z(iG*K;&uZd3~>GQ(1yv9-YT!{YpQ=;HSE%4UaLh2&Jj?OQ@uXagC{Sbj+dHAxNTZ1 z5v4!LZE-f80|i6sL9X4*T=oBJ2y-=^l9dX6Ze<$Kp78>&SyZQ<Q#V-(2TPO8XR6sv zu>zo9fn|1d*>S2@?bH*4jsG-^*a(6J!U?=<#fxbx_G1pn*{*pOycB!b;<wIxpukU( zT}qzh&L9IG;UBnn?LkhJ=<|yWKc4(kePJVT7PL<SyZBC?62Sn+qdg0EuX43+ttJ6D zk?yv5`G@kkkyXnjlsu@o=RJ)sX?SKXRUeApe17^*&-b}1;MwJuyh@#-I13;l<y>!o zWfHYkMPL$lda!hJ6m#>E$CWS*+`qf;g11j<AkOlC_OWHmI{&IEnnQ?l3{;+!R7n|C zkuryxGl6z~tj1!GJ9qc`<ZvQ1{+{+jlbaW3B&~7eU_a4?zRPLGg7@|ERiY1qt9Vd~ zu<|wMi|SaGaTd%w<NunBI_+x00PgENr{cB(rlD}R7nMqt&*a6PSWgO<e}yEvhb@Np zF(>rtYu5ggf}lL-x1{;?FSQnLvG&S%lyW6=|4Y^F2a{TiV3nUu9iZnZ!H{NgBC20& zI%tjY-=Zd;iQOg^NLYCA067;>q6%$_QZP;|SFL6nN;$IX&(1cNdyPat<oTx?`r@9$ zn=^9N3#6l%^D))k(N3P}-BLNq?<#rx5d4*^N^`XXj8DDSJxGL*rTDXt@$XwuPvVf9 zWsh64v_;)I!UzO*#Bpi#Bn7sclJ07)?PfK><8kNzy9vOT0OLu=w~%Y_w-L@Fl#PHz zj~+OO^khAO=<WJ9B`E*bq;CIu(^)dOI-a#-mc}$xsioykujX+GWFPW;4Vyk(C>GnI z|8I-)#bB=Jn?9{8hp&*|D3M+a<x3iDH<u#|LDbv6v+nOp-9X+KZvpN9yuRv8?MzWE zZCD4TM{*Wr_^a#daWfs~v8{edE%d2@=E=UlXob}qDvkeE!uHj_bDAsKzu%*&x^}qo zds&5a?l`861(~OG+JNV8y%~}JT=wVFs}Nu%Ii$-!iM=R^vp~K1sfGKa2bzfjukQ<J zC9#nfc`fh%cbas+CCzrY!kRpIRds2eTU1Z>T0eZ?EL;C$pn^y@6R9E4CRJQD-c|eG zsslc(lZAP6vAsj7IfMzbAmFdVHgCvdq>bI5c&bgOm9M>A$o+2}da^r2y#$_O7kY!% zm=Cf9)shThOGcy{s|3*~9HC+Tucr>EJ$kj;Qk=x4n~ds1vU<NS_CPh@f~AGrT!YIg zi7^qg?hfq#6q`?=bl~gG5zpuwFstbtO1LQYDcXa6L^)q$MsxBhM9*ELEb92b*)QdG z2zxKSskmo@+P<MiEftmjGD`5Usc^C<d20o;q#9?u{6Fnc*QLx3R`R-;slQl8s#cTc zP&z5LGy?NeAubCdRYg?g|6PTyX@%(1a%+nzr3O8nB-9$o7E3xy-7HY1V1ulnBHaDt zReMBNLC&;V$w?O(_lm+M-X<UoX({iMpzp0!B~7M{j@PV>|1;-DIAQ$}4diD$Vd(d= zQVx{hA!v`QD$75ut?W40fbl<sRNG@Cn5?ubj@yC;Oqaz<8~?2Rl*yWv(&w|72mB`k zlF<qLd4yBy_g3{@e+OlT7D?w4fknsE3)vF>hhKsglEz8x*yZlFuS)rzkbg4s&?^ED zK}t{lXERx`#VRG*@n432)NYoanz&;=$j&qJW5S;rD$4pNXOhtovf03@AD6Wf)Vx;? z0~sGa=q?;5*qr#EnWVNR06P;7F_y}YABN54W+m_czmGO2q;@7MBA1itK0phkjSDu5 zf}8(Ivrr+Jrs)u)8E9y$qmB{${gWMF`0d22|LzD~bOE8r$J1zG+fVdM6#Xhe-%Az# zI~6233&6R+fBJ)oGU3D5@+Hq#RVaS>{1=Mq!l&t|S#q3E5^r~uLD1yu6aHbvLz4m> z#PviS$CHCHl1lym!A^SJER&%=MsR9f{ePhHr7qIFcmKUvr>OK4&GEz!T?WzTibQC< z8749I@`{R<^F~Nv|B4Svd9^Q;pLKkr3hA8DEmu=ANs>W4jL(Fv1<9}|<439Rw~{An z>0~5WiTKCh6%vcmtZws=+TuryS(o<%Q^kw(=F=wQ6ZsW4fh^wH`Mlh{#xdh;N%0Ig zx~6JMz!&{d#{-IEUnW?~>KO1bq*b@Ur>{s8sImn_ddU+NNA*7NJuW9PbM;&>bB%&h zK8yO8ZqVrAU7tMmhw@~G+7>S&lwWZaUpCvSpk6+{z`AfGg7E`BTI~?ppG!lr0!93C zBA4BY#R>jXAB^bdqd0Z!3M_Kv$)@Fni)$yRr=wGq{neOSY-PX+D*rWIm3aN={!yrL zIf4z%!UkRkE%?<O`<rr%-^522)lbmy@L#QH*>kV7nu%84+~415%yuqN>>?kRO)oMo zvmO2sh~~07OG>Z&?Dpoo{bIPC&NM$pa3yqZz<eN;XQECl5X}s~L^8ImO_I`^ur8bS zNDrfs_-8b~;@e<(D7{QxoxBC68J@fCuPLgDD}(k4A0}>x9i5L!7~G5)<wS`tec-WZ zaUuRqENL6L<aOr!x8sR#8WEc;6)YS@P*<>VS<i%lm<_Ls*-u@eK%M1F=gi&biv0NO z-q|0tEBuTm^cx%u&Z2*rl*z3gp)A2B_eq*16zGsCp21u#-}@NDCjH~PXJtU+`P0d= zPf!eF``9{%p;wBp<5B(4-IGQNa;y^J1}B3xEs|rLPj!@Ny2)n!23c~x1)vL~_jFb1 z;={n+e#Pgb>0$l-uCkWT#u(&C5Q-J}y4hycqIygxq=<K_C5q$3`Ml9QYZFne2tY`W zPSmR&%Bbpee&vxKQFD|E!@+=ZjG;#dH;t;80jEw+slu>19}lYIb7Sy_!#mmR*wi2a z<gI^_FbOtHaq%%T^kptJY)2Cv{kEoK)?bz}wKO{euULGB+1p+@rT0#2BJYz;&0=&N zvrx+jX_<gEza9&o2;(rY$4jkAI9V~h?-YapqSR2vL<nd^%ZKP<+G=qHeNRanp5bc) z=&w1l@vrI5yLnL_4`TZ9(++Q@L$uOiAorn_ZPs+$j8CXazqO}$Vbrm91r24R3=@t{ z43EefPK3%xPtzzfTuAS`6$Og}EhEUiCb{XfWl``?4W9adRJnTM*f(7_UX(Vh$H$;l z<|PF6+?L~)lH$iHGQCD%7L{zil&noCuTk;5KZm1nxf~0k_xWBrYC5GY_)VRq?}(m> zU2I*lfmMOc>-PTs>gWOKbjAYksad2gnJuw*_IHY@0I1$rZCFL)?T^%bt*Lo&AO*?` z=J#h`bq==sIK#pO7;Ikef1y+z%pUxqu!quw?60Ra@8uaeRvB#YS4Ufb%c;DVCDVS; zYT#!v@RRqQ%{lflHt)P?HDaO|ANEJiD;!M_?NR5{6x31T<2Lr&O#iTdw!3B-YWotg z=NJ*p;B3~f_b!_%{!M<8SVc8uIX}5<V4ze)sGeT;%0`Ml)3e>np4|B+ODw2pA#o8( zz(HDFhJKpJF#7(jZ`9>wzp_d;sD3D#Wwur4F8&LH@+ih+(=kV{1h`Jys4R~7xVf+C z_UO3tN{H3@X5MkW>1R?ifoAlp{gyL9n5dPj=S@r)m1i1{j_n_J-~zEbV~-C_wpEJT zu35!aSyV6@DE268eLN|vIQ}7qPDWmm>p+yrDqdu;O^lq4+z)m=Hn%|zP>(pKlaQWN zM`H7b?;F-I<1f^uB#c7j7HV2~iSjHz3vr-&(e3Dzt3%Qx79<Ynb-8XpEN)B-_F2}d zp|po1IJucGjmtVIJ!zGK!7w1O-dol+%7aIS{bZZCbf+UGKN)oPfpg8qOF`vTZjzX4 zCdPNlw~AHPQ%2xNDzl%;G&!xSbGr~9ae6_n2ODPP?zmwBL9cj%JaE4#XF(FEHab$f z(5t|8<%9EG5w`x!q`j$5GH%u_%)|I=kqde;6ns{uBtHu<Mf0^^O~g}1xZEV`pviG4 z{&8&>xs+oY#=p^(&;M?6oQZmuWcc*E6{dvqGbP)^4>}16RLaS=+{tA|Oxi;xiqAGS zEy*?Fn<@lIZL>l?MY{~859zeo;i$(0PZ);0t9r*q9v8AJHD|mo3ergU)|AoeyjyPn zxjy|(<6*f*EHK%CM2MX@!X>L5Ez~u#{8WgVEXV?E>g3+UV^kaQag!lW+Z$^rPvhzI zgn?rkOvJj;MX2UCsL?d&H><|@AuHHyM8}Qiwj2s-^90cc!||Ef5yOxe32jE;&@bTZ z@Kafi4?2kC!C<NgXMZ)AVupPlu~Or#0ryJ9hna^}#!+a~)@}|Tn2ABFEPpg&$0(y+ z9XK8rK1;0AksWoA16YSv=ayw;5UATZw0<Q2SpL@M<Hl0)V{YbX+k+ocvWZ&OW-w~G zVBQ{QL*I3|J3TX=AgxGPQzXA!;8jzkcex>EJgtiv%>AkfZAZGDwa{=*9~YA!Tuu>m zdSi#LRBTPG#llQ&QijmBWfz_NX-ac!on@BTIUOuO)G<w6$UghYv*nE#Rzjw@s|@|p zYymkRRJ3p5wX4J=R2ZvICt7gC0O_jn;|~k9p6#ejB%$&3IbW}Y^hap<X+<EvNKZ)d z%J~9I1GEW&jJ5cn&OMOTZFKUr9<#8cN%2FXlfQMD>q6Z}9m8nP$c{y1xQnYao6w@{ zwcZ0`mntn2BG0EbPv0|uq#vxtW-;td#C#+-Q;c5;cncp&pjI<iYLxEw*_ixBjC_z3 z#Oa^_#i#Db$uClvs_MbO^Q1`r%}{YyYdhSsVEkT{i*b~{ERRmMD9irquzqHDtjpAQ z%FXA`HCaSNVm2<TPB9}YzGqNpnD3e7b3(OOFI9B8({QD28F~zy?90k}Pup#UEJ&cl z=pxB5IJ0_L%`MEp^YaG>hc#nY+*#uo=i|g+`fjeII_g@bej+t+d|I?PB>2Sx?Z>vA zYovwG%3O{G`%Gh=e{c|Qa-XJ=Wx*HCoT`Zah_U(<=6&V;jiO<yC)KvXuE+lmrPX59 zo@9QReu%LXKp+l>c@@ePNM{rBxSqRx2v~vnpd4FF8(l~9J+s9hXN*3=5eDU-Gl}x~ z=&Y_p(uET~pEiGU?4*HtK*gG9(57H{p6PODqCYwtPp*tRC7w<){Ce<6i6y#!KISc( zopU#fgRR^=X4C^S%m<GH^Px+b&xN!E()78Vgh&Euhn{m~Tj@nLE3ib0;X>ie1_gT+ zQ<KG2#vJm&{rIz#AG1c#o)z*u_QdG;W+B2n0v1W6j8Trn6lwyQuzBJu<=2Vjyb1ZR zhm!~-wV40yE`%^GWc|!k>J-b3Y3Ax;3)IUadX$DxKr;3gbL2*a%E<J5{6?nADo~+J zRWww<lJIl#S#Jy-gg2p?DPQq*iNIszmq*gJF}<g)VnWJNBJzz?h{#*XF@B4kRA5k% z7L}~!HJ^d?T5@ls<aUfGE7z<<$gS1YPvy-*t#|XM=z?6?f5=05jLT4L09AIDLp8Y7 z8Q*^?3*(@z<1f?ys`=yBt38|6e9$s{FRUo)R<MMe3`C`AG_fi#Fl}H`#<F7WnJ>Vo zK$VVL{?WL$R90V`P;rGiVEwX3Vzu6!^clioMTrG33<lRp;CJ+yef`70Sei#Z-4V@+ z8ASrA;v!TI&~r~QL90Icng*3j!>|MyPvoK5qm4Ht8@Y*Hq@CGQ%^9i96fEVrpbxsZ zgF?RGn5VY*Izptbwwt?(XqwS4F_cW49GOUl`cLvTUkx>$Y~<Buc$R<?gr>MOYxx>| zc~yBN%Mm%Sa+RN55y$p<QAfW*VXSsfy?j;k$T35SEHhMcdW_Z7%Jg+sAEcRH=fX}Y zqkKhwp&0-~eCPbO_oe{luw)C7wny)s1D-eXSQk3ycbs~@{@fF9`);fS^FURpjtaz_ zkzd}!Drf0p2Om;p^K?)wk!h4v^!Y^I9!t8~&n(@jIVAz~<V|2Equw;lB$n-AMtY3o zgafprFx_Q7^N{CPStoj!Q5cX|uP;2|r%{_S(pmp3vkEng3#>|F#gAZA2e-;N%#y1~ zkKQpy^_tFy3M{$_%vD+kN-eY+u-pkwls7--ZltRN@oaB=gYFq5y=I%sbnMlO9z@fw zgf1-v6G*nz$r&=2RWs{HCo!PEfBH~3(cL1*w5(CAB+#tbHeKA+HuPiUz!{H8h;uX* zUvk?<_Dcx+AQ12nPtIN0;0_-2g6ZY1vf@ZIf(CLVE?3NALpV~k7I4!$|1QbpSaO)k zVe=A;vxjE|SfTL|?;&?D{}g&O2ki*xj6%4-bDeM1kL0eNzkxKWhcf*pzxFkg2vm>P z1*Qk@EA7&gwZyL%{(ep^p~MpZCXaYcCgTDNPpOe#hq%K3cxAA<y;yIZmeVB4;}9{} zG4g<ZswWdd-;kUce2n3Q;9%aZprQ8?&i!HEYU+>oQ0s-_{8B@`(`F{q1BZxSW{il_ z!z$O;k;NIk=H_X>E<gOt%VB6(QCjKLp#o63BQU;?laOv%sNGUgf%|8coonmb!Dj^P z>{X4O<S}&)Cd!HW!ZoH3@(l3odDeO#@hFi*<($4W%8SAfAe&zKBj22VsfymQr3@#< zeutkA!<T3nLa!#jURJ*&e(4-V0y^g3gxe~iW$3#k<kdBQKVe|eO<vBCD1o!}tX!9g zaaDRkQoAK+YM3o}z@|x^Ya+dtKdsl_YAolTV;*o?jH<{t_TU(!(vuT`Z3YRJqVMB# z<FbK=jEZyA2dYnk#T~QFehAonxT|@W(%67rA|F>Vnh`5IR|^^ioe7DU>q_0+_)lyH zytjrA=cv}B+qKVo6xhVD4|~_|izIUZ<Q>PNK1SmAGMdMT#=JVt<kQ|)uyRL12-?XM zAEkH57vk}sd=<rHwlP#>5obuchOd?s0=A=dluEBaCc6uGXedtqlT64b2AV$cI^U>| zd~<i#Jqevyh)h2^$5acwhd<xi(Z!_<*E*4rhqP3hWOZ7qa}4C2pZH?(v1Uu-0Rbhn z&caoNq%t+n>Ce#set?~`pLWW}AsKDTL;+!KOc)apso{j~yN}U4{AC$fdbYJ%YmLsa zxtc%UkO)yn5&ll}aD}A8XtXJa9jMPv3UYZbwI*<}=9i^X&<<38^Y0PiX9z{+Asl=L z^(h@_TsC&8y*tXKK*qnVF?#Sd$&Pa^rI{WZPP5o&hOBSMI{QhnwU~u#4T@l#S3KJF znT3b0et1aT2Jma!qSy0`m2bQ~MidG*In771X>cx`?#9ni+s3$-@LTVzv32P2=Mt&) zPzkI{#CMH@qgHMCp@MG{<(4J;6hH1lp9nY^Im9?498<NSkEk(`jiwTwg#76UU=9{E zeg<|LIBKcXc<a8}^Mhnl105&5z)RQ!2AZS{4gEo5cwx$+E|+7hrjuB|2EuwLw-36V zczo^kQ7*3daXAt1Y9_a>VeWD|s?HQmTIJv%2(b-Ke=R8dKP|wdLo8xNo#b72%*7A? zkL!|^uC}p{V8s@!qq!5(fh56s9Ahj!-4!d3T}lmTW`7WcDibSRppoU0Q{DP0c3ytK zW!R%`Axvcs9qrWnM&VOy2}`BrM^OQHMCJ>*nHNvkFNajMEu2*|V`OaPDn5Rakg)sq zKGzebqw@(k8_(b%Y2LdMVwI0~8yrT6cKy@Se?;8(T6DXT(AIxkxYqaU$c~kIG@;`v z#Ab0%t~uS#cyDF4kUTXALD=DcMjnlTQ$31odjty^G4&&)Ca>BPB{|0)*9jS;L@HS> zom~6t+Tw!F4mX~xbQvI}dst!Onz^Io(YACQmsAGR$<F-1>=(gkd-}dkl|RxGsJI2O zZ2!2RGM_}3oL&YUX1lu23@i@V%&-LVm@fQJg~Uq5YoC_F2pm4LMB;qv5M(L<d_yaT z4USF2$MsA39nveKKP*YI9q~>1AE%?u>Z$Ev7G4v9;IFra`f{>gfq0nqB7y<@_6{Sg z_nFGP&~<P4+X~$(sMxE$NiUA_yu=p}M3C=#X`=g-eb#Dm;)}X4nDh_Lry7lgJbfG$ zX*nIx&+buy<Icx9n(L%4uooZwM92J;?dO&ISF@c;gC9*-cASSQf8YGF@S7V|Y!S1e zP7|EyMFxFj_=QVt@8EUPiJywhiD<bU97gM<8P9P5=DsrX-9jM(WfIexdzD^(!iwUr zk0;SIvSu?bm&ujVRy{%u5-h_5X$q1H)#ls13`Dl<hE2qiL9n&8B04h;TsVjE;fmbm z?fT}Mnjd!*jI&?FRqu-|Gd>vQ#NO@Cm7jg8V~M5_OWwG2l};#)zAaNxo~-K4tro?3 zEFsvlhFQq5hG{=f^e)EZ_{HeS>Etf~_81?UN$ZifTHFD4Tulur1Azd?ER4O+(lIKq zQWvS)YbLo|7%~e)m2^x*{L5Xn>&CbiEF#rwKDdYs%D{T8Cdf4D5I~WUFd@w%B&Phd z>=if*m-wcVm~^8oV<q5GZj`G>7$!FZcs{6V@2OJ>uGLu3l|sJzXC?k7FWd*;j3b3K zMNp*xu<@}dGjc0dD_MLveU<2OUlDoxFBeXUS^u$b<Znm!44jT1VT9f-wqV~CK@u$R z6UR;pSePT1+>Pz~?RmoLTnN&}<kSpd-=fg)tVJEsbdXz0uA>L0nzd#%npkQTW|7@j z-kWc0X?02yUzZl7^6d$!D!pO{WV?*xk58ZC<EHX^%hlNNebsc37$>cMk+a$5P2hxH zF1DZkvEcFhc+iC%Z^IcgnNHJUc<>$Z;7?PIaTbR3?1J#J<p8$A#IDvn=fyfUjbq-V zdh0?Sknd*|Sc^7zCZ23}Rk4GF_WuB7K$^dBvcX-P!lH5~uk{r3r1;l8ZMUE_N`W=* z`V|&XXi^dsR#}v?7!+D5H(#u2jxX!m6EMaFNm?t?Vh-9o1Dj(LH@=g?p#@jY=88rm zgXXyx-K#7H_Zu#yG`Vu?wo<B?J8oUJSn|wZE$$o($KJm+Ni4YEpSXL7?_+-~S7&jD zGC7Uh{YJ`vk_+xy$4{KVlnpmzx&AlxdYw$U@uRI92AThDMze1eN-JtAWnAwVY$Kzm zcMKU8Tki)9T3d4EkLA`8ltm}5UU26>sK1Lhhv3fLAK#CkL^=P!6hR1p3%m^&cXvxu z_j^M3fXxNYiWCi~)U}_r*2$G?XXQ_*IFQC2pI|>2*C*B(tW8L@Tc-@}H&CG6%=ha; zaf!-;Ru+`=v%I3Y-crmRWife<wz<3h0;^TfcdqTU_G_lgTWe9pZ+2X}GZ3E$5(ogr zlTH`)yUE}dD68C%QK?3!+I^o67~@{oYgI!l=)pOpxm92+R#~jg(TQ6~AwemPDZUBz zPOM7ZV711QTTrMXkZ=o(e`2Pzdy=J<B1tp}x|rz2q*Q=bVBG}uli8O|3Y%Jzpc6O2 zthL1}PTTx+!%qxd%(6tg8$$RQhQhiDuG|9Trg@4n?rE+?fh{JyI|C8}S}QDxTda~| zvZtwAG)#ih?zOza^@C0m*Z#)+m@2oX*)NIiL8;VTi%M_{kh^ZI#+ZIAIm#L+9L)rU z(yra0SjdX@^EWcT0C}_ptrWdFp@w4Y*s-Lw8qEbS&(K=&_@fg!^&2nY$fN&-QaS#& z3AqAm4UOD6VT+b7;o1H^#$ZW%d)Q#?25#XtmIZUiv2alhn<s3#@pIU$L4Um;r4)H1 zWy*vNSY%ePY{_yaO`eKQ6P7)@lswOwSWB5SVFOl}lw~%fk!OtS8Ozx56IfAiux$AP zmOs1P^`BN`{dKoc<{1+vOyIeCgZ}=0OqQW_!h{}*8;Yg3x0jxtlzQ=`-{9Wfpg`LM zWekhv&*!-n&oMqpsnu$v#?Z(!Og@$g6DIsWd++^j$x+>Ve^ym@?{M;*$;ui9kTggL zAt3}91ST0<7;J+<7@KH<!EnJwCSP)XLD&Y9Ot8QtV@$XN%U}T#LI@!-3L_y6Gh#F| zC!c+G?5<k(hgE&fz<vJ%tDa|`nc2H{ch#yDzAMyf%NE554u->_9dIuSl#wZBQA98Y z)hUDi0OuVp?RO@2XckC-#P)Ak1*)<{Gm8eQgQ$v~lW-I+BZ?q#WWNm<5Ea3BPnL{C z9qCmy(BU(IAmm97QOmX&531<|5wa9OIC@wqk~0S<0cAVLr)ac8-_99eP)+g^H31!a zKG^;91gt_dUaj>>eMU)xpjd?8eq=K5oEUIj&tcZzCj|zCDj?!E3?|@GEqE0xP|I?< z1i~YRKg9`>N-ClU5#tHP=;xfXIXQ!uNB<EL@UzDOHQnuVF|3yk-P-pK!I7MOY<>0q zn=WvuC=-)`!O-)DzdMt+z55r8jaP}LP=-JZ;4^UEk!uPXL<`PX>AE67!+BiVw=6T~ z%{UH=94kf}fCNkh+e?5DA}+H%FkqUIWigfAk>n=*uFfRlt!&Kv<#is2A&`j>oase# zY6P6wn;NirmzhJZ7K|c`SZQ3^?{q&g5v<i7mZ7qtD0Sw;=p0RFrai0c^}%Rg|6Q*i zpw7qzt-yg-o3Gi!jo+vS@b;O)x+4XNg~i$D)Dc~49*`s-CyqK34H2gf5Om#c3TFS3 z<M3Pa-Wbv5vOxq?l@OI`Sdvvrp+cT}hNA>NB~q81dCVr(_Z64c7fPzpfazA7q9_QV zpvc?A3S5+Rd9K$Y*!qp9u;7FUP~(HJzG(vMa#?4%Mbvaax<ReGMV#4xarl(I7VpT^ zQ;}-$74meL-kb>|hI3*Wj<kOO;_coNYyP+49HyJp91T&^Ya-ZQMMZ;^#~$6RVtvAD zbaYsyK#?4pSZ%B?6T?Pzros3q=>Y6IJM#pRL(~zPesA|k!gufZ{~iCYCHo&ZGz0^r z&J;?-46Q^E*FZ2OZnd5f7o!=!03r^DLlvTWR7;d3K<dDIV(Nw?V!*dfnOSKH1k5Oz z(3xTT4F#62k7`OFsdG$SnvM`P;~9w-2^3uy)`$U<nB-#pOoX%NlN8bVGX<h5s6DCv z+yVqiu_VA#RofViwxcR0yh&j>Cx}FRei(IgXrdt!31KH1b`r%=g_PKfZCb5g;QTVK zRwB+BNUL*wYTzOYc-H_|VGzZlAwgjj(!NB8h8^f=3od$4MKmIzjmv%pvaqg9EN22o z(*ev#N(`ttf(q@{m>Jz@AW1aPTPb+!-|gny2Q6^=Ssl!fSVYunY#}(?*Iuv7a5$t5 zNK}eksLDtT1%tlleXl=<ZO8O@>C5&}h)10P1#%dKAxg#4(mWH}+YGy1`n^>|gz>3u zY?+;bsWy#9i+y`<rSJ`$%P2>I)zvln{T|K>jYfk^J<AKr47w$<b0?$1(dn(x>vU<i zT8xhiy<QI&l;K*J%+KO8k7_`i;_FCa6_8QM%F+TNj@C?ryvUGHF&rx8pwE#*_t4rh zO;rW@(F}EnA%Xr35s2<Lc}JZm;;1y>Bt2KW85fd+6$3F-lt}3usuhwVUJYjlDxC%- z3JG7KS`nke3yJS-uSM99wWIi4oyP(MiU9x!8gV4>lYpl2%f`?s>+%7t8&?DziFRTD z%XqLtH5o`z1N*+7HHb#+0I@kZ2K*x`c8GGLOHVWhBREW})buo9WL;(=5*3n@;RLc& zdM5}m?NR-uibJ%-gxBQSC3+bUHF_R>*fvW6j*v2PzdghWF_;c@-r=w=IAHqAXLSI@ zf&vjxr;zwAs6vDkkT*RRBage}Am9Aj4nFkvC-I6`?WJ~nyt8gi*0sd$Ys*P{Py>^C z>CrkYL0TuK_etC6MIb6(5+5YmR48>&CJHE6HV6SHNOTs+@oIo6MswKI=H_vzS~kpQ z=8&o?&U->o+iQV9z?8Y^e8GY?Mk1wlm{6O46r*`rdG5Gvf~tg*Pwg-^_M3ZC2ag<) zrRAKZ#U@qCN~$W|u4CshYi!*%u+LI=I!&cA>kdY;W#UY>L_lM-J=ch&h*K>$b(4qs z^V*>W3`id3z-ql<ut1G>iB|wpfXoC0+YG>26AA;65!-*uW`?K~DVwDZLKVRYfyhuR z`Wnoh5>d$rYW5qHx@^wZ&yR{Ya8-pXE3(`nqBx&}&j>0gHs6Rj)+D*Hl0u_N1RS-a zLz3<FWs|GmoKK}=VER$5I}S<|vq6A4${6T(NybD>zMR@V**%QUz1Z2IsCH<XBqMeW zHblU&?kL!~41j3PWd+3KmMJKLh{vhPOmwoYuVM@&j~SfN#v_10%@+v7w0CMwfQ<;) z{p#Vwq0Vec43T8Tfk--<vCgOWj*W4zBLHZKpr&Z;5Sx;;INif<B#usH>exTS(ML#8 zhNx5;v4}a0hUYLpcRABDFQ;hz6hUy}O_)-u*$!<1YD!F_dBSyM%0^7jmh}k3(W5H2 zvpWA$#x{KbpB=y)5jz(k3J5sKK*XMf-A<#evrfHv=TL8eq<%!LJPe%JhY`q~l|<o8 zxjU>hNGn)byp*+-C!m_ygMMo`zsio|o<_5|j1ti}!~Fh#Bv#vh<8tv!tVzZAwvRAA z`E^uArU;#w!u5_Cqf~?YF?aWS*>v3BQM9kyxJOhZMo>qLn;9;BnyA}YHwXYMB2`6} zy%*>H4HzO|##)UY^~5{^Q5j_5#+pcxQ#o)Nt-Q&>r#^HF0MGo(y{6e!DMyYkeC9+> zJ9CNM=PsaXZ5Oo+xS))B<6QCSvw6~!7dYnFHTK>#%?I9g7SDS5ja>Du9lZ4o7xP!I z_$sXeqAJ58a?e`eXV*NMvoE-TV|G;xdwt68h{?%G#wVt!qQmDcN-3yZM(Hxj5a{;0 z+;h)iTCEn7MP`Sabx6bYsQM!qP2k-aZd4Kn9n=M?W`^jHmE{$>Yh6M);Mil21)s_x zQhQk`JZs%GyjH{zX^(BAJ=R85acgVzdP92U5I?exL;-6>n2ooI-Vrm4L^<DN*zZ%8 zC3&7x6iq@1HI4(49Jq)XI#8zs#LC5d#-P_{ZDExx&zPJZqby4T*48k~V={s!hXFN^ z5{=JmU>{<@iCZtB5rrFmGQ&+jpW#oRxgVcfIYY#OLX4I{$&#V0=NXgi*#T!~!VVx1 zlYDE<Yd{^j!#M*JY2o$vRu));BZCk}|6Y$eg}3j{24Da8o&3q4?PGG%9M<*7t}_`@ ziR3;*q8czu^Q#>P=Q65Lp(tM9=rb0kUmT&T*8gA6&2(J?tO(KBB{*~R>>?p5=A0m= zrySH}H9(5ErlFBonuAlXx6W9GV6<^+5y6Re;8m}=h09)fKOXk*c`kVHl3nkd{YjC2 zB~q6iXf$vNKmvpklf%o#S_A<FL`=^D7O*f|VC`Zf&N<c@H?f6?QOLQ-x_-y@SG=T* zSwO_`y4T(hk;v=cawFcaKN*o671Pmz@rspTC>jhvIg$e<sq{<*)B+v1?wRIO|9mpN zu9^Hik38klyEyOs#oC|6sm*OPa(v*uXL0b?Ey^l=sW3Kf8SRT6I>(d#Xg|%St+VF8 zTFpibkh`deHzz`)5+#MMvSdRO9X1Z#o7_1R@4U&mDlW^6Pt{;u)D-LjoG2SO(Dp{z zuwSZ5jHP8XFm_Z0C&GV!|0K$h@;i^Z3-8681t$dOft;=m8AwU#U?l0+V)6%?_)ymU zmO4&urF|pRMI?hFR5W~q2r;Cl2#IfM-m7^Ez$g8J1_Udmk7|ydtxNH^nq3KimG%Up z28i|C()w|rN`2TjXe5MSj;xrYs;UHXdaEzMXZt9cU$wn*8~bFFvLRyfD9+()dPmD5 zWtjy~RISuk1)Ml+8cIA$UjeKiz83-UChG(|womF@T3@~X2&l0)YRxHJ?OcG6;Up(I zPb^=C<Clp45=km?xDA=VcL4V~0svTQ5r__lgVg0AsuIIiM*RmfSiOkW#CMW0a)6q^ zIfr=1(&Fn0)$!DwWB^p6S%JiYq98adS}uetA{vvhZ$w@~GB8jZdx0bb<!B52wa3$( z_##<$k4?j7k7zXSTm(y5CgE~IRum|as!GutfoPJ16T8ldb^Fl>k_?SFi?)03ahMP( zfwDADeq#EgjE{dEU3YejE>)Oe{_qEBwZB5)=Ml|7BQZ=8s~ya2{V+21GgKp`D#DP_ z;uBf@_3P*_J%Q;HUxrA}?iVaI?2}8sGWSA4HB0Bnv)OXuwHWZX`G`7%h*XnA-GMLO zhqxaBkW~sYpbSr=EZ>dDACu>Q0j#2GMjrr)IB{6bw2~DqCZ?w#F9_mrF2g&|P1nzI z<8`zA&6{sza@rKI2vi~C+8=Gj7m>5hn?plDT%?gf<|Cs~#!s%>$vNlFF}r1z`<yx8 zZ{M`a+h21bTX%GL@&Ecf&?h8^D>z{=D)`mjGdXqlK}1XAr4VT41(Fp+6-FZ%MNgi$ z$g>uMa>U%iJgdt~I8kWLQXzN&U*yOrgD6b-7FFyq3KbLHv2A*SEZf9gYsx4L>CLau zKK3N~aYU9m@K6ComXSFjRwW@+<avrL=R)2tkTMWLMOj(j>_M+bS(P-#TQrKCl|f)} zX%ScDR>PWQcn`B<Il0ehIdfRik`PPs1V}5QMcG6N(W2s`Q1Yw0_t9##**P|ago?@u zB(UfO%(1q}zK9t33`ZFuOfH<VZYXZMWtyvhu$d=4bw3SnhN*rJ0ba0pb<H>%|BOK7 zXpmxB<F|*1pdywbfpk#<tjVyE3^jmdCv46t5Tk*kI+}a%V4ELZwVB_0@<Ar2ho}fa z!HXGFoRy)7h-Dd~P#+2fqY)?>mPG_Ha0{r^4o*F<dKd@^YI>{g^5O)dvw%q*b&rxh zk7|y)b4IHKQh?u>4`S=A&maf_shgHLT8h>+o51P2J3RGi2l(X2PT)RgE;Bh<;SjRa zo-;%X#%M5*1(+;3L1QFy;CyD!0i3fkkb3V_H$WDu#4@f2G<}MUR)C1D6)=Y@m@RP5 z0yp+<82dhAbbZ0|&S!qE!I`_47?nznIdY=LC!)rip|%T>L4A$XkyHpcP~*L*!lyod zI^X}^7S1?xnddxzFU~99{^qg#{r`7g&OL957r%5576Ugrmu1G>T!RN*u)w1peF%W6 z3gkt}-dkt*+!edH;rba~_R2l%+&QEuiuKxaNGvQuO<+y5Fh{9&Dr^3Yw#Rm<?L+2K z=MW%-K+yU<D(M=HI91d2V$xDOn%+68Sc6m{2BnONFTF>iQdK6kH{P(BawI(T;$PvM zfmlTFqKJ1CS%X%i%>qK;C>a!}SwIr)&3>5vk6Feb1V#$YqCr-+7$2LaboRajiE6;# z2`*(-?7+L-R5Vh{vpvJ%B<ZCPEPxRr;?2RXTr`JP0+5{C2o9TDjU7TwcPEH=b3|gK zs!M2M&Y<@gvf?IO<KOJJvDSy0_{^<4KDb0@383KCE1wm?_|-Bn33w|waRkBSFzu%W zUj?TaT_j=$gaH)MjVyp*yi)6=7$chgt}jrp_AZG~5Qdi!-Oqq8*!{(-3=oG`?sW*# zxYrTjD5gr9#=s<|9Q+a@eFm$~qt*TvNQwvwh!veujZUE)orOpr?=YaB5P-&rRp)`C zrVQ0m#JRT@!UTjEVp7H6Bw}#3{=eNTL^17&&AEQYdTKQNZJ7#53fUB;q<On6Cn|(c zfu#E+!PRtK4N4ptMAHAAT@yiTr6q#P=gG1Zd8=hNDhCgKlq@^U_Ra6N>yi+ff(vAg z1Gx4LNsvv@$9CL;Z`?-r@XH8;395V*01Z$dAg+cdGweNp@lBtnyYwWg(Ww;KU8acD zA|)y{c!{`dAL4#WjDcv4{>kJ<L~f$0UJpznvVy6XM8`B7Mvqp}qE)mQZ%vcYvIt1! z_|Dgk;h1B4oO0?K<{+8EO-08bf@GdN3WYD&wskXAIbvZH0i_H>Djm^V8&c$sm%i#p zltUrQg>H8ZPe!xZq@{t0ToIIZ4q2w;1q4;*7Z=#Fa~C4Q%BV|E1<9J^t#LGZGS?)N zCSDs5Jt7{-3bNc$>40Ii#<;eLp^Ib0^kfs42k?-&h<A}H3<+_B9mh}ubIws}V0?Ot z@y(OW&CRjzz@4<m#+aI%1z@5*MHK=edZ>i?#T7z`Y@eN_+bih~hJ;G#4@c-=h*S~h z9IY_LrrB9wjp!mS@q8ubcrSOlL{(OY_M*5<3Obz*jbUV}l_8;|8Vnd|MT~*aYA`-F zMpWCMh)|c|)K;wqCtf__9a@$UYn~7^+MfWa#K9s`B0_Lx%$(G+X#0zE>(>C(_O|XK zWylWW9W`*b0V)I$o3Gl$&3TWeB{H88R8y%E2njr-XVu2KHlQH}vJ^&j1W+|@7XjIL zq1VyFBV^9u5v+v8u2HaOCH-WQV(SzU)LFz)jdZB9HHZ@sB}N4g&fE1QV_bJvs()wn z2Wv459s>;PB`lIkO_JQ!^LxZ&kMQkpZR6UjH}mMn9YG{DJV?*+qL?lcqo*^_T+=Mw zEs-*kiAAUF(`ak@EqZ0%Q@;qUc6yv*nLw!!k#q=D%>fXh3}z21g*U$T{!C5|IqtYF zWhDq6)Jj+EcceKuPz8)XexsEn#(#F+34#i@-8RklzrTeSyy$k$zwj_%`}D#W-@!v4 zeuVeD?F_EHdY1DaWZ%{8KAnT<nGvU))-nD|<Af6rvg?#p-uc$E*}rd$V|EVF)cf8P z1Vl-|E!FNvRlp$<FelFlZ8S7FGGcqg`NROWXH`_9CcaAZa0t%%b^fSFEoXJ}h5EC) z8Ay!Q#Yr5fR_k<hni__P;8e-Hr{C`rW5vY87)})LjGiGRdBpfqv2}>pznyc8#IZW; zqw_~7#@kQ`9jOQ?I6;C%_amk^qAKD%b>PjXQoVKAKWdl^31z6L)JhP80^(2vL?IgQ zN|Kj^$kC*yP@|9G3r8(~HIGA0%Onth6WiBBVjHznEw+9V-wA?~dfx@r#Lr-#MRU3o zj2G-HA`l7K*{YgH>{BP{x7fN|y1v$zzdhFHvp!#&%h98D2uKd>|KxG6BLHMc2qOY& z-6EXxI3hh&e0G>>cz?q146@>8G@8JNbp2}Q893KLH3z3DZJ7+GDD|6cRWk;?N7BfD zM%Gw1L+Bi$VjU8aUA04|25h0A-+v@U>w3Ijz^8Hw?=!OXI^sx-7Maqhcr6(89znDH zbFyq6O;*mUrPmNa6^5hJaB(wI9Kh$l1_bNy;Bd|WHDJIuD&~7{C_XTOOD@N{Lg}tO zkzVgXoO<#f)5xn7O$j(miHn%>MFSctK&V@gIX^(iL32<8C}~Ex3fAVIhVv^-ZT=+v z)km^6{}g7ozZEaK4okea4X4CmK;kGp-~eO=$WfXINpT!CM8s+_MQAiV%~nSAfo{2m z7UQgSn%sQjG{65x2Pg_tsNw*v0fz#qF3|~&h<BdpsVUs{!k*_rB~pm6b#|4hu_0L& z$+L0px@!)lq}Q9|@S!OdetiNl<jmi_ll`}jn4I=BvK6Xo#J+udtzBpCsrr5LERgvM z(GlK9oHP25Hyad1L8%o^r<psro&9$<Y55jQ%aLP`S!43FN$e~Oj8C>WvKXnV78aFK z78f12?49Pk^Op&(Boa98q+LkSVA$)@4}rL}2!NI+FgLfEwSGpw@92ePw(eXYQ;$^8 zUs+>iWrZSdkYyPXp&Sml^?JvkcQQM7G&t*=Wn9CQ{YWFjUXS6hWHcHPFvH&T4fgzE zg0+L56CW}nBj92Q&WwK4NWf~#EgkO=!Hf`~1d1ZJXcYFWgLgMMaG=G318uq;;i~VC zvt|1#+jn-Ent>1_Aw{u^MuSG9fr#h&>!xV5l~eD#lK3qm=@e*42FE9ZsR$-LHRq-g z6$I)`WppNU%ZoWT{cN1*1Lr(&mG)TNux-wP+L{E&#N)hh_gxJR>~C}4g)3x*1qf>S z{cWB<e5l~SuUZTT(CucNbW)GgP9K2S^Xq4gMvf4a!n)FO;|&v(mGFQEE+Zng8s~_Z zbK;0rCX|MV@QWKZ5z5H94_rmW(eHzZQWOz86ziY{lz<b*&u^F{R*rMeU$!+Mpe92A zn)K83?10T%hWzB(86Ne7BV>v062aW{Xn+di4<8kiSDWO9ZcFqh5U6XW4NQd?sU4Sk z1dK)-G*-kZdGrLq^tq<{tKvkd2weTcZCw1QySeD0bG-K*XRqJSfdxtw@TtrcgDo{( zj^0C6<8j0|YBX|u;u9xu)|snZ_~0XEx4Z|Zs7CI$dx;A#n&Y$ovWxrOe}Puh=v0@g zhF}?FCxY{KRtJeR+kvu7lvJ~u3hQeV5i~_;kLH{DySf8j{nEul_q4cW&n&Z>hn#i4 zWwOFrQwEf%N<d9E(|w%6-n~-{x+Box<NyF507*naR2la>dw%0NX(%ZJgFVxU5Mt!^ z+h-W|GtN4Dj+CHDx3qZ(=3G>%TUym0vbJ;v-Jv6wuQ95hQS+N5K&=M66-9vH>>WX4 zn<iMR`uNbNKkC!YGYAzL(tNeauzL|9OprIO#{2!rJ|^stW@qOswlEr<N{ka|97E&) zd1DXAfckwy5D>|U+CZd3lt@*cK@7*y9=md#pYdsrox>db7S-q!VtFD_r-;?@3<r<H z=Xc?<z3JXyc3~XxYe0p8bdwxa#a?<ghRb`zL{orRPT<@Cs1PYAhZiA?@WqXI*GU<c z4g3=Y#0jI}MG!NZt^cxn)pR3(IKxf|l}2JPy-^M?GKJ~By|Laj)EUpZ#Ha9^eDgnf z-0KK{MKD}k??3H=^?r9M2;ki+LPdY|MQoaVF~M7nuBuX&vvfO8pgs0A`rY3r;-~@h z#$gv2jm}|y?k$8kg;23+`W;M+Uy1V(mkeJ_ZAguOBg6h~R_5P94AY3KnA-d<vZ9Xa zSfp+}+M?j1G8&xC{M?(+IE_ff?ACWPG4-EB9Z}cjiAEgbtR8s}q1r;xx`x>uub_Tm zlo>JsO;Iy3M`K-Rk`nb|2BnH6&N+O95VmsY@ax#R`6G-q_pV1z1yC{S0BD#*%B@HU zfG3m_=-@uA9eOz~JA}(u>;*VN+6N(&)AUw<kIC7Ok-58>nE5QL3(sPD(}&FAQ8S)p ztk#t^BG^*IB9V{)mVkK);BwnBv4wf5zgI*Y6Jz5{O-$O$zCwj&!k!yvC`XR-E?ltZ zq!B}eU{S5nz_YyA0Gt`4s!dfj=!XX496oPA-XL?4a^(2xzulMno_U0G9&iuacWz@e z>~r%kj^#i9&p8~rXO_{h$u(EqpWAL8@|ef}nsXj7;J|?cl-)I?98t8IXs?f}A~~MT zn>W#HHCS2gk!ON;P!t(iHO^-~`B3)VxtS0RIL3G?Q&SzzKlc|DKF4{F%h%`+XZhZL zUc^bedfakHgU@{OWUA=+{1p{{@q*hp@#H149F9N!ct+hWOG}H4R;^3V_r5pAkAHj` z-EIR^sp2j!c+gGkK6gkt8nHIFNHrKRIU|hc1>L@I<yTJUmK#oHY+Mj>TJ4JG{`Ed~ zowh=E5LjGTr8gYneTK`0(V)Q>zIY-(`|)vT6}jt|%e?Tf4$^A%=|?kG6O*%6x}d^v zXmiWFN7M{X43Q#l0;zN^Dp!8%c)s_YEv&9)jE0U+f9!NlJ#~>M{?TpZx$U{d!@z05 zV71MsK5`<r?U_IYE_m1ifB1}pG+U)*I=sh1!FH%rMDQ9hJ~NrC0VJ4#s-k5`sw(5V z-<;)(S8S(fL}G-`eH@<l-2FW8!HX7%l{)4IAXL%wov&@@-#)h;RmWGqSn}eR@8iT> zJ%kM>pw?p|!uPM-%(uV3jb6_aBX|*>_u^l1@x}94bi;mg)m580`0FOW_Xmgg^v6%& z`kzkWM7iI&D?ID@zhZ1EK!p0u)JF$3SC&0jeB@+)e*Fy2DZ9^J<{8gAz&HP68#{LP z_?<@{vC<_3JER|2S@B%)iIchE`YFUK_d92WXFhK~6O%(W@~F0#stPXhkc;Q|!e@?W zZobL(E!KTY38-2$QC0B>k^qHj%2XUR0ue(wc74G135}@Ox>O*DBPfKVU$gXH8jnMQ zAXui7G}Ah=SviO*T=1|td!VMW1x)|O`mBmeL6S62(YOxQMTF=)A|Ps@)FA|vJML`L z?PfgZ`M(4r;=m5fgB{LRp7`Vg?AbHTo*QR5|H31Q|7wb+bqlN?A{S2``K^Kl!vqqb z)b&8s(Yy?aZrE8f5r>GQy9QtW{PA4<!|gPi6;*Jw+JQfR?ya1-YZ*id5n=%6h0MXQ zpY!D}?c&E*??4bvJ#Cq%J^f~;r~B&>`cRd&pW<-h81!?#`sH2x<eD8QaLQ>*Jmu1x zZRTQ*0x=RbpiyxyQk4Z){nz8T_PSk^g8?n~B*wB=le3?ZSXoUFMX>;xDBvPcfoAl& zLmIB2=^G4}*JxDcMEOi0W^_9bV&TwhG3Ox=<I8AIe3prskK$Z<p=PXzQE}=R^e<v< z<vE0~J<&7JY=4WH&HsBnk}tq$a4!AMC5%tMn||ky>8(8j5PF?U8Q<~-eD<sLGaVv= z%N(&hhGFN$jQS5E#u>_LCsla{S?e3Lre2Mb0tlf^clA{?T3?{i{3-SJs#+!^gdKEO z|CWi#_mbuNQH8Q<(_4Kt&Gwh^Qn9-94x&zw`2(~kKY(OEMAH0mipEF?n;5LTj&krY zAX2t|!1&CYaWYRN$sCHMLO@g?Y-Z4T9o6t*2ocG@kI&z1-^0c}1NFp@=Fk7><6cJq zh|!AM>IjbyRtM^Y6opZyr#{8P(koC-!nt1)qX|H-^CUni+TW$ueFBQETRx}8Y|G1k z$;#?;Y2-JvWAn>d?ED3Di*KjfzlxpPUr7`N5kxnlb!*Enq_gxK^5SNux4(q$(z97S z{8k#xo9aog8x%Vvt8^BhM`z_ZG#a<CdB-bRUVbJ=?s+qvmB+AU`(H!4x7AU4h#9D$ zu|bHA6cQyM5MjOhLvqzcqABvs6G9}^G;-Ey04E%}=dEP<Je#(BgppQgih9|7K{H2; zZH^pzIdb?V07f(Q#4t@`;!37>z7{8|D5k6om@BKDKLmk^sjuJ^#wWkb>cX>FTX`bW zvmZ5O6=MPrwRXt}<isczks}h~F~sl`V3p`r(U{hieiFf==)ulLOcVvv%_gcwyHbVg zuiM0ZcCWH!+X%tBLB%jcRZ-38c5|-!?hda0o+)nAMu0*HLcgC8X;ZYvKqA^LxbcQ# znb}-0HZvk0n}8VDwB2*w1NX3h|2Q9b*8};Jr`^o`&s$*ACdc^LaWspJ<$-l0($HhP zC1hih%xs>fH8nwddXg%5mY0_q4Tm@yT>iet&}fYKo7Y^4NI{H|xw*Uf$&YsP_II7b z>)&!KnFPYH$6&3+t+$@U`!DZv$1lfu@I#OA=s!Hfr$2lW?|9>G9`*P;x#TH#(ej?= z_&Af|D5cNR;u7cW-otrkA7o;3nsPYez>&lJ%V#d(pFc3*DVJWuXzd87(sWI7ntbvD z4`E@h!NVW%Js$kvlC4`#;GaHxJeR+H7teaZZJcn*5qt&R#SV=|gM4C&kG}19Se$F{ zkVjvMW1egO`$=5(w>x;=i+{q{%w9InZl-Vr&N~h-EFn(JVZ~~iLk#3DqsVfKtN=X0 zMK1Z%Lp<_v^Ze^)Cb;n@+j#c#f5_~X4zsg@i1kOWMk9v9A^Z2v@bP~<6PLjY{?{)# zv{-P(Kc2`<*U#|Eci+s|*a#PuW~w2V)PGzBf?Aqf!1zyqR5B<CW$?V^HK%a<tz$g) zlEXawaq|S=tDoJ@KY#EfI-Q)~ef(kSE@#GK%7@-}0{i#1dHfR(ap6N2`KQZI;`M)f zI+s4@ZXWaaBX(V|NLmy?mB(Fjn1^1xNQ_n&UzYHOSKgQX`&wN3EHmr?zqoOdTW_A= zzyE79qmknUFTE2X@{jM|#VcR3o7cbnR<>^IZ|FgBpn)TYo4n<+-He99^Iq~xgvf_K za4NUHd<vf_XPnjH;@@4s4lgUHGIylG8!tPH(MWjKi|!zI!iPV2GMBydOkVT0TiLR` zhX5LtN)-^IQ||xZMZWbPJGk-Z6Kr|p0Ou@ksTx5{uS7Ozt_q>D5}vxd5<sZJZ<I_} zmm~YYdq-6T>iXnJ0_LFx!Wj5Y4{-u@b_&7n<2^Pr8+K>YQ*~Xo>86cIWX>><Vsugk z1J~dst&u?Hl};x|qbKtP0M_yBD4-vqvzp_);GIXDVC|u8&LQ~ZkXT96pzrvvZ<|9p zH94wHhB;wDtu3v0)*3qnfqr|$5b1RtZ+hMRSzK)L<fq=sS!XZNA2j&aPoK(%E<clJ zJo{$O*gbD@;EW!Fev7xi;ejkIws_hzZ)0}0<RkxZAKv)-3whB?f6B?H+F7sQ00iee zy<Wz<-gE(ri!Gk~r+b*3?sCP)&f#sZzlfRHAw^Lde_|QiK%m<zc;7o7#^QXz>8F2) z)jO|Z|LVKwhVL+yJ)IywBZ{U-Hs%-|wMXieK{>=%72|nM*TI&Z+gUhp2LWaI(BH7S zatW>05188YKF}fk{_nD~^g>{onQiZ&ssd$c*<4Yf(fSreaUF`is4??_xg(b|cjzNb z?RY+_B@U$;oyM^LXv)!UVs$+2slTV$zK-R?Z(;f1zc4X#8NPibb*Y~Bo~-ya<Fl_L zh8b3md=QuIWqkHsMArc{y?{>%+N2yjiafsw)t?--_YM>^Y-QB@UCQ>SAlrv?4rH9+ z;4y@_l`woDd9jDdiI?EAWn8w5h{ri41as(v9!KZMzk;@D&s>Ig&{=pJOM`!Bdh65i zZa+c60+Z&TpvTi&xB_T1Hu*|apttf)VtFAV)}p$`F=n5Eqh#*hajzo)K;53KKI|nx z#M0We(U_e4E=$XQMYr=OjLp0UM2Sq%U;8tfV_!r33LppqE=5CvP*o?hyz(Mur{2TN z<fn1ov9tMFx?^AC*GE3gTIXWMCcaCE7Fh=<s}osWcp+2U-p$z5CkP=hwe4>h>wbfU zLmx9nR)-U7izcds;fbs+zmS=k_pxc(o>OdjE#vL~;LxED)9*Z*iHYw57P#=P&!)}q zpbVRF`E6tpiD~_{Lu3bbtY#8GgMeb5wb&XRf_2vrIxCmZ?_R(OCp`(3J{Bu6!K))n zcEE2)d-9tUO-nlliG*r9!_GyF)*eRZ$V-{r{!W}T!weAPB%S3yWn$_Z6paNyDBJ?$ zlV7K^{8T1qK2MBGAQss%RMevC{uL@u2c3l21h<DOJRGEh&tHYQB}Ba$YXL;?R7i@% zcsw+rwW&>GvPD^1M6I)ulVuUpfp*>kb+$f*Ml*2osU7Zr-tq>J5J4lXEM|QDOUIEF zn1PmvPd(fdrXbIAL<)R}H1ZL%qY=(UHgAb+J*FhaNH2J{9lwJaD!Sb@05mGywGOR` zaY9w$vy81fW@(NUj8^;HvS%m5k>?@5vyWqT2HInScR5p2O-?)QcF-<&@6R~?q>}d3 z1VuYi1<x(FO!DeC|D4_DtT6H!m%aTLeC_jF`NF49=FHu9aKgzQa&M8cv6iRfD~f!D zX0yk(tqtxz7&&}onnttY?tN|6R&t71k>@#71HN*_eHjiMfBo98(9pxoZr#Q)+ZTA# zo0hok?r{eFChcay;(QOk)@AGD6kqxB1BqpWH-GS2=H`CM;r%Q8<;%ayH@@<_eEh?^ zdD7FbCi9*xTeeXS`z+pbh!7%MX2ue&EBb>0c`?q;En69-44xOq#AKx1>e3!7@V?@> zojrCO+ak{kWTK!fOLTdKwYA8nKlT8QKdHn2dh<b)F2_|BC*Sul@A<oPxZ?6{JnOIT z0_V`Cwg0S(*hXoyE38XO9pQ3bF`(%A_SZIZ`>kzW`>ws5a7qsmA$sLGuQ<SwLkBr> zPlEsq2P1q4zzoBoW8W{wc;owS;p9`h0KDb$Tln0^kL8meK9+ONTViUakH_J&oZMNq zY-|GB<0HC#VScV)@16<rJhJzWHp{(&$%zydcEa3|2FD&h;GOThnaN4hTbJMe7rg1R z)A-=KPv-S+-;2v?dJ0ZFAG`b%+G8beyL>N`lOsY5ym$9cdHdg;#ht$#<349}aNcCj z^o8<~51z{SM8#!qyqSq{%RIjSpKjo-ue~oHde2F``mML%a-(A%;S-=)L_!dH9gix+ zK%#FA0EDAUk75W(?+JCZJp#Doq&X8}jk=!E5s64<`qWBM?3xtU!TP1g1Uw)_P1o2Q zoJ0gz&uM7wVt~j7Fpq!*OOgYb94rxsbyKk{QC-T32r8`eSyYH>!6HYxE=^_qdFhWi zZ;pQ7bM4hzxMS}m!;z!Y$vNS~H4f|_V{yL8)1Pq%r<_(dSumhgztpde!5B!hOo6S( z)~%}i%co9ZIP$#tJ=ZWfZCN^zidVem1`Zx*v(^!aN+yo_eH@?t%;}7V8E<{(kJz-y zUIO-(ch2(<m*0<%|I^vL`b}3+6oGnGs>&CxxDUgj=e2LUipiNiAymBTEm!jCe>$I= zZ=7Y<sY{eZdvRRKdVJ|$&tf?6y!iPa;r6{h;K0Fa8Pkioz578{%YPux9s#TY&Kw{% zM%|6ddq;n5gqzJ7&svmKpXrHd?*7#_R+s*W&D$@d+5Qi#yOU#V;*+!|zd<NZ!Aj#Y zoGXbjl}5QfxVw?qB*dKzMrR^2q^gc543B~APUAO)7{@_(u<4jf$nt%lj!nm0!s@~s z=q$aJiQ+LJ%ea`F;W)y(d0-V}h;ys>d|%2i3L^HN3ZIa_Ajt_x`xy-@)y^}*I`7-x z8Rg)SOiurA8e<<rlHL=^?00PNN^kM)h+AQD^B*AIN)2bWU&G4$C+RG{o5{_WqG4cx zH?bM?mfniERVFt5K2a^ZHnHhPbeBF$2)n^w0}`oUpa+6E5%)R+^|;p&0PrdD9Zh)z zQhF0(Qe)`_#wNc+XZ5KRQy&FgWYl{YF;3H-{4}ZwTwp1E)d-=@^3uyG@?SAM@#S@6 z5>zM}*D&7xD)UP(A#2=(le<Bc7~8C_yn?K_i}v{El43R|C7Zm4M&~MeoyQR445B6o zF}7Kle;v-*;o7C;r?UR0PgRP>tt>6Rl8LeZ#%lEdBI9E}Kvfxuwfw4T1)e--hY6?` zJK&{asb`2F5y9cTT@%7K<`2J~>CGR;H*O}1w}@v{qO-qM9hQEtXtaN5U6@>wW<a)m zgw^>=>C9b<+x7{3W*sXWO0RPvA<U2$2k5Lk1(J0w8vE%i&#=~c5bd#V+KtwSf>a<Q z&;>L;2+>Jg{&pn$B52Q|ZAelI$#7yRWuZhv#aOe=M0=cJy|3P4adpkEkl~zAM+8wv z=9S}5?D43_A0oJ<=rH~|xWB=-{{0x7_r#=(>bJ<Mz<S?z1?L<-&uKMVAP%w&mo*_o zqByGPaFQ|Bm?UeYLuSsSSx)p0MUgyXddn<p*$TTanCH$r=K1PZ&S7%;4o1U_LBBy+ zZsh?N9Ol?#D;f=@H8xHd4sdRo;V|Pt7tXW$+zw#HT`KU%#~tDO-`U20eDS_q`sdd& zH7Pjnh(%76$dTnSuKDpJ`1Rd8Sy*gPg-DhO6B9#DI8Inw5E_|h|E)Xu*^iIm>CgT# zJGPg^-WXdpPvJD;fL+J;5E)R8G8zbZrQCVTiTv<;+qvlBN7!@2iQIi4V`XubBZszd z!bu%&{`m>q_VY71`Pez6KVq=B%JTd?Ravrqd<V^DlNg0^Fl5kIWK=<sfG!T}hh0Gk zXbemij=a%8RaqO^xfaPMx&GQ+tgf_p*=ug2R}D~A`qhBat?-y9IllCXbGh-FgPeQ* z5G^C*9xG8%ND-|nMv8X9upALXr0%+N<UpIR{L5Az`^0%pIAuT;O&cYw!IonxwjLYk zFRZe(yiAJ*-L;(z`<_QV`7kG(vWAKodr%(#)I)slJDd38XSeg`FS?6dtZ9MAobkKv zZ1MRkcJj-;ZB~|Y5QtIOH5O=1DIt{#t}N&Dd!9dk-a)1(p)N{lw<6De!2w?T%G0^w z`Y9f8!3qE|R$TkTP27I#1h0I<9>ykzmK_vmj#d2GbN6%EU!TR1dzwh};2=i0^4nY3 zbK?Y$eZmob@`Kr0<N@KnXLR`5SGRM+wKLrR!bMauryYob$+HS|{j_R?<ZPo>dO?y` zd*6pcT}16-(|_Jd`XVN`061CK$@OQ}a6uBlQR+ABibm`V7*=vt4`=)CF$b*fdmj_z z7ZH$%dPPy}jM>J|0g^hgbz%A?ip^V5f&_X)Pooj>b*Tvn{M1NY1?PljBTx>L?uZf9 z3PJH6iae4Rk+~x+e*Uvr9`)FRJpT87#q{(D5l;+?q;75&S%>=Uj%i6n1gztm&Gi>I z&GO@`xA5E--onhx&?4)}J^<`IwgZ5yA1sO7vS%|tzIrRqd%-W*G~35o{R+*N^3<pA z;Z3i52v>doIDY4mcdkF@)|+Oz?wV~p^Z7S2J<}zq5Mv~31peTuH*w=nAIZ{Ui=YlK z5uEVz>$h>;HOFz@gZ6XtZKrYIK!f?gX$(h08t&)xtA`=gQ^?%Mfi&+LAd6*hGO;}` ze1Sxv<=Y(U93l+bEFF3o&DIT!jr}J<o$;DD#Cg;&;q&V#0nGssb1-8hR>v?{{Y%Qh z`Gl|)aEJ^L>4H0ma}G36R>z=WjPcp`Q)K&$za)TEw5Q+Cu=gm2YtN=JaXF$D_6~&P z5J$`Wn1h@!krNzZcE4)jWQ2%0VH?BQe8>P#jMIQKhf_QnCvk3`_V{NBYJoBUqGioY z-8lx`KcO5xm}2~&>Gz+274d-pd2t>6wZEX>dl)|ZHedmRYWR4<=sd<}pMm&!Bq~xx zV41P;H?gw(bsQ%l>adok|F7)aJMMJ^Y~&dVgi47)$*{^t6|47GRR&d{IerD5<x3fM zA5C-Y-|4MBpQ8C=$o3M;a{!Bh2O<cJWRhWdAEqb12>B4mh^o|4oObJ*^!g8@EVt1p z?gl`0f@*XIlarq#rw?jx7?q?Hnynwu?>v@J%~JP4CyX;1orNH*EdQmgspfV796q~; zD(ocZE;8p3ag-7vTB=zzt}{avKv*w}5;b8I98OGtoH(Mh$9Pc={rWBVe2(eazegn! z?5C(kMhc2rI<+<rN>V;XH4y>VCoAqkV-t}aS8EI@Sep9_@?syI)yERbRBi+K>>jdW zADzW#(HQ$S>MBT4G#KETe@}GZKx2UFRJ8v?L>;hZi$Va4W{9LYCDJ*CR-?hDsZC@q zV^BFVX%I5U#8k=3qLq?3(d6LNirsD-QASmXIs;s_GvK{9`U*hA(wq(vaN^dp1Be-J z5kZ{;A^l%*9;^+m62;a~23z%5d%_gA6AWlV2ud+FM%Ie_+4J|Y^LV)8lc%AWyX&*a z_pUsdcYNTdj5n>+D{Hn`>rVl~?z5NHUp!TaP{oR78y@<|1+M(YRtCcs#b|{r^9)B_ z=9kC#&`17=*-b-EJ$;o&oNyPjv%ln9|L0<I-)6ksV)K@1*4Eb8zi&HJQ+-Z7eGc!0 ztjK6K3zJEr83cuf7YZj7;<)L?t;8t&<my>|a*a}!n~5Qk7dhTJW@h^wIdnWhml%{I z7FU)jdwn}pJpx~3R8^m0e*mszu)08d=N3j~X+=Y!q(F(I62WwWFPy!BSsgJ%R6V!f zvV{{)US;!^A)yQm`vY7dxS;GhWuD2&0k_}S=03abq1ZG_?sB?ldQ<a=vMQl0>8?1k zRs-)nWmS@AIS2MPi8#)Dz#L^2t+&4_4VPo(Yz8z(qY=Gsm&(J^a!%2RT>ON&q`Qoj z0E*U-M?LWnKl<(#x}65CO~JCEF>u$NZC>@#GuXCc$o(GB;j}Xkv;Ek>hu?ELtuY04 zmT6O^*Yj-MHsZ81I>w{5z^HQKu0E&Vx62Q|w~2GkTLe*5A~#$=#rB;;PC0#uo!1FC zHB*1=aRZ7XGCyyQmgywnnjg*p@ZbM63u>LH02C9^?c0ake(MAexL^ShMcI%s?Pug! zWO^(hYL2~ybs&mm?wo?lJcv?9VMDacfCyL-kU2_91Tp!l&m#D=Zf}B#y-E_GmRoS5 zreRziL}7i7Q81@p4g9ayFk`x>4m4=`z78bS!|K`1>9FAdB}7}#<n)NFh;%v)plkP2 zlP7bGVA#uW4yL9`P=~6bG16!T9&r8<{^U>ZL?zPe6}<Sl4`FGcU}n?Mo~?p`NYgVh zIaraT51rt0J7gRZumrgE=1Hb!hU_|Rfhv__{a^OpJKnaes`LGhG1uDp#GC4d%2c`) zprT+PX`x7y6j4MnN=vtj3eQA88*FXD)7LFLY}<$U3>e5kf~7PPs-TLZC@89^qNsT5 z-h1x3C!d|xT62!~$5`v!3+n6s@BLxT^Vy%h!r3d#IpS}OIi@$KXSKSI>V8&?d%m&2 z!a~7Cmu&d6<NYTZ*uB5t-19g2#+|!);`R5_RO!3-n~TiNPr2~Ib<`lG1j!}d;=-6- zzhry6jb<%E9>7Yze#btN3Acaw0KyqerxVJFJNO2uK7yrdLH`t7%OU1bFR8Z`kYohS zsVc)HV?2$FPIf7$huFRQZ3J8|hzKRFuPOwLnxBLuTGQGtHjcj!4I6~c?X+8;CvSg^ z@#d?E#l_@#K!SRQR0k0;I^COUTf?7QM98xfv^$@r8b5*F>>rSYh$@I?p8k~t|MM}x zoOZp=zoBe_Y!l;dns$05psFsxYz9(>m-sbO8~~Bd?4N^<d>&>^$G)zC&@8xEjGqob zIeH$DpyscJ;X`<cIJt(_;08nuRih}rmyq92E4vd6d_ghi84ce+WP+swWC_gtiZxq3 z+D>baIs&IP5k-T41DGjhV3-TCa1ZVN-!WW&HJUv_RbI&4!b?GgCM0MoUI*C>O~>dC z{*sexzesQ9V`SNJ5GTkg^*FiqTeRD^(dpa<C~6s5SYu}JSFEkRhW_Bg<oR)^g?&nG zHdlWZsA#qBA=Zp8*%GsJ?_^``)f_nZax||ep8=j@YN&3L$p~uYCL#n{B#f9!q&Cu3 zm3qNKv_US>h9xmeR5+5<)Fa>6cs8T$$Fu*uA11Ml;ORmD33m!=G3rhRc%Ri#i$)Pt zvD#T_IK_%)fwOXS3FY)L>^u9_v|4v!n)!Pnkfw|$7qIl;|IKuK6<O<Zkc6GJAuK|& zS^?Yzt)C|qzqhaN%K!i%07*naR8I&ugWgdqXGfPB&8w-wBB0ahP^nje2(2#33<(*J zyLOHL_PZCbywv94nPaN5^s=ogHNs~;(BP;_E%a3bS+f*+EfAA{X5M2ar-ZAQu~h`C zksI$T%`!ZU?Fv{02trW{<ei8Djltqg@|;*jOcK{W`zTL($_c8{C-CJh<3sN~#Owb3 zb^IT1znz7}NZxL7!NpTTFh2Ocvv~Tmmg#g8K|Ip1aw6vg?>>j0_^F3D@BB99WQLd` z58bz$xBcFec=5}=#`k~!23c1bjmJzTeg5I^GZIQ{3$wd-vsDya_dU09<BeDHu@7Cw z^Iv$2Pomb0W^RgAk;z0EbiL$mWd%=p;^+9{Z3nsLniZ~n@=Yu)oj_9JqKhw~-HNQO zouHf?qubeqNusif6qHJgX)1~1ZKl(auXi9hNgyV7NHf&wB1PQ5bjQK69AA7;7!9`> zu5Iw-r)}}}H$R)te`Xg~Tz5aq%gclecJJQJ`~Uh<hTCnP_LK)m!wJ)D$e`6h47OG` ziRG9)&&h~HGseRa{a%l(KS$o`aOHPz@we|Oc;|mT$g6(!^Xy*i)9dxf6snXMjYp_- zAcHcMRO3w+cWu$>B|;0z0F&{kE<fosH5p}$hZ&)j(HJscx_N=$`<?T7-T!_MhcDlx zzt~}QZH)&WT%#z?Vmd8px4TS>A!f$D{ZmFmueG0&;7GO`TIJMOUkmKsGl9DJK@xb* z3y<(iFTIjad}JTb__2o_>8t^XPkwAK)2VX7McZ|0Rd>pN_TN9izkTIn`GKb$=NZpj za?}%7@&I`&G3ZB311Uw%{Hf2~{DpZoHgXPMwvHu(0Eyb5MnIiEn&$k}aD9Eu3?=Q* zMZ-s0)1}lhuKCIuy+Nw4oS^1gNR9oobJnZy;IdTJjYx4bFo@yB7>r~PRKQNjN^n^L zE<aLC#M)6bfuI@ZoIBw$7i{sacb>=LOIK-S6<eDf{@Xh)<^|7xh{s&8#UK6m^O>J7 zxb(0`Z&X8FX4%{+5|<~vnTprH;WmElwbydh)vJ8ple}n!r*WM&7r+ctaM;(6X#g)& z;qP<(GalfEPaNXIA2^4fe92ujRkfN*Ls<xnCy?h(p8!w$p$GW;Pn^XE-**l#e94`t zI8Y}d+<NmqzH#RwZ~WcQkmsrHcH#P`Kgg$VIG2xp;9P#<r@l@w2qB}=7Ps7d2HRV0 z9&^z;AvBJd^6cl`&8=V9&lOib!qcDn8E*Xi=lSLrzshJdB2p03gi*FliiVoM;Z8~x z4Q)m&mTYfrv1?(0Qk5zMvi@-f^Pgq;#Q#R`oKK@+4Ku%YtRhv4B+Id8-2{Y`&Sv|_ zU(sKDC+)d+6Vo<Tj9w{+0z+Njs34Nay0>A&XS1>Pb1dw8`A#|(z+`eYlhL!7-}4f3 zojT2lVyPks5S&~^eay@Rud?RIy<}^2dhcbl0J1<$zxj)F`yWEHV>Lf1W_^a6zYHW) zS20Ui1d(k-HxXI&sJ93~e0-uhkHwl!It#zf_OX8?>-`1!;7^d+!OR;zO%p`wc?)%) z_h#PC>e8o}j9yH;_cj2Ub(}_{mt)o?&u@1dNb1N2%{YBKKmBWN-!A$7m9~T%!Hoif zgxAV15OuNLWZLv*|2wfdz;N}~$nty0d$;Z&M1C<xiZW49p)>bxvg{E~EdM5x=~+}M zQN?-IHeQEWmxaYQ`|ki%KoYZae@T`-!ph0tA*II<P$(B!U-=cxI%pUIiDVTqRa7Z4 znENyG{0M7n|Be*9gzN-ab^;Ac1YJUPv~wSTWI4x|UeA$7{)plFE651s5ki^BszfWf zL6l4I+`!~D*-tT$8}-v_56h3dfrUMPK&$mlL;?Z9Ykn(P$Y`}%grGR0=KbkwEx6Fx z$)&B@#K~b)hrlLPF(Fk2YfG;pZ{JJ1a}yGlY2{0_S|<qkamZK5ySI|H?_qoG6;xKy zl(_>4q6Be;E-Fa=7fALI;`9Tk3;=&7NNzBk-b_)=m{^OH4=6}XV+AR4$)zjgt;82U zH%E~wQV=xDk&vO90j^jyG?g-hOr?I7x)06sE>9QMDH+kAa(mN1C=We2px=uOW(-Ln zDe(6n+s|#c%#-XC+W4JKM94!R4_<z7b*axs-hDpRFlT<j*t0LOXHR5)E^*N%+vK@% z-@Wr#5~`>`i*7eEEi>NvhmT=ntBWEm9qIDUw_n7rJq17f%oDWRZD!{N%+1a5@R75a znMquJd7|5Ml(F4zv$=T&OULI~U1?J#Ww2+Svo1K7LyuYD1uy>+x7~6!H{E!c(3xkN zDnwg6a&(q=|K&N{_=P=W?ZDi^ETP{apBeGvFT9m6-@3q&yU*r~*~H%6+Z;G!#G$hi za|<KdEeNWF;1RWUC(v#O+U+*Gb}h31jI%j-;9Sl)bS9zgs~LNzCGuP;ip27XS>|U) zOeb3egsrs}ANccgSzB#WRxrP3lP5g!VLtMn^Z4dh4-gAwxHjbGPoK?~zj%;Wy!sx_ zIjhHHw8`qRCDLe0I|<e1khnc0ObarM45J;4?e!Io9eae6D<|04*x;Ezbvvue9X|Q~ zb68v2WU{%;%F+>TzvUi2^w+ce!`~iYG8r+Mj0i2kaJrvV6GoFU<Dy_P8v9~y!-{HJ zPl%0*B_USAU0<DNVZP+db0+k9N-8Q=j-TMjy~@UFhm%Vg!>tW0CXWsZfRS*gvS}tB z!EtU*l(F(ETb5YZHRgFQevprU;0$j1$3;?7ib=)IpIzh=A31~FdkQ)o0~LY@3hX~) z%8Oq7Aphg<_wtRqy3EawS=>EgaaY0Ou7a7lh~|Q1iiCiuA!?9vKJ%$PTzttEyBA9& z304`BGJIh}MF>RdXc<B@abN}93etc{T@^>91_~5Zk^0l@H+%|w8y`0H{2Q5>L}^k1 z8v{^8$RxPk3?Lx5Q;~@hMBT7SZbSnPHr1ab5Y3~|J36Rol6cX}zr}c>{K>n{V|$~` z!d$@%e&PXs{+F-fKfduYjvnpuGe3P7nYz)B3Mx4uXviSshy+wJF1UD$m%QR$e*gCl zvwXBq18$t&Jk`wgUnVuWpB%^#_4geNN?!WPJNeR02l(7SoJ}?L|I1O9AL;SFzdnaA z-LwzYx<t0-bo(VQe#O`M;!XSchrc_M&23>iDf#MG=J~*1UBHun;2{nj+$M;UYakP4 zZnog3UUoaTe(@lm`}EmVRhtl6+;`_5KK6kN*tKU&yHg<~lmr%;ot^Nam)**pUp>fO zcb-j*C+TF%<g$e5afB7b3Ivy}BI5W_4K}Gkzz`ChP6rWTb2MgaJfV`3x&42P=$I4B zzrnQHN5qIkDmqNJp2KAAX8@-U6(NnU1s$W^uab0|BncHm(g9L&DJjj<6btbQz$HP~ zD5qC3+I%Huvt*J}O|NEq^*_?-ewuFgW;gs&gjCgrzYt^*EGLBH2yO$F#Z`<qUjby8 z3f<XvqxmCjZTt?EosVUTWP2HI{t9MoM2G)`CcHU+RVh+hq^b#C#BHaTA`%{=J^N;= z(ep{ut5IDhWXB0%i4c~^vJIMfgYNj2AP>=-c`M`LD~QE&$U_g2HbwC)#^aX~!cl~6 zXK68acrZko@jIn^|24NqBLYB^i|FYg3JO?)l+dtF$X03PPRK#NMyvHDis^OC?E4vD z0tC=864o(1jMxyF>WE!?e~H!QH*xgHM;OfgF{7;?17O##H;}iE1L8(VO_ZWT_8s_T zmY05q2k!q{=6C%un`_SlU~bpj*;;!MW)os`!(1dGvc=-w*RXQpO&opr!wlyBgb*f# zFk#TUg-+*Aq<+WBBC*OCkFFx7K4TrSd*RQZu4Y1Gs0KIUNG_O~v#B=R6R`a7o6)dA zOv?Jn*8reqAcAN~zyD=gGhad_qm&3zfJ_)~Je6{MF(P1UAghelo<}u3i<w=2gvc@} zRg}|nC?*%N>%ec4v><38gobQuBtM%nyZ855JNjFsbckR_z@~_<p^Qj4(?hL*+posP zH&7LCMp~~zfLJRl4_Ta2aIuPXXXlVsi_q>+F$EL)gOZCc+u*h@?&kU*U83Etm9!Za zV0NygKNC^)^s>`io*A>VCGED4Us55dF*94z?pI99NC<(_grEV#xZ=Auxa4yiyzQ+Q z@T}(_<%W;$;nFKMx&9d^K<m^oF;em>CLTek=}G*3M3e((R-Av)Hox%7Yk1C&9c40B z458bNeE59_c<S{hx%!&5or&w<Wcl15JIcpDypJ0{yU6v=IKhYCdj<y&jd|^_-A$)k z5u-xNQ8k|N!zZ}w>-%`if4-dW|A8fnN|{aqAO7G0y4}cy=WJkPNY*9mWOPG|tH0+2 zj~scJzkJt~eBm?eeBV<~vbEObL+?MxC5N|o+7F+kutaZehBGfX#Olflmp<-pjvk%o zumAF~>_2#bD<1bP?)}C-&bwsFo-<bH%}yaRL}6y8&$JkzB6RyX8j?q^fkq5!QbYw4 zp_*1?E#bM(`zF8l*6-$z{`6`tyu8Z?-**PD{ZDtY_l%0k$&BIll&3!JM#{-kdB^WQ zmWwXyv9;0T*uw{T*7KKm()D9>m}6OBIv%pTy2SkaJX%)3l=+zj7WXW&wzke@vCXs? zQfi6NWl~nm?;G><=NO;(z_r}{<@0#jGmfyeJ>rJHJ)c%L@!H?Mk5(&VT8!ytIsF-< zKU=ar-at;CB&EoF5JUqZ^_l4u%*+%>UC&%q_>rGH&ev}5^OiSUz%@@;!z}T@x7vK+ zvlr89m+afSNlu`O300*(Q!z7JVYTsTIDe&N7{<(8NpDb*k|V`U6!7|IJ<QP~UEcoN zmvHG-CkYB)y>&NF{DBot9P3a<p-PH~Uso}n_3UFj{BW1I{LWz>d*vEeUbD{jcFu(t z54rN%P4e6gpwrvRO2*0MHrM~q5>QVn3`(Q|1CvwH#>NSk%pGN4Y1AKBlg9v5O4kci zZm>vjBfq|HLh;H$214DhkTA?V_0J8Sy26lo#3`uO6Kp+NV=*x^D5=`@{X;-fqD+yP z%r7s7ivQlsNHI}G@2|!%6=~i>*|m4VPyg&ayz>tq!_8mV%`>0%2zi#+vuDB=Z`s9@ zpL~pS&))_OfMEtE#_U|l%%CFF?;rwd@T_M)z_;$6<t=YH%x}N>R`OQ-Cm=+qWsO-y zG9#7|(b|~;0?KvQ9p}OOXZf>tUBYKSeTXM~&k}2EZ9eg_Gr91>b)Ni`W4Qbhn#k2v z*B;}6`)B!!KfR0_KX;H_dxqR{(;*&r%@RNQf^WE!nrdebAi=fQ9pmBq7x{}ny__$6 z{t&zOO!&f$`+4k@%jB&JGliHiHG&C5;hHNS=EwsJ{LTBH#Gtp2PWfKORR`5O3H%*q z9z6lYC$0K>i3y4lDCp%~vby?LRTShJ$Rz_=Xa9lMbNuKVIC|g5nVJ71EZb(h@uO7b zne@(honK1?G3d>HoN9a>TgTo?d+txM*h3^TS$`!+MV{YBvJ!SG9~#J%?#%nxTKi?j z!yl#HzK!k8=hN<fp4r7;0}B7Y1geS#b(Nnj(Vu?@8z<jLvWluahge*}?7rtB5<vxH zL~qZ}GdlTJ)*ksd-MM!%-TpDeU}o+Q7;e1~%?b$Ac0-BkDzN3WWwPV6ir^84W*=w` z-bpOaW4!u@RISgD_dZP-=gC`Nq0{*cNI{f{m{;FQmT33>n5sITjn#KB>HZHOG96z} zr~6k_)geUc1y4mt_ylxIr|g+Wn-ACjO50JHr?r3SSabaJ?bG-FxzFk6Pu~_!NrV5d z@8%=;JDq;)J3rrfzBRjh@I#m(btp_tAW>hgBFi75)4hkFAXFejU_fu~&j~ulMDU!o zidOFyR7NhONr)<0wn}gI!{pgfM%&M&KllW@_Pv(SzMW`Zo-Rp3gCN0?laQTcX8uFu z`BAnup2J}F<Lul2%e32fft0k`U&PESf}jCJk+4j6@IkWt5hkM_rkFmKsyvIVb&_`X zF5Gx`2Pau#GPwq`HoeYm%=T|~VXaz+T-A+9JB2ce2pFUq=_)2?G2Z%q%reU9MW=l( zrkGwtF?|dgw(0k7K`{)^Yc9suQBE$QoL)>hxrlOnG1c?}TJ1a7b=J?(AAAy_LQH+- z;P!*`XFrLGl4(wZ_WN86S1@^g1d}abNX`+6URj6iMwCs2<im*}IwiE<gV?2LSOWFB z@M`|vxp>v@eu7<#i(Gc?V>$cWbD%qbl!$&?W@aOw`s98tecX^e`$|0L(L?$g;G)A@ z?A}{};(c3_caz_E$z!)@_X<igV)Ds^=UlMLV7>rRe1+r;lYohF<r7Y_zLxRP_Z;N1 zD>wL=*W8DwB0&gwhGo9cQ7j`ND1v&Qi8!OweRbxU6L#&bc>lW(^5Fel9=xx|-FMCK z?B^Zj$6s;;0xq;MR#!Uw<EQrUyq`SE3tn;rM7ZUqd0z0chk51C-pB5}6N34>h2+t& zPDgplQ%-XKeKUOOQ+qk`aG&+H7SDgt5uWh9E1Y-nn1g3e(4a`j$XXpby&jLdYLh2? z-$@?6e~#O4U1a5ChZny12rqv5!_3Z=fRX2c{!HKXR+e%2ij!P*%@K}1vdBGmAL7CL z7f4aL=;9%J&*;+a^+1K0xfu{gp0d0}krF-!2uuULK_ATms*0HR6$;(Kn5!<onZLW? zv3%|JUHro9?%?c8Rw&C7Vq`QPl84CCpILGEij&;@`CSYKQ(pV}uk*wo+(v?6g|WJ} zPO2gc3-e%8wzk&Ev||6hy=bpTtJ9%~k>!;Yrd4A1?p@>vqm4}t9yrMlJ!6~cq{o+U z-oqmg&v4#_xAUBz`bRFkv_my5Iezpwose_zz#gQNm|3`!Vtbj)5;K_*h}g6w3k7@k zWn6gSHlgKooOg^LeC9g0+|uX9PcQP&{Vg^(a-RB>&vD^}M>zAmRn9*z!&+@(O5`E2 zxOd3e=WIHii5sA<m?IkCtjBCJySPnNc@&|YcW9~bxT}{rbnb)P`ITM7D(4q|{Xw4a z<YjL7=swQBXp6&-+rX*<Q3V0bge$*mjVrI&;Eu1)a>wm+eCwM7LY_E$`39k74#wh6 zh^X?B_wVQEkuER!>4$0e5}5`RAxXqYc=<sC3{<=m#Ca1D45PLx@rXx4f{-i{V?tFZ zV<eXD;x~4%)f)|nfcUwlJhb8Ik14qk4~DAXIo5_DgbdC;Yr>&JBM6=@m=F+;E+XpJ zO1Nw`D62$Dpc>Fx7pMdT1A{XUjd;or97jd?!WVY)zykxWzIv6P{E7Q{*PmR#>}<)! z7jHvwM;HN>#Dy1cv$(6ILGl$xZ?FBXWv0_WOt5F~*xwcB83(_dCP3@HsXGYo8()~p zxb)IBu6z744?Q@`*KS{6b*0UZJnsRX_kwTH>rdUtPVUJ0I|+v`UE!K*k8|%g=UH3n z@rqa7!M}OV19UqA)Q;)SfcUUpe%U(LUU!^t-n)yHlU-i+syq3?fAb)DD{{txP4*qw zax$nLyO0u(y<&~aF8UH*zq8Hq+Et9>6&M*ozC@Ib+K^O0NOed^L<u1yH>KO@uz2wm zs4AsQ5HVOi&U8AVojt_N+y_Xq$!Pd=%IRg~ov$-{#_PyhUm{2#NFY;CiS!0Hkg7!{ z8!sRh7h%;wdUJn9Z{}~v+TWzpz1PP&C92646qD~_ZuhU!o%<W&^dhR_BIb6#p27U@ zgKnK7Si#eCgB!>(m1wwwEdMg2_20m(&%(ZEq50GuX?3$mvlFxjA3*XWOt*i8cK>gg zIpddTweCQrq|>c!ATfjr!^qn=V__9U@Hui$OGr)m;xq=4tn+td?N1SlClHJ8p(-8= zQj+I4B2wUUCzK@Ox;Q1;-G89n`3%MMDOhSTH~({Vx_^dI0$)MH5d^2dhV>Bzz@mKu zDDc;FW<0h1o%_wNPv1WMlkj%>v1b4D<Nw_D|8K39SpU=Z&;8%ObgVgk`u6Gj-}&*; z@bB;37Tj=ezV)>I?6m#nqd<PzepY`@-)_z~`-A-#?fWkPVvf+N;e?4dH5amy>b%Js zK}_|e&SK{+odyJG5E?hcvYN=jYz__El;wn`T$wY03(qVIh!{=C$`RfHB15#PKVJHC zQ2G5V%gFMaq|RJwidi2^8LAa|C^064n$%>6<T_v(nHoE_&CSc>0eJmpa09nCyzxm* zX7%ciDL~ajgQo;#Ss+WvQ94QFSqYh!hpTYJ8p}ZYj_!+sB#J7adJ?nBQx;Of@IF!L zBO;j8eWkUqm!=X&BBe-KR!pZ;C?KXpDvcN`s^~fO34cE%xx%dbE15rUmR#9(&F_1l zQXc>K$8-7hkLT*EuVGCBAp}zJ$yKI-|Ld(6am!7MyzS4wOt<gpS55z_2&$ff&@>St zOa7gLzvpmTq3RP+%c5X1@~RBoevkS21&SI;G;yV0ZWZLYvM|#o1jRDHUS$<UQ6Lql zDr$;qAk#XsLqnH_nGmN+S&E~RA<=4iRUZ+5u9PD8-80XB`nALShd1BL#h0&Bl}1qo zI-L?th9x7EV3r68vOK5ZgDT~eWnfYT^4!pF>DN`Endlr-BH<B`hCZ`sY^(+bJ)z$> zqJ6u9uN0>*6+AD!ASIZNx`Z6^EYa%t;ytm7fYNH^l%t8~@Hc!=^Ig{IGCMm9xu<b8 z=URDSV`GD3-@1>o3|N+vw<1-Rp&AHP$#66xZ*@5D{PU<1eB<j6LaaFVynXa$XAx0O z-uDP6PArjYi*wICmsoAFyu6HN1?Qc69@AEbJkQxm1-F0YD^ykF{PWKz%L4b`{{XG5 z#d+tRM{h9C=BltVT;^N%-^$#=9u6Nq%+`@5?!EV376$_kAHIZfJLjuky`AaS8uRn> zoU^zHz}A+R=R9=I<+R&vip=RG*0N?aQPx(5-23$hfo&E#Q?igz<t_H^-OJp8vxu=m zrDQst5-ibbwP>|ke!Z$>b8{0@Usq#&W0kF~Eu@I-T3lrB-h-^Kt+9OK1f!v`xcdNS zp1r`k|9lUhc<%w;`p(;!ouAN7Myu5#Q%ET>jWs<PtgpA|wT-+3?Y!atTA`zS<BmSB zf6Zn5${X(H@lROyvvp*%S=qTtF6SE=oi$pgZc>LZ+<q5o+=E0_uPdOW=utOSCDajR z5uY1o$?AL76J&$mH>E^XMM7;VsMf$sEr*&inM!cPUut<=xnmzfAf-ezcLpHFNKw=i zZY7|>^+yxk77@feGN}ezTLBUb1|>m+m6bMcddp#6`qBru<WjFX7ZsYt)yxdhI(^Y1 zDJFdKwaX1NmrG4+?wL}A+TpQeI}_dAQOWTLiaQOJ!Nx{Tw`+7dKBlp1Dm#HTIs67O z`6Tn<wt@r(gNW7TW1-fUb%cb}7??f>VKfX>CUko>-PC}RuWk>ameT>3$J-|#<d$1* z<#V67jqzxcG8M#PouT-6P4$$X0?1U!vK*vMe=y*ZXFQ)>yLM6KW2&lT{fnPsX=#a8 zblEyl!^!~@X`$I_J?GD>hGij;VWgCZsX`<tr4}iP2S{`irIDi^QA)`eZoYuw#%tJh z;5lfv1gS$xIUzK2K-{4X8rZ2Us76^jaAszt6tLLBFf^1%?sQpb+|la|U}ABGwv7k@ zG}ZlC>#Hi^&RlITNfz+*rCOFJALB+2i;7>rZlVF=9@NGdV<e3c5lnoYk0Ke#+};Vb z{Xy!HQ1X0SJMI<LbV5vtP<p>t$?bz?+{!Y(2CoNO)t?BI-?4xCc5^<Rwjb;L3b51m z<7xX=A8QEqJGbp$_%!YG{qH>2wExv(-`0GD{*|{_3r&?kvIOD+tq}|j!^9Yg2@-Xv zw-$gx!b_(q$&w38btgbXNCF}N3DI?;8L0T=HvF7u^FLP0r$n-PF$~?n0Krp0T$30f zs~rrLQ^viBt2-HjCK6C2R|HW&#B={u1X2MMR5e3X(G4p?eZF=85_Ou0x{)Y&C|prO zfRMZ4s(8OCj)H4_zf+;(3X9HDikF{59Qh6*VFn@@NFob?rW%Ebp#srr6u}w=<5z7Q z7LTlePuw<8#od2zu6#i7vHDK_NSZ)or=L?+VtGYx5J(J(sYl2JNQBH+6Mgxs@8g!6 z7WsePaW4PvSMPRZ_dj8~CQrC5664XBV@u1FRq2ab<*l9f*&a<uY%tini|KgGa5O?x z$=em<sv-@i4ElX?@la<FL8Blh1U#xCc)x*=h$K?|+D5DA0>EN&MIum&de^7`8HFU0 z8I!7@FpyknwLn4#O<u`HQbO>YU=blkqpB*Z6p<k0d98>G!_&Il5y9N}X{jrkQ1ev? ziQRia%$ycYNHHRzHk8aK%T@JwYO9R`S*v0vl0_iJM4q?Ypfl*r3^>^Bu)VfHmSuEX zUZtlJ0ic=mC*r)DVxrsaviIO2hTGc|WeEgYd7vyyM2$|TMYrFhDhndU{H{QpmQ0Hw zx|t}7g6VWjo(J09oc?^5pgHTq4PsG{QlcG{Vlrmq#7VMAB;+vDYEdPSDtg*g%t3Pc z3yGu0j}wQH+1)UZNb0uTI5b7bkl~cc@;aGKS=`&Eowq290x2S*i8P&fDoiT_5|u%U ziB4~Tt)HZ<j??RPnO)pVRhEpZf~}&USJix;66>pLSTSX0W`^0>StJ=t>+7tpuF`6? z==FM}m{?m~qrF|wPs&>9hHNn^sHPJ(HkP^VJ!kQcAK%N5|IGdL=cbqjFhR368Zyf1 zlyNzALpBf0?P|tHh`9VSGpe$rC|kVcH!tG5zHgbUzI%fxxS{QX>M7AXvdFIkxJ)^% zS?$0cN`e3YAOJ~3K~#7)<w&W|8-hqclha2tDG^*w0R&Z#06-%EaRl7?E(?lghKisl zDS4_9a_ZS420{&p7_mw?Q@UeeQakp^z?3}mYIH#rQLt3YH%nkfOy-808Z$GocD?~K z<`*Zt=}ljusyv$LO?J?6!Ffjvn)041;yN)V66*hi_ghoe6KZ*!469{vibhIC79d$7 z%L5{y33e@d8j&}TjzbM>HJ+FmTFbg#KO#~Ay7R0}3R*)G(FE64Zfv&t6~3&RH;=?n z%Q{HZhH#abY>y}>6WZ;Zq)S+spviTs(vXBA2-Nc26igtac3R4ccHTm!TNJ}FX*i;X zP>}$)ImoxktOlaY$4v}W3^h;v%2GnKBxyo2!E&f7#msF82R0P2`kPZUtrJAXL>~f7 z-OdpaV(kcF;?6CAfCNCNc*Iod>w+am(?i`~DgxOyB(Pd<m?iI%(^^XII5aD76J39+ z)%J|xeP~8aIsm98&?QLbPoYw)uG-PVpFu+oB2*S33<(I)6wk>3g43BKFp~4lqwU+; zqmBSj#fVD62+o`aqF#hdMM$+mNC?r4Xodzsb{q&tHp~n~F^!10U}}(0=Z)GZ)<iNl zdQNXa8^gXLMmNAPqY2G|GeoZH`K3F2<w!z`HIf^oR!B9Hin(B+ejdY1f8x%KGq6$O z|JxYgDiL3>%&Qnkas}Y}&5#fX8ptFgri7O>O|{r?f&6XnXo{*3W5jiid0!`LB)}2b z9f4j8wdNYlx97qeBv4Tj<~?HxmEeehC<#X;Qu2^~ExoZ?DM>vZW<uT7ppN8$V0CK1 z{OkaW73N^t&U<B|3<f2?@s>My)2|=q?mK3=@X{^(zfL_bwE_jjtcC_GA+4NZG-P|Y zO{^lFxjtFQNHMXsy~VJE!C-)NTW(NRC1#09H6+EvW>Io-Ralr`q|@mz)1AREw%0e9 zUzkS_Bq>Qf5>tpPMAY9qRqjkCYT0P)AUz`P=;oco;+_KX$TSL}9)DL5f}v0&u0HaH zgH}e7AXXKUx#1jD>2_NrE5RVB^IMQwDb@m7&1qBA={P1o-}I-3tk&H%T_mS_smtt= z{I_BWpSbPgQB|I|-tBY%NcDJ-IS+qZ<Us+9h@q{V&g_6z^!~}(Eq4s2Q+oZJ#XXCZ zm8VcF?%Tu4@g*iz#Nsw7CVIV`c4vl}UY}eI&6RdLXQ~-1TdVZrl<{~>Ta=CpmbIDb z&oY@th=D{wIUO@Dx~M8En_HA-WSR()=w>Z?tu~!JCl7(`?ID>&Lf&RlR17DHqD&-h zqgf#0GA!h6s;VR=p{!g64mXD|Ety?dq}6h>so374>J)U<<y<iuk;Y@n$rS1KkyhKQ zYK6dLGQlL!4;d{L;&ehanqZR&sn_MUFYo83o6jd?TO2=jCMS;V=Sk1Li$j-wjqTwg ziwldGxdPuBZ?U?vN>NARG|OnUa{Ap4RgE~O<VI9Xk&nD*H~ra?7yaxv85ag5LQtq9 z07xLqGf0l0i%}aXKCWhNc&RwuksO?;_;wl8R6DZ<!IuO$0FW$!dSoC`)2t<2+ITZ@ z8D#kHz-4`EkR_ZCk{Y5AEF)GGSc^P&pv2cD5D+0J(A4s`RHLLKB=dJ_-ix3hLa62a zDM<~QCwErB<!-ax^h<Kyh{<JRGDFo+sdWf|i97G&{iH4qi1>ckxfWnbGC>i*pE==x z6}Y2i7VEC?G4Z))4Iq?25{Oa8<oqAJzsqE<A8>k2;>K$;0!@TlP?DKD(SRAmlu)3E zB}PV-WCsT}gH#*MCiUnEBynAC1WW^o1ZrMtIJzxRRZ~n7WPV>GfeKi?Z~nZN+yQVQ zW`wXa6p$hslq5N-g0CwA7`PK9sBWO)7)C`j@&43Asv?HCJ`d{sx}%p8hJrRgTccCG z`Ixh#mq~7uG-X;{RHkOjb*>2}8HtFg_^RJx{(d6Bx7!Amz&#M4?oSNN45|4d)PPX} zVytM^Z;15-VvSCx&Ufy7paNPU;>ueHSc+J}dG*l-Jn9Glj^a2Y)=d=yd=Uz0JWwM+ z&;}<0T)=59fRKu+8W4-iP@ST!qaepnZM#6Ng=tEHuVU%<6m?XmS(!0LP!-(lKh>g{ z3p8<tlbS(&I;l}e#NmX11tZBR1Gln7z>OnOMFba6Vl_$+(Paq;h>9x?Jg3$j8i61P zjy!1+L_PhcsVL+Mz~9RZ?;9Fq2S6~X4RC3Mi_`)ZRJ0ZpwRjRgZf2M|<5md}_3MRN zl~|%ur9hBmRMD`?^ZETI{?1U#Kr^o-A_C@SEl?{%@86JRge)WPw22tWDpVbP5EZB$ zrVB3^^6S6#4IX~D!-W@akQ@L<>+{X^KuHN6_~wABicBqV##!4GRoqD#SQyMQEhn5@ zUSc#U$TU%I^l0T7Nh->+po~5TWjq-(91gJ}a@JXALj~jQ3FFNnv)vga6M`BR0$al& zTd|_s=`b_Dz-ViW9FUkOM<dJ<A<O9ZdbIMKvh-4}vkQ^yf8-J7cTK2D1C$scL_=`{ z-6Vks&B~2sl_;Z;sz@=NvRQ4_`~y{-(&=<)wOZs(POgY8QDahmO-rcwWIHogJUbkk zgkXV8Y9j{_5vOkiPbGk+gzQd)#+<(B)b;A?=Dgs)v6O0MkwE-;@=lw~S_EW=NBiA2 z<z$L#pcOJ&qD=90k%fgtrqd}cg;w4oL{D|Wl%zt?7Q6QBXMMd*N|E)=30an*t-!v6 z2ME0$Su3Y)E!yoav8<@31+3TM{qcwy6$ZT-h@h#Yn+yF;MouJ7CoIm+V6mW|E8RRN zP75q=BO=Vs&SS|aqfhiS5k}Jq)v%%%4QUAsI&CVOBAGE+U1M!D#?Cpru8b8JO(zVu zw%B{dJ|rkHCZwf|s|ga7$N<CV3xvEyZ!n9sbB-<dIQB>nVUFDgHh9_3eGOgoa>pwh ztB}F0c1bC*y0XUF`UY9Ahlr4O+L%G6fmW+UtR{?xLo6nSTRD=3{NjK37X7|Z6^V*S zN|CLNO;Sqqdb2FdFOaFSwY?2xq~9OZGEJ}qVv0*FaamY5GdE&H#pP0MG>HhP%YRQf z0$;$X{vEjCByK?ZL3c15VfSN3O@GZbfq>IBEoD@ewTul2ibz0`M+h3A$jl>tZkRd! zn*o+lRS?YFFjmEI{)K;P5UB`BUG_u5V%(9L;zxjl(g0v?K!f5p)S6%Yxdi7^u=-w= zr#V?9;r-a8ZiYJQ2e?sZMyQQ$#QP%;LRm(9!74?PIp7d-6e#OdA4rH~1gXs&ai?*o zNpd@p+HtG(^SG+8kRzQA<79-8lhTxC;kktEjIWPXbIpWVBub*PDHVxIj6@>uv>B0@ z0E&UC(+w`~e9<_=NMK;%ednpgO|-^pK+DHC$K|A$%eaKnYJVM@c^9hN&f8|VvUdAH z5z<cocxxti`;8s^5ETR;bL#Kf?)G;!e`^uJ*ORDQ5}HVh8mM}j8$ja(H~{3oF*7vQ z^miH^p5iNT-f*YJlHs}`?9f&7j1lv(i4Fk7dYqCty^FY062xjJq6TIkZI3zv0E8S% zj($6m0*Zhc&<MIy`D|Kyu8vzZL}p+aBF4tjn@H6Hd(L}0pd_mxLRFa~1i0d8>hL$7 zc5GIkl!ORmbq={B)-HsBooXkE0kJ$pjC~wYa-vQl5CPK-BtJru?HZZzTsnZ1BGu#) zigFQ)hK7@5oo^r_NM>X~9JP`J1Q$#-^Ox0r%F%@c9T5|B@~@Gs^m1`Qff^w~u_QZa z6<M7_tA2l%Bw)!yoQAmI@F(>1%{B&jx<`ZH1Z^e(1~5n|kWv6ss$^J-L=)Nwh&wuF z<{`wo83y9xDh3LuxDf6HrI+WV&>@8mXiicOGlJ^^RRt3+ykwj6FWJH;_qt*<tsS2F zc`ap_1@6DE&pZFiA)a{sGC%sVBeW+GDW_PcVz%9<oSA2KeZtoCC}u*QlsGEc*j!>V zp3s?5@;s;C&KPf%Y#(3dSWywe9930Pj<=cV4cNVFK#T=dl`|TRSR0O5Nr?lrs48O` zM-)ZjMxq%l0#?DGw~Hc9iK!%O7hLzfJ}G@XRNCz}y-o{BMoZja3MRF4=@m?3jBIRd zkV;qhLIGwJ1}p0$I@036{{4sqL~8+_+)-6kBFQ^9CCWyrh>|RkQldeQQu0x7!vw5W z8d~#dW5_3QdQ&k%@CX*vW0VX7Jf%VL8+$WTf+!lCw^ZC2k(xq7R!2u_ggK-HDKQxI z==Iukvlb!C(C7|RQ@XRTNN3Qa9etJWkRS^g8a&dMIyo^$A{l$nIKX&iom3>$MjShS z9Gwp7Yhc&H96?|hM`ZmB>1324(VFSe8uXDer#~}C*6I-Ql3+P`p0Tmz<0*L;6(I&? zdpe<9+Gc%amAQV0g_#~H_rA!=iY!!YpIl*Kae<IKAFHWn4<@4>a>_hlv4o<aEl_Eo zleY-nNPm7nHV8cX`A0bPm@l)rU2@JjGn{$mK{n$&Md|56lkE}RZbnLphmRivU?%g( z#JDPv;gG7^XJ%%GSQcz<Zc~m%ge>C;-*Xa0Dbg${MTXM}!_kNnM@}Fj?BAQ1?e~Zz zpG#DhbUH0^+_~4>bF-(@DUE>@f;$GOHdZVdXrQVRBFV=~1rd<oXycCIV>MkToF2ge z1RM}Z`0-|40;uK5DZ%I4$;cZSn%tOyQ}RWq?{5%PT~3=h;F1i#6GQ~0md~fi9L!}N z!Jnt90g@2(wCmIcrwAg3sJeq46QMRD&A<#KxExo&BgAg3Rk#Brf|q?YPa)K-M!3xl z=YUX@5sML3Fx<hyz;#$o&_HF;$4Nc?umX}9S)D3n=8lh-r}nuPaB3`6n(c(8Iu~CJ zHONDNr1bMHb0NnNd<F$jI}<yA`e}XX?<rKOV3ABgx@{)Kn93@zcq0k|4bqMH@5*Sk zeyiz31SDa>&>)y8k`h%kvMfh1mw}>?Y6mcTgzn5En0acOm`4tL(Jr@b2)aYhqHbe^ z;4kC-R?9i{-+=j})Ou1=bh#<s559n%5X9{i2ZT=bPmtQtGMD4vP7gHnE;MsW00(pg z)Lbt6|ApEK@c#j7d4H;<+GY_FUIof+CrJj4qh&@?AqDYB&!Y`^)DZx{stN%&{*&!6 zwh2tOpFu3nqBr*rQmVip)nO;iIt<tTEm`Y6y0agpN;90e_XfH%H;{F{!t#BeWd6`| z$=Y{15k`QFV*S<Rt%qpMe$;Oz0n(|-Yz@O9_(adzQ!p{iA{CC_ZZ5xyt<~p}QV(#0 zre<3Jvi9Bd_WoD$&P`y}=mUykFB?n0LOH$yaFk88An$&KnZ5s+kR1oy;1)|rZIoN; zGhBHEqg5||8sj{w>uA_ye$Si9dtc^s){Ip6Dy*)cn((EF;bA^E?xH0ZDk4lK=d!)> zA{O?)jV$-M5oRtReS%M-S&6f0mR#XU<r99Bxe&pqg>Cap>9lQV48^8-jep3jB4|d| zZlQUgC@NGl^0tTNeW5u=R{*f&{VRSvskoM@Z)NrKs={CY$v!^u!9Be3_wVBWeB*hX zT)vWLJ@;->s>m`SRweh`-{Pb1y@sp4`vz#2XewAaxy<Iq2}FgEGWrV(w1O}dWwRPF zE!*VTJj1eNIv!Grk!MPZC0!ER%O@zR7M)H9tCX#^O^Ucqo@MmR7>`G6ZI3B7*O|?s z-|sUW4JpTCD61VITmoq@OMlRZyzR)5HX0FPtXN%Hp_oo-w?HMMmHT-sE4D^MhH1ps zc89%t_jxo)y{if_ghXEVo4BQqs$sZLPq-2_GlJ9zk*h$6o}b(pSf&}G;>Ib^>U4=I zHTnkB71xduwdPy>om8-7R7A8MYSn<KBamnSRUGy5)EG}!t(9tR6b64_XnE=Y2GNX8 zcLqlT!7Pz1Vj+-go0Jk|S<%)&=yhFwOvmh==`&r;$U}xkK_g`C4!ig5r#tw6*?aSM z>z1m%_cN+$Hmlq1+rQ_W_cZh(C@Lb@p@>S9Xu>1$8e{Wl<SJK#nyayi9b%VgG`Ud{ zF=`Z16l_qVauEd)r4a-?aNxk{-hTIcb#u<D8uy1W*M5)Y{s*4<Jp0+*T60y^95u#w zd`DC3#G;^>OeiN~bh)H+4rv#-!jU?gvy(tom9)X+HFgaeTT<6hmx0?ZoWYd_?200A z=RKD=KAti^I%G1e@iHLI77RkkWH2NrNHNkLAEC>Jax|h09`&}@%Q8^a1zH5+;)viI zMs>r-J?;|`5thq2?Yv{YSTGuoAx9o~@M9eB?y|PFMqL%OZA+X_0SKXBvA4@|Hs|nQ zpW1sS>+ASRh+WI^^&3V=gn(-!ivz1$IJNa83h$ULmMrEANRcyV&QOLSIcMhc8EtE_ zvH~W<!GPgtKwhQ40Gcy7Wi%xsFsw_Q^Wc@76Nj@SLMRATP1Zyp;1Js@BGBs(BqQ{Z zEHQ^*1#}**-w>-wGVOj#|JYY1i|IKLXP=>_uhEP+rRa-g&2A|Ud%yIbm7&+o@cX}e zJHPuo7x~fu@E*3d8x$j4R#7?y5SvTxfwd>#0Y&<~86bhWbh5uzv++LQy*bgb>p&7d zl%!~NVIro>-}#s4xN)`Si@x*$G~2#|h$@c)^!=E6Ao}P?w8!+)tyZS_WKCCV9OEjY zq9}@`2PT{sf)Cude1qlUkl+(3&IoyEK2$Kh;pG<jhKPM3kUhg{L{*Q;6oj&*LnwzM z7F`5yV=!XM=tN8JO=J?CSQCvXX0Igo_7huwVUxXUFJrR)EBJ6<e~;BTz>APk1IpR# zs|~TAe=>yNOa!s$lAt65&GdFLn_Sv~gkp{pJ;+x;ZQV}NoO|T&w2uPx&jmm;bjvTM z?e3&p`+rdFdJF)oNdL*9nF^}WG8C}q47Z+}-P0j`>e$Mk^4K$wUav_Su{iz?%JTJu z@XnLZ0r0A1r<{DqKl1A_M*vO)cBL3Cr{7q-cJ^$#=BW%P{~c&ez*nwr4lItJPdRuW z!;Rmg@H?D;(r0k(!+%6R`X_AM@!7cWAURv^zlh+dIi9@$P48oE?GHfv6vSi-K}5ja zQd%N%@{}}LaVC9{P1l`4+?4GL-;C-46-%p02q`DBJ3xx-SV5Y>*5%=sGQ0V$AT8^s zzZYNZV8uV@*tz^Y>_7b9*t-2&@Z*QcDB={CA-8AQeejov-5so*`YFo6TgkD;kvZCb z8M{}08a?}?jMm@K8$5?%9(^LA5?BGYEC%N6>gxh>0u^F&C$q!nGdc4=Ane+PRx`|k z>ow3nP!7qIj#F@AfZG(K0Z5QO5@R2`3hSd5ky%BfPjW?5q^wFxfwe(Ra7qy{0N`v4 zPWpTFmpw20EU@Qe%!;v6_8R5OzUpB%PcQlR-~42r`+{9w^tFG>)en|b6|8S<p-$M@ zS?9g)xX9B!X@Hk0P7+=+nm|-=>W~D<3BITZMT;*$!-B|^D2X<=h<AjtWQmZyCuE1l z#P0PgEar1G9^pqr>dJvOcp7xEWdGVV>I)Ze?UFP-qM1$^3<vn4qKh5-yA5r#VDt7n zY+h>5A%lJ1!p_nN5?C9L=|+P0fvk?A@Eq(OaCCgY*6A}Sj%Dm@Eq#F(N0%brdHQzh zBn813L#tVFCeI?MD9goyrfC>fHAPvHQcD**s;ZzUYFbsg*pb_g6;o;B7H}qiDJObA z9H-g?e*q_~TDt;RA-4f6)b_N9;QJ_rrH<HoIOkE#CpqP!;JhOu=13F)#SAC(pX;0v zRnDWXBUFJrZ%wT7jG_<*lYn!M;Du0l2BR_cU_=a_<iJ-YTj$P@r!%^)BSr(5zJ#@{ z3FFCt7!x5GP;*_wFgRos8BK<4o?gd$Pt$b7E^_BxxAV|L522|c$0fdT47>+2aWSP7 zN87d>KeS6d6-H-jCdCk{Xu7~#l&=&BC_xf<C4>qm!uF_SzITMq=7fz%StgoeE2h>I z33*BEmXxU>tD^Ckx~@6e-$NF27z8GREnG+(E$1v}Eo*CQR3dau!yqS$6sdiMw&qZF zT_SZIvqeL>Ic9HXkNI*&+qRTgN0ppgQfe4X3e=elbX`Yt+)`B)(gX6vVn$Jx<W`w4 z=3KjZoe%<}@fO3;$Q&XZBnaLcp`nUHS#^CuVMX9T1~ms#L`<iJTPYS<6)zAYXjVGR zUU+dh6@1~y+4c$|7$c4yv=sv6MAup;x7C$%;_Yug%YXa1$FsiCkX%N^0A_F&8Ozz^ zS`^DU@5cif1WvT!N{?nCrff|EoUrPW<O>0mtO@6Y)ZZ)hEVUQm1Ml17!TTqC!52S7 zAfw6&1HH1%rf*j|_txcQ1wi{X#v;yO<EM9oR<&VX!HMhdD|qK{-ZL!M$en{cM&rmF z3ny5SGOT9o0J8SOF!F4EJY~@-Q5`N+EE3ei5l7P*Xd?A{GUsgeUo$BSnmrB$2W>We z;;=QePgG)>FrR(_<>=3;%MaorNH)0^5t|UbqliK;M_~355tAY32qECbA~QLIa~9<^ zg2jL~x0sWDKRc`&TmQOV&Q8QZ)oiJAD~nIkM7Mknsr`7$@y{WyB}+z8bJo0(E&yKh zi7ZHuX~5*(Uf{@C@oMw9bskJ+6{)gl?~r!!MFjt0isD_UD}Y3{FeaIF;zayozaDc0 z;AE5ZTl(a8)r_Te*ro#8NC_;RM=f1QQE<j&qzr54z73?qIcq~^DMO9|P<4nvZyNdy z7a=9G1BZiNK}f%8SL4a5Sacv0Q$n=^Y4GLWg3QUbcY5UqNyWg9f)9er>l`0`2}N~3 zTNl0s$37y$pezvg5$b!sh{f#V@o9rv9wui;%1X@2&1*jZI4<1ve8gWPrA&`s*gE$T za(oJ!F5+B)>lL<YA}c7Cs?&EUH3qAnmnjx--tr(52}S902g!_;i>v2jVBWg|3;7xt zPdSlOHs(UDFex}ka)Qf3)=1XOs{4fHj@!?I7_$I~13P_CSg~-E$%w()8WF*|b%1k% ziXbb))dPR}c}uT&vzQKDIRc<$fhRs`&JX>}2k25k>{{v}45VT(s40p-=$#x#W-=O3 zl><aPk_16m8?Upuwndj)#)B~zFJ7c9OBQp-^u{hO3d`w|Bn~MYanTWcfwmokVU2eU zi|z=TDZUWOazs&<h;z*5b7FH$YNk{k(sG8Rj)EF;2f2^(G;>s~?PrdPW>dml+Y)<_ zk)^~J6^mRDGgMW@Xe=zI9m9IebUr6|&s-8IM$&vn&Iuot!C*ib^lf8%8Sc77jFHkS z&U;&K&5$#q(6&pu*g&=}GI2aWyu*c(X1-vSEahW798gsit_L<`!4nWo*4EP%oI15l zb{5i>zWuMbWHO=-oFf;#G4FxT>JnDK9!#h7&)*4%L$L9KMak5gW8>@%IJNZ*!BLih z=&gT0ZbH_~`u2H>5D4`Ie1%ILcutC?opV&>fH*4fIa8_<QzD3?9uA1w7usb&4RF>) zNx8j^_kl1PkzyjaiZFmdIiMH}(Y8Zzh{F1KLducld`4^|i^ZJg=!ha`wkGS;zF>yn z6oPt-UgVC-!K51Ch9gqfQ4I!o@9;TOM5RhV)8f01nvN>BbkiA<Ga-SkZom^*F_G(& z4YoH=;k=!kJUg0ElUb`OQc<#378Iet5pg&Qfz&jpM%re<;&`9Ky_=+H?ND(J?b%S( zOzav1N1bxCyAR3JE*nDdSUb$j5STY}9(m*uj+YBIH#cb8j^PM=QCQ(<R2Iov89EVs zaCVPSnm%(D^>moSp?wj%LlAL2AkN?fah^6s4vvrT6nGzSA`C|(tNjrpM9glPT$##S z0W8yhszz!&^zfLU_>rga>7RLx58k_O#FPpkwie#~z4wZ9&;xj*uwW(UD{Z|3Zqlc2 zo{XbM<=#6qn?s;EnXLj;oH5f1<OKaZdUJz~%0{y)uvRsjx0=^2or|?D%?jD}D}WPW zg>SR=&X%`vrrbh|3`S$b1?s^%p*$w11^wIq{?*^eIge9^QW865cDO(^5OZR_jJT+z z1R+B1vh6`NTW=94vAH?Z3r-bH%4*$>fLzTUjA(L1Nn}whDg>g2R|G&;j*-28Wt+U% z8ad|>vW>m}9Cgk>GN4&Wz1(SX*eTN>Ze@)DjP$b)0c*c&dO}z|yZ(6ycyWmHCm`HX z&1~!@51jl@$=H*%p8+H~9InSpcF&cZTfJi+Wm`R~tT@F|_|yTbNRae0_y6}$|8ZT9 zIRaoO&8ejtIOoBcr<qki1f>Uoz3_NWWF9buXN7l(ly~vP+rbw&X#i6Wk_W`a-Ng1T za#|;Lw=+NfJbd^Vxx5$bmH(Set`wJu3Agk1$ON(1s+ykY6<<ynl@%Z`1L6_L5afu_ z+V8M`<NH`nKa0ua_Yvt>^=2;ol49*0rc5*VUOBe&PhxTW*_^)P8*$+(+Ml?2GFE}I z{t(`O3@0A?kZ@8VYtIyjU~O8(c5lD&!8U(v&(m~w(=9&{a>e5KImGHTW&KfnI7D-X zEO=*q@k6k1_w?xFXqN**_2zyspq4F)c(L_x!iv2GcvOTC0UXA3*zbahF$HeC#(g)Q z$>Y<Im|8jlIS(0+`*qHyOc#s5aHs?<6=bCVMI1RN<_pJYlo2OXh2!y0S#Wp=qtT4r z-AFmA@FB2!FyQ?k81umoRK(8lz{l>y7m<w-6n%>*Rb}jkjHG5M{dm>D)>=I>*0VIm z>UhzSQeu8MV}3ZNEFJ5E63v;N<&4lR30(<VAYd$DfX-zWxxs}J4W5(=7Fih#YN8q_ zD(Z@6v7jtVR=`(NU~gxart1hH&~};Wd<i4V@jkpcJ7Mleg8^-BIhqmfV}SqwAOJ~3 zK~yfd*(?!p)IF<CyWn_wNLOz#nM@e0O*lF_;&^UdcqWBsFc_Q|<${coAgUQG?Tx4^ z$H!CZ$%GrbJLISop@3$|`o)WoBS|yr95F>I8PF`1raNY1Ya3rV+NMDS+e?@MS^;(u zb6!unt@Qd~l}42nRt%Mh$)7RJCO4T3J=16V)#fkS8MY`KMLEQ)wIPj7f%A^BTVp&L zQPq|UU-x^#y39DlTRlQOw(|*$&CTfQkUcVZ@M;FU7EdTDIxog_`(TWp*c_dAT)1$a z!`*%A!GKT}j5jA%z}#OsXUa0*!;nEyQaMj>PzFz_nYf%$4@z8asmj1)GC?&_l!5FD zyelYN0ZH%~Dqlb~U|bDYpNv>6mgKS|r9@Ho)%ZYJmYhC)n!#W|lnyCNf_mr_pB-D1 zO%68?`{M0_-~(Nr6Wb;Apkz=MOplImWZJl-991|6IVG~Q{Anjb*G2ZO?wI`6V`AIV zS~pd)WF#w5BFD$a>`eEWY>X);1=P@J$F<$-xMgQ{C0k@*b8Cy>9E;`LB1AnQ;nW;~ z@u*@r7yub@fY`HBlp=T}!PQ5u;<e`dh4c8*Y)#i0uoIslgPnhqS+&~*OeX?4D+l`p z-~O$i%5$H0g~vVdkPqIwj;a!~)y-rPQcA3trW3ur+JODfNiAg-%(?Jl(KaWrw-@-} zhbBDZlXuY-Bh=pqG9utnu3TQ@+T{s1Zq!U?1@C_68P1$O=HhKrhL!Cv=MwX|BTFKL z2;zCyJI-?I^pZR8vP^!>1}<~T<X$Ia6_(4um4`Oj-5C)=#D~nKyKb<#-JxnWGk8xI zBVE%Fih}Xl8bw{PoHe(i5<u>C%<3;m6-CkXxx}UcHw1<xjrgMGC^j@sak)U<5Fd>A za2Zm5G&^lFm(vE$Pf2-c&OzQJHFwiBPl8<1%%6rbqYU>W{xXhiwoHVqBUFx2&E$NB zcKR%QaUY@l@QDLpx&UGt6We>paTC!YxMM=~E<|>Eo#japQZiyMd3(OXgl7I3kW1>} z+i=bz_+a`>duJl1$CJ8y(0Ch~*GbLiA?|*p{176o=~WRB1*f*gPH3iIi1>#I#RvNP z8paV>$+1Jc$7v#C5wO_203WX6i}xAE01(K6eTFy3I%W(z{X@X@kMw%X5rCeZgOF_# zk<{X@f_b;<k#rg#HX%b)OEFL>QH({1J$tPxEN3qycXu=1{?CYX1P7@*%kkk$S<XL= zoHyyxd6w;y8IAscjqUFSj12<Qk0PrtF(aUgX?6P>D2M|IWIcz|#`64h2|5Sguu7F# zg-SiJzWLkK<p;QS`BypKc`4hcU%_bdm*A3t2oVIudL|p7Kiq#2_2}IUhwtniA{%7x zftwS1pX#bh&kB&;0y&TVt}2irWw3}#X1e!z%nrVs)SV@#3A5|pMkpU(a^_XklRrY7 z@58dT9x2uAUH#V_9eh5jP*(3^wEl8bFJrf~F|00eLdv%3U2lPIjmMj&AcF{9s_4@5 zdB;ay!TT?-@y2)5y!2Z>NZ5A#!EavVD_{BmYa0=l;pi~%%dfnPFMaVfE?qh{CPHl8 zTg_a4pyqdf^CJK1B@eN=Ztd~*4}@R-uebA0{`n)Ey)Yp74Ps2Z<&RJCra!oy-QAky z!t>@od^Udowm?b0_nu?QFTc#EetM!V2VA*)nP#@nvH-0EBA%q4m|<86^&oI`yvOl= z;%GQvGMO-+PSKPINhuX_;ZcobaSTQi#-j<#<q|^2Ak<{%ST<AAvY@IeyFbGIejh;^ zj2I8b;2cR;VR(p5OWU?|O~m0@-`p~Q=7;R<?%Ej#Q7Ot2hjk4JRn6k&KB`Ix%49Mo zRItCd&&{KyfysKz!R`^e2X+E9ArrPX8EkBjVj`xF<LM!{3gI(VRe?r|P_R5crkPFA zrlXup*gk&&a->xQRfr>r<9L3=@%)&@bjHqb$eP=xswz6|&qPpA2^78D$DI51S7SE; zkltPiS$cWJhy_u|JsYZ7k-RF9wg?y8l2^DTpTqHhf!3s)Nzq!MrlO!t4I)Bt6=3fc z6>_JH%MsaSG$x|nN@Z}pW1_04cQ|nda+XV6wsycdIm*I1^{6U~uEo_Q#jr+7tDPCI zuc6V#TX>-!6|lKZjERk{b&@7TJlk8RaWRpC&@>A|;i-oe)u3c;V?xqM?h-<@!rj8y z$icX#h>oHZ%HRm2nnh0JEF^)X3151=bEF_dFC5Jl98Bl990*dPs@9q}DdWi+t{Bj! zxWXH_+##u9=wbJ8pE4AjTc6NKZEaACOza}d<&vD0qNs_n2Y;#@9Uaicj`7AOES9*! zQ4|$x-mzI0l&UNa4(U=PHplojQB@VjFDYrcB&p(@qW!b&VuY@bsFej;g1TOxuF^@I zaCA83WA{D4^k5%y&FSrJ*4Eanh&h`h?#QIRLrh8;oF}z*)`p0HWZKU0Z@=}Ex#QB5 zZ+O`UdE*~m1dPB*8Ox)Nb^z5a%;b7|v;t-xP`oN+MS?NVR%GmX`(JMJEC2IOQgXcR zH#@%WU;iEVJpPDPGas`j=4k)v8*k@re|CY{ED)3MOaJ{TJo%}+eA!ogh{3rTh@)+V z-}{}rIDPh*yYJcISAOXexO!zm&cbt__XsceryrpR$)W&o0(zYYumAO@@UFkUKu!WE zA!LTb$anqVn<?vP>nsMTV+iCBxOu$CJT0Mgq}J9`Rq4$Lt95`2#OCE_dKSqEJMa4_ z;VFA)XedI3#7saa%Z|P4U&C_o1UAop8>@4AoEX5)d7Gn$e~!`CFHlYX2ykf5bn~Y( z+y6gF?Gwm(jpfn5qMbjV;o7SiuKfZ&fOn3zeF8@ZU(4F&kFz}fT&Bn0gs{X_?`F91 zgJc$cM8I@LY(I|a-Z#-TPXIuq!-XqspMMcJOY@WfL?sbHOPbjiFhBS%AR{P?!|!6e z_Fox{egiNM`9y!rzJlfapONzh5IEX>IYsqWMw3_IiU({ES<#+gN!=xm_kNfZ9}ns& zhrdcS`dN_W$vsUsn!QGWbQg>LA0o%c)8MH_uVyg#EmV4a?9}!hAb4D{ieqIgIr|^? z^_U|76en!4DP-H^_C2Ljr0x<sSAL6CuI1`d1kGc7aT)I|6+{xm<);ysPlL^$1>YeG zMRA$!Gv7ywo7}wmUnt7^*xddJTsTB}k#vG7A~of@@~$=YY+}zC(gXVxPZQfq>^$^Z z1O)`#G4<rv7;e4_=e&j8d#0xB#~()bar>QL%*|`B;QG~{qul*4TW5Zf@%S%o0uH)p zx&5mv$4$hG8Gzo9I5ACV!E7@Qnj;Ql{#RcB&RdRaR%2-Fat7K(7;gR+)%u^%&YsKB z^?$?0?JuP)KZ^5vWX;Ad8O$cfF%RGW^Q3s5?Q=hYbJw_e<@?#Y{#y*!z7AKs56ii< z0H>&)7zJ_Chc0hjn)8W`bKWs;zMocK%pK?7!&iUB`+3{@{slks!%ye#C(Zcqy<@)g zD<5I9)}bDzv%p`yb(2s1v>ooc!{#Lzv*dE-`sIpuzHNgq`-;oRdV`n1;<)A=f3e9k zpS{CfcbANZHC^oZ+%LMpvp#E&cmDM$Ui%Ao@zU@50Ou|qbMBNd98b9Ij)Jl-nC>1h zT{aZrsVYwpM@b;2mh%_RvbS@Mst{b$GF|SV^BF?{?_pR6I`0?`M|9Ie#3{~$4?+ln z_a#ycXqtwUJXw^g8ZaCVnIBBq+1Vk@=A7GHrwoCdGRgO;Sw+QQG$O^wJVr`aQn?bm zpqj`Xw2LK+!y{_(`1O*U6M3;<xm+?C!gzB`;S1)HSu}Iva)!1I+P1{bibe4iUX-S@ zZb$RBA);t!sd{a<q-hqM8jh%{0o~C7?QF(k{~FS+Gq`k$yjar70Dy$0eEG6q-ZmT^ z>~Qw<Cb1deQQEGx)F}}(nb}?e<Suq-mi|O#W2l4oB!QgO_KR~Mg2R4=9<<}Il%N%m zu**)G6?(f!QV{2G!BGrrQq07dh+<ua(g_ghbyt76zHr`{WB|{qJ#X$E8z(}_f^$}Y zyxOlo|M{j_G%MrD1b|L6zADku^h4nTzAo_@EHY5ib&+8;BCQ!)?!2?~G|g<CKE-%E z28pDUSS}le!-Da6o6%&<q%2wA+Ggk4W#;o4%dWwRAkI;Sl4>}lX&R((xFP@<@2zvp zVlk)CNIk5`P6%~{h-X-jkrbip2r1%IA}l*X)8IY0w8VQ)=^Rtd__{<jLE(u_Vo(oA zzT>!ALbg_(i@0RISP;X2+iyQjN=pXAG1^S2LQQZHQlx9=#MvS1)jFp(Hb^K(M@Num zRKXGP)Md$yhj-cE+ov9sY;SEF_y#nag)pbp94~_BVCN=u5$8){AD$2qGREe|&JL_A zyhp^L(e4qo!#fAw@gINW<Cx7nKlIb@qSZ|7b#um|2xM?-;L9S?{k=4!*=&^Sqm`?J z5LZ`9%1{5)lX=hIZ1SvU-{AAU@Iij{m!HUwz2X_X;ENyNOI~!py-y+Mgh%=3FZu}2 z|NMvejaNUOhaVdAO)q;lYio(gS|s<RTdT^u-+hM3+6J$E%~KeS8vd_u`x`!b{|2vn z&Et6QdrtA4-}`ooqCcHjJP`PqAAbgihZW!ZgMUGe9&t)25^sC!d4BRop2NTS&cC3n z8oHDb?<nh<EO0nKB6|e{6;S9I=Du!29HP%4Hva=8;RgQ>Cl@%r@_oGVmm<&o#y2n; zROr?^^Tia&!sh8$^6*FgCztPgCmZ*CG9fGwC*<x<c0c@P#;0D%c;k-&A*w|li~23B zpZfr@eF8_<{tKhc|421@6HX4z*3;vH?lzXQ&mp$A(REK?F#csmlh+c%5@bqF^u&b0 zKVQF#@#&YLxkj8L$c*FtZ)4|?KjHMn7b4-nB0|mqf#co(Oj<mbF!){Sjh`bZEN5TF z@!>ZU(}>~tXH5WlT{KwxN$T-0GCllGa(p7=^_L)ihr;cHg62d{ruSm^JdXB$9Ow2K zZht+oc{<CZ@1R{gm*J`Z11AmQ6sr+203VyrX14p|h}&m$>KoAJ6PO)-JKf^>2oCT3 ziH=oOaQ$<1=3qT`J?01iAY!RBSu%(jKw~))-W}om4&(J#;k_NKm9bD}qF}oBb$EYh zg4Wwmhp~VjOwdzCq^0!NQGbNU66X%^;iEY3P%$C3k~&LMf=te0${(!AOL|4$8+PXo zabbti#;foyA$XJpQoSGN3PR|?cur>26ay3rb-2pK+rEb7^6BjEyo_s)ypqBA&p3bk zx1ecBPL|IuPEdrC$pJ`4R<s%>L?RXl6ank%gRu_&7SQQbAw%v{i$nzR(r@YoL1t*X z17t?Sn-tZaF<CKS55_>rjVmuh^N>3p_o6;kNjP`uh1|UI6D*E@it+XfQ9VMnj|%jA z-J2;RJ2O0wzE%JzrKc0~SF%3*cAoW&d%1MS=ku9g@*dv))^oi4`#%9+SWc%sqg#$n z#=x710XWHuR|sNjC;j?qHn)lXug+P&V;2Hz6Jc$VIepsN=AFN-<J^Ue$J0f@6@iV@ zr&wECV>+E8;_!vF67^p2WneNHapzr^SS}Y9+V`Hd!H98H(@LT$DvH{3`t(_*&W@I! z&kO`5^#otxeZhEClBbCn8x%pZvc0~>{>>ZsZb6zJ;x{%BGEsXa>k=EMCKP>6^z3NH zs2<_7V=@@iwTHC1A*5rNJIcu>8XK4|aBWL5UMF|L@p3^@kGjP5o$E|CPouOfmV0b& zZgK9?MPpBUB_5nZ6p}W?E;2u!6H{V+eH}ll2_#%@@yjIykHm-vMC=f-jsgU-^E5fr z#)f5FlJ{@Ywk=4(_VzZT$r_qr)rBL+OuOuG_!Tms2#|xLjU8QQOy6WMF~C4?h<brE zW*8)!<7{IRv!7}X3c%{1Bm}Zz;cx-XeVbsloL5i3*CZ2T#5r&R&OPcp1`*Q(z0Lvf zqWB{8{nwQ&w{#HL9tMmZ#^#_3+7}5m$zGR4a3QehL1|T0sODau+A~tklyzm1CX}M^ zs5sWPlpvm>2sjsTz;JCHSC%YO1m`Hc!+FnOI6y=wM+54*K5<ZjIEK}LMKh<EOf1DC zS=XYNT4u9j)3+pw%A>gjuLK;!qM~w+kP=0<$jKsiI8660mJ6<5zed+ZCPm43GU9lV z*xlWw2t$Ttfr@8ZAEV`vAQm}kW8`S>IvP7pUAT>^1oah7Q!t+`nJR2;Z*j1{%l_UK zy0+!i+Bvo+gT4kU8(;x&*3BlU=fMXbBzH<(4j7Cl98V7!EzH4+aX}FRY1uKG&ZtTQ z?~)8qN~kHyg4e(9F5dOm+kD@D`eQ<!SS~Fpp(v@#&}BrNStTdnOn+rBG+j$f7G3b# z%V)3SM9pIS^*gqB*Sog(x8M1<Jo%~nWXb%yA9xRc{D#|j&9B_Ur+nHYoIQ6;z_FN4 zQ5A}!;q2Lp;V@E^nX~8T_`<B9$+{A=Ij<l3yKSEHS(o{jU;RFcLb>bieV+QXYrNw7 zp3U$7&OLm|i#`N^X663-HrPL?dG=>K!q)cO_Dj#Jz2Jo(<};uB5C?l>&YWq`w!wu! zi864G0!vrxa!)8Z%rO<gImnEN?av_Y{S@^#5`!lcC8wUg&e7j~Gw=JOPvP$8UST+_ z2*E*&B#oTC^kS|(@EZ0%`cBS1@!7<<&CY#)%J|ePSv&V*SWST80&$*116)P(5J>pq z2EMq0Q~Q7KvfG?>K#Wh}%-I(chSpgKgq%#rkXNZ(Le>Si1>P4pJw@ss2YE==b-MHf zT={k~N+i?GK8LvYT<X(bMOpr(Ens%k;~%FS{31DCBIiW#0YtEt>_^~_aPEjqLm3_f znPd6-4pVrbX~OZ|k5Uca#CYR-X>?BE-;FEY!eZ~YXlE~Bu>PM2A~qiZO>4|{f0R(Y zk>Tcd11(|n9*X+S9NqYBavp=2{!ukOYb|vjyB>W#<_G}ll$6cvsw!qEg~ACwH28SP z*4AslFUdKRT(+FPJY;_GBGfHVRjim-K};c<9aUWFb0@vG%`FD5qhv(EV}=J5aY9mO zIitOU5~M)Hfo5{dWKk<J^Gm!tWW4?xgwUd5{l_gA)Rd*~K{#N=v>Adro3FsId=KHm zSF>C^jlG?J&m$lGO-|kRb%byo#G^P=9pa~S7-)9_R%m15b8_+@Vr+lE&&1hz1leN- zNEQ0AsVZaxE)KgNcuvxGcofK11H-DyeELjghtKEC#qY(1tK^jJK(0Jzxc<W&Tz?(y z;>(cY7s%S8Y7P<@Rzou?tDkLcoJ|PPF{%3=g8M7RgFhtY+wsBU6h8ekZg9svbMF7( znAu^8<OO7*Sq7>~8CFUVXHgHVu+2Had1GbgbDK-bCOcruq&*rG5!|XRUH{BP9Nq_f zKYkU5FDmMy#)XoUtp!`COg_XrC<1pp{vP)Bc4?0qf)7;Qm~YJrY9MuUdyCo!nx>^o z4Tz`60hb)Ew9gw2O7?dx9Y;%#de3O+shFUO<yqoD9U_oY!ux`A=g;uSBad+9+GXlt zMY+C7HK+((#qsnIG=U~+35X<I6RA|#sK@xua_a|!5ml90E|zp@M$#qH!RB~_$#|W` zVovHEufxM*R4l!xLs)h#P17)+Ey<gp;t6F<bdHU)X9<;^EL;*u**co!oH>~8)5JM| zG1?Kxo>^RQ^ZHei!rIyz-g)MWIXgFZNHJO~Pv;1O3Qdt5N>a9Vh;7@^&Tim)AiFxP z_t6frWK1T!;JqhmMp2?z-mCW>=Y+(q$d)mamb&Lt&*XdX!S<w+z$#B#B!Max9#Ap@ z0;1Ua`hDhu_3!uU5GRD-v4iDWymPGb%F$kyR(h`gE(o~ZkpXgwtcq#9cdVkEs!G(J zOaRK@D8?gVTs;fZ2jysllqGeaVhB(a1yxZXF>?C!Y3jOWP}dg0%9-;Q&ck^d>ntuv zg`Hv0b}fg?J<6h_tOAp*b>hNN42BRR)o4KJJZ)@n*%7-w1uG?_9$MF_E+JW|2Ogzi zK&DI`MUI5jBH{>LWTXzJOX~5EZq`B<Ss#uOZ+mZ04XNvz*}<Hv*RPP8B}Yd`1PKhr z1J0Z|M-eI(PRZUFet@V6Vj@g458VF%9vD;wbvYoV#I<XeId$q3)XMd}9p;BSbZtxN ztSDL3+R#omHu;-B|2SUv+Dp9Pg%9vI?^x$O?{w5<&HW$RW;yq~<xOXqj1t4K^7y-t zx$RN|y#w6lmPNb3ihwg+h7=R!!1fjDINY!K^<TS-XMg&2p7`<mBsIBn68MbIeULwW z<5^z&YmeufUUo0dbdTBL5inq5V}x~>Gr5ciLL?<4P(*~3Dh~H6vcebs(+?nGq#3~J z(+ghs&pym=|K<~T+9zJ)(p~!?aL*I=__XI-<qfZU9HU`N*Lh;+NYU|0pK^sWXQxa? zOS;Y?q+QpbxnnpPa`D0$?!9-H7NsSU5`bVE!ISe#Kri9K?~&t+5Uq*HbNJ95oW698 z2mj`7PCwx+vm4i;Ymo>p3R&U&rGLSdhkl*wAACEShYYuVmdWWKvvQG)5eUxooOiy* zDITP^Tdec|<lfZBJS68KqscE22JgrF0pP6x2TJbk9%K?g8nHP3O7ijxNZkcgE1a7n z>hZ<HmWqcG(*>HN?;s3ckE`BF>K(vUJ(iQ3xWbw(m^Kg$1ex5dE){eBPuhShh*Zp` z|2H{L@Zn(=(-#v3P$lDV)nCz0zlJb)9U(km_(1~8+1H|Y25bKTP3GVsLU0c-82>!S z2j5N8T%@RsEU~%>vsva^K6b%ljsRc`U&equ7(<3z33C6MtYkHYFXODnF9VA0z~oU) zmIK`1$2huh65<7CUm}R}cyCNyQpnlBfgqrQNMP08OtFoo*<P0=qv}8f5JVK!gyq~T zrlf9N{^a+5Txx%d7_d-*s(vr$@A#Kod*qeuUVS;IFMJa!EmqOLM@~;dqwgIR+rSpV zfK|VDA4=?Kar>O4nbf5d4?Ll^1manBiBPe5+qiqh2c)F91mFmvXPgw4^H0Kun~aC= zC1)WerA^TQU2z##{4KG04k5e>?Z>%dG__x!6SZ`bGSMqqJx`Y|u~xi-jZ)ZJ-zJDL zeM#ZTPdntkznd^UHsIyFV>FIbb>d*pPLFmupUgp=@R9q*%%>i*<pO6_Rz-oTAR>L# z0Ad1>UIu{D6%@XIZC1$Ez77$}dI){`+R9L<Q`){2=VW~ohDwYPpDcC7J4e@b*r6^^ zZ>|wiqFz|BuGh@49w235?+bz3&t2f?=m4J*U2NIj+`#(+UsY%p1C0GV?3C)rpez^< z2PAP^yLpYla?WrxB)7*X4M;{jcIvM8NDyKd8BT_1Rw^n)9N7zN>zg>uXl(JCDNwTa zs4plbaO1{x_V)H!-&kij7*m#!gPS*qu_aCqDf2l}T@Zq!b0t!Z$(X!3CxlQSMM2J) zy=6mc4cJ#9aO&(?Qj8ow@DRs`hYZIXY_4r^czDEv4?ch>42MHfY{?=tZG#R5RNI@R zu4RAskeo6@&D4XMFdndYRDtcV8X9w(%>j(rP9SZ&jyCq~UqfJZ^6#h~ku(vrA}+8x z1W`~Hi-o1$NT3?jI8{=&FjByoLtsv+LT56SoFj{|x86AfbJmpzVl_3Y5ihqip{iP% z06>3EgE<)X&F*6RRWuQL+I0mA?C)S{g|`2)DuPh<2Zyb)cgvzC_<|VC;VFYfzg!4( zzNIWCh;uAE147~ggHcJ_E~%=DDwix4#&mXFq%2FSs^aMAfWmv$PMu*enh@tR%E1s# zk=^4%ybGk1>7vckl@&fEyz6Z5=7OA|OD*H|G1Vv_A>mwsFAAiraiPF16K;{HQo+~_ zk<J{(#Vj#9?%3biCB{fq4XEqLe0jiRIG`BTbSYDW8q`@4zp6cV5w1RbnWpI&xPrCO zIt?8$wX}^|`_nQ|6(##KlfTh$jX_c2LP^s!T)wu?oBw=^GiPVK_0P@_(>93UMQEFn z#iHO(e*aFqSJpQ&&wJh#E?v3~V!FkN$GO0KZceii0YYMla~@xmT)j~-pLw3~saNSb zt1(b#2f1Zg^2|?vgtxxw4(|KF71Gf|6h*=5GZzTRiT(sd)zaYFuEndT9@JF6X0ZsY zuP+!>3sUkxU{%Eb@lU_O|N6bVdEjFk+;#T>84#2&_~MVUb$Z6H|MF8v$>E$*6p26i zqr3Q?A9xdMYYifvL8y^Jm`#r;RXM#j=H6z3;&CaXy}n)zQ`7T+MC!iE{?O~!#g!3P zZx)QU4mr4S4#|<IkwP3%tvDHA^Za*k{UdKiq+z)E(<dqGCVhhR`zfcyioCK*aRNCj zIVX}>=cuGxh%6aQUQH5M6=$n+7*S_!eKiZ@n&a!QMs=N{{5uAd*HaGOMYnh+$NOJT z){IkUk@<8RqzUEb8*ttuz2~8>UyI(pb}3R61z_0XWSz|T+usCm7Q^t~<9wiNJ_~@^ z(bw1;{=wz^6|{RQ`1|`i332%>%IdEu{Q)`ueK;Gcw;-aBF5nT90};Fe&XE%K|Ho<s z9&-eMo<WC4Sv$yzD6G;zx|9%aig;Cosy!$ZfRt<_WXwrWfh33}&Y-H62d9972;e-Z zfp`%ypbCH>;_*FT(Flo*rQ{fJ^!d@lwR}$P6^3(`2fVtn^skAEYC&*)yNh0diwI7H zsGgiQDaw0Eaf$ODL>O)UD%1V1V7m9^jJJQ@CJE>Xvu&Rzsl>aM)B{wjcTi)p=+_Gy z_v(KZvRjQcV=JI2+I#PIsVY8uwl`kG(aww6z4`TQp8FA%2SrB!03ZNKL_t*hrwfo_ zIs1H4`z(g1KHq>;2BBA0s;C%SZ^}t+{;M&G;QW0Q<^STKc{z90?`1Hs6a<{-_$ctk zH=Ls^GZ!y5l%Ya8<;<yuXFhA6SH1EMp8f1Y#*-G+OxGo*#|5u{?OB{xM&k@>(T~-W z6S2>wf6l9?Z?6!<d0SWQ6}U4XAueN`nH&PFPPR2jr)bXL98!8hC<xI&plZUG)<#jY z5`0bJgesJH=NR^EvZZ)=5YPHXWvLZ0;>Fs9mi5p;WflY>_sn)6APAdh&a#M!+58w0 zB{g$e5>aQkI^)YRgRM=HgDk@K_6D>0oMmUlVA%_h5j^4?RbAkN<%4Gd@eWsbatB8T zhot#}a%}@&I&$Y|yCpHTjOsCkE6A(;;_NJoP8~%ExNPg}k`mhvA3Q}_5_-0IV>Dzs zoziwoQtEIDUEA{T$L?o7oiVIx!eD?GC8mhBi7ZN~Yjm;YXy=;k*P>=pS9r~&w&n2f zkjZ31H5lOlmBe&DqoHHg98+(tv$wa;e7PWmz|hy03RSgCCS%9}RA{DCc6axf9!|M< z@giDzR3Z1^yIb~7X||L`*FWEG)iz64AR=0EHJDLP8Npd<UlEYLC|DJXXeD#payF*F zEJ_0w0OIgYZ5Q`|$UjQ10esm<2C{|g(UoIhAW*RXTSUwgdSbze8hMZsRVexhrRi32 z&g32_LJ7St91bV6ZA(=qyjYsg#@d<z@VcNZ3tX-kO(xJ;%|h38c<&h3140OZBS&R8 z9MW|i?V=;bh)Bs`;2Er~Ls6irlyyN`c$^n<j5vkyV8XB((ls+g1YZo;yMCE&*|EO9 z!DKjLemn=P?Q6;&@c}z;#gPTFTJ6PhvE;^;tN0A-Yio=LW4gsYi`fxURHQ{os7Azg ziEk1fICJVW<MD`Njm&P&DT)PO^9{dG*OnX}%vj78h&WDdZ}Q&vJefEDzfa*MFZp9O z#+kM8kn!1qm>u4)G_*3E&za4pq?GY4;Jm|i0q;F)Rm~HhGUd*DcKO9uK9TSG;kU59 zuI4<&$idBm-+k>9`JxxTm&N>}xCnzm&9XD+w<q^elqR<1=8(l=fzyJ;tVCnOczn#x z%?<9q_Z(0C#6zr(!k*i2y!y!?@a*S21UaE%`$0AH37>R@r#yLwoGQo(=OS-^+Xa5` zdp?Kn{+>VQ^r;yF1n*hombjcT-@8Fg$6N(3<}{nLqCmujZzZ;G!WA#4EdLM<L!AHr z*n9I}&$g?+@3Yq4XZQ_w?(Wwuy{GpiBq0d|7$O9=NJ4C;05&rOlPV7}F(kGryF`_P z14%jMU^@n!!f|0pDh>`5l)zw6z(5F?Aw~!z$*~O>o`m$~*M0j=zv2AO*=yyGb<Vww zAgTP9KcwCDtG>VCOna~4yT+Zk{njtw<KFafq{EkywC1^YE%4PPsbrFd%oui0^5WA! z%kt#!v)lY39=!iox%JeiqZ;*4QPY!fb4=p8#rkViAu6FiMQ|}pg;YO_q!pezP-PhT z$8lVp>m~+%z{T_LAlL6>dHY*PDd?aUqu+i4;D|X`A&E1e{TikH7i=H=ZT4UJS@?L5 ziAXs!D<Cy6P~1u5ItJBD|KG?0cSkj$3Mw5(Cx4BXU-(`Y2X80W?}BmNOh8c*D?~0x zBY_A5d;5Qf)BE4gu=sRx{R<&ah_zmye*^AN)$c(hM@kWnrGk4RXUCC`#sy%+B_H9# zL__Ejz$|N&rBeFPek1XU2%-ukR4bGeUm5rSGJy2)9*0~Y4F&H9v_u*Zc8HTn`XZCD zF>F7TtA~FMXaPmcr}X={ri_Fy0rIm%A8nlR{-$9d5lAlXn2cU{6BxaY>&;tv@xfoD z+r2&v1Odgs3)Vk{dj^cGqd}ocQ{Cs__TS^`^lR9he-6LTejJXtIQ^46eDLLnNBBG; zBa<ia0F6Grt^vLkybSmdg^Qr{-Rsfx5ZF;%=*x_=7r&O><_!Sk`jWe^_#0fDe-;;~ zUkc2~Sr~So&i4E-Q!Ty^m){)cZ8QSJ@X`B!liR68(a|U*-BFCD{ti@DJbU_IGIXzG zui4|lgC&3e@4kV$HrlqJ9uXA*#GJ4Ast?h$h5z9@pWvmJqG<H~%QfHi_g;N{Od^b} zYuN}ys>Ea@j=9w4eDHT>>>u^a8xU8zt@4il^_4vH^d4CgH~%EOs~UOL6P>sUlA=f| zB}H<~0psVhx}m9RnmSYGgtRTvwv<#+QUy|xt2rqrM1*#>$82%HY<Y{>-Yrr!N3?|$ zDHzi_X9>PZDRKAiT~3Z~GoLMK+6u(TspjP54#)Q%ColFX4w5Qf`=-}(c<Yc&w`DgB z_|PMx@@eaeEXtytalAO>pxvW3p_R-+m4zniGSGTKhk<@|MQhGnl;gvFs-$E*q6taa zbsNH~rig<8l?^PiGOrVD4p05we4irG+On#YNtvy#u2@~H=(jzk+Y;N@d(<XucWk;H z+8eg+*qxnI4+FOk=G;D9Q00P^D1c^&qPN++p=m2tR~OvB|A6ggOSdylA6~M(T(Mhi z*j}yJt~Z=Nf1hW5>jQKbE2N8p*O#AphKrY8Anmr8CRW{!=U;r8XP$kY)3XcCFRxgy zJNiC~=Z7+ccoKz_2n><v`*Q8{i1fc3KFPU8HG?^2*VA3D*<P)<x;W$F>>&@&&gi<1 zVTj^PLn$7S!{Q!xOC_L6)HjSkL`NRgG|JxqJ=2(E-z0}5DU85JHOB^7q7lsyLA44{ zT4hkVepO8-)saG{IaAMC_74x3w+l)Emzw$Vkj23vdq>9{-@3!$@h$cbk6G>?u-rRh zHb3Ct_=uyEWA^utSuPJbIeCn`cOK{X@DMLXUt$*&szh#^Fuby|m@jb`iVgHb$9nY= zDr*i7m%R3MPf<6D*$#E0u-76T)KCV4=)PuDxr!7bQx^4{x@sBvf@s0%VRyx_IYT!c zZLx^hNy7H`xJrplGPW7|VaqU_QFEWe#RZ4+D?a9ln%BSPkmG|yO3t!5XO`}Byx);3 zqc6^&klLE_tE;FH7$Y@q16~GpyB(s+cDv#1?2Lc^vwn$fm-xru|8YFLA8BXLe6Zqw z`R<SB@Mz7aed=%0Z%ahPQJf4?(e=vx2MtHZ9fJ)#c;O|UeShL--uY%$XU6j%`T$kl zaCmgZ55ME%dHU&-&~59?Prmcj{N}$o;m>^Sduba36wJ9etN4*0_*kya<}8+l<C7gn z#~sVP9Zx-ZPSX~C`?qfcpbj>~riNYD@$ljynw6%Cmbghr*?X;*{}n0!Lwxx2n0*{c zUWW1^?BaJgZqAv{clglJw1Vb>N}<XQ<uyF}^v|((>$^C3>{~f`@~f!Y-{AfS{y8pt zOhvAfE}!_phL1(`5=m#c3OTiO7k`p&^_k$x<asAo45ADIgMg)kR5e;<qA>Th;7ZlL z8<!PW0UPLtCEez&SlJ61IqLK5!r`sI0oJlT{brKg3D=JZ!V&%UPtmQvmMP`YgwR8& zM%l;9<4AguG1QL@PqMoBOOz5dRJr;k+SyOBz5I*F@G2^OnMz-#k(a6DMN+y%1Y8x@ zFc?$)E}HhIxjg%3hT&5|Gwyp_t^OQ+|L>sbAtJk2t5F{4BvVr2(bVaW<ndvM?jv(d zpqr6_q{^rYG6<5-&~l1MfEIJdWh|0X(0q!dhlmQvh1j0_66_(V%1k}l5ed+p?{j$g z-8^{tn<=)VlvmStZ|3e3Uxs>gK`|2||1TmCqR!+oOR8iI0hH8$mWu~}0VEWB7zgn* zsd<Lk^8bV!Im#rbnZ1{bi?8J65B{ed9DYA3zl<3S!!cJEUqdtdbq<eykSZleK^{e5 z|LFVZyH|1g+_%%7{Sxis7jQd7b;afBp9NWS=k7P)L!oJ#NFR_eNK_Tf7$m$Y5e0}4 ztGOfY;Ep039Dg61%RkJ65B?oy`~Mr45B@BNcfON)_8W)^;?DlwPq8_CJ@;SyCYp=S zNAk05F1~=O{TXHle+%7#8wf&~*4D45<$6ql91KKIjFcX5P<<T_H~)bD>4!dx)78J> zCw}e|+27ysg<tk8|KtZB$Cb!&R>hKWaBTdQzxp)a@i$+?*Z%2G;)}lQIsVBH-{at* z=gYtPS$^`z9wS#F{6wOlbnjrGtp_q5f_s_^5&pw3dWrYE`-pG-=2!C>fAo|e`o72b z>Ob`yPrUjPw@eanXT0YSxG>VO10*n^FX0JJK0Rl6L`{V(PPB(LltL7Zfw@IKu?i~D z{e=Q4g}`*UHky5;Pevmvc5DPnbkDhW?_L;vGH`KmLDy|)+Zm~i{B<;v%i3AXt$TO5 zIDG*TsB#tF`P{HrEND~3S;`zA9kE<2=zBv`rkYpWx%(KlS)mE)9xl$;EUE@mLwrCP z(A1La8CA1jFhwO&E?`F>;b=FyuQk=SFmGDa0@UTY=IG>vi`9zaJ7fgJ)(^;{A=R0y zexMh@D#hwdmkMik6g8wt+_`&?lrmirieF*Fj@@=mn-bZLtKEimx8|x_Q}r#o^K&jQ zuMi)&yMM^7YR<*Q1<3=L$WWqqal7H->=ZACDoB&*hiGlQ?mBeWlT#wsP<Dmka@=uu zZ^>@gb9Qkao@UMDs-o6}h@vPF6Nuqr3_j4UJI>C|8CFq@sws^6t}hI`9qrLRZIzf; zHNy}dk(@JRp%g<$7op$*Al*Sg7$XDMLji{ppSgr_sf3|o5_Fd&<8JhB!4P6h#y`Mh z<g123du>>tsAljTDM8j0Mv&DJ*}*{+B!NbhrJ1$t9WEJ$*hH;vdR&F&V##KRbgx`x zW;UZ)&dDhwgHy{qHY7{&jGIlz&N|w8%dI=FpxLY0l)|nO@~lFd(F<B4N(@juYAxJ4 zR#y+nO{Q&Ij&7e|X3TYulxogTU!txvISW@;TZS^w<c3YRiwMS1qBKJ114^b&IfQ$v zm@W4iazdMdy}h3GZo{lGa+A3ldYVRYhoK+n`W;uB6}89y8^dN3ZG$zV#j!=<?Cgvx zb$r=Zyqh2W;kWSXzj~LqzU^s#?x$bNt=kXz(y#cZ6fPkp1g9G|9JLk21~eD`_?P__ z-}&EtGC%x}KAy6^$G?2voB8^$`^PltlH`sceC+G*({(fc=3oC5KJ9H!^UMcs^TG=Y zzVJ`{7O#EXi`WqQvg>==cE=~Z<z@b>|Ke@@vCsJ+?y(-TS<lb@^pm{t4G(zhTc2gB zQ7J>Au4{6YK^;#HT|tXqJCz<Cn*JN$gx&UgvGUW1zMJg_{t#DB?z4C6UvjZs(XTgD zE~pw^cb5<S&X05JvA@OQ?mvk8G3VB6zLJL@{4P#E@J~5;&1WO5LRJ#GLse+@e~xbR zS)9M{w^^S2kE|Yk1=Z|b>>YkTgM)F2riVBkE-<x_4f<Dva5m=l*Qxe?fc5FyG227R z9M!9+7qBBzdVmm7Envhk&v1C_n>c^)*Ew5#9`l3m0S49=UxRzg{;jWP>Q)#j%O1z2 zE%SqK<KpG-;p*(0ajw{{znsI{e*%~D=+tD+a_<|tIRCqx-G2w|;vH1g`!TCX)jua! zzZ}n?i75OHhsFNEH*tRUZ9IJO2WgkzN8f!iWq1wk;(O?~pABh^rO}8or+Dl;AmZqa z-{B*A{C}N>8zgZv{+~XZK7aJ@N8kTJuSdUs^lxE8=l}2jPcI>!>Cw+V{Pp4A*ZaqZ zpDRrN6l`i&=^z7|ewV8Kjgfc+giu^=z(7^KkCdN5J&`1lq)=7Q&{V$}Ugz<#qP?1t z>wiVn{5t0k|0-^C?!EF$NV*1LWcKiIO^QHN!qC7G0d)a~-Efbtdp-U36B)WUFm!LE z?A|cG-iX@)x%n-c>iIZM1Wg^Y*-uk9?`L)OxokI|M8A6@ZpWP5{&tQ}zMZ;`-#d<b z2?K*dyZ3+4E`E{S_ATr-pGLp^c>3K_ESEpQ-Fx4}eD>@J;xghM-Z2OdHK0jIDrnYt zCKtdE93w)DnmYDReuT}{zsu_Ei#fRSKXY*W{U|~nB7%}|_7=ZFyZ=*cSD!>b++%+H zcADjP0h?%>Xg&(in|X9`5XZ$w;4y*&Kvb!4Qpz0r`}z2%{u!@((>>nz8=u4%f8|U3 zrMLektFGl;zj(|a`}`N#KaBJm00SPox8sj~?u*Rl1HbUIxA@~<@&bS1uRP5wUa_TV z;Z1M8q^?3Jh9?5v{E1gAmOjo>5U&7D4WIM*5BRlTIpBZ)i4(r`KYE!j{E`PCg)s!c z^_~wR@m}KS@UX`7P9w|BZ&ekp{|>_}=P|zFj^kmF=$Nh~fC!osNn+muH2zO1Uw4Oy zh)U3JN|D0k9#58Y?0C9=YadkTF<bx*Pj4yFo^fxnhiay-DrW7RCRb!lG<Ac!vzRSd zESEG@LlVVGj|$k(0Ra%(S%a&R+J>sm%$5r@)eNO@ett>P#H;S!LxD2!vlHIG)tUzn z9x$(4_LqC4wjrsq>8?0?c*<hlvRuqKKRZR#IGFEo>-dDC%4{|xr9@U`StZV1zR%V9 zImd@bJody>Y=!|<;r#4^)x(F(W;2fN-o*rZ241}XBBk^k>@V<CasU2HSa-$U$8K?J zxrd4~TyEK{E^(aw<(yuO4?X(~?#g4Ycm?@r55suy+{<7_vmGOm{f_PBifz9m=S<i4 zy!ia{tS_z@HXXZNj{tSk1f7JHd2Lv#E2S?~gYn{X&taP#d$R>q&McZ4X5hmBNlBt? zhg}pNOE>}`jND>D>*n#fn}_j<jIS_2z(7DJxt9dQnbP_UL3B(<7-?2SVrOMlfKi4j zAh<&q1LJ!_2H=1wLexV9NrsUy(K#~yUIn*^mLyeFlvJev{5etA4d66&O`XGGlyjnL zY8LY)`}>FN$`-?!H#JqR*jw(CRH*8foHBLY(9T-s%SG^cQdEPta;oUoSDe0lA2sE% zSKQ<H?p><3p_(g;gC*EN@dD;-Hfye~wm|G0ezZKG8hTDY^a5He)~~ABbscoh{$fF@ zTj~sZ%MJ6zzoyQK+mAg)kD&tY18z|S-}eLS^HT&T<6K@`uwHGbb7H<+a(;deL&vLL zwc)cr_X0EHeeZdUw|(X>^SNK}OB@`nDgBo1c7u4&ayjSmCtnTf?8G@d-td;U{VqTD zgKy&b=kD;uU-g4L_39nDigc#;zV8!Q%ue~DFMKB_PrS%`f9*BgzH`QZ{tfTrlRxEo z%#F=v!^PDl+szIE4sZ3m=3_4S@gIFHA9#A7XP;T}+yC~MKk~L``0D@o|00Rw7R?-X zLr+b|X0zt>1Ha4J=^5J+hVMqf3H_l6p&vUW{}`$IMSS>7th|-J`&brp<@TFjrt6Kf z7ymUE>no~V%YzsGJh$(DD~p344P7)wliZDF@5e~h^K@6AK{fjqBr%eXx>KMMXR-G) z6uZUMga3qP_RAdH`D?g<n~jdj4SDu%kPb#MKAHfS4d8|pr)u9#N-wfK|9Xc0jg;Zl zG_zme@c7%v)dy(X_n`DB0v`IeuAXMO_YOpy?bYWo?A}Pz{sQ~Qf0<nU7CQ1&Tuqre z^riFyv)K=^x_CRKe>3|hUqh~c2O;!^0HPaa?K`Qe_t0%Wn|}8xl>UvRbV*acizE@n zOsc`YBB*SbFW*V7-@|tO#pL|k>>qv|?fhpEnV#`s7)9;@+X%TJqU=`PPXaqal^Y=$ zroTV@{U{ZG&)<)}f*gMDXVd#fKmUXN{{L-!G$QcG2sk8&88(C!-88>Ks>Y%`iBO%0 z24{I;x&Nd1;DDeqdaCAQTP+6=7!_J5MG%Df{8wq7_>60C4&WXj43Ri~1avxiAUr-2 z8w*1BzL&+~2cig4g(8ZXF%|PFJ2dxzKuV|!#SHR}#o;?y9R57R(2_J!Y4jMLz?<1k zsz5*9kE@Vp@8#C3z78vQsMu19(dq?h^17*D)`NH$Qf?>%=v0!U0W{2sothm=+?P6} zl&C7@?vvk0bcN|j76Ll%O(+N{DNXy^+`9L6Rt5Uu0hkh=-T-)_0wsj2yTkZw(=)nT z%(Xb;f=aBtXJxh=_#<!mXZ&Y>#%W*u7;c~<v7B|rCH4_;C%i<e%oaUg^p(%?d0%+S zV$ox6%$9{O{i+wRQkZHX=JUdre8o#d!It6{sY6BL8qx02_{MMfT}qMI6Cf$ML~%I` z0q6k`Y|Q!YOTZ|X5WZm(1o$^IFvA_nU}#F<1f8f*i12gFObAR70SSTrDBzlg3lWW& z466~?EAbnV05L-;)G1MR1#yi6Yz)^a1*M8y<D~2@E4)O_Lqdq6G+}SPhXP5av&Z#w zQ_~*ok#nZ(f-jDbZ?oNQ*-4_421;SJx5vF(cPT?*w+o<3x}gPt-Ow>x%xK#=?cS2z zFnXQ(LMw^8hbPS18TSrOxVX4rQF@x)mNrEWFLmVE=afmRH1!@;T147Sfz%`l#=6^a zyK3lqK|~nFv<e$LybQyR+;@PmKbw<h6^p!N^U@{T?V8&6kSvtWshWl|16|g1Hn8nG z9-P0#X1(Ewy5aEf5KS=jR}>f4=T0*_WOu${=(geY+;b{xNkbuxbx<lYIvgBhAZKOp z!e(>D+>O1(Ef7V-7*yywV<=m!2z{zh@5!PJrO<CXa;``c@F|M-h1hl6v0`C75;T(} z3|IFXI-Pj6lxXZwO3<F;l;Q!%$9gOqQxDu72SmbwGL7tn{6WV12>DRP>od}AaYHmB zB$J8a?j+4rvj#NQE_OOqq78M(>m*QDVGws+$8Ol5^^7((C`PM_rUoM+#aPT{EM~Ki zqaG0+6|gemjef^wyW{BOHgc3%o*c6pIy^gdUeI+Nv;6~Bt1H}`rir~ay!3SEFR=18 z#n-TYfaW<T`+Jn4T%Mg%CCAH-B=E{tu4wXmxqtr>N`ih%PF3uFD~4*K^2F6k56E7~ zKt)9|4==MSQU=<bFf!^!-CpteU-WPJw14kCTwXp;t-^A?&wABS)tT%tn>Ca)5Iez# zY`b;G`G#-#F}lk&4^N+E@Z02^8Fn332DZD7&F+HNzU~7&_2hk0HIQZt#1FVQeaOR? zUkd(COOB2*sezAq-2=Ymzx{dKQq&EJGq1<gRPoS9ZX_kvH5Hr!VkD`rqpys#0B|jk z0M%b%HviMWA;+(M3vYbuAC6`agM|zRBwumz%KsYaGksrh3A&A-t1!6HE`J<fgnY;n z^C8paM*2Lw^&Kn@{(GiWn`vl%mgeBQ1CiQD)8lwF@-~?;i@hIVvG@tZD#Q|6ogpIB z&AY~frt8NIh%2fW9PEE5`^$ewUoxVnm^)_S)B{5Q0>c=QP!S~G=jiU|1oP^ON5^%Y zkL;MuewO+CS14r(sY7H#6lps;-VZ3|gu}uLZS(U~$M3<}fJD8+V)>7V4f#9_`SJPP zBg<mKWFP6{qlN&W9>6j3;svo3-X@@wupr$Wu>m|I;-s8NnkdD%PK{6rLM8}xDkip3 zu}uO)WK=;ZfQyV@m>E_ICIuBCe5`TaI3bu#=`I2k&<*Na!~*y_P9FKh+|eSDQ)f;Q zKn0P6n<2iY%G>ZdaU*CZVNq~O8Lo?su!L)hVnTTyl{ALdGR4D?Dnoc?MTF}Rs>SgN zs2Za@WGV(KIH;ha;nfpGQcq=mZHyp*j$Qy_Jy0d34dNx9Nd(kzbp{Ww2ND9nJzg<x zyw%fiH+%xT0`+W0JzKDMAoN3|&J;6nkn5ll;EpR8#67svE;?M(xS^BL7XyT8p8<)P z7-@x2K0x;HGztQea4Bd8BoR)Pm<JaahMrtUzBS{cMEV$@VF-i~kj6Dvknqetnm!Tp zD?rdiyy8BmE=Nv;RPl(ET^~yU2X)5ha#Vx1A@0+P;Y6;u6KfgzPH_@BB`_ZqZ-SJd zid|vFEuKM?dMq%Vt_)D6nx<0n?R#`xM_+fb&RUUGsoNT<6J;={GIt-p$4~~k-G+Hy z5R?Qik&9h53yx0i(6%jBWy}o`$E!Je$9HM>4sqblox2Q!F?Xlz3RM;I!%`hll6p=v z-($8P=|Q{QfV+@Te1OK4)EBy|OEe|c+e`ZO7NbyA6~5acWyh>-nO7Bwgk(h$6d5=; zI6zg|Zr6x9+RUita|*`A#To0Xb5>VZ<a>{kv$Ect(d{<q0QIb*!r85^=+|2g9=pRU z4v$BE6)Fv5GiWIQ2Y{+_x!aNEbLI-Wp$8%jiLBI3!c(Y|DkavJSJ*BLoHP{bs-|5o zn9pYPL!8r)Xs^2MXqtxXMoNiU(~Qvr$E-jJ&%Y$aFod857a93sU~q#{h`NIj$d8^# z6+sZDom-tq1!Ck8bLWPiK?O{><`WYT4LZdQcO&+k5n_`?;yy>hH&HYzMFc~TlrbAf zRYTn-C}8FRl*W0^DK@MNzDw87E#erNVdxPm+NLJe6}=mhKoE)oRVK~$XtXAG9qxu| zLm38iNSxolMC*>jy+fMC5p6v~By!zV2iB`Is(DR63~VniX_B(PzoZ{Ja+L_4Q?e>A zeCYk`E-yKlFKDVJ+6ebfC7H@I{pN~Bolcy72q#xcpsd(!JL=^ENfqsK&U)7&F6`Yp zVke=iCg56Wrmf)q>2s(#+pb46vmPQ1R#a)1du%i0YDE%Z*JsYo9`MYwAH;SW>bj;* z`!w|oamWdB<){?AgglynD}?Mvg;ZAv6+1UJ!!|Y)^Qc=A`ThDMhJq&s-%{15cs^xU z9w2r|-*2H0eOyWy1@1jY!95&|Q#;TM<N3p}k_p`-lO7}FtxHc9XJEV+3u9FsrrUFW zMBb0|HSJ3<+FQs_AZ-!d#%Ty1z@i3(&H>H<03ZNKL_t(!R8K+wfD$skxZ{3C5(Nh_ zB@z03(x(7Ab{8^<^NMak<2`WAH*sMFvyuPSXcev5rx6_prvqY4^x|GnJ-t4!i(w+* zF%RxW8P|L|L;A3DeWZ?$8Uhdi*qtQ7Y*q{_QTP_S(t?)~-BGNdNe~B7L&_vXLKzID zP-OIs<_tK4MH)#$$SDUSNt{Df(G)pvY6N&9y!uQzuOmYi2h~JHFf=2eoq8y{Ir>O$ z9uP`y1e`7bvem<LMes<3^@+bl6<30h;|3=?2cbeFyoCT|^l;0l)Ivyk^uD%HsB!~< zrxS&63QvbQaUBSQMPTp}=aGV|Q;l*!Q!u?22}1x6VQw)OlYlS}ZzFaCWIkMQhaerF zSw^5d{;pIRoz0jn=D11-7I)^ej+5IRDH}syC<Ss(*E#r8TTUO_%nk~%3#^lpQl%&) z#&2i_;<!neffFec2I8SK+)1holmH1H-byb7kY;*58@;Vgo#S&=0W(CvM-34kotx*K zUh(@#eJ~Fr06;O!22?^^Ou5$+;F<sofJ+#a?hekV@CrqT08cvdjtCG@BY))hX-xN% zawbc>pNdfjo9;0LJ4wk+4OOOT8iq2UBI7;>pjkt)RYI+^=ngY(wio>4nDykk<>YpY zxHAlfj+?dZ9~{va<D%PA<qDcaK3oRy031S5JIvdbN@9bmOHrznSj_hr%0QBySv_N2 zM_bE$dP&>1oIQM=TzaT7ZHkUYi>hLlGP#uNb?{Wkje-n_76$K;Bux7ir1=al7RHIz z<Qhx|iV|%EQ-w4$ToQvpw^R1^?$9jfh$z*34!|&Ogf_BRba!%N-EXLuE%ZCKCGzXV z1+$2RNQ$mZ494ne1?!G!w_fYEthz1j$q6MVhQ8-)wWjMjypO`nMHL&3>Hfr%;Z3YH zb9r@1?BJZKa>Z;uV>ikzL*qV&9Vx}LxjV6;V$g{KM#!Y(gr{AC#)pygf+HY7$gY_7 zYrw9fEb~d`kA?x``rsjdP2&8LLS9O$P#0tfqg#pkGMJt-QW7U17<6g4MugN2%nGyl zjGUs-^P1mA-c9P{Sxc^Kw2n5RwZP?egUu@TmwQx)ha4RqqD`!G+4N+|*mlFv8|S<f zDN3_BcaM&^d-q91giQ(k<6bEJj&ix?pqkNAlZ(=g`?VAbWE<zDM3=1XhO37!QB@VE z&%Z#ojvaKHrlC&-t1@0dXAAn`A(tGID#f5_X7t5z2NR|13)-~oA6)T@Cn{$9N0jb@ zsl})`h!r-M7c@!~ci*~0)712;xG3o4m~fB)gYHfV3c;(0>iJed6P4D~sbMwB?PMSZ zC5<|7TK{5%%u`5Cs*HB7kYRbSWdGm}XXjfeJrQJx2+D4x*U`gw?I2PM`3Ujb&~+0? zRv2}z5#ZKGJv_-{CHS^HqMt=18cwJp8v4a2LujNw2wq{-<IzUgQJ0(RyKtj($NTo6 z-Ow$H;gpefn0_S^{Ca&9_?Y3KC5|rw;)XEFZ6WZ)c$-tVLKu1FT7N3;hI!~o80Yno zaeXfz_Wwuv_^2TOAmMo|4tRinfGO0Q-L5z55D#!;Vj~z0Kxt<5>J*$|R6OpH;(!D@ zn}Dg)N_e3H06S?E1V#YgB!W95dm1hwpco6BiiaT33D}P&yO08mN&rO&MK>vQa|0~8 z4yhu9p)uvv#uY69vfnUu9`6?%70Bacs0RbeC<{#E7zk#aB6zB!LX`1)HALf_;cW{+ zV{YvF9@prAGZn>7=R^Wz76Dfn%x{!LDU-d!fH5c_2EvVixn9>WX0Cy*OFYXc2(36} zFv{Rmxq)0U^gT~KRrr#xe1U^@APtFV;~D~WI<LEp>oh5e$Z-}CrjP)=KtjK_c?i>M zPYaI#b8}QZj6xy>suYiCgo0z>hHB7)kCW`~#E!6!%=0Lyr|AR7-Ixjyr`L4+G|Wfk zHq95HqC~7huIWX5G#19|DM53^LNUc~G>smw={{63GgM-o#Up|-cmO+y^G!xhaiQ;r z(SVrd&~Fq8f@-E#uwjf^IM<Oe5ur*cI(vzrwUVpI<2EZKQTl!$rHF>4lp+Pe3VmP5 zRmJUFw<B@|q&BgC2xZryDN%WJ<C)bhbzNZ;mir5G^#t?9Jm{kssug$dzLL#@7brGh zWy5aQlhtWzWxl^hl@v+gJ)czzay`dJgVw#!wl&!Y8ih&{v#J6&hRbti^Ojlw+j4Zc zPd#fXZltPV|7eDb(iexaqu+)ncGk?uDK_NlSC?UUjq^T<1<{zRqoZ3a7CScgpNrzV z1f>|8U9^#`G?AKytA|&d-+#biZkf#+k{MYNBxiGZ0sBitVYiDS*2X~G@C3uIaJ3z1 z+m<AS2M^EbR$JViS<{kp#$-#^57dj;D6d$o>rj;SwhIt0!v4V$5y5N#4QC4lTog~j zP#h~pAtJm$6p7|B1<!&Wv(zD1b(EKk^8-LaG&YbsJv#+pad^b0-$dhtrXjmv9`zGA z<dN@UvqNw<)MJA?ksFWkbOnl#r9uTHj(CJ`393}Z3aBc}{TY6FNwc?)v@NfC_2V2J z9<dW+D1~s8IP2A#wr$yMu1GmCTg;fvXB2_M<6{Z~ijwlEcLt%ZYmRT<;=%p<xH(<d zQOdyK;sD>Tna>*r8xU92qpfH%Wp#GNcD<qWJ?*?A)q+T3Z3PT=+kxCj%roEx%4SPt zP-#SPtS|I~QMbaIKH+`5?u|$69UU?}EUd~3D;?|AnyN3%JfRMI&5~)O!SI(kHiZ0B z54uTNDMJ}263mQ&0qfUXt<Gr{6{e%J%#9m=@*h01Bz!PxfrI&+O;)moJes#PvJylS z=7LB#3rZ>1=hf-|QEyz|7X(0;gcEX4R7oQ(6baBh$?MUsKwMB0L<J?0bfTXEVn`Ou zYy|fpqr=BN_-MMWi$l^$Euelwhw(w^=eWLLKBcEJ-q*Ock35fxVkpBfFpPLYHS~;1 zd@trW9?uRSArBd^g^vzX2_vAmV_vT3F|HIkLsQ(#6b<@4_x}+*K57Us0y7WADl!U; z(W(^*&-Jv4PULlu;QIRb_$~|sMu8JVDx#2rumN100Rk+QeguG%#x+#HMn-T(OWZ1K z1lB%Xz@1tnn(*id!674%^y^TaIYc`-VQ|HXHl&CmOjf&%f^Gt2O62S*;H1&es3$M< z;J5`Ki|Z<gjGkWw4Aq2;w-_PAxEDoW^ej(1CRzz0tZ5*nOtI+BGzpF(CFa;8H6Ze5 zp%gHKX+Mamo<JCxUP2UHGyN#s7~hLe0(bH(7)>*a9eXF&9dLBK<3IT9mvJ&?;3KW* zIIr<brHJ7c#-NDO2ZF_j=Mh4&4&#F*oGCnvI+GvBam+@;492+}0SzFd!7&Lsb%@D| z`;nM{pqX))Ii)xvkVd5JW~gSS^SDQf1q7{s_=qkwLZp5f_%#KOMnKS$Y9{5$Sd4Xa z_W<-RI0ZzI1eyfz#^)O6ytspxcwTXa5`tTEL`9|tb8go5(f`NQMv0UXPcf@0r%_1> zm{E!%5@}YCDh3n6Gb}<%Rd|X=KAA6<6q^yLPbKnz0UbTIb(N^+3jq2)x;MEGEEX+~ zzv@ZO9-c8<#s*q@)h!mw6RIjhNk~pC76-I-#?>(k&wrI_7PBQshlkWTbD#^3@;*I1 zhhwV8(R`2RXEk+G(G6>=I#Nzl9o%V~ikbx8qj^r%#D;k;X>@J`NJ^6x0HHud0A;ru zs2BU=H&>`S!{rsl4DILiZfwubu+56JUvc}^0qU^XZrP2IGPi-8GmR#Op(Be><xJUb zSa%)Wx$^kqk7HHhg%@9<TyB`nXH-YApT)M{vfFK0W}(Uz=T|E>n+<GxG>t7qld=+F zxwnV8Q2K)801TU97oK}0(sx{O9}NLOOmPpuSgatjWielnJmhjzGXMloI=#H&;^KlK zfvU1QKf~Oq>KgBN)Z_2{8kvQjQ4M(s;7II?KsXGF1#b_%F^V+=8P~zV93$v)dWpvS z&9K9g^4OD)BO)voGqz)-8Zw4}fT&Z~nX;%^EEe2(#Vg4<bFto#a*Gon%`N1syRhpD z$FF<^rLM7cq#)HLx+XQVmc??(>E?>YjNW$ac0KFuCF|{)d8?%5g2!&3kgJOAZbMsV z`klvlM8hdVMEcAOFGiaytOT$ICwt=culrp-_6;-Yss@ROWo5A*Rj#P(I`ph$2ExE_ zH&DSt8K7bzcia(`a7YXTCZqGE2<Ph_nwpM~2jPv6HM466-6Jw*T328O%th&?VL3Zs zvpnH>dq7jo+3j|y2A`Etv4`<T0AUftVM>jJQ63`nqu>*VB#P#QYC^3r3?;G`92jNo z%@_??2O(%h%qipAPS+1OAAf=1>Ik7T1CPXcrcOMQL+kolVobF)6bm#Vg8PU8MiJ|T zvErim80l6OkP20$U=)Ki;;V^Q5D#1eIN&0v5_(_aGm)G7ot`ITcPy6)Fs|1}$43nT zfE$33!W)0h2N)AGOd~u)5pG5Zpfoam(fC`CAX*8cn~t7<TIANnMa+yMP}db`bi!c# zZW`{9jx^=kd5H)H86*jez%s&ThK%4XiHrhnJYN;cZZM}%zzqr^%z!C%$3{-QPPs8h zfh0~+As`WyY}aW7h!EcD5ax*B8XzQ87Pv=hhZ6Vb5@A`@5Kg9rDNQ687$&c`h~O5& zWGdtq$s`rLbiYU76`XJ<C|1g~+J+FUH#<YdLE;H9LF0lnZO!eITkP)#;Mw&KWTuFV ziJ}UF1xU4Np2u|nMKv+C=alifBGYq(p>i!iA2BvUFnJJ*#rvsqh{|X*jQ2kg)^%iK z`ke9E#%RGb1W;GdP`uN;Y9i**bv##!TZkLD_OQw$d=RN$!c<dW2u=wh?~qd(Jz4>> zBVserK|~V5Folexnh?E7J(|`gr8H__hh#WhEAJ^a4G)89Qk>%B^Qc}M?qWetz;(EK zQrwOq0>Wen#z+DaVTp`$DqxJqsURulYdTI;g6|}gP>L1s0BJapvay(PR9Dv?$%126 zFfvH&M1Fj92a-~xruYyDwQWdMW-(u)npiGpEEX-rYG%0x9B(TgJGf1xh#4x0kzHxq z8GCzsu#5JtniHlwiYO+r)2TZYAH)A?Do!`fFE80{x2&$NSj=MQXQxJzVt&qcyQSDe zX2(bD)+=n+v1s?1RSP^<m~LQq9ydb5b_2TWm|;vec>krBSzWDYk591PDZ`HKs-v-< z{n;V=i;Ax6xVXHc?^e|NExR6`f96Ftn+=B=sWU^Ci0EuK&}~>gcEm6Y>~=kumzP{! zM&v`ZW;UBKTkHWsk^)3jvaV~o(y`ranO8H0yh8+%j`ay{Xs)<gUGe^>KR~W3ysFTY zaM=K`oXwdp7Kj-AFhtWY5iCb>a|oQ9VWYDNM!G1$2kOB$LLOyt&?HH)alNkTPl8w6 zjjGL5RmH9!i|@y%hZtBfv~EeQbJWhG8`tuHG7QWXHN^#$invtpOBo$6T^YFd#4C|) z<o^$w=&qwVM|ZKNC9BY+eRjJYo69R)D)yFea&kg*JZHUH(avWa=R`7PKA(}*foLco zs+cA;L0xC86sjhoRjXY%fkYyAe$mdjI6ET`Lff`9sbX1#RoPNJqAfD&X&ocDA+Hmm zpl{@xYIKhaKFBQQ2fVa1ie%72M9@QqU(fj?auGsqiU_(>Qm-U~Hsz?_@PrM+D34;T zBAqAP6%Zn4+Ra-=?Ij|3R;>8ACV+s6p@eg2IxaRI8=pypYfnEAVyFOud(c=JM)~>3 z&b&z#O`*p`LS~ALjzU!sL4U86!Bi6{8V)kSW3J<4WV~?)RAPSvvr!f&B|E52)Ezn! z;JUVMRA=G1y3uXd&QMh_W7;3UJao=YEp^O8@kq%+<GddoA2kF3A}39NGB8*uav+#f zBGsf|3}%Rz>+kVk(13anIdl#wJ{KG>B{&->Xq?l70YFeqm`1^m5CExMbGlxG2rH4o zpdtZ0CA?O^Xx)b555r`<KM_PFLX~dd5&*0W<NJ8VA|oi$_#XmLnL1GzJYH)ARHRX{ zh=WX?gpp}&pp<wnAA#(Ic&Ggk9?jn?rI3mv?o=8;)GUmYYj1R#0Bd3>1s{)B5fEr* z4PDovW(>oPGJSMRAUW<wLzp;my;2}0l$f7e`-jZOd}VWITcWqVOBewralWhp^vWo} zCr`M0Ax+W`P<2$pOF0Y!NC>ht0wDDej7VJHaF7tj#Q+7B^!o&F6i$I-Bu(MzE*A4I zf{)KL0nW)F%aSlR7%ae`#9APRn^DR@t|}%4CmP0pOL&VRo`2dY8UlETgg4IV!;_jM zzQabND2|J?0SCfpb_<1`B@<~!1CAj|+=C{JLe}tnp+Xr9k(k%W@ps(7U`$;T)FGh^ zYKVt&a(5W{2FCZ}bH>^^jEZdH@9WRUG0j1xij|wRK`>N6Bz{v$7|BW)y3?p~Lryij zv71JfGiHS$a_g`p)bj;Z%2<grxI25tM*wU~>_2gEbi~nW#d-o^2#c!W*2!U{I@o{^ z8_0<W&0?RV4OiU-`-caloN(_cR?`hVeJSLepsEoZhL8tt7CY*$HppP?R-53B6rG;5 zINj9>pY_a}Lo^NK%4la9(E?Ia)iqXfblI^U8+wM_dYqA1xQp!-m+K3jdh9XOjbXK= z-Wl1IC+|K1^TcMm<^Jg@R)$EiQNh<6*lwxkHILuD$FA(6_CSSUyW#vafWe1OpQG!# z(F@&Ur4P9=@`VXpUS6_WZAcpFV^vk*%%G%bdz*!#Ae!lW<9yY{W?R;iRH;NE!7vP* zK72s&f!ws1#im@*WFlItPF_tLfhYv8P5c^ZfdOo+#CkeVBxJI<k_5)uYc$8ET~Z2( zs6!ADBt`e4>#i*0NL9n(@q#MFwfeD!VcID??rZ!TK}W+dOJdje=u}6Sm3D85d%>(w z&)VP_fqA`PfA27kQ>f~ib-$r$7WAcOwl}9q4gJtZ`WS#2=7wS9teo6AVY6A&%x1K0 z%cei0?+1DYk~oXylI3zqw>?LzM1VnIAvLXJ5F`13NQE%PIYOt1$~91}QOY=<nv}Yk zGt<oaay=Sx4*2-LVJP96nB-s#aYaQrUv1g+j%35V&~+=!Ix52ZJwgC9M?HlT3mM>B zLkGHr2YdWZM3`#olvuZ{Lf`k--FdPp3fF5lT<fJUaL5xR7eclexZ*w@<BGY2^TB<T zn?muJy)2=}eZ&pn{EG9rJ0dqJo+zjgbUEHn;3p@0=sFW2G7I9mlP&=$HtGQ(oI4}F znudsgjD`%1zm4^Q8<{RLViLE}Q4@MRaM(x3M-2ghV4Lt}ir{zv5|Qw}dJyikA&voV z9)u?Zr9*&hfrNzOw_un!ejIL09^7kC<sc4j5{xi~kO{_2nn^hrUsT9EYAqW`2>6NM zr>iM|If#)pMUo<bI;B7<-~?C-#bPL7IN%_~umb%E%p-@x7`Oq1p|C;#m>JIKfwuuv zaEC;AOhe$tylGO34TuN$R1Hv=H4G~^0|n9WzKb};!hi`+^e7z=v=pi=*w|jPlz~!= zY=#o^1~<zfMTk7#o6S-Hl0z0{-XyXQc-bM|hXJDmI2;8G2$2F6bKoA~?1?A}Q5-H3 zS67G954c4kQ&Rmso*EeG$NgF%n2n0S<T|~|-9tzNvEwKt$tdCNa*u1_4laoM^*thj zAc#epmx*CwxEKY(h_C_@bTO?l<KJOq-h4j&Kha{&u~ueL6hDnAtuCS>f_MTVx+Egk zDP5)o3dCkKp{Rk8*TRG9@xlMi-kWYolH*vKA3%!eV!L}}<knU5qh{v)-=^oBo-@;3 zmD#a}yREv25SSmARI|vgd4deq$?|Y@RS_=0#RUk0dT=LDF7?&e-0<j*W+^l?=sO<} zm}zRv3^!-(a;nxH;gmdoY<kaoS{6VMl8ydVU9@JXdQ<=+@Ny6(hmJw17%=w=Jz-8M z6U>E((7KhlNE!~)RB1=OC{eC|YiB-x`v>adqvXxx_&t371M9MIJ{@%U({(s^H&qJB ze!JzHPoFqvFl{%uS27H5iCf~H)Z#>Uw9c)u*-o6_R0<YTsKOgqHYW7jhs_mxD%%>A zt+OsqyuHEO+N0=grMR=*6i(+8%jrNVh3hL-E!wuixfQl<*mB0bVcv)WF##^3rYqbV z-cFP(#PSU7%)k8g-*|Y~^YgE7obt%q%ZdBDJL+lW?|=V0zaD<(;nOGfWumplvYyH1 zgl{T0H#hw9<qK~={Y0Cbd7iOV>-WRc_x!p1nVYLCh-Aq|iv?R7FRxFOF5g==?52qo zSW5wSk<0E75{U)f!E3Btr_Bp*M^$XuZMRI*%(5)PE;lT}%*kjR4hKr9Y&J7dgcn16 zEfSGvqf9dsiD9@)u2oc`07{G7Znr?k6uLV!6y!rwM799JX^mD63Lp}jNoFD4*_g0w zMYyP{X%NLZFALzL6()CzRU!@dvHS4eiY3uj?(gpS^zcBI<aj*t`SXo-0_K@zU1&7+ z*LyzgucW7^1MAb7**DC)!nB*ULuNgoWdMO;5F(rJ&8g9-Q=!#~+xt&ssjQ|TP@*{p zuoTvQ{52@z?C!jo^BlosGtC^8Np|M4Ay-(vV`s=lz7Ibj1EqZ`ERvC=$(oJa{4Qd^ zJD!;tas%}2-{6&Xj?j$KgJ}Rp!5oxG45TnHyxXGGvmDtsN4V{#z@!zuKRn2QZ0h$% z3^g-Gb;clYGa9|G8GQ{#2-M}Exl!wM8Dn<29f3D9akWuSbc{8_wObnvO9+!#%YV{$ zTV%Jl{NDK85dZ`@W<VEkvPY^r(1j&wfpsAQz$J+K_x_m~q!doueF<joWV4g?9Pjzi zGNtUXs?=cr6m5ZZg3>=O4r>!ZTxr+<r;+M$VJ0HypsrmO+X6a?fpIn>AT$q`LzWmV zk|oc2R#E>)l_I(^c<)=|BP@<Xx{z4W;VsZuV{MQrW7qS@^>2YYq#0vNa6~HtV~qq9 zG08|iVz?6!4bPz1AZP}z=U(PD<&1e6Aiyc^<gzkvHe_45y}9E0;elzlXSY>^YXD+K z(vph|n9HaLsKHZF7Q;~`kO8`K0zRhjz&lWBZljO!V|)Mpa3Uib1sGAjkH*NX6WPAb z-cz(dpQne&^*{6j)Q6G<LQb&cIE0^_aU^Irpc|GTDMjGBri?{|w$VSfv7PI#EooU0 z$BH70<4`R0y7GOjYf8?>4$-I!ZC<raO`vlgiBk478`?5YR{O0%{Mg((IRLC1l(4wy zO{NI;m@Dm$b%UCwb@%QBhYAHi&$I9A(7It9YEw+|);u94NSR7?N}P1a6cGogDJRTE z)v5mdHRKqT&4&5vN`5+(IaHQ)x4R-UscyQbzzYFPyDP4H8rEjB;~ct0)x4r;T*0g= z+V6&!#?`dL)?2=Q{ff?QG>Bf(k%^n@2mbu0zi@kd&%>u@-d<m6`O5RliRCPeNL1Cy zHycjJH+(%)scg-OXv{SB#qdS>-Wex6PSmO5zHmA>oM1w`rZrb+E3qD#igA5^O{1~B z-SK>S;dFjwS!Z^2OB`O=v}fwc*k4sn>xo!SL<D{+FeT?NzY@<+Z0~P)*zb5*p|vw{ zTsgnKP_J)kZ6zv{sj?b8oeng6!QGjBPqhYFC~lOxXRaFvIRZ;-EG<~<jcJ;&X~x|- zwF8IsNLyD{TWRfD@_}LIII<__)5_c7z}0?Ft(CJiS_IJ@3k8rI`AkKG(M@Xwecke+ zm+$tg@7RHI%+VoV$@hCR@A8Ip0GH#LX_$L|KDZT%8IIA`#@bVApzDz(wHJf{^&{5z zoz;@kbu;a9jvz?Og)&WCPZK)B(mECt?)F#ARr;~vp4F;kWw&Q4h8OiUNTR=Uv<n^& z-0c|M+&H(DX}=|kV?_>iGYFD2)Z>mDqcwL7$m%Sc39lQL2G{p@_&h;dv8a?)JJ{pw zo>C&?J>?N6B4{QY)9iFS1`*px8t-YB03+2jLV-L5OyF`58+!Vm6De5%Fn30oXiV5P zY>EEV^L1YmI6?J_j@Klbl?DYA;nxq6q-Br^hGQ0(J2k~G0685UAU%<}!PN)X^URX9 zt>k6LLE~xBx)TJM3jT>0IFPa<3BR$DkzjiM@9lR-01zk$7y^(n&rGs!jpIWh^f`#Q zUVtp*>1G|d!sB}ZU8sQ`&9e7Muyq2QMl?kxGVOyx7}2!-UW!YhQ|hJ%NV(dYC{;uK z(6dEE%nU*f#@YddXc*BA#vrTGe<`q@Q(ezpOJ!vxL;7V^eWxq<#|Q*)A*&;GXAnS< zN=4Emf;558rD{<mkXR&cGKA6E1!ofjuUJ&!PM_xpAf0HdQbyA8gi+>FDH3Ra`ha3! zVT{9t?k=Na#`W%++pAl)yDQQQ<M3=vh!ELS4y*dBcNyMuaA}aKdA9`b28yQNEBcX? zzQaVw;fpk|f>(%W42MfMN*c(#5S>_rruQ<xm)3z_X#k=ATbCb0fb2#W72YKjYMGH4 zLnP@pvfky|4J;L58vj?Epn+-qTLeT>OTiFvXqd=Euj?s?S?`x_g$9IlZFJDn`+mK? zw>ASR@57cXsyB2>1Mm;dPM3eJTIyZq&?CB+RHts70K7Pf*3CkP*yRkoJH45ZnVj1q zXW+ErrEq_BO`@GF0Hbw16)71uD8`(%b6+O|5(}{LeS_iPx6p4#b&dW0hIyJ<bD_Ag zq;zJyqa~DS#;l^9Lzw3ctHHS?YbNOhn+jwys)H#1KPd)oiBHDvYD;B9YmIhZFe`Z7 za&>dZw7cQd;M4sd+01XOPg9-e001BWNkl<Z%Zar$%9vLiVi<e}D>RJ9=daSex-jjM z-5$!cvaD~EO>pyY!+AZirczuycPN!mWikol=Jpo1N`^}3S~k2j*5d)#FvrS1_iWmR zJcR1q#|ckkH%*j)<?R*Lg>OIq3lI1AygmNR+sncX#M)31g+Lyc<E~qFw>RHt*DGDO z*jmv=ZN<p8f~i8%>FuB>d<L|Yx920L(}~mhnbuakR$h;<yxPjA&!4Ep$%Hk62oXlo z$p*0`>!btp<A8Srv=(@SX*&Z-;T*(2B*-)X6R8K7s?J_KA5W~y!gh1bY=sfI8N@Ps zRT}Sl6QO{LnJ@~IgK8msv;^&#bw|*Idx}6C7soz9DIr5nf^?(UOsxfT5#5MYw!)1| z>ZvCMhf?&rNY1fx_v!9pM@PV7ME>QXz<AvSBl`C|QQtFI&qwNJCN4HzEh9x<Ga)tq z14k1DFBUgqyWv<WuW{u5ZpYQ#j`P!3q1EUg!jH%#11@LS%uqTiV4|#UMhks^SyqvI z3seyhiWLUV6{$1PGYrQ0yBNTe!pHY+M2}fH=9;DAg;CWno16mAfJ8Qw&{#5wY-Gqu z2eig18#r2KkfZA0#Xbw;4UNk)u$CB!nPY2Wz-ob;6YqpT&q*+#P{8`2do!{J6%+D3 z=#vSF?C$UFcSis~n{t_q=;~0!$o~0?az#@<rE=rm0Ys$0@H9#(q{obkaciuD{$ z7a@WqBVY*XrFG%#1X0A+_3lL97dlAUFhU*b02~7U5<Rj5(Hd=CwMFVO4he*rq5~~p zZ6c&-Y$f#Dis6*^8-|gRdsboqKqlFVAgKuPf2L%aiFR0i`<Z}709LbL7@ma;XYD{H zqgJ@gkA4geYg@Y`)#tQ-KQkEw64SUXjm#j&SUoXMDvDC=tg^ETk-R=V;}07wA!Efe zsTjn&)0L)STO`p5u$gg*sD+58B~*6;qqRmvlBwL`5#_11;x-6R?`NdWr+5cO)1U4l z>7yAPc>8BoyvxaZgd4PWADgAtU_7s&3-u&yj%Ud5l4MF|wBCJP23fusLZ$n7Lc=H_ zd5vsX81%ju*Y9Mw0{4$VonzW)5j_IvUHD{pQ-Vrb-{Bc@(S<8QhVw#bY{1?5B6DVr z_4N{$G0rgv)NsHcTx(lg&M}C1WhSfXmB-LCPj7F$zP!+`Z}{e$Z#szxS_7XZGLYOA z#|+%`_Y3JxO?`_6cVo&5`K~i#j^1y7R)v;yyXY>dKS#Pi|0O{%4mG$r+ufGK=|rqb z*-#}D!>z!;h4jl>Y&ILcKa**<Co-8ZRc|TIxdmA#wpZ6g?kJ`3`1qC9f=$^n%`?8+ zbN7dd@JSbrQ8~Q55p!X)yW;*&e_-D2Xv+(``+K(6d+Kh(_2!PJrzdvXnYY6M;eb=i z#Ae>HF2Q!UrR9nxI6?H(5j>f_@^E`c-ECAZcGf(s24<<i1J3^bmfTF-efrGTrx%Pf zXHG0Md{RZIXpMF}^Kf+osoR6&bS5&fTsbc*`^`Nh)TwZIdFA!>mF;#*hOtEO^Ov7_ zeSP8fc8`~dSQo9|253R1QOdymWUe#Iap7z;c0Ccx+N&YK^UDjdNM3!~FxQItf@RfZ zSZLYTHH7z>6nB*mJudw1hwpfLdg9Z=C(5*=O2mPLXw*7&yh<DqP}x1nWfs|}Vv@@> zWFt!{%CC2mU2H*;#Hw>ArB=Yn0IMo9%{r)RlKpq-23e#prSGavBFWa7?9dB9jynx6 zIs*l%K7^2}HQ~1o)k8*Nk+>Vlg1Lz0&CLyYTA8eHPLRwEJM@n&z#xmTah?jt;~Rc< z);M78M4k_L&*g7E1BL^we`ap9PLOlVx62-Y##mfcxFUjSGTgy@?7C_G$9Ee+^oW1D z{=H8wAk4uPa5UFWrMw^@73>*@)j^ojpF+}k2K`<6ZWBJX>`oiecP`Q(6HNBF7#c(G zocA46Quy8I^I($iX614oA~P|0FNC9jX{5%JAbTnMKXzWm?~-?0`On^dcLb0j&MxfY z&ju!6H*)|;2y|Qq67-wQyy%S)J&G3)Nv7l-q(GReS!7se0@0O0!swo~78Da9axVfV z>!l`B&l%Nf%$$Nz5J~YgbcME&G@Mif(-j41B+(ilD+)LQjx?YMbRASnya3@8CcM5A z{z%8d6cIPmIDxT;YZd}-MEEiUz@uDdg!(=Rq;<tNdM<H4GzpdBn(no&0(XxdkSnxA z(bOK%bu-+Z2mxC|(F#>j8uKjR0y?oyWOkD5>0phd%o9{?LAPcdFuM_mhMY!?$AHMD z@1PuD!x;BOd<eM!TKY82ncl5AB%O@msGvxPmkUwFR?J}Jaz+BFfBVk?Eii{sH~jr$ z0jdFV3PS5Z2gnHKQt@K6Rma#PQfp>FG|1H4j(4XVD>XU9qk7da<QF+1Fr)9NsHy&Q z*DIj+4uFfXiLP%*JR+28MH<A2PCEVTn)-~(@3QsC-I%IKME~@G1C}tk%6g`0d{{sW z+#zXzZqi-DczSwb@ya~UFio6KCmvsqyuP0J*FXQ2V^d`M>FG&nF-7CCQ0l?E?mKgL zRLl%>)gEslXCCMa4&g>bklkTXs)n5JVn&)Gc`c;t#Y7SSlp8EO)8&Kxj)m6np043$ ztZRU!WZcx}o9hQksXRVE0Z3nfxf3||f)}7DT71eQhtmn0c3j_VnOrG$D*NkP-P}=6 zCuqU$YR@-+_(Vja`y~ox+Hm*qncZf~c6&u3DVFT&%(O2|IWuoJ+}>Vub92S!W-F&L zC#Je#E;Ex)>^EEHI&nIm$@7`A*#HLpHs4ydxD{$vuBIK6IeA`~JlPassz;-}y)o~1 zKoUT6XP#!-vasLIu+>Fz?c7+Fm0uqp`Qsn|M7D*erx#*PVhLhSe)!=BzW?PrHk%FK z+&B{xUtWJ<Sr+PU=F{~x>&6L^;zsd_Uw`<K=a)y0$2aDUlXKzcAAaQV<(X-knCpg& z<c-4N>WWYIH*9ZaPJR^rV%Suv!0X#9rzLoKd!xNAeD}BiiF>6y6n47}W=XiQuHC8f zq<Udl7U8Z3Bhu`}i53?;yr4ic%ysU|%sI3Z(HcHg&gT=!1|Jl}oq-NxCs(O5ay9^_ zBE7W!K34E_VNoW!>E1Ah%%rU&HZ3{NY=VkR7^FCdV^6mSFaW|5*3+5O%YmAOv+MiP z3ocDqE*wrbN=mmjn~CCZb^VFmK3ISHZ>+vU&bi|eWX4cy@D5BV`xPec;hw@E{UebL zEH3kt;fynl@X--)BDt(fqV*UA83H%DJx&Z488?%jhU_EO=a&zI2F!#*atguwI*2~0 zFCyUmcU~~lJCt5zm?etjyYM&@IW`Jv@Zp`AayG!U?jJtS6!u@n>PB{6FveRa{pJ!d z1U_C)_RrjYcLaKq;7cfUc*(hJGg(3@?-Vj2S`%DEGDvx*eoI%x(F9g7B9?;}W(<O- zzZ>HasXW-y37=&b*iN*}x`%C27yw!lnRviZA>s7O<dt$^KWf?gIHHPXMwZ%vvp}g} zMtYJyB7=|-L_m@k9eux`q_@=AE)(W*1PB=m@%+5Z(@2#X<ISv^_U>4ur$~@Xc`co2 zNn&Ie;}BQi=)k53kn5Eg?_e+B9q$$JYc7l>l``a;iS5l5kwGn$B@H*Np_yhkBT!nC z#x|n3fabdYJu_(?#QQM&;aJ1FM5LhzhRH}pk9L$&_1-E%ntf|?0PqE1iyWwr?KkUT z1Mu}(t?F}TDzA9-uRj|?MzQ}k*Rdu4K5v=X<xxh%%rx1(RWAbClwrW^as#tch=Q?8 zp?9Ws_tE;kgS$zm%oQ0TsjgJ3j3gr&XL(W+j$UWr5Gl})%x+L+2+7NEDD<($yF=uq z(2&g2=h6Yk&|z!m>)RWzhZCnz6`jSBFJHd!{rCSb?#>#2fmS&jPn^~xH@hv~nhr3# zL!Tp`oVKWnJb<>$)z{+h#_e69ggKrf`~@8{7J5mh^(^6trN-1k@}*}(NfDj%+7Gi5 zWJ=W{8ghD&V_~phnyE?iU%JC&nH2BUry^)g_a>0a)2`c@EEUqI#i`qg_WDYhtd~7S zxQB42u~N4iKGjdCY@xBVl{FS&z-HoRe~WLF((>^658U716U}L@6GET4y}jq|?w;*_ z$Nu$>d?_3f&WEF_9-&>SGHp8c2h&_B7Hqd$ED!9bAWLE6P9@p6Wb?c(SUc-X08V63 zeB%CgOIsIy`uQgghgZJ)?r(g1cZ0`*6SVUin|VundB#o$iotqv?Z_-=tTo#DNUfhS zQ?(}mFCvcKlFi20xN$t3c>Li9zP!Hjm%sj%S|*lQ$@R?3)53l`aeI4<&Yq~58{hx@ z6Tg1>!ueHIoAzl~J3*}MCZ}w)j!O&HwlJA<IGibcCr-pl{i?N6OXcO|1-zh}z(u^p zO${=LXiUX;dVS;hQ8$0@ul58L=iKd><ZlE%g!Yi3=Ztqo1EmrrW|gF225xdV%ndRb z0e}uGjCINn{Wo)pLt4@rWF*ZRH4R(OWLv3qLx$m)Y>LqXT>+Wsb<(R$AW~K4;(+_Y zW|myOE+@QzQgQq4L#FI|Q=n0uDr9yI{?JdA-wq1KcA8oL6B0Xc9Y&utS7R5GG~S(x z-YkHWJu_pJdd^G?!!k6t^uS0LCOto(fo=ls@9!{`DW^Z1*0bPXl0kFprCi6L^;li3 z2F`o>m~4U8?fuJ+cU)|Jj>LBiotbFpL==?X&!h)LT(SZF4ypg-?RQ6@Hvxl)g#=v+ zj>NwUri8KwLWoQWwK<6lt3_h(_L_`$g&eusX5)Qbsrm!Mg5uV<Ek#g3?<vK)f+b|) zMWEz#MKS}V(9spc5$SAAmzSg)xG^CB>I3BxaqUD+7up2Pf(R*dWL}6Ya3OJ#2`Pi> zHmHc2fJ@uChDcTzSgLP>H!8jcNe80wo<5I`;hlVlC<~}s1TDrc#hBw{+!{E_YyM{~ zGSvs(9WE^JV%+@kfpW7Y*2=WIV(kYjN2ID$MLgX^Ae##?Td(71ruhwnOwgr7a#*wk zeSp1tg?A%2$m!)75sI?*W@dye5hN&QQcl4D@{cJt0&e}c4CVVG>MC~qeY_8}MoU{U zg2<ru=MDj|OmvV}4w7V`uWf(6fcyQ~`m+Ob|7@(`_)e|0?<DBo#-Zszb1es5MkFJ- zl=)4Vykh7u84S@e3@5W`jzM##7vji)AK$+03Yva1)VM9ZRHZpYvJxzZH=bYLczHW0 z3LL@G&O`*SUtiemcKq`7g-@S9b38Rp3%FO-C0L7g>kdzEL<{y;dv@C$ks`twef_*g zVK4V)X#FyQbgVejW~NwWIiD|cId)bsFfSy+r*T$cJnI}vrz^;z7?N>uFuO%>Yv^21 z8i(^j;F6^wmmw09xuV0`k_)e{6q8jXySXsT+L?J%@z9Q;Fw~%TFAM@_Ggp>nK}5xX zq?Cz=Z$2@0JnB4i|4A2At?h_=;j}F5uCBQL^uT_<XSK$k|F?hP_3e%0;mG;C(f}(? znI^nWv;}NGGtV=do0%lIwpoPRPVBA<buOd@+p=L<j}(kpn&vC|UQufIG9x)1j+~Dt zW=@o%d0Ce;<@Fg`j%*X=2nrLPg}LmQ3*7AQi3N6B$w5SNcsn3*59*YdFD&OHZ*MP5 zR{7(nZ@AiD@zYN~aa<1=M#RFGFF(W0jLPmNkB^W1$N%_uB7(^jS$|s=GE-||#(7<N zetu>-o;V(l%u#xTyXanoNj7S2D{pU&bxqcFVcy@cueFykZ5Mn4q|b*({{H{`H(t)h zx8Hut?ajATAK?&yLGJsXVc^ENk-2rlU}g$N7}Ap=h$%Tq;-bsYztfwWfthS7h9!y+ zht3AJb>&Qw=QC4lOuK7tuCBPGeST;|AK@KW%?$Iz3&iP->rLevXNkrdg&W_p*4lMC zNXrYZ>i3Q@f+AyHWX}NHU4*(o&7if`153y@GTbKs1;}tk(l1=$AKC?15C*Q<pJE_j zhvLFg!x%VD_P^s`juWKWg`gW9s~F?z?~laN`t#pyUiAOYFw%4u0)+M8%2EJE2EaI6 zu2fkg+-aFAmr62tjixaf(SLC;@vsZl{gb!f9RWacD>w>!7of=ZNb)$~3DVmzpo7Y6 z{o<VniW#aJlUy$U2-5{NR&aMlIkz>}9s!fbt2BqaL{7&cq>&#uE+QMC69&dG^Ft|& z!aIqKOr|t02at=CRfZoxk#j{3Gv9$MLd3nL5^P3Pav1Fa){el#tdj#1Gz{Pppa%|A zk|c>Du`45V&;f6ZtMy1^YdW(q43wEc2+$M(ZD{s_%$_qCiANA?kcecEpaaPt=Ew{% ztQ#4%V7r^S`E-kKoN2%BSJOu)ERqR}_cZ~q(E1g;uk-u(0q|r*q9Q&RKI?ObY5kM# ze1c&YQd@nNTy(=dDlKT<IvDr$H0$IXIY*ge)Q~jRRV7o$cr*v5Ep_VzG=c!E18161 zrU{yEt_*W9f%b4lB`+cq&9x3|YTioMr`F}Ux&eus>S<dfWD?5?5m=c-D3QS)dG5vJ zRAo!t3zpuUEX|<~4jPS>7D<E%4(RvLb>IU@05Bi&t<Q&naW6zD4KFb0sc}o{w%{+n z{KVVaf!%IPDMl+BrdntYujeD@T6kU;Ue5=X_003@6Z@+x%Itjk@`c08E0M{sUkb$w zH`jMu-(2_eNJ)lqS{BadBc)a{8`D&k4{ruIr?nBwiPjq1t?Jc}a;-y3*4C({FzUmr z<;4Jx_K$L#DH$>=oK6dI&;?Q+&a~Sy?k9;<c6~H39Cs8ojz$T|kC{OWG8#7NcdAYn z<Z3#Q+PmkO<l0yV*0@u=u;fCSCklmVK>@NPbFI`WOvy}^2&P)uZT1u@SXE`DQrX?z zu{2fRNnCet7?gS9zx><(!Dh1oTq!#92Dc5jR}b7>JuugqSQ~H4tFW~}rfD9{Xv@Oa zuU~jNys@q;ORn7C-*bPr<HsL=WH!fgWiuPQP2s#0_M4gA=8EFZe!HdCiFvwZ@|o3| z@OG*k53j6wg3>Tgu;BIhLVDtx4g33B!j0+fikIUTN~t=JQ3@cuvs!q0dBM(_ySw{4 zMde>#`2PFvaSx7%XY9)g(KtTp61iGtba~pDIpOB>EsxL7JUzbf`1puTdp4U5pEkF6 zx^%dUQD!nth3A(i{`>#+UwM0dqtp%4x+sbq4V#>`HN174B_ScAVQFNUD7B#7=s@L@ zO#z|ScQ4JTB#tu<t&TQw<2^e*y5lMNkCg6brW^}bWje1;D_h>uSQ45!Qz<MFIQ=&l z1=9P?q{lW119m=he|3j5v7Kku-Hy}ggsn-g2_5^=QmIzvK#)1~@IB%$Tif-)6qz>w zOQO$Jnqz28{a2UYss)&#cLb#v3YHCGp9)0u-whr?CWLH>nL+CPNym)t!JBK2*62=C zx9__2j2<jVJcFQH!2nD+4;^#+e7b2YA1lTI41RXWnCyPw!22=Y1lj-I2A>-Nt7eUs z|Ld;GKV$pd5dfBTy^u|KCkhQyPMRBL0{x+YO5xFsz{PZeU;5I8ttnC>N5TQ+^E;+G z(h;;&q*DaxU11IVZmMz|)*Ju`QX!E|Gm{?WyK|sJm0%c{L+hl@3^R>oR1?xAH6mOh zYe7bkYhbDDX)+m^mc^C(9!>`o{ktLZG$Py90Yuf5^jv^(<KKARi1_xdLnopcL1dsO z3qVRybVCGDP5`+Il)5pFY&bzs!0EpRHzOlE@m2d62_CIf*BpiZHx(zNX(t5)Y?%zF z1ID~+jRzUez8=|vhz7+drGgKD@1T~BqFExgPT($5J?11cS<h#^qd(vKK*pNm$S|24 zR*^TI2^mcQ*$s#Vin2=P-3&T-t2&jQJE}QFCQFk8(fvs>lTp3Fz0ZUG>C*IF&6jn# z(;~e0tJd0O5TXT2L0gf5?)@kxV~|NUrF|*F<dPLnEK{;*hT-7R*D49qWqhRi*@mGR z%MghdC(I=$eISw9$KW81f=otT_`}N^$HRg9+grBVEtSUMcu;PCYiza!FQLjXrxX70 zfEDMwt{jd>4y(?jlxCdI3%|Vn$Z|OF?O*<t=ch-0eg2||eV!;@m?vkm+0ZtN)~ToF zwANUbh2z^Ro6UwY>vm$5>`Tftb2=}?FxY+EySk;0c?d4VCb}G1b(Zs)I4(pq+F8#_ zH`dm;d$=b8mIap6S-H_>WT;BcG%0PQnDr$$^&8|!cll}wEr+&4T2ISDc;;21j#4E1 zqC2Z_4aZAWB(jfd>gh&HDz&9G>4wic5>?5$+w6pIz`AtD$(;=2bY3xY-cCop`SuU& z>!f)<2ifTIXF40P-?N<0tZT#a%v=kVM#RF^cH-NITduD5Tpdoly?o{2{+7=VcbEtH z-9oK}DS}uRvP_smt;uFvSWQIjysk{sM3lfwu&xJPPPHy7jk$4_^+1~n$2ig=m}kem zvE6N1y+DE=SK7;gjaRO(uKE1=8)_~1w($1$M8rbmi9Eu8{KtP_C#6X3Zg;fhOv#nU zpMJz>&>CO9|6Uh??Tzcr%%@NHI?F|(T{}6>=7s0yXHMrJsLbZfwX&REv7BMv(lS|2 z3x~Hi_OlLidqSy&?Y>fK;Vo8O80nHjGoxAJYvKlOLxwvu>@s!X>s_WU(O_2X9_vFn z3SQWd)H;!QBH9~orx&O}UElFftp`pzo{2yUKOAVwiME`Xz02~nAzcMF)(lvoMUpOi zn|<Cu*prcbEV?oDR__&Vk&b!b;hkv51-C)Zxa?$`^k)PL8rJ7xd>`R-AU*HnGLzkM zla2Iz58z}bm~2G`+Ko)d(rK&S?-bk&FWnAX4;rR0`rS@xTt-iQcEf=nF7q<l2tES1 zsUL>=I)b<UzBKxcY5fe1&sx48O#UZtzdHg*C?Y~-B#TQ@K-Eq%JAC}MnHiU|c%d|f zGzoevD;df+7ciKd3zMQ@0j5%dy6*a&K!RRx)`hy1&S?_*zelbVD>$8W+xu^&Ae}U& z5#}g9tXxScPtO4i^%DwK3Wk)rg-DM8B=Ibm8|FzV<w8U+EfncZ6G@OG0CH1c+yq=4 zyujM$8#;;Zifdx?G9qhgKHadAiYjD~$hc@DK7hbN)WFkm3W54_X?<>BjQ_Vy>z@=; zzIC30o6QyGm8HE`m>FBJ+QG>V(C_Oqsz+sZf?dGeWuzR!x+BxOGx|7y8WK##Ue7m0 zz(Zgi+2`N8!_)~0mf%W@X|0hqQA<TPP!D-C965ZBw)R2qX-&^cuViSAK*kKf=n?;P zeL5T>k_d3udrCq^l3}dNiq(P@$4E*#m#KH@mE<HTE_ogHJKmQIc$aPHbC!~GMYRAl zkD1an&8tIdM`;+eG%k7&AqP34;k7V*7_`pBH0a;A+Mm&+Yn$DU@4x?!^Kzy|<Lc&y zS_`k|1+U3mCN}#GH*+Oo<$QQnB=%qb3rlN!dHlkcFF*J1?I`IS-riVGE3+4@o$**W zJ^n&Ou-i|hJBM?y91ongsT}snczZkW`1A!cV_S-<(qwXTa}86axN{E0>@r2*S<bpw zU@{&)JzN}{mR;5j>OAwykH7H44?nQ4y&R?$N-eC-X@?Wu39?yXT}~WczjnP2N-eax zFx82casX;o&bv>V>xLq?>8^vFY45TPv`~uLW;no^1Oev4g*0^ZRjtQrDU(tg13gb^ zT?M-S3NIBEk4);Uw8M6xBnB9XQKkwM&I=Ul@@$P!%C+=0F4Z|44)~PZeY!=Ler=fN ziKR8>?S}pC&(vw+*cP_ed%peipEw*2s!bn(HK%U&>~>eQ29zcTmlbSf^#$J;ZGxo) z^L}R9RIcx@ba>b*Pph1eWifOC<I1>wVp+~?+}U_xGN+aeiU?PNN_B`OiRFx~joA!q zD{pVlsJf5j<mH#2G`8lj7}uN1zy9f4%p2Y#tmaBtthEwL^3(S}GWnM4+YRZ-^Xq}l z?v?OhpBvV7;n$yk<@@ixV^8Du_7<aHX59VdFC3PIlf$yC91l-K1e<w>7iVh1N3Rp3 z+$d-jGZH?KNHf{7>^N+05W<d;HZ=Prhtnsv)68~uoRtAk?---!hshGl-V0kOu(Zb0 z>kG3vUJ7SV7KewM8-Dra7YJc#Ae<RZ_8`cVe3o?C+{-XJKB2y7w=mI;iJXf|GZAI? zBKvEw_7qmZstC34R4*tfDnFWc`(YTmUj#gou!YD#)>nNMujq4=0CKLCuH5@!4Rgpa zS_GF1!G>djia?BAg0UNrDg7P6R*<8J_xJYlrl5HlJ1e97_gJ%!&-zCP<Da$t?g#)D zjw)_|clwhVWG6}yjuE5*=8UawOCx%XTW~3`BQoVq8jQ&EP<BJn)l5a))0`2J9CE5^ z0LhyDq9u}s90x_*-lO^-TWcamBWF(K+`5uRVg;g)F@RCGo)mbMK9YCka3G2PcSk^S z0YcY%GPSjrCVEany3t(KL`L<P)xk+U1pP08k#pEmV5eL@?Uq<3-bAd;Q^v{yJg_XZ z(2mOG(i}oS-}Fq-n61y<1;8_*=S+KFb&tlTpv#%&4Ox=5C{an|M6v<ur>G<vN^fRb zKQnL)tY5MPSmY%Q#?0U!wk0JI;~ju$`&NBUB!C)=fM4?Frs!`3Fy=4=Or#3*40kB5 zwReACm&6gtR~tY+#&`K%2U$LVt-EQ0kpXJ0v62_Cc6S+~QXq7QYYoH9@h*3LSb+Mg z!)^YXszO??vFoJ2%f{<jAKO^tafsN^e2o5wNguMWLq<0mo?u-ji%QfbiKpf-P3C$s z!xGlR;0SS)001BWNkl<ZiOn<-Q)P8$nhU4%3T|w#c1&evjfLfOAl5V1&J>$?{`D*0 z{rlf|xV>jKCopmiPKQ^P?F_lFoL*Vt45$iK=88Lz!D%^DHxupL_~pwZd0v?3nQRM7 zfJN}OG<?4yTJT^0$G_ud{Oh0p3c&ev(EJ(P-P}@V?NF{wSYu`86pgpXSK4u9zTUF+ z4aN$sQ909E<K>Itx3_F=wnVP{{6BwTSr@k39S`^SoMPc@iV$x$8>Y>UmLe?f4pyYg zK&h42=OdYlAl6zif^}J0vf^I2R7UBk2Dp=!5Cey__VE#8+^`}4T`nZ94k^snT_KVu z0L*YNiYNlspNqtUYA}dfX0YF16Fsfv_Qtt=c)(qkQ5_Bk&gU~XcN=hHsuSkP+u^`W z;TXmgF!#RAb7i~TvMwv*hWT2Ymat}F+FkR_=Q}ck)9Hz;+Z~_pAE@RW+d_oSCuAzm zyi^CY(^ghvqH<*ubA!?rIY|-3;lL>tCbTo=Em>QiZtD@+9)!?c8ii<yd*y%sxBnA2 z=Wsq#iem}cLbzeU>2T)h>mzs5mOuXaTVBtPoX-pA(<|Fe;pI*DDLg%i;Ln>K)s>>v zBKYN}pSixirfmwx<B{*b`%ZJ^h0SKe?dF>8cFW<ku-$H%x4jIh1vc0@K$n9-0wFL1 zJRy@@wa(QNqETvNp5Xp|$5b1~7DOyqPFQv;YLc%m4uJ5p1r#RMB{^k<Rfp|YWaq5t z9EwG9Nzrl9?}1a7c@Me|()maxpmCWQW<~47xu1{gI@RU4pvr-xZvVhXOxT%;&bNgk z@7V%Fa_?^V&>w<|f}UYXpuV;=buZ-*X;KmP1L=kWj$LO&B4`9_HoWVv)9w7g^NtPw zf9=9kBH#bl=MIBn5G3PF=V<Ti|6wlv$=mOaKyMPjE*KV426L=P(L+{7LevFyl<69Z zB9TfcJ*s6884PY`{qN(d?QB6tk8Nkae94SKBr}s}pmPg$**O@`hj-8bNYh~%BeY{+ zQmjZRc%XC~XJtg>0VzttD3>^%=l~|CBO|de<u+D%>=z~S#8ZSEfLv+WI=&{PA|f^{ zsT+x14DYx>)@Vc~*;Xv|KCec}6%yT4>_!@@-OkDyXDn+cl_J`sTEwM)(dW~XOawS^ zS;vZN*#h>{%v>E$kq|S1X=ajSUr*&0XDCuWA|lquX0G*&P`<VkWEMb15&}(y=5P>U z?>jlx*Msa}+CRrY<ze;r7L9s2$gGEyS|~of%WLFs<f%m{N8gNfRD&98o}C2bAk6~I zsh@!v)7h7cu@f+ehh$29sinw}w8T9jRxXECO-@OF3@u>njzuJ)DQ284z?=*i)wIU@ zF(WW)?^vQSMguTLq$ub_u^SG<h=6gpx@AIJFM3?6VyNy_k@HN*#I1nA>Fvz@%{_ZF ztOfpZ;`a8IX;V2qKI84coO{Z8hG_T#TV~dCgLIz1zEG&-Y8+n|=BpV>A>G*ScdR9- z*Bk74CL%aCrQA&2u}KzMJMsGUjjuoa#8oZae%dm{8QRLSE^w|~@4w-2I<mYSskJhZ ztjo#<IG#>WW|qSdpLS#>=L{l(4e;|%Kk>ttAE~86aXx?h2kORoeEiDum!Gxsw7#%z z3Uwp>dwhH(Gr7IL#V2E-LBiYH!uh;%`{`SjbwQ%(m?g!X<)rkfufINGW=sw3%ucn- zQRDjN8d~siH&R61Xs#d#ok(E9Y!K$P3^0h&ahxuDooI~6bEh*(eRTca-6&0RW$4d^ z2BtA&LYR@}OjS4jo)$T9;J8<&S%g+PYOJwPri$0X?NsClOfzj!is}TI375@8kRo8N z8>U*BOb5#|4&2@Tf!(~pfYa#!1iR}iN-4~}eC0Wva9HDn6=$9dx5m@YKd{|ydHecA z9#=e#u!haf#y6aEVSlyfn?L<U!>OtU<<0o@*I%KT97&s4mNPjORQ}p<SEZbFU3vPC z@9~qcd1^{;JD(R`UcP{>Y;59mI`aDTNGZ<e&kq2!Sc&sOoEDB59G)6qzkcC-e4~`g zc7Mgr9M+_ro9yF~uyxFwzFl~6Hl2|Dz2vlubVdrt0L?%$zjc#$;(aIad^)fk4}5;O zVYex)v8tT1JC@nW`Fo2@#<>R?{p?WX>w4ywUw*;9`~p+uX*qH(P*T_*Bvu_aBbs)+ z-MSr#P(`Wiw!CAkb|Rn@7k~no9GlV!e*uc~0Urn6_xZ>I8Kk-FYM5{q@e2=-Bayfl zATS(|eaKjewGpL|>5SA^?{;ydC|Mf1o2hdKmmY=%X#qt#+f@@YIXj~O#zjvJGDE6~ zu>E5ItDxs*nAX-^yadST4=@{XD=d3J;`jEuBLGq+ckgl{VJWpjI*OD_5Jyg3XB?f> zbtB=9OocIWbJqd>{d?}RFG-O=x)B6~y!Z%t_D+!k_DDfwgUriwM(T?t7$PrvL11YV zuXu6lFq)$ZNpGuO38;VC?lz(up7Feq(&Gt%oR)~7W`U+N4*K4B_84~}ywT_G;BK1F zK9mS93OkfBQ_%)5^|JL@c;9j@mg4R%@=2t~fCZV25#{Zwe*p<YAYD2FM4w1Smqp{v zjcbg5`{SS4UGLajZFoJMsZ|7?Oorp2NR8GSVC|_<s-~lH0%Rm^6-&qfr?1zLn`#38 zivy)6j<vGk%vGaBlDyATh9XH2WRv8T2n;zp23R*9gk!z0nF+HDrOuYfI1HzEd?zxg z(PhE({4p-!wlVZz^jG5IlJQ6khe-5AC=_a`v{)eWeJ8**zA*1(Jw?tFytv3)YOU2b z{j4M!s4Rnwm^s<?RWdHU&g@3o40`{IBtSn;R2|1;oTUR!@d@3I`#$&PhNpA0zvXy5 zvOGSqBy4W>T*b;BXIdM+B)KM~Rh&Y#9qrU;OJnkhZ~ycc?(Xhb3Y<<SvO4>R2U-SU zaJ}DgJRZpmS|-_od7ju$6Wgis>+zZ6+Y5D5iM-+LsT*RyK5~D5PkDO6%(&Zb04OE3 zb8t4^UY<EEZ+JGWC~vsBv$UWj9G+jXQ*v{+=i5L3fq6S|@Dsbwx15hJeEIs7Y1$B( ztjil;e)*BZ@tOPkd;av-KXN=CvDBgGmoL9^eSJkc%Gsj2biWv-IOja__rLv(^KqfL z(pKhqX4?u2upE=wjd{D{<L=M6DLv9zC5)1jB2q;UR<uR>d0tnRWo2C#Zf|c{dWu9H zy3y6Jn)F5KKPkL0P#Mm|sEi%s(G+pjb9CravVs{->H5{>he9m{FV1$m$5!q9)~bu6 zS_W3Umpx2M8q;>q%+LjJjE9>C{cb93r<vP3qg3O(s8)U5?N|V72_Ze-?X@d&I2@RO z!_yZIuLtHT8}abzj`{iqpEP$<ooG$frD_VR$Ays7e#`a49jzK|U|uE(M8w5${o%j= zolO+T#_{ci7keSvO0ghLN8<R*>G_%B4Y#DxxVpOLMC0{w;pOzke&bB6R92=ub9c4l zuYZzbc|4qH>%u7$cV~``*2nk_(HnugHh@RKpgw2Hu4ED^e5|G_Ujq-VpkSE;nH>Z5 zOaM=W?S|&->Wb&{nT=1}eEyd2{_i6%apXQ4)$I~hkN#d^i*PwJu@J{7CY#YxHW<+O zfYvk&eI|@`Q^2I+lyFAP{!H(jx?heurlH%>F8=+Uj=6BK7SlTnK*55@B;D{@#y{w{ z*7e4a(}Dik-84bSfk{B7Qb8zpy*D!nx>Mjz_Gd;YNC<SB`EL6!<JTWr%Rn|W6KvSA z%OJ>1Je>a}&H10S{q6{W2vZnoNt!V{;!KqjYb2!>bhWmWKq)#R1%qgXNx($vL%hjQ zS_Bf*z%KuPD1wI!i)v<%cPFFnduttZMoUB2zDv;*J#ajXVoC=R(HV*$#S{=Gy2vXP zIn5NoHbW6=2iNc2T)>klCm{9T9#HxvLQ-5oNM@r&yHo=jX41WoR;2uyBu?Vs;AJ>a z0D7JQm<d>|&zk+#VHoqAng1Vq@3tk$k)!K<fVq1_WK?FINOrTkwNKi*(EGoPmS$<R zXGt?Xo1AX4s`3=!Zh$U+m`8T&5t_!ul@$?wFoOX<4hDm9D*+a~tr%g0KI6c$0yg;D zzn%izBf-Nm@$TIb_s)ETb$ey)Mr%sH(WWTTKY`nZ+7Os#?1rl2L@F2ATwtD=JAGRl zDGAlzRDVX_GLZtZhEK|wj7*XsTS7J|FTGBi(NX~UHuq5xv755#TjHMks?k=P*+xoQ z_FgmMn42P3d7Fn@Rf}r%uDv=C2|ngdEi*Aotlp~)YX!n7#f7mONZYpJIL&;Y-|<fO zl+y=*u?>ZToD{w5jl3}CTXINBW=O5J3_c!)oqW)wxnyG69VGpJSWaB8SHA!5M}GS0 zCs;dAU%oP3zp*|(GB@MyxbSpQz4|^Gr_-4>PdvZA&<+zb3*i@D)^9XF(HtHg9>`2y z*Ojl2-@uLOFw-uohOxa~c)hM1raKPPk>_9jLVte5PM?^ki7Q~!Oim6X55ITXmYhy^ z+#T*{t+ClF0MF0gxULt@-bvq>+_cZ*^_jL^Xx2I3&CI7eu9@^~Og?eEf8hD2pYh8V z9^SvhBI)bOHCLh~Tb!UREbYR!b^3K>yIk4U&f#!SRS`2BV_SoG-FW)-5%0$5AAaEX z-+ku!>6x{EW7{?&jP?1Ib~uvR!J0OcmchS;jJ{!j_k`x+9dqM~aNK?7b-VJ*FW*@1 z9vCdVr#`kOx$zDLIryUZZ^S#yd4oCPB{P>{^>=&+6wm7#*tvfHY`zdFew&)y5*bl) z&^?7O%cN8<(C2B^rtoY@@8bQ_yf95VF&GLTtzoUv&POa34)-VGuYcwG_{xScpBH8p z?$4k3_~|2UX{?*dlSU?&>l547Y0Jdvbdr&OJaBqvET@I7UpX8XaN&~|)|_nO-~R32 zSmPC1a{usw>$VZ|MyE3owA|=Ve`SeY#TkN&FC6A0n6ugi)+ge1Q+<D*=+l8upT6ht z?w)De`115KnaLqmPNx%7)5++G^wB^ebLrNhZd3^nlpAm0!dy#zoNIoz2wtxjUbC^a zIxizZn^c2-o6!0jWI{C9Y~#*5Q!_r?zhjvj$I~JQzb8}><}IGO$q;rLZkku&mH52V zF#}K85tecg-M~t&0_jgexJzkS2f~zcG~TH@#HSg_G?o6(dS1y#0=)<6K@Z_~b0Zxh z0y6h&F~cn1I0FXtyiBcn0Ju3?iM#2Pv7d4`{8RL3<C^TK@Psfq>$xC%C6XG^jiylc zPbL{n_ELhyn7n`N_M0OBU^=DN476z!F;oQLSf#m0U}f+bh=GgGWk}qbyVG5f1s#oU zjLmUky`+T%!5tzTiy))ZQ!4>fN=lfb0=MW!y{jzF$Q&jPZpKu`jh4<TpB6|POLAb% z^$ws%Bh5>ow0YUgnVPfFAv@-&Ts}8IAPb3^?#WcDN<=V);byy$WjSHB(b7<PHc%gE zPGlo9u&z`bkRq2Me~W@_A;lJ*iq4@3@{Tnc>DU*s8{QQ;1ofxk>Q{l5At3SD@!3_0 z!{E3aAcF1&88lQi2}=m=+0X+FY^)OO-9d(<ql!u{gWTk-jd5m*c4ou*s%O-90NuL4 z-Q;`#;3g2PkGi&=F@U?CF;!|$bkWZOtbsK-v{nwuSXH6==lO<)dMTNbjm#un5#90r z^8a>+X8(S_Kb2Cle^!&@aC3m7R#;kUt{95a)c?sEVQ=SEf2BY-pd1Ca-B79v#7p6r z!G1brNP!u{F{`gPr4VG8jKtKnosDT~eE9BrUbc;?UliRvO}sw8@WbzZ;Njtc<#b1D z6CXc);BYvQv+@4>kNofV2mbk=|C!5rAuU*3{7yF3?Mi<&GL&XPPArAe{qZZY2IsbL zz{%F}84d^Ma8zCWwk&*i`W=VEfpa_Y<;xeiY`l9oa6aFoCHt%myBA(w9{J1%j?2XB zdSz}C%t|4{O*C9)`qqJ!9xHQe%x&W9U%%16?{Me4Y`(m_@bfSKlaC)ia=l)7d3olV z8?A3JPi!vdWSS<{wR63$u&rEPo_RQ&`EWiH-k48!#O12!ZQtm915<#-=Ek?@uQZG{ zO<0>)W>pH(gsEc5YD%fXoSw$h(^r1_=_j6^pSiog<L=!VfEiU`12CYa_<XnghjCLM zEul5-s{jZb%-HLzS8Ldg;UHNsGn_?yW<y3{@-o~IFNjYOc1K{DOy*=8@^q8CXfnXf z6v1CAwQU3rFv-R;tGw*``ojJD&)8WGrftExt{m?kaCg=SK7RiLug~9jeSM+#PVX<w z(}8(9fH!(JmQQyqcXurFQK?O)m5r9rw~fo?!pqAG){H;?@sE7|{1G$bGClD4_{i() zv&OOoGp4;4ZX70U(!IQ{^ygO|zdo_F1M^W;=d4Yl>vRSW=DTnF{PWM;<;v&pKQJ98 za@!b=J$Az^0J8Akq~m+h4r+>1PFtGu@_J=CyytqIlsacJAd?#|>WByv57cjF#<#~W zKyYu;yLazD^DoPZb6c3E<d?PY2DzCrahuzqv#0n}Akm`qZKZ<_EFBJwVZ|@CvQD)Q z=F*qq*$$Cd=?f4)XC_%ZZ069CEKN_{+q09K-fK<HubUG^>r7p5_C`OW=ZyCMlZQ+q z#pBYMDstf5c=)yw7=Y$yd>;GmG6R9P=xttmBMSG;oaow@pnak2I_n?3{pJXOJmE}= zKk3D|ZZZHClM!xa^q#eu#;`)}NP)^8;hE~_dY1<s28tMqfh8i4lm1om&M;6gMY@Js z8D%(Ce;ssmxM0rgW;`ldEd`Frn2nxnCSgiSBvXdfUiGL12Q!*mr7R^@AgTQTj!n8= zW#-B;c+*cgND^)VTR9}7fAu{nqd~%(zy=06sefL8xXb8NOX3kk?=q6oFq?2U<_2r7 zcnScAdF;q=&Kjm=RJ2D=9txnT*Gz|rwm7Hr9n0as)(%Xq%7|vAtGt1<!7rnHYqvy8 zn9ej!;HFic(0#*M+f0B?N)b5?60+cQ%;&8XEHVsQ2-LE8&?x$qp<MhpHb+Htyfxe= z5@dKFUbHlFtCXgucP6H{y?O87w~VA?jQo1i<ltmt<p|vv8X4j#pdbAlk@fNX=HfB8 z0`S2fmW1B6U#t`}ZJhNHsrQDKtBVsue3oeSj&QuW1`m=C#2?Xvh@{kxUQ^E*GaU&Q zK{Kb*={=aH#@aTf^F-^$JkKo0i9g=ov-XwVH*A?W-<|pKkAI~14WAmPyEE_Jz2oue zg_rfEoU<!Eon=1r>C<~?6LGon{PKdkD{|TzFOf71ZxFHZyB~f~wVgS+az(jP(AumB z@L}P#uVii<4inMfvaRALv}kZVG$M39K&B$+CqF4j5y_Me(IGZ)@!R4HlTEA`?Rdf` z=h`o<(RseS@*jWxpIjcF+0Z6XOE@1-G#dRHT>6Sx<9gM~#FxMRN(6lT@R`%;%=GTe zwywP96Xs6qD}GqmBADliFOR?S^!h|R%aEOyna`g-vz+g>xwz(S%awK2SuFtn{?niN zkH4r|lQ)<Siz@aI%x#7(=zSwnd}|q)8wR+`030nd2`k4Eia*PNE=07JGC*SBoaCk+ zAek{p(|ua~NZb|~Fc>|y0q2m;SX~~ellpvx3|fZd*|ox~0;>t>dap_UOpBbRc{$Kp zWAetft~!$<Q--z~?>>LxxNR)fcz$`-`^_;oP6t(|iU?>)SkO#*({S9K%S9&_|M7qQ zFZ}6Ge<J8yE*F-0;q&={>-ECVKmSbhtAbqlEbO~nSRWtx`mEot*9+etW)AO;{KuCs zygt1`I?<i22VcH^<=fLE^Iaonv}eR5-vFZ&?Y`n|s(xf!lyC!R9)cvj3tM7g3*&4H z5Az)tp2?!|fLrN5J-||!T|1%JURDmiaGp*8TxO?{ysS?I!4zm!pbfm)HD0yCGlco( zr9bPkFzB0teX>2Q{!avZH86+42Wg;9-lnl<GMrUK*Atzl-0&2yCBxxRpbtzof$Mjr zESU`KR3F`JR|CVo5+51_WachUhG?09nd4DY@`lE`@D}(IZGt4QwvZ8|yY!>|tyw$L zj|TsH83gVc$8YU7M*sl#8Es4f87YPtxCf&G4}fLIGH?<@AZ})0GH_lh$u!-;RBWx6 z_uZxmqD+g5NbHIw(X&dCD=%G&I7za}puP!w(3;cQ=(ms|LxxX}U}{Z*)tdU7K_@Yc zaUR0(;*A2BbhIy^4DT|CMyWhSAOb~VW#F5E*B%5*0g9(X!d4OJFxQfIYfSTu$Hum8 z^kCRzHNK)}Q?EujFqKb*NGB3~c+=7ZBI;M*ROB1c)!otNIz6vjV5pA(hSF6obnLir zcmF_`>lD@0JY_;e#YTn^Ty1PZ^_`Bl-xOIHkS?(GYyv+JFpd^CFn2>^C_c%AT=fjx z(8k&1ZH}Y%6v&uX1lI-nDOIIubgWfBkuyO+l3+nIITD$PHhA3}rt$3T@pm++`5%3G zGd<fDv{sS%l&dq!s}3?{q#{u%noy2Xxp82=KRYudQ$Sc_IOt$lIi8f^C231Ah>!x; z`}8+br=w1$-0VTgu_=EGErA<a#nIQLR0x*C#HY_6%h7|8WWLOk_<M3Lv2l7=M$;Nx z*DL4ai4Pw?a(+GH%~|6@W^g_~a5yxY&8(**wyCV7r#3V{eEh8UEKWN%-o3x$yZ8id zay**mKRs!a;j^=)YS14J2bD3LW}dGXuInq^E}Y*V=m;~C#(X@{H+b2ugayIIx36D0 zzkA1Ae6zj0@bvP+0eCmhU@{)elDoSjKm7PT>$<T%K9TE%rJec1@BhH#(<AG;u`G=> zUwMB0%DQemR^;@<hYy_3XVz(^;k^I+J6>L%@uvB-DR_E);?Mv3FI=xzjvQH*8LkuG z{`!^t^2+=7@3G}b?;G1Sc>MOn>*bN>rzb97{(`-};>QQh?Fc=vgmqncd45qDN;mEf zC$eigy*XmNw{n_dt8~bGEAIN)z|4p&i^hPGpSNvaktz%r!Ja(`)Ko2rt#G;-?p{Fv z6Hc1&wn7NP12+iAa=cUbjgICt4n2eo*m`M(`EQE?tUU-!XNXLb_D;B!^JDZ*r65gE zv;qjU@^{V7{ihGSyF2oloh`dog+ln;+JsLtY_BDA+ARI&fB%0t9Z#${r$giO=O6j} z-FLM9%G5jaYJB^jf2CiYr>7^Lp1(0!<Nmu(#4_>p`lKlOAa_c)gYb7m{N1zUzWTeB zgJ1^fY?d7F-|?4!`O0IwLM}9)$XG=KcZ^b3dOVhBFNGP?*756=?g|`m-&jw<byL+Y zn$8r^KEP1_Li3q<b1>BJL|PX{agE`Gnw33aCVf);G;oekfNE$Vw+6Xih6S`{bVI8P zW@trKfuhW0>{A>VDqWxzx`C6VlO*22C#5KlCj9~=V8bxi7!+(Y6i>=>9HhUXzN<M= zAgoTpW{9GyyLAjqasnu5n<cAmh1?3Jfb`nFKkpyB{pJV&Fo5FC=MpacU%y8PJa$9I z6agr~>A;A@m>E4yOJ~SHwUj_cPrS7~QocI`F2LSPp84>=k#HsqW5etF$b_yml^C9T z@AS@YBy}%A90~^+M!5QI^<DEMb7LC{s@mv6pk4L?t&k!FB;C+jBO(=`%7lPSkSE`1 z(XcHrQqcl)frn9Gs4k9^mqE|brk_A5R!*2AQCq0wVHPl2ik2yP$1<fz&2StV0xXn@ z1Yp)69f3}8cRDi9N6Z@6HDm~+0D8Zt90D%~tegHV7D*Yk)Z7@16e+^$J%8KGjJ|a& z1!7U-*#WTr9V685x`+Bby%azOk(%2~<@sylSVjKpzR7Q6*`w$H^{xmV0Jig|JIb#$ zEeA)340;b49wxrXyv>Ckr~AcS8h&Jo3?z=^tLz!1>c-X7yxf|3Vi<u|0MY_X@7Xu3 z8<=&ncd+8aeT*^y%qKFWe9e?f*W9t;$k+V22V{`bjVH~Ee+?{kYHC(=cJi62HD3G1 zbXYK-ShtleL|UIEkJqhpI=`zGCU}3k+xe?+ozBYnd?qt_dVFN^nR%XYKQqr0r-%16 zZ+!5D^qI@^llZSSG6J6_?(g2w+QjEipZWFDx&M4mXT@iOYtSZVwj)!UST_S2I#3Oc z^MSi}4**=E^Z4`?2y8Z{X=3~ONW5J5@b1j9HM(Cpv}B?4{<QGner8>vKPPLfJls2G z&qP1c8pO8pdcBZl+?~$+a``jOlC8gD-g&-Ua5ve%^F+^1WXJN#%k_!pufH(QGao;E z<kP25eEG{OFON?c$?Nt+`;fdmKk>_7{)5-oSC025?v|M~FR;Dfablu#=~rH!U-;!O zf1yV(UxRs>xt>2TPcz<J_3Vou_LV9CWJH3TG!P%kvDaLVlEz8NsTr7I={4WFhZwx2 zNO~X~F_*EPr4QVUP7>B(D!vDyuNzi|e)L3+vz{B)z$Su<s5ZISF@`cMLd4U;j|6jw zAk4vy#4u~jv(r3aR)06^g(H&JL8H^VGtq-}lk+!~$sBe?1qvE}_`{!=`wM^m^Pg#E zEN!OML42)E{HH(tHy%EJBBJy9>od!oEOw!P`I)azub3H23(m{JAAbJ>^Sp5FE13H2 zW_UJqLilZ-fIamlETIPqBtcqJ<tI;0_wUH##9G*yNg3)ltlJkt%`k(hX_LG^ZP?>V z^rRcSURS<7Jrmni{TeIVY0v|e&4w5&nx?;a67{}_;M#@fqPJ*1Dg??o7<i}qFjW&A z`efRFuembW7R?OvMz9eXa)iC@j_ydE1ZV7D%nqb+i?TOnGa8M(9~ShGQ)y-h@sG)3 zE&u=^07*naR0sX^zgB97p1<+qXru3Nn?Er#`-<OAucAq`(0sY{Zx5|_`H)9ox3B)e z+i#8lD4J#?MFd9LgL%+g(OEa>2nck<IT*@4-OT6-ogmS{PIO2VK>;zG^?(w{jMyW1 z<2wL%+db*6C!P={h91pR#`pjred%CeZs<ILgeU{8cs-(oX!I#%Ea^t0Q()Jngxo5U zUWR0IZRBLrcrrz|sUl27>d_5)<yX5q-JHN!d$RVmswBvG8$dK#WFkDw5_BoFJ(`uG zMP#BS%T82f2Mfhe%w#-_>&FUAX3~7rfEv$+v9x_U-_w?bEoVAQDUwE-6zHhJBxeG0 zM5ME#a%B*Y@|&KT4@Klnv^LPd^7j6ErkM$NYqB+ks=g6`_F~8ZGYzz^O9-$k2bw9P zVt}2e=2eO>F;Wjl(X6a-DO#^ci=$_#$#58o(o(ea+Gyovz&N0D9dzArL?c5}n0oJs zgpPC_L%$ElYG>GbAL*LMkUUw@dGvSCYs~Q&o9Hj&7$7V1pJ^m1<>@AR5Kzyf<R=}> zsd*C*m=CfiI_ycbQc8srHO&plVZ-TGN*G1rx~R$FbXRi@-C|_+02<5jcx0YuW^cj~ z*Y|x(n8dRWAMRO~nch`#1;E?P(k5(j?#@T@htIUrflHI)vsv=+`6F!&Mp}Sgsy|aR zzWeSIf7v#g8Qb-lZ~e+x;{Wo0{lB#9h5z)w{WlIRxuDb1@9!RXI6v^=PURot<%NEQ z*$?z9EGk|E$Qg^KlF4{0<7?dwmfj`bZbmk^T&^54`Sqv2k{u3r2R{7%ztZN3_qOuO z|NTE$pa06%U%6xB=bwJ!+tXJb9v=AN!w1Za_1jOpzP>Wi$?FSdN4Do@e)-p*Md#B! zneh1fRVOr`X00%E+i|?PfdvstxzuPzOU%T6X5xbJJqUjREVKdxXr<J~b&zS&BgTzy zDTAI~{5lLCwFqiea$?Jb9IK*`nYabyR&sa4jHHv1dn8{irIV}z67E<O&ljee8Ld{W z6;N<MM(5jAk0Jk)`<~~XnJg@XC7C*p;?NGv%N<jjY17Q_zW<Ta=|npmnU{q%H>SC9 zcWgLU+=KJo%(Wb(k9YTc_xU@{OYMQEK3D`JeFb<!=O9ytDS(G6B2l^b;f<HqSK89) z1Z(dq))1*+jg>)b8qa9sduS;2#+YnoyQ)gs*I$3-_4$RV$6ovaL_-<ynujsB<Jnt4 zV!}Igoqp2q<Gq<Obl>&~Agz<F^pROb-lZo%?=b^IE5f8xVMU~Ggl7Pl37+dcjUgLl zGnoQSWI&hm6$TllcYt0vmif0l)2ZN08Sb7yLZr!FvV^Gg-@eb@PA?4*HrM>70JG-W z@viy9Yo0_1-TM#Tescs6|By+LJ9rJ|>Je;Z@G94H7-CLR5xm-riGg9XAz&_E^9;<P z870UDk<cU%$}JB(p?5E^8Agf#2Oui71xk3!z@<?NQ$XS_LCH+EECa?2%&L!So_bDD z<1+&cr8b!an7~L{b7Y8iuuk+YfhwWO0*1_BVZvO8;Apv0{ZhILL;*o#!qV76b(_6_ zy4TWQmg1Z+#->ySU$t>i?-ig$Pb>^ahP#=-W6X==L;>w^poYSeQwBcGq&3>%$jhc2 z?=bE4(AWgD1F&x^3B9VAKy%mLkgb3!hT$tfoZ6^5AzA_a&0$_y(TbucC`HBGuvUc* zYkd3aP|Bz!6Dc_<YBQ4qN*OSe0g`q9n>OZuynp<zzq)VCkBn(KRhq}T*1^4Dxe^id zR9cN$8Jh-}HZQAc&}gDV*;P0){L`K2QpNyAGBFkXAOjMqNNu_=`KY1oDRXbmTF6Wy zov@M}Q#8yButr9*v4XJ&rowcukN(+BiH|ll6(fyEZO)F|JK0Q*RJW4J(8^zHO-?j{ z^(si<PKF|A^L*fRY(TK}PDC9rXb`=lsyU70{jBp2LT3n^&pH>NM{+)&Ih>B<45#_P z^?GIYiTk@VxdpH5l{THkUlMz^-Z`J|czJ&Zz&M$6+g5GLye8*%<o(?{7N2;{6?f;| zr!&*3!C9MCPai(vPp^c*+BcfR`FyvhhFBSs^Xz*imEJc_hXWD8(;B=yJ@fqXRXk^} zTpz!3umkT;A7o4c9A^4lXTKhfOb(X8<jxP@eb4Fqj&)u6_}yo|JU%jcqpvILwevsz zkN=aG>&oZPpP8*=kzB7=nypO7&rCM6_7@tC&xU5*F_-e}6={AePa}{sIApMjkXTK! zqd<bL5x!*V-*2BcjBT;2?R=h@a!4`(V>p6|uorH+13(Z_ph_a!)5y{nQ2n6r!CXP1 z!jj1r)=g*7m>EQ2e#u`3VC4iSV1YOF*ZqbQ5z?!f6MfrwzP!?wndN*ZKKk%p)ukL% znmLKsn0;oM7N+}&|N7tmJ6|p<r@Iq}j~@WIt}lS9{fuB(M2FoOsIkWoWOf7G-O)}e z*eq$5WZxh<uUGAV350tPU?F@7$;{u+S0+5z!l65t%Z1h&K2175qB&!wx|clD9Nt1= zwLxDfJTgNO^;_GEV|d`fzCx7-BM9SGt0QJiZbaCQ!6Qv78T<vAPHtNTy@Zuc@kvNO zjOv5~AI(82L!C_NoybIL|3;sI=eU9Cpf$tf{5Gc>(#iX6hD}O!7JhHwPOI|2z4+eH zSl0?vjTOAwg0bVb_Axl*nE&6}Z;k+v1*|)xL;^{e3^16;6jMXPO+XfejFE9;8FZ3Y z0}R89->r->7b61}B`}$gU7)abqD{1^F}Z}-YV*sM8@<PFgqRtvHQFLWD_P$dze!l) zxx)xBqJMRbL`%P>{x>sl!&`%_NI^4#a#W&M#2(xoZ%v+jbnR(~WMeGD-h^LEe}PsK zMnq#o)=QBTphbGoaNMjhWTe2&G#3Lzr4$3w=#f|&ifYvJ0y;_GkDk}+#sKf6<K8$g z?^rl+cfKRKQjgr7W+7)Q9HN%W(R+t;)2!iurQutWRk9QqZUdgedzC)ZGJj^$kzwHN zO>_e)$_Gh-Rw{>fa@Wd6vMc3jQWX<3gL;kvBnGB=jZ)m<atv;{@&b8B4#fagEu(^a zV`^j0r0DAk@r_9#WCq?EZQo=zc&lzK(Di1RH&o$=o55b62gUZob*SfC89-sY<*l(# zVlM+&j+ZvlCDSB&1nP@rDFt&~?@1>iW#nX)Qym7xc+;2<0<@B+>ooTUA$nzs&oM_S zh7L%vWhQ3HsI|T2s*SnjNMt6s(-6i`(yIVPIbzj~$>eZPo*b7G+qz=r9Pdti{q}Xg zZuZ9PGZAo@j~w0~d3}9Fn+6;1+H@ZYnQ)0Kr}LTL&p-0z*DtJ>7uwV~O%t!j6Zx)V z&H0+oOveLph2!0c<#^z`@4ttXQ#KtBoZmm->jrLoe1EU`E5~9!%(y#u_eZjI$X9;( z>%U_MEgigESH6Dz#&x^!`yYSLahjRu1-C}_;Q8^9^Z6aI!sC}m`qL}#A0CJ>w(W(( z;v5%O$;Sj=?qEJJ;c_r8o!4(qxF<)0tzR%RF4u1y@4$E=`Xia_OdvVBMLKIz$-Eh4 z<2rc5`{?%!@iTxSC$>JI73Z7G^yo}Yb7M~Nl29!(OP)i#2!z?2{@fh;hU3jqIvm8N zb1_CSg1@na?9Iw>2IeUM#mER6x99p?dZ*-8j*cESRbdGPTpHI193*l|!fDe?HzyB` zPoJAo;HD#67)CFdfOXq=>KmVb`~zGrTpRrOryl`$uJq86nreWeX*E9H&?u7}bdJPa za{@3NsTr_I72;+R+g4fzTZ0^{uI1EYkmg{TpJ7WxCXX%nHLrYHCj2n-`TW2S4<C89 ze}xEEB-e{<?ZUTU1pHJYTv{@7peYQEKI{!#xbNmzgE?y7NAHEC4jH1qi|Z2OtwRw2 zrsrB35pV2_S`ibzI)lx#oSEA`wI~cJCk*N95m4FnS&Dy#em1M|l>xuT=!f_akPb*) z*K04&UiNof=X&>CHc*7d!T3FqEG1aTzGJ8AKX&`g5kO3mDFcB>q73^42*W%T0k76` zLagZmw0(2$hz{wQ;?sc8M!vyw0>J=7g5-_N*q6m466>&$G<QZlcICux5W1%|fsb;h zq4yG$C_}`Dz^RRNnW<h4pxkeL-z72nA7cjwZ;H%@`ghC4)BD~wbA!;|3;{1V<_)c2 zbjD_<2q_f@h};dZX2~>9wE~mmSYjM>^AchU3g+n~7D?YWeB{!X;WR*dbhW36HdO9> zs^SGUarf??r5$h@*;l+y>22Py$*|rD?J0v0@R%u56x}f2y9MaCB30d^PMDb@lhGlK zQPl%(5uLX!Geu9JyBx^$Bux(N7OKR8nH)<>`BIA8k)jy$R{hZYq{dLdY6%g6Wq?T$ zgZk|5*fg=OReI2F#tTSJ!U8k!9c14U0AjnMGZetwF%s>asS9d%xEVB8`kk5WPb=}f z88Bj-U2$qm<DEL-Zkn}OpDd%_*!d7E`euR~V>2>c{1GU6Z-5+gjd>`bx9JcO!P;*T zRY1-wXl~3g3vh!{Si|rNj3miyQl2iOZ1SP9%TUOaLFsR44B8{0L&e-(<0>L;+g7W3 z&K8MTLj?z%-1%lW@Y+C|VZ3{HkAHa2y6H6IkCSmd9XK2g%;z&t+eSC%{?ljXY2ohf ztPRr330qFwJ$zt$ec|Er=fbxj-IyljQTN_?`1F8kqdPBog>NrJ@7M<Z^1^KJFwJD^ z9G3&xg3Oi6<FlM7KM-r@H7>Nn#O3-ztIdjiy})LyYZA{LdrhWeGG(%~&SWcFHhSM^ zoWYEFI?`-mniejX6<-=rb8eJz0Swary#p`;H)JpZJ%eY=DBgZ^PY&FJM5(1_UWTcD z%Sf^yVi-j3MnuhXJp<GS&~@Wn8OOwj#SfW@Me#2ocC0SxZ({rTE7k9w!Z&U>0=M@y z^xQD51W=zz@%`W}w+4b1AhAj5WABfuu9L0+SETMSlIXC;#B%qZ<)P7*ndicJ`TvGd z4mSEc^xA}~C;=+L>Y{_0p_CQ15r{GZi;dH=a6X(kEY94Lt9J~9uMs;>48s;`{Pq0T z=6vfLf1D>4H$L8-__)kmi*d3g(N_|!NEk+j5hM&cnzN^3nhD#AE_=@dRrx7>jmhy* zN$_%5fQY`YtWT}6x%PQ!48h=Mua)mnmUGO%;LL6~O_0Tl!sqe+8}=m0D1u_R=<d=F zX2l<}0P1-+3>xD!jBo`ahrI*H0Rw`NQ=34-M2OGpvn3c5{uz6UZH@1@_M0OB$nZ*l z0@~eBMaq_xP>t#!gKft@q6ER44CY2LEHW-6%oGDAP=+5!fKuhk%m!ddAfh)hY6)I+ z$815Cri7&T4PO;$iRil%pq#q7-X$OzKs}5Hv!pd6D}w9wqQD?>_vB+$#AgVo)35<T zK!zg0x94hXIr@T>)>s<u{aV)<khmoot2QT@JpC<h<>+wHElI+I9!V$Y0g*DG0>>+L zVoc0Uv6Z2Y#$X0Ytq_2F!sO1f%)EQ|4!1`02`n&6++?(7Pa=&y1;qtYJE5{;A+R1a za5E?an{*O`!rY`2J@$UWNEHwrM+$`(-L#2ZN-+(_X6@mi3FMTM8$BR9iq;s4(l!!- zAjn|^8L|Rcb|Xi8>1fK;pGHFmup|yd7WkSWKGV2c)3UQ8It{+}niuh{^1sKs%p6R7 z*37|-{lsgW-a8o`ISDdo_o^$^GBp0Z9<@1UFi&#AhyEITh?RmffW%yVvutcz7mW>J z0LXyRZK&3JDcLc9Za3$IL8bB2?cg@W`@x$G5hCclV=j5!@2Lo?4lc_2&B-o4-$LVD z>Xxj}xdoFoIzgJo1i~q8MKx6w8wQNa$N(Mm<}P{hsj*B4RX^)8aHd0J`n<3#3(;h> z*feoB-;>^04d!_wJvrVTz>{^F!AGrrl|vQpCfl}gJiO!M#|h#phb17~v1Z&aGc+BL z^}1a+o!+s&te6@7^31o(Gvvf^f{&j*^QRxa=ht8V%JsOC22U>+TK-DkHeMfprC(l% zW#W83vwi&!9_|*V>A=V1L~lz~!MQId3A}*}Lw31Us*5uwdqRPnG;~2$Z~y??<-d)2 zw5$u+pDEg?nQ293Y-%5}J>Hk8>&LtfBUfvZ)lA$X9)(V)nKNOGw778Lz`mkZT^Paq zv`#X3BlmGoxREK|N=pA>8r9#)Wmt{1@T8OAWu#K_;7<JA3Y>eQvoxI6W=<#dds%c2 z!`QpFNBaxAyfE!1iy?a0(35hxNsVE&QOyiX+Tp<Lt2AAknU*6qy-Hr)NEfzf4)lBm zzJ&o!w8m<6w!^Y;o@b7397FUfEk;k}z4r{T#M~egBlXzQLz)W+WJptVZ&v!P#^Q*7 zD8A@H1u{)@<4(HcxuF&On{EWaoFqx>U{<nfU{#mjv|82EN{7_R>j~O#GWbdSV+?-n zk}22f^^Lcs3&M;3z*ZHUsHa)Nu2YLocIUVFs&2)BOlTQ62_{DiE4&kzif_hE|KRO6 zM}QlE45k<xxkl(QQaQUIMx6`jhN4eTqCkx{m{!6)o+(BY^KXd&1-*N~rlKf{fMNpG zvGLNZln+1?paDe6AW+qYCJ;(R`l9I>W0M&LK%@Tulu}~d1p<bYOOOJ~H}BBDos7gH zz>L=Bx(66lZ_M|I?MSWYKp#<3G!}rl{%$c+LI77ZRPV3;&WdyrwJaM(rt(lbW&F7j zO}X3Cc)w{pgVv*IjNp+dH`G{Yy#MgPyi5X+=$vw9ieRhf1nf=~h&>_`x4_+r4ai|^ zu^ae?me5CPhm=?nnW9}&3fPE9jb>J3L%ie&Kou#1NJNh^oCz7v9<F(@;=AgP_IFTa z;!=jL8<vWAwkTu5LyBYXkN8eey>d=m(Vfhsr#5|>P0aH|)WJf#TvhAn`s{%>r<q&> zcLQ@~J7~NjldeTZckhbEc|zcrDP2jq^R==QWq?(;J)t$#D(MjrD!ZF*J5QL~ZJ0IB zQ##GHB4=(G+RM^YJlst5#gvK`3}dP2Jy+Ebm%PN_;~H3`6rUN4Qm%4zQYjo1tu3(T zsM>`h=H8sCEmEYFBb%9}=x@#3m~A3@uw@w+pq%evIGCe!0^x+2oZMKec!JN6kg+lQ zL}2*T@LB=gwq%(Xrb-bRa-B4yYc=yQFXRC^BnIYk;4%}s;py6#>y3<s>vhHFatK>v zUKZ}(y#wI&`N|K!{~fl%<I^L*e)*ym(wzA4@tzOo2PQXu|HJQS=KT8WujINB`2?B# z`sFWR8+Z37?(R=qFK3SP2`nHxpU!8@RIO;Pb3i6DwiNd7Es_X1OwHwFj_)P2PDT_K zfDeNO0MRHyn=#EwPK)<46B(MOl|h3f$gE(C$uS1Vgdj-QeBTV=n#*)T%cy#1Zd%zK zyjr*v)cb27I}T0C;UD`4b_co{dpchPbU7Plh9b+-RcUBEl#Hj*qxQm-Q8yyopg@ti za>Pd!BJoXUIxHG{^;dKP%or;wV_c+u-#?G*h2Q|SdZzEkiX#CDc+-i^eKJ;`_{-CU zr|{}$qLo<o|H=Aoe_aq6w9R;bdf+g<qveFh#P*sjb<V?tbXYTm);b!4PG}cSLD9%X zf2H7R4+JFcMxqFQX5mluL#y(IJ*^>w+33A=H~_9eC*rkCvT%;3y^lRWxUUW8?g|<9 zO=UYlPLaDbpHt5X1B?;Dcf`MD0j3}T8Q^+mGXodCr#Vy~b@!XOtc(al`UsZ}w2~1` zvw9}>aycsXFs1emZvU;pZ;pVPiSZ4@(2FAb6qp5oi>a|25Dz0=&$xXaN87Ulks==W zOnSi986^q<5=AifvW0J$J~EY~*9<Fw0}1)iL1WKB8sNq-QbrpF=w1e|)wH|O%?OiN zL<)ele5_|E0&p{6RXS2jw^DkB0HnraKzadozKM3LwdOc=Zvn&<dbS{?L(1W@G#v2F z$b?8!o<74Nm>?(8q{KR%F!pL5dimedqPg+5cCdgqF@nR~xH~Sid1hJ`W|yNwBxGW^ z`jk@Is;CsWDeYv8b<hhF@ASP7y1+4dY-J!i76z@rspys=Lt4g$Gx<cKWm8W*$rCX^ zI;}O*Q=d(S@4&vHbkiV0C0AttS8jVtw&+9_J?PXe)ry{Io<QRtZSaAa(R&aiQkpl? zi$6jJ!J__d+s4*6(v>StlVTgWx?35#QSZt~Y-;Q$R{Jn^Ds{}P_-p8p0F&baS$?Ua zyE{jO991)eG>j&tV$dQWK#qgxZDy=C?l&nJ5e^vi(RB%!o1CkJEQi1n4BHJv0~tV@ z<k)L-^Khio!M#CrIRFD^nrm)D?-~xcu*{(PYc3}PZwR`?Yh!NyzKsem;$CR(_-t6p zFo@8Ko|}w)A9#lxpCMgYihQn<Zbv#$Y)UHwMK&AGbT|-w!hOa<`QGMA$xCy#tus%H z44@hA9`0F=2VP%ZS=Xesi61_HW<<BA$@%nf&w9PmBQQ7q@aadM56}GY!|$1<1NWal z^Pdj~wpFP}TV5a`m}uslrZW~LuiHkOXU*&2{geS*ZXsZrj|6aJz~A^`Z?1^+Na53O zN;Sd8vtUfaWfQ{=kxUyY9f7%MuZXICS3t%fg#n}7H34qMelASvO`a(ptmlvW(~vVj zIrjVa(iwV2(E{~P&aXi#;GiG0sXLJYEv|_Dvn6PcO7+8p_tf*e_&-8?oYh&Kr2@JO z1})9NkP!@!IleE<&;(Kb4LT13Jr}rKH!?SJz3AVbw8eRek@B?x<;)h&?fgt*EFaBN zCqo;UGm~fUTxP@OM(^V>h5|~RHyQn+0cz6U(hctFy&QpR=|u0OrLGImY?>Yx##<`M zAz-LAU1rYMSR6Rbnrwj#x}^e(mZWI~J1vRSJekRP6Z<+5p}DL{v=Hqj@6IhVLe~oq zVW{mY0RT;gzVJT><G`C#FQD|Gu!KnH9aZwv^S#QsZa`$Bpvo;n;kWjiBLE<vu>wgm zyam~eE|Ej9VnkFVw1iSo3sCBbz}n2gRjGHcmJ=ZcMT&k)NW{QqzAwe@&5HT61f~lV zG6X(h1-KNP7J?;mXws#Sc6DwDMD2FJnX#E7(OSSuI!2m^5ve2Xn>%Ckl7wEHT2=N= z&u?ZVUgI~+60$=@0MwtvO}#Wr%wd$-Y*B#ZKu@&v*}x>YgANv^!Q=$lHSTmoO}#r) z5o&-@-ZV}9&}?X)&5f3tgUsY~I)UrdO=}aKiUf8PQ8lN#fO1$mp4^PKdM-e(1CaJI zvrUn=QEpQ}s=D5egK2sAb~3LbKN*lV#^{hT-iAX*0a-@M3BZXSTnlhRTt+L!FZGn* z;wN({_2x3PbQQey0x~r3iZqGV1H|3N+J{<%2s3h9-yk<;sj--NGu@QapGnUkQS>$4 zWGwWc)5#1eN(+1*P9Ngf7&515Xu~S1lwg|I%uY~-QjvG`|L^}j=m~Pd`sjZbJ<=4p zGE97sy2pX^hQ%;AqzuRSZ#ljiuc}xiGUP;)(IPs%2lK4cUo#UqZAMy+xr3Sd(WVAn zxH1%}%A<l60+>103W6y9gWaGavsQqFAFb3vq~@_1U`AwUHOC4kO@_K2Rs;#nWoAMd zs98C}?j_GAf%hhS*=jXovYBa~*}5Xv0EV$`g>h}BHRxNYs?pOoyv-PJI2;%$2ky@K z;hyz%W$qpN#@0KhcPIXr|9nTA4_w!ko{f3A!(9ix^{Y-;Hg6n{3vH6azO6dg?fx*= zRMmV%;RiMEE`vK06hYOvBegOhV+hG#8bi(o9&0L+1ibl;U+I`Tk&u{V(Q6XTz>NUB z`lVFHBwccpY`8VrG+tTrV^PkUieZd#jfik$G9t?AM}k4mq&Z~BDAai^8oQZ+3y0{M zKS7shA-+{JE6lI}B)g7+0f8`3hU3s=dXC;N8e}Gc=r?NFkL#=rW4*qs->f3t>8Ua8 z7t}aibGY`6m+OTee)xfZ`lo-w;v#v)Wo+A2_l~)i6J!nC4ZmDDp{RfMWb#R?g_HC2 z{7B>-8I7p<7y&9TeK8!eZW_;4_&QP|b&vWkeiNRIm6PG5C^S-rahQ1PjUzGSJgwvt zJqsYqN>5L`QkV5#DtMJSV2-ibSE-r8PykP1y_q;H)7TF?d(%oy0ieB$Nu&Y|pjTxk zYw@R2QN<^~-Va@UYZiu9W=k#z=^k$M`$uoTIRbzpBnj5RoPAfji=l^twaE!W0%nGx zgNQbV=mT7hjY`ES$debE5(qQB>rLBDuoBL(p=Y!K#5TFK1_DC^3F&^N1EwfeQ;H41 zzUQF_By3)hSBykUl9E~VS-+_TE`^Z#eK$(dh>9$aR`!>Kt;Q^cE<>D(+)kiACPdUt zCgTO5CAA4qG*wcF(FqxiT}mU(P;tq|5Pvfp_{TUReUCU4((Lry`yODy<ZxUjrn#Y# zbpjZ3)t}!?B@~CktLd))r2t06Dl*F;H>N@Vks}@sUPdd!c)ZaOU@WtO9LK(Oya2F` za<!R?ibc`HA(0cA2{J8!RuREW#4Y1pL&>K8om%U93&=fE&xyn)!@Y9PBf-Rja@u@< ztOH|dA5c^`lU|PSXk&A$12PYW0-<EEp;e294&WQgK|Dr^c1m|}5;+eO&`7$KOrrT9 z!OgH;v1kIvZ{s^N*Q(y=&oJstG#%v>V~od*G_clW%p_d84iYkR#-=ugqfq@fL;p5K zv)bfr>k45kO^)c+g-IYDbC-<k{=_XwORnpcLpcwv9Cx!`b5eA0J*S>lbCmR}B4iq% z;Z4^!-YQ{XM&dZ)xqY8gLS`V746;)Fj4}@Q;os=xO=Wf=neOedFaQ7`07*naR4Twh zVax1VLAW&&eGm=ixzSMR)zP*Hk}Kv;1T4n`ZPxF7-H6_4b>2xQX~zZ6R0+~<9L<Q! zYppySIo+L<a@m8qEi98^>CA23^#V<NA!Am|p9zs&xK@<Tycw^O!y-sAUCI+EycP{a zJ3W8$;<w_%>`@MHJ*Rkg=&9a2-ds*f%5XQ6>M#Q%h~6223J4-P>5?TV9<4{KJgI08 zkcL*j$M?<Ef52Ru(ZiBn_?r9u(ifh$XGJ(VGXgM&y2tD$r_DwhNisQj1$N9FMT}+q znwY)bmxz`C(mUg~2+dELW390pos^uXHnaCQuwfhyC)_6@!NUN@ea7gR!7zaJ{18q9 z*}FC;Z%KNxc6hyXHfEkS!wNsTw_4#r&nUaLXOte7uI;rsTID%4z8h_wFelPTN;i!@ zb<M8@xHknJ4X$X;gur@+JJPo%+8NMF4-cx|97F(6aR|{rBJf^zlYZWtS%cJ^jo_u3 z^x&Ag+qL3BGj{uBb%RW-BKlCcVKwI_J{aSt8$Gg8`yk2?7*1<YeD_=X%@F{K;hd3@ z@b-IBObKAfpaE#^q)T9u09RB-_c_tK1ley!(%8w~XkhJTh*sTvvKSimN1n4j3-}Ui za9vlR5##82@0Fu%^sW-4nH~2DGdVABBRkSKE<+%pcWun+3}rPGl}pJ*iK!dj8cJyh zWTLlS;Sd4l7)C2$%r3B0lu`5=bT%^?6(x?Xx;KIaBT@)jxo9*2P0AS5N<;yW9<et! z<4qt55m%A&TN8jejghMiFdt^tbt9}cI8GDZ6b;Et%p16o+ot(<zzp*Vb4crK>qe&x zzo@DPqnQjaQ1sHA+p|rMn3~c>#=Q01s+?dcuE86CMLBogSWBU$%jk)1W11#1(2{hZ zXsiirW8415_>WA+>IR4>%}o8yl&)^ZD5GkYHKyWUO9+VQxQoxTCu4JS5@d%_MpDj* zcrn%>U4VX*$Kl+R0mejhDFdIhGBr&N%5h7QG;nS*nVAGhU@T3!^P}yXfKBw%A~Hmm z<7uuab>iZ9YvNc_s)zxR!IZ`OmdxJRLI$Y0jAn7Ff#3j;LK-Q7GT4mPnj+(u6*I_i zFas<8U?l<16h;-l>~ggWq^_SZwyqTukbGq%V@1x;SqH5Q>&e)8%ZissNgBl$Z`g$q zJv2l!tmH3&)LaZ6jtGd(G;1U5|Ht0DE=h7E*_q!_^T@0!0Np)9j&R@q;Z{~wgiQ|7 z4OC^gsqT-X>K=vW@&!-^NmOQpyIu5pRPEL^AbC8Lt%~Fy*FV6g9X~$n--_p11u3|W z$YkS<pB~S81nU8r*4HC^B<JJt#(6&Z`09FR$)qI4Ok^g-;=R|X54|KvdaNuaBRhH- zAvz&yTTx|u&>zvh!^<da-==Jmo%6Ja@E#dxI+pbp+`mzi(T^&q6d6KC@Rk!;70!T) zZ+-0X(PQ2_QHsasH=g^6$y`tgdGpUDS^$KEj|1(I*)<4NTmbHzV}j+tKPQume-G?u ze5w@CX8#)3_N<^K43K!W<7H>y-@8q)KdUPDiJ9TIjGFEzD-7yU*8>Ew5O2pDs^HMU z=eN&%%Krf*-xQG5GY-j}OyRqJeOpid-+%sh{<b%V#6SQ3KRCaA@a@}^x5qm<d%iHw z3+w*e5WNU$`y0wMyLoKBM=U(!uB#6-qjo>vg4p_!B~}EFmcK0@R)DNWmhZUiQl$?e znZr^fCqU<x`7_I`(Wb}_>=F^31d?q|i2$~W1n53G9Dyj?d2`_A<;b4x5<Nqb;99y^ zc5>uY(5hnkaobm6{3eor0S<rC@*@zy3TLIU5P2yG7tqNnJFw2^LiKVV3+ryh2`sc# z1zGI0;a%8p4cMxFF2;DydsBNQU_)9Y6}F8<JNCChxUE3lrbwLCP4Y|<gQc}*iH;qf z`)80=mCTgciXtM2$)s)fWek&wE1NT!9ST?ue6Hn6nN+JFz*+|b6alJCx2g{!7Dv-R zmrPge2r2hZ5=3BSe^K1r1PMCWWg1C>-u&41r0MBD3mZ@eTIORB#CqeWzy6KSfB6eL z4!-3FxePMUa+ZriYnevfCvSqIfm3>{RjfE1C={SzCmixP)ftokoZ(H7IGbLcNeNbn zjDW(9e}`!+^JBn9wdYLCztzC@>~ryFQ}6YY30ek3z?r^5R#mKUU^Jj6fJ_kzqBFPm z&B5;fI>h-rIct0TEKui}685zwyyZSj{|SV}f=ebqXLi>8CGf^m>_Sv-%Q_B1kAR?B zM!4i2tQ%PcJwD(CfOhEsLQRh<^8i|&Bv!dU<46GWwhEvB?HK@*Ky1IOc6G3dRmEm^ zrq{q!@;Ctu22I21lR}8#pa1v=PkcXwH_c;NFF!+qXT(hB_xJaf9?SX8a+{cUyy%V! zG|$varW%je$1eKW%;G#-UWcZgMV;&(X&^G2n>$Rp$0^&VSt_vN;QPBEx~<la`!py& zFB!1V_01BBD%WKeiE23?FxF-Z103N^n3f6Qq=}^KFoL<*&j6>$ooF4VUlbL^oINfH zMoyZbRSAMQ#U;W)fePz#k9Pp6&qHn-f=7GlC!lf=;LYJ5EXsBu3$lo^u8xk|mO#2= z2-D@Yj135h?CiEAj$^To0Gza_nxMhDN5L%7x%i6fpC;z>Su!}|it`>LKoQPx_d8`o zOKsbh;r@`RDpAA>U4Zgt>(QH8GhYQ)Qerabn!dHXb_+$33JUx0TL+5s{KoMRpVs2H zuSxvAIa+2)X?tUKbN0-eq?Ql!jmN>MVn_1!e(>qv|DB)y%YWgy#5%%<OLPfE<~G z3)c?rZ~1TyL2}w;3A~TS&z*wG`8)BcZ)Gw{u!>T0-&4@lZ=v+;x+E$vP5Ntb5+uXI zxiiNzD9I|IilR`u-b&%6TFI&K_xs75_!C-K3;m2F68HB8=Wa05a$i_S0tZjv@s6FF zW5S1z>1O>45S-oOhTINxW{`jK@*@yngk^-zX1XXw^7pcAstwC)gq>BSdM$c5((W(Y zVyS=N=<g=ru+jH(lJH#vMeWUqyuo_mHP()8y@s(Y{AEWIk~4&|s5^t2*a?<T`j9xc z6&5^J$-oQ*5ybLy&X~HNAv@XdOK7Qsnsz+fpv;6c*>-Jcz$;sBt}@Pa-d9@D7yVqZ z_vQ)$IH~gKDPHqkV6%ZU5>N8gs=fprF5mxMkth~QSPLF?a73^^zw`L=nN#VkgM5P1 zWS=XX!FGLukf;3RjH_=fG>B5c(Y&klx!@`h%NgVD36LyVrY0j|J60fA#~Ai%z*%JV zacw|EafXc~Wgg9*gv#K|%@Wu1=iUrp{^;3;qm8Ue_*glEZhM5f08s7^gTW4nvmkVk zDRw>)ZKTsqWTupd`p#GvB+MmWQ|zc^?kD84h-e3KJ=XHLI-mkX8}qJf&c&AGU{&IZ zz}vyNt?!FunXc1|&8CipC-9wtHE%Lo-%B1tS_UlZ?r%j<;W{QzN6tulZSiYKip0ku z0?p4g0QN9Y6%E811yov-2LPg^vb>Z-F!w+_Ps^_`z>qA{`<#quVEF{9$eNj|2C_13 zXDLaZX}bPFucF<FL}#>z-nYGsh~{E{RJLP(EZ#h7KK%djYx-5}i~mrT+t*Uz?}G*o zEgu~i9P8k^6cVVA?<09E41*oo%zA0dqkk`e93VMB)BUTe3jp7nz3bxtbrDtfceQ;# z`)^~`fb?vRN+^Q|PGC%i7RkeZp+Uq=pXtk#!gkFwn~NfCGcXtn^<|0`RB<K5!2J4S zxj(Z%Y^p%ozpdFv)pog}{nG&Z71rseXMTnrCcymK@0NW7xSnZy^tGzsU-}qS?Uwyz z@er54v>X?@<l`=X`?tUGe}DarZy&#N)^@*v+?({;wtp!V%R$aAj`iS|w@*ZgPmeeL z^7AkJ^LQh7k==i9{ysrLg@9#yn}riSEvwDXX#4AcJvj~oXjM{C^g;p9hAJX$H-zPL zj_w_OFHg@>2tqB-g0fr(K?uayngo*A;b)ix-mTjT+ef(A4nU@lS0~!mSE023zc}&2 z*Q_GhDAT$iC<S@WQQ;<w?b}2)w+;f{+t;5vfjRHJbnH)F{^*hZl*OC(I>WG&5_WXG z7Fgvo(GwdW@&@Ne1o^VLj;t5pVnGi?gf6f^7Tye5Pzh~lN3f%(%tFpARQdVZj=*z` z0UDq@K%*5R1iM%Swpv!Uy$uutXV_AOB3SF_QvnPl48m=wvx*~ovu#<y$pXa%n858W z+0oP4nfZJG*j3^-C`H-$brxSMI0|aZ%?KN?yg|YBLy(A%^GWvi#B095!9n|C0POrt zza!x7SiG@#Eb(9e`rpv`F!)!1&Nfzd@{>^n8>sousM*E*253VE>?$Z5yM+yKNNum| z2&xL^-KJRyypNy_TN_K#;Cir&F@}wE0V*84?9BrRc?M&}LghYMUK01vd>XlXQjMkD z?yT9~oYzd4!u+n?ZDyf9R?=-G*VJz~Ft`nHxNY4AUm<1#*#I=pL^PNOZZ9J|E$^TU z23Xu6VP?UkJD85}3<<JaPrcLLEMcf>fDo%4-1kMY{)~VY4xa5TMbu(fvRIan=F@!< zpWD6Ucte(W&A58Wlmmg>mK~=7yRN1iaM>GY(hC^<fZPTM5Up)_^=C!+2J_xLnIxG8 zJJwr41#6aFG$|bT6?3YOa{$RW)~e1P_V`u<J4v=Z-S?_8C0>AgnWPPv1BsV<XUxMl z%g<yu|4-$6fEQHh5~nMZ-ZsR`M(#}OeGY!V@KU4>{73^U+)wLL)1@3vcqZ>(E18+G z8Nv}<G*UV+%_;|~6p8~ckF@=NtYv@F^al59`m+unH#r&CO!0ci0eA)^!tZBU7jqXN zm_QTLYHkvqKy}uv-+jIaVZ9Fr2-P!c*K=!vP_eX77*Gyh=9jq`OA4-yp}fjNkGFpY zfbMFbod(o)?DPq21v32#C!L}I$+HXT{=U6`<{AH>-o6oa;v<;77w6T_|FKBo`So`` z9|u2$$UON8@##!H@8Y4wuaWLk55xTxA0!Bpp{XA@ntruUyt%iC@bTA3Jk!C$qubxr zKBzbAb0(6#qGyEKPF#EG5~XK{OcyU1z77LvS&p(?m%<oBNs&$n%Cc2ex2UV_S>vSI zzQ2G>W`D-sY5Pf=oqjbd{dXq9_9ilr4z8os!~XfkBbKSE0*N_<qY4}hCSvf+E!%(Q z@*@xcCX*9oqqPHrhcQwlAg_I^vg1n#3hKVCFG}Q@&Kv<$XF6o%Sp^Zgk5%iEl|;iw zuo4@@7;xB-Z3ik<&d9Bf(nF{U1-x$T`>w7E*uu&FxD1%eU`VplC=8@d^*B?&fETy5 z!r6){XMU@yGe!my*BR?^c+3&sgHM3|-Af+4ykYMR(PI|0E&r}aA}cx5##+FvkF+DY z0YjBRwPYhH8AO{NV+h1z@j(2?-~OFn{_+<Cu3a1n+YutsKej7^aQic!Imf?%1Y)@l z0`}>d3kMR#QrQ6Z^8gVKd=C7aax?~2K;hG3%6yhUHlEPq0cc=cRn$3|H8DYevM6nQ z3v~xoL*uS<u54Gr*}+^ypk;>>b$HX>HvNX~C9Vy$Q=~xY8I;iv&p?Gw2P$WsZ}~A0 z0}xztIYl8Zh)@o|uYDV7M^ja>!VdiprP`q+cRK~dx=-!ez2SeCh=?n{G$2yp&y{6I z9Cp;R-{3kWtaV{i#0s+cO*GG2A9hQC%Hu@_LRpsOw}%6;u>r#G#R0zD&hNF@vt<B* zL=_hxtKRDp1le{*%QIG{aRLQdZ3jFCE_o9*W1hx<+^yd#zF#)tXOaS8I|<Cqp6t9b zh*fUq=pb_TCb%BAe+Pmc@Kw_jw+{wDR|awfpn)Km|5Bh3ySC*w{r40_u}^a^0+N2e zdKslmH**3^Y-YF&P!*PMdH7U~y$d4hx_Nr^FdNWae4yo_i{O%JNo-ErgeYQ(9S-qm zT6*Ee{rp^TRq;YsmOqoIvh4-;vszBh=*)Zi{tXB4rd#H|hEJA(TJw&PF<L(R-!qfP z+XK!dpSxvH6m5^kZg#!Z^f#?qJ_<)l!0|$(DSIaq<jm<cz9+zUTX<=TkS=neN<sl@ zISF}LQ6^;Z%cq}t(}TY~KJ)wYH~!ZlM%DmIkY#^!iId>*EIw607E3{{&-`}czY*^o zUS$vk1m5i1vJ!!`obYJ-Qs?%nfoVeO)BB3dye`nHWxG+(wyEt}XU30Ol-h4(&{nDO zkD!{h@_Uiie<v$kuj1%`MR-ENcJ(_O;rmhm`=TLEc^|_iKW!It<WHiyPpycwd0`ip z4;fcYscPGY`B7aL!0erxC42r%IN9=2$)C9V2m}CIpkOi`lcjJZ3oGq_j_6G?a)xov zVID>NsBKW#LO2R^8Q>ArGH@|K_Gfd1*LS6YN&{{PD7zpDf<?F~9C(N`yY3XBMeU*} zUTg;dQQLjCB>;LUN!h@;Pr@n>vjpPWoLHhZ5LQMTRRf#K&BDM#YA}>G=4%X62UNLi zm>ZXMX~VAr%^tViPAE5_1I{P4lLU4qrF7O~8!(NsPl=oK01Rjmo9D+@HV0pR`o!C( zcOIYKIUjEq@Sb8vEQH8{qe1L<r7Snf3$n6~gJ}BK&fBPO%M38_R&V$Y=5(C`Lcs($ z(EJr{=lZ*F(pD&-a{h*@BzE%&JF9cVEDb=ky!2$s09VVz{R7FG{TC!vuK&vD_L3y< zSa#Z+&*>*algao@J7bI$=HI<}*Z&%n!tER!JVw)UisV^0qlLR<ZaXp{69a<~QtN5I ztHZQY1Jvj9w4>|(Ern-Q=)kq$P{6?j0M4^#9e~sUWtowjf!mo_U+7H#VlDS4^F&b? zSZzL@A3To7wWJWt$J|e{tk<r~<M6G|^Eaq^7BUuZZ*SgUn|aZ7W*DOBmB0!wotU5v zOcQ8c11PUe>{Wu1$CgQO@UyPVL7T@F4RC~)`?=nQgOsWXQ$P_{p!zERVBK?|c|sL| zNX4BY>{<#3Rbakd2@qMfpY<dZOhO{F4EFo|NQ+YRxYV+B%dG2}Kz5d|fO&9qW^`B6 zx%K3++76cMD#pgs{p~iZ+mwi-19}A_A(AS&j_=9C$n}8L`8uD@e5-*XWD5{2e*p!V z=S8=W$Q6_VZyqfkA>a=Dbu6@jrlWm`f2YR*=3Aa8OUuh9NxY85K|zZWV3`~FnBpL@ zdDFB2%VkzscN@q~k>rzmvN|(fTw>hcU-!NMNzhYt?5|J0{`wETtbgO<S0RDkeYcF| zxL>Lw3X*bA0atK;gb$(+;_Kf0_VFa+;e^|{z5iw{R>^Hosi0c#<7K98SK{M{A+*R6 z6Hr3Ht2~6q=V0%q?R`x3LJJ<kmxJlH`O*Jb$^{CdgIonrI5gWuoeA5AC4|&EW!VJl zLTFY*gzZc%D_6_jBy#4*d>Q$j?`E7G)Hna#Mly+qDVLq=Hptr#f~f2O`bYT@2mtJW zOqjKa!otfIwTrWXnGi%9R>?oWmT&hZMsX6Vs1{(KFAg*y0t<Cg5M$b4Om>x(g%<o* zJ6}~GD-M?s2W6e2%HTwTGu+O`?OzwLtVM(_pgRV4%WFf&kVj|Cf-$_Uker}G6|A+` z@~IYyvj!2cYu}kE6(QJF6mA1B4ymFJPYVy=$SNy(qbskQ1dy}33bYOfBYwlr0fmjS zLPRZuxL$|vgMy~V0zMyaoC(L{jj!23Uh{W~=H0fm*OCF^n)!gTFinv-^x*6@jbq4S z1=qUdo>i&{{H@Es1cqH^360;rovtKAup+V1^!KRnt<^4p<pkPjBg<ksI2m~uM}K9s zN8UQ)Hd$R_rtEF-iDW$%Iwx52dow;~7R~3dWxo2JBrOIMUfYf);Ooz`T3;c;v^Rin z%JtuKdR84lQ4T;t^ac<Vc3e9*A?M4d{wYHPfT|+*X36jUQ9fo#ode<-v)sSo1$Mg8 zLEmeUtZON^B_+k?JpJC4H6OZRJuy8JXh)is3HQ^s;M@6Zd((~_?&sy_QG*5*arktq z%)EnF1rdu+Z*Tni>#raOWcNOUmc?pWT+VQ2y1!9L?jE1G_&hMo^stkkpkp$mD?Ao( zLO6GhG@>Zjc>#yv%hYG$-!iSW`b08IjBS%)*o?!cs3akn3)Zea=>{p+vcFgkHui?P z18K1SR2324cpO<|eJ@-8yW*LR8x#fMVaQ{Pb<64m5|Zr4s+bwy?C&$nS#iB=>MsBX z%3!%`3qf><Cc#=^9ZV-+{H*oU`w?DjK#v=2pvRx=v|KEylOwhd-q_y3Qq!aW)WKQn z&G4|YoWyDeV0nj<P+7PXV(fHPQc-wwG+Z|kmq$9)s~nUPLMq<h-&-#dlzecI5omu9 z1q;jRxFIiDv5e+U-j4_8^N9*_Z;B`3bFtamr^+SPS7|Y6?~#ir{~j#^LoY88zHN2V z@|FI6_Vt(+Tz)FCY@Z{al;s_l38cnH&J1*L+xpD190H{dz!d#L;Nw`E&S`my0(SZo zD~*4)jQK$!?As%v<;j0r9*qrb;c!B7I^9LG{jMs!pciIIp=XZ#PG(YxZQ(`NALU0N z0G!zl^$Ml!jA(-v*dd9ewj=kDm^EpqdZTJtAnnNPNF<1Apx9vS>>yybNu5)RmgIIS zp+*V7T}cvu&-Mv3D@3edw>~Y#DBFM<5Vlj+g6^-4o7Ye~lQQELN|Cb!3TF=$ixmf` zGezxaQbq0))`3E->Y0*l<xM=Lj{2@ZZ3<A2P4c*igCH)&&+?v(D}@IhLpx~$6o@ci zrZ@v;BSjm*Do8r>JYV%Y?t@Qe`Sj@%kB0-KZ{L1zd2oADL(JM#aRHKhgQ00v-T#>a zRT>axFUg_O9m3<eHWEtMkj;2q|1R@OTX&n~Y_ue1S=4OCt^x;}c#2#$taCxs02x2$ zHYup|ot9^s??YqtOi@<i;G-SYj62+?0oYgX<6v)(!iILC{?hd|kgaGCP#nwcNxCw- zR3V!0>!!~0`NT^pTy80O`7FE?p(w}+WLzv(4KG&fg<z-fOuC<67f|X_MOEUPHdhCJ zuXMF@RtQ=)tE^wM!5KVmLe7v@aUo*0oXZ;kC2?<ZH0UsIZhp@a4WCeBc_0c3L|w8m z>wzV?3uzGIcZCqE<&`yjbD7gbqUGk}<AcY;+3vM`3-9#xJiQzY1&Silw4G9w?k9_0 zG3Iy0zt9t`8z_jioY}2Hx$(MXm?Mx^*I{7tV#njQZ`Lq(#vAs>mYk@H>c45boC3+b z0+>^U;AR<ZyPJ8f2ZkB5*%`nGDhzFlpa`bFU0HYmi~$+n$zE15kaLxF*8!j(y0V{L zB*D5uV*q9k&{P{?deVCCQi!-_6v4DrS*)DQu{`E3Vg*D83G+_>JBgrShnL_LRhv-j zVHJv?=y40~JqAsLn!qqv3ToL8&2w3}{}~{?nt_%}KQ}ij`z`<=5~xe=rlZ=)+giNG z;>+Wmk8dZx{QOt`{`da}$^mBrWO}G-dUspZx>h^+_WM_SwtrCTjaqL!7d$r<K^$*9 z==aKjH&{=X1O-|imeMndhQu$v90T-gDPTDHkR-@_b8&q|`v_CrvK5IFgGJP6iTiUF zR7KY>vOHetu)N|E1A8u{Y2Ni^QFxPl^u>&G1H3QwvK$oMPl=T4h_Za=F4G+_vGH$B z@3B>iWjxa3ef<ugwtrqKU;?*4d-)LvFj*aEh^mUC#5xv|6^|@bH*nAJdQn@PvZ80f zDnz1j4uTbnBa2YM*+4;?sJt$^2nEOS-~k|UKE%FGFG+TZ6$_<}H<$AXsKDUQk+2Zt z!b&fX31=y#peV?b-A<*_-??e$fGRxhGky72W*Pj*Bc7|q=Xkcl{R-LmT+WZ6%7y~y ztn?z{L1t%9Gtm>0WG&NT_GU~OgXb)_Y52$Qa&O3ls&)w61_42c*wx0T>0SW^&j8*Z z{QO`4$~Qgv(1VC*KqGu<SHab%&Qy2tk#RVS2rL~9?jbY#eD+1i09~~Kp9E56v%bVt ze?*Wwp@Q5S)eRZ|9At_t@mLRH`Tm2wKggXV4h|0mUN39IYVx$RYXc~0a1N(7mC53b zSs_0c50&ZyS}Tjk<H5o_G@YZVdWjv0`Lo9G&iCCvZvgi=x9F^|sCDxd;d9Dg<)Hyh zgxAzRJ1{y98}{8d?Rwp>?o*Y(^3gq21^G<KZD23;zjlswc7PA=SM<PG>}@a#mzY7g z{mE)RTOMi^sXmsGV##fBwzFJz%;)H2jWgY3B`SfE&_M{!x@CcKw%qonv*P6d!)!5) z5Fi8HQc_WvJVG68?D8f=RZu(oI7853$8H{PpxA64>kY~EtK|J70KMc$vhArC{_RZE zGfJ<Hx+<+>a097TJdOv<Gcz;MnP}Kl^`Q$iALM$+P67s+RsBR+4;r9IK7Mn`JST}m z1}x8^b@#&n6;OiI?HV8vA{tm1iI>L(L<6r&|I|RZWy?fzy<r;=WqRdqKBa-TVv)JY zjb$ZTSGwd*BH{|1Z2QFuKR=M_b=?1_5|!6%*LC0p&<6WzyRh6vWzTrk#nbB@pz!R( z$@l#R+r8`5pyumk*MW5ic<_2E)nzXQ3MaQn7=(Ydou-3lBVgp?vNb6@t05rx`t>WH zK7Hamf9LHzaHYu~k5QdvEdUW6{z!a#o_u?roEfZR!AJ4@`VGbQ&k?XeEMFwJ6Do<q zfp55fXP!8y+?@No10Y`HT2MW6wGfr}xYhj65Z+V{09Ae0k^f|tJf{lD0ic01?9=|$ zvtz*|CR~Eq%qwBrq9E0EdHRMc@mWq3Np17-o}rcHwm1L)AOJ~3K~#~1(S<~0+V@OL zL+2x8JJvh}bJNQRU-+?tsPLYIv#3hubhFa3ZvH4g0s*jb1aS7O4R&sh5FrtI7+feI zof%V#tp>Qlf?FaGlrsgZ|2`yyxR=y`2)y0KLVbkmsVc91uEdjvMbv@H>kX^0arG~t zMKCuLwqt6=@R9@@iprw8znioH>gUD~N`;5gn~;{X%A^f<+a-gHvI4rlMN~o9sI=|4 z>ON)XA^P6{RorV1`*YkKR}h++Qh$^iPwUwjXL`xR`FxVk!d}$|2Mny}@m-FafNFpb zL_lVef=^#QLwxY@{3rSN)Bx-=Laa)P;yP}uiYx0M!hmGJ2kwGDC8>KUh(ETIZ=+2n z9kw+9N~#X`f16Ij#}%ei%2Toi5J{CYK+kPoVrL}?kw8R)m1x6W0Sfb5f@(f?V1%YG z0C#q9pAIhGKKs;+oz+v^eVpk87uDl&1(&SA$Xx$^JnZ;!+4#kg2M5gtOcCO-oS~Ww z8l@|kS}P24U*vKUf3L;k#E!Ylf2F8UXTpSgSeDb!;E7gr!+|P?w;?ezRasAr2CW}A z;Bc+A4g3{$m^6TsY-e^_Pp@uQaA>jK!kO1BSD$uY7fri=3$^T}d1mFMbn_tPF@f;K zfCZ92D<3yIGncdZxhN_H4IJ%ki?g0kFf&d=cQ8F9kf3UF9Dz?sD9D~E?9+-SfQ}HE z))|GE<7azNSK?%0IW5F4kqr}WP~X6=-@7hYtL|5oO$A=>Jw+;aPtp7d3Q@J$dlPyi zBDjHIzgX54|1C=HQGt0d54N6ZWCnn?vGOu2xcRy%2i3sHxFkGd>j2C_VDqT~qSro) zeeLI&O8lF7GM&H6oXBIoeNPw5nET*o{l0l;z4RAQv8arezhdrvU@aza+qIh>T(f04 zKJ21v+f&>hg#!&}+3Yr>k_gy{$|BjWqXXl6EMwDd$5K@W*9wXxv3;;k7U#!TK0f}F z$MHn_1NKS87gk>8z{^N+J0T|%s)~q3J~#jKpa03*+Z&JlJ3s&J3;%rk%-7#PuJ-r& zB+nBF0*j^+N}XuQCl1t;s$!NnSvK6RWLz>uYMXP(ULkEnf!gkb`wP}-`&ZkRh~nC` z+t0Sr0PY94omV-PV3lWj=b3DwJ9u-uSC_umQ~I4O^S7`qoJ8Bzzty;=={^C;&hA%% zz`W0vHRwdnx@Lq@?!%ArBM<<f${9fml?{P~GVQP=eELTVFPoV`04|4bAT1CU&Q{bb z&|o2fTEXY@r8WSC9la8%cta#sNL$#c($Tn&fwLh6I?7fna&!hB_WtVrw9Km-v|c)3 zhtZ~-`*`GbF#YJ9Ph16(9gsn0fNZD%8?GwA;LI7h+jtxjIflFGsaS1nY~QO+R=<BX zPqMR^$0452LL5j*mW?W;0fgFN{ELn|n?bcxO=lK=`Q<16+yC_+JU)Nn?Wdop1~SP3 z<+qL%Bz7!w%xXpw)y5K<Z(`L1V1bRX9J8e}YG7yXsrsf_0hQ1W-p<SQZW<Uh0ExIw za#iu%Cs_+G74kQBoR(eh`!Mqg8)C1UH1N7P-?9|oteu}f`Uc&JUFIC~lAX_%<>A%o zzRLGZ_0H##jdWI0tGH$#{K!=<2cAVl%WdIv@?V~jdd7^Riq;pJ_V@U_7S~I1ga`^k zlomo<_d8U9fCeZA2Em+ftxEGerhVIrPSN%lt%s7qH+b9vmYGdO5!IVYGx7GxBncdV zn5M_*s>EEJMAz*yJojJMs^y_m_U{5w%mslror>I^p$a+K5D`v9RKWnv=yBp1jX4!6 z+BS{-8c+cA_x-#HiFPL`I$}J+i41@UF{f9hJf;AgadfFlq#y}OZch?f#hDvYz0}Nl z<e**Da=T|6vI+cVe2MvX9aoBjvm`u|sIbg)2QN1dXj#MS*CoV)DAWK3iS$<pkE6=j z&X9xJDMJqd3IlCF2Q_>lLE!AHZDUoTwY-EU{aq@VAldv(sJ6Qj_XTeKuWo$>_tPKW zwk2YM0P|gpohfz}kLBx|x)rJ{>y@yhOe1Ws-BjxYpl$w|GH!R0Ax=Uy|8Ti(IBy|b zf^%;w6JoK#e7yzJa&czb28jzSPVj<c{!@H;duJv5$5VX!mi+ot5hRK*Fg4pDY%df= zC|Ikg{KnP?8+eO%6z_cb@|nN?{l7y#$n)em_b2pBVYJ^-4xg<TwS|Baw?o?rFi!~c zZK-*d)3F}6Ota8y@a*pb>tj)PkAdHn1goq=e#LaA>y`s{F9+^^9YO`QWx1azh`_jm zme=MZbe{r?v_z%(V!sm1fdP}SxQ529cmBs%W5zYXF<AEj=3>><_uv1S%a1^S8;C>V zGm$M^OBQ-bh#=e0Uh37txf)<(6#+Ps4ydH|w&Eg=YDLA*KDt$<EX3jW4;`=|+wdg= zE=EaUCuoUS?nh7z5I?ZtxYm^~I*W8G_b3Vg>E#6#R@|Ago#$r6*C_y$O-oOWU-h+7 zT0F>db|p;-q+stS3bB`$Rymt`FiSnaKs%1b^DMG9q<Jz9Kv6cdOFU{LlIk0GRh^m4 zG~jL}?`}go&?Qho;7rmle|h8W9Ufoa(Ay&HrBJtftN@CI4R29)06p%b4Q*9nQ|+=a zO`<;=!?PqJ)*W!|c1Wfagn6{JoGmKP28<s|?AQ&|rwTjub*G^nyl$KPOfEk7$T^XD z+F8nu*FQHODNjoyJH1c%`^xHNVZ{pX50MOVE~A`vW%|O8UYRo_vRZt&0kiu3*~~WC zs%U3B$D+<Gz&NWawVX77iqR+6OUpB|oWF$wo7kKC7{p>u56PZ6n^NI`bgke#dxBdA z_!7i`2;AO`H+%Leipyb7@zSqxSQ}KcWcdp0q4nz3nMvgK41qzr!B>@G(>O}7{TLcj zMV0q~#2Wfp2c2bgP!BN62EpSwme?wk0xc?goDEz6CL`?T?Tp(<;75GhN>+k`D9fea z4-^LV0M{?`Pc0M+(l)>)h{7O2Hw{!?M=mhW8h8NA8u>5>{rg(P>P^0vHVx<m5N$?r zJtDKH6chMMrsuV1r|I~7exu5#%_)Gio`t-$?8>4`49LDg_wY!TiMH(kahSfr!v4Yb z!*mp)h$^V03Xd`5XIc*YT-(d8_h^0b$#-0Ib^G%arcD-6wi$EZg7>Lx2fkTUFD*0B zc1F9EyqDhgm|DJ7aD?sC@DphJS=jFsL$<NUPh>lW`!9(@29Kd42#;X`{g#J$HWj8- zR`X625LtYA|HR*Z{u`ejpZNB0K(HiGun0=`X5lIBw@(pVpWb*J57u$u+sVbp$5*7n z8k;=UVLMd9o48$6i=en~yauv3#_qK|kGd?{e*eK94TrsjB8amft&1aL^Anx$N}1=A z2xSa5d<UM@&v+&;LADE{+mgtpH~ksd_Lu^;=aNvBgOP-cpbE=sS=SqNK$t&MZgb&Z z?o-z8BI&wM!9EWVT>EqW<mE>o00gHMLjZR)`KWNVN_GrO#d-R=?JA39L@>Z98nkNp zyHS|Rg3x8aya{#SA<$yIsTX4ei9w1m5Q#Wgv3!f|)|F`)Fc9VEj##d8du?H~flv8) z(m!jp!=n{c0pUn|rs!7)A6HhW8f<E8gAH(nh=AzlLI!bJZHyb(%wCEC8Vh+`5C2Q_ z+S>g=gf|#@jjY>M70R=ny?C;z+83~)Oh;$P%*U!?mSU8a+fg|X*_-$GcfP!ThAiGn ze8M+(0z7N;XeSCbM3trqA(A98AOwgoFeBS2wH!s#)0Xa=XBZlEW?GIEcR(b6o^=8V zZAfR0WjBZI-7QxW1dIbEJ6I{P_X%;Zjt8X<Fbil|B*bh2-aY<Op#@Qi(sG7GrUSO# z`$dEuP_{EA9jGX)Y1fV{aDSRFGmr!##0mrX=f{&{9js-3MObHY7klT$lK~R5-{jm4 z2)p75geg0_g%Bbtp}-dfy3by^m0edmz$r=+k87OwOhZe;r(swoz^a#-p2|PVV`y)6 z>w?E0&Fd*yiP8>v_&5RN09e|2DWccSmwyEQ-$+QeLs4vIM&z2IOuyrG=DKx8VF_p& zs5*JknY|_R9H1(>E`ke850xq1@-HP3{ybH%lTzVZsgqfvRxNiQ`!pbGS<%JM!g#&) zpoeL=l<X=V>tIFrRG<n*_AWq!L8;}TONgpKZAW*N^>3Ci%~;c5G+M7<u?TkgM6j9h z7(45+-Mm<>-%^lS%wC5>w%4YmLD=hiv&q%GG_OqG17-5ur)_rmM60=>egZ<UURBHb z1n!>6DyZg_FwJq_|41*u&!_hcJYu=7bpH;Suh~muuKRM9gG|qimS+Kvg9rAf(~csT z8L&zGR2ESpU;41Htw|tKJj%lzlATSz`B^G2L2TXg-lVdg759v0UnsH?c5Y%9pN}^_ zub<(0@Y}mM*J5o40F#WlSd|Hgz?)~4@V*{U8;1=ifBEGz|M~Tsee_z?I(Uv9Bk)Cu zwsW)m3M?Cn11%g-!4-g=?eC~0cM>yG)8n6eX$Z?uMhA|<dbmvADAzsmakstM<pU)E z7Powgw&gG7+AGv$_EIg33#RPW>%=rH=rQ}bu?J&wuNj2>(!Q*3{-ghq`!xL;IT(NN z(JL}iF{b2CUw#Ava5-3I;f<L#aHWH4@vkzxcyz>WK{6nk<GD)9`vGJCD{RazVBZEe z3tO&soK$N;3+`$`uW?l&j`c7&$bzu3Q0ZP*i5-EB^wW|3MDXSM7PQqW_PIIB#??l; zfgU)6iTr3<9VHQmGpVG3WNGT7fsdUG1>QL9K!)uz$D@*>3`ioVkU<WKv(X9IL4pIA zEO_*3L|F-02BoLLsS4QseENU=t3a=Su6YqM_<h8|`{RwDKELx=L8bWkIC(4|8y9lW zx8zNcPw&zMW+_UVPH8$0v>3XNBUaFI<?+ROG`%|`je$xjL1O?5l*BR#o&C0aOi}Yy zZ2`x~8f0XTU)0`20ZOVo<CVD$svi#?kDf}O>g9Tm6;y@yIB2nZT#9JE-~FkwBT+;L zt8L~j?6(7`V(aB^+!nNh3w0LPb-otM`uCqrsVcm7+thRYu4fH>nuK%OQwpkJ0==^X ziYhQDzJXMg0pcuCSvUZwvaW|ZnC&8YPtVzz-*tHA#KjxqJ(j{8zDuUJ{YM0$F!=2< zP7S!u^7n9B3JPfYrWW2DSVSyVPeIM5KrrCSOxQ(5_oM@b*|aQ7s7KR2B!e?0S#>Sd zntmA%t7QZ)5kL^u#|bzqx9J?gT8qSX?YX!6d^lTA>sOU+jxs>OEaj^55~ZcUn@HV$ zVt&O6vNi{v2}4N%8*EehVvQ2^1QpHag|vvv2ee-IxE4Y+e1xn98`(M-y$CEp3O44F zRNg3B4!DkEah}`lzlg%<!6k>~8OosLuG_6p>%8BWU&6rDB7wT?B|ORkM%QYd>M@!R z)qIq6$*vGpo*grbg)b_U-(A46?icb*%XZSsOTi4l7Yk>eo$aN+PkG-*RpCv;oeavn z<tl<m*9nRBK9C%cMR_z40R^)pb9hy08kM@<fw)c2T|u!R-u!*MK^<QCmma5sLfe9i zWdT(iL+0Y~CeHJBp3f(rKYyn71Fbio8Ynm_FBz7ER<u9Fve4a9S>9VM{d;BK`wP`R z<k|LdVSULCNErMf2LRSZ(*r<dSspX<YGW*CF9rx8)Y1Y)y2CVYc-_m>HtcBG;!Xm- z7Ry?hrd13@Z<zzI%w0N&--EX6aO(+xp!(SN*YQ`S2i%=L?sd?A>hdEH0M>eQ#<UFk z6~Y-o1J(H%!2=7uvt*m+IEHlqVjMBrNQ)>tDA!?w22hCOST}IQnblFODs1>G$(3aK z{W&MR<o>BT;<x1n?D(_r(va}?1HL>pR**%k#jN3;X)*~0z-1<s0VUya$D%WlR-$o8 z)NNc!bt$I$2OVAa_ZfrS$;pXY<u_%AnBAWUYHw6l`dxJygsPh^7hS7?xtg9+WIm$y z1UgY{jz_Q-JRT38&nLy{%x#E>Vt_-aNF!>uhaHXATAL>T(sIB?^Q(gzvgw>Pq$6Un zF~CWgH+BYXOk+_oOBX<jv1?Zen*Z$(D$i?nU}zZ2pko3LfVF5)<_f3(RiNedu?QlB zqNb{grngD{*D^B#Gi9H^ES;bVZ`^WmkaNq<``bZoJISTy`F?`Z{ZQNXt|AEv^L&M! zDF9`9q2a>-%I`sb0@NL3R0zlB9iaAelSy0>iiPKE>g8fH>)6I1wknz9c+K#UkHD>( z9;^G5c$$3I_cBuST5g4Pp)=4?UFCG}MJ}@Z9`dcd$MN8qbBWhDT%d~SzO3NfoOK^p z)9`UIyeuU69~Fee>xD#;`Kb{1Or+lyczj*Q1$YmU=VrZ4M!3kmnHzw;^Z^tJ<PBsH z6oj04ewuk~S^kdJg{*FS9Y|qNRE35fH%U+gRA9xNz{&)Ug3M$B_s3+wt02oW$lP+1 zfG)smd58#BJgD;K*=*uiKHc7Tz~-gQ9)~e_qmPrx6;1CD+00cmKO~@MUdydcE4Th{ zpiFl`m8gBUV^Izi&<ru@{?J|1shB`5Dw?(hxv^E{(%07jCv*oRQO#p@AG@E{2?0e` zd6Q~w(DZfaVH#BVxe*+t2*As#%%^;*KOP6a{ranILAU*Uo@^duwx6n^R@*h~Z^pFg zOn&>%U-|g$Bz`_%J$NQ0Wzc`db!795TR<X89*cB^DF9T<Y*mr6-5>g8`?V@jT;jn5 z*t_W1ut3l&W$yYKN382quMMPUtbp-Jl<73}Z@E6dQ}`HC(+pnZ=A~4*HvijvA?$a{ z`VY1%p=9quQI~92X3OTSH^xD6`IcEym4eKfPk-r;ia8nW&t8560<@vgVy_V@E3^$m z+6V!atu#@H;7M|}p|wFesaUKL;#L%LqukH{evg5d*j3lw0}H5^o@5moqZVO6-k@qS zCbg5`#gUE$T7nSl?r#btSPhJ=LG4ieOhiyUbqby7+mPA)NLTx6V5iJ2yJgJ=+=KyS zAhlzg=jvdbF4%_5B`H<qb@AKl{3StQCzb_StQ1w<w``Z&&j1v5IJBF4?Q5kCPb{bu z`z((2iC=#HH;7N1S+3UufO4=mPT71me`Y4h0l|#hZ57y9Vg3PjoG;HDt7o1rKmvBM z?Hm9Eo=HhU&S+M*HFe!fmp0X)#m~79bBw0NAOL4cVR=01jiS)9AYj`mm<}>Sn~ax3 z7#GzRUu8p0SuSsWR|g;uyy@?I<9jcmNDTOj2=}!r`TgVBeesf@!p7bF?f=U^R}k=0 z6hbUK8<J3%=Kd0u$9(}knZE$FPX|oRJolr2ujGjPgpACD2-a~lPdAw-2&y_uTE!6Z zk`>{8^cb`YV(fv7Bv?hUEnK{ewRt`~l-$lvA=EPFmvX09{0QhJDI5bvZ0Q2GHy84e zGwyB=E+D^Hm*X8e`ggY-1iOllj}PA7eCkf+X16W7WVZ?*RqJsF*6+Z8Yi?}yv+eM& z@wdE7bay%TN#X!vw><~*J}g|GS-^7O`z)q(eI7V-uKIED-Ey9pRF(tWvAwibNW>r3 zy2DMM%tV#8^=Ah)N@Dm>W|80Vdu<V3<ih=_Dtt_E>rojb0mO1!RX~{z7mxa(2{a|w zr4$qw_@&!@y+=V3bIjy5_MU;tgh>Fv?VtRx`4Ht=qb$efzwkz5+W&RC9ms{mdD<sV zebY+y|2&Sir>#T2Nb~N`ERloOu@R)2z`%BkBiJQA_#oFt6_BE2S=~7CS1H@bI`Is& z>AZLG+dscDuDjO3|NO`Ata#`B?ZNZ+-<&L|@i(SV;$%WLy%#O-l@vwpK8zzgjtI-y z&7G#FfGP^ld?aIsr?foJW?mq4&$OWd<hRUJmF+<l)#JSUu3lx6TZZqCdaRZksOF28 zg!PC2TGBzsWs_fIOES-1%iyj8+mz^bTRuvVJ1N2UVb-6w{0IbSLj?W5{w%kFoWxx9 z&48Hjl>fIX3VB`MYNx|3_anSl#y)x$0op+on-gDX)}PCcQxcEf)QJqeX6mdu5TG1E zUu&T+C3g>2ET3VHU5J+m$jeQZsE)jM*|5!8-ISGjG6HjxEEt5@5sM`U5Xgq;*;8?n zoeHF%P0(>5?4as$P9DbuJ|3IL1-KK4P>_)<9X5o`s7M=T(i`$f8<yKlOt~Fq6`V>| ziOMJMkDrMJKmGifG02sI4vMl0pI7YT-6U^Ba~A$~Fs}x1$`t@KoyO=-+39TMqQ~Ec zU4ruj(z77Q2HN!GGQ5X;`|Hd;7#uY}Nix-<;6D0nZ<tM<uYCawBqdJ0@B%Kdb~)X7 zFO$rTI2>3E4Vs_Pf#$XOnrazv-6_+}H<5Omdx8KV`Az^gXS!q+C?Ic|hhF;hQmTsR zY@Nq5yz&g)tZm-FTDMCuFzG)++?O@ol2w(?lov<`$nQyEy8#HnTEy`hz$G6uWz7pn z0#J})Fyt9H+k|5+)NNHIlfj&|w`w}R@>CKBP9Wq?uQ@J3=~_b_tw-}-=9A;`xSXT7 zbp~Kx?FHT<*>d~RE>qV&*@?k_g=MvZsNf_i#bp=0m<MzgtBO^ozmR9P+8$iNLj^RQ z0VhNvE<0T-I6f^Z#hzKR>Pi86Pm!UKW$smeqKa5SZkguYKYHd?!Zx%4<7PwKve$s% z_4q{xhFwkD>(MLk0njxw1Kr=2x4}KbmurJ#%WrgM_&V0KFSwM#GDrhk6}wLMHqTd! zwSdYy(DFNQ9fr~UO<IrIP8G$@?EXWYNoC@Y*8nkeXLlFY>0F&ck;sHIA$O5IQyjBY zs~n(oehwBKhv`(=8T1fd+AsD3HP4GajSHA#H|J-@2hlPiDhpwIel78<laFt|lRJ1m zi;M?bC#Kk~w-ZN*z_OaQ{qGO<Bd8<zsDyv~liz>+$JLKNmeJw!bi!ifZjuWA{eD+v z8<0Gki6daps%jdKd`~~;v9b>XE}H^yX5ty7p<C~PQQKfy?_m=Ps^u$zh~S8WnZd3q z1Mj>8m7&+DRbGF)o(TYF4->-uQS0qIkLBwE_}h|)hE4$EA7}7F2}c}k+Q0rNKLP=O zXO)d+%SvIvy~Jk#c0jDf4jaYQKw6z?_soLuo_Vn2NK`TqY(t$(c4}R(qUHSxI9ihh zvBWxCAscvkuR*ZlKnT(qLE5pbUIToV*V@`Jh*(~~O%|D+lC}Y{;$-zkSp58PEV7-q z<WrAAVin8@8~{m!+SYI@o*l;bQ`}bcN}vLTfzT*1m`;zlH{ex47R(Wxx#>%wfb>!d z#z3T>Q;*lCXPioL0m1UpfJ*WC(-*${{4>Yf8^_z510}-XUl1!^rp3n?*?{`9`PXfX zv6|0-+rhQbxq$nkjeZ;Ia{U6{6g(TSRQ>O*m1%i{k81hz(V*BNR<irF3ZVJX^=|j8 zx-QA|Kcq`$0A@`${oMRDVP|lU&2)F4vn-bz11o=bKj%yr=3f>^%YqpW)rR`ff#~SR z#{D3D;gpu|lbEt(keJo|s-m{R0YE7Ui46ZsdIrn^Qrm&KOiKn+5n<q%4sHP^k>*)1 zp|XrszZb&y6*PaI7`#wD!v|2#c&}xLW**-90uJCM@VWo5pU+={>Oc-%f!73DR|d`9 zfC@ZF^9Y(B$G!ha61!S%BRu}J9io?dT!0VrVm2X9SrOz;RDmxMbP%}w#%=G?@={<v zlr!{FLEd2H0z*qkb%DOIhjZGED$MiYcaJCL_p%+1N-_(o12<VWR@ko3y%khI(K85l znPWynrrWBrUBc}^T_lI#)~N>O7lIrhAC`H|ThrdiqCcPGU++C?e)rPT!gAPlYG!Py zASu+FVyC`U*4YanQXmJR{=3_2eKlS0kzME76O>GUMWB|ud#^)XHXjT)tBP#kzIwcg z={GaNdjgHLOv6n&fE^yomif6){BNF?U73X>6yW=CK>{uNi;s^dRG0@HAU&ga`|D>o zKC^k_SxFt?4zAVvEnLrQ@iCx_%#*6k+fKenoL~OJm%scQ|EM7M*xPm8i*l9^$WV?v zHr*y-11ft)4;Xy0((-d#=Kgx{1_gyTxxe@;!wk30HqB>0z+7VJ-*0~=1sm@>vgH}w zbnBLTF8-%K?4-r$vWQUE0omi9pV=HCL|GKCV*MQc&3pdcv%W=^KOcM(wQe8T{xW2p zo=Z{x?Bz!wfQ^fUGfhBMk_xgCst^WJlNp&}pc|}8tAq@s2ku0*(O{Img;!+|CIclM zy?L)?GMNjSx*@#+kYq8Nb~~4*WvBY0F+2CAfY0#F#e|J}=4K<RyhKEZ%w+I_fs0tH zO=f?-Hmq3pra|OWUiyK{sLTtv9y_E5&_JmHF9>HTtJ_>4p(7EC%xxe6WF}`7AGx{K zI+mb<kk8ULuV5UlNT{Ur1_+G<ZZbXA!Kb%(e){Q)GnWtdU-1Au9y^E0;I;!hH<FKi zb4F&0fe#c~UNTYD84STV{3RFz2B37mGu^jMIY0`Tl=EPhq4TELxd}WYv%)h(DQAJ} z2-EuP0poyeHaCyao>JuiaRRvcjP$bx^FY~POT}6TKK|Bqjl=NEHu@vjyY*lY#{i5O zKcpQ<O~$F~lTeIS8StK&Aj_7&NOs<ID<!l;s3>Z|eG!xcY6QN;+Vz&8NOtwO0g(g- zgjvZh(=Q?}oVH!5+bZi9Y>t5An8Rh8Z)u(loiclwME!s4z1xl?Ns^}biKw|pW>s|; zXL@#*cbo-5VBi0RctHY##gZIMPghn(xT*ZS_(jY;b9$ekQVUU$;clh}IsPJgf@FbU z0CmaloV(g5cfeo%e1Q3Z_37b6QLg|1AOJ~3K~&M7uVuY7k4@)SzF4lI;RXY+r+6H4 z2LM*v6EMx{S)YSi11K1|n85Q}dzrBal1Psm?34ktpN^XzH-Z#obbkmUzP&NG)Gq)X zw@_>BrLG{z8x7NZy0Vo85~<|Vr%xA6r|jLEEot7hOtjT?2}|*OH^2X03E9j&J%r17 z7DoqRf3L&<*Onw%;_N#jInseDG_V#xGC*<oFgleZk?J}!JQIie|C(GdAN}w3`u%zW zxhWUV1HeIp%h2@tpi2=U@3AP6iGKqUMDuxQUr`2e0<d59UM>gNkKHykSNjLc7%}wj zaVcycyY7`Yj>WYpfArxbsCDpO+sVHG(y|{C(RwlR5C{PohsRJ4R)|%_fgldp!CH47 zkKd_>WiM8tT@a%7W&%sWHQou3BNvLcF|F@5YckQgm=_`=sU6n_Ua&MocpR^CJM<uJ ze@A-<ANjdW2?u-;RQO#ouJ&gMrlh7w&uC7K>Dhw_`<b*FQc5WEFe35ZF`nREerHBG zBT}?ZCS3Qd1kihn2=FF;FVn2yR|Inc(;vP3&#liNsGJD2xm<SHfsVtQ8(qOd?^}F* zo^KN5k$x_Uh_Z4=o9z>H6uP{?Q(-Qkw1XhXfKrjPVaPzKo;EF3LBt#(x>0Q+lDvrl zEZ{m|i~+0!q9|aWC)B=_UL_{Q;Hh-6(?Dl#kvzJ-6=`S2q9h*GnN(aRTNBF}HOU5g z<ujXT$84hzjN^S8`!P&*@GfUT6{sM?U<m@-K7qvIU@kz42{c{|M`lnB6c0Rox#Gd? z=A~HceuF%qiVSB;tASAP%qX~|<wHfJgC)rh*qKSUo0#8c24G-jLyN~S^*2Brd%lrn zPY?v(pR}Mz2wHv&?!f@r26v2`L2k^hFx;;e3s&=SKtEK|)bvuBUz+zuuHbUmxso`R zub`(0yl7-)Qqet$zThatD;cL(*}RAJxN*P<rZHjt7?G&LP643Y|Hxiam!5$j6QAHA zeENvT0I*dC{jJCIU12`XXH&e!bfXR4h!=Q0z3Vjqd6nJa#{wmLZ{FYEFZ~#>IUrLQ zbe>i0@_vouIPjYHpdP0kX3VoEwVe%)2p*V*cB10Z<DK>Zj$@%rzcb^La5A7D%+alj zGXOjqA<a^%%;URET93aY-b7b+8Qiy$&=N}PdRGN%-M8@rc-h?B50w)vboMq75pX_Q z9wXR$GsohF3^2B=6P`IucHe}YG@r{f^zt#`aoeU%!eZ*5>}+j+9}&z&R)E2ZHZ7HZ zw`7=sy6EdMM%XqHTtL-!<XJyJ44axxB0V0NHx(VotH`xT`M!bywsX95%#1YF&r~m? zqKHUZEH8Uh(K_mnztR6G-g9KS&IaWvBMU-kiz?fPP_hUJP_`~6KyYmqu4jPgnI4ZL zXj%b<m-<bx8sJ%w3Y^)t+-N0L_DSX5nEw*KP}F-=0ID|c`<;LP?caISSK=r#Rs%;r zbJ_Fei$b<50jD-R#G-jnB5M=-WZjcP2VYdoy+u<Z0$%K_jZ)%0G84irGLn<8K#+%z z;YCk-W_sBcC4D4o^JNV_2_a#7O;BmOLpqT_bg)#-SIHHp`w_8BTd=%#Bz~&LJNPEs zcDKygq$kQ?K)GpJ*tI1fTr)U;k4wg`W3J2XOoB}kViP18*#g`&MbP?`atZ|LvT1+x z@*@xcpE(T%kQqQCgf}N9nch@6r~BCcSh#Y*LM^gg;zYD)XDe`m5T!zufTt{{OlC8I znKI8tQgfr~7yv3r8E75HV%F$x83@~YFdbz#B6x(@dqauHV8vlWy8|#-^9xqiQEU{f zG%dijM<yzvZASs{sLkW?AXa#(Lwl}b+XyJ_fU-f&IPBU)0Aa%qt>l6dy`DdSAoGA5 z?8l?Cq_4#W1h4_?_CvZz0$BO0IJWN&NQ$>3dF&4xyq-b009ypw5VBFZO@P#!0ZZG@ zXdLNt>;RDss++z;=JtA5DcV3Mlyu2kr+l8kZh&nrRwmlz&5;UcS1?eW_U5$#&#N;| zbie2Lh{Dd->!Y2iKGMM-fXXzrEIJ$HI&HwKo%aO-8%U9+o3lKolWTB^2z)8c$gjW2 zFuyAeW`c#P$aEkEf+#8$L<c<)SNrSmMLolph~PX=3OhAB?BQ{e><$wAY-R_v+so8^ zT2NA_f&FHHfcbN_zG!du-h5SYyWcrfe0=!!YtJP3Cf&&3e!G)`sv?vefI^)6!~NYS z=i`H1$=mI2XWs2Zn{Ua%*CZ|m_*KBl#isCH3j>{D%g{ZRXTYSB$K&Dm*5d8WpP#)s zv39X*bHvSiD%v)Jc{N$qNi1Az#}jCv3I<@$lhVL^#K8cT-}zV)K`$}D@<=qGO+X^T zH#0wP<9(6+u-(pOAaS0L=KnL00{eimML^r3siWx=<rCPd5k{BMZ7+!#fMs2ggtW=! zG>s&X_2dGskyt0X{|OletDd<sfK@p`GkTMFX6r1^Je5E;&L#k<Kvutc>xlQ@;6OQo zhy!$Ts%(c*+hp%$nSft<>d9_e01N;hTRpOoSPq7!lSpCwP|GEP*I41o9$)=yIZ2pV z`JtQn={B_u0Ba`@B!~U$cZriMC!(&sbWA(luRd-YOpiE{%sUdCfBiS|PoSTRM?9!w zGsn#mMJCJ*-E`kZw-qN}-oNl~fBSd-OZ>0A>ENG!`3L@`Hd!0?#xqxbJrnb+>k|&3 zUA1`{kwjV+ZsC1xz8Dg0^DXlb7sqCt_EE+X4oXLoHftU1EF!F*k?IqT3c}qYX5~WL z`Tp<7u{-8Vmh8Cc`xFGc@Yr(r3f?>LX#clbe@iD)5#q8l(7Yd_VZTMU?bQ(rUC&h? z$DX8cePO*xJEp6iKXUmI2;l65Gr&PsFp+nHg-}HhWIM0bhOz)kC^rzydA`qss$6`* z4uCU$wI2;~yu?Qp#N1C%VjKdr68D+OGcytW`4Q1Qwc>oAIi5?8&JsHll_TMj3<lNU zsX^oDL`1lMZAvoQsWnjaSo{3&$jhGW5S0rO=DhHTurbe|$|Lj17#`zUUT?UTmlH_z zdF}wgR&dsd5Ls<FI*@wc_+KTQpK1Wq4k*Kl9%-ZCj8b@<Wnf2%|Lwp2?|l0CPyF`q zdkS$J2g%Kj(4BeGMFy7kyh7N?q6S9gXXm_nBOy`Psd@eC<|a>>N(NQl=v#K?SZ=`0 z7+{RiYC6b{nhb*F_xaXHzLt3>qx%<jSR-xo-eiuZ%}7t(uV~t~V^2DJikG@n(2m=V zastN|BlbS=hGoBhWn-oe{{`W;iSFAqoJ}N9#gSZZTtL6|bjrx|?k?{t6rgZG5g9x_ zK8O-=TWmpXIQIu$X4L@mG)VmN`xjT-;|I?|Odt^5rs}lqpg2FiA{<m)rMw?vk?`2~ z-0?u#2IkEX2ll)5$PPa;n6>Idmg`3CG%Zd!SQ<L#?f@(8WRdxga1iqG4nPqkz!ss+ zd!3f^Nr05Ii%aE`Mz-)q`XCN3$MDj!252Kc5fHXtyL!1_gn1#c1#9^r01u>p4X}}) zJEF%Fg{lnjGYARN@ocG?2m}V^UjEf}MIc11gnmByf~DMk9%wqdKLfZ`i%?kK!uD+J zAs9SG^g^EKnJJpqm^LmO0wQp|!w<kS0W{d%FxqJ%Ajxv6?pvmpC!U*-$jG*d(bn*| z?DL4NX9=3tG~Y8J%mG7s5F5f8CE2#L`1rkxPfdp&Lt^`sK<!Pjyo8XTy6sG?%iooV zuuMvTZM2lOi`)9)nUZLFZ~^haV6V>2(RWaIPo2nUf`enE=B)!Au@JZW(e1i~;E3dx zp99t3*zo}i`=6It)@v9h4+Pzw`0}^E@-P4LfAin|+yBAsSp28|{1^T&eeiMqPTU}N zUG&@tr8v@l=QUVzDXNOtEzekPYl~gtEC;u?Awgn21JgC4{S>x+v-j$Oamkd8j8p0< zC$IHr3uJ$m%O@+TZG#FP1i6wMNu>2`5}o$du2X>t)&y|kaZty9EOXd~X|pf6R@<lR zZ_Uz6e_%OvkOu`NLJl-|;rAc8{0IbaAh3W`*s)xWwgq;M1uLO;bYQ{L9>KFAb&&-h zY}haBS!`{Bc21pH&bVw8&H}lf5+D(>!B3(U9M`99gBmuJbL?038etpC4Fa_RwiCWV zg!>G<YGXuj9Q~a>P^pd0rsT{@arDi&et$AOnaOb+oUu^`vx%A#$|P}M@>G2PofOaI zJi<W852c(j*=JF;P+?<I22OxaxxpZ>0A(9K0wN*WF-1WHx#f+0A%6b!6aV~Q|Jj!_ z>0yVJ302JaA{+orR(YSYiMfo(<q80pjMkO(?5_u8&<5=hVx{@)3}8}n7-{<ZaZ!Y_ zKM%`Om|hA9id^op5CnF9G*1Ye&2Jv3`#1GR#s&VT%;sL;damH2F~EqmGtU7HTsHEI z5W2>!5}~qlWpy_6Te?9zPyi*GmS$#Z%IHlsxZjC4BAU+;P-SNj;Y{q~{R17ob=G4| zJ|6GhB-k^8M=t6-*^h@W+v`kuX!963jW7|gQ~i%4@I_*hF5nly?Xb@5D)wo}J!|Px zzQe*9Frnk_{;Obl!J_-za&_xg`=UM8@=_udkH^W{@bgbUb7b;(oRr|><Kv>qarnZ# zLhS8810ch7&?k)rZO2AV{0lEPNWjN{s)BQSi4?%?xC3yVwzfCxSln+nh~n{haKHPK zzP&d)f<PBt2a{w7mDre{I)WAL#PKq}$iV)*c=iy}CH<N0oGZ;--jh|bO)OpdXj^K# zR{h-oApoMV%>poZzGfl1>CwqoI|t_9E+>F)>uBKBI@a0I%iai(Aiy)P1~C&@89+V9 z8U(p43+H)WfC${5*CGkYzq9Mx!Zx5^T(q4Y=}!BkA;km$g!S!;F#7w8W=i`G>6(>@ zaKeBz;ES}K-uon*f7%Ub`|nL4!CAqUxOZ~c0kqqT2o?*GuupEsjU$6i@X?1gIO$T< zTJXvvfzowX*?xg%pWcoe%0=wWiVk8GP#bbt$H%Tlup%s%bRfJI5n}HLA8+r(XNcUK z<>1>k%67raW?$Cxhd|ar)3j&WS_Uf|7@Rb47l>e%{_U`zN@zdP@-XZPE?nWHVR6Y- zl!H+qc0k6(LtpwPg!N;5&Xyppb{-c*2ozMAw%;#X_P+&Tn<)92h~|DjzpF0CBRy?E zgwaA|Ae;bsmV!%`O&f6A)`Rc#`wv`x1OniUV0elP8q@%njD$1cTV<iI1~}~~szfe9 zD+WNsa>fcKLCU6J1sRLEmDEPk3i(=QlUqc#QG6=TQ+N}4nr=#jL7zrZ*5bBc*Jhtq zm>7j9k(snFB;gyt8zh@e^|<yHRR*dG-~x*_P-4SN{ZdgRAu$(%0c7H-dI1EprvkO% zQBc<qeFl?uQKd!+4Ybr*s_)80r|@_Ytd*=PK*RxsHy{7>>n~I$wSskf<95GO57&)~ zTPAZV%&^F(`8@ffHee3OOj8>h15BwMRm;^Qs)M9n)<v*OB+hsrGro)lw@(A+-yU;@ ze@dV-D2<k-3iC5?5W@-x_XApn((ergF9*05u@=Hvp<t6MjF<g7(7ehZm#5@Q0l8SX zum0&N*(jC{lFr6g0NtPTb7%RKD}$2FIDzjs>Cdqqo8G7=p(=Em_P3iIE2lG7wc+Fa z9UTs2_ckC_Kvj`~uU~$5#yJCDgxMemNF`ZfWuJpD>q87Z(||BLBOFRrCdch3cURV% z%tcD9es1`B95)97(HBhZ2WvT_2|$SqA1i1uKTEsZ-^&IlIo1u<jfx~v97j;+jr->} z_C9TIIv_eb@F*247ZtG2v$N4py}HKRA1%yVe-=FCdi`8+ZZBD*eE-Aw_~85yU;bu* zrwsPvofCs;@?dk4N{>4egElv4z-}NN$8phJEjuLaEr@{bmv|A?y&)2oh_F~mVzaFz z=kU|IQYsw9KZQLaKo}4oMYdge22tiaSf;MNOMvN;5nRhYyRWvL4hVO7DTIJ^9DW8+ zruTLMC4+q!9ZSG+KlNTf9k)L^56^K#_a(x%*1YR?INIjhenmmBi0r_r%QeQ9mm&zW zqrYoVtb__eBFH`zCb^IuNwA>%U?1eMNpr_ZIC&P%K>Pb1hlb~_?>MYClihdF>X~LR zR~OOuOMp-J5hnvyO|K)1pFh9x;KtIO$U^%;l@kQC&216*CIADdD1Q3WXMX+1U-_sH zZngRN`0(-5f=>abV8?;>!!*DyE+PmFzJ&wD#52dx^e*8Z*giaeH{WG>=b~xzCOs1m zAEXw_6R4JDF?MMY2$;mn2uR==Spi;3<YGSY;{Q5mF54K(B9QCS1IwL*`jUFg0D=;c zmcMU`8Q)w5!gW+GA{Mzk-t#oShd<UV7dLV59{(sm0s&fSBB(YbE$`UKK8pb|%v#pT zB#xoAa=H#j+SZn$r>gojaS|*xAOx<am8X?0lhqDF1RE=aByxj|Cs5G<E^ycZXPg&c zKMtQY9}%q4h`ks^8vvVvN?lqffudjuuRTr(sE6y_QkyOCDJ2^lcDEtPYdBM6)7KfO z)yIt5gaKaSlpeb?Wi}jOI@YnM6FyR=;kL8ebRdv{I)fZMX;?ULJMh}qH%x~kJUc=P zCA{l{Pk;W2{mW0hzrSO|W8*?BB5q^`v*vjLPAYpG<Ihet*uz1~$i<=oPa7=7CYCdO zL~vbr69z((Kq5OMG-9Y0pjSC5=?eUKk;C~e{Q?n5ByQ*B8H4VYTUF19h}j=<$!#u> zr;ru?Jfh$2I(N(WigqAuv`?b5rbndvsA7T{5PJuaFF{=y*gWr<c&=ghcwOIGi+vU! zA7A@>alac(>*00nU%z}{_vc_ZGRT$_1j(%Z?_gHN0PV}cmxv6Gbu&<H+0fx2{Vdp3 z+-}Lo#|H`AZ_bK?zw>ds%Q}#LKQJBh2<Dbhv(dC2z#A(a0Ib=-@A1rxLWIxl-g~o8 zkFnT%{`6<Qe*H@Dm6Z<I0D4I^sopFu^Cf}2-@kE~yNWpm^4gOy_l3+u>da_9c$~%T zMOdaXt033n+yX%<NQDEu0>#;~bfO&`_cw%>W0gE>0WJ4cC~UI;qJoNKCtSdF{uek9 z1WG5K_jNHa8Tm4V5nfg^(mP9>$VI8lqk{`D&8?)W2C1_B@-ebc8WIj1z6s#M^7>kA z6Tr7A*R@=d3{-jfo97FGC<<>DO-$z%aV^2Ie0YW<A`HL|IQ!_}DU#S7$VAKcd=6eJ zDHU5qUWWsGSJISIK*>^Sdk7$EW{wMNy}=m^Kk<D@K(c#`2&|&E@<X`{xPV{>DYr0R zYg-6Lj_4bi=R(dcCkj%wm0+>S2=;*X<Hou#KL7H`!R_rvp0=0P*8*Ihx}NcOw<_KU z{`~7tNDn?fKKSzGHx9w4b>lsSLVT2{NNR8e_OCHZ^MHsX^GT{Ikr=Zi4w`2s;4-b@ z{tQ5$qQHJNEj|9g_We9hM1ph$HVYAHTURPV=Eq#XsQ6YEa?W3kwz&v0h#p^HKMddM z!1U9}FI|{m0uk-~LJ!ZrNMhFs!hWOs91$GH;ygXH+M6pQ3xIvhkK*zp5a?oow85Au zFb3gWzpao*@6tcZCw*kKQ_~ouBx4bMnvlk9wUBx(ID~9a7LbZdfpsa002>&vahUfb z!V!Boqghp*X#qu&eI#iS1|c*cjU<j_@AK(k`+J`{A@=DA{R+jSe^SH>PyMBc@Dh+k zKqSx^03Zm606{2OvHH}bAe$c9VEO2og(}&B>@YaaAR8p7u)~!BV}*T)cp8(*gc(2k zvxtCjHsTB`|DhrRKHrOf`16gMf}4WJxzT{uBbm%|q#)`td=+UUDc2t<5cDDrs>cZp zBtk%0j3f?{P*9g4GT6^>CfUId4DcTVxix^_^(c56*9d3p%my-&!hp=1*P7-Lo_fz` z#x>^s&I(_F=^$a?<MDw=2+%nE4gkD1`NiROne3sLoQO@K+FsrfcF15Jf}ImMOXh~4 zws^<^NJLOu2;V&I>1;iLs^IbdxXv99`H0vE%gqhTg%oIuyd~>)Fy3QtkdoW+###$@ zv1_w<2Gd@XZaU8S-o;5KY;D%<jnJmT0a1h<sH97;SNG$&VYZm;nKa-nnA4=9Hb*Qt zyykiEU}8RJByn5l4v+J3*@@rv&bb`)O!gP>vbe4wR3OWo!g4VjabIlj033KE=fixu zWUA{sZa41dc`2eK%fPx*Kz?%Y8#OHyk=At!lx6Y!__%;(W)c|&>!qI6*sKQl5pe+) zQ{+Du2c~0n+(rtjPirF`s5f~i0kK$zfw&JUNMd<S@#qb>{X7=4QChOr4i6=f_>hMf zz}oK*a0SoM5I*-lcrGoo%=JEietdL($|Q5<;;huO{VA{iUJ(#!KUDjww?;nWfCy+i z){}{ZTBf&b&cZx~mceF3VC**8Y4CH0EWeWNaCFk6Fh8F5BaxswgHMQD*3Z+^+8*EP zleKW0M{Lf$*#Vw$e%gf;tiu6o;&u+AU0e`cp-InP3x$2s$M2h8KL1K^<NWvvYeCzd zsXqwR?F=BT6CUp;_X_R`cEAI1uEish{dk8eas`s<ZW(%5r^50)r)a^@+r{c<f9n5C zi;+Y79hf!qV;B6Eu7t|?8}H3~etzWPU{p=B)j>xK%-q}(-|5{Xkw!mR?$>PQE{V%` zWN@8kMUQXO`Vx$#0Lay+BYjsgg2D+!s))UCeC8yN_9oXN%UGgh8$0y*QGNshSBVIM z#M#18APe0$%9pTZgLIBi1C}d0QI!QV*6J@@k6o7)L^5E^OdFC07(ffC7zaIu{n~uD ztRAYTni!n<uL?WX0bcu*mwRM1K=E_4`6e#|V&J0!tu>Ygun`RsC1k+uw#YU@#0H8~ zy_lr9I_ITV9;^RuV5E%%<PC6OQxeWd%47>J2PeEH`RwPwyeZDhI7wpegZRE|HVR?a z1OMqCf8ihh^odWOKOu>)zx$*XZU;niO<&fgO3ZP7nv6%6an_dsrpUCRk$j7B0BECf z_6OqPtCu*~nU+MPu7Jcw&SNvJ0Yo+P11|@ua<-1*nr5X9bi~tmZ(tLio^H9clMh}m zlN*_rp1|dQUeayMQm6~yv@y3@SSElSuGbd;Iiraz7ZJfOoM9z-KOek5obk_P8duo` zS&zi6>0^Esd;47WBhwB*P%0FVxvtE81<aC|h~T(CfnTmg9tr1Zkg`m}0#*jm?@5By zGzvSI#mx@R<Yo2d&P_WY_m;_S!2|-<lPh!lQeJrimJ6TOAr!4Kf(RgmN_?EAQ)IyE z#DN42G+WI8+Y1BzMdF#41rYB4aV)BOY0=GNxY*o$y|2an=bvdY;P)@TbMBL4mKL<$ zJ+?va^T^3ypVnciZO2PdiOu%dfW1GUPYME<o6qMYk{1d?3C;H<yvaE6@&`Gv3-e-t zI$%AN|1MXC0Z+XEU>BA7>KlJW%5oGnx|68p``{V5ywo8v8OuoP@z{6m(;3a{*`8sZ z63}qE<;)zJXBH5dY|f_Pf*h+~7eK5APRxu?kJG-Y2sy|=er_=%a3TPPe{Or?l_&5s zt(PE40(;sm-;8_Fx!F1(zq;Oy5Z2|0WR)OCsxWv=XNqsf4SMO@K0S+V84svumOKcE zATl`u_Ab6`_a~K9iMQKdc>i)^YjIZEp1DQax*n(LZ<<wEC(p<Bj3;+0l8<w9|MV05 z_B-AqDCR_*M_4{5;T6$zY~KQ|8_W;4TcG*A$CS;3diqHxO?nn6=b-eqr)qz~)NlEH zp0WhF^3sP5rgQ&Y(e|qo0JGE@y8jI`D=aSpd^d_bBNGQBJ5uXj0NwYgE4z->a+K*L z7e^2RHDiWWD4HLEwkSHe(EW5zeiZl-2mqsOi@=sQ1X6+Gia;%l4M@+^Kur!Bf`!hF z&$~?)i8mCrgKoLAdSZ}BlAMINGAH9NH#Q{GcBZqM&v&8P2m+vlfU^O>MD`WJQ;Lg< zURz0PBa7_Qj;aQP7@SssdMYg<APtTJ_w|}0q}Rk#?uvj`Qm{f=Df9YqeSk#mKvg`p zSVs~{8~@(TAK|`A3)M0hS72*VNE@PvZOW?J0KVvVg8LtF0nJ0^=U@Kx6Q2^+QEYwX ztUntV$XuPJ85KUYNY#AkE*zO;CYd&-SsTK2M}X9ZSV9P&f9(YpDxs!_B3SWa?2-G7 zouBFYVh{zM?gtg@I$3GjtxVQBV4vU3EZFI~BAkuyHl^b7+Ve;RSHlxn_1LDK2s^A4 z9k|#a)0ymfsT!yPM7lqPWw=VH+}GQ3=J)GwzXRaeAQ2;n6tBHZipXT8`*C!;Z$Ei$ z{xN{MEQb-%YtSKXo-qNaWx4R&9POYXLL4oZfVm-`mgSAASniZPZ5>3I4+0Dv?YJyg zZf`P=&x~n6%m(V=ug3(q&hCHaLORKoX(Dhyt<gdj$(*F&lAcKk%R#E;K?QhxM<yg> zBvrj>7z3^Y2Q`X@!VM5Q(RY==o041WINok79nYDc2I|il*8wOZ-fpDu@ulZx@3ZY* zG8yj-XRsrj@tdVR+7Hh2WaZ+x9TcY7(6`D<kK8ZY9I*b*@v6WDh!qAS=jqM8>R<sd zt6B=rD(iNbUtm><?PX1oplI;?)IP46lm;Xf)(4g8V}}t?eQfJ2d5Um=sko{$ef)19 zlL~?P*UdC9fk+_HOJ7zdw=fT&tQ%$7%t-d$)@j*_te7N2m!YftPGMUI_7PK#wY(Ii z0tqsK2CPT*%)pTNMX)46`?HAPcDn%v=%j5|F?KqLqy5vITvg@Sr6yU?<i&b6C0d!+ z;&}mM-n_TycIUTX9(qXt03ZNKL_t)20?Ar847>veUoi3>f&gOM4rC<z@!<XOfDDef z@yq8w@vjT^k?4Ns{P^IJNg*e^n*EucK}Xnc5tkfDC#Z-xIAS4!z_b_}1eOQnAnmNp z#&Vo1QM4TjfaNjO3?fY{Sw>s5N$k&77@uSS0jUmrhOpf}n16Ga$an$YM4c#|cD4NI z`dL72K~&3O>v@l5^zT8q4q4uw#d>aT<0Pr%P0u{_9N_!ewLfb45eRg#pjnAl%2`P^ zF@{_nz2;)CXU0sesLl$(ZLKTYAaNO(=b6zl@(D^J*Na27fL=}qSj$<>E2G;==ciji z0vpEuo3s;*)D<|8fvYG&c67IH=j}K+_lZvyg7;PwQ4KtLda??s)l3jNnXI`%it8KT zVk12?DpZ(;GbLPh8IQ+<bDzA0Z)6Nt0>DfqkMoHL64~hq8=$7mP;CG};C|A)nc^iI zah+bW@<8Qd)b8t`6l5l-@TG0bMnBU15<Y7>AVUNviO4Wri9pc7qCw-x7r?Alu4uW# zj%=LWl<PBjOk)61XS7y$NkRoh5G>0ZN#;Q&JRT>H@_Ej-+-^4m$ZY!ddhBWU0zP)y zAREjMqzojx@7ux3WOs)PYJN#V=`q$8Y+XR8%IERt_PCFD<KydB&W{h$h^G5dU9b7F zda25kBe}-y;=rK-JJiGa=@~g^wDLGeyhINC{;eH`q|U%j=Byp;v93*<(T+GH(Amd& zb|6w^;5q<hSL<Q9{s~+xDjw5hj`uzxJVW-B1h;=2{$yk%v0Tsn4N`-k0E6VQIWTL+ zB~dKA5qUD{&pMlJ{ka3*t)jo~XBwEVrgQ6{2GsYn=1DR8K`N{lWXrh>@`+&9w&$^+ z#QXa@x7&@(<m2&SIma{(?FP+o9E<n!!KsrCNJ;JhHW?yM@1gQi6xTPhY1<sAb-<t5 z2UzA@zSqksYngA-Q{Dj-$rc831RiwPoxT-Y5|?~8V18{w5(?M9(lmBm&u0ekMZEB& z`|pH_-`~3fAr(+Koa;JB-m>`sAefnz;oaCL041zS-@DNAd+qm;o<Uy!w*K30%$n{g zL)S<L9oHU<w7!Dt&j_64z<MONS$1S(6{r(4qYK+fBH#joL=xCa?DEV`g#Cg0)3b>g zNX75(zw`U=Unp&k`<*|<jjy%&@+fi#SFqi7_2MaowumG7^5vcP|M%bc^w041bMo`g zKXI<ZOM^Z>9QfWkAa0Fc>As8ss4)G8ZxIV!$q~GkG76{a{Ue!g_JsjTqRM`NWN*vu z1O*^m0a!2P{w(`B&u9g@WJec|rlYH|K*{ZUroqq2jrFVU(*^Ro9z|>2)T<;iQPNmp z=<NV?Cdtm0KksD>GK$r+n{<y0&p_7xR=$1|mmh%u7}Qolg4fats<11!dRh?;_#hzD zdyfLtih9KAHFbXe3XmmIcF+ju3}XVZg9>L8s}=WYEVDr#M5H792qF!ny=EL#4b(CS z!sBQqn__?KdY>5`8+>sRA>sgSubosC!cN(^&Bwb*{@a@#6GS@%TJiih1eMMpOm@*D z_V-fLEgMj`5uc*!Y<LFJh7@as9mN)@VwXG(+0S2m8oKvC9FQc!21zCINIs6@_UmVE zZ$A_3joZGH=VC_(0=S=rovgs)PlFwWsPI(x#qSq>#9_y?PxG(wzyA#&JDlm~W!Pz8 zsB+K(&@}ef=I#4eUx1c*AbB=GrOQEG_W@jVXoHMtf69*dST`b)+MY@u59xg%K?VeY zumK&=5Eyur;xfW+$KOuon|3<y4}<8rmx6sli4drYuU|Y9a9ai@$-&$GjYx5<<MJbx z2|JmLC$Fl!RIi#=3j?Bv4hGWWuX8_jX5Cm6Nf3f_Z=$02uQcD=(T5B+1a?pw*W~}F zFyH&Tk#|}TTuC6AM#GOuKtu#<C90OQ2HLZiXP3vjmUURJ4m3dBfw$W=jUyZ^R?Ch9 z+@MrM+X*$jraW&>_urE>^Rr^)_v(K;RWE6J>NzA4voHWw6xPK6bw>TQD2ae|B*$@Q z%d?_+9JBfdNjx48ln#btC5M7KTFy(*c53fU<*bd~WSp#Hk+b={#CiJUsfa*n9f~lW z#4`cmal78vvhukFS!Me)#Q}E!w%4MdX*Ol*ef@h%L^?w)h}g`HsL?aT^X`@)5>**R zuB6Te!U0}-(fopz7wZ^6kOT?MA8@~?U$ZP}mYfm^Y5fA2AnN-v^0(XW+86wt@%En; zKu)0KL{Eg1Z&QLa9YglnfTHQBf)dqs=b1qtJJxn}rDq1a&TGkBEOsvof@FOXKfnE% z|L1@FpEx^xu-1*YE#4pR)M49w1!VFK;0F$p6$dMC+<$(9dyo{5_ji_xdjE=2u!Pti zPiu<D19}vt;>d*$378THP?@Gt!6K;Dw%Kbh{e##3X9na!=0dyuk_1Xt^lXG{eey`Q zsgIuRTw$J$#4t-V1H4DFdshzBtNQs&f*_mXvo~%MrgL9T|AMhMDM(Nhin^>@$uyb^ zROiCfZ2TdTBJnY+f`TNCOCpGN5Z<FTjsCIAk3ax$<^+~R5Ukji#e5n|NnZ0?8x@4S z>C>;<;Vl9iS+B7p{2pL~)-qQmD`puqSotjf0t%>h){1n7F~dSUKY;2v?Fr9yk12oT zzuX5&R0F%~GYpb~AVXvn$i^qux)k&%kKL#4B!m^)wnprFKm<M+B@Bil*leQIn?FIE zNXx1hHWI66P$Gjl7rx{H1kR?;raJF!5WDM(bbu9`%Na;wPHl+GMQ_uh+YC&jU;pVZ z9G~Af-VXn~&t|Q0`hGjrMlR=l14n=8aRNLuDe_Va%xmFU0dOB{3}VQRJAmek-!Wib zn2zHDuFT1cq0}yKSnmNwgfpgUhZwr(@Z|kAzhqh*0oo^P3}*yEFq{9TZ{8FwR!^~l z$3_RHGvl$Feh|FBzw_9$)W?003NlFH>}{Gp69^{lsBe?84!n<|>E9scIwfNqamci4 zzB%Ad6xJz|d1z1s(Lk-oQ^Ffkh3`Qy5FZESrFLPR+$~egxY9D5en%3s)_1_<bs=CG zq!Ji#P8T9TpsrahJ1SE;BB=;6>3(<n;Wh@^Y#bQa_QcC<P0JwGu`I~rAkx5MF3>vG z;r$!9&t!EHq5#_>mHeZEwhIx#%7g0DS*C}Vyc*Gx5maps<YfaoNCdg@4dyri@PUr3 z)xk+P2+KYm(gKm(jyw7G#(tbUK0eIrOjs6$pihA5Q<EqM7_;O|&1Z741NQw}I|(B< z1w8FTw)~7flSLrZ1}`wbS3Zw2oVq+~<TfS{0r%I(DPND9kit69H1Pi{FBibgq_Eyz zw|qzVF{uNJWZA>?=fytD0Z=*!ozsw}I0G#vf%PcMBH2sGnnr&wAh7%wkMq3b;5d4T zrA*812N?jU=r!aSL^vQAVUo7>G{W`>xT4%HA-7B01=69x-25Gh6Lu}{mw!b*K%nFy z{qCh<k1t>OeB8;S(EEeMVj+$>?pGu4iEZs-#f`d!1J-*&n*Md3*Q_EL-Y^|ucC?{M zVIQ2jFoUFPyi(7cl$X$I5{nA^N)^FNpvHoNl|2g@qhD@o=%jLT&33r^rh?s}RoG4k zZNuB%Cq*=k$9Ma4%jXI&!JG1k_A_cebv+Rl0n2FsZAW?9(AP3Lvt9z-`R!w`trtE< zwfh<YeHmO}8}_682m}Dgv;w6i*_oVN<SHU&lN?@WE3wCbG%(133?ZEPOE%F;0Id-5 z%nBaMHy8#dS9TOo1F_MijDy4(A8j#H|G?#p=RL6ToRYbCUE3Nlz%Q^v8@E<KLeP%g zKbg*SMFh7MWG>#?;85WuAql&D*%F9M8~LL|EN@74R;)U!nNXX_6a>jS7S7xnoTzk7 z)jp5`e%RI*{&$3I%y*A3t^B@m7@Ewe%76ebnaOmU(mQ|o%Rli?zy2@W^Wc8}gg1!# zUH{%(o2$B{z!}xHbuxfb2LLdR_i&aX+JL5=y^pPfh~hQl7PL_d^JSDWC6JiS&*$(P zsD!l+*M+~I07YtpJSE!EHy|7_36-<X6tRMQv_ovi@Vb@~9GE~jcmejtvL_M1qh}P( zD&F7U3C*U)cItu%2$C%8&2g-D_;K}5v$lWq0`N?oKb9c#h9qilyXEdfA+p!nML>jg zhiLHCV8g+~x8w8Y!F??<lUWN7ptcVN&8ATeu$XZPW@CH+CqDNd43v?9buI`3d%YlD z0H!On1Dp$!s*0mG9Gjl~c|Y&jjgfs>zcMgJ4<c}evI7&K<qx2kW=*D7UN{REEtl8k zXGDdV^VTO2gO@(Zx@<kSJ@Fm|Fm<N=xcVLf%KZtRG;a$<$#nB2O;0+Y<XFr0a@|-V z&b^s{T7tLrsS^pXKb*<5#SUiAfMjsK-|=SCF7fi+EIo<&uRNm(?w^wy7?3gJHC?Bi zs>VL1%k!IluKDp=)?xkwT&Ll5oe=>&1_aV(g?TW{wd`Pj(=DcY36mxIqQjI+9y38@ zMgW;!5_eJ_V)nDq0ad>nDl)@?&F#inmb*6MPq_-q%~QTRSdi&{m39ISzzi-+Vsp~M zWd8MUc<Rfp@;;uXca*Mx!GZiWyeF?}Lk55T>5Y37JB#1XuYA-EE#brnW;|Ga5n9FO zM0JuWR=6$&<Z<xn(<dUsvx~b}Wj3j401hdR2+OF#wx!vDEN8_c;yW4v*7;y&=#T9L zn+NIuK<dC+f-Ntls!k@#Y^BPX{+^D@OB3-k%|F6eq|*2$SU6nh1e9DCnUsoboB?iU zFwpG98ikOAm&6qzO&sdK1Cs1#{lea0`4>X$KGrnKe}m})w9P5ZoFC;!AOKc?2)slG zauhOJ7|)Zvi&Bs)S?f+@@NxRW95PS@2D6*U`(@YwRx8A;O<x(#ctmFwgUeu5ZG<`y zvE)0x2Q7m$8`-czN1Kg!I{7Ki&<5)WudxjWBexQ&;vq-)-el&sUX8Jr>ja0a*4cqj z2^=&eQ8voco(g6O#x<^G5a;Q_q6Q$uL2Z~RKY+Y<zH0l%#8bAj6Aa996REf|l#xh7 zL;CM0EiS`O0!i-h5v8{`j!&Nv2agTDdDu?Z4&}x9=5t0z6377~fS1Kgn=y9jD%E2j zBf6_#PGOQD%;6k|@_f~QM{sUu`6GhJaOU)A`KWD>JBArJ`W+;qlC^?RAzk@Pd~9q$ z_v5ziNVA0&Z$wkM|LQDMgz1Dodptf^Z$EMFlYjl|Uy;NLpJ#vEOvl*X%$&!K2(AD# zBRD$i55Q!0`p+5f^}E{9M6l~5uufevTg8z{bYL(}4J>m2RG`>)#LLGCmP9sPlZ6z` z+sRy+ViT}P#Y%|2*;kbLo1#b%WLOsrj73tYDWB`PTn6B5Bq@z-LG9kx0dP2r7m?23 z_h~2@aV_Jia~oimsIXo}iQ{&=Xk<Ne{Sj#=KV(q@4qyV(`7QY&(Sei_x_x4ST)&+y zZ4at#TyR?h2-;3e{p#R+>_-I>(12oo5@$3kEjRS@-<OCmfJ||}9l(wAJgJQX;h6f; zS=kau#Jbr&Y6C%3Qm5C|M+{JxZG5*Q9H^}|wk%;6fn{U}yQ`q>9pP~ekgtGD%U8*O z)Gc+XrZHGcXXcHkjg}0SUIYK!L1uEc{9bp0<bsuCIWaRAY;`<mkQ{y&o_r5MkdRQN z3%J>CwDk`AqbU&vvk}%afTK*0Y45dImJIM5tOrz3`{~y%+n)jHBoh(%bRWywYq^#T zhHtyxWgEJ1Qh?^?4lIXH5>i!s`uvH{pFVN_hkxLgpMD}r+}5JbvHgk4O9=sJnp6c5 zt|KD&`uNJJlaCO(FW!FriSxh1A=5Es`|Xti_PG&Ze&Bv(SX`?Lm3g(+vfNIe!~MGC zX#7cJ`+4(a^b`sSs?2N2?KAub-;Fc!D?#+^b0kmrcv5UDD6kcsG_7xBsWhj(sd;R9 zTcqvh@UNb_?<7a_vhBu+zq8#=0w=nX<UAi{I5^1_0pa#H&m^Pq1K;S)AG!Pp1YXKG zB)dz&2qS6ZrQjtjWv$*U80`pKs2s&w=>TZM?-FF`T86Q(!bw&(PoedDxQ_X29DpRe z`7f;qVNf-SGMUWi_b(tL15S5uGFjo8%SJ@$_NLB~IQ0NQupl5vSYBhU5ZUK#LlJ3% z?b9Y^Oi8XqWunJ}y#<I2uO-}YIic7B95B3>?>aaiJ~mVZsKK)mBJ31)^8g10HiW{K zeKW^>M%kbqvH1Gs3+MaEpML%mTS0~cqTB68+_KLx7m_atix3$GjtqU8=Yednd-^l_ zKjB<&0A#O~EfFyRhUF#Iyuu}Ac|cgc*an`R;i2VfMHtXXBzC<1x@9zkmvo5I_Fe|M zZlLr*W_B;&0?Xm?4Luil2}jFBL~`yEGC5WJ?O*>tsx~XUiL3N*J0D-kV{wlTD9b>} zt!zl26mzyNe4{3SA`NIxaeh4b^wS$YiNp^sgn)?Cq_jxjGq~MnsW^J6-tN6PLCbda zEL7Nc6oQ15`#2|@44)j(2ayKcb6V7_h)~(dMv5(X&fuA52==Z9#MYOLxSZ3*wxh~| zT0Mnrkt^=UoprmRQ`9b;p?j8K5ecDim&1M9-A+cYCkLcrR|8}$b6yIlAur1BXLMS= zC|1bMyNm7R*hT}owagFjxSpGa*VR|sP0QIO-pO^306?hwDf6zd4Vba`I9HEt^z(kZ z(~C~703ySQkDbZauf<QdH`Y3UgRft|^0kj!%><QUr(5v*R|h!^91)_RXHQHkm$j0R z$CqlrlD6Gv10c`%L4<8cPCHH3SxY_je(z%j#H1hr1L*)du_ZqfIN<W^L!d~`^0By6 z|JYx^wj>>7h9B^A+aUTnMj4oZauPEU9yh>su@q%H|DArrwB5gFjrS;2nga`8V3rY7 z+9tjhyXE!)vQ3!JT@stNB!ULW$sFKuMB0|pa#C3DD+wjfJqq@3%J633a_}}YU6<V@ zLCMbIYrXSt|Nd8gfB#B-79ab;Z@>L!ddRkC5fH(ro{0qWm)guN$xec}?<?%D0NY0_ z8)JyP_P=H0;;ZFCz#Ma1y~frD3#jQI-vmS#F`@Cb<+(q({;$?aaNqs!r`!U}Qmp<M zaPYG`fC!oXlJ(fh#=<izHYT=1etYbT<+vb%CSUt0+x?2omPi$pn599}^B?6$AOP@G zbb(aPzKwFE4LEJ^73o_n%b8Lnm`r&91X<gFGQvNn6(iN}sRgyA_Cz*Hmmz7z>CBr! zpxq9@duKzFB1mX}GG!7J$%3>2h_LZ0i32Xsx0Y)HkJrZ1{hs6BCWri$310lnI0SBo zdzP|h#_7`#_DQbfrp^p2xGv+u$A3lldqv`mT@e&M%_bTgI%8mih3%}8y-&6bw?$z% zUhYe`A&IPlG;CVH3UBQGDL?aH{`{Yz4Ne>a%E!HRiSR5<M4&Wn?OaVYKVy1<9dQIU zSUA{v9-}9GRAErtz{pE;)T|#zZ^vnxCMr8|1A0qAQ0VN8W4B9q(8BGlWryy~V{YC3 zH1C0SIM2VGIdwfx$7XrmII9wzJn93Lcs#!F{%(gQHeT224CfJWtmHnY{8Sr$dEBUY z@8c#j7t#F^eqXWqIL`)=LFmElI8d4=mEwN88^p@A6LuiC`<>adFc<fMSS_pP*&CyQ zSOFQRk&&c!LiqauIxokxZWS$@D4JH2d7WiE*Y~ZvR{RUBrZ9hTM$3V~1{^pKz{tbz zoO|>5@`bl-{VY2>XWkZ7^uOKT6j0^<wXK<%sViWvCvdtPHFzlz3k25^h?n9FW6P@q znDzh@5R^6uG6U(_Nkg>#0P7BP#<HKt2(%XU@ZAD6dL>(n6)h>Q!hMwkFn?3*-pFVm zWcxk=*Kxe@`SZbn1JsRB6!-g`h+yxHqNolGoOFO_{`&q4+p;B}c0_RX=e0z1pVtBk z!r^PlHhBVT-@xkU*Ua=aP`mb~NN8q&WSiwi{N616oaZ`Zg6u?%l3|yZ*7edUS7BEH z82%@*lJjx8-U!A%Gkl)sW8})bUS)l}{Lq!W@duGDH(f%mY9#R$h=%<6*ez>I+t{xE zZ2ORzP{rAF*;nM@8Nk&Y_W#9oH^X6jgS;UdT2)zOCHrHOO76Az`r*z=LQ5zhduGry z3P^u<WO06c;kS>?gGKHe_v06qimc6X?ZxmcAJ9G}d&6|16LV1wjurkPj7wyB2a|Wp z#~VBF1eRAI?DCA^l#)HBN>JVJE;E)X^Y1GFYu*hHh50#&uID>buVq%^0`d`9w_j$u zGwc^H*$B(#jMx1Cwy&nS>jDRA&p`2Pi2|thU0i$Ie3SFDu0L}55eNX2kx~HT^ur36 z1O)hUFhB3<c&MHhh7nldsl6wdmK*>epe%?H!CF3HNL8RhdtVt7WwMq{9>Ad>10J%H z+;FCJ%BH7h$C6`Zs4ytV-XvFFh03=fPv%Ay5aBh!a{mymw04v}Y7pOAdTtbUIF%D5 zx!qAxFRe)b6cj~9qFzHDO&=3BaIn=h19qJ~a`*i>Me)IT+UO*3*2lFhq9+T1c62;} zh6FxSTBH_~$SrP>{PN4M9LF264g>SGY|Ofkuf^ca4ri_Bn)Knb+p^h_1XUN^qWoEe zvri|RTymgSrf0@7%>y7%M$1j01O;}i5g_-m<n~hrZ0(D$VuKjtU9K?&Ao+;3+MA-~ zG=hl5%xqjsLxN}4TQ=xuA#KjHhzxcWc`R?pjFVd?Z!3tf4jCA1z@aPf|FidYy|yh$ zde#$>W6ZhMJ|A^T{t(<_)3&i?y8#ISKY-uMKk$tOl5IpoH?rXtUs$NCtIj!VuQ^7> z%f%Zx<~qBpz!wM!YNxdKT5Hbnkr^2uZ$w5$GRrhkos4|4Z*?T!_2-{5b{vN*#sm#^ zCvQK$aldVsJV>I>$tPgbAR|~O5x>2?@%sA8%QvsoF*(!@6reKwB7+VTUh_#MIokQC zB7`0H^!SM8U+t`vo+`symDsnWN(OX%pg<HtY+VH=t4KB!J>k*DQDQ{GEarKlt*eub zL}kY+B1j5RxEyYv&XFCF3=DX;ZS$Okoy29h!MybGcS|D%y%JD35^kPP3_KFd6Bqya z`71T3!o0iaxn8pjc4he1{(D6`3*WQC9PV?HF<Ph4Eg@(_AHaYK5%L&&93NXmy9@zL zaoaZQcw9y}Vk2%&Ejr#GY}<~?j`z6$q>}8?j}hrUeMss2Fi_5#M1liBmfz7;TnJYO zqfD=8p0}fAp6C~1Wn#Wq4%hIEm`FfUAQ+d^vA*(ig&jF*rzEl+;43(k12Au0%7eup ziSXQ=n!YEk!<V9}C`y)-%ZUc}9Y_Tq*p4JUwDouEA4$;HMH(DKa_Q!@-f9y@ru*j< z$PX_7%gLISOdz0=k{ySvz$;z}Ob2L6obzNKJNNB{9D~R}hxO!Y^Xj}nB1rRV2Fm31 z<;8U0Zrnb7&-?2O?=LUh&+@q&6TIQubhC~XM+1Ti+q1$0EkOu!@nN?D$mlOkd(ta{ z3Xn|Gl6l}s?>;?zIc)2BmwsIDv0c1UmOH???ioaDAdfxMxMl4nS}$CGPJ-EE8IhLv z@RUbb#{}MS>44vw`^Gzd8c|S^S7>5U-=8fk2gQ&b35D&qgK>)rf86b>BLEl3Q<{+` zVdf-JHjpVtGnZ16L{xZbc||xz+EB^{l6g`!iC+4GBr+HZqQr`k6$Z_-6?Fh}78VVN zgk*3h5#me>$pWolMJKhQk9HyC&5D-+y#@1q5(-Aw29$(ak*$+ut9rbr$FvkdsR4dR zn3QAbX{542RNC+p)bNJ8RrYS>xUMKzU}fV{pjLL0a8winrwrH=Rl*72l7Ei&CLl+M z=kz#$kikhr5ecDW<iPtGf)Vn+k&a}K4TV>N;2Lck4BuZWs)}uMm7|rGuoTHP5B<}> zJIX@{Rb9YSVMRGGh?o^uBnq&>S@fA*uN#jRpyc-~g}3PTWixogpaGzochkzT^aM|i z(3=mhDhsVJRZh(^Zw9A|<2+CW^AuGl+t|2oUIn{-`@-w%C!m<qK&s~CzQ3@I;S!zU z2;JM;8=1-NcDwl3fd7QD;iZJ5VdjxQAYu3@&Uc>(z2;)D@&5MUkR!1%A5<0dIQV%U zyuTk_`Pc?klk?%IRCQ{_NS_Q`!0ZyI-+%u-kH@1o<eQEaK}IrKjk*tOmf-BosxF5* zIn*ml-Pf(}Q!Rc9h6V={2}F`(kf{r#MOyAH7K375Kq!Vma!8OioF7|6?=>m+0g?## zvf7Iz=IPa)@C9rm5e5nh>&R8WpiTqeW&9UFeR*kv8)4^$2Fg88b7>Df<!H4CA0GAk z^1|cuvwv&<K?byz<EV)biVFxXT`1ucjt_I<X9PJ0vrfRy!dN9mCC0e<y0qhT+cp-U zeSd#vmMmKVRVQ}*ymFPdTl1>Sdtu;~5vT#n+Pk&hH#<Nwh_&UyD^9%<BP%{=`Uh<v zqIs^u=_2ib7BI%L9*|)@0}f#ItMSAAK}0Y{FsJo+-${n&Yug6LJf3{mb9$T)Qh_VA z6@<as7#mft7PMAOKBfxU!S!FN*7IO{is@BR%+rT)%~`Cv@X&Tn^1aPF*K;yisa?>0 zl`I!L`DSdU-8zSW3?g8}2J=K!{QT2T>?aHcxBX6rH>1ze1zL%x%>szpm=WBD&1W1x zbB~i#pV+hb;nT19-x=sE=A%%p3Gw_+8T2n3vr@zeP}@=j(Y8Gj+mo>qRj{fOVLo&~ z&c7SPCu_BVC^mMs%_XSkX?>#RZ>f0(zjWX7;-A3R2j=rBLE3&~<W;3>(S4NzMs2A_ zQRTb<03ZNKL_t&o%VuQju3(kC23TbAwRT>n1ksqK=YHA4VD;P2NRlEEb@7*?ZEe6c zkgx5lBLG$)07XHX(Ixc~Fo=N^X5d!hLH~>aAwW=dJxe7*6J$jn5$q(P#o!Cj7UX8* z6-(lZWq2aek>OboR-jw<DWuf~CWA^W$W=H+!=MS^oDcTg*%jn=BS#B(`W<I20eT9C z6$qeWPWoA1!e7sgR(>KF=?WB8Vgf#FsmGHR;-Vme5xpA1gwwQAgCsw&0bl=Fk&pxF zw4yo-$v~0_CWG*=-4fB$(#@ba{BtDx%bl0|_iW=EDt5Lld6W&+iVV`g-LDy!+E@Vl z0$|IcVLC|-MA`vVHZ8++SZ#e4X)q0bwoZd8Ki5WD0-qmIfLJMJb|`E>%r^##&~r+^ zBc2KzzHn;Wp^Kg;vqC^M_*XLUCT_szI8^fX_7iHLyx#^;Z2OHLe)t>Sy8ysO+`Gb$ zCP%-A@E()>(+m5y;RA}U4ib@UoB3eR!M1I7n$ELJK@P66hQOR&zBlMgtm{Rc{ahuv zxgY0oa7dgwy`gz;1B~!W!@0ac&*MD#-EaPqNPoXR=kPO$XL`cgoQq&*P$fQp{%pOF z1C^^`A<KJ2Fs9{rflF8Ou)&|@v>_it)-w>nF-3*zmW!oRAi@Ulqd{D9FmRQXl>%jl zqL~=?0iJx5DiBn--&cxI(0b1OTsg-svupayDh#ZGb9Rm|{w`wyGr#MMB1o3JMH_mZ zMNK>G!1Zij69_-&KJp2$TNbAbe0*K=bGMZ{yc~pC^U~V{#L6K~K?FH&P8T{M#^7bU zU8}<D8Ry}`5y#^JSdK>~FE1}taLLZcW+%L`NeL!cNA`0a;eP6qsFN}1K!NF(8AOFi zs{(8z0P`W{%@o$7fZ5LznX&#hjl5FO`X-vznH>;Ydd6)KyzIB<rehh5<)DG***w$p zHDr3VY^{E-6`+V9v6DGxF)>K~(wQ5C`Lgec&Gys$9tOiDR=Hj<+p<`ohp_mgV#z`4 z{eYSv1u-_xG5EQP<5&(GsCBK0S2%6T@AF=m;(WKQdi(hx*~#;y-ro52?as?tj5)bU zyqD+qSo0FYz!*DIi|>i%=^n^6w!+uT06cb&L$ZSsB?7UkZ4Fu1RF$vK#bf3lx92>Q zZ5PAA5mZjCoTm4eg?CoJ&eJELuhz2+^f;9SO|x}P%kr$^T894O`Oxo(9wYeoa^D?P zOx762=6!Ct=v%g*mY1&$zB&Sc`Ftrj$w0RMAW~>LY8220%?<+50#sho11mKz$U?9g zC`~XJE^^zjy%LIabZI^#K8~g|=a&sFGSfr!JAsK682FwDsDdgRcsUvhkSa6}hAgzX zB{gk`ssRjuQ!=d3q#|S`5fQCu`*&G!U9B*<2yo|2uWHdp4QTrQNYgb-C`8G|>sc3m zv1J=-Ir;^jpOq&|x(q9w0`Y&>d?<;Ck$n5zcYM0Pa2ta&8mP87R4hQ~dAx8z(+S)U z8zi9$91V4USKcGw&-(sB^}MgA6okkg=W;MSM$h3DsjqU>Et5ex`q$AD$p&pLS7*;- zV1+rdBm4My$4u0Q%K*w?Qwqpr1gJXl6u}xmlu)&Ci6C=hYz5~eBDrllFSk3=$vF?d zQ^lIcTmURLuXJ?k&{E`NN7!pXo~*qn-@M*A8fe|`cV0fdUQx@cV&GMT{)nh25YCZg z0~@bkOgqgbat!EsE(u`=^IFMiaJVCA$9tjbmKf%oOnF=x!F(K??=83Km84^Oe#k-Q zU^Eb~=*aY(@F5bqKsKc5Ut-%gj$;}qh3C9vopfMul*Gkr3K$=N%>+={dBqNWg+XZc zXs(|vwyR>x80O98sL*^`6pCVt-GC(pST_i<_Bhm<7$9O?z!!NQ3b1czhjc3J*foD_ z&A%?qYTzcCzX3l%2F3wWkragaxUk%;s30t0<DVm8t<E|Ujb$qmG7S7AXgd)x*tVV0 zQ)Z7#hX?CWs)=}eyjeFy5aATI*?`f0##3%t@8Kj89CU)D0btvOJc}~bp7)jQR?)fu zlNkICH_t<uNWgmEYR`U@mTfT)IG;Yvj(I}(?Gb67Y@M75iY_IL`K5#dNb=kS%jT?p z`DZjJ9l&GuJ~+YA{JPFR2?~`iM@Ik&6ZbXJp!msk&v7i;oO81E{F%1a(~>w7pH{mk z<c_u-jg7bS!A#ip&4IXnZkQ;@kML)k^~!OayglAIRqWfHZQnUQzgu3lWUl8T{F~LV zd0(ffrkmC~dmNsRWSuX-diTOJWjR@?K$JXbJ?3Zg+)09HdSoCHpHWbLe?o@HIyrR` z_`1@#`02@O{p5OLjOTZ@XJBWoz&bA>GZ|soUi?qC?g7hp_6kQlhg52Lmp~`pb7=cP z%S2&%Wb?___H17r0U$?E)84W4R4_nGb^*~#z2Ia+=SK!!N|n_0_Jb`uC$vsR2-3iq z3={_HgoT6<4Y^p6glJ$91jMjC8rdMMICVn8hOg^AWh4eRRwChpq9n44kjrs8MaE;S zX<;5g8;7LIn~e;H5@`_82f%zO<R68p>WWYiVZ2o9dxP4Lm&><c;VA~;)QKu61Hsia zi<+)bG9M2s&JgPBC*{ard45(~W!XaTjI0SoLIk-7-~IYKZr{8(?I_@J97GN)kMh|D ztJQK1tLN<+0JT6$zqhZEs+~pik0T{eapIMPUcK0T0L^iDxjbkE-Nd*>zklFd@TCY> zi^8D6207)v*jY>0otC=Pq{luQ)tz<P&{P0vK+>xamx9)WGJrGaGoV^?1?H#Ac!nd0 zu?JGIkHI&uugv3MLp--!e|X3GyZfA(L<v`B@--uqjNMg^B8U@S#+}+MXLC5hQ?pPO zC9jI)>9LN@PTB2lnMuk~UpeJvwt>*_IM%$;2C-^#o|9+;GLXSK?vFl<-}*v;2wcwZ zINPD_NSfv(#^9_2IH2cbj4&NazetH#D-&bC1MvR-ex*=Fgn`0Hq7AAP%qb>LkpU1Q zcs_qcyvInQqi#{||2kn>GB43T9nBS649nSKlk~M&Ns*j^L6E>=97GyKL<al4ot-+_ zwsEaqAdA#TnU4sx`Wx1{)0dJ%=4-*6PGJBDoW5c?eUA0gF|w=#qrWT5UC)Ecy0Zf7 z2sMPf92l`hqA?i5K?8uI=R?6ZZV*l#+P3swmcC9UJD(o{KG0_sYynNrXG?b>7k~i; zL`TLa1sPl`XdNm3m|_CKFK7|*)R5udKE5*|Ok@BYcqsw$$_Bt%wasg#Gl1~hBCopb z*Wqb0efsvREjj<?26phcy)qYJx|FHh-!4a`nLr*xMD#N!wgkl(PPLUxn}{$;5CJ&+ zkl67KTzO8M=gAqCZ$gY)@-|M6Jb2{6xlK5dNRce(IBlbw{(<?e0v?YC`urdsCokiB z<~BLsCOHQi!7O#)I~>)|poZxZCCgw5wf+KF(>C!~H#sftj1$|JdD$qZatXqHQptR+ zw)-t4lIczWF(4Lj=F**;%<~c`(vE5KjpPBZxdq#HfWX%*{z{4P<xs{VmZP$+O6zYi zQFXvA;*xi%|CNX;f@F&U(foh|ZbRj{!Fpp(7ay4F`PEnWyV_Su0FGKh)Fgmnuu6lL z3}Rskjd0HHX?0$h!K(pMoCJ;lK?_0JpyhC6tJD#e02^!@%%>0)5&2=IqK#wUYsDLU z8F8Dk0pHUAZIBcq5I%A~06Pv=o(Ua2rU0xkGXsqQ%F6)(SiM`h&&%PE?4T?sAZ68^ z6OTE9DXXm%a5!~|Xa^yJ7~^uppr3gjP6a7hh+A-D3n*B1#|735-AdS*%k-E9kv2%C zi}>c{m6w-KY}<{WPna511!E+u%-FU$m4b2~M+2zE4`Xc1d2-c9KLNrZt?5DqbJ!95 z_Vp9*@9(Hj^7MSdGDwc>Oi)31zN(<u4A3$m*DL_-uGryegPh)4Sk+NOsTHUJeXac! zDYn>%kr!a9HuNhuH5pA@Kpul?^7-vY-rnAPZx~>dtgs)S-`Ve8<EU(&4fFTnBkzYW z?>V;_z_KQZ4IzYMjRBPBj|N2xr~!@`@0>bOihcJPA1dL^V97FeWbo;`Z+uXl#G~bX zjlm8-Y$|v>*fq$J43#&@FS?`w_^Ld#4Aj8#8iF7$Kr~__l_*>Gd&S{#xQ|<QAJPY7 zJ<fyUJP8IbFE4i5tEdQ^dp*f*XXLE`r-5y*>&ly&8H3x+X)JS|#2CEnFJva~@9(@H zPGbSf>1c2j0qfN1h~NlOc$^ns17i&8^gbwX3d-2>O2PWbshJ6R!>fel`Dx~|Gvgou z00GM2kSMt<E&XmHpyUW{RY$6YmJ<(*FbKaky_cVDw{}t$WDY2(noKN@?n{GMu*?CP zUa=e_k%}YM$eL#dFoG&EUN%PDc#TiY_lNhDl*ij-11x9fd~i<l%)ajiK-aUO32t49 zSfFl%9q3f|zvYIoK2Cg{%FhPVZm@K<`JS*Wg{*&?1e~2B`PWlERw|y~H>X!7mpnXE zTOlG*&+m%NjtFLX3IVtrfNs%WN<;``o#t2iY0+c!<uZ`I<R{2#fSkcb;QcofYa}QY z-WOnAiHLS+FrS2rIm}s{g4;g$9Fw;wbQ?SlLD*4pAMJ?4M_MnwD+h(Nk#T2>jr+Lq z?WfnCBiP1Zlhfy*?Y`X4S(tA^Fl3M{flQN>9fu`oCGP>6`1`f*$ScWDxy^FuF(cZX zoUNDo`|XCRSk8y{cmyNb9@6yg7gu2Yli@j%X`yvpJl_rA>RxzmTMtOEo_Gb`rc)m& zKWDAXD<I_gDS%uu0?3YQmie53<*>&Xh)K$UiOG|f{@B}BM*s_q&?Qh2R>*+?<+aJE zh2>+E!3qZ$zFyVpFR%gYCW)i^05U|RJ<}LLY8e0<mUX=qjD=7FpDgPrTt=c530lIL zb^vHaEgeuonnY_<`4I>>H4(y?VX#1ER=^k(7VH&xa#sw<zHFKPJi5PjqMV=Tbg6+g zL_v6bA$6Zjrx8zqc10QgopU0Rj0sVkc<jYQF|j4+$4eksB{$vIUmBdrWZVX)PNq(N zetTmZ8{-yikyca@<eWAi6|7BGk%2-6AoCz(P~!RXJkW}#8dw69#QV>0l*CTJ6lx8s zu%f1V?qiYz=;dV!B=6;*%6%Jyb+Ffz4T##fHCYK(^aiYUA;Lk()jrtnPQ~y%8W26d zjP%s46r6p#F>VG1=W&n`%qn_&xc?UrgP=iS!g5+IW8QeZx-+`pGyT~!^5}Gm%Rnfp znyuiIp=9Kac2Fckf(RA>L1G&>_7_Lkk9mMZTy!u^*S?ylWZ&&(MFgSbc1tu*<~-Tb zj(ucs9w)Q;Zi}7A<3R}aeP^CsVJ5uVF=WtO;SHq`qQ-N@WipXq+jnLaXNjLazj5nv zyx#6qJ0G7PZ~XlB?iHD^p*_<FYN?%;$>j6fqaD*EC4T(zM^?`LJ~qydl8MQQ0dIvJ zu2mgGN9(%`BJkXd<k2Vex(Gl)1WPvp_;hYv(q~6kW~;DFC?F#pi9NmXb~Wot(-uHj zF4y1N7|aMbW!*E9Ih`~U+qmeO5iHOaA(+$ry}(iTg)sk*NSqqC#*#oZu)etY0=}z1 z5!N}#zsDHdUhdqgSE5>;=3`o4w9_F84j~eafm7(9VzLboY2Mt-_v$6T3R<=c6V+{^ z)<;jx*Q(w6^`i`CLOB(yu;cq>Tl28m8t*XSs3kvT`mMIA5v`RhG|3dJG`HYN@!Pfy z(h>415p6pyH-4reZUBByh4}~B-i0^HF{IWig#^nXoTt-`{8>B!YtPr>y`4a_IOgQ- z?Tz=dP!6>1%t#3Av^A{?J3^~H`C%ht@Vb5C#*On7bHb<ZUb%m|as1W0uNi^~l<hnl z2FUVUegxV<%V6Xa7&GlOP+mpQ8jCO3x}Skp*fnR{k3~nnZ`t|D!Ac#K9QYdB#z-hZ z@3Hq(;PFNTUQvJ2H6w7EtN}Tg&WqlXbxONU=3<F!&t2<HYoliiK@w!N?kpjB70AT# zbxEhhN>Gs4o=O4Awmp6EA9?%g2mp$*aJM9=iW$Y$2R~hP;N_*NCFo#*+{O}I`B?&p zj#34w6{YiiN;B)Y(jnU5)>7yVuw+49sXraZX+;FI0xDn(gFxuMBrt8rR`kKpPHZ@` z1y-DHX<!OeIGVE}-Lw0>0(O}eSeJ<t$iRP9$yf$%$7530OAeMYn;<?Y&!<Al^s`jO z7?@^JWO^Kq9y-;dRCryr0UPd@6c8R`VE_~nY=wdQ-imS`)CeL(q)44?#AQ7_dXKkJ z06|g#tg#0mY+!*o3!)g2b{Zs*qv<QJG{ZUa%jx@lEy81fLSe309h(v%u{Qs?dxfiu zg!_bn1$>xdx}P#_B49n!e7HCWmLUc(hrvnkc^1TAyYF~|oGVFqoaUjm!S%|)?Jg<S zd;HTWA;GFzv&I?C|JB!v1sF`vGi+GA!cd3}uz>{gfLjoeYz^3=>%xzaSEz*P&<;@a z`<!xSzT0x^NZhoc9K$OewsvR)UYRNwaNBM~=R}QdV{98DacRIH+0hUq2eS_5ob3Jn z$K&BD9DDFG?nqu$NZhZ&x#uQiVLvb+k{}GQPN8XFCW-SrsEfXi;O@KKwTSSFU0F|T zTf#O-oCAHHeY$Q7era)3lDQM%h<wyEe>V?Z^I6>oZ1ACVS-5{R|9F$Pul3ydEfE1q z#xPH*f|9>A(6OUm!>O1#-8V=KFS;KY5Men{aP*1rfm0q8f}r`)@BJV$7hsaatfDZZ zd3D45wj$%}`Xm?|WDfRy<9EON9qXyhj^u1$f}M^m5wgA%piD#{1yMa_$!VwI6$&Cz z`1+>>cmnJQf3`{)tBUAz3IM2<xrh(8Z9S*yF~V{zAz-W%!1WwYW*Vpqt`)d`Hxz;A z0G@qQ;8n%33K1l(csG0H*6%Gm-fH_KdUY<=yViITkH*)79je6#lhx;zcRX%8GF)~7 ztX1|6&SUavzoW+iRitoLuPCmA2N6?+Xy6)HcL8GzZevHY`209H&dE>j57=%z=6ln< z=SCCj-F95C?i5_}3=r6%9c`zkTK~v)Arhp;oj4!^2-~Jev29^n9EsvY=k!DZ5d-hT zd(tbFWLbtP2lG5}IcU$W0|=ht1RpXgtQV#o*pSDPVSTe!h_&e6-m2wXjIiEV{ZBBD zW+1_?!K}K<!mj5{%&P$q&+&h3Ywz9H=JwSQz>EW2U@ppnH0xo(T#Boe;a_WIri)e- zmx2sO=-V!WEC5voiDX>w^u|vsvL)CNK?bb4w`WJ#nBu+}P>>c<`A$^MskclE0%}Fv zvEX}UA(*lu3M_m^yjVb%Z~|-d@)C4^9>k(Yx*tj)96^9qXZ;KSMZXJBl>v3P3^*~^ zPl+oM(%q_(yA`hcd^V8#vMriJD*)NjWhQ}$fWhE4Zv5@P@i)l`KHWdHQ?fw?WB55v zv#=w$EiVX|6h493;2_IJG_n=qb>;7GmvQbT<dSeS&1DMBE(<oalM_MFfE!UfGiKFv z41QTp-~Vh7uIPB*eN9BSY$XhKG)A_=1E@ExzdzoX^MMBBmd$TM1qIwUSIo(-+936c zN<X{AMYI3(PyW$*-7ngI|7ZV-L_{V&w96ptBOiG)u#LAQCgliMk4H_JH51no@NBrT zxi2a32GwYz-jolKsf)1H?@4e3{xVqR=Rpv;UG&^mY2G$yb^sC&BXJ6DF#4ddwK;je z-`MX^x#11;>6JQ7=IK;KkHZn%=L9|H+$#>t$V24DdAMUs&uPha6keGyGiZwAJUQw! z^PIhs5M=%m`0crI{P=e96KVb(86aHx6=3W2p#YzDY`sFX91bUeA*UZSYhUjHIR)rL zlk5Oz8fe&=wq7$F26AJaG7ET>FD#n?+$={m!T`kxk)Vi7>U{X#zTRXO(^ug0E&SP% z&9x#JVJ84!3&$KEj|U?MKDimXIw^5FLOYfuC)PQV10b^~`SS_X=y|94faa%k!0KZO zVj`?VCC^_BGd+;SC0|vOjKRn-_lt{8tIRFf4o%rHMC<*wXCJF~t?S*|ZeE6?0pN#z zu7HE@@A=B{Tuql)=L(Ey`zOpR0O7g!uR;iE*ePy>5ZIAikM>&f4A)uHZhgxL4N zzTY^HjrTYBW=pmVsMA&JsyG%9z4*@WC$a+xC$)*kNdGJGeolV-{>IPqfre8}?HG%t z8$Z$q%zqJq!u-lSi44XJB9p}ToMAef9v&l@su5w`9BGiwn!iE_mz!<=kg$a*?A~mk z$<l|RP8aGG+i1BLClV;q^8o&TK&g0UR^Xq}^B%C~J|cR4CdwovwlW{u>5F#wgPGVF zZf~i2z8#dUYejjjRLm;8PY_?1(W!-B+gC>bkj!XBEB20TmatH^Ck__8RW|dwfBnn` zD1CW#M1C#R`(TZLH1k&3pgDq;{wMYCKz4q8LQVNZV_8_v=;&NpK}cfGV5+!hq7v)i z!Vw<VjHC!ueufQ2p=!`jzV1rFz}G2T5L-zV#n?775^8~Ve`irGB9iF$tf~gqBjTaL z(R|p(Mul@5D`2fcVA-ZdAO<QJRm@dQN2Y~@ogRshWjuuGjX};ptW}BtQiJcm{gxm8 z)_*|djnrn~TM!DWPR6!YYXlhv1A*r%OpnX>xyMk#(LjSjtHS=O1Q^sxYUQ~UzxtUy zcBRMFpne%JYMMO=DB%O+ytg9a2|zx!>zVKiKxf`;<Cu0j7QlV-O|*f8<2=2AHiCik z+N&KI<s=Czk}WqoN-`J)eC;eM;ZOhLf9!|<f%c#O!+-MSN58lI^FRL|0ndNc={=YI z-QN5k*@hNa4l=ke5pi8tN`im}#RHeOwE{2?15Y~jxO;jU;P+gXo**=XAW+CMhvm%k zX2X^lti3M_s1eDCVY!cBXk!~2DeIFOLdPUz0J^Ht0Bqaf=bv4v=9`yKNX6rEuu2&B ziwro=2V-nRia9$f*z_VMHG5o3c6!`bw3+EuO>Fi@Zaj_$KR?V{5nCUoGyqXC&Hv#O zqov~Y^%GlyRGhPAp=UB8$bn11F8Vgl9>+;d16?0t2Z4E;D11;}_pir&t-xiNZ^BOR z6Y!c()*hK#?-M)K<1yrdrpvP>kOag0)O=?74;00?*>OM46Q2~EjC)rR`s{Qs$@=#^ zTK`5-b+8V|s&j4bH;|JG(wn&nJg)M!>pCO~kJYL*p<u+oRi%=Zim_rH#nNpKgsez6 zSYC)VPj08G<t>0`Ac)p~k)F4?lxS}5`?_NBJ*|)Am6t(~vb>m|o^rTWlPz;a=CfFW z4REk6M?6H7X9GNUkzqZM)|*;ZPePPsw}j?oj2FKB_SgLI&3F9to8NMl=~5x8CO)AS zF8mNh02Ldb&y&Y|XEK@N&K$-2%iuS9@O^HcHkI|wG)~Z(|D})Rei62D6`pR_M(E%p zg4WxYU%66(`tyh&do`%4So+TM)AL$ll8|AYQbo|RvG__5B<4@cAV4D$qUTD$>@l4k z9B?X-pZ8IM06#}U;V~l1qXTgpTRWVS-UlEtXL0RKIo3cO{3@OPKHEO_Wm7%>El*$D zS4RM_fB>y2gO%IezBVBPxC|>hMFWfyH4Tn3haChN(5(n;&53nh5M8EHl|-gNKn0RF z;n=aYaslgs3=7~Yk99>g`u&+{Wm*1v#EM2(=zMKhQA=35(m&~bffdbYVV4y{MMpp* z$w;($yuP=Hgp7b`#W(xln}&y$^k`5UHn!?#OF|h2jghboT*aiFCke^vGm?SJToK*y zvf(8BnwnPVN+PY;ki6GHaIN$RbQb%!uYCK>w}_-<FmT&#OeLWR&MIPq+=EOgmB*2R zJ}5><#6=F%2z>4OKEieIrSe?cM&XD#?pO1lja{-f15QkbT#lz8@<Y`X)^mYyza&R% zMvm^YjR!ztM`hx7o`R~$$gT>tSfbmax0syAJ4CVePegXyJ;5bl#rgP|PcPq71gIDt zktsb(0scSL{)@l=`&SfxU;7t-@xQR&ZfL-H9Lz)9?{|a6Xc{dY@S!PsZkm4q19&Xs z&Y>-AfZGj=!Y7~xq~&!0PLFF|>8nN4a?vI2Jo$uEpaeZ<5do_YCHAqgZ#N<w>B3if zHRrZ-yWKcC+LhaIWWD?%G406T`vADzOZ|_}@0O!VJLZc)+e{qq-due4$NN4|4l=~& zx6hpKpDhRJAj(j1yg!KOd}N9O6h%k`#c}?QGo1pp*nDi`(mTQxd;DI{)y(o4ERo#y zovM{m;b!s6h9y3cb_~nZTII9sCXQyCeoL;F-c)!M<t(vu`o85aB9Cr<lbT*7+lfb& zI}-*nv+M{hr)^+hvu&ntMDYIpeg$qaHv_3I&anEq^wD~6-pmJ!h1WPL%F0-A*%YuN zrvTf5c5d+d9btx=-qYaKiIXv`TZ<<!1bn9ogGgVqTFJb-f@;t2O!w6;IxfVzK4(He zwEi$S6q?~a_TyC1eDzc?lI-NQ{u?~|Cd4)dhYnPtdi-9A7Yl$#7<AqOUPh9SlNS=U zJD)#)Cc;k7Q@=uBzKL+~Xd;f-sO`qg;s}>5-LaDk5YzI#ZFVFd;gtqhy0))V5F}n1 zD2~DyqIC&8?d!+3)X6&QWJEN8_NoX9q$a;$)@gpn_MZZ$p1K8zRBfBZIxtnuw?fy- zmE_;o3MYVJdXu^PW{0zz`n`b9OG*bq!+JL*R90t_^|5dJCI76Jx?a=$#eDfoGW}7v zuZ{q)qO^os*)CwPB6t30fiqKOGraG63ZP0?&M`nlLJJ6eeStmlOF8ww42UzA001BW zNkl<ZSxbx9aF#4oG&lw#AaNAnDFQ`Mj25MV9RveKK?OBWrW{#IY^=X*>i{re$+4m> zLalIAL|C~Q5Zc*Mc=ym1<tdNBON1?)0x3}~pkzY`c`070IP0Vi1A9NqeVVhVnqK0S zHw8w?+Mrvc6$P@wBMqzrrweU!QdRu$!*|?Yb{HFqjWKRS443$mn4=YN2s;sn3EzNV z&&@fKCG!HmR5mL@4}LexXtzSYPI8U#e3mfJ8JO9!l!12Bn|>OUmu0(InH5rTw8l@l z#(4mU9*cPjU|_@fu|7Nfj=rUT`Zwtr^~oIU_qhJHLGXB9KkaNg%=0M^5$&Kw@Q?oF zANs-nFSkGadw=rfM}M&W%YXCdPu^>p^AyTJDB7_Ds?3*?SvbN0g0rd(O`86h5J^@s zDI)wmJs&Hg2vESvvA!Z_GVA!<fOVheBmvU&F5Ktbp5;CznIAK7xzgnQ?RRV+_6bY@ zV`ICASBet0eY*fZO15nfw;P#*m;J`RZ~XMrk4WOv%Z>Ls85)euk-Ny?^V<Ufg93r- z8QH(m1Q18Hep^8BQN*?Z2j@e)cQ;lWH|KT*>BGu4=h~>BS-}OiLxS*LiTmD;Q?HIJ zATt#p*jm?<g-Wi4FHy4WsGVS|tR!=^6Vkj=EhlNc?9-Hi@IDa(ArW}~FWkB!w@O}L zzaiphz&2ux(Y69cb${zbKv+Xirz7^cwLWdRUGhFLC<ga)aoajKX0;&5*4GsR$-KCb zWVa>PADeAx(@zF}k(fur^y}HZenti=U5`&NJ==~vU6;1c0$6q^K-P#`AE1Q*3GZeF z>S>eK%8(>Z6%m7xK8I%6m>M$RY<-r8Y|CnLKHkwRC~?o7)1H*yvlP3f7qGl-3HL2| z`}w#0_OJdA{@rKs?RVet{kPxndcRTUUy(UbBo*ctQIMlW++cgrBUccHjmLEQ+O+VJ z=|EOQuu^s|{>Gmt4n9@uCz=Q6Y)7*|Dza>sdI`zjNi0*FnmtO-i@DKy%4{M3j504s zkcnb=rCm_dK>>iI?A(Um;|zsmvl6nNvIGtw&T0N_-Lf2YfC$?|@IFJU*EP>#rP6(E z&-T?3z|n%mP)pwgac!_#z-vVyvX`i!qbu3KFUFPs+Y&*Q$YG;92wZW-0^R|Si-DKG zj$whEYpFc?Iv`a<LdpUZ(-Do3pux%*dv5}?BAg`{JDV(M&;9Z?z!%_X$y}QQU8Mm) zgeDh2jesf&E97j!TGbic=Rj*STt^31R4O(bQK=9U^^%?x#0+oHj9_ihJf{IqRX7}3 z9f?7$gO?-M&j~vKQX(Kj<bX{9Ir!E0pLl)Q7`H+0!6PBE0e7@I4;X+WA<>GqP&r}( zT${-wAU_zIrH~is0ssAUZXBVj=m^c`Dlw5Ap=kr3@_j=F80#O=4wyXtwiDO&*S~3_ zpMq^ms_A6I>p2Z~7U^=?Xrkhjmg48Pcjj3TCpk7Cyp)Y=+-IHK?{{8bUjYbJa}*#^ z!?gMTLi?wG=kI^{(I0I8!@vG>04k$xW^vSn<|VJah`{_<alim?=o7VQvJ}e~Z8_^J zbz=d$%J8P*@U0crSu2Hy@SHA$6|xS?uw#0^zcyc*|IAB8jKn1}4LEjLS1mxWZ+29b zy<(QuBF8cL{<|M|lvfe9tsPA47~Hpw$Kzn{9QU`MerLVd<0Ijm4K5-n6=Ms_Z-Za= z*ZrtRU<bV*pyp@B*f{3F<MDt_fdj~naI3^;d=|qzCoiurs2$-dd46hgyWJRL=hR_Y zljVo*LxfW*?GzMO6gof=n5u%lHp4UmsBnJ+F;!h9OGJ;06p_ixr*FK^Vm>&IlT6Ds zBOD<;+i@zVS4oyfpFS;!r>+6dKdg5FxgzN1n~+yZ44}*p;CDu>-dPt!6~g-Gugi1+ z0j&8k&t5!+`DxKCO%7H$UD^&VoeA#4n*WfWx5{RJY#D*dE5}!Qsl-|rg0S4tfOt+a z(hf@RfwMg<=*`e4C#N8%Oa0DikXodHsR9&NpraTd(>nzzSN0i|@F;%uH-E+berJ61 z$xi3#b4A1pQKIm?&ZftD&T2_8B01B}ex1uc2MW_5BSDtoY(uu3vEVsplF0r$%K;3Z zOJP?q$!k7}Lf8fa9E-Q*`B|UakrzZk&l|wrw!*1uU(9a?(LA^KV^%R5OGE^bgUq0^ zubXAPS5OLwa<BWbPy6FOOnUsi`nLjc>%i2n?W-dIKvtoW?Qtv15kUZ%X$2ht0c&ZQ zXaP}CDinEbJ_7TkBuGb~#uY^@l!2xhR1)_#oD_aunUR;k<nZq`i#aEIL2l0N4Xlii z1vP{PrOf=9$q|kz7eGY6M^@@8D99Y-aO8Z6X$Pucw^LCBCA{QXEnu0%&Ewu8dVB*S zn34f*B$3HF$S9$g{(EnL3`jsu3+Vop3=l5Gp(J8sAP6gDzzIoVBOC#Q$FLl@6QNcH z+rDwD;QRY0UOv6zlb(x;pz`TZWTaP6T2Yx!e#Qdo%MogO0Fhue>E{IDsi8jweC<Ri z=*lwLCrB>JcZ)S1fkc#*Zs5NGrV6sbQqwpjPji=3u#xJq_1}v&v&se`lh_=6d}{-9 zHn8-*i1P1cu(DDds){YssW#<E>jHS|oyDZF?EkOYKmNP_eon)``d|No49IjqKyt~^ zwV5x%a}x0cJ^sA+bSydS7EDLzjZjIN55juNPO$oKkcvv!BLTq(1G1hIv+72K!Gz10 zF2kC@Q?G%jIw&C8X@H;*k<R~JdmzR=h$topxtqV0V!z+{;nzPfPnTz0ZH@mp4#qY( zt2oaCPRKOyki=0ZQNh?+zH0J#Ja|~DF5L%-)3>_kC1y=3;K!eT;^ot~IEOj#s+Rcq z{ejCZyOi*X*aCzSAtnbC$YK4uz^(|Uiu1Hy$T64_1M9V|=QAm$CX)$a3R{oFRS?4a z3I-o*{nl|>w%SHG>Y0RqSsb6=$xLQKM3UQJjD)maCTM%s<H6D3r0m!<eLu?Z$5v)n zXuU^N)4!PKiTNZMIJIlF2$93{AjuKu26Ykfi((pq*>3ei5|nN7^LchCpL;tx*i{a& zUCxKq^aZ9Te(s29sd=`{ASb3}8@}7^6F>dsUwV(q>nk(yiNmt49THJ+L_#EL0tJE@ zq=I|g_*>t6%YXR8ubD45-rnBWUhdoi*j;Xz0I8T{)5xREHR`U;lM0s%jU>m$j6^D8 zuIo3D#}Kq#>hYS^or0#aXm{JwsYuTi!0>aza$k5{MiDS5GLtbnvR;#wMhXxZFPNCH zHj`h0ESlaSK>c*<y~rTvgc3AHFd59lPdW4V*?cJJqCYLSA)%TOfg*|S<60d{HGcZq zzB&RQTeQN7XwNzXlm%Nh+)@$Y&83j2P9OdgHVWIeK`)IHZA|5S?+RSH?X>d{(*SiA zL?#sm@XN>E$CJ@#O_raV$by0e$EgIu-Y(Q>WjM#i05Ufl0(}G-{j5k<`qOH$6q;HY zA0GGFf}H^c41$bcG{9MkLV*oc1u$%QT7ZS0Sy<VK=ll01lu4&t2vjf&oq}^GGzh)_ z0$8qU8P$prAi^{U7z!)bd2+kmxov}AeftS=I)b}-Q{{*a0xOM3R-OK}Vv~vIzu)~a zT0@CQ$Oz5?2(oE?MSeR{bIwVm9XY@XFak2V$8MftwLu8XOm1sgeWbyToBP@Do$Nx> zvZ<$NBUw*lADIZe`qey~n;p&qN1n?Y5+!(jdAU}~G{U*(=j1pJ=GfS_-9T_8sGZk8 za%KBZ{-eM5<wt+8{fmG7Kbz4oNQ<!3W*%IC0KmXe4W0&ZEzw`8XQVgdm!0u*?E<e8 zr2+F82Di%`mq2M?Q*+wE#TzM|%J*y|mOg1c)cR$ezi_4Jq#Z`hB1ZE1&3BvyrC`6m zlJs7nW|OgR<VeOTZnqcb&1W0;2wq#R&aUorO6=Q4COG0RAKWL)7Q_WSYnCIK1aCk7 z<oB$Vfflbsmhlu-CtkrT*1=O#-h`~yVGNMCQi(b$a7AoSSw<^d7IU4{nhmH&_&E!n z73p_{7<)T|CAMMUm=t>^^HCh<0W|Hxa&GbzSGmndB22r?!7AqrbO6GEnO`W?5AD)_ zcrQlaG}NMjx*&2;6(nESk_aMu9-><3wO(CSUHbX9tqC-+>v;~+fg@iAbDH+;=vKco zw}JD=ec$4z!sA;jtLwR|CFyxYWNgNu5v1VzZ@=R=zxlW19^7BPL-AWC>C?&aJ)v~j z-u66PnsZ|i%;O->gRP2polGWsinL+2{<bg}a{#lux8yiC^R3HuX3w>CKP2lMp1M4> zMOV`$s^_Tb{^cw$aDEksSkDv0NVef~PtM*`p#T>~>G_GoDP&Fe^@e`V*)}=Dcmc3H zc0X6uG;p7DcNM4QOorfNp!P}~+N@_*;G@oUnzvW?*7N**@ksY9*32m`nf_yMUmXGL zAqvL`B7$|;#`27diK<%3iipWJhR+XBaK4LDVeB)>EeI`-9FB)KTkW|)SQ$qfmMKy5 zow0;3AXjetu)x5uXNwKp7*>D=s{tdJvv_*miAZmj&FpI(t)j<hqp%`W4Mee0_$Wl% zHdv}-r6?$@YKmlZ$xYT(%C12yTqOwxi3Cxm=d3>Yv->e{1)^xf;(xRwkuZa(AUFvv zcn_;W#>6WbU$$jfRDy(@;+xwGfBV~C@x$#Cw|t@I<PcC|G@Vv8oOw2#!U|`k=`3_T zd$nIg2ItAxTmsT`?Z^fIVnmv+DhL8sT(Xi{N_o*I!^Rb?s0%C9ARwbxT%HQn_xJOz z?gg_%^!F+Qz{q}bI22YPN)s}uf||wq`#b07gYUlkmfJSia^vh3h?*zgynf>G(~pqB zkx=PWvt_J2&^9pt7wymfyMM-S_Q8MsPyfp=zxtzUfBJX-!IvNX!S+A>n?EA}ZNs{v z5yZ!6=cLFD<lm6$sR!DTv#(tSTanE20dXy^m&1ESTdxlagRvkpDHU}(Djy{4K&b^7 zRz3fT4^~_I1SZyV(btyb=Y)B5>^=zY0(1%6z7vm*3|Erl>89LX2DuN;4soU|pY-#Q z_bQY`%?age)UvVK0#=1r2cz{|Vy8w`IKR7a0K(T#1(^XIAc3T&^=D?<5zk;%SE<(b z{di8ztC|{RSzArpKqM96ifU>gdR@`iNiI2?0psK5YgRV_JCH=vC9MBwJ+pN2EzLKn z=dF?m?1ZjVoeQ|FNC^<>za?D`*vYanA~P84c^QCkop|395xCa{r0sBjPAvWG_l2xy z)e&^?b8NS}=K;hQ`lx>$<^Bo(q{Qp(&g1^VmV@o}&e>y`R0Co`oHPl@95~<;MB9tw z{7mV=`*BiCemo8y5!_-&X+2v7b8Ef5JQ&h^+htoNaB7k$*$zO@8IZa2JgX+HegTGg zb@3OtkVMZG08%+<Q<GJ8)AIxV4`3iB1o%Kt(>DR4xCj}b5-asi{jtx%i%Xv@4F0jy zuO!ejI2aMoj`PAFhl&vcWZM`$r{w5;9Ojj)t@i-5p7F=&`@XiXjsQS*q}DA^K}FyL zn&9%x*Y_bBewtB7FGGcm3pFp{tSXq($|nrgAqgCT_494~mSBHuOMxbdMlrID%!l@j za`^MHHTdl|A_>H^s)A!r6Dw3NpR0u#gE(NzR;(@H7fAKjl**@pw%`+1P7<862wCt0 z8@i>WYC;JH?(2xK*N?~Xm?v}kK%+G;5y6f(8Xsz!(Mq21SO|Ur&IPDUyIBkdx9!fa ze*FXc%bnbUZQt?vPr?onWVPY&kZ>rf&0Ypbo<Dkg-5<gZPo^D7LvH|Y`U9{%+E{5J zb6O!S`e&q#t%RtHM@&aM13G~;KdrX-CnH!EV75IhAh%>yOJM{t0@}eLJj1j3A}CTt zoG0~oXG=&G`+mc80?F^J<K%vSW#4Z^Y#@V_#Uvt$&<ErE``g?8!XtzK_MiVV9_-9{ z@{Y&-imR>M!+Q}blJhwEZ~n9Y>dVLcQMLc%@BI63zW$g0+h4SP0$~HaXE^$}WUN73 zs`VI)@7mxm#|~X`W<6&<&B8{#mag$NAD?Bpu;Y>H&uIDi&@2!BIkNd%=1qV(AAVLQ zW9h^GF=zFj70cD*aiX#`W(0e_FsoSmbR_G+vm^SeNWfYd9ZGU+RITsB#RB9AzsaJj z11X`i>}W->BA&uBIT%pc_8?%o8q)%5s$h-=yy^WInTact*{R=dH;(t#r(rrS8cOmU zNK8OEsZ4VBN_OT)d)IUP;r?j7?{ptnAbQ!Eh@R7BH<qRg58!$Z<<4zD-z!<K%{r+V zWQ76vvNbZ_tdg^^=psgWuD)!`tSvkJ1iXGih|8&q2!m<GHLlgSb<JRaV5P*|UtdrJ z4;?PutFrDDjGkivZ#6Jbt`dbe+5h;vpE!=m+xcMIHr|etx5NDN&`GruxH1x?o|7~$ z+77^MIYc7buE9n2UOBXEd*JT>l`^wh6ggnvy?9j<mEVgN?TtAcO)}4;au6UuVLR|F zmJrXP2NGn@LqtCq=>FUG`&v81{(SN6|H<CF{n~zA_kEu+=I{4gYwfi!=d#b?xsW0$ zQ4}58x>z<NC3YgmNgSXM&>}#CqJ3%qg91fSpwDfJqUci}+9qfpk^-$^G!BB=sU5rV zC9!PFq9}<JZ=%S<%ekMk?|ZHF`^_=>Fy{QN&0{mwV_Tjn9qzr?`d#K_jPJP4F@@N_ zAs!AsQ%49L2|!GWE@8N)Gxvu^P#prbg?~h;5&r5R3weKrSU$z=u^~VZtP_f35L6yR z#sG*D`v5E~eiW^QY)(A^uL?eQr-rd>Sl-PsE!H!j#ajSSJ^K}CqkNZu2`R;?izz80 z^?;tpy?4)K4@*B7C!U@}!&Bj*q+$bt(-Z+97QpCcXiC&_c(v8BWjs7L1z_94$b*zn zKLLhWqQ8QIJ8CxO`A3QrxEmDXL{--ZbV*T8+~OL*i2Vok+=QfpBX~>+**(Txfk8t! zQTkgqZ&jdF!gJt~L7lwSa@slDDv%P5SpX6N#90JK$zCu_qtEUE9B09!3MP@5YY{=3 z0;FZ0L}bjT>~oKZlA6R>d(NGr)SOkG;yH~3jWkKg!@%jVKt)JRgA#Lc);m<gouSqP zZb;K02t(hOb@2F~IS_qxiF<+uGnmn)hEBsPIPazmLr<^awImBRI4;I?S}8l8AtI3q zB0}U0KMKzuZ>yxd@!p5L|Ni?-nhjEu@UCGto3SGU)9H-n;udIP5Md?o5B~8#;J1G3 zx7qD_zWL2>a`lBTGM!F2$ich);lLYjyum;HAO2_l$#4I&M_>7=YCrqApDaD;d+){u zXaMtwI5kE1Hx`0Ba%%xig=Zx^>l8)RC6ukAq1BT=A!xNJdP&eNWMVH+LQqvwDLzok zq6)<TuDs@onBX>$2!2!%Oaj*`-LH9*Q7KPJiAZB8AZ^#-0z)2XO7)@2OSKx7dI(Ch zQXIey?-Ii@BAe!hAR~>t3xf^d@$NA-aBP7$o(qN*HkC5Q-oblErD4pa&c-mrm<)}5 z6vdzui8ZJx60jaSfaign;dF6~Wn+8$Tyacj^t)*hmExH$5m#CF=j^ipT;lolbF)y` z>L|nfD8q6`21hlNU2`W(rHSe=D@a||+b|G|xyy!o&;>-FDmm5ipl6%AkN9^Mrz?I( z*-Qlqx^oXj+i}o%PsK&EaCCLEY0!vAN*zSsv|uIWJzidyU1M(skj+@wAuB&(vbBq4 zWB>37v>EAJrNPM|x6eGUIuvUvms0hNgk^yuw<`UZd(kV3+$Qd;>oHzO%uUwfB=b<R ztE0$D1VSWqiE?+Ofw~|>p@KqbYdI{6yI~UY4oZqnS*OUFP?Chx4N63hOyGzkS`0D3 za4ct3Vm-7P&P@thl_D#tD;WQ+Muxg#9=d_MLs^rAm35D`eB2%z0%H>qtN@dGfU0N! zn3U=;`3!IY#HO;SNgPUi5E!m_xmJAbS+BrkV#Uxd3{QBpksxHD5UxdutX3mumZ~Uc z19t>LrJ*6XvZneFUt_Wk=SH63*=%hi_{gXp0QXSfY7Te>=Bk`#%EO5HYRcz$7)C}I zJ@xw-u8sH9kY|8F%rC@vvJF%P(nOG?B*5GX_$pCGEc)s0qri?$V*x_Z40k{Rkegy4 zX&Tttp3-#<O(Udo#HTi0F$AhNMG&A-!@Vl<DL|{t5tKCobX?mCF45|><?=96L;yiG zkt-m%6C2GPoB;P?Gy&8K95ss2wrvq?QUEg6Uo`rm8uXa7<X)>|lF2z^5;UFN$MuEi zQ+2JGm41mK4W!f|T`_J{X>i0PsySs30pB~cg1gY9n8zx-asM}#4*lKl{xSQfM||+X z4Sw(U{w2#hM@(l^E^KTuo6VTo3A5RZE1$p4*T4Q(XwF^0TuIHGZn{m=Etv0Ip!W>9 zXPFa?z_Nj5D_EQOrC<0PeC2bW;cx$~zfF4KxtPC=@Q^kdr@wBjdcOYUuRYqmPgVQk zGe6k|Xn<GW{z34kg@R%T!FKU8D`99Fqhn>r0}zTkP;j%*U8p*^7V<wMqk}&KSD^4# zQTQ}G38SYkNh$HFfeBp~=eN}R5Q~4RP@bC#KSI1#HPLv`d_6luJrujTCn?P~P*oO- z#ppc;sGBlX!x69?BIalX8%CAc%Q!r+VHg5mC^EnlDz-w*<=B7LoB7Scz!9<F-N6Hg zCHka*yJ7u+nQ{OAecHCA=~||<StxA+kv<Z5EiQp&Dwx5TszJdaU(2bo3?FN?DpV+! zM$;(S!nm^}sFrk45z3oJ#rW*P>u9)v35bNz;AV9eKfboW=-2YV#wunFEzXWYD8#(i zbrB6?vaSmja>TQtBAnaa<RdK7d95b|r~^WHqwBgm5Dq$XXBeEtV#Nk61DVsK71MUk za=1-4h*G9X7KlMrLn>%NJ?OrA+{KJ_X=|V;${8n?CJYs?@}<a<syI{lQ!VrkcL7aN zIKv&!@n)sS{2X-G60*<{aF9Z~)c~$1ZVL*oWC?j~ad~jJI__XN>Tz1SnS*&mG*nn` zx{h%}&_QiY!H2=DJUA66?)n-LrRqx*V?-tPOo3n?rO0EXkK1EI0B~O`cq#%y5pasQ z)3yOkbyIGoowXI40yNh672oF}h`R}eEyy3Lr}u0V5!~ZvlL8<$$IpZ_)>byd8K}A8 zICRATs3#t~5dxu6BIIg#&WvTVM2Hau<BSInsiKu}3z$Gu6>xWiV4ONvrC0%OLs7<s zI8`x3I@EW?g=cs<S_L+gK#a5Z1oK<$yrmjhL(UAg2AH_N{1gR>kgA=p->J~zv<ar$ z8?+l81H!6bL6>MK!Vt#w4MkQ#!b^fUWs%|ncY<7EV52~)LQ?~TO#)EE0CWVwQ~bo8 zVaPNZ6-HFn^AKLKc$a&rj6uwgijc=K2Avp@LQsuT5g|ztZuLHenwwqwUB4@$y{xig zqKFFJYzjd39Fy%v@Jx7}Vr?>HN3{hj>0V`h&mQ#i7d6iVxnI&h*yF)_?{o0p2bdY} zT0=?=Tj_+|-Cer;RqV50U}yUh1I}Kb*>s_6Vq+dDVK_}U!QENqV-8RDSPgp&e#8gw zzQrrw+2+aZ8CS1fWzadxoM~6a>1ofzd;a+4Z;_@mQc~{kACvPy+Snow11m{%UB`pl zH~5`@@h|v?|K)%4=ukdY?ZxMQ`q7U*vHi*0uW~vpv7DK=lhF_u2E!3V74=XSYY5*I zRD_B<DFuBB!D}NQXn1<X3EnD-z7o`I8ki6YrBnGO4DXEBzY9O8gCa=TY#&5l@TMrn z?uKO#olO$1;8ti}g8z-c0&QxFL-3?};4@`2aU+SG%PFYtSV|GO8(TzfqY4USk7%=N zU@>B$M0@ebItU&WW&p%kEEZwdD`><wSe17y7d_kC+r`5k@&=E24$KHSM=`7<v@S-= ztF*c%6=wich3s*tTb(~(Gy+r=#j$LB+?f+A74oZm?ut7M?uaNc!&P2|N+%*H67yUB z76}jXsPw7CJOiX+SQJdGKWiKE0KK!hd7h^0VvcM8&zJ;dR)xPh3Y}sEmCeE9o;!y| zl+98#Xi?LQ)Ui4ibE1r^qZae&Dd=2;5+PalQACK<b|4};^>e9os~Y2tKS3A`2hl?H zQh39iYB?E(xlt9HT0CSd5+DSflysyplpPezE#!<lR8ABygJi_J3XO=x^9)9#Bi>Ux zylyeS>t=3|lIUR=x_j_0YXikRVL8VF0JT3c+>fvKr?ovc1Sp_fe|IMiS~9Zr#fw#$ zuPSD1riI{#YNfhY0CnmnDiH;>*enC!B@`wBnl(+PddC_Gfb5EEBU$t@lTi<rSEn!; zm<^~VoTw`esW5kox?z$DTO|yV>RE=uIE5ENk*wi<u)=cT$&Y*E_xN0kAgCuXho?=z zgJDGk6<zDK<$9L@CX6CD!|13U<Rpn~8ME+kVFTIXK(v93d(0J1C=?#x84oWn16(XT z9yme`KRdI{j_JIkr)LOBjuQgVqw{5*qh)+eBNAquh#&=^Df9YhGZYl6z(NutAX3ew zXm$M)F?Y2I<)E1InM#!R6u^w|2o<3rQUs>OI*KGrqMu&+Un3XQ!&FD8R_IT1F&I7O zmsp>+cvQzjUEJtqQ%;sER3kk}Tv2VQ-Yt<Z2F#rT@t@dyaJn=hEsfKA2W$>=hCCEH zb+Ts`x?rn!HckgRcf^cUzrcK;O%0gSNJFCy3tMsL_8kCne@eHtL9(9Je$RKm{XK3< z$1nWCUuAPL0W%)l`GEJ|f1i!z37`G!v+Q1d7H=B%-^XBA001BWNkl<Z_xHJd`xf(y zTWoI5(d{c3nd7}9_U=C9-~Bt^;KGHAT)B9aYuB!E;kjpM+Ll#<qoX5kee@CU{`g(= z&X4%-fAx1iKIl(bd+E8Kd=vDayb<Y1NdZ+NMMe>G%re;tMZ;`N!HAzhXKsKwu94GU zS;{>kWVM=C-Om6S(I|f$Ulb+PgI}rx#l0v%6kaRO7crVfs8xDYpt4HNajpUcKjXwZ zU6Cdckq(J+(1l-Xg!b_0G@h>^OCk#B&^v7#%6uHG6b^*tvIo*SB3H)ao@raC_36DR zNCM;>RfkSbPw2X?$S0vmQPnJ>8nL;%%7qadrOLX*&=1seQOZSs4iiNL)dn#OO!JIm zm`FHAocO$Gi1BPeRKuxjflcLUBxE#@%ri(`ud=>ny^Q#`D(hHNPuA6<3f*`pptY(R zD68cH)EN{8gaHZqk_0GJdZ0*MkA7qI7wEc@;#K;8<%w&&@%mfgfrk>oamYn^9*Pnl z|1XMd7#$+ji|+`z%wssQkdR|;aea(`Jr59j*UVvDrt(}fE2*4{l#;b|bMBvO9^=I` zV+nHNJrMVagab-MNFH*a%9QehFnXe&Bi+E5flv*<+FYd2hZXssi%h3Dw_>Ku%QM6x z(ry3}{O(Q|%Rchn<M!AP00<@o6h~PTbV7;~IEY6iepe_8Ss_>m(9>#*I#J&}z$S9= zCBQ(H!64`GC<&ldnM?6^gz84s6=4MyOc$Zd0KD3?>>Y@H3Q@;9q1BUJu2)rJqjLy^ zIv%t5UL^J{NK!;)&9LR!agTt6*SQ)BLJ^!eB1$6i;8i0vC+C<i3e)9+_}R+Clj9O| zSoc=A6QS~KRF4D@9t_o(kHXkc`=`{ghGJY9J^HoPBzC%nt&L44ZOcLv+6Y-2Tr_4y zLb(?yN~}8;G6qd0v}lH#Q&0UoOEV$@HMNRZS1SUOlrYO-NN9OSj@(nIDP)T0^=5N- z!z~f!2aKDJJ=E(O1&NK1@p*QqX#feu!E-qeK^ojGJX6|)P{;<wQyGSu;dzC4$pdx6 zh8%kuy!?$Y^s$*6AW9P^=F>T%LOpN|h<6nF{G_%_hKVx_3x>R4L!xqxIH)Qc*3$Mu zJKLn0&aq)d?tAR?lr&_TR8EY=QGt(c-zIxTh7}hs?(o<D)-Q4I-aX#=&2MpXc*6bf zzrphQv&^@)m~U)wG@R1dlD=PXe00c;gz@s$8*lLDn{U##!WX~vMK1izdGacAw7<vU z{zG=mdG6WI^3}imi!@E*?Ry_E91PG3)7g|4UU;5!=XTh8Q~3|R*^`#e(@#ImU;3N> z78fpF;9#@CEYs%$4i68x^~#@daB#qX`}hCRqf_*$YA=1^CreLy`PJ{EO+(Wp`o5>; zLf2|+6yvuxkyMn)_-u3#5?DXt+=waQ_*$tq!_A;7Dgq8;WK^5rUx?4+7e}ZHNPJqW zHmQV6FcIQ}*touSER)No{=kax#|T~5&~;JLv1vky%ogVtG)+TFE!Algd&vg0X&FlH zHyVmx-}kXMLj|)H6o)`WR6?y%z$1h)Dst5U<Q|3ss<;Zcf(td3%B76CRH3N~ZT-AP z3@uyW#+lD*Gjr6UnvE2PR3l0@BV&k$lvE9`?-&X2Giv~t6{Qh~lwJWG5zul#8xS}x zF+Y-&t#do<KRn^y-Mj2P*h5?~B3c>|5s#v4l+>Qm0{6fK=#(_AG65!?(63II=zzD* z!b3i054op8;Bishk(g^dly#Rd%5rt_7nunlDPbyvp-k`r8qX;GSs(CN*0f%yil&n0 zYgYE?8Oe-V+7!y%de9ey<4{Bcuj6s3Kv(!|B_4C?@jNW_qG~u<;ae3c%6XY93%;p! z{~=^^ya7aFPn}4L^M=aW$7jKJ08xc%&3EgyUh5T~_V(BiU=3`IDk@bG^-!oK$R#!j zN6Xfe-NH~1`IzUUDxgV(ag$HsS1SyrL<n3cLLv_VOqDLhgK-NZ_z+CjmuCdvc*!eQ zjG_=5Ai>O4F~Yr|5oiLHgf+zjFjzc?0B9?ouuvY?V;U&C_)*TLgJd*>nFvV}HRrz? z21x|W5i`UxRt6Y~Eg)rHtyuo%W3(a<hGavt7f*C$enAt6DiP{G%gp8d#iIrwDl{II zM~37yn-iMZ4B8G6jc28nVLYXgFigt5;}p6h#Kx(l4Q{yzZ((pJv;{*1gy?68QA3OO zC?ZJ3tM7scKmZvKf(@f<qM8F1ih2ckC84P(_vS<|384hzyOp@78V0o`JT6j;wQ{Gp zO9F5)mU+O39Bb!}N}_2)k&hhJ1Re%vpTp~@F3dN!Vy#8SgOloWYd=4!&6<||{S*3w zQ|3BB{fJ45GOMCaE5@XC#4~LQuiOBvY)NkmG;JX2^sekZJmCEwzr+1|_jqD!%7u#; z*m~v?yVrJ*+YkBnxBryoy$|`}>#y+a^puOcyX17rm5ZCqu06$kzJXa{Wspvn9NoG@ zb8^CJ=Mr-MIt&AHd`kcDfTQIxPds&%^G{ttRoPzc@!osyF>4wwU%JHhrHfp?be`L- z^Xi*#a(Hl`w{N_~;qUx&&Ye5QYQD+Fe1i+uF0sA6&4r)&GEHju<=^;4hM~vhJlosb zoV)xK0LP01UVr@!Y%$Pv9sl9K{~vvPB0pvAD=&WXzLQ7W%WuAdSzzkmIUFVENSoP% z*Qr<vRMoMTWknKb(4?Ce{1H?FAE02y8F?_CxnVvkP?6#UP_7kFq7Uv)-K0F3#7W&X z-D7Op#91W*NJtU$sFWlkWCt{!73V}ml&+PAA!m$C?lbP0oL4kPlshg}Z3F=`ER`6k zdnnw+7|4~MCE&yu;xJw({v(0|q6+Rjdg65=6tn6`f|wt7Ls-k-`dI+%Koh@BiHt|Y z+>M))i}E*CTZ7SHDp%lyBP1|7zIO}xsT#7_b6}o`h7&=;plRELd1lBfvVb>A({>Dl z0UBeg;-)I*QoQS}VAiud8CaeU=xU&CS~h2Mw&!#5-d>bv&OPSCxQ^ycL}W<e1&5ex zbt1ChG3=t7*OcWrFG5g{R5=qNh_lX2xuJNrik^-OQIp@x{Fdpio_>g^zUGWO!2<$f zLy)?J9)QT&;L6S*pel%KtT_gfkS6pd$~xDGG*A{NzBeOerj~wtVJ#_gN2|UP=UP-n zE0)>gQFx@KkugzJ6!$Rv%2OXV9vcDxcs3$eF+j=)hENX`8ES}X%@}UZKnYDtY|g}l zlr%g;8o7~SP{dtk0f1r_Vac2kiozVX<L1G@z~B}NyLkz92_j*j)ZVBl2;}StVVNfl zMp7sOsw$K9^N0+fMksH=5(&Z0>7{sjN;7g{J}@`jHO8VIl>{iDQIvQifON!f3l7$T zFyqJNJ9kIi;<5r-?!`k=*|m6IB5WVmxtDv(e2rd<@&YBsq$pyJYi463gr$nmFM7JR z1tdHv8QcRnV)LDZ*PrkNx;uG@aCXx)MHoO+Ej{9Xvrse;5K&AsnKPwODf3mzx22?* zWjs3~jDjULgoSY=qF4$;10mMW!{Zm%2BiX{@QC>_k_aj(XuANQXCod~=+2FyAIQTH zo*j|cP}sC%>KJ9NRl@jDb%vp*OEW}-!6RQ&#X}*ATNo+>d_tSgraZWJ7wm)!=cll^ zkBBg{DQ1S{C6_PmvUz?^nkpw4IYDm=23916l!!90DjeRq#h?ArAMy0%OMLBXU!!~C z3at*@UF>tL19RZrci$$rdmLT4!u1!QXZO+tmhBa!Y3Nm1E|*NZhQ-M--Ge*4`Dfqa zbZ?KVSFWHB_t`o)f~m4OnIc_FY7)Dbu5$n3A+p+MzBz@B83~ZBEmrM>)iA(n$(=hN z^6=pu7X3iic3gSpDZcTIZ?Jv&I@9SCZReO}gi<A}Ni3I34CU!(Kg;5D;NakZ|LK4I z#~h!WaO1nb$6If`#pMf^`ITS!6`uX-*XX*AWfpQCz?_$U=BsCB{L|OI^8A+`{pb_h zpZwr^LAYc@0>gm-6oD|;4H@y2P<pL+<%^gYokvnsUJ($%RYyE=cXDw=K{!~<2m?Y3 zzLkncv40})KD7zYfrFMK0$lgvtobz|qGaNog3+}tu2G&@#lbR`muT090_9H97Qt`_ z&x{IVZFRFWgz{K{XT%+%Uy=9%Ndh<AExuGa(@Bs<v24U9+<f*cV120~;N$Dg{IbSC z1#0R{tsdka7&kU^g!0^M$dGA75EMMHk0iJccphjJCT+v{bK89QLD`R@f)n@(g+|K! zR{$4junfn`p2Yy-8P|sGuA}QZhNfY$IAs`?MD)4AE#}Cq%%_9<5Y9afg*zcw-;Wsr zo{O=mVPr-+mlN}{o`-Ng2`*0L{+I54LMzKjonJg0rS3(R6~0JFDA+2vg_BD~Q6a{X zAe$i#VGwJ=<Ex;tD&vd75Jp4LQ0NtqQiH2t=BTgx=3f5}#}`C&qefC{=0#*#Q1qAo zhk<_z+haojMrN*xWc7weopz<h{9FjY$7q_!FBB1mqRfJW8*UBaf@>(Z!OULxMyM*A zNGN!<sRwgl@tkbIC>UgitWxfe6pv8gGzdINT!?`Qrp00|3cb5WSkasaZURVvyb_9= z$NSnOhy)`7#F+{acy|quLL&-*%i3Tsj11wq@PahSV{WU$nIOPQ6f+BD)*Z2!gAf|= zQ&ftAUbvhy0O0}XQmcCu0Ttqa0Qc<R85cp+*__SMR**K#K6gPqHgOGF=Bdnw0~w3` zAAlRw+`<a3T7VTOKqT=DjN+Q03Wj>Xl6uSoWFQRCI`_DfB~C6y1XS?B`1nTe(yZ(m zsfb%zRpjwfKV1bWic1nu56=yNiXutrOR7)b_h^nWb(>w(?YA%_tKwqBJWZ!lR;v|) zhVV7P5pn{I5DWsfjN~V^l_ZALa^<t1;n|~o*x2Uy=m=RwiqUMg#rX^8nLcrjVcxJx zupBb?_wJL)bn`hh9g&0P=t;-%?Imx0_!{S$4W9X_1*=t0f0~h;m~<UaKl3ab+b!Bm zIXrdFGo?uxJhNO5Jh*?K$z;ZpPkx5gsj%1|xbf}RxHtPTOqT4<65Z9yq(&e)uFiaW z&gZ}I97&w{))uR-iS!E`oiwzQIlGs3xww0UY{rAzcR4*e<>BqSERRl@J^LJ8*U`>4 zI5|D#cyUVGG+6fF*fc}ihDLjq2M4_O!8^SE`s)lg-e6d*XzAFTY>{or>0-&!L6g!p z6MpSC|96g#j@a7TV&nXIM3vrqZr{Gm|M{!G%4@H^M)%+d%f>4=ZauO>pRV@OPk-^z zk3O+|>(%el)F?85=TRT5DSqL(jA8)6_aLg|;+d`Tz#Rh7oa#)8PZFXsIvmsmcf%!= z9+!ZMnp<6Q*hD~}EfGi4;Nd)ERFzI+pOgqJmrLf|7Elx^jdzTdX#gvp^^u?5$z;4Z zyoA7~Y(p7Q`LD-s0dG#6XdU~&;yGtL^A2v|go()JT834FV2qG>$X_III#XX1@2v`7 zjn>rWR>oE4=`5zY8%8LSIYZ7pZBlm6pW|WIlH4K!Tw2I)1=b3w5C)Pu#o^MSX+oRk zG}_W<Lz<2@H8hf9oIutXca3xhrGQcN3k#YE9G1WZ1BjHbB&p1GRNQj`q{yy9FCv2G zn3HwNO&Azb47R$Csm!CM6mmr3zMwxqqQ4-Z65{MHXvrZ-0x?L@7YMj^ch-9mDy>Pp zukuPU#>MLuiW@OjiFb=YB9#1L9Gl=2M{HT+D#OZa9=FmS8v=l8OOqN>+ZE8rk#p*C zU<^$m#%y>F1w3hhmxv&4*kI(G5jDi1X&S~&wgN-W)J-(wiIP?nJeM)eC%m_7r3*mD zoby7=D!3~d1B}8iBVlLDB*K#|QbVyG`KCbKEQST>HLi$7A7He5!b@J1KnNzP#(@@N zK_z|%3Ycev23G|OAUCuqqkt>bKnUfw{vM25-zBPN03sM(B=$Yv;jOAbRenJ6tc9uy zHdxv87IS@0CtTY+N7rp3I%P8381vjyN}!=23q|vnSWC}Fqe^NVa~N>U`nVpa?lFm* z07BR~Wi2ftI%^LhL^@O$G~SnW78z3s>O7b`Ubr+98v|?E)_9y0I$O8w9tH~yqM%yo zF1{Cnp8GsRYLv%&V-LY<q`Tbr460~TI-nB$fiUV+kfb!yU^#=PLhJP$jJWO5{yo|j zi({Hbc=p8?nD1V|Z`|bI;DDJ&4rte9X0sW?<!y#}LsmFmEx3L2L&!Z_TXQDUHb8&5 zV7cr$JUqq^4*9=+`(JbA<u?!!Zr}TW$z;NpUiw+S`qi(pxx2&B(GfQfA9DMnyNDhE zux!Hv?;FYsKmQ`Sb%F1F|9h<N?z1>N;_{Oh`0|TiX7Th6J5ODuPXkL^(oQ?hP0v#| zE+&JM(*;L&_sNG#wx%<_{&O$kPh4ZUTyp*1F|WS*D#PN4#lZrI_1^1`$zn9q2}2%O zoScv?4$>Qjfs=m8-ti&(ho=mtq&#IJ9XlJF%qLU&z9<X|stuBay~91;_}=%pbm<aL z{nSr!{`>`0TlV%3Ieh;vvcIHRgva^kp1y{Nuq=YLv#6G|v9ZaeOP6^1`M<>O#a&h$ z@t^+}pYF;@UwiS(kACzQwpV`eD%!$omB~Y-?2KxS2ss<;liw>Q*1JF6OpT~&7XVxh ziA=$eilOcV8b*q%=Xie9h8MhiCLY+JfH-6^L>Tc@B;*GkDI&3LK|un;vV#zE4xpZ( z+!aU2KrLMy-#cJt<EG{!Qo^&WX)SloL`onqCoU91nUs(o0%r?gSW%eQt^Qu-S0f@b zl;3Og+dQ07W=3y045E~fM%lh_4ogl}Bcdy5l;<IjjJlrj9!0$D!&+vNX;d>)<#e?K z6&fX?4NYVe7^$T66up8n_p+WdAPf$Ra+@GQC+?UHq?B;V$=xETC`#xAjw52YG#Hfo zp>Ey|84KzL7Wxc8EfP^_%i@nw5my(mFc7Tt54TD_tW#HmUVxw{aUwESE-VhiSg)YB z>Ua(MD{@TMhG*4TKBg~~ahZGYiHBaH(h%lV8P}*dJ#LQ;0if$TR5b|4j69xbtC$Nl zFi;6PQXj&T3ZR}aG0NAt$L24gSok^P8N@>wkIj`zN)g&4dw6lwuwtD9sOm`QmW_NS zCCFHNYsM4(%BCz4Z~?90sG(5Ruvl!mBFd9_Y&1){4uMw>%Gq$LNbEVNtP_moKrmnk z1{?EVvkxUCH$*j;nl~<l&~T66r3$hzI7Edk8V6N5pfQ(*V>xR7iV5mkJRCa0eCamg z6=(tgIuC(i^M)hona(Ek{gS2jG);@U1n3Av^`#hPtuCPwf>bm>PTfKwZrk|0j4fNK z+GKUUgs^2oS+^Xi2BHp9y>2mw@xBNR$Gk_$Jzz8r)~$kR9eIp1X>6j?VnBtSAR(U0 z+(e`x{um8E%j6-m8v4;2hzOcGMBDYv7^(DG-9jKaAkYs3sa3*@7hsKqfUMQEKB=j7 z>}>90I~Uo$`Xt@+#|*<jyNdFLjjzz8thRR;Qo=Q{8ZvEGI%}9UQzp{VHw{hOvN$>B z^!Nx47A$2+ez;HDw4}6RrY&3Bn_RnomG0t2c7~oC-}yGb^Si&#;hp=Wl-Rm@i5FgY zfu}$F6g%g3IRE75k<E_R{^@V9y|c~NzV;P9_qosU@agN!W;5DJr1DttwE4>MlsG;* z;?_rZxbfzD?A?6G(aiAqjMMoAmd%p;A3or{{e7;?ly*7^r7StDK-?LIfd>yC^6Jaq zXMcY``o6V^?MyMtJaP33*Pgu2!-?~wAN`2b#3u37w3x+SBz1*lW;j~%@Wzihy>pWb zPhRHY`8msWi=k~0hs}*STXa}9d=d)Ti7XiUfeFgSM#tx$dX}I2xv%p1uYQG%jScpi zQ-1xQeHj~8q1bgB?Ck82oAd1KoTHmZ8P`4=KmXkGkF5Hqt9|LGfAXqHzyE_j0|>>% z3@7m9&l%LCyb1miCzQt`7gE86vAUfE@A}}VD}x7iugGX>h$0i=w1L160h$z%+e8X) zy3~Gz!LUYPsAWte0#a~F;#p(&U9lY97g4m}i)-17lp(&YI2YH|HdsV7>i6az@~*&4 z9VaCc5*U<en+X89$ia|>9++P+y|#E?92iHxVmLiTduVew-~?yA7cK6KvlHU|0G2bU zZIL{nmRT-Nm`$g2lJI2@eP*H!eVgcqKFVr}6A@;|H1q`VFi`6Hi-&A76cHc4hYTLF z3I~^rBq!uk**oHKeM{Lx2vGW4=>?B5q*Ucokwc=SMnmB@qXenrI~ClBlxJ~r&bX$K zB^q-bjxUe>EdW+^p-LFV0MZ5ll!!#Q#mU=YSwvLZ@t{+OP|%>}IjDSmE!WLB8(EM2 z0)NqUpT73k5TFo{hc`IqA(*9t354}sn9|)4i9E&#mkFwlCPqdzio$KhW8qFC8iH98 zMgIbUl$0n#XHec(E!fH+6-W(mw@5Y61R6|aQY>cCFf3fq!qje7JV%Op0CnArRu5{a z^?_?UJ9dco`=|__X;zrg94D9RNPsKuLR2UU54GT+rB5CnYl!h!2KNB-RG8b{F^PMD z@RXQg+0X(gLSmGL1fEsTjL3*@s5aq!>N08G(Qa;%n*>dVB}E&h7Y7W-Mo&*F0x{tv z96Xd-D|NMVzl?cpB9c@+45ETtgqP0(QmkuuqpBy$y?Amo!n$TYc3jGQp<%4mmRyJk zQsk?ugQ}9;5I6er{v;k_keF|E5G1C|Ec)U`?-u(}1klJu-r3%!Q9`gO)QSxLF<LPw zpxZW4BG27W)`k-(eP4k56WYv|<ZP@gk=)T{gI1mCBr%yxm=uON@$ga&gRyvUM7N5v zxtkkPq=39itc&NKISW)0Gn|Cc_Qs|`v#~*%%{cB9Z#$O93*P+Un@sNCMw7CCvdb5r ze~NBCqnS>~Iwf7Yh;J+NtJ_@v%IDd>e3{|mRoo3v4TBllwvaQX!mB_0Avb?~gZuaI z^X9ky6$cOQGT(iIAN}YS6Si=3KDhBd2M-@|Y2zZ@e8!4IKN!8j$;k=BgL{1V{`-9A zH-Cd$w{NkLh4bexFn#7Ty!7)g(LAw>h#;4r;LUe_Ow)9zMn#$Ba)~z@DTB);{py6} z@*b1PHcguta?juc5B49hGv8oqI$<}r?C$Q;Jh6$nb37b#cy!2c+Os*|<TIapj;Fu! z0_UE44s&O_b>>%$lZPL2=k^_L-+GVRx8Tw<Ut;_GCJPUb@6fjVi#J|nSS`4J{{hR_ z{*;$rewll(zD|=8PyE#9xqj_B8_$29-HW^Y-Cy~8k5I^`tNpc~{>k@q{LZW2M~Y@u zWrk3&hqcmP`M>5^*A2L{*^KIESglqxDUoUfPz(gDcx+7!5?~c)%Vipv24|c}W}_Sg z0{aR4K-T>_D`!NCf?4EKO~FZC3=R#W#w1g^U&i}r3;cH&Wpuo6-Dik<Aq;~W`5uiH zKs?c;hNH!4>~pY;x-kqfzv~tXEGk4)RB&0FM_rdlDawe7f@w?Ej!qJ)@tM1mF$Rms zpGZluBs}@%Hb%f}xl{G%Cmx$|fzU5fL}jxpl4I=ZH8Nl^#%zq`pwBoM>mDzt^2{+0 z1;4hn@?QR_hMX?)J|e}D)9)%+ncsTAU-FRWrS}M3(19z+TK9;Nd%T7qJpfejGIn>z za?#f$?u$zvmA%!y7jhFIjJ=Q3#HY1AHUuC53ng+Z6$+46z|xdZRm1~;tSHt}Jb*@6 z$2G(#9*S7@@LY(L5S^?mMy&Jc!xBdlA_dqArcf9m<G4D>gV78JE9n;ws=<(hM@?vz zw!E|S(+cBBDAJX)Y8Mg_Dh@+M(d415R)#bWM)LTX#J~(x%d>)++=AgC#*tD-c+BH{ zajbm2*K!C6GXo3eS5?fMfz0525eh{xNB~%D7zz-Gdf<ka1J$5>PB3|du%myXiFP_+ zYiApsw6wDseF-sVGD;}4ZXWjo$vwbABM07aT#P|t-3N;~Nl|!oY@!nXTu}jci0F`) z4hB7`L@r~K>dDm(DbXO|^(pHczn96Y&o6W$Dq(P%$NZ|G*$Ckg{R~<n1Ubd?6P7Gs z)Psy7SJjx$rff_*dRyWQ5s^^vLhlHeK%c|AGf7T2X^2R&5>W^NkMQ(-7M{3IYH$AG zAF#8tgKlo2DartfDs&s<rr}g#uL4cvzD^Dg>3{q#8>=O$Nle>0k`qZAR;$?O&@>H` z4w^>j+<=}5!bTFNsiT#KQxk@qnHl)e3DewSgCh%th2q^5CNoa^o`c~OJ-@-^iF2f# z>)6J5&^DrnD?_9Mj}wX)`v<)G@+-XlNB^3;ckgm~`!4Rz!O@5O*8P7@bKw;xlL?3S z?*{LFc7jZ%oQjhBf#btNZr;4b;p^Y$hd+Fs`)|DseUIgVyLWG~y*R<HUE}-{mpM5( z<?f9SX$NQ0O=3?+61-8gN%T3>53s+?_|`Ra=RAXS9QRIxv-iP$=BYuuj<5av*LeDw zr#Zg74Zxy54drmitojuTW^nN;c{b(b<OFD$%qFChC6<;9{Y{!CakO`jVfWm48uc(_ zkb%^;?3_Qx>hja{@&?Ux&ZSG2c<HbH65HF`JZvYddiaOG_K(=v+2P#omEenmJN%Ph z|8<Vvc$=>4xW09TC$2ofvQ_?*zyDv4bo6O#zx)Z6lm6g)-zOD?$35fjxC40be!=Y6 zR}jC)KA#Lj##KQR2%~}(<yReJ00HqLGc9m(^f1GC(z0q)I)fq`JY)#06+Vh09nvk@ z`n$jyFx)kO*$D+-;~AkBOZf*y+<?c$?##wI2mk;e07*naRE|hfAB6hanPKkK>Te=Y z<>oqn9%j=y^NlUK*#@MhoCjct3R(_NGz>3}xsb;(pKVgQ=^U3t>OwBlw4})d%MPx% z<-l*kfas-EjjMeqihrFGx2oJjq@c!_tGrXn9s$n?0&b{;Y*kYRx0tOmPjz!`?6N2m zEHPb9$kULa8qf6dSySfUs~nI1N$LL}8Mlx{0IGsW!+37P5My!=L&s%6Q0kt)wdx-9 zVHn^r5Nj{-?1&Jh_ztLaKn8KCe}QKxYcC>Lkx!4?V?zK4K_yZ=!5S$R0Ujv`Og%6~ z65-V~%)!OT9w`9?%N2qxsX|f|T&G4Ui_%rXQw1>ADqh@w_IGy=<v07tm^j6Q5%v1x zUzBaE#*C=o1#ANpJeWX3X^iJr7FR~lB<A7l`>O{@1*8}@W?|*4DiK-@hIR+BP=vMM zHWJSgiGG+0Mu}c%C@h%cM7Y`jR1gnu0zmahpKY#A{LjWQ0Vsvh#X-P^0as-<nb4@w z($GqS4JDUaiV{wprvNQ0b5c(_b&sb5<$c8y5nljh{mRLol<}fUxf%!s-_7F)c6W>r zxQ!NoFXO2m4YjhK8gpFR+1~-Q{3#M%eQ`r5^KhmOUcgxuGZ-YZ9G3VpjLX^P1d{>t zjEdlrFo>v$fRxDDu!_9)W;!qPP=!B8U3kiz{2ST_-+P^#O+%XRkWzS;+#SzG+cr#^ zDcjrIT-v=r+qB&O@E!Kwewz&u63SE?Iu}+Bdq*c6AKc;GR?8DxPw<(~e1@4f?CtHb zck2e{&To=(rp-onL9~TtMw)D54^L^^mMc#_gPGFk3}M0`D^7<M&DIvoCL|JhW#lxV zBJ_<g44J)$dwlTW2c(<(y!*=Q+<EOiR;yJBg$r3T_wV1wZXcqmOdDZ7-(Xui+GS>O za6;eryz|Nr`TgJj16J?7#qr4rZFX7|&5k1E{XO3J&UaWjJh*?K4?lX3epoO&zlls6 zvO9gwJbZ8vp26c4dAZ`rXP)E9C!eHWt*}0m4j+*A9)cTBUb)KWzWx$hTU+$Ah`ekL zTc|3X3#n;vF9unOLgm#G7Z|dzeQuY2|5`*GduRW_0lFLz(J)Gq(z|hTbcFOv`o$?r zS0-EMxOnv$RE0FaYp=b=a_>W4eDOu>!sVc4Pt4{!oNP?E_RQ1#m9P9Y&YeHU!Dh$* z@w?xkKYqY+xujvrY-7eEDP7lbczn$3Z@kW8@0jx!F7TiI$N%Z0r1$^Z_KRN(1K|(8 z|7VD;J@99nQ+4C2sE1s$Wf<6P*CDDH6~ComZNa~CUP#Ch$4zh(OaxacvOy67=hiJ! zjjH@{uT|D8a6=W$Fd-aMQe;I4S^&mqDXejpf_)yCobk91IJ@b&HW3BSc-_-f<YrPu z9CDIKQS2rxhs@S|lQuPUn#sA$i3&mj7nFi{uAwv&{cn<y#E_wnIdw%$SXs>N01PBn zlEQ1Q1U?hvTKnRoX<ShB?l1`A^KyY3n1zGU89nils_P(1bshp(ioS|OYUyBge*qwZ z$Cv9lCX6Kj11tw#B#HGl4F^k2Z8hR~;)EPGN6Iq++{^k&%qivX(GW=0NgGY98ZHXv zqy7;q02H|j@tm`?Uw^OfdsK#gTH9ko0LWzUG8rxm9)JLudXP!e6e}ITgOSV>HKA5N z5D}0d$B*ToNicvBo|y`&Qfk**Dt`kO@QfpjA=x1wB7wl+(J%l<6EFlI8S8WwSQEJw zhECNQ@c`oSdn5i93V0Wb+{5!@?zn)Pj~kB1=*Jl*tLHI@rT{`S%#B`Rv#d9QmQ)<F zl$4+%SOl;FROJYFccX?afe<t<s5ArwmCrqoAR?kj*((tOPJ!^aq;^KrZIHSRdW+9N zM+0zNKR0TfeHEeZ4T;U!F|VRR^T<J2?$Li$1GE^Au-^Pv=ernWxzLAJ&qVPkNg~^T z6oWAqL9nycs{}xC!a!6Jgm}Mrqy-I@!@FLdI|@S&lcajR)C^zssE1csoRY5|0-_!e zCQ=MOX##`^;BQp$Jb=U=2q^vZYACG*_+Qj^uI+MqdWu_5KR9^sj{Csz$qD<bJKVi5 zy!&pXLP=iWIH`5!=jJTtiT!5a)Ot>=XK5$wT-xLpfBHpU_`(Zp%7nMyew!bBXTj!t zPTp{aStd;;9G{$U@79NGPFr>^p5xhPpJDdQb8Md5<@mud%l#$RpE7GUNLQX>GT)|O z8M>LUZ1h8q&NnzcS#tBkoBZjw{uF!bT^0}Sv)Qy9Eth!Nb7T@i-3YH;>oA-QJh*v> zoA16)9u^!P9`e0^^)GpN<6SN)T)c9LNeX^zJ?6D<634mc55N1zh$uR&7(5~g;?8o} zvsw-8?d@~(<}DJ!rE6E%-VRUy-tj(r5B7NP<?ry|&F`~miSt_<^s|OMpWtHj!;(f5 z%f4r2!uE7d+e|`nQN>civa(n?O*>&j66wijxp)5_`}_BK<<-|%^eb}CNM3UB;x29K zI6XPx_`UZyxOJChKhSg&hS?ldWwKcD;NE@mM<2lTr|{JhZ5oE<fc1vzl&#H+_@!O) z_BL#Gw3^sBopS%)J#N1JJ~u!5h{eG}+OA`jlndw2^YrJRWov7TU;E$w7Y+^%*f@Wl z>({U2^A=Iz#+yIl!Grspn{KnYxyirtZ~xs&n*X0~=4Vb!76W(8h7niS%D5p?PH>jQ zY%&Yyh=-yZ_!ReK_u#*xfKhM+it-PL7PZU^4iJ}R^H2r>*DwY|z&)dc92@FAPV_US zxY?^BTgGF7`AMQb?%|mhSA>vTN;uzeCwdWM4h|Fopc`WES$VVyiNtDH&<_J`8<CUc zqQ^3%wq>v-noA!EXW8K3I3y=Y$YN2aH&~jn*-l7pNAJSvvX5u>J<DZ}d(0UyDz+6j zt9)xT97yq*fi-0;(K2Cp3r-kt9@ja5LW%T`X-&FzHbI&5Gjc-k^1jd)veiBcE@3dK zNa#;u4AuE$;FiZ_3WF<j3=tXi1V_jo8jpxXH;LuW=B3{;eo+}kzNs+|TFzb<{l^u{ z12Hr$G^RwEZpVp81s-zqaeHhC0EEY0g{A;rK!%VhmZ&;rUX=SFxWFR?9MQE$IxN*- zrn)IfFhmnpfJfYjl$2nAQ9&o3BU*@>H4uzUDnRLPO~DB7j3a0;NKtCNFuD6c)5HNf z@pr(W7te{7@j)nep`1HwZsQC96|N)t9xc=xh(2lwks6SPA@a}Nk@ET3xylZhgFA6t zxf8e|U;(g(5+TLdOHsQZ5`7JI6+&nMB~k!IPywlF*x1;lYo{aNnh;<u9`kx;ymbuj zjuYz@-ZMtvsRyW0fUUL&Sr(wt6doRT5D0;*;31^k4bRcPOa>e+3g7r#SqnG-FPpgB z1IQB+8`sUrW|0!$VGP7I#be@yE~Ee^F!XEMO-*7tosI@fZPC+ptEmM_yhCh&+|x=N zMq~uw*Mn|;>X}bIDfS1ie2ddxIU-wTb$rTVu^<-%*{w%Jm^Q-U;UTBTM=TZ#?DUA$ zs%PN?mo8uCIBjy6=JbOX-V?UBw|VXh&+xeyo+eG_oNmJV%OA(Hw<jEE&ngQ?Crdth zc#pnSuKmpOeBp~<V&gNP<>cgqy*qK9!RE#W7k4hxr|=veE%uo%TLw8tzjDw8x$n9C z-dnu$>dRa{Suk&%jjQLF9W~s#a}R)A1bf$}LIW!#!8<?xA%FVqIm>q@G^yc@H@;2N zG;D5N=Iej?C3df0rD+?y3q@_=nS+A^9_-)e;lqb~`0_2(droftn1}Da&hX6h3`5WU z{kz=x=mzI@uke{?pT@d5X2$Z?ZC-!(hxFh7E{ps3m~C#ddvS}l6Oe)A%B}Z5V0C!R zWHRB>)u+)kWz{rTwqTrQf-O#2ERK=>1T$mkd*;&#?|pE@-Fx?W@ZcRj`sgP4-Vsfc zn5Sv1YuPhmElhScSml99Ghu?#ADz&g3e76vLxY)ev>Z5I4je2`Sz;U?9MXt#(w=9w z(V^XWbTdJEm%9&dv;U*lFn7*9@eI#jzs574dyds=#myTZ@amhdlLzOQ|K=|<nOs3c zxcuyMY+bp|>fr<WZ2XV^-G9YfZ@tNb*Wcm28#ma>v1$EeV}oyg^P61#8{a@w=uZ#$ zdw=KO<NwX=uYd7p`NLPf4G_o1u*Pj8W0p~ENt!STWo@}!GMxraiYVb>4FkX|V+5Ar zflG}vp>!9_Py|&0D~hC7%nv0n%5qa-6!)Uxp<ti|bBl@y8EVC&xW2qdB>t&@8x+qp zls!rgZXOEY|IOaJblG(sd49i$ea?O78;JyvAV821Nr;q0Qc_9ku2wI*?4I<*1Al<} z1pZbYd3p6(T^{tnt6kk~m87bYs0T?=1PFk51NqLI_jS(MJ3NSeZYK38PrN)4Hy4<h z_nyao{v+Zav16Ni2vo#FE-w@@*8y70yC~xT>Qs|7F|Q{?sSpjsRAc1qM&$RC@s)&# zVL?d(v!>#BGG@D6A&H_z2Q;|cOXkFtfuF;0F1LNOTn4sd=D6>DA>xX-s`$FhWhs}< zNYUk%%VWVrY1*&zIJWn;*99RPbn3FAX=qYIN{S!|Eh(Dv9QkU0w)N9?{AqQU)}Ztv zBA9_0ge=8X3^!8G+k<Hy=iKf*{!6{c454ke_noMFhQQkuRNPAyTxW<8EaJxQ*X3(N z0DRJj2oef{`o>WMEJhE<08nQs+pq=9e6gF+o-m2I!WzKmqqt&jNeEid=8-pZ0EKq) z`h@ijH$s7aWx<r1-<bilJ*Wjh5LYylfvZ8JB?Ij5u_UA<VE*pq8k5W>NIc)WVCDdB zMw`+!C13EC7k0{w0S2mq2acQ<-&kvyxUo`Z<~*hr+VWzh1pxoM-Gcz$FDkzAs?Bfg zM%INQ2@$ZA>x~Nm%u|LsP=Ga1YRRa-!rIC@MnRJV%Zy0T0z__i60j7}5HJ!RDkW|V z21SJYUUQ=&50xLb;x)8nE};IPv<w_LKp{TXt!$fB3rg{mKqa`~f_9$yI0Ui_H~NXx z5)`vYB!L=c8Pv6eWT*yGiq6=G&qYy1h@?~#>x2^Mb~}WkHR{d<Qaf)+t_ak1g536$ z`^$w$HUKn_RTjYiQqh$yR@S#s5f)7%#R$oW(dz~v8d))e%&d#m)OF3Qsa!GcuQ4?+ z4VVO~`HaoY4f-2bp}Wqwx5dgEtBhWq(KL~&T;bJOgVy_;oF1^hf5>b)C-jC~xqg#s zrOTu~<8beQCPwOJo$c*yR<6Fo+2oAh{_Zo%vSjP#yIj3;g(@ay(;3H4zhG;i><qWK zefu_p{swz{d;I(#e$Lt18Ecy(u3WuJ|MC@%kB@nN|1SFn`&0oQzj{Se5AwR}lMFVt zuW{=e-(>6ETORwbC1xJ>Q`N3qJbn5UJKpF1{remqyx`v5PuX0(#$-BSK5N+A*kQ1- zLS+qs1*hW^4(@%<7a#qK!Qmmp?ud=+H(0r{i)sNV^~ovYS9{D)#ta8TZtlJT)dC97 zt~Q^~sj7-cAAiE5M~~<=r)UVQUGWo=3vIY|b(29e=k)0@XJ-ez+S{We(Cu~^t*vw8 z#tmfWDx<5fQ_U(m+9AF;pg1}somEsvQx?;PvMiV_&X~-{%#Kd^<QKo<?D-+LZoN+T zJMS{Qew}1B!%@Mt+pjZ8H4k4tB&9?zR$LkM=qhL-oK9bHc>0WD7CCtO1v@J%4ElXy zr$?_R3|0~k9z5WaUwq2((J}S$F#}an_K1xJeL6)zRH*Bk`K;n^|ChgIIGOP7yYI65 z{=Wv`@Z^xm*%>QkVEfWGn^#|>sT=<K{SST8|NmT?=!RD*F768rm?WC4$fAz(V0gTG zVltVqv9Uo)9y#tZ%MIDKL?Q%8IgkA^-KRNTsu>A`<P=yEmlu8x&IQb0KJlwX5iszK zIYyhMN0!8df8KgF4KTrp5pjiI#eZ*Nv&7hxf13H>kpQS*;Fy+c6gq*>2{g@&2B9X< zSRgg+{=9@^rON}%vDb2pyOu(vVLCn{&L`B(3{|BF1>M1j_TbP?r=+TCf;B!KNwOji zAhi3#BqoT7kX#p0&GNp@_nk}2ytlF_<$i42^@qikV?)jN6sY0<@S!x6)=NtQ!{>|{ z-h6X8+-@>XfU0{Wl9-cv_%riw`OP4zOEKAy4aVfky_xTAa09?SKLFS{83?c>*I+42 z1wmS(b9r3^1WAS)t6!_XZTY$<08~H(69+vNS8xap77~RNBMC(`AjvJ!7R=fs=Y5tZ zz^%?!$)gaG_@Z?{ZAk4T&kNbil`B8u-QAYUd5=$EO%7@%U)|(V{lWTf7cu4w0`Yc4 zAX&mPaERav=N~Do>VPevB4{XRXh=AF?4axmF5xa>5pkhlMuRKZ02Bf(0GSI0ZPT2Z zE0dzWPa_$CU}7NR2dFjRAwd_OnajmYHtkOlA*rWBmE`@e8Yv1zi;|Vqby5m6jSx#A zgaXRKjh5gZ43ZmA02%_(vH~g&R2p32|HFQ}2uQy53$R42&xMUE%6{#6QIZL6ND8RX zq=eux@)_37?>E7sd1#V>BzK)UQzo>+2|$AqMKE*;$PrIXIj`r;W>XL!+u?8xPy1H* z<Y@af&ovJf63iBudAOIq!`oDZoCiB5v<Nu4^9Pgj56Ub>jE15psI4ZED2D?8s%avn zNT(<WML_c0^Dis<C`}WI<aB~bm`xYN`HWt;grylmMWvB2>~iJK`<$GdaCUOaCtp0K zFkx?RkC#vOn9Zh~oSgUxzNw3<((M#<EYRuo+1T1<)GIif*WCN`E_-`>+<xbn?f?F7 zsJB;`%;qp$Wn=dScV556op<gq>TGg!bjb1ED?a(;6Fz+Jo4ot(yG*WZaCCIY%37fQ z<P+96H@JQKHq~H6T~&Pk?3DR@hIC3+HaBQ`Luzy3=mu6v2qjy?H3$PvuD;2`Cx=X@ zGd}w0E|-R{)9G|rf9*B4heIlx^JH(2FF$|G!Qlb?^Y7qvLT6>f5B}<h?0oYruHF0w zX|PUXzMgx%9?~R=PKRbX!?d7c?BhO*%uY|)|NJh${rS&n=BISKT{<@|^Zmd2D^{;v zV>lSHG3fE=#bb^?^F!(+B|4qJJ8!?oTW`HZym^bkV8~)#b9(ZE<A44I`}ZGEE*if4 z-94^st}_@8IX!qqvv-OfEjZqL&hyW{<k9YZez-A0S666OeM9P{-Kz{X*4S-oKKke* zhP^($UI&YjR5!kfzN(3fhA;2k2i;<KcbDRF7iy!_l2|3KT;644?Gj<<D$~gXsTZUa znGBV%HX_zD#Ej|Wm|j;YVxL7!j3-l8S611$bcJg-`gBbx%aYn4sq&wH^9w|TkZ=!e zQxThn-~5;V%>DcK8TEGf@xS>o^~PoX-H-pjGa4+*l{TlmC866du@tB)-v=b(N^_^v zaRjLw0#1IUkVqC?sS_c9hub*9eFc93&u)|P+VY$=%brX808Rl=SLu@}Z8)lzbAv<0 zPcgq(T$16~m$AvrFm=OV34^h5`6LA*?vYaw8q`UY)Ot`|eg!gthRb)7P<Xl@v?wTp zAL_QSh$<AO-WGM-E-;cMV(_{+Z6&BB`n?XHe0i74JD0g0=dAPt(;{(JPbgv^h?FRG zG)x*qoU8#LEB+)QnHyLlS!X~wR}>Ov2~!2UAEa<2ua#%X46@v6iJO*SObIOcGu#86 z<w){Sr==mK2~P{EE+<e($vsA9fVo#88*Xg`EF_RD%W@I%f9}~%MAtHK!VAvlf-DUu z&ratLO@OI;6Z~si_E+mMNCH6v?vQQCHJA5a7cXBM0vAe?E#g*zY>OY@<%`c1Jy+^A zD_qIQi>qCn`M#7uo$>bj{b!rcKao%rKe^W@c#|TS_~dPw@cbSXLj~Gw4N)@?nj0eR z?}%X}L^9yE3&__fc@4P$z@O&^f!DdQ1`yw5uR_4npVmlzt}_-bprrf?jh4X(1TstP zK-4PED(dx87l^(vb=gk<5p{QEu4g2Jy9%I7+(Wz#$qdUZh%*dcFHu8P(8ef(FkD%o z>~#s<4xSq`U??WwJq8p3X?z}FkYaQuqXlI^Qn~<TUd#+aSk|Y_{cq-nk%>51xxtst z2LXWS9cUNXiv-FNeEmazPmCGBGgH}yF)ck*;{BY+ePbE?avLfV2sDjnX3{)Q7R>?` zH$%;E;{=czJa*XGHp+sOA}K5Az21NnJ@uWa1AR2}cK*MVu6BuqD<TaIO@cNwYLVdh zXiRlBW_x>^{?J2P3MptJG*)2-P1R7>bLx{bjvqaNlLl5JRjnXhYE@E<jJB^ZH6@;m z`T0NoGe-~ab9Odi@$@A@1E2l&cXXx0&bPk7+i$<k_Iuw#RXH<QbPJ?cP_6WtQgQ#~ zV|prlvAsh1=IfkI&RAXFU~OZI?Kf_-di^FTMNH>(FRfss5?db;w$@2&mq=DHu4^VK z^5&JxeCxvxm~>0__V)PvCt!uJdg%(?l?~1s;p}Y6bUFb*#JGCx8lfyG`dx~;U=T)( zLe16nbz&5xHmnq+6jB8*_g-;w_=@q-5lwZ9^o2X$`ZnMD;g68luTcz#Ok;zJa%uAt z-8)?lU%g~DoAL6+BVIVjAtDT_nrBa+^826uC+fX@%5I<S^&Mnb&`gd<*RByuWi}V4 zGhA5;1-)L$cRu(oH-7K|S8m+oRQkjinV+2T5C8BJ7QgwJdNyO88lJv-!qG2ky4@}( zCnt;_Kf)$ss;Z)D60aUVX796mG}~91$2Hd0)@V9V_E)&_?%TW(jK%Sk)0F7V7o@tO zY7$8lwBhlyha4SM%<sIzoy~tm5gW=umv=vSkLk55m?c8Ba3(o6EEWsq($MX8sTYaq zbV7A_%C*%^ij5&RZoNghwMnP!U?!ABmogb7U(;fs`Fw{+gp}y1QkyZ43o5JWuJ)+3 zVrmut;lKQhRLz*pW)$@dXR0%1_dBjQcOw7uzy0^^Qu?!{_4KrazF^F!bLR7k5FAf~ zxGb<H5>Qm(<oJ+ow~K@T$tXmYVXS6}CWpF33_&nl4rxx7U>JzY2SkvJUy5MK2_yf? z6*pII{j;C}k`qsbW_)esZARY&s0vA30ae_<a)Ipf$H2Y#0!ba0+<R(>38LqF|J=|4 z%<E^#XksMM(Cc(5i!LI;`^tqSA!M<X`#@1wOp{SH?$MG0OcJ+uciq5F0qGS84c*e~ zz#<Y-!f=8|OnmN$W23j<*>e%^Gd1;o&vLl+L@Z@S9xKH#F_Pr#b006|c5c75W9Boq zZ5V?3_=i^3ULgN~gs-bsS6Px_`8~_}TYj$a6?sZZsQFm6UL60}?>94_TM<HVJ)xCr z7t1o+ocObr^A1Rs-(jwI0mKV!_)9Ne8v+-LDWblz4SXS@%Zanxl&WBsmY=tqu`FdM zkU%n@*{LzmJn_Y7r>Kaa;vf`6h{?Z7$!PQZiv%>}7Xm5On8=c4RTD&@P^BT!#EkTs zPzksa?$?X>0#tRNYKt!fZ-<Crl5#!VJ3?}UMAa9uhyzy}Q)*f9w`dRzGiW!*D!!;w z$_#@F8uI2f^X@P+-%F7U2O#i1A_GbmHYq}iNCtHPQStsjJVqXW9{IV7htY%(>2zUb zbx4tw&JYSD_(ms-xqry9rMaD+o|JPylswKC0O%r+_?+;1xIqx{JqYL2gWETn=Ta7I zsRh5b9%Mrz(Vi0k{(KQ3m|#9MxsSYf3?{fZ@t-Lfv;sm~K=x-9Mag2Z01`!^APG?y z%CM{+Vu3)&LS7*hh*Zw1iBL!1q^9_oi1>RfkHf!ICI_b!>qBBnAkO-qo}Qtq%uXkK zdG8_n4?g4i_3M1&&UYA%hBPVi<k2IjW{3#K$NLONLuPw>9N+z%+3_KJ0*8<9Gu>Pv zriF)6H6yB%1CAd);Nh=7V*2Ds&W<xc#2CLi;#WWa1*?ZIxOM#oYdP&{5jsQ_&gKh_ z#%G)!PuPEX$i4kj`UbnfSY27==Iu9GU0p@Gs~l@Vr&}`ZlvEuh4mzAXeM-FbI$^K^ zCu2@ePB=Y2p~h&$D2qNJ^sv~VBznCLs?I_-)tuw~J?gq)IP4*pFQeUpAjUY>q;AQj z?Kk=62On^7`4+R;oJCaPq$V|EMuQG3w_fLXbAx9up8_B|D}<|SG~F&|mPoZAVgykJ zgCTl(oALOJpZ@*d^Zdng%J~^Vm98z=+uLKjzfZ8l=GrFT|M2@XcW$Ao%+rh)&-Zxt z+mASSa-XsctZ%IH;~)PuySuy8+gnUag*0b!cFK!?{3o9M_9Mb<Oj#6+dLt}E4)&h1 zSS+ZfV?vr!b!+C;1VWF~vlD*z&%dBt)NFq6E_d$SLDoF9s@T|J_uW3><dnLqIXgY1 zt{Xy9ZeF`VJUijVi{~61J?7=BF5jp=q~GsT33LYoHg3L-YCuWZ@K{jH=g4frY&K;! zK4m(Yphdy8>(^P^zQ*ONS2#&VZF7d@DznK1Tb`Vx^!t4#wV(WoC`|%7f%&55^lVO( zl+aO36EV#=K0fB@r@!XWmya0M4MkbfACBntda%)FdwZLW8#npi|LcDuR4@3S{)fNK z@A^|k!TcaB$B=?L%McMKLK2W2hC~vG%Qg4<3GJz|B%_hERI**p89@b0Ik|=^V2;)1 zSmd~tF<L#rMvE_oI__j*qm@U0SX@TH5)j4lC1v^McnH4d?N2<z6wE-pK9;p=;T*#O zTz)x`rUJ9mIT`^J)dJO$6n+0vO5RsyMikC}Pl>uts47Vs=FJR3@B_v|$-MUcZlMUM zK_f<xgh`|nz@VWZnlafXegFU<07*naR5#a5$XW@00=$obs?hFLYxn$#W+hq0aZjB} zY_rrY`^^mE1;WwtI3*{BqzwncE0l0U!Nf@DavV}LVv1-UM@2{}`g{_QLcq@TnnD7I z(Hd-~X*rKPsY;e<f`^Lc@)hHOT-OW5)Ptrae;1_P8|UBq!E1(*<x}#=fv?Ngh5&Fr zq1sK5Ay34pKEb0UcOl{vt7YgVD`qN!sDKLY5pZU>aW2~d$`UNWN%63t^Wt^LGdBM% zYB<ZA4FmA7i+oM(5bB$8#f=oNUxAvhQ&n-WSQ-<N6dVvl1XX{A=0zuf=jyj*bu0-n z8RzW2GsgZ;Fg#SrpXUP9)4dsjp%<Q|7)wpw#20>yq?Bkkv9{K}ks0RHpslfB=|a75 zh1t~mKNklt07WDa5IRM{s6V3A4r$RKTA~=DAUV{^^Y-U=aIVk>0wEO3SjtpKALk4r zk<8F9nUEIDlw^>%U%0XhU~X`bou9s^0-P}cBc3xZxhc!67OEt1R)nA!J|{w<dG4_^ ztb8<OIbRfSo{v*OV{?);h#8%-L%;01V9VFUT%R_bZp28*_fBAe*hGp@WJ5Edh0nXZ znlQ5R@Gq3<$%JZrj9H?;F`(P+GPiu7Rz2pEkN*jM`6b=OF*}zpvoXAZS;6uC9>-6f zF`Z4Bp6pXq6~qY-9y~y37@r*Q)BpN^bG(0mZm+UfESTX2$HRaA4Yv1^L1mdGHD4nE zCX+Gg*;9@lKVswhE=5_OU88Pljt}>F`rtm#KKVW6*_^trx%-P>aoj8T(T{$_pz}Ic zE?uWCN}Lg#Ft00`rXr=9M-Lw|8IS1>uP~iWdHU%CbP{>;n=g2{a)q$c=lJ-T>8Wqh z?F|OFs~oz6KB_`l`sto#4Na`5n+5Y2nbtK&GZ<{{G9GqmG;#OAr%cW!toJ&+^Y%Ni zGi3d2jO@MS(U*^i{gOo~EJ!r-1*vM7O{WMAmo8mm*c)MIGba1{96Wx?l|tzB`}8_p z`l-iM3M@5Te)Davz5O01yE`;Z<k4pz@ylQSlIpY1(O46D1s{I+A>a7!`*gcqj)E{5 zpU}+5Jh*p{FMs_@n#q`(*KhIOd+#yW+9ajKqVNsKr$-a!^EuO_10Fnlz}?U8QI-Yw ze*Xmz?mpno;d8F8jJVYGy%eFp%Ami>Twii{aKQflE9$yt^YS`xzV$k?fM5Rdm)yVm znACJgi%4(Or4IRQ3~`(?5yD_dh{3&QO`=&uUOhjcEDEmd>~Qnu>*#PqUDtFmLI~8y z`#gR4kny7zdGmW<cXyYyx87lEYm?5f?+3nRWwE4#Hp;AqBt3#9#z%+jKlp-&pMJ{x z`3ssDiCWU@_ZaMK@SSgeoA=h&+1S`%VPDN&_NPi(;--Q@5+!D$$XEHfJklbcFpY1x z3^6!EZCRd~Aqb*jiERMUgoKb1s46BA#4ku@&fF(MqAUDuHnxjohRY@Y-SteDFUed1 z1@OICh8m<~BwTKY2qcIub#Ri(9A5z><!3u-v3wC36Z7*Bmx)3EgN}3=&(8>TqAvv| z9ukzS0kW(zL&XgcC)$LBk}x_&7fs4^I%Z{MKw*J6t0|;p-Ylr=gp-IJR3j#iw}$se zN-n=caFZo9$@>v!-`ma4i3oT<BTk`3vgbyiH56L;x>T~oiLqA8P&3S+-MrkMJ!Iep zo8WaME7S<dvTVWY46Y@qxQs#+%=dh?Sr%L7zb&oY)-1=&JjAH=HlP>ei3k_vzGYp* z$0E;#d|6l;N)QyRY3EyFY5o3%m#+;0@Nfq}GDwon6;V<G^Y}q<z>wwQ$P)}hvXPKd zJl{-<Pv(>-c*=)>i3k=Pyc9)(Qix)bd_$1oOo5m`J^B5T5{QvZ(cozt{R>}s?EzpO zOC8Y!g$bsHr}N6}VoD&sNCe#7mO<Xk@br`CK;0TZ%Mu;9OuT)PAQVcG-K>Fz1en!M zfg^s81q5+j-i($KGI4N8x&O`ZSaXZs&q;7MsF952<}grF62LqoMk`P(5rX<UPZ3Ks zg$iX^Qg%Aj7QMa*V%d<(z+u)30smVyAVJX}m?f&Z!mwrNkB_1EkKy3vt#V~QnX^MG zLTk{q>C@VxISYe70Z0)AEac~z`Ph>Mw`3Q0GDHPij%nT-Aq7ox#!1A%Qp7<!ri4hO zZW<P|3BjN*fg(XL@<zg3joSA{pq^eYnH$7))6m2Q4eGJ`;s)Tdq%4>TxKZ`z%m48o z|09-WSTf%D;12J+a|heFL?RMvn9UlxXEV}l!Fs1pHwl#rgVBhyQW;90KI<GGA2UBW zgK?s$y9@?H8b&;SImKqtLr~^N%%(HSI<QuZsB}gXYhpCijHnGoC<xNw(@*a*my*@h zRi<4xdR{$$!ri-{Gn=1MltwoTx6|K!#{BXQ)z#~a%MLOeuvjdZ>KXI-6kF|6_e;j( zQ(oP_$Nbf&EEWq&Eg5KF|Fg&ZpO60zUF$HNOo%DbD?9Z1o@J*jJ8W+B=?#XA$7l4) zK+zjgYhvC+P7lvGJD$=Et}&TIy=EMo9P`<)K4Sl1pLed`;s@`&&)fnhRmJ{d!Msxv z%F<a;Qznx+zyIlfqpE7&_~spUFJGatnkp_xlPN`A)738DzWol(Xoc%_&8I*4zc|=G zfU=;sGUB8IiOBwgd!&;?)_W_gY_HH=S?9Iew<#~JJ1(5f_~PC@_Fg>U+4JXwSwpWk z;(Oo!5%0hMKGmkDIju4=U<;Vf=N!Da&)VIqj3;M2fBu3p7<E%IeYD5^?;jC{eRg(s zsDpd2Y7r_C#+9EBv3>n@2E!rL4V}$(%E3N#0<o@0O${C28)8~eHx1E@QkAA&a6CTd z=-Es5_VyTbd+hA&vc0>G_WLYSMG_BLJ3cz*{zo6PzrWAv)91vdVSZ3Ce!j<hqb)9X zhb)RjRo8S>DY_;7;ed#7Hl0$XhB`r{q38!D)fus>sp^VpsyI3wqo=1_xpa-47l#bH zE6i$Fu>M?erdP3yOlFak8Z4O0E-gr{LS<Pl1y`i&rUqA=9dASklI5WJ&o+xs$}E2h z$z=)W3c4AXC6`6HK0>RkXPm+Dwmpxe^<1YE9g{LVs=0?bW`+5W_iDKuYk$vBPRQ>| z0LF#>$cnf5^=b*h<#k<G^g@X=kunHE!eYGuEJ4%0WYL>CV(P!Q6^usq1So`p7)oN% z!9qdk_UMK#VoHaCA}N(AphWdBx`?;QO*F$*Zb5MjR|L%Ew<08o%k~1x4bXJ}KZV(` zxygo+<gsY`O|o2ROHmZWm}s+{wekQ-6d^dH52PeCG2syknn@tRi9pvQ3>Pfz^Ucir z-i(A3Xzh0*hDkPx#EH3-3{CEFZY$EHEPu_i9_I6~9cS?8xARl-_ZF1cBwEk7n(~KU zhQHMEwIKkmM+0QVsa4#~1WZvgRP{XWJ33H=1S+_(+qmbz*^<1lL>&;83(yr^RYjsN z>=4vhX#jBmR!hDpvL!3x#)N~lph-z8Ia`b^Q>!_%k}fPX2NhELogtzWg>TMvCKnKI zk40aYL4q$p@df1I>}~ie!1{vKV2Bt>LJ%bR<|2Z-FfAoip~hWv0IKKKy}v_g84JLH zKKj3ucN@8}z>)#+4-%l{h5#;1FhMi{i2+J4867hQL1~6Pf<niekl8MOWHML29fUdm zJb4U!#QZe^W(h%^*$@GX%lq5n-zC7~D%}Ozj+e*Uw_w-;S9_luIe-YNr5j)79-w>? zs1Q_q-$3?FOW`j47=6CQm<^*`QY|!#M4&@iDqTr*J6%6yDkxew!&s<~x1|WNaRv}K zLQ+Z;p>RVf8(@;WZ*rG?Wxo8m^6c>=Y;sDB4fX7dwMMx1z3<UW#$rApPRE>_93lD| zb&(J6lEAHZ-sbJM-=eN-q?vGdaKQA@eP*0-`shpExpRXXZ@$jf))v)pK#GysY{6tQ zMVo>TzV{xlzIevRpM1jPY)Vm-P$<LEi0*2iS1+D$@9xK_2DH<o*Xz+(Lu?{zYirEs zbF7-ss4#5CJiGr1Q;CdsE)zE{(<wXDL*K;x#v8A*eR+%Oizoc-XFp^A;WNs@H+oxY z=!j5HC(Nf~ANRtTk0*>LXDsTPU<FuU)L&tJwC)GH0V!2X77ZuUDdYKq-~aBnoSh!h zxpA4p!$Y2Y_G_xeg6ESHKK=PBo#7TQU%uq!(}$=kF-26ALY4V+#__W+IXO9Db*0Ch zo7b60hp4V_N!j7bt#9(y`#)fEd6U!AQ(jK@c>L>M5jOf%eW6^;v8tw%ri{vl58wYL zx4&^4S>LAH?Q%FdrD-CwxL|doe_`l|5w^pvtF(Mx@7qr<%Hph1yLzF3jyjRtIw zD$YW~#z#Z;4kKj^{eA~sOn7|vcg!`?>>jiB?pr=?D=Vz^dPq0W?RM#}Zh#0w9U!S7 zGz+TnDQB}WtIZ1Y2-X;}amA(6@6lMz{=qAL|NGzZ{O$urqY<xN`;hCquT!rX6F@K~ z(;2Tm|CIgxeR_+;8`rMTSy|)Wy?eZ>p0L<IVSMj03$2juZAww<*%a!UYJP^&Krmuz zs7=sL3AGXD4J0Aei69-+jHc>hb&sO6O`TS#^z_1t`r{IcEatPEXtI21ON<`EqNa!_ zQL<s71%{IhqJo$wE>IFGO28Ghwj>oSv*?I8Bm?06sg|)Je~|$9FuU9V$5hRVxk#ej zh#QkD!+^`!{5)_r8o>Btyiv{M(}mBKl=0g?ZwZ<fxI_iZGE722krLKGj39Wtfabb* zy%T0Y#zDo&#eUJDNRX0oa&kgvTA@V`?e;1ABlotHU5GBrlL?JMjE&D<RRr<yV90V@ zaE4C^3aW8Qj3vniSW3hgX__oo)Uh~-fC!=VGf-0F?GCuKYvoX3eorfZ&Xwgnwyoh8 zBcup9t!N<YJ{k~=#%k~12!3NL@xjSWZ+F}A?HCoy_xT<SH#Ciy?-$Kkr}Fh89)aQM zxBb3$Pk@KZ`t!`PHw4FJAH(xH{Uw*L4FLd2SaJ~Yh31M-5C@qgputl*`b6?Y6T}tR z<vLA?fVgW}91sA?P>`a#`~V8nl~o*2EE$N<G87^ipt5BT#zhxcs{kglks%@fbmj$d zKu-YXiyMOg#OQ3lFI8{z#T>-#V)5e7LGv<CzKOOy;Z_7x1SKo{mOr;_IGKP1C<8Gz zgyafwZ0nYLs7=2r;_vr^%o3u`z6b?Nw8uRH8p1OBkeLG;czmju5=0U6{w+lr_4@Qe ziAJMa7Kj*X84N_RlrT+rHyh+JHA|$%*_|XlHmHKQSTai&s|L8BQW4tN%_Lc{sBgGS zbvrY>#26{Eur@PLZ(}PQy`K#5v1&JoiwGC9J0(l*(r@b-+IcNtSr7nCbOxzjG;}&0 zLf1VKEokOyQwHzX$_&-uKrBWfo*O$QqYQzvKj14dxu&FKc$SB@4S%{^zq-Sd-#jNS z7MwktV7IPQ<oMer!P#_<)eW<Gg*DJDB6aEYnM=gV66tQxEe2FFW&1mKFpk-JbDMAd z^$*zE+GJ6#5kerPhUsiZQyFKIGZuHAbLr+LKmGfk(Cv2l_78qYx7+3A$#cH^@)46q zFZ{&X2rDZq3@=||I2dsAz1s{2LwZf(bbQME<cLK|JpJUKc=7wd;F@RcS$pROuf6sf z<<)JjhASMDC2LO~aQNssRaIfpw@YS@($}pj3FY|ogolqGa{bA5LgObm4+jH=qY=S( z*>f~LWAEu>7W>br51%oq;NzE%IQ`hLWN61j%*J~!x%=^Nn8q2C>4fRHW;h(sBxTVU zsW4{q1>>VvOvYp8vjbv0p=msQWV@G!;VNNulV-3*zrV@OxBoR)8PVBXWh$VlrkPLZ zZme^CIN;4Y-{;!yHBztS^z@X;%VT1UbbCW?fAc+(&UyLrCC87RFrCeil_85VFit|X zSP-j*lp;l^!)P?3Tv=sa6j%YTy?KMHx`vt2H1Oi-3!YTR%<DUR@b+5_Rt8K-L@|cz z+w=#0>ga4|qlr`sW|70gJ%0a-pRu@gi+E{^ZnsN!bBq3<&vZVcC<+ErbMWLo_0bbx zgMME@Due-@PKOld?Cm|``0#+HT2S_TY+u=Av6AS|r_3IG%A{WK<k4@5)gFUp#v5<E zK{4o1*A0@CLQ1sg5E1I+r?OUy6NDM020tLs5OD8cOmspgEAJP)aetz;d&(~E|8Yju z6*XU>$r*St%Fyl|ay3cY_bNCJWt_g?i16p+|FXuv<T3sLATO$3t=ID6-@cXCpQn%s zpz~+69*9<9cX;!6wwNg*kUw9NH-M8`hFQYpep*(vC1Qeze<TH#1j|VbBy=ze5Z_-W zCjK)MG09(mSHX3G)I|Ckh|@Xi!!@KfBt_OnLk`4f6q-=7XcCPiqJU`u>Rxg)%SknW zEU(F9nDBNaaoL*$E~a>0_C+4QgcFm61w0Fs?;-H6b@B)xWl#P2NM%_AZa`#NuPzP% z@7K2f5?Kbdo!&mBO{>~|FNP`@;(C?%8_y|1FP^2(P*Eqm5K@dtPKWEd5MLR8b;*vZ zx7^Gid9W7wyCtFcb@|#50Gwe@iHs$X8P|j_L^DG)fjavuS&1*ROR$A8cU2}l->tdA zDuSdu>GH%YG@zoin|hp8ao_{+6BqMFRx?BllDo1%Xdo-uzW5DSQd4pO4Fdisx6#F0 z<$#bEU=Uf_&oO^*8DK2`O$M0dh57q-eYeNSgCXJyxJYIO@}<DiGEeI7xCqu}wsh59 zEFyvsP;ED-C2u3G;DW5RBgybh&OQ=mZp?UZK`e~X)+(dRt2CWN9V<Fz2TFflvKpj? zhYWw_Y!ssBcnCOyrI>+-+_3DIHnuSd{{G|uy4>R-{&!J8Oo=9W+D;_1K7tzz?aP)W zAwoMUe^gR*#?IxLIpC=h2%ygRh5YW8eG?Iitn>#hz!Vktq<m$JR46P9AiQr)jg%Tc z89SZFC%5;s*NO-iy(53BeDJTn�R4>tFwdnRbwsRq9ZpL8%E$tBB5w`(Hfet-JS0 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Μ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 W}oZZdIn#Q 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 V)<(jB;Tu{<C~C5TP% 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Ξ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ʄtOm<oF105OF7X=-b%qSPBOYJ+PJ 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 literal 0 HcmV?d00001 diff --git a/example_export.txt b/example_export.txt index 1af539f..6b0fa7e 100644 --- a/example_export.txt +++ b/example_export.txt @@ -1,4 +1,5 @@ # 2FA example from https://www.raspberrypi.org/blog/setting-up-two-factor-authentication-on-your-raspberry-pi/ + # Secret key: 7KSQL2JTUDIS5EF65KLMRQIIGY # otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi otpauth-migration://offline?data=CjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACjr4JKK%2B%2F%2F%2F%2F%2F8B diff --git a/extract_otp_secret_keys.code-workspace b/extract_otp_secret_keys.code-workspace index 3d6220a..b43c67f 100644 --- a/extract_otp_secret_keys.code-workspace +++ b/extract_otp_secret_keys.code-workspace @@ -11,10 +11,10 @@ "version": "0.2.0", "configurations": [ { - "name": "Python: extract_otp_secret_keys.py", + "name": "Python: extract_otp_secrets.py", "type": "python", "request": "launch", - "program": "extract_otp_secret_keys.py", + "program": "extract_otp_secrets.py", "args": [ "example_export.txt" ], diff --git a/extract_otp_secret_keys.py b/extract_otp_secret_keys.py deleted file mode 100644 index f467783..0000000 --- a/extract_otp_secret_keys.py +++ /dev/null @@ -1,451 +0,0 @@ -# Extract two-factor authentication (2FA, TFA) secret keys from export QR codes of "Google Authenticator" app -# -# Usage: -# 1. Export the QR codes from "Google Authenticator" app -# 2. Read QR codes with QR code reader (e.g. with a second device) -# 3. Save the captured QR codes in a text file. Save each QR code on a new line. (The captured QR codes look like "otpauth-migration://offline?data=...") -# 4. Call this script with the file as input: -# python extract_otp_secret_keys.py example_export.txt -# -# Requirement: -# The protobuf package of Google for proto3 is required for running this script. -# pip install protobuf -# -# Optional: -# For printing QR codes, the qrcode module is required -# pip install qrcode -# -# Technical background: -# The export QR code of "Google Authenticator" contains the URL "otpauth-migration://offline?data=...". -# The data parameter is a base64 encoded proto3 message (Google Protocol Buffers). -# -# Command for regeneration of Python code from proto3 message definition file (only necessary in case of changes of the proto3 message definition): -# protoc --python_out=generated_python google_auth.proto -# -# References: -# Proto3 documentation: https://developers.google.com/protocol-buffers/docs/pythontutorial -# Template code: https://github.com/beemdevelopment/Aegis/pull/406 - -# Author: Scito (https://scito.ch) - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <https://www.gnu.org/licenses/>. - -import argparse -import base64 -import csv -import fileinput -import importlib -import json -import os -import re -import sys -import urllib.parse as urlparse - -import protobuf_generated_python.google_auth_pb2 - -# These dynamic import are below: -# import cv2 -# import numpy -# from qreader import QReader - -def sys_main(): - main(sys.argv[1:]) - - -def main(sys_args): - global verbose, quiet, qreader_available - - # allow to use sys.stdout with with (avoid closing) - sys.stdout.close = lambda: None - # sys.stdout.reconfigure(encoding='utf-8') - - - args = parse_args(sys_args) - verbose = args.verbose if args.verbose else 0 - quiet = args.quiet - - otps = extract_otps(args) - write_csv(args, otps) - write_keepass_csv(args, otps) - write_json(args, otps) - - -def parse_args(sys_args): - formatter = lambda prog: argparse.RawDescriptionHelpFormatter(prog, max_help_position=52) - example_text = '''examples: -python extract_otp_secret_keys.py example_*.txt -python extract_otp_secret_keys.py - < example_export.txt -python extract_otp_secret_keys.py --csv - example_*.png | tail -n+2 -python extract_otp_secret_keys.py = < example_export.png''' - - arg_parser = argparse.ArgumentParser(formatter_class=formatter, - epilog=example_text) - arg_parser.add_argument('infile', help='1) file or - for stdin with "otpauth-migration://..." URLs separated by newlines, lines starting with # are ignored; or 2) image file containing a QR code or = for stdin for an image containing a QR code', nargs='+') - arg_parser.add_argument('--json', '-j', help='export json file or - for stdout', metavar=('FILE')) - arg_parser.add_argument('--csv', '-c', help='export csv file or - for stdout', metavar=('FILE')) - arg_parser.add_argument('--keepass', '-k', help='export totp/hotp csv file(s) for KeePass, - for stdout', metavar=('FILE')) - arg_parser.add_argument('--printqr', '-p', help='print QR code(s) as text to the terminal (requires qrcode module)', action='store_true') - arg_parser.add_argument('--saveqr', '-s', help='save QR code(s) as images to the given folder (requires qrcode module)', metavar=('DIR')) - output_group = arg_parser.add_mutually_exclusive_group() - output_group.add_argument('--verbose', '-v', help='verbose output', action='count') - output_group.add_argument('--quiet', '-q', help='no stdout output, except output set by -', action='store_true') - args = arg_parser.parse_args(sys_args) - if args.csv == '-' or args.json == '-' or args.keepass == '-': - args.quiet = args.q = True - return args - - -def extract_otps(args): - global verbose, quiet - quiet = args.quiet - - otps = [] - - i = j = k = 0 - if verbose: print('Input files: {}'.format(args.infile)) - for infile in args.infile: - if verbose: print('Processing infile {}'.format(infile)) - k += 1 - for line in get_lines_from_file(infile): - if verbose: print(line) - if line.startswith('#') or line == '': continue - i += 1 - payload = get_payload_from_line(line, i, infile) - - # pylint: disable=no-member - for raw_otp in payload.otp_parameters: - j += 1 - if verbose: print('\n{}. Secret Key'.format(j)) - secret = convert_secret_from_bytes_to_base32_str(raw_otp.secret) - otp_type_enum = get_enum_name_by_number(raw_otp, 'type') - otp_type = get_otp_type_str_from_code(raw_otp.type) - otp_url = build_otp_url(secret, raw_otp) - otp = { - "name": raw_otp.name, - "secret": secret, - "issuer": raw_otp.issuer, - "type": otp_type, - "counter": raw_otp.counter if raw_otp.type == 1 else None, - "url": otp_url - } - if not quiet: - print_otp(otp) - if args.printqr: - print_qr(args, otp_url) - if args.saveqr: - save_qr(otp, args, j) - if not quiet: - print() - - otps.append(otp) - if verbose: print('{} infile(s) processed'.format(k)) - return otps - - -def get_lines_from_file(filename): - global qreader_available - # stdin stream cannot be rewinded, thus distinguish, use - for utf-8 stdin and = for binary image stdin - if filename != '=': - check_file_exists(filename) - lines = read_lines_from_text_file(filename) - if lines or filename == '-': - return lines - - # could not process text file, try reading as image - if filename != '-': - return convert_img_to_line(filename) - - -def read_lines_from_text_file(filename): - if verbose: print('Reading lines of {}'.format(filename)) - finput = fileinput.input(filename) - try: - lines = [] - for line in (line.strip() for line in finput): - if verbose: print(line) - if is_binary(line): - abort('\nBinary input was given in stdin, please use = instead of - as infile argument for images.') - # unfortunately yield line leads to random test fails - lines.append(line) - if not lines: - eprint("WARN: {} is empty".format(filename.replace('-', 'stdin'))) - return lines - except UnicodeDecodeError: - if filename == '-': - abort('\nERROR: Unable to open text file form stdin. ' - 'In case you want read an image file from stdin, you must use "=" instead of "-".') - else: # The file is probably an image, process below - return None - finally: - finput.close() - - -def convert_img_to_line(filename): - try: - import cv2 - import numpy - except Exception as e: - eprint("WARNING: No cv2 or numpy module installed. Exception: {}".format(str(e))) - return [] - if verbose: print('Reading image {}'.format(filename)) - try: - if filename != '=': - image = cv2.imread(filename) - else: - try: - stdin = sys.stdin.buffer.read() - except AttributeError: - # Workaround for pytest, since pytest cannot monkeypatch sys.stdin.buffer - stdin = sys.stdin.read() - if not stdin: - eprint("WARN: stdin is empty") - try: - img_array = numpy.frombuffer(stdin, dtype='uint8') - except TypeError as e: - abort('\nERROR: Cannot read binary stdin buffer. Exception: {}'.format(str(e))) - if not img_array.size: - return [] - image = cv2.imdecode(img_array, cv2.IMREAD_UNCHANGED) - - if image is None: - abort('\nERROR: Unable to open file for reading.\ninput file: {}'.format(filename)) - - # dynamic import of QReader since this module has a dependency to zbar lib and import it only when necessary - try: - from qreader import QReader - except ImportError as e: - abort(''' -ERROR: Cannot import QReader module. This problem is probably due to the missing zbar shared library. -On Linux and macOS libzbar0 must be installed. -See in README.md for the installation of the libzbar0. -Exception: {}'''.format(str(e))) - - decoder = QReader() - decoded_text = decoder.detect_and_decode(image=image) - if decoded_text is None: - abort('\nERROR: Unable to read QR Code from file.\ninput file: {}'.format(filename)) - - return [decoded_text] - except Exception as e: - abort('\nERROR: Encountered exception "{}".\ninput file: {}'.format(str(e), filename)) - - -def get_payload_from_line(line, i, infile): - global verbose - if not line.startswith('otpauth-migration://'): - eprint( '\nWARN: line is not a otpauth-migration:// URL\ninput file: {}\nline "{}"\nProbably a wrong file was given'.format(infile, line)) - parsed_url = urlparse.urlparse(line) - if verbose > 1: print('\nDEBUG: parsed_url={}'.format(parsed_url)) - try: - params = urlparse.parse_qs(parsed_url.query, strict_parsing=True) - except: # Not necessary for Python >= 3.11 - params = [] - if verbose > 1: print('\nDEBUG: querystring params={}'.format(params)) - if 'data' not in params: - abort('\nERROR: no data query parameter in input URL\ninput file: {}\nline "{}"\nProbably a wrong file was given'.format(infile, line)) - data_base64 = params['data'][0] - if verbose > 1: print('\nDEBUG: data_base64={}'.format(data_base64)) - data_base64_fixed = data_base64.replace(' ', '+') - if verbose > 1: print('\nDEBUG: data_base64_fixed={}'.format(data_base64)) - data = base64.b64decode(data_base64_fixed, validate=True) - payload = protobuf_generated_python.google_auth_pb2.MigrationPayload() - try: - payload.ParseFromString(data) - except: - abort('\nERROR: Cannot decode otpauth-migration migration payload.\n' - 'data={}'.format(data_base64)) - if verbose: - print('\n{}. Payload Line'.format(i), payload, sep='\n') - - return payload - - -# https://stackoverflow.com/questions/40226049/find-enums-listed-in-python-descriptor-for-protobuf -def get_enum_name_by_number(parent, field_name): - field_value = getattr(parent, field_name) - return parent.DESCRIPTOR.fields_by_name[field_name].enum_type.values_by_number.get(field_value).name - - -def get_otp_type_str_from_code(otp_type): - return 'totp' if otp_type == 2 else 'hotp' - - -def convert_secret_from_bytes_to_base32_str(bytes): - return str(base64.b32encode(bytes), 'utf-8').replace('=', '') - - -def build_otp_url(secret, raw_otp): - url_params = {'secret': secret} - if raw_otp.type == 1: url_params['counter'] = raw_otp.counter - if raw_otp.issuer: url_params['issuer'] = raw_otp.issuer - otp_url = 'otpauth://{}/{}?'.format(get_otp_type_str_from_code(raw_otp.type), urlparse.quote(raw_otp.name)) + urlparse.urlencode( url_params) - return otp_url - - -def print_otp(otp): - print('Name: {}'.format(otp['name'])) - print('Secret: {}'.format(otp['secret'])) - if otp['issuer']: print('Issuer: {}'.format(otp['issuer'])) - print('Type: {}'.format(otp['type'])) - if otp['type'] == 'hotp': - print('Counter: {}'.format(otp['counter'])) - if verbose: - print(otp['url']) - - -def save_qr(otp, args, j): - dir = args.saveqr - if not (os.path.exists(dir)): os.makedirs(dir, exist_ok=True) - pattern = re.compile(r'[\W_]+') - file_otp_name = pattern.sub('', otp['name']) - file_otp_issuer = pattern.sub('', otp['issuer']) - save_qr_file(args, otp['url'], '{}/{}-{}{}.png'.format(dir, j, file_otp_name, '-' + file_otp_issuer if file_otp_issuer else '')) - return file_otp_issuer - - -def save_qr_file(args, data, name): - from qrcode import QRCode - global verbose - qr = QRCode() - qr.add_data(data) - img = qr.make_image(fill_color='black', back_color='white') - if verbose: print('Saving to {}'.format(name)) - img.save(name) - - -def print_qr(args, data): - from qrcode import QRCode - qr = QRCode() - qr.add_data(data) - qr.print_ascii() - - -def write_csv(args, otps): - global verbose, quiet - if args.csv and len(otps) > 0: - with open_file_or_stdout_for_csv(args.csv) as outfile: - writer = csv.DictWriter(outfile, otps[0].keys()) - writer.writeheader() - writer.writerows(otps) - if not quiet: print("Exported {} otps to csv {}".format(len(otps), args.csv)) - - -def write_keepass_csv(args, otps): - global verbose, quiet - if args.keepass and len(otps) > 0: - has_totp = has_otp_type(otps, 'totp') - has_hotp = has_otp_type(otps, 'hotp') - otp_filename_totp = args.keepass if has_totp != has_hotp else add_pre_suffix(args.keepass, "totp") - otp_filename_hotp = args.keepass if has_totp != has_hotp else add_pre_suffix(args.keepass, "hotp") - count_totp_entries = 0 - count_hotp_entries = 0 - if has_totp: - with open_file_or_stdout_for_csv(otp_filename_totp) as outfile: - writer = csv.DictWriter(outfile, ["Title", "User Name", "TimeOtp-Secret-Base32", "Group"]) - writer.writeheader() - for otp in otps: - if otp['type'] == 'totp': - writer.writerow({ - 'Title': otp['issuer'], - 'User Name': otp['name'], - 'TimeOtp-Secret-Base32': otp['secret'] if otp['type'] == 'totp' else None, - 'Group': "OTP/{}".format(otp['type'].upper()) - }) - count_totp_entries += 1 - if has_hotp: - with open_file_or_stdout_for_csv(otp_filename_hotp) as outfile: - writer = csv.DictWriter(outfile, ["Title", "User Name", "HmacOtp-Secret-Base32", "HmacOtp-Counter", "Group"]) - writer.writeheader() - for otp in otps: - if otp['type'] == 'hotp': - writer.writerow({ - 'Title': otp['issuer'], - 'User Name': otp['name'], - 'HmacOtp-Secret-Base32': otp['secret'] if otp['type'] == 'hotp' else None, - 'HmacOtp-Counter': otp['counter'] if otp['type'] == 'hotp' else None, - 'Group': "OTP/{}".format(otp['type'].upper()) - }) - count_hotp_entries += 1 - if not quiet: - if count_totp_entries > 0: print( "Exported {} totp entries to keepass csv file {}".format(count_totp_entries, otp_filename_totp)) - if count_hotp_entries > 0: print( "Exported {} hotp entries to keepass csv file {}".format(count_hotp_entries, otp_filename_hotp)) - - -def write_json(args, otps): - global verbose, quiet - if args.json: - with open_file_or_stdout(args.json) as outfile: - json.dump(otps, outfile, indent=4) - if not quiet: print("Exported {} otp entries to json {}".format(len(otps), args.json)) - - -def has_otp_type(otps, otp_type): - for otp in otps: - if otp['type'] == otp_type: - return True - return False - - -def add_pre_suffix(file, pre_suffix): - '''filename.ext, pre -> filename.pre.ext''' - name, ext = os.path.splitext(file) - return name + "." + pre_suffix + (ext if ext else "") - - -def open_file_or_stdout(filename): - '''stdout is denoted as "-". - Note: Set before the following line: - sys.stdout.close = lambda: None''' - return open(filename, "w", encoding='utf-8') if filename != '-' else sys.stdout - - -def open_file_or_stdout_for_csv(filename): - '''stdout is denoted as "-". - newline='' - Note: Set before the following line: - sys.stdout.close = lambda: None''' - return open(filename, "w", encoding='utf-8', newline='') if filename != '-' else sys.stdout - - -def check_file_exists(filename): - if filename != '-' and not os.path.isfile(filename): - abort('\nERROR: Input file provided is non-existent or not a file.' - '\ninput file: {}'.format(filename)) - - -def is_binary(line): - try: - line.startswith('#') - return False - except (UnicodeDecodeError, AttributeError, TypeError): - return True - - -def check_module_available(module_name): - module_spec = importlib.util.find_spec(module_name) - return module_spec is not None - - -def eprint(*args, **kwargs): - '''Print to stderr.''' - print(*args, file=sys.stderr, **kwargs) - - -def abort(*args, **kwargs): - eprint(*args, **kwargs) - sys.exit(1) - - -if __name__ == '__main__': - sys_main() diff --git a/mypy.ini b/mypy.ini new file mode 100644 index 0000000..8c0d273 --- /dev/null +++ b/mypy.ini @@ -0,0 +1,4 @@ +[mypy] + +[mypy-protobuf_generated_python.*] +ignore_errors = True diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..cb86bbe --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,66 @@ +[build-system] +requires = [ + "setuptools>=64.0.0", "wheel>=0.37.0", "pip", + # https://setuptools-git-versioning.readthedocs.io/en/latest/differences.html + "setuptools-git-versioning", +] +build-backend = "setuptools.build_meta" + +[project] +name = "extract_otp_secrets" +# https://pypi.org/classifiers/ +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "Environment :: X11 Applications :: Qt", + "Environment :: Win32 (MS Windows)", + "Topic :: System :: Archiving :: Backup", + "Topic :: Utilities", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Intended Audience :: End Users/Desktop", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Natural Language :: English", + "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", +] +dependencies = [ + "protobuf", + "qrcode", + "Pillow", + "qreader", + "pyzbar", + "opencv-contrib-python<=4.7.0; sys_platform == 'darwin'", + "opencv-contrib-python; sys_platform != 'darwin'", + "typing_extensions; python_version<='3.7'", + "colorama>=0.4.6", +] +description = "Extracts one time password (OTP) secrets from QR codes exported by two-factor authentication (2FA) apps such as 'Google Authenticator'" +dynamic = ["version"] +keywords = ["python", "security", "json", "otp", "csv", "protobuf", "qrcode", "two-factor", "totp", "google-authenticator", "recovery", "proto3", "mfa", "two-factor-authentication", "tfa", "qr-codes", "otpauth", "2fa", "security-tools", "cv2"] +license = {text = "GNU General Public License v3 (GPLv3)"} +readme = "README.md" +authors = [{name = "scito", email = "info@scito.ch"}] +maintainers = [{name = "scito", email = "info@scito.ch"}] +requires-python = ">=3.7, <4" +scripts = {extract_otp_secrets = "extract_otp_secrets:sys_main"} +urls = {Project-URL = "https://github.com/scito/extract_otp_secrets", Bug-Reports = "https://github.com/scito/extract_otp_secrets/issues", Source = "https://github.com/scito/extract_otp_secrets"} + +# [tool.setuptools] +# Still in beta, once it is stable move config from setup.cfg to pyproject.toml +# py-modules = ["extract_otp_secrets", "protobuf_generated_python.protobuf_generated_python"] + +# [tool.setuptools.dynamic] +# version = {attr = "extract_otp_secrets.VERSION"} + +[tool.setuptools-git-versioning] +enabled = true + +# https://blog.ionelmc.ro/2014/05/25/python-packaging/#the-structure%3E +# https://docs.pytest.org/en/7.1.x/explanation/goodpractices.html#which-import-mode +[tool.pytest.ini_options] +addopts = [ "--import-mode=importlib", ] diff --git a/requirements-dev.txt b/requirements-dev.txt index 8202127..fce22e5 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,4 +1,10 @@ -wheel -pytest flake8 +mypy +types-protobuf pylint +pytest +pytest-mock +pytest-cov +setuptools +wheel +build diff --git a/requirements.txt b/requirements.txt index c57362c..d456851 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,4 +2,8 @@ protobuf qrcode Pillow qreader -opencv-python +opencv-contrib-python<=4.7.0; sys_platform == 'darwin' +opencv-contrib-python; sys_platform != 'darwin' +pyzbar +typing_extensions; python_version<='3.7' +colorama>=0.4.6 diff --git a/run_pytest.sh b/run_pytest.sh index e77ffae..08ccfdd 100755 --- a/run_pytest.sh +++ b/run_pytest.sh @@ -1,3 +1,3 @@ #!/bin/sh cd /extract -pip install -U pytest && pytest "$@" +pip install -U pytest pytest-mock && pip install --no-deps . && pytest "$@" diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..e867b90 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,12 @@ +[metadata] +name = extract_otp_secrets + +[options] +python_requires = >=3.7, <4 +py_modules = extract_otp_secrets, protobuf_generated_python.google_auth_pb2 +package_dir = + =src +# packages=find: + +# [options.packages.find] +# where=src diff --git a/setup.py b/setup.py index 8c9d510..592874f 100644 --- a/setup.py +++ b/setup.py @@ -1,62 +1,5 @@ -import pathlib +#!/usr/bin/python3 from setuptools import setup -setup( - name='extract_otp_secret_keys', - version='1.6.0', - description='Extract two-factor authentication (2FA, TFA, OTP) secret keys from export QR codes of "Google Authenticator" app', - - long_description=(pathlib.Path(__file__).parent / 'README.md').read_text(), - long_description_content_type='text/markdown', - - url='https://github.com/scito/extract_otp_secret_keys', - author='scito', - author_email='info@scito.ch', - - classifiers=[ - 'Development Status :: 5 - Production/Stable', - - 'Environment :: Console', - 'Topic :: System :: Archiving :: Backup', - 'Topic :: Utilities', - - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', - 'Programming Language :: Python :: 3.11', - - 'Intended Audience :: End Users/Desktop', - 'Intended Audience :: Developers', - 'Intended Audience :: System Administrators', - - 'Programming Language :: Python' - 'Natural Language :: English', - 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)', - ], - - keywords='python security json otp csv protobuf qrcode two-factor totp google-authenticator recovery proto3 mfa two-factor-authentication tfa qr-codes otpauth 2fa security-tools', - - py_modules=['extract_otp_secret_keys', 'protobuf_generated_python.google_auth_pb2'], - entry_points={ - 'console_scripts': [ - 'extract_otp_secret_keys = extract_otp_secret_keys:sys_main', - ] - }, - - python_requires='>=3.7, <4', - install_requires=[ - 'protobuf', - 'qrcode', - 'Pillow', - 'qreader', - 'opencv-python' - ], - - project_urls={ - 'Bug Reports': 'https://github.com/scito/extract_otp_secret_keys/issues', - 'Source': 'https://github.com/scito/extract_otp_secret_keys', - }, - - license='GNU General Public License v3 (GPLv3)', -) +# compatibility with legacy builds or versions of tools that don’t support certain packaging standards +setup() diff --git a/src/extract_otp_secrets.py b/src/extract_otp_secrets.py new file mode 100644 index 0000000..f3edd7c --- /dev/null +++ b/src/extract_otp_secrets.py @@ -0,0 +1,774 @@ +# Extract one time password (OTP) secrets from QR codes exported by two-factor authentication (2FA) apps such as "Google Authenticator" +# +# For more information, see README.md +# +# Source code available on https://github.com/scito/extract_otp_secrets +# +# Technical background: +# The export QR code from "Google Authenticator" contains the URL "otpauth-migration://offline?data=...". +# The data parameter is a base64 encoded proto3 message (Google Protocol Buffers). +# +# Command for regeneration of Python code from proto3 message definition file (only necessary in case of changes of the proto3 message definition): +# protoc --plugin=protoc-gen-mypy=path/to/protoc-gen-mypy --python_out=src/protobuf_generated_python --mypy_out=src/protobuf_generated_python --proto_path=src google_auth.proto +# +# References: +# Proto3 documentation: https://developers.google.com/protocol-buffers/docs/pythontutorial +# Template code: https://github.com/beemdevelopment/Aegis/pull/406 + +# Author: Scito (https://scito.ch) + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +from __future__ import annotations # workaround for PYTHON <= 3.10 + +import argparse +import base64 +import csv +import fileinput +import json +import os +import re +import sys +import urllib.parse as urlparse +from enum import Enum, IntEnum +from typing import Any, List, Optional, TextIO, Tuple, Union + +# workaround for PYTHON <= 3.7: compatibility +if sys.version_info >= (3, 8): + from typing import Final, TypedDict +else: + from typing_extensions import Final, TypedDict + +from qrcode import QRCode # type: ignore + +import protobuf_generated_python.google_auth_pb2 as pb +import colorama + +debug_mode = '-d' in sys.argv[1:] or '--debug' in sys.argv[1:] + +try: + import cv2 # type: ignore # TODO use cv2 types if available + + import numpy as np # TODO use numpy types if available + + try: + import pyzbar.pyzbar as zbar # type: ignore + from qreader import QReader # type: ignore + except ImportError as e: + print(f""" +ERROR: Cannot import QReader module. This problem is probably due to the missing zbar shared library. +On Linux and macOS libzbar0 must be installed. +See in README.md for the installation of the libzbar0. +Exception: {e}\n""", file=sys.stderr) + raise e + + # Types + # workaround for PYTHON <= 3.9: Final[tuple[int]] + ColorBGR = Tuple[int, int, int] # RGB Color specified as Blue, Green, Red + Point = Tuple[int, int] + + # CV2 camera capture constants + FONT: Final[int] = cv2.FONT_HERSHEY_PLAIN + FONT_SCALE: Final[float] = 1.3 + FONT_THICKNESS: Final[int] = 1 + FONT_LINE_STYLE: Final[int] = cv2.LINE_AA + FONT_COLOR: Final[ColorBGR] = (255, 0, 0) + BOX_THICKNESS: Final[int] = 5 + # workaround for PYTHON <= 3.7: must use () for assignments + WINDOW_X: Final[int] = 0 + WINDOW_Y: Final[int] = 1 + WINDOW_WIDTH: Final[int] = 2 + WINDOW_HEIGHT: Final[int] = 3 + TEXT_WIDTH: Final[int] = 0 + TEXT_HEIGHT: Final[int] = 1 + BORDER: Final[int] = 5 + START_Y: Final[int] = 20 + START_POS_TEXT: Final[Point] = (BORDER, START_Y) + NORMAL_COLOR: Final[ColorBGR] = (255, 0, 255) + SUCCESS_COLOR: Final[ColorBGR] = (0, 255, 0) + FAILURE_COLOR: Final[ColorBGR] = (0, 0, 255) + CHAR_DX: Final[int] = (lambda text: cv2.getTextSize(text, FONT, FONT_SCALE, FONT_THICKNESS)[0][TEXT_WIDTH] // len(text))("28 QR codes capturedMMM") + FONT_DY: Final[int] = cv2.getTextSize("M", FONT, FONT_SCALE, FONT_THICKNESS)[0][TEXT_HEIGHT] + 5 + WINDOW_NAME: Final[str] = "Extract OTP Secrets: Capture QR Codes from Camera" + + TextPosition = Enum('TextPosition', ['LEFT', 'RIGHT']) + + qreader_available = True +except ImportError as e: + qreader_available = False + if debug_mode: + raise e + +# Workaround for PYTHON <= 3.9: Union[int, None] used instead of int | None + +# Types +Args = argparse.Namespace +OtpUrl = str +# workaround for PYTHON <= 3.7: Otp = TypedDict('Otp', {'name': str, 'secret': str, 'issuer': str, 'type': str, 'counter': int | None, 'url': OtpUrl}) +Otp = TypedDict('Otp', {'name': str, 'secret': str, 'issuer': str, 'type': str, 'counter': Union[int, None], 'url': OtpUrl}) +# workaround for PYTHON <= 3.9: Otps = list[Otp] +Otps = List[Otp] +# workaround for PYTHON <= 3.9: OtpUrls = list[OtpUrl] +OtpUrls = List[OtpUrl] + +QRMode = Enum('QRMode', ['ZBAR', 'QREADER', 'QREADER_DEEP', 'CV2', 'CV2_WECHAT'], start=0) +LogLevel = IntEnum('LogLevel', ['QUIET', 'NORMAL', 'VERBOSE', 'MORE_VERBOSE', 'DEBUG'], start=-1) + + +# Constants +CAMERA: Final[str] = 'camera' + +# Global variable declaration +verbose: IntEnum = LogLevel.NORMAL +quiet: bool = False +colored: bool = True + + +def sys_main() -> None: + main(sys.argv[1:]) + + +def main(sys_args: list[str]) -> None: + # allow to use sys.stdout with with (avoid closing) + sys.stdout.close = lambda: None # type: ignore + # set encoding to utf-8, needed for Windows + try: + sys.stdout.reconfigure(encoding='utf-8') # type: ignore + sys.stderr.reconfigure(encoding='utf-8') # type: ignore + except AttributeError: # '_io.StringIO' object has no attribute 'reconfigure' + # StringIO in tests do not have all attributes, ignore it + pass + + args = parse_args(sys_args) + + if colored: + colorama.just_fix_windows_console() + + if args.debug: + sys.exit(0 if do_debug_checks() else 1) + + otps = extract_otps(args) + write_csv(args, otps) + write_keepass_csv(args, otps) + write_json(args, otps) + + +def parse_args(sys_args: list[str]) -> Args: + global verbose, quiet, colored + description_text = "Extracts one time password (OTP) secrets from QR codes exported by two-factor authentication (2FA) apps" + if qreader_available: + description_text += "\nIf no infiles are provided, a GUI window starts and QR codes are captured from the camera." + example_text = """examples: +python extract_otp_secrets.py +python extract_otp_secrets.py example_*.txt +python extract_otp_secrets.py - < example_export.txt +python extract_otp_secrets.py --csv - example_*.png | tail -n+2 +python extract_otp_secrets.py = < example_export.png""" + + arg_parser = argparse.ArgumentParser(formatter_class=lambda prog: argparse.RawTextHelpFormatter(prog, max_help_position=32), + description=description_text, + epilog=example_text) + arg_parser.add_argument('infile', help="""a) file or - for stdin with 'otpauth-migration://...' URLs separated by newlines, lines starting with # are ignored; +b) image file containing a QR code or = for stdin for an image containing a QR code""", nargs='*' if qreader_available else '+') + arg_parser.add_argument('--csv', '-c', help='export csv file or - for stdout', metavar=('FILE')) + arg_parser.add_argument('--keepass', '-k', help='export totp/hotp csv file(s) for KeePass, - for stdout', metavar=('FILE')) + arg_parser.add_argument('--json', '-j', help='export json file or - for stdout', metavar=('FILE')) + arg_parser.add_argument('--printqr', '-p', help='print QR code(s) as text to the terminal (requires qrcode module)', action='store_true') + arg_parser.add_argument('--saveqr', '-s', help='save QR code(s) as images to the given folder (requires qrcode module)', metavar=('DIR')) + if qreader_available: + arg_parser.add_argument('--camera', '-C', help='camera number of system (default camera: 0)', default=0, type=int, metavar=('NUMBER')) + arg_parser.add_argument('--qr', '-Q', help=f'QR reader (default: {QRMode.ZBAR.name})', type=str, choices=[mode.name for mode in QRMode], default=QRMode.ZBAR.name) + arg_parser.add_argument('-i', '--ignore', help='ignore duplicate otps', action='store_true') + arg_parser.add_argument('--no-color', '-n', help='do not use ANSI colors in console output', action='store_true') + output_group = arg_parser.add_mutually_exclusive_group() + output_group.add_argument('-d', '--debug', help='enter debug mode, do checks and quit', action='count') + output_group.add_argument('-v', '--verbose', help='verbose output', action='count') + output_group.add_argument('-q', '--quiet', help='no stdout output, except output set by -', action='store_true') + args = arg_parser.parse_args(sys_args) + colored = not args.no_color + if args.csv == '-' or args.json == '-' or args.keepass == '-': + args.quiet = args.q = True + + verbose = args.verbose if args.verbose else LogLevel.NORMAL + if args.debug: + verbose = LogLevel.DEBUG + log_debug('Debug mode start') + quiet = True if args.quiet else False + if verbose: print(f"QReader installed: {qreader_available}") + if qreader_available: + if verbose >= LogLevel.VERBOSE: print(f"CV2 version: {cv2.__version__}") + if verbose: print(f"QR reading mode: {args.qr}\n") + + return args + + +def extract_otps(args: Args) -> Otps: + if not args.infile: + return extract_otps_from_camera(args) + else: + return extract_otps_from_files(args) + + +def get_color(new_otps_count: int, otp_url: str) -> ColorBGR: + if new_otps_count: + return SUCCESS_COLOR + else: + if otp_url: + return FAILURE_COLOR + else: + return NORMAL_COLOR + + +# TODO use cv2 types if available +def cv2_draw_box(img: Any, raw_pts: Any, color: ColorBGR) -> Any: + pts = np.array([raw_pts], np.int32) + pts = pts.reshape((-1, 1, 2)) + cv2.polylines(img, [pts], True, color, BOX_THICKNESS) + return pts + + +# TODO use cv2 types if available +def cv2_print_text(img: Any, text: str, line_number: int, position: TextPosition, color: ColorBGR, opposite_len: Optional[int] = None) -> None: + window_dim = cv2.getWindowImageRect(WINDOW_NAME) + out_text = text + if opposite_len: + text_dim, _ = cv2.getTextSize(out_text, FONT, FONT_SCALE, FONT_THICKNESS) + actual_width = text_dim[TEXT_WIDTH] + opposite_len * CHAR_DX + 4 * BORDER + if actual_width >= window_dim[WINDOW_WIDTH]: + out_text = out_text[:(window_dim[WINDOW_WIDTH] - actual_width) // CHAR_DX] + '.' + text_dim, _ = cv2.getTextSize(out_text, FONT, FONT_SCALE, FONT_THICKNESS) + if position == TextPosition.LEFT: + pos = BORDER, START_Y + line_number * FONT_DY + else: + pos = window_dim[WINDOW_WIDTH] - text_dim[TEXT_WIDTH] - BORDER, START_Y + line_number * FONT_DY + + cv2.putText(img, out_text, pos, FONT, FONT_SCALE, color, FONT_THICKNESS, FONT_LINE_STYLE) + + +def extract_otps_from_camera(args: Args) -> Otps: + if verbose: print("Capture QR codes from camera") + otp_urls: OtpUrls = [] + otps: Otps = [] + + qr_mode = QRMode[args.qr] + + cam = cv2.VideoCapture(args.camera) + cv2.namedWindow(WINDOW_NAME, cv2.WINDOW_AUTOSIZE) + + qreader = QReader() + cv2_qr = cv2.QRCodeDetector() + cv2_qr_wechat = cv2.wechat_qrcode.WeChatQRCode() + while True: + success, img = cam.read() + new_otps_count = 0 + if not success: + log_error("Failed to capture image from camera") + break + try: + if qr_mode in [QRMode.QREADER, QRMode.QREADER_DEEP]: + found, bbox = qreader.detect(img) + if qr_mode == QRMode.QREADER_DEEP: + otp_url = qreader.detect_and_decode(img, True) + elif qr_mode == QRMode.QREADER: + otp_url = qreader.decode(img, bbox) if found else None + if otp_url: + new_otps_count = extract_otps_from_otp_url(otp_url, otp_urls, otps, args) + if found: + cv2.rectangle(img, (bbox[0], bbox[1]), (bbox[2], bbox[3]), get_color(new_otps_count, otp_url), BOX_THICKNESS) + elif qr_mode == QRMode.ZBAR: + for qrcode in zbar.decode(img): + otp_url = qrcode.data.decode('utf-8') + new_otps_count = extract_otps_from_otp_url(otp_url, otp_urls, otps, args) + cv2_draw_box(img, [qrcode.polygon], get_color(new_otps_count, otp_url)) + elif qr_mode in [QRMode.CV2, QRMode.CV2_WECHAT]: + if QRMode.CV2: + otp_url, raw_pts, _ = cv2_qr.detectAndDecode(img) + else: + otp_url, raw_pts = cv2_qr_wechat.detectAndDecode(img) + if raw_pts is not None: + if otp_url: + new_otps_count = extract_otps_from_otp_url(otp_url, otp_urls, otps, args) + cv2_draw_box(img, raw_pts, get_color(new_otps_count, otp_url)) + else: + abort(f"Invalid QReader mode: {qr_mode.name}") + except Exception as e: + log_error(f'An error occured during QR detection and decoding for QR reader {qr_mode}. Changed to the next QR reader.', e) + qr_mode = next_qr_mode(qr_mode) + continue + + cv2_print_text(img, f"Mode: {qr_mode.name} (Hit space to change)", 0, TextPosition.LEFT, FONT_COLOR, 20) + cv2_print_text(img, "Hit ESC to quit", 1, TextPosition.LEFT, FONT_COLOR, 17) + + cv2_print_text(img, f"{len(otp_urls)} QR code{'s'[:len(otp_urls) != 1]} captured", 0, TextPosition.RIGHT, FONT_COLOR) + cv2_print_text(img, f"{len(otps)} otp{'s'[:len(otps) != 1]} extracted", 1, TextPosition.RIGHT, FONT_COLOR) + + cv2.imshow(WINDOW_NAME, img) + + quit, qr_mode = cv2_handle_pressed_keys(qr_mode) + if quit: + break + + cam.release() + cv2.destroyAllWindows() + + return otps + + +def cv2_handle_pressed_keys(qr_mode: QRMode) -> Tuple[bool, QRMode]: + key = cv2.waitKey(1) & 0xFF + quit = False + if key == 27 or key == ord('q') or key == 13: + # ESC or Enter or q pressed + quit = True + elif key == 32: + qr_mode = next_qr_mode(qr_mode) + if verbose >= LogLevel.MORE_VERBOSE: print(f"QR reading mode: {qr_mode}") + if cv2.getWindowProperty(WINDOW_NAME, cv2.WND_PROP_VISIBLE) < 1: + # Window close clicked + quit = True + return quit, qr_mode + + +def extract_otps_from_otp_url(otp_url: str, otp_urls: OtpUrls, otps: Otps, args: Args) -> int: + '''Returns -1 if opt_url was already added.''' + if otp_url and verbose >= LogLevel.VERBOSE: print(otp_url) + if not otp_url: + return 0 + if otp_url not in otp_urls: + new_otps_count = extract_otp_from_otp_url(otp_url, otps, len(otp_urls), CAMERA, args) + if new_otps_count: + otp_urls.append(otp_url) + if verbose: print(f"Extracted {new_otps_count} otp{'s'[:len(otps) != 1]}. {len(otps)} otp{'s'[:len(otps) != 1]} from {len(otp_urls)} QR code{'s'[:len(otp_urls) != 1]} extracted") + return new_otps_count + return -1 + + +def extract_otps_from_files(args: Args) -> Otps: + otps: Otps = [] + + files_count = urls_count = otps_count = 0 + if verbose: print(f"Input files: {args.infile}") + for infile in args.infile: + if verbose >= LogLevel.MORE_VERBOSE: log_verbose(f"Processing infile {infile}") + files_count += 1 + for line in get_otp_urls_from_file(infile, args): + if verbose >= LogLevel.MORE_VERBOSE: log_verbose(line) + if line.startswith('#') or line == '': continue + urls_count += 1 + otps_count += extract_otp_from_otp_url(line, otps, urls_count, infile, args) + if verbose: print(f"Extracted {otps_count} otp{'s'[:otps_count != 1]} from {urls_count} otp url{'s'[:urls_count != 1]} by reading {files_count} infile{'s'[:files_count != 1]}") + return otps + + +def get_otp_urls_from_file(filename: str, args: Args) -> OtpUrls: + # stdin stream cannot be rewinded, thus distinguish, use - for utf-8 stdin and = for binary image stdin + if filename != '=': + check_file_exists(filename) + lines = read_lines_from_text_file(filename) + if lines or filename == '-': + return lines + + # could not process text file, try reading as image + if filename != '-' and qreader_available: + return convert_img_to_otp_urls(filename, args) + + return [] + + +def read_lines_from_text_file(filename: str) -> list[str]: + if verbose >= LogLevel.DEBUG: print(f"Reading lines of {filename}") + # workaround for PYTHON <= 3.9 support encoding + if sys.version_info >= (3, 10): + finput = fileinput.input(filename, encoding='utf-8') + else: + finput = fileinput.input(filename) + try: + lines = [] + for line in (line.strip() for line in finput): + if verbose >= LogLevel.DEBUG: log_verbose(line) + if is_binary(line): + abort("Binary input was given in stdin, please use = instead of - as infile argument for images.") + # unfortunately yield line leads to random test fails + lines.append(line) + if not lines: + log_warn(f"{filename.replace('-', 'stdin')} is empty") + except UnicodeDecodeError as e: + if filename == '-': + abort("Unable to open text file form stdin. " + "In case you want read an image file from stdin, you must use '=' instead of '-'.", e) + else: # The file is probably an image, process below + return [] + finally: + finput.close() + return lines + + +def extract_otp_from_otp_url(otpauth_migration_url: str, otps: Otps, urls_count: int, infile: str, args: Args) -> int: + payload = get_payload_from_otp_url(otpauth_migration_url, urls_count, infile) + + if not payload: + return 0 + + new_otps_count = 0 + # pylint: disable=no-member + for raw_otp in payload.otp_parameters: + if verbose: print(f"\n{len(otps) + 1}. Secret") + secret = convert_secret_from_bytes_to_base32_str(raw_otp.secret) + if verbose >= LogLevel.DEBUG: log_debug('OTP enum type:', get_enum_name_by_number(raw_otp, 'type')) + otp_type = get_otp_type_str_from_code(raw_otp.type) + otp_url = build_otp_url(secret, raw_otp) + otp: Otp = { + "name": raw_otp.name, + "secret": secret, + "issuer": raw_otp.issuer, + "type": otp_type, + "counter": raw_otp.counter if raw_otp.type == 1 else None, + "url": otp_url + } + if otp not in otps or not args.ignore: + otps.append(otp) + new_otps_count += 1 + if not quiet: + print_otp(otp) + if args.printqr: + print_qr(args, otp_url) + if args.saveqr: + save_qr(otp, args, len(otps)) + if not quiet: + print() + elif args.ignore and not quiet: + eprint(f"Ignored duplicate otp: {otp['name']}", f" / {otp['issuer']}\n" if otp['issuer'] else '\n', sep='') + + return new_otps_count + + +def convert_img_to_otp_urls(filename: str, args: Args) -> OtpUrls: + if verbose: print(f"Reading image {filename}") + try: + if filename != '=': + img = cv2.imread(filename) + else: + try: + stdin = sys.stdin.buffer.read() + except AttributeError: + # Workaround for pytest, since pytest cannot monkeypatch sys.stdin.buffer + stdin = sys.stdin.read() # type: ignore # Workaround for pytest fixtures + if not stdin: + log_warn("stdin is empty") + try: + img_array = np.frombuffer(stdin, dtype='uint8') + except TypeError as e: + abort("Cannot read binary stdin buffer.", e) + if not img_array.size: + return [] + img = cv2.imdecode(img_array, cv2.IMREAD_UNCHANGED) + + if img is None: + abort(f"Unable to open file for reading.\ninput file: {filename}") + + qr_mode = QRMode[args.qr] + otp_urls = decode_qr_img_otp_urls(img, qr_mode) + if len(otp_urls) == 0: + abort(f"Unable to read QR Code from file.\ninput file: {filename}") + except Exception as e: + abort(f"Encountered exception\ninput file: {filename}", e) + return otp_urls + + +def decode_qr_img_otp_urls(img: Any, qr_mode: QRMode) -> OtpUrls: + otp_urls: OtpUrls = [] + if qr_mode in [QRMode.QREADER, QRMode.QREADER_DEEP]: + otp_url = QReader().detect_and_decode(img, qr_mode == QRMode.QREADER_DEEP) + otp_urls.append(otp_url) + elif qr_mode == QRMode.CV2: + otp_url, _, _ = cv2.QRCodeDetector().detectAndDecode(img) + otp_urls.append(otp_url) + elif qr_mode == QRMode.CV2_WECHAT: + otp_url, _ = cv2.wechat_qrcode.WeChatQRCode().detectAndDecode(img) + otp_urls += list(otp_url) + elif qr_mode == QRMode.ZBAR: + qrcodes = zbar.decode(img) + otp_urls += [qrcode.data.decode('utf-8') for qrcode in qrcodes] + else: + assert False, f"Wrong QReader mode {qr_mode.name}" + + return otp_urls + + +# workaround for PYTHON <= 3.9 use: pb.MigrationPayload | None +def get_payload_from_otp_url(otp_url: str, i: int, source: str) -> Optional[pb.MigrationPayload]: + '''Extracts the otp migration payload from an otp url. This function is the core of the this appliation.''' + if not is_opt_url(otp_url, source): + return None + parsed_url = urlparse.urlparse(otp_url) + if verbose >= LogLevel.DEBUG: log_debug(f"parsed_url={parsed_url}") + try: + params = urlparse.parse_qs(parsed_url.query, strict_parsing=True) + except Exception: # workaround for PYTHON <= 3.10 + params = {} + if verbose >= LogLevel.DEBUG: log_debug(f"querystring params={params}") + if 'data' not in params: + log_error(f"could not parse query parameter in input url\nsource: {source}\nurl: {otp_url}") + return None + data_base64 = params['data'][0] + if verbose >= LogLevel.DEBUG: log_debug(f"data_base64={data_base64}") + data_base64_fixed = data_base64.replace(' ', '+') + if verbose >= LogLevel.DEBUG: log_debug(f"data_base64_fixed={data_base64_fixed}") + data = base64.b64decode(data_base64_fixed, validate=True) + payload = pb.MigrationPayload() + try: + payload.ParseFromString(data) + except Exception as e: + abort(f"Cannot decode otpauth-migration migration payload.\n" + f"data={data_base64}", e) + if verbose >= LogLevel.DEBUG: log_debug(f"\n{i}. Payload Line", payload, sep='\n') + + return payload + + +def is_opt_url(otp_url: str, source: str) -> bool: + if not otp_url.startswith('otpauth-migration://'): + msg = f"input is not a otpauth-migration:// url\nsource: {source}\ninput: {otp_url}" + if source == CAMERA: + log_warn(f"{msg}") + return False + else: + log_warn(f"{msg}\nMaybe a wrong file was given") + return True + + +# https://stackoverflow.com/questions/40226049/find-enums-listed-in-python-descriptor-for-protobuf +def get_enum_name_by_number(parent: Any, field_name: str) -> str: + field_value = getattr(parent, field_name) + return parent.DESCRIPTOR.fields_by_name[field_name].enum_type.values_by_number.get(field_value).name # type: ignore # generic code + + +def get_otp_type_str_from_code(otp_type: int) -> str: + return 'totp' if otp_type == 2 else 'hotp' + + +def convert_secret_from_bytes_to_base32_str(bytes: bytes) -> str: + return str(base64.b32encode(bytes), 'utf-8').replace('=', '') + + +def build_otp_url(secret: str, raw_otp: pb.MigrationPayload.OtpParameters) -> str: + url_params = {'secret': secret} + if raw_otp.type == 1: url_params['counter'] = str(raw_otp.counter) + if raw_otp.issuer: url_params['issuer'] = raw_otp.issuer + otp_url = f"otpauth://{get_otp_type_str_from_code(raw_otp.type)}/{urlparse.quote(raw_otp.name)}?" + urlparse.urlencode(url_params) + return otp_url + + +def print_otp(otp: Otp) -> None: + print(f"Name: {otp['name']}") + print(f"Secret: {otp['secret']}") + if otp['issuer']: print(f"Issuer: {otp['issuer']}") + print(f"Type: {otp['type']}") + if otp['type'] == 'hotp': + print(f"Counter: {otp['counter']}") + if verbose: + print(otp['url']) + + +def save_qr(otp: Otp, args: Args, j: int) -> str: + dir = args.saveqr + if not (os.path.exists(dir)): os.makedirs(dir, exist_ok=True) + pattern = re.compile(r'[\W_]+') + file_otp_name = pattern.sub('', otp['name']) + file_otp_issuer = pattern.sub('', otp['issuer']) + save_qr_file(args, otp['url'], f"{dir}/{j}-{file_otp_name}{'-' + file_otp_issuer if file_otp_issuer else ''}.png") + return file_otp_name + + +def save_qr_file(args: Args, otp_url: OtpUrl, name: str) -> None: + qr = QRCode() + qr.add_data(otp_url) + img = qr.make_image(fill_color='black', back_color='white') + if verbose: print(f"Saving to {name}") + img.save(name) + + +def print_qr(args: Args, otp_url: str) -> None: + qr = QRCode() + qr.add_data(otp_url) + qr.print_ascii() + + +def write_csv(args: Args, otps: Otps) -> None: + if args.csv and len(otps) > 0: + with open_file_or_stdout_for_csv(args.csv) as outfile: + writer = csv.DictWriter(outfile, otps[0].keys()) + writer.writeheader() + writer.writerows(otps) + if not quiet: print(f"Exported {len(otps)} otp{'s'[:len(otps) != 1]} to csv {args.csv}") + + +def write_keepass_csv(args: Args, otps: Otps) -> None: + if args.keepass and len(otps) > 0: + has_totp = has_otp_type(otps, 'totp') + has_hotp = has_otp_type(otps, 'hotp') + if args.keepass != '-': + otp_filename_totp = args.keepass if has_totp != has_hotp else add_pre_suffix(args.keepass, "totp") + otp_filename_hotp = args.keepass if has_totp != has_hotp else add_pre_suffix(args.keepass, "hotp") + else: + otp_filename_totp = otp_filename_hotp = '-' + if has_totp: + count_totp_entries = write_keepass_totp_csv(otp_filename_totp, otps) + if has_hotp: + count_hotp_entries = write_keepass_htop_csv(otp_filename_hotp, otps) + if not quiet: + if count_totp_entries: print(f"Exported {count_totp_entries} totp entrie{'s'[:count_totp_entries != 1]} to keepass csv file {otp_filename_totp}") + if count_hotp_entries: print(f"Exported {count_hotp_entries} hotp entrie{'s'[:count_hotp_entries != 1]} to keepass csv file {otp_filename_hotp}") + + +def write_keepass_totp_csv(otp_filename: str, otps: Otps) -> int: + count_entries = 0 + with open_file_or_stdout_for_csv(otp_filename) as outfile: + writer = csv.DictWriter(outfile, ["Title", "User Name", "TimeOtp-Secret-Base32", "Group"]) + writer.writeheader() + for otp in otps: + if otp['type'] == 'totp': + writer.writerow({ + 'Title': otp['issuer'], + 'User Name': otp['name'], + 'TimeOtp-Secret-Base32': otp['secret'] if otp['type'] == 'totp' else None, + 'Group': f"OTP/{otp['type'].upper()}" + }) + count_entries += 1 + return count_entries + + +def write_keepass_htop_csv(otp_filename: str, otps: Otps) -> int: + count_entries = 0 + with open_file_or_stdout_for_csv(otp_filename) as outfile: + writer = csv.DictWriter(outfile, ["Title", "User Name", "HmacOtp-Secret-Base32", "HmacOtp-Counter", "Group"]) + writer.writeheader() + for otp in otps: + if otp['type'] == 'hotp': + writer.writerow({ + 'Title': otp['issuer'], + 'User Name': otp['name'], + 'HmacOtp-Secret-Base32': otp['secret'] if otp['type'] == 'hotp' else None, + 'HmacOtp-Counter': otp['counter'] if otp['type'] == 'hotp' else None, + 'Group': f"OTP/{otp['type'].upper()}" + }) + count_entries += 1 + return count_entries + + +def write_json(args: Args, otps: Otps) -> None: + if args.json: + with open_file_or_stdout(args.json) as outfile: + json.dump(otps, outfile, indent=4) + if not quiet: print(f"Exported {len(otps)} otp{'s'[:len(otps) != 1]} to json {args.json}") + + +def has_otp_type(otps: Otps, otp_type: str) -> bool: + for otp in otps: + if otp['type'] == otp_type: + return True + return False + + +def add_pre_suffix(file: str, pre_suffix: str) -> str: + '''filename.ext, pre -> filename.pre.ext''' + name, ext = os.path.splitext(file) + return name + "." + pre_suffix + (ext if ext else "") + + +def open_file_or_stdout(filename: str) -> TextIO: + '''stdout is denoted as "-". + Note: Set before the following line: + sys.stdout.close = lambda: None''' + return open(filename, "w", encoding='utf-8') if filename != '-' else sys.stdout + + +def open_file_or_stdout_for_csv(filename: str) -> TextIO: + '''stdout is denoted as "-". + newline='' + Note: Set before the following line: + sys.stdout.close = lambda: None''' + return open(filename, "w", encoding='utf-8', newline='') if filename != '-' else sys.stdout + + +def check_file_exists(filename: str) -> None: + if filename != '-' and not os.path.isfile(filename): + abort(f"Input file provided is non-existent or not a file." + f"\ninput file: {filename}") + + +def is_binary(line: str) -> bool: + try: + line.startswith('#') + return False + except (UnicodeDecodeError, AttributeError, TypeError): + return True + + +def next_qr_mode(qr_mode: QRMode) -> QRMode: + return QRMode((qr_mode.value + 1) % len(QRMode)) + + +def do_debug_checks() -> bool: + log_debug('Do debug checks') + log_debug('Try: import cv2') + import cv2 # noqa: F401 # This is only a debug import + log_debug('Try: import numpy as np') + import numpy as np # noqa: F401 # This is only a debug import + print(color('\nDebug checks passed', colorama.Fore.GREEN)) + return True + + +# workaround for PYTHON <= 3.9 use: BaseException | None +def log_debug(*values: object, sep: Optional[str] = ' ') -> None: + if colored: + print(f"{colorama.Fore.CYAN}\nDEBUG: {str(values[0])}", *values[1:], colorama.Fore.RESET, sep) + else: + print(f"\nDEBUG: {str(values[0])}", *values[1:], sep) + + +# workaround for PYTHON <= 3.9 use: BaseException | None +def log_verbose(msg: str) -> None: + print(color(msg, colorama.Fore.CYAN)) + + +# workaround for PYTHON <= 3.9 use: BaseException | None +def log_warn(msg: str, exception: Optional[BaseException] = None) -> None: + exception_text = "\nException: " + eprint(color(f"\nWARN: {msg}{(exception_text + str(exception)) if exception else ''}", colorama.Fore.RED)) + + +# workaround for PYTHON <= 3.9 use: BaseException | None +def log_error(msg: str, exception: Optional[BaseException] = None) -> None: + exception_text = "\nException: " + eprint(color(f"\nERROR: {msg}{(exception_text + str(exception)) if exception else ''}", colorama.Fore.RED)) + + +def color(msg: str, color: Optional[str] = None) -> str: + return f"{color if colored and color else ''}{msg}{colorama.Fore.RESET if colored and color else ''}" + + +def eprint(*values: object, **kwargs: Any) -> None: + '''Print to stderr.''' + print(*values, file=sys.stderr, **kwargs) + + +# workaround for PYTHON <= 3.9 use: BaseException | None +def abort(msg: str, exception: Optional[BaseException] = None) -> None: + log_error(msg, exception) + sys.exit(1) + + +if __name__ == '__main__': + sys_main() diff --git a/google_auth.proto b/src/google_auth.proto similarity index 100% rename from google_auth.proto rename to src/google_auth.proto diff --git a/protobuf_generated_python/google_auth_pb2.py b/src/protobuf_generated_python/google_auth_pb2.py similarity index 100% rename from protobuf_generated_python/google_auth_pb2.py rename to src/protobuf_generated_python/google_auth_pb2.py diff --git a/src/protobuf_generated_python/google_auth_pb2.pyi b/src/protobuf_generated_python/google_auth_pb2.pyi new file mode 100644 index 0000000..f4fb74c --- /dev/null +++ b/src/protobuf_generated_python/google_auth_pb2.pyi @@ -0,0 +1,108 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing_extensions.final +class MigrationPayload(google.protobuf.message.Message): + """Copied from: https://github.com/beemdevelopment/Aegis/blob/master/app/src/main/proto/google_auth.proto""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Algorithm: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AlgorithmEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MigrationPayload._Algorithm.ValueType], builtins.type): # noqa: F821 + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ALGO_INVALID: MigrationPayload._Algorithm.ValueType # 0 + ALGO_SHA1: MigrationPayload._Algorithm.ValueType # 1 + + class Algorithm(_Algorithm, metaclass=_AlgorithmEnumTypeWrapper): ... + ALGO_INVALID: MigrationPayload.Algorithm.ValueType # 0 + ALGO_SHA1: MigrationPayload.Algorithm.ValueType # 1 + + class _OtpType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _OtpTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MigrationPayload._OtpType.ValueType], builtins.type): # noqa: F821 + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + OTP_INVALID: MigrationPayload._OtpType.ValueType # 0 + OTP_HOTP: MigrationPayload._OtpType.ValueType # 1 + OTP_TOTP: MigrationPayload._OtpType.ValueType # 2 + + class OtpType(_OtpType, metaclass=_OtpTypeEnumTypeWrapper): ... + OTP_INVALID: MigrationPayload.OtpType.ValueType # 0 + OTP_HOTP: MigrationPayload.OtpType.ValueType # 1 + OTP_TOTP: MigrationPayload.OtpType.ValueType # 2 + + @typing_extensions.final + class OtpParameters(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SECRET_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + ISSUER_FIELD_NUMBER: builtins.int + ALGORITHM_FIELD_NUMBER: builtins.int + DIGITS_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + COUNTER_FIELD_NUMBER: builtins.int + secret: builtins.bytes + name: builtins.str + issuer: builtins.str + algorithm: global___MigrationPayload.Algorithm.ValueType + digits: builtins.int + type: global___MigrationPayload.OtpType.ValueType + counter: builtins.int + def __init__( + self, + *, + secret: builtins.bytes = ..., + name: builtins.str = ..., + issuer: builtins.str = ..., + algorithm: global___MigrationPayload.Algorithm.ValueType = ..., + digits: builtins.int = ..., + type: global___MigrationPayload.OtpType.ValueType = ..., + counter: builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["algorithm", b"algorithm", "counter", b"counter", "digits", b"digits", "issuer", b"issuer", "name", b"name", "secret", b"secret", "type", b"type"]) -> None: ... + + OTP_PARAMETERS_FIELD_NUMBER: builtins.int + VERSION_FIELD_NUMBER: builtins.int + BATCH_SIZE_FIELD_NUMBER: builtins.int + BATCH_INDEX_FIELD_NUMBER: builtins.int + BATCH_ID_FIELD_NUMBER: builtins.int + @property + def otp_parameters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MigrationPayload.OtpParameters]: ... + version: builtins.int + batch_size: builtins.int + batch_index: builtins.int + batch_id: builtins.int + def __init__( + self, + *, + otp_parameters: collections.abc.Iterable[global___MigrationPayload.OtpParameters] | None = ..., + version: builtins.int = ..., + batch_size: builtins.int = ..., + batch_index: builtins.int = ..., + batch_id: builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["batch_id", b"batch_id", "batch_index", b"batch_index", "batch_size", b"batch_size", "otp_parameters", b"otp_parameters", "version", b"version"]) -> None: ... + +global___MigrationPayload = MigrationPayload diff --git a/test_extract_otp_secret_keys_pytest.py b/test_extract_otp_secret_keys_pytest.py deleted file mode 100644 index 0031971..0000000 --- a/test_extract_otp_secret_keys_pytest.py +++ /dev/null @@ -1,756 +0,0 @@ -# pytest for extract_otp_secret_keys.py - -# Run tests: -# pytest - -# Author: Scito (https://scito.ch) - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <https://www.gnu.org/licenses/>. - -import io -import os -import re -import sys - -import pytest - -import extract_otp_secret_keys -from utils import * - -qreader_available = extract_otp_secret_keys.check_module_available('cv2') - - -def test_extract_stdout(capsys): - # Act - extract_otp_secret_keys.main(['example_export.txt']) - - # Assert - captured = capsys.readouterr() - - assert captured.out == EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT - assert captured.err == '' - - -@pytest.mark.qreader -def test_extract_multiple_files_and_mixed(capsys): - # Act - extract_otp_secret_keys.main([ - 'example_export.txt', - 'test/test_googleauth_export.png', - 'example_export.txt', - 'test/test_googleauth_export.png']) - - # Assert - captured = capsys.readouterr() - - assert captured.out == EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT + EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT_PNG + EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT + EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT_PNG - assert captured.err == '' - - -def test_extract_non_existent_file(capsys): - # Act - with pytest.raises(SystemExit) as e: - extract_otp_secret_keys.main(['test/non_existent_file.txt']) - - # Assert - captured = capsys.readouterr() - - expected_stderr = '\nERROR: Input file provided is non-existent or not a file.\ninput file: test/non_existent_file.txt\n' - - assert captured.err == expected_stderr - assert captured.out == '' - assert e.value.code == 1 - assert e.type == SystemExit - - -def test_extract_stdin_stdout(capsys, monkeypatch): - # Arrange - monkeypatch.setattr('sys.stdin', io.StringIO(read_file_to_str('example_export.txt'))) - - # Act - extract_otp_secret_keys.main(['-']) - - # Assert - captured = capsys.readouterr() - - assert captured.out == EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT - assert captured.err == '' - - -def test_extract_stdin_empty(capsys, monkeypatch): - # Arrange - monkeypatch.setattr('sys.stdin', io.StringIO()) - - # Act - extract_otp_secret_keys.main(['-']) - - # Assert - captured = capsys.readouterr() - - assert captured.out == '' - assert captured.err == 'WARN: stdin is empty\n' - - -# @pytest.mark.skipif(not qreader_available, reason='Test if cv2 and qreader are not available.') -def test_extract_empty_file_no_qreader(capsys): - if qreader_available: - # Act - with pytest.raises(SystemExit) as e: - extract_otp_secret_keys.main(['test/empty_file.txt']) - - # Assert - captured = capsys.readouterr() - - expected_stderr = 'WARN: test/empty_file.txt is empty\n\nERROR: Unable to open file for reading.\ninput file: test/empty_file.txt\n' - - assert captured.err == expected_stderr - assert captured.out == '' - assert e.value.code == 1 - assert e.type == SystemExit - else: - # Act - extract_otp_secret_keys.main(['test/empty_file.txt']) - - # Assert - captured = capsys.readouterr() - - assert captured.err == '' - assert captured.out == '' - - -@pytest.mark.qreader -def test_extract_stdin_img_empty(capsys, monkeypatch): - # Arrange - monkeypatch.setattr('sys.stdin', io.BytesIO()) - - # Act - extract_otp_secret_keys.main(['=']) - - # Assert - captured = capsys.readouterr() - - assert captured.out == '' - assert captured.err == 'WARN: stdin is empty\n' - - -@pytest.mark.qreader -def test_extract_stdin_stdout_wrong_symbol(capsys, monkeypatch): - # Arrange - monkeypatch.setattr('sys.stdin', io.StringIO(read_file_to_str('example_export.txt'))) - - # Act - with pytest.raises(SystemExit) as e: - extract_otp_secret_keys.main(['=']) - - # Assert - captured = capsys.readouterr() - - expected_stderr = "\nERROR: Cannot read binary stdin buffer. Exception: a bytes-like object is required, not 'str'\n" - - assert captured.err == expected_stderr - assert captured.out == '' - assert e.value.code == 1 - assert e.type == SystemExit - - -def test_extract_csv(capsys): - # Arrange - cleanup() - - # Act - extract_otp_secret_keys.main(['-q', '-c', 'test_example_output.csv', 'example_export.txt']) - - # Assert - expected_csv = read_csv('example_output.csv') - actual_csv = read_csv('test_example_output.csv') - - assert actual_csv == expected_csv - - captured = capsys.readouterr() - - assert captured.out == '' - assert captured.err == '' - - # Clean up - cleanup() - - -def test_extract_csv_stdout(capsys): - # Arrange - cleanup() - - # Act - extract_otp_secret_keys.main(['-c', '-', 'example_export.txt']) - - # Assert - assert not file_exits('test_example_output.csv') - - captured = capsys.readouterr() - - expected_csv = read_csv('example_output.csv') - actual_csv = read_csv_str(captured.out) - - assert actual_csv == expected_csv - assert captured.err == '' - - # Clean up - cleanup() - - -def test_extract_stdin_and_csv_stdout(capsys, monkeypatch): - # Arrange - cleanup() - monkeypatch.setattr('sys.stdin', io.StringIO(read_file_to_str('example_export.txt'))) - - # Act - extract_otp_secret_keys.main(['-c', '-', '-']) - - # Assert - assert not file_exits('test_example_output.csv') - - captured = capsys.readouterr() - - expected_csv = read_csv('example_output.csv') - actual_csv = read_csv_str(captured.out) - - assert actual_csv == expected_csv - assert captured.err == '' - - # Clean up - cleanup() - - -def test_keepass_csv(capsys): - '''Two csv files .totp and .htop are generated.''' - # Arrange - cleanup() - - # Act - extract_otp_secret_keys.main(['-q', '-k', 'test_example_keepass_output.csv', 'example_export.txt']) - - # Assert - expected_totp_csv = read_csv('example_keepass_output.totp.csv') - expected_hotp_csv = read_csv('example_keepass_output.hotp.csv') - actual_totp_csv = read_csv('test_example_keepass_output.totp.csv') - actual_hotp_csv = read_csv('test_example_keepass_output.hotp.csv') - - assert actual_totp_csv == expected_totp_csv - assert actual_hotp_csv == expected_hotp_csv - assert not file_exits('test_example_keepass_output.csv') - - captured = capsys.readouterr() - - assert captured.out == '' - assert captured.err == '' - - # Clean up - cleanup() - - -def test_keepass_csv_stdout(capsys): - '''Two csv files .totp and .htop are generated.''' - # Arrange - cleanup() - - # Act - extract_otp_secret_keys.main(['-k', '-', 'test/example_export_only_totp.txt']) - - # Assert - expected_totp_csv = read_csv('example_keepass_output.totp.csv') - expected_hotp_csv = read_csv('example_keepass_output.hotp.csv') - assert not file_exits('test_example_keepass_output.totp.csv') - assert not file_exits('test_example_keepass_output.hotp.csv') - assert not file_exits('test_example_keepass_output.csv') - - captured = capsys.readouterr() - actual_totp_csv = read_csv_str(captured.out) - - assert actual_totp_csv == expected_totp_csv - assert captured.err == '' - - # Clean up - cleanup() - - -def test_single_keepass_csv(capsys): - '''Does not add .totp or .hotp pre-suffix''' - # Arrange - cleanup() - - # Act - extract_otp_secret_keys.main(['-q', '-k', 'test_example_keepass_output.csv', 'test/example_export_only_totp.txt']) - - # Assert - expected_totp_csv = read_csv('example_keepass_output.totp.csv') - actual_totp_csv = read_csv('test_example_keepass_output.csv') - - assert actual_totp_csv == expected_totp_csv - assert not file_exits('test_example_keepass_output.totp.csv') - assert not file_exits('test_example_keepass_output.hotp.csv') - - captured = capsys.readouterr() - - assert captured.out == '' - assert captured.err == '' - - # Clean up - cleanup() - - -def test_extract_json(capsys): - # Arrange - cleanup() - - # Act - extract_otp_secret_keys.main(['-q', '-j', 'test_example_output.json', 'example_export.txt']) - - # Assert - expected_json = read_json('example_output.json') - actual_json = read_json('test_example_output.json') - - assert actual_json == expected_json - - captured = capsys.readouterr() - - assert captured.out == '' - assert captured.err == '' - - # Clean up - cleanup() - - -def test_extract_json_stdout(capsys): - # Arrange - cleanup() - - # Act - extract_otp_secret_keys.main(['-j', '-', 'example_export.txt']) - - # Assert - expected_json = read_json('example_output.json') - assert not file_exits('test_example_output.json') - captured = capsys.readouterr() - actual_json = read_json_str(captured.out) - - assert actual_json == expected_json - assert captured.err == '' - - # Clean up - cleanup() - - -def test_extract_not_encoded_plus(capsys): - # Act - extract_otp_secret_keys.main(['test/test_plus_problem_export.txt']) - - # Assert - captured = capsys.readouterr() - - expected_stdout = '''Name: SerenityLabs:test1@serenitylabs.co.uk -Secret: A4RFDYMF4GSLUIBQV4ZP67OJEZ2XUQVM -Issuer: SerenityLabs -Type: totp - -Name: SerenityLabs:test2@serenitylabs.co.uk -Secret: SCDDZ7PW5MOZLE3PQCAZM7L4S35K3UDX -Issuer: SerenityLabs -Type: totp - -Name: SerenityLabs:test3@serenitylabs.co.uk -Secret: TR76272RVYO6EAEY2FX7W7R7KUDEGPJ4 -Issuer: SerenityLabs -Type: totp - -Name: SerenityLabs:test4@serenitylabs.co.uk -Secret: N2ILWSXSJUQUB7S6NONPJSC62NPG7EXN -Issuer: SerenityLabs -Type: totp - -''' - - assert captured.out == expected_stdout - assert captured.err == '' - - -def test_extract_printqr(capsys): - # Act - extract_otp_secret_keys.main(['-p', 'example_export.txt']) - - # Assert - captured = capsys.readouterr() - - expected_stdout = read_file_to_str('test/printqr_output.txt') - - assert captured.out == expected_stdout - assert captured.err == '' - - -def test_extract_saveqr(capsys): - # Arrange - cleanup() - - # Act - extract_otp_secret_keys.main(['-q', '-s', 'testout/qr/', 'example_export.txt']) - - # Assert - captured = capsys.readouterr() - - assert captured.out == '' - assert captured.err == '' - - assert os.path.isfile('testout/qr/1-piraspberrypi-raspberrypi.png') - assert os.path.isfile('testout/qr/2-piraspberrypi.png') - assert os.path.isfile('testout/qr/3-piraspberrypi.png') - assert os.path.isfile('testout/qr/4-piraspberrypi-raspberrypi.png') - - # Clean up - cleanup() - - -def test_normalize_bytes(): - assert replace_escaped_octal_utf8_bytes_with_str('Before\\\\302\\\\277\\\\303\nname: enc: \\302\\277\\303\\244\\303\\204\\303\\251\\303\\211?\nAfter') == 'Before\\\\302\\\\277\\\\303\nname: enc: ¿äÄéÉ?\nAfter' - - -def test_extract_verbose(capsys, relaxed): - # Act - extract_otp_secret_keys.main(['-v', 'example_export.txt']) - - # Assert - captured = capsys.readouterr() - - expected_stdout = read_file_to_str('test/print_verbose_output.txt') - - if relaxed or sys.implementation.name == 'pypy': - print('\nRelaxed mode\n') - - assert replace_escaped_octal_utf8_bytes_with_str(captured.out) == replace_escaped_octal_utf8_bytes_with_str(expected_stdout) - assert quick_and_dirty_workaround_encoding_problem(captured.out) == quick_and_dirty_workaround_encoding_problem(expected_stdout) - else: - assert captured.out == expected_stdout - assert captured.err == '' - - -def test_extract_debug(capsys): - # Act - extract_otp_secret_keys.main(['-vv', 'example_export.txt']) - - # Assert - captured = capsys.readouterr() - - expected_stdout = read_file_to_str('test/print_verbose_output.txt') - - assert len(captured.out) > len(expected_stdout) - assert "DEBUG: " in captured.out - assert captured.err == '' - - -def test_extract_help(capsys): - with pytest.raises(SystemExit) as e: - # Act - extract_otp_secret_keys.main(['-h']) - - # Assert - captured = capsys.readouterr() - - assert len(captured.out) > 0 - assert "-h, --help" in captured.out and "--verbose, -v" in captured.out - assert captured.err == '' - assert e.type == SystemExit - assert e.value.code == 0 - - -def test_extract_no_arguments(capsys): - # Act - with pytest.raises(SystemExit) as e: - extract_otp_secret_keys.main([]) - - # Assert - captured = capsys.readouterr() - - expected_err_msg = 'error: the following arguments are required: infile' - - assert expected_err_msg in captured.err - assert captured.out == '' - assert e.value.code == 2 - assert e.type == SystemExit - - -def test_verbose_and_quiet(capsys): - with pytest.raises(SystemExit) as e: - # Act - extract_otp_secret_keys.main(['-v', '-q', 'example_export.txt']) - - # Assert - captured = capsys.readouterr() - - assert len(captured.err) > 0 - assert 'error: argument --quiet/-q: not allowed with argument --verbose/-v' in captured.err - assert captured.out == '' - assert e.value.code == 2 - assert e.type == SystemExit - - -def test_wrong_data(capsys): - with pytest.raises(SystemExit) as e: - # Act - extract_otp_secret_keys.main(['test/test_export_wrong_data.txt']) - - # Assert - captured = capsys.readouterr() - - expected_stderr = ''' -ERROR: Cannot decode otpauth-migration migration payload. -data=XXXX -''' - - assert captured.err == expected_stderr - assert captured.out == '' - assert e.value.code == 1 - assert e.type == SystemExit - - -def test_wrong_content(capsys): - with pytest.raises(SystemExit) as e: - # Act - extract_otp_secret_keys.main(['test/test_export_wrong_content.txt']) - - # Assert - captured = capsys.readouterr() - - expected_stderr = ''' -WARN: line is not a otpauth-migration:// URL -input file: test/test_export_wrong_content.txt -line "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua." -Probably a wrong file was given - -ERROR: no data query parameter in input URL -input file: test/test_export_wrong_content.txt -line "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua." -Probably a wrong file was given -''' - - assert captured.out == '' - assert captured.err == expected_stderr - assert e.value.code == 1 - assert e.type == SystemExit - - -def test_wrong_prefix(capsys): - # Act - extract_otp_secret_keys.main(['test/test_export_wrong_prefix.txt']) - - # Assert - captured = capsys.readouterr() - - expected_stderr = ''' -WARN: line is not a otpauth-migration:// URL -input file: test/test_export_wrong_prefix.txt -line "QR-Code:otpauth-migration://offline?data=CjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACjr4JKK%2B%2F%2F%2F%2F%2F8B" -Probably a wrong file was given -''' - - expected_stdout = '''Name: pi@raspberrypi -Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY -Issuer: raspberrypi -Type: totp - -''' - - assert captured.out == expected_stdout - assert captured.err == expected_stderr - - -def test_add_pre_suffix(capsys): - assert extract_otp_secret_keys.add_pre_suffix("name.csv", "totp") == "name.totp.csv" - assert extract_otp_secret_keys.add_pre_suffix("name.csv", "") == "name..csv" - assert extract_otp_secret_keys.add_pre_suffix("name", "totp") == "name.totp" - - -@pytest.mark.qreader -def test_img_qr_reader_from_file_happy_path(capsys): - # Act - extract_otp_secret_keys.main(['test/test_googleauth_export.png']) - - # Assert - captured = capsys.readouterr() - - assert captured.out == EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT_PNG - assert captured.err == '' - -@pytest.mark.qreader -def test_img_qr_reader_from_stdin(capsys, monkeypatch): - # Arrange - # sys.stdin.buffer should be monkey patched, but it does not work - monkeypatch.setattr('sys.stdin', read_binary_file_as_stream('test/test_googleauth_export.png')) - - # Act - extract_otp_secret_keys.main(['=']) - - # Assert - captured = capsys.readouterr() - - expected_stdout =\ -'''Name: Test1:test1@example1.com -Secret: JBSWY3DPEHPK3PXP -Issuer: Test1 -Type: totp - -Name: Test2:test2@example2.com -Secret: JBSWY3DPEHPK3PXQ -Issuer: Test2 -Type: totp - -Name: Test3:test3@example3.com -Secret: JBSWY3DPEHPK3PXR -Issuer: Test3 -Type: totp - -''' - - assert captured.out == expected_stdout - assert captured.err == '' - - -@pytest.mark.qreader -def test_img_qr_reader_from_stdin_wrong_symbol(capsys, monkeypatch): - # Arrange - # sys.stdin.buffer should be monkey patched, but it does not work - monkeypatch.setattr('sys.stdin', read_binary_file_as_stream('test/test_googleauth_export.png')) - - # Act - with pytest.raises(SystemExit) as e: - extract_otp_secret_keys.main(['-']) - - # Assert - captured = capsys.readouterr() - - expected_stderr = '\nBinary input was given in stdin, please use = instead of - as infile argument for images.\n' - - assert captured.err == expected_stderr - assert captured.out == '' - assert e.value.code == 1 - assert e.type == SystemExit - - -@pytest.mark.qreader -def test_img_qr_reader_no_qr_code_in_image(capsys): - # Act - with pytest.raises(SystemExit) as e: - extract_otp_secret_keys.main(['test/lena_std.tif']) - - # Assert - captured = capsys.readouterr() - - expected_stderr = '\nERROR: Unable to read QR Code from file.\ninput file: test/lena_std.tif\n' - - assert captured.err == expected_stderr - assert captured.out == '' - assert e.value.code == 1 - assert e.type == SystemExit - - -@pytest.mark.qreader -def test_img_qr_reader_nonexistent_file(capsys): - # Act - with pytest.raises(SystemExit) as e: - extract_otp_secret_keys.main(['test/nonexistent.bmp']) - - # Assert - captured = capsys.readouterr() - - expected_stderr = '\nERROR: Input file provided is non-existent or not a file.\ninput file: test/nonexistent.bmp\n' - - assert captured.err == expected_stderr - assert captured.out == '' - assert e.value.code == 1 - assert e.type == SystemExit - - -def test_non_image_file(capsys): - # Act - with pytest.raises(SystemExit) as e: - extract_otp_secret_keys.main(['test/text_masquerading_as_image.jpeg']) - - # Assert - captured = capsys.readouterr() - expected_stderr = ''' -WARN: line is not a otpauth-migration:// URL -input file: test/text_masquerading_as_image.jpeg -line "This is just a text file masquerading as an image file." -Probably a wrong file was given - -ERROR: no data query parameter in input URL -input file: test/text_masquerading_as_image.jpeg -line "This is just a text file masquerading as an image file." -Probably a wrong file was given -''' - - assert captured.err == expected_stderr - assert captured.out == '' - assert e.value.code == 1 - assert e.type == SystemExit - - -def cleanup(): - remove_files('test_example_*.csv') - remove_files('test_example_*.json') - remove_dir_with_files('testout/') - - -EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT = '''Name: pi@raspberrypi -Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY -Issuer: raspberrypi -Type: totp - -Name: pi@raspberrypi -Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY -Type: totp - -Name: pi@raspberrypi -Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY -Type: totp - -Name: pi@raspberrypi -Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY -Issuer: raspberrypi -Type: totp - -Name: hotp demo -Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY -Type: hotp -Counter: 4 - -Name: encoding: ¿äÄéÉ? (demo) -Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY -Type: totp - -''' - -EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT_PNG =\ -'''Name: Test1:test1@example1.com -Secret: JBSWY3DPEHPK3PXP -Issuer: Test1 -Type: totp - -Name: Test2:test2@example2.com -Secret: JBSWY3DPEHPK3PXQ -Issuer: Test2 -Type: totp - -Name: Test3:test3@example3.com -Secret: JBSWY3DPEHPK3PXR -Issuer: Test3 -Type: totp - -''' diff --git a/test_extract_qrcode_unittest.py b/test_extract_qrcode_unittest.py deleted file mode 100644 index 7f9c718..0000000 --- a/test_extract_qrcode_unittest.py +++ /dev/null @@ -1,92 +0,0 @@ -# Unit test for extract_otp_secret_keys.py - -# Run tests: -# python -m unittest - -# Author: sssudame - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <https://www.gnu.org/licenses/>. - -import unittest -from utils import Capturing - -import extract_otp_secret_keys - -class TestQRImageExtract(unittest.TestCase): - def test_img_qr_reader_happy_path(self): - with Capturing() as actual_output: - extract_otp_secret_keys.main(['test/test_googleauth_export.png']) - - expected_output =\ - ['Name: Test1:test1@example1.com', 'Secret: JBSWY3DPEHPK3PXP', 'Issuer: Test1', 'Type: totp', '', - 'Name: Test2:test2@example2.com', 'Secret: JBSWY3DPEHPK3PXQ', 'Issuer: Test2', 'Type: totp', '', - 'Name: Test3:test3@example3.com', 'Secret: JBSWY3DPEHPK3PXR', 'Issuer: Test3', 'Type: totp', ''] - - self.assertEqual(actual_output, expected_output) - - def test_img_qr_reader_no_qr_code_in_image(self): - with Capturing() as actual_output: - with self.assertRaises(SystemExit) as context: - extract_otp_secret_keys.main(['test/lena_std.tif']) - - expected_output =\ - ['', 'ERROR: Unable to read QR Code from file.', 'input file: test/lena_std.tif'] - - self.assertEqual(actual_output, expected_output) - self.assertEqual(context.exception.code, 1) - - def test_img_qr_reader_nonexistent_file(self): - with Capturing() as actual_output: - with self.assertRaises(SystemExit) as context: - extract_otp_secret_keys.main(['test/nonexistent.bmp']) - - expected_output =\ - ['', 'ERROR: Input file provided is non-existent or not a file.', 'input file: test/nonexistent.bmp'] - - self.assertEqual(actual_output, expected_output) - self.assertEqual(context.exception.code, 1) - - def test_img_qr_reader_non_image_file(self): - with Capturing() as actual_output: - with self.assertRaises(SystemExit) as context: - extract_otp_secret_keys.main(['test/text_masquerading_as_image.jpeg']) - - expected_output = [ - '', - 'WARN: line is not a otpauth-migration:// URL', - 'input file: test/text_masquerading_as_image.jpeg', - 'line "This is just a text file masquerading as an image file."', - 'Probably a wrong file was given', - '', - 'ERROR: no data query parameter in input URL', - 'input file: test/text_masquerading_as_image.jpeg', - 'line "This is just a text file masquerading as an image file."', - 'Probably a wrong file was given' - ] - - self.assertEqual(actual_output, expected_output) - self.assertEqual(context.exception.code, 1) - - def setUp(self): - self.cleanup() - - def tearDown(self): - self.cleanup() - - def cleanup(self): - pass - - -if __name__ == '__main__': - unittest.main() diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..10c03c1 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,22 @@ +from typing import Any + +import pytest + +from extract_otp_secrets import QRMode + + +def pytest_addoption(parser: pytest.Parser) -> None: + parser.addoption("--relaxed", action='store_true', help="run tests in relaxed mode") + parser.addoption("--fast", action="store_true", help="faster execution, do not run all combinations") + + +@pytest.fixture +def relaxed(request: pytest.FixtureRequest) -> Any: + return request.config.getoption("--relaxed") + + +def pytest_generate_tests(metafunc: pytest.Metafunc) -> None: + if "qr_mode" in metafunc.fixturenames: + number = 2 if metafunc.config.getoption("fast") else len(QRMode) + qr_modes = [mode.name for mode in QRMode] + metafunc.parametrize("qr_mode", qr_modes[0:number]) diff --git a/test/empty_file.txt b/tests/data/empty_file.txt similarity index 100% rename from test/empty_file.txt rename to tests/data/empty_file.txt diff --git a/test/example_export_only_totp.txt b/tests/data/example_export_only_totp.txt similarity index 100% rename from test/example_export_only_totp.txt rename to tests/data/example_export_only_totp.txt diff --git a/test/lena_std.tif b/tests/data/lena_std.tif similarity index 100% rename from test/lena_std.tif rename to tests/data/lena_std.tif diff --git a/tests/data/print_verbose_output-n-v.txt b/tests/data/print_verbose_output-n-v.txt new file mode 100644 index 0000000..e32c422 --- /dev/null +++ b/tests/data/print_verbose_output-n-v.txt @@ -0,0 +1,51 @@ +QReader installed: True +CV2 version: 4.7.0 +QR reading mode: ZBAR + +Input files: ['example_export.txt'] + +1. Secret +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi + + +2. Secret +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY + + +3. Secret +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY + + +4. Secret +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi + + +5. Secret +Name: hotp demo +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: hotp +Counter: 4 +otpauth://hotp/hotp%20demo?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&counter=4 + + +6. Secret +Name: encoding: ¿äÄéÉ? (demo) +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp +otpauth://totp/encoding%3A%20%C2%BF%C3%A4%C3%84%C3%A9%C3%89%3F%20%28demo%29?secret=7KSQL2JTUDIS5EF65KLMRQIIGY + +Extracted 6 otps from 5 otp urls by reading 1 infile diff --git a/tests/data/print_verbose_output-n-vv.txt b/tests/data/print_verbose_output-n-vv.txt new file mode 100644 index 0000000..544f975 --- /dev/null +++ b/tests/data/print_verbose_output-n-vv.txt @@ -0,0 +1,71 @@ +QReader installed: True +CV2 version: 4.7.0 +QR reading mode: ZBAR + +Input files: ['example_export.txt'] +Processing infile example_export.txt +# 2FA example from https://www.raspberrypi.org/blog/setting-up-two-factor-authentication-on-your-raspberry-pi/ + +# Secret key: 7KSQL2JTUDIS5EF65KLMRQIIGY +# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi +otpauth-migration://offline?data=CjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACjr4JKK%2B%2F%2F%2F%2F%2F8B + +1. Secret +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi + + +# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY +otpauth-migration://offline?data=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACEAEYASAAKLzjp5n4%2F%2F%2F%2F%2FwE%3D + +2. Secret +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY + + +# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi +# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY +otpauth-migration://offline?data=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACCjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACiQ7OOa%2Bf%2F%2F%2F%2F8B + +3. Secret +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY + + +4. Secret +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi + + +# otpauth://hotp/hotp%20demo?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&counter=4 +otpauth-migration://offline?data=CiUKEPqlBekzoNEukL7qlsjBCDYSCWhvdHAgZGVtbyABKAEwATgEEAEYASAAKNuv15j6%2F%2F%2F%2F%2FwE%3D + +5. Secret +Name: hotp demo +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: hotp +Counter: 4 +otpauth://hotp/hotp%20demo?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&counter=4 + + +# otpauth://totp/encoding%3A%20%C2%BF%C3%A4%C3%84%C3%A9%C3%89%3F%20%28demo%29?secret=7KSQL2JTUDIS5EF65KLMRQIIGY +# Name: "encoding: ¿äÄéÉ? (demo)" +otpauth-migration://offline?data=CjYKEPqlBekzoNEukL7qlsjBCDYSHGVuY29kaW5nOiDCv8Okw4TDqcOJPyAoZGVtbykgASgBMAIQARgBIAAorfCurv%2F%2F%2F%2F%2F%2FAQ%3D%3D + +6. Secret +Name: encoding: ¿äÄéÉ? (demo) +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp +otpauth://totp/encoding%3A%20%C2%BF%C3%A4%C3%84%C3%A9%C3%89%3F%20%28demo%29?secret=7KSQL2JTUDIS5EF65KLMRQIIGY + +Extracted 6 otps from 5 otp urls by reading 1 infile diff --git a/test/print_verbose_output.txt b/tests/data/print_verbose_output-n-vvv.txt similarity index 57% rename from test/print_verbose_output.txt rename to tests/data/print_verbose_output-n-vvv.txt index cf01dae..4013a77 100644 --- a/test/print_verbose_output.txt +++ b/tests/data/print_verbose_output-n-vvv.txt @@ -1,7 +1,12 @@ +QReader installed: True +CV2 version: 4.7.0 +QR reading mode: ZBAR + Input files: ['example_export.txt'] Processing infile example_export.txt Reading lines of example_export.txt # 2FA example from https://www.raspberrypi.org/blog/setting-up-two-factor-authentication-on-your-raspberry-pi/ + # Secret key: 7KSQL2JTUDIS5EF65KLMRQIIGY # otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi otpauth-migration://offline?data=CjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACjr4JKK%2B%2F%2F%2F%2F%2F8B @@ -20,12 +25,21 @@ otpauth-migration://offline?data=CiUKEPqlBekzoNEukL7qlsjBCDYSCWhvdHAgZGVtbyABKAE # Name: "encoding: ¿äÄéÉ? (demo)" otpauth-migration://offline?data=CjYKEPqlBekzoNEukL7qlsjBCDYSHGVuY29kaW5nOiDCv8Okw4TDqcOJPyAoZGVtbykgASgBMAIQARgBIAAorfCurv%2F%2F%2F%2F%2F%2FAQ%3D%3D # 2FA example from https://www.raspberrypi.org/blog/setting-up-two-factor-authentication-on-your-raspberry-pi/ + # Secret key: 7KSQL2JTUDIS5EF65KLMRQIIGY # otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi otpauth-migration://offline?data=CjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACjr4JKK%2B%2F%2F%2F%2F%2F8B -1. Payload Line -otp_parameters { +DEBUG: parsed_url=ParseResult(scheme='otpauth-migration', netloc='offline', path='', params='', query='data=CjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACjr4JKK%2B%2F%2F%2F%2F%2F8B', fragment='') + +DEBUG: querystring params={'data': ['CjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACjr4JKK+/////8B']} + +DEBUG: data_base64=CjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACjr4JKK+/////8B + +DEBUG: data_base64_fixed=CjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACjr4JKK+/////8B + +DEBUG: +1. Payload Line otp_parameters { secret: "\372\245\005\3513\240\321.\220\276\352\226\310\301\0106" name: "pi@raspberrypi" issuer: "raspberrypi" @@ -36,9 +50,12 @@ otp_parameters { version: 1 batch_size: 1 batch_id: -1320898453 + + +1. Secret -1. Secret Key +DEBUG: OTP enum type: OTP_TOTP Name: pi@raspberrypi Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY Issuer: raspberrypi @@ -49,8 +66,16 @@ otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspber # otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY otpauth-migration://offline?data=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACEAEYASAAKLzjp5n4%2F%2F%2F%2F%2FwE%3D -2. Payload Line -otp_parameters { +DEBUG: parsed_url=ParseResult(scheme='otpauth-migration', netloc='offline', path='', params='', query='data=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACEAEYASAAKLzjp5n4%2F%2F%2F%2F%2FwE%3D', fragment='') + +DEBUG: querystring params={'data': ['CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACEAEYASAAKLzjp5n4/////wE=']} + +DEBUG: data_base64=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACEAEYASAAKLzjp5n4/////wE= + +DEBUG: data_base64_fixed=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACEAEYASAAKLzjp5n4/////wE= + +DEBUG: +2. Payload Line otp_parameters { secret: "\372\245\005\3513\240\321.\220\276\352\226\310\301\0106" name: "pi@raspberrypi" algorithm: ALGO_SHA1 @@ -60,9 +85,12 @@ otp_parameters { version: 1 batch_size: 1 batch_id: -2094403140 + + +2. Secret -2. Secret Key +DEBUG: OTP enum type: OTP_TOTP Name: pi@raspberrypi Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY Type: totp @@ -73,8 +101,16 @@ otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY # otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY otpauth-migration://offline?data=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACCjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACiQ7OOa%2Bf%2F%2F%2F%2F8B -3. Payload Line -otp_parameters { +DEBUG: parsed_url=ParseResult(scheme='otpauth-migration', netloc='offline', path='', params='', query='data=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACCjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACiQ7OOa%2Bf%2F%2F%2F%2F8B', fragment='') + +DEBUG: querystring params={'data': ['CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACCjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACiQ7OOa+f////8B']} + +DEBUG: data_base64=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACCjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACiQ7OOa+f////8B + +DEBUG: data_base64_fixed=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACCjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACiQ7OOa+f////8B + +DEBUG: +3. Payload Line otp_parameters { secret: "\372\245\005\3513\240\321.\220\276\352\226\310\301\0106" name: "pi@raspberrypi" algorithm: ALGO_SHA1 @@ -92,16 +128,21 @@ otp_parameters { version: 1 batch_size: 1 batch_id: -1822886384 + -3. Secret Key +3. Secret + +DEBUG: OTP enum type: OTP_TOTP Name: pi@raspberrypi Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY Type: totp otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY -4. Secret Key +4. Secret + +DEBUG: OTP enum type: OTP_TOTP Name: pi@raspberrypi Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY Issuer: raspberrypi @@ -112,8 +153,16 @@ otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspber # otpauth://hotp/hotp%20demo?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&counter=4 otpauth-migration://offline?data=CiUKEPqlBekzoNEukL7qlsjBCDYSCWhvdHAgZGVtbyABKAEwATgEEAEYASAAKNuv15j6%2F%2F%2F%2F%2FwE%3D -4. Payload Line -otp_parameters { +DEBUG: parsed_url=ParseResult(scheme='otpauth-migration', netloc='offline', path='', params='', query='data=CiUKEPqlBekzoNEukL7qlsjBCDYSCWhvdHAgZGVtbyABKAEwATgEEAEYASAAKNuv15j6%2F%2F%2F%2F%2FwE%3D', fragment='') + +DEBUG: querystring params={'data': ['CiUKEPqlBekzoNEukL7qlsjBCDYSCWhvdHAgZGVtbyABKAEwATgEEAEYASAAKNuv15j6/////wE=']} + +DEBUG: data_base64=CiUKEPqlBekzoNEukL7qlsjBCDYSCWhvdHAgZGVtbyABKAEwATgEEAEYASAAKNuv15j6/////wE= + +DEBUG: data_base64_fixed=CiUKEPqlBekzoNEukL7qlsjBCDYSCWhvdHAgZGVtbyABKAEwATgEEAEYASAAKNuv15j6/////wE= + +DEBUG: +4. Payload Line otp_parameters { secret: "\372\245\005\3513\240\321.\220\276\352\226\310\301\0106" name: "hotp demo" algorithm: ALGO_SHA1 @@ -124,9 +173,12 @@ otp_parameters { version: 1 batch_size: 1 batch_id: -1558849573 + + +5. Secret -5. Secret Key +DEBUG: OTP enum type: OTP_HOTP Name: hotp demo Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY Type: hotp @@ -138,8 +190,16 @@ otpauth://hotp/hotp%20demo?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&counter=4 # Name: "encoding: ¿äÄéÉ? (demo)" otpauth-migration://offline?data=CjYKEPqlBekzoNEukL7qlsjBCDYSHGVuY29kaW5nOiDCv8Okw4TDqcOJPyAoZGVtbykgASgBMAIQARgBIAAorfCurv%2F%2F%2F%2F%2F%2FAQ%3D%3D -5. Payload Line -otp_parameters { +DEBUG: parsed_url=ParseResult(scheme='otpauth-migration', netloc='offline', path='', params='', query='data=CjYKEPqlBekzoNEukL7qlsjBCDYSHGVuY29kaW5nOiDCv8Okw4TDqcOJPyAoZGVtbykgASgBMAIQARgBIAAorfCurv%2F%2F%2F%2F%2F%2FAQ%3D%3D', fragment='') + +DEBUG: querystring params={'data': ['CjYKEPqlBekzoNEukL7qlsjBCDYSHGVuY29kaW5nOiDCv8Okw4TDqcOJPyAoZGVtbykgASgBMAIQARgBIAAorfCurv//////AQ==']} + +DEBUG: data_base64=CjYKEPqlBekzoNEukL7qlsjBCDYSHGVuY29kaW5nOiDCv8Okw4TDqcOJPyAoZGVtbykgASgBMAIQARgBIAAorfCurv//////AQ== + +DEBUG: data_base64_fixed=CjYKEPqlBekzoNEukL7qlsjBCDYSHGVuY29kaW5nOiDCv8Okw4TDqcOJPyAoZGVtbykgASgBMAIQARgBIAAorfCurv//////AQ== + +DEBUG: +5. Payload Line otp_parameters { secret: "\372\245\005\3513\240\321.\220\276\352\226\310\301\0106" name: "encoding: ¿äÄéÉ? (demo)" algorithm: ALGO_SHA1 @@ -149,12 +209,15 @@ otp_parameters { version: 1 batch_size: 1 batch_id: -171198419 + + +6. Secret -6. Secret Key +DEBUG: OTP enum type: OTP_TOTP Name: encoding: ¿äÄéÉ? (demo) Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY Type: totp otpauth://totp/encoding%3A%20%C2%BF%C3%A4%C3%84%C3%A9%C3%89%3F%20%28demo%29?secret=7KSQL2JTUDIS5EF65KLMRQIIGY -1 infile(s) processed +Extracted 6 otps from 5 otp urls by reading 1 infile diff --git a/tests/data/print_verbose_output-n.txt b/tests/data/print_verbose_output-n.txt new file mode 100644 index 0000000..7e1bceb --- /dev/null +++ b/tests/data/print_verbose_output-n.txt @@ -0,0 +1,27 @@ +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp + +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp + +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp + +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp + +Name: hotp demo +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: hotp +Counter: 4 + +Name: encoding: ¿äÄéÉ? (demo) +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp + diff --git a/tests/data/print_verbose_output-v.txt b/tests/data/print_verbose_output-v.txt new file mode 100644 index 0000000..e32c422 --- /dev/null +++ b/tests/data/print_verbose_output-v.txt @@ -0,0 +1,51 @@ +QReader installed: True +CV2 version: 4.7.0 +QR reading mode: ZBAR + +Input files: ['example_export.txt'] + +1. Secret +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi + + +2. Secret +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY + + +3. Secret +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY + + +4. Secret +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi + + +5. Secret +Name: hotp demo +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: hotp +Counter: 4 +otpauth://hotp/hotp%20demo?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&counter=4 + + +6. Secret +Name: encoding: ¿äÄéÉ? (demo) +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp +otpauth://totp/encoding%3A%20%C2%BF%C3%A4%C3%84%C3%A9%C3%89%3F%20%28demo%29?secret=7KSQL2JTUDIS5EF65KLMRQIIGY + +Extracted 6 otps from 5 otp urls by reading 1 infile diff --git a/tests/data/print_verbose_output-vv.txt b/tests/data/print_verbose_output-vv.txt new file mode 100644 index 0000000..3819f4a --- /dev/null +++ b/tests/data/print_verbose_output-vv.txt @@ -0,0 +1,71 @@ +QReader installed: True +CV2 version: 4.7.0 +QR reading mode: ZBAR + +Input files: ['example_export.txt'] +Processing infile example_export.txt +# 2FA example from https://www.raspberrypi.org/blog/setting-up-two-factor-authentication-on-your-raspberry-pi/ + +# Secret key: 7KSQL2JTUDIS5EF65KLMRQIIGY +# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi +otpauth-migration://offline?data=CjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACjr4JKK%2B%2F%2F%2F%2F%2F8B + +1. Secret +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi + + +# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY +otpauth-migration://offline?data=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACEAEYASAAKLzjp5n4%2F%2F%2F%2F%2FwE%3D + +2. Secret +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY + + +# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi +# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY +otpauth-migration://offline?data=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACCjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACiQ7OOa%2Bf%2F%2F%2F%2F8B + +3. Secret +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY + + +4. Secret +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi + + +# otpauth://hotp/hotp%20demo?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&counter=4 +otpauth-migration://offline?data=CiUKEPqlBekzoNEukL7qlsjBCDYSCWhvdHAgZGVtbyABKAEwATgEEAEYASAAKNuv15j6%2F%2F%2F%2F%2FwE%3D + +5. Secret +Name: hotp demo +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: hotp +Counter: 4 +otpauth://hotp/hotp%20demo?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&counter=4 + + +# otpauth://totp/encoding%3A%20%C2%BF%C3%A4%C3%84%C3%A9%C3%89%3F%20%28demo%29?secret=7KSQL2JTUDIS5EF65KLMRQIIGY +# Name: "encoding: ¿äÄéÉ? (demo)" +otpauth-migration://offline?data=CjYKEPqlBekzoNEukL7qlsjBCDYSHGVuY29kaW5nOiDCv8Okw4TDqcOJPyAoZGVtbykgASgBMAIQARgBIAAorfCurv%2F%2F%2F%2F%2F%2FAQ%3D%3D + +6. Secret +Name: encoding: ¿äÄéÉ? (demo) +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp +otpauth://totp/encoding%3A%20%C2%BF%C3%A4%C3%84%C3%A9%C3%89%3F%20%28demo%29?secret=7KSQL2JTUDIS5EF65KLMRQIIGY + +Extracted 6 otps from 5 otp urls by reading 1 infile diff --git a/tests/data/print_verbose_output-vvv.txt b/tests/data/print_verbose_output-vvv.txt new file mode 100644 index 0000000..e81eb24 --- /dev/null +++ b/tests/data/print_verbose_output-vvv.txt @@ -0,0 +1,223 @@ +QReader installed: True +CV2 version: 4.7.0 +QR reading mode: ZBAR + +Input files: ['example_export.txt'] +Processing infile example_export.txt +Reading lines of example_export.txt +# 2FA example from https://www.raspberrypi.org/blog/setting-up-two-factor-authentication-on-your-raspberry-pi/ + +# Secret key: 7KSQL2JTUDIS5EF65KLMRQIIGY +# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi +otpauth-migration://offline?data=CjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACjr4JKK%2B%2F%2F%2F%2F%2F8B + +# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY +otpauth-migration://offline?data=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACEAEYASAAKLzjp5n4%2F%2F%2F%2F%2FwE%3D + +# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi +# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY +otpauth-migration://offline?data=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACCjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACiQ7OOa%2Bf%2F%2F%2F%2F8B + +# otpauth://hotp/hotp%20demo?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&counter=4 +otpauth-migration://offline?data=CiUKEPqlBekzoNEukL7qlsjBCDYSCWhvdHAgZGVtbyABKAEwATgEEAEYASAAKNuv15j6%2F%2F%2F%2F%2FwE%3D + +# otpauth://totp/encoding%3A%20%C2%BF%C3%A4%C3%84%C3%A9%C3%89%3F%20%28demo%29?secret=7KSQL2JTUDIS5EF65KLMRQIIGY +# Name: "encoding: ¿äÄéÉ? (demo)" +otpauth-migration://offline?data=CjYKEPqlBekzoNEukL7qlsjBCDYSHGVuY29kaW5nOiDCv8Okw4TDqcOJPyAoZGVtbykgASgBMAIQARgBIAAorfCurv%2F%2F%2F%2F%2F%2FAQ%3D%3D +# 2FA example from https://www.raspberrypi.org/blog/setting-up-two-factor-authentication-on-your-raspberry-pi/ + +# Secret key: 7KSQL2JTUDIS5EF65KLMRQIIGY +# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi +otpauth-migration://offline?data=CjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACjr4JKK%2B%2F%2F%2F%2F%2F8B + +DEBUG: parsed_url=ParseResult(scheme='otpauth-migration', netloc='offline', path='', params='', query='data=CjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACjr4JKK%2B%2F%2F%2F%2F%2F8B', fragment='')  + +DEBUG: querystring params={'data': ['CjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACjr4JKK+/////8B']}  + +DEBUG: data_base64=CjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACjr4JKK+/////8B  + +DEBUG: data_base64_fixed=CjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACjr4JKK+/////8B  + +DEBUG: +1. Payload Line otp_parameters { + secret: "\372\245\005\3513\240\321.\220\276\352\226\310\301\0106" + name: "pi@raspberrypi" + issuer: "raspberrypi" + algorithm: ALGO_SHA1 + digits: 1 + type: OTP_TOTP +} +version: 1 +batch_size: 1 +batch_id: -1320898453 +  + + +1. Secret + +DEBUG: OTP enum type: OTP_TOTP  +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi + + +# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY +otpauth-migration://offline?data=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACEAEYASAAKLzjp5n4%2F%2F%2F%2F%2FwE%3D + +DEBUG: parsed_url=ParseResult(scheme='otpauth-migration', netloc='offline', path='', params='', query='data=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACEAEYASAAKLzjp5n4%2F%2F%2F%2F%2FwE%3D', fragment='')  + +DEBUG: querystring params={'data': ['CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACEAEYASAAKLzjp5n4/////wE=']}  + +DEBUG: data_base64=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACEAEYASAAKLzjp5n4/////wE=  + +DEBUG: data_base64_fixed=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACEAEYASAAKLzjp5n4/////wE=  + +DEBUG: +2. Payload Line otp_parameters { + secret: "\372\245\005\3513\240\321.\220\276\352\226\310\301\0106" + name: "pi@raspberrypi" + algorithm: ALGO_SHA1 + digits: 1 + type: OTP_TOTP +} +version: 1 +batch_size: 1 +batch_id: -2094403140 +  + + +2. Secret + +DEBUG: OTP enum type: OTP_TOTP  +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY + + +# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi +# otpauth://totp/pi@raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY +otpauth-migration://offline?data=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACCjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACiQ7OOa%2Bf%2F%2F%2F%2F8B + +DEBUG: parsed_url=ParseResult(scheme='otpauth-migration', netloc='offline', path='', params='', query='data=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACCjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACiQ7OOa%2Bf%2F%2F%2F%2F8B', fragment='')  + +DEBUG: querystring params={'data': ['CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACCjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACiQ7OOa+f////8B']}  + +DEBUG: data_base64=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACCjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACiQ7OOa+f////8B  + +DEBUG: data_base64_fixed=CigKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpIAEoATACCjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACiQ7OOa+f////8B  + +DEBUG: +3. Payload Line otp_parameters { + secret: "\372\245\005\3513\240\321.\220\276\352\226\310\301\0106" + name: "pi@raspberrypi" + algorithm: ALGO_SHA1 + digits: 1 + type: OTP_TOTP +} +otp_parameters { + secret: "\372\245\005\3513\240\321.\220\276\352\226\310\301\0106" + name: "pi@raspberrypi" + issuer: "raspberrypi" + algorithm: ALGO_SHA1 + digits: 1 + type: OTP_TOTP +} +version: 1 +batch_size: 1 +batch_id: -1822886384 +  + + +3. Secret + +DEBUG: OTP enum type: OTP_TOTP  +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY + + +4. Secret + +DEBUG: OTP enum type: OTP_TOTP  +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp +otpauth://totp/pi%40raspberrypi?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&issuer=raspberrypi + + +# otpauth://hotp/hotp%20demo?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&counter=4 +otpauth-migration://offline?data=CiUKEPqlBekzoNEukL7qlsjBCDYSCWhvdHAgZGVtbyABKAEwATgEEAEYASAAKNuv15j6%2F%2F%2F%2F%2FwE%3D + +DEBUG: parsed_url=ParseResult(scheme='otpauth-migration', netloc='offline', path='', params='', query='data=CiUKEPqlBekzoNEukL7qlsjBCDYSCWhvdHAgZGVtbyABKAEwATgEEAEYASAAKNuv15j6%2F%2F%2F%2F%2FwE%3D', fragment='')  + +DEBUG: querystring params={'data': ['CiUKEPqlBekzoNEukL7qlsjBCDYSCWhvdHAgZGVtbyABKAEwATgEEAEYASAAKNuv15j6/////wE=']}  + +DEBUG: data_base64=CiUKEPqlBekzoNEukL7qlsjBCDYSCWhvdHAgZGVtbyABKAEwATgEEAEYASAAKNuv15j6/////wE=  + +DEBUG: data_base64_fixed=CiUKEPqlBekzoNEukL7qlsjBCDYSCWhvdHAgZGVtbyABKAEwATgEEAEYASAAKNuv15j6/////wE=  + +DEBUG: +4. Payload Line otp_parameters { + secret: "\372\245\005\3513\240\321.\220\276\352\226\310\301\0106" + name: "hotp demo" + algorithm: ALGO_SHA1 + digits: 1 + type: OTP_HOTP + counter: 4 +} +version: 1 +batch_size: 1 +batch_id: -1558849573 +  + + +5. Secret + +DEBUG: OTP enum type: OTP_HOTP  +Name: hotp demo +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: hotp +Counter: 4 +otpauth://hotp/hotp%20demo?secret=7KSQL2JTUDIS5EF65KLMRQIIGY&counter=4 + + +# otpauth://totp/encoding%3A%20%C2%BF%C3%A4%C3%84%C3%A9%C3%89%3F%20%28demo%29?secret=7KSQL2JTUDIS5EF65KLMRQIIGY +# Name: "encoding: ¿äÄéÉ? (demo)" +otpauth-migration://offline?data=CjYKEPqlBekzoNEukL7qlsjBCDYSHGVuY29kaW5nOiDCv8Okw4TDqcOJPyAoZGVtbykgASgBMAIQARgBIAAorfCurv%2F%2F%2F%2F%2F%2FAQ%3D%3D + +DEBUG: parsed_url=ParseResult(scheme='otpauth-migration', netloc='offline', path='', params='', query='data=CjYKEPqlBekzoNEukL7qlsjBCDYSHGVuY29kaW5nOiDCv8Okw4TDqcOJPyAoZGVtbykgASgBMAIQARgBIAAorfCurv%2F%2F%2F%2F%2F%2FAQ%3D%3D', fragment='')  + +DEBUG: querystring params={'data': ['CjYKEPqlBekzoNEukL7qlsjBCDYSHGVuY29kaW5nOiDCv8Okw4TDqcOJPyAoZGVtbykgASgBMAIQARgBIAAorfCurv//////AQ==']}  + +DEBUG: data_base64=CjYKEPqlBekzoNEukL7qlsjBCDYSHGVuY29kaW5nOiDCv8Okw4TDqcOJPyAoZGVtbykgASgBMAIQARgBIAAorfCurv//////AQ==  + +DEBUG: data_base64_fixed=CjYKEPqlBekzoNEukL7qlsjBCDYSHGVuY29kaW5nOiDCv8Okw4TDqcOJPyAoZGVtbykgASgBMAIQARgBIAAorfCurv//////AQ==  + +DEBUG: +5. Payload Line otp_parameters { + secret: "\372\245\005\3513\240\321.\220\276\352\226\310\301\0106" + name: "encoding: ¿äÄéÉ? (demo)" + algorithm: ALGO_SHA1 + digits: 1 + type: OTP_TOTP +} +version: 1 +batch_size: 1 +batch_id: -171198419 +  + + +6. Secret + +DEBUG: OTP enum type: OTP_TOTP  +Name: encoding: ¿äÄéÉ? (demo) +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp +otpauth://totp/encoding%3A%20%C2%BF%C3%A4%C3%84%C3%A9%C3%89%3F%20%28demo%29?secret=7KSQL2JTUDIS5EF65KLMRQIIGY + +Extracted 6 otps from 5 otp urls by reading 1 infile diff --git a/tests/data/print_verbose_output.txt b/tests/data/print_verbose_output.txt new file mode 100644 index 0000000..7e1bceb --- /dev/null +++ b/tests/data/print_verbose_output.txt @@ -0,0 +1,27 @@ +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp + +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp + +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp + +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp + +Name: hotp demo +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: hotp +Counter: 4 + +Name: encoding: ¿äÄéÉ? (demo) +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp + diff --git a/test/printqr_output.txt b/tests/data/printqr_output.txt similarity index 100% rename from test/printqr_output.txt rename to tests/data/printqr_output.txt diff --git a/test/test_export_wrong_content.txt b/tests/data/test_export_wrong_content.txt similarity index 100% rename from test/test_export_wrong_content.txt rename to tests/data/test_export_wrong_content.txt diff --git a/test/test_export_wrong_data.txt b/tests/data/test_export_wrong_data.txt similarity index 100% rename from test/test_export_wrong_data.txt rename to tests/data/test_export_wrong_data.txt diff --git a/test/test_export_wrong_prefix.txt b/tests/data/test_export_wrong_prefix.txt similarity index 100% rename from test/test_export_wrong_prefix.txt rename to tests/data/test_export_wrong_prefix.txt diff --git a/test/test_googleauth_export.png b/tests/data/test_googleauth_export.png similarity index 100% rename from test/test_googleauth_export.png rename to tests/data/test_googleauth_export.png diff --git a/test/test_plus_problem_export.txt b/tests/data/test_plus_problem_export.txt similarity index 100% rename from test/test_plus_problem_export.txt rename to tests/data/test_plus_problem_export.txt diff --git a/test/text_masquerading_as_image.jpeg b/tests/data/text_masquerading_as_image.jpeg similarity index 100% rename from test/text_masquerading_as_image.jpeg rename to tests/data/text_masquerading_as_image.jpeg diff --git a/tests/extract_otp_secrets_img_unit_test.py b/tests/extract_otp_secrets_img_unit_test.py new file mode 100644 index 0000000..51572c2 --- /dev/null +++ b/tests/extract_otp_secrets_img_unit_test.py @@ -0,0 +1,89 @@ +# Unit test for extract_otp_secrets.py + +# Run tests: +# python -m unittest + +# Author: sssudame + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +from __future__ import annotations # workaround for PYTHON <= 3.10 +import unittest + +import extract_otp_secrets +from utils import Capturing + + +class TestQRImageExtract(unittest.TestCase): + def test_img_qr_reader_happy_path(self) -> None: + with Capturing() as actual_output: + extract_otp_secrets.main(['tests/data/test_googleauth_export.png']) + + expected_output =\ + ['Name: Test1:test1@example1.com', 'Secret: JBSWY3DPEHPK3PXP', 'Issuer: Test1', 'Type: totp', '', + 'Name: Test2:test2@example2.com', 'Secret: JBSWY3DPEHPK3PXQ', 'Issuer: Test2', 'Type: totp', '', + 'Name: Test3:test3@example3.com', 'Secret: JBSWY3DPEHPK3PXR', 'Issuer: Test3', 'Type: totp', ''] + + self.assertEqual(actual_output, expected_output) + + def test_img_qr_reader_no_qr_code_in_image(self) -> None: + with Capturing() as actual_output: + with self.assertRaises(SystemExit) as context: + extract_otp_secrets.main(['-n', 'tests/data/lena_std.tif']) + + expected_output = ['', 'ERROR: Unable to read QR Code from file.', 'input file: tests/data/lena_std.tif'] + + self.assertEqual(actual_output, expected_output) + self.assertEqual(context.exception.code, 1) + + def test_img_qr_reader_nonexistent_file(self) -> None: + with Capturing() as actual_output: + with self.assertRaises(SystemExit) as context: + extract_otp_secrets.main(['-n', 'nonexistent.bmp']) + + expected_output = ['', 'ERROR: Input file provided is non-existent or not a file.', 'input file: nonexistent.bmp'] + + self.assertEqual(actual_output, expected_output) + self.assertEqual(context.exception.code, 1) + + def test_img_qr_reader_non_image_file(self) -> None: + with Capturing() as actual_output: + extract_otp_secrets.main(['-n', 'tests/data/text_masquerading_as_image.jpeg']) + + expected_output = [ + '', + 'WARN: input is not a otpauth-migration:// url', + 'source: tests/data/text_masquerading_as_image.jpeg', + "input: This is just a text file masquerading as an image file.", + 'Maybe a wrong file was given', + '', + 'ERROR: could not parse query parameter in input url', + 'source: tests/data/text_masquerading_as_image.jpeg', + "url: This is just a text file masquerading as an image file.", + ] + + self.assertEqual(actual_output, expected_output) + + def setUp(self) -> None: + self.cleanup() + + def tearDown(self) -> None: + self.cleanup() + + def cleanup(self) -> None: + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/tests/extract_otp_secrets_test.py b/tests/extract_otp_secrets_test.py new file mode 100644 index 0000000..75df41e --- /dev/null +++ b/tests/extract_otp_secrets_test.py @@ -0,0 +1,914 @@ +# pytest for extract_otp_secrets.py + +# Run tests: +# pytest + +# Author: Scito (https://scito.ch) + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +from __future__ import annotations # workaround for PYTHON <= 3.10 + +import io +import os +import pathlib +import re +import sys +import time +from typing import Optional + +import colorama +import pytest +from pytest_mock import MockerFixture +from utils import (count_files_in_dir, file_exits, read_binary_file_as_stream, + read_csv, read_csv_str, read_file_to_str, read_json, + read_json_str, replace_escaped_octal_utf8_bytes_with_str) + +import extract_otp_secrets + +qreader_available: bool = extract_otp_secrets.qreader_available + + +# Quickfix comment +# @pytest.mark.skipif(sys.platform.startswith("win") or not qreader_available or sys.implementation.name == 'pypy' or sys.version_info >= (3, 10), reason="Quickfix") + + +def test_extract_stdout(capsys: pytest.CaptureFixture[str]) -> None: + # Act + extract_otp_secrets.main(['example_export.txt']) + + # Assert + captured = capsys.readouterr() + + assert captured.out == EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT + assert captured.err == '' + + +def test_extract_non_existent_file(capsys: pytest.CaptureFixture[str]) -> None: + # Act + with pytest.raises(SystemExit) as e: + extract_otp_secrets.main(['-n', 'non_existent_file.txt']) + + # Assert + captured = capsys.readouterr() + + expected_stderr = '\nERROR: Input file provided is non-existent or not a file.\ninput file: non_existent_file.txt\n' + + assert captured.err == expected_stderr + assert captured.out == '' + assert e.value.code == 1 + assert e.type == SystemExit + + +def test_extract_stdin_stdout(capsys: pytest.CaptureFixture[str], monkeypatch: pytest.MonkeyPatch) -> None: + # Arrange + monkeypatch.setattr('sys.stdin', io.StringIO(read_file_to_str('example_export.txt'))) + + # Act + extract_otp_secrets.main(['-']) + + # Assert + captured = capsys.readouterr() + + assert captured.out == EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT + assert captured.err == '' + + +def test_extract_stdin_empty(capsys: pytest.CaptureFixture[str], monkeypatch: pytest.MonkeyPatch) -> None: + # Arrange + monkeypatch.setattr('sys.stdin', io.StringIO()) + + # Act + extract_otp_secrets.main(['-n', '-']) + + # Assert + captured = capsys.readouterr() + + assert captured.out == '' + assert captured.err == '\nWARN: stdin is empty\n' + + +def test_extract_empty_file_no_qreader(capsys: pytest.CaptureFixture[str]) -> None: + if qreader_available: + # Act + with pytest.raises(SystemExit) as e: + extract_otp_secrets.main(['-n', 'tests/data/empty_file.txt']) + + # Assert + captured = capsys.readouterr() + + expected_stderr = '\nWARN: tests/data/empty_file.txt is empty\n\nERROR: Unable to open file for reading.\ninput file: tests/data/empty_file.txt\n' + + assert captured.err == expected_stderr + assert captured.out == '' + assert e.value.code == 1 + assert e.type == SystemExit + else: + # Act + extract_otp_secrets.main(['tests/data/empty_file.txt']) + + # Assert + captured = capsys.readouterr() + + assert captured.err == '' + assert captured.out == '' + + +@pytest.mark.qreader +def test_extract_stdin_img_empty(capsys: pytest.CaptureFixture[str], monkeypatch: pytest.MonkeyPatch) -> None: + # Arrange + monkeypatch.setattr('sys.stdin', io.BytesIO()) + + # Act + extract_otp_secrets.main(['-n', '=']) + + # Assert + captured = capsys.readouterr() + + assert captured.out == '' + assert captured.err == '\nWARN: stdin is empty\n' + + +def test_extract_csv(capsys: pytest.CaptureFixture[str], tmp_path: pathlib.Path) -> None: + # Arrange + output_file = str(tmp_path / 'test_example_output.csv') + + # Act + extract_otp_secrets.main(['-q', '-c', output_file, 'example_export.txt']) + + # Assert + expected_csv = read_csv('example_output.csv') + actual_csv = read_csv(output_file) + + assert actual_csv == expected_csv + + captured = capsys.readouterr() + + assert captured.out == '' + assert captured.err == '' + + +def test_extract_csv_stdout(capsys: pytest.CaptureFixture[str]) -> None: + # Act + extract_otp_secrets.main(['-c', '-', 'example_export.txt']) + + # Assert + assert not file_exits('test_example_output.csv') + + captured = capsys.readouterr() + + expected_csv = read_csv('example_output.csv') + actual_csv = read_csv_str(captured.out) + + assert actual_csv == expected_csv + assert captured.err == '' + + +def test_extract_stdin_and_csv_stdout(capsys: pytest.CaptureFixture[str], monkeypatch: pytest.MonkeyPatch) -> None: + # Arrange + monkeypatch.setattr('sys.stdin', io.StringIO(read_file_to_str('example_export.txt'))) + + # Act + extract_otp_secrets.main(['-c', '-', '-']) + + # Assert + assert not file_exits('test_example_output.csv') + + captured = capsys.readouterr() + + expected_csv = read_csv('example_output.csv') + actual_csv = read_csv_str(captured.out) + + assert actual_csv == expected_csv + assert captured.err == '' + + +def test_keepass_csv(capsys: pytest.CaptureFixture[str], tmp_path: pathlib.Path) -> None: + '''Two csv files .totp and .htop are generated.''' + # Arrange + file_name = str(tmp_path / 'test_example_keepass_output.csv') + + # Act + extract_otp_secrets.main(['-q', '-k', file_name, 'example_export.txt']) + + # Assert + expected_totp_csv = read_csv('example_keepass_output.totp.csv') + expected_hotp_csv = read_csv('example_keepass_output.hotp.csv') + actual_totp_csv = read_csv(str(tmp_path / 'test_example_keepass_output.totp.csv')) + actual_hotp_csv = read_csv(str(tmp_path / 'test_example_keepass_output.hotp.csv')) + + assert actual_totp_csv == expected_totp_csv + assert actual_hotp_csv == expected_hotp_csv + assert not file_exits(file_name) + + captured = capsys.readouterr() + + assert captured.out == '' + assert captured.err == '' + + +def test_keepass_csv_stdout(capsys: pytest.CaptureFixture[str]) -> None: + '''Two csv files .totp and .htop are generated.''' + # Act + extract_otp_secrets.main(['-k', '-', 'tests/data/example_export_only_totp.txt']) + + # Assert + expected_totp_csv = read_csv('example_keepass_output.totp.csv') + assert not file_exits('test_example_keepass_output.totp.csv') + assert not file_exits('test_example_keepass_output.hotp.csv') + assert not file_exits('test_example_keepass_output.csv') + + captured = capsys.readouterr() + actual_totp_csv = read_csv_str(captured.out) + + assert actual_totp_csv == expected_totp_csv + assert captured.err == '' + + +def test_single_keepass_csv(capsys: pytest.CaptureFixture[str], tmp_path: pathlib.Path) -> None: + '''Does not add .totp or .hotp pre-suffix''' + # Act + extract_otp_secrets.main(['-q', '-k', str(tmp_path / 'test_example_keepass_output.csv'), 'tests/data/example_export_only_totp.txt']) + + # Assert + expected_totp_csv = read_csv('example_keepass_output.totp.csv') + actual_totp_csv = read_csv(str(tmp_path / 'test_example_keepass_output.csv')) + + assert actual_totp_csv == expected_totp_csv + assert not file_exits(tmp_path / 'test_example_keepass_output.totp.csv') + assert not file_exits(tmp_path / 'test_example_keepass_output.hotp.csv') + + captured = capsys.readouterr() + + assert captured.out == '' + assert captured.err == '' + + +def test_extract_json(capsys: pytest.CaptureFixture[str], tmp_path: pathlib.Path) -> None: + # Arrange + output_file = str(tmp_path / 'test_example_output.json') + + # Act + extract_otp_secrets.main(['-q', '-j', output_file, 'example_export.txt']) + + # Assert + expected_json = read_json('example_output.json') + actual_json = read_json(output_file) + + assert actual_json == expected_json + + captured = capsys.readouterr() + + assert captured.out == '' + assert captured.err == '' + + +def test_extract_json_stdout(capsys: pytest.CaptureFixture[str]) -> None: + # Act + extract_otp_secrets.main(['-j', '-', 'example_export.txt']) + + # Assert + expected_json = read_json('example_output.json') + assert not file_exits('test_example_output.json') + captured = capsys.readouterr() + actual_json = read_json_str(captured.out) + + assert actual_json == expected_json + assert captured.err == '' + + +def test_extract_not_encoded_plus(capsys: pytest.CaptureFixture[str]) -> None: + # Act + extract_otp_secrets.main(['tests/data/test_plus_problem_export.txt']) + + # Assert + captured = capsys.readouterr() + + expected_stdout = '''Name: SerenityLabs:test1@serenitylabs.co.uk +Secret: A4RFDYMF4GSLUIBQV4ZP67OJEZ2XUQVM +Issuer: SerenityLabs +Type: totp + +Name: SerenityLabs:test2@serenitylabs.co.uk +Secret: SCDDZ7PW5MOZLE3PQCAZM7L4S35K3UDX +Issuer: SerenityLabs +Type: totp + +Name: SerenityLabs:test3@serenitylabs.co.uk +Secret: TR76272RVYO6EAEY2FX7W7R7KUDEGPJ4 +Issuer: SerenityLabs +Type: totp + +Name: SerenityLabs:test4@serenitylabs.co.uk +Secret: N2ILWSXSJUQUB7S6NONPJSC62NPG7EXN +Issuer: SerenityLabs +Type: totp + +''' + + assert captured.out == expected_stdout + assert captured.err == '' + + +def test_extract_printqr(capsys: pytest.CaptureFixture[str]) -> None: + # Act + extract_otp_secrets.main(['-p', 'example_export.txt']) + + # Assert + captured = capsys.readouterr() + + expected_stdout = read_file_to_str('tests/data/printqr_output.txt') + + assert captured.out == expected_stdout + assert captured.err == '' + + +def test_extract_saveqr(capsys: pytest.CaptureFixture[str], tmp_path: pathlib.Path) -> None: + # Act + extract_otp_secrets.main(['-q', '-s', str(tmp_path), 'example_export.txt']) + + # Assert + captured = capsys.readouterr() + + assert captured.out == '' + assert captured.err == '' + + assert os.path.isfile(tmp_path / '1-piraspberrypi-raspberrypi.png') + assert os.path.isfile(tmp_path / '2-piraspberrypi.png') + assert os.path.isfile(tmp_path / '3-piraspberrypi.png') + assert os.path.isfile(tmp_path / '4-piraspberrypi-raspberrypi.png') + assert os.path.isfile(tmp_path / '5-hotpdemo.png') + assert os.path.isfile(tmp_path / '6-encodingäÄéÉdemo.png') + assert count_files_in_dir(tmp_path) == 6 + + +def test_extract_ignored_duplicates(capsys: pytest.CaptureFixture[str]) -> None: + # Act + extract_otp_secrets.main(['-i', 'example_export.txt']) + + # Assert + captured = capsys.readouterr() + + expected_stdout = '''Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp + +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp + +Name: hotp demo +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: hotp +Counter: 4 + +Name: encoding: ¿äÄéÉ? (demo) +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp + +''' + + expected_stderr = '''Ignored duplicate otp: pi@raspberrypi + +Ignored duplicate otp: pi@raspberrypi / raspberrypi + +''' + + assert captured.out == expected_stdout + assert captured.err == expected_stderr + + +def test_normalize_bytes() -> None: + assert replace_escaped_octal_utf8_bytes_with_str( + 'Before\\\\302\\\\277\\\\303\nname: enc: \\302\\277\\303\\244\\303\\204\\303\\251\\303\\211?\nAfter') == 'Before\\\\302\\\\277\\\\303\nname: enc: ¿äÄéÉ?\nAfter' + + +# Generate verbose output: +# for color in '' '-n'; do for level in '' '-v' '-vv' '-vvv'; do python3.11 src/extract_otp_secrets.py example_export.txt $color $level > tests/data/print_verbose_output$color$level.txt; done; done +# workaround for PYTHON <= 3.10 +@pytest.mark.skipif(sys.version_info < (3, 10), reason="fileinput.input encoding exists since PYTHON 3.10") +@pytest.mark.parametrize("verbose_level", ['', '-v', '-vv', '-vvv']) +@pytest.mark.parametrize("color", ['', '-n']) +def test_extract_verbose(verbose_level: str, color: str, capsys: pytest.CaptureFixture[str], relaxed: bool) -> None: + args = ['example_export.txt'] + if verbose_level: + args.append(verbose_level) + if color: + args.append(color) + # Act + extract_otp_secrets.main(args) + + # Assert + captured = capsys.readouterr() + + expected_stdout = normalize_verbose_text(read_file_to_str(f'tests/data/print_verbose_output{color}{verbose_level}.txt'), relaxed or sys.implementation.name == 'pypy') + actual_stdout = normalize_verbose_text(captured.out, relaxed or sys.implementation.name == 'pypy') + + assert actual_stdout == expected_stdout + assert captured.err == '' + + +def normalize_verbose_text(text: str, relaxed: bool) -> str: + normalized = re.sub('^.+ version: .+$', '', text, flags=re.MULTILINE | re.IGNORECASE) + if not qreader_available: + normalized = normalized \ + .replace('QReader installed: True', 'QReader installed: False') \ + .replace('\nQR reading mode: ZBAR\n\n', '') + if relaxed: + print('\nRelaxed mode\n') + normalized = replace_escaped_octal_utf8_bytes_with_str(normalized) + return normalized + + +def test_extract_debug(capsys: pytest.CaptureFixture[str]) -> None: + # Act + extract_otp_secrets.main(['-vvv', 'example_export.txt']) + + # Assert + captured = capsys.readouterr() + + expected_stdout = read_file_to_str('tests/data/print_verbose_output.txt') + + assert len(captured.out) > len(expected_stdout) + assert "DEBUG: " in captured.out + assert captured.err == '' + + +def test_extract_help(capsys: pytest.CaptureFixture[str]) -> None: + with pytest.raises(SystemExit) as e: + # Act + extract_otp_secrets.main(['-h']) + + # Assert + captured = capsys.readouterr() + + assert len(captured.out) > 0 + assert "-h, --help" in captured.out and "-v, --verbose" in captured.out + assert captured.err == '' + assert e.type == SystemExit + assert e.value.code == 0 + + +def test_extract_no_arguments(capsys: pytest.CaptureFixture[str], mocker: MockerFixture) -> None: + if qreader_available: + # Arrange + otps = read_json('example_output.json') + mocker.patch('extract_otp_secrets.extract_otps_from_camera', return_value=otps) + + # Act + extract_otp_secrets.main(['-c', '-']) + + # Assert + captured = capsys.readouterr() + + expected_csv = read_csv('example_output.csv') + actual_csv = read_csv_str(captured.out) + + assert actual_csv == expected_csv + assert captured.err == '' + else: + # Act + with pytest.raises(SystemExit) as e: + extract_otp_secrets.main([]) + + # Assert + captured = capsys.readouterr() + + expected_err_msg = 'error: the following arguments are required: infile' + + assert expected_err_msg in captured.err + assert captured.out == '' + assert e.value.code == 2 + assert e.type == SystemExit + + +def test_verbose_and_quiet(capsys: pytest.CaptureFixture[str]) -> None: + with pytest.raises(SystemExit) as e: + # Act + extract_otp_secrets.main(['-n', '-v', '-q', 'example_export.txt']) + + # Assert + captured = capsys.readouterr() + + assert len(captured.err) > 0 + assert 'error: argument -q/--quiet: not allowed with argument -v/--verbose' in captured.err + assert captured.out == '' + assert e.value.code == 2 + assert e.type == SystemExit + + +@pytest.mark.parametrize("parameter,parameter_value,stdout_expected,stderr_expected", [ + ('-c', 'outfile', False, False), + ('-c', '-', True, False), + ('-k', 'outfile', False, False), + ('-k', '-', True, False), + ('-j', 'outfile', False, False), + ('-s', 'outfile', False, False), + ('-j', '-', True, False), + ('-i', None, False, False), + ('-p', None, True, False), + ('-Q', 'CV2', False, False), + ('-C', '0', False, False), + ('-n', None, False, False), +]) +def test_quiet(parameter: str, parameter_value: Optional[str], stdout_expected: bool, stderr_expected: bool, capsys: pytest.CaptureFixture[str], tmp_path: pathlib.Path) -> None: + if parameter in ['-Q', '-C'] and not qreader_available: + return + + # Arrange + args = ['-q', 'example_export.txt', 'example_export.png', parameter] + if parameter_value == 'outfile': + args.append(str(tmp_path / parameter_value)) + elif parameter_value: + args.append(parameter_value) + + # Act + extract_otp_secrets.main(args) + + # Assert + captured = capsys.readouterr() + + assert (captured.out == '' and not stdout_expected) or (len(captured.out) > 0 and stdout_expected) + assert (captured.err == '' and not stderr_expected) or (len(captured.err) > 0 and stderr_expected) + + +def test_wrong_data(capsys: pytest.CaptureFixture[str]) -> None: + with pytest.raises(SystemExit) as e: + # Act + extract_otp_secrets.main(['-n', 'tests/data/test_export_wrong_data.txt']) + + # Assert + captured = capsys.readouterr() + + first_expected_stderr = ''' +ERROR: Cannot decode otpauth-migration migration payload. +data=XXXX +Exception: Error parsing message +''' + + # Alpine Linux prints this exception message + second_expected_stderr = ''' +ERROR: Cannot decode otpauth-migration migration payload. +data=XXXX +Exception: unpack requires a buffer of 4 bytes +''' + + assert captured.err == first_expected_stderr or captured.err == second_expected_stderr + assert captured.out == '' + assert e.value.code == 1 + assert e.type == SystemExit + + +def test_wrong_content(capsys: pytest.CaptureFixture[str]) -> None: + # Act + extract_otp_secrets.main(['-n', 'tests/data/test_export_wrong_content.txt']) + + # Assert + captured = capsys.readouterr() + + expected_stderr = ''' +WARN: input is not a otpauth-migration:// url +source: tests/data/test_export_wrong_content.txt +input: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. +Maybe a wrong file was given + +ERROR: could not parse query parameter in input url +source: tests/data/test_export_wrong_content.txt +url: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. +''' + + assert captured.out == '' + assert captured.err == expected_stderr + + +def test_one_wrong_file(capsys: pytest.CaptureFixture[str]) -> None: + # Act + extract_otp_secrets.main(['-n', 'tests/data/test_export_wrong_content.txt', 'example_export.txt']) + + # Assert + captured = capsys.readouterr() + + expected_stderr = ''' +WARN: input is not a otpauth-migration:// url +source: tests/data/test_export_wrong_content.txt +input: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. +Maybe a wrong file was given + +ERROR: could not parse query parameter in input url +source: tests/data/test_export_wrong_content.txt +url: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. +''' + + assert captured.out == EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT + assert captured.err == expected_stderr + + +def test_one_wrong_file_colored(capsys: pytest.CaptureFixture[str]) -> None: + # Act + extract_otp_secrets.main(['tests/data/test_export_wrong_content.txt', 'example_export.txt']) + + # Assert + captured = capsys.readouterr() + + expected_stderr = f'''{colorama.Fore.RED} +WARN: input is not a otpauth-migration:// url +source: tests/data/test_export_wrong_content.txt +input: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. +Maybe a wrong file was given{colorama.Fore.RESET} +{colorama.Fore.RED} +ERROR: could not parse query parameter in input url +source: tests/data/test_export_wrong_content.txt +url: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.{colorama.Fore.RESET} +''' + + assert captured.out == EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT + assert captured.err == expected_stderr + + +def test_one_wrong_line(capsys: pytest.CaptureFixture[str], monkeypatch: pytest.MonkeyPatch) -> None: + # Arrange + monkeypatch.setattr('sys.stdin', + io.StringIO(read_file_to_str('tests/data/test_export_wrong_content.txt') + read_file_to_str('example_export.txt'))) + + # Act + extract_otp_secrets.main(['-n', '-']) + + # Assert + captured = capsys.readouterr() + + expected_stderr = ''' +WARN: input is not a otpauth-migration:// url +source: - +input: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. +Maybe a wrong file was given + +ERROR: could not parse query parameter in input url +source: - +url: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. +''' + + assert captured.out == EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT + assert captured.err == expected_stderr + + +def test_wrong_prefix(capsys: pytest.CaptureFixture[str]) -> None: + # Act + extract_otp_secrets.main(['-n', 'tests/data/test_export_wrong_prefix.txt']) + + # Assert + captured = capsys.readouterr() + + expected_stderr = ''' +WARN: input is not a otpauth-migration:// url +source: tests/data/test_export_wrong_prefix.txt +input: QR-Code:otpauth-migration://offline?data=CjUKEPqlBekzoNEukL7qlsjBCDYSDnBpQHJhc3BiZXJyeXBpGgtyYXNwYmVycnlwaSABKAEwAhABGAEgACjr4JKK%2B%2F%2F%2F%2F%2F8B +Maybe a wrong file was given +''' + + expected_stdout = '''Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp + +''' + + assert captured.out == expected_stdout + assert captured.err == expected_stderr + + +def test_add_pre_suffix(capsys: pytest.CaptureFixture[str]) -> None: + assert extract_otp_secrets.add_pre_suffix("name.csv", "totp") == "name.totp.csv" + assert extract_otp_secrets.add_pre_suffix("name.csv", "") == "name..csv" + assert extract_otp_secrets.add_pre_suffix("name", "totp") == "name.totp" + + +@pytest.mark.qreader +def test_img_qr_reader_from_file_happy_path(capsys: pytest.CaptureFixture[str]) -> None: + # Act + extract_otp_secrets.main(['tests/data/test_googleauth_export.png']) + + # Assert + captured = capsys.readouterr() + + assert captured.out == EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT_PNG + assert captured.err == '' + + +@pytest.mark.qreader +def test_img_qr_reader_by_parameter(capsys: pytest.CaptureFixture[str], qr_mode: str) -> None: + # Act + start_s = time.process_time() + extract_otp_secrets.main(['--qr', qr_mode, 'tests/data/test_googleauth_export.png']) + elapsed_s = time.process_time() - start_s + + # Assert + captured = capsys.readouterr() + + assert captured.out == EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT_PNG + assert captured.err == '' + + print(f"Elapsed time for {qr_mode}: {elapsed_s:.2f}s") + + +@pytest.mark.qreader +def test_extract_multiple_files_and_mixed(capsys: pytest.CaptureFixture[str]) -> None: + # Act + extract_otp_secrets.main([ + 'example_export.txt', + 'tests/data/test_googleauth_export.png', + 'example_export.txt', + 'tests/data/test_googleauth_export.png']) + + # Assert + captured = capsys.readouterr() + + assert captured.out == EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT + EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT_PNG + EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT + EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT_PNG + assert captured.err == '' + + +@pytest.mark.qreader +def test_img_qr_reader_from_stdin(capsys: pytest.CaptureFixture[str], monkeypatch: pytest.MonkeyPatch) -> None: + # Arrange + # sys.stdin.buffer should be monkey patched, but it does not work + monkeypatch.setattr('sys.stdin', read_binary_file_as_stream('tests/data/test_googleauth_export.png')) + + # Act + extract_otp_secrets.main(['=']) + + # Assert + captured = capsys.readouterr() + + expected_stdout = '''Name: Test1:test1@example1.com +Secret: JBSWY3DPEHPK3PXP +Issuer: Test1 +Type: totp + +Name: Test2:test2@example2.com +Secret: JBSWY3DPEHPK3PXQ +Issuer: Test2 +Type: totp + +Name: Test3:test3@example3.com +Secret: JBSWY3DPEHPK3PXR +Issuer: Test3 +Type: totp + +''' + + assert captured.out == expected_stdout + assert captured.err == '' + + +@pytest.mark.qreader +def test_img_qr_reader_from_stdin_wrong_symbol(capsys: pytest.CaptureFixture[str], monkeypatch: pytest.MonkeyPatch) -> None: + # Arrange + # sys.stdin.buffer should be monkey patched, but it does not work + monkeypatch.setattr('sys.stdin', read_binary_file_as_stream('tests/data/test_googleauth_export.png')) + + # Act + with pytest.raises(SystemExit) as e: + extract_otp_secrets.main(['-n', '-']) + + # Assert + captured = capsys.readouterr() + + expected_stderr = '\nERROR: Binary input was given in stdin, please use = instead of - as infile argument for images.\n' + + assert captured.err == expected_stderr + assert captured.out == '' + assert e.value.code == 1 + assert e.type == SystemExit + + +@pytest.mark.qreader +def test_extract_stdin_stdout_wrong_symbol(capsys: pytest.CaptureFixture[str], monkeypatch: pytest.MonkeyPatch) -> None: + # Arrange + monkeypatch.setattr('sys.stdin', io.StringIO(read_file_to_str('example_export.txt'))) + + # Act + with pytest.raises(SystemExit) as e: + extract_otp_secrets.main(['-n', '=']) + + # Assert + captured = capsys.readouterr() + + expected_stderr = "\nERROR: Cannot read binary stdin buffer.\nException: a bytes-like object is required, not 'str'\n" + + assert captured.err == expected_stderr + assert captured.out == '' + assert e.value.code == 1 + assert e.type == SystemExit + + +@pytest.mark.qreader +def test_img_qr_reader_no_qr_code_in_image(capsys: pytest.CaptureFixture[str]) -> None: + # Act + with pytest.raises(SystemExit) as e: + extract_otp_secrets.main(['-n', 'tests/data/lena_std.tif']) + + # Assert + captured = capsys.readouterr() + + expected_stderr = '\nERROR: Unable to read QR Code from file.\ninput file: tests/data/lena_std.tif\n' + + assert captured.err == expected_stderr + assert captured.out == '' + assert e.value.code == 1 + assert e.type == SystemExit + + +@pytest.mark.qreader +def test_img_qr_reader_nonexistent_file(capsys: pytest.CaptureFixture[str]) -> None: + # Act + with pytest.raises(SystemExit) as e: + extract_otp_secrets.main(['-n', 'nonexistent.bmp']) + + # Assert + captured = capsys.readouterr() + + expected_stderr = '\nERROR: Input file provided is non-existent or not a file.\ninput file: nonexistent.bmp\n' + + assert captured.err == expected_stderr + assert captured.out == '' + assert e.value.code == 1 + assert e.type == SystemExit + + +def test_non_image_file(capsys: pytest.CaptureFixture[str]) -> None: + # Act + extract_otp_secrets.main(['-n', 'tests/data/text_masquerading_as_image.jpeg']) + + # Assert + captured = capsys.readouterr() + expected_stderr = ''' +WARN: input is not a otpauth-migration:// url +source: tests/data/text_masquerading_as_image.jpeg +input: This is just a text file masquerading as an image file. +Maybe a wrong file was given + +ERROR: could not parse query parameter in input url +source: tests/data/text_masquerading_as_image.jpeg +url: This is just a text file masquerading as an image file. +''' + + assert captured.err == expected_stderr + assert captured.out == '' + + +EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT = '''Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp + +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp + +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp + +Name: pi@raspberrypi +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Issuer: raspberrypi +Type: totp + +Name: hotp demo +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: hotp +Counter: 4 + +Name: encoding: ¿äÄéÉ? (demo) +Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY +Type: totp + +''' + +EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT_PNG = '''Name: Test1:test1@example1.com +Secret: JBSWY3DPEHPK3PXP +Issuer: Test1 +Type: totp + +Name: Test2:test2@example2.com +Secret: JBSWY3DPEHPK3PXQ +Issuer: Test2 +Type: totp + +Name: Test3:test3@example3.com +Secret: JBSWY3DPEHPK3PXR +Issuer: Test3 +Type: totp + +''' diff --git a/test_extract_otp_secret_keys_unittest.py b/tests/extract_otp_secrets_txt_unit_test.py similarity index 69% rename from test_extract_otp_secret_keys_unittest.py rename to tests/extract_otp_secrets_txt_unit_test.py index 874ef09..27d5512 100644 --- a/test_extract_otp_secret_keys_unittest.py +++ b/tests/extract_otp_secrets_txt_unit_test.py @@ -1,4 +1,4 @@ -# Unit test for extract_otp_secret_keys.py +# Unit test for extract_otp_secrets.py # Run tests: # python -m unittest @@ -18,37 +18,44 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <https://www.gnu.org/licenses/>. -import unittest +from __future__ import annotations # workaround for PYTHON <= 3.10 + import io -from contextlib import redirect_stdout -from utils import read_csv, read_json, remove_file, remove_dir_with_files, Capturing, read_file_to_str import os -import sys +import unittest +from contextlib import redirect_stdout + +from utils import (Capturing, count_files_in_dir, read_csv, read_file_to_str, + read_json, remove_dir_with_files, remove_file) + +import extract_otp_secrets -import extract_otp_secret_keys +# Conditional skip example +# if sys.implementation.name == 'pypy' or sys.platform.startswith("win") or sys.version_info < (3, 10): +# self.skipTest("Avoid encoding problems") class TestExtract(unittest.TestCase): - def test_extract_csv(self): - extract_otp_secret_keys.main(['-q', '-c', 'test_example_output.csv', 'example_export.txt']) + def test_extract_csv(self) -> None: + extract_otp_secrets.main(['-q', '-c', 'test_example_output.csv', 'example_export.txt']) expected_csv = read_csv('example_output.csv') actual_csv = read_csv('test_example_output.csv') self.assertEqual(actual_csv, expected_csv) - def test_extract_json(self): - extract_otp_secret_keys.main(['-q', '-j', 'test_example_output.json', 'example_export.txt']) + def test_extract_json(self) -> None: + extract_otp_secrets.main(['-q', '-j', 'test_example_output.json', 'example_export.txt']) expected_json = read_json('example_output.json') actual_json = read_json('test_example_output.json') self.assertEqual(actual_json, expected_json) - def test_extract_stdout_1(self): + def test_extract_stdout_1(self) -> None: with Capturing() as output: - extract_otp_secret_keys.main(['example_export.txt']) + extract_otp_secrets.main(['example_export.txt']) expected_output = [ 'Name: pi@raspberrypi', @@ -82,10 +89,10 @@ class TestExtract(unittest.TestCase): self.assertEqual(output, expected_output) # Ref for capturing https://stackoverflow.com/a/40984270 - def test_extract_stdout_2(self): + def test_extract_stdout_2(self) -> None: out = io.StringIO() with redirect_stdout(out): - extract_otp_secret_keys.main(['example_export.txt']) + extract_otp_secrets.main(['example_export.txt']) actual_output = out.getvalue() expected_output = '''Name: pi@raspberrypi @@ -118,10 +125,10 @@ Type: totp ''' self.assertEqual(actual_output, expected_output) - def test_extract_not_encoded_plus(self): + def test_extract_not_encoded_plus(self) -> None: out = io.StringIO() with redirect_stdout(out): - extract_otp_secret_keys.main(['test/test_plus_problem_export.txt']) + extract_otp_secrets.main(['tests/data/test_plus_problem_export.txt']) actual_output = out.getvalue() expected_output = '''Name: SerenityLabs:test1@serenitylabs.co.uk @@ -147,51 +154,43 @@ Type: totp ''' self.assertEqual(actual_output, expected_output) - def test_extract_printqr(self): + def test_extract_printqr(self) -> None: out = io.StringIO() with redirect_stdout(out): - extract_otp_secret_keys.main(['-p', 'example_export.txt']) + extract_otp_secrets.main(['-p', 'example_export.txt']) actual_output = out.getvalue() - expected_output = read_file_to_str('test/printqr_output.txt') + expected_output = read_file_to_str('tests/data/printqr_output.txt') self.assertEqual(actual_output, expected_output) - def test_extract_saveqr(self): - extract_otp_secret_keys.main(['-q', '-s', 'testout/qr/', 'example_export.txt']) + def test_extract_saveqr(self) -> None: + extract_otp_secrets.main(['-q', '-s', 'testout/qr/', 'example_export.txt']) self.assertTrue(os.path.isfile('testout/qr/1-piraspberrypi-raspberrypi.png')) self.assertTrue(os.path.isfile('testout/qr/2-piraspberrypi.png')) self.assertTrue(os.path.isfile('testout/qr/3-piraspberrypi.png')) self.assertTrue(os.path.isfile('testout/qr/4-piraspberrypi-raspberrypi.png')) + self.assertTrue(os.path.isfile('testout/qr/5-hotpdemo.png')) + self.assertTrue(os.path.isfile('testout/qr/6-encodingäÄéÉdemo.png')) + self.assertEqual(count_files_in_dir('testout/qr'), 6) - def test_extract_verbose(self): - if sys.implementation.name == 'pypy': self.skipTest("Encoding problems in verbose mode in pypy.") - out = io.StringIO() - with redirect_stdout(out): - extract_otp_secret_keys.main(['-v', 'example_export.txt']) - actual_output = out.getvalue() - - expected_output = read_file_to_str('test/print_verbose_output.txt') - - self.assertEqual(actual_output, expected_output) - - def test_extract_debug(self): + def test_extract_debug(self) -> None: out = io.StringIO() with redirect_stdout(out): - extract_otp_secret_keys.main(['-vv', 'example_export.txt']) + extract_otp_secrets.main(['-vvv', 'example_export.txt']) actual_output = out.getvalue() - expected_stdout = read_file_to_str('test/print_verbose_output.txt') + expected_stdout = read_file_to_str('tests/data/print_verbose_output.txt') self.assertGreater(len(actual_output), len(expected_stdout)) self.assertTrue("DEBUG: " in actual_output) - def test_extract_help_1(self): + def test_extract_help_1(self) -> None: out = io.StringIO() with redirect_stdout(out): try: - extract_otp_secret_keys.main(['-h']) + extract_otp_secrets.main(['-h']) self.fail("Must abort") except SystemExit as e: self.assertEqual(e.code, 0) @@ -199,36 +198,36 @@ Type: totp actual_output = out.getvalue() self.assertGreater(len(actual_output), 0) - self.assertTrue("-h, --help" in actual_output and "--verbose, -v" in actual_output) + self.assertTrue("-h, --help" in actual_output and "-v, --verbose" in actual_output) - def test_extract_help_2(self): + def test_extract_help_2(self) -> None: out = io.StringIO() with redirect_stdout(out): with self.assertRaises(SystemExit) as context: - extract_otp_secret_keys.main(['-h']) + extract_otp_secrets.main(['-h']) actual_output = out.getvalue() self.assertGreater(len(actual_output), 0) - self.assertTrue("-h, --help" in actual_output and "--verbose, -v" in actual_output) + self.assertTrue("-h, --help" in actual_output and "-v, --verbose" in actual_output) self.assertEqual(context.exception.code, 0) - def test_extract_help_3(self): + def test_extract_help_3(self) -> None: with Capturing() as actual_output: with self.assertRaises(SystemExit) as context: - extract_otp_secret_keys.main(['-h']) + extract_otp_secrets.main(['-h']) self.assertGreater(len(actual_output), 0) - self.assertTrue("-h, --help" in "\n".join(actual_output) and "--verbose, -v" in "\n".join(actual_output)) + self.assertTrue("-h, --help" in "\n".join(actual_output) and "-v, --verbose" in "\n".join(actual_output)) self.assertEqual(context.exception.code, 0) - def setUp(self): + def setUp(self) -> None: self.cleanup() - def tearDown(self): + def tearDown(self) -> None: self.cleanup() - def cleanup(self): + def cleanup(self) -> None: remove_file('test_example_output.csv') remove_file('test_example_output.json') remove_dir_with_files('testout/') diff --git a/utils.py b/tests/utils.py similarity index 66% rename from utils.py rename to tests/utils.py index 19cb52c..e555a10 100644 --- a/utils.py +++ b/tests/utils.py @@ -13,6 +13,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <https://www.gnu.org/licenses/>. +from __future__ import annotations # workaround for PYTHON <= 3.10 import csv import glob import io @@ -21,23 +22,32 @@ import os import re import shutil import sys +import pathlib +from typing import BinaryIO, Any, Union, List + + +# Types +# workaround for PYTHON <= 3.9: Workaround for str | pathlib.Path +PathLike = Union[str, pathlib.Path] # Ref. https://stackoverflow.com/a/16571630 -class Capturing(list): +# workaround for PYTHON <= 3.10: class Capturing(list[Any]): +class Capturing(List[Any]): '''Capture stdout and stderr Usage: with Capturing() as output: print("Output") ''' - def __enter__(self): + # TODO remove type ignore if fixed, see https://github.com/python/mypy/issues/11871, https://stackoverflow.com/questions/72174409/type-hinting-the-return-value-of-a-class-method-that-returns-self + def __enter__(self): # type: ignore self._stdout = sys.stdout sys.stdout = self._stringio_std = io.StringIO() self._stderr = sys.stderr sys.stderr = self._stringio_err = io.StringIO() return self - def __exit__(self, *args): + def __exit__(self, *args: Any) -> None: self.extend(self._stringio_std.getvalue().splitlines()) del self._stringio_std # free up some memory sys.stdout = self._stdout @@ -47,69 +57,71 @@ with Capturing() as output: sys.stderr = self._stderr -def file_exits(file): +def file_exits(file: PathLike) -> bool: return os.path.isfile(file) -def remove_file(file): +def remove_file(file: PathLike) -> None: if file_exits(file): os.remove(file) -def remove_files(glob_pattern): +def remove_files(glob_pattern: str) -> None: for f in glob.glob(glob_pattern): os.remove(f) -def remove_dir_with_files(dir): +def remove_dir_with_files(dir: PathLike) -> None: if os.path.exists(dir): shutil.rmtree(dir) -def read_csv(filename): +def read_csv(filename: str) -> List[List[str]]: """Returns a list of lines.""" with open(filename, "r", encoding="utf-8", newline='') as infile: - lines = [] + lines: List[List[str]] = [] reader = csv.reader(infile) for line in reader: lines.append(line) return lines -def read_csv_str(str): +def read_csv_str(data_str: str) -> List[List[str]]: """Returns a list of lines.""" - lines = [] - reader = csv.reader(str.splitlines()) + lines: List[List[str]] = [] + reader = csv.reader(data_str.splitlines()) for line in reader: lines.append(line) return lines -def read_json(filename): +def read_json(filename: str) -> Any: """Returns a list or a dictionary.""" with open(filename, "r", encoding="utf-8") as infile: return json.load(infile) -def read_json_str(str): +def read_json_str(data_str: str) -> Any: """Returns a list or a dictionary.""" - return json.loads(str) + return json.loads(data_str) -def read_file_to_list(filename): +def read_file_to_list(filename: str) -> List[str]: """Returns a list of lines.""" with open(filename, "r", encoding="utf-8") as infile: return infile.readlines() -def read_file_to_str(filename): +def read_file_to_str(filename: str) -> str: """Returns a str.""" return "".join(read_file_to_list(filename)) -def read_binary_file_as_stream(filename): + +def read_binary_file_as_stream(filename: str) -> BinaryIO: """Returns binary file content.""" with open(filename, "rb",) as infile: return io.BytesIO(infile.read()) -def replace_escaped_octal_utf8_bytes_with_str(str): + +def replace_escaped_octal_utf8_bytes_with_str(str: str) -> str: encoded_name_strings = re.findall(r'name: .*$', str, flags=re.MULTILINE) for encoded_name_string in encoded_name_strings: escaped_bytes = re.findall(r'((?:\\[0-9]+)+)', encoded_name_string) @@ -120,5 +132,9 @@ def replace_escaped_octal_utf8_bytes_with_str(str): return str -def quick_and_dirty_workaround_encoding_problem(str): +def quick_and_dirty_workaround_encoding_problem(str: str) -> str: return re.sub(r'name: "encoding: .*$', '', str, flags=re.MULTILINE) + + +def count_files_in_dir(path: PathLike) -> int: + return len([name for name in os.listdir(path) if os.path.isfile(os.path.join(path, name))]) diff --git a/upgrade_deps.sh b/upgrade_deps.sh deleted file mode 100755 index 339edc2..0000000 --- a/upgrade_deps.sh +++ /dev/null @@ -1,236 +0,0 @@ -#!/bin/bash - -# Upgrades Protoc from https://github.com/protocolbuffers/protobuf/releases - -black='\e[0;30m' -blackBold='\e[1;30m' -blackBackground='\e[1;40m' -red='\e[0;31m' -redBold='\e[1;31m' -redBackground='\e[0;41m' -green='\e[0;32m' -greenBold='\e[1;32m' -greenBackground='\e[0;42m' -yellow='\e[0;33m' -yellowBold='\e[1;33m' -yellowBackground='\e[0;43m' -blue='\e[0;34m' -blueBold='\e[1;34m' -blueBackground='\e[0;44m' -magenta='\e[0;35m' -magentaBold='\e[1;35m' -magentaBackground='\e[0;45m' -cyan='\e[0;36m' -cyanBold='\e[1;36m' -cyanBackground='\e[0;46m' -white='\e[0;37m' -whiteBold='\e[1;37m' -whiteBackground='\e[0;47m' -reset='\e[0m' - -abort() { - echo ' -*************** -*** ABORTED *** -*************** - ' >&2 - echo "An error occurred on line $1. Exiting..." >&2 - date -Iseconds >&2 - exit 1 -} - -trap 'abort $LINENO' ERR -set -e -o pipefail - -quit() { - trap : 0 - exit 0 -} - -# Asks if [Yn] if script shoud continue, otherwise exit 1 -# $1: msg or nothing -# Example call 1: askContinueYn -# Example call 1: askContinueYn "Backup DB?" -askContinueYn() { - if [[ $1 ]]; then - msg="$1 " - else - msg="" - fi - - # http://stackoverflow.com/questions/3231804/in-bash-how-to-add-are-you-sure-y-n-to-any-command-or-alias - read -e -p "${msg}Continue? [Y/n] " response - response=${response,,} # tolower - if [[ $response =~ ^(yes|y|)$ ]] ; then - # echo "" - # OK - : - else - echo "Aborted" - exit 1 - fi -} - -# Reference: https://gist.github.com/steinwaywhw/a4cd19cda655b8249d908261a62687f8 - -echo "Checking Protoc version..." -VERSION=$(curl -sL https://github.com/protocolbuffers/protobuf/releases/latest | grep -E "<title>" | perl -pe's%.*Protocol Buffers v(\d+\.\d+(\.\d+)?).*%\1%') -BASEVERSION=4 -echo - -interactive=true -check_version=true - -while test $# -gt 0; do - case $1 in - -h|--help) - echo "Upgrade Protoc" - echo - echo "$0 [options]" - echo - echo "Options:" - echo "-a Automatic mode" - echo "-C Ignore version check" - echo "-h, --help Help" - quit - ;; - -a) - interactive=false - shift - ;; - -C) - check_version=false - shift - ;; - esac -done - -BIN="$HOME/bin" -DOWNLOADS="$HOME/downloads" - -PIP="pip3.11" -PIPENV="python3.11 -m pipenv" - -# Upgrade protoc - -DEST="protoc" - -OLDVERSION=$(cat $BIN/$DEST/.VERSION.txt || echo "") -echo -e "\nProtoc remote version $VERSION\n" -echo -e "Protoc local version: $OLDVERSION\n" - -if [ "$OLDVERSION" != "$VERSION" ]; then - echo "Upgrade protoc from $OLDVERSION to $VERSION" - - NAME="protoc-$VERSION" - ARCHIVE="$NAME.zip" - - mkdir -p $DOWNLOADS - # https://github.com/protocolbuffers/protobuf/releases/download/v21.6/protoc-21.6-linux-x86_64.zip - cmd="wget --trust-server-names https://github.com/protocolbuffers/protobuf/releases/download/v$VERSION/protoc-$VERSION-linux-x86_64.zip -O $DOWNLOADS/$ARCHIVE" - if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi - eval "$cmd" - - cmd="echo -e '\nSize [Byte]'; stat --printf='%s\n' $DOWNLOADS/$ARCHIVE; echo -e '\nMD5'; md5sum $DOWNLOADS/$ARCHIVE; echo -e '\nSHA256'; sha256sum $DOWNLOADS/$ARCHIVE;" - if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi - eval "$cmd" - - cmd="mkdir -p $BIN/$NAME; unzip $DOWNLOADS/$ARCHIVE -d $BIN/$NAME" - if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi - eval "$cmd" - - cmd="echo $VERSION > $BIN/$NAME/.VERSION.txt; echo $VERSION > $BIN/$NAME/.VERSION_$VERSION.txt" - if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi - eval "$cmd" - - cmd="[ -d $BIN/$DEST.old ] && rm -rf $BIN/$DEST.old || echo 'No old dir to delete'" - if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi - eval "$cmd" - - cmd="[ -d $BIN/$DEST ] && mv -iT $BIN/$DEST $BIN/$DEST.old || echo 'No previous dir to keep'" - if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi - eval "$cmd" - - cmd="mv -iT $BIN/$NAME $BIN/$DEST" - if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi - eval "$cmd" - - cmd="rm $DOWNLOADS/$ARCHIVE" - if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi - eval "$cmd" - - cmd="$BIN/$DEST/bin/protoc --python_out=protobuf_generated_python google_auth.proto" - if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi - eval "$cmd" - - # Update README.md - - cmd="perl -i -pe 's%proto(buf|c)([- ])(\d\.)?$OLDVERSION%proto\$1\$2\${3}$VERSION%g' README.md && perl -i -pe 's%(protobuf/releases/tag/v)$OLDVERSION%\${1}$VERSION%g' README.md" - if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi - eval "$cmd" -else - echo -e "\nVersion has not changed. Quit" -fi - - -# Upgrade pip requirements - -cmd="sudo pip install --upgrade pip" -if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi -eval "$cmd" - -$PIP --version - -cmd="$PIP install --use-pep517 -U -r requirements.txt" -if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi -eval "$cmd" - -cmd="$PIP install --use-pep517 -U -r requirements-dev.txt" -if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi -eval "$cmd" - -cmd="$PIP install -U pipenv" -if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi -eval "$cmd" - -$PIPENV --version - -cmd="$PIPENV update && $PIPENV --rm && $PIPENV install" -if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi -eval "$cmd" - -$PIPENV run python --version - -# Test - -cmd="pytest" -if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi -eval "$cmd" - -cmd="$PIPENV run pytest" -if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi -eval "$cmd" - -# Build docker - -cmd="docker build . -t extract_otp_secret_keys_no_qr_reader -f Dockerfile_no_qr_reader --pull" -if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi -eval "$cmd" - -cmd="docker run --entrypoint /extract/run_pytest.sh --rm -v "$(pwd)":/files:ro extract_otp_secret_keys_no_qr_reader test_extract_otp_secret_keys_pytest.py -k 'not qreader' -vvv --relaxed" -if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi -eval "$cmd" - -cmd="docker build . -t extract_otp_secret_keys --pull" -if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi -eval "$cmd" - -cmd="docker run --entrypoint /extract/run_pytest.sh --rm -v "$(pwd)":/files:ro extract_otp_secret_keys" -if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi -eval "$cmd" - -cmd="docker image prune" -if $interactive ; then askContinueYn "$cmd"; else echo -e "${cyan}$cmd${reset}";fi -eval "$cmd" - -quit