From f3162d3ead46a4e82560ba89b199936f7e0e5e7a Mon Sep 17 00:00:00 2001 From: "Kenneth V. Domingo" Date: Fri, 8 Nov 2024 22:53:55 +0800 Subject: [PATCH] feat: squash changes from git.kvd.studio/r/primerdriver --- .env.example | 3 + .flake8 | 4 - .github/workflows/build-and-push.yml | 54 + .github/workflows/make-docs.yml | 26 - .github/workflows/publish-docs.yml | 41 +- .github/workflows/publish-pypi.yml | 59 +- .github/workflows/run-tests.yml | 18 +- .gitignore | 299 +- .gitleaks.toml | 7 + .mise.toml | 5 + .pre-commit-config.yaml | 49 +- README.md | 55 +- Taskfile.yml | 72 +- cli.Dockerfile | 25 + dev.Dockerfile | 16 + docker-compose.yml | 56 + docker-entrypoint.sh | 3 + docs.Dockerfile | 37 + docs/.buildinfo | 4 - docs/.doctrees/api.doctree | Bin 12334 -> 0 bytes docs/.doctrees/environment.pickle | Bin 248097 -> 0 bytes .../primerdriver.checks.PrimerChecks.doctree | Bin 4093 -> 0 bytes ...primerdriver.checks.SequenceChecks.doctree | Bin 16697 -> 0 bytes ...driver.exceptions.PrimerCheckError.doctree | Bin 3946 -> 0 bytes ....input_handler.interactive_handler.doctree | Bin 3918 -> 0 bytes ...put_handler.single_command_handler.doctree | Bin 4157 -> 0 bytes ...r.output_handler.interactive_saver.doctree | Bin 5008 -> 0 bytes ...utput_handler.single_command_saver.doctree | Bin 5905 -> 0 bytes ...rdriver.primer_design.PrimerDesign.doctree | Bin 34554 -> 0 bytes docs/.doctrees/gettingstarted.doctree | Bin 62929 -> 0 bytes docs/.doctrees/index.doctree | Bin 7827 -> 0 bytes docs/.doctrees/software.doctree | Bin 35072 -> 0 bytes docs/.nojekyll | 0 docs/_sources/api.rst.txt | 16 - .../primerdriver.checks.PrimerChecks.rst.txt | 6 - ...primerdriver.checks.SequenceChecks.rst.txt | 27 - ...driver.exceptions.PrimerCheckError.rst.txt | 6 - ....input_handler.interactive_handler.rst.txt | 6 - ...put_handler.single_command_handler.rst.txt | 6 - ...r.output_handler.interactive_saver.rst.txt | 6 - ...utput_handler.single_command_saver.rst.txt | 6 - ...rdriver.primer_design.PrimerDesign.rst.txt | 41 - docs/_sources/gettingstarted.rst.txt | 491 - docs/_sources/index.rst.txt | 32 - docs/_sources/software.rst.txt | 149 - docs/_static/PrimerDriver_logo.png | Bin 430680 -> 0 bytes docs/_static/basic.css | 903 - docs/_static/debug.css | 69 - docs/_static/doctools.js | 156 - docs/_static/documentation_options.js | 14 - docs/_static/file.png | Bin 286 -> 0 bytes docs/_static/language_data.js | 199 - docs/_static/minus.png | Bin 90 -> 0 bytes docs/_static/plus.png | Bin 90 -> 0 bytes docs/_static/pygments.css | 255 - docs/_static/scripts/furo-extensions.js | 0 docs/_static/scripts/furo.js | 3 - docs/_static/scripts/furo.js.LICENSE.txt | 7 - docs/_static/scripts/furo.js.map | 1 - docs/_static/searchtools.js | 566 - docs/_static/skeleton.css | 296 - docs/_static/sphinx_highlight.js | 144 - docs/_static/styles/furo-extensions.css | 2 - docs/_static/styles/furo-extensions.css.map | 1 - docs/_static/styles/furo.css | 2 - docs/_static/styles/furo.css.map | 1 - docs/api.html | 296 - docs/api.md | 25 + .../{_images => assets}/PrimerDriver_logo.png | Bin .../primerdriver.checks.PrimerChecks.html | 290 - .../primerdriver.checks.SequenceChecks.html | 329 - ...merdriver.exceptions.PrimerCheckError.html | 290 - ...ver.input_handler.interactive_handler.html | 290 - ....input_handler.single_command_handler.html | 290 - ...iver.output_handler.interactive_saver.html | 290 - ...r.output_handler.single_command_saver.html | 290 - ...imerdriver.primer_design.PrimerDesign.html | 349 - docs/genindex.html | 307 - docs/getting_started.md | 517 + docs/gettingstarted.html | 752 - docs/index.html | 321 - docs/index.md | 7 + docs/js/katex.js | 10 + docs/objects.inv | Bin 761 -> 0 bytes docs/search.html | 255 - docs/searchindex.js | 1 - docs/software.html | 447 - docs/software.md | 122 + docsrc/Makefile | 20 - docsrc/make.bat | 35 - docsrc/source/_static/PrimerDriver_logo.png | Bin 430680 -> 0 bytes docsrc/source/api.rst | 16 - docsrc/source/conf.py | 40 - .../primerdriver.checks.PrimerChecks.rst | 6 - .../primerdriver.checks.SequenceChecks.rst | 27 - ...imerdriver.exceptions.PrimerCheckError.rst | 6 - ...iver.input_handler.interactive_handler.rst | 6 - ...r.input_handler.single_command_handler.rst | 6 - ...river.output_handler.interactive_saver.rst | 6 - ...er.output_handler.single_command_saver.rst | 6 - ...rimerdriver.primer_design.PrimerDesign.rst | 41 - docsrc/source/gettingstarted.rst | 491 - docsrc/source/index.rst | 32 - docsrc/source/software.rst | 149 - gunicorn.conf.py | 10 + mkdocs.yml | 89 + poetry.lock | 1380 +- primerdriver/checks.py | 37 +- primerdriver/config.py | 20 +- primerdriver/expression_sys_loader.py | 4 +- primerdriver/input_handler.py | 18 +- .../notebooks/codon_usage_scraper.ipynb | 16 +- primerdriver/output_handler.py | 3 +- primerdriver/primer_design.py | 205 +- primerx/__init__.py | 3 + primerx/app.py | 94 + primerx/cache.py | 11 + primerx/config.py | 14 + primerx/log.py | 3 + primerx/models.py | 22 + primerx/tasks.py | 14 + primerx/wsgi.py | 4 + pyproject.toml | 55 +- sample.fasta | 58024 +++++++++++++++- ui/biome.json | 54 + ui/bun.lockb | Bin 0 -> 122642 bytes ui/index.html | 41 + ui/package.json | 32 + ui/public/vite.svg | 1 + ui/src/App.css | 83 + ui/src/App.jsx | 19 + ui/src/api/index.js | 21 + ui/src/assets/react.svg | 1 + ui/src/components/AppRoutes.jsx | 69 + ui/src/components/Landing.jsx | 79 + ui/src/components/form/AdvancedSettings.jsx | 417 + ui/src/components/form/DnaSequenceInput.jsx | 58 + ui/src/components/form/Form.jsx | 62 + ui/src/components/form/MutationSelector.jsx | 67 + ui/src/components/form/MutationType.jsx | 29 + ui/src/components/form/NumberMismatch.jsx | 26 + .../components/form/ProteinSequenceInput.jsx | 58 + ui/src/components/form/index.js | 7 + ui/src/components/menu/Characterize.jsx | 119 + ui/src/components/menu/DnaView.jsx | 196 + ui/src/components/menu/Menu.jsx | 90 + ui/src/components/menu/ProteinView.jsx | 224 + ui/src/components/menu/Result.jsx | 167 + ui/src/components/shared/LoadingScreen.jsx | 9 + ui/src/contexts/PrimerDriverContext.jsx | 64 + ui/src/index.css | 12 + ui/src/main.jsx | 18 + ui/src/utils/ErrorBoundary.jsx | 30 + ui/src/vite-env.d.ts | 3 + ui/vite.config.js | 24 + web.Dockerfile | 55 + 156 files changed, 62538 insertions(+), 10232 deletions(-) create mode 100644 .env.example delete mode 100644 .flake8 create mode 100644 .github/workflows/build-and-push.yml delete mode 100644 .github/workflows/make-docs.yml create mode 100644 .gitleaks.toml create mode 100644 .mise.toml create mode 100644 cli.Dockerfile create mode 100644 dev.Dockerfile create mode 100644 docker-compose.yml create mode 100755 docker-entrypoint.sh create mode 100644 docs.Dockerfile delete mode 100644 docs/.buildinfo delete mode 100644 docs/.doctrees/api.doctree delete mode 100644 docs/.doctrees/environment.pickle delete mode 100644 docs/.doctrees/generated/primerdriver.checks.PrimerChecks.doctree delete mode 100644 docs/.doctrees/generated/primerdriver.checks.SequenceChecks.doctree delete mode 100644 docs/.doctrees/generated/primerdriver.exceptions.PrimerCheckError.doctree delete mode 100644 docs/.doctrees/generated/primerdriver.input_handler.interactive_handler.doctree delete mode 100644 docs/.doctrees/generated/primerdriver.input_handler.single_command_handler.doctree delete mode 100644 docs/.doctrees/generated/primerdriver.output_handler.interactive_saver.doctree delete mode 100644 docs/.doctrees/generated/primerdriver.output_handler.single_command_saver.doctree delete mode 100644 docs/.doctrees/generated/primerdriver.primer_design.PrimerDesign.doctree delete mode 100644 docs/.doctrees/gettingstarted.doctree delete mode 100644 docs/.doctrees/index.doctree delete mode 100644 docs/.doctrees/software.doctree delete mode 100644 docs/.nojekyll delete mode 100644 docs/_sources/api.rst.txt delete mode 100644 docs/_sources/generated/primerdriver.checks.PrimerChecks.rst.txt delete mode 100644 docs/_sources/generated/primerdriver.checks.SequenceChecks.rst.txt delete mode 100644 docs/_sources/generated/primerdriver.exceptions.PrimerCheckError.rst.txt delete mode 100644 docs/_sources/generated/primerdriver.input_handler.interactive_handler.rst.txt delete mode 100644 docs/_sources/generated/primerdriver.input_handler.single_command_handler.rst.txt delete mode 100644 docs/_sources/generated/primerdriver.output_handler.interactive_saver.rst.txt delete mode 100644 docs/_sources/generated/primerdriver.output_handler.single_command_saver.rst.txt delete mode 100644 docs/_sources/generated/primerdriver.primer_design.PrimerDesign.rst.txt delete mode 100644 docs/_sources/gettingstarted.rst.txt delete mode 100644 docs/_sources/index.rst.txt delete mode 100644 docs/_sources/software.rst.txt delete mode 100644 docs/_static/PrimerDriver_logo.png delete mode 100644 docs/_static/basic.css delete mode 100644 docs/_static/debug.css delete mode 100644 docs/_static/doctools.js delete mode 100644 docs/_static/documentation_options.js delete mode 100644 docs/_static/file.png delete mode 100644 docs/_static/language_data.js delete mode 100644 docs/_static/minus.png delete mode 100644 docs/_static/plus.png delete mode 100644 docs/_static/pygments.css delete mode 100644 docs/_static/scripts/furo-extensions.js delete mode 100644 docs/_static/scripts/furo.js delete mode 100644 docs/_static/scripts/furo.js.LICENSE.txt delete mode 100644 docs/_static/scripts/furo.js.map delete mode 100644 docs/_static/searchtools.js delete mode 100644 docs/_static/skeleton.css delete mode 100644 docs/_static/sphinx_highlight.js delete mode 100644 docs/_static/styles/furo-extensions.css delete mode 100644 docs/_static/styles/furo-extensions.css.map delete mode 100644 docs/_static/styles/furo.css delete mode 100644 docs/_static/styles/furo.css.map delete mode 100644 docs/api.html create mode 100644 docs/api.md rename docs/{_images => assets}/PrimerDriver_logo.png (100%) delete mode 100644 docs/generated/primerdriver.checks.PrimerChecks.html delete mode 100644 docs/generated/primerdriver.checks.SequenceChecks.html delete mode 100644 docs/generated/primerdriver.exceptions.PrimerCheckError.html delete mode 100644 docs/generated/primerdriver.input_handler.interactive_handler.html delete mode 100644 docs/generated/primerdriver.input_handler.single_command_handler.html delete mode 100644 docs/generated/primerdriver.output_handler.interactive_saver.html delete mode 100644 docs/generated/primerdriver.output_handler.single_command_saver.html delete mode 100644 docs/generated/primerdriver.primer_design.PrimerDesign.html delete mode 100644 docs/genindex.html create mode 100644 docs/getting_started.md delete mode 100644 docs/gettingstarted.html delete mode 100644 docs/index.html create mode 100644 docs/index.md create mode 100644 docs/js/katex.js delete mode 100644 docs/objects.inv delete mode 100644 docs/search.html delete mode 100644 docs/searchindex.js delete mode 100644 docs/software.html create mode 100644 docs/software.md delete mode 100644 docsrc/Makefile delete mode 100644 docsrc/make.bat delete mode 100644 docsrc/source/_static/PrimerDriver_logo.png delete mode 100644 docsrc/source/api.rst delete mode 100644 docsrc/source/conf.py delete mode 100644 docsrc/source/generated/primerdriver.checks.PrimerChecks.rst delete mode 100644 docsrc/source/generated/primerdriver.checks.SequenceChecks.rst delete mode 100644 docsrc/source/generated/primerdriver.exceptions.PrimerCheckError.rst delete mode 100644 docsrc/source/generated/primerdriver.input_handler.interactive_handler.rst delete mode 100644 docsrc/source/generated/primerdriver.input_handler.single_command_handler.rst delete mode 100644 docsrc/source/generated/primerdriver.output_handler.interactive_saver.rst delete mode 100644 docsrc/source/generated/primerdriver.output_handler.single_command_saver.rst delete mode 100644 docsrc/source/generated/primerdriver.primer_design.PrimerDesign.rst delete mode 100644 docsrc/source/gettingstarted.rst delete mode 100644 docsrc/source/index.rst delete mode 100644 docsrc/source/software.rst create mode 100644 gunicorn.conf.py create mode 100644 mkdocs.yml create mode 100644 primerx/__init__.py create mode 100644 primerx/app.py create mode 100644 primerx/cache.py create mode 100644 primerx/config.py create mode 100644 primerx/log.py create mode 100644 primerx/models.py create mode 100644 primerx/tasks.py create mode 100644 primerx/wsgi.py create mode 100644 ui/biome.json create mode 100755 ui/bun.lockb create mode 100644 ui/index.html create mode 100644 ui/package.json create mode 100644 ui/public/vite.svg create mode 100644 ui/src/App.css create mode 100644 ui/src/App.jsx create mode 100644 ui/src/api/index.js create mode 100644 ui/src/assets/react.svg create mode 100644 ui/src/components/AppRoutes.jsx create mode 100644 ui/src/components/Landing.jsx create mode 100644 ui/src/components/form/AdvancedSettings.jsx create mode 100644 ui/src/components/form/DnaSequenceInput.jsx create mode 100644 ui/src/components/form/Form.jsx create mode 100644 ui/src/components/form/MutationSelector.jsx create mode 100644 ui/src/components/form/MutationType.jsx create mode 100644 ui/src/components/form/NumberMismatch.jsx create mode 100644 ui/src/components/form/ProteinSequenceInput.jsx create mode 100644 ui/src/components/form/index.js create mode 100644 ui/src/components/menu/Characterize.jsx create mode 100644 ui/src/components/menu/DnaView.jsx create mode 100644 ui/src/components/menu/Menu.jsx create mode 100644 ui/src/components/menu/ProteinView.jsx create mode 100644 ui/src/components/menu/Result.jsx create mode 100644 ui/src/components/shared/LoadingScreen.jsx create mode 100644 ui/src/contexts/PrimerDriverContext.jsx create mode 100644 ui/src/index.css create mode 100644 ui/src/main.jsx create mode 100644 ui/src/utils/ErrorBoundary.jsx create mode 100644 ui/src/vite-env.d.ts create mode 100644 ui/vite.config.js create mode 100644 web.Dockerfile diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..e68ccfa --- /dev/null +++ b/.env.example @@ -0,0 +1,3 @@ +PYTHON_ENV=development +FLASK_DEBUG=True +FLASK_APP=primerx.app diff --git a/.flake8 b/.flake8 deleted file mode 100644 index aa8e2bd..0000000 --- a/.flake8 +++ /dev/null @@ -1,4 +0,0 @@ -[flake8] -ignore = E203, E266, E501, W503 -max-line-length = 88 -max-complexity = 18 diff --git a/.github/workflows/build-and-push.yml b/.github/workflows/build-and-push.yml new file mode 100644 index 0000000..216ac76 --- /dev/null +++ b/.github/workflows/build-and-push.yml @@ -0,0 +1,54 @@ +name: Build and push Docker image + +on: + push: + branches: [ main ] + +concurrency: + group: build + cancel-in-progress: true + +jobs: + build-and-push: + name: Build and push + runs-on: ubuntu-latest + permissions: + contents: read + id-token: write + steps: + - name: Checkout code repo + uses: actions/checkout@v4 + + - name: Docker login + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_PAT }} + + - name: Setup Docker buildx + uses: docker/setup-buildx-action@v3 + + - name: Extract image metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository }} + + - name: Build and push + id: build + uses: docker/build-push-action@v6 + with: + push: true + tags: | + ghcr.io/${{ github.repository }}:${{ github.sha }} + ghcr.io/${{ github.repository }}:latest + labels: ${{ steps.meta.outputs.labels }} + file: web.Dockerfile + + - name: Generate artifact attestation + uses: actions/attest-build-provenance@v1 + with: + subject-name: ghcr.io/${{ github.repository }}-web + subject-digest: ${{ steps.build.outputs.digest }} + push-to-registry: true diff --git a/.github/workflows/make-docs.yml b/.github/workflows/make-docs.yml deleted file mode 100644 index 7db9a62..0000000 --- a/.github/workflows/make-docs.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: Make docs - -on: - pull_request: - types: - - ready_for_review - - synchronize - workflow_dispatch: - -jobs: - make-docs: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 - - name: Install dependencies - run: | - python -m pip install "poetry==1.3.2" - poetry install - - - name: Make docs - run: poetry run sphinx-build -b html docsrc/source docs - - - uses: stefanzweifel/git-auto-commit-action@v4 - with: - commit_message: Update docs diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index f23eb6f..a4d1022 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -1,41 +1,34 @@ -# Simple workflow for deploying static content to GitHub Pages -name: Deploy static content to Pages +name: Publish docs to GitHub Pages on: - # Runs on pushes targeting the default branch push: - branches: ["main"] - - # Allows you to run this workflow manually from the Actions tab + branches: [ main ] workflow_dispatch: -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: - contents: read - pages: write - id-token: write + contents: write -# Allow one concurrent deployment concurrency: - group: "pages" + group: pages cancel-in-progress: true jobs: - # Single deploy job since we're just deploying deploy: environment: name: github-pages - url: ${{ steps.deployment.outputs.page_url }} + url: https://${{ github.repository_owner }}.github.io/primerdriver runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup Pages - uses: actions/configure-pages@v3 - - name: Upload artifact - uses: actions/upload-pages-artifact@v1 + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 with: - path: './docs' - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v1 + python-version: '3.10' + + - name: Install dependencies + run: | + python -m pip install "poetry==1.8.3" + poetry install --no-root --with dev + + - name: Publish docs + run: poetry run mkdocs gh-deploy --force diff --git a/.github/workflows/publish-pypi.yml b/.github/workflows/publish-pypi.yml index fcfd8e8..0178edc 100644 --- a/.github/workflows/publish-pypi.yml +++ b/.github/workflows/publish-pypi.yml @@ -1,44 +1,37 @@ -# This workflow will upload a Python Package using Twine when a release is created -# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries - -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. - -name: Upload Python Package +name: Upload to PyPI on: release: - types: - - published + types: [ published ] permissions: contents: read + id-token: write jobs: deploy: - runs-on: ubuntu-latest - + environment: + name: pypi + url: https://pypi.org/p/primerdriver steps: - - uses: actions/checkout@v3 - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: '3.x' - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install "poetry==1.3.2" - poetry export --without-hashes --without dev -f requirements.txt | pip install -r /dev/stdin - pip install build - - - name: Build package - run: python -m build - - - name: Publish package - uses: pypa/gh-action-pypi-publish@release/v1 - with: - password: ${{ secrets.PYPI_API_TOKEN }} + - uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.10' + + - name: Install dependencies + run: | + pip install "poetry==1.8.3" + poetry export --without dev --format requirements.txt | pip install --no-cache-dir -r /dev/stdin + pip install build + + - name: Build package + run: python -m build + + - name: Publish package + uses: pypa/gh-action-pypi-publish@release/v1 + with: + password: ${{ secrets.PYPI_API_TOKEN }} diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 8387a8e..07ef427 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -1,7 +1,6 @@ name: Run tests -on: - pull_request: +on: pull_request jobs: unit-tests: @@ -9,22 +8,27 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.8', '3.9', '3.10'] + python-version: [ '3.9', '3.10' ] steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 name: Setup Python ${{ matrix.python-version }} with: python-version: ${{ matrix.python-version }} + - name: Install dependencies run: | - python -m pip install "poetry==1.3.2" - poetry install + python -m pip install "poetry==1.8.3" + poetry install --no-root --with dev + - name: Run tests run: poetry run coverage run -m pytest + - name: Update code coverage badge run: poetry run coverage-badge -o coverage.svg -f if: ${{ matrix.python-version == 3.10 }} + - uses: stefanzweifel/git-auto-commit-action@v4 if: ${{ matrix.python-version == 3.10 }} with: diff --git a/.gitignore b/.gitignore index 80d539e..d3204f2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,147 @@ +# Created by https://www.toptal.com/developers/gitignore/api/python,node +# Edit at https://www.toptal.com/developers/gitignore?templates=python,node + +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +### Node Patch ### +# Serverless Webpack directories +.webpack/ + +# Optional stylelint cache + +# SvelteKit build / generate output +.svelte-kit + +### Python ### # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] @@ -17,11 +161,9 @@ eggs/ lib/ lib64/ parts/ -staticfiles/ sdist/ var/ wheels/ -pip-wheel-metadata/ share/python-wheels/ *.egg-info/ .installed.cfg @@ -44,20 +186,19 @@ htmlcov/ .nox/ .coverage .coverage.* -.cache nosetests.xml coverage.xml *.cover *.py,cover .hypothesis/ .pytest_cache/ +cover/ # Translations *.mo *.pot # Django stuff: -*.log local_settings.py db.sqlite3 db.sqlite3-journal @@ -70,9 +211,10 @@ instance/ .scrapy # Sphinx documentation -# docs/_build/ +docs/_build/ # PyBuilder +.pybuilder/ target/ # Jupyter Notebook @@ -83,7 +225,9 @@ profile_default/ ipython_config.py # pyenv -.python-version +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version # pipenv # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. @@ -92,7 +236,22 @@ ipython_config.py # install all needed dependencies. #Pipfile.lock -# PEP 582; used by e.g. github.com/David-OConnor/pyflow +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm __pypackages__/ # Celery stuff @@ -103,7 +262,6 @@ celerybeat.pid *.sage.py # Environments -.env .venv env/ venv/ @@ -129,116 +287,27 @@ dmypy.json # Pyre type checker .pyre/ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript +# pytype static type analyzer +.pytype/ -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release +# Cython debug symbols +cython_debug/ -# Dependency directories -node_modules/ -jspm_packages/ - -# TypeScript v1 declaration files -typings/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# Next.js build output -.next - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and *not* Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ -# Mac -.DS_Store +### Python Patch ### +# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration +poetry.toml -# VScode -.vscode +# ruff +.ruff_cache/ -# IDEA -.idea +# LSP config files +pyrightconfig.json -# Local bundles -bundles/ -webpack-stats.json +# End of https://www.toptal.com/developers/gitignore/api/python,node diff --git a/.gitleaks.toml b/.gitleaks.toml new file mode 100644 index 0000000..9a12d54 --- /dev/null +++ b/.gitleaks.toml @@ -0,0 +1,7 @@ +title = 'Gitleaks config' + +[extend] +useDefault = true + +[allowlist] +paths = ['sample.fasta'] diff --git a/.mise.toml b/.mise.toml new file mode 100644 index 0000000..567ba28 --- /dev/null +++ b/.mise.toml @@ -0,0 +1,5 @@ +[tools] +bun = "latest" +poetry = "latest" +python = "3.10" +task = "latest" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 60e27da..5e145c6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,30 +1,45 @@ repos: - - repo: https://github.com/psf/black - rev: 23.1.0 + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.6.9 hooks: - - id: black - language_version: python3 - - repo: https://github.com/PyCQA/isort - rev: 5.12.0 + - id: ruff + args: [ --fix ] + - id: ruff-format + - repo: https://github.com/biomejs/pre-commit + rev: v0.5.0 hooks: - - id: isort - args: ['--profile', 'black'] - - repo: https://github.com/PyCQA/flake8 - rev: 6.0.0 - hooks: - - id: flake8 + - id: biome-check + additional_dependencies: + - "@biomejs/biome@1.9.4" + args: [ '--config-path', './ui' ] - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.1.0 + rev: v5.0.0 hooks: - id: check-added-large-files - args: ['--maxkb=500'] + args: [ '--maxkb=500' ] + exclude: '^sample\.fasta$' + - id: trailing-whitespace - id: end-of-file-fixer - id: mixed-line-ending - args: ['--fix=lf'] + args: [ '--fix=lf' ] - id: check-merge-conflict - id: check-yaml + args: [ '--allow-multiple-documents' ] + exclude: templates/.+\.ya?ml$ + - id: check-json + - id: check-toml + - id: check-xml - repo: https://github.com/zricethezav/gitleaks - rev: v7.5.0 + rev: v8.21.1 hooks: - id: gitleaks - args: ['--verbose'] + args: [ '--verbose', '--config', '.gitleaks.toml' ] + - repo: https://github.com/hadolint/hadolint + rev: v2.12.0 + hooks: + - id: hadolint-docker + args: + - --ignore + - DL3008 + - --ignore + - DL3018 diff --git a/README.md b/README.md index 7f5d220..a80c490 100644 --- a/README.md +++ b/README.md @@ -10,9 +10,9 @@ _PrimerDriver_ is a user-friendly bioinformatics platform specifically designed to generate primers for site-directed mutagenesis experiments into workflows with an easy-to-use command-line interface. “Traversing” PrimerDriver lanes, -users can generate possible mutagenic primers upon input of a DNA sequence (`DNA`), design primers for an array of species -codon expression systems through direct mutation of the amino acid (`PRO`), characterize and report user-designed -primers (`CHAR`). +users can generate possible mutagenic primers upon input of a DNA sequence (`DNA`), design primers for an array of +species codon expression systems through direct mutation of the amino acid (`PRO`), characterize and report +user-designed primers (`CHAR`). ## Usage @@ -43,20 +43,20 @@ Batch design can be performed by including #### Prerequisites -- [Python 3.8.1+](https://www.python.org/downloads/) -- [Poetry](https://python-poetry.org/docs/#installation) - [Git](https://git-scm.com/downloads) +- [Mise](https://mise.jdx.dev) #### Setup -1. Clone the repo to your local device +1. Clone the repo to your local device and `cd` into it ```shell git clone https://github.com/kvdomingo/primerdriver.git + cd primerdriver ``` 2. Install dependencies: ```shell - poetry install + mise install ``` Run the program as follows: @@ -70,17 +70,17 @@ poetry run python -m primerdriver -h Run as follows: ```shell -docker run -it --entrypoint python kvdomingo/primerdriver -m primerdriver -h +docker run -it --entrypoint python kvdomingo/primerdriver -m primerdriver -h ``` ## Web application For a more interactive experience, visit the -[web application](https://primerdriver.kvdstudio.app). +[web application](https://primerdriver.kvd.studio). ## Documentation -The documentation is available at https://kvdomingo.github.io/primerdriver/. +The documentation is available at https://primerdriver-docs.kvd.studio. ## Contributing @@ -93,7 +93,7 @@ You may also email Nomer or Kenneth, depending on the nature of the issue. ### Prerequisites - [Docker](https://www.docker.com/get-started) -- [Task](https://taskfile.dev/#/installation) +- [Mise](https://mise.jdx.dev) ### Installing @@ -101,14 +101,26 @@ A step by step series of examples that tell you how to get a development environment running 1. Clone the repo. -2. Install backend dependencies: - -```shell -poetry install -``` +2. Install prerequisites: + ```shell + mise install + pip install -U pre-commit + pre-commit install + ``` +3. Install backend dependencies: + ```shell + poetry install --no-root --with dev + ``` +4. Run the development servers: + ```shell + task + ``` Wait a few minutes for all the containers to start, then access the -local server in your browser at http://localhost:8000. +local servers in your browser at: + +- Web app: http://localhost:3000 +- Docs: http://localhost:8000 ### Building from source @@ -128,15 +140,16 @@ git commit -m "DESCRIPTIVE_COMMIT_MESSAGE" git push origin your_feature_branch ``` -where `your_feature_branch` should summarize the changes you are implementing -(e.g., `feature/implementing-xxxx-feature`, `bugfix/crush-critical-yyyy-bug`). +where `your_feature_branch` should summarize the changes you are implementing following +the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) format +(e.g., `feat/xxxx`, `fix/yyyy`). ## Authors - **Numeriano Amer "Nomer" E. Gutierrez** - Project Lead, Molecular Biologist - [Email](mailto:ngutierrez@evc.pshs.edu.ph) | [GitHub](https://github.com/nomgutierrez) -- **Kenneth V. Domingo** - Lead Developer, Technical - Consultant - [Email](mailto:kvdomingo@alum.up.edu.ph) | [Website](https://kvdomingo.xyz) | [GitHub](https://github.com/kvdomingo) +- **Kenneth V. Domingo** - Technical + Lead - [Email](mailto:kvdomingo@alum.up.edu.ph) | [Website](https://kvd.studio) | [GitHub](https://github.com/kvdomingo) - **Shebna Rose D. Fabilloren** - Technical Consultant - [Email](mailto:sdfabilloren@up.edu.ph) - **Carlo M. Lapid** - Project Adviser - [Email](mailto:cmlapid@up.edu.ph) diff --git a/Taskfile.yml b/Taskfile.yml index c87526a..1f204e7 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -3,25 +3,67 @@ version: '3' env: NAME: primerdriver SHORT_SHA: - sh: git show --format="%h" --no-patch + sh: git rev-parse --short HEAD tasks: - setup: - cmds: - - pip install pre-commit - - pre-commit install - - poetry install + default: + cmd: + task: up - test: - cmds: - - poetry run coverage run -m pytest + up: + desc: Build and start containers + cmd: docker compose --project-name {{.NAME}} up --detach --build --remove-orphans {{.CLI_ARGS}} + + stop: + desc: Stop containers + cmd: docker compose --project-name {{.NAME}} stop {{.CLI_ARGS}} + + logs: + desc: Follow Docker logs + interactive: true + cmd: docker compose --project-name {{.NAME}} logs --follow {{.CLI_ARGS}} + + restart: + desc: Restart containers + cmd: docker compose --project-name {{.NAME}} restart {{.CLI_ARGS}} - build: + down: + desc: Stop and remove containers + cmd: docker compose --project-name {{.NAME}} down --remove-orphans + + clean: + desc: Nuke everything + cmd: docker compose --project-name {{.NAME}} down --volumes --remove-orphans + + build-web: + desc: Build web app image + cmd: > + docker build + -t kvdomingo/primerdriver:{{.SHORT_SHA}} + -t kvdomingo/primerdriver:latest + --build-arg SHORT_SHA={{.SHORT_SHA}} + -f web.Dockerfile . + + build-cli: + desc: Build CLI cmds: - - poetry run pyinstaller --clean -F --name primerdriver setup.py - - docker run -v "$(pwd)":/build --rm --env NAME={{.NAME}} --name primerdriver --workdir /build kvdomingo/py-cli-builder:latest + - > + docker build + -t kvdomingo/primerdriver-cli:{{.SHORT_SHA}} + -t kvdomingo/primerdriver-cli:latest + -f cli.Dockerfile . + - > + docker run + -t --rm + -u $(id -u):$(id -g) + -v "$(pwd)":/build + --workdir /build + kvdomingo/primerdriver-cli:latest build-docs: - cmds: - - rm -rf docsrc/source/generated - - poetry run sphinx-build -b html docsrc/source docs + desc: Build docs + cmd: > + docker build + -t kvdomingo/primerdriver-docs:{{.SHORT_SHA}} + -t kvdomingo/primerdriver-docs:latest + -f docs.Dockerfile . diff --git a/cli.Dockerfile b/cli.Dockerfile new file mode 100644 index 0000000..922b115 --- /dev/null +++ b/cli.Dockerfile @@ -0,0 +1,25 @@ +FROM python:3.10-bullseye + +ENV DEBIAN_FRONTEND=noninteractive +ENV PYTHONUNBUFFERED=1 +ENV PYTHONDONTWRITEBYTECODE=1 +ENV POETRY_VERSION=1.8.3 +ENV POETRY_HOME=/opt/poetry +ENV PATH=${PATH}:${POETRY_HOME}/bin + +WORKDIR /tmp + +COPY pyproject.toml poetry.lock ./ + +RUN apt-get update && \ + apt-get install --no-install-recommends -y upx-ucl && \ + pip install --no-cache-dir "poetry==$POETRY_VERSION" && \ + poetry export --without-hashes --with dev --format requirements.txt --output requirements.txt && \ + python -m venv .venv && \ + /tmp/.venv/bin/pip install --no-cache-dir -r requirements.txt && \ + rm -rf /var/lib/apt/lists/* + +WORKDIR /build + +ENTRYPOINT [ "/bin/bash", "-euxo", "pipefail", "-c" ] +CMD [ "/tmp/.venv/bin/pyinstaller -F --clean --name primerdriver setup.py" ] diff --git a/dev.Dockerfile b/dev.Dockerfile new file mode 100644 index 0000000..7ce23a6 --- /dev/null +++ b/dev.Dockerfile @@ -0,0 +1,16 @@ +FROM python:3.10-bullseye + +ENV DEBIAN_FRONTEND noninteractive +ENV PYTHONUNBUFFERED 1 +ENV PYTHONDONTWRITEBYTECODE 1 +ENV POETRY_VERSION 1.8.3 + +WORKDIR /primerdriver + +SHELL [ "/bin/bash", "-euxo", "pipefail", "-c" ] + +RUN pip install --no-cache-dir poetry==$POETRY_VERSION && \ + poetry config virtualenvs.create true && \ + poetry config virtualenvs.in-project true + +ENTRYPOINT [ "/bin/bash", "-euxo", "pipefail", "-c" ] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..9ac4b1e --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,56 @@ +services: + backend: + build: + context: . + dockerfile: dev.Dockerfile + image: kvdomingo/primerdriver-api:latest + init: true + command: + - | + poetry install --no-root + poetry run flask run -h 0.0.0.0 -p '5000' --reload + restart: unless-stopped + env_file: .env + volumes: + - .:/primerdriver + - venv-data:/primerdriver/.venv + ports: + - '5000:5000' + + docs: + build: + context: . + dockerfile: dev.Dockerfile + image: kvdomingo/primerdriver-api:latest + init: true + restart: unless-stopped + env_file: .env + command: + - | + poetry install --no-root + poetry run mkdocs serve -a 0.0.0.0:8000 + volumes: + - .:/primerdriver + - docs-venv-data:/primerdriver/.venv + ports: + - '8000:8000' + + frontend: + image: oven/bun:1.1-alpine + restart: unless-stopped + init: true + environment: + NODE_ENV: development + entrypoint: + - /bin/sh + - "-c" + - "bun install && exec bun run dev" + working_dir: /web + volumes: + - ./ui:/web + ports: + - '3000:3000' + +volumes: + venv-data: + docs-venv-data: diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100755 index 0000000..3828bc5 --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +exec /primerdriver/.venv/bin/gunicorn -b 0.0.0.0:$PORT -c ./gunicorn.conf.py diff --git a/docs.Dockerfile b/docs.Dockerfile new file mode 100644 index 0000000..d52c60b --- /dev/null +++ b/docs.Dockerfile @@ -0,0 +1,37 @@ +FROM python:3.10-slim AS build + +ENV DEBIAN_FRONTEND=noninteractive +ENV PYTHONUNBUFFERED=1 +ENV PYTHONDONTWRITEBYTECODE=1 +ENV POETRY_VERSION=1.8.3 + +SHELL [ "/bin/bash", "-euxo", "pipefail", "-c" ] + +RUN apt-get update && \ + apt-get install --no-install-recommends -y gcc libc-dev && \ + pip install --no-cache-dir "poetry==$POETRY_VERSION" && \ + poetry config virtualenvs.create false && \ + rm -rf /var/lib/apt/lists/* + +WORKDIR /tmp + +COPY pyproject.toml poetry.lock ./ + +RUN poetry export --without-hashes --with dev --format requirements.txt --output requirements.txt + +WORKDIR /build + +RUN python -m venv .venv && \ + ./.venv/bin/pip install --no-cache-dir -r /tmp/requirements.txt + +COPY mkdocs.yml . +COPY ./docs/ ./docs/ +COPY ./primerdriver/ ./primerdriver/ + +RUN ./.venv/bin/mkdocs build + +FROM bitnami/nginx:1.27.2-debian-12-r2 + +WORKDIR /app + +COPY --from=build /build/site/ ./ diff --git a/docs/.buildinfo b/docs/.buildinfo deleted file mode 100644 index e1af709..0000000 --- a/docs/.buildinfo +++ /dev/null @@ -1,4 +0,0 @@ -# Sphinx build info version 1 -# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 3cdfd6296fb51cb45ce3f01e9fcf81ef -tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/.doctrees/api.doctree b/docs/.doctrees/api.doctree deleted file mode 100644 index b3aa80db59d204b60f4406c1c137ad74bfa6acaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12334 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 Z8p}E>^_MZqpj^PDml3yIW~+m}{~rR4j1>R? diff --git a/docs/.doctrees/generated/primerdriver.checks.PrimerChecks.doctree b/docs/.doctrees/generated/primerdriver.checks.PrimerChecks.doctree deleted file mode 100644 index bdd148b249e19994750b5a09ad10b4c8de9da14b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4093 zcmb7H-D)Jq71qzrpER0T?Oy_3ZDfLDEm>)Dk&CdbO<*xg5D_7S+$5V$O?S;yTiso~ z)z#AI!e9q%R#0~?<5$U5o*;PugP$T#kndD=_wkWD{g$CuXI-OU-S)K=`9LD0A*woSM4=FHql;*8s~a>~pO(^|#TQUe9@ zdOMB^@~{^stSBJFcPC@1|LR9&z8p+hc&_-2)|95F*_@`V7>oDBP&^jf;=qWBkSU+2 zGRwG{TuOC5X}i8UfU$)NC*I7-oMQ{qJX%@wF0f8i0e7FAZk1E9VLEXZ@kI-59|-X? zxF_BRsz1m71N=Y4|0%f&v{dXIJOW5@Hb=0`vvxQRkK*hwl~I}ScZKfhkBN`yo@vWU z@k?>M1n5jWK^S259ndhmVe}DZMl=%?G0@eeTA|UfZKIk$(HV^CQ<7?^5582!d!_rMtnZ-bnSDsNc3`B8J?N39dz z{?Li}%@e<>PQ3878r;6cm2YoXEdFt;Bad!Jb&1lOwrakT5N&|!$jY0MZEbqNs4SuU z0y}GVh%a*bDSC=s&7Q6=Le|`GlfKGjRBD%XR&-5&Rwjw#nRsP(0xiP;eL)vi{8PO8 z%Az%ps9Hcld?^k*<6!4+$u$>HUrR!n>2`0do7=5Ulfr-1ifYB>wB@k#b}PTKsC-Pb zbvGlKvN*Hi-=+r~^i__&@*i|*Bu_o)WztvrYcs4qsgPgUYctMdWpYu8$e@p1z^FGJ z_$szEXSKZ^`x=6RMoroez`?3-tgfxg=-S$0h<1;g;daG0x1K`gK z&C(o$U4Kjf-RBtYRKrpw80`^dsOi%zj_Y`E&ApkF8nubHCQmob9^HwuG7T0psZtBc zi0W}3gfgY8Rsogoc?nOrlLVKs7D0XWz=_p{>Mn9-hKlD>=^)`3Jh7)+W=F838FtJ* zU&O!)WwI>lMIF~9nqd3b;9q=ra5mq5fNi)@IgJe7d!{fp+ipE^VlHKVF?! z+idQV4+Ve{fGBb8buVGrykv6@#3QuZEnHsBeZ@nmq9Ecq$3-a%>E?50x=5HAY7Y>J zqX2z*7B8rdj995Z$}|re;sIDEh*2g~#u8FEb`qeQ6%_uZC@**!$pF^? zth&n=xh#0l-sxBp>fjo|*7o;zKQyD9=K(hBHYCZE z!FEax^HZU9UOb;nATCbwD=lPpBGr6i%|lx048Y1j^AzFH?)Jm;;}3rIYv4Ijvv5s4 zNtWt=QLCq7Nt8XuyCLR!=FULcPlQer95&EwiY$t>u%~@<08XYslb($O)m7ly+%2v$ z%@%=(=OV!${JoP%qW-W*(Jz8GCGxreQ1{)~4}(O8tb+C+6b$wt@IK#wvV#!2&&wRe znBGe60aVq2Yp_R#aW(@7>cVi3N<~pl*Ve@;kvEadXCpmZ&Mi2TPI-hBzJdvYbB#kD zhFEnTaCD6%z||M`N_xD!HT%`W3}j7azN}rFZJu4w^T+gkIYIt{is&XWl0yfYsX0e^ z!rNdUMuA!yk3G;PqQ}l>*4$f>QWJGzXqz>IE~OCOQdr(2q5l@&i|-0EAOZC;nik(* z7vg<-oP3AY^g?`6n!R?!oQl0L_E$e*iI-4f*6X~jZHZq84-nyWDwBo;Zs~(HVY7O$ zqH$24>Nee5(T^IdG!^xS>$<9$4YPx?5z3N^f;GFLOcJ0A9ML*@FDv=iK;TRJN2CC* qCrBnhSs>{Cz@~bvh<6*Yi`#CTg-IC^Pv#V|ornrtRSWz@=H!2fw?6Cu diff --git a/docs/.doctrees/generated/primerdriver.checks.SequenceChecks.doctree b/docs/.doctrees/generated/primerdriver.checks.SequenceChecks.doctree deleted file mode 100644 index 2729724c7f6f3277552bd00aa89f46914426798b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16697 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 Y+}I@T*`+G~hDmNO^$-+_Y0dmESB>(^b diff --git a/docs/.doctrees/generated/primerdriver.exceptions.PrimerCheckError.doctree b/docs/.doctrees/generated/primerdriver.exceptions.PrimerCheckError.doctree deleted file mode 100644 index d3d982d51464aa07c2e4a754657225dad5840677..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3946 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 diff --git a/docs/.doctrees/generated/primerdriver.primer_design.PrimerDesign.doctree b/docs/.doctrees/generated/primerdriver.primer_design.PrimerDesign.doctree deleted file mode 100644 index 876995826febf98b62e7422f84c4e8ce699b00c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34554 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 diff --git a/docs/.doctrees/gettingstarted.doctree b/docs/.doctrees/gettingstarted.doctree deleted file mode 100644 index d1b3e95e9670a7e7359cac58184862d7d52cc3a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62929 zcmeHw>yI4QbtfruhMW-}5-mA$ELt~|ERAG#&x^yM=tOIZFA=n8$s`zgEvBcst7fX2 z)m5!}a5!2DYXj?mj4Qw@?kJnY{tJ>A*oCwHkX>N0aGVXY8|>HY2FS*XII;5~K!5=G zvcUe%t-4jWZckTrR}U>x>H(&w>v8V6_uTV4=iGBo)qHL0H-Gp~yZBFZ*zcN_bGxqT zy5s7G-;4I^ZY%5S@5Qh8-s{apGoH5TyP?-IdeJW2(K0Pt_Y9|Z0~Zg`{efls z^`wF6K=U??jNF`xo~YMZ1Lp$E*=YE<9vJ%Rp1JQvFPhbYz_XfR0N%uFkEQ!)H`>>- zHQ&cce4lc(PW)}Z9(J>Xrq;UY8SC*q_+sh3=y1ZOmayrC(Y`?2Aflc*8|}3%$LL+& z9Zh#Nj3DTld!m^}I%FJ8i;;eD-gG<0ycar-;mvQl-p%>0XLSru_pDnulRH2QzSo+M zY3GwZBweU`e$We>=1jEDH(G(^I;m*QDRY{{Fo%m%ffd+>bSXM~F%}uS8jFle40rCm zX51$E_TTW09-lFjnV&O%!Q5jWyJ9|bC2VTuW00+R7Wc?^F2w`5V2^{EYb` zZht<$-F()3=JH|C!zyimiWb^UQkYEBfT`*NH0huo#C@`ScmF37EMgUwlG&h@x|;wyYvY|9OqZ@QtaGgG@|oSv<*wKui`({HaHg4NmDAfw!gJTI=%D2}R4Ff7WuKd$z67 zn240ikd$n1V0gKHzc6IKlNJ`DeF;G?n*m*(0WjHbbh@VITfQuyLwU)hvntC=YSWS1 zEY@Eeilt*F7osEm@|K#+b<-HAzyyh=d5lBhAe#Oat|YUW0!X8ZRTo2kv>DpA5p1tN zB={N9tUj$-t*8sJ^w27-n6}|*T~qEcaiU!Oa47a4yLiA5=tA~=nzBAk$M0>e) zjRv$AO`{i~XZ50|i!_|uiQk31{~hF=nV)A=Wmj+!4@Q``=*bv7wdLBW+G5T1Y8+cV zP1rqgg91L>kQl_Yx8@&^BFsj!sSI`ajktfs%JV^@JO^;|Z`tVm=AIv}EN`P(*rvzj{{@ajBFu28NI<_ypXm^c^;+v9= z-7RbWSJ4MpvBAyL$ljJr-dD<6{AIM5IMO)6khJc9oY8geOf{Qz5us@thR<4>!HjcAR(`uP))3R+MY{5f%AhR4!?1mhZwd@;-P$h+Z1bEz5Hqif-6C z{4w=Q^eKVDLR1@RSQ$dvpV+-?mkbg(gMBu_2T!vls~jEamqe_s3(=vxh@`fUDs2}! z%J!$}ZpJ$V6fHzcql;SNz0J4|^AHx%V!zjk_KR5(qY_X{DW-KuXSTJw`!w8l<^Sc})GNbaxt39}$fcc4dIindfOGwbV0G$CnSvxxZ5a zbxkY?oUi2yBb{8nkW>;@Cw;J5_zt?Mjg=XXPe)MzO-i4Lfdp+|!Zh#ny z0{=@=;3^d5K<;EVA^IrlLaUs%mQwKO?n!he^Ok>q!NNlAI1@29Hv?oS{D66eZD@$@ z*FCqx)-GDXYhg2UJsVbFhRu4*?abf2rMn&288^Q?Oz0_$hXv9Z%$KLN0%ip)aA}R; zG24Z~VjT^OYsaXwFLe!v!9*flw;Ws`s2pj_ODSFC>D)l57DKC=<{Rfk|bMoKHE=& zp$Pq==~(N;)I8GCCDLyXJuMi3@IQ%27ou}JqRN>;PzN%ch5k9oFkq%^T;P8X}MpQt7`C_X$P}ACVHWYx}#N;Tzs9e4Rohf>ZaR z{kG<8govUjDdsu|UhwUZX>FJ`euD02}lNc~wG4(o)-l^KrJLi|IiF262DI4W5-D}OeMj+nx49?kbZTM!;5*NJRY>n2aH zm3z+F?B>*QGO6`G-x(c9eJ$nc+E+1v)Q`?7SEHO`HpDWL@T$7eC)+pB5`5)P@uz(W zAAY+LpCK0UnPUGq`(`?DF){L~Oz8iJ2IZi0u)U<7l5hNnl!E(4gcFi)yojVvN4se- zKZMp8h{chkqHx;sDI}-lC>^<;Zg|HTQl_yta&6n)qziD39e6Nbbb80y%SOEGkx@o0 z)aZF{_zk#5>biYE=$lv_)2> z{R7gdKchRIL+anjspeqeNK%`NN%7+vZT=_)8a zYh#12C5a>U7>FOmPHSs5i&meuwn6cgLu%}Zi|88CY#l5y0+Zx`{SvXph5hCGC9!hP zVO{mtA9-0xA;4!8-1S8dBvpZeM{1Tt`n*C~Xrx5+K>T2vDEb*=sxrHw_J6pb;dl-z zdAsraP?o_GG8y*v6#K8-5A4@-1In-;ohK}Fr~y11o?%etgu_5%tRh}GWzVxK*v0hNMeNbScpLA|&YmaBn)s>Mw0>20G%Q%% z`If19H%_xgqMH+8aABm#dwXc)Dbe_eoWe=y`lr|6int?9F{b%9fhUoNq`;gKpX36M z$N7hISI*R$$VTWQYM)zM!vwCay?C5lXkb`Q-*uel*OA?%Ifh>~JnLP)Kgis5BpL|e zHQWUUjD~&eztXl5L(_CWXyHMz^SI&09x-;eaK;?%0_T2g7<_0PQXE>Ri_EL$_?zV4 zH6LT*&O5ONn5oNgGvfg$tJg3{EG9Wopr%fDL&StUffNZN%q z-(KuG@BJK{PvQ=3zQ!pPEwYj70eZg|g63nJABG6EE(hF6_*Zq|T_r z7|w#eo)dlEg8s_%u3dN3;F_^JNk)M!_Ft=V=FaS$G?q@kd@lXAGhe`jU2wfk&C|0! z-q~3r$cV|8DJh2?s`Q7L$R<^M7v@wP3v(Kq*Tf9t&qa`*&6?m$E^O+|Hk=KtFXEp& zY;~12yD8Igza%5M|4e8k7tbOuiM0@R{Ykr4PSjUcK0EFR1icu^eP====@_x~K}}*8 zBYF8mef1N6*vW>|53 zL_JNqO8v{KtJE*$mP*np_1|BLx7qQaRKV!DrtR{`*vZ6x43Zxnwk=U@hSh4{8Z~)7 z1!cBAyrho$v2}i9oVuk=Q|x#m6YTI5GBts`B;O827MaS^P$P$mHR7{r`RIm*{U0h? z!)={zz_f1H&^&n|?EGxIE-hDos;r&!3F0X}NU`qT?MQ_Gs1Oz|y2WNCapUXmUqbS= zy5OX4sQn*qx!ug^P;R*$Js$4|QRyHRb7s3g+g(Z3d3I05q>G;GN~X?l{XZ%)AdQB; zQJy6)FkT3rFYVT`6^R;35-W9{iYh5DgES!RLXs*|bwFThys8^{zdE}bcDpV;eHc?< zlLe>a)Xv&kz2)CpTRVE{NWPf?)ucnEdHrR59azIoOP!?|qGUr)1r;xOC&UR< z(FVwcGgq&jLC)xmk6o5{GY4fcC_zV|I+mf>lA+oMh7F!<2L`=Q6bDd}5Ka~KRHuY} zSHciuhBgdK4R(V&r#%5i? zp+vs4LtO!MsV9CjFNzt6BF2g6z!X20dT?&69!$shliDj5$SgXPAXW5eIzAyaaeb^V z?STo98dLi-d@|P@r5ik%OT0)&-Z}+~d0J#eCk6;*4oOYL5C*7V?()k0iET`kP^!a< z5tAByca&)r;ewdiXm?#|O4Y65T>kn1KO24Xi$?GQ)xp6K!$DDSnC#Uj{t;Q^O@lwJ z%(U2L#SVnL3O$5CMZ*GK!oqtlTwQA6<6RMvT*bZ{IRWmY;Xk%51o#3v^`o!-cJ*#a z^7;)$^!fQblplbYN<8K%MkO`%J4#bS*>K{|ZTKtWNk{63I;7!Lz|5&YKI*&r%2nf? z#n~O*jTN%IFKwrh=YN2BD{c3+bK=M%&**p@0dplyOO}(kOD;o25o=b-_PG&=q?!CL zqi9rGu-3_SJvWnY{qCgTfT50OP`yEh>*0z8;uEG7eVSq9M@h*@p z%dqv#m^?M;4#{%-WhKk;uXCNsTaFhmRorMtdb59fynO4Nr^EXSMNqf7Jtd~kQtVQZp+2>wfEZ*nlW7{Uxzfxa0S+MUXxT!k?r|Ju3WZR_U zS5MX#Rth$L1vh0YcXhSCbgG1mbIWJ5mshZ5zBG8-H072jJF&R1R9{^fxZ5fuDQdN1 z9l#4aRtq;!Q*QY!QPfs17sx-=k`ebG1-FsOup`v>lUBAY^<5Gtz^@A8YFwD3L#}wE zFJHK~6QC3P)WVPDrDD{j)2HI61a>JumG0&G@~L6eMMY2v@KSy%-D>^h%LT|w$ETDm zltC}!r(kbs5pSIujJ=GXilSohW&BjS#ib%~ru;_4QOa+0xOY1)t3u{FPb=R8euL} z&sgSB1ud1nsI;ew<5{jRDc?N)NN1a{3yT#~zIgU%D3&yf_W-3&LZW8iBU$}S6 zgR2ynH18Z7dAbuzD+qa)2RqcNfK2)2!ARxGg|Uj@H!7F}ztQOm0eEsd?4{?xw9>kh zi1v^ zj9uuf8qrRYMmfbGF;xk0B?&9}rW2E-ks{$jz`mTjSv?p7vG*h7jUT}+Sb&ZR+JUH@ zB#l(fkdjsTHD>ABlv)zjQN`{gX|$c33jw^i&`*+`dB6ZXgwvg@S(7K%%L*9yB&R^i zKa05fp=Et1Yt{^W$+waFXN|RuX1T%G59imD*7I-ebU9EQlqLEtd!;Dp0CLJAtO|>=uDMoL=Px& z?Ze|3S>7^8W}d#Us&GhB?xU3TVi_sY0MC1ESE6@2?pJI)$&2<)YNRc|^@Y2XmR zP5G+GeYsv3&!)1f5Y(o$+f^ZrmE|o5Z#G^Py$^3`;Nrm2q^j<=DsYJold6KY#K{iM z>XrdE;nxS&NyuAiwV8oKaj2C`14{rY=CAJ&wuda_9b8%zdz1&sgN{`iSO!Qk?P5}u zka>CHLAm40eUPkn+=Gs@%~Aqbd43hpKFr1Sc#dfB59X*Ue);rPNFAXw35rH_rA0*! zLx4Bo+UHOwYu228@OhoAS#vVk=0IrEsC9%~{b3pVe$ofP7Yj?1z_%)5@6VdGc$=kg zUvvo23R}^K+KI>Q(;zOZ9rw87JkIv<^tkvBd<8!b7=X*xuarkl6-xgqDrQ*5IYWJ#d!O@=lun(;M*6wj+12?0=6k% z6}RJ5MhpSml&^~15AE@pak5P1Z#>J!`_ZY47+l!|qfyD-ayzwiA#Yh`iBAe;I}}$r zd1+E&^i^>F%tPMEOOuNBX$Dp%amQa3goNCxKqSUQyIq-5xdR=X<{cvJ6?|1NkCo<~ zcu=lNxsPOi)s)hS)p63iA5RZDxU#7#c&h?;0BDPzUn|^LEd#7jBE|DgUONcmx!wLt zNxn8UeoCGHiOP@DlmJr9pHimuu)TJ$s4|IUS}BSh&wma;Vp%K;@5+^+N;sQ2?LOx@ zNgDO}zAEsPB&;HI^3o(l!i7nr!pfv^5PLsD-m)#1u{D$(nWY(xgm})NjH-f0O_`d1;a~%VL5j z9=Py-w{eM0JTU%~;2n0&3x|2}QRQt{L@R|M^x~jWCCpEi^)8>*kv456FHMpxi1alD zh*Ahq@}xPD@rS(?vQxzmnWxq+7zg*=sv?ZZ~sfY-|v{9urk zKuAO+po&57KroI|8aVNw{S%!kv9d1x&^+ikrGX`YrO~J3{pb|ePhOgosI{0|)uE12 znN;ReC5=+u>X4+9HEZFk@Cz|}>SWPd^aW|fpjT*9g_yT2IFGY^JU#B@rAd-Lry-T3#9Kv~~d{xIg&hw~4WQ$Y24-9}O zA+xNG{5w2wwU;J+qxbdRdp(o2f4XPaF2AXnkG@=|*?5?w}OS>SJX0tBeBKDbayJg_crG+}XE1HHRO@tYLlENaQ_OPEZD)f{x*fcoivDwiZm?UH)-(4(MhhRK0moW1hnfFps141$ zdF+b$%$2Y}fuJ_#2eHn){ujG*O4I&B=ufIQA3O&wFai&+|AN@NTY>31tky|pSobWv z=bhDRT>84B;j3@F6Ouk*CN;gjuK59-?Sui|80I>)V5R||-idz)3{GfI(Me_9CVUgVaA>@9q{U`X0_O)EccWtBB z{!<*j*UO{)_5YopF$v~RxgN)c>3TpqV6pCc9T^sbZ^+c>lj!s4YV=q6PUY1|A4-j0 zXIzE+oa%I9ZQ**-<@({3D8%26jDgHY$jB9H#D%RE*KooMMz!tk* z0uk)BWM|!u6$F`eU$;CzfB_eHf^^r{$umGxxB(7*!>hA1KHG9bZgPEt+jnm2$#TQu z!ZO1wY#QErXtTg|ZD#mgqXkc4Z?R3&z-?O4GMR4p)`lZ_gyUrGEvIFNI-RuwrunR^ zc>%c_jrpcQzM|z>-Js4fJ_l32mqy&n^z($GpY5k*i#40cMp%jISXfdMzo;}Z*wqsB zK8^NaBZ)7Z>O%CtKEgsDEM{Y1I3jzKzZs~wUwOkrJYhMtCL#ts(G9lgdN(Ns=~%Yr zL3>DZp@Kep={2|GA~NV&hU344AfSuTz$YK!Z}}+ZCr#3gbq&!%swwr+SV#(SO;HH5 zle)k|`JM=+Iw1E?YUypIr9#y*ZRi#8=6ZFsc$C@HsJ$I-YW_AqHF*pD{!kV=cJy7( zC9fXoxs&w+fKh#+8ZvKnmsNmldNmxZ7oz@DYHKfu%t7pRZm-hYyxr)+ZP+W(iLgFTkM z+%v?QAewzAv|2Y2W_dwRqZNX32I~a^=yN7BpO4)-Un)Fn{?X;#?HfG4Xy3y)+JAxX ze!CH$Ax`m`uqpMxJWA{rGxl@QVFYpfWw5*phTcohG{hN0EL=oK_DCJsD?0I;gq#DS z2j)?HmwAf;i?*U^-wnN%(KDZ=W_L%2TA}A5W^5$quS5sL8QXG<-j!&-A9vO7MUU%l zE5y>oudjP9RePb|)7LdSH2mJTdI|Vnyb{f97>?m-SiXRMM%MxZgX(l~@Mz4Yfwphr za5gy%JsU>{1Gm*^YOR}e73`+aFK??C9a(qXz=0ifQ47%HU(@woH^tN z@PZ9m-hk9clb?>y7&Z@#{l=yhn2naLVG%`_4<-cZi313u5e7DF{4XZEclnWM*3|6u za4LG-xNSjJh|5D?+%y$U=|(f$KzoNaHIH03?m#5p!I_!BLsU+K>fMbFSxz?$8i@2= za^<~fCJfeVr)qHcz3A!u#fIT|uGgS|)HXcGnY!8vpeXVCgQZrccq_f=sB%SVqWzzt zE7762-K-CS`sw@yg*bYQ#^6IxX0p=gMF(xo*$A}_0}|JbUi66J^rBCA2zETZp&MQ3 z2iRC#($k2}*D*{;#L^pZOY7F{o;e*I(!#)PWT&D>EGX4MJ?wNFsp3Jf{DcLa^AM`h z)E(w$AYI3&>CaAeeIwM}#_bNN)MIdgu5UDCO0FfXpmEE>`iZOP;f8McTGOV1B)!}x z0AW5G9l&6)B6s*=42>R4ZfmR~3*h%)JU&U^zyx6+1(TQ?YE8$KKk8|l=^<3~aY7X| z$Ju})+VJ2(@Ab!Chz@m)ZUaIwfJH3v!Q=p)A+O&ca70g;LD2P2&(GtuUys+6b=TXN z??q42oxB6Mvq6vS*+5(`+K=pvCIqT2?VHl2(seoZr?z1|iytb>wXxz)K5_AT+932qeLKjTK2*BjY7Vf&)FgluL zH#A+Ru!?v4acY^S+&Ap?*sR@)_888s9&!oM{@9!VzfeWX(Jg=@XvAxHt~igQQ&6n{ zRuyd^H1m;rijL&YI$8&;a2l9 z2jr%-Fxp4t300fBj-%}!xv}@@<14tyJa2yA{GRy}^T+L<;*dAi{t12iF@5yt<9+(z z-j5t!7|l?tl%wFi;qBh#&EDfp-Zj5}*Zj#{-ril_);-?NUEaps&^*G&U_Q@#0e^em zywJXmmdy+3$#=~koBt>7hDLmOH~2T+jc?L9?sqAL*Zx%+2Ym~pgR)w3`5kOoaYBWl z5T7CIBkqeQL_QPW2Yf?~J5AS4HJ#u3gmN;ydnVW7jNrdYPOv3T8yRo-$L z-H*QZZJF{%U;9p7S_ix^g;^gV8OPesfubmB#}!G7rV@v~JK9T%3M+K!%7rhHR~6w9 z>=MO0muC~&-t?%$TkIbmLZko*FDwn5;?ebn9NqgnHM%3Cj&7lUbQw^K2lw3} p2lsnBH8_?H&WIjOLCNEiN8{8Y#X%bs%g*W)z$dXT8Njev|No}Wg^d6J diff --git a/docs/.doctrees/index.doctree b/docs/.doctrees/index.doctree deleted file mode 100644 index 969e27c80d9607820cf1fc9912503b278ad739cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7827 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 O=9J4b@{;0e>Hh$YFv2$g diff --git a/docs/.nojekyll b/docs/.nojekyll deleted file mode 100644 index e69de29..0000000 diff --git a/docs/_sources/api.rst.txt b/docs/_sources/api.rst.txt deleted file mode 100644 index dc1ce80..0000000 --- a/docs/_sources/api.rst.txt +++ /dev/null @@ -1,16 +0,0 @@ -.. _api_reference: - -API Reference -============= - -.. autosummary:: - :toctree: generated - - primerdriver.checks.PrimerChecks - primerdriver.checks.SequenceChecks - primerdriver.exceptions.PrimerCheckError - primerdriver.input_handler.interactive_handler - primerdriver.input_handler.single_command_handler - primerdriver.output_handler.interactive_saver - primerdriver.output_handler.single_command_saver - primerdriver.primer_design.PrimerDesign \ No newline at end of file diff --git a/docs/_sources/generated/primerdriver.checks.PrimerChecks.rst.txt b/docs/_sources/generated/primerdriver.checks.PrimerChecks.rst.txt deleted file mode 100644 index 5793255..0000000 --- a/docs/_sources/generated/primerdriver.checks.PrimerChecks.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -primerdriver.checks.PrimerChecks -================================ - -.. currentmodule:: primerdriver.checks - -.. autodata:: PrimerChecks \ No newline at end of file diff --git a/docs/_sources/generated/primerdriver.checks.SequenceChecks.rst.txt b/docs/_sources/generated/primerdriver.checks.SequenceChecks.rst.txt deleted file mode 100644 index b7529ef..0000000 --- a/docs/_sources/generated/primerdriver.checks.SequenceChecks.rst.txt +++ /dev/null @@ -1,27 +0,0 @@ -primerdriver.checks.SequenceChecks -================================== - -.. currentmodule:: primerdriver.checks - -.. autoclass:: SequenceChecks - - - .. automethod:: __init__ - - - .. rubric:: Methods - - .. autosummary:: - - ~SequenceChecks.__init__ - ~SequenceChecks.are_melting_temps_close - ~SequenceChecks.is_gc_clamped - ~SequenceChecks.is_valid_gc_content - ~SequenceChecks.is_valid_length - ~SequenceChecks.is_valid_melting_temp - - - - - - \ No newline at end of file diff --git a/docs/_sources/generated/primerdriver.exceptions.PrimerCheckError.rst.txt b/docs/_sources/generated/primerdriver.exceptions.PrimerCheckError.rst.txt deleted file mode 100644 index 5fa21ce..0000000 --- a/docs/_sources/generated/primerdriver.exceptions.PrimerCheckError.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -primerdriver.exceptions.PrimerCheckError -======================================== - -.. currentmodule:: primerdriver.exceptions - -.. autoexception:: PrimerCheckError \ No newline at end of file diff --git a/docs/_sources/generated/primerdriver.input_handler.interactive_handler.rst.txt b/docs/_sources/generated/primerdriver.input_handler.interactive_handler.rst.txt deleted file mode 100644 index 2f55176..0000000 --- a/docs/_sources/generated/primerdriver.input_handler.interactive_handler.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -primerdriver.input\_handler.interactive\_handler -================================================ - -.. currentmodule:: primerdriver.input_handler - -.. autofunction:: interactive_handler \ No newline at end of file diff --git a/docs/_sources/generated/primerdriver.input_handler.single_command_handler.rst.txt b/docs/_sources/generated/primerdriver.input_handler.single_command_handler.rst.txt deleted file mode 100644 index cd16f0c..0000000 --- a/docs/_sources/generated/primerdriver.input_handler.single_command_handler.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -primerdriver.input\_handler.single\_command\_handler -==================================================== - -.. currentmodule:: primerdriver.input_handler - -.. autofunction:: single_command_handler \ No newline at end of file diff --git a/docs/_sources/generated/primerdriver.output_handler.interactive_saver.rst.txt b/docs/_sources/generated/primerdriver.output_handler.interactive_saver.rst.txt deleted file mode 100644 index 410703a..0000000 --- a/docs/_sources/generated/primerdriver.output_handler.interactive_saver.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -primerdriver.output\_handler.interactive\_saver -=============================================== - -.. currentmodule:: primerdriver.output_handler - -.. autofunction:: interactive_saver \ No newline at end of file diff --git a/docs/_sources/generated/primerdriver.output_handler.single_command_saver.rst.txt b/docs/_sources/generated/primerdriver.output_handler.single_command_saver.rst.txt deleted file mode 100644 index e95bf71..0000000 --- a/docs/_sources/generated/primerdriver.output_handler.single_command_saver.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -primerdriver.output\_handler.single\_command\_saver -=================================================== - -.. currentmodule:: primerdriver.output_handler - -.. autofunction:: single_command_saver \ No newline at end of file diff --git a/docs/_sources/generated/primerdriver.primer_design.PrimerDesign.rst.txt b/docs/_sources/generated/primerdriver.primer_design.PrimerDesign.rst.txt deleted file mode 100644 index 565808f..0000000 --- a/docs/_sources/generated/primerdriver.primer_design.PrimerDesign.rst.txt +++ /dev/null @@ -1,41 +0,0 @@ -primerdriver.primer\_design.PrimerDesign -======================================== - -.. currentmodule:: primerdriver.primer_design - -.. autoclass:: PrimerDesign - - - .. automethod:: __init__ - - - .. rubric:: Methods - - .. autosummary:: - - ~PrimerDesign.__init__ - ~PrimerDesign.calculate_gc_content - ~PrimerDesign.calculate_melting_temperature - ~PrimerDesign.calculate_mismatch - ~PrimerDesign.characterize_primer - ~PrimerDesign.deletion - ~PrimerDesign.dna_based - ~PrimerDesign.get_reverse_complement - ~PrimerDesign.insertion - ~PrimerDesign.is_gc_end - ~PrimerDesign.main - ~PrimerDesign.protein_based - ~PrimerDesign.substitution - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~PrimerDesign.lut - ~PrimerDesign.df - - \ No newline at end of file diff --git a/docs/_sources/gettingstarted.rst.txt b/docs/_sources/gettingstarted.rst.txt deleted file mode 100644 index 04891ec..0000000 --- a/docs/_sources/gettingstarted.rst.txt +++ /dev/null @@ -1,491 +0,0 @@ -.. _getting_started: - -Getting Started -=============== - -.. _requirements: - -Requirements ------------- - -To use *PrimerDriver*, you should have: - - `Python 3.8.1 or above `_ - - `Poetry `_ - -Additional packages can be installed via the ``pyproject.toml`` file, which will be covered in the next section. `poetry` will automatically handle creating an isolated virtual environment for the project. - - -.. _installaton: - -Installation ------------- - -First, download the latest release from `GitHub `_ and extract it to your local machine. Open a terminal and ``cd`` to where you extracted the files. Install the required packages via - -.. code-block:: console - - $ poetry install - -Now you are ready to design mutagenic primers. - - -.. _quickstart: - -Quickstart ----------- - -To make sure everything is in working order, run the following commands - -.. code-block:: console - - $ poetry run python --version - $ poetry run python -m primerdriver -h - -If no errors occur, then you are good to go. The PrimerDriver CLI can cater to first-time users by providing an interactive mode which allows the user to go through the settings step-by-step. This is triggered by passing the ``-i`` flag when running the program with no additional arguments - -.. code-block:: console - - $ poetry run python -m primerdriver -i - -The user is greeted with a customized header and the first question:: - - ---. .------------. - ||||\ /||||||||||||||\ - Primer · Driver v1.3.2 - \|||||||||||/ \||||||| - `---------` `------ - - (c) 2020 Kenneth Domingo & Nomer Gutierrez - - Enter primer mode [dna/pro/char]: _ - -Here, the user is asked for the desired mode, from DNA-based design (``dna``), protein-based design (``pro``), or characterization of a user-provided sequence (``char``). Try going through all the questions with some example answers as follows:: - - ---. .------------. - ||||\ /||||||||||||||\ - Primer · Driver v1.3.2 - \|||||||||||/ \||||||| - `---------` `------ - - (c) 2020 Kenneth Domingo & Nomer Gutierrez - - Enter primer mode [dna/pro/char]: char - Enter primer sequence: CGATCGTACGGACGCAGCTCGTAGCTACGATCGATCGATCGATCGTACGTACGTACGATCGTACGATCGATCGTACG - Enter mutation type [s/i/d]: s - Enter number of mismatched bases: 1 - -(*Note*: All inputs are case-insensitive). The resulting characterization is:: - - | | Primer 1 | - |------------------+-------------------------------------------------------------------------------| - | Forward | CGATCGTACGGACGCAGCTCGTAGCTACGATCGATCGATCGATCGTACGTACGTACGATCGTACGATCGATCGTACG | - | Reverse | CGTACGATCGATCGTACGATCGTACGTACGTACGATCGATCGATCGATCGTAGCTACGAGCTGCGTCCGTACGATCG | - | Fwd length | 77 bp | - | Rev length | 77 bp | - | Fwd GC content | 54.55% | - | Rev GC content | 54.55% | - | Fwd melting temp | 94.76 C | - | Rev melting temp | 94.76 C | - | Fwd mol. weight | 10083.12 g/mol | - | Rev mol. weight | 10074.11 g/mol | - | Fwd mismatch | 1.30% | - | Rev mismatch | 1.30% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - Save? [y/n] _ - -In the last line, the user is asked whether or not the characterization should be saved. If the answer is no (``n``), the program terminates. Otherwise, a final prompt appears:: - - Enter filename: _ - -In this case, the program will automatically detect the file extension and save to that format. Supported file formats are ``.csv``, ``.txt``, ``.html``, and ``.fasta``. (*Note*: Primer characterizations cannot be saved as FASTA). Aside from manually entering a DNA sequence at the prompt, the user can instead provide the filename of a FASTA file containing the sequence, provided that the correct relative location is entered. By default, PrimerDriver will look in the same directory as ``primerdriver.py``. - -Let's try another example. Suppose we have a FASTA file named ``read.fasta`` in the root directory. The content of the file is as follows:: - - >Seq1 - CGATCGTACGGACGCAGCTCGTAGCTACGATCGATCGATCGATCGTACGTACGTACGATCGTACGATCGATCGTACG - -Enter the following at the interactive CLI:: - - - ---. .------------. - ||||\ /||||||||||||||\ - Primer · Driver v1.3.2 - \|||||||||||/ \||||||| - `---------` `------ - - (c) 2020 Kenneth Domingo & Nomer Gutierrez - - Enter primer mode [dna/pro/char]: dna - Enter primer sequence: read.fasta - Enter mutation type [s/i/d]: s - Enter target base: C - Enter replacement for target base: G - Enter position of target: 25 - -The output should yield:: - - | | Primer 1 | - |------------------+---------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATC | - | Reverse | GTACGGACGCAGCTCGTAGGTACGATCGATC | - | Fwd length | 27 bp | - | Rev length | 31 bp | - | Fwd GC content | 55.56% | - | Rev GC content | 58.06% | - | Fwd melting temp | 76.05 C | - | Rev melting temp | 77.28 C | - | Fwd mol. weight | 3554.21 g/mol | - | Rev mol. weight | 4102.70 g/mol | - | Fwd mismatch | 3.70% | - | Rev mismatch | 3.23% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 2 | - |------------------+----------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATC | - | Reverse | CGTACGGACGCAGCTCGTAGGTACGATCGATC | - | Fwd length | 27 bp | - | Rev length | 32 bp | - | Fwd GC content | 55.56% | - | Rev GC content | 59.38% | - | Fwd melting temp | 76.05 C | - | Rev melting temp | 77.69 C | - | Fwd mol. weight | 3554.21 g/mol | - | Rev mol. weight | 4213.80 g/mol | - | Fwd mismatch | 3.70% | - | Rev mismatch | 3.12% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 3 | - |------------------+-------------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATC | - | Reverse | GATCGTACGGACGCAGCTCGTAGGTACGATCGATC | - | Fwd length | 27 bp | - | Rev length | 35 bp | - | Fwd GC content | 55.56% | - | Rev GC content | 57.14% | - | Fwd melting temp | 76.05 C | - | Rev melting temp | 77.87 C | - | Fwd mol. weight | 3554.21 g/mol | - | Rev mol. weight | 4626.18 g/mol | - | Fwd mismatch | 3.70% | - | Rev mismatch | 2.86% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 4 | - |------------------+--------------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATC | - | Reverse | CGATCGTACGGACGCAGCTCGTAGGTACGATCGATC | - | Fwd length | 27 bp | - | Rev length | 36 bp | - | Fwd GC content | 55.56% | - | Rev GC content | 58.33% | - | Fwd melting temp | 76.05 C | - | Rev melting temp | 78.28 C | - | Fwd mol. weight | 3554.21 g/mol | - | Rev mol. weight | 4737.28 g/mol | - | Fwd mismatch | 3.70% | - | Rev mismatch | 2.78% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 5 | - |------------------+----------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATC | - | Reverse | GTACGGACGCAGCTCGTAGGTACGATCGATCG | - | Fwd length | 27 bp | - | Rev length | 32 bp | - | Fwd GC content | 55.56% | - | Rev GC content | 59.38% | - | Fwd melting temp | 76.05 C | - | Rev melting temp | 77.69 C | - | Fwd mol. weight | 3554.21 g/mol | - | Rev mol. weight | 4253.83 g/mol | - | Fwd mismatch | 3.70% | - | Rev mismatch | 3.12% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 6 | - |------------------+--------------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATC | - | Reverse | GATCGTACGGACGCAGCTCGTAGGTACGATCGATCG | - | Fwd length | 27 bp | - | Rev length | 36 bp | - | Fwd GC content | 55.56% | - | Rev GC content | 58.33% | - | Fwd melting temp | 76.05 C | - | Rev melting temp | 78.28 C | - | Fwd mol. weight | 3554.21 g/mol | - | Rev mol. weight | 4777.31 g/mol | - | Fwd mismatch | 3.70% | - | Rev mismatch | 2.78% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 7 | - |------------------+----------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATC | - | Reverse | CGGACGCAGCTCGTAGGTACGATCGATCGATC | - | Fwd length | 27 bp | - | Rev length | 32 bp | - | Fwd GC content | 55.56% | - | Rev GC content | 59.38% | - | Fwd melting temp | 76.05 C | - | Rev melting temp | 77.69 C | - | Fwd mol. weight | 3554.21 g/mol | - | Rev mol. weight | 4213.80 g/mol | - | Fwd mismatch | 3.70% | - | Rev mismatch | 3.12% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 8 | - |------------------+-------------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATC | - | Reverse | GTACGGACGCAGCTCGTAGGTACGATCGATCGATC | - | Fwd length | 27 bp | - | Rev length | 35 bp | - | Fwd GC content | 55.56% | - | Rev GC content | 57.14% | - | Fwd melting temp | 76.05 C | - | Rev melting temp | 77.87 C | - | Fwd mol. weight | 3554.21 g/mol | - | Rev mol. weight | 4626.18 g/mol | - | Fwd mismatch | 3.70% | - | Rev mismatch | 2.86% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 9 | - |------------------+--------------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATC | - | Reverse | CGTACGGACGCAGCTCGTAGGTACGATCGATCGATC | - | Fwd length | 27 bp | - | Rev length | 36 bp | - | Fwd GC content | 55.56% | - | Rev GC content | 58.33% | - | Fwd melting temp | 76.05 C | - | Rev melting temp | 78.28 C | - | Fwd mol. weight | 3554.21 g/mol | - | Rev mol. weight | 4737.28 g/mol | - | Fwd mismatch | 3.70% | - | Rev mismatch | 2.78% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 10 | - |------------------+--------------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATC | - | Reverse | GTACGGACGCAGCTCGTAGGTACGATCGATCGATCG | - | Fwd length | 27 bp | - | Rev length | 36 bp | - | Fwd GC content | 55.56% | - | Rev GC content | 58.33% | - | Fwd melting temp | 76.05 C | - | Rev melting temp | 78.28 C | - | Fwd mol. weight | 3554.21 g/mol | - | Rev mol. weight | 4777.31 g/mol | - | Fwd mismatch | 3.70% | - | Rev mismatch | 2.78% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 11 | - |------------------+--------------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATC | - | Reverse | CGGACGCAGCTCGTAGGTACGATCGATCGATCGATC | - | Fwd length | 27 bp | - | Rev length | 36 bp | - | Fwd GC content | 55.56% | - | Rev GC content | 58.33% | - | Fwd melting temp | 76.05 C | - | Rev melting temp | 78.28 C | - | Fwd mol. weight | 3554.21 g/mol | - | Rev mol. weight | 4737.28 g/mol | - | Fwd mismatch | 3.70% | - | Rev mismatch | 2.78% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 12 | - |------------------+---------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATCG | - | Reverse | GTACGGACGCAGCTCGTAGGTACGATCGATC | - | Fwd length | 28 bp | - | Rev length | 31 bp | - | Fwd GC content | 57.14% | - | Rev GC content | 58.06% | - | Fwd melting temp | 77.76 C | - | Rev melting temp | 78.17 C | - | Fwd mol. weight | 3705.34 g/mol | - | Rev mol. weight | 4102.70 g/mol | - | Fwd mismatch | 3.57% | - | Rev mismatch | 3.23% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 13 | - |------------------+----------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATCG | - | Reverse | CGTACGGACGCAGCTCGTAGGTACGATCGATC | - | Fwd length | 28 bp | - | Rev length | 32 bp | - | Fwd GC content | 57.14% | - | Rev GC content | 59.38% | - | Fwd melting temp | 77.76 C | - | Rev melting temp | 78.58 C | - | Fwd mol. weight | 3705.34 g/mol | - | Rev mol. weight | 4213.80 g/mol | - | Fwd mismatch | 3.57% | - | Rev mismatch | 3.12% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 14 | - |------------------+-------------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATCG | - | Reverse | GATCGTACGGACGCAGCTCGTAGGTACGATCGATC | - | Fwd length | 28 bp | - | Rev length | 35 bp | - | Fwd GC content | 57.14% | - | Rev GC content | 57.14% | - | Fwd melting temp | 77.76 C | - | Rev melting temp | 78.76 C | - | Fwd mol. weight | 3705.34 g/mol | - | Rev mol. weight | 4626.18 g/mol | - | Fwd mismatch | 3.57% | - | Rev mismatch | 2.86% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 15 | - |------------------+--------------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATCG | - | Reverse | CGATCGTACGGACGCAGCTCGTAGGTACGATCGATC | - | Fwd length | 28 bp | - | Rev length | 36 bp | - | Fwd GC content | 57.14% | - | Rev GC content | 58.33% | - | Fwd melting temp | 77.76 C | - | Rev melting temp | 79.17 C | - | Fwd mol. weight | 3705.34 g/mol | - | Rev mol. weight | 4737.28 g/mol | - | Fwd mismatch | 3.57% | - | Rev mismatch | 2.78% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 16 | - |------------------+----------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATCG | - | Reverse | GTACGGACGCAGCTCGTAGGTACGATCGATCG | - | Fwd length | 28 bp | - | Rev length | 32 bp | - | Fwd GC content | 57.14% | - | Rev GC content | 59.38% | - | Fwd melting temp | 77.76 C | - | Rev melting temp | 78.58 C | - | Fwd mol. weight | 3705.34 g/mol | - | Rev mol. weight | 4253.83 g/mol | - | Fwd mismatch | 3.57% | - | Rev mismatch | 3.12% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 17 | - |------------------+--------------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATCG | - | Reverse | GATCGTACGGACGCAGCTCGTAGGTACGATCGATCG | - | Fwd length | 28 bp | - | Rev length | 36 bp | - | Fwd GC content | 57.14% | - | Rev GC content | 58.33% | - | Fwd melting temp | 77.76 C | - | Rev melting temp | 79.17 C | - | Fwd mol. weight | 3705.34 g/mol | - | Rev mol. weight | 4777.31 g/mol | - | Fwd mismatch | 3.57% | - | Rev mismatch | 2.78% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 18 | - |------------------+-------------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATCG | - | Reverse | GTACGGACGCAGCTCGTAGGTACGATCGATCGATC | - | Fwd length | 28 bp | - | Rev length | 35 bp | - | Fwd GC content | 57.14% | - | Rev GC content | 57.14% | - | Fwd melting temp | 77.76 C | - | Rev melting temp | 78.76 C | - | Fwd mol. weight | 3705.34 g/mol | - | Rev mol. weight | 4626.18 g/mol | - | Fwd mismatch | 3.57% | - | Rev mismatch | 2.86% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 19 | - |------------------+--------------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATCG | - | Reverse | CGTACGGACGCAGCTCGTAGGTACGATCGATCGATC | - | Fwd length | 28 bp | - | Rev length | 36 bp | - | Fwd GC content | 57.14% | - | Rev GC content | 58.33% | - | Fwd melting temp | 77.76 C | - | Rev melting temp | 79.17 C | - | Fwd mol. weight | 3705.34 g/mol | - | Rev mol. weight | 4737.28 g/mol | - | Fwd mismatch | 3.57% | - | Rev mismatch | 2.78% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - | | Primer 20 | - |------------------+--------------------------------------| - | Forward | GCAGCTCGTAGGTACGATCGATCGATCG | - | Reverse | GTACGGACGCAGCTCGTAGGTACGATCGATCGATCG | - | Fwd length | 28 bp | - | Rev length | 36 bp | - | Fwd GC content | 57.14% | - | Rev GC content | 58.33% | - | Fwd melting temp | 77.76 C | - | Rev melting temp | 79.17 C | - | Fwd mol. weight | 3705.34 g/mol | - | Rev mol. weight | 4777.31 g/mol | - | Fwd mismatch | 3.57% | - | Rev mismatch | 2.78% | - | Fwd ends in G/C | True | - | Rev ends in G/C | True | - - Too many results; truncating output... - - Save? [y/n] _ - -Notice that the output is silenced if the number of potential primers exceed 20. In this case, the exceeding primers are still stored and can be accessed by saving the results. The above example can be run in single command mode via - -.. code-block:: console - - $ poetry run python -m primerdriver --mode dna --sequence read.fasta --mutation-type sub --target C --position 25 --replacement G --save primers.fasta - -or in shorthand form via - -.. code-block:: console - - $ poetry run python -m primerdriver -M dna -s read.fasta -m sub -t C -p 25 -r G --save primers.fasta - -The ``--save`` argument is optional and can be omitted if the first 20 primers suffice for the user. As you can see, this can become a powerful tool especially when batch designing primers, by including it as part of a shell script. - -Protein-based design works similarly and uses *Homo sapiens* expression system by default - -.. code-block:: console - - $ poetry run python -m primerdriver --mode pro --sequence CAISBVAIVBAIVBCAICBASCBAVQVFEWQEPFQEHVSDBVSKZDBNCSD --mutation-type sub -t Q -p 26 -r R diff --git a/docs/_sources/index.rst.txt b/docs/_sources/index.rst.txt deleted file mode 100644 index 8d4a9ae..0000000 --- a/docs/_sources/index.rst.txt +++ /dev/null @@ -1,32 +0,0 @@ -.. PrimerDriver documentation master file, created by - sphinx-quickstart on Mon Feb 24 21:07:35 2020. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -.. image:: _static/PrimerDriver_logo.png - -.. toctree:: - :maxdepth: 3 - :caption: Contents: - - gettingstarted - software - api - Source Code - Official Website - - -.. _introduction: - -Introduction -============ - -*PrimerDriver* is a user-friendly bioinformatics platform specifically designed to generate primers for site-directed mutagenesis experiments into workflows with an easy-to-use command-line interface. “Traversing” *PrimerDriver* lanes, users can generate possible mutagenic primers upon input of a DNA sequence (``DNA``), design primers for an array of species codon expression systems through direct mutation of the amino acid (``PRO``), characterize and report user-designed primers (``CHAR``). - - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` diff --git a/docs/_sources/software.rst.txt b/docs/_sources/software.rst.txt deleted file mode 100644 index 0a281de..0000000 --- a/docs/_sources/software.rst.txt +++ /dev/null @@ -1,149 +0,0 @@ -.. _software_features: - -Software Features -================= - - -.. _parameter_setting: - -Parameter Setting ------------------ - -The user parameter setting is possible for the inputs in PrimerDriver. The tool designs the desired mutagenic primer pairs according to user input and performs site-directed mutagenesis from single- or multiple-bases within the sequence. - -When running ``primerdriver`` as standalone CLI, the user needs to modify the ``primerdriver/settings.json`` file to define custom values for the required parameters. The parameter defaults are as follows - -.. code-block:: json - - { - "Tm_range_min": 75, - "Tm_range_max": 85, - "gc_range_min": 40, - "gc_range_max": 60, - "length_min": 25, - "length_max": 45, - "flank5_range_min": 11, - "flank5_range_max": 21, - "flank3_range_min": 11, - "flank3_range_max": 21, - "forward_overlap5": 9, - "forward_overlap3": 9, - "terminate_gc" : true, - "center_mutation": false, - "primer_mode": "overlapping", - "expression_system": "Homo sapiens" - } - -When running ``primerdriver`` as part of a larger Python script, you can instead import the settings via - -.. code-block:: python - - from primerdriver.config import get_settings - - settings = get_settings() - -then access/modify the individual parameters using dot notation, e.g. - -.. code-block:: python - - settings.terminate_gc = False - settings.length_min = 20 - settings.length_max = 55 - -then pass the updated settings when initializing the module - -.. code-block:: python - - from primerdriver.primer_design import PrimerDesign - - pd = PrimerDesign(*args, settings=settings) - -The following definitions and considerations should be made for designing mutagenic primers: - -- ``Tm_range`` - This is where the user sets the minimum and maximum allowable melting temperature (:math:`T_m`) of primers in a PCR reaction. Depending on the type of mutation, the melting temperature is calculated differently. Estimation of the Tm of primers for base substitution is defined by - - .. math:: - - T_m = 81.5 + 0.41(\%\textrm{GC}) - \frac{675}{N} - \%\textrm{mismatch} - - where :math:`N` is the primer length in base pairs, and :math:`\%\textrm{GC}, \%\textrm{mismatch}` are whole numbers. A modified formula is used for calculating :math:`T_m` that intends to introduce deletions or insertions: - - .. math:: - - T_m = 81.5 + 0.41(\%\textrm{GC}) - \frac{675}{N} - -- ``gc_range`` - The GC content is calculated as - - .. math:: - - \%\textrm{GC} = \frac{\textrm{# of G + # of C}}{\textrm{total length of primer}} - - and the range of GC in a primer is to be set by the user. The user can follow the percentage as prescribed by a protocol or the user can just set the range from 0 to 100. - -- ``length`` - The total length of the desired mutagenic primer - -- ``flank5_range`` - This is the length of the region that is to the left of the mutation when read in standard sequence notation. - -- ``flank3_range`` - This refers to the length of the region that is to the right of the mutation when read in 5' to 3'. - -- ``forward_overlap5`` - When generating overlapping primers, this is where the user sets the minimum number of overlapping bases of the 5’ end of the forward primer to the reverse primer. - -- ``forward_overlap3`` - This sets the minimum number of base overlaps from the 3' end of the forward primer to the reverse primer. - -- ``terminate_gc`` - Set in boolean values, this refers to having a GC clamp at both ends of the primers. - -- ``center_mutation`` - This sets the mutation is centered within the primer. Flanking regions differ by at most one base pair. These are set by boolean values. - -- ``primer_mode`` - This gives the user the choice of having overlapping primers or complementary primers. Both modes use protocol from QuikChange™ Site-Directed Mutagenesis Kit by Stratagene®. - - - Complementary - The values for the flanking regions will just be applied to the forward primer. The reverse primers will just be the reverse complements of the forward primers. - - - Overlapping - Both the forward and reverse primers will be screened for the flanking region values. Forward overlap values will also be applied when generating the primer pairs. - -- ``expression_system`` - When using Protein based primer design, the user can choose from a number of commonly used model organisms used in molecular and cell biology. This enables the tool to generate primers that use the optimum codon for the chosen organism. - - -.. _input_format: - -Input format ------------- - -In PrimerDriver, sequences can be added either by copying/pasting into the input cursor. The tool also accepts one or multiple sequences when uploaded in FASTA format. The input sequence must match the DNA sequence that will serve as template for PCR. Before processing the sequences, a basic input emending (FASTA headers, unsupported characters) is performed. - - -.. _interface: - -Choosing an interface ---------------------- - -As a powerful and useful feature in DNA engineering, the Web server offers the possibility of designing primers for site-directed mutagenesis. The tool can accommodate both DNA and protein sequences to incorporate base pair insertions, deletions, and substitutions as specified by the user. This can cater to an array of primer designs for site-directed single mutagenesis. PrimerDriver also lets you choose from two different command-line modes: - -- Interactive mode - Guides the user through a step-by-step input prompt. Primarily aimed towards demonstration purposes and first-time users of the program. - -- Single-command mode - Requires the user to include all the inputs and arguments needed to perform the task in a single command. Primarily aimed towards more advanced tasks such as batch primer design. - - -.. _design_mode: - -Choosing primer design modes ----------------------------- - -PrimerDriver asks you to choose from three different modes when using the command-line interface: - - Primer characterization - - DNA-based primer design - - Protein-based primer design diff --git a/docs/_static/PrimerDriver_logo.png b/docs/_static/PrimerDriver_logo.png deleted file mode 100644 index 3b5cf71af0dc12bb70a7c928f7ebd126b420ed71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430680 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%0D5N>qTJ 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 z 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℘1^YQoCCk;;=}sfV%Gv`Qm>@G+W)C zMBcNQX>B&L0}Y^|S+HU_A4k~`R$ym{iDq?{Gp9Z$J=%Ai-+u`aC|~(b>^7&@L2)Bl zhYzowtJnkC@5+*#{NCdtDmpW3Pk_Ai$#a(HFE(PZUhBlabM{!`U87>qF)v}anTbm9 z=AM?piJ|7GTE+p$)gFe)~Ed{PB94q+#D^TjEG7sa|i3q9+|>2l$itB6e> zjkmNr5rL>@kYR$J$p{^;-LeotP>e7AJ4o2t_w6X)QF7TpZnSyJN<{PG+^WFx*L!6z^>d=+BNXY4t0YDw*rdcMKcFaam|;?q&kp>t(? z#Pok``Z&($nPbPP$<%1fx|>V+tHL%H2e~K%4XsfVsPmm>7vW5{K^F^V;yrU=3M%t^ zn@9O8)?O^!=I;95Om?Pzw~d8y4)D#?*?H6r% z@f;2}cXaGOJ_i@OH@8y;d=UdX0M(nd`_BP92+Th{1<3gcz*4_UyDVf>z1<0yoZjcz zu$+|B=9duPIj%k!q35i9|Wfd7s8;68#UlS<_+Wo+|sbJd(3-qBvc1ud>LVqjeOhW{1a=oRU^E5z+?$4Hd~t@ys~8!J~X z^}4aVTv7RAk2pqKtzc7po1AvM@i4o$6gqOiZk3Y3%;S<`gda z>M@Ep3l90IiG0pw!_U|H<=+)eBB6e?UtVMI>Z8MHucgYC$6^&JR52bw?%OuD_~-gl z9}|$8pFN!LcsH?8*|u8NZ6zXH-4j@PtzA5vrdqln)9w(rH^>VWi|$+6KP=1H>Xopa zF1}dr&Ka_O0p0vi8kr0>NuxGq6Yy zoDeoSz)4Q7jY+5l3*-zw~Wm+%^JtI90aiIZ!r7WAJuiN}QA8NU2JI%z)oUDKJVSw!S{fbjEX zsBkgFoq#lJlMStm<`8D`A!qdXL8nC1Ohzxjf&M1lECYc-Ydh5}_IS~S_LWnmhC5nD zHY0fZobMufC;#>Me|*|Dqa14{(2NT7-o$$gMdA%&A_SXJYSP@3ID!Qru~3E?(rzX8 z*G`(-Q!7*f7W+d%{0ZI!b>ez(g#xfkI{}^TWF}N40_t=O;yko1Vcg9qi`!>(&;pGf z!CEB9u@ZNP*x>6&X(rv@EQ022x=~JFsHRdLW@bLEY?F=GNHX^bEygBC4#59t z_LK;a%s;M6%$jDt89_NlAx}QdMS%{UHOrpgZ zr0*y7t@JOKGGsJ3Lp>Gk^}AvBsSc3Rj`-D~W-1-0aUhPS(*(;Qv=ia{zJ`dSe@)zC z7hK!IoQdhF+8VC>nd3RoUS^G(5Pnrlq=;IQSUX7Zf`sb4K>uXHoCxMz_y^HXG`Me> zt;azDdeS(QBQ(L>2C>exn4Iv~T;b4ZxA1MZ1p@JxH{)We`*l*fgCzhOPiQtKKgXHx z{&7bU|85?1v7^4R$>e@uhsU$FZ}4w9Jj_88sU{aB_Hy=btNLH?GbXK=HgGmM*`T?M zY;n{2Mc2^1x#7 z4*g9CD}l3=T5XQvQw2k}r_HM0&I*?Gvq%-`zLGx)V!#m;h#fzow}GS*I=k50cXy5! z0R`#Vu4j}8!49PWhuH%*bM@O~uIo?r76~Tp?~Udk&UQgvu!<3V7~D z8c8)3zEz(%h9n{4p}FK)C?rb`p7);KjzXcWx>Y7t4NZuRVn+v ziTp@HG_4`Ckn(NT0^K#$`CO0qkZ1^y>Kz;kCsPELK2>`M>;Dhp37OLLeOU10V*eq# z+|6wU$dAXqiMKO|M)W}&Qv$Nyv2_~YIhe)vxLxv+f8h!*S)emFx^(i=DRbRoTxtAn zR=7b_j>|_Eo&^^*MBka5{_KYk!TZ@g=$XYugF+%iJD}@tUsoH5(BWXd?jcMZDh((} z+lfiHb566AOAJH~qXzIj|B}pp)1~lioai5OQOOM5RS|>?`%c6_iSdvzf!3q0dwoIl z-zb&{%RMkv;GnmwG)PJ#fud)+upN=84xNEWm21u*Aaf7kZQmO>l^ApTEd4`ngBp@M z?I`cy<@FjzoFuzri1pxp{*gBb>*?jS^ot;eO~dqsc$~!_xl#XpxbbX#2b@`;70!crp^6iG4|D zh7j$WlIv~cySXyn@e#?-?JeJSM+e3=7uA!;Bmv_x#XMwMxI>!3{6V4hJD>iPQ=HH@ zf{Y~JJ;`@_^9@Hcb@n_$Y0qMUryVl$LPXu;Z+fpqJaFF9=isUfI4;)5*ET$vqUYql zTGtj_XdBj5Hxj!cmrB|Ohz#Qn8uA?v>6*#!^1hTb+CVDEVPM*1KhEH$e}xQX-d|)V zNtd=wQ8UR*o_nwi_R&zUbG60vjEx5$2Yy9Sr;&+zR{yJAU%5QnVy%0uIx$yG>dQMm z;dgo#@>nFu9`d(Ek7(~P9t*)622vh}Fe)~xGPX(SftX8vdTj_bJvqdXtN_m)LVE1L zsIU~wcoq3C-JfP1ZC`Z36Lu&pad;10_TLAr=#nZ_PWa@E0^K&|UdF7FkR^^8%|&Hq z%4wXgP0@`+;q`LSx)coAx}zO-Ulvasl~e-3pXhov#Yzr7rVA(NocPTL5TwCNuZ25! zVr0SNCq&WsPa)vS$BD++45wmnDf5y=A~csY>sMEFsU!1XTbOP;eQ8yzxtT*b*6sg3 zxt%`*=w}~3VV0!S@jen(-c;-zGG{jlUHChs{`(P?*4Zs+j~NxR2&gZy1<%%Uo1{o^ zkV5VY@eJoc9I*|Su2jjEULWn{2Sa3ovWEbms4L0v`B*2pOL zCbJ*@&==deZX^EBGpdns*zgC}_ihXq9uxLq?|-B5W1cT<(#fn7KiHXXoEDj5zX)Kf z=k(c;_@<4}k?K)zT4zb@nlka*33BEWJisyd{@BmfXT1Eg#~2vUvlKGvPim5kkwjp5 zGJaxmF%_c9@F_UjYR{bXS}L`Ce2Mt{_Q-myd&+;`PR7cPk4sdSm75h#Y~&$AxOVQQ zXcQY9I<@q(#v-EtpP_^-;`lfn&D4w7)9|yb_A5-nRJXwN+rbhHqsD90SR-@b zS59vGCzS+ny2c%=xF34*{9djSsXB-V;`l{}pFIDb6AlSW9NA>x&@@mkA-$1U1eB15 z#4*Ay0%(~g>e$fASE_#xG$_Oncjo-NX_jt3%ZZ00 zQAh{@+j=wGwC4vXzOnFd2u05NE8s@Z{UlnSb(8n^vm|3kozke;-$eKkyujAFLj|V0 z4*7q&%b}!$wAs5N!o*5FO1^AS27Edw=ARXY9rW&Z-rv^(ufwXFt#@`_4sVT+iRCbe zOZ;89D*!PBb?Q@V>6>#pwZI7;7BT>ly1C6r!bCPh1bQ^n3tkOn;Jy55%ub|G&vEAU z96meUqW0O;Zime(>GEauiTBeZ{e92yX3wUOe4yD2HDc-53Ae9Ih141&!2n96^$~;P zi}mt9y2kC*%;V5ZJ?fmW`Piyo7rR`Qt|e~cQ>WFKG*Qc>?s3i_Yi0#*ZyfQ44#KZC zDz30!5(X0tbMe|isZQ90IcY4gOMeui(F4yju=mPb3fbC2A;aH;q2-u9(PEpREeYX5v zMK&hMquz8xZR;4{Zd%p`xpo~~zX^ck=o-72{B_W45{vad4mUlY{{cdx??l@m)Plwuh@Y}+J32(Pd9}ZrRg&R3vznaf^As!!=T|8d z)5U9+3(_k4${F-qlckQLH*u`1zgvov`}c$Ls7VDBOjfXasLx95D~$fHg`sf3!#j1W z9f;AWeqBkf?GFN7FGoL^?Sva0xeX}+MCpfIHm$MGi?FA%f7kWSCc}fqUc}=&bobIc zI+Y^3KkF4)CY$f^59)hAx{NU?K!5hJY$ii52?TW0eiz4Yfj{P(yXY%?*`Hy3|GYIl z+LovKeP-XT7rvf4AJ-bAsifQ`ye+r0hO4~Sjn}0@b#Cec~eJAhi7$oYbYgv#DBdUaJZp0+5dN;LEtf}6d?Gkz4 zB=|h=UWf6n-bZpXRCp=8X$ub%skb4#3$xh8F1ewUZc}~4JRs^5wG9YRM$>(Ql;jMW z+wgt62>k>}rfq&;NNOo4tE(~KR;cTMRdBGt5x7z>C)X?+^;6!-W|>u{yG9g{-oi;! zLB`psZl&q<^z!dLRX|y!Jh`!`L5Cebs_3|8He$iCR|Q^93F>g@YXL(o9vfG-y#Y~Q z1=15>KPA75((t3`1_?2RYD-{Sq+m`4>{E=8RO#ue(#kwJRHD^ye>wjX2o4$d5@!o^J<*j3q+lh~p@n2ZyBnQxExukQ| z37p8`>@t0z%@09|Bo6ZVDXkpgwmw=2{RUsN4iF|CS?bou0#dGt@$JbKy;r1E-)u8B zy#kwE1o2ui^-daAo6NYGnST)z$y~n}53DxIzK2LP<$8|8?uu~eM=TsqfeVMiG5cx| z1;0L59*qMUeD1_LrSIil=GBYT->FMX<>9d~zD_9pfXK>|O{2TPV@njFTa*hiLSHl| zr(4Irm&vQ~OXvGnqlu*(cx9fmQ`be+8-dd9V}wdMw&HIXcwm>>4~)G{4B!-%F>Ej~ zjqUzQF1zsh)4}gzKfG1R;I|EpRzE2dl3QPSeHDfYtid6H@8MzAK0Zv~5_WQW`q$dp zTF{EW<@+y1ng_2r>Ry4f(ul%^dCP&-{`Yx<$ciD+U#5`Fi~Ob_Ta9wf?XA7dQr5XI zPQC(uKaDxE9Y8J@JOk#v2Yl|zfxP!Y8^q~NE7KD)VRO+NWGK1FEW39+y-2S6BYl{k z8XVejTZ?X;u(~F}$5bWUQ>zi=>KzsuB@P<6-HvM5+c>AU(waB5iDr zuMDAf@T!>PpqhVEKUNF3ts!@~Y6VCP z$P$_{6Za+!tvjWBrPH)l`4Ie?-uD@uzy-<7$;y@+WY_nYcu1-5XhK)N`~s#<)&7l+DSjR5Y)!PkF?p0O z<9odQ>MJAJQLDSnY17Z*#?x*vtMXU;8~F1JQ?Lk~*}2xgww7rakJO`~IQu z-@$hN5bO4`alU~|ii??{iE`3W+71^$*9B}K<6^uS*L_L>cj~%p00Myq7}=5pGfP9I zq#Z}KDN}`{i)Rp={pw425|43(fBBo&J0_wIX_K^B5~brJ6t{btXW@WcN<2HA zEjLRibdJq!9rV1>oKo@5MBcSy6L(FjOG%e1+qhzAmklCdcrW)aNKK${Lsriac;2nOLy_q`nQGEe``Re8AIM#zXo!Plgl>Px)-nsuN z6|QfM?j65#J5;+N3BMzsr%7J3X%x}4wqX=87IiZVULnbArh*vM(sO4|Zjv}HdqSS= z=y8^#ChU_K85vm#Vl@44d_cf~Au}Z5$Rmd|{pU89tZGe~>Qm zTDf?lMQKO@{&Fszi2@6vlo`bY%B1&m8H0ltiLs@n=d{?Y* z@(V^wu%nBJ=+$PsxEZ0CqV~NE-^T&FlSjsicPHO}m*1&jjrM-H@!;kx^g2GFws= z<=!=Ak5?T|)6+aNO6lAg{Jk)urJ8>OiDu31JNQ>pPe++6&#aND{3D5rOXT5U@+b%_ zJzG{M_+&{`bJ0un`X_t$ZyR>9gKFaYZ--dpxF)nFAf{9wVLJ3W)`NG@c8J~=vDL=Z z1_*wg9HfB#QPq#;WEH%%R3gi;T>Pi@5Zh1=u1_oRG!}{qZo=F^biZ;Pot^olP2xo8y%`Z#iU!z<&@I9Fe=P=A|hI!v+tI9^Ba(1+) zlY_R&A3T)GXl#OB$ z{H(k$S6MHi=5fR9S%c7T@LrX1dIt^j7HH4x2oO=f`6*v4{aABI9cdnd&l_P3z8vcedvpQ?GHqjEz6DBRv zeEkvj|4UoEfG+Pny_u$U3>ivi|B5m!LxAsBcIv2|#$`PDBf`B!wPU2l)r9UPt1~w? zFC$5?roVlV>&o++dkD+dq?U(VW>I;6UdOGwvow$@tgI>dHY0g2@@@>fxQ~)u@SktH zGv;chxpB(VVgpjqMAC1@D7VFUlFec50iL0_$5L3hY~KV)W;#OyRE?%wz>$WU8cQ^o=dA z><>4)J}NB@8d#*0D*$O9$9!U@$yOSn6$@e}ZCvs%iu+pwp}USQcc6FhjR>`A($N9Q zd0_;aA1oNAq$hL~as%_!&03yu(NDd9*Cxu87HS8-46(6r8M%nQ;o37N6mpmq`94qJ z$$utPUvK8*n+vgN5S0m-1DoF628aOEabf?nN>C*f*VbXgQUW*8Im7^#K|bXtFjH#Q z572=YK18H?fWc++Z8!B*QE`sP2wOH{m)g-RjpC8+-$hnAf1m%`;mld>jhp5}lJPA` zn;#1US}Tz=L9+{9RG>3GX}IlhCbbaSj&?4&*;AOwCbGHn)@91y++HR;>KMpjl|qGj z^FwrhCBu&vsb3LskWA>vL&$Q9^Cx<`$9lvix32?AnkKz^`&R%76r)y|RBh^zG*ajK>=E}vq&ZLC|U>m&n6)TryfQA@B; z@j3@Q?6EU{fbf1x-tZ6!Yo{I?>Tewt?x#LRVD~%$L=-4(*yPt*E=HAeRcml4E)cac;H}sFt=ZtegJzZ7k?V5 zLG&p~17}b{5fK)hw9GQvs7$054(q_PwG5JfnRA!;qA#yic_nw%C#%P)Ki0-^cN2Bl z&^2-Na4SsJHHy>20u355anYOq{>|*v0NkbDwaS&+0xc5TO(M^v&)5=x#v;2?F;`k~ zWTPB1s`uyA7kfn=9+_pHn7$r&4Fs#29MKBp6?nzSWg}_2rNg-qc|zoeU-6yhmMO!W zQ(a=+>xmVu2k;U%2?LB!%xH1nBvEEJ8JQodJuyDN>|IDe@BT~>;1pHn3Z@LVA#$g} z)6=_aPluuBMi9viw*|cU+VpI8Wcz<*kZNk}fFTRCe+I`RVE%;t^ovzQmIk59=#6o6_{fn`ndfgdgex#|=C)s@ z)EZSjG$*)62n(Jp-*?A$P(kRu=%?5rfYvgV;`{1FT2u<$BzzBZb$dcXbH35+Q8Y3*&kV){5qi%2 z|IpxXt@jeIylyD%+0FXWH{U>016Gf71bTsu`7s{C(9Dc6%T724l23|&-5vNcXbdqV zD7a^CE<-rSf##-v!`!TfNGE(l)2wWP6f;j6mV?%r{pjd&^sIustSRVzBD=2$Wi(zH2krOh4hAYNZFZpD!Wos47(J z){dZs=BtvwBr$PjHX0oXel*%0x%Zv+cqZH$Ox{(D*&B03*Y$YtD|Cx0n8$3sotceo zqWOkIii#Qj`0Uhp@|UiD-FWM5*4*11(e=&0X-@tD$3*N$ve`nkv*g`)33StRKh5gF zRGK5G&9u$G<~@@$2=tqpIv>OwYHih`M&2gNnKW(jRY{ihhrv`wAMVfADPN-h`O5dk zJbri6zHXE`l>K1n@4C&-p2xDEh@kQ>NKrN0b27GuR%>l-ZKrqFD4WA*zYWVRc@R)w znLYBGr314WqXn%`MHwKSq_LPm)6m1@23!3Rq?mMRb>>XfZyO82kGB zPpb4&eb)CE5m|jP7JSk^rC2yIfqfY{Q;;$3kM<6ISHhcu2t|o3%_Bc_Cf9PRczLFB@bbDUdmizn7W%*-3@@tmPZ zgllfrwMXFf)J9b%R`t|Qu?#~go%m|NC#EH_Q*`p>>6xa*Y)oanCh16RB@sVIQcbjJ zBH^P&i&jSQlD_>%a%fm{|D|qQofcrD?+u01-sbMP{5B{PC%49x+$9{)JK0XbYZ+@` zn&YNVtsEA?f)qJov%JPyMqR@Y{3LQGRg@s?Yj__mh(grYe>^QB#k)@=9S#}34bkCE z_?+VF_ZTIOfSuI;OD0`RtdXi?jYe}kNQWSQ^w3hF#~#Hhxj;<}Rbs`PK06*kN@CE9 z1o--J!TWI_N}mAg)a7|NE?}6wmT)w~STV3^y^MZ&Hwex`o#N%`KM4?B1nbvcUv5Z% z14I{UL{Rc6aZA@g2+nRV;->A0Gv>FoXR^c3q}eQ9L*xF>;&*zzcU6DSLzI2vHvIdA z`hUHNAU%oiOp0DuJ#>KtL->VlKcbTvL=?2D`tGKgE2#X}Ij-&()mJh5D4L-6@H%~T zut1h>G51JnQ=1g7evx^9tNNik?3%WPG!lIp<1+Dwba;WkSJ))95U(VMk57b19I22t z=DizH?6ydMKxn%M7nfi;0x>%OR!^rI!7-Qn(^9cprT$#o*A~s9f`Z@2z}`6D0+fH} z@v)=!yJ^OnF{4|lbjHvyJ(mx3$KAw*|?a|fl={9 zlU|{2rjz|ZG6NWdjGaZ%_1ey}dbHNVoZ8MLDkD;TC5>D zm@&Z_^Pv1O-9v|Zhn#nnVtbEYp7q{ovT1)af)3hZ3wKgA*C2BFa^%4hOu2C991;GS zB~lcj$FTZYR>PuZU@qm38F?#M%l06|1}CHX94E)U&q|nRt;M)}y72H4SX@`-!8VSHz`w+y3 z`^O(*%F0|526`XpW2IEBW3*mVy1BU}S(OOg-Gf>1pMK;=eq39`uRT^VAL(oD9#^^A z7^&&VVD9iso`Ohb^?63F9%%;gd|xZtRNUcNDJpQ{je)10TMS%sv{U?dsTqXUw_`oOgb z_(t*@FoyKG3!p(zXRb2R-A7v*BOnkC4mH5O>9UvGd}m^o*4xXK34--)R<9bHVJtn# zQ;B+L6hW4{QXuxZaAhAGl;p<8I{e`>qB%T(#xtlTX~(dDn~jQ_S^d4_c^Sc!B?5eJ z3Rg&JHRC8(d@ujs700cHg4uJo+qX#n4lr<_SAbj)(+V1H1j#5)S8^c?jVHj*D6&=ER+@88;vJzjok(52*S?WcYHV1R+gtxNEyU=V zT*6k~S_R5i|I)%^LbKlzJ_BZXYJaWsU}jR>I__yY?=gL|mo{7f zv0?VJW@E+8ZQ-I>P_=PuIp=V<(h2y<#YD&d0(?b&egQADNf9AVEpu?_HYWb|KrtA3 zK&IH>uwFCmSll%`V}%f6Nalb3;$gSn&)>_PaZ7mzd_{S>Ka*tEQf1d4I$YFjjM%1u z?yxJ(i+eM#D&duyW&0n3?r5os#(lmap0MWJ_tK`ZnJvR_D*5mUF7@#{tJ$a4{yN+R zqke{WJG>HSUn8n@aLiWs>3D8LFzicyz04;YwI|Cu&NVr^DZNmeFnZaY2;set?Bw6 z>$V_wJNQjsq>=X~64ED)B;DCmrzYho{4B^G>dRz&D~-&ay1=4mwT6>pu23Ijb732fO9lZ=>d{L;vslD{goJtk64HO$ndrUtO5h|Q7j!gFac=o<0@ohM=$H~c92bk~vZZb> zp|N7c8s3gh+mrSP6g;5svZUi0C-?r{{>t+!J#Gzx7pd}9jOZ)=f4ThRMPB8cW!;-e zsllAwL18;E26qdCvMBDfao%RQzb;Pf=RmOra*VSnb;@;Q(u299O7;vp;D6#Xdp45< zdQtF9*ej9VxN&PWTb9E&9;=>3Obf56Yy38RM>hNIh({&KHGe8BEF555>xFq2Y*ncQ&T>?Is4DbEi+o+w$g7zY zEz#iT)v&nBY9D__$8KBo(R=T^{QZbj zM^S`rTpbb$@3LTY8iowrYxu}LbB8@>-RkALTr-T;sKe{}LQ9hPi;;W3aQM+IW$iaH zmu%0^!A%C%g2<5UwncDk8%$bU%2a<@=w6iN!Z(;jp<^9TS_`MGzH1XXkX&pOw6v4_ z=Bb20#X*taPO><0WXYnISs~V4p3;m$P4t2+*6N(Mw#(cqOc5l4b=cAL} zjJQMq@t0oVLrBiIvUJt|3d-XJ*X>dY+11)i@jzMgze@vy9BsRr*D(;Br#1$LiPQ%D zO5v)5^^tY|S(^fB2oA(u%Vw=F{#I$?S3FfSbpc6h1T*0ul4P*2LCmo=6F=6={uZ4= zY>U9dt0Zb(H%ljWj#98;kb*a>q5JWqZVob7q%RA$u1ZsFzqu|`zlmg6WQb<|a73yA zkOgnsk?xjKMItPg?6R?;_BtwuvJP;(Vy`rj2)&8K5P@WiHugggvitgoc5~ z;_%yjGEQ)^Q8AxwT4(WG-jr?E|b8UlSU2hu5xmJq`$E4* z?UAoDm)*3$|5OIots9}n4QnBskVvy$Cl8o2$4^9?i&L?I9?MEkf*n8NlS}>RYn!nu$rD39p5a*}4^uZSun`Z>aYWls{0*%VGO%B?fE08ErXR zNh#;4Id%4e0hP~;FwvZ@cG=KPWXrh%u+8~oh&XbeYgyUN={RK!X{qj-_Rspq!%zPMt ziXia)1u=LEaSZ$pcy$C>n~!Se_*+QI-@jKzKr`Cj_Oe3}V_=T*SEZaH{t%CXVNYw-Szy@MBQt2M^j{ORu6WP34L-a--u9UU=l$%4&6p|I*Vc$0{|Lbbu>5 z5UMFHFAtiYo~CFG=@yLTOc^_rZKq?);VRPwpUU6CYYgU>#O_sXyR;GYNKMqqqo&kB zd&~5}rLL7-lVOoxnU_KG$3fiF&aLECjOTVNJ)r_$Jea}NM0bD3w`rZGtrf^KxmmvM zPVRlEN=xZ;U|-%cZ31?;f9B$D0(WQQRNFh8m*&8C`7-`7&B|jgtGs1?eiRV$IFG(2 zei19@mUF~xHND6{?Ip15w^g(JxoJH9Q&A%llS&vOC4zEbpti#K=7NRI0vN~msA>BR zq7_k1ix~ecNf9M*n^(4i1cNwg`lS_b5^OcC&2{!!1_n{<$*E(Z{Gb;#^BQWYZvh#p z!&=ZC)S$M^Kv*69$nf$lbBFxJS<}_o^S38Grj3~v=ue62Jb@b&se&RcUgK|EGP*6; zqFRJnigMeY+onr=WO*zQD3m2x+Ar-;e^WorBaySxrDvTinQBWj!kp+YEVH?P+$>U4 z@vj9Q-~43`_Uo&&7j}X0ER0AQg9nE4XWt64P3cp<;~9TGxwZN05@XBM$4^RGv_;n@ zv6?Y#{%}_B5#}V3ZP<;n`g&hZ^Z?Hxd9a@k?rnp~5BtjQTDc!tP}@wj@igp|P;%zY z0;f`i*{lsk~tVfvc*G`npq>IKaoH!;7SkDNFwcyA!n7wT`m z|BG+6S2NHUHRQ2_$$yvsIn`Y}YQc|2hQuuGfy(x#Wmy|e-;$`s$SJLc8o_25!V+e8 zAoZc7QU>R}9C(nnUi`C8Nz}KJOcy!4&Qyn9{qBDH&XW6pVMp#Qs{65&D` zdguvWj??$Xb}p*%$`Q!3?3-3+_WuojbbE?ESYJJWLkcao$gU|phpm%6!v7>Sn;t^2 z?WP01TP*V#^WjW?yGo7u$?q2jU2q`6Nz<$qaEFJUAg(}E-gWhQUuKO;$s_cOEBjAK zSza7nS6AV@oV~Yo<>QgIZ6FT=xtQtjF?DtRI&p#wEnw(KK`B!&e*k?qs;>B^H}o#*4%!oU#Yhw$Ym8!xi^I0$ZS5z07m1r{@QXjz@33#f< zE9?Wk0?AWtn5T$gD0XxYOb3vWmb=S<@zGOKn)kcUVL2n(35QHAmQg_@p+rWi|BYjA zX8r2LL)#*6dJO2?;Y-`Bk0k9E{}fL;NgMkJ*t11L%RJYGCgv&h(h)<@;E~7ZD0XNG zOI%{B-Ia9a;jaaLJmIE{qKQvvtRNe-ID^2M*Z3KpRNQAn;u62(qH8x5M~Kgc^__ol z%U<9pDzTQ`5M|vZ@T1nwh;qZcKkXOgl^%MIvkD(rvO=b0Jmz<0ceu-y>i>DR%|C}L zusgKC0_?S(R2nD)LIp?VTCCz;m;+M(?m7s0xHrQ*J{4#5YOsx&+I%%Eu`pk3?{$~374Jt>bz$>Lc(IL8LNr4lG;^xeYw2s`4hOFXA4ZM?ES)k~NV|2NyLdSDh)Z#72JCUvZWfL2t=eMMAAG zVkuwX8NC&{KM#C`bXx}W8-wx(klmoQnl&DPTRa+qJKwu}Z9T5dRot+{vh}8;wQAZE z=N|@DdC7%0s0&Mm+vu%%k3C&V2|Qo8N91cn|0W=8R^3^r1ZK3sHsX#VP3bII*Rm6(VaTmUk9}qI&+xb)3Ubuf={iiw6~G; zWD}*8OAri{)Jkc=7>RS`?M!X-{As1oE&QBH|=VQ?wOZjxw56H%nYfi zjfWfdYQB?wVqO)^KqKvGZqYT8#Eny{Ue7tbEd85L57s_ul`^ zRDt_4L^^E}t#69hensO)g@67i)!8$&efsY^(lAaxIE7Eg$}k%*8yo%wuU$2J2@UcR_o6j%GMk zgyfFdUwC|f>HXQh%6_=9Ke3}Fsr^435vg4L$`lP_OMl3x zCFuz_6vi={2P_{h!=w}th#n?$WY*qCLRZmt~sD zQQ}fplO1PArIPi2a4aEuFw#Nwl;Htip!{VlZ$?`imh5)vgRY*5Qoa#vIh2xIXJ*%%`Z#W` zV{*~8Hi%%gYHL7RYEDd8mzdk+Typ(^c4P-;Ry*)r~MC{~|L%Xym`4cRWsEDlW z#cy_Eo4r%jpbE*Jt&h>niidqhE|Gnotv)i>M3$7SoR(SEpcT_y(1J;IaSQcA3XyKV zHCWgfNLhIApC}N*Pc&)2u4UIdLCWD)^@S9FYu31(rcVMb{kWsFwjNyDt>n%?+vh3n#7hiVdph!+$$Kqyv7Od0>ue0lDK#MQ%c0s`V8WfY- z%Tq2YH11=?KaSNO9k3xn+p$k2O`(TKUX+J^tYYBYygHq*^la`>8Qr1_>)+$k!O*uOP zbj^jGhp#1xHp3S146hk)T#x%_E^%69y#X$e_d#X`P-lX<`)mcboawV@AjD9ECrO*` z6e-O}q>C1LD@%=>PqqKoDn4R!vCW?Td*&uG;dh!tV^aruQYP^f5T#6i}`WT^azlw!6D412N*0 z{rLO|pV>31WwYf4EOFju?7uYi{P1jkJ#7FOe=pkL#IW>;B+D@IvItxQ$V_1# zS4@1s6nb-u36wuOjT~DHg%aH2Ss;j|e(-YE0>2Ww52JK2d~o`6WXQ$JQP=NfOFtLB zXio%mx2*!a1M<6)eJy{iWjb%@qeY-oL@MWJiAI!%N=3;yly;u&%5;jLdn>9cDk@kl z(Vt>Vi7OIhgA~V8T*schK9Z+EGt-qEi!vzue=MDKRFv)a^=D`V>6Gr0mLUa{ke2R} zjv0{jp;PJZ?v{q3qy*`do}rX3k#2ZzzrS}D|1xXMnz^s*oPGA$AL5r8>OW!U03@q% zKs=8l))LM#JG=v=l^Ay!U`)aQ=P6-w2(M8eM~-m8R3ip6Q&O>Ea?It1`F@X+(v)}t zfJSawIxJ<+8qPoPIh6IFS6Q(4?-Od2+1(7mb@<3L`SjdMH(S7$#%#M*;;6Y|<>_B= z#?He(5VNfWhRj?>!tL{KotW%ycp}!*Y$(z$)Mf^yJl7LF0=vCjqSK3(f19Vo=&YrN zA^!;~d@(UI8-p+e$p^Sg=lPT8Q%h5ke}qYWg?Z&!=eHYb=OqYx#>3v?7B0DKxOMvh zq|}G44xG6i`&OVM20L7Q5v)#Uz$L=Uh#%%Vj2cWtNdhKbHVXe zU1q=&`80I(2X&DZk!jODn*dry8-h_`uPd3N{e@BW#JWGA5ZN@?Ge=t!wyzsh0|Mbi z(HC3`Vme_orYumy@H!-;UKN9(5(;yD81aBoWeEiiVM&jTX@M*NFhwK-BNa#PH0~Ikb#MRv}Sn=dV*P6EI_j{` z@XTQOWfqOTm;Ow9fQ2DN$$BzWOLEOL3J5i~MnWMztc^qw?TisRHqiJ%lDYcY^Um7G z6tkO@G=Nk8bbYKW#m&|<(k`WD`IE_Zhj_MZXzi2X)Q+UpbP6NeXvePcifAr8=xesJVT<;lnP{S3) zREUkj*R_*o=Y*QrF& zCq@$~wew8R zq(==BKgbwjGH%bSJtd?|_Z@RebMsK~0fXGY%FF9U36%Hdve%Ut9iWQ=evc(G^=*n) zhPd1DSB^{nV!4&W?Rs^uvWN>o}su6l8@ESGi1gX`XBe#C(4+;L6;2}7#WmvCA%WMG7RzNO`&_b~PmgG2^ zsU|roI}7TPdmw}|n$^bX65L#|4&YDK(x>a2f#U7kgDQ<8Q7A5yIRC3EGZbc_VX&N< zz?X=;v69OD>{%3=< zqPE(YHw#CQ48kgP4N3H{rm1_P&`iPCB7v45HIO?BcHI%5G$u1&7WtHqYzg-b=J+g| z{%15B)W83=OGboNsGi#!DM&+)`i|S1o!>p47_Aa(pwP!r7Cx~M36h_??|?!o#`7W4 zu)=bW-!y9rcnE6dp^t-Fx1IB!-ezm~w$Q)vJ!kKin+Rg*8CzDr?a%Ma?$=NqN*xTG z9sc%ZWg;v04GkB;WQ}sa4jbnJOEcMpvBADH?Hz$M#LG-gzgnBqM<0P32mx#mRDoAi z?zB^E&6UVf*#(zdjD6US_@>{<8U#S~kG>u+=-e2U+gn&Ab)`T!?u+-F_fo2NYpL<0 zmG12v9aZ@QYg9c5$w?E6QZKTKU!Y>mi)Or0^Q|Q}ht%s@g21vQ{L&?w*!(>N)@CS( z(}u>j8tyuNSC#>5)sHhPgM)R9leUcyxx{1JIE!_2s-|q>IIxm3t?e0xEEJ+#v<}X8 z+TihYSRq~3u#qs!BCdc~y`>|UH6Ge^LuqIn&*yp6tqQuC9@wfaRaq~qtWe4!OTpIp_)Q^QHw=DbFjE)L)%=^dD1WP01GW3zN_&cXwG;UcG z<*Af&=}T0z+ZG>_Y(tXXxcyVNnLqfED}MLJQ6#$MNep!dn;Xd_4*7#kF8S+UGJ!vi zGl82`QOg+=H*1TP(eTZ)o;eYNg!%8xi>7z$ny>?bEMT(1dU&k1dY0qZB+3+HL_N2~ zHWoI!Dj$5jY^x!i2WR9_qW#cQOMwDbsgQUXk@1NEP%j=+VP<7TA)s%26u>R=Z`W*t z)u`psST?*AOG4FdlE{*5oh1;T0PzmnmwMe2Sf=AJqN0%{-=v8{ifajv*)e_4RR;fQ zO1TBwf`N!ObK)^*S$yE~MA^gQ_K3K%Bk6@o+}iyg&P0C?r4w$(A1wq)Ay@>as2u7~ z5y(|DsmEBVtT$C`%E3DXR*NT=@$}Za^ODg~LmySHawgql_9U4WAe+@@LVH>&_bhA2 zmHHlW2uXoxSWa`j`rcHA0oNgyOjd3hF-#IeO3-~-3MttN&KF&HTk|@4g&7I zoH%m>qA~0-F*07e8m==@)i&IT2p{kiut)c|h1Y9XIT~JuN}htA%{lrcxOK@VxD5aZ z@zxvvqVgj4XE2Hx@lD)Nlz!SatCha4^#2yo{~g^bsYU8x@BLG?avse^N?1zFr3}(g z_A$N&Z|?TnPOgu?LIrA0Uh-TVXJt(DYvol%59El8(UbYl1^+evYYfqIy&a=}zDsrq z41EKGC17P7(EBNX5%h+vyF_H6C2Pl=>NjB329Tyq-Ob^Jtf9liJ_q*%C&s5&{-T~5 zOBb^g>;L?dKRZ@0Y7~K7Hr-2_e3(iPw9efXHqPIZdtI7)b=2CAd$NBvEI8=Ha)~YL zm1}@72IagFU81xlU)Hd%>!1W`)F>Z}+MS)9+U$OK zf7#a!5y@Yo>_mtMhI4e5MI0)OKUJUeBj4Omqd^rQz3CJ0Sd{{ETwvg2 z#g{d*TuODIzCn&J-^Bi!47D7<8?~D^b5y*vnMQw%ux2$u>oZZ2B?WZ=$M_wX2BbAV z?%(U!wIK@W$;MtR?Qk~#f)A+KSR*8XUMRdoEon^O!F+Tm*L*>7nt-<#5Et@g?9E!S zrl7x%qEFbUzVie=uQMmu(g~dS=Vy`wJRW0W-h@5#zdD?_zVZj$Z-3I6In9>i#rl?d zOIp9F6<(a({<{x~vMAzphY62cxoOZMd-hcLPubX`;-T)k<|jez9%5}yLRez z2e41s9YsO+f1_a3XT+8!*0VBF^fCrk+wA<*wv?3qZk>KSDE-e|8NJsgg z*DQ-S>!X7Bc3*H|DERvLvsZPUOzAf+Hj)f2G@SV@(I@>M>K-e*Ddnaa&y$3z;JGXn zIj)PcqYPSAM3w z`*I0sx$~vkq_RmqD5Nam>iMmG_sH#lwS@o|6NZS}_SkKPpzSxyz%t-jH0!9Vt7F4Z z_jAglknRW9P~?YaC-?`!9B}D>gMhS?STG)~gvc;|kHTmdN>d8D4OdZ42xS|$GdaKI zw~3FNFri_dE9eEJH2hoaXdOl`sg?6QrNDpMN0!?5tFJL?SSM`I@~iD0#`~P~`^^i& z#^VR+6?fM$q0W$=88m>z#C_^PVl$hq+WU@Gl3 zSEP(RKsnEaz-(-`+uFq-V0`(&4^?%608pEl63RJ*)vtuUmpQ%zZV+q+d*(0mh2nHg z%+8~8l=@}1E&{FwfPZw!z(d!UcCoPVeu#+4D!N7HkZ+eP2FLE#WlwxFWbd4Nb4lH! zoh`QN(2UhQ4%dcQ@g)TQ@3HygO=DyvZ*D~8V}O7sFvmL6EB+xLvkbO|QkqC3HQPHw zfuv7ble*NgWt(EBWXua|f-G}r64>eYw`W$w>kyZ3z(7)x^}4Rv8VLTS7cTLuAk+xu z(K10d2{a<@41{DP+wI!I(4Qahr&i3zj2lpqZq^r9fV53yMbO|eYE=5B z3F|NT_ay_P7!f}mco(aOtKT=dhYQUVg9SGmcMSY$gG%qlD)V`T&@zf84YtD3%RoWg zZ16RSG#gm*`IG^OynOU`JGOZTJ0Fs`r7J33L-|f_X-!`xZoDw9B4*0k1}TR!VfKzZ zo(?r!t@BT}Gi~RF4{AB=FJU9o@@YrN3*0bp^a&N}%ijor#{g}ArlJ4l%$E2^%eOS5 zrFTBu@j&>c$rl#6KunI{!$8uR*82Bv;T2Ao(12e!X4gc4yb&8*TwG`WS`^`l@o_)P zX2VY1EB_-;D%nt=1^4b;rMv>{d^s?$vFbyC$-eu-*r4=u^L`OM;F4FgV<~h-{fj5l zhS1mW-G?R*)?St5kgMC&2#h>)eIcKdwOY25gE+d>^B`WT1Qq#%Yy0*cVK>zP>6$_O zziA9Z^QeamIP7xC;HT|pZeeS{2h{vpue(+uI@`=+af2^V=B@_j0Vei%Y(^*81k%L| zoT9#-eNAc!qv#>9d@g=DCKmBI9E_X(rC<;Q#37LTSOoTk;ZK^m{2*Nu5f{IUnRB=> zG-(T`$OqDAKrluOU?VQ)`1s#L6~TE6eEFgi!06uEo@}jQ%X#fi1cRbInkBz_Y``&m z3@Y}yg`e`8^%wZh=6mv@@Cc&m)MUh22cUOXWH&O8XH1Zm5c@HoChpWH*cHo@wx%}b zvi`Ku*6pJPMZZP1e^WD-&pK(2o2q~RpP7W>kES(u=``k-Eu<}L{&y+=5TE3)F_sqj z;sh`}QjvwqcYgBZjrQGiUL!Bk5$`Yg6+Krm<-SGbyqrV{;YE)wb?!lb zG#kR^Dure4F1{J#)R7Hf4Eb`ZBCGXrjo2d0h5QfFv$_XDO!3ZS_5j^n3D+2zjs$A3 zk)Bf2+KQ{hCo{=B!bR57LE?yCgo*th!2^|yV6$pQa1}Sh2U~*y(*Zb(JMlDmd|l#r zsSw1v@wLq#%H;*{GMb$#Mq9;8m_SmNNKF+JfJcLUokCqC<98#KW(Ff2ehMU|js|PX zpY2`B6`O+@5omQuC`dzKnHnKR_G-poY77QslCr`fNk`9_2L6}xUTw7cR#8e02ZTph z_kF#n|A?5L8gqsp#DylAed%$w8{F(z7uY-~ZHNmMw0oYf!z}$Tl|cHF-!tqXn9xz4 zXM#W>jrSnzh>`a9ChRzJMu60B0}S}wsb$lidy<(1`exq}kGn6u`99{!?>9j?92TM0 z{Rh7#cKPI|_td4|(IX~hw@a$u6Yd-N+8U+o)^QPk$b^p8_orj7ZPo%*i?O$Li9 zJ-n32l&Q=To@`=|Tv0chv#|_8I@G@>Wx#^}AW!G{Pv@+h96xNr@eACyiV?XN-kpMQ zt!iCyVzFUM;gF^y3G6}6kYoz-WMYGqlbX>Pk-};Yqnm5?`l>^5abEGTS=%70ms+7b z$<@j=!#UzOf&nQR-ES5XoTitGs%pM0m5ppPaI(MguK~7tQ-0w2Qrxu0c@KY&4F&py z6tw<>a~%t#Ro)r1eetey=y3}Cp^6ew@u6wPuerL?|91NcuOk*V$$h7;gxtq59yLsR zAj9xk9o@<5K7K5}e%5yJDH&Vuv_H}HB|UG^3)F0YzIt}J)cC(oD6z%y|36_y#`FNl z!XgTANf`9^lL6^_{@q+Q4*@q~Cp`OpKy_!+$niT*F&sRgdHGz%h^%k;_fYCqRBx_C z*+DB*ul2x1@lnX zNyHa^;u!$PQj79eu9Xtu+Km2x8P-|8@aQAE(jI(T!Rh~HY!!}amRj0!RULT-tw*+Y z~RiOlyL%-DATSr!S11O(sWQ%k-m7nQ%9kYM7~F) z-56_q8~yFZUvRf#kT>9Fw5;oXi}xw*-vdP#@DCd)103Bq4LRZU0-}3bw1b)%E*RE0 z2Ckj6#kx1G_ol#P#x^@DgI9G_k+~*QpTgavger(8jQ_A;=?1N-s7BzRg@&TvEo-&t zoiJeh(yN+tcrX6J==R1`2zTwrY>V<8p*Ne|{8F4V&B5Y-4U2&HgK@#fYWxSyrGB02 z;OrGJ@G<*L39_5<<5`*zXs)ig-)lfDy_su%hDMYR`4RRu@5pwVo*zKIZr8SUO}WNC zB+RV2up09(#qdnNpI@5|qrRb7&wJdJ(6j+wr%8E-(O@eK%ZwNyN8Bl1M2zK&p{`R0hjJkct=*e#JJL+4bO$wSP*7JMG13lZXDW1gA)=>^^pj^198eSqasqL z(LuDbC=>+waGc#>^o4)45i&vNk}bn`DDvh>e=-*l82j0FivR}m-z?_~hj`0F83lHr z0|xeAdr4RrKB@@98rxgw>`1&uYf=Elt~B5e==qi)8nwHDlBQT2t+hAT_&`YIs=fFT zZyMOt>hH_+Z7hlL{6>1o_YrXoIgh~R;~Na|FM30M1K49^0|`;Jc`k~&FPUtuzOy~n zu}oDh98rCN04su4ha$16hqyH^G#=uP7EL2IzgYlfH0`}VU?cON5%%8@e(YIZUcQRj zu!vT&;68{ptFU}lG&@)UFK<-6S<&{yV40SHJ0Cu!UcP+qcf>_Ek|L#j?p&UPLg7DHW(vi%vj%9NZD?Ij2aS0<{tOuG z_0D`hK$#6MmMGS_%x*@8Ykjx4oZBxEjxqd!xR;6Dc~``!=VyNW%FER#$D5y$`~uLY z;A?r)jp+l_+Am5T8c@y;%NoCe}BOuho?HDbXg4d)3N zm`O_TxR;HSgdj2Z-6^+$`fAP(fsqY}alVHkdcPZ6$wozn!SykAz9#Dn4Yr?o9CxTz zigfQTO%BzyAFSHK@Y&n@{}Wfh3#r4`RCm!$qs@=@P9t3`wTw#%f`P;$e1CH18qAOulWHGZN=RfY6(54v?Fy z_PfNu?ob}4n6WWWJZwj#mwOP*QC8b}TZFrj#@*n&>7^ZzE2|GU?n6`o9EcBY58you zCgJV?o((MQcvYKW2_S)V5vae+sZl<%gAG1l_n@$;I9cuk@l{S`4_|g|bty#_Y{XV< z#GcFAf`CqjTH}ryyaP4`;$63BYOBZ}WXl5nuAt@1hkAj+DBMw^mBG~S(`1r^m)I*B z?bUq0JPQm57xLUy?P|4vpnP>I>pz~Pe4bu#k9wwH2CqdA4L$g0yIp!I3!GA*UoCTn zxU-ljI;nhk{j#m&5Tb(%9YwL6x(fzjhjKHamR2suR6BHl8L)$5vVxGWU>P>a&xw8) zU?@5<-!L*oRtdDXlZox*UWwjyo)I<%$bQXntnHkSB+VeqNXR&&V!E7&244DcZQI8D z-4`yplcUn@Sg{raj3^vL+0yjsQ`wVW%@(LR9AZjLOFJd1SX;(5kk2$=nKxFtopj~Q zx+PPP-%!J)en-LSpBHO-Y1h|-QjceAf1j^O1AWz6=@kxn#du4rI`JT`TRqoV?re4n zgsqHAur-{J-9V2GCD34ZM^HtZOG^z7|D|c4we3@6TH6A<~E*68rR^0mKtRSEvq#ZlqJKu7K1E1OUdBr#F z_$4_Da#);2cDk27)(=9+pr#RytdW0>=gPMSGOE8MA2lr=e?asAo{=wUzPmDX zx3l40v0ohoa=H+Fc^$0R+w*am#rQMHm})i_0g6Vi7EU}#A9wjArBTVu<6R2N*+?{) z+WJLhq{>|9erIjC_-$*#W{$$zG9dDL_A?QV4z5Od*N|Zcp2AGEaJPzP9Tlj!G-Pje zFmSn)s|B`$M70VHQpF87s-lQTq{b(p84iV;)gOe-ypk)M5%tHa;A-Ir&Z)6 z%fmOxMQb{f<0{5h(jP(avyN~WPh!QGI2Ky4hRby-U94+XM-VvT2*q6oGVs|q8!-gs ztw#BVJN1_Ijl&6v`p}&~x7Yp3D?K(JtiL9p7R^%evGbRLD+;3RKd4v0AM*;&KcFEP z{_7h0oHs$im} zzzDTrxQs0NPP+JK2&in9@>!yRjP`4&lhyQn!y`gy$GCj??@3(1{f^ngzFv3!oP%Gr zXh1%fKxjFyP#ax_;#ZpnCrR?M7VFpbr0lwjuH63({+zV^>Hj5F5m@FCK|VwO!v?yp zUc0S+A28bDJ6a*>)cCxJvsGmz;N&&2-;tx)UH1PF;sRf^Hn{}3-%x1M>^0Z=9l4Dx zYpqyI?CYCL4)T)*kFEXRo1|rbtElQ8Z-UX3)Ob88vNd~=AdI_6`kt0ouU@d+StUsA zXgP2h4nfX`k3{^iPM)J6>MQv4&26b@Q1Aa7KmM8QK252WAVuAU=&?1;@#|^5qmA54 zTU7AghJ^6 zFVd_ao{>n4~kduL)Q3XO-W0 zFs5hw-_i1Y_> zQf_M&PQZsu-5K{7VIpVpg%c6WKm16`2$~Un%NHBRa|8>a>~d}4uv?#pUfax4-8@~w z*<__GHT@YyCsu>;()H4+*0xy$bVt2ggUHV+Vj~({p;}RNNUs;r8(3a~g{D*iqoGuE zd`?*pBSf`8)}ttQ<=lVRFokiMe(Er3LLO~AMGlp&9_+&al}Ry?ni%OWkY)Owhg3t* zt1xh}RH|G(5*8)f6ra{hgkdFhVFtqiA%=i7V8%$dW_ahfdo8^zZcRt3vQCc*>e~U7 zj5Ja#w4(LD+)~REN98Y~co?-TJA#847rj76h}PK&?Im_fC+~uJ4#0Zz}*xuD0ai{CSb7^|Njz{c)WsH+?G*2u=ykm)Q(4})v2;4!r<|N3)nL-bo z=T~>t3B4Lhm(g-bW?bCacl_3yuftdS5#mG?B#uiRSf`xtXT|IrB(3g3EflxF6AAs9 zJ0OG!iTc6!z5W&NksM1ys)CJ>?N}s%w_NE5;Uq(o zGcr}?h)gsrKeZ|2(OKvzkZo{fo{kfr*p0$oig=F&mEf_xoV z@Pm;|_>qlM)t`49W+NhTuoFw#!6YF8x6Yy)xUYQFJ6W5pG6|324z!1A8qHlU=w&-v-n z`RrdI4PjiZ89inf*JEV1e6w<*JpD-UgGVkF}-mxmWa8_kj#k!5Z zP2!Fcy<94L9wU=B4TCblnp~<#0G$EKcTNGKURDfF7!?BkB?pLE_yzL2mmR& zV!E)Ir%xR##7eMjA2|o*#La84ZMb0;Z%{MvlfO&nwlT$+Vl0GU^b0j}6lO7YRy-Zu zUx#K~owe_NkcL`PE&cSQk>iBP)vvI_7fa^1_d_hs&{5tH#;)GxhEs9}8jjf!PrFLa zvs=TJhZLZCXHVn_2}_X1`tZ|wTh7K})r(m_+#%?v_=Kez)Yjgf7?pyUKgHBA)WtZF zBYq9<6IAD_AB(HrzikVBp;~Bt+|)@pdk&X$JFeaNW6#FCaT`(oTF5KNCa0hu6VyGQ zLJj=n^!lXM2Xq162Cjq!YjZ-Z0f`n(PuhZ5(Id(s27)p5?(`x!N#%D?YtmlMPI~E& z*+|4^?u=$D0Z$DgLG@`y+mCGZ`*}2Gf9dXffxi;vw61jK;XIFVokeYzk;M(g398m1 z0y4(fy@OO8yYx~2Rc$kyMgKpICO19{zgw*p)LvQmR65*<=|MmJrk#29u)!W_dbqEZ zMBk{xQM}H$>u{yrM1MMjBj|I>Ox^8O_`aPiKx-qpN_D}+x#-?hLwxk;hK_uZol3EQ zhe})!-aK(TkNrk8G6FA*_9jTu&}zb!_!MWy0hV7=h{Wt%+H zQ-^y%6qr%&NM5x`0STnvBPe>T!=gsYC(y6M9%4tIgvsIQzX0ty-Qca!oP(Jl)`Iu4 z$3Z!CFC}WftaK$LnvlCz`A#W8WNS=Fbk%&5~lfd;itzZkNUzTKNtBk9K`-AkYmUYv!bui%(-x;mI+g}={ zY#bO-RQ0NIQ>1a^gv;^~9MGec`!U-!xp8TFg6kw^FtV!T12KL_2-fcr}ml=qfDp-*oIPMzL>!`*SqyalYXKMCOW z7L9l}E!m&BnPnYZ-3copzE$2S6~P>}eC_FeX;yv0`Whw}TMW&%$nO_gu4AsaQ~FKC zSecGkRG}Y;_n+x3$+zvesFB4Y4aikqJM0OnHt0Yuc!JDz!*&Q+#a>7an`gbEwr1pK zR`hdmIVnNk+BAAT3||wkr^*yr+jIYtqEZ%Uxd(vW;@&64~?2Qm?ho~+1GZ5gQ z6Xpxj+hx@V?blRf5op3^$CxjEhR=m;#o4U;t5+QP&Km}4FENs z_{y%bX>U_V&gS3A+o|?Zt5{eL+DM3ZfvIe>O#BwwSl%oL9Gm9b6sSMoa=2JfM+yS) zF_YGETU_+)C1Cg}ou3~bt;fmFBSt>c*vGGkM&aH+QI}#ES_enq|EAfciwz0B~2S3LJgpU7v!PJ0A#Z*tOE6;_B&-~p@ zv5tOe?;oLETHiqe(7AVKEl|S|)3qn#Rb}>3+jh7lz@i z{9+a+4}vB86jmaSU&dU>dCtm@Wp7ig@9yrtcYiXAL#=E$==1F!L%C-d%w&c{fLY@* zn45Hj3dGbJW^pB_cG^eaf7a(cofKOMRN5z1idItmnbI#>#h6>83hk=#%t|>P{L}qu z2Tz1TYxy=A>qrr5My@5Q8J3~#pHyEMvXLQ=E{g<_l+>_ZZTF$k53fJIl|^X}RwQt{ zVDt*)Ay9c*M1%t1stAP$aA_4fKWZ|5+aXmZm#$qA|AkjtfQ4g~H&Lu|i8A5TxuvlK ztn@|J4WeYeG{8yA(ald1t$zG#Gp#@(k}%NEO7Svs8J^R(P)K$fVKRRj=0(Bi?cblm>J^6u&5+pt4 zhs5XJf}i3FG}m&2$TM6Bd*m3Q{2%e61#ev1ezI^|d$!mqRm>JPvXuI9x=i7}X?i~8 z2LgV!=mXq=PQf<@piiKQ@F{nT<<}H>wF;rp0B$S#ns)t9q{?*LLA2bqdVLH^HhZQ! z)r(K}_DszNvy{-`QTPK73m%@k)%fPf2WpEyS9jt{IjS5@6=-L{chya?RW-_jE_0XS zxmLPK#c#J{g6T_YD)x75R^BH)Q&zQBK;K&IzvTt8lfuH@0~|M_JM9Ebqoe_SPNKjv46iz{U70bL-uV1jdaiUJjO4Mf{cqL_*pHfN>{+E8^`My`FKn?? z|ChouQ=f+evw#b7|6k-?(KDO8XMPDxW{4%;dK6Nx;O_YKhyJVIB3*`MPX^2xChtt} zlj7Uk+i$S~<49COulL)=Y~92!5v-rkQG(2=&ls%Ph<-?_V%e`_NyxyKN+_)TZEhpQ z>{Sz%pjD&$Poxn_Y=sqb_OQ)Hf@b(D)#-x^wIg9g*zJuH0WvTNU&DJS92QyZ85(WZ zTnqCVB040+KA@LU^K*WlajF(9@oQy?`s|dS6hV@q+NoRV6uCSPyaVAf$sPbf$z!DB z{9d5waF&3CKGv?flUk24>A_vbvJX=UoP+9^Za$*aj z9m96yo3(A5+37pBJUkeJ1m&XdVgyo|FAuHSZlF?#BU%w{w~fw!;tt-58tq9FB1nc0 zp^x4yPcLVga72RR7mfvb9LE+xA3_A)BKv%y(Z!h9XfvYk`69d`K6JB9uG*A6|7jA+O6)lm_$((qxy3GTxJN?<(PPBG}HRKu0)Fl7~(gVyRKR- z+J5#ZZx)rz`$3U^VmDqGL@{?lL!JSXr(JeSxe%-os~Gkod#5>7yk1s+X>btm%K7Tp zFry&y^juX;p>XlPDsMxi=iG3tq{J1F7)sKU_S&*Mrkw0>7ij#I5<_L~u}3A-P7QbY zA&IoWMpAKkE#h)=SH}G$;{{&?qh*LReZ36O{|Y4_tPaaNtf&7A;MEGF3XphFiP&a* zwRe0GR$`x-i>O@%s?Hqfz!)2rqhvGWp<7d^v7&h?+?6E)Rym+)#oSCnSzj6Q68njL ztriRBGjJey^WT=&53wE4$}HV=7aPP^An8@ra}*qgwR2{veVn=CvdB`i zaZ5n>^0$Y5l>;i+EAkEIdf4+GF~TDzCMT$c^wgrXyrDizA&ZUaSa+7WG}&P}t+sA8 zjHtf&-MCsf45gQPV;vU28~c-;LH%vUcZ9bS>Lj=|Ji5QsdFSlJinK=)$ib-MU7Q@8 z=E1OnhYf{~3xk(Ie@U%m;Zzx#RJ5Q))L$U!r)A7FNe-E%kyny{9Kr9 zbo4A7%^ZEKD*ItoQxfv5K$V_CYwT6^0)s5v242CM=4^7dCAgY9GO{_5Oha8C6Uy39 z%3j84!4>d&sR94fPtMb|sFw@RK=+$T?;m#@7iw}8Y;=m@@sB2HBZhN3-1@JQpFuqD zg-6{Di41Mq^WN9JyzrYTA9L9k3)uPOzcaIT%Dv`V*j?WC(Jx5Yt;;vta))o{g0QP; z`Kt$sve|+`_vh{$v!W~0fvv`9hei`CMRNO7;2%Fp()|2VHVto|)fl~A(Sp#KZSuCQ zBD);nA(h(WkqTCF3#6_9_!_5;){QQv<6&a&enfi!1Vnr8Jf1PdNw|K0s?D4#O`9t| z)nLZ3qm?ayy~R-0UiyMVQrV8Dm`Z?!W)V^*W|z}n{1&z)RfXRIy(&R00W=38D^3%J zpyMGt|Ab>9E1J+m#NXIY-!`n_Yh1U-9r6ng3T9;5)9-*|GCxw^6si=`D?~j>`m{}f za1VFL`jfX5tB0>TH!{0l(D~SQv!?CDrRgYm6%(;IFhu(w_12RQ1v`8%6q1tuL|}mO zXw#L`8`#>6Voqp~*sclH+JtN21gCR)+?H~+?m56%6I40i72JwMRgt-Iv)h?Txav?X z{2;`QAMe&CT#nK3t^BExygY&auo*AGG^5~wb+JW$?2`N_0n)e9AtjwS&M?c%gy(HV zG&xG|p~cgY6a}$d#){?FkMfaXI8z1~@bo=K0S`FN&=4$g3?3UTA~e2>DgxRXDGi0O zm#B@*El~&q+JF;-7PJG?d}l1I>#7{w^;{POfRr)G3z5(a3T8} z3TPg=ZVfDrUoNj)5)>SFyWs*tQnq_L!Cz7maBtgd z2MTa?7jAxwJih3Y3~j_YC%`Hl+*S&p5&K(MInZWr z(5s1$;yWA}6&1zXj0T1W(rd>qQL?ut#(B7l<#6idiIT2Ep-|&0WNr3uNn`k-SLh_V z%(*=!DjLe06*tPaHg+JT#OePw-PAXb@F)>0q7dLF)I<|Rw%(YTRnIfSGth*Pk{3@t zPv_*=>rhKpHBl5Mi&$*xl4y4HcN_$Q;QP+=U;&z%xWfYZNO1iTL5BAto&XWD(-+wv zIOd7bV_;PbDcNm^e#!60u$KHHLuX5_+nK63{V)@5?%C z*b!r~QVWm&yui+=&h<_&an0$Y`0OCTy9cw%RE(25T5~g#i}-3yWC#<4S#i1H66qP7 zm1t(GS_#(jKnLk=$LlU1(>I56 zX`!n(4^Lelh&s)~l=g1(>fRfd(EVURqAN9J2=v1n9AL(OO+@_5Dt$=T%uivT4*3IP z#&pw^knAr1WgI6|tZ~tIf zE#fFh^bQ*>_$Hj@iz*RLjx-5lNIpk>?2%v=W9pJ;7z2Dy3C7S5F^M@+4Y+3*>71lk zqIQN8{#f6@B#Vrm*Fs8dOkNVYJmc#MGo!BTUKpL6kt;>O@y)3yH9k-pG(5f#KtZx% zghJ%h)B)j0sT9kJqe0fA>@s~)Z&Uj`HD5z8`n)hTOegPdT@>O%LmCZ}ZNMlHq z0uA@O(4^sOZW~EfEZ}$(U}>=ijkZN1i3EAKw>m;po*%RG2I!DOnd;GvCl@W9H5`et zwuw8|u28uM3stQ`o6m6D6?#|#dHBz~Ks%sp>j742t{aMaTy>*7i22Sdl@u-UBGF%E zdAc(^ftd8|Q7V2%tbhZ>Hh~x+!W1GkbaYP}_|P~`-&oP0QCZZUm%tUiA2L#o!=H80 zyM0Vs)$YGF{)FFt8|0i4RQNm7hI3}sPpc@{AR=Pmq?2=pdW4qOEoZJJ$ACx6K*USp z$W}MP$&l)2lHNGl{8XrJPc^3n-p^9bq}(P4$H_o@EfMwzr ze!%q^`qsYEfA|%|oP>cn*Y{ands#J0Bb7>wt~3xNlnw4iUh#ARXiCTsQ6bDqG(JSZ7kJ=g8BoW}us0@at z7{r^rYX$ zSjKn8N+dV7j~2epsidGEicy;keqn+hv$B;{;w8}b2r>^m}T;=D*=Zqq%_(plJI z4??hSz!KH~ySqBvOhJ9&V}QxMV37GAzw(hTCO0-q*@T^b^yAU{FFVxBJ)3%T(*x93 zta8x1`S(vV0Kd{!7A}iSj#R{P51yLGoI-ESdZ2?oy}EVJB)V9e4$uf6FqK-4BJNf;VQsvn;xi!h75A<#g&J!Ow=@~1dEVIx$1UWPo)1&O2G(dBwAUx z6F^*Tby8u>ikU4Pw6MvxLOREf%=Q(@ajzlD zT1rE?Cef%zLYOgVo@yS=DA-YYLw^^QK2GpiLEbcbK%A|`c0v^@_ZACo4@d^02TWXT;0qbzq`HIb-;z_e5t&XUzyDRGUnItx(`lc$=bAkVQtit zveTRwwbBI7X+Ol*`4~NS2}qU)Hgt1qS^Y(yZFcjCeGJ*qN)t!{V& zj*;*W8{`m-!Kiz!oA#%t46=1`emHtgK4&r9kz=IF1ne|d#fgw+FL=(*+5qmWn&AJQ zcmGoYZWaL^83ZL61{OpAD8v-Q4PwDBKDVjcWo`B+s>H_Del7l5RS{BJ>(9bf0Gw}` zM}u{vSb5&vz-Bm^>+9|Qwu-<#&Hk?}nJ+d*9{y#$(xLy|3T}AGT-i2tz;bplkjDO^Zj^ zVB!WYer$4JXtKAI`zv@l9P6mc41b7OyE`ExCISJ4mIlrc)(2Q1S;LbZI2?w~TMp!r{9-f@|ZW+9?H$@Cw&M&~B=UyVY0Efj1w|E`%xZ(SrASr?XaNs7tC} z{SMuDRgj(v{z^DQ$!CJL@ywOc=<$h2pzusgz`~6xMCU`}Te~|ZJvCH>2PF2S! zt=Pcebm8o1$+sgfF2)BWX1n@y`RKlU6mjJt>gIhqU_407vo1Vd~^1L_6ulN#<(q~p@O!aBS?)EEzJ&0%-Z+3{bxi} z$YA;L=;+!#vb?(#p`g%p7r_t1Qlq4~g;I~*X ziSI(~t6@aQk#cxJ;pOWymp7;uK^1Y}G27y#@UYPVGSWl@Ge$bdu+b@BLxP`pcEG2L?Sq*hCVEqWWTSVi`sTQ-Jb; zUW10WYBcPm`afO0K>ZIE9A2h(h@fj2-s!>D>x@$C7Nj=7qP&%-z>0;K} z6Rrc~YUykO0)A=pV){QJ)8G@rKp8$d&?1w0TF`5ZBd~NL^Sek9y?JiAQiYj5>DMZR zHJ9K+MrFj>_*&Hw-oYjmXtkgTJV!o7kiKIstwL-RpK30Fo6zxpqs zB>jsYv5X*z!^R4+aJvnCV~y^2LTQ#9W{sWrozhk3XEt|2ayUfdxmoY~*4H(O7?SB# z-8)uj8sBF|HK*w4+8btl9Dm^9+`i-AF755=(>BQj*f$v5PEUX%LWZIFG;oIWvdZ znH^rhzTn}$uj`YouI&e`ntR*xh+@wb?I+f@Cs zA6#HsR~aoPF>#^o*Z8e%Qhzyi8&+h$8>64_Dk`k)|j_@~C=X{pt@;1vhcweHP**IC2q@|vr@ zv#9mV+}Iyu4R^yq-jBk0f6`#(M%4+?e>21GKW7v!l8KOYb7Jp--9TReLS`244G%W2 z>*pbL$M&JrT_#pGHPZ02FkRW{`)?16rGWk{ZReA`++&_BHl{?$04#0gqVZ7;(Nw*4 z*^-6wB&pLOJ=V5`vQ}ohLZni34or&S>>9esggOS$-GJ8LJj5ySpuXpIIw^=RLd-lh zo5)Xq#0%aYXo;HaT2xiV)*n%o0qqL8LR2uD>)~zD+)ixu*K>$I91`4|m?DWTuHl14 z?5v5Gv7$BzbZ3HYstAFIU33R_xF{(9&6Mgx-jM7sMK;~my7gd(&<`u3vV)P(osIP+ zrSPK;|Z^(m!eYE6CpaZkCK^xYqdUBg;Jf%frt zVOf(EHwm2i=FG`(ZaKCwxlCsYnuCx z3}V(5@e(2X|JY8~_Dz?gLjDIC|8r~Y24FPlGWztJv_KVW9thOn|hs#(~io^4-N zM?*B1pNWLMBwg?Y9=cj!m|lNulY#=3&?Zm~$ydc-sH?epy=R22c`ja4;z z5Cx#>%bJL+LmPq6+6_C7mUfd4eOi!2FKofsVi1x6omv(L$3-~x_!9IrgI1Jd&4+M@ zkk?DiOmauRdl1B(0zg~S*Qbk++Rx4R{rL$>Pjs0{#MnD4)}>EgSO}Ga`60EzVP84x zp^zG`zd4oK0~f7^QQz&24KrBIQ6kTe!sbM(LFCI=;XQ80WwV3<)j8hm1RcJ3%KKe^aB-{c!G*1P z8Ih`kmYf|RbBbqC?NxZ5iTOQm{7LlZl;V4W?Hv1eK<9GQD?uB(J^O_4W7Ac>;p5al>o>NIorO-!yQaMYRt>l%u--@`VWw`~zTU z71l(;<3JM;Uf2bc;h7*aP)oHo2F+Msh>#RBJ;`^ycnHXi&N2*CR{ z_p;gs=4f>Z&-lwf$M<2|6RS!M;hIPfrT=%x##Wa%dZfkG1X(LKgR**Z&?GnOUW@+n zxV*{%oari#fGF=D0xp^tT!#Be0GJLL+lTBB?|bDT{Jr60&B>WR4Ia!$5p%L7bFf4c z03BKwfP;5g+p=XtXy@U{EpvWWP;YZ*CV%FQN-^a$%Rrzd3J$F?hnTC}aq>pv)^9 zR*wQrg$#$j#K|e`?QU{cZ4VT`n)s&+JyL0jt&)?MF(ZWs!42NkscOv5isl*qreR^8 zX4G-=}W;lKXGJyGG>%*7K&LlD+yUO|}3GY1U%9W)8<>lUNv>V$Y z(=|gE!`j>X2kPKc!bD-Q^ea(`Q}XpOHazFgvXKa(Vld{-tD?pa6&jFEyU0JjhQS|R z?^1IdI_%kn7vARC-y3(V)o(KX-(YCVo#QQ2l)SvPsc^@w490WEI+Z%MBM<{TAI>7` zH%am&;2y(yr^?F8ByHOt&-SC*-N%F$*EOg7uAf_9`dMG@49Z^A=}}-}C~1iXNHG93 zi6tI%KqiGvl1J&SG$rAH*PXh0vdOE`Z^V88rCcLbJ^JWt=?SoehJ|vPzh|QEd^AYD zTnLRX@*f09Z7F}sm89njeH09dw!WE`D1B}5@oGP8ACO}19^Lm}mWY}Jx)Zh;k^G9C zP-vJvgun;Y+)w!l3p|tVp#g?t_qen%E|j#x`}88LNC!}6atd++WI9ZNNF3J5X40~; z1*XbyFI*cYT44{;0^?8%2^3Mx^kdzEVCnFT6+)Bf>h`cJCFA#NP~G_1M_LR6bEa)0Wy@@LX zkcOr$0n_H4Rt+rRPZ#y|8d1O4$dR7RJIxa*qeq>2aNZgm!-l$*j6}rNoVwK(s#iT8 zj~Z}|q{oy%y<>3&sF-(NX9EGv^3E9P8yC(T&5PToUb|#j0vIjI%U8aPgX|6l8%P%w z;x&Q7vJb{{-`H16KfcQ>++ob}Wb1EO(ef;oc`$r=_DsH6zD23}ilzG5VQt5)pJhuL zMrpT}FPGTZlqWuBB-!yh%1+y5AKYvmW|DXWii=dv)vHn~` zO0Q8gs!=sMQc^(jx(3uNI>dP3x_8Zd9TZZfXpCqD#>bROQP>Iq_zXlZJflnSl4@0S ztdwX;#@ku04A77&AG@Zl5KxTvFi=D9asCCNe~5#e*kpZ{WZCA?UWbcuI%x) znSM$=aE$h=nfjCu=dm`(9QTngR`Aw}u)|+UdsJ?tZziM+FbFAd>ZG!5;4 z3FXAhScW)jR;ldwK>SL~8%A4b(9k!=u`=k!%qh=p`llSoFm-h@HqL)u*yMRf( zNit}?ojjL)hF8Q~R^a%bkjEFTI}kf>5^`l0`Ya&;KU~|yiQWH zcMKzQ;vs2ibIar;*|ZLJ&4*oZY0KdK*~7r&dBW`gR!kkBVv8iTt*%G}PIOx>MZ0-? zeLoTSc=MS|yBH(JN41m@{Jxst7B^%f5*fgSMvmS&w-uyp(y93|v2#^n-3Uhx>T~wTN#vCt0iHyht z99^&+pBb$Sy~eHsC$ZXbp!Tz8&t90#Tnl#OeDqX#)GalH*_8JQV}iCP^TXy$CgC>> zA2Dl~Otz#uQG$jj71_GY(>HW*Oh57qygq6YZ98P%_HF)`=c%0Q0oKQ|*i-j6s37xR zd1&@^f7kJr75-t!g%Oi>Ni$yTpG3Vnog;})^_i?<)pqiZ?eP&(NG!r3E6sb(p51G! zlJte1@H47yC~Ny>6!qQsh>Qm$~e=f%v9Pljv%$Ne#gIE&2LZ+J` z;dL@|R!19)^`GOD7l*r0lVMKJ9~nw}3>V95TIXH!UP44E5dadY;SER)qt~yZtc%ql z;CV1p_P847=&C_{L`90OvmrZNhfqCS^Wf0x;ZecrlVrdgT*V_+%DZ2ThV}jsNX)I@^cnGllTr);68RV?8ogI>?1Vo&HNm06Z0WohS4q(JI z(-${#p|e)A)E;F-!M0M*ibG!n24t=0ey`{-@VwnJ9MreD&kYqUsvQ%Z3nXG`0KhyL zqMhaUFd>l2B%mgCpSEUDzy7)UAFr{NzGL*B z7L3-&sjGAb>AItT7*9q<2KoK0sy$uvPJ$HKL$zn39_Jch`347?B= z92~u#>H%X|wN@E2S6C_?bAt`Dgi3Bih3Gea?fa!m2Ru)|)z3Cj!gfGA@sv}P-}Pb9 zopFrUOWSa~0`ba$Hx`LU+_842XUUf7%Z^S{42vTSg?nHbqO7?%8wAw%*LJ;*uaWp` zd#w|?bBlEgTEKd2`N8rRVIpV@?rr+by@CI^&rqA6L!c=of{L1&sk(3_cyL*L&;dv* zDi$N`84nQ1$dy*Up4_mpJFSJi5qX{Z32Sy~QMtN0+d=lD-z)}+@b_-o;o`?7&mZMD zib>(CPFB}FyDhY*b>l*AhMyh==#dOaQ(8^;_6w~r3B`p0W01QyEZB#3jZeEJK7I_2 zW%DE+&>NH*!$}zgt)Bl)B@ah}$VP_U31iWU`*uW%l;YWJ56OzO*3!d0QrWqp-EYDS zn{?W_IvkdbZ;gmmf`)L7KVLs$*!NZb3P#St@9$_-Tn+nLC@@m3HckWHcdQEkTgn0F z^}qK8UvH?cz33&EhPSr6;X|WN6Tkhu=VYW}>>O-v$M+*#oG^VKEcCKnnqZAcmmKNe zSpR3^ALke+&;*ak;=`${W?ltWPD*C31|IZkR^!S8+lR*&;SJ1HAL`;GVz*d9wo=bS zX66`!ZrWOirvzw-(N?hD#u;?tZ6W)1A+{@t$*U}TC_CMwBIx0^$0DMPAOLjKM7V_|ut zO<50H^Cw+w!re5}sjOM?DH)&l(`e%{f9gz$xtynYNm4})U~-@V#*2X$uQ|W$=ChOeL075VW&DW zBsZYa{D(NX*%fHL44gc^iHU*~2~uWm%&x;;qsO4mev4JW2LO5#KB_{dh4ErjvIo{F zR*R(G9HO$J1wH(Zwj^!og&4go!in7dEHn%toX7RvN8hub9bw75zjJC991S5pBuL!D z;UHDjmxg-~2Eu5!*gyWso}X!wQD=*lLvtS}cH=BM9dlrVP~D-~j3wXSIdN-W*oW)P z%v0G1*}*+Ofv?d}IEZfuy$3(*iQnq)K+VdiE)to8)*sA&bRNN7CqFTjnIVYQ_z z?}aVEx)}Y1)05xLmCS5$=l6DUkl^-Chn%7~?4LDag&PaKbeJ_#6tt6fmd1GtqtH|b zvD+BH9Tg4Hlq%KAajx=KbRF%%Fr-Zz(Hh^*rKh)Chlb@!Vb-BO0*QUfDAhp}U~Z{6 zXa3lI`J`l3TI1w9fWC-%c@&PtqWQRs%*`70^RfV(~uX%VU@o_Mb3rgGg@8NgZ!ye0}NQhUI9(D zcD#6yPHb@xKlmH_l+B1X%o3e|cO`ka6~2mnhZ)2|A(d^*#-XVXLY)wZFtW^o`Ecyn>*C&6(H{WCl?+Tj?utiK>3L~T0^Ym&MVL00Rar!I! zqL&86c@G=Nky5MU*$NJVYK4Q&sF zrdYNxH0zSm{dp2Dl2wuFq#PQldmDlP?Nb5gu>}Y;L7B<;*Xkw@xgfvfXDf!mw`(i0uKab)*cvY zjH39?JB_U} zRrAo~Zgr5sg{^pVt@+TaB>`5pddrc=ZF{i$)&(c6$3>O!*A(4~)zQJ6c8~`KKoUs- zWF<_ZY_hp*GN4S4xcvQhrpKR`zUc~7z-Ss6P6G#e)=`4*_1D{NbZF1(E zwz@u;cUZrE-MUxzq{;g0!95UsZDeju2U}4a=P$2HF&lEfX)1f1d~rGk{uAXcu*~%o ziLJIPp@L$-8Mara6CZJ8!z!VAtRm{F9ou$@{_^w1Fr@gm2RZdw&AYm&@1C!67LMx4JI@o?7+@;u$oR8&+g$}*q0>q%EMy+QJNFOK_~r0Bl76;8Zx%<5>*hvbZf&?tG-sNT z-sH&!5VfszgiRf-EFA`LzW&tpIC5E`V>9v&6MTvo(9|qulW#rW%TpzVrZ9~ysE$w*7pQ$;cYaL z`2x|QAquDD@^l`uMReV?7F}Ao65i57l@vs}0U)>pWJ$nmAr~-T^=nRp&VidTeS2AIq0cIg*Iin4Q zr^BaFJQwduaAEJPY|PwKUieVpVj5zbvsPrs0}$VD183%Si@lJFaoW0L^KRypdDzgJ z_Q}_Qy24L^X!tK21-RHP;-ob~5q*D>w0imja<8+GWPr>xr!@9J?IRy4JQp*_XI=XS zOF#tEi68JahJX53yG`xS&g9LmQ;AbIDL*|UzCUx$*45jWJP+mI9p}YwN2RfZVl_0C zH8=dij4ikdKa(T&jGfj=llUO-OUpwLQFO36>-0b5qLdh~p2OnTmo1z7gU7!GbJT%(jviiv;R~AP=pnI zsXwiD{4eJ(-^ZdNwu*u$-ChThVGnmjKNn26dFE9eMfZ^zbF{8(pX%^B*Je*{i>mC& z&a$umD?Nx_3R1`rR{2%e-@=p_t!FxUL}>2GUpySvlu@NhdIOSDvy?^1Y8IV;6p-_4 zN9NmK|68Q&L3c}otLaG+-KEyY3fSS)_ZM_KqNuBHTi}H^i?FIcYItiRaa|K0j}6zZ z&lN-zROJndBO4?&7)_N`RiDC0=J7*FMI34c0AkZW`M0bALiwp+5z6($ObdXf>J;V# zLC99zH^2!?*h@_HJL)NEm4K;@=OdgUm%ZWF&+s9C@MCQ{Lc2snWy5uOBt9F^xhI-D zF}^HPhe!qLbS%dF-vgN!3voydw1|@64=uWTc-1j*-2rd%Z!CuJT|eRk(gM_hH$AJN z+rCpNlbCL1YC)Vm)l(lrQ83`@lz%A`InM95TRO-?OVWZs* zsVTSf$?lK9Kt88j!uHm6%6(wO%9U=>TbPy`ObN4LtK(?`A7nuWmmJ)Fs<^848?yQA zg)Qn2qJ@m8;VPUAj(=97;cbMTGmheP4mD@ch)$nAc3(98a4PrrPKoQY$uS1o^VHrxxNM z)KTzkPHidt=RQ)~e4jW4K)L8YXvq6XQ^)(c5oR&J3HZGBubqI(sQ15qmU;vv0S9P) z$R>{7FVmu7clql4jjc4_3tj zV}fr1flk+yM|0OSy{FDe%5yy_JgD%PB0zLm=r-HhOp09c(_RzLEI;a{ ztOHKhrevwV31KzGqi=@Y;XdirlW%Ui*pp%>`I05uCic@Vq-4(NrQVb=%_;?-WeYON zT6n1KYC_-DsqF44_7MnQt!U06EG$fKJO!G}n=faI1Xm7yzy8`SH7H_93_tF2)|ryR zg`nTQ&@z5Y8V-)2#`}S8^JGmNdm-8-o0h*Lyjsuvd9f@_Hk?@y&2(HH(m3JLIMQLC z9f760o^`8TZ5#(F7S9{oGW47shPdR^tGfGGX02-a*&+o*RO)bsqA4}&4ip~DxSDx5 zz7dH;=HBRYl|Sj`A%k`{nehV~t{oXvt4@cjokJtixYDm`29}1fsDKC{0X%AUm7J8r ztTs`Yxv?6U8uJuj9;FYc$w$=as3#6>;9rt%7E(WuubPotL%)oJtrjYhDZ+uRE=IoK z+wA~Ty!;&cF)QhUw|V)Hy9vl*qM47`qC0#HHYZ>%D~)(t47zE}Lykl80XP`vFC}O( z=J=Vg$A=`yy1wj}vo8;xM|)a)_}Nl)=fNlLMu;dI<1Orp7quIf>g|>55*%QXc)S`+ z*UYDi`igKL_~0=T?zYyw|FkVhN9z&)9ZV1-*@nvfC3ghS%~rLi4lr(Qt49!5NLnLK z(S}mX#gqSjQgF1IklB~3%=xxE3RHj->0!Ks=yW~f?&g7X8{rpba|4$7F+U{-j#r(F zWUc$R`6#c=e^#6sL7(d+CMRszVS@VEd zu^y2ck!(z1yRTds`vyMv8I+k9f+X4l5ey}@)aT~NZ2?;-Ka0Mc?40c9E2X30ZE5R^ z)yvLHaN+ZgRfmPVhXsc%Oeg`!jK_ViGNx)tQ&IILgkC-->;U1HCr9E>fG6i|tt* z4E$4R?lNYO0tmw;?G`C*j12veiXI2zP@kp3O=lm*v(1TH*s)N$LuY;;G}WQ(n9aQW3~ZMZIQj8o)2N4l;IJ|MIqYe4Z2LvgA&R95j26J;=+A>nmx3BNLido9gXnq8 z_sJ2!-os*O-~QFJRf_I#^WyK@bETtn6>>~KKG=Iors$aVyv)losShu*P03``T}M6D zMSrHUA%<>S*^gzQHh_91iDMHfXjTp zBLDVP(|`lcp6SaTW7Ku;xZ_t`p|6cMb;4V^ZxGEUg_dEO zZ?TZyxL~&*f)&jo8}#`{MvLM}r}WPbJYRtM`<$}2X$tTGhnPAfQrK320#U&pp^oG1 zFZ8;hOuh?D%)Jn=X; zfhx~DX4-?armFe(;pWFHABjZvFs7eM zW~<^nJHJ4oKdxfBe;!mSyEyFO+QpiX(MTX;ugs^SEvcxg`x5zWv&mpVAN5*6b>bzj z(#8oJ&@p)Ihlu{)3<-2zap6K-^I74*NqLQGa;+J)ZZ3Cq8jm&y{kEus@CY_!1Ovt( z0I~OQyLKAAK92oM?b79^SUw(4Yq>~KxBzws%+py>=RQlp`aF-+N zk;NdWsBhk{f8)0vn2DbU-DT|53O4d4Q-fUlm!{H;AQw{i>~bayGjd(th835kEMvD6 z9@WR2Mm+8#C?H_fkX{5)oS^hgD6-;dJp5-GlQlD8puP{7|JGSMaonJ6^Bn%by8cS0 zGc<|$(TMJl4=`>|i9<-&Rfzb! z&NU%Ay?EOhM^ZB21(O9L;xYB{61)$6U!P_tp z#=)$SYG>}0itvRV)*pb4AV00yCJ^ML`njle#n8#hYgig!@&v@?CGvgOa5ZI1kPB&D zwQdu9$|n|BSl;4mwH`=gyi~Qdv)Gu$go`q}qnmR5efmK&WqFBaQ_ty5iUTfRdsZt1 zmovZF3p52JzSFdfMo9yq3C*-XltH)uXWC2Lcj4OQ-tVuSRypj!5unt0E*hDK+TW6a zj4zlD3WgW?0gmz0xA`xCR*^()O;@Z*M)Zk3AJ410^0ap%AMdq*%t|iDX#oK7(J}A) z2ijZ!bwJ*Hc;(U2b3loLfrQ~{Op?sS(v6ec?J^DrL|y;usF0@T*^*sSb$d;h3t0Lr zSEWz={MSFUh^~k{qwhaAxSUKpx;ZINbZON?;1}cw`(1=^g^{i$;mfAzx$k{&uQbGq z{J5V|*khRAs$F^#FwJK?VACwgCnVY<*CbcBC2mbj3itCbw=XNI^vt^mIO-{R-p;oc zb|$iG)bw=br1OIaEL&sw=r2PS{bIubz{ekw-sZdfiY|t~@9-1*mjwmmbT5U0u!sUY zh%Y133GiCF^qDYT%mByR@$zO?v$5?iW(j>tx-|G5V`=rZ zTNN`|8_RWM`T|mr+9x@k*|89?w|R^)QVrHSFof%&`4J+A@=qZpXGC9`XlAhAvj-g5 zk@0;^;ql!iBhr8Zj;9GQm#o5GA$(7A;x=FpgI*S8OUBB8k--7G?uqi;$We9muTs|P zrc;OlUmX0xI>d>(8;$f_Df*2{1K8WORsv_MZn-Tx zZ?#;(R428hZ1pR4`96GBw(h2RTDQjHpy>_-xe)wK_#@}RiVRCqAa<4yk{uc(15U5x zz$olH_zQCAp}#oaIoHAWwiD=jJ)uU{1xF(lPwY~9M)+(jp^7V^uHUD&li01?7gC8I z&FO@xq9#1?TpQ%<11)`X1%JrRdjRCr{{b|kKr|EO{g0XpJ4124r-L=em|!zt(H{2a79wZoKWz;J~u6e=ch-bV$`97$imIomMXbYgdlo=n z+0k)zi30lRhCgS$llR9U`QT$qxxM$sUGCUryYB2gI*Bm%NNAF6IIECKxBNF9NNhBK zTVGQk$JWo*A&;|SWdwW%NK))5I2&R5G8|Y0WQLk=K@+y}uE_52C3sYPU&#;zHp7@j z+hKK-)d!n> z05nLV!xR{bqXwBo5{z<+9qLNBPXUrc^o z)Z141(|=6;*W|dU7EASbR32-b43B}B!BKX0vk~f?$5ni|3-`5YPe$72&XHKL47ZNe z>3vPL;GWOfjf~N2F27tphxaTXX*ETe)_S%R5hbQw@Ys?So8h^ z>7NztevlDw=obdTick-(sHUw#4wWhTpIpSFCAoB46!@5F{(p*(=6Aw}vkcqqH2oIr zNcF1;Q}}%yLI7yRD1P|=zdO+8Y`WCwZn8DMCg@gh{IK5ao{u#jLO-}zQ4vPx!tYBd zYQnIbs<97$!pIc=X~){O8)m;kjav-SeGFNA?Ln3=0jhdZVN~Vz?)N)hNy;~?YVnhu z0Aelk!p>1qwJ;W!!bjJ+D1M4+c`r_Bejh^L6&!Hf_n@ViJMr2&X%Jhh=AJZYNbWk4P&kUQS&0|IhS;CTwF?&d$k zyPKloyB#?Eb{44zkG)>+KmnO19wc@M$V~xORCbL-NRfu?>^7yvDS=9beNGn>>2z;Q z5EBXFOA4ut@#%@_WOLIG!e-%@!cy#o0-^!J%qfy~nlcY%absKN@%@yez-?*s<@@P@ zUZZhp30R(h`B|hhMwBQBF7He0t8EVqb=4~m{M%rg*p8>ZCkMC~851}|>B}ChY>k$a z%}~(chFu?Hcu~To-j_bkx<=q&drnZ7(C{+<^p#Vp&$K&J`L|>G_g0_TYeiz6b}EdW z)+JLbUp z^2~Gp$lb%k3ga(cl+NMqrkv)7lJFodwGi`W&s(@>`%{%^gpeO~;SVRa2Fh~aRhNLg z0E|ABN^@!2%y^ihYd;ZpQ-P;SFkzznjogoYMC;zkXacvAo>6wi#xm+Sot$neo7GHo zfkMt5no`#+ZvI(GkK`b3Md%3&WuOjM{_cqDO+_t?7pmdha3I=MB-eP+DA{xlgomVS zB8hZ)n|5m{TOks1{^YcEMVX7(Y;5l&x2MkC#PA@RB|2PsZZmp$6% z%YK4uNfJE6)_Q&^PDXdMW}1<9h#pK=03CXTnDdvAa|}2w4g0=`8{n>ZD)zH2C=%9w z$=<}5wHJt+O`J6;mHD1ptlDaTg4ny;NuVU9@F?3=>)T?tQAP*@UMX2A0Vdlr9q*Ef zy`Tj+8dzxjI`R?e%bzqXJZB`U1re|<`*lgH&(hm{u;iZuPAcR~8&_d_exdwahaLFn zC?R+=Z#!gS6EXL20ypumdM1iJ(k;q~f?%e;OgR#ZmE$CNHSg%ei(RG(SXo>lWTO(q zg;U1gBFIF{MW2MTGesZgDV3Ij7Z*YwMiG=i;hVoU=?(pwP9h`en} zg;^920cBB%MNEKXbNH$T+%7R9$r9=;`a7=ew`RRCqfNLsFI`qj$Hv$%&a^3*T+3p{h%Y7B(raAhl@IAJ3lxunyP@VA2Eh1<0s4Fm zd-Z+}?nLi{Sr8Yo2i0};c{*cN8&LR6+W@Ll2PEN`X8;C#bJBAD*g``)m{#lfabVvV z9&oc!AgF|2I+?4f9wOycT@8;GQ&JGX5%+=H7RgA;;BBnnqHiIT_^yxo5}+7t7XIcx zw0Eh}jk=9~kkvBJEw8u4{O?6L0VogWOb?D=*wII21_9b3+PE;Zbsvl?LluGc^j^8JS=&Wih@zO4d7|lrkXE} zlpEid;p>VMhQ9n6W$X#Ilb`F5HU9RYHO(?D86OojSja}eL$y>WGojCQHbu7KUcVl{ zyF%l zu{(p%(k@r#Eh^aa%U9F;vVLU+{L>JrIz6tI|GU9PSJ<0A#t%ELIL7?P>c|NaCf&t{ z+)8S=1JTm+!REuG$|?7@AW~A{Z~@WMnsYje?ch$Qm_y4rj@|5 z2UG~ZWqUsv0BXbd3*^xiq-03|5y#Lc)=*v-u1GUF1c~2L7SG#=F-zRyub7bo=Mg;W zZAAL^-mQBHoXs(=067Nj5F$tUog|&c^#1?x1>joVK6sa){6eNZ}px3)CIQItbYk+q+7@ON}{qyRRn98S7umMy`H3SeY&309$Z30PKG}(JO0O5W5DAjWSqMd#-`K}`dEye9Q z$_y}3E+}L9-FwkXQzGXcS?9s$0QaES4=+^4($kg)aige7^$CCgLk{~5ala!i1Q0;G zQ3^)?uBXi4cu2h*oD^iiU)KR}KaN;oCpuvt{F8_Zi>ylLV}EZNQ+TTC`w|t5f&|cf zGw@8ZyguTY69RcMQn-A9kH*S#EWKwjQpAMGtTs$6hK}u@yHRRc|*tLVwv zBKL2W3_*{i4F@_HCh58_! zz)bzBW~bFZ#N6NC)g0Z_xXE3o$z2B)Sq#?;uaJky(;N@Oe|*<4=0g&31Cbox&W#&` zGFora9}vdPo%2oZ#Z5pA2<2_2wy zIOTFqUf>s8dpaArJ4np3zwNb*`u&VJhn6{)xp7zc11mh6z?S=Wc2IR9kW|I_ZM5jHu{7ghPCV#*SyUOkcJC`Mz64SvmjQdk>}|eQ282vj ziE=|?b^&N@&fNLj`*qzQL-<7CN0oIP|Dt=Ytnur4c;O3L>bmO1{g8!4PK;HbwHC<~ zwEi!ThK=7Xvv0n588DN~IiOVkn@?v@t1u3u(k4=Lh9)<#5cRyHZ}qzSN+TN44cYEn zy~Y^zLY4&9#Nm%ZM?w#84(dl7S^UgCjcq|Gcv&l#$)2dWxb408=ZrwVdNIO(YuV3k z6Rio2vkCZdgzP*(){spjzMngVIxc+k#Nur@91E(~F+~i;lV8~Nmy_W>-D=RDr4f|f zzPe*OJ}zZ)_YMnADu=N7s-HJJvf;~2zF182_EqDk`WT##Z4Wm7!{#WYdy^&=Q?35r z>y(x`x4dXavV~xKc;O@ki+1%1T{s0TOQbN6Y7y%$6>}gfGM_Js05bOG;E55M%eI}n z6_5{1qoXW3v+Mf{!w`U#e&s5fr2o%dTU89sw1rM4-crnDJx2$kC55qzJ7{QGR7nw3 zC*Gziunk~ump>t)75nL+w)yuvw!)ni z#hK3JzUnyTX$KHBjbxI$^k6r3wDHKmipA)e)-`G}17_e*iPwnH3(jH!wZs7#lA@?X zX0{d{5#+=O&T5C;XlJXujps`PU}_tuj`xmVQgrduX~8}|#`2NE59dPr>zYgKOrqe}Vl? zR&32#63A}f!v70HFMM>0uh{^fhPK3KqDS)NK!`M z$xug>>uPVT;zWn$YfB9QwZMyJd{i-E_IReVOC=NCuukm<5x?hEmU;lu!Z8xMl`z+W zJBi-&<0?1uI31dPnf~+gT@ro1*LhcdTo@j2jUIlPH~8}VBVXGi6R_$2R-hl$1w5-z z9!l_OlddnHfj!`A6Fq&8#sO1@#7_AGo~>>oAk7fyw17VWK#qn1z^_;ic|w~~nG`>i z(JhRssR1HK^H>{s02>5B0SxeH@Nn&87jZ!X zBhG-+5advF+(G{^0RskA37Q{YFJ~>7GrWl!e!Zv{#_GkIWp!tWh=u9j&3d?_ zy7H0fx2*}S1cl~9LvE9iUIer;2X8uo_;SnZ?sj4rEVNYhTf&c7$3IoufBiWaZL84= z`j3i8_tp0FgrrZ|L_;PE9|I{&Uw=&f<@)z1qi{+OX$BLWSK@%u#8}JL0v022N8Q!I1yv&Q9Qf2(uyy7G(ZekLkhz}B)TX>+^Uq5+8#f*G?P&tzX8~rqq(x7JdV6_=Cpc*c+KPCR!nN6)VH^hYX4W)9~$B!S? z;=TPyhb#~*f0iT&g)5vl`A&Th2*lHvp`FT~Bz|C%>rdOHtPf6T}D}T1fi^2@GkiXIozyczX4|h#TGZ^-ok-C6aY}gn+K=O zIT|_`{?DIJvI0bmX*kaAYj;T4;beM4`K>_mW4Rl*zKQ^KYObXEV94ta9hy5hba8+a z*d#?0WnBY6$qzv6uouqvi3}K1l@aUEPPsQ*M(7ZD;ng$T%->~x94bL6(E@`M*0F_G ziWDkNJ*IZHC9JLC@zE8u^7#1uT(gAOW44twL_6m49I@Vmd;c2 zNkb)9axqk38Y_u5>h34|LH?2z&rz})Wms6S5An}N((?S}13ka~m6H`6q1su3FU~zH z)Tw749Ctv{!#)gRT;UE^d0!eat3#$l!Ema=os*7B{V}PMa5MX$Z7t4<&bv%wFDBnkpX()f5~veuw4fCI^1-mqyLP{Ffy02ea3U%@K` zpjDE6e;9p)3z(_cK>VyTc#!>}A@{b(UzYal&F_bBBQ8@&-Tb4SiD@-z(lVFJQRhv~ zQbtI{xe4G#5fV5<{Xay#cQ_U9|37|gBAfDx?46xslO5SJE3(HqMpnhKB72i@jO>-o zF|)F=WuKGC-YOycdwYMb-}U?3<#ORZ_x*f6<}U;VMIQtWsf2)_rFsu)OC}{_Q=uH3 zU%;FinIFw0sru0y5xZH+;K%v3@Eu@nRr@a= z){id1o#j%MOmFE>Dr_g#(ar#;&7-*vw*HEy4vtE+{fXQ5Y6zWDDNA(p7Of=JDCFO- zUlZz%^&k@Ts#(L5UbU0&C98S4bCohO`j3UexRl{Zr6WmA;{!xzT>I#m!HoDvi#9aM zD#oT3Kzrg{r`aArXvC3DA3DJitGiRd@`d|0r!uhQ5ZeEy>SfA@s5p)Drj$ zdwKmG>FMdot-bo7&c;`8LPM#PJ`ix~8+h87`!6#0U%PIV?ZW+aYK%V*+$h8}(nkSO zy69@DuU1%P*a|fGUlJA!vT4{6=%Me*&Ys+;uz$)OY!i3RpF1KxI7io8#jneQ{R@`1 zCR_5QlS;Vjb;8a&ZXB>Zpkh`1rLFZR1D`o#^u)cDABpw{OV(;GQNPhVy{jn-RbKlR z>2mIZbVh3TX>!(YueCs|kw27yQJsRp7Pm=p-@59Ek1S}y%5+>`7&=YeE8T?nAnrQj~r}KQiBooZ552KeFX{y#AflpZ3(OsOiLZy zbHWv!ym0vWp(;AA!LpWlCe2MBpsjR%FlZ+%Zh%@*a}lZkkCRsZoz2Qm;C=|$`LjMe zfSCFY<1s^Jg%)4LZ=gVAKhQGlggf0FXT9&a#K&m=S6xXg=H}`uD+`Cu*bgJ#2t%c> zz|Lxdt~o=iysmF_=q5krTm@E+`?K$-i_nkGIHsa!A3^^XU%mGtcTxmb15^4K^ULYg z0SVp5k1{lGIy*aWG};!gMT&1$h)J-G{`kgKL+fS$zFPp1jkl%|t>1eyDCvDgDiK#( z-tc+Hu-Y^}e@i`4;HB0`%b)`&2=mUW82ft)5~TJ`qmt-&*h-0<|JW&aYci#er~B)X zmG;hRFh2M5AKIv)*GpxOCo=Id(9wxA_$3kFl-uU7=AETwt*>+8m8-v0^3-9cQO)Rx z0&Sj)R1!ld&tY?Uf0Wfqnr=NS9;8(t)r6~0!l`g5(^yavcfG3Tq~zO0)ZmgJL&!}e z6$7F*%Cbr-8kBWyV>uB!qo&e%)_Gh@X~6LXa6yxc&X^eU`t-mbW5fAjS@$VkCvOE|mPbtHkS%G7F)HOWLa$&#Gmtg@ljQ!h5eS(K zm%*Xx2f8D=X}p(=8d8vll&j1_2b8POATx+7m3uUiZ@R~W&^Cb1qm1Q#9T=F#-CAn` z#}uj@u6O)D44Z&7-_Hz#J@01F>m1xoM7<^H1wNGJ8^v*=4#j5~4mk_gM}gPlxm)oa z(%~=rr_|D#HczAZV;BBr;JfY#9A={^BMcMWLY+HrnuE(56T7q+_0nt$TH}_wM5U)|HD6$=E<9; z;hLvBABvedKTS(ZtN!_SEla|wWvIzrorFFejx@;5nh0OtDVimP4nY4Zi0+ zwcuzORnZekUC_u!o-xd4sB5&Rw=05rsVK!|D0TP3oiNy@ds($>Ll)<+2^zu{%jQz-cC)UV?xFntyOh8VQVcqIW%d@ZFc4SrRTJy)O#PbH9hzNVsKHi?B|<7MZjQKV z^IOdva4cWq2habJpenPEZ|hELxo}l|6)f83DTb0TQzqcCa--(Nr&yPzMZjuQJ-@oLUUKt zY;8dqW}_|j_@=&Kzpfss@*=nYWEA&A@Pd%l12RG_I$d zW8}|Uw@A0(m+;kN9h*5p8?(f^v@;WmjM$9d;NR>r?*B#1|I2UD?NCwgPdR&AcYgU- zY}||e0(49s^E312$2yO{4k*s@Nt`6^r~9;BIqEK=DSZ*g#dGoSd{bu+^blTtamv(be0Hr@QYrMt{5*1u27%f!IU8d&SeKow3|B8H=J5}ab5Lq+z} zy!M9Gr2o~)B_Zex3aor;0EvsVD}IG!sVRG|1V48G5NcWPhMv3r5~wA*)s6lDEm+hU zQ4ho+o-^Fx56J%nU5qUtj)bM2S5O2jK49fVsv~1Tkr8aC z6Toe@ifPtn3+HnkiV$m%^M3V<5T_AUblG8?n0RSmQo7F^6t3jeJEA(6^1JoTn-WxQ zH?416z7jk-S0TQ>uV=-NI0_Jyr#d4MT*@ORa=NxC&%x>W9GqpIAYKRjk3>(l1^3Txr_!%}v{d z;?g!Ql?$7PJ`?%KAL)>JB`3KlG)K9*J$2IiCxSTvJZq@!(rVqWv?1tjMGZpWAR5rW zR#jEa1rgc;!WY@`-|fe~hV@6ttJyq8 zzgy6P?Qeqa6%iD4%c+8SA1TDSE7VFGUa{+IOF|p^k3@5a>YM!lB^Pnw_%xL{U}9!Ru}{PNp{R~6JsJ0_xp+Bo@qbIVu8oX4@Q#_y3N}@& zt|kPg$>J*Q=8t6nT?yy+OQrQbf(j{`!D39A zb*WgI6MW!>jRhHf4E7M7!%dOitezX#-CpxqPWpaH9#1C7=cgA&5d3&zM^Yt{FEfj! z>~9Q?y3VmXoCEbEVa)sHpMlxdvf%I}8@uGlOsi5N;#Xf|yj=9^KNppKq$ZQ+)|nvc z#M;G$dHPmo*kIw?f$`EAsj*d%L{7rk9 zn|s>6DRXCeIM~h&xyNhP$*crT)&SV6VfEXYx75nUDw=U#3tFBaj9BJuEqUC$<<8f;=tmH#%){Z=P@rsR}mDKGu4@&!pV1LFzf{3-Sz-H zHydvn_1EtO>&sveh|ap;dS=99sr=3V{vWx&t4jAg+{Kv|UX^ z&Cj}I1Rtv0tb~&ljmCKQR{t}%KI}cF9?S|ge>eU6?`-tH!KQeRECC%<9LmkZkM-(#kS~?r7?c=Vb8Qv$*B-N9$Wdnk?fj zAjqrKwp%Sh0!A!@p*_M6T3lQ#SvEFY4LULBc$~xQP*ZiDR%>h>;&ebpNfjsXp*nMk z**|eR==Pa%AnfC&Bz#ZyAL2q0AK^iQTQ4q+cklr7&yh9dYauHQ4vs6X!dcp z4rM+I)8u@67I7p%)RrxHyiAraNV zry;8M6Cj^M)huI7IkdbH+F+$F0OWK>MK+L#*Qb+Q}8o$HVD<=O-OLSAPuBe zu}}7sRU$@I@D4Y}8vXVLlG$xfbCWB7wx49c=v=^ATHx7H-11!NltSEBYD;pTog=sF4Yv*>uh`^|ZL8Z~@{S~g4@IQN6&~~?zs6fF!@=zGe1&Y{mqqiG72KBOBPx43ww^nI;iXB7D644-nrL48M)A+(1 zdCj0qP28Xu6O#oX-Vz{tn!nxKVc|7Yi?fhVkmo8YYf(R$P-QNLc166Xg+VySq^2?K zSrRVDL{HZ#rCJ#I*Ht_QpDk0ZV#VQ`ON6R6V~;<&F!M9kJjdHmjpIH#496$U&NhG15`Gl$0#Q`g1m!h>jM<_Cr#Df zP~IW?{eU!IgRx5%2TX4+EV(2g@v;u zlUc(A^ia&tg3{w&k9OK`Y3e84W%Ta;WQv)>9Tx^1=GB`*q|}|N6KnG?%@O@}WbfG< z)kZ9gm7U(X4w|M&U%DB*)snZ_k9&p~+B>?fh!7gt!0=#$rh#73q9OaFc?~;Mz9#2a z5R5vp@-&fRS`WVa^5ZA)^VLKX`&65(WCpZe$B0=Hzo3EkSX)Hj%h{P}la z^%jT8pN>4z-i?@z`pTuVh73=i1bcAZAu4uwR9-=*VS>5C{wZSzw&8#}9k{qnkj&>g zcm8~n(L$PhkY`VqOxzrn_su! zrGSv`p2G)(bfm0EajpT;}idtgw!DRt7K5l%xcse*Z7(L956o7_U`FK;pO`if{01~Tg*@u zBu@&U7*@|2%g1QNudA>2JFl9muP?`MF4H_rQ%BiSYuCLO-hx^-h}`ekB(@gX{~$DH z3>`CH|Bk!!N!C$$@Zo8#Qj6xFywY;9)bF1tGmlYuoRaaPAK{H5 zf%Tt+rv)#DPw0Nf;(GVv*vD){4Jg_Wm|c(_^9}WqepBt=YIt8|!X1kG8hliO{&Y%Q zAPbLzOJ|iMuOArnm>rF-gESzRY(6bviR7o@E0 z70Y9t1ymTyECaYch9!ud3$q}@R z`<-nWA8VY_ouEt6evc2awaDNk0i@$f4??)pMG`KkV+tPH+68n=qt4#2v}g{0zSE-F z|0>wqH0aLBZYXaB3v&Nrq}^ut&BSSulcYC%C~dQ@z1{zAm#R!KMYkq3o2r#^jweIs z3lMw)-R}Ecku}$lIR9vz$=7^;{7)_e{DTa_hJSyr=9u#c9a4Nj^bI;-CIJ2zM480Q z4Tj&p7FQ~2m@0QSzEU16|6^DsPA*v*+5KhETL@<6q}~!=akrU6O3~P$_H%VzjyX{& z|DPD~@DL{vINo9S!MI_J+85jxvaeD+NN~Ci4i3_cjEr9F>0kX}-$|tt(P%6GA$Ry@ z+z+(B5%2V|)rXZgP7=a@PWQe97KRw%j+P|ZW5be>$hJW6Qjaojd+)0M$EPpHJZHYT zqi*2An6oXf+QexXS1pUDl3fEFQeLH3tGz2LD-)=1s$IV+d=v<8WaVblCIqgNKJr_# zdKvb!1QtDN>DX$XXjTv`NZ=vmWkE^X9ZUN(I#B#uGTzQeW!`Nz5=K#AsJ)5=v-gUj zKz&8^69$aWdjM!^?}d6lJeI=KQG)gZW;-4$Z=YGXD4*ay`S<@B6(BWn$!k!nkJDb* zR{=}qrVdFM>R?cC2)b=R9^U}SCC|{T7O==}h51eN-%~h&S##e!VqqzoMx`$uId@b# z+108mkwNxEjsjkwRNqLP3W6wK?O16q4Jt6fN45qIpHc?lS$|RvJx+H@4id3~DaR1w z{$Ixpq#@PKLEPoAGWoqY@?be6xZY}i^76vqr^KiY5yabsTUQu`^%kOgih_r5U=CR> zSW7#8l=Cl@KZRRcW=4PTdYE+aa5Xe2`lC%-mGBy>4xh*N*w^gUXA&F;Vx*k+Evv|ioFLoR79CiPqmx*9p;*hi{tSs%g*bw=z9VI^({&5 zYB|DkV*8Cb|DK<80Dhzj>mT8zx|4Hm^oYIGm@j{0?xREaoc!V2xwaQj4Tjd8p5lBP z^vt_=@8n(~#*?^qE@Km}s%o7K%w(;X(%#0@8wd!OEa zz!XL|J*pjrz9{$5p*WKNTvb*4)U|jevt!(U@Q|gW?2xPOdGKd-Fvfd>uv|XK zygV=~%NK(LU7UQ(fMth|~ zJ+nOeI%Exn_y5rfua~E1V3ZmXIxWYWV%zCw6DbhWH*gm8*bMq4fqNP2zp~Mpu^o+s z+D02)7bGUnCo;$zJ3ID10M3Ohr-cWCn?u)6YD?K1HE_( ze>t2Yvi14%HkBB=`0t;B?7c1iATz60yk#h%FXX%ZGQZu4t5nmw3t|O(m%@tse@wcB z%}OwL&&HUE@Mfl&@0x6ulsq@tQPNpHOuI6t3@=0s0)gex%)L;677V}5nI->>{F^P=$P z-$sgO570#LcttJvVBw?p_wvaN4Z0h8^}P9HWrzc`Xijxh5A+Q;sVy5a$iqg(>OR-TGDjF~^M%c@&2O#3fP^5%aFg6F@K#`kBRN;^~-;tRM;t4kU0 z&|iPyT7!OuZwEI|9hZN^(vYfaarD{eSaV7C-tRekvl7uN>c_k)p1^t? zCKN>*M`ZDsBXpz;_THtP_rIG$f$7lcRX&qgrwD!hel>;_DNm~E=hE8z;&C`pX_zmFs-K|snZ~fl%+X!0cIG7>cyFYhsPssV zSTZuP*6cIsdtk;-8LU6b&JHjo7Owxvn-ML0C2WZC#}%_^)Z|2Q3+I)g?e$^xeYE__ zJC~nZa|xgHj1WUUL~cPccrdLf5Xj#Qhcpu`KcrZ6*uc$r%doyadvs<9tP-VES7L!~ zN?pQ)4edj?I>Id`z1SIq!?hXI)I+v0^h$wbw;0;75V5U_|^>Fp2 ztC>z&5+ng;?~M+1Vrq)KTTx6B);>F^6Z>9zOoj55rjQ`y$KoQw8G*QJUb-iv53ggi zMs7ad%!qC2njo&>Lu)8ztxh+#(l(Hc5`bSid?Phf+Ru0%e9xT#Ls3%4fxM~vc5%qF z-~LJE@Q{U5hF&+g{gpUQo~2#!!(Q`KA#yqI%Y%U7?Tt~5QFP!e&tWc<(aqS5l=>D0byV${Sv zu&{o1ZSrdaQZKQ0#3B;o4KlJTDTe{0RxCioDqb10QPKHwdSS4BTsdFLV+5R2(R)~( zdxcppoh>q89e;Ly)y%=Es@ePK*(+WuY7}6Zu+MEWBxzs!-!sl`-WgYQo}$Xo-1<7U z8WKIR!IBV0zAyx{SNI&Cu*1^w)i&y5`D>}i9njP5JF14~_nCKK9jk?w)7vCD{%Wv; zlOg+1i4o?EA-z6Nhl=;QE+U=P7c4^o+iXyz9+Jgtdmw$sg+D3n*`%giydI2riy|gQ z4?Wr>EBwch0Ou9(8up4Ew?<=?fqomS4@|7V5|QvBcB)I~`FqDoL@aK0s@1gfA2u9q9nd7}YpYb^CZ)SgE~ zHp&#U$Ab8Bs?5}oE{@N@OOk_AqugaDXu(`u@n7CP{Sze9C+w&9BP4dmlV1_MKhwJ- ziFzqx%eF`Wab;z#DchI450+V+9vlcJE77M7ay~3~r1-7owxD?oU|zDFPlha+$PFAg zL%(yRzppLbk{BjwqF}5YMdhF)Nw1c>-|ZS#nM+JASwxxb9F^f_2c#2bj=7YZN z?^J1eNM2vOIK+>mjm~{or)KR!$L7xthvSX>jPh6$bjevO$xlt4It#*DO~KuO4+)rZ z2AhhpNJ>2nOo1A$vKM1#^yZkZ$>YHmaLNVN&+Wz*(JKy$frLKpo()*r&}ga#W4?IN zoSClmqV)ZCNrs3C`7d)N_KoAEwq^O(D|#Z2Fb*&*>!-_(_=)y`6vD`l!8R@9uTz8` zt@$m5cJX?R2+PXJIs!f@9twqCWAZP`Lmsa`j||wKsSY?kSCu=TByg{&FGEy)m8*}N zuU#_Ets3WIWUQJoaYM}oUJe9ahMyaoUynC)U@36q`l}l%p2&BTUzvbjZOGBWq}yN=S1?}Ao_2A%8+clP&~7vqYIWRXp9kC3uuqyAiO z7SBvvGPAvpCv7W4@(gkLF&+B)npsq&YKH>r<;~Mr)E(w-sR0Gi?rTWjnSqzN<7E|P z+$@=DJ|Z)78k9&Ek@143w!vG>tlsX|t*#{PY~{$yvl~DiprMWj(y3>e-_yQ zMB&wQp85)tTmYrRpj`=7J6N&|*LRsh%cr;r2?OCigji`>rT7K#VNW!rce>&{jVSFK zsl4>leSwOCZ2jf+XA=P{N+=WJi2vE3;E)s4)ec${4J zUmE^sHQ6#@49-Mt&l)rc;JnNrUo6_Z=q}yY{f9VGBzx5XzZm}(tphre5=OZ3Mpl){ z8<3NQ@nj;ZY~&i4*COw1KFZ3NKQ@FJy7>Vdq}sC0XY{zktL`fAO@y}W*_wA~MNJE~5nT|+1V^Z#>=NAG zboa&OtaJZ&jwE#NLs4SBZL698KIIckLPe82N@X&hKYuRX@c~R^=s<1u;H`DLj%qzS zp1)GcxH&AGrsq$+-$e>YC>i7H!X3V^%N@wB?hwmTn$ZuG>{LF=<5POst7=bdVxr2y zj<>3!%=UavX;Ooh4uW1>y!y7Wu@ShNnNU-iX=i5A@o6aSdhzyojt}@-z<3o}vInX8WU5=K|V0cKDzt&r(p!)?USMrmA%Ze z_TS2=`|;{|pY)NUXlN?}K61Oi_T$_k=bBO$e_gVPs|Nxl*S0qI#I;U?j?1kIA|%>d zBe06QZ#>S}K%fxx!;Yt7)Tg3DktXdQg9SwcKYw$672v214&H6zDeGrYOy zFk#8doN$%Ai${Ue+MN5mHt? zlVHlo{+L|jl)k_`83=bqa`&sFrCDmLp7j5%ZM}TF;=#`{Su1SRxpV`>qL!8CO*^aS zA~U)d0W)tp?c#)vel=WhNz&oH*ECo$|IyyXfreuwMjS#n>XpI*I&bi(D{6idzN`*K z**H=uz>v8pU1N(h2?xV~;?jRcCD$f)*-z<(q`<@&B~@`YVImgAPdQfjRbusFmO@G) zEScFZLc)+#hgq#UWRih6yI~`7>x4seR4>>VK z>3AZBlR{MCaD@r^9=V)F%!qoKv;cLmmbCG}L9p@k_^ZHe#7W5crxR682|Ja~G zFkB6WY)Goo2A`Ge%14Qs>`oPP=Yif?e@rZTp^PteE{j%Px0PluSid(pRfZD}hW0LW zgxM;jWFOB#lQLr=mef-7W9+40Bp$tvPs$B{X!DSF#%0@*)L|f5vg|7tau1n1vx4JqW4b5&ZqFR}jRlZNmb-<5Lwn$U9PfiyJ zms+BBvVB08w-37x!~vZlWsTf@!pg2vFROvfxRwtJVnWxTMI-hYP=E%ykt~m3nG3~tMT`C>6%w4hFKN;rT%d^MQG;_@59UNLeKnvZ8EB723*OOND4j^b(y>gelu?(H&wil(un^SRFJqRwB$ zoxi?PVa_uB8FGm_Wg?;$vPo7ag^CiU+5FR>%Zxl9dDU(w)LPgryoA z4~i*glr=1Wlm4X4v*x%=H${y+LrHI^@IphErTj2Z_eRH^Jr8}dkn&W4QqSS@&GaOh z#aF9yS?;M?yspP9n?)DfHCl+Lly7x&FMoy0U7l56v{rj^#FT@Kf$~SUGG&#s)@ribHSwi8G z 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

{5z?v`F{+{Ql?V3+Di5zwq4m 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

*VR_E(Uk z^0p$lMl3NoVY(!P2V;{iz> zP~GLP7lwpE5NzYH(Z}9gB*mlxL;7HWPdS=@M)})wE%-6pM{4(>qnGwMtiTEUgx@iH z`@L9B-7le379YZzvXuXK%%&eaFQo|vMO3gXe7{A$)J*Y+%C3XCoKLOki%eNDaoIEV zi7^|nlG)}5b%7=b#cc9E368r7FECsneg8tP5qFheJK?@v7j5F7=kVLKl&eV1s>fDP z%-v|R!9!mF z_b17I8LP^J_V^N*&bcix+t=V=`uCyHv>pZ;Ou|&?Peslx)YOMN4w5J}*N|@E<4z(FW zM(WYMEvJ_iPPP@_d+Q*pMPoupoG_^>zu7jqf(55NlT{&M=D~8R^!7Az2Uig8n&aVV z-AAkBg2zk3@T%OzxM|a{oCH1U)ND}v z-CGg+o7G5v_zzg@i^S)Ud1sq%t=~yctA6mquc>VI%$AH?l)tUA*Lf=g?P(Z+tRIZ^ zeaY2WO8-o=+gZ;z5r<_;fc+ieFq~zx^Xoawz58BNL08jFL~Ax7Pei z=JCh_*FcoQ^V62&)!?StVwPEH`oxpFT|DKOBG2SJ8WB^MLl7n(TixO|#mF3QfSEfFDWTH)4{o*z1V?OSqeLIj$*Y_llfT%h^o6HV>G9IR>GW3y{Pv;M zS&6CIt!ZQr9g$7Tc0p?F(m6A#^o&y+x}W4GYaz8`*DWTm_Q-)NEVcBo2ASRb=rO9Sg19Rr z@B(y!Z2YXRsFU%NY^ z2b*K;9!j_Pnp-%RAI=-Z_Tw_#p~}VdZY}Rqyu7xr2SZgzj{6B-^lOg&18e)F?HgJe z^R7B*N&3XSGi@Jz`3>*6rIAA4_bExbpR2#DCXTI$$IY}}WtrddLno{TltI5t3Vrxm zJOQz$8+Yip$3Bl`VE-nrLPRIboblVdv_3tN*z21sgZUQMZi!M%Z62p*KZh7xB>&x? zJP2v8*MVZ&kk~E79}@n_=Rw<&ia$T?zx_flJ62IP*zT9)Go&M|vz6hpAqKwixuo6j z5Y_o#kza(oRUexu4RBMhPpGDHW=R-*Y)_rx_Y|TUc=QUtyAl2yvZ}5Z)R_gCdTjiq zY&>XTj<(WXszpVr6lnU%gkRJsM_x-Xp4o{mfoqxhLC}sBs99tA$RYDLo5z^*#)8r7 zw*w?tY=tV!K4tNuO;#fMMk0xc`+p~op4s5S_JoNJ;Qs31^iTTUHGO?0q7P83okb4~ z`OM$+^|k$8NENIHRsmk$Z{t#SOT8*RZRdT{)RU~29sZ!_54&lVjnNEKJ+qBUyFiBr zE6^)~mBy`-6~Ibes84Y>I=qKKWXq7P%_PK=ahqz%4dg6Y`y%9;awzGFBL$W*);uO7P4tg<_i!GIccRoUpG@)IdL(Q?#wKM zWlwsAdJS0)`S_Whnpzc??1WGzef*`O%u=Gam?-Ce3xR!9(zIck!w_Qo%A5eqNHD&NP$cN~YkE#qKo zjfH1Ze;JTg73iGIdC3;EG=iRF5oOxf&JniAwf&fOa?0=Hpu;}JNB`a*F}{1WdnfJo z#VI>(Tdp_%-XpXmtycH;jw`yZU;Cb-AfS8L4poa=J0XzUN2cggRc>h@8UC^FXhh10 zA_j9~Iwe$?DVuaZ{O>y8X-2nx=oJ75ea{d>3C|8ZBub{7zA-s&OKo^WAI~gz{?cGQ zjQopBAe9YWd-;{uQKg?=zI~R=ME6}YweXFy^Y5E{>&LmkN7@p|vFj#z?NV|QQ%Xai z?!(4^C1d&h(Jkpv=KO`rRYfVMvm#2|WySpYRsiMD9Zm`0Bt>QKXZ+}}LKNU58Mbp; zY?99;b7;{fbBaACp*5|Q;x(BHe45-{r9s80ng4^iLlaky&#NY&9Z<_-Om8GRRW$+O z-2+%}SklilHnQ51AoAp(n|dHd~)RnV1fUc`c+$$jswX6S#vxbeJJQk$%w=@{~QLIJSO(gyK% zaJ&T)&1R(C4Jn7(wjq-jx@(JH^#kQd{TbR9(?hImE@LXW$oS7EREBUwvcYOGwrDSZ z#IR`^{P!nFjQ#!dBJjp!p)K7%@9rlfkVtw`O{rK<3hFo;%AdiBUGm9fJ+ZE4FZ=D8 zq2_`%II?@uNCLGOF50v7M~DT1iC`(v2K$~rTLyL4-fPJ}QKUde!C$InqYgq3+hJ-X zEr7jRMf-2$q(4Q_HycpS=EdxsTu9+TrepYNSkejjr#yz#7uorA_Og9cb5fv40TMQS0iR+`MzpR3BVD4LxcNaXwK^ zv7DfHdi|5iM}H5y*IUw80mDg!yIIapV8uyuyGnA1!9LlB2(#-6?!VVvqaqjv=Vg&L zv6Lr8_^z|FvteYCapUNpYaS4*9SO1HSr@eCTGPbjTDkDN!sC`*eH`_ZBz}q1xP;I0 zqvYiUBCxffv3)#EKc!H{>)ZB`d849bWErPT0o#tqlA0TkCP58PQJg{xx0Cn(t%xmO zos3hCb}DbtmE;HtgYG2IN8l4F>&X{BP64VJL~gu|aBhb|w3H$I$RI;81jTf6@7}`H zlTsBoYN!fS)9sDaDzdfxvg*GcpQt(ty+X%iBrX@Pbml6DA}WRbnQz}bQV{$QbnYH{ zT9J8RaXBCz7NoO4|AyD@7DaFpfNkP3;__|xb4p`MmJei~R1%yU-gG>;pQ`<7xmqnw zpx@LZo#qa?L(YK81LYZj*N4W)pRt@;DOalNDVD)*dEvcu)KYo@?9oD-*vUOu^il(`*hw(S5l$8ynuqR+cT|10qrX@jI3jwd|E; zbg9l{xPwQuRZ=o2)1JW&7t0;9#-Vad2;ykt6MHjfzW~DI$)GJ)oGjV>XNO=0UcNRc zZ}+YS^~l7XKcT#xTa$&Q-4AHqj?`>0 z2t(h?H#)JvT419FPzu&+?GjCHSC&>ha0cVHjp3<-4v`P~uaD)f$z0!e3w54PFS^X~ zUB>YP%yErX9u~Z>Cn*N$6^guP7r)+Zt+lEk;{5S*q?Mz@^Hrt&Ws*rZ!;gjPao@7P zsW&7J!l5CO9YiEWJO6xy_fi?ZeV0fjZk=K^QTqYjtF7hRES_}a zbT($qhK)V?DOZY44ku>DDOVc>>!0A4M;g2D4-Pv9p|C!cOea#o(b?5*p~71LOP;7( z_Do-A%l1mL>WnkPqLYc)#n7G2HO%B?AoP@He=}|tRl%AqG5Nb0Dy@72u=o#~lNgc4 z3|bp<%%4YzkJ?g8GFp>{;~Flp*_XrNb)WUr?20s=c1x`Q_WxQ?sZU+$G}Ef2=b|*;byFuq( zz))_q8~|=@66f&kYTZ^SB`DDGA7%4nN^BX;9nCqi=MDm)W$x|4fpctn8duKbiD*hAN zUAKPq2n5y6#7d?L`?}SLz_9&ph_m!K#H4Sy``TWX)#Vm%58dVu73|hFZl>R?dFr7r7+|}d=i3{UeTC4w10bytotjp8gR52hK3XUJf2exv zu%`d+e|*8{6a?vkh@!MGN{|vkQc*!#DT&de!7(HZU%a+tacb-DrSy))I4}WmA{7MCS ze)jJhjK1o;Kl=UYlW~ah63T?lYu7Ocjbx$C>`#p|Nt9a?g{2otYz>c4O)n2#kA}Moc1?WyFtWke7S2_CaBOYe-8efUgx`Ax&i@P zou4iVoBrf>h^yC0)`$%|M+eQy)8ZSCu6J%;K2bqT+Gz3HJ?0&fZ}udS*xyigDks^$ z{10@$P*m7?<_h)mxQgPifU!Q7qGYB|fbWv$<~o-J8KCRX0RAB7~ z(NgJyHidqjn@MJvu@-2NX=&_}o-Hg3Mt@&zFIMYj#KIy{IWim@+%;PHI`}Z$&)r)w zzOmxEl7O_>n*m1jQ?U~zFwQU%_%LO}7gp-F+$u7Pb!-4+n(4 zG24xU(dAEnZ`vO&znW>H-O!j|0IY%ynATLL4lU6@_|_%wub0bDUJ>qm+)hyl{b%!) zpVyz7eKbtnQ_X*IT^>JReJk>2F~x#C)+x6}s1)g+DR5Oad_ZunVFrOr7wd%=MtaaU zh%N84UH-KSr8=k2AGK6rP|Rv3P+&?ZXahfD?c7GU;)>#iB%Q z2OuJc|2FVHJpkyl5VA(2lfYE&ffktvN_*0YH}{Zkt?8t`_KbGfV4=@Yz7R2VFyBDk#aRHdcC1zvOiBKD70zbwAdH_ zWbDN?)Q7Q=ALUEapDtpd$iKb#?`Ygxve zAE1oxwIWGbW&}lijVevp7Rel2)a$)|7fV)}#pNG#B*M((VPbk+$GMEs63;b<0(x1; zN^=kAQjPV-#0e2NX18&k6f4v;e;Tucg8wGzpxBTJ?U<$J4 zX^yhzC(-jQ4vj7l5e|=!ld|8<&W&vHRyP7!B&S7jXY-N0*-{s}YgWh(mdNEZp! z1vTTA0>j=V-Rn>Ke=9waSiMZfE%e%$;ryB}Js(&MIxTxCA*G~!w+Q%KeBIJ=%%lUs z*Qf9BNN=iSsnqoF>Q?A9_nR!_lX>J9=XT9u$xDB1?pP9X4<{+0u}R4{Hl{;GQNTiJ z{x8@?kHzT(O&?1VqI!1i$qig?ja}o>4`v{|+`%*7y*&;rpOMq#{4L++<|j0T)vt-V zRtGfBVHE=Eh4ZcdBtzU2oKmC600Y=1M!YX~mzI3_nav6?q?ca#w)@6bQ|tJV7yDT? z&Fzp^J#SyrjLC9do%N4qWH+fC{KF?CKD!2D_|C5p0I4MYF>uQfd*is8FMacDp~_7v z;twyVc1(@*)1X$SR+xY7g~$Bj9&pBCu#Y9JOoFr}T}AHdZ7IOnr;dJ5ZtF+=7|#wOmg`B7Zhz3|yBxJGS`%pFdwc5X2pOXJRu(~puC;43s+Rpn zn8pOxw^>e%q0XB27dwQ+G)I2Me`YYspwyoTfJ_>&&*<4qWTG9B5A!_(rCtTTubnj$Sh z4tGj0=aC)GlmOrlLNg@aHsp%G7OsUgueAk9Fi`T$9PhN67MmbPpXgXxG$NQ#jCD@y z{tW|MH@xu{C8uN{h!yxb7^bTo9r2Ui^`sVCo7@fM;2%bsSn|${F8xA?bT_Qm1BB@C zQp&KuYWZgNl^}f92{&SA=yh3wH~tmaWpO3I?x^NNtJv^Bw(pbvGNEj%Tg}x$uT=MD zn>N>hFM=lT;37{xFr}lzQ@p+&@8m5W0JE@i=)Q2v)%_-gj@*(eI%fjTIO|Cl?t4Z> z@e&Hn0Bm&MgG5^992+hs{jbmJ4`p&sgBxk)B{a)_aU{E4+5TFCZ$el-;scq(sR-_0 zA}VN>gJ39jP{iNzfP2RWPLc2I*KGmxVAodcMP@nd^J)1?+|T=bf7OMh;&$z zHWR|HfItoFa#wteqEcu@Xy`GZXAlg;?!+jz`4|Yc9;v@EucE=M5f6%6sE=1Snj?s! zQr2~D(z*^Hmcvy~M+jdah^&6AoBR%g57`4=oLT#;Uj_;j)nwGTo z$VO(P+R@|yk%UTukO)5x7{OCK1}6fob@OUQ6t9>W#=wiMt^Tk_?ArzZd0DEGA(B*p zmC(vGK6oXtPjxLVod!_eZ zsm<>t=ipZSl)sde^wmjZZuG=ZVfBd8=f5MlhXbGBRzK?axRKiL;BgHfii>*J5%L6y zHslqmT8S4f#V*tIK6wM(VzaniB{vKI*htIi3R9*Ca@v$2ax=AbI!K3!>CP>q!!5fH z1!z+J)O6Xs+Qnx)DR1}xkO z-cA$a~$?i z>r_uA0Qp7a+N|%M_~C)Y&M7R3sr2ag&PyXN8(avr(%@gx?Vq*k99t;Y#TH>gSL<0o zH1TF;!e^2G1>ZSs$@4f~axj5C!x(=t!+}=gpo##~UgCSCg(9$t!|qUjWi{9H^3rcr zi29!NwD{?sBgl;EK4^WP_ipQ=vNbGY4Eim=Nq1=y{26%6C9N#ySs|6Z6@*fkH*KMU z`z_C4H9gV{1WT`Htag_>7!%z(I51+dMcRcg&suRtdbxlQ;-Dfv5*35=+v_5dTmX{H zXJ;;zXZo2Dm^zg%nSxB|mb@`iM=Sbt#=~jBziKv;6Vv{9^yN5q$P>-2p9)@hId*#YKa|R~dWZ57y2l}!<%ZBD zg+gUI65MZF`l{A~rd0$|P>xaX9dliiJQ86ca9`oaC?+S?4q(=#0V|l(EDn)U!sKeo zrO@=p5Np9Zl<6Umvabpu3`q9kPvEd`B!s)@wki-9D2C+-bWa)}PTau3p)_)m);BX)I zwl{GZnZ3T>A?dn78qI9UT5Sg0@!6cOhLn(XR;TQJ0f622PiWQn1eD;cwv#%rE62zP z!^eY3(HJBwS_@FU;_~fLFu#Dhv}*w%D_dj0&oD;E(YUC-CX!RbLZxVSHLGAcVtVCj zes*K^(!}16?Vh|Ta-PtQ4;6^0p?u?)k;E)n+mO?+ ztjg9;dMyk+*MU-d^siF;z;kH!NbHp9S%L^v?*t?TdN&5QvPJp~R;5cQ)cR0Dt>r4x zCsCqWJO1#X^5B}qVk`)D2`+t;HoTtA3))S6r@pr6y(MU%%?D*=8EO7meY{$s!N~bpVdu?vpxjj25#$=I6FU!`!1?7!uPO_>J!2CK9&R}&1V zt!D2xK-TI;UlB$-a~_l(yHLntIKCX`^5#Lu9NSr9QcY%tO%(>&Fj-1nUjwMy=2rZk z?*&^M85fw&2Q|}ta(sZJsohh;?=7g3-4J>o?Rh~m(y18c9pF6`Chn(91i;4Eew99~ zLwTFlB5&Lw_lVbt=$&3a=b=I^%>ymvhvHEY9)>Q#mkA{+{5wxu6%1ROoS_a`Kzo&n zv#AH#(4S58=FFs1)uEp6CMo0U=H|vm_~jC>vN1}--z+j~ebwKqPiKonQ=yn( zq-*=gQrHtI!63{2^=SI!WY!)eKH}6@BmvBe6#y z9M1&q^~_0r#BCS&VK4!!TrXc&`_CHwoSxbQEx`zevwtI4!p1$;QV6^s$=aYP&eaZ4 zLPlF1>kHcAzVjKJF*D`)IXv3it9&UjK}J;Fbn}arsSLUdl|6;M?#Gyf@qoYw^DeJ9 ze%*Nx_EF%vS?Ail=_i){wKRoTQpnSpX@D(b50q+6U03ZsFezYYjZ_yXbfj;ME>4sZ z*WMg#{O4^=zVCHShUgR_|J|g# zi(!he-z8KG$h_$$dMpienSZ2a9kKD=(G}&^`vx*$W0@6o2uKZ=a6JyP^d1z8{8IPe zKlKwNQU>`5p4Cyq1S$lxihQ1U1If+wWwtZ&iLW=!LNVY>Ea_{<7t%yY;W(kX;pzl0 z%ZJ;MS*Gjb%NTN+6}f)&K=soShOF})VNoj9#AUddXg{TQ{))C?go`2hL+?H)Tk!Wc z!QWRwr+lmH6eN_l(^_k|E>oGuT&MK92yq#Uj6T^KR)y@-=Ru7`40z@Bh<3eW;RUY-6UT6maTx`OiLV7N5U<{Uqkk)*pr$ z+l}t`F5zoe{=|!!s(w~&?{1u;Sy5Q{`L4j~st8d~k$-D(b95;L4{4u_VO}YQEC*=6 z1_v=ZhyVE!F<@;*!@J^3%NXD?_pEH7m%6Nxd8_^UNqbf}&`y2+)lSc`{ZcgQ2Tf_m zBywL~dRvs*l2N5r8TGzpXUI2$Cd92=bV@kVF8cKPAPGoCz<ol~O|o8h-gg^n*PuLTp#aa5V)iM#^i5vmHeSr#P#nph$dt5IuJJ zFYuE#LE`WkzUKYXEgeigw{+Ea9iXb&QsHPMNux``HB;`b%PWY7OZ|jGb?!RI{rm(@ z3x*$`d8y$=PC2X?pa^-9u_$XEA137H^9nRcx4cA59q-b71)I#&+etODa@8V5=FQUm zL8j`=%A3DRL*yL}O%BTP9mB{hsa>PQFO~y(V0c+U=%bgYf;zh%xZB z-;M48_y1LoB26#m_y}*YfEVqOX~bjouT1c(aBa)2%aRlh0_o7L3@Rle=xu=9oq$|2 zr}@gEeANSKuD?)PNmcHkdalc(fz9qSE1@((c|VYs)$%UZa<%jh^^TpnvG@&r$A5?^ z!zK^lX4J7cMQLZo-(vK!Qa$C|n1CuUXMNWFtzR(8JegbWI2lm$*_jcJAnD%s{sfN`C?KE(CjQ%XQU9Wb6OuzK zt9c0{7RlaQqCN#mp&`Ug)<9hf>-hBudHq-TYR$%E`g4D`DC#e9uBlRfs_hj+5=EV| zMHH=z-;>ft!wk#M#8Ria&D6)^pBCS!6?TXNwU@xmBlnQpGdL!=+bA?hF1Aa#C$H3J zrCzk*XQtU*Yss-IiEXyZA9mi5;2CJyDCy$&2H15U0~|X>i9ol#{&L)dp5tn)!3~F7 zc9P)73{b$M)MDu!(zTs&bRwGWBi9WOsKTH%u3t~1urJs` zdKquJ@-~z6K2g#ziD;qnG;^pG#+-iZ66PjY5HzLnPAk1z6&-ShMI8`}eNY+&*{M&Kc2=AB?2UTacHv9o%+qTr*w?)-htjGl8M& zmARB?0sNkZOKmCc*!!!B%ZK`4AaG$&&n2ol?8j9$67wMOFf5;Z!DvSU-Za2 zNBZqDW)q4D?p1p^x_;&&4WI8?Q-X62HuAoR8z@zGB?m`ck&C*=4o#!OLEJT-fj29k z9p4}1?ft2Y_O*gmYEsSE1s57cqk4$|H5Xk)xdxwF@M)qpybX49G5KhnuklF~o#?CK zC8#cHYJ@Yzm^yssn0Y(y(HW|8A>b-i!Ke$Y>Y1j?4sD^~jW5$#7;kYluTSCELGE^_ zDNON+tez!#1AB(Br%9~R|Cy2) z(NO7dw&RmV(`ZTCUmPDGR>w>uk@N)fB}CNtT6L+hP>o+5O1#RxAz{)}gqVLr_W0&W zrpu;D0Z!#Emc*oaJYjiP5;oB%PxyLB`yV$wb-A!1xwdO-E2 z+G;ROO`YKuFi@_(9p0V#CfioJ#P8SL;2itr!XT3zCykZV;O3+AH|Od8&XoYlt(qOU z<+~HM?4!m5sbCV@fgDHt(%M-xO^oPzTf^K(u?C;QI+dzWnZ5db__Eo_;K!NEthDap zgZmr{s}*|$t?g#J&@QeYhhr4b-+8gY>EG{j$)lj=obLN*3`kr0#?$djjd330sZZ5Y z8`tfYJmlZDwrp?nk&fJ~E0?erkIgetUgXcarF;_~78jlPzxfe0%h_X5cgecT50$BZ z3=-VlMO=3q39emKet_3hEx%bHQG5Tl&Dohm<%T?_CIDMPAuBz=N6r1WBOWQ6<6$ag ztsfa^mo!tg%0Y@Wj{U_cYz^F(d>0$Mifj2M`Yy>Pt_E@%z36?Q+)jsO?}lHv%f&a1 z=3{NJ9z6}{Y$leNKFKUovV1AVo|E8Aes`1<4YK}`WyeTZXri5B4`rDVVAQDBoS^fP zY6}4i($6-55~u)V3jHXP0e1(yP5xz#p9T_|{+47}kyi+idSs z2Xul1J0#T&UpF^j4_>HOk$!rt11;!5#K%airsiTLAiW|BRBV#`W0Xhs`^AUX1qXjj z>D*CqCw&f;FdWe4?H;XOJ69_aW@NlT99{Y`dQ6bBx;dt*6gf0i%|f@l?wen}4nb<@ z4uGqBBFH_@aNIu3#*>`aI52#qkc5m&hV_u*;XSQ~I3bOpupG;XpIEXC*i)9NF3YLmr%F|(u%{Y|J5bj~&>~z}q>PJZaZi%4bU}?q>i0j@hmF6{PgjxIn^z+B1Uko; z?l`~sY{|9^8h8{mzG3mNke1igadQwtv~Yv^lO9HbCEAm!mJYlMc?ybGD1_LOPHV%5 zI17LN(2Msm$~=8p8(@X|6Th#{FH_s98v1<}_eEZU>Y)5vkVF*eK2v+8W4L{Mna0oH z3CC?qv6s$Q+EvyLs1+7j$TlmeIxDT~*X%nvt$N!U9SWfjIn9S#Ys2Q;zj?5wy%`LhPT#}#k57+X6iWy9@4{;SFL(Io4ai`Q@zumy;Px&<8wXF z&q1V-zi_33qla3Vq8p%2xD_Bxy_mz)5f*bU=gLeZ8knOmVJ^VZ8Hu#DXK$UT>a~16 zl>q)F01+?Gl~l&)?gk;I5pW1rNxyv^ z9-eGDI0afeGSlV4lHn3VM}A7NTPDiW6px4+A@PyxJ0Bz^!hsDslUNfcn*Hr7nbAUf zsTzhB)^xTUnT$h~n~?d@2Tr<^69R93m%RBYs_A#*Lunlli#S8Z!p3!GQBV|YUUqo81%cQ z*|IA?kFmQ-i^8b2IPj{hKHT1*fOq+q4xdFq*z={HUTPbftzAG;@!((eHN+E&R;GOm z&431Kd4Xp+o`L|GnG_*LMmqdaG;5&o{5|P#B4vU4li*xOm^as>E45mAXZ52izr8;TKk9_n}UFVAkdrwq1T~8si^V?_YKI-{r)UQSno$e@IF}STj=bGS_8POL<9J9hWr-=K;p1K4ll7hX!@^!Z~r{9W>1P1ZxL{k&Iks-JhBCl z1#1AtgX45u-~`c8!BOuM*51?AUjUj@+@uAodawk@08PmDd}VBKiFH;j^1iGua~%KO z<-OP9v$&B8;Ak6vLKKN3)(u1IUnc1=)F(20B(UigN}Uy{VSieTE8s3i1Mt2~kd81R z4HM(&4fKbCQexI+ujN5PuW9yN5iiF)-R6Oq71t3&Gs44*>D**8qscSa(_w*b?}65&8SNsxo)Cpr z(onDE>{g8}6WY25nSfNPGbTCH7G~dYR#=x;rjc1G71h;O$mg@_RW#JUaC6K(#r^w} ztjYD(_WIYWD%1&$+l%*ClQ>?OP+w#`RL>mrhqw#L4u(hk|DPw~-F1eY zND7(fEyI(rS}UphVzv2N9-TZOSE2H+2EYa640Xv45q1NHFI2+p81_4&RHBenY>IXY zQWO(((wSt(dpSp9gPnlj;Zgtt=J8p@j0joS96pWBj@n+$UOhl5#AF4XqD z01(W>(F6}9nY^HCmo8zn8qMkdpxvMOZsKqnU)xmfWX(EfqGfs;@=bJoLJ7;gii=0{y2 z&W~CC(6bW*5@0Sd%34_@{%uz0xO{YXGc%o|LzYLH;I_dK!1N7ozHWK*cU88!lO;j| zDpTtVKX@7t$ySPDbUi&Qd_}t! zcBtO15_|Hz{MS9W+S4s2v?VJZ#L2iJGs@OUJ>_e_8|CM5RX~mRlaPEJhrryj+YfMw z!tdJg+?sy-_;YR(jC=e>a9JpnLlhMB%BAdcyP|Gr z3T<7XmOUfsKLFNYm%9{SgnT8h1O z62kFhM1x)zeQK3UHKwt?enGqIDiCHO`nEPJh28=3h`QClT+{ukF5lIY=8m0LP16q* zby7+*W8i4tpJ}4+T0a)+7L7RU{gUd>dv5$hPHCpFk7nu}=it{1mt$yQg8~|2{BYU{ z(_f&Ota*Nn7TKO^T%hmguKB3a_xjSm(Q3fF$ZzXk4=?Y7I2#(d)%TeLsl;6m1_AUu z7i)NQGl+LEe?dc{LG0X~0J!kzT&t2nE`onb7-a7GBgcfyv1g?0Ze2KBV_0?%tPnLW zJ_s0jDQW>9^DXE9T(Bm_|*CAhiA}QtIv_^bX+mAT4^ljbyzZhC+yjVhMG8(am)n z`opl9)4(U+NY}9`Z6TWCWN5*0u)H7xF0-v>{Vl5{aBJR5Pi+RhhXfLxL6yC1G=a_P zYg!QDbd11@te@CMxeq4`D+iT-B@P1@OEPRZ?hBkK;_K zY$D3``bZJdAax}#DG{i}Bjsqm3iroZudmwZ+lI}sjukWqe-^W9Z?KYSa-TtgjIRSy zhq{0D&V2uxqn+1n39t#)ah|r2oWP46$>4CNhy?X-Q<+dA^#nHbJnQ=8IJ3|tQL0tJ z2U;J;uJ?c2J|EdQWJDQ67|flF7|qIcO@*A#5xDUsjFu_%3>{1WY& zdh`NDSktMd(?Vv$Qv`u72D#_a7u!NBqwLtNTr1_HctMuJmaxINZ+m_9_3KQljCdVY zJKbcJhu^w>}apHCm6~2mDP2Y z`y}!%HcNr2&4}XET|>%6laZkbm!~ARYSr)ZVt>6d#dGM1d z)t}P^$|bB%GwdwsKgugr#(BH(f^p-*OPt>Yk7_3J9ovtIMh7w<5h^G~K>RzEgCSSH z`4}~7`2(9?f%5pIw`rK|X1PiP{5x*_$S}LVp$55tEJvT83{W`nUdZ7ftlnF`E+V}>vYFL4D+@2ZQtU`Y`TUuI;uznuBke92P{{iW;0G|Mv&C4@jWLCx&l z7eS#9Pg$@jSOwzF=U3YRV z-+s?6fNAiMIJY0B)F*A6Lp9zeCupLa_2|5#U3JIw+gEC!&24_OiqJm_#LvA z8zvt_AjSMdh2tdM4Rb8sL|P8x3|nq$v88(D2Zy z!zA{5-1^kpxwDS}{kgJ-&uvMShq7K|NoD+5>w!VBOmgQ`gK4CPb768`;^$KI2OO?J zj#dm+@YpwRnf}*}n<`!My8Vs6^D_VBcJc6-kP>NP3=$$bqW3$d6rOxN)#|U?RI~Ou zT@7K$>y3fH!c>nGl(Y~{kw%9b-05YVySvv#w^~Z9`-eAC1=-h^0Q#>|TzZtc(px>K zeev6fo>T1AikyvZ{}RU;p?t5d$-)yN=xO^`*st@BPMz~KcsCRZN8{^tQQli~eSZ{3eRAHpRKDtaeSJ^PS zi*Ma(qTI20sTJcF!f-PNnW|yFXa0Z^?9Tjus6VK(?2^@WL^kgf$GMr&`UeS z+ngt+IrFT8XZV8}UDB9VmRAB&S1$hTaCKXuK0S^I=3o8!(qt3oM|In>TPd<50CB@@235Qdiy)p*nfE|M9PD-SGrTjE|6_UO7xZ2MN_h zxr;?aL4eIvnA_i}(JjRozloVj!?~sV*Y%f(vP$q1ua+u(%H_uND=%Kvlm+`jl;G@X zn@nhKNCyJuAPlzYg>?(1&^nwEs->ec9pxvAf?e$=4g1t5if0fEpAF4ph}*7T`C1>8 zgoe-`OlR;N!m!}!go^1HN`F$p6`A##oXV>7VNJ9lRn^#?`Z8~(Q7f+djC1mu<*Vl- z&y&x?*&fe9;iIiWDBr<{F437SN&l^1KfQG-yL61?>QEB17~?QiZC)hmK5#--KN$~{ zt~-dBL=F3Zx>&+uXs?oqLE;}rlhh1=b-EgQMYVHc#JaLsv&NDjjF!0?C0t7$K+KI#{@n){4k9noN-ZB8QqOCX_ba>f%SGCeJs8?WW8W1U{OskWFxkjP$U zZwKD`HP!;$E_npcG^cxlH+)1QomEb(n-3H9^1*zl0a zf3P;E>0j;^gc}DQS=$^v`=?Q=KbX%5Li8nT^@ z(@N94utY1gJz}2GdCI_w=MaAi4n6P1AZzeK93=iUMrJDh}wa;F~C$1AVr4(fKyyCtJ0((G!R4@DI{9&2Tq?OU%vl|Nj( z#A{xpk?_W$*(IaR)8CeVM96MPDe23?OGas4VFw*M;o^+%!rcg&&19>|i7#`k>=E94 zOk~534R+j>g1m4W@3cA)H#|tbWY?nIQdaT}iT6(bX_Mk-wSpdxKU`^+cxep_$+qxz%-U*^9^MP54*YsDe( zI8kSuD7sHMHP3|XF-B(57#2K0W{M{`c8Nh)QP7ztZjQ$x3CeP)1mFw-4B(+X9<6#9 zqCT&R-1y>l->e4MzMNZzH6U*d~bY|;Pq&)}^1?1XL@^22&bREK1oT^KZb??FG zvvCYEz$q}H{&+jAvTT$EaOt73;yYhhYfD^$rkj?5g;4D{roKvEX*KTgk2U&L!({pI zC8Xf*Y9Erj`Rf zq9ZIg$;g{OY)Kx7Nl@PW@{k#6 z;Q!bN43@p$1ZRNA!OrBxrPG!%VfgAy5KMwqXH8hWz$@K5^v%a5WD$_A zG3;VIsXW5BP|nhR_A&M3E-_>bTU-SlT-%P0*1?D-*H-7YqQWY-Qq}DI%Z*(8RmfML zj8-O~?xo8aC`5Pwk?{7@D_`Sz3n1@fs>_2u$&|?^yi#sJK5l0BvCz`!sB;r_Y^> zU9~O+f8weB7*Ed=8_bdf{&)aF9le@?Qn83b@77V3b9||sRe2Te?6>w$0r#RZFW?y< zWRCtyFAH{p)0jeCtvuMvf7;JFVfgM5O=wzu1IE;F>n^+ao&c%i%w?tp zWcFN}KGs1DnK&V7_JNC zF2&}+yFJCd)2~zmcxna zBIqJWR5KdQ=tJFYz-m4IfiX0QVFrp7f{ThjiLB-SsLsrUmFY)bFen(rM2V*5|4ul$ z_?VkVG+tTM_=NXPS+%o7;;Ib5$177agmT}k)xp|D`Um!Tyzd>k;r!-n!7*{#12Z<{ zXozlSUdL?!!Cu~(9ID5hilt_?xyRlPxNzpNy8O=b0zbQ7y1ZOHf|?wD#WrMM8L^DQ z3(DgG`ueT-{DZQ|{x&y%-C2an2f*d9KEilaE)vNZT-ECfVOIxOoc?IqiWS_QKfmj> ztY9T#DM{~J4z9#e7fZc)IDS8PIzskR{mR?T-)5A-&Ze>W4k~F@)Osc!`dDK@{&K7Y zlW;i5i^e1})?U40c~`4OHF?(j9k_>gr`a>|<$sqSo2OY&_ufiI;i1*RQ8{F5wO=Z1 z;?7{7M{<4p3IZyWS$%4mf`gKu#n+#HWG9Az05`3>CvT^xVfrM~N29{({?WUh6Q7_j zXaW7Kz~CsX7C>YqqDDFuas0ES{GEj`tjSWm(T|a%68~*SmDa!)Ut~7VvjxF}Jcrh@ z9F$7-7}&m5-zzUEdM^T-_!9h7g!?PR16k^7DtD<7{3Az2qF6H`6dIw(FCx$`go7N6xxtpqQskP%H zXwl(VG);5J(F9FQEeTW*2^xG;)}>aE6+V{!&#E1?vXJPT81d{B^c(nKeJLo5m}f>? zjZ-%|{#rto&xn4{0l-inrA^<984ZY5^Cc)M6qatjU@UIRmu+r5j8$+ib~t{h0?F(Hwv(JS|5-bN=7!$V<>G5SJ^CuY z<+)Y|Q94Rd?3IbPe&TgxVnD4b`{%`4L+bk1z$aLXa+9;_B1AptvS{VzplCfa5i%h| zr}jG7ldPh?D(NANWcF4OJ9yv3Y0bG9)mHgR{kiLOKPmW6em z!IK@@X#H->(vsmg1BZc3B&1cF%JkL!6p1(V_i=XPRIM^41Gzxb`Q_uSjE(CLVHJr> z7xtzH<|u7e$>l35Ls@j$U!Dx7t_!i8mLHF9+_;q{r3aIaIdJj1PrOqO>pRXOn$%L4 zbJ|_VBV#Uo-3QtAbXbEERXUrvKecN<9d{*EDSZ78lo^Z)zV%o4>vKKo>quUorZcB| z)y@h+?CU61O`egbp@&zn&H3l;xOkfm**sXmql*lIEHiUN|AO@ZLoeVmRVz+xl|O}e zWNjZ|RhI3*1mukN#hZ@d{2oI|#l4odIpU0v$bMwnDX_>>r?~bz>opmLfn+q`nd8rG6Eh7OG`R{RAM<*=a&(wC6D8bF~ zbuBiCEoF4U-&C3#|1%NVL{i<8?l^OA>p6AJC885QkrU3v`anICsLja;oDB1gouI9Q zOLG-M`4+LV=A!krGN(!AT-iRcrOLn6Y)j;`!yRUc7BfVn+kw&c`_=`F%4Hmlyfo$B zAg@8&s|(kork4u#M*cNjRxi8~!eAHJyq*JFy;X~%E<$j^uK3Kxq$W8i7` zJU1pc`Xu|T6<0XavM2|yNzlBd9=8zAIGlT1gTv`P=nm^=N%t#GwjAEsUPkmC>re;7 zQZGZMh-c>~ruMaX9E<0&a+t{|d9`ha1ivcZ2TnYBiaE0vkY8O_*9DlE%$}B$vbwu5 zuQ$#K~GoV9yu%5^feNpwETfQiNEWH?Nw^UrFH zHh>#7@ow{qx7bjDZ_yrc6l)ZNONAIC2rpX+9ceSvgx4LnZm}9BL9Wr(Qq8}*qv@JZ ztb$XOdnvzl_aVYF@DB8rK29ZVTgAI4e?_k zs-ty=JH}iyPRV&WiG9hyT`$y~SCs<#vdEj(@0o>4wH=;;%1Z2j1CFTpTy-+Er}7kR zCm~Gv5MQAIslVW5SyJ+DC3twDN49g$59zxVlEdJqk`qkg!pg}NDln&`-msFwhP#LKyahc5BvM>u-7K*1y&PpcABt!==StcFyP~Uts6XMKh;Puh@ zqm*E#FkER;P|Z;ZbSfDi@iXE? z3v*=a8onR!X{<~7M-U}=<2l4|HCOs-T7DDzvoC9hg0cl2b`IBFF=%qN?(wU z>V8RJ#N3EJ<73G&&m_d~5SO!mSG*CNOP-+jdf_A3S@Biq9^7yu00WZao3!z9XFU~j zeRVw2E7Y&fhsxyhVpJN+HKbOoj=NznPnEAX#ChvXy#3^dUD?aO3{0@!8}IgN857lo zv{wkCPSzP*Xqd#z1y;I^$DD(AY7M{s49JnI>;AlB$EOdTWv*^%eOJ#}lRk#S$41Fs!Kl7Af!zD%H|^Y==B*n_Kj8)_Xn%2 zuER5r8N5=>QzXW->3i6KI5mbAF7-OT;{KSke97Mjd^ZIgA0G3F-_$jwj8>E;CeIEo zmiQqL>_x?p^nFo!4<5=l3|3s9Q*h^+y+bLOCBW6Un;-m*V*4n4~gi z2++f<(`hdWXeRH2n8rv=O=QZ1&7ALSoq9VTYtZN_a(@?5-Y`?AhOa1#Q>f)_4f}G~ z+2~j+B}qgvp9IbVDbN^Di5G_K+G-+jzW~yP+f) zegt88=(l5yy;{vsKLMlTSk-)p_c>$>xvKkbi5t?^;{ zm;IYIPwx%nM{$mz1yk>CP`TD;;-kF?NhaDO?@-8PRs}at=gO8>?;c8udtPOp>3q^S_8py`)JGOgTYCS&ayk*Dc6kU72DZf>0KEkuY@kBH4d_MT3qu0ijeRLaQf;-ATa1)UXrlcQm!rL-o z-48aw5b)*IaCUv44!`QI|17?R{k@i#beu6ZB3Dv5k~ z!ZMbAS|f-P=ireX{-%W7Z55PWeOu=RTJ zaxt>cRZu)-ElSeQQOK{&f#>>+|I@`YU?_iM;)vd_c3X3bmoVRJSF-J$*5Qw4X+g`W z!!?O8tZ;6Cs(SLurB$p(7{or(?w_2_>8bzO-y$w3>U|w70aT*Wi#XSo2GI43j%yc3 zj&LvH6q^ArR}*Z%j?rRT#tEBJTpDUANLbevewV|y{(~K5 zR(42FmeR8Mg7wI^c`YL4whtjOKuOFl8VPPu_Y8!7snc=}x8r)hI~-M%vRv58Wh=|(IRu(sAB9=c^9 z1U)Cq2732srx`;Zr8KWV8W-8$mZ~PK&{Z=C<4534loQlP6a-m zUIW3j$OTDAH3W)5hlJ?oPjP(i`unF7%g-FgjQSxPY71Z5-#2vRRG)PGAnY~|wNaya zlYdkf#XLIfu*(}~wZW&(fS4`mquq!yuh!pAIZGkaOun*mM>>dqh3Tr`l<+bCjzCol zFMl&v6(g~R9Oc~w#QzRy%W9v@H$Wmr>ltJ1h=w~BCFW=7=6$!JJKJiWqNyYiz8-e; zoucu>Z0m;NlxE!%2LhCoV}rgMaktuimx&*sD*|56Yvn*n(HxGwTro#iNz?YWRd~7^ zlzRqC+S;V<5tN@4i_7N01C~#mnphe`)YA7(ggHBgB^qo1+ka4mq`c3hjgT~Sr>+ME zR!cTN_84r+T_4)m#Ew3S3LifQ^(=SM}9&7U*izwY^PC<%pdTz`+?%ok##(gl! zs(z{B?EW#GcLEl6A@=u%19Yzdnx^*f%H|>)$hECRN5+>*YGDrh_SS9U3a*~4Q z&*X@K>d<}#(y#FgD*dgb^xNOMJODhj$Y1L0H^8q)WnG3}6WLpvssAdsGM1S-_U*}D zOBdAYj|FDP|6hx=`r9>QGX3SNwhhdxIYsms0O@2&@a+)QCZs+9)ib7$b-$pzu&Mx{ zn#YNKnfx!677lY}7-{j&k+Lub`SP?TXMYgcDAQTQmfJl!DG=*Vp7$}xOAkaM1ftG> zY~oJ?2>EmQVgZIa^hew2llN0h&ApYDX1oPaYJEplWSX-@VnH5l z=X;Zyk>}W`VRfR^&~t(oc_8?J=F@pWWiB%TM5u9zksew9ET*%mlF)L(J&_agjKQKO>phrooVW( zB-fST#8e-W;?ki=c&(VuR0v!?4W=!5AywtI_bzuHdL=flqY6T%ill-r9GQ#1B zRFB=E(~V*7e24#Sf(nme+UDOU_Sc$L_NA7lGsYg`+deMb`(v>t{>O6>pZ1!tiRBT{ z)*UD3q$*rkq@{H5))iE|S{l7($%9&82( z+vAl`DLL}|?n)e};Q9Wuo);!$tJIl-A-&?^>Dvc)&}p|R%?6&zb<_FG^5btlFu?L- z8OfdD3w7Q9b3hFp4!cH8w_?q236tS{Pkps*FZ($GctdPF5YUZca5dF7I5s+-T=^|% z92b^d?bMW+DTVp!-BrUYkvba?p&5qT>8YE=j3Z%ammq);nXc;P?UNo+cQ;A$26eAY@>X7>Wjz zpC|MZv6FDY*03z?qS@6d_BEM$-^km_u}JqA2%IS?<(&idNW2O>`f~)etJ}~tPx3Jk zKV+q@1M4TwM$Eun-|zG14Y_A1^h+(1ZW?Ycg6+eeZDuQf3hl}``#Am0{NcD@@ca#{ zaX4Nos8p6C=YkQ_q6CF1R1}c2=4z7*0>u-Gx0nN!>efW7rCZ0Ttl= ze=9)1zpVS;-QBY6&a9q{WB$y!gb3i^CtIRwEjm3oY9(fi^IX%y_irwk#pyl(ja@!kGn%p^{ zro;uC8<#Dkl~krQ z^t;-ConTj=5~`}(;%dBPQo*;^o2n^pSx28)_dqz-` zOx)#bzu7N5GjQV;ApK=q^KKzNVb)qHJNp$ep)qd+ebQuBdk~hamA{4&lY0^WHL#mcz@-u2QL(^%t;=FPO&q_ zC!Un)K7Bd9oV++t?Pq5@Y&Y?7a##9)L+IY0PL@;mogQ)?X6<=CJa6yw{+i{DooQFL zpK}{rJBR!IxgP(}k}S)flZ!g9xHGUz?Q_QG_NJ$cbTiVj@HfU#(v6$ZG~ek*lab0Z z5?%peYcxcwoDSl>#J#lL#Jw7C&|HBb53R27vI`G~YD+fADfE;O4)%9NqX^mb3` zToC@-y&d-^PWQdP8@R!@0$+E=XOHma^;(y*pQ(8KiP4W{U5VHF%l=C6%lc7< zb>G%15Qi-oZVaidaOyvT8Wb8g?r3R zvsUE{!?f*)>c6iJn-i|PVgQV|lfhkY%@1Vkqd9pA^!BwQdNPpEI1@*Akj(V#1ZH_tZmQa8y#&`m9vSqG8fjOCj!Csq=Sf%a=Ryz=~{Ttvd-^0x=s#jPkY?u|PJ z0KUHT+`;M;E94i(`w0y@74J=`fc@%@+u!@uF zamcUw1yp|Nzh~*D(0_`|ilPTe-#GQNqpwOgDPO9~gd&%1Sz&uY$Wd`99S4_#E+cWt%v}<6aO2{0naHU?QpBHcY;XC3s4@PH! z+jiidasH*-H)3*dEu%{nW8Z@2x7RwR?~THAB8dr`9bL5Aq_r_NdU*_ZI2D}KGO8!V z06Cf6imH&oU(%X_bywB&cyLv@@XlkeO4GgZ{aeTDFsAc@0Z}z3$phl1fnsy_^V(Sr zU5N>}2($ojOOOXT*xUY^mCQO4cTdldMo3IiaybZL*lxCe$QkMd+s z%@I^gwpCj*ralAmLsk0G;A8Yu3yQ%}FAmTI!7~Q?hLa&I1nl!ngRrN{52&J7Ku;*q zE^XzgfQm|-@Ed1pObKtygG^v-UzWf=e1^o z{esp;wr|0*7uf~t6NdU4FJM-D=(9X%zNj3`SdG;3b?HySDY3MJRJ z{-{VcVR3us^~;1PdHT9Gu7KiF#e?<8YY-~sxA_elxX#L=JfF&+@($fcTOB)}L=f*o z0z}KF!?$_9=kTOB9qpoc4x+zxuYJvO`ri0xjHQ>vJJz!I@5MF$F z5ZaewuG5CZ9Oas^ ze8qax^6`Z{j*P=Zqw4x((hU3Tfp4Q1Nm)0)`l~g$Th0NZli`PYF#0HvV?HDQ7~pQz zIpr-b!_s)XWBZX0y^RGgQaqs36zLCI9gJv`#)?S7G&g(>@o^i0zMabFCx}FL9|)yk znhb$6z**_wy+ZIp-)=nrQLjYd(fgXW)X8jWB-wQvD+M25BOn){OyX+o>gWf^*&mY9OObq24^N4Dm17)za{y#UoxeekOTt-=U3cvu0>0|ZP!;IBeMNen* z;BW+7Y%{=ZfKiVEVEw~#NwQygB0n~LV_#pQipkp<@uXN(AznPKsxrR4zKeac`-9X$-vo99zYnwb%$_YK!EtihG!$8&f z>9L<3ad6HmgG%P~B*!=DY~%dT3UNrsGRn{Uu?=N|rkXZLI~yF@?uK7BAI-x=DrCrO z<@JA-NZRxd6sHOO&S}wxn>avN&Y0}ug+HzK9P!_m?#kA#IRJw#YOEYo?Xt zzCS=r5GD%48#gn}lHDds;pNBr6~ZjPr~Q3(TDhjz2q3@wan%^f9NwxN=*CnAF&x_h z6P+qegjpFwSrp1n6RNI#ktUm;dOoXo8QQ&Vz|(aTgr9#&i~|DLz;FaNMGVf@xOqeo z?VwXqWu`vqHhnq|G>DexvE=B(7R-8G9}wFXf#>K4r%AZ%U1qbF;eWuF8DDXU4FnhT zWVdV_l-sDDrhZ*A{)!B@RjakKgVq8Ouu=t833>#2wsyz78Ix|U^lP| z(Cr>Qtj{Snq&GgqP0>ls_D~n~r zYx(^@=Qj5K`91-5QSyHiNG;;f4R*WhDFRpi{v*rkqwEDx1d8r;U3WHFiZ93*=?b_m z*d4hy2#%R$h0u#rj_SbS4vQelXq*yYHLQmZQfmPzm`xQlIlQdSdOd*bQp&3}3zmV& zH*7m~t1gybom&ATDAo;JwqUqkfE6Q%<1Hs#GvEGj_~oXJ1xBjin0p@Z!2yo|FpLH4gNdn z^$X;CPO``M(36WN`jUe9qs(kze3@T;J;MinC#h?a2Sk(z-@CRK!fL~gPrDQ5(a zB36x$s3(*8l2@(_yHS413|@MyZ$E=2_X36E{)S~zm;91V!_UoS7G=T&;+Ii)&FSux zOIV82`A5?;a-*gsFRbVX)dYCBl?x-Fcj+B_=}pLsaD`K_P|gu=I3r>% zliCKV{#jP@>m`HTv-0D;8ue-h#}2q%-U4`4xt(e9?^o3imk|dfo4~9x?EwF6z3BC0 zu_uo_I{aXIz(nCFtJ);2m4M$uSENBFRexJ}@-MxHRBUEqFEkQrU@n+)+&HU6+dI{% zBXYKx(ruUnl>102Hk-J~UkZIM>EOq2I&AeQxPxzNKEu#RI4!CN4IuH$;#RkN zTj)T*?%$ZG{FK+E(*o_b36L^i8~ z^9xQ1YX>dNpzm0ZpIFlfdpqJZpv$Ehwse`|)Vgi?P2wRBy=%VwSZ0mF*G`}A^XY?~ z6d6?Jl`vuDpVcyd^=&^Z8bKb=pCx2k+){SzSn~8Afg>ZQ^4?T}(8ZkIC$KCh2u z3cH%&c2%acfuL^>u6~hp-Z?maLNPZ~m;AXdU^lr^iNr?k$20ML4_ohy{nW{wk!5oM z#?wy=L5k_oRTIB7gGR>8zwXg+ zKf+8A!8hMA|5eQa2p!We#1`52jm-vaesRph^WEw3 zsvATZRFlW!I8v*=w)= zBd&X^+^!&~X#nGMcyAh>_29Np#V`KY4ueniz&vIi{zoA=W+Gcn-fDVz6zkhA++9;* z@rwI3l$!}x46q#{g5&PcOsO|Q8fyZ& z^?;3T&>jiw^nhj-qnV4FXwN{xHTMH)2z^;_je50@AEsHmEwvi?FoG}qBOWP9>dfIq z$I5aBPsMmm`m)5A0F@*w z$NA4hE&a(dUn+m<{Qqb2|EsYMTZJC?uz0oK zqTDDawlAhl9|YOIyl=N^pON-q#Xyq9oBER_aXa{uf)iDvfC8Fom7mpqa=!cm{{_<3 z2vO23rYvd&3W(E3nWjXia>9zYPiItAaQ?&4MBrADB_Ow~iQ^9Jz1KmoP%8M+6SA?O zEIQIUmTu%tUwwZMRlh^ow%7J9TTg=$Y%k{QNoK2=^y8JvMh&Z_9pSd_R|7L5`z1v~ z574ZdVE3(AqDG=P#bWixt-$~DzngpOvtSrSw;B5zZcDr`4lpcRAB#MB#1P%E#OkTk z+k&FgENk+cTyOMJioyL>f);_ST2er^`8n`e<+}Fj zw|v*zB2T~MqpAElnU(Q{^CDTOhowG}yJK7}|Prx+c3Ok{_1;zj<3;-y36jHy%Q9L8`xB z+XBc~*I$1(f?)sSRPHbY(tOPnXN{>G?y{5I@CGtbrO7zrn3X53ixb?S9F(!$JfF!0 zX)3T|YQx&2L>c_KAR6uH&-`4yX+_k_AL{6Fr}cDS2Zz1UqKKDVo0PkL@ac-Z=R-}I zI$OrFq76f0tY(q!E8SuM_uCRml1fgS(QU!QYL9sQw%!|VM=M!O2L@Pa>^7S5M6s+i z73TfqI@SLprvO`Q>lT+4%?uV@O$A7EH%ZOevmaHlWLMv}5#ucb6j;XWJfk^WHow9q z0ZZOQ=LyprI9;@T&xc+7`5*EyZpH17IiRXQOD6PV} zX!;n4<=`d;NM*1|JM(4~jr;G6jx#3UJ5pxK#go3IyQ6J55$qg|_Xqh4!K|jdzFY8Pg(FD?e}{eW;KSk|tmF2bM)zxe_vXX*t1bRGI>n(UTozQ9UR#%! zIl7mjCUL~~Bqm>$xx`08defKnrAM>KGQpINSM3GJRwIT>Y-s0GsJf{*!{WZl-+W(~ z4@8_3fZRVSuKV(XHxX!IY4urCpIZ@(e10TJ6+s2)qv6rswETS@WS5m0Rwaai{{7BU z*!|#c3Hq?%*oT9*T_>#Drba|PyrK%FE`bGv);{1i0KlgWk-H{ zEGs#dNY`#gegNb^)F&i!Cts&Dvx)dXNu?es_*@Sv=j>?6gqI zfrv)eB1pBj`MPEJ?3smNeQqM6{C8NWgsEUmQ&D`ILahKeh#hWo3M z&AT2>eEDpKO`=-_B6Nf9kbp3nT&nq{DWiU3dyRg)Y4@#9PjCObeeRvDuc&9PS!HGl z04#;|we>aE%zvji0ov3!buRh2MBPQ>B4c2*pPgU6hZXoZB9S7}hFL!Em2)C<)g{w3 zR%hPxv_0a(pwKmm5E6x_^zh4fuc(cNE{od{q6`4je+V2KOV#!yuiTuxtdC~=yefXS_wTUAE zAxBp}XE|jw1?6v8b2ulkKftF*Q5qdZNGZ(|&oIx_&O?7%AfMtaBIF|Jy4lLrxUm{l z{Po1m@y0oHvibt@ZJkv4K95KKY4^GM0?8vl)EK@j3ee_)$gop+26H%*WE7RF-peL% zGHPgjq_xF7u9>9rHclrF^)Q{@vYe;rA|rs*0?ohs29+_)!)+BB=fK=1!D5^2Wrf`M zYazj7vb?~)33w!cZw?4`%tpt(f%&VBB)zRy%Gqlmn+Je0E~0{uczfl^JsS>(*^X>6 z{jr~3+P(l-WI9&bD%uSl?C6cv%y9<_f$`zne_wL%AljDwy>I&Z5@D+1(6-0Ll|3Q1NycP`%Lh zL<|w>Ukx73HCvN#YIfiqGSU7b^f8=X;i+nE<=8hjN=h*M56BH6Up}XXy5!v4#n-Jh zOClC7fymR)M46PQ%|F)MuILGvK|T)y)s<{HoJAciruI{K3pAU)8PBH1y?h}`*?}bH zV|h>bhZwpCcWP5zyXXc$bq-RsM)sE%W0S>-qt~XkQB1icuHs%?A%FMI06?W~0?@Q= z@w0CDnw>ZOlhtA}l+CjN?#}LL+CB2dQIo$(d<|V4#8hFx;0x2Myt{GWFjppDO5dpE zX@y7vRaB7VC^oEn;w4dd2}Z?d7KQWiY4p@BC2!B;`w>2l6iVL=!^!XDE1b-}l z7bf?H6GpY7DEv&wHgK{ViG=?O{L!LZ&}^B1+e&;4BRjD+9EgKB;M!~-`^>B|b5q&Ncjp!odzxY+l(2;P&t4OSg-p# zMdw$JdTa6${`qPD{-J?=aqz$C%%K& z`!rMmZ9F#%24OVZyBDkbs2v;DUd#(J5dKMZZMo%K1rS=2pTj-!aKB-vt>)v}>h-?v zd6Qe?q_5=E-82O-2M;RT2m`L!g~-H4z9y~j+#UXf>1bOq;{ceOx0~s>0TCd?N*X5F z;v0dDZ2KOn-V+Lx4}eYwhWof~M&WTF`H}lpL-aBD>~4LKEWo11I2`_vK?|DrgEUQ) z!p!X!LJj(<8=D}FDvvHco^(ODk2v82#g$UADVAY-SHb~{RcWw~*n;Bse^O=su7bT= z^8d6LRF|bU>Q_#{Yh*|x^bzT3bp@F%O(!nURO383#mLoMU5+vSPt7L0cGtRT(;?U8 zn=2qmfFKh|%Nj%Y+^s-Lp;!S@pyPV46YKYAZnGEe^F42+S*!c&oS{~f=Tx@pgWKeJ za<{GBHX7fNRC`y^n5VT}F!FUO*dxl6$*p*%@56WE%H>U_%zrUo>0|GCD(GrC+*OOn z)>nMV@cm&qb~z#}Nj z)j_=4Xks|H#t%sG4f57M_lU&1KL7D0u`~jB34Bmp!k)i-$dmP~&Tihm4Wlru)SO{v zAvBtxdj&)4$wGQtKF8_M0-B?WQycRUzgWLDvBogBnv9si>?CiGHgy3#YC4fL)pt@r zej)O6ocImj+3}x!mix)Ox(f#$Ct_XiWGepdV*{^`_8$dgwO$7K1NYDENIMo8{j_z? zjUF{y8>$uq5uj~mELmbNLw$uWZK6Gdi44R;=9=I;W7l z{ob^iG=;q&Qkm~|54x8Oe(^mnv*&>?-t31S?g;*{kMy(4GY1IhsogPz7BU8}3wW`` zd%~K0M?UyU)aZWW8vm8nqNUyAx~`xfh=u~6ps8~s1YN=j26UBCWZ?U}PymQc6%U9o zwU=t?@OD?a!SDu>W(Ur%eRTZb?=Tu|QbPIAquRVGwQBx}@m6*(-!)TyO@?KFl$}Ptb8aOh#sY+cX2dlAxD(+#SLG$BvCg0Fvn?^KX9z-F@qJWf+^DU5jZJ6(lU`u;xN{w*|mQ{y^ z?);{<``#Fl7g@y0Ia}+lP1cdkk!yJ9=TnifU48?Dy!Ib?(+$H@K8IP5({!32d(+gH z)Iv8R;8qipOVf(+I>2_KMV)5!G%x{C4SysZmUe12xmS%)@;@0rzV}1bHTXu!8e-=} z>hzg8);FOD*Qz*ya%t<_?R|OL1|Ti1`a)hW9l!zrAZhM6?m;>H%ON^cDe0u|pXQ>a z`2Ea3q;tz@AwOE2%|*tB4htv$JT+0uOd0Vq`^l;SVMaqreQF!QtEH)IrpBcpN8(}a zVRd~@OM)wZi5`V&^CkW^X`A zPQSl&S|BmN`ylB3V0aV-53F5YFvnwoUQM8z{*_8;!?+*wLK-P%&xUwlp2_E zr<*c~iMs)|HJ5j9>?;6MB<8s-rS9KLzId&<)|M_s>?$`UIQe@gd-`dg52oWS^g=U= zb9d3u{hw22`rT`~QfKHiDY|68RiBq&Qb?ypm0V&643A{aFAxn6L7cf3VEqEBN^1?1qOGUG2~XEo#d!1f{>3U+VP zkon@MlwR>ub8xp1b%ah{n5?yuOLfB?+f|XmBI!w64rII6!=-$IyFk;ZywX zO3C@^Cfk@-ZsT+qw|z=L4~xE3d>}HrxfaT=}Ca0@XXKD zJ%I3zdQvtxi=R$qus=|2T$kyHvEc?tWiyeYyq|Qxic>|qWufu^);-mFC{A8VbP3~~ z)=$X*hn*m%o4lDbU zoX8bg=vp%YzK+*Phuzk^4>i3&04Bcy<_5g8^edxODTy!A z0+71HMapMv<+*dL{?~y6UGEdxH#pw08!(nN*gz)>55xV^8Z?>K<)BGUzFw6p`#?QV zH;$`IhT_|{35)oOBZ$BGv|Q4MiU>@d%eq?3&|%0**P6n7i%nCtUzx8pz<0^A4{2{px`Hj?rv@&NTYmA|{2E9R?0zshn3PhK0vrWm6*s3=$8`1#&@djJ^ z0pi2?YO!%}g#?Wacf2|2qOf3Vg1**!{#QKR(ZzoGIUtif20IU2{dAGPqCtkbju4WB zC*d9!_mSq3^m-F-8#7ZPqC@yYyDELy?#!_fzA?K0y0Q(3T2k~v-DU||VjGb#LsW_nGT(G| z^*7Sg%8dk!Has^*9eM!&o)Tt#rnRwT6eeG)GK79;P{)8-`4$31AHA1V1mwN34irOR zgWbrD(Bz!eHdP9Yulv3w#X%qaG5YoS#f<0cywepV*)|JJBiN<;bW0BXwHkA?u;)BO zqcxk`WNeGEpceBlhFbR1Q>u@uYmRwsrjz^v-9l?ECY;JAhmFg{I)IE1d@?M%Fv_Q; z*{@@$fH=@?NFsEhz?5%tB^b5Ryr#NZ((MWZ{%lst1+t7--M#9aZcQ zHeHK~>64APjd(qp8btTKE-Gf$-Dp~bR{l;II8{asiQpExAW|xr^_ZVR=*kO{;hT(Q zQUdl*#w&dkI&B2i=mklHp4OVr7J=m`E0CYx7YY$`_UIqYZ67F*7IzxDEQpHlW*`oyZYZIL$7#S|n+NjrzOYR<#^l%57TA_Xpl8kN zp40y=f%AGhP>%h+)B@eb(oj8od!yL(x1CW?oQR27LQ)K#o`|qj51>LcyV0`Y34UoV z5%{SN1B-kn8u^_^r$|&>Sp=T_)X?3)5SC;=8$V*9W#(Am`=E%^6Bs`Ft@zvwa z3EL}bJ&VQcYG~=?r_{ADy)rqQ>&aq8_-sZp0VQoudm3ZzfXf57HlGMHxu=QgsToiw zb4QS6c?^VbV`f41C0nw!Fp2@Q)NYwAie3~E95nli`UyTe^ojje_~5@w!}7GLF{K(< z3=a%EW621jS4;8N+cOf`ls5rK-l|v@xVOo`wpzFxFxc@<7?y;#Imd}$&E4WbO(l8a zzg_0+t^iN2wPh|#{a8;x9zXy5%C=oz0ufN~{qDV60Q97oX~5vC+K*PHkXI^Lot9nL zkYn)le%c0BW$=%))Or&5i)JagG)R5(04I|0#(7Anpb8{Ymp0e|bFqohPeoPN$Cp>HNdQi{iE5+fsWzJH-J2&l2H zG`m-d`o{ZUl8=ka$5l5Y&-`B36%AW+rJ;H;Cx`VBd26_c{RLF0TLkQ9IP=EqHKBLl z`i|n#r95_PmyS`1>20Clj+#{A&0;B0N2L2&mx(I+ zbxBC%eJ+VTlb{dZh--zi-@<`Y7X0hu;Zo3vY<1=Blmo%n(-}>&;Ksb1S;N#HcDiw1 zh+tL-@67`t#au04_vjpoz2QLm&e`r9t3LEN5eNk8-s@u9oxx%K<{Ye)=3?<7&>XtV zn?#rrMyQ(`RAg~AXU^n^@c3e8_-4P|TvAW%8DF3Wz&u2WQH<@$UerIe z$IqJRg1=|v5Znt#&>bD+uNTgrT1LTxE?V19m=(CY3|a(aYN`|=gpL(^Z0O3vgA4BjcCt5rtN`+inezYcy%s^K4?qGSXppg z!r|7BX>+&PEbx25TYlB%r#=k8rw3_KHvWDJYHeqkwKuCTtS`Ux!5C=jRw!YrORQIT zd|5byKTcIzBkk5suKnb2Md-ew&{@|>&3)@~jY35potHD`i|fl6ecM81IMF7wXW0KV zX#%o!R6KpF#n5|voB6dV_mq;hu2rfpho+n3_~yfn(M{oLu7Hka5wfMGB@R@>`pv4E zwzuynDlv8EQkj>$l3>o0ey6CFmWmbIEts!uK~Bb&o=2t>%r%qW0)E@az;UCj%te*R} zXr9`=NcoGNl`*)CHy)~stC}#h3;f+~N$Z>4yIU6@ybmAvqBCkM%YFAL64uf(5{KVw zz+*`l3ii|_t^8@8!{7jN;mbbd!BYHxZ3Ki9c0E|QXPzE&y)}i)}3a=E2SI=3ECwaEWB7j z$g6e~6ld=6)N|u;ef|)Y8|Tdo8`Fc4V3miSm-anzhi@uWcS`p{#){ z@)8!-LY>X8Sxa*+6u5kUATl!=RnoNUblQ2;Bh@v#oZq#2qnbAaEIZQ;aQ>6*cE-+; z0elyQ$ZV^0NM=`FiFbKuwpvpvJobgu`m^ek$<99+(2)?Rw-uRklo;ijhF~f$bCSSB z9xgtY_-=woF^BuK!7mLyEgrn-9MrO}D$J`j0f`8pZ_J}uCr`0ugkv587lYo1y;ZCyYh6SaAC-%}*CV=L}?is{xvj=p*&& z9x#5wu|Kp~%m}l&8Uf|o+s$Z=T^Q33r!uC*-0VSHAn@2^Xy?KN!OYdO;kfAARmyub zx5XNLtP*z>I#^QF@9pnS<}dS*D#Z_n)qFMK2&o-G1F%G8V4)mt&o;Ks`eQEKYodb# z3-H`1G(19?4djE&ia?*oy$~f zGc+G?fmaMBOb5>$_JszwqUb8D9=4tQ!q3uR6s6SLI~J6W5=817^N9%f;u3uhwPf6MLja5}cQAnq_11e!Xs{tII>4o;*T@xWyGgcb(Be zzLQ(tQ7t1&q}bn&B;*d39KUs-yc5L)Y5skrgkE%JNzn-uYfX6Lct=4jdo2g&N`x`F zPI!U^|DuVQ{O*SAIeX7P*rc5s}lH9Yld@Y&;^^C#Wb#^rjNCk_zNGq1Xxwws_z;p^Wp;?qAAQ6F&+ zo=pGbT$RH#Id*ht+(~k`tsFtzwb^Q#Hg6c7UyH}`tA6@x$zTM>$$vj5kNfcCJzIJ1 zy(jRZlRMobv5WLEhiTdCA|?Cd0RW~{^{^tdI8@O^qRg}gIA`)O;c#aqOmiOQWt@;m zytBkLh$A*(TH;VJIBeL5a))_TPcRgY8X8((c~$P)p`a_5_tv}O!bcw49Ba|%;zSLG zTB#dV6=E)m6l)VDQbzs4tr~@5m^7;;*g3~hc52(>P45o|H(m294czW7I6+t)B{;b3 zxd_)`suZ(*o>}>rmykyPImmO_VxiZNtPJnU?EFjv$U_CH+C2N<4-*`ZxHWwTW8a(5 z=knfM@uiwB@qy-)$_m|M)6rC2{@Gd+kY#i(CJ7E zQ7YxsAThF6IGu>1Qq5yM$~N=N*q6pqggTBWHI^w`q0}H_W~^g7S<)cOF!KyUmPrgU z%$UaVf1Ka%z5Z|Sb9H4dU0gl)_x|3?=l2TC_a1*xU+-IrTPo69F`pt_UALG703SdskE-Xp}LJ(~|h;Db@9JIn-N` zJb$rXygUt_#W7cA9{^~4rS{A-*&J$qJ%hd*S92zu(>}T<<1Qd~&uR6>Wh=2r{(Sms zeWrCCqwH;jN{qMA`*ypVhCDFK93=WJNurCKG>*D82B^ zy*<4v@GYro){v_kp`l%Ueh6%v*AocSxRswW#;BUL!m96xJO4z|V>>@N+x#tZ^aQnk zs0g@sX89xrG^xj$Tlq~7ry0v%)>#uu$*%txpT)WUZMIV%&QKt)uMC|Cw*g&6AW_t9 zpuo)2++V4=-#*m>f5H6dlOMWY&!(uvo&BLJ#n#oYN=!<K-3|*MTX;2y@maoBvZ&x~O z{C9K5Cia&E?|kg?rMezN_Z^Q9woVlXW(D5)rBhscwELD){$qZ4{bT27R~@vAb$%*KafNv85VnkZk4pio(tVYl>b12*_Y*NALmel70Hs@LD(uN`i$j#eOP%Ln>=0jz6V zjC`3`V$e^3*n>_{`Z^VqsH+;S)eOXvNt`V0Su~g@q~#WyjG;2GpBzGQJ-nE&tq&i!n+mSR(wN3%7TBW+eOZX{!!}}RhoH>cM^uQEe z@KvQRejrz!#+td(kdh{SvbHCDne!lW!enipTNv8qkO~&Q9i!C(*Y>DA8lc>t@k>1i44e`j8SVi@P7-M^o=*9B0hfsL8hP|d`!3BR{9C7KZ)J1ccOVurUZp;* z44BNA=lMPlR8zZ9y!*J*2GT9l+Vr%Yhc0{+RpRJ$#fXcu;u>G{4^X#~M*OzTv>gboa z;;3Om8_g|-=_O1`4r4R>)}6DQgxBoaY<~0&@5{f~R9v&ss;6?wg9pb)i!n!6ub0RB zEf1GETAjBuxbP(9FJ;RyOU;~W>(@3ZuMWn4?J{USefUDmtH3T!ZvKGAg^-eiKQpjJJaMo)`ojSADlPdsWK zIl_Ve8Qlm1(OA+jl^{eKMNBk&NA)uzr0hRVAYQDPevBZ5*CAHhz2=Peo|MHFrb_)- zb3p59OU`q{)Q}^f8!1{_!N`)q5vfo04heTjbrk z56jid-bea|ztg4G=be3J^g{ZxAUMwL#N44<|2j?iGEX$1LK6w@1V>ca_62=lQk8uZ zP(6fmm`G>DqGBv7JPm8^dvLYNcvY!Fb#-}}wWK+EfH#!B-?YUbn-Bw<4tZ<@!&aop znfqyOG-KsxF4v+qDXoMbq>=Y$2|}h^Jj8}W3Ge~*wgPUTKYrFNfQ|72uAInY9DV{;xBrQ>0oJD%_dNdH=N- z6XL;g&UY&<@<-Ept(9*iuqT$5j&%|~nf9N7N57cjTnOV?@wod5k46qz%7VfM75w|8 zng<2*wK#8+?=pE0P zg%?U}EMCn>F3d9G2CYEQ^s2+QTne>pY$6OFmacqDV1qUNN}UTa5^_hHzl-*2jfb2N zCrOR@LTB@B(A-u^9wUx}=|srXvS21^1&kixiOYw6r*OfG&a2%Mfd-05FAspTy|I!H{(=Upsk~aX`Q%p*rGZEFGa0sUHaW)KeWXI6(q^Tu8+(>Uxb1vuiu$Fd z+qgJrfUp2i-}7|v2xu+?<5YZGiNvM3NIHHkh9??nj513<0j#DPs>rHMyqZwDdfj6c zrh&Byd^fubVT7P3)!E^I|oXXVf#qkH$Sng-jQP8%mt_+oL_m+g>$= zRp=oqmiw-hJlf)>w{{qdzrB;S>mN$0+0v&q13>k!sWAgKGZD8?ngO z9?fQL#^qFnVDderLN=S`@9Pvu5Tw2Cw%89)FSQ)5d>)5$)xZ z(_6gn??OiHk^XTJy7)GMZbl$L?yS5Z0uw;df|L?mcH&-#O+2noKd(;)Z}Je*140fH zeZSW^phAheO=FMMs%r4oGS-abdw6E8Ncx&d1@QepLHGZdxjOX6Rp^t7j-`f5nYSp`klomOWf|hCX`xcYa<;f(cT7?70H}}D_1eGi-oJwq(&w8Q$^`*Ev zLU1;oMt#PHtoS~58;SDoo)NrRk(t~@$zH!z2eWIDySv*A0^vZyzY!&u$NHVB?9q0Q znpG7>Z{^oqBo4`8XQRT8{a9}QTb3qv1tx;My|$JyH(-BL zlm2y`QN=;ptD3*>m8PVX+_ch&Z}(4T(8y!n2D31C;{cRb!QjvYeD|6bz3raBKsW$R zi9FO>Qj-#7E4?Rfw42^dBw>SDCMXsP8bDEd=S+RJ;`o$LCIp~r3NbnLemVo>FYIw? z=-6IdQ&Vg(MHTsr?hJ}#QU_q#<;~{R=N_wD&dx-7d=#ipCUSXjfHWgtX!z>sqrx9g z?C;q1x?4@?MxOsmtU0QBWK9#1hyIh^grb*Xuc(dP&CqQxMqDSlu(AB8Re<`P`6z@R z%tsQKeGQ>}y5_q}p|Wc~Mt4KhBh8}FXyX1ke*@idC1|Q#Hlr8Sms7MZ4&G8eHj&y__i3_8^dZ^)ZIrJ)C1ta)z;t^j|jHgKsgu7x?(oUy>HCZJ8L0F%mx6ME)4cw-?=F%%$A znPiQ`WONE0O?NRbj8`4`G4eOEj$rZ1T7$I%SlPJlk`7qKSWk1dFuYc?bhhcKy(j&3 z;PzsZf~T3+76Pm$$c2&Z+!Xa8m9p7_ajh`lY=aK)VB)GBhWZD((KT7<8}_CqNXn#R}-S3A6`@oT)*0 zQKYlTST2dZTGLl664C=jTRskyGH@psg%6s`LvHY!cvAq5-*G(n<+sSV3myyAkL2Hv z4YzW}&7@pspiZEmFwAVu;E*)KETQG-wdKQVW^cYFjqnTn2FZmg*Mb(i&6cm&{+o<5 zSCt;RIR1~QU_9semNK_X)~l+6JF#y!L*Zy5&PR|#eO-f)$?k1RjmCanwD08qj9U)TN!LZ*Dp{l556k4gh&E1pGT zBT;AoBEiVI_vdBiUFfulOwgDES@}n4PRX&0!3vK@`UeR!&}_Oa6^7?!t0D;He8wZ* z?MpiHG|Qv_8SFI+TX!fC3=pi>KiPcv^!|wSoD#egLuJ9y#eH>}l1Q6BjlXj%1_$RN(tBrF?FVb%je09n{^?lMrQUa*sS~#bn>;q6kuAc*eM~6C10`1zRG2|~ zRvTigHm4KEG)+27H7oq4+6>J&mGfU07MMxMW+UgWu1RWgMb+K&ukg-99=#{N>2q8@u^!!WaHQnzWkpX&YNvEx(zNXOljcJZ=ddRa!q z^cQS=oPaPLW?Fq)TwJl4kDwI$)$}b-?SBHfgdu=a!anT$S zsm;|Ct`rxp*jhvu7e?(VSWY$v)pU0FtT~X9rhDf93hqCDEwWh&sV@(l$;9zk+DV1Z zSbn&Y&!l9MXgcne;J^O>n3CGOOZ83s}?GPQ zSOK1sRJ>@cevOi-_sz7xFs=qu$Dk3NP=iegGXcM{FIdDqweOi8kMRmFf%hS-dSP8Y zE!+RmF4Z?>7&*{go_JNwyn0qt^W5B5 zh@U9XAADL_bHw^A z(rmTK7m(u~uAq9q7*!r^J*b2Cqt;|gYAP7RR8G4`3`nIQv?i4XOxctD(><@)1+t~qr-UFodsd+OG@Zr+@_XF&e5&A*udE+LuK7F8aC8p0t zxODvnH~#Gvx6^4^ZuVAh0-)>U7q=pdW^+zK`5xw;c6C#&HiGpLwKl4RsuRV9GoLyv z!eID$j7RWKyR#%0;m~_YZ7!y8MQ!!({KA@>&KK871X0Uleif>X5h$q*u8ls;aAvkbNPWw1JKT?y z>czCcOCXO+|6;3y3nph-a%Ty+6eB9iP~X99$!K#wvj{NsEDo~Xft?U@DslLT=7_gk zu}hn2^)sn*{T(H3iC)6++Z(^R#pD6)nsB;YBN6|zg6Se=-3;F|7|$|HrxjZcmnm0A z`I`~@6``Xda>Bsik?i8a;4FTJL%i#NvWHO%#g7qnJ<`56E1?B8BKEyUe=&INN!QbauSmbr?kj^eN5PO9SBbLBPtoax4Iz5p6el&7-1;~NiRg3+??`M>xcAE0$Fmv!+P=pw!!iuHv+ zOP9&|e0A|T+@vjzm_TtbEev_nufb2ezfRp8XJAY_Jz_BQ_3gMx%W(uQY~^x)t@TR) zuHy}10*JVxgnfgW&BwM>iQQk;f*4o{+Exzq~u4drseU35;m~KKjNX8 zeE5YVfu7XZZ_tI5?FNwIU}a>~gJw2N|Ne zNzAnw@!tiV)|}ImtG;)g)TR5UA_K=cnYCKBBONv~&2cp4=r&1O(+oxaw=D(Tsf2ICA<#!@#mc&F}+eTv@)JipXM~*u9U?(M}+j9_!v=d6P ztR;UKJyPpN9^2X^upHM?o4aWd`D8K{nqjz_V-4O31Jb3~k?P$r+!#hq1d&4oC40=s z!qB47S;x;7Qvc~H9Y zR&{bzSNQlj?D_OKj#PzId+sbzwvcrOvUaQJ*cs2xrBdCstIKcCW&6uj$?l9Fc%&os z%dLIBN*qsN=_7nZ&wkGumG-f|l8JxbyLYox&Q|7ugU6LAA+vI&kmMV}q}_yC1Hr=Vz$jee1Pt2p&G0?4?Vm=)-s#9o?91@lYgzZ>P#yy=o|?SzF z#Y;_6jTH}4Y2V59sY^FP*uhravXJ1d6(@sPddS<@jJGaB_Wi<6{ih4lRfawQgYWaX za)l25LB6M>>Q6S)@1M<(FY8qi3^9#bjQ{Xdy3G$*Xy)ro(?y!iAMUfBNW{8Pt7Dyz zn{rgDId;VV{4e5ng&l=IbmAb}Lc=9V?P}FZugh|8UHY0iIkWYDo0E0F3FT;Fh|@&q zqaDnwzK9rAq`aoU*26bL)l69~wKF3NM^lQ0mLfSV)U!v@AmI)>MY4!u!{P+LCA?<$Qu7t*bh(W46Il zzoG*t=k{P*h0Qs~A_hXb_MftBmTMYZK}MjDzR|CE5gp|636yKFOvIk2UD}7~h?~ug zFsa~;$AB>g$Y5vFz1ycxfk`AJ66rmAXQHbD-}}&$=Q@B$66MA9sqFoMe`}^yUEgd~ z?>WJ2F5w2{&73=#6{h5GT`%m_a;K(jbfmN1^@NYt7B7nej{3FT)ao934qiS^$rBI1 zfK*lgOxV}^V`$~dEGN^y<(=;mSYAG#!JB2DXz{?N6pn|*`&BD7sQE?{bl98#2}DAG`ONxF0e9|6s@p9%-%)DMg(2P_x_o0U%^76)mggso7kKRGe1 zc$})EdP0zhMV6(vd-|&P zt2PZ>)b3R6&hfY1@#|f3vl+@Xz4>NPX07E&qlxioZ>0-9;yPUzvH+~!{NgNc7iuhd zaTR^3jPH#St4uCw=lA3W>q7qf^q&7{{`M)f$CcSuW~t|+m(XzQ#l?-d_=b@3D96UGBm%t+pKk|Aqf9V?H}eXjQI7U?d8w*!Gns1VZ6UK2?zQCm6U_DyvqQ( z1@YrzWrv4F15Ihy-put-NZ*0xJyXi5Gw-S+uM%%{e{qv_IYOd6ks zIVD430PKwy<{PU z_G)0nXhnq>!h2vM{Gi#hYn+vwwpx8Sq}_@aPY=iDN_Dk|i`X;OuVX*aUaX6PcOiLR5@!*p@YMi_O8b zJ$AAkkcbcSf|VdsOXejPoxJ}UhmJ8|I?D;{8`se)C)p`qJw30olgx;J83x! zYF!0S!?oMvo9=W1cA* z#Pqqi&Hx_%{jMp%Ml20kNxA=JYNTf$XKK-8A7_cD@#CWA<^i9qvvj%_^c%i zC+@$c;tQMdJEnDdf0M9wuAijqtcHu>h$)Bq^5RA?uZd=#%+RkFmkhx9+PfDFo>pSj^KcTvB!7BS8i=AXu<2yJe^84 zEs9XV$A0N*2vjQn7VWNxoYtH2d_rw1(_D;fm8fatwVOzDUwQQP4lQVzbc`|+QUCZb zJShk7n5qdJD94^E>b>bb2ilFW?R`niP#@k{bC`e9-Uw-EhI?z!+O*8WCF@vq8YlRP zn4@3I0|*0^pV-0FhB94b$AUpme&OnQi^zRYzvK{V3t0xkDbc*y~tL=9kO@`3@M3MJ@#;dk4Ic zjS6zN&fq%C@1Z2K?A-w^wfK`|!CRzOo%X~E?xagga{E3^ch@Ig5{7N}68Ghxmu@yj z4R&>jgrpn_Lcok;)SK;o1V6Rz|)3cHRKS;#&=R2pyAIN=a+wfxEcvKgFFY zqnX3VsPBF%s&T_QnY0x1KdJSko+pZ%J5T_}XPDY0v>G^D?Hw-=;8BuCNVj`Zy6+ncR-B-8oxnXV6obVDvp6<4^XBiyS1|JH6 z>g8PaLa&|*oWsHviiff8Br)g4O}o7fk2^WzUSytDAMvR0+R^>=&=+<`lT@ia0FZ8y znDdI8IX*eG-46j?Tm!FM(aT6m5@p|OpUuGGwq)Wo7RQq;VdOhqzv2yElb(p(Vme9g zyEcB7d}~l&O(3QH__T5Uc(@mh+gg1@YnRYPX2crwG`;vVIzl9<8ln$mZjxju3K51` zgna_c+f>|kL1K1f`fI0m+k}TMaGJ(lCgG4l!I0cN7t((Ai&U8xcbUpRIni|Y#{3Pt zP7?h8x%!BBb|smucVU=v7}uHGLCSw>wZ80FClanl>Bv8003 z7Jj!Juh%qF0UK506{dhUyRK|&{wJ>KM?*l#@NsUO;^xNOb>yr;>E?o-J-hXaEQd>v zrpL7|2{JIA+v6AP<;E>L%w!s$2^;kb7k0)=o;a3Pk~?2+YWty1Yb}@D#C*5lw==BU zNEy3ra8A@XEN- z4se`8p=eeiM->zM@-1OjG%5xLBaVHg=JfLC46FEPevO&b;9P{6X__`c{)DXh2_6h{ z3zCWQpv}IXPi0@fM>oDSy%-#r6t>SCw{p^o?-l0kyVo2TANu@$lQoo z2wkzIrXgP2*1x7@<)#G;?Or8lt#qu{g*ZaG_F@U35~=R@n*So~xpHnow6y8513UHi z*bJHupWTyGCA+O?D~$yDqGc;dTPwyytIQH81Fo;}1?38X2?VrBQV%=slhFUvV+ZOO z@JT)Em+nW0b>ub2f@!Zmv`O`c?`fB&hNn36Y}x(j?YEO@`r>!Qh`)s+3RC!bW2-hf zY=u_|Zy(G$kPXdqpk27_;;Tt6PWeOGD`jYLG1>mj=Axda{Ll1^vGBL)T&k30M2YHi zw%9%)t(>o$rF2`xA%XqTm>W7?YrbSq-QxpaszOViST|1j<(YIGx{ZrK3*VG!34^Tb zC5QEEF8FRoLr)w0;05Zt`@m%bH?%8B7iaAS+DxLr>LZ;F`{bE6joN{Q?6=>Hu0<3V za^HOGfJq%~W_`*{0VmdkesRaYbhiHx#%OF=ZuFF2;{uq}EUa$|Cv&QQWA;Tw1D_T6(2~)Wz$HueP#5o8CAY79Rd6c)u)D(9t^+6XE#SKl?cQ zlIowwH?wmAr4{SX=*xR^`+7T)_O&m~qmql}%U9l4xuWJBbA1VaRA`)#q4c8Kb9ss{ zv|b*#iOU!BP(J4ciNwh2lmL8&S=9Lsy-VG(0(_aXhA*!X^Tz-0h%*j(Dl+rU>fvU3 zy7EmfL&XX=j@!6o1jE9%PKL{XG~G;GOxD7a!r;O?dz4l*&qiKbPPV@@Gnld_THpVp z=0%E_w+!4?8iL}-*@;bv#@L+#K=!b2njWq99M-OlSUXTBb=9JMHw1k@b}M;CmE#)Y zO|56d^<&Two?IZVjpx>$>rLUv-w3+sq4fDqx_<3K{hhqd%rsHxld%5J(gQxt z;|F+1%2jdZ?AfwoWofxHNez+%lyK2IaVFa^%ElFuK_6csbfT<7VZHW7%{Q-K>WFa9 zMkLPg3r_X~Zxs|g{qeL*gS4!(mJiI@{8TZi+nw9a=MYyP<2*q<9ofThWe<#j@agfr{w@3n?fyF0n#0A^Ss?Ox$n^KA5h&XN z@w_YibF#1cz5J9!STv9jmwI9m2Vzw z*T{Px1U1Ad*Fl)c@hJsJk_WWJ% zm~l+$<})(IVTDtkgPA5r&+~BPkId3b|KY6jF)2O zdc(`>nbfzv1RW+EpWyc za4y#4DC&juMBj=;^;C{Gf_Zg786(dXk{d?0#hsYD2g5hfkxCe{xm-Hy0NW^?S~~Wf zGbB7!5yzf#HOGY+1>;xfvi+~42!ol4RSZ}+!$R5(W-K{}3@J6-tV`V@o>%!enR zfTrBej0o&!`dA48HiXgWdV0b?!zPczzJhPgYRbdO@N01$Fpv5@=jh|GQ*4Y$_pJW5 zdx<$|$HLQoYlerkTioL)Jnyzj^o|rej~_HuH5MejovwJwZo|CRk|||Hq*1)3>Z`g= zzHctxX1Xn}uP;*z)v;;~Vr;ldG)>y|WUzyvXGEv?fs_19I{#AeK@GfUgnVJJSU9Gzv`A3tJJeb&7Rssnx5PzV<_SslnXl1@i88 z7lS1SpM|;lQ;!3zi4KG;8!g?ptcV807D0_aQV+`|_ik`BtuBalABGnTEC%b) zgvQtIU{+C#a}GN4VPiZ`Vn^jrc(b%YoUgOf}jye{$1||%(mgG z@WHAwtNf>NMUzs$?5!-q?=AQjnc4JHMnqSGXE3mJa0fZ#0NV!y0dp)#_J|RMb`yEu zEoK9pQYkv$+IQHf#lV-)h^6Ksq`T&J=#^RWu`>fYVSp*zg(gYH1;B*Lum@qzL~|_i z4=*JS>KyE|R9t*qfM5Sa?=9XuFvlk$up%#bBUQf-9~*hoXok=UxYha`XGv)<%v?~a z-eQ^(tdv^UbK{6&Y~d4$^5p!)8>y^~N+|2th;$pJq$?W6`kOkqxR(m+$Rg03C|^t2 z#9K0Oop|0^F;>|ScJj{i*QBBpe`}YCJ(BSYRatf;jy-YX8|f>QW3kg#9Vd4=ci3;_ z*lQ#7Y>!7$uSZny6|Mp(4}P^C-)AMVt@?a?A6C5A1BO>N_xp6X8=rsk;JLk3!P71~ z3uk*PEvLTySFDf!Fo=jA9SZDsWgsgCf|jJQ5b8bYQl!ne^#e-xe*SWy!oc_R8O z1-HdsQJD5NIx{jk!7ZjF18>FC9xwvy=SU(cgw&yw=0Eg%$J+DKfI&=_56dgeZq!zIa>Z z$DG@H>ukgptsgsl1K)uM+NJ-=m6$&Ns(MN$Ij_ObStfDUMo=ln-8){?K0V3ZXAfk! zWQYjtH7l9gIzs8pkcGdC0et>^yB{BLN2y60f=OcVpDTSqaIre88Oo|GGFph}kRMwU zna9tWUt)&Y36gK z!?tXRYj6C`ycS9BzVS!&{TEJ zMK2ou>_(KX_}oUP&%jw&I$W8x&Y?25)uo=p#y94K+J!0v<6ZGYoa)^A$0?4Df7Upf z-;&m!*TLN+*O!G$&W{16*E@?hBB#CxZqUG*baG}Ss@E3s zW+aE#lxFDvNQTK~D8{a-d@o^7x9E&Ay;mBmc~qI=UZ~o(HIIJQT%(x~%5OExJw0j(Bw0M~)Ummfg=_QqFykgo<#|4tl(uztt4Bn-30;u5hCc<;<70vR-lo1!0QnPP;&ZiL4uv4NJ$VNPU4>gX5s2x% zxA0d(NkK0VIh3wyd>LurWf;gPBbixOGx_#^M7~KR^|U(}N&lF+|Gny5vo-|Z{SJ*h z)r-k|S_F6XQeRN5T`#xr+l++1>TF^9S4)C~wbmQI&f@-0T!q&+WI|3LM$9$yJgCMD z7hiA&iaQmxKBT9Kc_(MFYxAgROZhYQIP&9hIUV^jS-6N60b^m<3vD^2N4>XIJlg=y z3>eyV6P*U7CZ|?;2g!c0}NgghELh3}9a2;YIRZUi(+f~{|W-c<+$_A@wtlYSlM z+`^>YIdnm9J}=BVtDEUihB!#mo5ZokNl;XoRt`+Q3Z~E3Wz?>IT?g3%H`_wK+wY0! zfCwIad2o)BOj=mJ?sdDnXwpBMZ;&^Cg)54hs+RZmAtaN$%tr&jq#0N{o50;!Q z=(``QUa=~uU509p{9DC#jr&OkUR2~zFd7eNtn+LZ#B!(~K)&TyxWk$T-$>0OmkUbM z=QW<$w#)uzu!j)yCz8W#)AJ%UdfMGU=)Y$XsK%M*I68|DS3CXbFol#Ohvix^0xsmc z(VTV~78-6XXNjf9h%bub;{$D6G1keTcLkHmgjJ(@I+0XN?(0&K zbWgl;&j#VketSC^Mjs453E#r{j!>)J`FQnlKsI0Uv@1y?FUz*zSGRxf|G}T{KN%GY zdapPSQ;Q}&b_YRlEkA(;GRL3)CFcTU3iaL8Cwr11;T}T(;h`Vcr{-Lqd1EMyy&J z#IyX3Ak|TLwC$CDV~CiwTX5#?Pa4qw!5$CyHGyGbILfE6vH|{=?-ZIr8dZHhzpzUb zAsDfcguv5>#*S=lk~Wa8d87l62k`}tuJIlN5~R4Dgc->h7%Z?2Zv*&M0TX!2LRE;(OH`Yn>UuZ3A*2Smq@3IY zooz=H!ML~xe*cidAHcQcXN4>F7At^7B&-BB8p{Xs=3(cUb#>w9wXAp}vx945aMAop z3x+f?E$?)-GHQ_=58ANS9vWQSI2dM~00b&+?#6Ddryy&~9N*Q(z*D9-I#;xkQoOs< zaequ6#$F~f(8zM(+5CI75G*SMyVq={b%1t{7IP6Am~thumjrW(LBqfjGsfx8K<>Jm zAe&joBHSi41Xr}t+2(^NA6I;A6_ymad$C3O$$%R30}%{SRpoc(8|1crNz8L|K0HT6`WNww2TOPM#JT*{ zqGdT+d&R2uqQ>%?QG^RM@kNuS@{O}P+Z+A%#K9u@ZA}t8eu6XBO&2OU0~xjI90Km8 zFF>Esq9&aK)gTB8Zvm~1pp0ywtT@Cg^!@Jo1V9_soqlY$Ez9_$q!k^$nsf3#1`X4_0oX105(8C!U7H0JlC5VTWIRaG!F=! z|17ThovK#s0OpS(g=lC5_KQG1tsUnC>qYG*9O>Q~>ARPH6g=G)K?#^iF z<-sBh<0K$NW$tLsDSL`A-l-Bsi8`OVhMJ%Gnc^3^3*7*I*1_e~kSOT;}xSJX*v zG`)kROm)h!YHF~AcE6vAq&*|RO3+o-Wq|em0S8ZTLp3L0nKCnR9yghZz*rwF`zm=e z|AI13$2p_ZMQn4#rjW@{Yu}k?UcN3d;&1dQ>&bp3QpvT=O%IO`6lIMmdq|G;oq<;W zYQfEA7uH_sh3lO!3+WI3kRv~Q@Rhr|%>C74EwR6B@xRLj>#8gBX4zdj0L(b_$CuF_ zw&V}7GYB-j^)&X%vke>dXLk?qc7Ku@T-u?R$$|?57&1}5&ZM>M14D|9fzdww>VU}~ z>xj5GqfIosEm|`~`PqjCa;Ebh(osuuI+5(k-Ocw0ayyu8H=EN%)J)tTfKh+Y@=CQs zHY2GoUmTWq+j{cZIO2s_UuFuou!hK53NeR`LpHT6-1-LMM-h8+h2Vf(HSsG}ry-Jl zC0)T6!MJhvt~Sd?SL}xY(R!-aiaL zGCKCJ&dRTzN&EN2f9B85j!*4{M+w1g1kQXA*Z?9BICKn_au=AON7?FkevD9M!i+HQ zW0c%62R$WSn3|##NbZ*N;KYByNQeV*HHqhZ^VDh1UkHXD zC?m1wP4WjuA{7*XjNO}?Q5!sg4MAw?O~Xg>e>UE-TfA|c8x`ppv4s@)wmwj=8$1PI zJ@Eu@n2nXl+X2BB;4m+n4f8C|!k1vC`Ct;) zFt2EsYCPCAIIfjU6ZBEnRDntXZ~%J*MTD^1WxQ^q=!@KZ9_C7V7W0D16hWF>Iu1`d zTKq&Su1N_y1<2Lc1T>~Vak3OR#6H{?Y`{IoYrL~k@q34nPgqKWU)6;+bS*^|gqQLJ zIa{yeGiTY%+f%yu%*ylGe1bX+b$Z&)XPBJl9eD@Q6AWVwKc1JB6@uq)3bO_e#s$L~CuyBh2eEqR@$@r)>f~o_U|my#G}tqE?r`?avr5>Q);DX<3sj>l0~&R7i#O{+&>* z`wTmQ$Rqa6A*IMKQi!R2N$@(QY(^YAQhA0~2PHgs4kIghPv^5%CbGOd|2_VFKOes( z{%Sdb`@1Yoykd_B5Ql?jvY`xDzH3*;I$vLIRp2F;Y zdOaga0yDM(CmAH%Q={^T2^mTFF=MzGM^rt08s2|lU3{sGvt)@0kFv-q!s`}LjBP<9 zYv>rG81X9tK+(&v{LtTdAG*qDJK)Z72nTw(kcb9N!l@ z`OXn}EuWPP(~-yS-cV7MiTS8Is~9^Ro{f-sXUX@;8e^9#>Q%5LF%Vt0W{e-H`1q2) zEHwftc%-Hi=v3g;H(|CaF#C@YEcuydJli|FzN~A>EBzRUkeZNB@~(a(ix@72A>F*& z7VT%tfEdu)4es$i#0~$I-s3NOQ2F-0ssGpBm48FM|9>~3t5BNUF0$O)CJk+dlBF#5 zF_(L(i{>4X$e7I%S;i8faxE=J8I&oanyA^VW2@Aik)2tLsbo|PGBxfPx}TTsy`OXH ze82y}eg87f%p7OlukE=!miIgGtcdV&0}=6{w3rKtwDH6B0ZDzjCyhDk;}kj5|5aX* z7MnkIjVz>$txFeA%*bOWXIA0j&-i2KR5*wlJHY81xJ#84 zqEfNB%b5A>X*!+Tjr^=^tX1KE5I~?ZH$q9rJ?-lcr28`%ynp?2MkNLgSBw}qxX5Y-i zDK7nV%fp}ZrS@vQ%GNzUr$+-Q?W5OA=5o@%IJbKItxl#a94Dl;5D0+7QLW7cD4E5f(-pt-&TZK81(9US*a^ zCtilM;}j&iQ*cAyBZ)!(#KP@>#?4(Js?k%g1xrpZlW))LjSQDoPZL2E-Kq#WK^9R) zHs(X$lCu3TlYSY(5iaDz!^>ppI^_y9W13IR#xR(SDr!D;lyT1;>g6%%9d;m5Y=>;8 zmfyiY#X-30P6sjP!IaWpJ5%+q-EI8^B%;DLgMY)?%w3f}CQiQkx3bhfg31L-XPCOsp`Uk zT`YK`E9|ZK)_e2kvgpxZ%Pf?Z+vId2PP-^J~)Ea?%yua|oWEngII?C`Yk* zAgn3n%$q`gx=xYI7i!0?jw+H{vvy2mT^n%eJ&hbEAFSnfJfE!! zME)@T>mew2g6ua|hzVx?rP6G%7|gZGSaABPx$NUiTkc z1Fg?ZKKvJuxJq;EspgL7vJrVwpJZTm;Z7INs~&}^#+h;Tq=(Rj;&wnYv&|f$Y%Db# zw&AlzIvnpr4f8W9&CPd0+!dH~@_il5aU)MfR#w0C5x7WntRI(-Zu zJYI*_Jq`}F#d)k=^C#t>30-`x;OU0TIDJd-W@Q{)i9|IVn5PJbCTh;z1I@kONh?A} z(v=LK6}9<-R21}>k_W^!YZy2AfFvAFlVTIAiwKz<*>&#RZrI6oq;T4_!An>~z>lX& zdCIbp<7Dyt_A4*EgNHT83bL51)LbdspgUZ1`0}Cn$p=$rxY+CH5d(UK}P)~qxr~-}>1Bnk>o&=o6 z+96>tO28Z7VsKHAK_s+u!g2X*;+tE$@M+)r1)?^6%mBBWCEyWjw$>`yrSME1772wic4(J5f;J+)-M;CyzqwM-FMnpdNxXk>rtyazIyBrT#S?Wt*qOAyJfXtB zJgZf#E39aYt*e2?C(@G!xG&TxC35qh3Ie#TB z%+slekP3+NVIy+8?w&fv2mj?iJEV{H{w~GxGa039JNwhf&bz0IkS(S-n{xDMgy9g* zX!cA+L!)Wz^(#5Jq-3r1C{Nfn+8ImXJ&D0nbu-o_Mf>J-#zfE^ZW_k(hV;lgkYGDY zu|RGawMRWSxD5-qdc!5l+s*epVN1L1XM4tPXiXW5-pcj_wPEa^>RB=V8kA~{F9Mi~ z?GXdKjKh!fY^K8EA>a)Jnua$9F_|LNY$>8?16Pt3b$UhJd9JF7ecq0xy_lDGJR~oz z#WSElwKpN91=W@TnI;p_6~n7;Nao(JcK>t8>m@IyrK=vtOF5d9O<9TBVh9pIX~24E`;2@ddD-1#d8{G7>wj1J=JBk-T}>|8$>5<{P7c41#^&E!T# zfpG4TzF?5LFx@WDnDCg4bq=&O?m?!{UMD0NZV{_)sk$*GQ%fZ-`&}JNyy})3A-*7S3ied72t(3j+V}>mu9&>YW%r|G39MZEy+2Iuo-<{2 zyGUa`+1z;)h)ACI3di1zzVs-tp-gT~ZTPM(K*6tkg59L)tZ=n7Zg$I8BsEQZ((%GK zUVdS>=ipFye@{bs%hl9Kv*NVk_Pp~3$g*N?8XA6b`P!J%3Hw`X z823K5Y`@qVG`G=4tXaTC+>|#~EO4iMaK$}!@`ar>kQL_~SJfXGSXI_u@ZzfTRPVl5 zBpZ0c?9I*`LWu3Nz0KB7cQvn7yGWTXaTo@%KJ@M>4EWDC)}-H`kCHjTe)*6)>J$K6 z5}Yu*f07@cEJy_ax}KU4+x1f#+G+X^`Fkv&9#c3~Ej_iripDqKp)C=Rm?V?8B}v}Y zMX{|k28dTdSroYwf?;J;tXyw#*)achzWjR$O$UHph#N-|3`nW#fIccq(x2)_bq__J zp+V)0vqPvt0Uj5g@c0H9;bECxG{3{sYvbImGtU?*1GkY<@i0C<#dG`~sn};2DJTt7acG)W{_ZQ2xo{{rQ?xH^Gxl`}8Za z+xyv_GjsMeXcnY-N%3Tt0sdjBg@c$Ct|;GQjJ;rQ8N=2&ulS`vr%KbZXjGO*t1KwXojbNw41s)$tJo2ONh%JxA zHZ{$4u8vz-n=v>MTUp$}qVogDgi!Nz;o@+7l{u?a-P=$zP=}>HhA%3|#_J|6;CKi% zjB>)yVhNaUX>d{U4OCYDDE!A>*ZZMKY`9ezKkrf#LDi>hB}u1|?`>sFq@8(icr8em zI~0zPPplD%;A3u8b)E}N)U_rJEWuU21abSLwin($%b$Y{pDH*UyRe{iOZ`YRIVc+8 z1#QR=x&(}p#tmddc$_YulXfwYN zpCGSw3rxmVcc}9x0B2mL6{c%=@?w13uvx73rrEujzbifUpC{BESNJHtZ^;-SO%?!| z$5nV3T4u_sxR(7HQb_sgpovX0S`#Ux0VW&4rR5>WCGExzl-kr2aYQ5rqGwy{o+3Bk zG)D?px!g3T?i!t0o*Zt_s#}@afaO3i?eQ|hvk&*}5idQx&1pCW-o@QNZg0Ho^S-VR#-2hMnjPNq**g7WY_=~O>PwFKLPqp*u|)dvgM@n zs5XkkTKFy`&EI~7o*HEyF|(((lv)s{VxdU`d}&+16Gr>*GHMjhy7dV75R5z=eDG?h+W8AhAA@Pln8+9H1|m6 z_AQ!R7ixISF<@%#D6sQP?j!uomyZtH?CA#>VzW{>w z8~IIst9wwI*|=}7Q_&~X1EF-2lIm%{oT?G7|Wec0J^sU=?LCMKoO|bh}`#pC1=ASU)x#iEM z=>(ytKTV&p)$%Xsp}$#p4PpV;Ta(Uj_N5n>POsH%kUv|OYg#iU?9SN%q{M2SL`QhM zgYy}{q&kWtjw@ceC$ffheeY6Fk1rVR<;bw1fDq&c$9V!1I-cbA;*2(bX~v?$KAx*t zCGII)lQs$&YnrQx zfycFsoV+(5ZDKAqKA}&a`DR0h**bQ;34)~gA3q{5|==5 z+H}~vem6lA7wmf#e$lNK4quaVnP9e>rBjBeYdC7zyV84XQn_HD=YQGD;F|ilGL9|c zvL5h1-VEyd)t>_xbs9qYj)U7kCWszUZiz3^HQd?cE}B+UCT6gCQ^1S>-96v9Bn&wV zk@>_Q$-oPi+F>D%U$o3o`ReffBSQpMVu4xu&^&X|d~tzP4ctapJ+b3;5NdRQ+cdcF zhG*IF=l=X9ww^a|@{54RQC+A*LI*m8y{y^1HlJk;lQ+WHy#Wf8&<{q>5{N0l03d4f zx}8cx7s)qFFhAygybze+ax3PtX4Tz;yNe`F84SlGXou*R3yfI(s=Wi&@7GCGPsYUW z>ab9Hqj-QoO!KAb@nQ)nr zsE-+gk|us|W$Ze{us1c%)4w&;@GC}g;R$BncJU`>u=r-;Dl=BUVyvrY{deihGFt(g zQv}8PA>nb|QSRA7PoT&iXlQz!F+1o#-pHS#Y+mnOXr$H^CS#uMrr?HjeWChnIM^Fq zICq-CUk##!FH@fs%0LQ4$I^+gpQbsZfCJUUk7Lon6CHAwHJ&Y?Vv)6R9rq0w{i2>7<<=7kIMHEW3oAp} zV0>=kD)A=!y^`B@KQ!yP*B@vT49{Y+aWN&wEHt{^O6iP|Zp>%DILsGRE)_>wkJ<#L zaELNGs4k-5`dhsqA#g0(%-z_dcUYK^fEmbQ(mt-`y+yV&nI1TP+1sQ~KJSe7-A|a} z7%7X5{%FASJFDh8Sfff4P0FYeY03!o$IW5r52>Po5>tkqzA!8|Vw}A=ZOxM8LrJ4e zLyPCb*H^=;b)T(4zJ7mt*%#>Q|323FvPJXH`_n7`{rbNn^Y0?~cYFMM5~%#Yi{MX( YSi7=Fz0lYLi|6KlTs)lb?+-}*FH-l1O8@`> diff --git a/docs/_static/basic.css b/docs/_static/basic.css deleted file mode 100644 index 7577acb..0000000 --- a/docs/_static/basic.css +++ /dev/null @@ -1,903 +0,0 @@ -/* - * basic.css - * ~~~~~~~~~ - * - * Sphinx stylesheet -- basic theme. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -/* -- main layout ----------------------------------------------------------- */ - -div.clearer { - clear: both; -} - -div.section::after { - display: block; - content: ''; - clear: left; -} - -/* -- relbar ---------------------------------------------------------------- */ - -div.related { - width: 100%; - font-size: 90%; -} - -div.related h3 { - display: none; -} - -div.related ul { - margin: 0; - padding: 0 0 0 10px; - list-style: none; -} - -div.related li { - display: inline; -} - -div.related li.right { - float: right; - margin-right: 5px; -} - -/* -- sidebar --------------------------------------------------------------- */ - -div.sphinxsidebarwrapper { - padding: 10px 5px 0 10px; -} - -div.sphinxsidebar { - float: left; - width: 230px; - margin-left: -100%; - font-size: 90%; - word-wrap: break-word; - overflow-wrap : break-word; -} - -div.sphinxsidebar ul { - list-style: none; -} - -div.sphinxsidebar ul ul, -div.sphinxsidebar ul.want-points { - margin-left: 20px; - list-style: square; -} - -div.sphinxsidebar ul ul { - margin-top: 0; - margin-bottom: 0; -} - -div.sphinxsidebar form { - margin-top: 10px; -} - -div.sphinxsidebar input { - border: 1px solid #98dbcc; - font-family: sans-serif; - font-size: 1em; -} - -div.sphinxsidebar #searchbox form.search { - overflow: hidden; -} - -div.sphinxsidebar #searchbox input[type="text"] { - float: left; - width: 80%; - padding: 0.25em; - box-sizing: border-box; -} - -div.sphinxsidebar #searchbox input[type="submit"] { - float: left; - width: 20%; - border-left: none; - padding: 0.25em; - box-sizing: border-box; -} - - -img { - border: 0; - max-width: 100%; -} - -/* -- search page ----------------------------------------------------------- */ - -ul.search { - margin: 10px 0 0 20px; - padding: 0; -} - -ul.search li { - padding: 5px 0 5px 20px; - background-image: url(file.png); - background-repeat: no-repeat; - background-position: 0 7px; -} - -ul.search li a { - font-weight: bold; -} - -ul.search li p.context { - color: #888; - margin: 2px 0 0 30px; - text-align: left; -} - -ul.keywordmatches li.goodmatch a { - font-weight: bold; -} - -/* -- index page ------------------------------------------------------------ */ - -table.contentstable { - width: 90%; - margin-left: auto; - margin-right: auto; -} - -table.contentstable p.biglink { - line-height: 150%; -} - -a.biglink { - font-size: 1.3em; -} - -span.linkdescr { - font-style: italic; - padding-top: 5px; - font-size: 90%; -} - -/* -- general index --------------------------------------------------------- */ - -table.indextable { - width: 100%; -} - -table.indextable td { - text-align: left; - vertical-align: top; -} - -table.indextable ul { - margin-top: 0; - margin-bottom: 0; - list-style-type: none; -} - -table.indextable > tbody > tr > td > ul { - padding-left: 0em; -} - -table.indextable tr.pcap { - height: 10px; -} - -table.indextable tr.cap { - margin-top: 10px; - background-color: #f2f2f2; -} - -img.toggler { - margin-right: 3px; - margin-top: 3px; - cursor: pointer; -} - -div.modindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -div.genindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -/* -- domain module index --------------------------------------------------- */ - -table.modindextable td { - padding: 2px; - border-collapse: collapse; -} - -/* -- general body styles --------------------------------------------------- */ - -div.body { - min-width: 360px; - max-width: 800px; -} - -div.body p, div.body dd, div.body li, div.body blockquote { - -moz-hyphens: auto; - -ms-hyphens: auto; - -webkit-hyphens: auto; - hyphens: auto; -} - -a.headerlink { - visibility: hidden; -} - -h1:hover > a.headerlink, -h2:hover > a.headerlink, -h3:hover > a.headerlink, -h4:hover > a.headerlink, -h5:hover > a.headerlink, -h6:hover > a.headerlink, -dt:hover > a.headerlink, -caption:hover > a.headerlink, -p.caption:hover > a.headerlink, -div.code-block-caption:hover > a.headerlink { - visibility: visible; -} - -div.body p.caption { - text-align: inherit; -} - -div.body td { - text-align: left; -} - -.first { - margin-top: 0 !important; -} - -p.rubric { - margin-top: 30px; - font-weight: bold; -} - -img.align-left, figure.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; -} - -img.align-right, figure.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; -} - -img.align-center, figure.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; -} - -img.align-default, figure.align-default, .figure.align-default { - display: block; - margin-left: auto; - margin-right: auto; -} - -.align-left { - text-align: left; -} - -.align-center { - text-align: center; -} - -.align-default { - text-align: center; -} - -.align-right { - text-align: right; -} - -/* -- sidebars -------------------------------------------------------------- */ - -div.sidebar, -aside.sidebar { - margin: 0 0 0.5em 1em; - border: 1px solid #ddb; - padding: 7px; - background-color: #ffe; - width: 40%; - float: right; - clear: right; - overflow-x: auto; -} - -p.sidebar-title { - font-weight: bold; -} - -nav.contents, -aside.topic, -div.admonition, div.topic, blockquote { - clear: left; -} - -/* -- topics ---------------------------------------------------------------- */ - -nav.contents, -aside.topic, -div.topic { - border: 1px solid #ccc; - padding: 7px; - margin: 10px 0 10px 0; -} - -p.topic-title { - font-size: 1.1em; - font-weight: bold; - margin-top: 10px; -} - -/* -- admonitions ----------------------------------------------------------- */ - -div.admonition { - margin-top: 10px; - margin-bottom: 10px; - padding: 7px; -} - -div.admonition dt { - font-weight: bold; -} - -p.admonition-title { - margin: 0px 10px 5px 0px; - font-weight: bold; -} - -div.body p.centered { - text-align: center; - margin-top: 25px; -} - -/* -- content of sidebars/topics/admonitions -------------------------------- */ - -div.sidebar > :last-child, -aside.sidebar > :last-child, -nav.contents > :last-child, -aside.topic > :last-child, -div.topic > :last-child, -div.admonition > :last-child { - margin-bottom: 0; -} - -div.sidebar::after, -aside.sidebar::after, -nav.contents::after, -aside.topic::after, -div.topic::after, -div.admonition::after, -blockquote::after { - display: block; - content: ''; - clear: both; -} - -/* -- tables ---------------------------------------------------------------- */ - -table.docutils { - margin-top: 10px; - margin-bottom: 10px; - border: 0; - border-collapse: collapse; -} - -table.align-center { - margin-left: auto; - margin-right: auto; -} - -table.align-default { - margin-left: auto; - margin-right: auto; -} - -table caption span.caption-number { - font-style: italic; -} - -table caption span.caption-text { -} - -table.docutils td, table.docutils th { - padding: 1px 8px 1px 5px; - border-top: 0; - border-left: 0; - border-right: 0; - border-bottom: 1px solid #aaa; -} - -th { - text-align: left; - padding-right: 5px; -} - -table.citation { - border-left: solid 1px gray; - margin-left: 1px; -} - -table.citation td { - border-bottom: none; -} - -th > :first-child, -td > :first-child { - margin-top: 0px; -} - -th > :last-child, -td > :last-child { - margin-bottom: 0px; -} - -/* -- figures --------------------------------------------------------------- */ - -div.figure, figure { - margin: 0.5em; - padding: 0.5em; -} - -div.figure p.caption, figcaption { - padding: 0.3em; -} - -div.figure p.caption span.caption-number, -figcaption span.caption-number { - font-style: italic; -} - -div.figure p.caption span.caption-text, -figcaption span.caption-text { -} - -/* -- field list styles ----------------------------------------------------- */ - -table.field-list td, table.field-list th { - border: 0 !important; -} - -.field-list ul { - margin: 0; - padding-left: 1em; -} - -.field-list p { - margin: 0; -} - -.field-name { - -moz-hyphens: manual; - -ms-hyphens: manual; - -webkit-hyphens: manual; - hyphens: manual; -} - -/* -- hlist styles ---------------------------------------------------------- */ - -table.hlist { - margin: 1em 0; -} - -table.hlist td { - vertical-align: top; -} - -/* -- object description styles --------------------------------------------- */ - -.sig { - font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; -} - -.sig-name, code.descname { - background-color: transparent; - font-weight: bold; -} - -.sig-name { - font-size: 1.1em; -} - -code.descname { - font-size: 1.2em; -} - -.sig-prename, code.descclassname { - background-color: transparent; -} - -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - -.sig-param.n { - font-style: italic; -} - -/* C++ specific styling */ - -.sig-inline.c-texpr, -.sig-inline.cpp-texpr { - font-family: unset; -} - -.sig.c .k, .sig.c .kt, -.sig.cpp .k, .sig.cpp .kt { - color: #0033B3; -} - -.sig.c .m, -.sig.cpp .m { - color: #1750EB; -} - -.sig.c .s, .sig.c .sc, -.sig.cpp .s, .sig.cpp .sc { - color: #067D17; -} - - -/* -- other body styles ----------------------------------------------------- */ - -ol.arabic { - list-style: decimal; -} - -ol.loweralpha { - list-style: lower-alpha; -} - -ol.upperalpha { - list-style: upper-alpha; -} - -ol.lowerroman { - list-style: lower-roman; -} - -ol.upperroman { - list-style: upper-roman; -} - -:not(li) > ol > li:first-child > :first-child, -:not(li) > ul > li:first-child > :first-child { - margin-top: 0px; -} - -:not(li) > ol > li:last-child > :last-child, -:not(li) > ul > li:last-child > :last-child { - margin-bottom: 0px; -} - -ol.simple ol p, -ol.simple ul p, -ul.simple ol p, -ul.simple ul p { - margin-top: 0; -} - -ol.simple > li:not(:first-child) > p, -ul.simple > li:not(:first-child) > p { - margin-top: 0; -} - -ol.simple p, -ul.simple p { - margin-bottom: 0; -} - -aside.footnote > span, -div.citation > span { - float: left; -} -aside.footnote > span:last-of-type, -div.citation > span:last-of-type { - padding-right: 0.5em; -} -aside.footnote > p { - margin-left: 2em; -} -div.citation > p { - margin-left: 4em; -} -aside.footnote > p:last-of-type, -div.citation > p:last-of-type { - margin-bottom: 0em; -} -aside.footnote > p:last-of-type:after, -div.citation > p:last-of-type:after { - content: ""; - clear: both; -} - -dl.field-list { - display: grid; - grid-template-columns: fit-content(30%) auto; -} - -dl.field-list > dt { - font-weight: bold; - word-break: break-word; - padding-left: 0.5em; - padding-right: 5px; -} - -dl.field-list > dd { - padding-left: 0.5em; - margin-top: 0em; - margin-left: 0em; - margin-bottom: 0em; -} - -dl { - margin-bottom: 15px; -} - -dd > :first-child { - margin-top: 0px; -} - -dd ul, dd table { - margin-bottom: 10px; -} - -dd { - margin-top: 3px; - margin-bottom: 10px; - margin-left: 30px; -} - -dl > dd:last-child, -dl > dd:last-child > :last-child { - margin-bottom: 0; -} - -dt:target, span.highlighted { - background-color: #fbe54e; -} - -rect.highlighted { - fill: #fbe54e; -} - -dl.glossary dt { - font-weight: bold; - font-size: 1.1em; -} - -.versionmodified { - font-style: italic; -} - -.system-message { - background-color: #fda; - padding: 5px; - border: 3px solid red; -} - -.footnote:target { - background-color: #ffa; -} - -.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; -} - -.line-block .line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; -} - -.guilabel, .menuselection { - font-family: sans-serif; -} - -.accelerator { - text-decoration: underline; -} - -.classifier { - font-style: oblique; -} - -.classifier:before { - font-style: normal; - margin: 0 0.5em; - content: ":"; - display: inline-block; -} - -abbr, acronym { - border-bottom: dotted 1px; - cursor: help; -} - -/* -- code displays --------------------------------------------------------- */ - -pre { - overflow: auto; - overflow-y: hidden; /* fixes display issues on Chrome browsers */ -} - -pre, div[class*="highlight-"] { - clear: both; -} - -span.pre { - -moz-hyphens: none; - -ms-hyphens: none; - -webkit-hyphens: none; - hyphens: none; - white-space: nowrap; -} - -div[class*="highlight-"] { - margin: 1em 0; -} - -td.linenos pre { - border: 0; - background-color: transparent; - color: #aaa; -} - -table.highlighttable { - display: block; -} - -table.highlighttable tbody { - display: block; -} - -table.highlighttable tr { - display: flex; -} - -table.highlighttable td { - margin: 0; - padding: 0; -} - -table.highlighttable td.linenos { - padding-right: 0.5em; -} - -table.highlighttable td.code { - flex: 1; - overflow: hidden; -} - -.highlight .hll { - display: block; -} - -div.highlight pre, -table.highlighttable pre { - margin: 0; -} - -div.code-block-caption + div { - margin-top: 0; -} - -div.code-block-caption { - margin-top: 1em; - padding: 2px 5px; - font-size: small; -} - -div.code-block-caption code { - background-color: transparent; -} - -table.highlighttable td.linenos, -span.linenos, -div.highlight span.gp { /* gp: Generic.Prompt */ - user-select: none; - -webkit-user-select: text; /* Safari fallback only */ - -webkit-user-select: none; /* Chrome/Safari */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* IE10+ */ -} - -div.code-block-caption span.caption-number { - padding: 0.1em 0.3em; - font-style: italic; -} - -div.code-block-caption span.caption-text { -} - -div.literal-block-wrapper { - margin: 1em 0; -} - -code.xref, a code { - background-color: transparent; - font-weight: bold; -} - -h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { - background-color: transparent; -} - -.viewcode-link { - float: right; -} - -.viewcode-back { - float: right; - font-family: sans-serif; -} - -div.viewcode-block:target { - margin: -1px -10px; - padding: 0 10px; -} - -/* -- math display ---------------------------------------------------------- */ - -img.math { - vertical-align: middle; -} - -div.body div.math p { - text-align: center; -} - -span.eqno { - float: right; -} - -span.eqno a.headerlink { - position: absolute; - z-index: 1; -} - -div.math:hover a.headerlink { - visibility: visible; -} - -/* -- printout stylesheet --------------------------------------------------- */ - -@media print { - div.document, - div.documentwrapper, - div.bodywrapper { - margin: 0 !important; - width: 100%; - } - - div.sphinxsidebar, - div.related, - div.footer, - #top-link { - display: none; - } -} \ No newline at end of file diff --git a/docs/_static/debug.css b/docs/_static/debug.css deleted file mode 100644 index 74d4aec..0000000 --- a/docs/_static/debug.css +++ /dev/null @@ -1,69 +0,0 @@ -/* - This CSS file should be overridden by the theme authors. It's - meant for debugging and developing the skeleton that this theme provides. -*/ -body { - font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, - "Apple Color Emoji", "Segoe UI Emoji"; - background: lavender; -} -.sb-announcement { - background: rgb(131, 131, 131); -} -.sb-announcement__inner { - background: black; - color: white; -} -.sb-header { - background: lightskyblue; -} -.sb-header__inner { - background: royalblue; - color: white; -} -.sb-header-secondary { - background: lightcyan; -} -.sb-header-secondary__inner { - background: cornflowerblue; - color: white; -} -.sb-sidebar-primary { - background: lightgreen; -} -.sb-main { - background: blanchedalmond; -} -.sb-main__inner { - background: antiquewhite; -} -.sb-header-article { - background: lightsteelblue; -} -.sb-article-container { - background: snow; -} -.sb-article-main { - background: white; -} -.sb-footer-article { - background: lightpink; -} -.sb-sidebar-secondary { - background: lightgoldenrodyellow; -} -.sb-footer-content { - background: plum; -} -.sb-footer-content__inner { - background: palevioletred; -} -.sb-footer { - background: pink; -} -.sb-footer__inner { - background: salmon; -} -.sb-article { - background: white; -} diff --git a/docs/_static/doctools.js b/docs/_static/doctools.js deleted file mode 100644 index d06a71d..0000000 --- a/docs/_static/doctools.js +++ /dev/null @@ -1,156 +0,0 @@ -/* - * doctools.js - * ~~~~~~~~~~~ - * - * Base JavaScript utilities for all Sphinx HTML documentation. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ -"use strict"; - -const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ - "TEXTAREA", - "INPUT", - "SELECT", - "BUTTON", -]); - -const _ready = (callback) => { - if (document.readyState !== "loading") { - callback(); - } else { - document.addEventListener("DOMContentLoaded", callback); - } -}; - -/** - * Small JavaScript module for the documentation. - */ -const Documentation = { - init: () => { - Documentation.initDomainIndexTable(); - Documentation.initOnKeyListeners(); - }, - - /** - * i18n support - */ - TRANSLATIONS: {}, - PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), - LOCALE: "unknown", - - // gettext and ngettext don't access this so that the functions - // can safely bound to a different name (_ = Documentation.gettext) - gettext: (string) => { - const translated = Documentation.TRANSLATIONS[string]; - switch (typeof translated) { - case "undefined": - return string; // no translation - case "string": - return translated; // translation exists - default: - return translated[0]; // (singular, plural) translation tuple exists - } - }, - - ngettext: (singular, plural, n) => { - const translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated !== "undefined") - return translated[Documentation.PLURAL_EXPR(n)]; - return n === 1 ? singular : plural; - }, - - addTranslations: (catalog) => { - Object.assign(Documentation.TRANSLATIONS, catalog.messages); - Documentation.PLURAL_EXPR = new Function( - "n", - `return (${catalog.plural_expr})` - ); - Documentation.LOCALE = catalog.locale; - }, - - /** - * helper function to focus on search bar - */ - focusSearchBar: () => { - document.querySelectorAll("input[name=q]")[0]?.focus(); - }, - - /** - * Initialise the domain index toggle buttons - */ - initDomainIndexTable: () => { - const toggler = (el) => { - const idNumber = el.id.substr(7); - const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); - if (el.src.substr(-9) === "minus.png") { - el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; - toggledRows.forEach((el) => (el.style.display = "none")); - } else { - el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; - toggledRows.forEach((el) => (el.style.display = "")); - } - }; - - const togglerElements = document.querySelectorAll("img.toggler"); - togglerElements.forEach((el) => - el.addEventListener("click", (event) => toggler(event.currentTarget)) - ); - togglerElements.forEach((el) => (el.style.display = "")); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); - }, - - initOnKeyListeners: () => { - // only install a listener if it is really needed - if ( - !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && - !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS - ) - return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.altKey || event.ctrlKey || event.metaKey) return; - - if (!event.shiftKey) { - switch (event.key) { - case "ArrowLeft": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const prevLink = document.querySelector('link[rel="prev"]'); - if (prevLink && prevLink.href) { - window.location.href = prevLink.href; - event.preventDefault(); - } - break; - case "ArrowRight": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const nextLink = document.querySelector('link[rel="next"]'); - if (nextLink && nextLink.href) { - window.location.href = nextLink.href; - event.preventDefault(); - } - break; - } - } - - // some keyboard layouts may need Shift to get / - switch (event.key) { - case "/": - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; - Documentation.focusSearchBar(); - event.preventDefault(); - } - }); - }, -}; - -// quick alias for translations -const _ = Documentation.gettext; - -_ready(Documentation.init); diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js deleted file mode 100644 index 6d7ffe2..0000000 --- a/docs/_static/documentation_options.js +++ /dev/null @@ -1,14 +0,0 @@ -var DOCUMENTATION_OPTIONS = { - URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '1.5.0', - LANGUAGE: 'en', - COLLAPSE_INDEX: false, - BUILDER: 'html', - FILE_SUFFIX: '.html', - LINK_SUFFIX: '.html', - HAS_SOURCE: true, - SOURCELINK_SUFFIX: '.txt', - NAVIGATION_WITH_KEYS: false, - SHOW_SEARCH_SUMMARY: true, - ENABLE_SEARCH_SHORTCUTS: true, -}; \ No newline at end of file diff --git a/docs/_static/file.png b/docs/_static/file.png deleted file mode 100644 index a858a410e4faa62ce324d814e4b816fff83a6fb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( diff --git a/docs/_static/language_data.js b/docs/_static/language_data.js deleted file mode 100644 index 250f566..0000000 --- a/docs/_static/language_data.js +++ /dev/null @@ -1,199 +0,0 @@ -/* - * language_data.js - * ~~~~~~~~~~~~~~~~ - * - * This script contains the language-specific data used by searchtools.js, - * namely the list of stopwords, stemmer, scorer and splitter. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; - - -/* Non-minified version is copied as a separate JS file, is available */ - -/** - * Porter Stemmer - */ -var Stemmer = function() { - - var step2list = { - ational: 'ate', - tional: 'tion', - enci: 'ence', - anci: 'ance', - izer: 'ize', - bli: 'ble', - alli: 'al', - entli: 'ent', - eli: 'e', - ousli: 'ous', - ization: 'ize', - ation: 'ate', - ator: 'ate', - alism: 'al', - iveness: 'ive', - fulness: 'ful', - ousness: 'ous', - aliti: 'al', - iviti: 'ive', - biliti: 'ble', - logi: 'log' - }; - - var step3list = { - icate: 'ic', - ative: '', - alize: 'al', - iciti: 'ic', - ical: 'ic', - ful: '', - ness: '' - }; - - var c = "[^aeiou]"; // consonant - var v = "[aeiouy]"; // vowel - var C = c + "[^aeiouy]*"; // consonant sequence - var V = v + "[aeiou]*"; // vowel sequence - - var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 - var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 - var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 - var s_v = "^(" + C + ")?" + v; // vowel in stem - - this.stemWord = function (w) { - var stem; - var suffix; - var firstch; - var origword = w; - - if (w.length < 3) - return w; - - var re; - var re2; - var re3; - var re4; - - firstch = w.substr(0,1); - if (firstch == "y") - w = firstch.toUpperCase() + w.substr(1); - - // Step 1a - re = /^(.+?)(ss|i)es$/; - re2 = /^(.+?)([^s])s$/; - - if (re.test(w)) - w = w.replace(re,"$1$2"); - else if (re2.test(w)) - w = w.replace(re2,"$1$2"); - - // Step 1b - re = /^(.+?)eed$/; - re2 = /^(.+?)(ed|ing)$/; - if (re.test(w)) { - var fp = re.exec(w); - re = new RegExp(mgr0); - if (re.test(fp[1])) { - re = /.$/; - w = w.replace(re,""); - } - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - re2 = new RegExp(s_v); - if (re2.test(stem)) { - w = stem; - re2 = /(at|bl|iz)$/; - re3 = new RegExp("([^aeiouylsz])\\1$"); - re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re2.test(w)) - w = w + "e"; - else if (re3.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - else if (re4.test(w)) - w = w + "e"; - } - } - - // Step 1c - re = /^(.+?)y$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(s_v); - if (re.test(stem)) - w = stem + "i"; - } - - // Step 2 - re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step2list[suffix]; - } - - // Step 3 - re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step3list[suffix]; - } - - // Step 4 - re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; - re2 = /^(.+?)(s|t)(ion)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - if (re.test(stem)) - w = stem; - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1] + fp[2]; - re2 = new RegExp(mgr1); - if (re2.test(stem)) - w = stem; - } - - // Step 5 - re = /^(.+?)e$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - re2 = new RegExp(meq1); - re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) - w = stem; - } - re = /ll$/; - re2 = new RegExp(mgr1); - if (re.test(w) && re2.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - - // and turn initial Y back to y - if (firstch == "y") - w = firstch.toLowerCase() + w.substr(1); - return w; - } -} - diff --git a/docs/_static/minus.png b/docs/_static/minus.png deleted file mode 100644 index d96755fdaf8bb2214971e0db9c1fd3077d7c419d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu=nj kDsEF_5m^0CR;1wuP-*O&G^0G}KYk!hp00i_>zopr08q^qX#fBK diff --git a/docs/_static/plus.png b/docs/_static/plus.png deleted file mode 100644 index 7107cec93a979b9a5f64843235a16651d563ce2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu>-2 m3q%Vub%g%s<8sJhVPMczOq}xhg9DJoz~JfX=d#Wzp$Pyb1r*Kz diff --git a/docs/_static/pygments.css b/docs/_static/pygments.css deleted file mode 100644 index 7547150..0000000 --- a/docs/_static/pygments.css +++ /dev/null @@ -1,255 +0,0 @@ -.highlight pre { line-height: 125%; } -.highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -.highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -.highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #8f5902; font-style: italic } /* Comment */ -.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */ -.highlight .g { color: #000000 } /* Generic */ -.highlight .k { color: #204a87; font-weight: bold } /* Keyword */ -.highlight .l { color: #000000 } /* Literal */ -.highlight .n { color: #000000 } /* Name */ -.highlight .o { color: #ce5c00; font-weight: bold } /* Operator */ -.highlight .x { color: #000000 } /* Other */ -.highlight .p { color: #000000; font-weight: bold } /* Punctuation */ -.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */ -.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #8f5902; font-style: italic } /* Comment.Preproc */ -.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */ -.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #a40000 } /* Generic.Deleted */ -.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #ef2929 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #000000; font-style: italic } /* Generic.Output */ -.highlight .gp { color: #8f5902 } /* Generic.Prompt */ -.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */ -.highlight .kc { color: #204a87; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #204a87; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #204a87; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #204a87; font-weight: bold } /* Keyword.Pseudo */ -.highlight .kr { color: #204a87; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #204a87; font-weight: bold } /* Keyword.Type */ -.highlight .ld { color: #000000 } /* Literal.Date */ -.highlight .m { color: #0000cf; font-weight: bold } /* Literal.Number */ -.highlight .s { color: #4e9a06 } /* Literal.String */ -.highlight .na { color: #c4a000 } /* Name.Attribute */ -.highlight .nb { color: #204a87 } /* Name.Builtin */ -.highlight .nc { color: #000000 } /* Name.Class */ -.highlight .no { color: #000000 } /* Name.Constant */ -.highlight .nd { color: #5c35cc; font-weight: bold } /* Name.Decorator */ -.highlight .ni { color: #ce5c00 } /* Name.Entity */ -.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #000000 } /* Name.Function */ -.highlight .nl { color: #f57900 } /* Name.Label */ -.highlight .nn { color: #000000 } /* Name.Namespace */ -.highlight .nx { color: #000000 } /* Name.Other */ -.highlight .py { color: #000000 } /* Name.Property */ -.highlight .nt { color: #204a87; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #000000 } /* Name.Variable */ -.highlight .ow { color: #204a87; font-weight: bold } /* Operator.Word */ -.highlight .pm { color: #000000; font-weight: bold } /* Punctuation.Marker */ -.highlight .w { color: #f8f8f8 } /* Text.Whitespace */ -.highlight .mb { color: #0000cf; font-weight: bold } /* Literal.Number.Bin */ -.highlight .mf { color: #0000cf; font-weight: bold } /* Literal.Number.Float */ -.highlight .mh { color: #0000cf; font-weight: bold } /* Literal.Number.Hex */ -.highlight .mi { color: #0000cf; font-weight: bold } /* Literal.Number.Integer */ -.highlight .mo { color: #0000cf; font-weight: bold } /* Literal.Number.Oct */ -.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */ -.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */ -.highlight .sc { color: #4e9a06 } /* Literal.String.Char */ -.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */ -.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */ -.highlight .se { color: #4e9a06 } /* Literal.String.Escape */ -.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */ -.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */ -.highlight .sx { color: #4e9a06 } /* Literal.String.Other */ -.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */ -.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */ -.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */ -.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */ -.highlight .fm { color: #000000 } /* Name.Function.Magic */ -.highlight .vc { color: #000000 } /* Name.Variable.Class */ -.highlight .vg { color: #000000 } /* Name.Variable.Global */ -.highlight .vi { color: #000000 } /* Name.Variable.Instance */ -.highlight .vm { color: #000000 } /* Name.Variable.Magic */ -.highlight .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */ -@media not print { -body[data-theme="dark"] .highlight pre { line-height: 125%; } -body[data-theme="dark"] .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } -body[data-theme="dark"] .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } -body[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -body[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -body[data-theme="dark"] .highlight .hll { background-color: #404040 } -body[data-theme="dark"] .highlight { background: #202020; color: #d0d0d0 } -body[data-theme="dark"] .highlight .c { color: #ababab; font-style: italic } /* Comment */ -body[data-theme="dark"] .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ -body[data-theme="dark"] .highlight .esc { color: #d0d0d0 } /* Escape */ -body[data-theme="dark"] .highlight .g { color: #d0d0d0 } /* Generic */ -body[data-theme="dark"] .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */ -body[data-theme="dark"] .highlight .l { color: #d0d0d0 } /* Literal */ -body[data-theme="dark"] .highlight .n { color: #d0d0d0 } /* Name */ -body[data-theme="dark"] .highlight .o { color: #d0d0d0 } /* Operator */ -body[data-theme="dark"] .highlight .x { color: #d0d0d0 } /* Other */ -body[data-theme="dark"] .highlight .p { color: #d0d0d0 } /* Punctuation */ -body[data-theme="dark"] .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */ -body[data-theme="dark"] .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */ -body[data-theme="dark"] .highlight .cp { color: #cd2828; font-weight: bold } /* Comment.Preproc */ -body[data-theme="dark"] .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */ -body[data-theme="dark"] .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */ -body[data-theme="dark"] .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ -body[data-theme="dark"] .highlight .gd { color: #d22323 } /* Generic.Deleted */ -body[data-theme="dark"] .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */ -body[data-theme="dark"] .highlight .gr { color: #d22323 } /* Generic.Error */ -body[data-theme="dark"] .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */ -body[data-theme="dark"] .highlight .gi { color: #589819 } /* Generic.Inserted */ -body[data-theme="dark"] .highlight .go { color: #cccccc } /* Generic.Output */ -body[data-theme="dark"] .highlight .gp { color: #aaaaaa } /* Generic.Prompt */ -body[data-theme="dark"] .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */ -body[data-theme="dark"] .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */ -body[data-theme="dark"] .highlight .gt { color: #d22323 } /* Generic.Traceback */ -body[data-theme="dark"] .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */ -body[data-theme="dark"] .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */ -body[data-theme="dark"] .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */ -body[data-theme="dark"] .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */ -body[data-theme="dark"] .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */ -body[data-theme="dark"] .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */ -body[data-theme="dark"] .highlight .ld { color: #d0d0d0 } /* Literal.Date */ -body[data-theme="dark"] .highlight .m { color: #51b2fd } /* Literal.Number */ -body[data-theme="dark"] .highlight .s { color: #ed9d13 } /* Literal.String */ -body[data-theme="dark"] .highlight .na { color: #bbbbbb } /* Name.Attribute */ -body[data-theme="dark"] .highlight .nb { color: #2fbccd } /* Name.Builtin */ -body[data-theme="dark"] .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */ -body[data-theme="dark"] .highlight .no { color: #40ffff } /* Name.Constant */ -body[data-theme="dark"] .highlight .nd { color: #ffa500 } /* Name.Decorator */ -body[data-theme="dark"] .highlight .ni { color: #d0d0d0 } /* Name.Entity */ -body[data-theme="dark"] .highlight .ne { color: #bbbbbb } /* Name.Exception */ -body[data-theme="dark"] .highlight .nf { color: #71adff } /* Name.Function */ -body[data-theme="dark"] .highlight .nl { color: #d0d0d0 } /* Name.Label */ -body[data-theme="dark"] .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */ -body[data-theme="dark"] .highlight .nx { color: #d0d0d0 } /* Name.Other */ -body[data-theme="dark"] .highlight .py { color: #d0d0d0 } /* Name.Property */ -body[data-theme="dark"] .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */ -body[data-theme="dark"] .highlight .nv { color: #40ffff } /* Name.Variable */ -body[data-theme="dark"] .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */ -body[data-theme="dark"] .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */ -body[data-theme="dark"] .highlight .w { color: #666666 } /* Text.Whitespace */ -body[data-theme="dark"] .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */ -body[data-theme="dark"] .highlight .mf { color: #51b2fd } /* Literal.Number.Float */ -body[data-theme="dark"] .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */ -body[data-theme="dark"] .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */ -body[data-theme="dark"] .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */ -body[data-theme="dark"] .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */ -body[data-theme="dark"] .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */ -body[data-theme="dark"] .highlight .sc { color: #ed9d13 } /* Literal.String.Char */ -body[data-theme="dark"] .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */ -body[data-theme="dark"] .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */ -body[data-theme="dark"] .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */ -body[data-theme="dark"] .highlight .se { color: #ed9d13 } /* Literal.String.Escape */ -body[data-theme="dark"] .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */ -body[data-theme="dark"] .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */ -body[data-theme="dark"] .highlight .sx { color: #ffa500 } /* Literal.String.Other */ -body[data-theme="dark"] .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */ -body[data-theme="dark"] .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */ -body[data-theme="dark"] .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */ -body[data-theme="dark"] .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */ -body[data-theme="dark"] .highlight .fm { color: #71adff } /* Name.Function.Magic */ -body[data-theme="dark"] .highlight .vc { color: #40ffff } /* Name.Variable.Class */ -body[data-theme="dark"] .highlight .vg { color: #40ffff } /* Name.Variable.Global */ -body[data-theme="dark"] .highlight .vi { color: #40ffff } /* Name.Variable.Instance */ -body[data-theme="dark"] .highlight .vm { color: #40ffff } /* Name.Variable.Magic */ -body[data-theme="dark"] .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */ -@media (prefers-color-scheme: dark) { -body:not([data-theme="light"]) .highlight pre { line-height: 125%; } -body:not([data-theme="light"]) .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } -body:not([data-theme="light"]) .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } -body:not([data-theme="light"]) .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -body:not([data-theme="light"]) .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -body:not([data-theme="light"]) .highlight .hll { background-color: #404040 } -body:not([data-theme="light"]) .highlight { background: #202020; color: #d0d0d0 } -body:not([data-theme="light"]) .highlight .c { color: #ababab; font-style: italic } /* Comment */ -body:not([data-theme="light"]) .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ -body:not([data-theme="light"]) .highlight .esc { color: #d0d0d0 } /* Escape */ -body:not([data-theme="light"]) .highlight .g { color: #d0d0d0 } /* Generic */ -body:not([data-theme="light"]) .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */ -body:not([data-theme="light"]) .highlight .l { color: #d0d0d0 } /* Literal */ -body:not([data-theme="light"]) .highlight .n { color: #d0d0d0 } /* Name */ -body:not([data-theme="light"]) .highlight .o { color: #d0d0d0 } /* Operator */ -body:not([data-theme="light"]) .highlight .x { color: #d0d0d0 } /* Other */ -body:not([data-theme="light"]) .highlight .p { color: #d0d0d0 } /* Punctuation */ -body:not([data-theme="light"]) .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */ -body:not([data-theme="light"]) .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */ -body:not([data-theme="light"]) .highlight .cp { color: #cd2828; font-weight: bold } /* Comment.Preproc */ -body:not([data-theme="light"]) .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */ -body:not([data-theme="light"]) .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */ -body:not([data-theme="light"]) .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ -body:not([data-theme="light"]) .highlight .gd { color: #d22323 } /* Generic.Deleted */ -body:not([data-theme="light"]) .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */ -body:not([data-theme="light"]) .highlight .gr { color: #d22323 } /* Generic.Error */ -body:not([data-theme="light"]) .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */ -body:not([data-theme="light"]) .highlight .gi { color: #589819 } /* Generic.Inserted */ -body:not([data-theme="light"]) .highlight .go { color: #cccccc } /* Generic.Output */ -body:not([data-theme="light"]) .highlight .gp { color: #aaaaaa } /* Generic.Prompt */ -body:not([data-theme="light"]) .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */ -body:not([data-theme="light"]) .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */ -body:not([data-theme="light"]) .highlight .gt { color: #d22323 } /* Generic.Traceback */ -body:not([data-theme="light"]) .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */ -body:not([data-theme="light"]) .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */ -body:not([data-theme="light"]) .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */ -body:not([data-theme="light"]) .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */ -body:not([data-theme="light"]) .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */ -body:not([data-theme="light"]) .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */ -body:not([data-theme="light"]) .highlight .ld { color: #d0d0d0 } /* Literal.Date */ -body:not([data-theme="light"]) .highlight .m { color: #51b2fd } /* Literal.Number */ -body:not([data-theme="light"]) .highlight .s { color: #ed9d13 } /* Literal.String */ -body:not([data-theme="light"]) .highlight .na { color: #bbbbbb } /* Name.Attribute */ -body:not([data-theme="light"]) .highlight .nb { color: #2fbccd } /* Name.Builtin */ -body:not([data-theme="light"]) .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */ -body:not([data-theme="light"]) .highlight .no { color: #40ffff } /* Name.Constant */ -body:not([data-theme="light"]) .highlight .nd { color: #ffa500 } /* Name.Decorator */ -body:not([data-theme="light"]) .highlight .ni { color: #d0d0d0 } /* Name.Entity */ -body:not([data-theme="light"]) .highlight .ne { color: #bbbbbb } /* Name.Exception */ -body:not([data-theme="light"]) .highlight .nf { color: #71adff } /* Name.Function */ -body:not([data-theme="light"]) .highlight .nl { color: #d0d0d0 } /* Name.Label */ -body:not([data-theme="light"]) .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */ -body:not([data-theme="light"]) .highlight .nx { color: #d0d0d0 } /* Name.Other */ -body:not([data-theme="light"]) .highlight .py { color: #d0d0d0 } /* Name.Property */ -body:not([data-theme="light"]) .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */ -body:not([data-theme="light"]) .highlight .nv { color: #40ffff } /* Name.Variable */ -body:not([data-theme="light"]) .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */ -body:not([data-theme="light"]) .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */ -body:not([data-theme="light"]) .highlight .w { color: #666666 } /* Text.Whitespace */ -body:not([data-theme="light"]) .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */ -body:not([data-theme="light"]) .highlight .mf { color: #51b2fd } /* Literal.Number.Float */ -body:not([data-theme="light"]) .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */ -body:not([data-theme="light"]) .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */ -body:not([data-theme="light"]) .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */ -body:not([data-theme="light"]) .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */ -body:not([data-theme="light"]) .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */ -body:not([data-theme="light"]) .highlight .sc { color: #ed9d13 } /* Literal.String.Char */ -body:not([data-theme="light"]) .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */ -body:not([data-theme="light"]) .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */ -body:not([data-theme="light"]) .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */ -body:not([data-theme="light"]) .highlight .se { color: #ed9d13 } /* Literal.String.Escape */ -body:not([data-theme="light"]) .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */ -body:not([data-theme="light"]) .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */ -body:not([data-theme="light"]) .highlight .sx { color: #ffa500 } /* Literal.String.Other */ -body:not([data-theme="light"]) .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */ -body:not([data-theme="light"]) .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */ -body:not([data-theme="light"]) .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */ -body:not([data-theme="light"]) .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */ -body:not([data-theme="light"]) .highlight .fm { color: #71adff } /* Name.Function.Magic */ -body:not([data-theme="light"]) .highlight .vc { color: #40ffff } /* Name.Variable.Class */ -body:not([data-theme="light"]) .highlight .vg { color: #40ffff } /* Name.Variable.Global */ -body:not([data-theme="light"]) .highlight .vi { color: #40ffff } /* Name.Variable.Instance */ -body:not([data-theme="light"]) .highlight .vm { color: #40ffff } /* Name.Variable.Magic */ -body:not([data-theme="light"]) .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */ -} -} \ No newline at end of file diff --git a/docs/_static/scripts/furo-extensions.js b/docs/_static/scripts/furo-extensions.js deleted file mode 100644 index e69de29..0000000 diff --git a/docs/_static/scripts/furo.js b/docs/_static/scripts/furo.js deleted file mode 100644 index cbf6487..0000000 --- a/docs/_static/scripts/furo.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see furo.js.LICENSE.txt */ -(()=>{var t={212:function(t,e,n){var o,r;r=void 0!==n.g?n.g:"undefined"!=typeof window?window:this,o=function(){return function(t){"use strict";var e={navClass:"active",contentClass:"active",nested:!1,nestedClass:"active",offset:0,reflow:!1,events:!0},n=function(t,e,n){if(n.settings.events){var o=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:n});e.dispatchEvent(o)}},o=function(t){var e=0;if(t.offsetParent)for(;t;)e+=t.offsetTop,t=t.offsetParent;return e>=0?e:0},r=function(t){t&&t.sort((function(t,e){return o(t.content)=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},l=function(t,e){var n=t[t.length-1];if(function(t,e){return!(!s()||!c(t.content,e,!0))}(n,e))return n;for(var o=t.length-1;o>=0;o--)if(c(t[o].content,e))return t[o]},a=function(t,e){if(e.nested&&t.parentNode){var n=t.parentNode.closest("li");n&&(n.classList.remove(e.nestedClass),a(n,e))}},i=function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.remove(e.navClass),t.content.classList.remove(e.contentClass),a(o,e),n("gumshoeDeactivate",o,{link:t.nav,content:t.content,settings:e}))}},u=function(t,e){if(e.nested){var n=t.parentNode.closest("li");n&&(n.classList.add(e.nestedClass),u(n,e))}};return function(o,c){var s,a,d,f,m,v={setup:function(){s=document.querySelectorAll(o),a=[],Array.prototype.forEach.call(s,(function(t){var e=document.getElementById(decodeURIComponent(t.hash.substr(1)));e&&a.push({nav:t,content:e})})),r(a)},detect:function(){var t=l(a,m);t?d&&t.content===d.content||(i(d,m),function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.add(e.navClass),t.content.classList.add(e.contentClass),u(o,e),n("gumshoeActivate",o,{link:t.nav,content:t.content,settings:e}))}}(t,m),d=t):d&&(i(d,m),d=null)}},h=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame(v.detect)},g=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame((function(){r(a),v.detect()}))};return v.destroy=function(){d&&i(d,m),t.removeEventListener("scroll",h,!1),m.reflow&&t.removeEventListener("resize",g,!1),a=null,s=null,d=null,f=null,m=null},m=function(){var t={};return Array.prototype.forEach.call(arguments,(function(e){for(var n in e){if(!e.hasOwnProperty(n))return;t[n]=e[n]}})),t}(e,c||{}),v.setup(),v.detect(),t.addEventListener("scroll",h,!1),m.reflow&&t.addEventListener("resize",g,!1),v}}(r)}.apply(e,[]),void 0===o||(t.exports=o)}},e={};function n(o){var r=e[o];if(void 0!==r)return r.exports;var c=e[o]={exports:{}};return t[o].call(c.exports,c,c.exports,n),c.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=n(212),e=n.n(t),o=null,r=null,c=window.pageYOffset||document.documentElement.scrollTop;function s(){const t=localStorage.getItem("theme")||"auto";var e;"light"!==(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"auto"===t?"light":"light"==t?"dark":"auto":"auto"===t?"dark":"dark"==t?"light":"auto")&&"dark"!==e&&"auto"!==e&&(console.error(`Got invalid theme mode: ${e}. Resetting to auto.`),e="auto"),document.body.dataset.theme=e,localStorage.setItem("theme",e),console.log(`Changed to ${e} mode.`)}function l(){!function(){const t=document.getElementsByClassName("theme-toggle");Array.from(t).forEach((t=>{t.addEventListener("click",s)}))}(),function(){let t=0,e=!1;window.addEventListener("scroll",(function(n){t=window.scrollY,e||(window.requestAnimationFrame((function(){var n;n=t,0==Math.floor(r.getBoundingClientRect().top)?r.classList.add("scrolled"):r.classList.remove("scrolled"),function(t){t<64?document.documentElement.classList.remove("show-back-to-top"):tc&&document.documentElement.classList.remove("show-back-to-top"),c=t}(n),function(t){null!==o&&(0==t?o.scrollTo(0,0):Math.ceil(t)>=Math.floor(document.documentElement.scrollHeight-window.innerHeight)?o.scrollTo(0,o.scrollHeight):document.querySelector(".scroll-current"))}(n),e=!1})),e=!0)})),window.scroll()}(),null!==o&&new(e())(".toc-tree a",{reflow:!0,recursive:!0,navClass:"scroll-current",offset:()=>{let t=parseFloat(getComputedStyle(document.documentElement).fontSize);return r.getBoundingClientRect().height+.5*t+1}})}document.addEventListener("DOMContentLoaded",(function(){document.body.parentNode.classList.remove("no-js"),r=document.querySelector("header"),o=document.querySelector(".toc-scroll"),l()}))})()})(); -//# sourceMappingURL=furo.js.map \ No newline at end of file diff --git a/docs/_static/scripts/furo.js.LICENSE.txt b/docs/_static/scripts/furo.js.LICENSE.txt deleted file mode 100644 index 1632189..0000000 --- a/docs/_static/scripts/furo.js.LICENSE.txt +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * gumshoejs v5.1.2 (patched by @pradyunsg) - * A simple, framework-agnostic scrollspy script. - * (c) 2019 Chris Ferdinandi - * MIT License - * http://github.com/cferdinandi/gumshoe - */ diff --git a/docs/_static/scripts/furo.js.map b/docs/_static/scripts/furo.js.map deleted file mode 100644 index 7ed2be8..0000000 --- a/docs/_static/scripts/furo.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"scripts/furo.js","mappings":"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","sources":["webpack:///./src/furo/assets/scripts/gumshoe-patched.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///./src/furo/assets/scripts/furo.js"],"sourcesContent":["/*!\n * gumshoejs v5.1.2 (patched by @pradyunsg)\n * A simple, framework-agnostic scrollspy script.\n * (c) 2019 Chris Ferdinandi\n * MIT License\n * http://github.com/cferdinandi/gumshoe\n */\n\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof exports === \"object\") {\n module.exports = factory(root);\n } else {\n root.Gumshoe = factory(root);\n }\n})(\n typeof global !== \"undefined\"\n ? global\n : typeof window !== \"undefined\"\n ? window\n : this,\n function (window) {\n \"use strict\";\n\n //\n // Defaults\n //\n\n var defaults = {\n // Active classes\n navClass: \"active\",\n contentClass: \"active\",\n\n // Nested navigation\n nested: false,\n nestedClass: \"active\",\n\n // Offset & reflow\n offset: 0,\n reflow: false,\n\n // Event support\n events: true,\n };\n\n //\n // Methods\n //\n\n /**\n * Merge two or more objects together.\n * @param {Object} objects The objects to merge together\n * @returns {Object} Merged values of defaults and options\n */\n var extend = function () {\n var merged = {};\n Array.prototype.forEach.call(arguments, function (obj) {\n for (var key in obj) {\n if (!obj.hasOwnProperty(key)) return;\n merged[key] = obj[key];\n }\n });\n return merged;\n };\n\n /**\n * Emit a custom event\n * @param {String} type The event type\n * @param {Node} elem The element to attach the event to\n * @param {Object} detail Any details to pass along with the event\n */\n var emitEvent = function (type, elem, detail) {\n // Make sure events are enabled\n if (!detail.settings.events) return;\n\n // Create a new event\n var event = new CustomEvent(type, {\n bubbles: true,\n cancelable: true,\n detail: detail,\n });\n\n // Dispatch the event\n elem.dispatchEvent(event);\n };\n\n /**\n * Get an element's distance from the top of the Document.\n * @param {Node} elem The element\n * @return {Number} Distance from the top in pixels\n */\n var getOffsetTop = function (elem) {\n var location = 0;\n if (elem.offsetParent) {\n while (elem) {\n location += elem.offsetTop;\n elem = elem.offsetParent;\n }\n }\n return location >= 0 ? location : 0;\n };\n\n /**\n * Sort content from first to last in the DOM\n * @param {Array} contents The content areas\n */\n var sortContents = function (contents) {\n if (contents) {\n contents.sort(function (item1, item2) {\n var offset1 = getOffsetTop(item1.content);\n var offset2 = getOffsetTop(item2.content);\n if (offset1 < offset2) return -1;\n return 1;\n });\n }\n };\n\n /**\n * Get the offset to use for calculating position\n * @param {Object} settings The settings for this instantiation\n * @return {Float} The number of pixels to offset the calculations\n */\n var getOffset = function (settings) {\n // if the offset is a function run it\n if (typeof settings.offset === \"function\") {\n return parseFloat(settings.offset());\n }\n\n // Otherwise, return it as-is\n return parseFloat(settings.offset);\n };\n\n /**\n * Get the document element's height\n * @private\n * @returns {Number}\n */\n var getDocumentHeight = function () {\n return Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.offsetHeight,\n document.body.clientHeight,\n document.documentElement.clientHeight,\n );\n };\n\n /**\n * Determine if an element is in view\n * @param {Node} elem The element\n * @param {Object} settings The settings for this instantiation\n * @param {Boolean} bottom If true, check if element is above bottom of viewport instead\n * @return {Boolean} Returns true if element is in the viewport\n */\n var isInView = function (elem, settings, bottom) {\n var bounds = elem.getBoundingClientRect();\n var offset = getOffset(settings);\n if (bottom) {\n return (\n parseInt(bounds.bottom, 10) <\n (window.innerHeight || document.documentElement.clientHeight)\n );\n }\n return parseInt(bounds.top, 10) <= offset;\n };\n\n /**\n * Check if at the bottom of the viewport\n * @return {Boolean} If true, page is at the bottom of the viewport\n */\n var isAtBottom = function () {\n if (\n Math.ceil(window.innerHeight + window.pageYOffset) >=\n getDocumentHeight()\n )\n return true;\n return false;\n };\n\n /**\n * Check if the last item should be used (even if not at the top of the page)\n * @param {Object} item The last item\n * @param {Object} settings The settings for this instantiation\n * @return {Boolean} If true, use the last item\n */\n var useLastItem = function (item, settings) {\n if (isAtBottom() && isInView(item.content, settings, true)) return true;\n return false;\n };\n\n /**\n * Get the active content\n * @param {Array} contents The content areas\n * @param {Object} settings The settings for this instantiation\n * @return {Object} The content area and matching navigation link\n */\n var getActive = function (contents, settings) {\n var last = contents[contents.length - 1];\n if (useLastItem(last, settings)) return last;\n for (var i = contents.length - 1; i >= 0; i--) {\n if (isInView(contents[i].content, settings)) return contents[i];\n }\n };\n\n /**\n * Deactivate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var deactivateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested || !nav.parentNode) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Remove the active class\n li.classList.remove(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n deactivateNested(li, settings);\n };\n\n /**\n * Deactivate a nav and content area\n * @param {Object} items The nav item and content to deactivate\n * @param {Object} settings The settings for this instantiation\n */\n var deactivate = function (items, settings) {\n // Make sure there are items to deactivate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Remove the active class from the nav and content\n li.classList.remove(settings.navClass);\n items.content.classList.remove(settings.contentClass);\n\n // Deactivate any parent navs in a nested navigation\n deactivateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeDeactivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Activate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var activateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Add the active class\n li.classList.add(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n activateNested(li, settings);\n };\n\n /**\n * Activate a nav and content area\n * @param {Object} items The nav item and content to activate\n * @param {Object} settings The settings for this instantiation\n */\n var activate = function (items, settings) {\n // Make sure there are items to activate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Add the active class to the nav and content\n li.classList.add(settings.navClass);\n items.content.classList.add(settings.contentClass);\n\n // Activate any parent navs in a nested navigation\n activateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeActivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Create the Constructor object\n * @param {String} selector The selector to use for navigation items\n * @param {Object} options User options and settings\n */\n var Constructor = function (selector, options) {\n //\n // Variables\n //\n\n var publicAPIs = {};\n var navItems, contents, current, timeout, settings;\n\n //\n // Methods\n //\n\n /**\n * Set variables from DOM elements\n */\n publicAPIs.setup = function () {\n // Get all nav items\n navItems = document.querySelectorAll(selector);\n\n // Create contents array\n contents = [];\n\n // Loop through each item, get it's matching content, and push to the array\n Array.prototype.forEach.call(navItems, function (item) {\n // Get the content for the nav item\n var content = document.getElementById(\n decodeURIComponent(item.hash.substr(1)),\n );\n if (!content) return;\n\n // Push to the contents array\n contents.push({\n nav: item,\n content: content,\n });\n });\n\n // Sort contents by the order they appear in the DOM\n sortContents(contents);\n };\n\n /**\n * Detect which content is currently active\n */\n publicAPIs.detect = function () {\n // Get the active content\n var active = getActive(contents, settings);\n\n // if there's no active content, deactivate and bail\n if (!active) {\n if (current) {\n deactivate(current, settings);\n current = null;\n }\n return;\n }\n\n // If the active content is the one currently active, do nothing\n if (current && active.content === current.content) return;\n\n // Deactivate the current content and activate the new content\n deactivate(current, settings);\n activate(active, settings);\n\n // Update the currently active content\n current = active;\n };\n\n /**\n * Detect the active content on scroll\n * Debounced for performance\n */\n var scrollHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(publicAPIs.detect);\n };\n\n /**\n * Update content sorting on resize\n * Debounced for performance\n */\n var resizeHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(function () {\n sortContents(contents);\n publicAPIs.detect();\n });\n };\n\n /**\n * Destroy the current instantiation\n */\n publicAPIs.destroy = function () {\n // Undo DOM changes\n if (current) {\n deactivate(current, settings);\n }\n\n // Remove event listeners\n window.removeEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.removeEventListener(\"resize\", resizeHandler, false);\n }\n\n // Reset variables\n contents = null;\n navItems = null;\n current = null;\n timeout = null;\n settings = null;\n };\n\n /**\n * Initialize the current instantiation\n */\n var init = function () {\n // Merge user options into defaults\n settings = extend(defaults, options || {});\n\n // Setup variables based on the current DOM\n publicAPIs.setup();\n\n // Find the currently active content\n publicAPIs.detect();\n\n // Setup event listeners\n window.addEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.addEventListener(\"resize\", resizeHandler, false);\n }\n };\n\n //\n // Initialize and return the public APIs\n //\n\n init();\n return publicAPIs;\n };\n\n //\n // Return the Constructor\n //\n\n return Constructor;\n },\n);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import Gumshoe from \"./gumshoe-patched.js\";\n\n////////////////////////////////////////////////////////////////////////////////\n// Scroll Handling\n////////////////////////////////////////////////////////////////////////////////\nvar tocScroll = null;\nvar header = null;\nvar lastScrollTop = window.pageYOffset || document.documentElement.scrollTop;\nconst GO_TO_TOP_OFFSET = 64;\n\nfunction scrollHandlerForHeader() {\n if (Math.floor(header.getBoundingClientRect().top) == 0) {\n header.classList.add(\"scrolled\");\n } else {\n header.classList.remove(\"scrolled\");\n }\n}\n\nfunction scrollHandlerForBackToTop(positionY) {\n if (positionY < GO_TO_TOP_OFFSET) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n } else {\n if (positionY < lastScrollTop) {\n document.documentElement.classList.add(\"show-back-to-top\");\n } else if (positionY > lastScrollTop) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n }\n }\n lastScrollTop = positionY;\n}\n\nfunction scrollHandlerForTOC(positionY) {\n if (tocScroll === null) {\n return;\n }\n\n // top of page.\n if (positionY == 0) {\n tocScroll.scrollTo(0, 0);\n } else if (\n // bottom of page.\n Math.ceil(positionY) >=\n Math.floor(document.documentElement.scrollHeight - window.innerHeight)\n ) {\n tocScroll.scrollTo(0, tocScroll.scrollHeight);\n } else {\n // somewhere in the middle.\n const current = document.querySelector(\".scroll-current\");\n if (current == null) {\n return;\n }\n\n // https://github.com/pypa/pip/issues/9159 This breaks scroll behaviours.\n // // scroll the currently \"active\" heading in toc, into view.\n // const rect = current.getBoundingClientRect();\n // if (0 > rect.top) {\n // current.scrollIntoView(true); // the argument is \"alignTop\"\n // } else if (rect.bottom > window.innerHeight) {\n // current.scrollIntoView(false);\n // }\n }\n}\n\nfunction scrollHandler(positionY) {\n scrollHandlerForHeader();\n scrollHandlerForBackToTop(positionY);\n scrollHandlerForTOC(positionY);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Theme Toggle\n////////////////////////////////////////////////////////////////////////////////\nfunction setTheme(mode) {\n if (mode !== \"light\" && mode !== \"dark\" && mode !== \"auto\") {\n console.error(`Got invalid theme mode: ${mode}. Resetting to auto.`);\n mode = \"auto\";\n }\n\n document.body.dataset.theme = mode;\n localStorage.setItem(\"theme\", mode);\n console.log(`Changed to ${mode} mode.`);\n}\n\nfunction cycleThemeOnce() {\n const currentTheme = localStorage.getItem(\"theme\") || \"auto\";\n const prefersDark = window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n\n if (prefersDark) {\n // Auto (dark) -> Light -> Dark\n if (currentTheme === \"auto\") {\n setTheme(\"light\");\n } else if (currentTheme == \"light\") {\n setTheme(\"dark\");\n } else {\n setTheme(\"auto\");\n }\n } else {\n // Auto (light) -> Dark -> Light\n if (currentTheme === \"auto\") {\n setTheme(\"dark\");\n } else if (currentTheme == \"dark\") {\n setTheme(\"light\");\n } else {\n setTheme(\"auto\");\n }\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Setup\n////////////////////////////////////////////////////////////////////////////////\nfunction setupScrollHandler() {\n // Taken from https://developer.mozilla.org/en-US/docs/Web/API/Document/scroll_event\n let last_known_scroll_position = 0;\n let ticking = false;\n\n window.addEventListener(\"scroll\", function (e) {\n last_known_scroll_position = window.scrollY;\n\n if (!ticking) {\n window.requestAnimationFrame(function () {\n scrollHandler(last_known_scroll_position);\n ticking = false;\n });\n\n ticking = true;\n }\n });\n window.scroll();\n}\n\nfunction setupScrollSpy() {\n if (tocScroll === null) {\n return;\n }\n\n // Scrollspy -- highlight table on contents, based on scroll\n new Gumshoe(\".toc-tree a\", {\n reflow: true,\n recursive: true,\n navClass: \"scroll-current\",\n offset: () => {\n let rem = parseFloat(getComputedStyle(document.documentElement).fontSize);\n return header.getBoundingClientRect().height + 0.5 * rem + 1;\n },\n });\n}\n\nfunction setupTheme() {\n // Attach event handlers for toggling themes\n const buttons = document.getElementsByClassName(\"theme-toggle\");\n Array.from(buttons).forEach((btn) => {\n btn.addEventListener(\"click\", cycleThemeOnce);\n });\n}\n\nfunction setup() {\n setupTheme();\n setupScrollHandler();\n setupScrollSpy();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Main entrypoint\n////////////////////////////////////////////////////////////////////////////////\nfunction main() {\n document.body.parentNode.classList.remove(\"no-js\");\n\n header = document.querySelector(\"header\");\n tocScroll = document.querySelector(\".toc-scroll\");\n\n setup();\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", main);\n"],"names":["root","g","window","this","defaults","navClass","contentClass","nested","nestedClass","offset","reflow","events","emitEvent","type","elem","detail","settings","event","CustomEvent","bubbles","cancelable","dispatchEvent","getOffsetTop","location","offsetParent","offsetTop","sortContents","contents","sort","item1","item2","content","isInView","bottom","bounds","getBoundingClientRect","parseFloat","getOffset","parseInt","innerHeight","document","documentElement","clientHeight","top","isAtBottom","Math","ceil","pageYOffset","max","body","scrollHeight","offsetHeight","getActive","last","length","item","useLastItem","i","deactivateNested","nav","parentNode","li","closest","classList","remove","deactivate","items","link","activateNested","add","selector","options","navItems","current","timeout","publicAPIs","querySelectorAll","Array","prototype","forEach","call","getElementById","decodeURIComponent","hash","substr","push","active","activate","scrollHandler","cancelAnimationFrame","requestAnimationFrame","detect","resizeHandler","destroy","removeEventListener","merged","arguments","obj","key","hasOwnProperty","extend","setup","addEventListener","factory","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","n","getter","__esModule","d","a","definition","o","Object","defineProperty","enumerable","get","globalThis","Function","e","prop","tocScroll","header","lastScrollTop","scrollTop","cycleThemeOnce","currentTheme","localStorage","getItem","mode","matchMedia","matches","console","error","dataset","theme","setItem","log","buttons","getElementsByClassName","from","btn","setupTheme","last_known_scroll_position","ticking","scrollY","positionY","floor","scrollHandlerForBackToTop","scrollTo","querySelector","scrollHandlerForTOC","scroll","setupScrollHandler","recursive","rem","getComputedStyle","fontSize","height"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/_static/searchtools.js b/docs/_static/searchtools.js deleted file mode 100644 index 97d56a7..0000000 --- a/docs/_static/searchtools.js +++ /dev/null @@ -1,566 +0,0 @@ -/* - * searchtools.js - * ~~~~~~~~~~~~~~~~ - * - * Sphinx JavaScript utilities for the full-text search. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ -"use strict"; - -/** - * Simple result scoring code. - */ -if (typeof Scorer === "undefined") { - var Scorer = { - // Implement the following function to further tweak the score for each result - // The function takes a result array [docname, title, anchor, descr, score, filename] - // and returns the new score. - /* - score: result => { - const [docname, title, anchor, descr, score, filename] = result - return score - }, - */ - - // query matches the full name of an object - objNameMatch: 11, - // or matches in the last dotted part of the object name - objPartialMatch: 6, - // Additive scores depending on the priority of the object - objPrio: { - 0: 15, // used to be importantResults - 1: 5, // used to be objectResults - 2: -5, // used to be unimportantResults - }, - // Used when the priority is not in the mapping. - objPrioDefault: 0, - - // query found in title - title: 15, - partialTitle: 7, - // query found in terms - term: 5, - partialTerm: 2, - }; -} - -const _removeChildren = (element) => { - while (element && element.lastChild) element.removeChild(element.lastChild); -}; - -/** - * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping - */ -const _escapeRegExp = (string) => - string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string - -const _displayItem = (item, searchTerms) => { - const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; - const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; - const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; - const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; - const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; - - const [docName, title, anchor, descr, score, _filename] = item; - - let listItem = document.createElement("li"); - let requestUrl; - let linkUrl; - if (docBuilder === "dirhtml") { - // dirhtml builder - let dirname = docName + "/"; - if (dirname.match(/\/index\/$/)) - dirname = dirname.substring(0, dirname.length - 6); - else if (dirname === "index/") dirname = ""; - requestUrl = docUrlRoot + dirname; - linkUrl = requestUrl; - } else { - // normal html builders - requestUrl = docUrlRoot + docName + docFileSuffix; - linkUrl = docName + docLinkSuffix; - } - let linkEl = listItem.appendChild(document.createElement("a")); - linkEl.href = linkUrl + anchor; - linkEl.dataset.score = score; - linkEl.innerHTML = title; - if (descr) - listItem.appendChild(document.createElement("span")).innerHTML = - " (" + descr + ")"; - else if (showSearchSummary) - fetch(requestUrl) - .then((responseData) => responseData.text()) - .then((data) => { - if (data) - listItem.appendChild( - Search.makeSearchSummary(data, searchTerms) - ); - }); - Search.output.appendChild(listItem); -}; -const _finishSearch = (resultCount) => { - Search.stopPulse(); - Search.title.innerText = _("Search Results"); - if (!resultCount) - Search.status.innerText = Documentation.gettext( - "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." - ); - else - Search.status.innerText = _( - `Search finished, found ${resultCount} page(s) matching the search query.` - ); -}; -const _displayNextItem = ( - results, - resultCount, - searchTerms -) => { - // results left, load the summary and display it - // this is intended to be dynamic (don't sub resultsCount) - if (results.length) { - _displayItem(results.pop(), searchTerms); - setTimeout( - () => _displayNextItem(results, resultCount, searchTerms), - 5 - ); - } - // search finished, update title and status message - else _finishSearch(resultCount); -}; - -/** - * Default splitQuery function. Can be overridden in ``sphinx.search`` with a - * custom function per language. - * - * The regular expression works by splitting the string on consecutive characters - * that are not Unicode letters, numbers, underscores, or emoji characters. - * This is the same as ``\W+`` in Python, preserving the surrogate pair area. - */ -if (typeof splitQuery === "undefined") { - var splitQuery = (query) => query - .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) - .filter(term => term) // remove remaining empty strings -} - -/** - * Search Module - */ -const Search = { - _index: null, - _queued_query: null, - _pulse_status: -1, - - htmlToText: (htmlString) => { - const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); - htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); - const docContent = htmlElement.querySelector('[role="main"]'); - if (docContent !== undefined) return docContent.textContent; - console.warn( - "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." - ); - return ""; - }, - - init: () => { - const query = new URLSearchParams(window.location.search).get("q"); - document - .querySelectorAll('input[name="q"]') - .forEach((el) => (el.value = query)); - if (query) Search.performSearch(query); - }, - - loadIndex: (url) => - (document.body.appendChild(document.createElement("script")).src = url), - - setIndex: (index) => { - Search._index = index; - if (Search._queued_query !== null) { - const query = Search._queued_query; - Search._queued_query = null; - Search.query(query); - } - }, - - hasIndex: () => Search._index !== null, - - deferQuery: (query) => (Search._queued_query = query), - - stopPulse: () => (Search._pulse_status = -1), - - startPulse: () => { - if (Search._pulse_status >= 0) return; - - const pulse = () => { - Search._pulse_status = (Search._pulse_status + 1) % 4; - Search.dots.innerText = ".".repeat(Search._pulse_status); - if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); - }; - pulse(); - }, - - /** - * perform a search for something (or wait until index is loaded) - */ - performSearch: (query) => { - // create the required interface elements - const searchText = document.createElement("h2"); - searchText.textContent = _("Searching"); - const searchSummary = document.createElement("p"); - searchSummary.classList.add("search-summary"); - searchSummary.innerText = ""; - const searchList = document.createElement("ul"); - searchList.classList.add("search"); - - const out = document.getElementById("search-results"); - Search.title = out.appendChild(searchText); - Search.dots = Search.title.appendChild(document.createElement("span")); - Search.status = out.appendChild(searchSummary); - Search.output = out.appendChild(searchList); - - const searchProgress = document.getElementById("search-progress"); - // Some themes don't use the search progress node - if (searchProgress) { - searchProgress.innerText = _("Preparing search..."); - } - Search.startPulse(); - - // index already loaded, the browser was quick! - if (Search.hasIndex()) Search.query(query); - else Search.deferQuery(query); - }, - - /** - * execute search (requires search index to be loaded) - */ - query: (query) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - const allTitles = Search._index.alltitles; - const indexEntries = Search._index.indexentries; - - // stem the search terms and add them to the correct list - const stemmer = new Stemmer(); - const searchTerms = new Set(); - const excludedTerms = new Set(); - const highlightTerms = new Set(); - const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); - splitQuery(query.trim()).forEach((queryTerm) => { - const queryTermLower = queryTerm.toLowerCase(); - - // maybe skip this "word" - // stopwords array is from language_data.js - if ( - stopwords.indexOf(queryTermLower) !== -1 || - queryTerm.match(/^\d+$/) - ) - return; - - // stem the word - let word = stemmer.stemWord(queryTermLower); - // select the correct list - if (word[0] === "-") excludedTerms.add(word.substr(1)); - else { - searchTerms.add(word); - highlightTerms.add(queryTermLower); - } - }); - - if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js - localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) - } - - // console.debug("SEARCH: searching for:"); - // console.info("required: ", [...searchTerms]); - // console.info("excluded: ", [...excludedTerms]); - - // array of [docname, title, anchor, descr, score, filename] - let results = []; - _removeChildren(document.getElementById("search-progress")); - - const queryLower = query.toLowerCase(); - for (const [title, foundTitles] of Object.entries(allTitles)) { - if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { - for (const [file, id] of foundTitles) { - let score = Math.round(100 * queryLower.length / title.length) - results.push([ - docNames[file], - titles[file] !== title ? `${titles[file]} > ${title}` : title, - id !== null ? "#" + id : "", - null, - score, - filenames[file], - ]); - } - } - } - - // search for explicit entries in index directives - for (const [entry, foundEntries] of Object.entries(indexEntries)) { - if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { - for (const [file, id] of foundEntries) { - let score = Math.round(100 * queryLower.length / entry.length) - results.push([ - docNames[file], - titles[file], - id ? "#" + id : "", - null, - score, - filenames[file], - ]); - } - } - } - - // lookup as object - objectTerms.forEach((term) => - results.push(...Search.performObjectSearch(term, objectTerms)) - ); - - // lookup as search terms in fulltext - results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); - - // let the scorer override scores with a custom scoring function - if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); - - // now sort the results by score (in opposite order of appearance, since the - // display function below uses pop() to retrieve items) and then - // alphabetically - results.sort((a, b) => { - const leftScore = a[4]; - const rightScore = b[4]; - if (leftScore === rightScore) { - // same score: sort alphabetically - const leftTitle = a[1].toLowerCase(); - const rightTitle = b[1].toLowerCase(); - if (leftTitle === rightTitle) return 0; - return leftTitle > rightTitle ? -1 : 1; // inverted is intentional - } - return leftScore > rightScore ? 1 : -1; - }); - - // remove duplicate search results - // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept - let seen = new Set(); - results = results.reverse().reduce((acc, result) => { - let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); - if (!seen.has(resultStr)) { - acc.push(result); - seen.add(resultStr); - } - return acc; - }, []); - - results = results.reverse(); - - // for debugging - //Search.lastresults = results.slice(); // a copy - // console.info("search results:", Search.lastresults); - - // print the results - _displayNextItem(results, results.length, searchTerms); - }, - - /** - * search for object names - */ - performObjectSearch: (object, objectTerms) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const objects = Search._index.objects; - const objNames = Search._index.objnames; - const titles = Search._index.titles; - - const results = []; - - const objectSearchCallback = (prefix, match) => { - const name = match[4] - const fullname = (prefix ? prefix + "." : "") + name; - const fullnameLower = fullname.toLowerCase(); - if (fullnameLower.indexOf(object) < 0) return; - - let score = 0; - const parts = fullnameLower.split("."); - - // check for different match types: exact matches of full name or - // "last name" (i.e. last dotted part) - if (fullnameLower === object || parts.slice(-1)[0] === object) - score += Scorer.objNameMatch; - else if (parts.slice(-1)[0].indexOf(object) > -1) - score += Scorer.objPartialMatch; // matches in last name - - const objName = objNames[match[1]][2]; - const title = titles[match[0]]; - - // If more than one term searched for, we require other words to be - // found in the name/title/description - const otherTerms = new Set(objectTerms); - otherTerms.delete(object); - if (otherTerms.size > 0) { - const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); - if ( - [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) - ) - return; - } - - let anchor = match[3]; - if (anchor === "") anchor = fullname; - else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; - - const descr = objName + _(", in ") + title; - - // add custom score for some objects according to scorer - if (Scorer.objPrio.hasOwnProperty(match[2])) - score += Scorer.objPrio[match[2]]; - else score += Scorer.objPrioDefault; - - results.push([ - docNames[match[0]], - fullname, - "#" + anchor, - descr, - score, - filenames[match[0]], - ]); - }; - Object.keys(objects).forEach((prefix) => - objects[prefix].forEach((array) => - objectSearchCallback(prefix, array) - ) - ); - return results; - }, - - /** - * search for full-text terms in the index - */ - performTermsSearch: (searchTerms, excludedTerms) => { - // prepare search - const terms = Search._index.terms; - const titleTerms = Search._index.titleterms; - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - - const scoreMap = new Map(); - const fileMap = new Map(); - - // perform the search on the required terms - searchTerms.forEach((word) => { - const files = []; - const arr = [ - { files: terms[word], score: Scorer.term }, - { files: titleTerms[word], score: Scorer.title }, - ]; - // add support for partial matches - if (word.length > 2) { - const escapedWord = _escapeRegExp(word); - Object.keys(terms).forEach((term) => { - if (term.match(escapedWord) && !terms[word]) - arr.push({ files: terms[term], score: Scorer.partialTerm }); - }); - Object.keys(titleTerms).forEach((term) => { - if (term.match(escapedWord) && !titleTerms[word]) - arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); - }); - } - - // no match but word was a required one - if (arr.every((record) => record.files === undefined)) return; - - // found search word in contents - arr.forEach((record) => { - if (record.files === undefined) return; - - let recordFiles = record.files; - if (recordFiles.length === undefined) recordFiles = [recordFiles]; - files.push(...recordFiles); - - // set score for the word in each file - recordFiles.forEach((file) => { - if (!scoreMap.has(file)) scoreMap.set(file, {}); - scoreMap.get(file)[word] = record.score; - }); - }); - - // create the mapping - files.forEach((file) => { - if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) - fileMap.get(file).push(word); - else fileMap.set(file, [word]); - }); - }); - - // now check if the files don't contain excluded terms - const results = []; - for (const [file, wordList] of fileMap) { - // check if all requirements are matched - - // as search terms with length < 3 are discarded - const filteredTermCount = [...searchTerms].filter( - (term) => term.length > 2 - ).length; - if ( - wordList.length !== searchTerms.size && - wordList.length !== filteredTermCount - ) - continue; - - // ensure that none of the excluded terms is in the search result - if ( - [...excludedTerms].some( - (term) => - terms[term] === file || - titleTerms[term] === file || - (terms[term] || []).includes(file) || - (titleTerms[term] || []).includes(file) - ) - ) - break; - - // select one (max) score for the file. - const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); - // add result to the result list - results.push([ - docNames[file], - titles[file], - "", - null, - score, - filenames[file], - ]); - } - return results; - }, - - /** - * helper function to return a node containing the - * search summary for a given text. keywords is a list - * of stemmed words. - */ - makeSearchSummary: (htmlText, keywords) => { - const text = Search.htmlToText(htmlText); - if (text === "") return null; - - const textLower = text.toLowerCase(); - const actualStartPosition = [...keywords] - .map((k) => textLower.indexOf(k.toLowerCase())) - .filter((i) => i > -1) - .slice(-1)[0]; - const startWithContext = Math.max(actualStartPosition - 120, 0); - - const top = startWithContext === 0 ? "" : "..."; - const tail = startWithContext + 240 < text.length ? "..." : ""; - - let summary = document.createElement("p"); - summary.classList.add("context"); - summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; - - return summary; - }, -}; - -_ready(Search.init); diff --git a/docs/_static/skeleton.css b/docs/_static/skeleton.css deleted file mode 100644 index 467c878..0000000 --- a/docs/_static/skeleton.css +++ /dev/null @@ -1,296 +0,0 @@ -/* Some sane resets. */ -html { - height: 100%; -} - -body { - margin: 0; - min-height: 100%; -} - -/* All the flexbox magic! */ -body, -.sb-announcement, -.sb-content, -.sb-main, -.sb-container, -.sb-container__inner, -.sb-article-container, -.sb-footer-content, -.sb-header, -.sb-header-secondary, -.sb-footer { - display: flex; -} - -/* These order things vertically */ -body, -.sb-main, -.sb-article-container { - flex-direction: column; -} - -/* Put elements in the center */ -.sb-header, -.sb-header-secondary, -.sb-container, -.sb-content, -.sb-footer, -.sb-footer-content { - justify-content: center; -} -/* Put elements at the ends */ -.sb-article-container { - justify-content: space-between; -} - -/* These elements grow. */ -.sb-main, -.sb-content, -.sb-container, -article { - flex-grow: 1; -} - -/* Because padding making this wider is not fun */ -article { - box-sizing: border-box; -} - -/* The announcements element should never be wider than the page. */ -.sb-announcement { - max-width: 100%; -} - -.sb-sidebar-primary, -.sb-sidebar-secondary { - flex-shrink: 0; - width: 17rem; -} - -.sb-announcement__inner { - justify-content: center; - - box-sizing: border-box; - height: 3rem; - - overflow-x: auto; - white-space: nowrap; -} - -/* Sidebars, with checkbox-based toggle */ -.sb-sidebar-primary, -.sb-sidebar-secondary { - position: fixed; - height: 100%; - top: 0; -} - -.sb-sidebar-primary { - left: -17rem; - transition: left 250ms ease-in-out; -} -.sb-sidebar-secondary { - right: -17rem; - transition: right 250ms ease-in-out; -} - -.sb-sidebar-toggle { - display: none; -} -.sb-sidebar-overlay { - position: fixed; - top: 0; - width: 0; - height: 0; - - transition: width 0ms ease 250ms, height 0ms ease 250ms, opacity 250ms ease; - - opacity: 0; - background-color: rgba(0, 0, 0, 0.54); -} - -#sb-sidebar-toggle--primary:checked - ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--primary"], -#sb-sidebar-toggle--secondary:checked - ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--secondary"] { - width: 100%; - height: 100%; - opacity: 1; - transition: width 0ms ease, height 0ms ease, opacity 250ms ease; -} - -#sb-sidebar-toggle--primary:checked ~ .sb-container .sb-sidebar-primary { - left: 0; -} -#sb-sidebar-toggle--secondary:checked ~ .sb-container .sb-sidebar-secondary { - right: 0; -} - -/* Full-width mode */ -.drop-secondary-sidebar-for-full-width-content - .hide-when-secondary-sidebar-shown { - display: none !important; -} -.drop-secondary-sidebar-for-full-width-content .sb-sidebar-secondary { - display: none !important; -} - -/* Mobile views */ -.sb-page-width { - width: 100%; -} - -.sb-article-container, -.sb-footer-content__inner, -.drop-secondary-sidebar-for-full-width-content .sb-article, -.drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 100vw; -} - -.sb-article, -.match-content-width { - padding: 0 1rem; - box-sizing: border-box; -} - -@media (min-width: 32rem) { - .sb-article, - .match-content-width { - padding: 0 2rem; - } -} - -/* Tablet views */ -@media (min-width: 42rem) { - .sb-article-container { - width: auto; - } - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 42rem; - } - .sb-article, - .match-content-width { - width: 42rem; - } -} -@media (min-width: 46rem) { - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 46rem; - } - .sb-article, - .match-content-width { - width: 46rem; - } -} -@media (min-width: 50rem) { - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 50rem; - } - .sb-article, - .match-content-width { - width: 50rem; - } -} - -/* Tablet views */ -@media (min-width: 59rem) { - .sb-sidebar-secondary { - position: static; - } - .hide-when-secondary-sidebar-shown { - display: none !important; - } - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 59rem; - } - .sb-article, - .match-content-width { - width: 42rem; - } -} -@media (min-width: 63rem) { - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 63rem; - } - .sb-article, - .match-content-width { - width: 46rem; - } -} -@media (min-width: 67rem) { - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 67rem; - } - .sb-article, - .match-content-width { - width: 50rem; - } -} - -/* Desktop views */ -@media (min-width: 76rem) { - .sb-sidebar-primary { - position: static; - } - .hide-when-primary-sidebar-shown { - display: none !important; - } - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 59rem; - } - .sb-article, - .match-content-width { - width: 42rem; - } -} - -/* Full desktop views */ -@media (min-width: 80rem) { - .sb-article, - .match-content-width { - width: 46rem; - } - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 63rem; - } -} - -@media (min-width: 84rem) { - .sb-article, - .match-content-width { - width: 50rem; - } - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 67rem; - } -} - -@media (min-width: 88rem) { - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 67rem; - } - .sb-page-width { - width: 88rem; - } -} diff --git a/docs/_static/sphinx_highlight.js b/docs/_static/sphinx_highlight.js deleted file mode 100644 index aae669d..0000000 --- a/docs/_static/sphinx_highlight.js +++ /dev/null @@ -1,144 +0,0 @@ -/* Highlighting utilities for Sphinx HTML documentation. */ -"use strict"; - -const SPHINX_HIGHLIGHT_ENABLED = true - -/** - * highlight a given string on a node by wrapping it in - * span elements with the given class name. - */ -const _highlight = (node, addItems, text, className) => { - if (node.nodeType === Node.TEXT_NODE) { - const val = node.nodeValue; - const parent = node.parentNode; - const pos = val.toLowerCase().indexOf(text); - if ( - pos >= 0 && - !parent.classList.contains(className) && - !parent.classList.contains("nohighlight") - ) { - let span; - - const closestNode = parent.closest("body, svg, foreignObject"); - const isInSVG = closestNode && closestNode.matches("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.classList.add(className); - } - - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - parent.insertBefore( - span, - parent.insertBefore( - document.createTextNode(val.substr(pos + text.length)), - node.nextSibling - ) - ); - node.nodeValue = val.substr(0, pos); - - if (isInSVG) { - const rect = document.createElementNS( - "http://www.w3.org/2000/svg", - "rect" - ); - const bbox = parent.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute("class", className); - addItems.push({ parent: parent, target: rect }); - } - } - } else if (node.matches && !node.matches("button, select, textarea")) { - node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); - } -}; -const _highlightText = (thisNode, text, className) => { - let addItems = []; - _highlight(thisNode, addItems, text, className); - addItems.forEach((obj) => - obj.parent.insertAdjacentElement("beforebegin", obj.target) - ); -}; - -/** - * Small JavaScript module for the documentation. - */ -const SphinxHighlight = { - - /** - * highlight the search words provided in localstorage in the text - */ - highlightSearchWords: () => { - if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight - - // get and clear terms from localstorage - const url = new URL(window.location); - const highlight = - localStorage.getItem("sphinx_highlight_terms") - || url.searchParams.get("highlight") - || ""; - localStorage.removeItem("sphinx_highlight_terms") - url.searchParams.delete("highlight"); - window.history.replaceState({}, "", url); - - // get individual terms from highlight string - const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); - if (terms.length === 0) return; // nothing to do - - // There should never be more than one element matching "div.body" - const divBody = document.querySelectorAll("div.body"); - const body = divBody.length ? divBody[0] : document.querySelector("body"); - window.setTimeout(() => { - terms.forEach((term) => _highlightText(body, term, "highlighted")); - }, 10); - - const searchBox = document.getElementById("searchbox"); - if (searchBox === null) return; - searchBox.appendChild( - document - .createRange() - .createContextualFragment( - '

" - ) - ); - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords: () => { - document - .querySelectorAll("#searchbox .highlight-link") - .forEach((el) => el.remove()); - document - .querySelectorAll("span.highlighted") - .forEach((el) => el.classList.remove("highlighted")); - localStorage.removeItem("sphinx_highlight_terms") - }, - - initEscapeListener: () => { - // only install a listener if it is really needed - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; - if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { - SphinxHighlight.hideSearchWords(); - event.preventDefault(); - } - }); - }, -}; - -_ready(SphinxHighlight.highlightSearchWords); -_ready(SphinxHighlight.initEscapeListener); diff --git a/docs/_static/styles/furo-extensions.css b/docs/_static/styles/furo-extensions.css deleted file mode 100644 index bc447f2..0000000 --- a/docs/_static/styles/furo-extensions.css +++ /dev/null @@ -1,2 +0,0 @@ -#furo-sidebar-ad-placement{padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)}#furo-sidebar-ad-placement .ethical-sidebar{background:var(--color-background-secondary);border:none;box-shadow:none}#furo-sidebar-ad-placement .ethical-sidebar:hover{background:var(--color-background-hover)}#furo-sidebar-ad-placement .ethical-sidebar a{color:var(--color-foreground-primary)}#furo-sidebar-ad-placement .ethical-callout a{color:var(--color-foreground-secondary)!important}#furo-readthedocs-versions{background:transparent;display:block;position:static;width:100%}#furo-readthedocs-versions .rst-versions{background:#1a1c1e}#furo-readthedocs-versions .rst-current-version{background:var(--color-sidebar-item-background);cursor:unset}#furo-readthedocs-versions .rst-current-version:hover{background:var(--color-sidebar-item-background)}#furo-readthedocs-versions .rst-current-version .fa-book{color:var(--color-foreground-primary)}#furo-readthedocs-versions>.rst-other-versions{padding:0}#furo-readthedocs-versions>.rst-other-versions small{opacity:1}#furo-readthedocs-versions .injected .rst-versions{position:unset}#furo-readthedocs-versions:focus-within,#furo-readthedocs-versions:hover{box-shadow:0 0 0 1px var(--color-sidebar-background-border)}#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:hover .rst-current-version{background:#1a1c1e;font-size:inherit;height:auto;line-height:inherit;padding:12px;text-align:right}#furo-readthedocs-versions:focus-within .rst-current-version .fa-book,#furo-readthedocs-versions:hover .rst-current-version .fa-book{color:#fff;float:left}#furo-readthedocs-versions:focus-within .fa-caret-down,#furo-readthedocs-versions:hover .fa-caret-down{display:none}#furo-readthedocs-versions:focus-within .injected,#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:focus-within .rst-other-versions,#furo-readthedocs-versions:hover .injected,#furo-readthedocs-versions:hover .rst-current-version,#furo-readthedocs-versions:hover .rst-other-versions{display:block}#furo-readthedocs-versions:focus-within>.rst-current-version,#furo-readthedocs-versions:hover>.rst-current-version{display:none}.highlight:hover button.copybtn{color:var(--color-code-foreground)}.highlight button.copybtn{align-items:center;background-color:var(--color-code-background);border:none;color:var(--color-background-item);cursor:pointer;height:1.25em;opacity:1;right:.5rem;top:.625rem;transition:color .3s,opacity .3s;width:1.25em}.highlight button.copybtn:hover{background-color:var(--color-code-background);color:var(--color-brand-content)}.highlight button.copybtn:after{background-color:transparent;color:var(--color-code-foreground);display:none}.highlight button.copybtn.success{color:#22863a;transition:color 0ms}.highlight button.copybtn.success:after{display:block}.highlight button.copybtn svg{padding:0}body{--sd-color-primary:var(--color-brand-primary);--sd-color-primary-highlight:var(--color-brand-content);--sd-color-primary-text:var(--color-background-primary);--sd-color-shadow:rgba(0,0,0,.05);--sd-color-card-border:var(--color-card-border);--sd-color-card-border-hover:var(--color-brand-content);--sd-color-card-background:var(--color-card-background);--sd-color-card-text:var(--color-foreground-primary);--sd-color-card-header:var(--color-card-marginals-background);--sd-color-card-footer:var(--color-card-marginals-background);--sd-color-tabs-label-active:var(--color-brand-content);--sd-color-tabs-label-hover:var(--color-foreground-muted);--sd-color-tabs-label-inactive:var(--color-foreground-muted);--sd-color-tabs-underline-active:var(--color-brand-content);--sd-color-tabs-underline-hover:var(--color-foreground-border);--sd-color-tabs-underline-inactive:var(--color-background-border);--sd-color-tabs-overline:var(--color-background-border);--sd-color-tabs-underline:var(--color-background-border)}.sd-tab-content{box-shadow:0 -2px var(--sd-color-tabs-overline),0 1px var(--sd-color-tabs-underline)}.sd-card{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)}.sd-shadow-sm{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-md{box-shadow:0 .3rem .75rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-lg{box-shadow:0 .6rem 1.5rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-card-hover:hover{transform:none}.sd-cards-carousel{gap:.25rem;padding:.25rem}body{--tabs--label-text:var(--color-foreground-muted);--tabs--label-text--hover:var(--color-foreground-muted);--tabs--label-text--active:var(--color-brand-content);--tabs--label-text--active--hover:var(--color-brand-content);--tabs--label-background:transparent;--tabs--label-background--hover:transparent;--tabs--label-background--active:transparent;--tabs--label-background--active--hover:transparent;--tabs--padding-x:0.25em;--tabs--margin-x:1em;--tabs--border:var(--color-background-border);--tabs--label-border:transparent;--tabs--label-border--hover:var(--color-foreground-muted);--tabs--label-border--active:var(--color-brand-content);--tabs--label-border--active--hover:var(--color-brand-content)}[role=main] .container{max-width:none;padding-left:0;padding-right:0}.shadow.docutils{border:none;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)!important}.sphinx-bs .card{background-color:var(--color-background-secondary);color:var(--color-foreground)} -/*# sourceMappingURL=furo-extensions.css.map*/ \ No newline at end of file diff --git a/docs/_static/styles/furo-extensions.css.map b/docs/_static/styles/furo-extensions.css.map deleted file mode 100644 index 9ba5637..0000000 --- a/docs/_static/styles/furo-extensions.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"styles/furo-extensions.css","mappings":"AAGA,2BACE,oFACA,4CAKE,6CAHA,YACA,eAEA,CACA,kDACE,yCAEF,8CACE,sCAEJ,8CACE,kDAEJ,2BAGE,uBACA,cAHA,gBACA,UAEA,CAGA,yCACE,mBAEF,gDAEE,gDADA,YACA,CACA,sDACE,gDACF,yDACE,sCAEJ,+CACE,UACA,qDACE,UAGF,mDACE,eAEJ,yEAEE,4DAEA,mHASE,mBAPA,kBAEA,YADA,oBAGA,aADA,gBAIA,CAEA,qIAEE,WADA,UACA,CAEJ,uGACE,aAEF,iUAGE,cAEF,mHACE,aC1EJ,gCACE,mCAEF,0BAKE,mBAUA,8CACA,YAFA,mCAKA,eAZA,cALA,UASA,YADA,YAYA,iCAdA,YAcA,CAEA,gCAEE,8CADA,gCACA,CAEF,gCAGE,6BADA,mCADA,YAEA,CAEF,kCAEE,cADA,oBACA,CACA,wCACE,cAEJ,8BACE,UC5CN,KAEE,6CAA8C,CAC9C,uDAAwD,CACxD,uDAAwD,CAGxD,iCAAsC,CAGtC,+CAAgD,CAChD,uDAAwD,CACxD,uDAAwD,CACxD,oDAAqD,CACrD,6DAA8D,CAC9D,6DAA8D,CAG9D,uDAAwD,CACxD,yDAA0D,CAC1D,4DAA6D,CAC7D,2DAA4D,CAC5D,8DAA+D,CAC/D,iEAAkE,CAClE,uDAAwD,CACxD,wDAAyD,CAG3D,gBACE,qFAGF,SACE,6EAEF,cACE,uFAEF,cACE,uFAEF,cACE,uFAGF,qBACE,eAEF,mBACE,WACA,eChDF,KACE,gDAAiD,CACjD,uDAAwD,CACxD,qDAAsD,CACtD,4DAA6D,CAC7D,oCAAqC,CACrC,2CAA4C,CAC5C,4CAA6C,CAC7C,mDAAoD,CACpD,wBAAyB,CACzB,oBAAqB,CACrB,6CAA8C,CAC9C,gCAAiC,CACjC,yDAA0D,CAC1D,uDAAwD,CACxD,8DAA+D,CCbjE,uBACE,eACA,eACA,gBAGF,iBACE,YACA,+EAGF,iBACE,mDACA","sources":["webpack:///./src/furo/assets/styles/extensions/_readthedocs.sass","webpack:///./src/furo/assets/styles/extensions/_copybutton.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-design.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-inline-tabs.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-panels.sass"],"sourcesContent":["// This file contains the styles used for tweaking how ReadTheDoc's embedded\n// contents would show up inside the theme.\n\n#furo-sidebar-ad-placement\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n .ethical-sidebar\n // Remove the border and box-shadow.\n border: none\n box-shadow: none\n // Manage the background colors.\n background: var(--color-background-secondary)\n &:hover\n background: var(--color-background-hover)\n // Ensure the text is legible.\n a\n color: var(--color-foreground-primary)\n\n .ethical-callout a\n color: var(--color-foreground-secondary) !important\n\n#furo-readthedocs-versions\n position: static\n width: 100%\n background: transparent\n display: block\n\n // Make the background color fit with the theme's aesthetic.\n .rst-versions\n background: rgb(26, 28, 30)\n\n .rst-current-version\n cursor: unset\n background: var(--color-sidebar-item-background)\n &:hover\n background: var(--color-sidebar-item-background)\n .fa-book\n color: var(--color-foreground-primary)\n\n > .rst-other-versions\n padding: 0\n small\n opacity: 1\n\n .injected\n .rst-versions\n position: unset\n\n &:hover,\n &:focus-within\n box-shadow: 0 0 0 1px var(--color-sidebar-background-border)\n\n .rst-current-version\n // Undo the tweaks done in RTD's CSS\n font-size: inherit\n line-height: inherit\n height: auto\n text-align: right\n padding: 12px\n\n // Match the rest of the body\n background: #1a1c1e\n\n .fa-book\n float: left\n color: white\n\n .fa-caret-down\n display: none\n\n .rst-current-version,\n .rst-other-versions,\n .injected\n display: block\n\n > .rst-current-version\n display: none\n",".highlight\n &:hover button.copybtn\n color: var(--color-code-foreground)\n\n button.copybtn\n // Make it visible\n opacity: 1\n\n // Align things correctly\n align-items: center\n\n height: 1.25em\n width: 1.25em\n\n top: 0.625rem // $code-spacing-vertical\n right: 0.5rem\n\n // Make it look better\n color: var(--color-background-item)\n background-color: var(--color-code-background)\n border: none\n\n // Change to cursor to make it obvious that you can click on it\n cursor: pointer\n\n // Transition smoothly, for aesthetics\n transition: color 300ms, opacity 300ms\n\n &:hover\n color: var(--color-brand-content)\n background-color: var(--color-code-background)\n\n &::after\n display: none\n color: var(--color-code-foreground)\n background-color: transparent\n\n &.success\n transition: color 0ms\n color: #22863a\n &::after\n display: block\n\n svg\n padding: 0\n","body\n // Colors\n --sd-color-primary: var(--color-brand-primary)\n --sd-color-primary-highlight: var(--color-brand-content)\n --sd-color-primary-text: var(--color-background-primary)\n\n // Shadows\n --sd-color-shadow: rgba(0, 0, 0, 0.05)\n\n // Cards\n --sd-color-card-border: var(--color-card-border)\n --sd-color-card-border-hover: var(--color-brand-content)\n --sd-color-card-background: var(--color-card-background)\n --sd-color-card-text: var(--color-foreground-primary)\n --sd-color-card-header: var(--color-card-marginals-background)\n --sd-color-card-footer: var(--color-card-marginals-background)\n\n // Tabs\n --sd-color-tabs-label-active: var(--color-brand-content)\n --sd-color-tabs-label-hover: var(--color-foreground-muted)\n --sd-color-tabs-label-inactive: var(--color-foreground-muted)\n --sd-color-tabs-underline-active: var(--color-brand-content)\n --sd-color-tabs-underline-hover: var(--color-foreground-border)\n --sd-color-tabs-underline-inactive: var(--color-background-border)\n --sd-color-tabs-overline: var(--color-background-border)\n --sd-color-tabs-underline: var(--color-background-border)\n\n// Tabs\n.sd-tab-content\n box-shadow: 0 -2px var(--sd-color-tabs-overline), 0 1px var(--sd-color-tabs-underline)\n\n// Shadows\n.sd-card // Have a shadow by default\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n.sd-shadow-sm\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-md\n box-shadow: 0 0.3rem 0.75rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-lg\n box-shadow: 0 0.6rem 1.5rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Cards\n.sd-card-hover:hover // Don't change scale on hover\n transform: none\n\n.sd-cards-carousel // Have a bit of gap in the carousel by default\n gap: 0.25rem\n padding: 0.25rem\n","// This file contains styles to tweak sphinx-inline-tabs to work well with Furo.\n\nbody\n --tabs--label-text: var(--color-foreground-muted)\n --tabs--label-text--hover: var(--color-foreground-muted)\n --tabs--label-text--active: var(--color-brand-content)\n --tabs--label-text--active--hover: var(--color-brand-content)\n --tabs--label-background: transparent\n --tabs--label-background--hover: transparent\n --tabs--label-background--active: transparent\n --tabs--label-background--active--hover: transparent\n --tabs--padding-x: 0.25em\n --tabs--margin-x: 1em\n --tabs--border: var(--color-background-border)\n --tabs--label-border: transparent\n --tabs--label-border--hover: var(--color-foreground-muted)\n --tabs--label-border--active: var(--color-brand-content)\n --tabs--label-border--active--hover: var(--color-brand-content)\n","// This file contains styles to tweak sphinx-panels to work well with Furo.\n\n// sphinx-panels includes Bootstrap 4, which uses .container which can conflict\n// with docutils' `.. container::` directive.\n[role=\"main\"] .container\n max-width: initial\n padding-left: initial\n padding-right: initial\n\n// Make the panels look nicer!\n.shadow.docutils\n border: none\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Make panel colors respond to dark mode\n.sphinx-bs .card\n background-color: var(--color-background-secondary)\n color: var(--color-foreground)\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/docs/_static/styles/furo.css b/docs/_static/styles/furo.css deleted file mode 100644 index b30989d..0000000 --- a/docs/_static/styles/furo.css +++ /dev/null @@ -1,2 +0,0 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@media print{.content-icon-container,.headerlink,.mobile-header,.related-pages{display:none!important}.highlight{border:.1pt solid var(--color-foreground-border)}a,blockquote,dl,ol,pre,table,ul{page-break-inside:avoid}caption,figure,h1,h2,h3,h4,h5,h6,img{page-break-after:avoid;page-break-inside:avoid}dl,ol,ul{page-break-before:avoid}}.visually-hidden{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}:-moz-focusring{outline:auto}body{--font-stack:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;--font-stack--monospace:"SFMono-Regular",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-size--normal:100%;--font-size--small:87.5%;--font-size--small--2:81.25%;--font-size--small--3:75%;--font-size--small--4:62.5%;--sidebar-caption-font-size:var(--font-size--small--2);--sidebar-item-font-size:var(--font-size--small);--sidebar-search-input-font-size:var(--font-size--small);--toc-font-size:var(--font-size--small--3);--toc-font-size--mobile:var(--font-size--normal);--toc-title-font-size:var(--font-size--small--4);--admonition-font-size:0.8125rem;--admonition-title-font-size:0.8125rem;--code-font-size:var(--font-size--small--2);--api-font-size:var(--font-size--small);--header-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*4);--header-padding:0.5rem;--sidebar-tree-space-above:1.5rem;--sidebar-caption-space-above:1rem;--sidebar-item-line-height:1rem;--sidebar-item-spacing-vertical:0.5rem;--sidebar-item-spacing-horizontal:1rem;--sidebar-item-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*2);--sidebar-expander-width:var(--sidebar-item-height);--sidebar-search-space-above:0.5rem;--sidebar-search-input-spacing-vertical:0.5rem;--sidebar-search-input-spacing-horizontal:0.5rem;--sidebar-search-input-height:1rem;--sidebar-search-icon-size:var(--sidebar-search-input-height);--toc-title-padding:0.25rem 0;--toc-spacing-vertical:1.5rem;--toc-spacing-horizontal:1.5rem;--toc-item-spacing-vertical:0.4rem;--toc-item-spacing-horizontal:1rem;--icon-search:url('data:image/svg+xml;charset=utf-8,');--icon-pencil:url('data:image/svg+xml;charset=utf-8,');--icon-abstract:url('data:image/svg+xml;charset=utf-8,');--icon-info:url('data:image/svg+xml;charset=utf-8,');--icon-flame:url('data:image/svg+xml;charset=utf-8,');--icon-question:url('data:image/svg+xml;charset=utf-8,');--icon-warning:url('data:image/svg+xml;charset=utf-8,');--icon-failure:url('data:image/svg+xml;charset=utf-8,');--icon-spark:url('data:image/svg+xml;charset=utf-8,');--color-admonition-title--caution:#ff9100;--color-admonition-title-background--caution:rgba(255,145,0,.2);--color-admonition-title--warning:#ff9100;--color-admonition-title-background--warning:rgba(255,145,0,.2);--color-admonition-title--danger:#ff5252;--color-admonition-title-background--danger:rgba(255,82,82,.2);--color-admonition-title--attention:#ff5252;--color-admonition-title-background--attention:rgba(255,82,82,.2);--color-admonition-title--error:#ff5252;--color-admonition-title-background--error:rgba(255,82,82,.2);--color-admonition-title--hint:#00c852;--color-admonition-title-background--hint:rgba(0,200,82,.2);--color-admonition-title--tip:#00c852;--color-admonition-title-background--tip:rgba(0,200,82,.2);--color-admonition-title--important:#00bfa5;--color-admonition-title-background--important:rgba(0,191,165,.2);--color-admonition-title--note:#00b0ff;--color-admonition-title-background--note:rgba(0,176,255,.2);--color-admonition-title--seealso:#448aff;--color-admonition-title-background--seealso:rgba(68,138,255,.2);--color-admonition-title--admonition-todo:grey;--color-admonition-title-background--admonition-todo:hsla(0,0%,50%,.2);--color-admonition-title:#651fff;--color-admonition-title-background:rgba(101,31,255,.2);--icon-admonition-default:var(--icon-abstract);--color-topic-title:#14b8a6;--color-topic-title-background:rgba(20,184,166,.2);--icon-topic-default:var(--icon-pencil);--color-problematic:#b30000;--color-foreground-primary:#000;--color-foreground-secondary:#5a5c63;--color-foreground-muted:#646776;--color-foreground-border:#878787;--color-background-primary:#fff;--color-background-secondary:#f8f9fb;--color-background-hover:#efeff4;--color-background-hover--transparent:#efeff400;--color-background-border:#eeebee;--color-background-item:#ccc;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2962ff;--color-brand-content:#2a5adf;--color-api-background:var(--color-background-hover--transparent);--color-api-background-hover:var(--color-background-hover);--color-api-overall:var(--color-foreground-secondary);--color-api-name:var(--color-problematic);--color-api-pre-name:var(--color-problematic);--color-api-paren:var(--color-foreground-secondary);--color-api-keyword:var(--color-foreground-primary);--color-highlight-on-target:#ffc;--color-inline-code-background:var(--color-background-secondary);--color-highlighted-background:#def;--color-highlighted-text:var(--color-foreground-primary);--color-guilabel-background:#ddeeff80;--color-guilabel-border:#bedaf580;--color-guilabel-text:var(--color-foreground-primary);--color-admonition-background:transparent;--color-table-header-background:var(--color-background-secondary);--color-table-border:var(--color-background-border);--color-card-border:var(--color-background-secondary);--color-card-background:transparent;--color-card-marginals-background:var(--color-background-secondary);--color-header-background:var(--color-background-primary);--color-header-border:var(--color-background-border);--color-header-text:var(--color-foreground-primary);--color-sidebar-background:var(--color-background-secondary);--color-sidebar-background-border:var(--color-background-border);--color-sidebar-brand-text:var(--color-foreground-primary);--color-sidebar-caption-text:var(--color-foreground-muted);--color-sidebar-link-text:var(--color-foreground-secondary);--color-sidebar-link-text--top-level:var(--color-brand-primary);--color-sidebar-item-background:var(--color-sidebar-background);--color-sidebar-item-background--current:var( --color-sidebar-item-background );--color-sidebar-item-background--hover:linear-gradient(90deg,var(--color-background-hover--transparent) 0%,var(--color-background-hover) var(--sidebar-item-spacing-horizontal),var(--color-background-hover) 100%);--color-sidebar-item-expander-background:transparent;--color-sidebar-item-expander-background--hover:var( --color-background-hover );--color-sidebar-search-text:var(--color-foreground-primary);--color-sidebar-search-background:var(--color-background-secondary);--color-sidebar-search-background--focus:var(--color-background-primary);--color-sidebar-search-border:var(--color-background-border);--color-sidebar-search-icon:var(--color-foreground-muted);--color-toc-background:var(--color-background-primary);--color-toc-title-text:var(--color-foreground-muted);--color-toc-item-text:var(--color-foreground-secondary);--color-toc-item-text--hover:var(--color-foreground-primary);--color-toc-item-text--active:var(--color-brand-primary);--color-content-foreground:var(--color-foreground-primary);--color-content-background:transparent;--color-link:var(--color-brand-content);--color-link--hover:var(--color-brand-content);--color-link-underline:var(--color-background-border);--color-link-underline--hover:var(--color-foreground-border)}.only-light{display:block!important}html body .only-dark{display:none!important}@media not print{body[data-theme=dark]{--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body[data-theme=dark] .only-light{display:none!important}body[data-theme=dark] .only-dark{display:block!important}@media(prefers-color-scheme:dark){body:not([data-theme=light]){--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body:not([data-theme=light]) .only-light{display:none!important}body:not([data-theme=light]) .only-dark{display:block!important}}}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto,body[data-theme=dark] .theme-toggle svg.theme-icon-when-dark,body[data-theme=light] .theme-toggle svg.theme-icon-when-light{display:block}body{font-family:var(--font-stack)}code,kbd,pre,samp{font-family:var(--font-stack--monospace)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article{line-height:1.5}h1,h2,h3,h4,h5,h6{border-radius:.5rem;font-weight:700;line-height:1.25;margin:.5rem -.5rem;padding-left:.5rem;padding-right:.5rem}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}h1{font-size:2.5em;margin-bottom:1rem}h1,h2{margin-top:1.75rem}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1.125em}h6{font-size:1em}small{font-size:80%;opacity:75%}p{margin-bottom:.75rem;margin-top:.5rem}hr.docutils{background-color:var(--color-background-border);border:0;height:1px;margin:2rem 0;padding:0}.centered{text-align:center}a{color:var(--color-link);text-decoration:underline;-webkit-text-decoration-color:var(--color-link-underline);text-decoration-color:var(--color-link-underline)}a:hover{color:var(--color-link--hover);-webkit-text-decoration-color:var(--color-link-underline--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link{color:inherit}a.muted-link:hover{color:var(--color-link);-webkit-text-decoration-color:var(--color-link-underline--hover);text-decoration-color:var(--color-link-underline--hover)}html{overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth}.sidebar-scroll,.toc-scroll,article[role=main] *{scrollbar-color:var(--color-foreground-border) transparent;scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar,.toc-scroll::-webkit-scrollbar,article[role=main] ::-webkit-scrollbar{height:.25rem;width:.25rem}.sidebar-scroll::-webkit-scrollbar-thumb,.toc-scroll::-webkit-scrollbar-thumb,article[role=main] ::-webkit-scrollbar-thumb{background-color:var(--color-foreground-border);border-radius:.125rem}body,html{background:var(--color-background-primary);color:var(--color-foreground-primary);height:100%}article{background:var(--color-content-background);color:var(--color-content-foreground)}.page{display:flex;min-height:100%}.mobile-header{background-color:var(--color-header-background);border-bottom:1px solid var(--color-header-border);color:var(--color-header-text);display:none;height:var(--header-height);width:100%;z-index:10}.mobile-header.scrolled{border-bottom:none;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.mobile-header .header-center a{color:var(--color-header-text);text-decoration:none}.main{display:flex;flex:1}.sidebar-drawer{background:var(--color-sidebar-background);border-right:1px solid var(--color-sidebar-background-border);box-sizing:border-box;display:flex;justify-content:flex-end;min-width:15em;width:calc(50% - 26em)}.sidebar-container,.toc-drawer{box-sizing:border-box;width:15em}.toc-drawer{background:var(--color-toc-background);padding-right:1rem}.sidebar-sticky,.toc-sticky{display:flex;flex-direction:column;height:min(100%,100vh);height:100vh;position:-webkit-sticky;position:sticky;top:0}.sidebar-scroll,.toc-scroll{flex-grow:1;flex-shrink:1;overflow:auto;scroll-behavior:smooth}.content{display:flex;flex-direction:column;justify-content:space-between;padding:0 3em;width:46em}.icon{display:inline-block;height:1rem;width:1rem}.icon svg{height:100%;width:100%}.announcement{align-items:center;background-color:var(--color-announcement-background);color:var(--color-announcement-text);display:flex;height:var(--header-height);overflow-x:auto}.announcement+.page{min-height:calc(100% - var(--header-height))}.announcement-content{box-sizing:border-box;min-width:100%;padding:.5rem;text-align:center;white-space:nowrap}.announcement-content a{color:var(--color-announcement-text);-webkit-text-decoration-color:var(--color-announcement-text);text-decoration-color:var(--color-announcement-text)}.announcement-content a:hover{color:var(--color-announcement-text);-webkit-text-decoration-color:var(--color-link--hover);text-decoration-color:var(--color-link--hover)}.no-js .theme-toggle-container{display:none}.theme-toggle-container{vertical-align:middle}.theme-toggle{background:transparent;border:none;cursor:pointer;padding:0}.theme-toggle svg{color:var(--color-foreground-primary);display:none;height:1rem;vertical-align:middle;width:1rem}.theme-toggle-header{float:left;padding:1rem .5rem}.nav-overlay-icon,.toc-overlay-icon{cursor:pointer;display:none}.nav-overlay-icon .icon,.toc-overlay-icon .icon{color:var(--color-foreground-secondary);height:1rem;width:1rem}.nav-overlay-icon,.toc-header-icon{align-items:center;justify-content:center}.toc-content-icon{height:1.5rem;width:1.5rem}.content-icon-container{display:flex;float:right;gap:.5rem;margin-bottom:1rem;margin-left:1rem;margin-top:1.5rem}.content-icon-container .edit-this-page svg{color:inherit;height:1rem;width:1rem}.sidebar-toggle{display:none;position:absolute}.sidebar-toggle[name=__toc]{left:20px}.sidebar-toggle:checked{left:40px}.overlay{background-color:rgba(0,0,0,.54);height:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0}.sidebar-overlay{z-index:20}.toc-overlay{z-index:40}.sidebar-drawer{transition:left .25s ease-in-out;z-index:30}.toc-drawer{transition:right .25s ease-in-out;z-index:50}#__navigation:checked~.sidebar-overlay{height:100%;opacity:1;width:100%}#__navigation:checked~.page .sidebar-drawer{left:0;top:0}#__toc:checked~.toc-overlay{height:100%;opacity:1;width:100%}#__toc:checked~.page .toc-drawer{right:0;top:0}.back-to-top{background:var(--color-background-primary);border-radius:1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 1px 0 hsla(220,9%,46%,.502);display:none;font-size:.8125rem;left:0;margin-left:50%;padding:.5rem .75rem .5rem .5rem;position:fixed;text-decoration:none;top:1rem;transform:translateX(-50%);z-index:10}.back-to-top svg{fill:currentColor;display:inline-block;height:1rem;width:1rem}.back-to-top span{margin-left:.25rem}.show-back-to-top .back-to-top{align-items:center;display:flex}@media(min-width:97em){html{font-size:110%}}@media(max-width:82em){.toc-content-icon{display:flex}.toc-drawer{border-left:1px solid var(--color-background-muted);height:100vh;position:fixed;right:-15em;top:0}.toc-tree{border-left:none;font-size:var(--toc-font-size--mobile)}.sidebar-drawer{width:calc(50% - 18.5em)}}@media(max-width:67em){.nav-overlay-icon{display:flex}.sidebar-drawer{height:100vh;left:-15em;position:fixed;top:0;width:15em}.toc-header-icon{display:flex}.theme-toggle-content,.toc-content-icon{display:none}.theme-toggle-header{display:block}.mobile-header{align-items:center;display:flex;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0}.mobile-header .header-left,.mobile-header .header-right{display:flex;height:var(--header-height);padding:0 var(--header-padding)}.mobile-header .header-left label,.mobile-header .header-right label{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.nav-overlay-icon .icon,.theme-toggle svg{height:1.25rem;width:1.25rem}:target{scroll-margin-top:var(--header-height)}.back-to-top{top:calc(var(--header-height) + .5rem)}.page{flex-direction:column;justify-content:center}.content{margin-left:auto;margin-right:auto}}@media(max-width:52em){.content{overflow-x:auto;width:100%}}@media(max-width:46em){.content{padding:0 1em}article aside.sidebar{float:none;margin:1rem 0;width:100%}}.admonition,.topic{background:var(--color-admonition-background);border-radius:.2rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);font-size:var(--admonition-font-size);margin:1rem auto;overflow:hidden;padding:0 .5rem .5rem;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:0}.admonition>:last-child,.topic>:last-child{margin-bottom:0}p.admonition-title,p.topic-title{font-size:var(--admonition-title-font-size);font-weight:500;line-height:1.3;margin:0 -.5rem .5rem;padding:.4rem .5rem .4rem 2rem;position:relative}p.admonition-title:before,p.topic-title:before{content:"";height:1rem;left:.5rem;position:absolute;width:1rem}p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title:before{background-color:var(--color-admonition-title);-webkit-mask-image:var(--icon-admonition-default);mask-image:var(--icon-admonition-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title:before{background-color:var(--color-topic-title);-webkit-mask-image:var(--icon-topic-default);mask-image:var(--icon-topic-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.admonition{border-left:.2rem solid var(--color-admonition-title)}.admonition.caution{border-left-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.caution>.admonition-title:before{background-color:var(--color-admonition-title--caution);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.warning{border-left-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.warning>.admonition-title:before{background-color:var(--color-admonition-title--warning);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.danger{border-left-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.danger>.admonition-title:before{background-color:var(--color-admonition-title--danger);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.attention{border-left-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.attention>.admonition-title:before{background-color:var(--color-admonition-title--attention);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.error{border-left-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.error>.admonition-title:before{background-color:var(--color-admonition-title--error);-webkit-mask-image:var(--icon-failure);mask-image:var(--icon-failure)}.admonition.hint{border-left-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.hint>.admonition-title:before{background-color:var(--color-admonition-title--hint);-webkit-mask-image:var(--icon-question);mask-image:var(--icon-question)}.admonition.tip{border-left-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.tip>.admonition-title:before{background-color:var(--color-admonition-title--tip);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.important{border-left-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.important>.admonition-title:before{background-color:var(--color-admonition-title--important);-webkit-mask-image:var(--icon-flame);mask-image:var(--icon-flame)}.admonition.note{border-left-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.note>.admonition-title:before{background-color:var(--color-admonition-title--note);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition.seealso{border-left-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.seealso>.admonition-title:before{background-color:var(--color-admonition-title--seealso);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.admonition-todo{border-left-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}.admonition.admonition-todo>.admonition-title:before{background-color:var(--color-admonition-title--admonition-todo);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition-todo>.admonition-title{text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd{margin-left:2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:first-child{margin-top:.125rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list,dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:last-child{margin-bottom:.75rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list>dt{font-size:var(--font-size--small);text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd:empty{margin-bottom:.5rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul{margin-left:-1.2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p:nth-child(2){margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p+p:last-child:empty{margin-bottom:0;margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{color:var(--color-api-overall)}.sig:not(.sig-inline){background:var(--color-api-background);border-radius:.25rem;font-family:var(--font-stack--monospace);font-size:var(--api-font-size);font-weight:700;margin-left:-.25rem;margin-right:-.25rem;padding:.25rem .5rem .25rem 3em;text-indent:-2.5em;transition:background .1s ease-out}.sig:not(.sig-inline):hover{background:var(--color-api-background-hover)}.sig:not(.sig-inline) a.reference .viewcode-link{font-weight:400;width:3.5rem}.sig:not(.sig-inline) span.pre{overflow-wrap:anywhere}em.property{font-style:normal}em.property:first-child{color:var(--color-api-keyword)}.sig-name{color:var(--color-api-name)}.sig-prename{color:var(--color-api-pre-name);font-weight:400}.sig-paren{color:var(--color-api-paren)}.sig-param{font-style:normal}.versionmodified{font-style:italic}div.deprecated p,div.versionadded p,div.versionchanged p{margin-bottom:.125rem;margin-top:.125rem}.viewcode-back,.viewcode-link{float:right;text-align:right}.line-block{margin-bottom:.75rem;margin-top:.5rem}.line-block .line-block{margin-bottom:0;margin-top:0;padding-left:1rem}.code-block-caption,article p.caption,table>caption{font-size:var(--font-size--small);text-align:center}.toctree-wrapper.compound .caption,.toctree-wrapper.compound :not(.caption)>.caption-text{font-size:var(--font-size--small);margin-bottom:0;text-align:initial;text-transform:uppercase}.toctree-wrapper.compound>ul{margin-bottom:0;margin-top:0}.sig-inline,code.literal{background:var(--color-inline-code-background);border-radius:.2em;font-size:var(--font-size--small--2);overflow-wrap:break-word;padding:.1em .2em}p .sig-inline,p code.literal{border:1px solid var(--color-background-border)}.sig-inline{font-family:var(--font-stack--monospace)}div[class*=" highlight-"],div[class^=highlight-]{display:flex;margin:1em 0}div[class*=" highlight-"] .table-wrapper,div[class^=highlight-] .table-wrapper,pre{margin:0;padding:0}pre{overflow:auto}article[role=main] .highlight pre{line-height:1.5}.highlight pre,pre.literal-block{font-size:var(--code-font-size);padding:.625rem .875rem}pre.literal-block{background-color:var(--color-code-background);border-radius:.2rem;color:var(--color-code-foreground);margin-bottom:1rem;margin-top:1rem}.highlight{border-radius:.2rem;width:100%}.highlight .gp,.highlight span.linenos{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .hll{display:block;margin-left:-.875rem;margin-right:-.875rem;padding-left:.875rem;padding-right:.875rem}.code-block-caption{background-color:var(--color-code-background);border-bottom:1px solid;border-radius:.25rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--color-background-border);color:var(--color-code-foreground);display:flex;font-weight:300;padding:.625rem .875rem}.code-block-caption+div[class]{margin-top:0}.code-block-caption+div[class] pre{border-top-left-radius:0;border-top-right-radius:0}.highlighttable{display:block;width:100%}.highlighttable tbody{display:block}.highlighttable tr{display:flex}.highlighttable td.linenos{background-color:var(--color-code-background);border-bottom-left-radius:.2rem;border-top-left-radius:.2rem;color:var(--color-code-foreground);padding:.625rem 0 .625rem .875rem}.highlighttable .linenodiv{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;font-size:var(--code-font-size);padding-right:.875rem}.highlighttable td.code{display:block;flex:1;overflow:hidden;padding:0}.highlighttable td.code .highlight{border-bottom-left-radius:0;border-top-left-radius:0}.highlight span.linenos{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;display:inline-block;margin-right:.875rem;padding-left:0;padding-right:.875rem}.footnote-reference{font-size:var(--font-size--small--4);vertical-align:super}dl.footnote.brackets{color:var(--color-foreground-secondary);display:grid;font-size:var(--font-size--small);grid-template-columns:-webkit-max-content auto;grid-template-columns:max-content auto}dl.footnote.brackets dt{margin:0}dl.footnote.brackets dt>.fn-backref{margin-left:.25rem}dl.footnote.brackets dt:after{content:":"}dl.footnote.brackets dt .brackets:before{content:"["}dl.footnote.brackets dt .brackets:after{content:"]"}dl.footnote.brackets dd{margin:0;padding:0 1rem}aside.footnote{color:var(--color-foreground-secondary);font-size:var(--font-size--small)}aside.footnote>span,div.citation>span{float:left;font-weight:500;padding-right:.25rem}aside.footnote>p,div.citation>p{margin-left:2rem}img{box-sizing:border-box;height:auto;max-width:100%}article .figure,article figure{border-radius:.2rem;margin:0}article .figure :last-child,article figure :last-child{margin-bottom:0}article .align-left{clear:left;float:left;margin:0 1rem 1rem}article .align-right{clear:right;float:right;margin:0 1rem 1rem}article .align-center,article .align-default{display:block;margin-left:auto;margin-right:auto;text-align:center}article table.align-default{display:table;text-align:initial}.domainindex-jumpbox,.genindex-jumpbox{border-bottom:1px solid var(--color-background-border);border-top:1px solid var(--color-background-border);padding:.25rem}.domainindex-section h2,.genindex-section h2{margin-bottom:.5rem;margin-top:.75rem}.domainindex-section ul,.genindex-section ul{margin-bottom:0;margin-top:0}ol,ul{margin-bottom:1rem;margin-top:1rem;padding-left:1.2rem}ol li>p:first-child,ul li>p:first-child{margin-bottom:.25rem;margin-top:.25rem}ol li>p:last-child,ul li>p:last-child{margin-top:.25rem}ol li>ol,ol li>ul,ul li>ol,ul li>ul{margin-bottom:.5rem;margin-top:.5rem}ol.arabic{list-style:decimal}ol.loweralpha{list-style:lower-alpha}ol.upperalpha{list-style:upper-alpha}ol.lowerroman{list-style:lower-roman}ol.upperroman{list-style:upper-roman}.simple li>ol,.simple li>ul,.toctree-wrapper li>ol,.toctree-wrapper li>ul{margin-bottom:0;margin-top:0}.field-list dt,.option-list dt,dl.footnote dt,dl.glossary dt,dl.simple dt,dl:not([class]) dt{font-weight:500;margin-top:.25rem}.field-list dt+dt,.option-list dt+dt,dl.footnote dt+dt,dl.glossary dt+dt,dl.simple dt+dt,dl:not([class]) dt+dt{margin-top:0}.field-list dt .classifier:before,.option-list dt .classifier:before,dl.footnote dt .classifier:before,dl.glossary dt .classifier:before,dl.simple dt .classifier:before,dl:not([class]) dt .classifier:before{content:":";margin-left:.2rem;margin-right:.2rem}.field-list dd ul,.field-list dd>p:first-child,.option-list dd ul,.option-list dd>p:first-child,dl.footnote dd ul,dl.footnote dd>p:first-child,dl.glossary dd ul,dl.glossary dd>p:first-child,dl.simple dd ul,dl.simple dd>p:first-child,dl:not([class]) dd ul,dl:not([class]) dd>p:first-child{margin-top:.125rem}.field-list dd ul,.option-list dd ul,dl.footnote dd ul,dl.glossary dd ul,dl.simple dd ul,dl:not([class]) dd ul{margin-bottom:.125rem}.math-wrapper{overflow-x:auto;width:100%}div.math{position:relative;text-align:center}div.math .headerlink,div.math:focus .headerlink{display:none}div.math:hover .headerlink{display:inline-block}div.math span.eqno{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1}abbr[title]{cursor:help}.problematic{color:var(--color-problematic)}kbd:not(.compound){background-color:var(--color-background-secondary);border:1px solid var(--color-foreground-border);border-radius:.2rem;box-shadow:0 .0625rem 0 rgba(0,0,0,.2),inset 0 0 0 .125rem var(--color-background-primary);color:var(--color-foreground-primary);display:inline-block;font-size:var(--font-size--small--3);margin:0 .2rem;padding:0 .2rem;vertical-align:text-bottom}blockquote{background:var(--color-background-secondary);border-left:4px solid var(--color-background-border);margin-left:0;margin-right:0;padding:.5rem 1rem}blockquote .attribution{font-weight:600;text-align:right}blockquote.highlights,blockquote.pull-quote{font-size:1.25em}blockquote.epigraph,blockquote.pull-quote{border-left-width:0;border-radius:.5rem}blockquote.highlights{background:transparent;border-left-width:0}p .reference img{vertical-align:middle}p.rubric{font-size:1.125em;font-weight:700;line-height:1.25}dd p.rubric{font-size:var(--font-size--small);font-weight:inherit;line-height:inherit;text-transform:uppercase}article .sidebar{background-color:var(--color-background-secondary);border:1px solid var(--color-background-border);border-radius:.2rem;clear:right;float:right;margin-left:1rem;margin-right:0;width:30%}article .sidebar>*{padding-left:1rem;padding-right:1rem}article .sidebar>ol,article .sidebar>ul{padding-left:2.2rem}article .sidebar .sidebar-title{border-bottom:1px solid var(--color-background-border);font-weight:500;margin:0;padding:.5rem 1rem}.table-wrapper{margin-bottom:.5rem;margin-top:1rem;overflow-x:auto;padding:.2rem .2rem .75rem;width:100%}table.docutils{border-collapse:collapse;border-radius:.2rem;border-spacing:0;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}table.docutils th{background:var(--color-table-header-background)}table.docutils td,table.docutils th{border-bottom:1px solid var(--color-table-border);border-left:1px solid var(--color-table-border);border-right:1px solid var(--color-table-border);padding:0 .25rem}table.docutils td p,table.docutils th p{margin:.25rem}table.docutils td:first-child,table.docutils th:first-child{border-left:none}table.docutils td:last-child,table.docutils th:last-child{border-right:none}table.docutils td.text-left,table.docutils th.text-left{text-align:left}table.docutils td.text-right,table.docutils th.text-right{text-align:right}table.docutils td.text-center,table.docutils th.text-center{text-align:center}:target{scroll-margin-top:.5rem}@media(max-width:67em){:target{scroll-margin-top:calc(.5rem + var(--header-height))}section>span:target{scroll-margin-top:calc(.8rem + var(--header-height))}}.headerlink{font-weight:100;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block-caption>.headerlink,dl dt>.headerlink,figcaption p>.headerlink,h1>.headerlink,h2>.headerlink,h3>.headerlink,h4>.headerlink,h5>.headerlink,h6>.headerlink,p.caption>.headerlink,table>caption>.headerlink{margin-left:.5rem;visibility:hidden}.code-block-caption:hover>.headerlink,dl dt:hover>.headerlink,figcaption p:hover>.headerlink,h1:hover>.headerlink,h2:hover>.headerlink,h3:hover>.headerlink,h4:hover>.headerlink,h5:hover>.headerlink,h6:hover>.headerlink,p.caption:hover>.headerlink,table>caption:hover>.headerlink{visibility:visible}.code-block-caption>.toc-backref,dl dt>.toc-backref,figcaption p>.toc-backref,h1>.toc-backref,h2>.toc-backref,h3>.toc-backref,h4>.toc-backref,h5>.toc-backref,h6>.toc-backref,p.caption>.toc-backref,table>caption>.toc-backref{color:inherit;-webkit-text-decoration-line:none;text-decoration-line:none}figure:hover>figcaption>p>.headerlink,table:hover>caption>.headerlink{visibility:visible}:target>h1:first-of-type,:target>h2:first-of-type,:target>h3:first-of-type,:target>h4:first-of-type,:target>h5:first-of-type,:target>h6:first-of-type,span:target~h1:first-of-type,span:target~h2:first-of-type,span:target~h3:first-of-type,span:target~h4:first-of-type,span:target~h5:first-of-type,span:target~h6:first-of-type{background-color:var(--color-highlight-on-target)}:target>h1:first-of-type code.literal,:target>h2:first-of-type code.literal,:target>h3:first-of-type code.literal,:target>h4:first-of-type code.literal,:target>h5:first-of-type code.literal,:target>h6:first-of-type code.literal,span:target~h1:first-of-type code.literal,span:target~h2:first-of-type code.literal,span:target~h3:first-of-type code.literal,span:target~h4:first-of-type code.literal,span:target~h5:first-of-type code.literal,span:target~h6:first-of-type code.literal{background-color:transparent}.literal-block-wrapper:target .code-block-caption,.this-will-duplicate-information-and-it-is-still-useful-here li :target,figure:target,table:target>caption{background-color:var(--color-highlight-on-target)}dt:target{background-color:var(--color-highlight-on-target)!important}.footnote-reference:target,.footnote>dt:target+dd{background-color:var(--color-highlight-on-target)}.guilabel{background-color:var(--color-guilabel-background);border:1px solid var(--color-guilabel-border);border-radius:.5em;color:var(--color-guilabel-text);font-size:.9em;padding:0 .3em}footer{display:flex;flex-direction:column;font-size:var(--font-size--small);margin-top:2rem}.bottom-of-page{align-items:center;border-top:1px solid var(--color-background-border);color:var(--color-foreground-secondary);display:flex;justify-content:space-between;line-height:1.5;margin-top:1rem;padding-bottom:1rem;padding-top:1rem}@media(max-width:46em){.bottom-of-page{flex-direction:column-reverse;gap:.25rem;text-align:center}}.bottom-of-page .left-details{font-size:var(--font-size--small)}.bottom-of-page .right-details{display:flex;flex-direction:column;gap:.25rem;text-align:right}.bottom-of-page .icons{display:flex;font-size:1rem;gap:.25rem;justify-content:flex-end}.bottom-of-page .icons a{text-decoration:none}.bottom-of-page .icons img,.bottom-of-page .icons svg{font-size:1.125rem;height:1em;width:1em}.related-pages a{align-items:center;display:flex;text-decoration:none}.related-pages a:hover .page-info .title{color:var(--color-link);text-decoration:underline;-webkit-text-decoration-color:var(--color-link-underline);text-decoration-color:var(--color-link-underline)}.related-pages a svg.furo-related-icon,.related-pages a svg.furo-related-icon>use{color:var(--color-foreground-border);flex-shrink:0;height:.75rem;margin:0 .5rem;width:.75rem}.related-pages a.next-page{clear:right;float:right;max-width:50%;text-align:right}.related-pages a.prev-page{clear:left;float:left;max-width:50%}.related-pages a.prev-page svg{transform:rotate(180deg)}.page-info{display:flex;flex-direction:column;overflow-wrap:anywhere}.next-page .page-info{align-items:flex-end}.page-info .context{align-items:center;color:var(--color-foreground-muted);display:flex;font-size:var(--font-size--small);padding-bottom:.1rem;text-decoration:none}ul.search{list-style:none;padding-left:0}ul.search li{border-bottom:1px solid var(--color-background-border);padding:1rem 0}[role=main] .highlighted{background-color:var(--color-highlighted-background);color:var(--color-highlighted-text)}.sidebar-brand{display:flex;flex-direction:column;flex-shrink:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none}.sidebar-brand-text{color:var(--color-sidebar-brand-text);font-size:1.5rem;overflow-wrap:break-word}.sidebar-brand-text,.sidebar-logo-container{margin:var(--sidebar-item-spacing-vertical) 0}.sidebar-logo{display:block;margin:0 auto;max-width:100%}.sidebar-search-container{align-items:center;background:var(--color-sidebar-search-background);display:flex;margin-top:var(--sidebar-search-space-above);position:relative}.sidebar-search-container:focus-within,.sidebar-search-container:hover{background:var(--color-sidebar-search-background--focus)}.sidebar-search-container:before{background-color:var(--color-sidebar-search-icon);content:"";height:var(--sidebar-search-icon-size);left:var(--sidebar-item-spacing-horizontal);-webkit-mask-image:var(--icon-search);mask-image:var(--icon-search);position:absolute;width:var(--sidebar-search-icon-size)}.sidebar-search{background:transparent;border:none;border-bottom:1px solid var(--color-sidebar-search-border);border-top:1px solid var(--color-sidebar-search-border);box-sizing:border-box;color:var(--color-sidebar-search-foreground);padding:var(--sidebar-search-input-spacing-vertical) var(--sidebar-search-input-spacing-horizontal) var(--sidebar-search-input-spacing-vertical) calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size));width:100%;z-index:10}.sidebar-search:focus{outline:none}.sidebar-search::-moz-placeholder{font-size:var(--sidebar-search-input-font-size)}.sidebar-search::placeholder{font-size:var(--sidebar-search-input-font-size)}#searchbox .highlight-link{margin:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0;text-align:center}#searchbox .highlight-link a{color:var(--color-sidebar-search-icon);font-size:var(--font-size--small--2)}.sidebar-tree{font-size:var(--sidebar-item-font-size);margin-bottom:var(--sidebar-item-spacing-vertical);margin-top:var(--sidebar-tree-space-above)}.sidebar-tree ul{display:flex;flex-direction:column;list-style:none;margin-bottom:0;margin-top:0;padding:0}.sidebar-tree li{margin:0;position:relative}.sidebar-tree li>ul{margin-left:var(--sidebar-item-spacing-horizontal)}.sidebar-tree .icon,.sidebar-tree .reference{color:var(--color-sidebar-link-text)}.sidebar-tree .reference{box-sizing:border-box;display:inline-block;height:100%;line-height:var(--sidebar-item-line-height);overflow-wrap:anywhere;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none;width:100%}.sidebar-tree .reference:hover{background:var(--color-sidebar-item-background--hover)}.sidebar-tree .reference.external:after{color:var(--color-sidebar-link-text);content:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23607D8B' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 0h24v24H0z' stroke='none'/%3E%3Cpath d='M11 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5M10 14 20 4M15 4h5v5'/%3E%3C/svg%3E");margin:0 .25rem;vertical-align:middle}.sidebar-tree .current-page>.reference{font-weight:700}.sidebar-tree label{align-items:center;cursor:pointer;display:flex;height:var(--sidebar-item-height);justify-content:center;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--sidebar-expander-width)}.sidebar-tree .caption,.sidebar-tree :not(.caption)>.caption-text{color:var(--color-sidebar-caption-text);font-size:var(--sidebar-caption-font-size);font-weight:700;margin:var(--sidebar-caption-space-above) 0 0 0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-transform:uppercase}.sidebar-tree li.has-children>.reference{padding-right:var(--sidebar-expander-width)}.sidebar-tree .toctree-l1>.reference,.sidebar-tree .toctree-l1>label .icon{color:var(--color-sidebar-link-text--top-level)}.sidebar-tree label{background:var(--color-sidebar-item-expander-background)}.sidebar-tree label:hover{background:var(--color-sidebar-item-expander-background--hover)}.sidebar-tree .current>.reference{background:var(--color-sidebar-item-background--current)}.sidebar-tree .current>.reference:hover{background:var(--color-sidebar-item-background--hover)}.toctree-checkbox{display:none;position:absolute}.toctree-checkbox~ul{display:none}.toctree-checkbox~label .icon svg{transform:rotate(90deg)}.toctree-checkbox:checked~ul{display:block}.toctree-checkbox:checked~label .icon svg{transform:rotate(-90deg)}.toc-title-container{padding:var(--toc-title-padding);padding-top:var(--toc-spacing-vertical)}.toc-title{color:var(--color-toc-title-text);font-size:var(--toc-title-font-size);padding-left:var(--toc-spacing-horizontal);text-transform:uppercase}.no-toc{display:none}.toc-tree-container{padding-bottom:var(--toc-spacing-vertical)}.toc-tree{border-left:1px solid var(--color-background-border);font-size:var(--toc-font-size);line-height:1.3;padding-left:calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))}.toc-tree>ul>li:first-child{padding-top:0}.toc-tree>ul>li:first-child>ul{padding-left:0}.toc-tree>ul>li:first-child>a{display:none}.toc-tree ul{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:var(--toc-item-spacing-horizontal)}.toc-tree li{padding-top:var(--toc-item-spacing-vertical)}.toc-tree li.scroll-current>.reference{color:var(--color-toc-item-text--active);font-weight:700}.toc-tree .reference{color:var(--color-toc-item-text);overflow-wrap:anywhere;text-decoration:none}.toc-scroll{max-height:100vh;overflow-y:scroll}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here){background:rgba(255,0,0,.25);color:var(--color-problematic)}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here):before{content:"ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling.Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch."}.text-align\:left>p{text-align:left}.text-align\:center>p{text-align:center}.text-align\:right>p{text-align:right} -/*# sourceMappingURL=furo.css.map*/ \ No newline at end of file diff --git a/docs/_static/styles/furo.css.map b/docs/_static/styles/furo.css.map deleted file mode 100644 index 92af407..0000000 --- a/docs/_static/styles/furo.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"styles/furo.css","mappings":"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","sources":["webpack:///./node_modules/normalize.css/normalize.css","webpack:///./src/furo/assets/styles/base/_print.sass","webpack:///./src/furo/assets/styles/base/_screen-readers.sass","webpack:///./src/furo/assets/styles/base/_theme.sass","webpack:///./src/furo/assets/styles/variables/_fonts.scss","webpack:///./src/furo/assets/styles/variables/_spacing.scss","webpack:///./src/furo/assets/styles/variables/_icons.scss","webpack:///./src/furo/assets/styles/variables/_admonitions.scss","webpack:///./src/furo/assets/styles/variables/_colors.scss","webpack:///./src/furo/assets/styles/base/_typography.sass","webpack:///./src/furo/assets/styles/_scaffold.sass","webpack:///./src/furo/assets/styles/variables/_layout.scss","webpack:///./src/furo/assets/styles/content/_admonitions.sass","webpack:///./src/furo/assets/styles/content/_api.sass","webpack:///./src/furo/assets/styles/content/_blocks.sass","webpack:///./src/furo/assets/styles/content/_captions.sass","webpack:///./src/furo/assets/styles/content/_code.sass","webpack:///./src/furo/assets/styles/content/_footnotes.sass","webpack:///./src/furo/assets/styles/content/_images.sass","webpack:///./src/furo/assets/styles/content/_indexes.sass","webpack:///./src/furo/assets/styles/content/_lists.sass","webpack:///./src/furo/assets/styles/content/_math.sass","webpack:///./src/furo/assets/styles/content/_misc.sass","webpack:///./src/furo/assets/styles/content/_rubrics.sass","webpack:///./src/furo/assets/styles/content/_sidebar.sass","webpack:///./src/furo/assets/styles/content/_tables.sass","webpack:///./src/furo/assets/styles/content/_target.sass","webpack:///./src/furo/assets/styles/content/_gui-labels.sass","webpack:///./src/furo/assets/styles/components/_footer.sass","webpack:///./src/furo/assets/styles/components/_search.sass","webpack:///./src/furo/assets/styles/components/_sidebar.sass","webpack:///./src/furo/assets/styles/components/_table_of_contents.sass","webpack:///./src/furo/assets/styles/_shame.sass"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// This file contains styles for managing print media.\n\n////////////////////////////////////////////////////////////////////////////////\n// Hide elements not relevant to print media.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Hide icon container.\n .content-icon-container\n display: none !important\n\n // Hide showing header links if hovering over when printing.\n .headerlink\n display: none !important\n\n // Hide mobile header.\n .mobile-header\n display: none !important\n\n // Hide navigation links.\n .related-pages\n display: none !important\n\n////////////////////////////////////////////////////////////////////////////////\n// Tweaks related to decolorization.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Apply a border around code which no longer have a color background.\n .highlight\n border: 0.1pt solid var(--color-foreground-border)\n\n////////////////////////////////////////////////////////////////////////////////\n// Avoid page break in some relevant cases.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n ul, ol, dl, a, table, pre, blockquote\n page-break-inside: avoid\n\n h1, h2, h3, h4, h5, h6, img, figure, caption\n page-break-inside: avoid\n page-break-after: avoid\n\n ul, ol, dl\n page-break-before: avoid\n",".visually-hidden\n position: absolute !important\n width: 1px !important\n height: 1px !important\n padding: 0 !important\n margin: -1px !important\n overflow: hidden !important\n clip: rect(0,0,0,0) !important\n white-space: nowrap !important\n border: 0 !important\n\n:-moz-focusring\n outline: auto\n","// This file serves as the \"skeleton\" of the theming logic.\n//\n// This contains the bulk of the logic for handling dark mode, color scheme\n// toggling and the handling of color-scheme-specific hiding of elements.\n\nbody\n @include fonts\n @include spacing\n @include icons\n @include admonitions\n @include default-admonition(#651fff, \"abstract\")\n @include default-topic(#14B8A6, \"pencil\")\n\n @include colors\n\n.only-light\n display: block !important\nhtml body .only-dark\n display: none !important\n\n// Ignore dark-mode hints if print media.\n@media not print\n // Enable dark-mode, if requested.\n body[data-theme=\"dark\"]\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n // Enable dark mode, unless explicitly told to avoid.\n @media (prefers-color-scheme: dark)\n body:not([data-theme=\"light\"])\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n//\n// Theme toggle presentation\n//\nbody[data-theme=\"auto\"]\n .theme-toggle svg.theme-icon-when-auto\n display: block\n\nbody[data-theme=\"dark\"]\n .theme-toggle svg.theme-icon-when-dark\n display: block\n\nbody[data-theme=\"light\"]\n .theme-toggle svg.theme-icon-when-light\n display: block\n","// Fonts used by this theme.\n//\n// There are basically two things here -- using the system font stack and\n// defining sizes for various elements in %ages. We could have also used `em`\n// but %age is easier to reason about for me.\n\n@mixin fonts {\n // These are adapted from https://systemfontstack.com/\n --font-stack: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,\n sans-serif, Apple Color Emoji, Segoe UI Emoji;\n --font-stack--monospace: \"SFMono-Regular\", Menlo, Consolas, Monaco,\n Liberation Mono, Lucida Console, monospace;\n\n --font-size--normal: 100%;\n --font-size--small: 87.5%;\n --font-size--small--2: 81.25%;\n --font-size--small--3: 75%;\n --font-size--small--4: 62.5%;\n\n // Sidebar\n --sidebar-caption-font-size: var(--font-size--small--2);\n --sidebar-item-font-size: var(--font-size--small);\n --sidebar-search-input-font-size: var(--font-size--small);\n\n // Table of Contents\n --toc-font-size: var(--font-size--small--3);\n --toc-font-size--mobile: var(--font-size--normal);\n --toc-title-font-size: var(--font-size--small--4);\n\n // Admonitions\n //\n // These aren't defined in terms of %ages, since nesting these is permitted.\n --admonition-font-size: 0.8125rem;\n --admonition-title-font-size: 0.8125rem;\n\n // Code\n --code-font-size: var(--font-size--small--2);\n\n // API\n --api-font-size: var(--font-size--small);\n}\n","// Spacing for various elements on the page\n//\n// If the user wants to tweak things in a certain way, they are permitted to.\n// They also have to deal with the consequences though!\n\n@mixin spacing {\n // Header!\n --header-height: calc(\n var(--sidebar-item-line-height) + 4 * #{var(--sidebar-item-spacing-vertical)}\n );\n --header-padding: 0.5rem;\n\n // Sidebar\n --sidebar-tree-space-above: 1.5rem;\n --sidebar-caption-space-above: 1rem;\n\n --sidebar-item-line-height: 1rem;\n --sidebar-item-spacing-vertical: 0.5rem;\n --sidebar-item-spacing-horizontal: 1rem;\n --sidebar-item-height: calc(\n var(--sidebar-item-line-height) + 2 *#{var(--sidebar-item-spacing-vertical)}\n );\n\n --sidebar-expander-width: var(--sidebar-item-height); // be square\n\n --sidebar-search-space-above: 0.5rem;\n --sidebar-search-input-spacing-vertical: 0.5rem;\n --sidebar-search-input-spacing-horizontal: 0.5rem;\n --sidebar-search-input-height: 1rem;\n --sidebar-search-icon-size: var(--sidebar-search-input-height);\n\n // Table of Contents\n --toc-title-padding: 0.25rem 0;\n --toc-spacing-vertical: 1.5rem;\n --toc-spacing-horizontal: 1.5rem;\n --toc-item-spacing-vertical: 0.4rem;\n --toc-item-spacing-horizontal: 1rem;\n}\n","// Expose theme icons as CSS variables.\n\n$icons: (\n // Adapted from tabler-icons\n // url: https://tablericons.com/\n \"search\":\n url('data:image/svg+xml;charset=utf-8,'),\n // Factored out from mkdocs-material on 24-Aug-2020.\n // url: https://squidfunk.github.io/mkdocs-material/reference/admonitions/\n \"pencil\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"abstract\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"info\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"flame\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"question\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"warning\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"failure\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"spark\":\n url('data:image/svg+xml;charset=utf-8,')\n);\n\n@mixin icons {\n @each $name, $glyph in $icons {\n --icon-#{$name}: #{$glyph};\n }\n}\n","// Admonitions\n\n// Structure of these is:\n// admonition-class: color \"icon-name\";\n//\n// The colors are translated into CSS variables below. The icons are\n// used directly in the main declarations to set the `mask-image` in\n// the title.\n\n// prettier-ignore\n$admonitions: (\n // Each of these has an reST directives for it.\n \"caution\": #ff9100 \"spark\",\n \"warning\": #ff9100 \"warning\",\n \"danger\": #ff5252 \"spark\",\n \"attention\": #ff5252 \"warning\",\n \"error\": #ff5252 \"failure\",\n \"hint\": #00c852 \"question\",\n \"tip\": #00c852 \"info\",\n \"important\": #00bfa5 \"flame\",\n \"note\": #00b0ff \"pencil\",\n \"seealso\": #448aff \"info\",\n \"admonition-todo\": #808080 \"pencil\"\n);\n\n@mixin default-admonition($color, $icon-name) {\n --color-admonition-title: #{$color};\n --color-admonition-title-background: #{rgba($color, 0.2)};\n\n --icon-admonition-default: var(--icon-#{$icon-name});\n}\n\n@mixin default-topic($color, $icon-name) {\n --color-topic-title: #{$color};\n --color-topic-title-background: #{rgba($color, 0.2)};\n\n --icon-topic-default: var(--icon-#{$icon-name});\n}\n\n@mixin admonitions {\n @each $name, $values in $admonitions {\n --color-admonition-title--#{$name}: #{nth($values, 1)};\n --color-admonition-title-background--#{$name}: #{rgba(\n nth($values, 1),\n 0.2\n )};\n }\n}\n","// Colors used throughout this theme.\n//\n// The aim is to give the user more control. Thus, instead of hard-coding colors\n// in various parts of the stylesheet, the approach taken is to define all\n// colors as CSS variables and reusing them in all the places.\n//\n// `colors-dark` depends on `colors` being included at a lower specificity.\n\n@mixin colors {\n --color-problematic: #b30000;\n\n // Base Colors\n --color-foreground-primary: black; // for main text and headings\n --color-foreground-secondary: #5a5c63; // for secondary text\n --color-foreground-muted: #646776; // for muted text\n --color-foreground-border: #878787; // for content borders\n\n --color-background-primary: white; // for content\n --color-background-secondary: #f8f9fb; // for navigation + ToC\n --color-background-hover: #efeff4ff; // for navigation-item hover\n --color-background-hover--transparent: #efeff400;\n --color-background-border: #eeebee; // for UI borders\n --color-background-item: #ccc; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #2962ff;\n --color-brand-content: #2a5adf;\n\n // API documentation\n --color-api-background: var(--color-background-hover--transparent);\n --color-api-background-hover: var(--color-background-hover);\n --color-api-overall: var(--color-foreground-secondary);\n --color-api-name: var(--color-problematic);\n --color-api-pre-name: var(--color-problematic);\n --color-api-paren: var(--color-foreground-secondary);\n --color-api-keyword: var(--color-foreground-primary);\n --color-highlight-on-target: #ffffcc;\n\n // Inline code background\n --color-inline-code-background: var(--color-background-secondary);\n\n // Highlighted text (search)\n --color-highlighted-background: #ddeeff;\n --color-highlighted-text: var(--color-foreground-primary);\n\n // GUI Labels\n --color-guilabel-background: #ddeeff80;\n --color-guilabel-border: #bedaf580;\n --color-guilabel-text: var(--color-foreground-primary);\n\n // Admonitions!\n --color-admonition-background: transparent;\n\n //////////////////////////////////////////////////////////////////////////////\n // Everything below this should be one of:\n // - var(...)\n // - *-gradient(...)\n // - special literal values (eg: transparent, none)\n //////////////////////////////////////////////////////////////////////////////\n\n // Tables\n --color-table-header-background: var(--color-background-secondary);\n --color-table-border: var(--color-background-border);\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: transparent;\n --color-card-marginals-background: var(--color-background-secondary);\n\n // Header\n --color-header-background: var(--color-background-primary);\n --color-header-border: var(--color-background-border);\n --color-header-text: var(--color-foreground-primary);\n\n // Sidebar (left)\n --color-sidebar-background: var(--color-background-secondary);\n --color-sidebar-background-border: var(--color-background-border);\n\n --color-sidebar-brand-text: var(--color-foreground-primary);\n --color-sidebar-caption-text: var(--color-foreground-muted);\n --color-sidebar-link-text: var(--color-foreground-secondary);\n --color-sidebar-link-text--top-level: var(--color-brand-primary);\n\n --color-sidebar-item-background: var(--color-sidebar-background);\n --color-sidebar-item-background--current: var(\n --color-sidebar-item-background\n );\n --color-sidebar-item-background--hover: linear-gradient(\n 90deg,\n var(--color-background-hover--transparent) 0%,\n var(--color-background-hover) var(--sidebar-item-spacing-horizontal),\n var(--color-background-hover) 100%\n );\n\n --color-sidebar-item-expander-background: transparent;\n --color-sidebar-item-expander-background--hover: var(\n --color-background-hover\n );\n\n --color-sidebar-search-text: var(--color-foreground-primary);\n --color-sidebar-search-background: var(--color-background-secondary);\n --color-sidebar-search-background--focus: var(--color-background-primary);\n --color-sidebar-search-border: var(--color-background-border);\n --color-sidebar-search-icon: var(--color-foreground-muted);\n\n // Table of Contents (right)\n --color-toc-background: var(--color-background-primary);\n --color-toc-title-text: var(--color-foreground-muted);\n --color-toc-item-text: var(--color-foreground-secondary);\n --color-toc-item-text--hover: var(--color-foreground-primary);\n --color-toc-item-text--active: var(--color-brand-primary);\n\n // Actual page contents\n --color-content-foreground: var(--color-foreground-primary);\n --color-content-background: transparent;\n\n // Links\n --color-link: var(--color-brand-content);\n --color-link--hover: var(--color-brand-content);\n --color-link-underline: var(--color-background-border);\n --color-link-underline--hover: var(--color-foreground-border);\n}\n\n@mixin colors-dark {\n --color-problematic: #ee5151;\n\n // Base Colors\n --color-foreground-primary: #ffffffcc; // for main text and headings\n --color-foreground-secondary: #9ca0a5; // for secondary text\n --color-foreground-muted: #81868d; // for muted text\n --color-foreground-border: #666666; // for content borders\n\n --color-background-primary: #131416; // for content\n --color-background-secondary: #1a1c1e; // for navigation + ToC\n --color-background-hover: #1e2124ff; // for navigation-item hover\n --color-background-hover--transparent: #1e212400;\n --color-background-border: #303335; // for UI borders\n --color-background-item: #444; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #2b8cee;\n --color-brand-content: #368ce2;\n\n // Highlighted text (search)\n --color-highlighted-background: #083563;\n\n // GUI Labels\n --color-guilabel-background: #08356380;\n --color-guilabel-border: #13395f80;\n\n // API documentation\n --color-api-keyword: var(--color-foreground-secondary);\n --color-highlight-on-target: #333300;\n\n // Admonitions\n --color-admonition-background: #18181a;\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: #18181a;\n --color-card-marginals-background: var(--color-background-hover);\n}\n","// This file contains the styling for making the content throughout the page,\n// including fonts, paragraphs, headings and spacing among these elements.\n\nbody\n font-family: var(--font-stack)\npre,\ncode,\nkbd,\nsamp\n font-family: var(--font-stack--monospace)\n\n// Make fonts look slightly nicer.\nbody\n -webkit-font-smoothing: antialiased\n -moz-osx-font-smoothing: grayscale\n\n// Line height from Bootstrap 4.1\narticle\n line-height: 1.5\n\n//\n// Headings\n//\nh1,\nh2,\nh3,\nh4,\nh5,\nh6\n line-height: 1.25\n font-weight: bold\n\n border-radius: 0.5rem\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n margin-left: -0.5rem\n margin-right: -0.5rem\n padding-left: 0.5rem\n padding-right: 0.5rem\n\n + p\n margin-top: 0\n\nh1\n font-size: 2.5em\n margin-top: 1.75rem\n margin-bottom: 1rem\nh2\n font-size: 2em\n margin-top: 1.75rem\nh3\n font-size: 1.5em\nh4\n font-size: 1.25em\nh5\n font-size: 1.125em\nh6\n font-size: 1em\n\nsmall\n opacity: 75%\n font-size: 80%\n\n// Paragraph\np\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n\n// Horizontal rules\nhr.docutils\n height: 1px\n padding: 0\n margin: 2rem 0\n background-color: var(--color-background-border)\n border: 0\n\n.centered\n text-align: center\n\n// Links\na\n text-decoration: underline\n\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n &:hover\n color: var(--color-link--hover)\n text-decoration-color: var(--color-link-underline--hover)\n &.muted-link\n color: inherit\n &:hover\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline--hover)\n","// This file contains the styles for the overall layouting of the documentation\n// skeleton, including the responsive changes as well as sidebar toggles.\n//\n// This is implemented as a mobile-last design, which isn't ideal, but it is\n// reasonably good-enough and I got pretty tired by the time I'd finished this\n// to move the rules around to fix this. Shouldn't take more than 3-4 hours,\n// if you know what you're doing tho.\n\n// HACK: Not all browsers account for the scrollbar width in media queries.\n// This results in horizontal scrollbars in the breakpoint where we go\n// from displaying everything to hiding the ToC. We accomodate for this by\n// adding a bit of padding to the TOC drawer, disabling the horizontal\n// scrollbar and allowing the scrollbars to cover the padding.\n// https://www.456bereastreet.com/archive/201301/media_query_width_and_vertical_scrollbars/\n\n// HACK: Always having the scrollbar visible, prevents certain browsers from\n// causing the content to stutter horizontally between taller-than-viewport and\n// not-taller-than-viewport pages.\n\nhtml\n overflow-x: hidden\n overflow-y: scroll\n scroll-behavior: smooth\n\n.sidebar-scroll, .toc-scroll, article[role=main] *\n // Override Firefox scrollbar style\n scrollbar-width: thin\n scrollbar-color: var(--color-foreground-border) transparent\n\n // Override Chrome scrollbar styles\n &::-webkit-scrollbar\n width: 0.25rem\n height: 0.25rem\n &::-webkit-scrollbar-thumb\n background-color: var(--color-foreground-border)\n border-radius: 0.125rem\n\n//\n// Overalls\n//\nhtml,\nbody\n height: 100%\n color: var(--color-foreground-primary)\n background: var(--color-background-primary)\n\narticle\n color: var(--color-content-foreground)\n background: var(--color-content-background)\n\n.page\n display: flex\n // fill the viewport for pages with little content.\n min-height: 100%\n\n.mobile-header\n width: 100%\n height: var(--header-height)\n background-color: var(--color-header-background)\n color: var(--color-header-text)\n border-bottom: 1px solid var(--color-header-border)\n\n // Looks like sub-script/super-script have this, and we need this to\n // be \"on top\" of those.\n z-index: 10\n\n // We don't show the header on large screens.\n display: none\n\n // Add shadow when scrolled\n &.scrolled\n border-bottom: none\n box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2)\n\n .header-center\n a\n color: var(--color-header-text)\n text-decoration: none\n\n.main\n display: flex\n flex: 1\n\n// Sidebar (left) also covers the entire left portion of screen.\n.sidebar-drawer\n box-sizing: border-box\n\n border-right: 1px solid var(--color-sidebar-background-border)\n background: var(--color-sidebar-background)\n\n display: flex\n justify-content: flex-end\n // These next two lines took me two days to figure out.\n width: calc((100% - #{$full-width}) / 2 + #{$sidebar-width})\n min-width: $sidebar-width\n\n// Scroll-along sidebars\n.sidebar-container,\n.toc-drawer\n box-sizing: border-box\n width: $sidebar-width\n\n.toc-drawer\n background: var(--color-toc-background)\n // See HACK described on top of this document\n padding-right: 1rem\n\n.sidebar-sticky,\n.toc-sticky\n position: sticky\n top: 0\n height: min(100%, 100vh)\n height: 100vh\n\n display: flex\n flex-direction: column\n\n.sidebar-scroll,\n.toc-scroll\n flex-grow: 1\n flex-shrink: 1\n\n overflow: auto\n scroll-behavior: smooth\n\n// Central items.\n.content\n padding: 0 $content-padding\n width: $content-width\n\n display: flex\n flex-direction: column\n justify-content: space-between\n\n.icon\n display: inline-block\n height: 1rem\n width: 1rem\n svg\n width: 100%\n height: 100%\n\n//\n// Accommodate announcement banner\n//\n.announcement\n background-color: var(--color-announcement-background)\n color: var(--color-announcement-text)\n\n height: var(--header-height)\n display: flex\n align-items: center\n overflow-x: auto\n & + .page\n min-height: calc(100% - var(--header-height))\n\n.announcement-content\n box-sizing: border-box\n padding: 0.5rem\n min-width: 100%\n white-space: nowrap\n text-align: center\n\n a\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-announcement-text)\n\n &:hover\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-link--hover)\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for theme\n////////////////////////////////////////////////////////////////////////////////\n.no-js .theme-toggle-container // don't show theme toggle if there's no JS\n display: none\n\n.theme-toggle-container\n vertical-align: middle\n\n.theme-toggle\n cursor: pointer\n border: none\n padding: 0\n background: transparent\n\n.theme-toggle svg\n vertical-align: middle\n height: 1rem\n width: 1rem\n color: var(--color-foreground-primary)\n display: none\n\n.theme-toggle-header\n float: left\n padding: 1rem 0.5rem\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for elements\n////////////////////////////////////////////////////////////////////////////////\n.toc-overlay-icon, .nav-overlay-icon\n display: none\n cursor: pointer\n\n .icon\n color: var(--color-foreground-secondary)\n height: 1rem\n width: 1rem\n\n.toc-header-icon, .nav-overlay-icon\n // for when we set display: flex\n justify-content: center\n align-items: center\n\n.toc-content-icon\n height: 1.5rem\n width: 1.5rem\n\n.content-icon-container\n float: right\n display: flex\n margin-top: 1.5rem\n margin-left: 1rem\n margin-bottom: 1rem\n gap: 0.5rem\n\n .edit-this-page svg\n color: inherit\n height: 1rem\n width: 1rem\n\n.sidebar-toggle\n position: absolute\n display: none\n// \n.sidebar-toggle[name=\"__toc\"]\n left: 20px\n.sidebar-toggle:checked\n left: 40px\n// \n\n.overlay\n position: fixed\n top: 0\n width: 0\n height: 0\n\n transition: width 0ms, height 0ms, opacity 250ms ease-out\n\n opacity: 0\n background-color: rgba(0, 0, 0, 0.54)\n.sidebar-overlay\n z-index: 20\n.toc-overlay\n z-index: 40\n\n// Keep things on top and smooth.\n.sidebar-drawer\n z-index: 30\n transition: left 250ms ease-in-out\n.toc-drawer\n z-index: 50\n transition: right 250ms ease-in-out\n\n// Show the Sidebar\n#__navigation:checked\n & ~ .sidebar-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .sidebar-drawer\n top: 0\n left: 0\n // Show the toc sidebar\n#__toc:checked\n & ~ .toc-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .toc-drawer\n top: 0\n right: 0\n\n////////////////////////////////////////////////////////////////////////////////\n// Back to top\n////////////////////////////////////////////////////////////////////////////////\n.back-to-top\n text-decoration: none\n\n display: none\n position: fixed\n left: 0\n top: 1rem\n padding: 0.5rem\n padding-right: 0.75rem\n border-radius: 1rem\n font-size: 0.8125rem\n\n background: var(--color-background-primary)\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), #6b728080 0px 0px 1px 0px\n\n z-index: 10\n\n margin-left: 50%\n transform: translateX(-50%)\n svg\n height: 1rem\n width: 1rem\n fill: currentColor\n display: inline-block\n\n span\n margin-left: 0.25rem\n\n .show-back-to-top &\n display: flex\n align-items: center\n\n////////////////////////////////////////////////////////////////////////////////\n// Responsive layouting\n////////////////////////////////////////////////////////////////////////////////\n// Make things a bit bigger on bigger screens.\n@media (min-width: $full-width + $sidebar-width)\n html\n font-size: 110%\n\n@media (max-width: $full-width)\n // Collapse \"toc\" into the icon.\n .toc-content-icon\n display: flex\n .toc-drawer\n position: fixed\n height: 100vh\n top: 0\n right: -$sidebar-width\n border-left: 1px solid var(--color-background-muted)\n .toc-tree\n border-left: none\n font-size: var(--toc-font-size--mobile)\n\n // Accomodate for a changed content width.\n .sidebar-drawer\n width: calc((100% - #{$full-width - $sidebar-width}) / 2 + #{$sidebar-width})\n\n@media (max-width: $full-width - $sidebar-width)\n // Collapse \"navigation\".\n .nav-overlay-icon\n display: flex\n .sidebar-drawer\n position: fixed\n height: 100vh\n width: $sidebar-width\n\n top: 0\n left: -$sidebar-width\n\n // Swap which icon is visible.\n .toc-header-icon\n display: flex\n .toc-content-icon, .theme-toggle-content\n display: none\n .theme-toggle-header\n display: block\n\n // Show the header.\n .mobile-header\n position: sticky\n top: 0\n display: flex\n justify-content: space-between\n align-items: center\n\n .header-left,\n .header-right\n display: flex\n height: var(--header-height)\n padding: 0 var(--header-padding)\n label\n height: 100%\n width: 100%\n user-select: none\n\n .nav-overlay-icon .icon,\n .theme-toggle svg\n height: 1.25rem\n width: 1.25rem\n\n // Add a scroll margin for the content\n :target\n scroll-margin-top: var(--header-height)\n\n // Show back-to-top below the header\n .back-to-top\n top: calc(var(--header-height) + 0.5rem)\n\n // Center the page, and accommodate for the header.\n .page\n flex-direction: column\n justify-content: center\n .content\n margin-left: auto\n margin-right: auto\n\n@media (max-width: $content-width + 2* $content-padding)\n // Content should respect window limits.\n .content\n width: 100%\n overflow-x: auto\n\n@media (max-width: $content-width)\n .content\n padding: 0 $content-padding--small\n // Don't float sidebars to the right.\n article aside.sidebar\n float: none\n width: 100%\n margin: 1rem 0\n","// Overall Layout Variables\n//\n// Because CSS variables can't be used in media queries. The fact that this\n// makes the layout non-user-configurable is a good thing.\n$content-padding: 3em;\n$content-padding--small: 1em;\n$content-width: 46em;\n$sidebar-width: 15em;\n$full-width: $content-width + 2 * ($content-padding + $sidebar-width);\n","//\n// The design here is strongly inspired by mkdocs-material.\n.admonition, .topic\n margin: 1rem auto\n padding: 0 0.5rem 0.5rem 0.5rem\n\n background: var(--color-admonition-background)\n\n border-radius: 0.2rem\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n font-size: var(--admonition-font-size)\n\n overflow: hidden\n page-break-inside: avoid\n\n // First element should have no margin, since the title has it.\n > :nth-child(2)\n margin-top: 0\n\n // Last item should have no margin, since we'll control that w/ padding\n > :last-child\n margin-bottom: 0\n\np.admonition-title, p.topic-title\n position: relative\n margin: 0 -0.5rem 0.5rem\n padding-left: 2rem\n padding-right: .5rem\n padding-top: .4rem\n padding-bottom: .4rem\n\n font-weight: 500\n font-size: var(--admonition-title-font-size)\n line-height: 1.3\n\n // Our fancy icon\n &::before\n content: \"\"\n position: absolute\n left: 0.5rem\n width: 1rem\n height: 1rem\n\n// Default styles\np.admonition-title\n background-color: var(--color-admonition-title-background)\n &::before\n background-color: var(--color-admonition-title)\n mask-image: var(--icon-admonition-default)\n mask-repeat: no-repeat\n\np.topic-title\n background-color: var(--color-topic-title-background)\n &::before\n background-color: var(--color-topic-title)\n mask-image: var(--icon-topic-default)\n mask-repeat: no-repeat\n\n//\n// Variants\n//\n.admonition\n border-left: 0.2rem solid var(--color-admonition-title)\n\n @each $type, $value in $admonitions\n &.#{$type}\n border-left-color: var(--color-admonition-title--#{$type})\n > .admonition-title\n background-color: var(--color-admonition-title-background--#{$type})\n &::before\n background-color: var(--color-admonition-title--#{$type})\n mask-image: var(--icon-#{nth($value, 2)})\n\n.admonition-todo > .admonition-title\n text-transform: uppercase\n","// This file stylizes the API documentation (stuff generated by autodoc). It's\n// deeply nested due to how autodoc structures the HTML without enough classes\n// to select the relevant items.\n\n// API docs!\ndl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)\n // Tweak the spacing of all the things!\n dd\n margin-left: 2rem\n > :first-child\n margin-top: 0.125rem\n > :last-child\n margin-bottom: 0.75rem\n\n // This is used for the arguments\n .field-list\n margin-bottom: 0.75rem\n\n // \"Headings\" (like \"Parameters\" and \"Return\")\n > dt\n text-transform: uppercase\n font-size: var(--font-size--small)\n\n dd:empty\n margin-bottom: 0.5rem\n dd > ul\n margin-left: -1.2rem\n > li\n > p:nth-child(2)\n margin-top: 0\n // When the last-empty-paragraph follows a paragraph, it doesn't need\n // to augument the existing spacing.\n > p + p:last-child:empty\n margin-top: 0\n margin-bottom: 0\n\n // Colorize the elements\n > dt\n color: var(--color-api-overall)\n\n.sig:not(.sig-inline)\n font-weight: bold\n\n font-size: var(--api-font-size)\n font-family: var(--font-stack--monospace)\n\n margin-left: -0.25rem\n margin-right: -0.25rem\n padding-top: 0.25rem\n padding-bottom: 0.25rem\n padding-right: 0.5rem\n\n // These are intentionally em, to properly match the font size.\n padding-left: 3em\n text-indent: -2.5em\n\n border-radius: 0.25rem\n\n background: var(--color-api-background)\n transition: background 100ms ease-out\n\n &:hover\n background: var(--color-api-background-hover)\n\n // adjust the size of the [source] link on the right.\n a.reference\n .viewcode-link\n font-weight: normal\n width: 3.5rem\n\n // Break words when they're too long\n span.pre\n overflow-wrap: anywhere\n\nem.property\n font-style: normal\n &:first-child\n color: var(--color-api-keyword)\n.sig-name\n color: var(--color-api-name)\n.sig-prename\n font-weight: normal\n color: var(--color-api-pre-name)\n.sig-paren\n color: var(--color-api-paren)\n.sig-param\n font-style: normal\n\n.versionmodified\n font-style: italic\ndiv.versionadded, div.versionchanged, div.deprecated\n p\n margin-top: 0.125rem\n margin-bottom: 0.125rem\n\n// Align the [docs] and [source] to the right.\n.viewcode-link, .viewcode-back\n float: right\n text-align: right\n",".line-block\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n .line-block\n margin-top: 0rem\n margin-bottom: 0rem\n padding-left: 1rem\n","// Captions\narticle p.caption,\ntable > caption,\n.code-block-caption\n font-size: var(--font-size--small)\n text-align: center\n\n// Caption above a TOCTree\n.toctree-wrapper.compound\n .caption, :not(.caption) > .caption-text\n font-size: var(--font-size--small)\n text-transform: uppercase\n\n text-align: initial\n margin-bottom: 0\n\n > ul\n margin-top: 0\n margin-bottom: 0\n","// Inline code\ncode.literal, .sig-inline\n background: var(--color-inline-code-background)\n border-radius: 0.2em\n // Make the font smaller, and use padding to recover.\n font-size: var(--font-size--small--2)\n padding: 0.1em 0.2em\n\n overflow-wrap: break-word\n\n p &\n border: 1px solid var(--color-background-border)\n\n.sig-inline\n font-family: var(--font-stack--monospace)\n\n// Code and Literal Blocks\n$code-spacing-vertical: 0.625rem\n$code-spacing-horizontal: 0.875rem\n\n// Wraps every literal block + line numbers.\ndiv[class*=\" highlight-\"],\ndiv[class^=\"highlight-\"]\n margin: 1em 0\n display: flex\n\n .table-wrapper\n margin: 0\n padding: 0\n\npre\n margin: 0\n padding: 0\n overflow: auto\n\n // Needed to have more specificity than pygments' \"pre\" selector. :(\n article[role=\"main\"] .highlight &\n line-height: 1.5\n\n &.literal-block,\n .highlight &\n font-size: var(--code-font-size)\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n // Make it look like all the other blocks.\n &.literal-block\n margin-top: 1rem\n margin-bottom: 1rem\n\n border-radius: 0.2rem\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n\n// All code is always contained in this.\n.highlight\n width: 100%\n border-radius: 0.2rem\n\n // Make line numbers and prompts un-selectable.\n .gp, span.linenos\n user-select: none\n pointer-events: none\n\n // Expand the line-highlighting.\n .hll\n display: block\n margin-left: -$code-spacing-horizontal\n margin-right: -$code-spacing-horizontal\n padding-left: $code-spacing-horizontal\n padding-right: $code-spacing-horizontal\n\n/* Make code block captions be nicely integrated */\n.code-block-caption\n display: flex\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n border-radius: 0.25rem\n border-bottom-left-radius: 0\n border-bottom-right-radius: 0\n font-weight: 300\n border-bottom: 1px solid\n\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n border-color: var(--color-background-border)\n\n + div[class]\n margin-top: 0\n pre\n border-top-left-radius: 0\n border-top-right-radius: 0\n\n// When `html_codeblock_linenos_style` is table.\n.highlighttable\n width: 100%\n display: block\n tbody\n display: block\n\n tr\n display: flex\n\n // Line numbers\n td.linenos\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n padding: $code-spacing-vertical $code-spacing-horizontal\n padding-right: 0\n border-top-left-radius: 0.2rem\n border-bottom-left-radius: 0.2rem\n\n .linenodiv\n padding-right: $code-spacing-horizontal\n font-size: var(--code-font-size)\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n\n // Actual code\n td.code\n padding: 0\n display: block\n flex: 1\n overflow: hidden\n\n .highlight\n border-top-left-radius: 0\n border-bottom-left-radius: 0\n\n// When `html_codeblock_linenos_style` is inline.\n.highlight\n span.linenos\n display: inline-block\n padding-left: 0\n padding-right: $code-spacing-horizontal\n margin-right: $code-spacing-horizontal\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n","// Inline Footnote Reference\n.footnote-reference\n font-size: var(--font-size--small--4)\n vertical-align: super\n\n// Definition list, listing the content of each note.\n// docutils <= 0.17\ndl.footnote.brackets\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\n display: grid\n grid-template-columns: max-content auto\n dt\n margin: 0\n > .fn-backref\n margin-left: 0.25rem\n\n &:after\n content: \":\"\n\n .brackets\n &:before\n content: \"[\"\n &:after\n content: \"]\"\n\n dd\n margin: 0\n padding: 0 1rem\n\n// docutils >= 0.18\naside.footnote\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\naside.footnote > span,\ndiv.citation > span\n float: left\n font-weight: 500\n padding-right: 0.25rem\n\naside.footnote > p,\ndiv.citation > p\n margin-left: 2rem\n","//\n// Figures\n//\nimg\n box-sizing: border-box\n max-width: 100%\n height: auto\n\narticle\n figure, .figure\n border-radius: 0.2rem\n\n margin: 0\n :last-child\n margin-bottom: 0\n\n .align-left\n float: left\n clear: left\n margin: 0 1rem 1rem\n\n .align-right\n float: right\n clear: right\n margin: 0 1rem 1rem\n\n .align-default,\n .align-center\n display: block\n text-align: center\n margin-left: auto\n margin-right: auto\n\n // WELL, table needs to be stylised like a table.\n table.align-default\n display: table\n text-align: initial\n",".genindex-jumpbox, .domainindex-jumpbox\n border-top: 1px solid var(--color-background-border)\n border-bottom: 1px solid var(--color-background-border)\n padding: 0.25rem\n\n.genindex-section, .domainindex-section\n h2\n margin-top: 0.75rem\n margin-bottom: 0.5rem\n ul\n margin-top: 0\n margin-bottom: 0\n","ul,\nol\n padding-left: 1.2rem\n\n // Space lists out like paragraphs\n margin-top: 1rem\n margin-bottom: 1rem\n // reduce margins within li.\n li\n > p:first-child\n margin-top: 0.25rem\n margin-bottom: 0.25rem\n\n > p:last-child\n margin-top: 0.25rem\n\n > ul,\n > ol\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n\nol\n &.arabic\n list-style: decimal\n &.loweralpha\n list-style: lower-alpha\n &.upperalpha\n list-style: upper-alpha\n &.lowerroman\n list-style: lower-roman\n &.upperroman\n list-style: upper-roman\n\n// Don't space lists out when they're \"simple\" or in a `.. toctree::`\n.simple,\n.toctree-wrapper\n li\n > ul,\n > ol\n margin-top: 0\n margin-bottom: 0\n\n// Definition Lists\n.field-list,\n.option-list,\ndl:not([class]),\ndl.simple,\ndl.footnote,\ndl.glossary\n dt\n font-weight: 500\n margin-top: 0.25rem\n + dt\n margin-top: 0\n\n .classifier::before\n content: \":\"\n margin-left: 0.2rem\n margin-right: 0.2rem\n\n dd\n > p:first-child,\n ul\n margin-top: 0.125rem\n\n ul\n margin-bottom: 0.125rem\n",".math-wrapper\n width: 100%\n overflow-x: auto\n\ndiv.math\n position: relative\n text-align: center\n\n .headerlink,\n &:focus .headerlink\n display: none\n\n &:hover .headerlink\n display: inline-block\n\n span.eqno\n position: absolute\n right: 0.5rem\n top: 50%\n transform: translate(0, -50%)\n z-index: 1\n","// Abbreviations\nabbr[title]\n cursor: help\n\n// \"Problematic\" content, as identified by Sphinx\n.problematic\n color: var(--color-problematic)\n\n// Keyboard / Mouse \"instructions\"\nkbd:not(.compound)\n margin: 0 0.2rem\n padding: 0 0.2rem\n border-radius: 0.2rem\n border: 1px solid var(--color-foreground-border)\n color: var(--color-foreground-primary)\n vertical-align: text-bottom\n\n font-size: var(--font-size--small--3)\n display: inline-block\n\n box-shadow: 0 0.0625rem 0 rgba(0, 0, 0, 0.2), inset 0 0 0 0.125rem var(--color-background-primary)\n\n background-color: var(--color-background-secondary)\n\n// Blockquote\nblockquote\n border-left: 4px solid var(--color-background-border)\n background: var(--color-background-secondary)\n\n margin-left: 0\n margin-right: 0\n padding: 0.5rem 1rem\n\n .attribution\n font-weight: 600\n text-align: right\n\n &.pull-quote,\n &.highlights\n font-size: 1.25em\n\n &.epigraph,\n &.pull-quote\n border-left-width: 0\n border-radius: 0.5rem\n\n &.highlights\n border-left-width: 0\n background: transparent\n\n// Center align embedded-in-text images\np .reference img\n vertical-align: middle\n","p.rubric\n line-height: 1.25\n font-weight: bold\n font-size: 1.125em\n\n // For Numpy-style documentation that's got rubrics within it.\n // https://github.com/pradyunsg/furo/discussions/505\n dd &\n line-height: inherit\n font-weight: inherit\n\n font-size: var(--font-size--small)\n text-transform: uppercase\n","article .sidebar\n float: right\n clear: right\n width: 30%\n\n margin-left: 1rem\n margin-right: 0\n\n border-radius: 0.2rem\n background-color: var(--color-background-secondary)\n border: var(--color-background-border) 1px solid\n\n > *\n padding-left: 1rem\n padding-right: 1rem\n\n > ul, > ol // lists need additional padding, because bullets.\n padding-left: 2.2rem\n\n .sidebar-title\n margin: 0\n padding: 0.5rem 1rem\n border-bottom: var(--color-background-border) 1px solid\n\n font-weight: 500\n\n// TODO: subtitle\n// TODO: dedicated variables?\n",".table-wrapper\n width: 100%\n overflow-x: auto\n margin-top: 1rem\n margin-bottom: 0.5rem\n padding: 0.2rem 0.2rem 0.75rem\n\ntable.docutils\n border-radius: 0.2rem\n border-spacing: 0\n border-collapse: collapse\n\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n th\n background: var(--color-table-header-background)\n\n td,\n th\n // Space things out properly\n padding: 0 0.25rem\n\n // Get the borders looking just-right.\n border-left: 1px solid var(--color-table-border)\n border-right: 1px solid var(--color-table-border)\n border-bottom: 1px solid var(--color-table-border)\n\n p\n margin: 0.25rem\n\n &:first-child\n border-left: none\n &:last-child\n border-right: none\n\n // MyST-parser tables set these classes for control of column alignment\n &.text-left\n text-align: left\n &.text-right\n text-align: right\n &.text-center\n text-align: center\n",":target\n scroll-margin-top: 0.5rem\n\n@media (max-width: $full-width - $sidebar-width)\n :target\n scroll-margin-top: calc(0.5rem + var(--header-height))\n\n // When a heading is selected\n section > span:target\n scroll-margin-top: calc(0.8rem + var(--header-height))\n\n// Permalinks\n.headerlink\n font-weight: 100\n user-select: none\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\ndl dt,\np.caption,\nfigcaption p,\ntable > caption,\n.code-block-caption\n > .headerlink\n margin-left: 0.5rem\n visibility: hidden\n &:hover > .headerlink\n visibility: visible\n\n // Don't change to link-like, if someone adds the contents directive.\n > .toc-backref\n color: inherit\n text-decoration-line: none\n\n// Figure and table captions are special.\nfigure:hover > figcaption > p > .headerlink,\ntable:hover > caption > .headerlink\n visibility: visible\n\n:target >, // Regular section[id] style anchors\nspan:target ~ // Non-regular span[id] style \"extra\" anchors\n h1,\n h2,\n h3,\n h4,\n h5,\n h6\n &:nth-of-type(1)\n background-color: var(--color-highlight-on-target)\n // .headerlink\n // visibility: visible\n code.literal\n background-color: transparent\n\ntable:target > caption,\nfigure:target\n background-color: var(--color-highlight-on-target)\n\n// Inline page contents\n.this-will-duplicate-information-and-it-is-still-useful-here li :target\n background-color: var(--color-highlight-on-target)\n\n// Code block permalinks\n.literal-block-wrapper:target .code-block-caption\n background-color: var(--color-highlight-on-target)\n\n// When a definition list item is selected\n//\n// There isn't really an alternative to !important here, due to the\n// high-specificity of API documentation's selector.\ndt:target\n background-color: var(--color-highlight-on-target) !important\n\n// When a footnote reference is selected\n.footnote > dt:target + dd,\n.footnote-reference:target\n background-color: var(--color-highlight-on-target)\n",".guilabel\n background-color: var(--color-guilabel-background)\n border: 1px solid var(--color-guilabel-border)\n color: var(--color-guilabel-text)\n\n padding: 0 0.3em\n border-radius: 0.5em\n font-size: 0.9em\n","// This file contains the styles used for stylizing the footer that's shown\n// below the content.\n\nfooter\n font-size: var(--font-size--small)\n display: flex\n flex-direction: column\n\n margin-top: 2rem\n\n// Bottom of page information\n.bottom-of-page\n display: flex\n align-items: center\n justify-content: space-between\n\n margin-top: 1rem\n padding-top: 1rem\n padding-bottom: 1rem\n\n color: var(--color-foreground-secondary)\n border-top: 1px solid var(--color-background-border)\n\n line-height: 1.5\n\n @media (max-width: $content-width)\n text-align: center\n flex-direction: column-reverse\n gap: 0.25rem\n\n .left-details\n font-size: var(--font-size--small)\n\n .right-details\n display: flex\n flex-direction: column\n gap: 0.25rem\n text-align: right\n\n .icons\n display: flex\n justify-content: flex-end\n gap: 0.25rem\n font-size: 1rem\n\n a\n text-decoration: none\n\n svg,\n img\n font-size: 1.125rem\n height: 1em\n width: 1em\n\n// Next/Prev page information\n.related-pages\n a\n display: flex\n align-items: center\n\n text-decoration: none\n &:hover .page-info .title\n text-decoration: underline\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n svg.furo-related-icon,\n svg.furo-related-icon > use\n flex-shrink: 0\n\n color: var(--color-foreground-border)\n\n width: 0.75rem\n height: 0.75rem\n margin: 0 0.5rem\n\n &.next-page\n max-width: 50%\n\n float: right\n clear: right\n text-align: right\n\n &.prev-page\n max-width: 50%\n\n float: left\n clear: left\n\n svg\n transform: rotate(180deg)\n\n.page-info\n display: flex\n flex-direction: column\n overflow-wrap: anywhere\n\n .next-page &\n align-items: flex-end\n\n .context\n display: flex\n align-items: center\n\n padding-bottom: 0.1rem\n\n color: var(--color-foreground-muted)\n font-size: var(--font-size--small)\n text-decoration: none\n","//\n// Search Page Listing\n//\nul.search\n padding-left: 0\n list-style: none\n\n li\n padding: 1rem 0\n border-bottom: 1px solid var(--color-background-border)\n\n//\n// Highlighted by links in search page\n//\n[role=main] .highlighted\n background-color: var(--color-highlighted-background)\n color: var(--color-highlighted-text)\n","// This file contains the styles for the contents of the left sidebar, which\n// contains the navigation tree, logo, search etc.\n\n////////////////////////////////////////////////////////////////////////////////\n// Brand on top of the scrollable tree.\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-brand\n display: flex\n flex-direction: column\n flex-shrink: 0\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n text-decoration: none\n\n.sidebar-brand-text\n color: var(--color-sidebar-brand-text)\n overflow-wrap: break-word\n margin: var(--sidebar-item-spacing-vertical) 0\n font-size: 1.5rem\n\n.sidebar-logo-container\n margin: var(--sidebar-item-spacing-vertical) 0\n\n.sidebar-logo\n margin: 0 auto\n display: block\n max-width: 100%\n\n////////////////////////////////////////////////////////////////////////////////\n// Search\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-search-container\n display: flex\n align-items: center\n margin-top: var(--sidebar-search-space-above)\n\n position: relative\n\n background: var(--color-sidebar-search-background)\n &:hover,\n &:focus-within\n background: var(--color-sidebar-search-background--focus)\n\n &::before\n content: \"\"\n position: absolute\n left: var(--sidebar-item-spacing-horizontal)\n width: var(--sidebar-search-icon-size)\n height: var(--sidebar-search-icon-size)\n\n background-color: var(--color-sidebar-search-icon)\n mask-image: var(--icon-search)\n\n.sidebar-search\n box-sizing: border-box\n\n border: none\n border-top: 1px solid var(--color-sidebar-search-border)\n border-bottom: 1px solid var(--color-sidebar-search-border)\n\n padding-top: var(--sidebar-search-input-spacing-vertical)\n padding-bottom: var(--sidebar-search-input-spacing-vertical)\n padding-right: var(--sidebar-search-input-spacing-horizontal)\n padding-left: calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size))\n\n width: 100%\n\n color: var(--color-sidebar-search-foreground)\n background: transparent\n z-index: 10\n\n &:focus\n outline: none\n\n &::placeholder\n font-size: var(--sidebar-search-input-font-size)\n\n//\n// Hide Search Matches link\n//\n#searchbox .highlight-link\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0\n margin: 0\n text-align: center\n\n a\n color: var(--color-sidebar-search-icon)\n font-size: var(--font-size--small--2)\n\n////////////////////////////////////////////////////////////////////////////////\n// Structure/Skeleton of the navigation tree (left)\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-tree\n font-size: var(--sidebar-item-font-size)\n margin-top: var(--sidebar-tree-space-above)\n margin-bottom: var(--sidebar-item-spacing-vertical)\n\n ul\n padding: 0\n margin-top: 0\n margin-bottom: 0\n\n display: flex\n flex-direction: column\n\n list-style: none\n\n li\n position: relative\n margin: 0\n\n > ul\n margin-left: var(--sidebar-item-spacing-horizontal)\n\n .icon\n color: var(--color-sidebar-link-text)\n\n .reference\n box-sizing: border-box\n color: var(--color-sidebar-link-text)\n\n // Fill the parent.\n display: inline-block\n line-height: var(--sidebar-item-line-height)\n text-decoration: none\n\n // Don't allow long words to cause wrapping.\n overflow-wrap: anywhere\n\n height: 100%\n width: 100%\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n &:hover\n background: var(--color-sidebar-item-background--hover)\n\n // Add a nice little \"external-link\" arrow here.\n &.external::after\n content: url('data:image/svg+xml,')\n margin: 0 0.25rem\n vertical-align: middle\n color: var(--color-sidebar-link-text)\n\n // Make the current page reference bold.\n .current-page > .reference\n font-weight: bold\n\n label\n position: absolute\n top: 0\n right: 0\n height: var(--sidebar-item-height)\n width: var(--sidebar-expander-width)\n\n cursor: pointer\n user-select: none\n\n display: flex\n justify-content: center\n align-items: center\n\n .caption, :not(.caption) > .caption-text\n font-size: var(--sidebar-caption-font-size)\n color: var(--color-sidebar-caption-text)\n\n font-weight: bold\n text-transform: uppercase\n\n margin: var(--sidebar-caption-space-above) 0 0 0\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n // If it has children, add a bit more padding to wrap the content to avoid\n // overlapping with the